diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/order/OrderDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/order/OrderDO.java index 0cac39fce..18fa2c8e2 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/order/OrderDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/order/OrderDO.java @@ -33,6 +33,11 @@ public class OrderDO extends BaseDO { @TableField(fill = FieldFill.INSERT_UPDATE) private Long organId; + /** + * 顶级单号 + */ + private Long rootId; + /** * 父单号 */ diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java index c8fd8339e..adc80bf7d 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java @@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; @@ -221,9 +222,26 @@ public class OrderServiceImpl implements OrderService { order.setOrderType(getOrderType(parentId, createReqVO.getOrderType())); // 默认都是空单 order.setStatus(OrderStatusEnum.EMPTY.getStatus()); + // 是否主单 + boolean isTop = ObjectUtil.equals(OrderTypeEnum.MAIN_ORDER.getStatus(), order.getOrderType()); + if (!isTop) { + // 子单用父id + order.setRootId(parentId); + } + orderMapper.insert(order); + Long insertId = order.getId(); + + if (isTop) { + // 主单用自己 + order.setRootId(insertId); + orderMapper.update(new LambdaUpdateWrapper() + .set(OrderDO::getRootId, insertId) + .eq(OrderDO::getId, insertId) + ); + } // 返回 - return order.getId(); + return insertId; } @Override diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml index d2819cfe2..325015f04 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml @@ -25,7 +25,7 @@ - + @@ -529,6 +529,7 @@ og.name AS processGroupName, oc.name AS componentName, + ogs.goods_id as plateGoodsId, ogs.goods_name as goodsName, ogs.color as color, ogs.material as material,