diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java index 0e4759bc8..ae78f7ff3 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java @@ -1,5 +1,7 @@ package com.cf.imes.module.executor.controller.admin.order.vo.order; +import com.cf.imes.framework.common.validation.InEnum; +import com.cf.imes.module.executor.enums.ordercomponent.OrderComponentProcessStatusEnum; import com.cf.imes.module.executor.validation.order.OrderStatusValid; import lombok.*; @@ -100,4 +102,8 @@ public class OrderPageReqVO extends PageParam { @Schema(description = "排序字段", example = "id") private String field; + + @Schema(description = "加工状态") + @InEnum(OrderComponentProcessStatusEnum.class) + private Integer processStatus; } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java index 91fdab0de..6ac6e6bb1 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/ordercomponent/OrderComponentServiceImpl.java @@ -424,7 +424,11 @@ public class OrderComponentServiceImpl implements OrderComponentService { .in(OrderItemDO::getOrderId, pageReqVO.getOrderIds()) .inIfPresent(OrderItemDO::getCompId, queryComponentIds) .in(OrderItemDO::getPartsId, partsIds) - .ne(OrderItemDO::getGroupId, 0L) + .and(wrapper -> + wrapper.ne(OrderItemDO::getGroupId, 0L) + .or() + .isNull(OrderItemDO::getGroupId) + ) .select(OrderItemDO::getPartsId, OrderItemDO::getCadViewId, OrderItemDO::getGroupId, OrderItemDO::getCompId, OrderItemDO::getNum) ); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java index 7228c213c..a5f448c3a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plate/PlateServiceImpl.java @@ -1032,7 +1032,11 @@ public class PlateServiceImpl implements PlateService { .eq(OrderItemDO::getOrderId, pageReqVO.getOrderId()) .inIfPresent(OrderItemDO::getBodyId, bodyIds) .inIfPresent(OrderItemDO::getGroupId, groupIds) - .ne(OrderItemDO::getGroupId, 0L) + .and(wrapper -> + wrapper.ne(OrderItemDO::getGroupId, 0L) + .or() + .isNull(OrderItemDO::getGroupId) + ) .in(OrderItemDO::getPartsId, partsIds) .select(OrderItemDO::getPartsId, OrderItemDO::getBodyId, OrderItemDO::getCadViewId, OrderItemDO::getGroupId, OrderItemDO::getCompId, OrderItemDO::getNum) ); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml index 159d3455c..81b8aaf31 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml @@ -127,6 +127,60 @@ AND t.create_time BETWEEN #{reqVO.createTime[0]} AND #{reqVO.createTime[1]} + + + + + + AND EXISTS ( + SELECT 1 + FROM order_component oc + WHERE oc.order_id = t.id + AND oc.deleted = 0 + AND oc.pid = 0 + AND oc.extra_process_status = 0 + ) + + + + + AND EXISTS ( + SELECT 1 + FROM order_component oc + WHERE oc.order_id = t.id + AND oc.deleted = 0 + AND oc.pid = 0 + AND oc.process_status = 1 + AND oc.extra_process_status IS NULL + ) + + + + + AND EXISTS ( + SELECT 1 + FROM order_component oc + WHERE oc.order_id = t.id + AND oc.deleted = 0 + AND oc.pid = 0 + AND oc.process_status = 2 + ) + + + + + AND EXISTS ( + SELECT 1 + FROM order_component oc + WHERE oc.order_id = t.id + AND oc.deleted = 0 + AND oc.pid = 0 + AND oc.extra_process_status = 3 + ) + + + + AND t.deleted = #{reqVO.deleted} ) tmp diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml index cc7ed21d1..7ccde2b15 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderParts/OrderPartsMapper.xml @@ -454,7 +454,7 @@ oi.parts_id != 0 AND oi.package_id = 0 AND oi.source_id = 0 - AND oi.group_id != 0 + AND (oi.group_id != 0 oi.group_id is null) AND op.deleted = false AND op.type != '封边条' AND oi.order_id IN