From 61eb6b9768f341be77fa02e527a817caf3521bfb Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期一, 19 五月 2025 13:23:50 +0800
Subject: [PATCH] 钣金工单计划:批量更新工单计划日期

---
 aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlateStandardRequireOrderEndDayService.java                   |    3 +
 aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateStandardRequireOrderEndDayMapper.xml                |   47 +++++++++++++++++++++--
 aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireOrderEndDayMapper.java                     |    9 ++++
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateStandardRequireOrderEndDayServiceImpl.java |   16 ++++++++
 aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlate/ApsPlateStandardRequireOrderEndDay.java                  |   29 ++------------
 aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateOrderPlanManagerServiceImpl.java           |   15 +++++--
 6 files changed, 87 insertions(+), 32 deletions(-)

diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlate/ApsPlateStandardRequireOrderEndDay.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlate/ApsPlateStandardRequireOrderEndDay.java
index 2eb96d4..ba4355e 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlate/ApsPlateStandardRequireOrderEndDay.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlate/ApsPlateStandardRequireOrderEndDay.java
@@ -22,30 +22,6 @@
     private Long id;
 
     /**
-     * Bom鈥擮rder鍏崇郴ID
-     */
-    @TableField(value = "bom_order_id")
-    private Long bomOrderId;
-
-    /**
-     * 闇�姹侷D
-     */
-    @TableField(value = "require_id")
-    private Long requireId;
-
-    /**
-     * 闇�姹傝拷婧疘D
-     */
-    @TableField(value = "require_track_id")
-    private String requireTrackId;
-
-    /**
-     * 鏂欏彿
-     */
-    @TableField(value = "bom_line_code")
-    private String bomLineCode;
-
-    /**
      * 璁㈠崟鍙�
      */
     @TableField(value = "doc_no")
@@ -54,6 +30,11 @@
     /**
      * 鑷畾涔夎鍒掑畬鎴愭椂闂�
      */
+    @TableField(value = "plan_start_day")
+    private Date planStartDay;
+    /**
+     * 鑷畾涔夎鍒掑畬鎴愭椂闂�
+     */
     @TableField(value = "plan_end_day")
     private Date planEndDay;
 
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireOrderEndDayMapper.java b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireOrderEndDayMapper.java
index 9ce7388..6238f9c 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireOrderEndDayMapper.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateStandardRequireOrderEndDayMapper.java
@@ -1,7 +1,11 @@
 package com.aps.core.mapper;
 
+import com.aps.core.domain.ApsPlate.ApsPlateOrderPlanDate;
 import com.aps.core.domain.ApsPlate.ApsPlateStandardRequireOrderEndDay;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
 
 /**
 * @author zhl
@@ -9,8 +13,13 @@
 * @createDate 2025-05-19 10:20:50
 * @Entity com.aps.core.domain.ApsPlate.ApsPlateStandardRequireOrderEndDay
 */
+@Mapper
 public interface ApsPlateStandardRequireOrderEndDayMapper extends BaseMapper<ApsPlateStandardRequireOrderEndDay> {
 
+    Integer batchInsert(List<Long> planIds,String createBy);
+    Integer batchRemove(List<Long> planIds);
+
+
 }
 
 
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlateStandardRequireOrderEndDayService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlateStandardRequireOrderEndDayService.java
index 45ec7db..c696ef1 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlateStandardRequireOrderEndDayService.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlateStandardRequireOrderEndDayService.java
@@ -3,6 +3,8 @@
 import com.aps.core.domain.ApsPlate.ApsPlateStandardRequireOrderEndDay;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
 * @author zhl
 * @description 閽堝琛ㄣ�恆ps_plate_standard_require_order_end_day(闇�姹傝鍒掑畬鎴愭棩鏈熻〃)銆戠殑鏁版嵁搴撴搷浣淪ervice
@@ -10,4 +12,5 @@
 */
 public interface ApsPlateStandardRequireOrderEndDayService extends IService<ApsPlateStandardRequireOrderEndDay> {
 
+    int saveBatch(List<Long> planIds);
 }
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateOrderPlanManagerServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateOrderPlanManagerServiceImpl.java
index 056b72f..21c6be4 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateOrderPlanManagerServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateOrderPlanManagerServiceImpl.java
@@ -11,6 +11,7 @@
 import com.aps.core.service.ApsPlate.IApsPlateOrderPlanManagerService;
 import com.aps.core.service.ApsPlate.IApsPlateStandardRequireBatchService;
 import com.aps.core.service.ApsPlate.IApsPlateStandardRequireService;
+import com.aps.core.service.ApsPlateStandardRequireOrderEndDayService;
 import jakarta.annotation.Resource;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -35,6 +36,9 @@
     IApsPlateStandardRequireBatchService requireBatchService;
     @Resource
     ApsPlanTaskService planTaskService;
