From 5f65942a6fb71b7b1e7d9d8d3372f08d298c5ca9 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 25 四月 2024 16:14:11 +0800
Subject: [PATCH] 包装工序报工修改时不能修改库存数量问题

---
 north-glass-erp/target/classes/mapper/pp/ReportingWorkDetail.xml                       |   14 ++++++
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkDetailMapper.java |    4 ++
 north-glass-erp/target/classes/mapper/sd/OrderProcessDetailMapper.xml                  |   14 +++++++
 north-glass-erp/target/classes/mapper/pp/FolwCard.xml                                  |    5 ++
 north-glass-erp/target/classes/mapper/pp/ReportingWork.xml                             |    4 +-
 north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java            |    2 +
 north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderProcessDetailMapper.java  |    3 +
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java         |    1 
 north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml                              |    5 ++
 north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java     |   10 ++++
 north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml              |   14 +++++++
 north-glass-erp/src/main/resources/mapper/pp/ReportingWorkDetail.xml                   |   14 ++++++
 north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue        |    1 
 north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml                         |    4 +-
 14 files changed, 87 insertions(+), 8 deletions(-)

diff --git a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
index 5bc23e0..dccd0a9 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -328,6 +328,7 @@
           break
         }
         case 'update':  {
+          getQuantity()
           const errMap = await $grid.validate(true)
           if (errMap) {
             ElMessage.error(`鏍¢獙涓嶉�氳繃锛乣)
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 4a2eb8f..42d2719 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
@@ -75,4 +75,6 @@
     List<Map<String, Object>> getDetailList(String processId, Integer technologyNumber);
 
     List<Map<String, Object>> getProcessList(String processId, Integer technologyNumber);
+
+    Boolean updateInventory(String processId, String orderNumber, String technologyNumber, int completedQuantity);
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkDetailMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkDetailMapper.java
index b7671f2..9fd5d77 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkDetailMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/pp/ReportingWorkDetailMapper.java
@@ -4,10 +4,13 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.example.erp.entity.pp.ReportingWorkDetail;
 import com.example.erp.entity.pp.Rework;
+import com.example.erp.entity.sd.OrderProcessDetail;
+import io.swagger.models.auth.In;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 @Mapper
 public interface ReportingWorkDetailMapper extends BaseMapper<ReportingWorkDetail> {
@@ -26,4 +29,5 @@
                                                @Param("sDate") String startTime,@Param("eDate") String endTime,ReportingWorkDetail reportingWorkDetail);
 
 
+    Integer selectInventory(@Param("processId") String processId, @Param("orderNumber") Integer orderNumber, @Param("technologyNumber") Integer technologyNumber);
 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderProcessDetailMapper.java b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderProcessDetailMapper.java
index 1f54f65..0bb3382 100644
--- a/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderProcessDetailMapper.java
+++ b/north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderProcessDetailMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.example.erp.entity.pp.ReportingWorkDetail;
 import com.example.erp.entity.sd.OrderProcessDetail;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -21,4 +22,6 @@
     List<Map<String,Integer>> getGlassLRow(String orderId);
 
     List<Map<String, String>> filterLastProcess(String orderId, String orderNumber, String technologyNumber,String id);
+
+    void insertByReportingWorkDetail(ReportingWorkDetail reportingWorkDetail, String processId, String thisProcess);
 }
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 ad1787d..b78390d 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
@@ -126,7 +126,6 @@
                    patchMapper.updateReplenish(patchLog,userName);
                     ReportingWork reportingWork = reportingWorkMapper
                             .selectOne(new QueryWrapper<ReportingWork>().eq("reporting_work_id",patchLog.getReportingWorkId()));
-                    System.out.println(patchLog);
                     //淇敼灏忕墖娴佺▼鍗℃暟閲�
                     patchMapper.updateOrderProcessDetail(patchLog,reportingWork);
                 }
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
index b223635..f544c82 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -389,6 +389,14 @@
             }
             //鎻掑叆鎶ュ伐鏁版嵁
             reportingWorkDetailMapper.insert(reportingWorkDetail);
+            orderProcessDetailMapper.insertByReportingWorkDetail(reportingWorkDetail,reportingWork.getProcessId(),reportingWork.getThisProcess());
+            //淇敼鍖呰鏃朵慨鏀瑰簱瀛樻暟閲�
+            if (reportingWork.getNextProcess()==null || reportingWork.getNextProcess().isEmpty()){
+                //鑾峰彇璇ユ姤宸ヤ慨鏀瑰悗鐨勫彲鍏ュ簱鏁伴噺
+                Integer  inventory = reportingWorkDetailMapper.selectInventory(reportingWork.getProcessId(),Integer.parseInt(reportingWorkDetail.getOrderNumber()),Integer.parseInt(reportingWorkDetail.getTechnologyNumber()));
+                //淇敼娴佺▼鍗¤〃搴撳瓨鏁伴噺
+                flowCardMapper.updateInventory(reportingWork.getProcessId(),reportingWorkDetail.getOrderNumber(),reportingWorkDetail.getTechnologyNumber(),inventory);
+            }
         });
         //鑾峰彇璐ㄦ鏃堕棿
         if (Objects.equals(reviewState, "review")) {
@@ -399,7 +407,7 @@
         }
 
         //淇敼灏忕墖娴佺▼琛ㄦ暟閲忎负鎶ュ伐鏄庣粏琛ㄦ暟閲�
-        orderProcessDetailMapper.updateQuantity(reportingWork.getReportingWorkId(), reportingWork.getThisProcess(), "add");
+        //orderProcessDetailMapper.updateQuantity(reportingWork.getReportingWorkId(), reportingWork.getThisProcess(), "add");
         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 f58be6a..626010c 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -486,4 +486,9 @@
           and technology_number = #{technologyNumber}
         group by process
     </select>
+
+    <update id="updateInventory">
+        update flow_card set inventory_quantity=#{completedQuantity}
+        where process_id = #{processId} and  order_number = #{orderNumber} and technology_number = #{technologyNumber}
+    </update>
 </mapper>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml b/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
index 8d19a0f..3fbea0f 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -359,7 +359,7 @@
                                    and b.process_id = a.process_id
                  left join (select sum(patch_num) as patchNumSum,order_sort,technology_number,process_id
                             from patch_log
-                            group by reporting_work_id,order_sort,technology_number) as c
+                            group by order_sort,technology_number) as c
                            on
                                        c.process_id = a.process_id
                                    and c.order_sort = a.order_number
@@ -467,7 +467,7 @@
                   and g.technology_number = a.technology_number
         </if>
         where b.reporting_work_id = #{reportingWorkId}
-        GROUP BY c.order_number
+        GROUP BY c.order_number,c.technology_number
     </select>
 <select id="selectReportingWorkMp" resultMap="reportingWorkMap">
         select rw.reporting_work_id,
diff --git a/north-glass-erp/src/main/resources/mapper/pp/ReportingWorkDetail.xml b/north-glass-erp/src/main/resources/mapper/pp/ReportingWorkDetail.xml
index ec48c5f..dcdc2fb 100644
--- a/north-glass-erp/src/main/resources/mapper/pp/ReportingWorkDetail.xml
+++ b/north-glass-erp/src/main/resources/mapper/pp/ReportingWorkDetail.xml
@@ -80,6 +80,9 @@
             <result column="child_width" property="childWidth"/>
 
         </association>
+        <association property="OrderProcessDetail" javaType="com.example.erp.entity.sd.OrderProcessDetail">
+            <result column="reporting_work_num" property="reportingWorkNum"/>
+        </association>
 
 
     </resultMap>
@@ -161,7 +164,14 @@
         where reporting_work_id =  #{reportingWorkId}
     </select>
 
-
+    <select id="selectInventory">
+        select reporting_work_num
+        FROM sd.order_process_detail as opd
+        where opd.process_id = #{processId}
+          and opd.order_number = #{orderNumber}
+          and opd.technology_number = #{technologyNumber}
+          and opd.process = '鍖呰'
+    </select>
     <!--<where>
 
             create_time <![CDATA[>=]]> #{startTime} and create_time <![CDATA[<=]]> #{endTime}}
@@ -252,4 +262,6 @@
                   `b`.`available` = 1)
     </select>-->
 
+
+
 </mapper>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml b/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
index 770b887..a3773ea 100644
--- a/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
+++ b/north-glass-erp/src/main/resources/mapper/sd/OrderProcessDetailMapper.xml
@@ -107,5 +107,19 @@
         group by a.order_number
 
     </select>
+    <update id="insertByReportingWorkDetail">
+        update sd.order_process_detail as a
+        set
+            a.reporting_work_num_count=
+                a.reporting_work_num_count+#{reportingWorkDetail.completedQuantity},
+            a.reporting_work_num =a.reporting_work_num +#{reportingWorkDetail.completedQuantity},
+            a.broken_num =a.broken_num +#{reportingWorkDetail.breakageQuantity}
 
+        where
+            a.process_id = #{processId}
+            and a.order_number= #{reportingWorkDetail.orderNumber}
+            and a.technology_number= #{reportingWorkDetail.technologyNumber}
+            and a.process=#{thisProcess}
+
+    </update>
 </mapper>
\ No newline at end of file
diff --git a/north-glass-erp/target/classes/mapper/pp/FolwCard.xml b/north-glass-erp/target/classes/mapper/pp/FolwCard.xml
index f58be6a..626010c 100644
--- a/north-glass-erp/target/classes/mapper/pp/FolwCard.xml
+++ b/north-glass-erp/target/classes/mapper/pp/FolwCard.xml
@@ -486,4 +486,9 @@
           and technology_number = #{technologyNumber}
         group by process
     </select>
+
+    <update id="updateInventory">
+        update flow_card set inventory_quantity=#{completedQuantity}
+        where process_id = #{processId} and  order_number = #{orderNumber} and technology_number = #{technologyNumber}
+    </update>
 </mapper>
\ No newline at end of file
diff --git a/north-glass-erp/target/classes/mapper/pp/ReportingWork.xml b/north-glass-erp/target/classes/mapper/pp/ReportingWork.xml
index 8d19a0f..3fbea0f 100644
--- a/north-glass-erp/target/classes/mapper/pp/ReportingWork.xml
+++ b/north-glass-erp/target/classes/mapper/pp/ReportingWork.xml
@@ -359,7 +359,7 @@
                                    and b.process_id = a.process_id
                  left join (select sum(patch_num) as patchNumSum,order_sort,technology_number,process_id
                             from patch_log
-                            group by reporting_work_id,order_sort,technology_number) as c
+                            group by order_sort,technology_number) as c
                            on
                                        c.process_id = a.process_id
                                    and c.order_sort = a.order_number
@@ -467,7 +467,7 @@
                   and g.technology_number = a.technology_number
         </if>
         where b.reporting_work_id = #{reportingWorkId}
-        GROUP BY c.order_number
+        GROUP BY c.order_number,c.technology_number
     </select>
 <select id="selectReportingWorkMp" resultMap="reportingWorkMap">
         select rw.reporting_work_id,
diff --git a/north-glass-erp/target/classes/mapper/pp/ReportingWorkDetail.xml b/north-glass-erp/target/classes/mapper/pp/ReportingWorkDetail.xml
index ec48c5f..dcdc2fb 100644
--- a/north-glass-erp/target/classes/mapper/pp/ReportingWorkDetail.xml
+++ b/north-glass-erp/target/classes/mapper/pp/ReportingWorkDetail.xml
@@ -80,6 +80,9 @@
             <result column="child_width" property="childWidth"/>
 
         </association>
+        <association property="OrderProcessDetail" javaType="com.example.erp.entity.sd.OrderProcessDetail">
+            <result column="reporting_work_num" property="reportingWorkNum"/>
+        </association>
 
 
     </resultMap>
@@ -161,7 +164,14 @@
         where reporting_work_id =  #{reportingWorkId}
     </select>
 
-
+    <select id="selectInventory">
+        select reporting_work_num
+        FROM sd.order_process_detail as opd
+        where opd.process_id = #{processId}
+          and opd.order_number = #{orderNumber}
+          and opd.technology_number = #{technologyNumber}
+          and opd.process = '鍖呰'
+    </select>
     <!--<where>
 
             create_time <![CDATA[>=]]> #{startTime} and create_time <![CDATA[<=]]> #{endTime}}
@@ -252,4 +262,6 @@
                   `b`.`available` = 1)
     </select>-->
 
+
+
 </mapper>
\ No newline at end of file
diff --git a/north-glass-erp/target/classes/mapper/sd/OrderProcessDetailMapper.xml b/north-glass-erp/target/classes/mapper/sd/OrderProcessDetailMapper.xml
index 770b887..a3773ea 100644
--- a/north-glass-erp/target/classes/mapper/sd/OrderProcessDetailMapper.xml
+++ b/north-glass-erp/target/classes/mapper/sd/OrderProcessDetailMapper.xml
@@ -107,5 +107,19 @@
         group by a.order_number
 
     </select>
+    <update id="insertByReportingWorkDetail">
+        update sd.order_process_detail as a
+        set
+            a.reporting_work_num_count=
+                a.reporting_work_num_count+#{reportingWorkDetail.completedQuantity},
+            a.reporting_work_num =a.reporting_work_num +#{reportingWorkDetail.completedQuantity},
+            a.broken_num =a.broken_num +#{reportingWorkDetail.breakageQuantity}
 
+        where
+            a.process_id = #{processId}
+            and a.order_number= #{reportingWorkDetail.orderNumber}
+            and a.technology_number= #{reportingWorkDetail.technologyNumber}
+            and a.process=#{thisProcess}
+
+    </update>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0