From e0b33e130fbb5b7d9ada54f675011b688f0b147a Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 14 二月 2025 08:50:07 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue           |   55 +++++++++++++++++++++++++++
 north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue           |    1 
 north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml                |    4 ++
 north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java    |    3 +
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java |    4 ++
 north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java  |   27 ++++++++++++-
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml                   |   11 +++++
 7 files changed, 99 insertions(+), 6 deletions(-)

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 f23d81b..3db0642 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
@@ -893,7 +893,6 @@
   await request.get(`/basicData/orderBasicData`).then((res) => {
     if(res.code==200){
       titleSelectJson.value=deepClone(res.data)
-      console.log(res.data)
       if(val===0){
         //鍏朵粬閲戦
         otherMoney.value = titleSelectJson.value.orderOtherMoney[0]
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 b7551cd..4e0bb1d 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
@@ -4,7 +4,7 @@
 import {computed, onMounted, reactive, ref} from "vue"
 import request from "@/utils/request"
 import deepClone from "@/utils/deepClone"
-import {ElMessage} from "element-plus"
+import {ElMessage, ElMessageBox} from "element-plus"
 import { VXETable} from "vxe-table"
 import  useUserInfoStore from '@/stores/userInfo'
 import companyInfo from "@/stores/sd/companyInfo"
@@ -94,6 +94,18 @@
                 { code: 'sheet4', name: t('order.sheet4') },
                 { code: 'sheet3', name: t('order.sheet3') },
                 { code: 'sheet5', name: t('order.sheet5')},
+
+              ]
+            },
+            {
+              prefixIcon: 'vxe-icon-print',
+              name: '涓�閿��鍥�',
+              children: [
+                // { code: 'sheet1', name: '妯増-鏅��' },
+                { code: 'back1', name: t('searchOrder.createOrder')  },
+                { code: 'back2', name: t('order.technology') },
+                { code: 'back3', name: t('basicData.review') },
+                { code: 'back4', name: t('searchOrder.production')},
 
               ]
             },
@@ -262,6 +274,22 @@
             }
             break
           }
+          case 'back1': {
+            backProcess(1)
+            break
+          }
+          case 'back2': {
+            backProcess(2)
+            break
+          }
+          case 'back3': {
+            backProcess(3)
+            break
+          }
+          case 'back4': {
+            backProcess(4)
+            break
+          }
 
           case 'copy': {
             if(rowClickIndex.value===null){
@@ -322,6 +350,31 @@
       selectOrderList()
     }
   }
