From ef3870bb8d578457b310e58518ca814f3d4f932c Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期一, 26 五月 2025 08:59:17 +0800 Subject: [PATCH] 更新 --- 代码管理/WMS/WIDESEA_WMSClient/src/router/viewGird.js | 5 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs | 2 代码管理/WMS/WIDESEA_WMSClient/src/views/stock/ProStockView.vue | 16 + 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IProOutOrderService.cs | 7 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfo.cs | 6 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_ErpProInOrder.cs | 5 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductWarehousingOrderDTO.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductSpecifyVerDTO.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs | 6 代码管理/WMS/WIDESEA_WMSClient/src/extension/inbound/erpProInOrder.js | 71 ++++++++++ /dev/null | 0 代码管理/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/658de7b0-2303-43c4-87fc-06fd585d17a1.vsidx | 0 代码管理/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/proOutboundOrderDetail.vue | 8 + 代码管理/WMS/WIDESEA_WMSClient/src/views/inbound/erpProInOrder.vue | 169 ++++++++++++++++++++++++ 代码管理/WMS/WIDESEA_WMSClient/src/views/outbound/proOutOrder.vue | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/ProStockViewDTO.cs | 5 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs | 65 +++++++++ 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs | 2 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs | 10 + 20 files changed, 371 insertions(+), 14 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1fe64147-8dfd-4ee1-8bd7-32b388f28abb.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1fe64147-8dfd-4ee1-8bd7-32b388f28abb.vsidx" deleted file mode 100644 index 589ad25..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/1fe64147-8dfd-4ee1-8bd7-32b388f28abb.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/44cb5461-c100-4e78-a381-4330ae4ab9de.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/44cb5461-c100-4e78-a381-4330ae4ab9de.vsidx" deleted file mode 100644 index 986b43e..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/44cb5461-c100-4e78-a381-4330ae4ab9de.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/658de7b0-2303-43c4-87fc-06fd585d17a1.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/658de7b0-2303-43c4-87fc-06fd585d17a1.vsidx" new file mode 100644 index 0000000..1f88fec --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/658de7b0-2303-43c4-87fc-06fd585d17a1.vsidx" Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8dd87865-fe22-4130-8231-509473f7b6d4.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8dd87865-fe22-4130-8231-509473f7b6d4.vsidx" deleted file mode 100644 index 8e7940b..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/8dd87865-fe22-4130-8231-509473f7b6d4.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/dc43775f-a589-43e0-ab2e-b520b2970e2f.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/dc43775f-a589-43e0-ab2e-b520b2970e2f.vsidx" deleted file mode 100644 index 42d3add..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/dc43775f-a589-43e0-ab2e-b520b2970e2f.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/df7b9a5b-7d49-478c-bb6e-f2fe795c669f.vsidx" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/df7b9a5b-7d49-478c-bb6e-f2fe795c669f.vsidx" deleted file mode 100644 index ee7c8a0..0000000 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/FileContentIndex/df7b9a5b-7d49-478c-bb6e-f2fe795c669f.vsidx" +++ /dev/null Binary files differ diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs" index 8d7e69a..5d8bc5a 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs" @@ -39,7 +39,7 @@ }); ; builder.ConfigureApplication(); -App.ExpDateTime = DateTime.Parse("2025-05-31 00:00:00"); +//App.ExpDateTime = DateTime.Parse("2025-05-31 00:00:00"); // 2、配置服务 builder.Services.AddSingleton(new AppSettings(builder.Configuration));//注册 diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/inbound/erpProInOrder.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/inbound/erpProInOrder.js" new file mode 100644 index 0000000..36acbd5 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/inbound/erpProInOrder.js" @@ -0,0 +1,71 @@ + +//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜 + +let extension = { + components: { + //鏌ヨ鐣岄潰鎵╁睍缁勪欢 + gridHeader: '', + gridBody: '', + gridFooter: '', + //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢 + modelHeader: '', + modelBody: '', + modelFooter: '' + }, + tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓) + buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽� + methods: { + //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄� + onInit() { + //鎵╁睍椤甸潰鍒濆鍖栨搷浣� + this.columns.push({ + field: '鎿嶄綔', + title: '鎿嶄綔', + width: 90, + fixed: 'right', + align: 'center', + formatter: (row) => { + return ( + '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">鏌ョ湅鏄庣粏</i>' + ); + }, + }); + }, + onInited() { + //妗嗘灦鍒濆鍖栭厤缃悗 + //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔 + //this.detailOptions.columns.forEach(column=>{ }); + }, + searchBefore(param) { + //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟 + //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ + return true; + }, + searchAfter(result) { + //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊� + return true; + }, + addBefore(formData) { + //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫�� + return true; + }, + updateBefore(formData) { + //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d + return true; + }, + rowClick({ row, column, event }) { + //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠� + this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�; + }, + modelOpenAfter(row) { + //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁 + //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add'; + //(2)缁欏脊鍑烘璁剧疆榛樿鍊� + //(3)this.editFormFields.瀛楁='xxx'; + //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊� + //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions) + } + } + }; + export default extension; + \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/proOutboundOrderDetail.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/proOutboundOrderDetail.vue" index 04d31cf..e3357c4 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/proOutboundOrderDetail.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/proOutboundOrderDetail.vue" @@ -279,7 +279,13 @@ prop: "pVer", title: "浜у搧鐗堟湰", type: "string", - width: 150, + width: 90, + }, + { + prop: "outSpecifyVer", + title: "鎸囨淳鐗堟湰", + type: "string", + width: 90, }, { prop: "pLot", diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/router/viewGird.js" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/router/viewGird.js" index afb1d59..efc14f3 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/router/viewGird.js" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/router/viewGird.js" @@ -283,6 +283,11 @@ path: '/proInStatistics', name: 'proInStatistics', component: () => import('@/views/inbound/proInStatistics.vue') + }, + { + path: '/erpProInOrder', + name: 'erpProInOrder', + component: () => import('@/views/inbound/erpProInOrder.vue') } ] export default viewgird diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/erpProInOrder.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/erpProInOrder.vue" new file mode 100644 index 0000000..951b571 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/inbound/erpProInOrder.vue" @@ -0,0 +1,169 @@ +<template> + <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields" + :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions" + :table="table" :extend="extend"> + </view-grid> + </template> + <script> + import extend from "@/extension/inbound/erpProInOrder.js"; + import { ref, defineComponent } from "vue"; + export default defineComponent({ + setup() { + const table = ref({ + key: "id", + footer: "Foots", + cnName: "鎴愬搧璋冩嫧/瀵勫敭鍏ュ簱鍗�", + name: "erpProInOrder", + url: "/erpProInOrder/", + sortName: "id", + }); + const editFormFields = ref({ + + }); + const editFormOptions = ref([ + [ + + ], + ]); + const searchFormFields = ref({ + warehouseId: "", + pCode: "", + pVer: "", + orderNo: "", + upperOrderNo: "" + }); + const searchFormOptions = ref([ + [ + { title: "浜у搧缂栫爜", field: "pCode",type: "like"}, + { + title: "浠撳簱", + field: "warehouseId", + type: "select", + dataKey: "warehouses", + data: [] + }, + { title: "浜у搧鐗堟湰", field: "pVer",type: "like"}, + ], + [ + { title: "鍗曟嵁缂栧彿", field: "orderNo",type: "like"}, + { title: "涓婃父鍗曟嵁缂栧彿", field: "upperOrderNo",type: "like"}, + ], + ]); + const columns = ref([ + { + field: "id", + title: "Id", + type: "int", + width: 90, + hidden: true, + readonly: true, + require: true, + align: "left", + }, + { + field: "warehouseId", + title: "鎵�灞炰粨搴�", + type: "string", + width: 120, + align: "left", + bind: { key: "warehouses", data: [] }, + }, + { + field: "orderNo", + title: "鍗曟嵁缂栧彿", + type: "string", + width: 150, + align: "left", + }, + { + field: "upperOrderNo", + title: "涓婃父鍗曟嵁缂栧彿", + type: "string", + width: 150, + align: "left", + }, + { + field: "orderType", + title: "鍗曟嵁绫诲瀷", + type: "string", + width: 120, + align: "left", + bind: { key: "proInOrderType", data: [{key:1,value:"璋冩嫧鍏ュ簱"},{key:2,value:"閿�鍞浆鍏�"}] }, + }, + { + field: "proInStatus", + title: "璁㈠崟鐘舵��", + type: "string", + width: 100, + align: "left", + bind: { key: "inboundState", data: [] }, + }, + { + field: "pCode", + title: "浜у搧鍨嬪彿", + type: "string", + width: 120, + align: "left", + }, + { + field: "pVer", + title: "浜у搧鐗堟湰", + type: "string", + width: 90, + align: "left", + }, + { + field: "dateCode", + title: "浜у搧鍛ㄦ湡", + type: "string", + width: 90, + align: "left", + }, + { + field: "qtyPcs", + title: "Pcs鏁伴噺", + type: "string", + width: 120, + align: "left", + }, + { + field: "proSaleOrderNo", + title: "閿�鍞鍗曞彿", + type: "string", + width: 180, + align: "left", + }, + { + field: "createDate", + title: "鍒涘缓鏃堕棿", + type: "datetime", + width: 160, + align: "left", + }, + { + field: "modifier", + title: "鎿嶄綔浜�", + type: "datetime", + width: 160, + align: "left", + } + ]); + const detail = ref({ + cnName: "#detailCnName", + table: "", + columns: [], + sortName: "", + }); + return { + table, + extend, + editFormFields, + editFormOptions, + searchFormFields, + searchFormOptions, + columns, + detail, + }; + }, + }); + </script> \ No newline at end of file diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/proOutOrder.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/proOutOrder.vue" index 4b35cbb..0811f3f 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/proOutOrder.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/outbound/proOutOrder.vue" @@ -151,7 +151,7 @@ type: "string", width: 150, align: "left", - bind: { key: "outOrderType", data: [{key:1,value:"璁㈠崟鍑鸿揣"}] }, + bind: { key: "proOutOrderType", data: [{key:1,value:"璁㈠崟鍑鸿揣"},,{key:2,value:"閿�鍞嚭搴�"}] }, }, { field: "proOrderStatus", diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/ProStockView.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/ProStockView.vue" index e668c68..7feab4e 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/ProStockView.vue" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/views/stock/ProStockView.vue" @@ -38,7 +38,8 @@ palletCode: "", // locationCode: "", materielCode:"", - batchNo:"" + batchNo:"", + specifyVer:"" }); const searchFormOptions = ref([ [ @@ -46,10 +47,12 @@ // { title: "璐т綅缂栧彿", field: "locationCode",type: "like" }, { title: "璐т綅鐘舵��", field: "locationStatus" ,type: "selectList",dataKey: "locationStatusEnum",data: [],}, { title: "搴撳瓨鐘舵��", field: "stockStatus",type: "selectList",dataKey: "stockStatusEmun",data: [],}, + { title: "浜у搧缂栫爜", field: "productCode",type: "like"}, ], [ - { title: "浜у搧缂栫爜", field: "productCode",type: "like"}, + { title: "浜у搧鐗堟湰", field: "productVersion",type: "like"}, + { title: "鎸囨淳鐗堟湰", field: "specifyVer",type: "like"}, { title: "鎵�灞炰粨搴�", field: "warehouseId",type: "selectList",dataKey: "warehouses",data: [],}, ] ]); @@ -125,10 +128,17 @@ align: "left" }, { + field: "specifyVer", + title: "鎸囨淳鐗堟湰", + type: "string", + width: 100, + align: "left" + }, + { field: "dateCode", title: "浜у搧鍛ㄦ湡", type: "string", - width: 140, + width: 100, align: "left", }, { diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductSpecifyVerDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductSpecifyVerDTO.cs" index a7f780c..6ac440b 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductSpecifyVerDTO.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductSpecifyVerDTO.cs" @@ -47,7 +47,7 @@ /// 浜у搧鍛ㄦ湡 /// </summary> [PropertyValidate("浜у搧鍛ㄦ湡")] - public int DateCode { get; set; } + public string DateCode { get; set; } /// <summary> /// 浠撳簱绫诲瀷 diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductWarehousingOrderDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductWarehousingOrderDTO.cs" index af21439..916f7d7 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductWarehousingOrderDTO.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/ERP/ErpProductWarehousingOrderDTO.cs" @@ -8,7 +8,7 @@ namespace WIDESEA_DTO.ERP { /// <summary> - /// 鎴愬搧璋冨叆寰呭彂璐т粨琛� + /// 鎴愬搧璋冨叆/閿�鍞浆鍏ュ緟鍙戣揣浠� /// </summary> [ModelValidate] public class ErpProductWarehousingOrderDTO diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/ProStockViewDTO.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/ProStockViewDTO.cs" index c658a9e..412d4ff 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/ProStockViewDTO.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_DTO/Stock/ProStockViewDTO.cs" @@ -89,6 +89,11 @@ /// </summary> [ExporterHeader(DisplayName = "鐗堟湰")] public string ProductVersion { get; set; } + /// <summary> + /// 鐗堟湰 + /// </summary> + [ExporterHeader(DisplayName = "鐗堟湰")] + public string SpecifyVer { get; set; } /// <summary> /// 浜у搧鍛ㄦ湡 diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IProOutOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IProOutOrderService.cs" index a1960cb..a4e0a9c 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IProOutOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IProOutOrderService.cs" @@ -15,11 +15,16 @@ { IProOutOrderRepository Repository { get; } /// <summary> - /// 鎺ユ敹鎴愬搧鍑哄簱鍗� + /// 鎺ユ敹ERP鎴愬搧鍑哄簱鍗曚俊鎭�(璁㈠崟鍑哄簱/瀵勫敭鍑哄簱) /// </summary> /// <returns></returns> Task<WebResponseContent> ProductDeliveryOrder(ErpProOutOrderDTO outOrderDTO); /// <summary> + /// 閿�鍞儴浠舵寚娲� + /// </summary> + /// <returns></returns> + Task<WebResponseContent> ProductSpecifyVer(ErpProductSpecifyVerDTO erpProductSpecifyVerDTO); + /// <summary> /// 鎴愬搧鍑哄緟鍙戣揣鍖�(骞冲簱)+鍚屾ERP鍑哄簱(宸茬粦瀹氬嚭搴撳崟搴撳瓨) /// </summary> /// <returns></returns> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_ErpProInOrder.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_ErpProInOrder.cs" index 9072bc6..3e7e405 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_ErpProInOrder.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Inbound/Dt_ErpProInOrder.cs" @@ -55,6 +55,11 @@ [SugarColumn(IsNullable = true, ColumnDescription = "搴撳瓨灞炴��")] public int ProStockAttribute { get; set; } /// <summary> + /// 鍏ュ簱鍗曠姸鎬� + /// </summary> + [SugarColumn(IsNullable = false, ColumnDescription = "鍏ュ簱鍗曠姸鎬�")] + public int ProInStatus { get; set; } + /// <summary> /// 浜у搧缂栫爜 /// </summary> [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "浜у搧缂栫爜")] diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfo.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfo.cs" index db38400..e645c4a 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfo.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Stock/Dt_ProStockInfo.cs" @@ -52,6 +52,12 @@ public string ShipmentOrder { get; set; } /// <summary> + /// 鍏ュ簱鍗曞彿 + /// </summary> + [SugarColumn(IsNullable = true, Length = 30, ColumnDescription = "鍏ュ簱鍗曞彿")] + public string ProInOrderNo { get; set; } + + /// <summary> /// 浠撳簱涓婚敭 /// </summary> [SugarColumn(IsNullable = false, ColumnDescription = "浠撳簱涓婚敭")] diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs" index 94e8e3b..c700679 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/ProOutOrderService.cs" @@ -53,7 +53,7 @@ _invokeERPService = invokeERPService; } /// <summary> - /// 鎺ユ敹ERP鎴愬搧鍑哄簱鍗� + /// 鎺ユ敹ERP鎴愬搧鍑哄簱鍗曚俊鎭�(璁㈠崟鍑哄簱/瀵勫敭鍑哄簱) /// </summary> /// <returns></returns> public async Task<WebResponseContent> ProductDeliveryOrder(ErpProOutOrderDTO outOrderDTO) @@ -201,6 +201,69 @@ return content; } /// <summary> + /// 閿�鍞寚娲� + /// </summary> + /// <returns></returns> + public async Task<WebResponseContent> ProductSpecifyVer(ErpProductSpecifyVerDTO erpProductSpecifyVerDTO) + { + WebResponseContent content = new WebResponseContent(); + try + { + Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x=>x.WarehouseCode==erpProductSpecifyVerDTO.WaType); + if (warehouse == null) + return await Task.FromResult(content.Error($"鏈壘鍒皗erpProductSpecifyVerDTO.WaType}浠撳簱淇℃伅")); + //鏌ヨ鍙寚娲惧簱瀛� + List<Dt_ProStockInfo> proStockInfos = Db.Queryable<Dt_ProStockInfo>().Where(x => x.ProStockAttribute == ProStockAttributeEnum.鎴愬搧.ObjToInt()) + .Includes(x => x.proStockInfoDetails) + .Where(x => x.proStockInfoDetails + .Any(v => + v.SaleOrder == erpProductSpecifyVerDTO.OrderNo + && v.ProductCode == erpProductSpecifyVerDTO.PCode + && v.ProductVersion == erpProductSpecifyVerDTO.PVer + && v.LotNumber == erpProductSpecifyVerDTO.PLot + && v.DateCode == erpProductSpecifyVerDTO.DateCode + && (v.SpecifyVer==null||v.SpecifyVer=="") + )) + .ToList(); + List<Dt_ProStockInfoDetail> proStockInfoDetails = new List<Dt_ProStockInfoDetail>(); + List<Dt_ProStockInfoDetail> specifyVerDetails = new List<Dt_ProStockInfoDetail>(); + if (proStockInfos==null) + return await Task.FromResult(content.Error("鍙寚娲惧簱瀛樹笉瀛樺湪")); + proStockInfos = proStockInfos.OrderBy(x => x.proStockInfoDetails.FirstOrDefault()?.DateCode).ThenBy(x => x.CreateDate).ThenBy(x => x.proStockInfoDetails.Sum(x => x.StockPcsQty)).ToList(); + foreach (var item in proStockInfos) + { + proStockInfoDetails.AddRange(item.proStockInfoDetails); + } + if (proStockInfoDetails.Sum(x=>x.StockPcsQty)< erpProductSpecifyVerDTO.QtyPcs) + return await Task.FromResult(content.Error($"鍙寚娲惧簱瀛樻暟閲忎笉瓒�,鍙敤:{proStockInfoDetails.Sum(x => x.StockPcsQty)}")); + float overQty = 0; + foreach (var item in proStockInfoDetails) + { + specifyVerDetails.Add(item); + overQty += item.StockPcsQty; + //宸叉弧瓒宠幏鍙栨暟閲忎笉鍐嶆洿鏀� + if (overQty>= erpProductSpecifyVerDTO.QtyPcs) + { + break; + } + } + specifyVerDetails.ForEach(x => + { + x.SpecifyVer = erpProductSpecifyVerDTO.Ver; + }); + _unitOfWorkManage.BeginTran(); + _stockRepository.ProStockInfoDetailRepository.UpdateData(specifyVerDetails); + _unitOfWorkManage.CommitTran(); + content.OK("鎸囨淳鎴愬姛"); + } + catch (Exception ex) + { + _unitOfWorkManage.RollbackTran(); + content.Error(ex.Message); + } + return await Task.FromResult(content); + } + /// <summary> /// 鎴愬搧鍑哄緟鍙戣揣鍖�(骞冲簱)+鍚屾ERP鍑哄簱(缁戝畾浜嗗嚭搴撳崟搴撳瓨) /// </summary> /// <returns></returns> diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs" index 9bbf7e4..a36a18b 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_StockService/ProStockViewService.cs" @@ -72,6 +72,13 @@ sugarQueryable1 = sugarQueryable1.Where(x => x.proStockInfoDetails.Any(v => v.ProductVersion.Contains(searchParameters.Value))); } } + { + SearchParameters? searchParameters = searchParametersList.FirstOrDefault(x => x.Name == nameof(Dt_ProStockInfoDetail.SpecifyVer).FirstLetterToLower()); + if (searchParameters != null) + { + sugarQueryable1 = sugarQueryable1.Where(x => x.proStockInfoDetails.Any(v => v.SpecifyVer.Contains(searchParameters.Value))); + } + } } @@ -139,6 +146,7 @@ { x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct()); x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct()); + x.SpecifyVer = string.Join(",", x.Details.Select(x => x.SpecifyVer).Distinct()); x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? ""; x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? ""; x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? ""; @@ -285,6 +293,7 @@ { x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct()); x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct()); + x.SpecifyVer = string.Join(",", x.Details.Select(x => x.SpecifyVer).Distinct()); x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? ""; x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? ""; x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? ""; @@ -387,6 +396,7 @@ { x.ProductCode = string.Join(",", x.Details.Select(x => x.ProductCode).Distinct()); x.ProductVersion = string.Join(",", x.Details.Select(x => x.ProductVersion).Distinct()); + x.SpecifyVer = string.Join(",", x.Details.Select(x => x.SpecifyVer).Distinct()); x.DateCode = x.Details.FirstOrDefault()?.DateCode ?? ""; x.LotNumber = x.Details.FirstOrDefault()?.LotNumber ?? ""; x.ERPOrder = x.Details.FirstOrDefault()?.ERPOrder ?? ""; diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" index 35772a2..e67acf6 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/ERP/ErpController.cs" @@ -183,9 +183,11 @@ /// 閿�鍞寚娲惧崟鎺ユ敹 /// </summary> [HttpPost, Route("ProductSpecifyVer"), AllowAnonymous, MethodParamsValidate] - public ErpResponseContent ProductSpecifyVer([FromBody] Root<ErpProductSpecifyVerDTO> root) + public async Task<ErpResponseContent> ProductSpecifyVerAsync([FromBody] Root<ErpProductSpecifyVerDTO> root) { - return Instance.OK(); + var content = await _outboundService.ProOutOrderService.ProductSpecifyVer(root.Content); + if (content.Status) return Instance.OK(); + else return Instance.Error(content.Message); } /// <summary> /// 鎺ユ敹ERP閫�鏂欏崟淇℃伅 diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs" index 3acfcb1..bc8e246 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs" @@ -39,7 +39,7 @@ CreateMap<MESBagDetail, Dt_MesProInOrderDetail>().ForMember(x => x.OverInQuantity, b => b.MapFrom(b => 0)); CreateMap<ErpProOutOrderDetailds, Dt_ProOutOrderDetail>().ForMember(x => x.ProOrderDetailStatus, b => b.MapFrom(b => 0)).ForMember(x => x.OverQtyPcs, b => b.MapFrom(b => 0)); CreateMap<Dt_MesProInOrderDetail, Dt_ProStockInfoDetail>().ForMember(x => x.ProOutDetailStatus, b => b.MapFrom(b => StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt())).ForMember(x => x.OutboundQuantity, b => b.MapFrom(b => 0)).ForMember(x => x.StockPcsQty, b => b.MapFrom(b => b.OKPCSQTY)); - CreateMap<ErpProductWarehousingOrderDTO, Dt_ErpProInOrder>().ForMember(x => x.ProSaleOrderNo, b => b.MapFrom(b => b.SaleOrder)).ForMember(x => x.Remark, b => b.MapFrom(b => b.Note)).ForMember(x => x.UpperOrderNo, b => b.MapFrom(b => b.TransferNo)).ForMember(x => x.ProStockAttribute, b => b.MapFrom(b => ProStockAttributeEnum.鎴愬搧.ObjToInt())); + CreateMap<ErpProductWarehousingOrderDTO, Dt_ErpProInOrder>().ForMember(x => x.ProSaleOrderNo, b => b.MapFrom(b => b.SaleOrder)).ForMember(x => x.Remark, b => b.MapFrom(b => b.Note)).ForMember(x => x.UpperOrderNo, b => b.MapFrom(b => b.TransferNo)).ForMember(x => x.ProStockAttribute, b => b.MapFrom(b => ProStockAttributeEnum.鎴愬搧.ObjToInt())).ForMember(x => x.ProInStatus, b => b.MapFrom(b => InOrderStatusEnum.鏈紑濮�.ObjToInt())); CreateMap<ErpProductTransferOrderDTO, Dt_ErpProTransferOrder>().ForMember(x => x.ProSaleOrderNo, b => b.MapFrom(b => b.SaleOrder)).ForMember(x => x.Remark, b => b.MapFrom(b => b.Note)).ForMember(x => x.UpperOrderNo, b => b.MapFrom(b => b.TransferNo)).ForMember(x => x.OrderType, b => b.MapFrom(b => ErpProOutTypeEnum.ProOutAllocat.ObjToInt())).ForMember(x => x.ProStockAttribute, b => b.MapFrom(b => ProStockAttributeEnum.鐮斿彂.ObjToInt())); } } diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" index f8b9b0d..2a5b7f2 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Program.cs" @@ -35,7 +35,7 @@ }); ; builder.ConfigureApplication(); -App.ExpDateTime = DateTime.Parse("2025-05-31 00:00:00"); +//App.ExpDateTime = DateTime.Parse("2025-05-31 00:00:00"); // 2、配置服务 builder.Services.AddSingleton(new AppSettings(builder.Configuration));//注册 -- Gitblit v1.9.3