From bd8f3a15f17facd2f77521da844eaf76dca22bad Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 22 三月 2024 10:02:25 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue                                          |    2 
 north-glass-erp/target/classes/mapper/pp/ReworkMapper.xml                                                  |    2 
 north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml                                               |    9 
 north-glass-erp/northglass-erp/src/lang/zh.js                                                              |   74 ++
 north-glass-erp/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst           |  134 ++++
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java                             |    3 
 north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue                                     |  239 +++++++
 north-glass-erp/target/erp-0.0.1-SNAPSHOT.jar.original                                                     |    0 
 north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue                                   |    2 
 north-glass-erp/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst   |    6 
 north-glass-erp/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst |    4 
 north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialService.java                              |  108 +++
 north-glass-erp/src/main/java/com/example/erp/entity/mm/BasicWarehouseType.java                            |    2 
 north-glass-erp/northglass-erp/src/views/pp/Replenish/SelectReplenish.vue                                  |    3 
 north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml                                            |    2 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue                              |    8 
 north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedGoodsInventoryMapper.java                  |    2 
 north-glass-erp/src/main/resources/mapper/pp/ReworkMapper.xml                                              |    2 
 north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue                                          |   16 
 north-glass-erp/northglass-erp/src/layout/MainErpView.vue                                                  |    9 
 north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java                |    8 
 north-glass-erp/src/main/java/com/example/erp/mapper/mm/BasicWarehouseTypeMapper.java                      |    2 
 north-glass-erp/src/main/java/com/example/erp/service/pp/WorkOrderService.java                             |    3 
 north-glass-erp/northglass-erp/src/views/LoginView.vue                                                     |   19 
 north-glass-erp/src/main/resources/mapper/mm/MaterialStore.xml                                             |   57 +
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/StorageRecord.vue                             |   13 
 north-glass-erp/target/classes/application.yml                                                             |    2 
 north-glass-erp/target/classes/mapper/mm/FinishedGoodsInventory.xml                                        |    4 
 north-glass-erp/northglass-erp/src/lang/en.js                                                              |    8 
 north-glass-erp/src/main/java/com/example/erp/controller/mm/BasicWarehouseTypeController.java              |   22 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue                           |  321 ++++++++--
 north-glass-erp/northglass-erp/src/views/sd/product/Product.vue                                            |   10 
 north-glass-erp/target/classes/mapper/mm/MaterialStore.xml                                                 |   57 +
 north-glass-erp/northglass-erp/src/views/RegisterView.vue                                                  |    1 
 north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue                             |   13 
 north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue                           |  271 ++++----
 north-glass-erp/northglass-erp/package-lock.json                                                           |   31 +
 north-glass-erp/target/classes/mapper/pp/PatchLogMapper.xml                                                |    2 
 north-glass-erp/northglass-erp/config.js                                                                   |    4 
 north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java                                         |    2 
 north-glass-erp/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst         |  134 ++++
 north-glass-erp/northglass-erp/public/importTemplate.xlsx                                                  |    0 
 north-glass-erp/target/classes/mapper/mm/BasicWarehouseType.xml                                            |    8 
 north-glass-erp/src/main/java/com/example/erp/service/mm/BasicWarehouseTypeService.java                    |   46 +
 north-glass-erp/src/main/java/com/example/erp/entity/mm/MaterialStore.java                                 |   20 
 north-glass-erp/northglass-erp/src/hook/downLoadFile.js                                                    |    7 
 north-glass-erp/src/main/resources/mapper/mm/BasicWarehouseType.xml                                        |    8 
 north-glass-erp/src/main/java/com/example/erp/mapper/mm/MaterialStoreMapper.java                           |   32 +
 north-glass-erp/src/main/java/com/example/erp/controller/mm/MaterialController.java                        |   61 +
 north-glass-erp/src/test/java/com/example/erp/service/pp/ReworkServiceTest.java                            |   16 
 north-glass-erp/northglass-erp/package.json                                                                |    1 
 north-glass-erp/target/classes/mapper/sd/OrderMapper.xml                                                   |    9 
 north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue                                    |    2 
 north-glass-erp/pom.xml                                                                                    |    2 
 north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml                                    |    4 
 55 files changed, 1,530 insertions(+), 297 deletions(-)

diff --git a/north-glass-erp/northglass-erp/config.js b/north-glass-erp/northglass-erp/config.js
index db0891c..358a302 100644
--- a/north-glass-erp/northglass-erp/config.js
+++ b/north-glass-erp/northglass-erp/config.js
@@ -1,4 +1,4 @@
 export default {
-  serverUrl:"localhost:8080"
+  serverUrl:"10.153.19.150:8080"
   //serverUrl:"res.abeim.cn"
-}
\ No newline at end of file
+}
diff --git a/north-glass-erp/northglass-erp/package-lock.json b/north-glass-erp/northglass-erp/package-lock.json
index fd36d91..91ec7d4 100644
--- a/north-glass-erp/northglass-erp/package-lock.json
+++ b/north-glass-erp/northglass-erp/package-lock.json
@@ -24,6 +24,7 @@
         "xlsx": "^0.18.5"
       },
       "devDependencies": {
+        "@types/node": "^20.11.30",
         "@types/sortablejs": "^1.15.7",
         "@vitejs/plugin-vue": "^4.3.4",
         "vite": "^4.4.9"
@@ -543,6 +544,15 @@
       "integrity": "sha512-ZTcmhiI3NNU7dEvWLZJkzG6ao49zOIjEgIE0RgV7wbPxU0f2xT3VSAHw2gmst8swH6V0YkLRGp4qPlX/6I90MQ==",
       "dependencies": {
         "@types/lodash": "*"
+      }
+    },
+    "node_modules/@types/node": {
+      "version": "20.11.30",
+      "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.11.30.tgz",
+      "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==",
+      "dev": true,
+      "dependencies": {
+        "undici-types": "~5.26.4"
       }
     },
     "node_modules/@types/sortablejs": {
@@ -1457,6 +1467,12 @@
         "node": ">=8.0"
       }
     },
+    "node_modules/undici-types": {
+      "version": "5.26.5",
+      "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz",
+      "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+      "dev": true
+    },
     "node_modules/unplugin": {
       "version": "1.5.0",
       "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.5.0.tgz",
@@ -1905,6 +1921,15 @@
       "integrity": "sha512-ZTcmhiI3NNU7dEvWLZJkzG6ao49zOIjEgIE0RgV7wbPxU0f2xT3VSAHw2gmst8swH6V0YkLRGp4qPlX/6I90MQ==",
       "requires": {
         "@types/lodash": "*"
+      }
+    },
+    "@types/node": {
+      "version": "20.11.30",
+      "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.11.30.tgz",
+      "integrity": "sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==",
+      "dev": true,
+      "requires": {
+        "undici-types": "~5.26.4"
       }
     },
     "@types/sortablejs": {
@@ -2525,6 +2550,12 @@
         "is-number": "^7.0.0"
       }
     },
