From 6671f69b4d24869f3f321a15f511c2ad61b64c04 Mon Sep 17 00:00:00 2001
From: sfd <sun.sunshine@163.com>
Date: 星期一, 19 五月 2025 15:12:48 +0800
Subject: [PATCH] Merge branch 'dev' of http://192.168.50.149:8085/r/aps-backend into dev
---
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateStandardRequireOrderEndDayMapper.xml | 47 ++++++++++-
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/controller/mainPlan/ApsPlate/ApsPlateStandardRequireController.java | 7 -
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateOrderPlanManagerServiceImpl.java | 15 ++-
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlanTaskController.java | 6 -
aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlateStandardRequireOrderEndDayService.java | 3
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java | 55 +++++++++++++
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/ApsPlanTaskService.java | 3
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/enums/REDIS_LOCK_KEY.java | 17 ++++
aps-common/aps-common-redis/src/main/java/com/aps/common/redis/service/RedisLockUtils.java | 7 +
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateProcessStatMapper.xml | 7 +
13 files changed, 176 insertions(+), 45 deletions(-)
diff --git a/aps-common/aps-common-redis/src/main/java/com/aps/common/redis/service/RedisLockUtils.java b/aps-common/aps-common-redis/src/main/java/com/aps/common/redis/service/RedisLockUtils.java
index 659c1fe..4460773 100644
--- a/aps-common/aps-common-redis/src/main/java/com/aps/common/redis/service/RedisLockUtils.java
+++ b/aps-common/aps-common-redis/src/main/java/com/aps/common/redis/service/RedisLockUtils.java
@@ -26,6 +26,13 @@
/**
+ * 鍒ゆ柇鏄惁瀛樺湪閿�
+ * */
+ public boolean existLock(String key,String value){
+ return this.redisTemplate.opsForValue().get(key).equals(value);
+ }
+
+ /**
* 鍔犻攣
**/
public Boolean getLock(String key,String value,Long timeoutSeconds){
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlanTaskController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlanTaskController.java
index 7aa2adc..979cdf9 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlanTaskController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlanTaskController.java
@@ -1,13 +1,11 @@
package com.aps.core.controller.mainPlan;
-import com.aps.common.core.domain.R;
import com.aps.common.core.web.controller.BaseController;
import com.aps.common.core.web.page.PageDomain;
-import com.aps.common.core.web.page.TableDataInfo;
import com.aps.common.core.web.page.TableSupport;
+import com.aps.common.security.annotation.RequiresPermissions;
import com.aps.core.domain.ApsPlanTask;
import com.aps.core.service.ApsPlanTaskService;
-import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -25,7 +23,7 @@
@Autowired
private ApsPlanTaskService apsPlanTaskService;
-// @RequiresPermissions("planTask:list")
+ @RequiresPermissions("planTask:list")
@GetMapping("/list")
public Page<ApsPlanTask> list(ApsPlanTask task){
PageDomain pageDomain = TableSupport.buildPageRequest();
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlate/ApsPlateStandardRequireController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlate/ApsPlateStandardRequireController.java
index b9da482..80fdbaf 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlate/ApsPlateStandardRequireController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlate/ApsPlateStandardRequireController.java
@@ -138,14 +138,11 @@
/**
* 鐢熸垚閽i噾璁″垝
* */
+
@PostMapping("/generatorPlan")
public AjaxResult generatorPlan()
{
- String batchNum= requireBatchService.getNewBatchNumber();
- planTaskService.savePlanTask(batchNum);
- apsPlateStandardRequireService.generatorPlan(batchNum);
- planTaskService.updateTaskStatus(batchNum, PLAN_TASK_STATUS.FINISHED);
- return success();
+ return planTaskService.generatorPlan();
}
}
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/enums/REDIS_LOCK_KEY.java b/aps-modules/aps-core/src/main/java/com/aps/core/enums/REDIS_LOCK_KEY.java
new file mode 100644
index 0000000..3efba69
--- /dev/null
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/enums/REDIS_LOCK_KEY.java
@@ -0,0 +1,17 @@
+package com.aps.core.enums;
+
+public enum REDIS_LOCK_KEY {
+
+ /*閽i噾宸ュ崟璁″垝浠诲姟*/
+ PLATE_ORDER_PLAN("PLAN_TASK:PLATE_ORDER_PLAN");
+
+ private String key;
+
+ public String getKey() {
+ return key;
+ }
+
+ REDIS_LOCK_KEY(String key) {
+ this.key = key;
+ }
+}
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/ApsPlanTaskService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlanTaskService.java
index 217acc1..ae44ce9 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlanTaskService.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlanTaskService.java
@@ -1,5 +1,6 @@
package com.aps.core.service;
+import com.aps.common.core.web.domain.AjaxResult;
import com.aps.core.domain.ApsPlanTask;
import com.aps.core.enums.PLAN_TASK_STATUS;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -20,4 +21,6 @@
void savePlanTask(String batchNum);
void updateTaskStatus(String batchNum, PLAN_TASK_STATUS status);
+
+ AjaxResult generatorPlan();
}
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/ApsPlanTaskServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java
index 36fd10b..383f5f6 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlanTaskServiceImpl.java
@@ -1,34 +1,52 @@
package com.aps.core.service.impl;
import cn.hutool.core.util.IdUtil;
+import com.aps.common.core.domain.R;
import com.aps.common.core.utils.DateUtils;
+import com.aps.common.core.web.domain.AjaxResult;
+import com.aps.common.redis.service.RedisLockUtils;
import com.aps.common.security.utils.SecurityUtils;
import com.aps.core.enums.PLAN_TASK_STATUS;
import com.aps.core.enums.PLAN_TASK_TYPE;
+import com.aps.core.enums.REDIS_LOCK_KEY;
+import com.aps.core.service.ApsPlate.IApsPlateStandardRequireBatchService;
+import com.aps.core.service.ApsPlate.IApsPlateStandardRequireService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.aps.core.domain.ApsPlanTask;
import com.aps.core.service.ApsPlanTaskService;
import com.aps.core.mapper.ApsPlanTaskMapper;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import java.util.List;
+import static com.aps.common.core.web.domain.AjaxResult.success;
+import static com.aps.core.enums.REDIS_LOCK_KEY.PLATE_ORDER_PLAN;
/**
* @author zhl
* @description 閽堝琛ㄣ�恆ps_plan_task(璁″垝鐢熸垚鏃ュ織琛�)銆戠殑鏁版嵁搴撴搷浣淪ervice瀹炵幇
* @createDate 2025-05-16 14:41:49
*/
+
+@Slf4j
@Service
public class ApsPlanTaskServiceImpl extends ServiceImpl<ApsPlanTaskMapper, ApsPlanTask> implements ApsPlanTaskService{
@Autowired
ApsPlanTaskMapper mapper;
+ @Autowired
+ private IApsPlateStandardRequireService apsPlateStandardRequireService;
+ @Resource
+ IApsPlateStandardRequireBatchService requireBatchService;
+ @Resource
+ RedisLockUtils redisLockUtils;
+
+ @Override
public Page<ApsPlanTask> pagingList(Page<ApsPlanTask> page ,ApsPlanTask task){
LambdaQueryWrapper<ApsPlanTask> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.like( !task.getTaskType().isEmpty(), ApsPlanTask::getTaskType,task.getTaskType());
@@ -65,6 +83,39 @@
.build();
baseMapper.update(task,queryWrapper);
}
+
+ @Override
+ public AjaxResult generatorPlan()
+ {
+ String plateOrderPlanKey = PLATE_ORDER_PLAN.getKey();
+ boolean existsLock = redisLockUtils.existLock(plateOrderPlanKey, PLAN_TASK_TYPE.PLATE_PLAN.getCode());
+ if (existsLock){
+ return AjaxResult.warn("閽i噾宸ュ崟璁″垝浠诲姟姝e湪鎵ц涓�!");
+ }
+ LambdaQueryWrapper<ApsPlanTask> queryWrapper=new LambdaQueryWrapper<>();
+ queryWrapper.eq(ApsPlanTask::getTaskType,PLAN_TASK_TYPE.PLATE_PLAN.getCode());
+ queryWrapper.eq(ApsPlanTask::getTaskStatus,PLAN_TASK_STATUS.IN_PROCESS.getCode());
+ boolean existsDbTask = mapper.exists(queryWrapper);
+ if (existsDbTask){
+ return AjaxResult.warn("閽i噾宸ュ崟璁″垝浠诲姟姝e湪鎵ц涓�!!");
+ }
+ try {
+ redisLockUtils.getLock(plateOrderPlanKey,PLAN_TASK_TYPE.PLATE_PLAN.getCode(), 3*60L);
+ String batchNum= requireBatchService.getNewBatchNumber();
+ this.savePlanTask(batchNum);
+ apsPlateStandardRequireService.generatorPlan(batchNum);
+ this.updateTaskStatus(batchNum, PLAN_TASK_STATUS.FINISHED);
+ log.info("璁″垝浠诲姟鎵ц瀹屾垚!"+batchNum);
+ return success();
+ }catch (Exception e){
+ redisLockUtils.releaseLock(plateOrderPlanKey,PLAN_TASK_TYPE.PLATE_PLAN.getCode());
+ log.error("璁″垝浠诲姟鎵ц澶辫触!"+e.getMessage());
+ return AjaxResult.error("璁″垝浠诲姟鎵ц澶辫触!"+e.getMessage());
+ }finally {
+ redisLockUtils.releaseLock(plateOrderPlanKey,PLAN_TASK_TYPE.PLATE_PLAN.getCode());
+ }
+ }
+
}
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/ApsPlateProcessStatMapper.xml b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateProcessStatMapper.xml
index ece5968..b25cfcc 100644
--- a/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateProcessStatMapper.xml
+++ b/aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateProcessStatMapper.xml
@@ -143,10 +143,13 @@
(rt.standard_time * pl.production_quantity) as process_total_time,
rt.process_plan_start_day,
rt.process_plan_end_day,
- pl.plan_end_day as order_plan_end_day
+ pl.plan_end_day,
+ COALESCE(rd.plan_end_day,pl.plan_end_day) as order_plan_end_day
from aps_plate_plan as pl
left join aps_process_route as rt on pl.document_number = rt.work_order_no
- where pl.document_number is not null and rt.work_order_no is not null and pl.plan_end_day is not null
+ left join aps_plate_standard_require_order_end_day as rd on pl.document_number = rd.doc_no and rd.del_flag =0
+ where pl.document_number is not null and rt.work_order_no is not null and
+ (pl.plan_end_day is not null or rd.plan_end_day is not null )
order by rt.work_order_no asc, rt.process_number desc
</select>
<update id="removeOtherStat" parameterType="String">
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