From bde09c027eee16a7b05b82e71dea4d3405d6d52d Mon Sep 17 00:00:00 2001
From: Admin <Admin@ADMIN>
Date: 星期四, 22 一月 2026 17:05:09 +0800
Subject: [PATCH] 前端页面优化,日志记录,日志展示
---
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-wal | 0
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_LogService.cs | 2
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs | 6
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WCSTaskService.cs | 6
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/WMS_任务恢复/2026-01-21/WMS_任务恢复260121.txt | 5
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IStockService.cs | 2
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs | 6
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db | 0
项目代码/WMS/WIDESEA_WMSClient/public/webconfig.js | 2
项目代码/WMS/WIDESEA_WMSClient/src/api/http.js | 1
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_LogController.cs | 16
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_ISystemService/ISys_LogService.cs | 222 ++++
项目代码/WMS/WIDESEA_WMSClient/src/router/viewGird.js | 5
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-wal | 0
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs | 3
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs | 3
项目代码/WMS/WIDESEA_WMSClient/src/views/basic/locationInfo.vue | 31
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/WMS_任务状态修改/2026-01-22/任务修改260122.txt | 20
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-shm | 0
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json | 156 +-
项目代码/WMS/WIDESEA_WMSClient/config/buttons.js | 3
项目代码/WMS/WIDESEA_WMSClient/src/views/stock/stockInfo.vue | 21
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json | 149 +-
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 242 +++-
项目代码/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue | 77 +
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs | 63 +
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs | 56 +
项目资料/WMS库位编码/松补料1-4列12层货架.xls | 0
项目代码/WMS/WIDESEA_WMSClient/src/views/system/txt_log.vue | 297 ++++++
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-shm | 0
项目代码/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue | 123 +-
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WMSCruJob.cs | 1
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs | 18
项目代码/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js | 67
项目代码/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db | 0
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs | 5
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs | 6
项目代码/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/WMS_删除库存/2026-01-22/删除信息260122.txt | 25
项目代码/WMS/WIDESEA_WMSClient/src/views/stock/stockView.vue | 1276 ++++++++++++++++++-------
39 files changed, 2,225 insertions(+), 690 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/config/buttons.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/config/buttons.js"
index 37b1064..7e25d29 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/config/buttons.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/config/buttons.js"
@@ -109,8 +109,7 @@
}
},{
name: "鎵� 鍔� 涓� 浼�",
- icon: '',
- class: '',
+ type: 'success',
value: 'ManualUploadbutton',
onClick: function () {
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/public/webconfig.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/public/webconfig.js"
index b5c8415..dd01895 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/public/webconfig.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/public/webconfig.js"
@@ -1,4 +1,4 @@
window.webConfig = {
- "webApiBaseUrl": "http://172.18.195.201:8889/",
+ "webApiBaseUrl": "http://127.0.0.1:9291/",
"webApiProduction":"http://172.18.195.201:8889/"
}
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/api/http.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/api/http.js"
index 996926f..516e937 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/api/http.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/api/http.js"
@@ -12,6 +12,7 @@
let loadingInstance;
let loadingStatus = false;
if (process.env.NODE_ENV == 'development') {
+ //axios.defaults.baseURL = window.webConfig.webApiBaseUrl;
axios.defaults.baseURL = window.webConfig.webApiProduction;
}
else if (process.env.NODE_ENV == 'debug') {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js"
index 46e253d..993f28b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/taskinfo/task.js"
@@ -59,20 +59,20 @@
}
}
- this.columns.forEach(x => {
- if (x.field == "palletType") {
- x.render = (h, { row, column, index }) => {
- if ((row.roadway == "1" || row.roadway == "2") && row.palletType=="1") {
- return h('span',"甯冩枡");
- }else if((row.roadway == "1" || row.roadway == "2") && row.palletType=="2"){
- return h('span',"鏉惧竷鏂�");
- }else{
- return h('span',"鎴愬搧");
- }
+ // this.columns.forEach(x => {
+ // if (x.field == "palletType") {
+ // x.render = (h, { row, column, index }) => {
+ // if ((row.roadway == "1" || row.roadway == "2") && row.palletType == "1") {
+ // return h('span', "甯冩枡");
+ // } else if ((row.roadway == "1" || row.roadway == "2") && row.palletType == "2") {
+ // return h('span', "鏉惧竷鏂�");
+ // } else {
+ // return h('span', "鎴愬搧");
+ // }
- }
- }
- });
+ // }
+ // }
+ // });
//鎵嬪姩涓婁紶鎸夐挳
@@ -80,27 +80,52 @@
if (ManualUploadBtn != null) {
ManualUploadBtn.onClick = () => {
let rows = this.$refs.table.getSelected();
- if (rows.length == 0) {
- return this.$error("璇烽�夋嫨鏁版嵁!");
- } else {
- var ids = rows.map(x => {
- return x.taskId
+ if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
+ if (rows.length > 1) return this.$error("璇烽�夋嫨涓�鏉℃暟鎹�!");
+ var ids = rows.map(x => {
+ return x.taskId
+ })
+ var param = {
+ DelKeys: ids, //taskNo
+ Extra: true
+ }
+ this.http
+ .post("api/Task/MESManualUpload", param, "鏁版嵁澶勭悊涓�...")
+ .then((x) => {
+ if (x.status) {
+ this.$Message.success(x.message);
+ this.refresh();
+ } else {
+ return this.$error(x.message);
+ }
+ });
+ }
+ }
+
+ //浠诲姟鎭㈠鎸夐挳
+ var TaskRecoveryBtn = this.buttons.find(x => x.value == "TaskRecovery");
+ if (TaskRecoveryBtn != null) {
+ TaskRecoveryBtn.onClick = () => {
+ let rows = this.$refs.table.getSelected();
+ if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
+ if (rows.length > 1) return this.$error("璇烽�夋嫨涓�鏉℃暟鎹�!");
+ var ids = rows.map(x => {
+ return x.taskId
})
var param = {
DelKeys: ids, //taskNo
Extra: true
}
this.http
- .post("api/Task/MESManualUpload", param, "鏁版嵁澶勭悊涓�...")
+ .post("api/Task/WMSTaskRecovery", param, "鏁版嵁澶勭悊涓�...")
.then((x) => {
if (x.status) {
- this.$Message.success('鎴愬姛.');
+ this.$Message.success(x.message);
this.refresh();
} else {
return this.$error(x.message);
}
});
- }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/router/viewGird.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/router/viewGird.js"
index ccb09c9..19f6788 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/router/viewGird.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/router/viewGird.js"
@@ -6,6 +6,11 @@
component: () => import('@/views/system/Sys_Log.vue')
},
{
+ path: '/txt_log',
+ name: 'txt_log',
+ component: () => import('@/views/system/txt_log.vue')
+ },
+ {
path: '/Sys_User',
name: 'Sys_User',
component: () => import('@/views/system/Sys_User.vue')
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/basic/locationInfo.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/basic/locationInfo.vue"
index e4f0c90..cd7057d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/basic/locationInfo.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/basic/locationInfo.vue"
@@ -52,7 +52,7 @@
{ title: "绂佺敤鐘舵��", field: "enableStatus" ,type: "select",dataKey: "enableStatusEnum",data: [],},
],
[
- { title: "璐т綅鐘舵��", field: "locationStatus" ,type: "selectList",dataKey: "locationStatusEnum",data: [],},
+ { title: "璐т綅鐘舵��", field: "locationStatus" ,type: "select",dataKey: "locationStatusEnum",data: [],},
{ title: "琛�", field: "row" ,type: "int"},
{ title: "鍒�", field: "column" ,type: "int"},
{ title: "灞�", field: "layer" ,type: "int"}
@@ -68,6 +68,13 @@
readonly: true,
require: true,
align: "left",
+ },{
+ field: "warehouseId",
+ title: "浠撳簱缂栧彿",
+ type: "int",
+ width: 80,
+ align: "left",
+ bind: { key: "warehouseEnum", data: [] },
},
// {
// field: "areaId",
@@ -87,13 +94,13 @@
width: 180,
align: "left",
},
- {
- field: "locationName",
- title: "璐т綅鍚嶇О",
- type: "string",
- width: 220,
- align: "left",
- },
+ // {
+ // field: "locationName",
+ // title: "璐т綅鍚嶇О",
+ // type: "string",
+ // width: 220,
+ // align: "left",
+ // },
{
field: "roadwayNo",
title: "宸烽亾缂栧彿",
@@ -120,14 +127,14 @@
field: "layer",
title: "璐т綅灞�",
type: "string",
- width: 200,
+ width: 120,
align: "left",
},
{
field: "depth",
title: "璐т綅娣卞害",
type: "string",
- width: 180,
+ width: 120,
align: "left",
bind:{key: "locationDepth", data: []}
},
@@ -143,7 +150,7 @@
field: "locationStatus",
title: "璐т綅鐘舵��",
type: "string",
- width: 200,
+ width: 120,
align: "left",
bind: { key: "locationStatusEnum", data: [] },
},
@@ -151,7 +158,7 @@
field: "enableStatus",
title: "绂佺敤鐘舵��",
type: "string",
- width: 180,
+ width: 120,
align: "left",
bind: { key: "enableStatusEnum", data: [] },
},
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/stock/stockInfo.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/stock/stockInfo.vue"
index 93d9712..eb8ad2d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/stock/stockInfo.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/stock/stockInfo.vue"
@@ -48,8 +48,9 @@
});
const searchFormOptions = ref([
[
- { title: "鎵樼洏缂栧彿", field: "palletCode" },
- { title: "璐т綅缂栧彿", field: "locationCode" },
+ { title: "鎵樼洏缂栧彿", field: "palletCode" ,type:'string'},
+ { title: "璐т綅缂栧彿", field: "locationCode",type:'string' },
+ { title: "宸烽亾缂栧彿", field: "roadway",type:'string' },
],
]);
const columns = ref([
@@ -62,7 +63,14 @@
readonly: true,
require: true,
align: "left",
- },
+ },{
+ field: "warehouseId",
+ title: "浠撳簱缂栧彿",
+ type: "int",
+ width: 80,
+ align: "left",
+ bind: { key: "warehouseEnum", data: [] },
+ },
{
field: "palletCode",
title: "鎵樼洏缂栧彿",
@@ -70,6 +78,13 @@
width: 90,
align: "left",
},{
+ field: "roadway",
+ title: "宸烽亾鍙�",
+ type: "string",
+ width: 70,
+ align: "left",
+ },
+ {
field: "locationCode",
title: "璐т綅缂栧彿",
type: "string",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/stock/stockView.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/stock/stockView.vue"
index fc8b569..b8a864d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/stock/stockView.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/stock/stockView.vue"
@@ -1,392 +1,896 @@
-
<template>
- <view-grid
- ref="grid"
- :columns="columns"
- :detail="detail"
- :editFormFields="editFormFields"
- :editFormOptions="editFormOptions"
- :searchFormFields="searchFormFields"
- :searchFormOptions="searchFormOptions"
- :table="table"
- :extend="extend"
- >
- </view-grid>
+ <div class="container">
+ <div class="content-wrapper">
+ <!-- 鎺у埗闈㈡澘鍖哄煙 -->
+ <div class="control-panel">
+ <div class="panel-header">
+ <h3>鎺у埗闈㈡澘</h3>
+ </div>
+
+ <div class="panel-body">
+ <div class="form-group">
+ <label class="form-label">浠撳簱锛�</label>
+ <el-select size="mini" filterable v-model="selectedWarehouse" placeholder="璇烽�夋嫨浠撳簱" class="full-width"
+ @change="handleWarehouseChange">
+ <el-option v-for="item in warehouseList" :key="item.warehouseId" :value="item.warehouseId"
+ :label="getWarehouseName(item.warehouseId)">
+ </el-option>
+ </el-select>
+ </div>
+
+ <div class="form-group">
+ <label class="form-label">宸烽亾锛�</label>
+ <el-select size="mini" clearable filterable v-model="selectedRoadwayNo" placeholder="璇烽�夋嫨宸烽亾" class="full-width"
+ @change="handleRoadwayNoChange">
+ <el-option v-for="item in roadwayNoList" :key="item" :value="item" :label="'宸烽亾 ' + item"></el-option>
+ </el-select>
+ </div>
+
+ <el-button type="success" class="refresh-btn" @click="fetchLocationStatus" :loading="loading">
+ 鍒锋柊
+ </el-button>
+
+ <div class="legend-section">
+ <div class="legend-header">
+ <h4>鍥句緥璇存槑</h4>
+ </div>
+ <div class="legend-list">
+ <div class="legend-item" v-for="(item, index) in infoMsg" :key="index">
+ <span class="color-box" :style="{ 'background-color': item.bgcolor }"></span>
+ <span class="legend-label">{{ item.msg }}</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <!-- 璐т綅灞曠ず鍖哄煙 -->
+ <div class="main-content">
+ <div v-if="loading" class="loading-container">
+ <el-skeleton :rows="6" animated />
+ </div>
+
+ <div v-else-if="locationData.length > 0" class="location-container">
+ <div class="location-header">
+ <div class="location-info">
+ <span>褰撳墠鏌ョ湅锛歿{ getWarehouseName(selectedWarehouse) }} - 宸烽亾 {{ selectedRoadwayNo }}</span>
+ <span class="total-count">鍏� {{ totalLocations }} 涓揣浣�</span>
+ </div>
+ </div>
+
+ <div class="layers-container">
+ <div class="layer-row" v-for="layer in sortedLayerData" :key="layer.layer">
+ <div class="layer-title-area">
+ <h3 class="layer-title">灞� {{ layer.layer }}</h3>
+ <span class="layer-count">{{ getLayerLocations(layer) }} 涓揣浣�</span>
+ </div>
+
+ <div class="layer-content-wrap">
+ <div class="layer-content">
+ <div class="location-column" v-for="column in sortedColumns(layer.columns)" :key="column.column">
+ <div class="column-label">鍒� {{ column.column }}</div>
+ <div class="locations-wrapper">
+ <div class="location-item" v-for="depth in sortedDepthsByRow(column.depths)" :key="depth.depth"
+ :class="getLocationStatusClass(depth)"
+ @mouseenter="showTooltip(depth, column.column, layer.layer, $event)" @mouseleave="hideTooltip"
+ @click="handleLocationClick(depth)">
+ <div class="location-code">
+ {{ depth.row || '?' }}鎺�-{{ column.column }}鍒�-{{ layer.layer }}灞�-{{ depth.depth == 1 ? '娴�' : '娣�' }}
+ </div>
+ <div class="location-status" v-if="depth.enableStatus !== 0">
+ 绂佺敤
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <!-- 鏃犳暟鎹彁绀� -->
+ <div v-else class="empty-container">
+ <el-empty description="鏆傛棤璐т綅鏁版嵁">
+ <template #description>
+ <p>璇烽�夋嫨浠撳簱鍜屽贩閬撴潵鏌ョ湅璐т綅淇℃伅</p>
+ </template>
+ </el-empty>
+ </div>
+
+ <!-- 鎮诞鎻愮ず妗� -->
+ <div v-if="showTooltipFlag" class="location-tooltip" :style="{
+ left: tooltipPosition.x + 'px',
+ top: tooltipPosition.y + 'px',
+ }">
+ <div class="tooltip-content">
+ <div class="tooltip-header">
+ <h4>璐т綅璇︽儏</h4>
+ </div>
+ <div class="tooltip-body">
+ <div class="tooltip-row">
+ <span class="tooltip-label">浣嶇疆锛�</span>
+ <span class="tooltip-value">{{ getLocationCode(currentLocation) }}</span>
+ </div>
+ <div class="tooltip-row">
+ <span class="tooltip-label">宸烽亾锛�</span>
+ <span class="tooltip-value">{{ selectedRoadwayNo }}</span>
+ </div>
+ <div class="tooltip-row">
+ <span class="tooltip-label">娣卞害锛�</span>
+ <span class="tooltip-value">{{ currentLocation.depth === 1 ? '娴�' : '娣�' }}</span>
+ </div>
+ <div class="tooltip-row">
+ <span class="tooltip-label">绫诲瀷锛�</span>
+ <span class="tooltip-value">{{ getLocationTypeText(currentLocation.locationType) }}</span>
+ </div>
+ <div class="tooltip-row">
+ <span class="tooltip-label">鐘舵�侊細</span>
+ <span class="tooltip-value" :class="getStatusClass(currentLocation.locationStatus)">
+ {{ getStatusText(currentLocation.locationStatus) }}
+ </span>
+ </div>
+ <div class="tooltip-row">
+ <span class="tooltip-label">鍚敤鐘舵�侊細</span>
+ <span class="tooltip-value" :class="{ 'status-disabled': currentLocation.enableStatus !== 0 }">
+ {{ getEnableStatusText(currentLocation.enableStatus) }}
+ </span>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
</template>
- <script>
-import extend from "@/extension/stock/stockView.js";
-import { ref, defineComponent } from "vue";
-export default defineComponent({
- setup() {
- const table = ref({
- key: "stockId",
- footer: "Foots",
- cnName: "搴撳瓨瑙嗗浘",
- name: "stockView",
- url: "/stockView/",
- sortName: "stockId",
- });
- const editFormFields = ref({
- palletCode: "",
- locationCode: "",
- locationName: "",
- });
- const editFormOptions = ref([
-
- ]);
- const searchFormFields = ref({
- palletCode: "",
- // locationCode: "",
- materielCode:"",
- batchNo:""
- });
- const searchFormOptions = ref([
- [
- { title: "鎵樼洏缂栧彿", field: "palletCode",type: "like" },
- // { title: "璐т綅缂栧彿", field: "locationCode",type: "like" },
- { title: "璐т綅鐘舵��", field: "locationStatus" ,type: "selectList",dataKey: "locationStatusEnum",data: [],},
- { title: "搴撳瓨鐘舵��", field: "stockStatus",type: "selectList",dataKey: "stockStatusEmun",data: [],},
- ],
- [
- { title: "鐗╂枡缂栧彿", field: "materielCode",type: "like"},
- { title: "鎵规鍙�", field: "batchNo",type: "like"},
- { title: "鎵�灞炰粨搴�", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],},
- ],
- ]);
- const columns = ref([
- {
- field: "stockId",
- title: "Id",
- type: "int",
- width: 90,
- hidden: true,
- readonly: true,
- require: true,
- align: "left",
- },
- {
- field: "palletCode",
- title: "鎵樼洏缂栧彿",
- type: "string",
- width: 150,
- link: true,
- align: "left",
- },
- {
- field: "locationCode",
- title: "璐т綅缂栧彿",
- type: "string",
- width: 200,
- align: "left",
- },
- {
- field: "locationName",
- title: "璐т綅鍚嶇О",
- type: "string",
- width: 270,
- align: "left",
- },
- {
- field: "warehouseId",
- title: "鎵�灞炰粨搴�",
- type: "string",
- width: 80,
- align: "left",
- bind: { key: "warehouses", data: [] },
- },
- {
- field: "roadwayNo",
- title: "宸烽亾缂栧彿",
- type: "decimal",
- width: 100,
- align: "left",
- hidden:true
- },
- {
- field: "materielCode",
- title: "鎵�鍚墿鏂欑紪鍙�",
- type: "string",
- width: 120,
- align: "left",
- },
- {
- field: "batchNo",
- title: "鎵�鍚墿鏂欐壒娆�",
- type: "string",
- width: 200,
- align: "left"
- },
- {
- field: "materielInfo",
- title: "鎵�鍚墿鏂欐渶鏃╀复鏈�",
- type: "string",
- width: 140,
- align: "left",
- },
- {
- field: "sumStock",
- title: "鎬诲簱瀛�",
- type: "string",
- width: 140,
- align: "left",
- },
- {
- field: "row",
- title: "璐т綅琛�",
- type: "string",
- width: 90,
- align: "left",
- hidden: true,
- },
- {
- field: "column",
- title: "璐т綅鍒�",
- type: "int",
- width: 120,
- align: "left",
- hidden: true,
- },
- {
- field: "layer",
- title: "璐т綅灞�",
- type: "string",
- width: 200,
- align: "left",
- hidden: true,
- },
- {
- field: "depth",
- title: "璐т綅娣卞害",
- type: "string",
- width: 180,
- align: "left",
- hidden: true,
- },
- {
- field: "stockStatus",
- title: "搴撳瓨鐘舵��",
- type: "string",
- width: 200,
- align: "left",
- bind: { key: "stockStatusEmun", data: [] },
- },
- {
- field: "locationType",
- title: "璐т綅绫诲瀷",
- type: "string",
- width: 100,
- align: "left",
- bind:{key: "locationTypeEnum", data: []}
- },
- {
- field: "locationStatus",
- title: "璐т綅鐘舵��",
- type: "string",
- width: 120,
- align: "left",
- bind: { key: "locationStatusEnum", data: [] },
- },
- {
- field: "enalbeStatus",
- title: "绂佺敤鐘舵��",
- type: "string",
- width: 80,
- align: "left",
- bind: { key: "enableStatusEnum", data: [] },
- },
- {
- field: "creater",
- title: "鍒涘缓浜�",
- type: "string",
- width: 90,
- align: "left",
- },
- {
- field: "createDate",
- title: "鍒涘缓鏃堕棿",
- type: "datetime",
- width: 160,
- align: "left",
- },
- {
- field: "modifier",
- title: "淇敼浜�",
- type: "string",
- width: 100,
- align: "left",
- },
- {
- field: "modifyDate",
- title: "淇敼鏃堕棿",
- type: "datetime",
- width: 160,
- align: "left",
- },
- {
- field: "remark",
- title: "澶囨敞",
- type: "string",
- width: 100,
- align: "left",
- hidden:true
- },
- ]);
- const detail = ref({
- cnName: "搴撳瓨鏄庣粏淇℃伅",
- table: "StockInfoDetail",
- columns: [
- {
- field: "id",
- title: "Id",
- type: "int",
- width: 90,
- hidden: true,
- readonly: true,
- require: true,
- align: "left",
- },
- {
- field: "stockId",
- title: "搴撳瓨淇℃伅涓婚敭",
- type: "string",
- width: 90,
- align: "left",
- hidden: true
- },
- {
- field: "materielCode",
- title: "鐗╂枡缂栧彿",
- type: "string",
- width: 110,
- align: "left",
- },
- {
- field: "materielName",
- title: "鐗╂枡鍚嶇О",
- type: "string",
- width: 130,
- align: "left",
- },
- {
- field: "orderNo",
- title: "鍗曟嵁缂栧彿",
- type: "decimal",
- width: 130,
- align: "left",
- },
- {
- field: "batchNo",
- title: "鎵规鍙�",
- type: "string",
- width: 180,
- align: "left",
- },
- {
- field: "serialNumber",
- title: "搴忓垪鍙�",
- type: "int",
- width: 120,
- align: "left",
- hidden: true,
- },
- {
- field: "stockQuantity",
- title: "搴撳瓨鏁伴噺",
- type: "string",
- width: 80,
- align: "left",
- },
- {
- field: "outboundQuantity",
- title: "鍑哄簱鏁伴噺",
- type: "string",
- width: 80,
- align: "left",
- },
- {
- field: "unit",
- title: "鍗曚綅",
- type: "string",
- width: 50,
- align: "left",
- },
- {
- field: "productionDate",
- title: "鐢熶骇鏃ユ湡",
- type: "string",
- width: 80,
- align: "left",
- },
- {
- field: "effectiveDate",
- title: "鏈夋晥鏃ユ湡",
- type: "string",
- width: 80,
- align: "left",
- },
- {
- field: "status",
- title: "搴撳瓨鏄庣粏鐘舵��",
- type: "string",
- width: 120,
- align: "left",
- bind: { key: "stockStatusEmun", data: [] }
- },
- {
- field: "creater",
- title: "鍒涘缓浜�",
- type: "string",
- width: 90,
- align: "left",
- hidden: true
- },
- {
- field: "createDate",
- title: "鍒涘缓鏃堕棿",
- type: "datetime",
- width: 160,
- align: "left",
- hidden: true
- },
- {
- field: "modifier",
- title: "淇敼浜�",
- type: "string",
- width: 100,
- align: "left",
- hidden: true
- },
- {
- field: "modifyDate",
- title: "淇敼鏃堕棿",
- type: "datetime",
- width: 160,
- align: "left",
- hidden: true
- },
- {
- field: "remark",
- title: "澶囨敞",
- type: "string",
- width: 100,
- align: "left",
- hidden: true
- },
- ],
- sortName: "id",
- key: "id",
- });
+
+<script>
+import { ElButton, ElMessage, ElSelect, ElOption, ElEmpty, ElSkeleton } from "element-plus";
+
+export default {
+ data() {
return {
- table,
- extend,
- editFormFields,
- editFormOptions,
- searchFormFields,
- searchFormOptions,
- columns,
- detail,
+ warehouseList: [],
+ roadwayNoList: [],
+ selectedWarehouse: null,
+ selectedRoadwayNo: null,
+ infoMsg: [
+ { bgcolor: "lightgreen", msg: "绌鸿揣浣�" },
+ { bgcolor: "orange", msg: "鏈夎揣" },
+ { bgcolor: "#2BB3D5", msg: "閿佸畾" },
+ { bgcolor: "#ccc", msg: "绂佺敤" },
+ { bgcolor: "#b7ba6b", msg: "鍏跺畠" },
+ ],
+ locationData: [],
+ showTooltipFlag: false,
+ currentLocation: null,
+ tooltipPosition: { x: 0, y: 0 },
+ currentColumn: null,
+ currentLayer: null,
+ loading: false
};
},
-});
+ computed: {
+ sortedLayerData() {
+ const layerMap = {};
+
+ this.locationData.forEach(layer => {
+ if (!layerMap[layer.layer]) {
+ layerMap[layer.layer] = {
+ layer: layer.layer,
+ columns: []
+ };
+ }
+
+ layer.columns?.forEach(column => {
+ layerMap[layer.layer].columns.push({
+ column: column.column,
+ depths: column.depths || []
+ });
+ });
+ });
+
+ return Object.values(layerMap).sort((a, b) => a.layer - b.layer);
+ },
+
+ totalLocations() {
+ let count = 0;
+ this.locationData.forEach(layer => {
+ layer.columns?.forEach(column => {
+ count += column.depths?.length || 0;
+ });
+ });
+ return count;
+ }
+ },
+ methods: {
+ sortedColumns(columns) {
+ // 鎸夊垪鍙锋帓搴�
+ return columns?.sort((a, b) => a.column - b.column) || [];
+ },
+
+ sortedDepthsByRow(depths) {
+ // 棣栧厛鎸夎(row)鎺掑簭锛岀劧鍚庢寜娣卞害(depth)鎺掑簭
+ return depths?.sort((a, b) => {
+ // 濡傛灉琛屽彿鐩稿悓锛屾寜娣卞害鎺掑簭
+ if (a.row === b.row) {
+ return a.depth - b.depth;
+ }
+ // 鎸夎鍙锋帓搴忥紙杩欓噷鍋囪琛屽彿鏄暟瀛楁垨鍙瘮杈冪殑瀛楃涓诧級
+ return this.compareRows(a.row, b.row);
+ }) || [];
+ },
+
+ // 姣旇緝琛屽彿鐨勮緟鍔╂柟娉�
+ compareRows(rowA, rowB) {
+ // 濡傛灉閮芥槸鏁板瓧锛屾寜鏁板瓧姣旇緝
+ if (!isNaN(rowA) && !isNaN(rowB)) {
+ return Number(rowA) - Number(rowB);
+ }
+ // 鍚﹀垯鎸夊瓧绗︿覆姣旇緝
+ return String(rowA).localeCompare(String(rowB));
+ },
+
+ async fetchWarehouseData() {
+ try {
+ this.loading = true;
+ const response = await this.http.get("/api/LocationInfo/GetArea");
+ this.warehouseList = response.data || [];
+
+ if (this.warehouseList.length > 0) {
+ this.selectedWarehouse = this.warehouseList[0].warehouseId;
+ this.roadwayNoList = this.warehouseList[0].roadwayNo || [];
+
+ if (this.roadwayNoList.length > 0) {
+ this.selectedRoadwayNo = this.roadwayNoList[0];
+ await this.fetchLocationStatus();
+ }
+ }
+ } catch (error) {
+ console.error("鑾峰彇浠撳簱鏁版嵁澶辫触:", error);
+ this.warehouseList = [];
+ this.roadwayNoList = [];
+ ElMessage.error("鑾峰彇浠撳簱鏁版嵁澶辫触锛岃绋嶅悗閲嶈瘯");
+ } finally {
+ this.loading = false;
+ }
+ },
+
+ async fetchLocationStatus() {
+ if (!this.selectedWarehouse || !this.selectedRoadwayNo) {
+ ElMessage.warning("璇烽�夋嫨浠撳簱鍜屽贩閬�");
+ return;
+ }
+
+ try {
+ this.loading = true;
+ const response = await this.http.get(
+ `/api/LocationInfo/GetLocationStatus?WarehouseId=${this.selectedWarehouse}&RoadwayNo=${this.selectedRoadwayNo}`
+ );
+
+ if (response.data && response.status) {
+ this.locationData = response.data || [];
+
+ // 楠岃瘉鏁版嵁涓槸鍚︽湁row瀛楁
+ console.log("璐т綅鏁版嵁绀轰緥:", this.locationData[0]);
+ if (this.locationData.length > 0 && this.locationData[0].columns) {
+ console.log("绗竴涓揣浣嶇殑row瀛楁:", this.locationData[0].columns[0]?.depths?.[0]?.row);
+ }
+
+ if (this.locationData.length === 0) {
+ ElMessage.info("璇ュ贩閬撴病鏈夎揣浣嶆暟鎹�");
+ }
+ } else {
+ this.locationData = [];
+ ElMessage.error(response.data?.message || "鑾峰彇璐т綅鐘舵�佸け璐�");
+ }
+ } catch (error) {
+ console.error("鑾峰彇璐т綅鐘舵�佸け璐�:", error);
+ this.locationData = [];
+ ElMessage.error("鑾峰彇璐т綅鐘舵�佸け璐ワ紝璇风◢鍚庨噸璇�");
+ } finally {
+ this.loading = false;
+ }
+ },
+
+ handleWarehouseChange() {
+ const selectedWarehouse = this.warehouseList.find(
+ w => w.warehouseId === this.selectedWarehouse
+ );
+ this.roadwayNoList = selectedWarehouse ? selectedWarehouse.roadwayNo : [];
+ this.selectedRoadwayNo = this.roadwayNoList.length > 0 ? this.roadwayNoList[0] : null;
+ this.fetchLocationStatus();
+ },
+
+ getWarehouseName(warehouseId) {
+ const warehouseMap = {
+ 1: '鍘熸潗鏂欎粨',
+ 2: '鎴愬搧浠�'
+ };
+ return warehouseMap[warehouseId] || `浠撳簱 ${warehouseId}`;
+ },
+
+ handleRoadwayNoChange() {
+ this.fetchLocationStatus();
+ },
+
+ getLocationStatusClass(depth) {
+ if (depth.enableStatus !== 0) {
+ return 'location-disabled';
+ }
+
+ switch (depth.locationStatus) {
+ case 0: return 'location-empty'; // 绌鸿揣浣�
+ case 1: return 'location-locked'; // 閿佸畾
+ case 100: return 'location-occupied'; // 鏈夎揣
+ default: return 'location-other'; // 鍏朵粬鐘舵��
+ }
+ },
+
+ getLayerLocations(layer) {
+ let count = 0;
+ layer.columns?.forEach(column => {
+ count += column.depths?.length || 0;
+ });
+ return count;
+ },
+
+ showTooltip(depth, column, layer, event) {
+ this.currentLocation = depth;
+ this.currentColumn = column;
+ this.currentLayer = layer;
+ this.showTooltipFlag = true;
+
+ const offsetX = 15;
+ const offsetY = 15;
+ this.tooltipPosition = {
+ x: event.clientX + offsetX,
+ y: event.clientY + offsetY,
+ };
+ },
+
+ hideTooltip() {
+ this.showTooltipFlag = false;
+ this.currentLocation = null;
+ this.currentColumn = null;
+ this.currentLayer = null;
+ },
+
+ handleLocationClick(depth) {
+ console.log('鐐瑰嚮璐т綅:', depth);
+ },
+
+ getLocationCode(location) {
+ if (!location) return '';
+ return `${location.row || '?'}鎺�-${this.currentColumn}鍒�-${this.currentLayer}灞�-${location.depth === 1 ? '娴�' : '娣�'}`;
+ },
+
+ getStatusText(status) {
+ const statusMap = {
+ 0: "绌鸿揣浣�",
+ 1: "閿佸畾",
+ 100: "鏈夎揣",
+ };
+ return statusMap[status] || "鏈煡鐘舵��";
+ },
+
+ getStatusClass(status) {
+ const classMap = {
+ 0: 'status-empty',
+ 1: 'status-locked',
+ 100: 'status-occupied'
+ };
+ return classMap[status] || '';
+ },
+
+ getLocationTypeText(type) {
+ const typeMap = {
+ 1: "甯冨嵎",
+ 2: "鏉惧竷鍗�",
+ 3: "鎴愬搧璐т綅"
+ };
+ return typeMap[type] || "鏈煡绫诲瀷";
+ },
+
+ getEnableStatusText(status) {
+ return status === 0 ? '鍚敤' : '绂佺敤';
+ }
+ },
+ mounted() {
+ this.fetchWarehouseData();
+ },
+ components: {
+ ElButton,
+ ElSelect,
+ ElOption,
+ ElEmpty,
+ ElSkeleton
+ },
+};
</script>
-
\ No newline at end of file
+
+<style scoped>
+/* 鏍峰紡閮ㄥ垎淇濇寔涓嶅彉锛屼笌涔嬪墠鐩稿悓 */
+.container {
+ display: flex;
+ flex-direction: column;
+ height: 100vh;
+ padding: 16px;
+ box-sizing: border-box;
+ background-color: #f0f2f5;
+}
+
+.header {
+ text-align: center;
+ margin-bottom: 20px;
+ padding-bottom: 16px;
+ border-bottom: 1px solid #e8e8e8;
+}
+
+.title {
+ font-size: 22px;
+ font-weight: 600;
+ margin: 0;
+ color: #1890ff;
+}
+
+.content-wrapper {
+ display: flex;
+ flex: 1;
+ min-height: 0;
+ gap: 16px;
+}
+
+.control-panel {
+ width: 260px;
+ background-color: white;
+ border-radius: 8px;
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
+ display: flex;
+ flex-direction: column;
+ flex-shrink: 0;
+ overflow: hidden;
+}
+
+.panel-header {
+ padding: 16px;
+ border-bottom: 1px solid #e8e8e8;
+ background-color: #fafafa;
+}
+
+.panel-header h3 {
+ margin: 0;
+ font-size: 16px;
+ font-weight: 600;
+ color: #333;
+}
+
+.panel-body {
+ padding: 16px;
+ display: flex;
+ flex-direction: column;
+ gap: 20px;
+}
+
+.form-group {
+ margin-bottom: 0;
+}
+
+.form-label {
+ display: block;
+ margin-bottom: 6px;
+ font-size: 14px;
+ color: #666;
+ font-weight: 500;
+}
+
+.full-width {
+ width: 100%;
+}
+
+.refresh-btn {
+ margin-top: 8px;
+ width: 100%;
+ height: 32px;
+}
+
+.legend-section {
+ margin-top: 8px;
+ padding-top: 16px;
+ border-top: 1px solid #e8e8e8;
+}
+
+.legend-header h4 {
+ margin: 0 0 12px 0;
+ font-size: 15px;
+ font-weight: 600;
+ color: #333;
+}
+
+.legend-list {
+ display: flex;
+ flex-direction: column;
+ gap: 10px;
+}
+
+.legend-item {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+}
+
+.color-box {
+ width: 20px;
+ height: 20px;
+ border-radius: 4px;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ flex-shrink: 0;
+}
+
+.depth-shallow-legend {
+ background-color: rgba(255, 255, 255, 0.7);
+ border: 1px solid #2c3e50;
+}
+
+.depth-deep-legend {
+ background-color: rgba(0, 0, 0, 0.7);
+ border: 1px solid #000;
+}
+
+.legend-label {
+ font-size: 13px;
+ color: #666;
+}
+
+.main-content {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ min-width: 0;
+}
+
+.loading-container {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: white;
+ border-radius: 8px;
+ padding: 24px;
+}
+
+.location-container {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ background: white;
+ border-radius: 8px;
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
+ overflow: hidden;
+ min-height: 0;
+}
+
+.location-header {
+ padding: 16px 20px;
+ background: #fafafa;
+ border-bottom: 1px solid #e8e8e8;
+ flex-shrink: 0;
+}
+
+.location-info {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ font-size: 14px;
+}
+
+.total-count {
+ font-weight: 600;
+ color: #1890ff;
+}
+
+.layers-container {
+ width: 100%;
+ height: 100%;
+ flex: 1;
+ overflow-y: auto;
+ padding: 20px;
+ display: flex;
+ flex-direction: column;
+ gap: 24px;
+}
+
+.layer-row {
+ background: #f9f9f9;
+ border-radius: 8px;
+ border: 1px solid #e8e8e8;
+ display: flex;
+ flex-direction: column;
+ min-height: auto;
+}
+
+.layer-title-area {
+ padding: 12px 16px;
+ background: #f0f0f0;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ flex-shrink: 0;
+}
+
+.layer-title {
+ margin: 0;
+ font-size: 16px;
+ font-weight: 600;
+ color: #333;
+}
+
+.layer-count {
+ font-size: 12px;
+ color: #666;
+ background: white;
+ padding: 4px 10px;
+ border-radius: 12px;
+ border: 1px solid #ddd;
+}
+
+.layer-content-wrap {
+ width: 100%;
+ overflow: hidden;
+ flex: 1;
+}
+
+.layer-content {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 16px;
+ padding: 16px;
+ min-width: 0;
+ box-sizing: border-box;
+}
+
+.location-column {
+ flex: 0 0 auto;
+ width: 140px;
+ min-height: 120px;
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+}
+
+.column-label {
+ font-size: 13px;
+ font-weight: 600;
+ color: #666;
+ text-align: center;
+ margin-bottom: 8px;
+ padding-bottom: 4px;
+ border-bottom: 1px dashed #ddd;
+ flex-shrink: 0;
+}
+
+.locations-wrapper {
+ display: flex;
+ flex-direction: column;
+ gap: 6px;
+ flex: 1;
+ min-height: 0;
+}
+
+.location-item {
+ min-height: 40px;
+ padding: 6px 4px;
+ border-radius: 4px;
+ text-align: center;
+ cursor: pointer;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ transition: all 0.2s;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ gap: 2px;
+ flex: 1;
+}
+
+.location-item:hover {
+ transform: scale(1.05);
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
+ z-index: 10;
+}
+
+.location-code {
+ font-size: 11px;
+ font-weight: 500;
+ line-height: 1.2;
+ word-break: break-all;
+}
+
+.depth-indicator {
+ font-size: 10px;
+ padding: 2px 4px;
+ border-radius: 3px;
+ margin-top: 2px;
+ font-weight: bold;
+ transition: all 0.2s;
+}
+
+.depth-shallow {
+ background-color: rgba(255, 255, 255, 0.7);
+ color: #2c3e50;
+}
+
+.depth-deep {
+ background-color: rgba(0, 0, 0, 0.7);
+ color: white;
+}
+
+.location-item:hover .depth-indicator {
+ transform: scale(1.1);
+}
+
+.location-status {
+ font-size: 10px;
+ padding: 1px 4px;
+ border-radius: 2px;
+ background: rgba(0, 0, 0, 0.1);
+}
+
+.location-empty {
+ background-color: lightgreen;
+ color: #333;
+}
+
+.location-occupied {
+ background-color: orange;
+ color: white;
+}
+
+.location-locked {
+ background-color: #2BB3D5;
+ color: white;
+}
+
+.location-disabled {
+ background-color: #ccc;
+ color: #666;
+ cursor: not-allowed;
+}
+
+.location-other {
+ background-color: #b7ba6b;
+ color: white;
+}
+
+.empty-container {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: white;
+ border-radius: 8px;
+}
+
+.location-tooltip {
+ position: fixed;
+ z-index: 9999;
+ background-color: white;
+ border: 1px solid #ddd;
+ border-radius: 6px;
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
+ pointer-events: none;
+ min-width: 220px;
+ max-width: 300px;
+}
+
+.tooltip-content {
+ overflow: hidden;
+}
+
+.tooltip-header {
+ padding: 12px 16px;
+ background-color: #1890ff;
+ color: white;
+}
+
+.tooltip-header h4 {
+ margin: 0;
+ font-size: 14px;
+ font-weight: 600;
+}
+
+.tooltip-body {
+ padding: 12px 16px;
+}
+
+.tooltip-row {
+ display: flex;
+ margin-bottom: 8px;
+ font-size: 13px;
+ line-height: 1.4;
+}
+
+.tooltip-row:last-child {
+ margin-bottom: 0;
+}
+
+.tooltip-label {
+ flex: 0 0 80px;
+ color: #666;
+ font-weight: 500;
+}
+
+.tooltip-value {
+ flex: 1;
+ color: #333;
+ word-break: break-all;
+}
+
+.status-disabled {
+ color: #f5222d;
+}
+
+@media (max-width: 1200px) {
+ .location-column {
+ width: 130px;
+ }
+}
+
+@media (max-width: 768px) {
+ .content-wrapper {
+ flex-direction: column;
+ }
+
+ .control-panel {
+ width: 100%;
+ }
+
+ .location-column {
+ width: 120px;
+ }
+
+ .layer-content {
+ gap: 12px;
+ }
+}
+
+@media (max-width: 480px) {
+ .location-column {
+ width: 110px;
+ }
+
+ .location-code {
+ font-size: 10px;
+ }
+
+ .layer-content {
+ gap: 10px;
+ padding: 12px;
+ }
+
+ @media (max-width: 380px) {
+ .location-column {
+ width: 100px;
+ }
+ }
+}
+
+.layers-container::-webkit-scrollbar {
+ width: 8px;
+}
+
+.layers-container::-webkit-scrollbar-track {
+ background: #f1f1f1;
+ border-radius: 4px;
+}
+
+.layers-container::-webkit-scrollbar-thumb {
+ background: #c1c1c1;
+ border-radius: 4px;
+}
+
+.layers-container::-webkit-scrollbar-thumb:hover {
+ background: #a8a8a8;
+}
+</style>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/system/txt_log.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/system/txt_log.vue"
new file mode 100644
index 0000000..0c2ccba
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/system/txt_log.vue"
@@ -0,0 +1,297 @@
+<template>
+ <div class="mian_log">
+ <div class="log_tree">
+ <div class="log_search">
+ <el-input v-model.lazy="filterText" placeholder="璇疯緭鍏ユ煡璇㈠叧閿瓧" clearable />
+ <el-button type="success" @click="ReloadTree()">鍒� 鏂�</el-button>
+ </div>
+ <el-tree class="log_el_tree" ref="treeRef" :data="treeData" :props="treeProps" :filter-node-method="treeFilter">
+ <template #default="{ node, data }">
+ <div class="treeItem">
+ <div>{{ node.label }}</div>
+ <div style="padding-left: 10px;" v-if="isFile(data)">
+ <a href="javascript:;" @click="GetContent(data)"> 鎵撳紑 </a>
+ <!-- ||<a href="javascript:;" @click="DonwLog(data)"> 涓嬭浇 </a> -->
+ </div>
+ </div>
+ </template>
+ </el-tree>
+ </div>
+
+ <div class="log_line"></div>
+
+ <div class="log_content">
+ <div>
+ <h2>{{ this.fileName }}</h2>
+ <div class="log_size">{{ GetSize() }}</div>
+ <el-checkbox v-model="keepRead">淇濇寔璇诲彇</el-checkbox>
+ </div>
+
+ <div ref="pre" v-if="content">
+ <el-progress :percentage="percentage" @click="ChangePercent($event)" color="#f56c6c" />
+ </div>
+ <div ref="showdata" @scroll="handleScroll($event)" style="white-space: pre-wrap;word-break: break-all">{{
+ content }}</div>
+ </div>
+ </div>
+</template>
+
+<script>
+export default ({
+ data() {
+ return {
+ filterText: "",
+ treeData: [],
+ treeProps: {
+ children: 'dirs',
+ label: 'dirName',
+ },
+ keepRead: false,
+
+ percentage: 100,
+ topStartPos: 0,
+ fileSize: "",
+ filePath: "",
+ fileName: "",
+ content: "",
+ isClick: false,
+
+ keepReadTimer: null
+ }
+ },
+ watch: {
+ filterText(val) {
+ this.$refs.treeRef.filter(val)
+ },
+ keepRead(val) {
+ if (val) {
+ this.keepReadTimer = setInterval(() => {
+ if (this.filePath) {
+ var parm = {
+ path: this.filePath,
+ percent: 100,
+ maxsize_KB: 10
+ }
+ this.percentage = 100;
+ this.http.post('/api/Sys_Log/GetLogData', parm).then((res) => {
+ this.content = res.data.content;
+ this.topStartPos = res.data.startIndex;
+ this.$nextTick(function () {
+ this.$refs.showdata.scrollTo(0, this.$refs.showdata.scrollHeight)
+ })
+ })
+ }
+ }, 1500);
+ } else {
+ clearInterval(this.keepReadTimer);
+ }
+ }
+ },
+ methods: {
+ treeFilter(value, data) {
+ if (!value) return true
+ return data.dirName.includes(value)
+ },
+ isFile(data) {
+ if (data.dirPath) {
+ return data.dirPath.indexOf(".log") != -1 || data.dirPath.indexOf(".txt") != -1;
+ }
+ return false;
+ },
+ ChangePercent(event) {
+ var bar = window.document.getElementsByClassName('el-progress-bar')[0]
+ var res = event.offsetX / bar.offsetWidth * 100;
+ var percent = parseFloat(res.toFixed(2));
+ if (percent < 1) {
+ percent = 0;
+ }
+ if (percent > 99) {
+ percent = 100;
+ }
+ this.percentage = percent;
+ var parm = {
+ path: this.filePath,
+ percent: this.percentage,
+ maxsize_KB: 20
+ }
+
+ this.http.post('/api/Sys_Log/GetLogData', parm).then((res) => {
+ this.isClick = true;
+ this.content = res.data.content;
+ this.topStartPos = res.data.startIndex;
+ this.$nextTick(function () {
+ if (percent == 100) {
+ this.$refs.showdata.scrollTo(0, this.$refs.showdata.scrollHeight)
+ } else {
+ this.$refs.showdata.scrollTo(0, 1)
+ }
+ })
+ setTimeout(() => {
+ this.isClick = false;
+ }, 1000)
+ })
+ },
+ GetContent(data) {
+ var parm = {
+ path: data.dirPath,
+ percent: 100,
+ maxsize_KB: 20
+ }
+ this.filePath = data.dirPath;
+ this.fileName = data.dirName;
+ this.percentage = parm.percent;
+ this.http.post('/api/Sys_Log/GetLogData', parm).then((res) => {
+ this.content = res.data.content;
+ this.topStartPos = res.data.startIndex;
+ this.fileSize = res.data.len;
+ this.$nextTick(function () {
+ this.$refs.showdata.scrollTo(0, this.$refs.showdata.scrollHeight);
+ })
+ })
+ },
+ handleScroll() {
+ const scrollTop = this.$refs.showdata.scrollTop;
+ if (scrollTop == 0 && !this.isClick) {
+ if (this.topStartPos == 0) {
+ this.percentage = 0;
+ return;
+ }
+ var parm = {
+ path: this.filePath,
+ maxsize_KB: 10,
+ topStartPos: this.topStartPos
+ }
+ this.http.post('/api/Sys_Log/GetLogData', parm).then((res) => {
+ this.topStartPos = res.data.startIndex;
+ var per = res.data.startIndex / res.data.len * 100;
+
+ this.percentage = parseFloat(per.toFixed(2));
+ if (this.percentage == 0 && res.data.startIndex != 0) {
+ this.percentage = 0.1;
+ }
+ this.content = res.data.content + this.content;
+ this.$nextTick(function () {
+ this.$refs.showdata.scrollTo(0, 1)
+ })
+ })
+ }
+ },
+ DonwLog(data) {
+ var url = this.http.axios.defaults.baseURL + 'api/Sys_Log/DownLog';
+ url += "?filePath=" + data.dirPath;
+ window.location.href = encodeURI(url);
+ },
+ ReloadTree() {
+ this.http.post("/api/Sys_Log/GetLogList", {}, "鍔犺浇鐩綍涓�︹��")
+ .then(res => {
+ this.treeData = res.data.dirs;
+ })
+ },
+ GetSize(size) {
+ var size = this.fileSize;
+ if (!size) {
+ return ''
+ } else if (size < 1024) {
+ size = size + "B"
+ } else if (size < 1024 * 1024) {
+ size = (size / 1024).toFixed(2) + "KB"
+ } else {
+ size = (size / 1024 / 1024).toFixed(2) + "MB"
+ }
+ return "鏂囦欢澶у皬:" + size;
+ }
+ },
+ mounted() {
+ this.http.post("/api/Sys_Log/GetLogList", {}, "鍔犺浇鐩綍涓�︹��")
+ .then(res => {
+ this.treeData = res.data.dirs;
+ })
+ }
+})
+</script>
+
+<style scoped>
+.mian_log {
+ height: calc(100vh - 96px);
+ padding: 10px 10px;
+ display: flex;
+ width: 100%;
+}
+
+.log_tree {
+ width: 420px;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+}
+
+.log_search {
+ display: flex;
+}
+
+.log_search :last-child {
+ margin-left: 5px;
+}
+
+.log_el_tree {
+ width: 100%;
+ overflow-x: auto;
+ flex: 1;
+}
+
+
+.treeItem {
+ overflow-x: auto;
+ flex: 1;
+ display: flex;
+ justify-content: space-between;
+}
+
+.treeItem::-webkit-scrollbar {
+ height: 5px;
+}
+
+.treeItem::-webkit-scrollbar-thumb {
+ /* 瀹氫箟婊氬姩鏉℃粦鍧楅鑹� */
+ background: #ccc;
+}
+
+.treeItem::-webkit-scrollbar-thumb:hover {
+ /* 瀹氫箟婊氬姩鏉℃粦鍧楁偓鍋滈鑹� */
+ background: orange;
+}
+
+.log_line {
+ margin: 5px 16px;
+ border-left: 2px dashed orange;
+}
+
+.log_content {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+}
+
+.log_content>div:first-child {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.log_size {
+ font-size: 13px;
+ color: #bbb;
+}
+
+.log_content>div:last-child {
+ flex: 1;
+ overflow-y: scroll;
+ margin-top: 5px;
+ padding-top: 5px;
+ border-top: 1px solid black;
+}
+
+a {
+ color: blue;
+}
+</style>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue"
index 545ea62..e0109d2 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/taskinfo/task.vue"
@@ -26,8 +26,34 @@
url: "/Task/",
sortName: "CreateDate",
});
- const editFormFields = ref({});
- const editFormOptions = ref([]);
+ const editFormFields = ref({
+ taskNum: "",
+ palletCode: "",
+ roadway: "",
+ taskStatus: "",
+ taskType: "",
+ sourceAddress: "",
+ targetAddress: "",
+ currentAddress: "",
+ nextAddress: "",
+ creater: "",
+ createDate: "",
+ palletType:"",
+ WarehouseId:"",
+ });
+ const editFormOptions = ref([
+ [
+ { title: "浠诲姟鐘舵��",field: "taskStatus",type: "select",dataKey: "taskStatusEnum",data: [],},
+ ],
+ [
+ { title: "璧峰鍦板潃", field: "sourceAddress", type: "string" },
+ { title: "鐩爣鍦板潃", field: "targetAddress", type: "string" },
+ ],
+ [
+ { title: "褰撳墠浣嶇疆", field: "currentAddress", type: "string" },
+ { title: "涓嬩竴浣嶇疆", field: "nextAddress", type: "string" },
+ ]
+ ]);
const searchFormFields = ref({
taskNum: "",
palletCode: "",
@@ -77,14 +103,14 @@
field: "palletCode",
title: "鎵樼洏缂栧彿",
type: "string",
- width: 160,
+ width: 120,
align: "left",
},
{
field: "palletType",
title: "鎵樼洏绫诲瀷",
type: "string",
- width: 120,
+ width: 80,
align: "left",
bind: { key: "taskpalltype", data: [] },
},
@@ -92,14 +118,21 @@
field: "roadway",
title: "宸烽亾鍙�",
type: "string",
- width: 120,
+ width: 70,
align: "left",
+ },{
+ field: "warehouseId",
+ title: "浠撳簱缂栧彿",
+ type: "int",
+ width: 80,
+ align: "left",
+ bind: { key: "warehouseEnum", data: [] },
},
{
field: "taskType",
title: "浠诲姟绫诲瀷",
type: "int",
- width: 120,
+ width: 90,
align: "left",
bind: { key: "taskTypeEnum", data: [] },
},
@@ -107,7 +140,7 @@
field: "taskStatus",
title: "浠诲姟鐘舵��",
type: "int",
- width: 150,
+ width: 120,
align: "left",
bind: { key: "taskStatusEnum", data: [] },
},
@@ -115,28 +148,35 @@
field: "sourceAddress",
title: "璧峰鍦板潃",
type: "int",
- width: 220,
+ width: 150,
align: "left",
},
{
field: "targetAddress",
title: "鐩爣鍦板潃",
type: "string",
- width: 220,
+ width: 150,
align: "left",
},
{
field: "currentAddress",
title: "褰撳墠浣嶇疆",
type: "string",
- width: 120,
+ width: 150,
align: "left",
},
{
field: "nextAddress",
title: "涓嬩竴浣嶇疆",
type: "string",
- width: 120,
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "numberSsuances",
+ title: "寮傚父娆℃暟",
+ type: "string",
+ width: 100,
align: "left",
},
{
@@ -145,15 +185,14 @@
type: "string",
width: 100,
align: "left",
- hidden: true,
},
- {
- field: "grade",
- title: "浼樺厛绾�",
- type: "int",
- width: 80,
- align: "left",
- },
+ // {
+ // field: "grade",
+ // title: "浼樺厛绾�",
+ // type: "int",
+ // width: 80,
+ // align: "left",
+ // },
{
field: "dispatchertime",
title: "浠诲姟涓嬪彂鏃堕棿",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue"
index fcc2545..c7ccdd7 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/views/taskinfo/task_hty.vue"
@@ -61,12 +61,17 @@
const columns = ref([
{
field: "taskId",
- title: "taskId",
+ title: "涓婚敭",
type: "int",
width: 90,
+ align: "left",
hidden: true,
- readonly: true,
- require: true,
+ },
+ {
+ field: "sourceId",
+ title: "浠诲姟鍙�",
+ type: "int",
+ width: 90,
align: "left",
},
{
@@ -80,28 +85,37 @@
field: "palletCode",
title: "鎵樼洏缂栧彿",
type: "string",
- width: 160,
+ width: 120,
align: "left",
- },{
+ },
+ {
field: "palletType",
title: "鎵樼洏绫诲瀷",
type: "string",
- width: 120,
+ width: 80,
align: "left",
bind: { key: "taskhtypalltype", data: [] },
+ },
+ {
+ field: "warehouseId",
+ title: "浠撳簱缂栧彿",
+ type: "int",
+ width: 80,
+ align: "left",
+ bind: { key: "warehouseEnum", data: [] },
},
{
field: "roadway",
title: "宸烽亾鍙�",
type: "string",
- width: 120,
+ width: 70,
align: "left",
},
{
field: "taskType",
title: "浠诲姟绫诲瀷",
type: "int",
- width: 120,
+ width: 90,
align: "left",
bind: { key: "taskTypeEnum", data: [] },
},
@@ -109,7 +123,7 @@
field: "taskStatus",
title: "浠诲姟鐘舵��",
type: "int",
- width: 150,
+ width: 120,
align: "left",
bind: { key: "taskStatusEnum", data: [] },
},
@@ -117,58 +131,58 @@
field: "sourceAddress",
title: "璧峰鍦板潃",
type: "int",
- width: 220,
+ width: 150,
align: "left",
},
{
field: "targetAddress",
title: "鐩爣鍦板潃",
type: "string",
- width: 220,
+ width: 150,
align: "left",
},
{
field: "currentAddress",
title: "褰撳墠浣嶇疆",
type: "string",
- width: 120,
+ width: 150,
align: "left",
},
{
field: "nextAddress",
title: "涓嬩竴浣嶇疆",
type: "string",
- width: 120,
+ width: 150,
align: "left",
},
{
- field: "exceptionMessage",
- title: "寮傚父淇℃伅",
+ field: "numberSsuances",
+ title: "寮傚父娆℃暟",
type: "string",
- width: 90,
- align: "left",
- hidden: true,
- },
- {
- field: "grade",
- title: "浼樺厛绾�",
- type: "int",
- width: 80,
+ width: 100,
align: "left",
},
{
- field: "depth",
- title: "娣卞害",
- type: "int",
- width: 80,
+ field: "remark",
+ title: "澶囨敞",
+ type: "string",
+ width: 100,
align: "left",
},
+ // {
+ // field: "grade",
+ // title: "浼樺厛绾�",
+ // type: "int",
+ // width: 80,
+ // align: "left",
+ // },
{
field: "dispatchertime",
title: "浠诲姟涓嬪彂鏃堕棿",
type: "datetime",
- width: 150,
+ width: 160,
align: "left",
+ hidden:true,
},
{
field: "wMSId",
@@ -178,13 +192,13 @@
align: "left",
hidden: true,
},
- {
- field: "creater",
- title: "鍒涘缓浜�",
- type: "string",
- width: 90,
- align: "left",
- },
+ // {
+ // field: "creater",
+ // title: "鍒涘缓浜�",
+ // type: "string",
+ // width: 90,
+ // align: "left",
+ // },
{
field: "createDate",
title: "鍒涘缓鏃堕棿",
@@ -192,28 +206,21 @@
width: 160,
align: "left",
},
- {
- field: "modifier",
- title: "淇敼浜�",
- type: "string",
- width: 100,
- align: "left",
- },
- {
- field: "modifyDate",
- title: "淇敼鏃堕棿",
- type: "datetime",
- width: 160,
- align: "left",
- },
- {
- field: "remark",
- title: "澶囨敞",
- type: "string",
- width: 100,
- align: "left",
- hidden: true,
- },
+ // {
+ // field: "modifier",
+ // title: "淇敼浜�",
+ // type: "string",
+ // width: 100,
+ // align: "left",
+ // },
+ // {
+ // field: "modifyDate",
+ // title: "淇敼鏃堕棿",
+ // type: "datetime",
+ // width: 160,
+ // align: "left",
+ // },
+
]);
const detail = ref({
cnName: "#detailCnName",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db"
index 1737971..214c32e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-shm"
index 84957f6..fd184cc 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-shm"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-wal"
index e832c34..9ab76e6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-wal"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/CodeChunks.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db"
index fdb6b93..982bdc7 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-shm" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-shm"
index abb8b7d..b9ca43f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-shm"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-shm"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-wal"
index 30c5784..4a4f661 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-wal"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.1368.60722/SemanticSymbols.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json"
index fe7a0f0..1204094 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json"
@@ -3,28 +3,36 @@
"WorkspaceRootPath": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
"AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\wmscrujob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wmscrujob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\mestaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\mestaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -38,79 +46,108 @@
"Children": [
{
"$type": "Document",
- "DocumentIndex": 1,
- "Title": "TaskService.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
- "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
- "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
- "ViewState": "AgIAAG0BAAAAAAAAAAAiwEsBAAAAAAAAAAAAAA==",
+ "DocumentIndex": 4,
+ "Title": "ServiceBase.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\BaseServices\\ServiceBase.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Core\\BaseServices\\ServiceBase.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\BaseServices\\ServiceBase.cs",
+ "RelativeToolTip": "WIDESEA_Core\\BaseServices\\ServiceBase.cs",
+ "ViewState": "AgIAABYCAAAAAAAAAAAkwCUCAAANAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-21T01:17:15.212Z",
+ "WhenOpened": "2026-01-22T07:17:23.833Z",
+ "IsPinned": true,
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
- "Title": "WCSTaskService.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
- "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
- "RelativeToolTip": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
- "ViewState": "AgIAAFAAAAAAAAAAAAAgwFoAAABVAAAAAAAAAA==",
+ "Title": "TaskService.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
+ "ViewState": "AgIAAGQCAAAAAAAAAADgv4oCAAC4AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-21T01:27:15.484Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 2,
- "Title": "MESTaskService.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
- "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\MESTaskService.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
- "RelativeToolTip": "WIDESEA_TaskInfoService\\MESTaskService.cs",
- "ViewState": "AgIAAFoAAAAAAAAAAAAUwDgAAAA8AAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-20T02:01:01.744Z",
+ "WhenOpened": "2026-01-22T06:53:09.745Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
- "Title": "TaskController.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "ViewState": "AgIAAAwAAAAAAAAAAAAmwCMAAAAsAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-20T01:43:30.571Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 5,
"Title": "WCSTaskController.cs",
"DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
"RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
"ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
"RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
- "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+ "ViewState": "AgIAAAAAAAAAAAAAAADwvxwAAAAiAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-20T01:43:23.989Z"
+ "WhenOpened": "2026-01-22T06:53:05.769Z",
+ "EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 4,
+ "DocumentIndex": 5,
"Title": "MesTaskController.cs",
"DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
"RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
"ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
"RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
- "ViewState": "AgIAACMAAAAAAAAAAAAUwDoAAAAeAAAAAAAAAA==",
+ "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-20T01:28:52.214Z"
+ "WhenOpened": "2026-01-22T06:53:03.269Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 7,
+ "Title": "Dt_Task.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\TaskInfo\\Dt_Task.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\TaskInfo\\Dt_Task.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\TaskInfo\\Dt_Task.cs",
+ "RelativeToolTip": "WIDESEA_Model\\Models\\TaskInfo\\Dt_Task.cs",
+ "ViewState": "AgIAAHcAAAAAAAAAAAAqwJYAAAAmAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-22T06:36:14.643Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "WMSCruJob.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WMSCruJob.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WMSCruJob.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WMSCruJob.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\WMSCruJob.cs",
+ "ViewState": "AgIAABsBAAAAAAAAAAAtwDEBAABHAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-22T06:23:38.441Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "WCSTaskService.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
+ "ViewState": "AgIAAAsAAAAAAAAAAAAcwCgAAABpAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-22T03:56:43.195Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 6,
+ "Title": "TaskController.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+ "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+ "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+ "ViewState": "AgIAABIAAAAAAAAAAAAAABwAAAAjAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-21T09:31:31.363Z",
+ "EditorCaption": ""
}
]
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json"
index 15cedf9..14d066b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json"
@@ -3,32 +3,36 @@
"WorkspaceRootPath": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
- "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+ "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\wmscrujob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wmscrujob.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\wcstaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\mestaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
- },
- {
- "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\baseservices\\servicebase.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\mestaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\mestaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\wcstaskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|f:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\yingmeiwmsxiangmu\\\u9879\u76EE\u4EE3\u7801\\wms\\widesea_wmsserver\\widesea_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\taskinfo\\dt_task.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -38,84 +42,47 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 0,
+ "SelectedChildIndex": 1,
"Children": [
{
"$type": "Document",
- "DocumentIndex": 0,
- "Title": "appsettings.json",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
- "RelativeDocumentMoniker": "WIDESEA_WMSServer\\appsettings.json",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\appsettings.json",
- "RelativeToolTip": "WIDESEA_WMSServer\\appsettings.json",
- "ViewState": "AgIAAAAAAAAAAAAAAAAAABIAAAAxAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
- "WhenOpened": "2026-01-21T05:38:33.518Z",
+ "DocumentIndex": 4,
+ "Title": "ServiceBase.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\BaseServices\\ServiceBase.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Core\\BaseServices\\ServiceBase.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\BaseServices\\ServiceBase.cs",
+ "RelativeToolTip": "WIDESEA_Core\\BaseServices\\ServiceBase.cs",
+ "ViewState": "AgIAABYCAAAAAAAAAAAkwCUCAAANAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-22T07:17:23.833Z",
+ "IsPinned": true,
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 2,
+ "DocumentIndex": 0,
"Title": "TaskService.cs",
"DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
"RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
"ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
"RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
- "ViewState": "AgIAAG0BAAAAAAAAAAAiwEsBAAAAAAAAAAAAAA==",
+ "ViewState": "AgIAAFoCAAAAAAAAAAAAAIoCAAAuAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-21T01:17:15.212Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 1,
- "Title": "WCSTaskService.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
- "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
- "RelativeToolTip": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
- "ViewState": "AgIAAFAAAAAAAAAAAAAgwFoAAABVAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-21T01:27:15.484Z",
+ "WhenOpened": "2026-01-22T06:53:09.745Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
- "Title": "MESTaskService.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
- "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\MESTaskService.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\MESTaskService.cs",
- "RelativeToolTip": "WIDESEA_TaskInfoService\\MESTaskService.cs",
- "ViewState": "AgIAAFoAAAAAAAAAAAAUwDgAAAA8AAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-20T02:01:01.744Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 4,
- "Title": "TaskController.cs",
- "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "ViewState": "AgIAAAwAAAAAAAAAAAAmwCMAAAAsAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-20T01:43:30.571Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 6,
"Title": "WCSTaskController.cs",
"DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
"RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
"ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
"RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\WCSTaskController.cs",
- "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
+ "ViewState": "AgIAAAAAAAAAAAAAAADwvxwAAAAiAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-20T01:43:23.989Z"
+ "WhenOpened": "2026-01-22T06:53:05.769Z",
+ "EditorCaption": ""
},
{
"$type": "Document",
@@ -125,9 +92,62 @@
"RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
"ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
"RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\MesTaskController.cs",
- "ViewState": "AgIAACMAAAAAAAAAAAAUwDoAAAAeAAAAAAAAAA==",
+ "ViewState": "AgIAAAwAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2026-01-20T01:28:52.214Z"
+ "WhenOpened": "2026-01-22T06:53:03.269Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 7,
+ "Title": "Dt_Task.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\TaskInfo\\Dt_Task.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\TaskInfo\\Dt_Task.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\TaskInfo\\Dt_Task.cs",
+ "RelativeToolTip": "WIDESEA_Model\\Models\\TaskInfo\\Dt_Task.cs",
+ "ViewState": "AgIAAHcAAAAAAAAAAAAqwJYAAAAmAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-22T06:36:14.643Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "WMSCruJob.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WMSCruJob.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WMSCruJob.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WMSCruJob.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\WMSCruJob.cs",
+ "ViewState": "AgIAABsBAAAAAAAAAAAtwDEBAABHAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-22T06:23:38.441Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "WCSTaskService.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\WCSTaskService.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\WCSTaskService.cs",
+ "ViewState": "AgIAAAsAAAAAAAAAAAAcwCgAAABpAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-22T03:56:43.195Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 6,
+ "Title": "TaskController.cs",
+ "DocumentMoniker": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+ "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+ "ToolTip": "F:\\1-\u51FA\u5DEE\u9879\u76EE\\\u9E70\u7F8E\\\u9E70\u7F8E\u667A\u80FD\u5DE5\u5382\u7ACB\u4F53\u5E93\u9879\u76EE\\1-13\\YingMeiWMSXiangMu\\\u9879\u76EE\u4EE3\u7801\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+ "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+ "ViewState": "AgIAABIAAAAAAAAAAAAAABwAAAAjAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-21T09:31:31.363Z",
+ "EditorCaption": ""
}
]
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs"
index 2b89e47..2398b4d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/LocationInfoService.cs"
@@ -305,5 +305,68 @@
public DateTime DateTime { get; set; }
}
+
+
+
+ public WebResponseContent GetArea()
+ {
+ // WarehouseId鍒嗙粍锛岀劧鍚庢槸RoadwayNo
+ var result = BaseDal.QueryData()
+ .GroupBy(x => x.WarehouseId)
+ .Select(g => new {
+ WarehouseId = g.Key,
+ RoadwayNo = g.Select(x => x.RoadwayNo).Distinct().ToList()
+ })
+ .ToList();
+ return WebResponseContent.Instance.OK("鎴愬姛", result);
+ }
+
+ public WebResponseContent GetLocationStatus(int WarehouseId, string RoadwayNo)
+ {
+ // 鏍煎紡{灞�,{杩欎竴灞傜殑鍒楁暟鎹畗}
+ var locations = BaseDal.QueryData(x => x.WarehouseId == WarehouseId && x.RoadwayNo == RoadwayNo)
+ .Select(x => new
+ {
+ x.RoadwayNo,
+ x.WarehouseId,
+ x.Row,
+ x.Column,
+ x.Layer,
+ x.Depth,
+ x.LocationType,
+ x.LocationStatus,
+ x.EnableStatus
+ })
+ .ToList();
+
+ // 濡傛灉娌℃湁鎵惧埌鏁版嵁锛岃繑鍥炵┖鍒楄〃鑰屼笉鏄痭ull
+ if (locations == null || !locations.Any())
+ {
+ return WebResponseContent.Instance.OK("鏈壘鍒板搴斿贩閬撶殑璐т綅鏁版嵁", new List<object>());
+ }
+
+ // 淇敼涓哄眰涓嬮潰鏀炬墍鏈夊垪鐨勪俊鎭�
+ var result = locations
+ .GroupBy(x => x.Layer) // 鎸夊眰鍒嗙粍
+ .Select(layerGroup => new
+ {
+ layer = layerGroup.Key,
+ columns = layerGroup.GroupBy(x => x.Column) // 姣忓眰涓寜鍒楀垎缁�
+ .Select(columnGroup => new
+ {
+ column = columnGroup.Key,
+ depths = columnGroup.Select(d => new
+ {
+ row = d.Row,
+ depth = d.Depth,
+ locationType = d.LocationType,
+ locationStatus = d.LocationStatus,
+ enableStatus = d.EnableStatus
+ }).ToList()
+ }).ToList()
+ }).ToList();
+
+ return WebResponseContent.Instance.OK("鎴愬姛", result);
+ }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs"
index 4b106f5..3c4f9bc 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IBasicService/ILocationInfoService.cs"
@@ -74,5 +74,10 @@
/// </summary>
/// <returns></returns>
Dt_LocationInfo? ShallowGetLocation(string roadway, int Locationtype, int row, int Layer, int Column);
+
+
+ WebResponseContent GetArea();
+ WebResponseContent GetLocationStatus(int WarehouseId, string RoadwayNo);
+
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IStockService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IStockService.cs"
index eb21726..b7fbbcf 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IStockService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_IStockService/IStockService.cs"
@@ -16,5 +16,7 @@
IStockInfoDetail_HtyService StockInfoDetail_HtyService { get; }
IStockInfo_HtyService StockInfo_HtyService { get; }
+
+
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_ISystemService/ISys_LogService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_ISystemService/ISys_LogService.cs"
index 27dcb29..933faf7 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_ISystemService/ISys_LogService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_ISystemService/ISys_LogService.cs"
@@ -3,12 +3,234 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEA_Core;
using WIDESEA_Core.BaseServices;
using WIDESEA_Model.Models;
namespace WIDESEA_ISystemService
{
+ #region 瀹炰綋绫�
+ public class DirInfo
+ {
+ /// <summary>
+ /// 褰撳墠璺緞
+ /// </summary>
+ public string dirPath { get; set; }
+
+ /// <summary>
+ /// 褰撳墠鍚嶇О
+ /// </summary>
+ public string dirName { get; set; }
+
+ /// <summary>
+ /// 瀛愭枃浠�
+ /// </summary>
+ public List<FileDataInfo> files { get; set; }
+
+ /// <summary>
+ /// 瀛愭枃浠跺す
+ /// </summary>
+ public List<DirInfo> dirs { get; set; }
+ }
+
+ public class FileDataInfo
+ {
+ public string filePath { get; set; }
+
+ public string fileName { get; set; }
+
+ public long fileSize { get; set; }
+ }
+
+ public class GetLogParm
+ {
+ /// <summary>
+ /// 鏂囦欢鍦板潃
+ /// </summary>
+ public string path;
+
+ /// <summary>
+ /// 璇诲彇杩涘害
+ /// </summary>
+ public float percent;
+
+ /// <summary>
+ /// 鏈�澶ц鍙栧ぇ灏�
+ /// </summary>
+ public double maxsize_KB = 20;
+
+ /// <summary>
+ /// 褰撳墠璧峰浣嶇疆
+ /// </summary>
+ public long topStartPos = 0;
+ }
+ #endregion
public interface ISys_LogService : IService<Sys_Log>
{
+ /// <summary>
+ /// 閫掑綊鑾峰彇鏂囦欢淇℃伅
+ /// </summary>
+ /// <param name="dirPath"></param>
+ /// <returns></returns>
+ private DirInfo GetDirInfo(string dirPath)
+ {
+ //褰撳墠鏂囦欢澶�
+ var dirInfo = new DirInfo();
+ dirInfo.dirName = Path.GetFileName(dirPath);
+
+ //瀛愭枃浠�
+ List<FileDataInfo> files = new List<FileDataInfo>();
+ foreach (var file in Directory.GetFiles(dirPath))
+ {
+ files.Add(new FileDataInfo()
+ {
+ filePath = file,
+ fileName = Path.GetFileName(file)
+ });
+ }
+
+ //瀛愭枃浠跺す
+ var dirs = Directory.GetDirectories(dirPath);
+ dirInfo.dirs = new List<DirInfo>();
+ foreach (var dir in dirs)
+ {
+ dirInfo.dirs.Add(GetDirInfo(dir));
+ }
+
+ //瀛愭枃浠跺す锛屼笌瀛愮洰褰曞悎骞�
+ foreach (var file in files)
+ {
+ dirInfo.dirs.Add(new DirInfo() { dirPath = file.filePath, dirName = file.fileName });
+ }
+ return dirInfo;
+ }
+
+ /// <summary>
+ /// 鑾峰彇鏃ュ織鏂囦欢鍒楄〃
+ /// </summary>
+ /// <returns></returns>
+ public WebResponseContent GetLogList()
+ {
+ WebResponseContent content = new WebResponseContent();
+ string path = System.Environment.CurrentDirectory + "/log";
+ if (!System.IO.Directory.Exists(path))
+ {
+ return content.Error("鏆傛棤鏃ュ織鏂囦欢");
+ }
+
+ content.Data = GetDirInfo(path);
+ content.OK();
+ return content;
+ }
+
+ /// <summary>
+ /// 鑾峰彇鏂囦欢鍐呭
+ /// </summary>
+ /// <param name="parm"></param>
+ /// <returns></returns>
+ public WebResponseContent GetLogData(GetLogParm parm)
+ {
+ WebResponseContent content = new WebResponseContent();
+ string res = "";
+ //鏄惁璇诲彇鍒版渶鍚�
+ bool isEnd = false;
+ long startIndex = 0;
+ //鏂囦欢澶у皬
+ long len = 0;
+ try
+ {
+ if (!System.IO.File.Exists(parm.path))
+ {
+ throw new Exception($"鏂囦欢{parm.path}涓嶅瓨鍦紒");
+ }
+ using (FileStream fs = new FileStream(parm.path, FileMode.Open, FileAccess.Read, FileShare.Read))
+ {
+ //鏈�澶ц鍙栧ぇ灏�
+ int maxsize = (int)(1024 * parm.maxsize_KB);
+ len = fs.Length;
+ long startPos = (long)(len * (parm.percent / 100));//璧峰浣嶇疆
+ long readLen = len - startPos;//璇诲彇闀垮害
+
+ //鍚戝墠鍔犺浇
+ if (parm.topStartPos != 0)
+ {
+ startPos = parm.topStartPos - maxsize;
+ if (startPos < 0)
+ {
+ //宸茶鍒拌捣濮嬩綅
+ startPos = 0;
+ readLen = parm.topStartPos;
+ }
+ else
+ {
+ readLen = maxsize;
+ }
+ }
+ else
+ {
+ //璇诲彇澶у皬鏄惁瓒呭嚭鏈�澶ч暱搴�
+ if (readLen > maxsize)
+ {
+ readLen = maxsize;
+ }
+ else
+ {
+ isEnd = true;
+ }
+ }
+
+ //鍔犺浇100%锛屾寜鏈�澶у唴瀹硅鍙�
+ if (parm.percent == 100)
+ {
+ if (len < maxsize)
+ {
+ startPos = 0;
+ readLen = len;
+ }
+ else
+ {
+ startPos = len - maxsize;
+ readLen = maxsize;
+ }
+ }
+
+ fs.Seek(startPos, SeekOrigin.Begin);
+ var buffer = new byte[readLen];
+ fs.Read(buffer, 0, (int)readLen);
+
+ startIndex = startPos;
+ if (startPos != 0 && (parm.percent != 0 || parm.topStartPos != 0))
+ {
+ //涓嶆槸浠庡ご鍔犺浇锛屽垹闄ゅ彲鑳戒笉瀹屾暣鐨勭涓�琛�
+ int skipCount = 0;
+ for (int i = 0; i < buffer.Length; i++)
+ {
+ if (buffer[i] == 10)
+ {
+ skipCount = i;
+ break;
+ }
+ }
+ if (skipCount != 0)
+ {
+ //鍘绘帀鎹㈣
+ skipCount++;
+ //涓嬫璇诲彇鍓嶅欢
+ startIndex += skipCount;
+ }
+ res = Encoding.UTF8.GetString(buffer.Skip(skipCount).ToArray());
+ }
+ else
+ {
+ res = Encoding.UTF8.GetString(buffer);
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ return content.Error(ex.Message);
+ }
+ return content.OK(data: new { content = res, isEnd, startIndex, len });
+ }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
index cf67cc5..b52ac3a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs"
@@ -48,8 +48,11 @@
//WCS鍏ュ簱鑾峰彇
WebResponseContent PalletInboundTask(WCSTaskDTO wCSTask);
+ //涓婁紶MES锛屾墜鍔ㄥ畬鎴�
WebResponseContent MESManualUpload(SaveModel saveModel);
+ //鎭㈠浠诲姟
+ WebResponseContent WMSTaskRecovery(SaveModel saveModel);
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
index e5c4308..7d330c6 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
@@ -108,7 +108,7 @@
/// </summary>
[ImporterHeader(Name = "浠撳簱涓婚敭")]
[ExporterHeader(DisplayName = "浠撳簱涓婚敭")]
- [SugarColumn(IsNullable = false, ColumnDescription = "浠撳簱涓婚敭")]
+ [SugarColumn(IsNullable = true, ColumnDescription = "浠撳簱涓婚敭")]
public int WarehouseId { get; set; }
/// <summary>
@@ -124,7 +124,7 @@
/// </summary>
[ImporterHeader(Name = "浼樺厛绾�")]
[ExporterHeader(DisplayName = "浼樺厛绾�")]
- [SugarColumn(IsNullable = false, ColumnDescription = "浼樺厛绾�")]
+ [SugarColumn(IsNullable = true, ColumnDescription = "浼樺厛绾�")]
public int Grade { get; set; }
/// <summary>
@@ -148,7 +148,7 @@
/// </summary>
[ImporterHeader(Name = "涓嬪彂娆℃暟")]
[ExporterHeader(DisplayName = "涓嬪彂娆℃暟")]
- [SugarColumn(IsNullable = false, ColumnDescription = "涓嬪彂娆℃暟")]
+ [SugarColumn(IsNullable = true, ColumnDescription = "涓嬪彂娆℃暟")]
public int NumberSsuances { get; set; }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs"
index c743093..7fa3926 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoService.cs"
@@ -1,8 +1,13 @@
锘縰sing AutoMapper;
+using Org.BouncyCastle.Crypto;
+using SqlSugar;
+using StackExchange.Profiling.Internal;
+using WIDESEA_Common.Log;
using WIDESEA_Common.StockEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
+using WIDESEA_Core.Utilities;
using WIDESEA_IStockService;
using WIDESEA_Model.Models;
@@ -39,5 +44,56 @@
return webResponse.Error($"搴撳瓨娣诲姞閿欒锛氬師鍥狅細{ex.Message}");
}
}*/
+
+
+ public virtual WebResponseContent DeleteData(object[] keys)
+ {
+ List<Dt_StockInfo> stodata = new List<Dt_StockInfo>();
+ try
+ {
+ if (typeof(Dt_StockInfo).GetNavigatePro() == null)
+ return BaseDal.DeleteDataByIds(keys) ? WebResponseContent.Instance.OK() : WebResponseContent.Instance.Error();
+ else
+ {
+ if (keys != null)
+ {
+ Type detailType = typeof(Dt_StockInfo).GetDetailType();
+ string name = typeof(Dt_StockInfo).GetMainIdByDetail();
+ List<object> dynamicDelKeys = new List<object>();
+
+ for (int i = 0; i < keys.Length; i++)
+ {
+ dynamicDelKeys.Add(keys[i]);
+ }
+ ((SqlSugarClient)BaseDal.Db).BeginTran();
+
+ foreach (var key in keys)
+ {
+ int idt = int.Parse(key.ToString());
+ stodata.Add(BaseDal.QueryData(x => x.Id == idt).FirstOrDefault());
+ }
+
+ if (dynamicDelKeys.Count > 0)
+ WriteLog.Write_Log("WMS_鍒犻櫎搴撳瓨", $"鍒犻櫎淇℃伅", "鎴愬姛", $"鍙傛暟锛歿stodata.ToJson()}");
+ BaseDal.Db.Deleteable<object>().AS(detailType.Name).Where($"{name} in (@id)", new { id = dynamicDelKeys.ToArray() }).ExecuteCommandHasChange();
+
+ BaseDal.DeleteDataByIds(keys);
+
+ ((SqlSugarClient)BaseDal.Db).CommitTran();
+
+ return WebResponseContent.Instance.OK();
+ }
+ else
+ {
+ return WebResponseContent.Instance.Error("鍙傛暟閿欒");
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ ((SqlSugarClient)BaseDal.Db).RollbackTran();
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs"
index 5747dac..c18b6ff 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/StockSerivce.cs"
@@ -4,6 +4,7 @@
using System.Text;
using System.Threading.Tasks;
using WIDESEA_IStockService;
+using WIDESEA_Model.Models;
namespace WIDESEA_StockService
{
@@ -23,5 +24,7 @@
StockInfoDetail_HtyService = stockInfoDetail_HtyService;
StockInfo_HtyService = stockInfo_HtyService;
}
+
+
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_LogService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_LogService.cs"
index 6b8859f..6aa86d3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_LogService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_LogService.cs"
@@ -15,5 +15,7 @@
public Sys_LogService(IRepository<Sys_Log> BaseDal) : base(BaseDal)
{
}
+
+
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs"
index d80d531..ddc2e8f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/MESTaskService.cs"
@@ -33,7 +33,7 @@
//鍏ュ簱锛岀┖鐩樺洖搴�
public ApiResponse AddInStoreDoc(MES_InTask mES_In)
{
- WriteLog.Write_Log("MES_鎺ユ敹MES鍏ュ簱浠诲姟涓嬪彂", $"浠诲姟鎺ユ敹鍙傛暟", "鎺ユ敹鍙傛暟", $"鍙傛暟锛歿mES_In.ToJson()}");
+ WriteLog.Write_Log("MES_鎺ユ敹鍏ュ簱浠诲姟涓嬪彂", $"浠诲姟鎺ユ敹鍙傛暟", "鎺ユ敹鍙傛暟", $"鍙傛暟锛歿mES_In.ToJson()}");
ApiResponse apiResponse = new ApiResponse();
try
{
@@ -120,13 +120,13 @@
BaseDal.AddData(task);
//_stockInfoService.Repository.AddData(dt_StockInfo);
_unitOfWorkManage.CommitTran();
- WriteLog.Write_Log("MES_鎺ユ敹MES鍏ュ簱浠诲姟涓嬪彂", $"鍙嶉淇℃伅", "鎴愬姛", $"浠诲姟娣诲姞鎴愬姛锛屾墭鐩樻潯鐮侊細{task.PalletCode}");
+ WriteLog.Write_Log("MES_鎺ユ敹鍏ュ簱浠诲姟涓嬪彂", $"鍙嶉淇℃伅", "鎴愬姛", $"浠诲姟娣诲姞鎴愬姛锛屾墭鐩樻潯鐮侊細{task.PalletCode}");
return apiResponse.OK();
}
catch (Exception ex)
{
_unitOfWorkManage.RollbackTran();
- WriteLog.Write_Log("MES_鎺ユ敹MES鍏ュ簱浠诲姟涓嬪彂", $"鍙嶉淇℃伅", "澶辫触", $"浠诲姟娣诲姞澶辫触锛屾墭鐩樻潯鐮侊細{mES_In.containerNo},绯荤粺鍑洪敊鍘熷洜锛歿ex.Message}");
+ WriteLog.Write_Log("MES_鎺ユ敹鍏ュ簱浠诲姟涓嬪彂", $"鍙嶉淇℃伅", "澶辫触", $"浠诲姟娣诲姞澶辫触锛屾墭鐩樻潯鐮侊細{mES_In.containerNo},绯荤粺鍑洪敊鍘熷洜锛歿ex.Message}");
return apiResponse.Error($"WMS浠诲姟娣诲姞閿欒锛屽師鍥狅細{ex.Message}");
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
index 4c5f053..4408ee1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs"
@@ -38,6 +38,7 @@
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Enums;
using WIDESEA_Core.Helper;
+using WIDESEA_Core.Utilities;
using WIDESEA_DTO.Inbound;
using WIDESEA_DTO.Task;
using WIDESEA_IBasicService;
@@ -99,28 +100,35 @@
return WebResponseContent.Instance.OK();
}
+
+ //鎵嬪姩锛屼换鍔′笂鎶�
+ #region
public WebResponseContent MESManualUpload(SaveModel saveModel)
{
WebResponseContent response = new WebResponseContent();
+ List<Dt_Task> stdata=new List<Dt_Task>();
try
{
foreach (var key in saveModel.DelKeys)
{
int taskId = int.Parse(key.ToString());
Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == taskId);
-
+
WebResponseContent taskResult = ProcessTask(task);
if (!taskResult.Status)
{
+ WriteLog.Write_Log("WMS_鎵嬪姩涓婃姤浠诲姟", $"浠诲姟涓婃姤", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode},", $"鍘熷洜锛歿taskResult.Message}");
return taskResult;
}
+ stdata.Add(task);
}
-
+ WriteLog.Write_Log("WMS_鎵嬪姩涓婃姤浠诲姟", $"浠诲姟涓婃姤", $"鎴愬姛", $"涓婃姤鐨勬暟鎹細{stdata.ToJson()}");
return response.OK("鎵�鏈変换鍔″鐞嗘垚鍔�");
}
catch (Exception ex)
{
+ WriteLog.Write_Log("WMS_鎵嬪姩涓婃姤浠诲姟", $"浠诲姟涓婃姤", $"澶辫触", $"WMS浠诲姟瀹屾垚閿欒锛歿ex.Message}");
return response.Error($"WMS浠诲姟瀹屾垚閿欒锛歿ex.Message}");
}
}
@@ -137,7 +145,7 @@
{
return response.Error($"浠诲姟绫诲瀷閿欒锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
- return HandleInboundTask(task,
+ return HandleInboundTask(task,
GetWcsType(task.TaskStatus,
(int)InTaskStatusEnum.InPLCException,
(int)InTaskStatusEnum.InSCException)
@@ -168,15 +176,18 @@
return 0;
}
+ #endregion
/// <summary>
/// 浠诲姟瀹屾垚鎺ュ彛
/// </summary>
/// <param name="wCSTask"></param>
/// <returns></returns>
+
+ #region 浠诲姟瀹屾垚
public WebResponseContent TaskCompleted(WCSTaskDTO wCSTask)
{
- WebResponseContent webResponse= new WebResponseContent();
+ WebResponseContent webResponse = new WebResponseContent();
try
{
Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == wCSTask.TaskNum && x.PalletCode == wCSTask.PalletCode);
@@ -190,7 +201,7 @@
}
}
- public WebResponseContent TaskCompletedtask(Dt_Task task,int wcstype)
+ public WebResponseContent TaskCompletedtask(Dt_Task task, int wcstype)
{
WebResponseContent webResponse = new WebResponseContent();
try
@@ -226,7 +237,7 @@
if (string.IsNullOrEmpty(task.TargetAddress))
{
- if(task.TaskStatus == (int)InTaskStatusEnum.PLC_InExecuting || task.TaskStatus == (int)InTaskStatusEnum.InPLCException)
+ if (task.TaskStatus == (int)InTaskStatusEnum.PLC_InExecuting || task.TaskStatus == (int)InTaskStatusEnum.InPLCException)
{
int loctype = 0;
if (task.Roadway == "1" || task.Roadway == "2")
@@ -241,13 +252,22 @@
//鏌ユ壘璐т綅锛屾洿鏂颁换鍔�
Dt_LocationInfo dt_Location = _locationInfoService.GetLocation(task.Roadway, loctype);
- if(dt_Location==null) return content.Error($"鏈壘鍒拌璐т綅淇℃伅,鎵樼洏缂栧彿锛歿task.PalletCode}");
+ if (dt_Location == null)
+ {
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"鏈壘鍒拌璐т綅淇℃伅,鎵樼洏缂栧彿锛歿task.PalletCode}");
+ return content.Error($"鏈壘鍒拌璐т綅淇℃伅,鎵樼洏缂栧彿锛歿task.PalletCode}");
+ }
Dt_LocationInfo ShallowCargoHold = _locationInfoService.ShallowGetLocation(dt_Location.RoadwayNo, dt_Location.LocationType, dt_Location.Row, dt_Location.Layer, dt_Location.Column);
- if (ShallowCargoHold == null) return content.Error($"鏈壘鍒拌璐т綅淇℃伅,璐т綅缂栧彿:{dt_Location.LocationCode}鐨勬祬璐т綅");
+ if (ShallowCargoHold == null)
+ {
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"鏈壘鍒拌璐т綅淇℃伅,璐т綅缂栧彿:{dt_Location.LocationCode}鐨勬祬璐т綅");
+ return content.Error($"鏈壘鍒拌璐т綅淇℃伅,璐т綅缂栧彿:{dt_Location.LocationCode}鐨勬祬璐т綅");
+ }
if (ShallowCargoHold.LocationStatus != (int)LocationStatusEnum.Free) return content.Error($"浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode},鏌ユ壘鐨勮揣浣嶆祬璐т綅鏈夎揣锛岃揣浣嶇紪鍙凤細{ShallowCargoHold.LocationCode}");
if (task.PalletCode[0] == 1 && (dt_Location.RoadwayNo == "1" || dt_Location.RoadwayNo == "2") && dt_Location.Column < 4)
{
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触,鎵樼洏鏉$爜锛歿task.PalletCode},璐т綅缂栧彿:{dt_Location.LocationCode}", $"鏉$爜涓洪珮鎵樼洏锛屼絾鏄煡鎵剧殑璐т綅瑕佸叆鍦ㄤ綆鎵樼洏涓�");
return content.Error($"鏉$爜涓洪珮鎵樼洏锛屼絾鏄煡鎵剧殑璐т綅瑕佸叆鍦ㄤ綆鎵樼洏涓嬶紝鏁呴殰,鎵樼洏鏉$爜锛歿task.PalletCode},璐т綅缂栧彿:{dt_Location.LocationCode}");
}
@@ -270,21 +290,24 @@
dt_StockInfo.Creater = "MWS";
dt_StockInfo.CreateDate = DateTime.Now;
dt_StockInfo.Roadway = task.Roadway;
-
+
_unitOfWorkManage.BeginTran();
_stockInfoService.AddData(dt_StockInfo);
_locationInfoService.UpdateData(dt_Location);
BaseDal.UpdateData(task);
_unitOfWorkManage.CommitTran();
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"宸叉帴鏀跺叆搴撹緭閫佺嚎瀹屾垚淇℃伅,娣诲姞搴撳瓨淇℃伅锛歿dt_StockInfo.ToJson()}锛屼慨鏀硅揣浣嶏細{dt_Location.ToJson()}");
+
return content.OK($"宸叉帴鏀跺叆搴撹緭閫佺嚎瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
else
{
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄緭閫佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
return content.Error("涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄緭閫佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
}
-
+
}
else
{
@@ -299,22 +322,22 @@
_unitOfWorkManage.BeginTran();
BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
_unitOfWorkManage.CommitTran();
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎鐐瑰埌鐐瑰畬鎴�", $"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"杈撻�佺嚎浠诲姟宸插弽棣堣嚦涓婃父");
return content.OK($"杈撻�佺嚎浠诲姟宸插弽棣堣嚦涓婃父锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
else
{
- task.NumberSsuances = task.NumberSsuances + 1;
- if (task.NumberSsuances == 3)
- {
- task.TaskStatus = (int)InTaskStatusEnum.InPLCException;
- task.Remark = "杈撻�佺嚎鍏ュ簱锛氫笂浼燤ES澶辫触锛屽師鍥狅細" + mES_PCLParameter.ResultMsg;
- BaseDal.UpdateData(task);
- }
+ task.NumberSsuances = 3;
+ task.TaskStatus = (int)InTaskStatusEnum.InPLCException;
+ task.Remark = "杈撻�佺嚎鍏ュ簱锛氫笂浼燤ES澶辫触锛屽師鍥狅細" + mES_PCLParameter.ResultMsg;
+ BaseDal.UpdateData(task);
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎鐐瑰埌鐐瑰畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"杈撻�佺嚎浠诲姟宸插弽棣堣嚦涓婃父");
return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_PCLParameter.ResultMsg);
}
}
else
{
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"杈撻�佺嚎鐐瑰埌鐐瑰畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄緭閫佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
return content.Error($"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄緭閫佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
@@ -339,32 +362,35 @@
_locationInfoService.UpdateData(dt_LocationInfo);
BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
_unitOfWorkManage.CommitTran();
+
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"淇敼鍚庣殑搴撳瓨锛歿dt_Stockowc.ToJson()},淇敼鍚庣殑搴撲綅淇℃伅锛歿dt_LocationInfo.ToJson()}");
return content.OK($"宸叉帴鏀跺叆搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
else
{
- task.NumberSsuances = task.NumberSsuances + 1;
- if (task.NumberSsuances == 3)
- {
- task.TaskStatus = (int)InTaskStatusEnum.InSCException;
- task.Remark = "鍫嗗灈鏈哄叆搴擄紝涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
- BaseDal.UpdateData(task);
- }
+ task.NumberSsuances = 3;
+ task.TaskStatus = (int)InTaskStatusEnum.InSCException;
+ task.Remark = "鍫嗗灈鏈哄叆搴擄紝涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
+ BaseDal.UpdateData(task);
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婁紶MES澶辫触锛屽師鍥狅細{mES_Parameter.ResultMsg}");
return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
}
}
else
{
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄爢鍨涙満鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
return content.Error($"涓婃姤澶辫触锛屽綋鍓嶄换鍔′笉鏄爢鍨涙満鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
-
+
default:
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
return content.Error($"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
}
}
catch (Exception ex)
{
_unitOfWorkManage.RollbackTran();
+ WriteLog.Write_Log("WCS_鍏ュ簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触,浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
return content.Error($"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
}
}
@@ -377,7 +403,7 @@
switch (wcsTaskType)
{
case 1:
- if(task.TaskStatus == (int)OutTaskStatusEnum.PLC_OutExecuting || task.TaskStatus == (int)OutTaskStatusEnum.OutPLCException)
+ if (task.TaskStatus == (int)OutTaskStatusEnum.PLC_OutExecuting || task.TaskStatus == (int)OutTaskStatusEnum.OutPLCException)
{
string Resultplc = MesOutTaskStatusEnum.Finish.GetDescription();
//涓婃姤MES浠诲姟瀹屾垚
@@ -386,26 +412,27 @@
{
task.TaskStatus = (int)OutTaskStatusEnum.PLC_OutFinish;
BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
+
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚",$"鎴愬姛,浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"宸叉帴鏀跺嚭搴撹緭閫佺嚎瀹屾垚淇℃伅");
return content.OK($"宸叉帴鏀跺嚭搴撹緭閫佺嚎瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
else
{
- task.NumberSsuances = task.NumberSsuances + 1;
- if (task.NumberSsuances == 3)
- {
- task.TaskStatus = (int)OutTaskStatusEnum.OutPLCException;
- task.Remark = "鍑哄簱锛岃緭閫佺嚎涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
- BaseDal.UpdateData(task);
- }
+ task.NumberSsuances =3;
+ task.TaskStatus = (int)OutTaskStatusEnum.OutPLCException;
+ task.Remark = "鍑哄簱锛岃緭閫佺嚎涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
+ BaseDal.UpdateData(task);
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婁紶MES澶辫触锛屽師鍥狅細{mES_Parameter.ResultMsg}");
return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
}
}
else
{
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"杈撻�佺嚎瀹屾垚", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸杈撻�佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触");
return content.Error($"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸杈撻�佺嚎鎵ц涓紝WCS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
-
+
case 2:
if (task.TaskStatus == (int)OutTaskStatusEnum.SC_OutExecuting || task.TaskStatus == (int)OutTaskStatusEnum.OutSCException)
@@ -430,32 +457,35 @@
_locationInfoService.UpdateData(dt_LocationInfo);
BaseDal.UpdateData(task);
_unitOfWorkManage.CommitTran();
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�",$"鎴愬姛锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"鍒犻櫎鐨勫簱瀛橈細{dt_Stockowc.ToJson()},淇敼鐨勮揣浣嶏細{dt_LocationInfo.ToJson()}");
+
return content.OK($"宸叉帴鏀跺嚭搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
else
{
- task.NumberSsuances = task.NumberSsuances + 1;
- if (task.NumberSsuances == 3)
- {
- task.TaskStatus = (int)OutTaskStatusEnum.OutSCException;
- task.Remark = "鍫嗗灈鏈哄嚭搴擄細涓婁紶MES澶辫触锛屽師鍥狅細" + mES_SCParameter.ResultMsg;
- BaseDal.UpdateData(task);
- }
+ task.NumberSsuances = 3;
+ task.TaskStatus = (int)OutTaskStatusEnum.OutSCException;
+ task.Remark = "鍫嗗灈鏈哄嚭搴擄細涓婁紶MES澶辫触锛屽師鍥狅細" + mES_SCParameter.ResultMsg;
+ BaseDal.UpdateData(task);
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婁紶MES澶辫触锛屽師鍥狅細{mES_SCParameter.ResultMsg}");
return content.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_SCParameter.ResultMsg);
}
}
else
{
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触,浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸鍫嗗灈鏈烘墽琛屼腑锛學CS涓婃姤瀹屾垚澶辫触");
return content.Error($"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸鍫嗗灈鏈烘墽琛屼腑锛學CS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
-
+
default:
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
return content.Error($"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
}
}
catch (Exception ex)
{
_unitOfWorkManage.RollbackTran();
+ WriteLog.Write_Log("WCS_鍑哄簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
return content.Error($"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
}
}
@@ -467,7 +497,7 @@
{
if (wcsTaskType == 2)
{
- if(task.TaskStatus == (int)RelocationTaskStatusEnum.RelocationExecuting)
+ if (task.TaskStatus == (int)RelocationTaskStatusEnum.RelocationExecuting)
{
//涓婃姤MES浠诲姟瀹屾垚
MES_parameter mES_Parameter = AbnormalStorageLocation(task.PalletCode, task.SourceAddress, task.TargetAddress);
@@ -494,43 +524,149 @@
BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚);
_unitOfWorkManage.CommitTran();
+ WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"鎴愬姛,浠诲姟鍙凤細{task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"淇敼鐨勮揣浣嶏細{dt_Locations.ToJson()},淇敼鐨勫簱瀛橈細{dt_StockInfo.ToJson()}");
return responseContent.OK($"宸叉帴鏀剁Щ搴撳爢鍨涙満瀹屾垚淇℃伅锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
else
{
- task.NumberSsuances = task.NumberSsuances + 1;
- if (task.NumberSsuances == 3)
- {
- task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationException;
- task.Remark = "绉诲簱锛屼笂浼燤ES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
- BaseDal.UpdateData(task);
- }
+ task.NumberSsuances = 3;
+ task.TaskStatus = (int)RelocationTaskStatusEnum.RelocationException;
+ task.Remark = "绉诲簱锛屼笂浼燤ES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg;
+ BaseDal.UpdateData(task);
+ WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婁紶MES澶辫触锛屽師鍥狅細{mES_Parameter.ResultMsg}");
return responseContent.Error("涓婁紶MES澶辫触锛屽師鍥狅細" + mES_Parameter.ResultMsg);
}
}
else
{
+ WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸鍫嗗灈鏈烘墽琛屼腑锛學CS涓婃姤瀹屾垚澶辫触");
return responseContent.Error($"涓婃姤澶辫触锛學MS褰撳墠浠诲姟涓嶆槸鍫嗗灈鏈烘墽琛屼腑锛學CS涓婃姤瀹屾垚澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}");
}
-
+
}
else
{
+ WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
return responseContent.Error($"WCS涓婃姤绫诲瀷閿欒锛歿wcsTaskType}");
}
}
catch (Exception ex)
{
_unitOfWorkManage.RollbackTran();
+ WriteLog.Write_Log("WCS_绉诲簱_涓婃姤瀹屾垚", $"鍫嗗灈鏈哄畬鎴�", $"澶辫触锛屼换鍔″彿锛歿task.TaskId},鎵樼洏缂栧彿锛歿task.PalletCode}", $"WCS浠诲姟瀹屾垚鎺ュ彛鏁呴殰锛屽師鍥狅細{ex.Message}");
return responseContent.Error($"WMS绯荤粺閿欒锛屽師鍥狅細{ex.Message}");
}
-
+
+ }
+
+ #endregion
+
+
+
+ //浠诲姟浠诲姟鎭㈠
+ public WebResponseContent WMSTaskRecovery(SaveModel saveModel)
+ {
+ WebResponseContent response = new WebResponseContent();
+ List<Dt_Task> dt_Task = new List<Dt_Task>();
+ try
+ {
+ foreach (var key in saveModel.DelKeys)
+ {
+ int taskId = int.Parse(key.ToString());
+ Dt_Task task = BaseDal.QueryFirst(x => x.TaskId == taskId);
+ if (task == null)
+ return response.Error("鏈壘鍒颁换鍔′俊鎭�");
+ task.NumberSsuances = 0;
+ task.Remark = "";
+ dt_Task.Add(task);
+ }
+ bool updatetask= BaseDal.UpdateData(dt_Task);
+ if (updatetask)
+ {
+ WriteLog.Write_Log("WMS_浠诲姟鎭㈠", $"WMS_浠诲姟鎭㈠", "淇敼鎴愬姛", $"淇敼鐨勬暟鎹細{dt_Task.ToJson()}");
+ return response.OK("鎵�鏈変换鍔″鐞嗘垚鍔�");
+ }
+ else
+ {
+ WriteLog.Write_Log("WMS_浠诲姟鎭㈠", $"WMS_浠诲姟鎭㈠", "淇敼澶辫触", $"淇敼鐨勬暟鎹細{dt_Task.ToJson()}");
+ return response.Error("澶勭悊澶辫触锛屼慨鏀逛换鍔″け璐�");
+ }
+
+
+ }
+ catch (Exception ex)
+ {
+ WriteLog.Write_Log("WMS_浠诲姟鎭㈠", $"WMS_浠诲姟鎭㈠", "淇敼澶辫触", $"淇敼鐨勬暟鎹細{dt_Task.ToJson()}锛屽け璐ュ師鍥狅細{ex.Message}");
+ return response.Error($"WMS浠诲姟鎭㈠閿欒锛歿ex.Message}");
+ }
}
+ public virtual WebResponseContent UpdateData(SaveModel saveModel)
+ {
+ try
+ {
+ List<string>? list = UpdateIgnoreColOnExecute?.Invoke(saveModel);
+ if (saveModel == null || saveModel.MainData == null || saveModel.MainData.Count == 0)//鍒ゆ柇鍙傛暟鏄惁浼犲叆
+ {
+ return WebResponseContent.Instance.Error("浼犲弬閿欒,鍙傛暟涓嶈兘涓虹┖");
+ }
+ string validResult = typeof(Dt_Task).ValidateDicInEntity(saveModel.MainData, false, TProperties, list?.ToArray() ?? null);
+ if (!string.IsNullOrEmpty(validResult))
+ {
+ return WebResponseContent.Instance.Error(validResult);
+ }
-
+ PropertyInfo keyPro = typeof(Dt_Task).GetKeyProperty();
+ if (keyPro == null)
+ {
+ return WebResponseContent.Instance.Error("璇峰厛璁剧疆涓婚敭");
+ }
+ Dt_Task entity = saveModel.MainData.DicToModel<Dt_Task>();
+ Dt_Task Dt_Custask= BaseDal.QueryFirst(x=>x.TaskId==entity.TaskId);
+
+ List<string> listCol = new List<string>();
+ foreach (var item in saveModel.MainData)
+ {
+ PropertyInfo? propertyInfo = typeof(Dt_Task).GetProperty(item.Key);
+ if (propertyInfo == null)
+ {
+ propertyInfo = typeof(Dt_Task).GetProperty(item.Key.FirstLetterToLower());
+ if (propertyInfo == null)
+ {
+ propertyInfo = typeof(Dt_Task).GetProperty(item.Key.FirstLetterToUpper());
+ }
+ }
+
+ listCol.Add(propertyInfo?.Name);
+ }
+
+ if (saveModel.DetailData == null || saveModel.DetailData.Count == 0)
+ {
+ if (list != null)
+ listCol = listCol.Where(x => !list.Contains(x)).ToList();
+ bool result = BaseDal.UpdateData(entity, listCol, list);
+ WriteLog.Write_Log("WMS_浠诲姟淇敼", $"浠诲姟淇敼", $"浠诲姟缂栧彿:{entity.TaskId},鎵樼洏鏉$爜锛歿entity.PalletCode},鏄惁鎴愬姛锛歿result}", $"鍘熸潵鏁版嵁锛歿Dt_Custask.ToJson()}======>>>>>>淇敼鍚庣殑鏁版嵁锛歿entity.ToJson()}");
+ return WebResponseContent.Instance.OK();
+ }
+
+ if (typeof(Dt_Task).GetNavigatePro() == null)
+ {
+ return WebResponseContent.Instance.Error("鏈厤缃鑸睘鎬�");
+ }
+
+ Type detailType = typeof(Dt_Task).GetDetailType();
+ MethodInfo? methodInfo = GetType().GetMethod("UpdateDataInculdesDetail");
+ methodInfo = methodInfo?.MakeGenericMethod(new Type[] { detailType });
+ object? obj = methodInfo?.Invoke(this, new object[] { entity, detailType, saveModel.DetailData, saveModel.DelKeys });
+ return obj as WebResponseContent;
+ }
+ catch (Exception ex)
+ {
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WCSTaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WCSTaskService.cs"
index cd82295..af9691a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WCSTaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WCSTaskService.cs"
@@ -88,7 +88,7 @@
public WebResponseContent PalletInboundTask(WCSTaskDTO wCSTask)
{
- WriteLog.Write_Log("杈撻�佺嚎璇锋眰鍏ュ簱", $"浠诲姟淇℃伅", "鎺ユ敹鍙傛暟", $"鍙傛暟锛歿wCSTask.ToJson()}");
+ WriteLog.Write_Log("WCS_杈撻�佺嚎璇锋眰鍏ュ簱", $"浠诲姟淇℃伅", "鎺ユ敹鍙傛暟", $"鍙傛暟锛歿wCSTask.ToJson()}");
WebResponseContent webResponse = new WebResponseContent();
try
{
@@ -127,7 +127,7 @@
//杩涜淇敼鏁版嵁搴�
BaseDal.UpdateData(task);
- WriteLog.Write_Log("杈撻�佺嚎璇锋眰鍏ュ簱", $"浠诲姟淇℃伅", "杩斿洖杈撻�佺嚎浠诲姟淇℃伅", $"杩斿洖缁欒緭閫佺嚎鐨勪换鍔′俊鎭細{wcstaskinfo.ToJson()}");
+ WriteLog.Write_Log("WCS_杈撻�佺嚎璇锋眰鍏ュ簱", $"浠诲姟淇℃伅", "杩斿洖杈撻�佺嚎浠诲姟淇℃伅", $"杩斿洖缁欒緭閫佺嚎鐨勪换鍔′俊鎭細{wcstaskinfo.ToJson()}");
return webResponse.OK(data: wcstaskinfo);
}
else
@@ -143,7 +143,7 @@
}
catch (Exception ex)
{
- WriteLog.Write_Log("杈撻�佺嚎璇锋眰鍏ュ簱", $"浠诲姟淇℃伅", "澶辫触", $"浠诲姟鑾峰彇澶辫触锛寃ms绯荤粺鏁呴殰锛屽師鍥狅細{ex.Message}");
+ WriteLog.Write_Log("WCS_杈撻�佺嚎璇锋眰鍏ュ簱", $"浠诲姟淇℃伅", "澶辫触", $"浠诲姟鑾峰彇澶辫触锛寃ms绯荤粺鏁呴殰锛屽師鍥狅細{ex.Message}");
return webResponse.Error("浠诲姟鑾峰彇澶辫触锛寃ms绯荤粺鏁呴殰锛屽師鍥狅細" + ex.Message);
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WMSCruJob.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WMSCruJob.cs"
index 6b305e7..f186aaf 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WMSCruJob.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/WMSCruJob.cs"
@@ -303,6 +303,7 @@
string Locationcodeadd = dt_Task.TaskType == (int)TaskTypeEnum.Inbound ? dt_Task.NextAddress: dt_Task.CurrentAddress ;
Dt_LocationInfo dt_Location = _locationInfoService.Repository.QueryData(x => x.LocationCode == Locationcodeadd).FirstOrDefault();
+ if(dt_Location == null) { return content.Error("鏈兘鏌ユ壘鍒板簱浣�"); }
if (dt_Location.Depth == 1 || dt_Location.RoadwayNo == "5") return content.OK();
int locrow = judgmentRow(dt_Location.RoadwayNo, dt_Location.Row);
Dt_LocationInfo shallowLocation = _locationInfoService.Repository.QueryData(x => x.RoadwayNo == dt_Location.RoadwayNo && x.Row == locrow && x.Layer == dt_Location.Layer && x.Column == dt_Location.Column).FirstOrDefault();
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs"
index c62202f..6d50f95 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Basic/LocationInfoController.cs"
@@ -25,6 +25,22 @@
{
}
-
+ /// <summary>
+ /// 鑾峰彇宸烽亾
+ /// </summary>
+ [HttpGet, Route("GetArea"), AllowAnonymous]
+ public WebResponseContent GetArea()
+ {
+ return Service.GetArea();
+ }
+ /// <summary>
+ /// 鑾峰彇璐т綅淇℃伅
+ /// </summary>
+ [HttpGet, Route("GetLocationStatus"), AllowAnonymous]
+ public WebResponseContent GetLocationStatus(int WarehouseId, string RoadwayNo)
+ {
+ return Service.GetLocationStatus(WarehouseId, RoadwayNo);
+ }
+
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_LogController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_LogController.cs"
index 3cd2f46..e35fb87 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_LogController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/System/Sys_LogController.cs"
@@ -1,5 +1,7 @@
-锘縰sing Microsoft.AspNetCore.Http;
+锘縰sing Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
+using WIDESEA_Core;
using WIDESEA_Core.BaseController;
using WIDESEA_ISystemService;
using WIDESEA_Model.Models;
@@ -16,5 +18,17 @@
public Sys_LogController(ISys_LogService service) : base(service)
{
}
+
+ [HttpPost, Route("GetLogList"), AllowAnonymous]
+ public WebResponseContent GetLogList()
+ {
+ return Service.GetLogList();
+ }
+
+ [HttpPost, Route("GetLogData"), AllowAnonymous]
+ public WebResponseContent GetLogData([FromBody] GetLogParm parm)
+ {
+ return Service.GetLogData(parm);
+ }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
index 840ae9c..db0c3f2 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs"
@@ -48,5 +48,11 @@
{
return Service.MESManualUpload(saveModel);
}
+
+ [HttpPost, Route("WMSTaskRecovery"), AllowAnonymous]
+ public WebResponseContent WMSTaskRecovery([FromBody] SaveModel saveModel)
+ {
+ return Service.WMSTaskRecovery(saveModel);
+ }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/WMS_\344\273\273\345\212\241\346\201\242\345\244\215/2026-01-21/WMS_\344\273\273\345\212\241\346\201\242\345\244\215260121.txt" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/WMS_\344\273\273\345\212\241\346\201\242\345\244\215/2026-01-21/WMS_\344\273\273\345\212\241\346\201\242\345\244\215260121.txt"
new file mode 100644
index 0000000..9a756a0
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/WMS_\344\273\273\345\212\241\346\201\242\345\244\215/2026-01-21/WMS_\344\273\273\345\212\241\346\201\242\345\244\215260121.txt"
@@ -0,0 +1,5 @@
+2026/1/21 15:29:45.588
+淇敼鎴愬姛
+"淇敼鐨勬暟鎹細[{\"TaskId\":77,\"TaskNum\":\"SD202601210942100001\",\"PalletCode\":\"1010000096\",\"PalletType\":\"1\",\"Roadway\":\"1\",\"TaskType\":200,\"TaskStatus\":999,\"SourceAddress\":\"1103\",\"TargetAddress\":\"YMYL00100401801\",\"CurrentAddress\":\"YMYL00103700220\",\"NextAddress\":\"YMYL00101800401\",\"WarehouseId\":1,\"OrderNo\":\"2026/1/21 9:42:10\",\"Grade\":1,\"Dispatchertime\":null,\"Remark\":\"\",\"NumberSsuances\":0,\"Creater\":\"\",\"CreateDate\":\"2026-01-21T09:42:10\",\"Modifier\":\"admin\",\"ModifyDate\":\"2026-01-21T15:29:45.5205361+08:00\"},{\"TaskId\":76,\"TaskNum\":\"SD202601210939470001\",\"PalletCode\":\"1010000097\",\"PalletType\":\"1\",\"Roadway\":\"1\",\"TaskType\":200,\"TaskStatus\":999,\"SourceAddress\":\"1101\",\"TargetAddress\":\"YMYL00100101801\",\"CurrentAddress\":\"YMYL00103700220\",\"NextAddress\":\"YMYL00101800101\",\"WarehouseId\":1,\"OrderNo\":\"2026/1/21 9:39:47\",\"Grade\":1,\"Dispatchertime\":null,\"Remark\":\"\",\"NumberSsuances\":0,\"Creater\":\"\",\"CreateDate\":\"2026-01-21T09:39:48\",\"Modifier\":\"admin\",\"ModifyDate\":\"2026-01-21T15:29:45.5257376+08:00\"}]"
+-------------------------------
+
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/WMS_\344\273\273\345\212\241\347\212\266\346\200\201\344\277\256\346\224\271/2026-01-22/\344\273\273\345\212\241\344\277\256\346\224\271260122.txt" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/WMS_\344\273\273\345\212\241\347\212\266\346\200\201\344\277\256\346\224\271/2026-01-22/\344\273\273\345\212\241\344\277\256\346\224\271260122.txt"
new file mode 100644
index 0000000..c82bf4d
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/WMS_\344\273\273\345\212\241\347\212\266\346\200\201\344\277\256\346\224\271/2026-01-22/\344\273\273\345\212\241\344\277\256\346\224\271260122.txt"
@@ -0,0 +1,20 @@
+2026/1/22 15:29:53.403
+浠诲姟缂栧彿:135,鎵樼洏鏉$爜锛�1010000054,鏄惁鎴愬姛锛歍rue
+"涓嬪彂鐨勫弬鏁帮細"
+-------------------------------
+
+2026/1/22 15:30:08.163
+浠诲姟缂栧彿:135,鎵樼洏鏉$爜锛�1010000054,鏄惁鎴愬姛锛歍rue
+"涓嬪彂鐨勫弬鏁帮細"
+-------------------------------
+
+2026/1/22 15:34:58.131
+浠诲姟缂栧彿:135,鎵樼洏鏉$爜锛�1010000054,鏄惁鎴愬姛锛歍rue
+"涓嬪彂鐨勫弬鏁帮細"
+-------------------------------
+
+2026/1/22 15:40:50.429
+浠诲姟缂栧彿:135,鎵樼洏鏉$爜锛�1010000054,鏄惁鎴愬姛锛歍rue
+"鍘熸潵鏁版嵁锛歿\"TaskId\":135,\"TaskNum\":\"SD202601221416060001\",\"PalletCode\":\"1010000054\",\"PalletType\":\"1\",\"Roadway\":\"2\",\"TaskType\":200,\"TaskStatus\":200,\"SourceAddress\":\"1103\",\"TargetAddress\":null,\"CurrentAddress\":\"1103\",\"NextAddress\":\"1108\",\"WarehouseId\":0,\"OrderNo\":\"2026/1/22 14:16:06\",\"Grade\":1,\"Dispatchertime\":null,\"Remark\":null,\"NumberSsuances\":0,\"Creater\":\"\",\"CreateDate\":\"2026-01-22T14:16:07\",\"Modifier\":\"\",\"ModifyDate\":\"2026-01-22T14:16:34\"},,,\n\r淇敼鍚庣殑鏁版嵁锛歿\"TaskId\":135,\"TaskNum\":\"SD202601221416060001\",\"PalletCode\":\"1010000054\",\"PalletType\":\"1\",\"Roadway\":\"2\",\"TaskType\":200,\"TaskStatus\":200,\"SourceAddress\":\"1103\",\"TargetAddress\":\"222\",\"CurrentAddress\":\"1103\",\"NextAddress\":\"1108\",\"WarehouseId\":0,\"OrderNo\":null,\"Grade\":0,\"Dispatchertime\":null,\"Remark\":null,\"NumberSsuances\":0,\"Creater\":\"\",\"CreateDate\":\"2026-01-22T14:16:07+08:00\",\"Modifier\":\"admin\",\"ModifyDate\":\"2026-01-22T15:40:50.375379+08:00\"}"
+-------------------------------
+
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/WMS_\345\210\240\351\231\244\345\272\223\345\255\230/2026-01-22/\345\210\240\351\231\244\344\277\241\346\201\257260122.txt" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/WMS_\345\210\240\351\231\244\345\272\223\345\255\230/2026-01-22/\345\210\240\351\231\244\344\277\241\346\201\257260122.txt"
new file mode 100644
index 0000000..70f786f
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Log/WMS_\345\210\240\351\231\244\345\272\223\345\255\230/2026-01-22/\345\210\240\351\231\244\344\277\241\346\201\257260122.txt"
@@ -0,0 +1,25 @@
+2026/1/22 11:49:52.430
+鎴愬姛
+"鍙傛暟锛歔{\"Id\":70,\"PalletCode\":\"2020000020\",\"PalletType\":\"2\",\"LocationCode\":\"YMYL00100300301\",\"WarehouseId\":1,\"StockStatus\":2,\"Roadway\":\"1\",\"Creater\":\"\",\"CreateDate\":\"2026-01-21T10:21:24\",\"Modifier\":\"\",\"ModifyDate\":\"2026-01-21T10:22:15\"}]"
+-------------------------------
+
+2026/1/22 11:49:56.456
+鎴愬姛
+"鍙傛暟锛歔null,{\"Id\":69,\"PalletCode\":\"2020000009\",\"PalletType\":\"2\",\"LocationCode\":\"YMYL00100200301\",\"WarehouseId\":1,\"StockStatus\":2,\"Roadway\":\"1\",\"Creater\":\"\",\"CreateDate\":\"2026-01-21T10:17:45\",\"Modifier\":\"\",\"ModifyDate\":\"2026-01-21T10:18:33\"}]"
+-------------------------------
+
+2026/1/22 11:52:32.402
+鎴愬姛
+"鍙傛暟锛歔{\"Id\":69,\"PalletCode\":\"2020000009\",\"PalletType\":\"2\",\"LocationCode\":\"YMYL00100200301\",\"WarehouseId\":1,\"StockStatus\":2,\"Roadway\":\"1\",\"Creater\":\"\",\"CreateDate\":\"2026-01-21T10:17:45\",\"Modifier\":\"\",\"ModifyDate\":\"2026-01-21T10:18:33\"}]"
+-------------------------------
+
+2026/1/22 11:52:46.417
+鎴愬姛
+"鍙傛暟锛歔{\"Id\":68,\"PalletCode\":\"2020000003\",\"PalletType\":\"2\",\"LocationCode\":\"YMYL00100400301\",\"WarehouseId\":1,\"StockStatus\":2,\"Roadway\":\"1\",\"Creater\":\"\",\"CreateDate\":\"2026-01-21T10:13:05\",\"Modifier\":\"\",\"ModifyDate\":\"2026-01-21T10:14:00\"}]"
+-------------------------------
+
+2026/1/22 11:52:53.41
+鎴愬姛
+"鍙傛暟锛歔{\"Id\":67,\"PalletCode\":\"2020000004\",\"PalletType\":\"2\",\"LocationCode\":\"YMYL00100300201\",\"WarehouseId\":1,\"StockStatus\":2,\"Roadway\":\"1\",\"Creater\":\"\",\"CreateDate\":\"2026-01-21T10:10:56\",\"Modifier\":\"\",\"ModifyDate\":\"2026-01-21T10:11:44\"}]"
+-------------------------------
+
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/WMS\345\272\223\344\275\215\347\274\226\347\240\201/\346\235\276\350\241\245\346\226\2311-4\345\210\22712\345\261\202\350\264\247\346\236\266.xls" "b/\351\241\271\347\233\256\350\265\204\346\226\231/WMS\345\272\223\344\275\215\347\274\226\347\240\201/\346\235\276\350\241\245\346\226\2311-4\345\210\22712\345\261\202\350\264\247\346\236\266.xls"
new file mode 100644
index 0000000..10ebe71
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/WMS\345\272\223\344\275\215\347\274\226\347\240\201/\346\235\276\350\241\245\346\226\2311-4\345\210\22712\345\261\202\350\264\247\346\236\266.xls"
Binary files differ
--
Gitblit v1.9.3