+  const backProcess = (status) => {
+    if(rowClickIndex.value===null){
+      ElMessage.warning(t('searchOrder.msgList.checkOrder'))
+      return
+    }
+
+    ElMessageBox.confirm(
+        '纭畾涓�閿��鍥炵浉搴旀祦绋�?',
+        'Warning',
+        {
+          confirmButtonText: t('basicData.confirmButtonText'),
+          cancelButtonText: t('basicData.cancelButtonText'),
+          type: 'warning',
+        }
+    )
+        .then(() => {
+          request.post(`/order/processBack/${rowClickIndex.value.orderId}/${status}`).then((res) => {
+            if(res.code==='200'){
+              ElMessage.success(t('product.msg.operateSuccess')+'!')
+              selectOrderList()
+            }
+          })
+        })
+  }
+
 
   const getOrderList = () => {
     //鍔犺浇璇锋眰
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
index 52c3112..4dd26ef 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
@@ -40,6 +40,8 @@
     //鏌ヨ鎶ュ伐琛ㄥ唴鏄惁瀛樺湪瀵瑰簲娴佺▼鍗$殑鏁版嵁
     Integer reportingWorkCount(String processId);
 
+    Integer reportingWorkCountByOrderId(String orderId);
+
     //鎻掑叆Flow_card琛�
     Boolean addFlowCardMp(String processId, Integer orderNumber, Integer landingSequence, Integer quantity, String productionId, String userName, Integer layer);
 
@@ -216,4 +218,6 @@
     Integer updateProjectProcessPrintCount(String projectNo);
 
     Integer selectProjectProcessPrintCount(String projectNo);
+
+    int flowCardToOptimizeCount(String orderId);
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java
index dac6d8c..6a16701 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java
@@ -52,4 +52,7 @@
     Order selectOrderId(String orderId);
 
     List<Map<String,String>> selectDifferentSize(String orderId);
+
+    //鏌ヨ璁㈠崟鍏ュ簱鐘舵��
+    Integer searchOrderWarehousing( String orderId);
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
index c89cf0d..b28f9c7 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -1,5 +1,6 @@
 package com.example.erp.service.sd;
 
+import cn.dev33.satoken.stp.StpUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -840,6 +841,19 @@
     }
 
     public Object processBack(String orderId,Integer status)  {
+        //鍒ゆ柇鏄惁杞紭鍖�
+        if(flowCardMapper.flowCardToOptimizeCount(orderId)>0){
+            return "false1";
+        }
+        //鍒ゆ柇鏄惁鏈夋姤宸�
+        if(flowCardMapper.reportingWorkCountByOrderId(orderId)>0){
+            return "false2";
+        }
+        //鍒ゆ柇鏄惁鏈夊簱瀛�
+        if(orderMapper.searchOrderWarehousing(orderId)>0){
+            return "false3";
+        }
+        //閫�鍥炲埌鐢熶骇鍔犲伐鍗�
         if(status<5){
             //鏇存柊灏忕墖鏄庣粏琛ㄥ垎鏋剁姸鎬�
             flowCardMapper.updateDeleteState(orderId,"all");
@@ -851,18 +865,25 @@
             flowCardMapper.deleteflowCardSortByOrderId(orderId);
             flowCardMapper.updateProcessingCard(orderId, 0);
         }
+        //閫�鍥炲埌璁㈠崟瀹℃牳鍚�
         if(status<4){
             workOrderMapper.deleteOrderWorkMp(orderId, null);
             workOrderMapper.updateWorkType(orderId, 0);
         }
+        //閫�鍥炲埌宸ヨ壓瀹℃牳鍚�
         if(status<3){
             orderMapper.backReviewOrderById(orderId);
         }
-
+        //閫�鍥炲埌涓嬪崟鍚�
         if(status<2){
             orderMapper.reviewProcessById(orderId,0);
         }
-
-        return null;
+        //鏃ュ織浼犲叆
+        Log log = new Log();
+        log.setOperator((String) StpUtil.getLoginId());
+        log.setOperatorId((String) StpUtil.getLoginId());
+        log.setContent(String.valueOf(status));
+        log.setFunction("updateOrderMoney閲戦閲嶇疆:"+orderId);
+        return true;
     }
 }
diff --git a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
index a23d7ad..3647616 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -326,6 +326,13 @@
         from reporting_work as rw
         where rw.process_id = #{processId} and reviewed_state>=0
     </select>
+    <!--    鏌ヨ鎶ュ伐琛ㄥ唴鏄惁鏈夊搴旀祦绋嬪崱-->
+    <select id="reportingWorkCountByOrderId">
+        select COUNT(rw.process_id)
+        from pp.reporting_work as rw
+        where rw.order_id = #{orderId} and reviewed_state>=0
+    </select>
+
     <!--    鎻掑叆Flow_card琛�-->
     <insert id="addFlowCardMp">
         insert into flow_card (order_id,
@@ -2786,5 +2793,7 @@
         select processPrintNum from optimize_project where project_no=#{projectNo}
     </select>
 
-
+    <select id="flowCardToOptimizeCount">
+        select count(*) from pp.flow_card where order_id = #{orderId} and engineering_occupancy=1
+    </select>
 </mapper>
\ No newline at end of file
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 9640301..8fdd80e 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
@@ -375,4 +375,8 @@
     having count(a.order_number) > 1
     </select>
 
+    <select id="searchOrderWarehousing">
+        select  warehousing from `order`
+        where order_id = #{orderId}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0