From 46b1d8e9148eb1b6d0a890348f32b008ed52fe74 Mon Sep 17 00:00:00 2001
From: pan <antony1029@163.com>
Date: 星期六, 08 十一月 2025 10:17:13 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/ZhongRui/ALDbanyunxiangmu

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/CodeChunks.db-wal      |    0 
 项目代码/WMS无仓储版/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/SemanticSymbols.db-wal |    0 
 项目代码/WIDESEA_WMSClient/src/extension/inbound/Dt_AllocateOrder.js                                          |   58 ++++
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs            |    4 
 项目代码/WIDESEA_WMSClient/src/extension/inbound/extend/Pallet.vue                                            |    2 
 项目代码/WIDESEA_WMSClient/src/router/viewGird.js                                                             |    5 
 项目代码/WIDESEA_WMSClient/src/views/inbound/Dt_AllocateOrder.vue                                             |  478 +++++++++++++++++++++++++++++++++++++++
 项目代码/WMS无仓储版/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/CodeChunks.db          |    0 
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/StockInfoDetailController.cs           |   12 +
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_IStockService/IStockInfoDetailService.cs                           |    6 
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockInfoDetailWithPalletDto.cs                          |   39 +++
 项目代码/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue                                                |    7 
 项目代码/WMS无仓储版/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/SemanticSymbols.db     |    0 
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoDetailService.cs                             |   59 ++++
 14 files changed, 664 insertions(+), 6 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/Dt_AllocateOrder.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/Dt_AllocateOrder.js"
