diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProRouteProcessMapper.java b/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProRouteProcessMapper.java index 6500640..be2c36f 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProRouteProcessMapper.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProRouteProcessMapper.java @@ -2,7 +2,8 @@ package com.ktg.mes.pro.mapper; import java.util.List; import com.ktg.mes.pro.domain.ProRouteProcess; -import org.springframework.security.core.parameters.P; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; /** * 工艺组成Mapper接口 @@ -73,4 +74,20 @@ public interface ProRouteProcessMapper * @return */ public int deleteByRouteId(Long routeId); + + /** + * 根据recordIds查询相关工艺组成对象 + * @param recordIds + * @return + */ + List selectByRecordId(Long recordIds); + + /** + * 根据routeId查询相关工艺组成对象 + * @param routeId + * @return + */ + List selectByRouteId(Long routeId); + + void updateBatch(@Param("entity") List list); } diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProRouteProcessServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProRouteProcessServiceImpl.java index 1297d1c..a6f38d1 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProRouteProcessServiceImpl.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProRouteProcessServiceImpl.java @@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ktg.mes.pro.mapper.ProRouteProcessMapper; import com.ktg.mes.pro.service.IProRouteProcessService; +import org.springframework.transaction.annotation.Transactional; /** * 工艺组成Service业务层处理 @@ -167,9 +168,31 @@ public class ProRouteProcessServiceImpl implements IProRouteProcessService * @return 结果 */ @Override + @Transactional public int deleteProRouteProcessByRecordIds(Long[] recordIds) { - return proRouteProcessMapper.deleteProRouteProcessByRecordIds(recordIds); + List ProRouteProcessList = proRouteProcessMapper.selectByRecordId(recordIds[0]); + Long routeId = ProRouteProcessList.get(0).getRouteId(); + int status = proRouteProcessMapper.deleteProRouteProcessByRecordIds(recordIds); + List list = proRouteProcessMapper.selectByRouteId(routeId); + if (list != null && list.size() > 0) { + // 重新生成工序 + for (int i = 0; i < list.size(); i++) { + ProRouteProcess proRouteProcess = list.get(i); + if ((i + 1) >= list.size()) { + proRouteProcess.setNextProcessId(0L); + proRouteProcess.setNextProcessName("无"); + } else { + ProRouteProcess next = list.get(i + 1); + proRouteProcess.setNextProcessId(next.getProcessId()); + proRouteProcess.setNextProcessCode(next.getProcessCode()); + proRouteProcess.setNextProcessName(next.getProcessName()); + } + } + // 批量更新 + proRouteProcessMapper.updateBatch(list); + } + return status; } /** diff --git a/ktg-mes/src/main/resources/mapper/pro/ProRouteProcessMapper.xml b/ktg-mes/src/main/resources/mapper/pro/ProRouteProcessMapper.xml index d6e8411..eddfa83 100644 --- a/ktg-mes/src/main/resources/mapper/pro/ProRouteProcessMapper.xml +++ b/ktg-mes/src/main/resources/mapper/pro/ProRouteProcessMapper.xml @@ -108,6 +108,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ORDER BY order_num ASC LIMIT 1 + + insert into pro_route_process @@ -192,6 +198,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where record_id = #{recordId} + + + update pro_route_process + + route_id = #{item.routeId}, + process_id = #{item.processId}, + process_code = #{item.processCode}, + process_name = #{item.processName}, + order_num = #{item.orderNum}, + next_process_id = #{item.nextProcessId}, + next_process_code = #{item.nextProcessCode}, + next_process_name = #{item.nextProcessName}, + link_type = #{item.linkType}, + default_pre_time = #{item.defaultPreTime}, + default_suf_time = #{item.defaultSufTime}, + key_flag = #{item.keyFlag}, + is_check = #{item.isCheck}, + color_code = #{item.colorCode}, + remark = #{item.remark}, + attr1 = #{item.attr1}, + attr2 = #{item.attr2}, + attr3 = #{item.attr3}, + attr4 = #{item.attr4}, + create_by = #{item.createBy}, + create_time = #{item.createTime}, + update_by = #{item.updateBy}, + update_time = #{item.updateTime}, + + where record_id = #{item.recordId} + + delete from pro_route_process where record_id = #{recordId}