From 5336bfc54525253a30f1f8238806d3a67f388e14 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期五, 21 十一月 2025 15:12:03 +0800
Subject: [PATCH] 优化接口,增加字段等
---
项目代码/BigScreen/src/router/index.js | 2
项目代码/WMS/WMSServices/WIDESEA_OutboundService/OutStockLockInfoService.cs | 6
项目代码/WMS/WMSServices/WIDESEA_OutboundService/OutLineViewService.cs | 7
项目代码/WCS/WCSServices/WIDESEAWCS_DTO/MESResponse.cs | 27 +
项目代码/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs | 28 +
项目代码/WMS/WMSServices/WIDESEA_IInboundService/IMESProInOrderInfoService.cs | 6
项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs | 51 ++
项目代码/WCS/WCSServices/WIDESEAWCS_Tasks/成品仓/ConveyorLineJob_CPH.cs | 87 +---
项目代码/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutMESOrder.cs | 12
项目代码/WMS/WMSServices/WIDESEA_External/Model/MESDeliveryModel.cs | 4
项目代码/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService_Inbound.cs | 4
项目代码/WMS/WMSServices/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs | 21 +
项目代码/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs | 120 ++++++
项目代码/WMS/WMSServices/WIDESEA_InboundService/MESProInOrderInfoService.cs | 117 +++----
项目代码/WMS/WMSServices/WIDESEA_WMSServer/Controllers/MES/MesController.cs | 4
项目代码/WMS/WMSServices/WIDESEA_DTO/ERP/SGOutOrderDTO.cs | 12
项目代码/WMS/WMSServices/WIDESEA_WMSServer/appsettings.json | 2
项目代码/WCS/WCSServices/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs | 8
项目代码/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutSGOrderDetail.cs | 6
项目代码/WCS/WCSServices/WIDESEAWCS_Common/APIEnum/APIEnum.cs | 7
项目代码/BigScreen/package-lock.json | 12
项目资料/接口协议/龙利得MES接口.xlsx | 0
项目代码/WMS/WMSServices/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs | 6
项目代码/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutSGOrder.cs | 6
项目代码/WMS/WMSServices/WIDESEA_StockService/StockInfoService.cs | 5
项目代码/WMS/WMSServices/WIDESEA_OutboundService/OutSGOrderService.cs | 50 ++
项目代码/WMS/WMSServices/WIDESEA_DTO/MES/MESReturnIssueDTO.cs | 21
项目代码/WMS/WMSServices/WIDESEA_DTO/Task/WMSTaskDTO.cs | 8
项目代码/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutStockLockInfo.cs | 6
项目代码/BigScreen/src/api/ajax.js | 4
项目代码/WMS/WMSServices/WIDESEA_DTO/Basic/ERPMaterialDTO.cs | 7
项目代码/BigScreen/src/views/indexLine.vue | 198 ++---------
项目代码/WMS/WMSServices/WIDESEA_Common/OrderEnum/OutboundOrderMenu.cs | 7
项目代码/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Outbound/OutLineViewController.cs | 6
项目代码/WCS/WCSServices/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs | 16 +
项目代码/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService_Outbound.cs | 52 +++
项目代码/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs | 6
37 files changed, 585 insertions(+), 356 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/package-lock.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/package-lock.json"
index 5a9ef9b..6fc1e6f 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/package-lock.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/package-lock.json"
@@ -2349,11 +2349,6 @@
"fastq": "^1.6.0"
}
},
- "@popperjs/core": {
- "version": "npm:@sxzz/popperjs-es@2.11.7",
- "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
- "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
- },
"@sideway/address": {
"version": "4.1.5",
"resolved": "https://registry.npmmirror.com/@sideway/address/-/address-4.1.5.tgz",
@@ -7396,6 +7391,13 @@
"lodash-unified": "^1.0.2",
"memoize-one": "^6.0.0",
"normalize-wheel-es": "^1.2.0"
+ },
+ "dependencies": {
+ "@popperjs/core": {
+ "version": "npm:@sxzz/popperjs-es@2.11.7",
+ "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
+ "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
+ }
}
},
"element-ui": {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/src/api/ajax.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/src/api/ajax.js"
index 9390aa5..b63f08b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/src/api/ajax.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/src/api/ajax.js"
@@ -1,8 +1,8 @@
// 杩欎釜鏃禷xios鐨勯厤缃�
import axios from 'axios';
// import { config } from 'vue/types/umd';
-axios.defaults.baseURL = 'http://192.168.2.155:8099'; //'http://192.168.2.155:8099';
-
+//axios.defaults.baseURL = 'http://127.0.0.1:9293';
+axios.defaults.baseURL = 'http://192.168.35.3:9283';
// 閿欒淇℃伅澶勭悊
const errorHandle = (status, other) => {
switch (status) {
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/src/router/index.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/src/router/index.js"
index 8f9b734..224d9f9 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/src/router/index.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/src/router/index.js"
@@ -4,7 +4,7 @@
Vue.use(VueRouter)
const routes = [{
- path: '/line',
+ path: '/',
name: 'indexLine',
component: () => import('../views/indexLine.vue')
},
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/src/views/indexLine.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/src/views/indexLine.vue"
index cb43c38..75d0137 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/src/views/indexLine.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/BigScreen/src/views/indexLine.vue"
@@ -24,7 +24,7 @@
font-size: 50px;
font-weight: bold;
color: #90EE90;
- ">绔嬪簱杈撻�佽建閬撳師绾镐俊鎭紙鍏� 鍗凤級</span>
+ ">绔嬪簱杈撻�佽建閬撳師绾镐俊鎭紙鍏眥{showMsg}}鍗凤級</span>
//鏃堕棿
<div style="position: absolute; right: 20px;">
<p style="
@@ -64,6 +64,7 @@
data() {
return {
timing: null,
+ timeRequest: null,
loading: true,
dateDay: null,
dateYear: null,
@@ -82,139 +83,22 @@
],
data: [
[
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">1</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
+ '<span style="color:#FF4500; font-size:60px;">705010</span>',
+ '<span style="color:#FF4500; font-size:60px;">015004</span>',
+ '<span style="color:#FF4500; font-size:60px;">X2</span>',
+ '<span style="color:#FF4500; font-size:60px;">1</span>',
+ '<span style="color:#FF4500; font-size:60px;">1200</span>',
+ '<span style="color:#FF4500; font-size:60px;;">4798</span>',
+ '<span style="color:#FF4500; font-size:60px;">180</span>',
],
[
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">2</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
- ],
- [
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">3</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
- ],
- [
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">4</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
- ],
- [
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">5</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
- ],
- [
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">6</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
- ],
- [
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">7</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
- ],
- [
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">8</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
- ],
- [
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">9</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
- ],
- [
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">10</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
- ],
- [
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">11</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
- ],
- [
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">12</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
- ],
- [
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">13</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
- ],
- [
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">14</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
- ],
- [
- '<span style="color:#FF4500; font-size:75px;">705010</span>',
- '<span style="color:#FF4500; font-size:75px;">015004</span>',
- '<span style="color:#FF4500; font-size:75px;">X2</span>',
- '<span style="color:#FF4500; font-size:75px;">15</span>',
- '<span style="color:#FF4500; font-size:75px;">1200</span>',
- '<span style="color:#FF4500; font-size:75px;;">4798</span>',
- '<span style="color:#FF4500; font-size:75px;">180</span>',
+ '<span style="color:#FF4500; font-size:60px;">705010</span>',
+ '<span style="color:#FF4500; font-size:60px;">015004</span>',
+ '<span style="color:#FF4500; font-size:60px;">X2</span>',
+ '<span style="color:#FF4500; font-size:60px;">2</span>',
+ '<span style="color:#FF4500; font-size:60px;">1200</span>',
+ '<span style="color:#FF4500; font-size:60px;;">4798</span>',
+ '<span style="color:#FF4500; font-size:60px;">180</span>',
],
],
headerHeight: 60,
@@ -222,12 +106,12 @@
evenRowBGC: "rgba(0, 0, 0, 0.6)",
headerBGC: "rgba(0, 0, 0, 0.6)",
waitTime: 5000,
- columnWidth: [350, 350, 200, 200, 250, 250, 350],
+ columnWidth: [380, 380, 180, 200, 200, 250, 250],
rowNum: 10,
align: ["center", "center", "center", "center", "center", "center", "center"],
},
IsDetail: true,
- OrderCreator: {},
+ showMsg:""
};
},
components: {
@@ -240,10 +124,11 @@
this.updateTime(); // 姣忕鏇存柊鏃堕棿
}, 1000);
this.cancelLoading();
- // this.GetOrderDetail();
+ this.GetOrderDetail();
},
beforeDestroy() {
clearInterval(this.timing);
+ clearInterval(this.timeRequest);
},
methods: {
// 鏇存柊鍖椾含鏃堕棿
@@ -278,42 +163,51 @@
}, 1000);
},
GetOrderDetail() {
- axios.post("/api/dt_WorkOrder/getWorkOrderInfo", null, "").then((res) => {
+ axios.post("/api/OutLineView/GetOutLineView", null, "").then((res) => {
if (res.data.status) {
if (res.data.data == null) {
return;
}
- var sp = '</span>';
+ this.showMsg=res.data.message
var arr = [];
- res.data.data.dt_WorkOrderDetail.forEach((x) => {
+ res.data.data.forEach((x) => {
var item = [
- '<span style="color:#67e0e3;">' + x.layer + '灞�' + sp,
- '<span style="color:#9fe6b8;">' + (x.lj_hight == null ? '鏃犻渶娴嬮噺' : x.lj_hight + 'mm') + sp,
- '<span style="color:#fb7503;">' + (x.measure_hight == null ? '鏃犻渶娴嬮噺' : x.measure_hight + 'mm') + sp,
- '<span style="color:#fb7503;">' + x.lj_is_tolerance + sp,
+ '<span style="color:#FF4500; font-size:55px;">'+x.palletCode+'</span>',
+ '<span style="color:#FF4500; font-size:55px;">'+x.orderNo+'</span>',
+ '<span style="color:#FF4500; font-size:55px;">'+x.materielCode+'</span>',
+ '<span style="color:#FF4500; font-size:55px;">'+x.machineName+'</span>',
+ '<span style="color:#FF4500; font-size:55px;">'+x.materialWide+'</span>',
+ '<span style="color:#FF4500; font-size:55px;;">'+x.originalQuantity+'</span>',
+ '<span style="color:#FF4500; font-size:55px;">'+x.orderQuantity+'</span>',
];
arr.push(item);
});
- this.OrderCreator = res.data.data;
if (this.IsDetail) {
this.config = {
header: [
- '<span style="font-size:18px;">灞傛暟</span>',
- '<span style="font-size:18px;">绱鏍囧噯楗煎帤</span>',
- '<span style="font-size:18px;">绱楗煎帤</span>',
- '<span style="font-size:18px;">娴嬮珮缁撴灉</span>'
+ '<span style="font-size:50px;">绾稿嵎鏉$爜</span>',
+ '<span style="font-size:50px;">宸ュ崟鍙�</span>',
+ '<span style="font-size:50px;">浠g爜</span>',
+ '<span style="font-size:50px;">涓婃満浣�</span>',
+ '<span style="font-size:50px;">瀹藉箙</span>',
+ '<span style="font-size:50px;">绾稿嵎闀�</span>',
+ '<span style="font-size:50px;">闇�鐢ㄧ焊闀�</span>'
],
data: arr,
- waitTime: 10000,
- rowNum: 15,
- columnWidth: [75, 150, 110, 110],
- align: ["center", "center", "center", "center"]
+ headerHeight: 60,
+ oddRowBGC: "rgba(0, 0, 0, 0.6)",
+ evenRowBGC: "rgba(0, 0, 0, 0.6)",
+ headerBGC: "rgba(0, 0, 0, 0.6)",
+ waitTime: 5000,
+ columnWidth: [380, 380, 180, 200, 200, 250, 250],
+ rowNum: 10,
+ align: ["center", "center", "center", "center", "center", "center", "center"],
};
} else {
this.$refs["scrollBoard"].updateRows(arr)
}
if (this.IsDetail) {
- setInterval(() => {
+ this.timeRequest = setInterval(() => {
this.GetOrderDetail();
}, 10000);
this.IsDetail = false;
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/APIEnum/APIEnum.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/APIEnum/APIEnum.cs"
index 0ff1873..38f3572 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/APIEnum/APIEnum.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Common/APIEnum/APIEnum.cs"
@@ -80,6 +80,11 @@
/// 棰勮皟搴︽帴鍙�
/// </summary>
[Description("棰勮皟搴︽帴鍙�")]
- AGV_CTUScheduleTaskTask
+ AGV_CTUScheduleTaskTask,
+ /// <summary>
+ /// MES灏忚溅鍒拌揪閫氱煡
+ /// </summary>
+ [Description("MES灏忚溅鍒拌揪閫氱煡")]
+ MESAvgArriveNotice
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_DTO/MESResponse.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_DTO/MESResponse.cs"
new file mode 100644
index 0000000..15741a2
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_DTO/MESResponse.cs"
@@ -0,0 +1,27 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace WIDESEA_External.Model
+{
+ /// <summary>
+ /// MES杩斿洖
+ /// </summary>
+ public class MESResponse
+ {
+ /// <summary>
+ /// 鎴愬姛缁撴灉
+ /// </summary>
+ public bool Result { get; set; }
+ /// <summary>
+ /// 杩斿洖淇℃伅
+ /// </summary>
+ public string Msg { get; set; }
+ /// <summary>
+ /// 杩斿洖瀵硅薄
+ /// </summary>
+ public bool Obj { get; set; }
+ }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs"
index 7374db6..55d9cf3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_DTO/TaskInfo/WMSTaskDTO.cs"
@@ -73,5 +73,13 @@
public string AGVArea { get; set; }
public int PalletType { get; set; }
+ /// <summary>
+ /// MES璁″垝Id
+ /// </summary>
+ public int DispatchPlanId { get; set; }
+ /// <summary>
+ /// 鍔犲伐涓績
+ /// </summary>
+ public string WorkCentreCode { get; set; }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
index 7caa01f..671efc1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_ITaskInfoService/ITaskService.cs"
@@ -99,7 +99,11 @@
//涓婁紶鏉$爜
WebResponseContent MESBoxCodeNotice(string boxCode);
- WebResponseContent MESAvgArriveNotice(RequestAGVArriveDTO requestAGVArriveDTO);
+ /// <summary>
+ /// 鍒ゆ柇鍏佽鏀捐揣
+ /// </summary>
+ /// <returns></returns>
+ string MESAvgArriveNotice(RequestAGVArriveDTO requestAGVArriveDTO);
/// <summary>
/// 鍙犵洏鏈虹敵璇风┖鎵樺叆鎴愬搧搴�
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs"
index cd2cc53..d4d2387 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Model/Models/TaskInfo/Dt_Task.cs"
@@ -205,5 +205,21 @@
[ExporterHeader(DisplayName = "澶囨敞")]
[SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "澶囨敞")]
public string Remark { get; set; }
+
+ /// <summary>
+ /// 鍔犲伐涓績缂栫爜
+ /// </summary>
+ [ImporterHeader(Name = "鍔犲伐涓績缂栫爜")]
+ [ExporterHeader(DisplayName = "鍔犲伐涓績缂栫爜")]
+ [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鍔犲伐涓績缂栫爜")]
+ public string WorkCentreCode { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栧彿
+ /// </summary>
+ [ImporterHeader(Name = "MES璁″垝Id")]
+ [ExporterHeader(DisplayName = "MES璁″垝Id")]
+ [SugarColumn(IsNullable = true, ColumnDescription = "MES璁″垝Id")]
+ public int DispatchPlanId { get; set; }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
index 70ebbef..c9d6b61 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Server/Controllers/AGV/AGVController.cs"
@@ -2,7 +2,9 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Text;
+using System.Text.RegularExpressions;
using WIDESEA_DTO.Agv;
+using WIDESEA_External.Model;
using WIDESEAWCS_Common.TaskEnum;
using WIDESEAWCS_Core;
using WIDESEAWCS_Core.Enums;
@@ -70,7 +72,7 @@
}
else//鍑哄簱鏀捐揣璇锋眰
{
- var content = PutRequest(task.NextAddress, task.PalletType);
+ var content = PutRequest(task.NextAddress, task);
if (!content.Status)
{
throw new Exception(content.Message);
@@ -89,7 +91,7 @@
}
else//鍏ュ簱鏀捐揣璇锋眰
{
- var content = PutRequest(task.NextAddress, task.TaskNum);
+ var content = PutRequest(task.NextAddress, task);
if (!content.Status)
{
throw new Exception(content.Message);
@@ -312,7 +314,7 @@
/// <param name="palletType"></param>
/// <returns></returns>
[HttpPost, HttpGet, Route("PutRequest"), AllowAnonymous]
- public WebResponseContent PutRequest(string code, int taskNum)
+ public WebResponseContent PutRequest(string code, Dt_Task task)
{
WebResponseContent content = new WebResponseContent();
try
@@ -330,14 +332,20 @@
{
SD_WorkCentreAgvArriveNoticeInfo=new List<AgvArriveNotice> { new AgvArriveNotice()
{
- DispatchPlanMaterialId=409,
- WorkCentreCode="66",
- LocationCode="3-ZD-ZJZZ",
- CallId="4534c242-27a7-4fb6-86f5-460b09db303d"
+ DispatchPlanMaterialId=task.DispatchPlanId,
+ WorkCentreCode=task.WorkCentreCode,
+ LocationCode=code,
+ CallId=Guid.NewGuid().ToString().Replace("-","")
} }
};
- WebResponseContent webResponse= _taskService.MESAvgArriveNotice(requestAGVArriveDTO);
- if (webResponse.Message.Contains("\"obj\": true"))
+ MESResponse response = _taskService.MESAvgArriveNotice(requestAGVArriveDTO).DeserializeObject<MESResponse>() ?? throw new Exception("鏈幏鍙栧埌杩斿洖淇℃伅");
+ if (!response.Result)
+ {
+ throw new Exception($"璋冪敤MES灏忚溅鍏佽鏀捐揣鎶ラ敊,MES杩斿洖淇℃伅"+ Regex.Replace(response.Msg, @"\\u([0-9a-fA-F]{4})", match => {
+ return ((char)Convert.ToInt32(match.Groups[1].Value, 16)).ToString();
+ }));
+ }
+ if (response.Obj)
{
return content.Error($"鍏佽鍙栨枡");
}
@@ -389,7 +397,7 @@
bool RequestPut = otherDevice.GetValue<CoveryorDB, bool>(CoveryorDB.C_RequestPut, stationManger.StationDeviceCode);
if (!RequestPut)
{
- otherDevice.SetValue(CoveryorDB.C_InTaskNum, taskNum, stationManger.StationDeviceCode);
+ otherDevice.SetValue(CoveryorDB.C_InTaskNum, task.TaskNum, stationManger.StationDeviceCode);
otherDevice.SetValue(CoveryorDB.C_RequestPut, true, stationManger.StationDeviceCode);
Thread.Sleep(1000);
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 5ffc5eb..df327ec 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -18,6 +18,7 @@
using Newtonsoft.Json;
using SqlSugar;
using System.Diagnostics.CodeAnalysis;
+using System.Net.Http.Headers;
using WIDESEA_DTO.Agv;
using WIDESEAWCS_Common;
using WIDESEAWCS_Common.APIEnum;
@@ -484,24 +485,54 @@
}
return content;
}
- public WebResponseContent MESAvgArriveNotice(RequestAGVArriveDTO requestAGVArriveDTO)
+ /// <summary>
+ /// 鍒ゆ柇鍏佽鏀捐揣
+ /// </summary>
+ /// <returns></returns>
+ public string MESAvgArriveNotice(RequestAGVArriveDTO requestAGVArriveDTO)
{
- WebResponseContent content = new WebResponseContent();
+ Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.MESAvgArriveNotice.ToString());
+
+ string response = Post(apiInfo.ApiAddress, JsonConvert.SerializeObject(requestAGVArriveDTO));
+
+ return response;
+ }
+ public static string Post(string serviceAddress, string requestJson = "", string contentType = "application/json", Dictionary<string, string>? headers = null)
+ {
+ string result = string.Empty;
+ DateTime beginDate = DateTime.Now;
try
{
- string address = AppSettings.Get("WMSApiAddress");
- if (string.IsNullOrEmpty(address))
+ using (HttpContent httpContent = new StringContent(requestJson))
{
- return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
+ httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
+
+ using HttpClient httpClient = new HttpClient();
+ httpClient.Timeout = new TimeSpan(0, 0, 30);
+ string LoginToken = AppSettings.Get("MESLoginToken");
+ headers = new Dictionary<string, string>
+ {
+ //姝e紡
+ { "LoginToken", LoginToken }
+ };
+ if (headers != null)
+ {
+ foreach (var header in headers)
+ httpClient.DefaultRequestHeaders.Add(header.Key, header.Value);
+ }
+ HttpResponseMessage responseMessage = httpClient.PostAsync(serviceAddress, httpContent).Result;
+ result = responseMessage.Content.ReadAsStringAsync().Result;
}
- string responseStr = HttpHelper.Post($"{address}/api/Mes/MESAvgArriveNotice", requestAGVArriveDTO.Serialize());
- return content.OK(responseStr);
+ return result;
}
- catch (Exception ex)
+ catch (Exception e)
{
- content = WebResponseContent.Instance.Error(ex.Message);
+ throw new Exception(e.Message);
}
- return content;
+ finally
+ {
+ Logger.Add(serviceAddress, requestJson == null ? "" : requestJson, result, beginDate);
+ }
}
public WebResponseContent CPEmptyInbound(string palletCode,string SourceAddress)
{
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPH.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPH.cs"
index 8ae53f7..1fcf99e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPH.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_Tasks/\346\210\220\345\223\201\344\273\223/ConveyorLineJob_CPH.cs"
@@ -42,7 +42,6 @@
private readonly IRouterExtension _routerExtension;
private readonly List<Dt_WarehouseDevice> warehouseDevices;
private static object lockObj = 0;//
- private static List<string> strings = new List<string>();
public ConveyorLineJob_CPH(ICacheService cacheService, ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IStationMangerRepository stationMangerRepository, IRouterRepository routerRepository, IRouterService routerService, IRouterExtension routerExtension)
{
@@ -54,14 +53,6 @@
_routerRepository = routerRepository;
_routerService = routerService;
_routerExtension = routerExtension;
- //string boxCodes = AppSettings.Get("BoxCodes");
- //if (!string.IsNullOrEmpty(boxCodes) && strings.Count<=0)
- //{
- // foreach (string s in boxCodes.Split(","))
- // {
- // strings.Add(s);
- // }
- //}
string? warehouseDevicesStr = _cacheService.Get<string>(nameof(Dt_WarehouseDevice));
if (!string.IsNullOrEmpty(warehouseDevicesStr))
{
@@ -80,19 +71,19 @@
if (lockObj.ToString()=="0")
{
lockObj = 1;
- Task task = Task.Run(() =>
+ Task task = Task.Run(async () =>
{
try
{
- while (true)
+ bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
+ if (flag && value != null)
{
- bool flag = context.JobDetail.JobDataMap.TryGetValue("JobParams", out object? value);
- if (flag && value != null)
+ //鑾峰彇褰撳墠璁惧
+ OtherDevice device = (OtherDevice)value;
+ List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
+ Dt_StationManger? RequestIn = stationMangers.FirstOrDefault(x => x.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt());
+ while (true)
{
- //鑾峰彇褰撳墠璁惧
- OtherDevice device = (OtherDevice)value;
- List<Dt_StationManger> stationMangers = _stationMangerRepository.QueryData(x => x.StationDeviceCode == device.DeviceCode);
- Dt_StationManger? RequestIn = stationMangers.FirstOrDefault(x => x.StationType == StationTypeEnum.StationType_OnlyInbound.ObjToInt());
if (RequestIn != null)
{
DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == RequestIn.StationCode && x.DeviceProParamType == nameof(R_CLineCPHDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
@@ -103,47 +94,26 @@
//鐮佸灈鐜嚎璇锋眰浠诲姟
if (conveyorLineInfoRead != null && (conveyorLineInfoRead.R_State == 2 || conveyorLineInfoRead.R_State == 3) && conveyorLineInfoRead.R_TaskNo <= 0 && !string.IsNullOrEmpty(conveyorLineInfoRead.R_BoxCode) && conveyorLineInfoRead.R_Request == 1)
{
- //WebResponseContent content = _taskService.MESBoxCodeNotice(conveyorLineInfoRead.R_BoxCode);
- ////鍚慦MS璇锋眰浠诲姟
- //if (true)
- //{
- //}
- //string[] strings = conveyorLineInfoRead.R_BoxCode.Split("-");
- //if (strings.Length==2)
- //{
#region todo:涓存椂閫昏緫
- ////鍐欏叆鎵ц鏁版嵁
- //if (strings.FirstOrDefault(x=>x == conveyorLineInfoRead.R_BoxCode)!=null)
- //{
- device.SetValue(W_CLineCPHDB.W_TaskNo, 100 + 5, RequestIn.StationCode);
- device.SetValue(W_CLineCPHDB.W_Channel, 14, RequestIn.StationCode);
- device.SetValue(W_CLineCPHDB.W_Long, 465, RequestIn.StationCode);
- device.SetValue(W_CLineCPHDB.W_Wide, 375, RequestIn.StationCode);
- device.SetValue(W_CLineCPHDB.W_High, 690, RequestIn.StationCode);
- device.SetValue(W_CLineCPHDB.W_TMID, conveyorLineInfoRead.R_BoxCode, RequestIn.StationCode);
- device.SetValue(W_CLineCPHDB.W_Request, 1, RequestIn.StationCode);
- // WebResponseContent content = _taskService.MESBoxCodeNotice(conveyorLineInfoRead.R_BoxCode);
- // if (content.Message.Contains("true"))
- // {
- // strings.Remove(conveyorLineInfoRead.R_BoxCode);
- // WriteInfo(RequestIn.StationName, content.Message);
- // }
- // else
- // {
- // WriteError(RequestIn.StationName, content.Message);
- // }
- //}
- //else
- //{
- // WriteError(RequestIn.StationName, $"鏈壘鍒版潯鐮亄conveyorLineInfoRead.R_BoxCode}鏁版嵁");
- //}
+ //鍐欏叆鎵ц鏁版嵁
+ device.SetValue(W_CLineCPHDB.W_TaskNo, 100 + 5, RequestIn.StationCode);
+ device.SetValue(W_CLineCPHDB.W_Channel, 14, RequestIn.StationCode);
+ device.SetValue(W_CLineCPHDB.W_Long, 485, RequestIn.StationCode);
+ device.SetValue(W_CLineCPHDB.W_Wide, 460, RequestIn.StationCode);
+ device.SetValue(W_CLineCPHDB.W_High, 420, RequestIn.StationCode);
+ device.SetValue(W_CLineCPHDB.W_TMID, conveyorLineInfoRead.R_BoxCode, RequestIn.StationCode);
+ device.SetValue(W_CLineCPHDB.W_Request, 1, RequestIn.StationCode);
+ WebResponseContent content = _taskService.MESBoxCodeNotice(conveyorLineInfoRead.R_BoxCode);
+ if (content.Status)
+ {
+ WriteInfo(RequestIn.StationName, content.Message);
+ }
+ else
+ {
+ WriteError(RequestIn.StationName, content.Message);
+ }
#endregion
- //}
- //else
- //{
- // WriteError(RequestIn.StationName, $"鏁版嵁鎴彇閿欒锛歿strings}");
- //}
}
}
else
@@ -151,7 +121,7 @@
WriteError(RequestIn.StationName, $"鏈壘鍒拌澶囧瓙缂栧彿{RequestIn.StationCode}鐨勫崗璁俊鎭�");
}
}
- foreach (var item in stationMangers.Where(x=>x.StationType==StationTypeEnum.StationType_OnlyOutbound.ObjToInt()))
+ foreach (var item in stationMangers.Where(x => x.StationType == StationTypeEnum.StationType_OnlyOutbound.ObjToInt()))
{
DeviceProDTO? deviceProRead = device.DeviceProDTOs.Where(x => x.DeviceChildCode == item.StationCode && x.DeviceProParamType == nameof(R_CLineCPHDB)).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
if (deviceProRead != null)
@@ -171,21 +141,20 @@
}
}
}
- Thread.Sleep(100);
}
}
}
catch (Exception ex)
{
-
lockObj = 0;
WriteError(nameof(ConveyorLineJob_CPH), $"閿欒淇℃伅锛歿ex.Message}");
}
-
+
});
}
}
+
return Task.CompletedTask;
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/OrderEnum/OutboundOrderMenu.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/OrderEnum/OutboundOrderMenu.cs"
index c950f95..2e29148 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/OrderEnum/OutboundOrderMenu.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Common/OrderEnum/OutboundOrderMenu.cs"
@@ -50,6 +50,11 @@
/// 涓�鏈熺敓绠¢鏂�
/// </summary>
[Description("涓�鏈熺敓绠¢鏂�")]
- OutSGPick=1
+ OutSGPick = 1,
+ /// <summary>
+ /// 浜屾湡MES棰嗘枡
+ /// </summary>
+ [Description("浜屾湡MES棰嗘枡")]
+ OutMESPick = 2
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/Basic/ERPMaterialDTO.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/Basic/ERPMaterialDTO.cs"
index 5ece8de..9a3b1bf 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/Basic/ERPMaterialDTO.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/Basic/ERPMaterialDTO.cs"
@@ -85,9 +85,14 @@
public string WarehouseCode { get; set; }
/// <summary>
- /// 璁¢噺鍗曚綅锛圞g锛氬崈鍏嬶級
+ /// 璁¢噺鍗曚綅
/// </summary>
[PropertyValidate("璁¢噺鍗曚綅锛欿g:鍏枻銆丮锛氱背銆丳cs锛氫釜(鍙�)", NotNullAndEmpty = true)]
public string Unit { get; set; }
+ /// <summary>
+ /// 璁¢噺鍗曚綅
+ /// </summary>
+ [PropertyValidate("璁¢噺鍗曚綅锛欿g:鍏枻銆丮锛氱背銆丳cs锛氫釜(鍙�)", NotNullAndEmpty = true)]
+ public string AssistUnitCode { get; set; }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/ERP/SGOutOrderDTO.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/ERP/SGOutOrderDTO.cs"
index e6343fa..5143ed0 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/ERP/SGOutOrderDTO.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/ERP/SGOutOrderDTO.cs"
@@ -89,5 +89,17 @@
/// </summary>
[PropertyValidate("鐢熶骇宸ュ崟鍙�", NotNullAndEmpty = true)]
public string OrderId { get; set; }
+
+ /// <summary>
+ /// 宸ュ崟鐢ㄧ焊搴忓彿(涓婃父)
+ /// </summary>
+ [PropertyValidate("宸ュ崟鐢ㄧ焊搴忓彿", NotNullAndEmpty = true)]
+ public int Number { get; set; }
+
+ /// <summary>
+ /// 澶囨敞(涓婃父)
+ /// </summary>
+ [PropertyValidate("宸ュ崟鐢ㄧ焊搴忓彿", NotNullAndEmpty = true)]
+ public string Remark { get; set; }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/MES/MESReturnIssueDTO.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/MES/MESReturnIssueDTO.cs"
index 89bc658..196c8d0 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/MES/MESReturnIssueDTO.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/MES/MESReturnIssueDTO.cs"
@@ -14,22 +14,23 @@
public class MESReturnIssueDTO
{
/// <summary>
- /// 鍑哄簱鏉ユ簮鏄庣粏ID
- /// </summary>
- [PropertyValidate("鍑哄簱鏉ユ簮鏄庣粏ID", NotNullAndEmpty = true)]
- public int OutDetailId { get; set; }
-
- /// <summary>
/// 鍛煎彨Id
/// </summary>
[PropertyValidate("鍛煎彨Id", NotNullAndEmpty = true)]
public string IssueId { get; set; }
/// <summary>
+ /// 鍔犲伐涓績
+ /// </summary>
+ [PropertyValidate("鍔犲伐涓績", NotNullAndEmpty = true)]
+ public string MakeCode { get; set; }
+
+ /// <summary>
/// 鍛ㄨ浆浣嶇疆缂栧彿
/// </summary>
[PropertyValidate("鍛ㄨ浆浣嶇疆缂栧彿", NotNullAndEmpty = true)]
public string PointCode { get; set; }
+
/// <summary>
/// 浣欐枡淇℃伅
/// </summary>
@@ -62,10 +63,10 @@
[PropertyValidate("閫�鏂欐暟閲�", NotNullAndEmpty = true)]
public decimal ReturnQuantity { get; set; }
/// <summary>
- /// 鏄惁棰嗘枡锛�1鏈鏂� 0宸蹭复鏂欙級
+ /// 鏄惁棰嗘枡锛�1鏈鏂� 0宸查鏂欙級
/// </summary>
- [PropertyValidate("鏄惁棰嗘枡锛�1鏈鏂� 0宸蹭复鏂欙級", NotNullAndEmpty = true)]
- public string Whether { get; set; }
+ [PropertyValidate("鏄惁棰嗘枡锛�1鏈鏂� 0宸查鏂欙級", NotNullAndEmpty = true)]
+ public int Whether { get; set; }
/// <summary>
/// 閫�鏂欏伐鍗曞彿(ERP鐩稿叧)
/// </summary>
@@ -75,7 +76,7 @@
/// 鐩村緞
/// </summary>
[PropertyValidate("鐩村緞", NotNullAndEmpty = true)]
- public string Thickness { get; set; }
+ public decimal Thickness { get; set; }
/// <summary>
/// 骞呭
/// </summary>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/Task/WMSTaskDTO.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/Task/WMSTaskDTO.cs"
index b9873cb..c6e515e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/Task/WMSTaskDTO.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_DTO/Task/WMSTaskDTO.cs"
@@ -85,6 +85,14 @@
///
/// </summary>
public int PalletType { get; set; }
+ /// <summary>
+ /// MES璁″垝Id
+ /// </summary>
+ public int DispatchPlanId { get; set; }
+ /// <summary>
+ /// 鍔犲伐涓績
+ /// </summary>
+ public string WorkCentreCode { get; set; }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_External/Model/MESDeliveryModel.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_External/Model/MESDeliveryModel.cs"
index e0aab7f..f42d71a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_External/Model/MESDeliveryModel.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_External/Model/MESDeliveryModel.cs"
@@ -35,7 +35,7 @@
/// <summary>
/// 鏁伴噺
/// </summary>
- public int MainQuantity { get; set; }
+ public decimal MainQuantity { get; set; }
/// <summary>
/// 杈呭崟浣嶇紪鐮�
/// </summary>
@@ -47,7 +47,7 @@
/// <summary>
/// 浠撳簱缂栫爜
/// </summary>
- public string StockInfoCode { get; set; }
+ public string StockInfoCode { get; set; } = "CKDA003";
/// <summary>
/// 鎵瑰彿
/// </summary>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_IInboundService/IMESProInOrderInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_IInboundService/IMESProInOrderInfoService.cs"
index e583a36..f31d84b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_IInboundService/IMESProInOrderInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_IInboundService/IMESProInOrderInfoService.cs"
@@ -15,12 +15,10 @@
{
IMESProInOrderInfoRepository Repository { get; }
/// <summary>
- /// 鎴愬搧/鍗婃垚鍝佷俊鎭悓姝ユ帴鍙�
- /// </summary>
- WebResponseContent ReceiveProCodeInfo(List<MESProInDTO> proInDTOs);
- /// <summary>
/// MES宸ュ崟鍋滄鎺ュ彛
/// </summary>
WebResponseContent ReceiveProOrderStop(MESOrderStopDTO orderStopDTO);
+
+ WebResponseContent MESBoxCode(string boxCode);
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_InboundService/MESProInOrderInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_InboundService/MESProInOrderInfoService.cs"
index 755c45e..4096a29 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_InboundService/MESProInOrderInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_InboundService/MESProInOrderInfoService.cs"
@@ -3,6 +3,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
+using System.Text.RegularExpressions;
using System.Threading.Tasks;
using WIDESEA_Common.MaterielEnum;
using WIDESEA_Common.OrderEnum;
@@ -11,6 +12,8 @@
using WIDESEA_Core.BaseServices;
using WIDESEA_Core.Helper;
using WIDESEA_DTO.MES;
+using WIDESEA_External.MESService;
+using WIDESEA_External.Model;
using WIDESEA_IBasicRepository;
using WIDESEA_IInboundRepository;
using WIDESEA_IInboundService;
@@ -24,75 +27,15 @@
private readonly IBasicRepository _basicRepository;
private readonly IAGVStationInfoRepository _agvStationInfoRepository;
private readonly IMapper _mapper;
- public MESProInOrderInfoService(IMESProInOrderInfoRepository BaseDal,IBasicRepository basicRepository,IMapper mapper, IAGVStationInfoRepository agvStationInfoRepository) : base(BaseDal)
+ private readonly IInvokeMESService _invokeMESService;
+ public MESProInOrderInfoService(IMESProInOrderInfoRepository BaseDal,IBasicRepository basicRepository,IMapper mapper, IAGVStationInfoRepository agvStationInfoRepository,IInvokeMESService invokeMESService) : base(BaseDal)
{
_basicRepository = basicRepository;
_mapper = mapper;
_agvStationInfoRepository = agvStationInfoRepository;
+ _invokeMESService = invokeMESService;
}
- /// <summary>
- /// 鎴愬搧/鍗婃垚鍝佷俊鎭悓姝ユ帴鍙�
- /// </summary>
- public WebResponseContent ReceiveProCodeInfo(List<MESProInDTO> proInDTOs)
- {
- WebResponseContent content = new WebResponseContent();
- try
- {
- if (proInDTOs==null || proInDTOs.Count<=0)
- {
- return content.Error("浼犲叆淇℃伅涓虹┖");
- }
- //鑾峰彇鎵�鏈夋垚鍝侊紝鍗婃垚鍝佷俊鎭�
- List<Dt_MESProInOrderInfo> proInOrderInfos = BaseDal.QueryData();
- //鑾峰彇鎵�鏈夌墿鏂欎俊鎭�
- List<Dt_MaterielInfo> materielInfos = _basicRepository.MaterielInfoRepository.QueryData(x => x.MaterielInvOrgId == MaterielInvOrgEnum.鏂板巶.ObjToInt());
-
- MESProInDTO? CheckMaterialCode = proInDTOs.FirstOrDefault(x => !materielInfos.Select(x => x.MaterielCode).Contains(x.MaterialCode));
- if (CheckMaterialCode != null)
- {
- return content.Error($"鐗╂枡缂栫爜{nameof(MESProInDTO.MaterialCode)}:{CheckMaterialCode.MaterialCode}淇℃伅涓嶅瓨鍦�");
- }
- //鑾峰彇鎵�鏈堿GV鐐逛綅
- List<Dt_AGVStationInfo> aGVStationInfos = _agvStationInfoRepository.QueryData(x => !string.IsNullOrEmpty(x.MESPointCode));
-
- //鍒ゆ柇鏄惁瀛樺湪閲嶅
- MESProInDTO? proInDTO = proInDTOs.FirstOrDefault(x=>x.IsMantissa==false && proInOrderInfos.Select(x=>x.BarCode).Contains(x.BarCode));
- if (proInDTO!=null)
- {
- return content.Error($"{proInDTO.ProductOrderNo}鐢熶骇宸ュ崟{proInDTO.BarCode}鏉$爜宸插瓨鍦�");
- }
- Dt_MESProInOrderInfo? proInOrderInfo = proInOrderInfos.FirstOrDefault(x=>x.MESProInStatus==InOrderStatusEnum.鍏抽棴.ObjToInt() && proInDTOs.Select(x=>x.ProductOrderNo).Distinct().Contains(x.ProductOrderNo));
- if (proInOrderInfo != null)
- {
- return content.Error($"{proInOrderInfo.ProductOrderNo}鐢熶骇宸ュ崟宸插叧闂�");
- }
- List<Dt_MESProInOrderInfo> AddMESProInOrders = new List<Dt_MESProInOrderInfo>();
- foreach (var item in proInDTOs)
- {
- Dt_MaterielInfo materielInfo = materielInfos.FirstOrDefault(x=>x.MaterielCode== item.MaterialCode);
- if (materielInfo.MaterielSourceType!=MaterielTypeEnum.鎴愬搧.ObjToInt())
- {
- Dt_AGVStationInfo? CheckPointCode = aGVStationInfos.FirstOrDefault(x=>x.MESPointCode==item?.PointCode);
- if (CheckPointCode == null)
- {
- return content.Error($"鍛ㄨ浆浣峽nameof(MESReturnIssueDTO.PointCode)}{item?.PointCode}涓嶅瓨鍦�,浠呮垚鍝佺墿鏂欏彲涓嶄紶");
- }
- }
- Dt_MESProInOrderInfo AddproInOrderInfo = _mapper.Map<Dt_MESProInOrderInfo>(item);
- AddproInOrderInfo.WarehouseId = materielInfo.WarehouseId;
- AddproInOrderInfo.MESProOrderType = materielInfo.MaterielSourceType;
- AddMESProInOrders.Add(AddproInOrderInfo);
- }
- BaseDal.AddData(AddMESProInOrders);
- content.OK("鎺ユ敹鎴愬姛");
- }
- catch (Exception ex)
- {
- content.Error(ex.Message);
- }
- return content;
- }
/// <summary>
/// MES宸ュ崟鍋滄鎺ュ彛
/// </summary>
@@ -107,14 +50,14 @@
return content.Error("浼犲叆淇℃伅涓嶈兘涓虹┖");
}
//鑾峰彇瀵瑰簲鍗曟嵁
- List<Dt_MESProInOrderInfo>? mESProInOrderInfos = BaseDal.QueryData(x => x.ProductOrderNo == orderStopDTO.ProductOrderNo && x.MESProInStatus != OutOrderStatusEnum.鍏抽棴.ObjToInt());
+ List<Dt_MESProInOrderInfo>? mESProInOrderInfos = BaseDal.QueryData(x => x.ProductOrderNo == orderStopDTO.ProductOrderNo && x.MESProInStatus != InOrderStatusEnum.鍏抽棴.ObjToInt());
if (mESProInOrderInfos == null || mESProInOrderInfos.Count <= 0)
{
return content.Error($"鎴愬搧鎴栧崐鎴愬搧宸ュ崟{nameof(MESOrderStopDTO.ProductOrderNo)}{orderStopDTO.ProductOrderNo}涓嶅瓨鍦ㄦ垨宸插叧闂�");
}
mESProInOrderInfos.ForEach(x =>
{
- x.MESProInStatus = OutOrderStatusEnum.鍏抽棴.ObjToInt();
+ x.MESProInStatus = InOrderStatusEnum.鍏抽棴.ObjToInt();
});
BaseDal.UpdateData(mESProInOrderInfos);
content.OK($"宸ュ崟{nameof(MESOrderStopDTO.ProductOrderNo)}{orderStopDTO.ProductOrderNo}鍋滄鎴愬姛");
@@ -125,5 +68,49 @@
}
return content;
}
+ /// <summary>
+ /// MES宸ュ崟鍋滄鎺ュ彛
+ /// </summary>
+ /// <summary>
+ public WebResponseContent MESBoxCode(string boxCode)
+ {
+ WebResponseContent content = new WebResponseContent();
+ try
+ {
+ if (boxCode.IsNullOrEmpty())
+ {
+ return content.Error("浼犲叆淇℃伅涓嶈兘涓虹┖");
+ }
+ //鑾峰彇瀵瑰簲鍗曟嵁
+ Dt_MESProInOrderInfo mESProInOrderInfo = BaseDal.QueryFirst(x => x.BarCode == boxCode);
+ if (mESProInOrderInfo == null)
+ {
+ return content.Error($"鎴愬搧鏉$爜{boxCode}涓嶅瓨鍦�");
+ }
+ if (mESProInOrderInfo.MESProInStatus==InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt())
+ {
+ return content.Error($"鎴愬搧鏉$爜{boxCode}宸插叆搴�");
+ }
+ mESProInOrderInfo.MESProInStatus = InOrderStatusEnum.鍏ュ簱瀹屾垚.ObjToInt();
+ MESResponse response = _invokeMESService.MESBoxCodeNotice(boxCode).DeserializeObject<MESResponse>() ?? throw new Exception("鏈幏鍙栧埌MES杩斿洖淇℃伅");
+ if (!response.Result)
+ {
+ throw new Exception($"MES閰嶉�佸嚭鍙戞帴鍙h皟鐢ㄦ姤閿�,MES杩斿洖淇℃伅{DecodeUnicode(response.Msg)}");
+ }
+ BaseDal.UpdateData(mESProInOrderInfo);
+ content.OK($"鎴愬搧鏉$爜{boxCode}鎵爜鍏ュ簱");
+ }
+ catch (Exception ex)
+ {
+ content.Error(ex.Message);
+ }
+ return content;
+ }
+ public static string DecodeUnicode(string input)
+ {
+ return Regex.Replace(input, @"\\u([0-9a-fA-F]{4})", match => {
+ return ((char)Convert.ToInt32(match.Groups[1].Value, 16)).ToString();
+ });
+ }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs"
index cfb31f2..d116aef 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Basic/Dt_MaterielInfo.cs"
@@ -96,6 +96,12 @@
public string MaterielUnit { get; set; }
/// <summary>
+ /// 杈呭崟浣�
+ /// </summary>
+ [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "杈呭崟浣�")]
+ public string AssistUnitCode { get; set; }
+
+ /// <summary>
/// 鐗╂枡鐘舵��(0:绂佺敤銆�1:鍙敤)
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "鐗╂枡鐘舵��(0:绂佺敤銆�1:鍙敤)")]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutMESOrder.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutMESOrder.cs"
index 92d5ac5..7f38ba1 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutMESOrder.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutMESOrder.cs"
@@ -120,6 +120,18 @@
public decimal OutTotalUsage { get; set; }
/// <summary>
+ /// 鍩烘湰鍗曚綅
+ /// </summary>
+ [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鍩烘湰鍗曚綅")]
+ public string MaterielUnit { get; set; }
+
+ /// <summary>
+ /// 杈呭崟浣�
+ /// </summary>
+ [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "杈呭崟浣�")]
+ public string AssistUnitCode { get; set; }
+
+ /// <summary>
/// 澶囨敞
/// </summary>
[SugarColumn(IsNullable = true, Length = 200, ColumnDescription = "澶囨敞")]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutSGOrder.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutSGOrder.cs"
index feed1bd..60d83f3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutSGOrder.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutSGOrder.cs"
@@ -55,6 +55,12 @@
public string ShortName { get; set; }
/// <summary>
+ /// 宸ュ崟鐢ㄧ焊搴忓彿
+ /// </summary>
+ [SugarColumn(IsNullable = false, ColumnDescription = "宸ュ崟鐢ㄧ焊搴忓彿")]
+ public int Number { get; set; }
+
+ /// <summary>
/// 鍑哄簱鍗曠姸鎬�
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "鍑哄簱鍗曠姸鎬�")]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutSGOrderDetail.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutSGOrderDetail.cs"
index dcdb75d..fa425d3 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutSGOrderDetail.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutSGOrderDetail.cs"
@@ -111,6 +111,12 @@
public string MaterialName { get; set; }
/// <summary>
+ /// 澶囨敞(涓婃父)
+ /// </summary>
+ [SugarColumn(IsNullable = true, ColumnDescription = "澶囨敞(涓婃父)")]
+ public string Remark { get; set; }
+
+ /// <summary>
/// 鍑哄簱鍗曟槑缁嗙姸鎬�
/// </summary>
[SugarColumn(IsNullable = false, ColumnDescription = "鍑哄簱鍗曟槑缁嗙姸鎬�")]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutStockLockInfo.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutStockLockInfo.cs"
index 75cc711..1e1cc51 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutStockLockInfo.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/Outbound/Dt_OutStockLockInfo.cs"
@@ -106,6 +106,12 @@
public string Unit { get; set; }
/// <summary>
+ /// 杈呭崟浣�
+ /// </summary>
+ [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "杈呭崟浣�")]
+ public string AssistUnit { get; set; }
+
+ /// <summary>
/// 鏈哄彴浣嶇疆
/// </summary>
[SugarColumn(IsNullable = true, ColumnDescription = "鏈哄彴浣嶇疆")]
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
index e9c7f02..38cd103 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_Model/Models/TaskInfo/Dt_Task.cs"
@@ -142,6 +142,7 @@
[ExporterHeader(DisplayName = "浠诲姟涓嬪彂鏃堕棿")]
[SugarColumn(IsNullable = true, ColumnDescription = "浠诲姟涓嬪彂鏃堕棿")]
public DateTime? Dispatchertime { get; set; }
+
/// <summary>
/// 浠诲姟缁�
/// </summary>
@@ -149,6 +150,7 @@
[ExporterHeader(DisplayName = "浠诲姟缁�")]
[SugarColumn(IsNullable = true, ColumnDescription = "浠诲姟缁�")]
public string GroupId { get; set; }
+
/// <summary>
/// 浠诲姟鐗╂枡闀垮害
/// </summary>
@@ -156,6 +158,7 @@
[ExporterHeader(DisplayName = "浠诲姟鐗╂枡闀垮害")]
[SugarColumn(IsNullable = true, ColumnDescription = "浠诲姟鐗╂枡闀垮害")]
public int TaskLength { get; set; }
+
/// <summary>
/// 澶囨敞
/// </summary>
@@ -163,6 +166,7 @@
[ExporterHeader(DisplayName = "澶囨敞")]
[SugarColumn(IsNullable = true, Length = 255, ColumnDescription = "澶囨敞")]
public string Remark { get; set; }
+
/// <summary>
/// 鐗╂枡缂栧彿
/// </summary>
@@ -170,6 +174,23 @@
[ExporterHeader(DisplayName = "鐗╂枡缂栧彿")]
[SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鐗╂枡缂栧彿")]
public string MaterielCode { get; set; }
+
+ /// <summary>
+ /// 鍔犲伐涓績缂栫爜
+ /// </summary>
+ [ImporterHeader(Name = "鍔犲伐涓績缂栫爜")]
+ [ExporterHeader(DisplayName = "鍔犲伐涓績缂栫爜")]
+ [SugarColumn(IsNullable = true, Length = 50, ColumnDescription = "鍔犲伐涓績缂栫爜")]
+ public string WorkCentreCode { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栧彿
+ /// </summary>
+ [ImporterHeader(Name = "MES璁″垝Id")]
+ [ExporterHeader(DisplayName = "MES璁″垝Id")]
+ [SugarColumn(IsNullable = true, ColumnDescription = "MES璁″垝Id")]
+ public int DispatchPlanId { get; set; }
+
/// <summary>
/// 鐗╂枡鏁伴噺
/// </summary>
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutLineViewService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutLineViewService.cs"
index 29ca532..055f04e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutLineViewService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutLineViewService.cs"
@@ -4,9 +4,11 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using WIDESEA_Common.TaskEnum;
using WIDESEA_Core;
using WIDESEA_Core.BaseRepository;
using WIDESEA_Core.BaseServices;
+using WIDESEA_Core.Helper;
using WIDESEA_IBasicRepository;
using WIDESEA_IOutboundRepository;
using WIDESEA_IOutboundService;
@@ -37,8 +39,9 @@
try
{
//鑾峰彇鏁版嵁
- List<Dt_OutLineView> lineViews = BaseDal.QueryData();
-
+ List<Dt_OutLineView> lineViews = BaseDal.QueryData().OrderBy(x=>x.CreateDate).ToList();
+ int taskCount = BaseDal.Db.Queryable<Dt_Task>().Where(x=>x.TaskType==TaskTypeEnum.OldYLOutbound.ObjToInt() && x.TaskStatus==TaskStatusEnum.Line_Executing.ObjToInt()).Count();
+ content.OK($"{taskCount}", lineViews);
}
catch (Exception ex)
{
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutSGOrderService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutSGOrderService.cs"
index 6c40d09..14554e5 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutSGOrderService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutSGOrderService.cs"
@@ -20,6 +20,9 @@
using WIDESEA_Common.WareHouseEnum;
using WIDESEA_Core.Helper;
using System.Reflection;
+using System.Text.RegularExpressions;
+using Microsoft.AspNetCore.Http;
+using HslCommunication;
namespace WIDESEA_OutboundService
{
@@ -51,12 +54,12 @@
//鑾峰彇鎵�鏈夋帓绋嬪崟
List<Dt_OutSGOrder> outSGOrders = BaseDal.Db.Queryable<Dt_OutSGOrder>().Includes(x => x.Details).ToList();
List<Dt_OutSGOrderDetail> outSGOrderDetails= outSGOrders.SelectMany(x=>x.Details).ToList();
- //鍒ゆ柇鍗曟嵁
- Dt_OutSGOrderDetail? ExistAddOutOrderDetail = outSGOrderDetails.FirstOrDefault(x => outOrderDTOs.Select(t => t.BoardMpsDetailId).Distinct().Contains(x.BoardMpsDetailId));
- if (ExistAddOutOrderDetail != null)
- {
- return content.Error($"鍑哄簱鎺掔▼鏄庣粏{nameof(SGOutOrderDTO.BoardMpsDetailId)}:{ExistAddOutOrderDetail.BoardMpsDetailId}宸插瓨鍦�");
- }
+ ////鍒ゆ柇鍗曟嵁
+ //Dt_OutSGOrderDetail? ExistAddOutOrderDetail = outSGOrderDetails.FirstOrDefault(x => outOrderDTOs.Select(t => t.BoardMpsDetailId).Distinct().Contains(x.BoardMpsDetailId));
+ //if (ExistAddOutOrderDetail != null)
+ //{
+ // return content.Error($"鍑哄簱鎺掔▼鏄庣粏{nameof(SGOutOrderDTO.BoardMpsDetailId)}:{ExistAddOutOrderDetail.BoardMpsDetailId}宸插瓨鍦�");
+ //}
//鑾峰彇鎵�鏈夌墿鏂�
List<Dt_MaterielInfo> materielInfos = _basicRepository.MaterielInfoRepository.QueryData(x => x.WarehouseId == WarehouseEnum.LLDYL.ObjToInt() && x.MaterielInvOrgId == MaterielInvOrgEnum.鑰佸巶.ObjToInt() && x.MaterialSourceId != 0);
SGOutOrderDTO? sGOutOrderDTO = outOrderDTOs.FirstOrDefault(x => !materielInfos.Select(x => x.MaterielCode).Contains(x.MaterialNo));
@@ -66,15 +69,28 @@
return content.Error($"鐢熶骇鎺掔▼{sGOutOrderDTO.OrderId}鐗╂枡:{sGOutOrderDTO.MaterialNo}涓嶅瓨鍦�");
}
List<Dt_OutSGOrder> AddOutSGOrders = new List<Dt_OutSGOrder>();
- foreach (var item in outOrderDTOs)
+ foreach (var item in outOrderDTOs.OrderBy(x=>x.Number))
{
//鑾峰彇宸ュ崟
Dt_OutSGOrder? ExistOutSGOrder = AddOutSGOrders.FirstOrDefault(x => x.OrderId == item.OrderId);
- //鑾峰彇鐗╂枡
- Dt_MaterielInfo materielInfo = materielInfos.FirstOrDefault(x => x.MaterielCode == item.MaterialNo);
+
//鏄庣粏鎻愬墠杞崲
Dt_OutSGOrderDetail outSGOrderDetail = _mapper.Map<Dt_OutSGOrderDetail>(item);
+ //鑾峰彇鐗╂枡
+ Dt_MaterielInfo? materielInfo = materielInfos.FirstOrDefault(x => x.MaterielCode == item.MaterialNo);
+ string code = ExtractFirstPercentContent(outSGOrderDetail.Remark);
+ //澶勭悊鐗规畩鎸囧畾鎺掔▼鍒ゆ柇
+ if (!code.IsNullOrEmpty() && code.StartsWith(outSGOrderDetail.MaterialNo))
+ {
+ materielInfo = materielInfos.FirstOrDefault(x => x.MaterielCode == code);
+ if (materielInfo==null)
+ {
+ return content.Error($"鐢熶骇鎺掔▼{item.OrderId}鎸囧畾鎺掔▼鐗╂枡:{code}涓嶅瓨鍦�");
+ }
+ outSGOrderDetail.MaterialNo = code;
+ }
outSGOrderDetail.MaterialName = materielInfo.MaterielName;
+
//鍒ゆ柇宸ュ崟鏄惁宸茬粡瀛樺湪
if (ExistOutSGOrder != null)
{
@@ -82,7 +98,6 @@
}
else
{
-
Dt_OutSGOrder outSGOrder = _mapper.Map<Dt_OutSGOrder>(item);
outSGOrder.Details = new List<Dt_OutSGOrderDetail>() { outSGOrderDetail };
AddOutSGOrders.Add(outSGOrder);
@@ -97,5 +112,20 @@
}
return content;
}
+ public static string ExtractFirstPercentContent(string input)
+ {
+ if (string.IsNullOrEmpty(input))
+ return null;
+
+ Regex regex = new Regex(@"%(.*?)%");
+ Match match = regex.Match(input);
+
+ if (match.Success && match.Groups[1].Success)
+ {
+ return match.Groups[1].Value.Trim();
+ }
+
+ return null;
+ }
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutStockLockInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutStockLockInfoService.cs"
index 293bc15..1a663c2 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutStockLockInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_OutboundService/OutStockLockInfoService.cs"
@@ -75,20 +75,22 @@
PalletCode = outStock.PalletCode,
AssignQuantity = assignQuantity,
MaterielCode = ouMESOrder.MaterialCode,
- BatchNo = ouMESOrder.MaterialLot,
+ BatchNo = outStock.BatchNo,
LocationCode = outStock.LocationCode,
MaterielName = outStock.MaterielName,
OrderDetailId = ouMESOrder.OutDetailId,
OrderNo = ouMESOrder.OutMESOrderNo,
MakeCode = ouMESOrder.MakeCode,
MachineName=ouMESOrder.MakeArea.ToString(),
+ OrderType=OutOrderTypeEnum.OutMESPick.ObjToInt(),
MaterielId = outStock.MaterielId,
OriginalQuantity = outStock.StockLength,
Status = taskNum == null ? OutLockStockStatusEnum.宸插垎閰�.ObjToInt() : OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt(),
StockId = outStock.Id,
TaskNum = taskNum,
OrderQuantity = ouMESOrder.ReqQuantity,
- Unit = outStock.Unit
+ Unit = outStock.Unit,
+ AssistUnit= ouMESOrder.AssistUnitCode
};
return outStockLockInfo;
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/StockInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/StockInfoService.cs"
index 47834ae..247c7aa 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/StockInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/StockInfoService.cs"
@@ -155,7 +155,8 @@
BSTResponse<BSTStockInfoDTO> bSTResponse = _invokeERPService.BSTStockAsync(item.PalletCode).DeserializeObject<BSTResponse<BSTStockInfoDTO>>();
if (bSTResponse.Code == 500)
{
- throw new Exception($"鏈壘鍒版潯鐮亄item.PalletCode}涓�鏈烢RP搴撳瓨涓嶅瓨鍦�");
+ content.Message += $"鏉$爜{item.PalletCode}涓�鏈烢RP搴撳瓨涓嶅瓨鍦�,";
+ continue;
}
BSTStockInfoDTO bSTStockInfoDTO = bSTResponse.Data ?? throw new Exception($"涓�鏈烢RP鏈繑鍥瀧item.PalletCode}鐨勫簱瀛樹俊鎭�");
if (item.StockLength != bSTStockInfoDTO.StockMeter && bSTStockInfoDTO.StockMeter>0)
@@ -180,7 +181,7 @@
BaseDal.DeleteAndMoveIntoHty(stockInfosDel, App.User.UserId > 0 ? OperateTypeEnum.浜哄伐瀹屾垚 : OperateTypeEnum.鑷姩瀹屾垚);
}
_unitOfWorkManage.CommitTran();
- content.OK("鏇存柊鎴愬姛");
+ content.OK();
}
catch (Exception ex)
{
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs"
index 95aa5f8..1f47085 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/MesTaskService.cs"
@@ -33,6 +33,8 @@
using WIDESEA_External.Model;
using System.Text.Json;
using System.Text.RegularExpressions;
+using WIDESEA_Common.MaterielEnum;
+using MailKit.Search;
namespace WIDESEA_TaskInfoService
{
@@ -90,8 +92,8 @@
DispatchPlanMaterialId = autoIssueDTO.OutDetailId,
InvItemCode = task.MaterielCode,
Quantity = outStockLockInfo.AssignQuantity,
- SendOutTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"),
- ArrivalTime = DateTime.Now.AddMinutes(15).ToString("yyyy-MM-dd hh:mm:ss")
+ SendOutTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+ ArrivalTime = DateTime.Now.AddMinutes(15).ToString("yyyy-MM-dd HH:mm:ss")
};
MESDispatchModel dispatchModel = new MESDispatchModel()
{
@@ -99,15 +101,15 @@
};
_unitOfWorkManage.BeginTran();
task.TaskStatus = TaskStatusEnum.New.ObjToInt();
- task.TargetAddress = stationInfo.AGVStationCode;
+ task.TargetAddress = autoIssueDTO.PointCode.StartsWith("YS") ? stationInfo.AGVStationCode : autoIssueDTO.PointCode;
BaseDal.UpdateData(task);
MESResponse mESResponse = _invokeMESService.MESDispatchUp(dispatchModel).DeserializeObject<MESResponse>() ?? throw new Exception("鏈幏鍙栧埌杩斿洖淇℃伅");
if (!mESResponse.Result)
{
throw new Exception($"MES閰嶉�佸嚭鍙戞帴鍙h皟鐢ㄦ姤閿�,MES杩斿洖淇℃伅{DecodeUnicode(mESResponse.Msg)}");
}
- PushTasksToWCS(new List<Dt_Task> { task });
_unitOfWorkManage.CommitTran();
+ PushTasksToWCS(new List<Dt_Task> { task });
return content.OK("鍙枡鎴愬姛");
}
}
@@ -167,8 +169,8 @@
DispatchPlanMaterialId = manualIssueDTO.OutDetailId,
InvItemCode = task.MaterielCode,
Quantity = outStockLockInfo.AssignQuantity,
- SendOutTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"),
- ArrivalTime = DateTime.Now.AddMinutes(15).ToString("yyyy-MM-dd hh:mm:ss")
+ SendOutTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
+ ArrivalTime = DateTime.Now.AddMinutes(15).ToString("yyyy-MM-dd HH:mm:ss")
};
MESDispatchModel dispatchModel = new MESDispatchModel()
{
@@ -176,15 +178,15 @@
};
_unitOfWorkManage.BeginTran();
task.TaskStatus = TaskStatusEnum.New.ObjToInt();
- task.TargetAddress = stationInfo.AGVStationCode;
+ task.TargetAddress = manualIssueDTO.PointCode.StartsWith("YS") ? stationInfo.AGVStationCode : manualIssueDTO.PointCode;
BaseDal.UpdateData(task);
MESResponse mESResponse = _invokeMESService.MESDispatchUp(dispatchModel).DeserializeObject<MESResponse>() ?? throw new Exception("鏈幏鍙栧埌杩斿洖淇℃伅");
if (!mESResponse.Result)
{
throw new Exception($"MES閰嶉�佸嚭鍙戞帴鍙h皟鐢ㄦ姤閿�,MES杩斿洖淇℃伅{DecodeUnicode(mESResponse.Msg)}");
}
- PushTasksToWCS(new List<Dt_Task> { task });
_unitOfWorkManage.CommitTran();
+ PushTasksToWCS(new List<Dt_Task> { task });
return content.OK("鍙枡鎴愬姛");
}
}
@@ -216,16 +218,116 @@
{
return content.Error($"鍛ㄨ浆浣峽nameof(MESReturnIssueDTO.PointCode)}{returnIssueDTO.PointCode}涓嶅瓨鍦�");
}
+ //鑾峰彇鎵�鏈夊簱瀛�
+ List<Dt_StockInfo> stockInfosOld = _stockRepository.StockInfoRepository.QueryData();
+ ////绌烘墭
+ //foreach (var item in returnIssueDTOs.Where(x=>x.ReturnMaterial==null))
+ //{
+ //}
+ //閫�鏂�
+ List<Dt_StockInfo> stockInfos=new List<Dt_StockInfo>();
+ List<Dt_Task> tasksNew = new List<Dt_Task>();
+ foreach (var item in returnIssueDTOs.Where(x => x.ReturnMaterial != null))
+ {
+ MESReturnMaterial? returnMaterial = item.ReturnMaterial;
+ if (returnMaterial.BarCode.IsNullOrEmpty())
+ {
+ return content.Error($"閫�鏂欎紶鍏ユ潯鐮佷笉鑳戒负绌�");
+ }
+
+ Dt_AGVStationInfo aGVStationInfo = aGVStationInfos.FirstOrDefault(x => x.MESPointCode == item.PointCode);
+ Dt_MaterielInfo? materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == returnMaterial.MaterialCode);
+ if (materielInfo == null)
+ {
+ return content.Error($"鏈壘鍒版潯鐮亄returnMaterial.BarCode}鐗╂枡淇℃伅");
+ }
+ //鍒ゆ柇
+ if (returnMaterial.Thickness <= 0 && materielInfo.WarehouseId==WarehouseEnum.LLDYL.ObjToInt())
+ {
+ return content.Error($"鐗╂枡{returnMaterial.MaterialCode}鏉$爜{returnMaterial.BarCode}鐩村緞涓嶈兘灏忎簬0");
+ }
+ if (returnMaterial.Wide <= 0 && materielInfo.WarehouseId == WarehouseEnum.LLDYL.ObjToInt())
+ {
+ return content.Error($"鐗╂枡{returnMaterial.MaterialCode}鏉$爜{returnMaterial.BarCode}鐩村緞涓嶈兘灏忎簬0");
+ }
+ Dt_StockInfo? stockInfoOld = stockInfosOld.FirstOrDefault(x => x.PalletCode == returnMaterial.BarCode);
+ if (stockInfoOld != null)
+ {
+ return content.Error($"鏉$爜{returnMaterial.BarCode}淇℃伅宸插瓨鍦�");
+ }
+ //鐢熸垚搴撳瓨缁勭洏淇℃伅
+ Dt_StockInfo stockInfo = new Dt_StockInfo()
+ {
+ MaterielInvOrgId = materielInfo.MaterielInvOrgId,
+ PalletCode = returnMaterial.BarCode,
+ LocationCode = "",
+ PalletType = 1,
+ WarehouseId = materielInfo.WarehouseId,
+ StockAttribute = materielInfo.MaterielSourceType,
+ StockStatus = StockStatusEmun.MES浣欐枡閫�搴�.ObjToInt(),
+ MaterielSpec = materielInfo.MaterielSpec,
+ BatchNo = returnMaterial.MaterialLot,
+ Unit = materielInfo.MaterielUnit,
+ MaterielThickness = returnMaterial.Thickness,
+ MaterielWide = returnMaterial.Wide,
+ MaterielWeight = returnMaterial.Weight,
+ MaterielCode = materielInfo.MaterielCode,
+ StockLength = returnMaterial.ReturnQuantity,
+ OrderNo = returnMaterial.ReturnOrderNo,
+ MaterielName = materielInfo.MaterielName,
+ IsFull = WhetherEnum.True.ObjToInt(),
+ IsPick = returnMaterial.Whether == 0 ? WhetherEnum.True.ObjToInt() : WhetherEnum.False.ObjToInt(),
+ Remark = StockStatusEmun.MES浣欐枡閫�搴�.ToString()
+ };
+ if (stockInfo.MaterielWide > 1200)
+ {
+ stockInfo.PalletType = 2;
+ }
+ stockInfos.Add(stockInfo);
+ //鐢熸垚浣欐枡閫�鏂欎换鍔�
+ Dt_Task newTask = new Dt_Task()
+ {
+ CurrentAddress = item.PointCode.StartsWith("YS") ? aGVStationInfo.AGVStationCode : item.PointCode,
+ Grade = 0,
+ NextAddress = "",
+ PalletCode = stockInfo.PalletCode,
+ Roadway = "",
+ SourceAddress = item.PointCode.StartsWith("YS") ? aGVStationInfo.AGVStationCode : item.PointCode,
+ TargetAddress = "",
+ TaskStatus = TaskStatusEnum.New.ObjToInt(),
+ WarehouseId = materielInfo.WarehouseId,
+ PalletType = stockInfo.PalletType,
+ MaterielCode=stockInfo.MaterielCode,
+ Quantity=stockInfo.StockLength,
+ OrderNo=stockInfo.OrderNo,
+ TaskLength = (int)stockInfo.MaterielWide,
+ GroupId= item.IssueId,
+ WorkCentreCode=item.MakeCode
+ };
+ TaskTypeEnum taskTypeEnum = aGVStationInfo.StationArea switch
+ {
+ nameof(StationAreaEnum.涓�妤煎嵃鍒�) => TaskTypeEnum.PrintYLBackInbound,
+ _ => throw new Exception("鏈壘鍒板搴斾换鍔�")
+ };
+ newTask.TaskType = taskTypeEnum.ObjToInt();
+ tasksNew.Add(newTask);
+ }
+ _unitOfWorkManage.BeginTran();
+ BaseDal.AddData(tasksNew);
+ _stockRepository.StockInfoRepository.AddData(stockInfos);
+ _unitOfWorkManage.CommitTran();
+ //鎺ㄩ�佷换鍔�
+ PushTasksToWCS(tasksNew);
content.OK("鍛煎彨鎴愬姛");
}
}
catch (Exception ex)
{
+ _unitOfWorkManage.RollbackTran();
content.Error(ex.Message);
}
return content;
}
-
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService_Inbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
index 721cf23..c02eb9c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService_Inbound.cs"
@@ -1605,6 +1605,10 @@
return content.Error($"鍛ㄨ浆浣峽nameof(MESReturnIssueDTO.PointCode)}{item?.PointCode}涓嶅瓨鍦�,浠呮垚鍝佺墿鏂欏彲涓嶄紶");
}
}
+ if (materielInfo.MaterielSourceType == MaterielTypeEnum.鎴愬搧.ObjToInt() && (item.Length <= 0 || item.Width <= 0 || item.Height<=0))
+ {
+ return content.Error($"绠辩爜{item.ProPackCode}锛岄暱搴�/瀹藉害/楂樺害涓嶈兘涓�0");
+ }
Dt_MESProInOrderInfo AddproInOrderInfo = _mapper.Map<Dt_MESProInOrderInfo>(item);
AddproInOrderInfo.WarehouseId = materielInfo.WarehouseId;
AddproInOrderInfo.MESProOrderType = materielInfo.MaterielSourceType;
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService_Outbound.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
index d06a1c4..bc8997a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_TaskInfoService/TaskService_Outbound.cs"
@@ -25,6 +25,7 @@
using WIDESEA_DTO.MES;
using WIDESEA_DTO.Outbound;
using Microsoft.IdentityModel.Tokens;
+using OfficeOpenXml.FormulaParsing.Excel.Functions.RefAndLookup;
namespace WIDESEA_TaskInfoService
{
@@ -189,7 +190,22 @@
x.Status=OutLockStockStatusEnum.鍑哄簱瀹屾垚.ObjToInt();
});
_outboundRepository.OutStockLockInfoRepository.UpdateData(outStockLockInfos);
- _outboundService.OutLineViewService.SaveLineView(outStockLockInfos);
+ List<Dt_OutStockLockInfo> outStockLockInfosSG = outStockLockInfos.Where(x => x.OrderType == OutOrderTypeEnum.OutSGPick.ObjToInt()).ToList();
+ List<Dt_OutStockLockInfo> outStockLockInfosMES = outStockLockInfos.Where(x => x.OrderType == OutOrderTypeEnum.OutMESPick.ObjToInt()).ToList();
+ if (outStockLockInfosSG !=null && outStockLockInfosSG.Count()>0)
+ {
+ _outboundService.OutLineViewService.SaveLineView(outStockLockInfosSG);
+ }
+ if (outStockLockInfosMES != null && outStockLockInfosMES.Count() > 0)
+ {
+ Dt_AGVStationInfo aGVStationInfo = _basicRepository.AGVStationInfoRepository.QueryFirst(x=>x.AGVStationCode==task.TargetAddress);
+ MESDeliveryModel mESDeliveryModel = MESDeliveryUp(outStockLockInfosMES, aGVStationInfo.MESPointCode);
+ MESResponse response = _invokeMESService.MESDelivery(mESDeliveryModel).DeserializeObject<MESResponse>() ?? throw new Exception("鏈幏鍙栧埌杩斿洖淇℃伅");
+ if (!response.Result)
+ {
+ throw new Exception($"MES閰嶉�佸嚭鍙戞帴鍙h皟鐢ㄦ姤閿�,MES杩斿洖淇℃伅{DecodeUnicode(response.Msg)}");
+ }
+ }
}
_basicService.LocationInfoService.UpdateLocationStatus(locationInfoStart, stockInfo.PalletType, LocationStatusEnum.Free, stockInfo.WarehouseId);
BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId > 0 ? OperateTypeEnum.浜哄伐瀹屾垚 : OperateTypeEnum.鑷姩瀹屾垚);
@@ -207,6 +223,34 @@
_unitOfWorkManage.RollbackTran();
return content.Error(ex.Message);
}
+ }
+ /// <summary>
+ /// 閰嶉�侀�佽揪淇℃伅
+ /// </summary>
+ /// <returns></returns>
+ public MESDeliveryModel MESDeliveryUp(List<Dt_OutStockLockInfo> outStockLockInfos,string address)
+ {
+ MESDeliveryModel mESDeliveryModel = new MESDeliveryModel()
+ {
+ PRO_DispatchPlanMaterialsInfoNew= new List<MESDeliveryInfo>()
+ };
+ foreach (var item in outStockLockInfos)
+ {
+ MESDeliveryInfo mESDeliveryInfo = new MESDeliveryInfo()
+ {
+ InvItemCode=item.MaterielCode,
+ DispatchPlanMaterialId=item.OrderDetailId,
+ UnitCode=item.Unit,
+ GradeCode="001",
+ MainQuantity=item.AssignQuantity,
+ AssistUnitCode=item.AssistUnit,
+ LocationCode= address,
+ LotNumber=item.BatchNo,
+ MaterialBarCode=item.PalletCode
+ };
+ mESDeliveryModel.PRO_DispatchPlanMaterialsInfoNew.Add(mESDeliveryInfo);
+ }
+ return mESDeliveryModel;
}
/// <summary>
/// 搴撳瓨鏁版嵁杞嚭搴撲换鍔�(鍘熸枡/鍗婃垚鍝�)
@@ -294,7 +338,9 @@
MaterielCode = stockInfo.MaterielCode,
RfidCode = stockInfo.RfidCode,
Quantity = stockInfo.StockLength,
- OrderNo= outStockLockInfo.OrderNo
+ OrderNo= outStockLockInfo.OrderNo,
+ DispatchPlanId=outStockLockInfo.OrderDetailId,
+ WorkCentreCode=outStockLockInfo.MakeCode
};
if (stockInfo.MaterielWide > 0)
{
@@ -842,6 +888,8 @@
Dt_MakeCenterInfo makeCenterInfo=makeCenterInfos.FirstOrDefault(x => x.MakeCode == item.MakeCode);
item.MakeArea = makeCenterInfo.MakeArea;
item.WarehouseId = materielInfo.WarehouseId;
+ item.MaterielUnit = materielInfo.MaterielUnit;
+ item.AssistUnitCode = materielInfo.AssistUnitCode;
}
_unitOfWorkManage.BeginTran();
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/MES/MesController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/MES/MesController.cs"
index 9a43bd8..e7d6612 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/MES/MesController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/MES/MesController.cs"
@@ -144,9 +144,9 @@
/// <param name="boxCode"></param>
/// <returns></returns>
[HttpPost,HttpGet, Route("MESBoxCodeNotice"), AllowAnonymous]
- public string MESBoxCodeNotice(string boxCode)
+ public WebResponseContent MESBoxCodeNotice(string boxCode)
{
- return _invokeMESService.MESBoxCodeNotice(boxCode);
+ return _proInOrderInfoService.MESBoxCode(boxCode);
}
}
}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Outbound/OutLineViewController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Outbound/OutLineViewController.cs"
index 8b6850a..8d68782 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Outbound/OutLineViewController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/Controllers/Outbound/OutLineViewController.cs"
@@ -1,4 +1,5 @@
-锘縰sing Microsoft.AspNetCore.Mvc;
+锘縰sing Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
using WIDESEA_Core;
using WIDESEA_Core.BaseController;
using WIDESEA_IOutboundService;
@@ -7,7 +8,7 @@
namespace WIDESEA_WMSServer.Controllers.Outbound
{
/// <summary>
- /// 鍗氭�濋�氶鏂欎俊鎭�
+ /// 鍑哄簱绾夸綋缂撳瓨
/// </summary>
[Route("api/OutLineView")]
[ApiController]
@@ -20,6 +21,7 @@
/// 鑾峰彇绾夸綋鍘熺焊
/// </summary>
/// <returns></returns>
+ [HttpPost, HttpGet, Route("GetOutLineView"), AllowAnonymous]
public WebResponseContent GetOutLineView()
{
return Service.GetOutLineView();
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/appsettings.json" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/appsettings.json"
index bf60794..0c8bd96 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/appsettings.json"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_WMSServer/appsettings.json"
@@ -30,7 +30,7 @@
"LogAopEnable": false,
"PrintSql": true, //鎵撳嵃SQL璇彞
"ApiName": "WIDESEA",
- "ExpMinutes": 120,
+ "ExpMinutes": 360,
"QuartzJobAutoStart": true,
"PDAVersion": "4",
"WebSocketPort": 9296
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\346\216\245\345\217\243\345\215\217\350\256\256/\351\276\231\345\210\251\345\276\227MES\346\216\245\345\217\243.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\346\216\245\345\217\243\345\215\217\350\256\256/\351\276\231\345\210\251\345\276\227MES\346\216\245\345\217\243.xlsx"
index 13da281..683739a 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\346\216\245\345\217\243\345\215\217\350\256\256/\351\276\231\345\210\251\345\276\227MES\346\216\245\345\217\243.xlsx"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\346\216\245\345\217\243\345\215\217\350\256\256/\351\276\231\345\210\251\345\276\227MES\346\216\245\345\217\243.xlsx"
Binary files differ
--
Gitblit v1.9.3