new file mode 100644
index 0000000..24e1d94
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/Dt_AllocateOrder.js"
@@ -0,0 +1,58 @@
+
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+
+let extension = {
+    components: {
+      //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+      gridHeader: '',
+      gridBody: '',
+      gridFooter: '',
+      //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+      modelHeader: '',
+      modelBody: '',
+      modelFooter: ''
+    },
+    tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+    buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+    methods: {
+       //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+      onInit() {  
+      },
+      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/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/extend/Pallet.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/extend/Pallet.vue"
index baa1fdc..1f42f05 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/extend/Pallet.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/extend/Pallet.vue"
@@ -49,7 +49,7 @@
                  class="custom-input"
             >
               <template slot="prepend">
-                <span> 鏂欑鏉$爜</span>
+                <span> 鏂欑鐮�</span>
               </template>
               <template slot="append">
                 <el-button 
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/router/viewGird.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/router/viewGird.js"
index 11c8fe5..4ee7e1b 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/router/viewGird.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/router/viewGird.js"
@@ -185,6 +185,11 @@
     path: '/materielToMes',
     name: 'Dt_MaterielToMes',
     component: () => import('@/views/inbound/Dt_MaterielToMes.vue')
+  }, 
+  {
+    path: '/allocateOrder',
+    name: 'Dt_AllocateOrder',
+    component: () => import('@/views/inbound/Dt_AllocateOrder.vue')
   }
 ]
 
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/inbound/Dt_AllocateOrder.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/inbound/Dt_AllocateOrder.vue"
new file mode 100644
index 0000000..9fddac1
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/inbound/Dt_AllocateOrder.vue"
@@ -0,0 +1,478 @@
+<template>
+  <view-grid
+    ref="gridRef"
+    :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/Dt_AllocateOrder.js"; 
+import ViewGrid from '@/components/basic/ViewGrid/ViewGrid.vue';
+import { ref, defineComponent } from "vue";
+
+export default defineComponent({
+  components: {
+    viewGrid: ViewGrid,
+    PalletDialog
+  },
+  setup() {
+    // 琛ㄦ牸鍩虹閰嶇疆锛氬榻愯皟鎷ㄥ崟瀹炰綋
+    const table = ref({
+      key: "id",
+      footer: "Foots",
+      cnName: "璋冩嫧鍗�",
+      name: "allocateOrder",
+      url: "/allocateOrder/", // 鍚庣鎺ュ彛璺緞闇�涓庤皟鎷ㄥ崟鎺ュ彛鍖归厤
+      sortName: "id",
+    });
+
+    // 缂栬緫琛ㄥ崟瀛楁锛氬搴擠t_AllocateOrder鍙紪杈戝睘鎬�
+    const editFormFields = ref({
+      orderNo: "",
+      upperOrderNo: "",
+      supplierId: "",
+      orderType: "",
+      businessType: "",
+      fromWarehouse: "",
+      toWarehouse: "",
+      isBatch: false,
+      factoryArea: "",
+      remark: "",
+    });
+
+    // 缂栬緫琛ㄥ崟閰嶇疆锛氭寜瀹炰綋瀛楁绫诲瀷璁剧疆缁勪欢
+    const editFormOptions = ref([
+      [
+        {
+          title: "鍗曟嵁缂栧彿",
+          field: "orderNo",
+          type: "string",
+          required: true,
+        },
+        {
+          title: "涓婄骇鍗曟嵁缂栧彿",
+          field: "upperOrderNo",
+          type: "string",
+        },
+        {
+          title: "渚涘簲鍟咺D",
+          field: "supplierId",
+          type: "string",
+          required: true,
+        },
+        {
+          title: "璁㈠崟绫诲瀷",
+          field: "orderType",
+          type: "select",
+          dataKey: "allocateOrderType", // 璋冩嫧鍗曚笓灞炴灇涓緆ey
+          data: [],
+          required: true,
+        },
+      ],
+      [
+        {
+          title: "涓氬姟绫诲瀷",
+          field: "businessType",
+          type: "string",
+          required: true,
+        },
+        {
+          title: "鏉ユ簮浠撳簱",
+          field: "fromWarehouse",
+          type: "select",
+          dataKey: "warehouses", // 浠撳簱鏋氫妇key锛堝鐢ㄦ垨鍗曠嫭閰嶇疆锛�
+          data: [],
+          required: true,
+        },
+        {
+          title: "鐩爣浠撳簱",
+          field: "toWarehouse",
+          type: "select",
+          dataKey: "warehouses",
+          data: [],
+          required: true,
+        },
+        {
+          title: "鏄惁鎵规",
+          field: "isBatch",
+          type: "checkbox",
+        },
+      ],
+      [
+        {
+          title: "鍘傚尯",
+          field: "factoryArea",
+          type: "string",
+          required: true,
+        },
+        {
+          title: "澶囨敞",
+          field: "remark",
+          type: "textarea",
+        },
+      ],
+    ]);
+
+    // 鎼滅储琛ㄥ崟瀛楁锛氬搴擠t_AllocateOrder鏌ヨ灞炴��
+    const searchFormFields = ref({
+      orderNo: "",
+      upperOrderNo: "",
+      supplierId: "",
+      orderType: "",
+      orderStatus: "",
+      createType: "",
+      businessType: "",
+      fromWarehouse: "",
+      toWarehouse: "",
+      factoryArea: "",
+      creater: "",
+      createDate: "",
+    });
+
+    // 鎼滅储琛ㄥ崟閰嶇疆锛氭寜鏌ヨ闇�姹傝缃瓧娈电被鍨�
+    const searchFormOptions = ref([
+      [
+        { title: "鍗曟嵁缂栧彿", field: "orderNo", type: "like" },
+        { title: "涓婄骇鍗曟嵁缂栧彿", field: "upperOrderNo", type: "like" },
+        { title: "渚涘簲鍟咺D", field: "supplierId", type: "like" },
+        {
+          title: "璁㈠崟绫诲瀷",
+          field: "orderType",
+          type: "select",
+          dataKey: "allocateOrderType",
+          data: [],
+        },
+      ],
+      [
+        {
+          title: "鍗曟嵁鐘舵��",
+          field: "orderStatus",
+          type: "select",
+          dataKey: "allocateOrderStatus", 
+          data: [],
+        },
+        {
+          title: "鍒涘缓绫诲瀷",
+          field: "createType",
+          type: "select",
+          dataKey: "createType",
+          data: [],
+        },
+        { title: "涓氬姟绫诲瀷", field: "businessType", type: "like" },
+      ],
+      [
+        { title: "鏉ユ簮浠撳簱", field: "fromWarehouse", type: "like" },
+        { title: "鐩爣浠撳簱", field: "toWarehouse", type: "like" },
+        { title: "鍘傚尯", field: "factoryArea", type: "like" },
+      ],
+      [
+        { title: "鍒涘缓鑰�", field: "creater", type: "like" },
+        { title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime" },
+      ],
+    ]);
+
+    // 涓昏〃鏍煎垪閰嶇疆锛氬畬鍏ㄥ榻怐t_AllocateOrder瀛楁
+    const columns = ref([
+      {
+        field: "id",
+        title: "Id",
+        type: "int",
+        width: 90,
+        hidden: true,
+        readonly: true,
+        align: "left",
+      },
+      {
+        field: "orderNo",
+        title: "鍗曟嵁缂栧彿",
+        type: "string",
+        width: 120,
+        align: "left",
+        link: true, 
+      },
+      {
+        field: "upperOrderNo",
+        title: "涓婄骇鍗曟嵁缂栧彿",
+        type: "string",
+        width: 150,
+        align: "left",
+      },
+      {
+        field: "supplierId",
+        title: "渚涘簲鍟咺D",
+        type: "string",
+        width: 120,
+        align: "left",
+      },
+      {
+        field: "orderType",
+        title: "璁㈠崟绫诲瀷",
+        type: "int",
+        width: 120,
+        align: "left",
+        bind: { key: "allocateOrderType", data: [] },
+      },
+      {
+        field: "orderStatus",
+        title: "鍗曟嵁鐘舵��",
+        type: "int",
+        width: 120,
+        align: "left",
+        bind: { key: "allocateOrderStatus", data: [] },
+      },
+      {
+        field: "createType",
+        title: "鍒涘缓鏂瑰紡",
+        type: "int",
+        width: 120,
+        align: "left",
+        bind: { key: "createType", data: [] },
+      },
+      {
+        field: "businessType",
+        title: "涓氬姟绫诲瀷",
+        type: "string",
+        width: 120,
+        align: "left",
+      },
+      {
+        field: "fromWarehouse",
+        title: "鏉ユ簮浠撳簱",
+        type: "string",
+        width: 120,
+        align: "left",
+        bind: { key: "warehouses", data: [] },
+      },
+      {
+        field: "toWarehouse",
+        title: "鐩爣浠撳簱",
+        type: "string",
+        width: 120,
+        align: "left",
+        bind: { key: "warehouses", data: [] },
+      },
+      {
+        field: "isBatch",
+        title: "鏄惁鎵规",
+        type: "bool",
+        width: 100,
+        align: "left",
+      },
+      {
+        field: "factoryArea",
+        title: "鍘傚尯",
+        type: "string",
+        width: 100,
+        align: "left",
+      },
+      {
+        field: "creater",
+        title: "鍒涘缓浜�",
+        type: "string",
+        width: 90,
+        align: "left",
+      },
+      {
+        field: "createDate",
+        title: "鍒涘缓鏃堕棿",
+        type: "datetime",
+        width: 160,
+        align: "left",
+      },
+      {
+        field: "modifier",
+        title: "淇敼浜�",
+        type: "string",
+        width: 100,
+        align: "left",
+      },
+      {
+        field: "modifyDate",
+        title: "淇敼鏃堕棿",
+        type: "datetime",
+        width: 160,
+        align: "left",
+      },
+      {
+        field: "remark",
+        title: "澶囨敞",
+        type: "string",
+        width: 100,
+        align: "left",
+      },
+    ]);
+
+    const detail = ref({
+      cnName: "璋冩嫧鍗曟槑缁�",
+      table: "AllocateOrderDetail",
+      columns: [
+        {
+          field: "id",
+          title: "Id",
+          type: "int",
+          width: 90,
+          hidden: true,
+          readonly: true,
+          align: "left",
+        },
+        {
+          field: "orderId",
+          title: "璋冩嫧鍗曚富閿�",
+          type: "int",
+          width: 90,
+          align: "left",
+          hidden: true,
+        },
+        {
+          field: "materielCode",
+          title: "鐗╂枡缂栫爜",
+          type: "select",
+          width: 150,
+          align: "left",
+          required: true,
+          dataKey: "materielCodes", // 鐗╂枡缂栫爜鏋氫妇key
+          data: [],
+        },
+        {
+          field: "materielName", // 瀹炰綋涓棤璇ュ瓧娈碉紝闇�鍚庣鍏宠仈杩斿洖鎴栬皟鏁翠负bind鏄犲皠
+          title: "鐗╂枡鍚嶇О",
+          type: "string",
+          width: 100,
+          align: "left",
+          bind: { key: "MaterielNames", data: [] },
+        },
+        {
+          field: "batchNo",
+          title: "鎵规鍙�",
+          type: "string",
+          width: 90,
+          align: "left",
+          required: true,
+        },
+        {
+          field: "orderQuantity",
+          title: "璁㈠崟鏁伴噺",
+          type: "decimal",
+          width: 90,
+          align: "left",
+          edit: { type: "number" },
+          required: true,
+        },
+        {
+          field: "receiptQuantity",
+          title: "鏀惰揣鏁伴噺",
+          type: "decimal",
+          width: 90,
+          align: "left",
+        },
+        {
+          field: "overInQuantity",
+          title: "瓒呴鍏ュ簱鏁伴噺",
+          type: "decimal",
+          width: 120,
+          align: "left",
+        },
+        {
+          field: "orderDetailStatus",
+          title: "鏄庣粏鐘舵��",
+          type: "int",
+          width: 120,
+          align: "left",
+          bind: { key: "allocateDetailStatus", data: [] },
+        },
+        {
+          field: "unit",
+          title: "鍗曚綅",
+          type: "string",
+          width: 80,
+          align: "left",
+          required: true,
+        },
+        {
+          field: "lineNo",
+          title: "琛屽彿",
+          type: "string",
+          width: 80,
+          align: "left",
+          required: true,
+        },
+        {
+          field: "warehouseCode",
+          title: "浠撳簱缂栫爜",
+          type: "string",
+          width: 120,
+          align: "left",
+        },
+        {
+          field: "barcode",
+          title: "鏉″舰鐮�",
+          type: "string",
+          width: 150,
+          align: "left",
+        },
+        {
+          field: "barcodeQty",
+          title: "鏉″舰鐮佹暟閲�",
+          type: "decimal",
+          width: 120,
+          align: "left",
+        },
+        {
+          field: "barcodeUnit",
+          title: "鏉″舰鐮佸崟浣�",
+          type: "string",
+          width: 120,
+          align: "left",
+        },
+        {
+          field: "creater",
+          title: "鍒涘缓浜�",
+          type: "string",
+          width: 90,
+          align: "left",
+        },
+        {
+          field: "createDate",
+          title: "鍒涘缓鏃堕棿",
+          type: "datetime",
+          width: 160,
+          align: "left",
+        },
+        {
+          field: "remark",
+          title: "澶囨敞",
+          type: "string",
+          width: 100,
+          align: "left",
+        },
+      ],
+      sortName: "id",
+      key: "id",
+    });
+
+    return {
+      table,
+      extend,
+      editFormFields,
+      editFormOptions,
+      searchFormFields,
+      searchFormOptions,
+      columns,
+      detail,
+      palletVisible,
+      currentPalletDocNo,
+      handleOpenPalletDialog,
+      handlePalletBackSuccess,
+      gridRef
+    };
+  },
+});
+</script>
\ No newline at end of file
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue"
index 0b94c04..064906a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/views/stock/stockInfoDetail.vue"
@@ -87,6 +87,13 @@
         align: "left",
       },
       {
+        field: "palletCode",
+        title: "鎵樼洏缂栧彿",    
+        type: "string",
+        width: 150,
+        align: "left",
+      },
+      {
         field: "materielCode",
         title: "鐗╂枡缂栧彿",
         type: "string",
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/CodeChunks.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/CodeChunks.db"
index d86c3f7..41f613e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/CodeChunks.db"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/CodeChunks.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/CodeChunks.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/CodeChunks.db-wal"
index 345348c..ba21f9e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/CodeChunks.db-wal"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/CodeChunks.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/SemanticSymbols.db" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/SemanticSymbols.db"
index 809b6d7..4e92bf4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/SemanticSymbols.db"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/SemanticSymbols.db"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/SemanticSymbols.db-wal" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/SemanticSymbols.db-wal"
index becea88..d4eea7a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/SemanticSymbols.db-wal"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.14.878.3237/SemanticSymbols.db-wal"
Binary files differ
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockInfoDetailWithPalletDto.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockInfoDetailWithPalletDto.cs"
new file mode 100644
index 0000000..4fe42cf
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_DTO/Stock/StockInfoDetailWithPalletDto.cs"
@@ -0,0 +1,39 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WIDESEA_Core.DB.Models;
+
+namespace WIDESEA_DTO.Stock
+{
+    public class StockInfoDetailWithPalletDto : BaseEntity
+    {
+        public int Id { get; set; }
+        public int StockId { get; set; }
+        public string MaterielCode { get; set; }
+        public string MaterielName { get; set; }
+        public string OrderNo { get; set; }
+        public string BatchNo { get; set; }
+        public string ProductionDate { get; set; }
+        public string EffectiveDate { get; set; }
+        public string SerialNumber { get; set; }
+        public decimal StockQuantity { get; set; }
+        public decimal OutboundQuantity { get; set; }
+        public int Status { get; set; }
+        public string Unit { get; set; }
+        public string InboundOrderRowNo { get; set; }
+        public string SupplyCode { get; set; }
+        public string WarehouseCode { get; set; }
+        public string Barcode { get; set; }
+        public string BusinessType { get; set; }
+        public string Remark { get; set; }
+        public string Creater { get; set; }
+        public DateTime CreateDate { get; set; }
+        public string Modifier { get; set; }
+        public DateTime? ModifyDate { get; set; }
+
+        // 涓昏〃鎵樼洏缂栧彿锛堝墠绔渶鏄剧ず鐨勫瓧娈碉級
+        public string PalletCode { get; set; }
+    }
+}
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_IStockService/IStockInfoDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_IStockService/IStockInfoDetailService.cs"
index 7535e6d..ff8345e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_IStockService/IStockInfoDetailService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_IStockService/IStockInfoDetailService.cs"
@@ -1,5 +1,7 @@
-锘縰sing WIDESEA_Core.BaseRepository;
+锘縰sing WIDESEA_Core;
+using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
+using WIDESEA_DTO.Stock;
 using WIDESEA_Model.Models;
 
 namespace WIDESEA_IStockService
@@ -10,5 +12,7 @@
 
         bool ExistBarcodes(string barcode);
         bool ExistBarcodes(List<string> barcodes);
+
+        PageGridData<StockInfoDetailWithPalletDto> GetPageData2(PageDataOptions options);
     }
 }
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoDetailService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoDetailService.cs"
index cd50907..450f6a7 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoDetailService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_StockService/StockInfoDetailService.cs"
@@ -1,5 +1,9 @@
-锘縰sing WIDESEA_Core.BaseRepository;
+锘縰sing SqlSugar;
+using WIDESEA_Core;
+using WIDESEA_Core.BaseRepository;
 using WIDESEA_Core.BaseServices;
