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'