diff --git a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderMapper.java b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderMapper.java index 63f9ddd32..66c053238 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderMapper.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/mapper/ProOrderMapper.java @@ -195,7 +195,7 @@ public interface ProOrderMapper { ProOrder getMaxPlanDate(); /** - * 白坯-通过母订单code将所有子订单状态改为已拆分 + * 白坯-通过母订单code将所有子订单状态改为拆分中 * @param orderCode */ void updateOrderStatusByOrderCode(String orderCode); @@ -212,4 +212,10 @@ public interface ProOrderMapper { * @return */ String[] selectOrderIdByParentOrder(String id); + + /** + * 白坯-通过母订单code将所有子订单状态改为已经拆分 + * @param orderCode + */ + void updateOrderStatusCompleteByOrderCode(String orderCode); } diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java index ce230ee73..30874d26e 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderServiceImpl.java @@ -142,14 +142,18 @@ public class ProOrderServiceImpl implements IProOrderService { proOrderTemp.setQuantitySplit(proOrderTemp.getQuantitySplit()+splitOrderDTO.getSplitNum()); // 拆分中 proOrderTemp.setStatus("o1"); - // 全部更改为拆分中 - proOrderMapper.updateOrderStatusByOrderCode(proOrderTemp.getOrderCode()); // 如果拆分完就更改状态为已拆分 - if (proOrderTemp.getQuantitySplit() == proOrderTemp.getQuantity()) { + if (proOrderTemp.getQuantitySplit().longValue() == proOrderTemp.getQuantity().longValue()) { flag = true; - // TODO 更改子订单状态 proOrderTemp.setStatus("o2"); } + if (!flag) { + // 全部改为拆分中 + proOrderMapper.updateOrderStatusByOrderCode(proOrderTemp.getOrderCode()); + }else { + // 全部改为已拆分 + proOrderMapper.updateOrderStatusCompleteByOrderCode(proOrderTemp.getOrderCode()); + } // 更新母订单 proOrderMapper.updateOrder(proOrderTemp); @@ -878,8 +882,14 @@ public class ProOrderServiceImpl implements IProOrderService { // 订单表更新时间/更新者 proOrder.setUpdateBy(SecurityContextHolder.getUserName()); proOrder.setUpdateTime(date); - // 设置订单状态(只要拆了就属于已拆分) - proOrder.setStatus("o1"); + // 订单状态逻辑 + if (proOrder.getQuantity().longValue() == (proOrder.getQuantitySplit().longValue() + Long.valueOf(proOrder.getAtrr1()))) { + // 已拆分 + proOrder.setStatus("o2"); + }else { + // 拆分中 + proOrder.setStatus("o1"); + } // 更新订单表 proOrderMapper.updateOrder(proOrder); // 生成对应的工单表 diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java index 087386e20..ea0fa7c88 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProOrderWorkorderServiceImpl.java @@ -531,6 +531,18 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { proOrder.setUpdateBy(SecurityContextHolder.getUserName()); proOrder.setUpdateTime(DateUtils.getNowDate()); proOrder.setAtrr1(""); + // 拆分状态逻辑 + boolean statusFlag = false; + if (proOrder.getQuantity().longValue() > proOrder.getQuantitySplit().longValue()) { + // 拆分中 + proOrderMapper.updateOrderStatusByOrderCode(proOrder.getOrderCode()); + proOrder.setStatus("o1"); + }else { + // 已拆分 + proOrderMapper.updateOrderStatusCompleteByOrderCode(proOrder.getOrderCode()); + proOrder.setStatus("o2"); + statusFlag = true; + } // 更新母订单至数据库 proOrderMapper.updateProOrder(proOrder); // 更新子订单 @@ -545,6 +557,11 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { childOrder.setAtrr1(""); childOrder.setUpdateBy(SecurityContextHolder.getUserName()); childOrder.setUpdateTime(DateUtils.getNowDate()); + if (statusFlag) { + childOrder.setStatus("o2"); + }else { + childOrder.setStatus("o1"); + } // 更新子订单至数据库 proOrderMapper.updateProOrder(childOrder); @@ -616,6 +633,13 @@ public class ProOrderWorkorderServiceImpl implements IProOrderWorkorderService { proOrder.setUpdateBy(SecurityContextHolder.getUserName()); proOrder.setUpdateTime(DateUtils.getNowDate()); proOrder.setQuantitySplit(proOrder.getQuantitySplit() + Long.valueOf(proOrder.getAtrr1())); + if (proOrder.getQuantity().longValue() == proOrder.getQuantitySplit().longValue()) { + // 已拆分 + proOrder.setStatus("o2"); + }else { + // 拆分中 + proOrder.setStatus("o1"); + } proOrderMapper.updateProOrder(proOrder); // 设置工单信息 proOrderWorkorder.setUpdateBy(SecurityContextHolder.getUserName()); diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderMapper.xml index f9d160975..1ea172484 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderMapper.xml @@ -347,6 +347,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} + + update pro_order set status = 'o2' where parent_order = #{orderCode} and del_flag = '0' + + update pro_order set del_flag = '1'