+using WIDESEA_Core.HttpContextUser;
+using WIDESEA_DTO.Stock;
 using WIDESEA_IStockService;
 using WIDESEA_Model.Models;
 
@@ -7,10 +11,12 @@
 {
     public partial class StockInfoDetailService : ServiceBase<Dt_StockInfoDetail, IRepository<Dt_StockInfoDetail>>, IStockInfoDetailService
     {
-        public StockInfoDetailService(IRepository<Dt_StockInfoDetail> BaseDal) : base(BaseDal)
+        public StockInfoDetailService(IRepository<Dt_StockInfoDetail> BaseDal, IRepository<Dt_StockInfo> stockinfoRepository) : base(BaseDal)
         {
+            _stockinfoRepository = stockinfoRepository;
         }
 
+        public IRepository<Dt_StockInfo> _stockinfoRepository;
         public IRepository<Dt_StockInfoDetail> Repository => BaseDal;
 
         public bool ExistBarcodes(string barcode)
@@ -20,7 +26,52 @@
 
         public bool ExistBarcodes(List<string> barcodes)
         {
-            return BaseDal.QueryFirst(x =>!string.IsNullOrEmpty( x.Barcode) &&  barcodes.Contains(x.Barcode)) != null;
+            return BaseDal.QueryFirst(x => !string.IsNullOrEmpty(x.Barcode) && barcodes.Contains(x.Barcode)) != null;
+        }
+
+        public PageGridData<StockInfoDetailWithPalletDto> GetPageData2(PageDataOptions options)
+        {
+            PageGridData<Dt_StockInfoDetail> lists =  base.GetPageData (options);
+
+            List<int> stockIds = lists.Rows.Select(detail => detail.StockId).Distinct().ToList();
+            var stocks= _stockinfoRepository.QueryData(x => stockIds.Contains(x.Id)).ToList();
+ 
+
+            List<StockInfoDetailWithPalletDto> dtoList = lists.Rows
+                .Select(detail => new StockInfoDetailWithPalletDto
+                {
+                    
+                    Id = detail.Id,
+                    StockId = detail.StockId,
+                    MaterielCode = detail.MaterielCode,
+                    MaterielName = detail.MaterielName,
+                    OrderNo = detail.OrderNo,
+                    BatchNo = detail.BatchNo,
+                    ProductionDate = detail.ProductionDate,
+                    EffectiveDate = detail.EffectiveDate,
+                    SerialNumber = detail.SerialNumber,
+                    StockQuantity = detail.StockQuantity,
+                    OutboundQuantity = detail.OutboundQuantity,
+                    Status = detail.Status,
+                    Unit = detail.Unit,
+                    InboundOrderRowNo = detail.InboundOrderRowNo,
+                    SupplyCode = detail.SupplyCode,
+                    WarehouseCode = detail.WarehouseCode,
+                    Barcode = detail.Barcode,
+                    BusinessType = detail.BusinessType,
+                    Remark = detail.Remark,
+                    Creater = detail.Creater,
+                    CreateDate = detail.CreateDate,
+                    Modifier = detail.Modifier,
+                    ModifyDate = detail.ModifyDate,
+                    PalletCode= stocks
+                        .FirstOrDefault(stock => stock.Id == detail.StockId)?
+                        .PalletCode ?? "鏃犳墭鐩樼紪鍙�"  
+                })
+                .ToList();
+
+            return new PageGridData<StockInfoDetailWithPalletDto> { Rows = dtoList, Total = lists.Total, Summary = lists.Summary  };
         }
     }
-}
+ }
+
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs"
index c149407..6b5cd67 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Inbound/InboundOrderController.cs"
@@ -98,6 +98,10 @@
         [HttpPost, Route("ReceiveInboundOrder"), AllowAnonymous, MethodParamsValidate]
         public async Task<WebResponseContent> ReceiveInboundOrder([FromBody] InboundRequestModel model)
         {
+            if(model.inBounds == null || !model.inBounds.Any())
+            {
+                return WebResponseContent.Instance.Error("鍏ュ簱鍗曚笉鑳戒负绌�");
+            }
 
             _logger.LogInformation("InboundOrderController ReceiveInboundOrder:  " +  JsonConvert.SerializeObject(model));
             List<Dt_InboundOrder> inboundOrders = new List<Dt_InboundOrder>();
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/StockInfoDetailController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/StockInfoDetailController.cs"
index 5ff0f67..e5de3a4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/StockInfoDetailController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Stock/StockInfoDetailController.cs"
@@ -1,6 +1,8 @@
 锘縰sing Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
+using WIDESEA_Core;
 using WIDESEA_Core.BaseController;
+using WIDESEA_DTO.Stock;
 using WIDESEA_IStockService;
 using WIDESEA_Model.Models;
 
@@ -16,5 +18,15 @@
         public StockInfoDetailController(IStockInfoDetailService service) : base(service)
         {
         }
+
+        [HttpPost, Route("GetPageData")]
+        public override ActionResult GetPageData([FromBody] PageDataOptions options)
+        {
+            
+            var result = Service.GetPageData2(options);
+            
+
+            return Json(result);
+        }
     }
 }

--
Gitblit v1.9.3