diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/planitem/PlanItemMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/planitem/PlanItemMapper.java index 055c61835..9b88e9067 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/planitem/PlanItemMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/planitem/PlanItemMapper.java @@ -1,17 +1,14 @@ package com.cf.imes.module.executor.dal.mysql.planitem; -import java.util.*; - -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; -import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO; import com.cf.imes.module.executor.controller.admin.plan.vo.PlanOrderRespVO; import com.cf.imes.module.executor.controller.admin.plan.vo.PlateInfoVO; import com.cf.imes.module.executor.dal.dataobject.planitem.PlanItemDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * 生产单开料排单明细 Mapper * diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java index aec8c8a10..09570ec19 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java @@ -481,7 +481,7 @@ public class PlanServiceImpl implements PlanService { .map(PlateInfoVO::getArea) .reduce(BigDecimal.ZERO,BigDecimal::add)); - plateInfoVO.setOptimizeGoodsCount(plateInfoVOList.stream().filter(s->s.getGoodsId().equals(plateInfoVO.getGoodsId())).mapToLong(PlateInfoVO::getOptimizeGoodsCount).sum()); +// plateInfoVO.setOptimizeGoodsCount(plateInfoVOList.stream().filter(s->s.getGoodsId().equals(plateInfoVO.getGoodsId())).mapToLong(PlateInfoVO::getOptimizeGoodsCount).sum()); } @@ -563,7 +563,7 @@ public class PlanServiceImpl implements PlanService { // .eq("a.status",OrderStatusEnum.SORTED.getStatus()) .eq("a.deleted",false) .in("a.status",statusList) - .isNotNull("opi.item_id") + .isNull("opi.item_id") // todo 修改排单数据筛选,目前只解决了非混单的情况,混单情况待解决 .inIfPresent("op.goods_id",goodsDOS.isEmpty() ? null :goodsDOS.stream().map(GoodsDO::getId).toList()) @@ -575,7 +575,8 @@ public class PlanServiceImpl implements PlanService { .eqIfPresent("a.address", pageReqVO.getConsigneeAddress()) .betweenIfPresent("a.create_time", pageReqVO.getCreateTime()) .groupBy("a.id", " a.order_date", "a.delivery_date", "a.customer", "a.address", "a.custom_order_no","a.create_time","a.update_time","a.status") - .orderByDesc("a.update_time"); + .having("count(op.id) != 0") + .orderByDesc("a.create_time"); IPage orderRespVOCopies = orderMapper.selectOrderPage(page, queryWrapperX); @@ -597,7 +598,7 @@ public class PlanServiceImpl implements PlanService { queryWrapperX .eq("c.organ_id",getUserOrganId()) .inIfPresent("c.order_id", pageReqVO.getOrderIds()) - .isNotNull("opi.item_id") + .isNull("opi.item_id") .inIfPresent("oi.room_id",pageReqVO.getRoomId()) .inIfPresent("oi.body_id",pageReqVO.getBodyId()) .eqIfPresent("a.is_special_shaped", pageReqVO.getRectangle() != null ? false: null) @@ -723,16 +724,10 @@ public class PlanServiceImpl implements PlanService { QueryWrapperX queryWrapperX = new QueryWrapperX<>(); queryWrapperX .eq("oi.organ_id",getUserOrganId()) -// .in("a.status",statusList) .eq("og.deleted",false) -// .likeIfPresent("oi.order_id", pageReqVO.getOrderId() != null ? pageReqVO.getOrderId().toString() : null) .inIfPresent("oi.order_id", orderIds) - .isNotNull("opi.item_id") + .isNull("opi.item_id") .isNotNull("og.id") -// .eqIfPresent("a.customer", pageReqVO.getConsignee()) -// .eqIfPresent("a.custom_order_no", pageReqVO.getDefaultId()) -// .eqIfPresent("a.address", pageReqVO.getConsigneeAddress()) -// .betweenIfPresent("a.create_time", pageReqVO.getCreateTime()) // todo 修改排单数据筛选,目前只解决了非混单的情况,混单情况待解决 .eqIfPresent("og.goods_id",pageReqVO.getGoodsId()) 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 1a794803a..8b77ae91f 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 @@ -4,7 +4,7 @@ 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 f0187bd98..f804244f7 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 @@ -779,7 +779,7 @@ select og.goods_id as goodsId, - count(distinct og.id) as optimizeGoodsCount, +-- count(distinct og.id) as optimizeGoodsCount, sum(op.area) as area from order_plate op diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java index 3d1da8583..29ad347ed 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java @@ -1,14 +1,15 @@ package com.cf.imes.module.manage.dal.mysql.pack; +import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; import com.cf.imes.framework.common.enums.OrderPackageStatusEnum; import com.cf.imes.framework.common.enums.OrderPackageTypeEnum; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO; -import com.cf.imes.module.manage.controller.admin.pack.vo.PackageDetailsReqVO; import com.cf.imes.module.manage.controller.admin.pack.vo.PlateAndPartIdList; import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO; @@ -30,8 +31,9 @@ public interface OrderPackageMapper extends BaseMapperX { // } - IPage selectByOrderNo(@Param("page") IPage page, @Param("reqVO") PackageDetailsReqVO reqVO, @Param("organId") Long organId); +// IPage selectByOrderNo(@Param("page") IPage page, @Param("reqVO") PackageDetailsReqVO reqVO,@Param("packId") List packId, @Param("organId") Long organId); + IPage selectByOrderNo(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper wrapper); default OrderPackageDO selectByPackNo(String packNo,Long organId) { return selectOne(new LambdaQueryWrapperX() diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java index 19047ae99..e0a95fc90 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java @@ -38,11 +38,11 @@ public interface OrderPlateMapper extends BaseMapperX { } - default OrderPlateDO selectplateByPlateNo(Long plateNo, Long orderId, Long organId) { - return selectOne(new LambdaQueryWrapperX() + default List selectplateByPlateNo(Long plateNo, Long orderId, Long organId) { + return selectList(new LambdaQueryWrapperX() .eq(OrderPlateDO::getOrganId, organId) .eq(OrderPlateDO::getOrderId, orderId) - .eqIfPresent(OrderPlateDO::getPlateNo, plateNo) + .likeIfPresent(OrderPlateDO::getPlateNo, plateNo.toString()) .select(OrderPlateDO::getId)); } } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java index 79becf322..8ad79532b 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java @@ -106,4 +106,12 @@ public interface OrderItemMapper extends BaseMapperX { .eq(OrderItemDO::getPackageId,0) .select(OrderItemDO::getPartsId)); } + + + default List selectPackByPlateId(List plateId, Long organId) { + return selectList(new LambdaQueryWrapperX() + .eq(OrderItemDO::getOrganId, organId) + .inIfPresent(OrderItemDO::getPlateId, plateId) + .select(OrderItemDO::getPackageId)); + } } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java index 652b14619..2b651c340 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java @@ -10,6 +10,7 @@ import com.cf.imes.framework.common.enums.UserSettingTypeEnum; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.json.JsonUtils; import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.framework.mybatis.core.query.QueryWrapperX; import com.cf.imes.module.manage.controller.admin.pack.prePack.PackPlateList; import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackOptimizeInfo; import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackReqVO; @@ -279,14 +280,36 @@ public class PackServiceImpl implements PackService { PageDTO page = new PageDTO<>(reqVO.getPageNo(), reqVO.getPageSize()); + List packId = null; -// if(reqVO.getPlateNo()!= null){ -// -// orderPlateMapper.selectplateByPlateNo(reqVO.getPlateNo(),reqVO.getOrderId(),getUserOrganId()); -// -// } + if(reqVO.getPlateNo()!= null){ - IPage orderPackageDOIPage = orderPackageMapper.selectByOrderNo(page,reqVO, getUserOrganId()); + + List plateId = orderPlateMapper.selectplateByPlateNo(reqVO.getPlateNo(), reqVO.getOrderId(), getUserOrganId()) + .stream().map(OrderPlateDO::getId).toList(); + + if(plateId.isEmpty()){ + return null; + } + + packId = orderItemMapper.selectPackByPlateId(plateId, getUserOrganId()).stream().map(OrderItemDO::getPackageId).distinct().toList(); + + } + + + QueryWrapperX queryWrapperX = new QueryWrapperX<>(); + queryWrapperX + .eq("o.organ_id",getUserOrganId()) + .eq("o.deleted",false) + .eq("op.deleted",false) + .eq("o.id",reqVO.getOrderId()) + .likeIfPresent("op.package_no",reqVO.getPackageNo()) + .inIfPresent("op.id",packId) + .eqIfPresent("op.status", reqVO.getPackStatus()) + .orderByDesc("op.create_time"); + + + IPage orderPackageDOIPage = orderPackageMapper.selectByOrderNo(page,queryWrapperX); if (CollectionUtil.isEmpty(orderPackageDOIPage.getRecords())) { diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml index 19595dcfa..4900ec70a 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml @@ -27,6 +27,8 @@ and status !=0 + and deleted = false + and order_id in #{id} @@ -158,55 +160,60 @@ + +