+    "undici-types": {
+      "version": "5.26.5",
+      "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz",
+      "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+      "dev": true
+    },
     "unplugin": {
       "version": "1.5.0",
       "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.5.0.tgz",
diff --git a/north-glass-erp/northglass-erp/package.json b/north-glass-erp/northglass-erp/package.json
index 585a399..196828b 100644
--- a/north-glass-erp/northglass-erp/package.json
+++ b/north-glass-erp/northglass-erp/package.json
@@ -24,6 +24,7 @@
     "xlsx": "^0.18.5"
   },
   "devDependencies": {
+    "@types/node": "^20.11.30",
     "@types/sortablejs": "^1.15.7",
     "@vitejs/plugin-vue": "^4.3.4",
     "vite": "^4.4.9"
diff --git a/north-glass-erp/northglass-erp/public/importTemplate.xlsx b/north-glass-erp/northglass-erp/public/importTemplate.xlsx
new file mode 100644
index 0000000..8596e8d
--- /dev/null
+++ b/north-glass-erp/northglass-erp/public/importTemplate.xlsx
Binary files differ
diff --git a/north-glass-erp/northglass-erp/src/hook/downLoadFile.js b/north-glass-erp/northglass-erp/src/hook/downLoadFile.js
new file mode 100644
index 0000000..2b29d4f
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/hook/downLoadFile.js
@@ -0,0 +1,7 @@
+export default function downloadFile(url,fileName){
+       // 鏂囦欢鐨刄RL鍦板潃
+    const link = document.createElement('a');
+    link.href = url;
+    link.setAttribute('download', fileName);
+    link.click();
+}
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/lang/en.js b/north-glass-erp/northglass-erp/src/lang/en.js
index 269dd66..9248a3b 100644
--- a/north-glass-erp/northglass-erp/src/lang/en.js
+++ b/north-glass-erp/northglass-erp/src/lang/en.js
@@ -90,7 +90,8 @@
         shape:'Shape',
         bendRadius:'Bend Radius',
         edgingType:'Edging Type',
-        import:'import',
+        import:'Import',
+        template:'Template',
         msg:{
             productCheck:'Please select a product',
             tableLengthNot:'No table data',
@@ -144,6 +145,7 @@
         oldProcess:'Old Process',
         newProcess:'New Process',
         reset:'Reset',
+        sure:'Sure',
     },
     workOrder:{
         workOrder:'Work Order Management',
@@ -306,6 +308,8 @@
         confirmOutbound:'Delivery Confirmation',
         confirmReceiptOfGoods:'Warehousing Confirmation',
         quantityToBeStockedIn:'Quantity To Be Stocked In',
+        return:'Return',
+        reverseReviewList:'Reverse Review List',
 
         receivedSuccessfully:'Successfully entered the warehouse',
         deliverySuccessful:"Successfully transferred out of warehouse ",
@@ -388,7 +392,7 @@
         customerName:"Customer",
         customerHomePage:'Customer Homepage',
         increaseCustomers:'Increase Customers',
-        resetting:'Resetting',
+        resetting:'Revoke',
 
     },
     delivery:{
diff --git a/north-glass-erp/northglass-erp/src/lang/zh.js b/north-glass-erp/northglass-erp/src/lang/zh.js
index 7a47d90..4c38e6e 100644
--- a/north-glass-erp/northglass-erp/src/lang/zh.js
+++ b/north-glass-erp/northglass-erp/src/lang/zh.js
@@ -2,12 +2,12 @@
     login:{
         userErr:'璇疯緭鍏ヤ綘鐨勮处鍙�',
         pwErr:'璇疯緭鍏ヤ綘鐨勫瘑鐮�',
-        loginSuccessful:'鐧婚檰鎴愬姛',
+        loginSuccessful:'鐧诲綍鎴愬姛',
         connectErr:'鏈嶅姟鍣ㄨ繛鎺ュけ璐�',
         user:'鐢ㄦ埛',
         password:'瀵嗙爜',
         SysName:'鍖楃幓鑷姩鍖朎RP绠$悊绯荤粺',
-        login:'鐧婚檰',
+        login:'鐧诲綍',
         register:'娉ㄥ唽',
     },
     main:{
@@ -50,6 +50,61 @@
             ReviewSuccess:'瀹℃牳鎴愬姛'
         }
     },
+    product:{
+       ProductHomePage:'浜у搧棣栭〉',
+       create:'鍒涘缓',
+       msg:{
+           productLength:'璇锋坊鍔犱骇鍝佽鎯�',
+           lastGlass:'浜у搧璇︽儏鏈�鍚庝竴鏉′笉鏄幓鐠冿紝璇峰畬鍠�',
+           glassType:'璇烽�夋嫨浜у搧绫诲埆',
+           saveSuccess: '鍒涘缓鎴愬姛',
+           operateSuccess: '鎿嶄綔鎴愬姛',
+           operateFail: '鎿嶄綔澶辫触',
+           glassReview:'璇疯緭鍏ヤ骇鍝佹潗鏂欏睘鎬т笌宸ヨ壓灞炴��',
+           glassRepeat:'璇峰厛閫夋嫨闂撮殧鐗�',
+           HollowReview:'璇烽�夋嫨鍏ㄩ儴涓┖闂撮殧鐗╀笅鎷夋',
+           firstGlass:"璇峰厛閫夋嫨浜у搧",
+           InterlayerReview:'璇烽�夋嫨鍏ㄩ儴涓┖闂撮殧鐗╀笅鎷夋',
+           glassTypeTitle:'鏉愭枡灞炴��',
+           thickness:'*鍘氬害',
+           color:'*棰滆壊',
+           craft:'*宸ヨ壓灞炴��',
+           location:'*浣嶇疆',
+           lowELocation:'LOW-E闈�',
+           processAttribute:"宸ヨ壓灞炴��",
+           hollowThickness:'*涓┖鍘氬害',
+           hollowGasType:'*鍏呮皵鏂瑰紡:',
+           hollowType:'*灏佽兌',
+           hollowGlueDepth:'*榛樿鑳舵繁:',
+           hollow:'涓┖闂撮殧鐗�',
+           hollowUpdate:'涓┖闂撮殧鐗╀慨鏀�',
+           interlayerThickness:'*澶瑰眰鍘氬害',
+           interlayerType:'*绫诲瀷',
+           interlayerColor:'*棰滆壊',
+           interlayer:'澶瑰眰闂撮殧鐗�',
+           interlayerUpdate:'澶瑰眰闂撮殧鐗╀慨鏀�',
+           glassAttribute:'鍗曠墖鐜荤拑灞炴��:',
+           reset:'閲嶇疆',
+           processFlowAttribute:'宸ヨ壓娴佺▼灞炴��:',
+           sure:'纭',
+           update:'淇敼',
+           quickSearch:'蹇�熸煡璇�',
+           weightThickness:'璁¢噸鍘氬害',
+           allThickness:'鍘氬害',
+           remarks:'澶囨敞',
+           product:'浜у搧鍚嶇О:',
+           updateGlass:'淇敼鐜荤拑',
+           updateHollow:'淇敼涓┖',
+           updateInterlayer:'淇敼澶瑰眰',
+           delete: '鍒犻櫎',
+           create:'鍒涘缓',
+           review:'瀹℃牳',
+           cancelReview:'鍙嶅',
+       }
+
+
+    },
+
     order:{
         orderHomePage:'璁㈠崟棣栭〉',
         orderReport:'璁㈠崟鎶ヨ〃',
@@ -91,6 +146,7 @@
         bendRadius:'寮挗寮у害',
         edgingType:'纾ㄨ竟绫诲瀷',
         import:'瀵煎叆',
+        template:'妯℃澘',
         msg:{
             productCheck:'璇烽�夋嫨浜у搧',
             tableLengthNot:'娌℃湁琛ㄦ牸鏁版嵁',
@@ -145,6 +201,16 @@
         oldProcess:'鍘熸祦绋�',
         newProcess:'娴佺▼',
         reset:'閲嶇疆',
+        sure:'纭畾',
+        // upperLeft:'宸︿笂',
+        // upperRight:'鍙充笂',
+        // lowLeft:'宸︿笅',
+        // lowRight:'鍙充笅',
+        // TrademarkAttribute:'鍟嗘爣鍙傛暟',
+        // TrademarkOptions:'鍟嗘爣閫夐」',
+        // xImage:'X杞撮暅鍍�',
+        // yImage:'X杞撮暅鍍�'
+
     },
 
     workOrder:{
@@ -311,6 +377,8 @@
         confirmOutbound:'纭鍑哄簱',
         confirmReceiptOfGoods:'纭鍏ュ簱',
         quantityToBeStockedIn:'寰呭叆搴撴暟閲�',
+        return:'杩斿洖',
+        reverseReviewList:'鍙嶅鍒楄〃',
 
 
 
@@ -377,7 +445,7 @@
         totalArea:'鎬婚潰绉�',
         singlePieceArea:'鍗曠墖闈㈢Н',
         perimeter:'鍛ㄩ暱',
-        returnToWarehouse:'閫�鍥�',
+        returnToWarehouse:'鎾ら攢',
 
 
     },
diff --git a/north-glass-erp/northglass-erp/src/layout/MainErpView.vue b/north-glass-erp/northglass-erp/src/layout/MainErpView.vue
index 7072d2d..e094acc 100644
--- a/north-glass-erp/northglass-erp/src/layout/MainErpView.vue
+++ b/north-glass-erp/northglass-erp/src/layout/MainErpView.vue
@@ -89,13 +89,12 @@
         <div style="height: 100%;width: 100%;display: flex">
           <img src="../assets/northGlass.ico" alt="" style="max-width: 100%;max-height: 100%">
           <h3 style="margin: 1rem  ;font-weight: bold;width: 40vw;"> {{$t('main.titleFirst') + user + $t('main.titleLast')}}</h3>
-          <span style="height: 70%;width: 78vw;margin-top: 1rem;" >
+          <span style="height: 70%;width: 78vw;margin-top: 1.5rem;" >
 
-            <el-button  class="sys-quit" @click="quit"  type="info" round>
-              <el-icon size="large"><SwitchButton  size=""/></el-icon>
-            </el-button>
+<!--            <el-button   class="sys-quit" @click="quit"  type="info" round>-->
+              <el-icon @click="quit"  style="float: right;margin-right: 1rem" size="large" ><SwitchButton  size=""/></el-icon>
+<!--            </el-button>-->
           </span>
-
         </div>
       </el-header>
       <el-container >
diff --git a/north-glass-erp/northglass-erp/src/views/LoginView.vue b/north-glass-erp/northglass-erp/src/views/LoginView.vue
index d644721..e18ae22 100644
--- a/north-glass-erp/northglass-erp/src/views/LoginView.vue
+++ b/north-glass-erp/northglass-erp/src/views/LoginView.vue
@@ -8,9 +8,10 @@
 import userInfo from '@/stores/userInfo'
 import { sendSock, createWebSocket, closeSock,global_callback1 } from "@/utils/webSocket"
 import { useI18n } from 'vue-i18n'
+import i18n from "@/lang/index"
 //璇█鑾峰彇
 const { t } = useI18n()
-
+let language = ref(localStorage.getItem('lang') || 'zh')
 const store=userInfo()
 let ruleFormRef  = ref<FormInstance>()
 const router = useRouter()
@@ -35,7 +36,7 @@
 
 const validatePass = (rule: any, value: any, callback: any) => {
   if (value === '') {
-    callback(new Error(  t('login.psErr')  ))
+    callback(new Error(  t('login.pwErr')  ))
   } else {
     callback()
   }
@@ -52,6 +53,7 @@
   formEl.validate((valid) => {
     if (valid) {
       loginLoadings.value=true
+      userForm.pass = btoa(userForm.pass)
       request.post('/user/login',
           userForm).then((res) => {
         if(res['code']==200){
@@ -95,7 +97,10 @@
 onUnmounted(() => {
   window.removeEventListener('keydown', keyDown)
 })
-
+const changeLanguage = () =>{
+  localStorage.setItem('lang',language.value)
+  location.reload()
+}
 </script>
 
 <template>
@@ -105,6 +110,14 @@
         <img id="img-pic" src="@/assets/img.png" alt="">
       </div>
       <div id="div-login">
+        <el-select
+            @change="changeLanguage"
+            v-model="language"
+            placeholder=" "
+            style="float: right;width: 6rem">
+          <el-option value="zh"  label="涓枃" />
+          <el-option value="en"  label="English" />
+        </el-select>
         <h2>{{$t('login.SysName')}}</h2>
         <el-form
             @submit.native.prevent
diff --git a/north-glass-erp/northglass-erp/src/views/RegisterView.vue b/north-glass-erp/northglass-erp/src/views/RegisterView.vue
index 605158d..db9cd2d 100644
--- a/north-glass-erp/northglass-erp/src/views/RegisterView.vue
+++ b/north-glass-erp/northglass-erp/src/views/RegisterView.vue
@@ -65,6 +65,7 @@
     formEl.validate((valid) => {
       if (valid) {
         loginLoadings.value=true
+        register.passWord = btoa(register.passWord)
         request.post('/user/register',
             register).then((res) => {
           if(res['code']==200){
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue
index 2b8e08e..8b7adc6 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/CreateIngredients.vue
@@ -1,7 +1,18 @@
-<!-- 鐗╂枡璧勬枡鏂板鍘熺墖 -->
+
 
 <script lang="ts" setup>
-import {ref} from "vue";
+import request from "@/utils/request"
+import deepClone from "@/utils/deepClone"
+import {ElMessage} from "element-plus"
+import {computed, onMounted, ref} from "vue"
+import {useRoute, useRouter} from "vue-router"
+import  useUserInfo from "@/stores/userInfo"
+import GlassType from "@/components/sd/product/GlassType.vue"
+import useProductGlassTypeStore from "@/stores/sd/product/productGlassType"
+
+
+const router = useRouter()
+const route = useRoute()
 const value = ref('')
 const options = [
   {
@@ -13,6 +24,113 @@
     label: '杈呮枡',
   }
 ]
+
+let BasicData = ref([])
+
+let ruleForm = ref({
+  id:0,
+  type: '',
+  json: ''
+
+})
+
+const userinfo=[]
+
+
+
+
+
+const getWork = () => {
+  //椤甸潰鍔犺浇璇锋眰
+  request.get(`/BasicWarehouse/BasicWarehouseType/${value.value}`).then((res) => {
+    if(res.code==200){
+      BasicData.value = res.data
+      for (let i=0;i<BasicData.value.length;i++){
+        BasicData.value[i].Type=userinfo[i]
+      }
+
+    }else{
+      ElMessage.warning(res.msg)
+    }
+  })
+}
+
+const resetForm = () => {
+  BasicData.value.forEach((item)=>{
+    item.Type=""
+  })
+}
+
+const submitForm = () => {
+  let filterData = {}
+  let isBool=true
+  let index = 0
+  let productName = "{"
+
+  BasicData.value.forEach((item)=>{
+    filterData[item.OperateType]=item.Type
+    const customerName = item.Type
+    if(customerName === null || customerName === undefined || customerName === ''){
+      ElMessage.error('璇疯緭鍏�'+item.OperateTypeName)
+      isBool=false
+      return
+    }
+    if(index == BasicData.value.length - 1){
+      productName+='"'+item.OperateType+'":"'+item.Type+'"'
+    }else {
+      productName+='"'+item.OperateType+'":"'+item.Type+'",'
+    }
+    index++;
+  })
+  productName+="}"
+
+  let materialStore={
+    id:ruleForm.value.id,
+    type:value.value,
+    json:productName
+  }
+  console.log(materialStore)
+  if(isBool){
+    request.post("/Material/saveMaterialStore", materialStore).then((res) => {
+      if(res.code==200){
+        resetForm()
+        ElMessage.success('淇濆瓨鎴愬姛')
+      }else{
+        ElMessage.warning(res.msg)
+      }
+    })
+  }
+
+}
+
+
+onMounted(()=>{
+
+  //鑾峰彇浼犺繃鏉ョ殑鏁版嵁杩涜鍒ゆ柇
+  const str = route.query.id
+  if (typeof str != 'undefined' && str != null && str !== '' && str !== '\n' && str !== '\r'){
+    ruleForm.value.id = Number(str)
+
+    request.post(`/Material/getSelectMaterialStore/1/100`,ruleForm.value).then((res) => {
+      if(res.code==200){
+        ruleForm.value=deepClone(res.data.data[0])
+        value.value=ruleForm.value.type
+        const cc= JSON.parse(ruleForm.value.json);
+        for (let i in cc){
+          userinfo.push(cc[i])
+        }
+        getWork()
+      }else{
+        ElMessage.warning(res.msg)
+        router.push("/login")
+      }
+    })
+  }
+
+
+})
+
+
 </script>
 <template>
 
@@ -22,7 +140,7 @@
 <div>
   <el-row>
   <el-col :span="4">
-    <el-select v-model="value" placeholder="璇烽�夋嫨绫诲埆">
+    <el-select v-model="value" placeholder="璇烽�夋嫨绫诲埆" @change="getWork">
       <el-option
           v-for="item in options"
           :key="item.value"
@@ -36,156 +154,23 @@
 
      <el-divider ></el-divider> <!-- 娣诲姞鍒嗛殧绾� -->
 
-     <el-row gutter="5" v-show="value=='鍘熺墖'" >
-       <el-col :span="4.5">
-        闀垮害 <el-input v-show="value=='鍘熺墖'" v-model="name" placeholder="璇疯緭鍏ラ暱搴�" style="width: 150px; height: 30px;" />
+     <el-row gutter="5"
+             v-for="item in BasicData" >
+       <el-col :span="4.5" >
+         {{item.OperateTypeName}}锛�<el-input v-model="item.Type"  placeholder="璇疯緭鍏ユ暟鎹�" style="width: 150px; height: 30px;" />
        </el-col>
-       <el-col :span="4.5">
-         鍘氬害 <el-input v-show="value=='鍘熺墖'"  v-model="name" placeholder="璇疯緭鍏ュ帤搴�" style="width: 150px; height: 30px;" />
-       </el-col>
-       <el-col :span="4.5">
-         瀹藉害 <el-input v-show="value=='鍘熺墖'" v-model="name" placeholder="璇疯緭鍏ュ搴�" style="width: 150px; height: 30px;" />
-       </el-col>
-<!--       <el-col :span="4">-->
-<!--         <el-dropdown>-->
-<!--           <el-button type="primary">-->
-<!--             鑶滅郴<el-icon class="el-icon&#45;&#45;right" style="width: 66px;"><arrow-down /></el-icon>-->
-<!--           </el-button>-->
-<!--           <template #dropdown>-->
-<!--             <el-dropdown-menu>-->
-<!--               <el-dropdown-item>闈為晙鑶�</el-dropdown-item>-->
-<!--               <el-dropdown-item>鍦ㄧ嚎LOW-E</el-dropdown-item>-->
-<!--               <el-dropdown-item>SUPPER-I</el-dropdown-item>-->
-<!--               <el-dropdown-item>SUPPER-I+</el-dropdown-item>-->
-<!--               <el-dropdown-item>SUPPER-II</el-dropdown-item>-->
-<!--               <el-dropdown-item>SUPPER-III</el-dropdown-item>-->
-<!--               <el-dropdown-item>SUPPER-V</el-dropdown-item>-->
-<!--               <el-dropdown-item>SUPPER-IA</el-dropdown-item>-->
-<!--               <el-dropdown-item>SUNLITE LOWE</el-dropdown-item>-->
-<!--               <el-dropdown-item>LOW-E40</el-dropdown-item>-->
-<!--               <el-dropdown-item>LOW-E40A</el-dropdown-item>-->
-<!--               <el-dropdown-item>LOW-E50</el-dropdown-item>-->
-<!--               <el-dropdown-item>LOW-E55N</el-dropdown-item>-->
-<!--             </el-dropdown-menu>-->
-<!--           </template>-->
-<!--         </el-dropdown>-->
-<!--       </el-col>-->
-     </el-row>
-     <el-divider ></el-divider> <!-- 娣诲姞鍒嗛殧绾� -->
-       <el-row gutter="5" v-show="value=='鍘熺墖'|| value=='杈呮枡'">
-       <el-col :span="4.5">
-         鍚嶇О <el-input  v-show="value=='鍘熺墖' || value=='杈呮枡'" v-model="productName" placeholder="璇疯緭鍏ュ悕绉�" style="width: 150px; height: 30px;" />
-       </el-col>
-         <el-col :span="4.5">
-           鏁伴噺 <el-input v-show="value=='鍘熺墖' || value=='杈呮枡'"  v-model="salId" placeholder="璇疯緭鍏ユ暟閲�" style="width: 150px; height: 30px;" />
-         </el-col>
-         <el-col :span="4.5">
-           鍗曚綅 <el-input v-model="name" placeholder="璇疯緭鍏ュ崟浣�" style="width: 150px; height: 30px;" />
-         </el-col>
-         <el-col :span="4.5">
-           鍨嬪彿<el-input v-model="name" placeholder="璇疯緭鍏ュ瀷鍙�" style="width: 150px; height: 30px;" />
-         </el-col>
-       </el-row>
-     <el-divider v-show="false" ></el-divider> <!-- 娣诲姞鍒嗛殧绾� -->
-<!--         <el-row gutter="5">-->
-<!--           <el-col span="4.5">-->
-<!--           <el-input v-model="name" placeholder="璇疯緭鍏ユ崲绠楀崟浣�" style="width: 150px; height: 30px;" />-->
-<!--           </el-col>-->
-<!--           <el-col :span="4.5">-->
-<!--             <el-input v-model="name" placeholder="璇疯緭鍏ユ崲绠楃巼" style="width: 150px; height: 30px;" />-->
-<!--           </el-col>-->
-<!--     </el-row>-->
-
-     <el-divider ></el-divider> <!-- 娣诲姞鍒嗛殧绾� -->
-
-     <el-row gutter="5">
-
-
+       <el-divider ></el-divider> <!-- 娣诲姞鍒嗛殧绾� -->
 
 
      </el-row>
 
-<!--     <el-divider ></el-divider> &lt;!&ndash; 娣诲姞鍒嗛殧绾� &ndash;&gt;-->
 
-<!--     <el-row gutter="5">-->
-<!--       <el-col :span="4.5">-->
-<!--         <el-input v-model="name" placeholder="璇疯緭鍏ュ瀷鍙�" style="width: 150px; height: 30px;" />-->
-<!--       </el-col>-->
-
-<!--       <el-col :span="4.5">-->
-<!--         <el-input v-model="name" placeholder="璇疯緭鍏ュ崟浣�" style="width: 150px; height: 30px;" />-->
-<!--       </el-col>-->
-<!--       <el-col :span="4">-->
-<!--         <el-dropdown>-->
-<!--           <el-button type="primary">-->
-<!--             浜у湴<el-icon class="el-icon&#45;&#45;right" style="width: 66px;"><arrow-down /></el-icon>-->
-<!--           </el-button>-->
-<!--           <template #dropdown>-->
-<!--             <el-dropdown-menu>-->
-<!--               <el-dropdown-item>鏆傛棤</el-dropdown-item>-->
-<!--             </el-dropdown-menu>-->
-<!--           </template>-->
-<!--         </el-dropdown>-->
-<!--       </el-col>-->
-<!--       <el-col :span="4">-->
-<!--         <el-dropdown>-->
-<!--           <el-button type="primary">-->
-<!--             涓被<el-icon class="el-icon&#45;&#45;right" style="width: 66px;"><arrow-down /></el-icon>-->
-<!--           </el-button>-->
-<!--           <template #dropdown>-->
-<!--             <el-dropdown-menu>-->
-<!--               <el-dropdown-item>0</el-dropdown-item>-->
-<!--             </el-dropdown-menu>-->
-<!--           </template>-->
-<!--         </el-dropdown>-->
-<!--       </el-col>-->
-<!--     </el-row>-->
-
-
-<!--     <el-divider ></el-divider> &lt;!&ndash; 娣诲姞鍒嗛殧绾� &ndash;&gt;-->
-
-<!--     <el-row gutter="5">-->
-
-
-<!--       <el-col :span="4.5">-->
-<!--         <el-input v-model="name" placeholder="璇疯緭鍏ュ娉�" style="width: 150px; height: 30px;" />-->
-<!--       </el-col>-->
-<!--       <el-col :span="4">-->
-<!--         <el-dropdown>-->
-<!--           <el-button type="primary">-->
-<!--             灏忕被<el-icon class="el-icon&#45;&#45;right" style="width: 66px;"><arrow-down /></el-icon>-->
-<!--           </el-button>-->
-<!--           <template #dropdown>-->
-<!--             <el-dropdown-menu>-->
-<!--               <el-dropdown-item>0</el-dropdown-item>-->
-<!--             </el-dropdown-menu>-->
-<!--           </template>-->
-<!--         </el-dropdown>-->
-<!--       </el-col>-->
-<!--     </el-row>-->
-
-<!--     <el-divider ></el-divider> &lt;!&ndash; 娣诲姞鍒嗛殧绾� &ndash;&gt;-->
-
-
-<!--     <el-row gutter="5">-->
-<!--&lt;!&ndash;       <el-col :span="4.5">&ndash;&gt;-->
-<!--&lt;!&ndash;         <el-input v-model="name" placeholder="璇疯緭鍏ヤ繚璐ㄦ湡" style="width: 150px; height: 30px;" />&ndash;&gt;-->
-<!--&lt;!&ndash;       </el-col>&ndash;&gt;-->
-<!--&lt;!&ndash;       <el-col :span="4.5">&ndash;&gt;-->
-<!--&lt;!&ndash;         <el-input v-model="name" placeholder="璇疯緭鍏ユ渶楂橀璀�" style="width: 150px; height: 30px;" />&ndash;&gt;-->
-<!--&lt;!&ndash;       </el-col>&ndash;&gt;-->
-<!--&lt;!&ndash;       <el-col :span="4.5">&ndash;&gt;-->
-<!--&lt;!&ndash;         <el-input v-model="name" placeholder="璇疯緭鍏ユ媶鍖呴璀�" style="width: 150px; height: 30px;" />&ndash;&gt;-->
-<!--&lt;!&ndash;       </el-col>&ndash;&gt;-->
-
-<!--     </el-row>-->
-<!--     <el-divider ></el-divider> &lt;!&ndash; 娣诲姞鍒嗛殧绾� &ndash;&gt;-->
      <el-row  gutter="10" justify="center" >
        <el-col span="4">
-         <el-button id="searchButton" type="primary" :icon="Search">鏌ヨ</el-button>
+         <el-button id="searchButton" type="primary" @click="resetForm" >閲嶇疆</el-button>
        </el-col>
        <el-col span="4">
-         <el-button id="searchButton" type="primary" :icon="Search">纭畾</el-button>
+         <el-button id="searchButton" type="primary" @click="submitForm" >淇濆瓨</el-button>
        </el-col>
      </el-row>
    </el-form>
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue
index eb617c4..beff7f3 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue
@@ -1,26 +1,231 @@
 <script setup>
 
-import {reactive} from "vue";
-import {useRouter} from  'vue-router'
-let router=useRouter()
+import request from "@/utils/request"
+import deepClone from "@/utils/deepClone"
+import {ElMessage} from "element-plus"
+import {computed, onMounted, reactive, ref} from "vue"
+import {useRoute, useRouter} from "vue-router"
+import {changeFilterEvent,filterChanged} from "@/hook"
+
+const router = useRouter()
+const route = useRoute()
+let produceList = ref([])
 const getTableRow = (row,type) =>{
   switch (type) {
     case 'edit' :{
-      //alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑缂栬緫淇℃伅')
       router.push({path: '/main/ingredients/CreateIngredients', query: { id: row.id }})
-      break
+      return
     }
     case 'delete':{
-      alert('鎴戞帴鏀跺埌瀛愮粍浠朵紶閫佺殑鍒犻櫎淇℃伅')
-      break
+      let flowData = ref({
+        id: row.id
+      })
+      request.post("/Material/deleteMaterialStore",flowData.value).then((res) => {
+        if(res.code==200){
+          ElMessage.success("鍒犻櫎鎴愬姛")
+          router.push({path:'/main/ingredients/SelectIngredients',query:{random:Math.random()}})
+        }else{
+          ElMessage.warning(res.msg)
+          router.push("/login")
+        }
+      })
+      return
     }
   }
+}
+
+const value = ref('')
+const options = [
+  {
+    value: '鍘熺墖',
+    label: '鍘熺墖'
+  },
+  {
+    value: '杈呮枡',
+    label: '杈呮枡',
+  }
+]
+
+const hasDecimal=(value)=>{
+  const regex=/\./ // 瀹氫箟姝e垯琛ㄨ揪寮忥紝鏌ユ壘灏忔暟鐐�
+  return regex.test(value) //杩斿洖true/false
+}
+
+const hasDecimalhtml=(item,row)=>{
+  let aa=item.split('.').length
+  if (aa===2){
+    return row[item.split('.')[0]][item.split('.')[1]]
+  }else if(aa===3){
+    return row[item.split('.')[0]][item.split('.')[1]][item.split('.')[2]]
+  }
+
+
+}
+
+let pageNum=ref(1)
+let total = reactive({
+  pageTotal : 0,
+  dataTotal : 0,
+  pageSize : 2
+})
+
+let filterData = ref({
+  type:''
+
+})
+let BasicData = ref([])
+
+let materialStore= ref([])
+
+let arr = [
+  {type:'expand',fixed:'left',slots: { content:'content' },width: '50'},
+  {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:'left'},
+  { type: 'seq',fixed:'left', title: '鑷簭', width: '80' },
+  {field: 'id', width: '150',title: '鐗╂枡缂栫爜', sortable: true,showOverflow:'ellipsis' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}
+]
+
+/*//绗竴娆″姞杞介粯璁�
+value.value='鍘熺墖'
+filterData.value.type='鍘熺墖'
+request.get(`/BasicWarehouse/BasicWarehouseType/${value.value}`).then((res) => {
+  if(res.code==200){
+    gridOptions.columns.splice(0,gridOptions.columns.length)
+    console.log(res.data)
+    BasicData.value = res.data
+    //娣诲姞鍒�
+    gridOptions.columns=arr
+
+    for (let i=0;i<BasicData.value.length;i++){
+      let aa={field: BasicData.value[i].OperateType, width: '150',title: BasicData.value[i].OperateTypeName, sortable: true,showOverflow:'ellipsis' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}
+      console.log(gridOptions.columns)
+      gridOptions.columns.push(aa)
+
+    }
+    getWorks()
+
+  }else{
+    ElMessage.warning(res.msg)
+  }
+})*/
+
+
+//鍒楁煡璇�
+const getWork = () => {
+  filterData.value.type=value.value
+  request.get(`/BasicWarehouse/BasicWarehouseType/${value.value}`).then((res) => {
+    if(res.code==200){
+      gridOptions.columns=[]
+      BasicData.value = res.data
+      //娣诲姞鍒�
+      gridOptions.columns=arr.slice()
+
+      for (let i=0;i<BasicData.value.length;i++){
+         let column={field: BasicData.value[i].OperateType,
+           width: '150',title: BasicData.value[i].OperateTypeName,
+           sortable: true,showOverflow:'ellipsis' ,
+           filters:[{ data: '' }],
+           slots: { filter: 'num1_filter' },
+           filterMethod:filterChanged}
+
+         gridOptions.columns.push(column)
+
+      }
+      getWorks()
+
+    }else{
+      ElMessage.warning(res.msg)
+    }
+  })
+}
+
+
+//鏁版嵁缁戝畾
+const getWorks = () => {
+  console.log(filterData.value)
+  request.post(`/Material/getSelectMaterialStore/1/${total.pageSize}`,filterData.value).then((res) => {
+
+    if(res.code==200){
+      console.log(res.data.data)
+      materialStore.value=[]
+      for (let i=0;i<res.data.data.length;i++){
+        materialStore.value[i]= JSON.parse(res.data.data[i].json)
+        materialStore.value[i].id= res.data.data[i].id
+      }
+      console.log(materialStore)
+
+      total.dataTotal = res.data.total.total*1
+      total.pageTotal= res.data.total.pageTotal
+      pageNum.value=1
+
+      produceList = deepClone(materialStore.value)
+      xGrid.value.loadData(produceList)
+      gridOptions.loading=false
+    }else{
+      ElMessage.warning(res.msg)
+      router.push("/login")
+    }
+  })
+}
+
+//鍒嗛〉鏌ヨ
+const getWorkPaging = () => {
+  console.log(filterData.value)
+  request.post(`/Material/getSelectMaterialStore/${pageNum.value}/${total.pageSize}`,filterData.value).then((res) => {
+
+    if(res.code==200){
+      console.log(res.data.data)
+      materialStore.value=[]
+      for (let i=0;i<res.data.data.length;i++){
+        materialStore.value[i]= JSON.parse(res.data.data[i].json)
+        materialStore.value[i].id= res.data.data[i].id
+      }
+
+      produceList = deepClone(materialStore.value)
+      xGrid.value.loadData(produceList)
+      gridOptions.loading=false
+    }else{
+      ElMessage.warning(res.msg)
+      router.push("/login")
+    }
+  })
+}
+
+//鍒嗛〉鏌ヨ
+const selectOrderList = ()=>{
+  filterData.value.type=value.value
+  request.get(`/BasicWarehouse/BasicWarehouseType/${value.value}`).then((res) => {
+    if(res.code==200){
+      gridOptions.columns.splice(0,gridOptions.columns.length)
+      console.log(res.data)
+      BasicData.value = res.data
+      //娣诲姞鍒�
+      gridOptions.columns=arr
+
+      for (let i=0;i<BasicData.value.length;i++){
+        let aa={field: BasicData.value[i].OperateType, width: '150',title: BasicData.value[i].OperateTypeName, sortable: true,showOverflow:'ellipsis' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}
+        console.log(gridOptions.columns)
+        gridOptions.columns.push(aa)
+
+      }
+      getWorkPaging()
+
+    }else{
+      ElMessage.warning(res.msg)
+    }
+  })
+}
+//椤佃剼璺宠浆
+const handlePageChange = ({ currentPage, pageSize }) => {
+  total.pageTotal = pageSize
+  pageNum.value=currentPage
+
+  selectOrderList();
 }
 
 
 
 //瀛愮粍浠舵帴鏀跺弬鏁�
-
+const xGrid = ref()
 const gridOptions = reactive({
   border:  "full",//琛ㄦ牸鍔犺竟妗�
   keepSource: true,//淇濇寔婧愭暟鎹�
@@ -39,7 +244,7 @@
     useKey: true
   },
   filterConfig: {   //绛涢�夐厤缃」
-    remote: true
+    //remote: true
   },
   customConfig: {
     storage: true
@@ -50,25 +255,9 @@
     showStatus: true
   },//琛ㄥご鍙傛暟
   columns:[
-    {type:'expand',fixed:"left",slots: { content:'content' },width: '50'},
-    // { type: 'checkbox',fixed:"left", title: '閫夋嫨', width: '80' },
-    {title: '鎿嶄綔', width: '110', slots: { default: 'button_slot' },fixed:"left"},
-    { type: 'seq',fixed:"left", title: '鑷簭', width: '80' },
-    {field: 'materialCode', width:'150', title: '鐗╂枡缂栫爜', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
-    {field: 'materialName', width: '150',title: '鐗╂枡鍚嶇О', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'origin', width: '120',title: '浜у湴', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
-    {field: 'width', width: '100',title: '瀹藉害', sortable: true},
-    {field: 'height',width: '100', title: '楂樺害', sortable: true,showOverflow:"ellipsis"},
-    {field: 'thickness', width: '80',title: '鍘氬害', sortable: true},
-    {field: 'model',width: '100', title: '鍨嬪彿', sortable: true},
-    {field: 'conversionRate', width: '100',title: '鎹㈢畻鐜�', sortable: true},
-    {field: 'unit',width: '100', title: '鍗曚綅', sortable: true},
-    {field: 'conversionUnit', width: '80',title: '鎹㈢畻鍗曚綅', sortable: true},
-    {field: 'shelfLife',width: '100', title: '淇濊川鏈�', sortable: true},
-    {field: 'weight', width: '100',title: ' 閲嶉噺', sortable: true},
-    {field: 'quantity',width: '110', title: '鏁伴噺', sortable: true},
-    {field: 'inventoryOrganization',width: '100', title: '搴撳瓨缁勭粐', sortable: true},
-    {field: 'remark',width: '80', title: '澶囨敞', sortable: true},
+
+
+
 
   ],//琛ㄥご鎸夐挳
   toolbarConfig: {
@@ -79,51 +268,13 @@
     zoom: true,
     custom: true
   },
-  data:  [
-    {
-      "materialCode": 700900000000941,
-      "materialName": "涓濊闃叉檼鎵嬪濂楄",
-      "origin": "00",
-      "width": "00",
-      "height": "00",
-      "thickness":'00',
-      "model": "鏈嶉グ",
-      "conversionRate": "1000",
-      "unit": "鍙�",
-      "conversionUnit": "1",
-      "shelfLife": "12涓湀",
-      "weight": "0.0000",
-      "quantity": "10000",
-      "inventoryOrganization": "浜哄伐搴�",
-      "remark": "娴嬭瘯",
-    },
-    {
-      "materialCode": 700900000000941,
-      "materialName": "涓濊闃叉檼鎵嬪濂楄",
-      "origin": "00",
-      "width": "00",
-      "height": "00",
-      "thickness":'00',
-      "model": "鏈嶉グ",
-      "conversionRate": "1000",
-      "unit": "鍙�",
-      "conversionUnit": "1",
-      "shelfLife": "12涓湀",
-      "weight": "0.0000",
-      "quantity": "10000",
-      "inventoryOrganization": "浜哄伐搴�",
-      "remark": "娴嬭瘯",
-    },
-  ],//table body瀹為檯鏁版嵁
   footerMethod ({ columns, data }) {//椤佃剼鍑芥暟
     return[
       columns.map((column, columnIndex) => {
         if (columnIndex === 0) {
           return '鍚堣:'
         }
-        // if (props.tableProp.footList.includes(column.field)) {
-        //   return sumNum(data, column.field)
-        // }
+
         return ''
       })
     ]
@@ -136,22 +287,39 @@
 </script>
 
 <template>
+
+
   <div class="main-div-customer">
+    <div>
+      <el-row>
+        <el-col :span="4">
+          <el-select v-model="value" placeholder="璇烽�夋嫨绫诲埆" @change="getWork">
+            <el-option
+                v-for="item in options"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+            />
+          </el-select>
+        </el-col>
+      </el-row>
+    </div>
+
+
     <vxe-grid
         max-height="100%"
-        @filter-change="filterChanged"
         class="mytable-scrollbar"
         ref="xGrid"
         v-bind="gridOptions"
 
     >
       <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
-      <!--      涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�-->
       <template #content="{ row }">
         <ul class="expand-wrapper">
           <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
             <span style="font-weight: bold">{{item.title+':  '}}</span>
-            <span>{{ row[item.field] }}</span>
+            <span v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
+            <span v-else>{{ row[item.field] }}</span>
           </li>
         </ul>
       </template>
@@ -170,6 +338,19 @@
         </div>
       </template>
 
+      <template #pager>
+        <!--浣跨敤 pager 鎻掓Ы-->
+        <vxe-pager
+            @page-change="handlePageChange"
+            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
+            v-model:current-page="pageNum"
+            v-model:page-size="total.pageSize"
+            v-model:pager-count="total.pageTotal"
+            :total="total.dataTotal"
+        >
+        </vxe-pager>
+      </template>
+
 
     </vxe-grid>
   </div>
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue
index 2364204..8074e2a 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue
@@ -210,6 +210,9 @@
   ],//琛ㄥご鎸夐挳
   toolbarConfig: {
     buttons: [{
+      'name': t('productStock.return'), status:"info" ,icon: 'vxe-icon-undo',
+      'code':'return'
+    },{
       'name': t('basicData.cancelReview'),status: 'primary',
       'code':'add'
     }],
@@ -268,7 +271,10 @@
           return;
 
         }
-
+        case 'return': {
+          router.go(-1)
+          return
+        }
 
       }
     }
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/StorageRecord.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/StorageRecord.vue
index d980d64..cc698d8 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/StorageRecord.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/StorageRecord.vue
@@ -221,6 +221,10 @@
   toolbarConfig: {
     buttons: [
       {
+        'name': t('productStock.return'), status:"info" ,icon: 'vxe-icon-undo',
+        'code':'return'
+      },
+      {
         'name': t('productStock.returnToWarehouse'),status: 'primary',
         'code':'cancel'
       }],
@@ -259,6 +263,10 @@
           if ($table) {
             const selectRecords = $table.getCheckboxRecords()
 
+            if (selectRecords.length <= 0) {
+              ElMessage.warning(t('productStock.unselectedData'))
+              return
+            }
             let flowData = ref({
 
               userId:userid,
@@ -281,7 +289,10 @@
           return;
 
         }
-
+        case 'return': {
+          router.go(-1)
+          break
+        }
 
       }
     }
diff --git a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue
index aa39057..108b0d2 100644
--- a/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue
+++ b/north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue
@@ -207,12 +207,17 @@
     {field: 'remarks', width: '140',title: t('productStock.remarks'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
   ],//琛ㄥご鎸夐挳
   toolbarConfig: {
-    buttons: [{
+    buttons: [
+      {
+        'name': t('productStock.return'), status:"info" ,icon: 'vxe-icon-undo',
+        'code':'return'
+      },
+      {
       'name': t('basicData.review'),status: 'primary',
       'code':'add'
     },
       {
-        'name': t('basicData.cancelReview'),status: 'primary',
+        'name': t('productStock.reverseReviewList'),status: 'primary',
         'code':'rework'
       },
       {
@@ -278,6 +283,10 @@
           router.push({path: '/main/productStock/ReworkRecord'});
           return
         }
+        case 'return': {
+          router.go(-1)
+          break
+        }
         case 'cancel': {
           const $table = xGrid.value
           //gridOptions.columns.unshift(a)
diff --git a/north-glass-erp/northglass-erp/src/views/pp/Replenish/SelectReplenish.vue b/north-glass-erp/northglass-erp/src/views/pp/Replenish/SelectReplenish.vue
index f79fe94..35ff20b 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/Replenish/SelectReplenish.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/Replenish/SelectReplenish.vue
@@ -73,6 +73,7 @@
   }
 })
 
+
 //琛ㄥ熬姹傚拰
 const sumNum = (list, field) => {
   let count = 0
@@ -205,7 +206,7 @@
               }
             })
           }
-          return;
+          return
 
         }
 
diff --git a/north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue b/north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue
index 92cb34b..38d855f 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue
@@ -43,7 +43,7 @@
       request.post("/customer/deleteCustomer", flowData.value).then((res) => {
         if(res.code==200){
           ElMessage.success("鍒犻櫎鎴愬姛")
-          location.reload();
+          router.push({path:'/main/customer/selectCustomer',query:{random:Math.random()}})
         }else{
           ElMessage.warning(res.msg)
           router.push("/login")
diff --git a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
index f97e9a1..3477fe7 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
@@ -317,7 +317,7 @@
       </template>
 
       <template #state="{ row,column}">
-        <el-checkbox @click.native.prevent  :checked="row[column.field]===2"/>
+        <el-checkbox @click.native.prevent :indeterminate="row[column.field]===1" :checked="row[column.field]===2"/>
       </template>
 
       <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
index 9f25879..26a04c7 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -8,7 +8,8 @@
 import  useUserInfoStore from '@/stores/userInfo'
 import SelectProduct from "@/views/sd/product/SelectProduct.vue"
 import {changeFilterEvent,filterChanged} from "@/hook"
-import {addListener,toolbarButtonClickEvent} from "@/hook/mouseMove";
+import {addListener,toolbarButtonClickEvent} from "@/hook/mouseMove"
+import downLoadFile from "@/hook/downLoadFile"
 import {useI18n} from "vue-i18n"
 const { t } = useI18n()
 
@@ -299,7 +300,7 @@
         }
       }
     }
-  },//澶撮儴鎸夐挳浜嬩欢
+  },//鍙抽敭鎸夐挳浜嬩欢
   menuClick ({ menu, row, column }) {
     const $grid = xGrid.value
     if ($grid) {
@@ -439,6 +440,11 @@
           status: 'primary',
           'name': (res.data.order.orderReview>0?t('basicData.cancel'):t('basicData.restore'))}
         gridOptions.toolbarConfig.buttons.push(button)
+        if(res.data.order.orderReview===-2){
+          gridOptions.toolbarConfig.buttons[2].disabled = true
+          gridOptions.toolbarConfig.buttons[3].disabled = true
+          gridOptions.toolbarConfig.buttons[4].disabled = true
+        }
       }
       if(res.data.order.productionOrder !==0 ){
         gridOptions.toolbarConfig.buttons[2].disabled = true
@@ -595,6 +601,11 @@
     xGrid.value.loadData(jsonData)
   }
   fileReader.readAsBinaryString(files[0])
+}
+
+//妯℃澘涓嬭浇
+const importTemplate = () => {
+  downLoadFile('/importTemplate.xlsx','importTemplate.xlsx')
 }
 
 //琛屽崟鍏冩牸淇敼淇敼瑙﹀彂姝や簨浠�
@@ -764,6 +775,7 @@
           </div>
         </template>
         <template #toolbar_buttons>
+          <vxe-button  @click="importTemplate">{{$t('order.template')}}</vxe-button>
           <vxe-button  @click="importEvent">{{$t('order.import')}}</vxe-button>
         </template>
 
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
index c009259..e36de87 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -60,7 +60,7 @@
       {field: 'project',width:120,  title: t('order.project'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
       {field: 'batch',width:120,  title: t('order.batch'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
       {field: 'quantity',width:120,  title: t('order.quantity'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
-      {field: '14',width:120,  title: t('searchOrder.inventoryNum'), sortable: true},
+      {field: 'goodsQuantity',width:120,  title: t('searchOrder.inventoryNum'), sortable: true},
       {field: 'area',width:120,  title: t('order.computeGrossArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
       {field: 'createTime',width:120,   title: t('basicData.reportData'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
       {field: 'packType',width:120,  title: t('order.packType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue b/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
index 2b67b21..f3878a7 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/UpdateOrderCraft.vue
@@ -4,6 +4,7 @@
 import request from "@/utils/request"
 import {ElMessage} from "element-plus"
 import {changeFilterEvent,filterChanged} from "@/hook"
+import {addListener,toolbarButtonClickEvent} from "@/hook/mouseMove"
 import {useI18n} from "vue-i18n"
 const { t } = useI18n()
 
@@ -12,6 +13,7 @@
 let dialogTableVisible = ref(false)
 let craftVisible = ref(false)
 const xGrid = ref()
+const trademarkLocation=ref(['宸︿笂','鍙充笂','宸︿笅','鍙充笅'])
 const gridOptions = reactive({
   border:  "full",//琛ㄦ牸鍔犺竟妗�
   keepSource: true,//淇濇寔婧愭暟鎹�
@@ -41,7 +43,7 @@
     showStatus: true
   },//琛ㄥご鍙傛暟
   columns:[
-    {title: t('basicData.operate'), width: 110, slots: { default: 'button_slot' },fixed:"left",},
+    {title: t('basicData.operate'), width: 220, slots: { default: 'button_slot' },fixed:"left",},
     {field: 'orderNumber',width:120,  title: t('order.OrderNum'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
     //{field: 'orderDetail.buildingNumber',width:120,  title: '妤煎彿',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
     {field: 'orderDetail.productName',width:120,  title: t('order.product'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
@@ -56,7 +58,7 @@
     {field: 'area',width:120,  title: t('craft.area'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
     {field: 'orderDetail.quantity',width:120,  title: t('order.quantity'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
     {field: 'process',width:120,  title: t('craft.process'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
-    {field: 'icon',width:120,  title: t('order.icon'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
+    {field: 'icon',width:120,  title: t('order.icon'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
     {field: 'orderDetail.processingNote',width:120,  title: t('order.processingNote'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
     {field: 'orderDetail.remarks',width:120,  title: t('basicData.remarks'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
     {field: 'orderDetail.edgingType',width:120,  title: t('order.edgingType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}
@@ -70,6 +72,17 @@
     // { row: 0, col: 7, rowspan: 4, colspan: 1 },
     // { row: 0, col: 8, rowspan: 4, colspan: 1 },
   ],
+  menuConfig:{
+    body:{
+      options:[
+          [
+            { code: 'copyChecked', name: t('basicData.selectSame'), prefixIcon: 'vxe-icon-copy', visible: true, disabled: false },
+            { code: 'copyAll', name: t('basicData.sameAfterwards'), prefixIcon: 'vxe-icon-feedback', visible: true, disabled: false },
+            { code: 'clearChecked', name: t('basicData.clearSelection'), prefixIcon: 'vxe-icon-indicator', visible: true, disabled: false },
+          ]
+      ]
+    }
+  },
   toolbarConfig: {
     buttons: [
       {'code': 'remarks', 'name': t('order.processingNote')},
@@ -121,6 +134,51 @@
         }
       }
     }
+  },
+  menuClick ({ menu, row, column }) {
+    const $grid = xGrid.value
+    if ($grid) {
+      switch (menu.code) {
+        case 'copyChecked' :{
+          let result = toolbarButtonClickEvent()
+          if(result){
+            const dataList = xGrid.value.getTableData().visibleData
+            const val = dataList[result.start][result.cell]
+            dataList.forEach((item,index) =>{
+              if(index>=result.start && index<=result.end){
+                item[result.cell] = val
+              }
+            })
+          }
+          break
+        }
+        case 'copyAll' :{
+          let result = toolbarButtonClickEvent()
+          if(result){
+            const dataList = xGrid.value.getTableData().visibleData
+            const val = dataList[result.start][result.cell]
+            dataList.forEach((item,index) =>{
+              if(index>=result.start ){
+                item[result.cell] = val
+              }
+            })
+          }
+          break
+        }
+        case 'clearChecked' :{
+          let result = toolbarButtonClickEvent()
+          if(result){
+            const dataList = xGrid.value.getTableData().visibleData
+            dataList.forEach((item,index) =>{
+              if(index>=result.start && index<=result.end){
+                item[result.cell] = ''
+              }
+            })
+          }
+          break
+        }
+      }
+    }
   }
 }
 // 瀹氫箟琛ㄥご涓婁紶鏁版嵁
@@ -150,10 +208,29 @@
   processingNote:''
 })
 
+const trademarkAttr = ref({
+  trademark:null,
+  xImage:null,
+  yImage:null,
+  tag:null,
+  tag2:null ,
+  tag3:null,
+  xMargin:null,
+  yMargin:null,
+  location:[]
+
+})
+
 let process =  ref([])
 request.get(`/basicData/BasicDataByType/product/process`).then((res) =>{
   if (res.code==200){
     process.value=res.data
+  }
+})
+const trademarkList =ref([])
+request.get(`/basicData/BasicDataByType/order/icon`).then((res) =>{
+  if (res.code==200){
+    trademarkList.value = res.data
   }
 })
 
@@ -165,6 +242,33 @@
   })
   rowIndex.value = row
 }
+
+//淇敼鍟嗘爣閫夐」
+let trademarkVisible = ref(false)
+const updateTrademark = (row) => {
+  trademarkVisible.value= true
+  Object.keys(trademarkAttr.value).forEach((key) => {
+    if(key==='location'){
+      trademarkAttr.value[key] = []
+    }else{
+      trademarkAttr.value[key] = ''
+    }
+  })
+  if(row.icon!=null){
+    trademarkAttr.value = JSON.parse(row.icon)
+  }
+
+  rowIndex.value = row
+}
+
+const changeTrademark = ()=>{
+  rowIndex.value.icon = JSON.stringify(trademarkAttr.value)
+  trademarkVisible.value=false
+  Object.keys(trademarkAttr.value).forEach((key) => (trademarkAttr.value[key] = ''))
+}
+
+
+
 const  craftObj  = reactive({
   newCraft: [],
   oldCraft: []
@@ -187,6 +291,7 @@
 
 //鍒濆鍖栧垽鏂槸鍚︽湁id浼犲叆
 onMounted(()=>{
+  addListener(xGrid.value,gridOptions)
   const str = route.query.orderId
   if (typeof str === 'undefined' || str === null || str === '' || str === '\n' || str === '\r'){
     return
@@ -204,14 +309,11 @@
       }
 
       //鎸夐挳瀹℃牳杩囧悗鍙樹负鍙嶅
-      if(res.data.order.orderReview === 2){
+      if(Math.abs(res.data.order.orderReview) === 2){
         gridOptions.toolbarConfig.buttons[2].disabled = true
 
       }
-
       xGrid.value.reloadData(res.data.orderGlassDetails)
-
-      //xGrid.value.reloadData(res.data.orderDetails)
     }else{
       ElMessage.error(res.msg)
     }
@@ -235,10 +337,6 @@
     }
   })
 }
-
-
-
-//
 </script>
 
 <template>
@@ -291,6 +389,7 @@
         <!--宸﹁竟鍥哄畾鏄剧ず鐨勬彃妲�-->
         <template #button_slot="{ row }">
           <el-button @click="updateCraft(row)" link type="primary" size="small">{{t('craft.updateCraft')}}</el-button>
+          <el-button @click="updateTrademark(row)" link type="primary" size="small">淇敼鍟嗘爣</el-button>
         </template>
 
         <template #num1_filter="{ column, $panel }">
@@ -303,7 +402,11 @@
       </vxe-grid>
 
     </div>
-    <el-dialog v-model="dialogTableVisible" :title="$t('order.processingNote')" style="width: 60%;height:75% ">
+    <el-dialog
+
+        v-model="dialogTableVisible"
+        :title="$t('order.processingNote')"
+        style="width: 60%;height:75% ">
       <el-input
           v-model="titleUploadData.processingNote"
           type="textarea"
@@ -311,7 +414,12 @@
       />
     </el-dialog>
 
-    <el-dialog v-model="craftVisible" :title="$t('craft.technologicalProcess')" style="width: 60%;height:60% ;position: relative;" >
+    <el-dialog id="processChange"
+               v-model="craftVisible"
+               :title="$t('craft.technologicalProcess')"
+               :close-on-click-modal="false"
+               :close-on-press-escape="false"
+               style="width: 60%;height:60% ;position: relative;" >
       <h5>{{$t('craft.processAttribute')}}</h5>
       <el-checkbox
           v-model="craftObj.newCraft"
@@ -335,9 +443,102 @@
           <el-button type="primary" @click="saveCraft">{{$t('basicData.save')}}</el-button>
         </el-col>
       </el-row>
+    </el-dialog>
+    <el-dialog
+        id="trademark"
+        v-model="trademarkVisible"
+        :title="'鍟嗘爣鍙傛暟'"
+        :close-on-click-modal="false"
+        :close-on-press-escape="false"
+        style="width: 60%;height:60% ;
+        position: relative;" >
+      <el-row>
+        <el-col :span="2">鍟嗘爣閫夐」:</el-col>
+        <el-col :span="3">
+          <el-select v-model="trademarkAttr.trademark"
+                      >
+            <el-option :value="item.basicName" v-for="item in trademarkList" />
+          </el-select>
+        </el-col>
+      </el-row>
 
+      <el-row>
+        <el-col :span="2">X杞撮暅鍍�:</el-col>
+        <el-col :span="3">
+          <el-select v-model="trademarkAttr.xImage">
+            <el-option :value="true"/>
+            <el-option :value="false"/>
+          </el-select>
+        </el-col>
+      </el-row>
 
+      <el-row>
+        <el-col :span="2">Y杞撮暅鍍�:</el-col>
+        <el-col :span="3">
+          <el-select v-model="trademarkAttr.yImage">
+            <el-option :value="true"/>
+            <el-option :value="false"/>
+          </el-select>
+        </el-col>
+      </el-row>
 
+      <el-row>
+        <el-col :span="2">鎵撴爣浣胯兘:</el-col>
+        <el-col :span="3">
+          <el-select v-model="trademarkAttr.tag">
+            <el-option :value="true"/>
+            <el-option :value="false"/>
+          </el-select>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="2">鏍囩2浣胯兘:</el-col>
+        <el-col :span="3">
+          <el-select v-model="trademarkAttr.tag2">
+            <el-option :value="true"/>
+            <el-option :value="false"/>
+          </el-select>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="2">鏍囩3浣胯兘:</el-col>
+        <el-col :span="3">
+          <el-select v-model="trademarkAttr.tag3">
+            <el-option :value="true"/>
+            <el-option :value="false"/>
+          </el-select>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="2">X杞磋竟璺�:</el-col>
+        <el-col :span="3">
+          <el-input-number v-model="trademarkAttr.xMargin"/>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="2">Y杞磋竟璺�:</el-col>
+        <el-col :span="3">
+          <el-input-number v-model="trademarkAttr.yMargin"/>
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col :span="2">鍟嗘爣浣嶇疆:</el-col>
+        <el-col :span="8">
+          <el-checkbox v-model="trademarkAttr.location" v-for="item in trademarkLocation" :label="item"  />
+        </el-col>
+      </el-row>
+
+      <el-row>
+        <el-col >
+          <el-button @click="changeTrademark" style="float:right;" type="primary" >{{$t('craft.sure')}}</el-button>
+          <el-button  style="float:right;margin-right: 0.5rem" type="primary" >{{$t('craft.reset')}}</el-button>
+        </el-col>
+      </el-row>
     </el-dialog>
 
   </div>
@@ -359,10 +560,20 @@
   width: 100%;
   height: 90%;
 }
-.el-dialog .el-col{
+#trademark .el-row,#trademark .el-col{
+  border: 0
+}
+#processChange .el-col{
   border: 0;text-align: right
 }
-.el-dialog .el-text{
+#processChange .el-text{
   font-weight: bolder
 }
+.vxe-grid {
+  /* 绂佺敤娴忚鍣ㄩ粯璁ら�変腑 */
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
 </style>
\ No newline at end of file
diff --git a/north-glass-erp/northglass-erp/src/views/sd/product/Product.vue b/north-glass-erp/northglass-erp/src/views/sd/product/Product.vue
index fcb31e0..8379eba 100644
--- a/north-glass-erp/northglass-erp/src/views/sd/product/Product.vue
+++ b/north-glass-erp/northglass-erp/src/views/sd/product/Product.vue
@@ -1,10 +1,12 @@
 <script setup>
 import {ref} from "vue";
-import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue";
+import {ArrowLeftBold, ArrowRight, Search} from "@element-plus/icons-vue"
 import request from "@/utils/request";
 import deepClone from "@/utils/deepClone";
 import {ElMessage} from "element-plus";
-import {useRouter,useRoute,onBeforeRouteUpdate} from "vue-router";
+import {useRouter,useRoute,onBeforeRouteUpdate} from "vue-router"
+import {useI18n} from "vue-i18n"
+const { t } = useI18n()
 const router = useRouter()
 const route = useRoute()
 let indexFlag=$ref(1)
@@ -18,8 +20,8 @@
   <div id="main">
    <div id="div-title">
      <el-breadcrumb :separator-icon="ArrowRight">
-       <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/product/selectProduct' }">浜у搧棣栭〉</el-breadcrumb-item>
-       <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/product/createProduct' }">鍒涘缓</el-breadcrumb-item>
+       <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/product/selectProduct' }">{{$t('product.ProductHomePage')}}</el-breadcrumb-item>
+       <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/product/createProduct' }">{{$t('product.create')}}</el-breadcrumb-item>
 <!--       <el-breadcrumb-item :to="{ path: '/main/product/test' }">娴嬭瘯</el-breadcrumb-item>-->
 <!--       <el-breadcrumb-item :to="{ path: '/main/product/testSort11' }">娴嬭瘯</el-breadcrumb-item>-->
        <el-breadcrumb-item v-show="false"  :to="{ path: '/main/product/test1' }">娴嬭瘯</el-breadcrumb-item>
diff --git a/north-glass-erp/pom.xml b/north-glass-erp/pom.xml
index 3a0b1b3..5027113 100644
--- a/north-glass-erp/pom.xml
+++ b/north-glass-erp/pom.xml
@@ -118,8 +118,8 @@
             <groupId>com.alibaba</groupId>
             <artifactId>fastjson</artifactId>
             <version>1.2.24</version>
-            <scope>import</scope>
         </dependency>
+
         <dependency>
             <groupId>org.springframework.data</groupId>
             <artifactId>spring-data-commons</artifactId>
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/mm/BasicWarehouseTypeController.java b/north-glass-erp/src/main/java/com/example/erp/controller/mm/BasicWarehouseTypeController.java
new file mode 100644
index 0000000..116806b
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/mm/BasicWarehouseTypeController.java
@@ -0,0 +1,22 @@
+package com.example.erp.controller.mm;
+
+import com.example.erp.common.Result;
+import com.example.erp.service.mm.BasicWarehouseTypeService;
+import com.example.erp.service.sd.BasicDateService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/BasicWarehouse")
+public class BasicWarehouseTypeController {
+    @Autowired
+    BasicWarehouseTypeService basicWarehouseTypeService;
+    @GetMapping("/BasicWarehouseType/{type}")
+    public Result getBasicWarehouseType(@PathVariable String type){
+        return Result.seccess(basicWarehouseTypeService.getBasicWarehouseType(type));
+    }
+
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/mm/MaterialController.java b/north-glass-erp/src/main/java/com/example/erp/controller/mm/MaterialController.java
new file mode 100644
index 0000000..912d9e8
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/mm/MaterialController.java
@@ -0,0 +1,61 @@
+package com.example.erp.controller.mm;
+
+
+import com.example.erp.common.Constants;
+import com.example.erp.common.Result;
+import com.example.erp.entity.mm.FinishedGoodsInventory;
+import com.example.erp.entity.mm.FinishedOperateLog;
+import com.example.erp.entity.mm.MaterialStore;
+import com.example.erp.entity.pp.FlowCard;
+import com.example.erp.entity.sd.Customer;
+import com.example.erp.entity.sd.OrderDetail;
+import com.example.erp.exception.ServiceException;
+import com.example.erp.service.mm.FinishedGoodsInventoryService;
+import com.example.erp.service.mm.MaterialService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/Material")
+@Api(value="鐗╂枡controller",tags={"鐗╂枡鎿嶄綔鎺ュ彛"})
+public class MaterialController {
+    @Autowired
+    MaterialService faterialService;
+
+    @ApiOperation("鐗╂枡鏂板鎺ュ彛")
+    @PostMapping("/saveMaterialStore")
+    public Result saveMaterialStore( @RequestBody Map<String,Object>  object){
+        if(faterialService.saveMaterialStore(object)){
+            return Result.seccess();
+        }else {
+            throw new ServiceException(Constants.Code_500,"淇濆瓨澶辫触");
+
+        }
+    }
+
+    @ApiOperation("鐗╂枡鏌ヨ鎺ュ彛")
+    @PostMapping("/getSelectMaterialStore/{pageNum}/{pageSize}")
+    public Result getSelectMaterialStore(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @RequestBody MaterialStore materialStore){
+        return Result.seccess(faterialService.getSelectMaterialStore(pageNum,pageSize,materialStore));
+    }
+
+    @ApiOperation("鐗╂枡鍒犻櫎鎺ュ彛")
+    @PostMapping("/deleteMaterialStore")
+    public Result deleteMaterialStore( @RequestBody Map<String,Object>  object){
+        if(faterialService.deleteMaterialStore(object)){
+
+            return Result.seccess();
+
+        }else {
+            throw new ServiceException(Constants.Code_500,"鍒犻櫎澶辫触");
+
+        }
+    }
+
+
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/mm/BasicWarehouseType.java b/north-glass-erp/src/main/java/com/example/erp/entity/mm/BasicWarehouseType.java
index 22318a2..454c893 100644
--- a/north-glass-erp/src/main/java/com/example/erp/entity/mm/BasicWarehouseType.java
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/mm/BasicWarehouseType.java
@@ -14,7 +14,9 @@
     private Integer operateTypeId;
     private String operateTypeName;
     private String operateType;
+    private String type;
     private LocalDate createTime;
 
 
+
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/mm/MaterialStore.java b/north-glass-erp/src/main/java/com/example/erp/entity/mm/MaterialStore.java
new file mode 100644
index 0000000..d0fd4f4
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/mm/MaterialStore.java
@@ -0,0 +1,20 @@
+package com.example.erp.entity.mm;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+import java.time.LocalDate;
+
+@Data
+public class MaterialStore {
+    @TableId(type = IdType.AUTO)
+
+    private Long id;
+    private String type;
+    private String json;
+    private LocalDate createTime;
+
+
+
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java b/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java
index 1f73f53..47637b8 100644
--- a/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java
+++ b/north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java
@@ -55,6 +55,8 @@
     private Integer delivery;
     private LocalDate createTime;
     private LocalDate updateTime;
+    @TableField(select = false,exist = false)
+    private Integer goodsQuantity;
 
     @TableField(value = "customer_id")
     private Customer  customer;
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/mm/BasicWarehouseTypeMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/mm/BasicWarehouseTypeMapper.java
index 1f55f5e..5de372d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/mm/BasicWarehouseTypeMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/mm/BasicWarehouseTypeMapper.java
@@ -15,5 +15,7 @@
 
     List<BasicWarehouseType> getBasicWarehouseTypeRework();
 
+    List<BasicWarehouseType> getBasicWarehouseType(String type);
+
 
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedGoodsInventoryMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedGoodsInventoryMapper.java
index 52acccc..5f7eccf 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedGoodsInventoryMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/mm/FinishedGoodsInventoryMapper.java
@@ -41,6 +41,8 @@
 
     Integer findOrderNumberdsum(String orderId);
 
+    Integer findOrderDeliveryQuantitySum(String orderId);
+
     Integer findDeliveryQuantity(String deliveryId);
 
     Integer findDeliverydetailsum(String deliveryId,Integer deliveryDetailState);
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/mm/MaterialStoreMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/mm/MaterialStoreMapper.java
new file mode 100644
index 0000000..06ea450
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/mm/MaterialStoreMapper.java
@@ -0,0 +1,32 @@
+package com.example.erp.mapper.mm;
+
+import com.example.erp.entity.mm.BasicWarehouseType;
+import com.example.erp.entity.mm.MaterialStore;
+import com.example.erp.entity.pp.FlowCard;
+import com.example.erp.entity.sd.Customer;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.repository.CrudRepository;
+
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface MaterialStoreMapper extends CrudRepository<MaterialStore,Long> {
+
+    List<MaterialStore> getSelectMaterialStore(@Param("offset") Integer offset,
+                                     @Param("pageSize") Integer pageSize,
+                                     @Param("materialStore") MaterialStore materialStore);
+
+
+    Map<String,Integer> getSelectMaterialStorePageTotal(Integer offset, Integer pageSize, MaterialStore materialStore);
+
+    Boolean insertMaterialStore(@Param("type") String type,
+                                         @Param("json") String json);
+
+    Boolean updateMaterialStore(@Param("type") String type,
+                                @Param("json") String json, @Param("id") Long id);
+
+    Boolean deleteMaterialStore(@Param("id") Long id);
+
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/mm/BasicWarehouseTypeService.java b/north-glass-erp/src/main/java/com/example/erp/service/mm/BasicWarehouseTypeService.java
new file mode 100644
index 0000000..5d02f01
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/service/mm/BasicWarehouseTypeService.java
@@ -0,0 +1,46 @@
+package com.example.erp.service.mm;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.example.erp.entity.mm.BasicWarehouseType;
+import com.example.erp.entity.sd.BasicData;
+import com.example.erp.entity.sd.Customer;
+import com.example.erp.mapper.mm.BasicWarehouseTypeMapper;
+import com.example.erp.mapper.sd.BasicDateMapper;
+import com.example.erp.mapper.sd.CustomerMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+@DS("sd")
+public class BasicWarehouseTypeService {
+    @Autowired
+    private BasicWarehouseTypeMapper basicWarehouseTypeMapper;
+
+    public List<Map<String, Object>> getBasicWarehouseType(String type){
+        List<Map<String, Object>> Result=new ArrayList<Map<String, Object>>();
+
+        List<BasicWarehouseType> basicWarehouseType=basicWarehouseTypeMapper.getBasicWarehouseType(type);
+        for (BasicWarehouseType item : basicWarehouseType){
+            Map<String, Object> map = new HashMap<>();
+
+            map.put("OperateTypeId",item.getOperateTypeId());
+            map.put("OperateTypeName",item.getOperateTypeName());
+            map.put("OperateType",item.getOperateType());
+            map.put("Type","");
+
+            Result.add(map) ;
+        }
+        return Result;
+        /*Map<String, Object> map = new HashMap<>();
+        map.put("type", basicWarehouseTypeMapper.getBasicWarehouseType(type));
+        return map;*/
+
+    }
+
+
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java b/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
index cfc4f0f..844c86d 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
@@ -167,9 +167,9 @@
                     finishedOperateLogMapper.insertOutFinishedOperateLog(orderDetail,userName,oddNumber);
                     Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber());
 
-                    Integer finishedGoodsInventorybycount=finishedGoodsInventoryMapper.finishedGoodsInventorybycount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber());
+                    
                     Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getDeliveryDetail().getOrderId());
-                    Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getDeliveryDetail().getOrderId());
+                    Integer orderDeliveryQuantitySum = finishedGoodsInventoryMapper.findOrderDeliveryQuantitySum(orderDetail.getDeliveryDetail().getOrderId());
 
                     Integer deliverysum = finishedGoodsInventoryMapper.findDeliveryQuantity(orderDetail.getDeliveryDetail().getDeliveryId());
                     Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(orderDetail.getDeliveryDetail().getDeliveryId(),0);
@@ -177,7 +177,7 @@
                         deliverydetailsum=0;
                     }
 
-                    System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟鍓╀綑鏁伴噺锛�" + ordernumbersum + "鍑嗗鍑哄簱鏁伴噺" +
+                    System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟宸插彂鏁伴噺锛�" + orderDeliveryQuantitySum + "鍑嗗鍑哄簱鏁伴噺" +
                             orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryDetail().getQuantity()+ "鍙戣揣鎬绘暟" +
                             deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);
                     if (finishedGoodsInventorycount > 0) {
@@ -193,7 +193,7 @@
                             //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
                             finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),1);
                             //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
-                            if (0 == (ordernumbersum - orderDetail.getWarehouseNum())) {
+                            if (ordersum == (orderDeliveryQuantitySum + orderDetail.getWarehouseNum())) {
                                 //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
                                 finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),2);
                             }
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialService.java b/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialService.java
new file mode 100644
index 0000000..9c7b114
--- /dev/null
+++ b/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialService.java
@@ -0,0 +1,108 @@
+package com.example.erp.service.mm;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.example.erp.entity.mm.FinishedGoodsInventory;
+import com.example.erp.entity.mm.FinishedOperateLog;
+import com.example.erp.entity.mm.MaterialStore;
+import com.example.erp.entity.pp.FlowCard;
+import com.example.erp.entity.sd.Customer;
+import com.example.erp.entity.sd.OrderDetail;
+import com.example.erp.entity.sd.Product;
+import com.example.erp.entity.userInfo.SysError;
+import com.example.erp.mapper.mm.BasicWarehouseTypeMapper;
+import com.example.erp.mapper.mm.FinishedGoodsInventoryMapper;
+import com.example.erp.mapper.mm.FinishedOperateLogMapper;
+import com.example.erp.mapper.mm.MaterialStoreMapper;
+import com.example.erp.service.userInfo.SysErrorService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.util.*;
+
+@Service
+@DS("mm")
+@Transactional(rollbackFor = Exception.class)
+public class MaterialService {
+    @Autowired
+    MaterialStoreMapper materialStoreMapper;
+    @Autowired
+    BasicWarehouseTypeMapper basicWarehouseTypeMapper;
+    @Autowired
+    SysErrorService sysErrorService;
+
+    public Boolean saveMaterialStore(Map<String,Object> object) {
+        boolean saveState = true;
+            String id = "";
+            String type = "";
+            String json = "";
+            if (object.get("id") != null) {
+                id = object.get("id").toString();
+            }
+            if (object.get("type") != null) {
+                type = object.get("type").toString();
+            }
+            if (object.get("json") != null) {
+                json = object.get("json").toString();
+            }
+            if(Long.parseLong(id)>0){
+                materialStoreMapper.updateMaterialStore(type,json, Long.valueOf(id));
+            }else{
+                materialStoreMapper.insertMaterialStore(type,json);
+            }
+
+        return saveState;
+
+    }
+
+    public Map<String, Object> getSelectMaterialStore(Integer pageNum, Integer pageSize, MaterialStore materialStore) {
+        Integer offset = (pageNum - 1) * pageSize;
+
+        Map<String, Object> map = new HashMap<>();
+        map.put("data", materialStoreMapper.getSelectMaterialStore(offset, pageSize, materialStore));
+        map.put("total", materialStoreMapper.getSelectMaterialStorePageTotal(offset, pageSize, materialStore));
+        return map;
+    }
+
+    public Boolean deleteMaterialStore(Map<String,Object> object) {
+        boolean saveState = true;
+        //璁剧疆鍥炴粴鐐�
+        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+        try {
+            String id = "";
+            if (object.get("id") != null) {
+                id = object.get("id").toString();
+            }
+            if(id!=null){
+                materialStoreMapper.deleteMaterialStore(Long.valueOf(id));
+            }
+
+
+
+        } catch (Exception e) {
+            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+            //灏嗗紓甯镐紶鍏ユ暟鎹簱
+            SysError sysError = new SysError();
+            sysError.setError(e.toString());
+            sysError.setFunc("saveOrder");
+            sysErrorService.insert(sysError);
+            saveState = false;
+
+        }
+        return saveState;
+
+    }
+
+
+
+
+
+
+
+
+}
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java
index 6362316..611202c 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java
@@ -4,15 +4,12 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.example.erp.entity.pp.FlowCard;
 import com.example.erp.entity.pp.PatchLog;
 import com.example.erp.entity.pp.ReportingWork;
-import com.example.erp.entity.pp.Rework;
 import com.example.erp.entity.userInfo.SysError;
 import com.example.erp.mapper.pp.PatchLogMapper;
 import com.example.erp.mapper.pp.ReportingWorkMapper;
 import com.example.erp.service.userInfo.SysErrorService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/WorkOrderService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/WorkOrderService.java
index 36c8166..3e43562 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/WorkOrderService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/WorkOrderService.java
@@ -4,9 +4,8 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
-import com.example.erp.entity.pp.FlowCard;
-import com.example.erp.entity.sd.OrderGlassDetail;
 import com.example.erp.entity.sd.OrderDetail;
+import com.example.erp.entity.sd.OrderGlassDetail;
 import com.example.erp.mapper.pp.WorkOrderMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
diff --git a/north-glass-erp/src/main/resources/mapper/mm/BasicWarehouseType.xml b/north-glass-erp/src/main/resources/mapper/mm/BasicWarehouseType.xml
index 7bdf911..93dc77b 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/BasicWarehouseType.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/BasicWarehouseType.xml
@@ -5,11 +5,15 @@
 <mapper namespace="com.example.erp.mapper.mm.BasicWarehouseTypeMapper">
 
     <select id="getBasicWarehouseTypeTakeOut" >
-        select * from mm.basic_warehouse_type where operate_type='棰嗗嚭';
+        select * from mm.basic_warehouse_type where type='棰嗗嚭';
     </select>
 
     <select id="getBasicWarehouseTypeRework" >
-        select * from mm.basic_warehouse_type where operate_type='杩斿伐';
+        select * from mm.basic_warehouse_type where type='杩斿伐';
+    </select>
+
+    <select id="getBasicWarehouseType" >
+        select * from mm.basic_warehouse_type where type=#{type};
     </select>
 
 
diff --git a/north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml b/north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
index d380c35..7448fbc 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/FinishedGoodsInventory.xml
@@ -428,6 +428,10 @@
         select sum(warehouse_num) from sd.order_detail where order_id=#{orderId}
     </select>
 
+    <select id="findOrderDeliveryQuantitySum"  >
+        select sum(delivery_num) from sd.order_detail where order_id=#{orderId}
+    </select>
+
     <select id="findDeliveryQuantity" >
         select quantity from sd.`delivery`  where delivery_id=#{deliveryId}
     </select>
diff --git a/north-glass-erp/src/main/resources/mapper/mm/MaterialStore.xml b/north-glass-erp/src/main/resources/mapper/mm/MaterialStore.xml
new file mode 100644
index 0000000..4911316
--- /dev/null
+++ b/north-glass-erp/src/main/resources/mapper/mm/MaterialStore.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.example.erp.mapper.mm.MaterialStoreMapper">
+
+    <select id="getSelectMaterialStore">
+        select
+        *
+        from
+        mm.material_store m
+        <where>
+            <if test="materialStore.id != null and materialStore.id != ''">
+                and m.id regexp #{materialStore.id}
+            </if>
+            <if test="materialStore.type != null and materialStore.type != ''">
+                and m.type regexp #{materialStore.type}
+            </if>
+        </where>
+        limit #{offset},#{pageSize};
+    </select>
+
+    <select id="getSelectMaterialStorePageTotal">
+        select
+        CEILING(count(id)/#{pageSize}) as 'pageTotal',
+        count(id) as 'total'
+        from
+        mm.material_store m
+        <where>
+            <if test="materialStore.id != null and materialStore.id != ''">
+                and m.id regexp #{materialStore.id}
+            </if>
+
+        </where>
+        limit #{offset},#{pageSize};
+    </select>
+
+    <insert id="insertMaterialStore"  useGeneratedKeys="true"  >
+        insert into mm.material_store (type,json,create_time
+        )
+        values (
+                   #{type},#{json},now()
+               )
+    </insert>
+
+    <update id="updateMaterialStore" >
+        update mm.material_store set json=#{json} where id=#{id}
+    </update>
+
+    <delete id="deleteMaterialStore" >
+        delete from mm.material_store where id=#{id}
+    </delete>
+
+
+
+
+</mapper>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml b/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
index 01afd6b..6ed4567 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/PatchLogMapper.xml
@@ -147,7 +147,7 @@
                  left join (select * from sd.order_glass_detail group by order_id,order_number) as ogd
                            on rw.order_id = ogd.order_id and dd.order_number = ogd.order_number
 
-        where  dd.breakage_quantity-dd.quantity>0 and dd.available=0 and (dd.responsible_process=rw.this_process or (dd.responsible_process!=rw.this_process and dd.quality_ins_status=1))
+        where  dd.breakage_quantity-dd.quantity>0 and dd.available=0 and (dd.responsible_process=rw.this_process or (dd.quality_ins_status!=1))
         order by dd.id desc
     </select>
 
diff --git a/north-glass-erp/src/main/resources/mapper/pp/ReworkMapper.xml b/north-glass-erp/src/main/resources/mapper/pp/ReworkMapper.xml
index e9b248d..d065c29 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/ReworkMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/ReworkMapper.xml
@@ -97,7 +97,7 @@
                  left join (select * from sd.order_glass_detail group by order_id,order_number) as ogd
                            on rw.order_id = ogd.order_id and dd.order_number = ogd.order_number
 
-        where  dd.breakage_quantity-dd.quantity>0 and dd.available=1 and dd.quality_ins_status=1 order by dd.id
+        where  dd.breakage_quantity-dd.quantity>0 and dd.available=1 order by dd.id
 
     </select>
 
diff --git a/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
index b294546..770d133 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
@@ -17,7 +17,7 @@
     <update id="updateOrderParameter">
         update `order` o
         left join
-            (select a.order_id,sum(a.perimeter) as aa,sum(a.quantity) as b,sum(a.compute_gross_area)  as c
+            (select a.order_id,round(sum(a.perimeter),2) as aa,sum(a.quantity) as b,sum(a.compute_gross_area)  as c
              from sd.order_detail as a group by a.order_id)  od
             on o.order_id = od.order_id
         set
@@ -31,9 +31,12 @@
     
     <select id="getOrderList">
         select
-            *
+            *,
+        sum(fgi.quantity_available) as goodsQuantity
         from
             `order` as o
+        left join mm.finished_goods_inventory as  fgi
+        on o.order_id = fgi.order_id
         where  date(o.create_time)>=#{startDate} and date(o.create_time) &lt;= #{endDate}
 
           <if test="orderType!= null and orderType != ''">
@@ -91,7 +94,7 @@
            <if test="order.deliveryAddress != null and order.deliveryAddress != ''">
                and o.delivery_address REGEXP #{order.deliveryAddress}
            </if>
-
+        group by o.id
         order by o.id desc
         limit #{offset},#{pageSize}
     </select>
diff --git a/north-glass-erp/src/test/java/com/example/erp/service/pp/ReworkServiceTest.java b/north-glass-erp/src/test/java/com/example/erp/service/pp/ReworkServiceTest.java
index 17a8572..471c944 100644
--- a/north-glass-erp/src/test/java/com/example/erp/service/pp/ReworkServiceTest.java
+++ b/north-glass-erp/src/test/java/com/example/erp/service/pp/ReworkServiceTest.java
@@ -11,14 +11,14 @@
     private ReworkService reworkService;
 
 
-    @Test
-    void queryReworkTest(){
-        reworkService.queryRework(1,2,"2024-01-01","2024-01-25",null);
-    }
+//    @Test
+//    void queryReworkTest(){
+//        reworkService.queryRework(1,2,"2024-01-01","2024-01-25",null);
+//    }
 
 
-    @Test
-    void queryReworkAddTest(){
-        reworkService.queryRework(1,2,"2024-01-01","2024-01-25",null);
-    }
+//    @Test
+//    void queryReworkAddTest(){
+//        reworkService.queryRework(1,2,"2024-01-01","2024-01-25",null);
+//    }
 }
\ No newline at end of file
diff --git a/north-glass-erp/target/classes/application.yml b/north-glass-erp/target/classes/application.yml
index b9217b5..f5a9908 100644
--- a/north-glass-erp/target/classes/application.yml
+++ b/north-glass-erp/target/classes/application.yml
@@ -1,6 +1,6 @@
 
 server:
-  port: 8080
+  port: 8086
 
 
 spring:
diff --git a/north-glass-erp/target/classes/mapper/mm/BasicWarehouseType.xml b/north-glass-erp/target/classes/mapper/mm/BasicWarehouseType.xml
index 7bdf911..93dc77b 100644
--- a/north-glass-erp/target/classes/mapper/mm/BasicWarehouseType.xml
+++ b/north-glass-erp/target/classes/mapper/mm/BasicWarehouseType.xml
@@ -5,11 +5,15 @@
 <mapper namespace="com.example.erp.mapper.mm.BasicWarehouseTypeMapper">
 
     <select id="getBasicWarehouseTypeTakeOut" >
-        select * from mm.basic_warehouse_type where operate_type='棰嗗嚭';
+        select * from mm.basic_warehouse_type where type='棰嗗嚭';
     </select>
 
     <select id="getBasicWarehouseTypeRework" >
-        select * from mm.basic_warehouse_type where operate_type='杩斿伐';
+        select * from mm.basic_warehouse_type where type='杩斿伐';
+    </select>
+
+    <select id="getBasicWarehouseType" >
+        select * from mm.basic_warehouse_type where type=#{type};
     </select>
 
 
diff --git a/north-glass-erp/target/classes/mapper/mm/FinishedGoodsInventory.xml b/north-glass-erp/target/classes/mapper/mm/FinishedGoodsInventory.xml
index d380c35..7448fbc 100644
--- a/north-glass-erp/target/classes/mapper/mm/FinishedGoodsInventory.xml
+++ b/north-glass-erp/target/classes/mapper/mm/FinishedGoodsInventory.xml
@@ -428,6 +428,10 @@
         select sum(warehouse_num) from sd.order_detail where order_id=#{orderId}
     </select>
 
+    <select id="findOrderDeliveryQuantitySum"  >
+        select sum(delivery_num) from sd.order_detail where order_id=#{orderId}
+    </select>
+
     <select id="findDeliveryQuantity" >
         select quantity from sd.`delivery`  where delivery_id=#{deliveryId}
     </select>
diff --git a/north-glass-erp/target/classes/mapper/mm/MaterialStore.xml b/north-glass-erp/target/classes/mapper/mm/MaterialStore.xml
new file mode 100644
index 0000000..4911316
--- /dev/null
+++ b/north-glass-erp/target/classes/mapper/mm/MaterialStore.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.example.erp.mapper.mm.MaterialStoreMapper">
+
+    <select id="getSelectMaterialStore">
+        select
+        *
+        from
+        mm.material_store m
+        <where>
+            <if test="materialStore.id != null and materialStore.id != ''">
+                and m.id regexp #{materialStore.id}
+            </if>
+            <if test="materialStore.type != null and materialStore.type != ''">
+                and m.type regexp #{materialStore.type}
+            </if>
+        </where>
+        limit #{offset},#{pageSize};
+    </select>
+
+    <select id="getSelectMaterialStorePageTotal">
+        select
+        CEILING(count(id)/#{pageSize}) as 'pageTotal',
+        count(id) as 'total'
+        from
+        mm.material_store m
+        <where>
+            <if test="materialStore.id != null and materialStore.id != ''">
+                and m.id regexp #{materialStore.id}
+            </if>
+
+        </where>
+        limit #{offset},#{pageSize};
+    </select>
+
+    <insert id="insertMaterialStore"  useGeneratedKeys="true"  >
+        insert into mm.material_store (type,json,create_time
+        )
+        values (
+                   #{type},#{json},now()
+               )
+    </insert>
+
+    <update id="updateMaterialStore" >
+        update mm.material_store set json=#{json} where id=#{id}
+    </update>
+
+    <delete id="deleteMaterialStore" >
+        delete from mm.material_store where id=#{id}
+    </delete>
+
+
+
+
+</mapper>
\ No newline at end of file
diff --git a/north-glass-erp/target/classes/mapper/pp/PatchLogMapper.xml b/north-glass-erp/target/classes/mapper/pp/PatchLogMapper.xml
index 01afd6b..6ed4567 100644
--- a/north-glass-erp/target/classes/mapper/pp/PatchLogMapper.xml
+++ b/north-glass-erp/target/classes/mapper/pp/PatchLogMapper.xml
@@ -147,7 +147,7 @@
                  left join (select * from sd.order_glass_detail group by order_id,order_number) as ogd
                            on rw.order_id = ogd.order_id and dd.order_number = ogd.order_number
 
-        where  dd.breakage_quantity-dd.quantity>0 and dd.available=0 and (dd.responsible_process=rw.this_process or (dd.responsible_process!=rw.this_process and dd.quality_ins_status=1))
+        where  dd.breakage_quantity-dd.quantity>0 and dd.available=0 and (dd.responsible_process=rw.this_process or (dd.quality_ins_status!=1))
         order by dd.id desc
     </select>
 
diff --git a/north-glass-erp/target/classes/mapper/pp/ReworkMapper.xml b/north-glass-erp/target/classes/mapper/pp/ReworkMapper.xml
index e9b248d..d065c29 100644
--- a/north-glass-erp/target/classes/mapper/pp/ReworkMapper.xml
+++ b/north-glass-erp/target/classes/mapper/pp/ReworkMapper.xml
@@ -97,7 +97,7 @@
                  left join (select * from sd.order_glass_detail group by order_id,order_number) as ogd
                            on rw.order_id = ogd.order_id and dd.order_number = ogd.order_number
 
-        where  dd.breakage_quantity-dd.quantity>0 and dd.available=1 and dd.quality_ins_status=1 order by dd.id
+        where  dd.breakage_quantity-dd.quantity>0 and dd.available=1 order by dd.id
 
     </select>
 
diff --git a/north-glass-erp/target/classes/mapper/sd/OrderMapper.xml b/north-glass-erp/target/classes/mapper/sd/OrderMapper.xml
index b294546..770d133 100644
--- a/north-glass-erp/target/classes/mapper/sd/OrderMapper.xml
+++ b/north-glass-erp/target/classes/mapper/sd/OrderMapper.xml
@@ -17,7 +17,7 @@
     <update id="updateOrderParameter">
         update `order` o
         left join
-            (select a.order_id,sum(a.perimeter) as aa,sum(a.quantity) as b,sum(a.compute_gross_area)  as c
+            (select a.order_id,round(sum(a.perimeter),2) as aa,sum(a.quantity) as b,sum(a.compute_gross_area)  as c
              from sd.order_detail as a group by a.order_id)  od
             on o.order_id = od.order_id
         set
@@ -31,9 +31,12 @@
     
     <select id="getOrderList">
         select
-            *
+            *,
+        sum(fgi.quantity_available) as goodsQuantity
         from
             `order` as o
+        left join mm.finished_goods_inventory as  fgi
+        on o.order_id = fgi.order_id
         where  date(o.create_time)>=#{startDate} and date(o.create_time) &lt;= #{endDate}
 
           <if test="orderType!= null and orderType != ''">
@@ -91,7 +94,7 @@
            <if test="order.deliveryAddress != null and order.deliveryAddress != ''">
                and o.delivery_address REGEXP #{order.deliveryAddress}
            </if>
-
+        group by o.id
         order by o.id desc
         limit #{offset},#{pageSize}
     </select>
diff --git a/north-glass-erp/target/erp-0.0.1-SNAPSHOT.jar.original b/north-glass-erp/target/erp-0.0.1-SNAPSHOT.jar.original
index d865a78..2f29063 100644
--- a/north-glass-erp/target/erp-0.0.1-SNAPSHOT.jar.original
+++ b/north-glass-erp/target/erp-0.0.1-SNAPSHOT.jar.original
Binary files differ
diff --git a/north-glass-erp/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/north-glass-erp/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index c2121ce..fd8bf9a 100644
--- a/north-glass-erp/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/north-glass-erp/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,4 +1,132 @@
-com\example\erp\controller\OrderController.class
-com\example\erp\entity\Order.class
+com\example\erp\service\sd\DeliveryService.class
+com\example\erp\mapper\pp\BasicDateProduceMapper.class
+com\example\erp\entity\sd\Returns.class
+com\example\erp\entity\sd\Product.class
+com\example\erp\service\sd\BasicGlassTypeServise.class
+com\example\erp\service\sd\ProductService.class
+com\example\erp\entity\mm\FinishedOperateLog.class
+com\example\erp\service\userInfo\UserService.class
+com\example\erp\service\pp\ReplenishService.class
+com\example\erp\entity\sd\OrderDetail.class
+com\example\erp\config\MyCorsConfig$1.class
+com\example\erp\controller\pp\ProductionSchedulingController.class
+com\example\erp\service\sd\OrderProcessDetailService.class
+com\example\erp\controller\pp\ReworkController.class
+com\example\erp\entity\pp\DamageDetails.class
+com\example\erp\mapper\mm\BasicWarehouseTypeMapper.class
+com\example\erp\mapper\mm\FinishedGoodsInventoryMapper.class
+com\example\erp\service\IOrderService.class
+com\example\erp\service\pp\ReportingWorkService.class
+com\example\erp\mapper\sd\BasicDateMapper.class
+com\example\erp\controller\pp\ReplenishController.class
+com\example\erp\mapper\sd\OrderGlassDetailMapper.class
+com\example\erp\entity\pp\WorkprogressMonthlySettlement.class
+com\example\erp\entity\mm\FinishedGoodsInventory.class
+com\example\erp\mapper\sd\DeliveryDetailMapper.class
+com\example\erp\config\MybatisPlusConfig.class
+com\example\erp\entity\mm\BasicWarehouseType.class
+com\example\erp\config\InterceptorConfig.class
+com\example\erp\entity\mm\MaterialStore.class
+com\example\erp\controller\sd\ProductController.class
+com\example\erp\entity\sd\GlassType.class
+com\example\erp\mapper\sd\OrderMapper.class
+com\example\erp\service\mm\BasicWarehouseTypeService.class
+com\example\erp\mapper\OrderTestMapper.class
+com\example\erp\mapper\mm\MaterialStoreMapper.class
+com\example\erp\service\pp\ProductionSchedulingService.class
+com\example\erp\service\userInfo\SysMenuService.class
+com\example\erp\exception\GlobalExceptionHandle.class
+com\example\erp\entity\pp\SetupBom.class
+com\example\erp\entity\sd\Customer.class
+com\example\erp\entity\userInfo\SysMenu.class
+com\example\erp\entity\sd\Delivery.class
+com\example\erp\controller\mm\MaterialController.class
+com\example\erp\controller\pp\BasicDataProduceController.class
+com\example\erp\config\WebSocketConfig.class
+com\example\erp\controller\dto\UserDTO.class
+com\example\erp\service\pp\WorkOrderService.class
+com\example\erp\mapper\mm\FinishedOperateLogMapper.class
+com\example\erp\controller\pp\ReportingWorkController.class
+com\example\erp\mapper\pp\ReportingWorkDetailMapper.class
+com\example\erp\service\sd\BasicDateService.class
+com\example\erp\entity\OrderTest.class
+com\example\erp\service\pp\FlowCardService.class
+com\example\erp\mapper\pp\PatchLogMapper.class
+com\example\erp\service\userInfo\SysMenuItemService.class
+com\example\erp\entity\pp\ReportingWorkDetail.class
+com\example\erp\controller\sd\DeliveryController.class
+com\example\erp\service\impl\OrderServiceImpl.class
+com\example\erp\entity\sd\ProductDetail.class
+com\example\erp\mapper\pp\ReworkMapper.class
+com\example\erp\config\MyCorsConfig.class
+com\example\erp\controller\sd\BasicGlassTypeController.class
+com\example\erp\mapper\pp\FlowCardMapper.class
+com\example\erp\mapper\userInfo\SysMenuItemMapper.class
+com\example\erp\controller\userInfo\SysMenuController.class
+com\example\erp\entity\sd\Order.class
+com\example\erp\entity\sd\BasicGlassType.class
+com\example\erp\entity\sd\OrderGlassDetail.class
+com\example\erp\entity\userInfo\SysError.class
+com\example\erp\entity\userInfo\User.class
+com\example\erp\mapper\pp\ProductionSchedulingMapper.class
+com\example\erp\controller\sd\BasicDataController.class
+com\example\erp\entity\pp\BaseBom.class
+com\example\erp\mapper\userInfo\SysErrorMapper.class
+com\example\erp\service\mm\FinishedGoodsInventoryService.class
+com\example\erp\entity\sd\ReturnsDetail.class
+com\example\erp\entity\sd\OrderProcessDetail.class
+com\example\erp\config\SwaggerConfig.class
+com\example\erp\controller\pp\ProcessCardController.class
+com\example\erp\service\pp\ReportWorkService.class
+com\example\erp\controller\mm\FinishedGoodsInventoryController.class
+com\example\erp\service\pp\ReworkService.class
+com\example\erp\service\userInfo\SysErrorService.class
 com\example\erp\ErpApplication.class
-com\example\erp\Mapper\OrderMapper.class
+com\example\erp\tools\netty\NettyServer.class
+com\example\erp\exception\ServiceException.class
+com\example\erp\common\interceptor\JwtInterceptor.class
+com\example\erp\entity\pp\Rework.class
+com\example\erp\entity\pp\ReportingWork.class
+com\example\erp\tools\netty\MyWebSocketHandler.class
+com\example\erp\service\mm\MaterialService.class
+com\example\erp\controller\sd\OrderController.class
+com\example\erp\entity\pp\BasicDataProduce.class
+com\example\erp\controller\pp\ReportWorkController.class
+com\example\erp\entity\pp\PatchLog.class
+com\example\erp\mapper\pp\WorkOrderMapper.class
+com\example\erp\controller\sd\CustomerController.class
+com\example\erp\entity\pp\ProductionScheduling.class
+com\example\erp\common\CacheUtil.class
+com\example\erp\entity\pp\OrderBom.class
+com\example\erp\mapper\sd\DeliveryMapper.class
+com\example\erp\controller\mm\BasicWarehouseTypeController.class
+com\example\erp\service\sd\OrderService.class
+com\example\erp\mapper\sd\CustomerMapper.class
+com\example\erp\tools\netty\MyChannelHandlerPool.class
+com\example\erp\controller\userInfo\UserController.class
+com\example\erp\mapper\userInfo\UserMapper.class
+com\example\erp\service\pp\BasicDateProduceService.class
+com\example\erp\tools\WebSocketServer.class
+com\example\erp\mapper\sd\ProductMapper.class
+com\example\erp\common\Result.class
+com\example\erp\service\sd\CustomerService.class
+com\example\erp\mapper\pp\DamageDetailsMapper.class
+com\example\erp\mapper\sd\OrderProcessDetailMapper.class
+com\example\erp\entity\pp\Device.class
+com\example\erp\tools\WebSocketServerPool.class
+com\example\erp\controller\OrderTestController.class
+com\example\erp\mapper\userInfo\SysMenuMapper.class
+com\example\erp\tools\TokenTools.class
+com\example\erp\mapper\sd\OrderDetailMapper.class
+com\example\erp\controller\userInfo\SysMenuItemController.class
+com\example\erp\mapper\sd\ProductDetailMapper.class
+com\example\erp\entity\pp\FlowCard.class
+com\example\erp\common\Constants.class
+com\example\erp\controller\pp\WorkOrderController.class
+com\example\erp\entity\pp\DeviceMaintenance.class
+com\example\erp\tools\netty\NettyServer$1.class
+com\example\erp\entity\userInfo\SysMenuItem.class
+com\example\erp\mapper\pp\ReportingWorkMapper.class
+com\example\erp\entity\sd\BasicData.class
+com\example\erp\entity\sd\DeliveryDetail.class
+com\example\erp\mapper\sd\BasicGlassTypeMapper.class
diff --git a/north-glass-erp/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/north-glass-erp/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index 5150be3..ac515c0 100644
--- a/north-glass-erp/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/north-glass-erp/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,4 +1,130 @@
-D:\Documents\north-glass-erp\src\main\java\com\example\erp\controller\OrderController.java
-D:\Documents\north-glass-erp\src\main\java\com\example\erp\Mapper\OrderMapper.java
-D:\Documents\north-glass-erp\src\main\java\com\example\erp\entity\Order.java
-D:\Documents\north-glass-erp\src\main\java\com\example\erp\ErpApplication.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\pp\PatchLog.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\pp\BasicDateProduceService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\config\MybatisPlusConfig.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\sd\ProductDetailMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\mm\MaterialController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\sd\GlassType.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\common\interceptor\JwtInterceptor.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\pp\WorkOrderMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\pp\WorkprogressMonthlySettlement.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\pp\DeviceMaintenance.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\userInfo\SysMenu.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\OrderTestMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\pp\ReworkController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\pp\Rework.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\sd\CustomerService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\mm\MaterialStoreMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\pp\BaseBom.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\pp\ProductionScheduling.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\userInfo\UserController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\sd\BasicGlassType.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\pp\SetupBom.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\sd\OrderDetail.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\tools\WebSocketServer.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\sd\ProductController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\userInfo\User.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\mm\FinishedGoodsInventoryService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\sd\BasicDateService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\sd\BasicDataController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\sd\Delivery.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\sd\Customer.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\userInfo\SysMenuMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\pp\ReportingWork.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\pp\ProductionSchedulingMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\userInfo\SysMenuItemController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\pp\ReportingWorkDetail.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\sd\OrderMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\pp\ReportingWorkController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\mm\FinishedGoodsInventory.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\sd\BasicData.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\sd\OrderDetailMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\sd\DeliveryMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\sd\BasicGlassTypeController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\impl\OrderServiceImpl.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\sd\OrderProcessDetailMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\userInfo\UserMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\userInfo\SysMenuItemService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\userInfo\SysErrorService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\pp\ProductionSchedulingController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\mm\FinishedOperateLogMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\pp\FlowCardMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\tools\TokenTools.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\pp\ReportWorkController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\mm\MaterialStore.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\userInfo\SysMenuItem.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\sd\DeliveryController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\pp\WorkOrderController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\sd\OrderGlassDetail.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\pp\ReplenishService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\pp\FlowCardService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\pp\ReworkService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\OrderTest.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\pp\ReportWorkService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\sd\BasicDateMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\sd\OrderController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\common\Result.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\sd\Returns.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\userInfo\SysMenuService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\pp\WorkOrderService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\dto\UserDTO.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\pp\ReportingWorkService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\sd\ProductDetail.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\mm\BasicWarehouseTypeService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\sd\OrderProcessDetailService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\tools\netty\MyWebSocketHandler.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\pp\FlowCard.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\pp\ReportingWorkDetailMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\userInfo\SysError.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\exception\ServiceException.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\tools\netty\MyChannelHandlerPool.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\config\InterceptorConfig.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\pp\BasicDataProduce.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\sd\BasicGlassTypeServise.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\config\MyCorsConfig.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\config\SwaggerConfig.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\pp\Device.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\sd\ProductService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\pp\OrderBom.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\sd\Order.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\pp\ProductionSchedulingService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\tools\WebSocketServerPool.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\IOrderService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\sd\OrderGlassDetailMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\pp\ProcessCardController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\sd\DeliveryDetailMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\userInfo\SysMenuItemMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\common\CacheUtil.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\mm\FinishedGoodsInventoryController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\userInfo\UserService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\sd\BasicGlassTypeMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\common\Constants.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\pp\ReportingWorkMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\pp\PatchLogMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\userInfo\SysErrorMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\sd\DeliveryDetail.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\mm\BasicWarehouseTypeController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\pp\DamageDetailsMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\mm\FinishedOperateLog.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\mm\FinishedGoodsInventoryMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\pp\DamageDetails.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\sd\ReturnsDetail.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\ErpApplication.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\config\WebSocketConfig.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\pp\BasicDataProduceController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\pp\BasicDateProduceMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\sd\ProductMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\pp\ReworkMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\userInfo\SysMenuController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\sd\CustomerMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\tools\netty\NettyServer.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\sd\OrderProcessDetail.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\mm\BasicWarehouseType.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\pp\ReplenishController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\sd\CustomerController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\exception\GlobalExceptionHandle.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\sd\OrderService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\sd\DeliveryService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\controller\OrderTestController.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\mapper\mm\BasicWarehouseTypeMapper.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\service\mm\MaterialService.java
+D:\Documents\ERP_override\north-glass-erp\src\main\java\com\example\erp\entity\sd\Product.java
diff --git a/north-glass-erp/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/north-glass-erp/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
index 02bf5e0..be867d2 100644
--- a/north-glass-erp/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
+++ b/north-glass-erp/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
@@ -1 +1,5 @@
+com\example\erp\service\pp\ReworkServiceTest.class
 com\example\erp\ErpApplicationTests.class
+com\example\erp\service\IOrderServiceTest.class
+com\example\erp\service\sd\BasicDateServiceTest.class
+com\example\erp\service\sd\OrderServiceTest.class
diff --git a/north-glass-erp/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst b/north-glass-erp/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
index daf27b4..9845b69 100644
--- a/north-glass-erp/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
+++ b/north-glass-erp/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
@@ -1 +1,5 @@
-D:\Documents\north-glass-erp\src\test\java\com\example\erp\ErpApplicationTests.java
+D:\Documents\ERP_override\north-glass-erp\src\test\java\com\example\erp\service\pp\ReworkServiceTest.java
+D:\Documents\ERP_override\north-glass-erp\src\test\java\com\example\erp\ErpApplicationTests.java
+D:\Documents\ERP_override\north-glass-erp\src\test\java\com\example\erp\service\sd\OrderServiceTest.java
+D:\Documents\ERP_override\north-glass-erp\src\test\java\com\example\erp\service\sd\BasicDateServiceTest.java
+D:\Documents\ERP_override\north-glass-erp\src\test\java\com\example\erp\service\IOrderServiceTest.java

--
Gitblit v1.8.0