+    @Resource
+    ApsPlateStandardRequireOrderEndDayService  orderEndDayService;
+
     /**
      * 鏌ヨ閽i噾宸ュ崟璁″垝绠$悊
      *
@@ -69,15 +73,18 @@
             apsPlateOrderPlanDate.setUpdateBy(SecurityUtils.getUsername());
             apsPlateOrderPlanManagerMapper.updatePlanDateByCustom(apsPlateOrderPlanDate);
         } else {
-            List<ApsPlateOrderPlanRequireDate> planRequireDates = apsPlateOrderPlanManagerMapper.selectPlanRequireIds(apsPlateOrderPlanDate.getPlanIds());
+            List<Long> planIds = apsPlateOrderPlanDate.getPlanIds();
+            orderEndDayService.saveBatch(planIds);
+
+            /*List<ApsPlateOrderPlanRequireDate> planRequireDates = apsPlateOrderPlanManagerMapper.selectPlanRequireIds(planIds);
             planRequireDates.forEach(planRequireDate -> {
                 planRequireDate.setUpdateBy(SecurityUtils.getUsername());
                 apsPlateOrderPlanManagerMapper.updatePlanDateByBatch(planRequireDate);
-            });
+            });*/
         }
-        String batchNum= requireBatchService.getNewBatchNumber();
+/*        String batchNum= requireBatchService.getNewBatchNumber();
         planTaskService.savePlanTask(batchNum);
         apsPlateStandardRequireService.generatorPlan(batchNum);
-        planTaskService.updateTaskStatus(batchNum, PLAN_TASK_STATUS.FINISHED);
+        planTaskService.updateTaskStatus(batchNum, PLAN_TASK_STATUS.FINISHED);*/
     }
 }
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateStandardRequireOrderEndDayServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateStandardRequireOrderEndDayServiceImpl.java
index b128161..924c909 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateStandardRequireOrderEndDayServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateStandardRequireOrderEndDayServiceImpl.java
@@ -1,10 +1,15 @@
 package com.aps.core.service.impl.ApsPlate;
 
+import com.aps.common.security.utils.SecurityUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.aps.core.domain.ApsPlate.ApsPlateStandardRequireOrderEndDay;
 import com.aps.core.service.ApsPlateStandardRequireOrderEndDayService;
 import com.aps.core.mapper.ApsPlateStandardRequireOrderEndDayMapper;
+import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
 
 /**
 * @author zhl
@@ -15,6 +20,17 @@
 public class ApsPlateStandardRequireOrderEndDayServiceImpl extends ServiceImpl<ApsPlateStandardRequireOrderEndDayMapper, ApsPlateStandardRequireOrderEndDay>
     implements ApsPlateStandardRequireOrderEndDayService{
 
+    @Resource
+    ApsPlateStandardRequireOrderEndDayMapper mapper;
+
+
+    @Transactional
+    @Override
+    public int saveBatch(List<Long> planIds)
+    {
+        mapper.batchRemove(planIds);
+       return mapper.batchInsert(planIds, SecurityUtils.getUsername());
+    }
 }
 
 
diff --git a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateStandardRequireOrderEndDayMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateStandardRequireOrderEndDayMapper.xml
index 4005b20..eeaab37 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateStandardRequireOrderEndDayMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateStandardRequireOrderEndDayMapper.xml
@@ -6,11 +6,9 @@
 
     <resultMap id="BaseResultMap" type="com.aps.core.domain.ApsPlate.ApsPlateStandardRequireOrderEndDay">
             <id property="id" column="id" />
-            <result property="bomOrderId" column="bom_order_id" />
-            <result property="requireId" column="require_id" />
-            <result property="requireTrackId" column="require_track_id" />
-            <result property="bomLineCode" column="bom_line_code" />
+
             <result property="docNo" column="doc_no" />
+            <result property="planStartDay" column="plan_end_day" />
             <result property="planEndDay" column="plan_end_day" />
             <result property="orgCode" column="org_code" />
             <result property="batchNumber" column="batch_number" />
@@ -26,4 +24,45 @@
         plan_end_day,org_code,batch_number,del_flag,create_by,
         create_time,update_by,update_time
     </sql>
+
+    <sql id="select_plan_time">
+        with a as (
+            select snow_next_id() as id,
+                   plan.id as plan_id,
+                   detail.doc_no,
+                   min(require.start_date)    as start_date,
+                   min(require.complete_date) as end_date,
+                   detail.org_code,
+                   detail.batch_number
+            from aps_plate_standard_require_bom_order_detail detail
+                     left join aps_plate_standard_require require on detail.require_id = require.id and require.del_flag = '0'
+                     left join aps_plate_plan plan on detail.doc_no = plan.document_number and plan.del_flag = '0'
+            where detail.del_flag = '0' and require.del_flag = '0' and detail.del_flag='0'
+                and plan.id in
+                <foreach collection="planIds" item="planId" open="(" separator="," close=")">
+                    #{planId}
+                </foreach>
+            group by plan.id ,detail.doc_no,detail.org_code,detail.batch_number
+        )
+    </sql>
+    <insert id="batchInsert" parameterType="Long">
+        <include refid="select_plan_time" />
+        insert into aps_plate_standard_require_order_end_day
+        (id,plan_id, doc_no, plan_start_day, plan_end_day, org_code, batch_number
+        , del_flag, create_time, create_by
+        )
+        select a.id, a.plan_id, a.doc_no, a.start_date, a.end_date, a.org_code,  a.batch_number,
+        0, now(), #{createBy}
+        from a
+
+    </insert>
+    <update id="batchRemove" parameterType="Long">
+        update aps_plate_standard_require_order_end_day
+        set del_flag=1
+        where plan_id in
+        <foreach collection="planIds" item="planId" open="(" separator="," close=")">
+            #{planId}
+        </foreach>
+    </update>
+
 </mapper>

--
Gitblit v1.9.3