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