From d8d55652ee7ed83d058949e13ee10c72e06eb22c Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Wed, 2 Jul 2025 17:05:34 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=B7=B7=E5=8D=95=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E6=8E=92=E5=8D=95=E6=8F=90=E7=A4=BA=E5=B0=8F=E6=9D=BF=E5=B7=B2?= =?UTF-8?q?=E6=8E=92=E5=8D=95=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D=EF=BC=8C?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=B7=B7=E5=8D=95order=5Fplan=E7=9C=9F?= =?UTF-8?q?=E5=AE=9E=E4=BD=BF=E7=94=A8=E5=A4=A7=E6=9D=BF=E5=95=86=E5=93=81?= =?UTF-8?q?=E8=B5=8B=E5=80=BC=E8=A7=84=E5=88=99=E4=BF=AE=E6=94=B9=EF=BC=9B?= =?UTF-8?q?2=E3=80=81=E4=BC=98=E5=8C=96=E7=9C=9F=E5=AE=9E=E5=A4=A7?= =?UTF-8?q?=E6=9D=BF=E6=9F=A5=E8=AF=A2=E4=BF=AE=E5=A4=8D=EF=BC=9B3?= =?UTF-8?q?=E3=80=81=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85-=E9=85=8D?= =?UTF-8?q?=E4=BB=B6/=E7=BB=84=E4=BB=B6=E8=AF=A6=E6=83=85=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E4=B8=8D=E6=98=BE=E7=A4=BA=E4=BF=AE=E5=A4=8D=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../executor/dal/mysql/plan/PlanMapper.java | 9 +++ .../optimizeplan/OptimizePlanServiceImpl.java | 17 +++++- .../service/plan/PlanServiceImpl.java | 40 +++++-------- .../service/plate/PlateServiceImpl.java | 59 ++++++++----------- .../resources/mapper/goods/GoodsMapper.xml | 6 +- .../mapper/orderItem/OrderItemMapper.xml | 4 +- .../main/resources/mapper/plan/PlanMapper.xml | 12 ++++ 7 files changed, 83 insertions(+), 64 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plan/PlanMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plan/PlanMapper.java index d9b6817b5..005399647 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plan/PlanMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plan/PlanMapper.java @@ -7,6 +7,7 @@ import com.cf.imes.framework.common.enums.PlanStatusEnum; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderStatisticsReqVO; +import com.cf.imes.module.executor.controller.admin.plan.vo.OrderGoodsResp; import com.cf.imes.module.executor.controller.admin.plan.vo.OrderPlanPlateStatisticsRespVO; import com.cf.imes.module.executor.controller.admin.plan.vo.OrderPlanStatisticsAreaRespVO; import com.cf.imes.module.executor.controller.admin.plan.vo.OrderPlanStatisticsCountRespVO; @@ -123,6 +124,14 @@ public interface PlanMapper extends BaseMapperX { List selectIsTopDownPlan(@Param("updateTime") LocalDateTime updateTime,@Param("organId") Long organId); + /** + * 查询排单下的材质、颜色、品牌、厚度分组 + * @param planId + * @param organId + * @return + */ + List selectPlanGoodsList(@Param("planId") Long planId, @Param("organId") Long organId); + /** * 统计涉及移除小板的排单下还存在的排单数量 * diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java index 9cd1e6f26..2377507e1 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java @@ -28,6 +28,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.cf.imes.framework.common.enums.OrderPlateCutStatusEnum; import com.cf.imes.framework.common.enums.OrderStatusEnum; import com.cf.imes.framework.common.enums.PlanStatusEnum; +import com.cf.imes.framework.common.enums.PlanTypeEnum; import com.cf.imes.framework.common.exception.ServiceException; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.Assert.AssertUtils; @@ -51,6 +52,7 @@ import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO; import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderPlateModel; import com.cf.imes.module.executor.dal.dataobject.plan.PlanDO; import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO; +import com.cf.imes.module.executor.dal.dataobject.plate.PlateGoodDO; import com.cf.imes.module.executor.dal.dataobject.remainplaten.RemainPlateDO; import com.cf.imes.module.executor.dal.mysql.goods.GoodsMapper; import com.cf.imes.module.executor.dal.mysql.order.OrderMapper; @@ -58,6 +60,7 @@ import com.cf.imes.module.executor.dal.mysql.orderGroup.OrderGroupMapper; import com.cf.imes.module.executor.dal.mysql.orderParts.OrderPartsMapper; import com.cf.imes.module.executor.dal.mysql.plan.PlanMapper; import com.cf.imes.module.executor.dal.mysql.planItem.PlanItemMapper; +import com.cf.imes.module.executor.dal.mysql.plate.PlateGoodMapper; import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper; import com.cf.imes.module.executor.dal.mysql.remainplaten.RemainPlateMapper; import com.cf.imes.module.executor.enums.ErrorCodeConstants; @@ -145,6 +148,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { @Resource private PlanItemMapper planItemMapper; + @Resource + private PlateGoodMapper plateGoodMapper; + private static final String FIELD_ORDER_ID = "orderId"; private static final String FIELD_PLATE_ID = "plateId"; private static final String FIELD_PLAN_ID = "planId"; @@ -398,6 +404,15 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { List optimizeRemainPlates = BeanUtils.toBean(remainPlateDOS, OptimizeRemainPlate.class); + // 查询混单实际请求大板信息 + PlanActualGoodsModelDO planActualGoodsModelDO = null; + if (planDO.getType().equals(PlanTypeEnum.MIXEDORDERPLAN.getType())) { + List plateGoodDOS = plateGoodMapper.selectGoodsByGoodsId(List.of(planDO.getGoodsId()), getUserOrganId()); + if (CollUtil.isNotEmpty(plateGoodDOS)) { + planActualGoodsModelDO = BeanUtils.toBean(plateGoodDOS.get(0), PlanActualGoodsModelDO.class); + planActualGoodsModelDO.setPlanId(planId); + } + } // 查询生产单对应的配件信息 List printOrderPartsRespVOS = orderPartsMapper.selectPartList(orderIds, getUserOrganId()); @@ -428,7 +443,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { .goodsList(goodsDOS) .plateList(plateDetailRespVOS) .plateModels(orderModelDOS) - .planActualGoodsModelDO(BeanUtil.copyProperties(goodsDOS.get(0), PlanActualGoodsModelDO.class)) + .planActualGoodsModelDO(planActualGoodsModelDO) .optimizeRemainPlates(optimizeRemainPlates) .orderPartsRespVOS(printOrderPartsRespVOS) .orderPartsRemarks(orderPartsRemarks) 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 9689e1eec..ff1fceae0 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 @@ -56,7 +56,6 @@ import com.cf.imes.module.executor.util.elasticsearch.EsUtils; import com.cf.imes.module.system.api.systemconfig.SystemConfigApi; import com.cf.imes.module.system.api.systemconfig.dto.SystemConfigRespDTO; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; import org.springframework.aop.framework.AopContext; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -69,7 +68,6 @@ import java.time.LocalDateTime; import java.util.*; import java.util.concurrent.atomic.AtomicLong; import java.util.stream.Collectors; -import java.util.stream.Stream; import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.DATA_DATA_ERROR; import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.ES_DATA_ERROR; @@ -145,6 +143,8 @@ public class PlanServiceImpl implements PlanService { private static final String FIELD_ORDER_DATE = "o.order_date"; private static final String FIELD_OP_ID = "op.id"; private static final String FIELD_OP_DELETED = "op.deleted"; + private static final String ES_FIELD_NEWVALUE = "new_value"; + private static final String ORDER_PLAN_PROCESS_SCHEME_STATUS_UPDATE_ERROR_MSG = "排单加工方案状态更新异常:"; @Override @Transactional(rollbackFor = Exception.class) @@ -340,19 +340,16 @@ public class PlanServiceImpl implements PlanService { .set(PlateDO::getPlanId, 0L) .set(PlateDO::getIsOptimized, false)); - // 排单对应的商品id - String goodsId = planDO.getGoodsId(); String orderNos = Optional.ofNullable(planDO.getOrderNos()).orElse("[]"); // 排单下的订单号列表 Set planOrderIds = JSON.parseArray(orderNos).toJavaList(Long.class).stream().collect(Collectors.toSet()); orderIds.addAll(planOrderIds); - if (CollUtil.isNotEmpty(planOrderIds) && StringUtils.isNotEmpty(goodsId)) { + if (CollUtil.isNotEmpty(planOrderIds)) { // 查询排单下所有订单材质order_goods List goodsDO = goodsMapper.selectList(new LambdaQueryWrapper() .in(GoodsDO::getOrderId, planOrderIds) - .eq(GoodsDO::getGoodsId, goodsId) .eq(GoodsDO::getOrganId, getUserOrganId()) .eq(GoodsDO::getDeleted, false)); @@ -1334,7 +1331,7 @@ public class PlanServiceImpl implements PlanService { )) .script(s -> s.inline(i -> i .source("ctx._source.isNewInsertPlate = params.new_value") - .params("new_value", JsonData.of(Boolean.TRUE)) + .params(ES_FIELD_NEWVALUE, JsonData.of(Boolean.TRUE)) )); UpdateByQueryRequest request = builder.build(); @@ -1461,7 +1458,7 @@ public class PlanServiceImpl implements PlanService { for (SavePlanPlateList.GoodsItemList item : items) { // 将 material 和 thickness 组合成键 - String key = item.getMaterial() + "|" + item.getThickness()+ "|" + item.getGoodsId(); + String key = item.getMaterial() + "|" + item.getThickness(); // 如果键不存在,初始化一个新的列表 groupedItems.putIfAbsent(key, new ArrayList<>()); @@ -1478,7 +1475,7 @@ public class PlanServiceImpl implements PlanService { for (SavePlanPlateList.GoodsItemList item : items) { // 将 material 和 thickness 组合成键 - String key = item.getThickness().toString()+ "|" + item.getGoodsId(); + String key = item.getThickness().toString(); // 如果键不存在,初始化一个新的列表 groupedItems.putIfAbsent(key, new ArrayList<>()); @@ -1541,7 +1538,7 @@ public class PlanServiceImpl implements PlanService { for (SavePlanPlateList.GoodsItemList item : items) { // 将 material 和 thickness 组合成键 - String key = item.getMaterial() + "|" + item.getThickness() + "|" + item.getGoodsId(); + String key = item.getMaterial() + "|" + item.getThickness(); // 如果键不存在,初始化一个新的列表 groupedItems.putIfAbsent(key, new ArrayList<>()); @@ -1562,7 +1559,7 @@ public class PlanServiceImpl implements PlanService { for (SavePlanPlateList.GoodsItemList item : items) { // 将 material 和 thickness 组合成键 - String key = item.getThickness().toString()+ "|" + item.getGoodsId(); + String key = item.getThickness().toString(); // 如果键不存在,初始化一个新的列表 groupedItems.putIfAbsent(key, new ArrayList<>()); @@ -1585,7 +1582,7 @@ public class PlanServiceImpl implements PlanService { for (SavePlanPlateList.GoodsItemList item : items) { // 将 material 和 thickness 组合成键 - String key = item.getMaterial() + "|" + item.getThickness() + "|" + item.getColor()+ "|" + item.getBrand() + "|" + item.getGoodsId(); + String key = item.getMaterial() + "|" + item.getThickness() + "|" + item.getColor()+ "|" + item.getBrand(); // 如果键不存在,初始化一个新的列表 groupedItems.putIfAbsent(key, new ArrayList<>()); @@ -1672,7 +1669,7 @@ public class PlanServiceImpl implements PlanService { )) .script(s -> s.inline(i -> i .source("ctx._source.isOptimized = params.new_value") - .params("new_value", JsonData.of(false)) + .params(ES_FIELD_NEWVALUE, JsonData.of(false)) )); UpdateByQueryRequest request = builder.build(); @@ -1681,7 +1678,7 @@ public class PlanServiceImpl implements PlanService { elasticsearchClient.updateByQuery(request); }catch (Exception e){ - log.error("排单加工方案状态更新异常:" + e.getMessage(), e); + log.error(ORDER_PLAN_PROCESS_SCHEME_STATUS_UPDATE_ERROR_MSG + e.getMessage(), e); throw new ServiceException(DATA_DATA_ERROR); } @@ -1707,7 +1704,7 @@ public class PlanServiceImpl implements PlanService { )) .script(s -> s.inline(i -> i .source("ctx._source.planId = params.new_value") - .params("new_value", JsonData.of(planId)) + .params(ES_FIELD_NEWVALUE, JsonData.of(planId)) )); UpdateByQueryRequest request = builder.build(); @@ -1716,7 +1713,7 @@ public class PlanServiceImpl implements PlanService { elasticsearchClient.updateByQuery(request); }catch (Exception e){ - log.error("排单加工方案状态更新异常:"+e.getMessage()); + log.error(ORDER_PLAN_PROCESS_SCHEME_STATUS_UPDATE_ERROR_MSG + e.getMessage(), e); throw new ServiceException(DATA_DATA_ERROR); } @@ -1754,7 +1751,7 @@ public class PlanServiceImpl implements PlanService { )) .script(s -> s.inline(i -> i .source("ctx._source.planId = params.new_value") - .params("new_value", JsonData.of(0)) + .params(ES_FIELD_NEWVALUE, JsonData.of(0)) )); UpdateByQueryRequest request = builder.build(); @@ -1763,7 +1760,7 @@ public class PlanServiceImpl implements PlanService { elasticsearchClient.updateByQuery(request); }catch (Exception e){ - log.error("排单加工方案状态更新异常:"+e.getMessage()); + log.error(ORDER_PLAN_PROCESS_SCHEME_STATUS_UPDATE_ERROR_MSG + e.getMessage(), e); throw new ServiceException(DATA_DATA_ERROR); } @@ -1919,10 +1916,6 @@ public class PlanServiceImpl implements PlanService { Long planId = (Long) identifierGenerator.nextId(null); - // String key = item.getMaterial() + "|" + item.getThickness() + "|" + item.getColor()+ "|" + item.getBrand() + "|" + item.getGoodsId(); - // 截取key中的goodsId - String goodsId = key.substring(key.lastIndexOf("|") + 1); - // 创建排单 planDOS.add(PlanDO.builder() .id(planId) @@ -1934,7 +1927,6 @@ public class PlanServiceImpl implements PlanService { .status(PlanStatusEnum.NOCUTTING.getStatus()) .operator(loginUser.getNickname()) .planTime(LocalDateTime.now()) - .goodsId(goodsId) .build()); // 更新板件排单id & 统计更新order_goods的数量和面积 @@ -1961,7 +1953,7 @@ public class PlanServiceImpl implements PlanService { for (List plateIdList : batchPlanPlateIdList) { int updatePlateNum = plateMapper.update(new LambdaUpdateWrapper() .in(PlateDO::getId, plateIdList) - .eq(PlateDO::getPlanId, 0L) + .eq(PlateDO::getPlanId, 0) .set(PlateDO::getPlanId, planId)); if (updatePlateNum != plateIdList.size()) { throw new ServiceException(CREAT_PLAN_PLATE_DATA_ERROR); 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 cd5f53249..5def6dce0 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 @@ -23,6 +23,7 @@ import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX; import com.cf.imes.framework.mybatis.core.query.QueryWrapperX; import com.cf.imes.module.executor.controller.admin.goods.vo.GoodsSaveReqVO; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPlanPlateNumAndAreaRespVO; +import com.cf.imes.module.executor.controller.admin.plan.vo.OrderGoodsResp; import com.cf.imes.module.executor.controller.admin.plan.vo.PlateResList; import com.cf.imes.module.executor.controller.admin.plate.vo.*; import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO; @@ -347,22 +348,17 @@ public class PlateServiceImpl implements PlateService { AssertUtils.notEmpty(planDO, PLAN_NOT_EXISTS); - List planGoods = plateGoodMapper.selectList(new LambdaQueryWrapper() - .eq(PlateGoodDO::getGoodsId, planDO.getGoodsId()) - .eq(PlateGoodDO::getOrganId, organId) - .eq(PlateGoodDO::getDeleted, false) - .orderByAsc(PlateGoodDO::getCreateTime)); + List goodsRespVOS = planMapper.selectPlanGoodsList(planId, organId); - AssertUtils.notEmpty(planGoods, PLAN_NOT_EXISTS); + AssertUtils.notEmpty(goodsRespVOS,PLAN_NOT_EXISTS); - PlateGoodDO planGood = planGoods.get(0); - String material = planGood.getMaterial(); + List material = goodsRespVOS.stream().map(OrderGoodsResp::getMaterial).distinct().toList(); - String color = planGood.getColor(); + List color = goodsRespVOS.stream().map(OrderGoodsResp::getColor).distinct().toList(); - String brand = planGood.getBrand(); + List brand = goodsRespVOS.stream().map(OrderGoodsResp::getBrand).distinct().toList(); - Double thickness = planGood.getThickness(); + List thickness = goodsRespVOS.stream().map(OrderGoodsResp::getThickness).distinct().toList(); // 混单 @@ -773,13 +769,11 @@ public class PlateServiceImpl implements PlateService { } - - private void mixedInsertQuery(NoPlanPlatePageReqVO pageReqVO, PlanDO planDO, - String material, - Double thickness, - QueryWrapperX queryWrapperX){ + List material, + List thickness, + QueryWrapperX queryWrapperX) { @@ -791,10 +785,10 @@ public class PlateServiceImpl implements PlateService { if(planDO.getFilter().equals(MixConfigTypeEnum.SAMEMATERIALANDTHICKNESS.getType())){ queryWrapperX - .eqIfPresent(FIELD_OG_MATERIAL,material) + .inIfPresent(FIELD_OG_MATERIAL,material) .likeIfPresent(FIELD_OG_BRAND,pageReqVO.getBrand()) .likeIfPresent(FIELD_OG_COLOR,pageReqVO.getColor()) - .eqIfPresent(FIELD_OP_THICKNESS,thickness); + .inIfPresent(FIELD_OP_THICKNESS,thickness); } // 相同厚度 @@ -804,7 +798,7 @@ public class PlateServiceImpl implements PlateService { .likeIfPresent(FIELD_OG_MATERIAL,pageReqVO.getMaterial()) .likeIfPresent(FIELD_OG_BRAND,pageReqVO.getBrand()) .likeIfPresent(FIELD_OG_COLOR,pageReqVO.getColor()) - .eqIfPresent(FIELD_OP_THICKNESS,thickness); + .inIfPresent(FIELD_OP_THICKNESS,thickness); } @@ -812,16 +806,13 @@ public class PlateServiceImpl implements PlateService { } - - - private void noMixedInsertQuery(NoPlanPlatePageReqVO pageReqVO, PlanDO planDO, - String material, - String brand, - String color, - Double thickness, - QueryWrapperX queryWrapperX){ + List material, + List brand, + List color, + List thickness, + QueryWrapperX queryWrapperX) { // 是否开启混单 if(Boolean.TRUE.equals(pageReqVO.getIsMixed())){ @@ -833,10 +824,10 @@ public class PlateServiceImpl implements PlateService { // 相同材质和厚度 混单 if(pageReqVO.getMixedType().equals(MixConfigTypeEnum.SAMEMATERIALANDTHICKNESS.getType())){ queryWrapperX - .eqIfPresent(FIELD_OG_MATERIAL, material) + .inIfPresent(FIELD_OG_MATERIAL, material) .likeIfPresent(FIELD_OG_BRAND, pageReqVO.getBrand()) .likeIfPresent(FIELD_OG_COLOR, pageReqVO.getColor()) - .eqIfPresent(FIELD_OP_THICKNESS, thickness); + .inIfPresent(FIELD_OP_THICKNESS, thickness); } // 相同厚度 混单 @@ -845,15 +836,15 @@ public class PlateServiceImpl implements PlateService { .likeIfPresent(FIELD_OG_MATERIAL, pageReqVO.getMaterial()) .likeIfPresent(FIELD_OG_BRAND, pageReqVO.getBrand()) .likeIfPresent(FIELD_OG_COLOR, pageReqVO.getColor()) - .eqIfPresent(FIELD_OP_THICKNESS, thickness); + .inIfPresent(FIELD_OP_THICKNESS, thickness); } }else { queryWrapperX - .eqIfPresent(FIELD_OG_MATERIAL, material) - .eqIfPresent(FIELD_OG_BRAND, brand) - .eqIfPresent(FIELD_OG_COLOR, color) - .eqIfPresent(FIELD_OP_THICKNESS, thickness); + .inIfPresent(FIELD_OG_MATERIAL, material) + .inIfPresent(FIELD_OG_BRAND, brand) + .inIfPresent(FIELD_OG_COLOR, color) + .inIfPresent(FIELD_OP_THICKNESS, thickness); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/goods/GoodsMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/goods/GoodsMapper.xml index 6a720a8af..fbc50de9e 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/goods/GoodsMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/goods/GoodsMapper.xml @@ -37,11 +37,11 @@ og.remark, orp.id as remainId - from order_plan op - join order_goods og on op.organ_id = og.organ_id and op.goods_id = og.goods_id + from order_plate op + join order_goods og on op.organ_id = og.organ_id and op.goods_id = og.id left join order_remain_plate orp on og.organ_id = orp.organ_id and og.id = orp.goods_id - where op.organ_id = #{organId} and op.id = #{planId} + where op.organ_id = #{organId} and op.plan_id = #{planId} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml index 71b31558c..c3abbe65e 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml @@ -41,7 +41,7 @@ FROM order_item i RIGHT JOIN `order_parts` p ON i.organ_id = p.organ_id AND i.order_id = p.order_id AND i.parts_id = p.id RIGHT JOIN `order_body` ob ON i.organ_id = ob.organ_id AND i.order_id = ob.order_id AND i.body_id = ob.id - WHERE i.organ_id = #{organId} AND i.order_id = #{orderId} AND ob.deleted = #{deleted} AND i.group_id = 0 + WHERE i.organ_id = #{organId} AND i.order_id = #{orderId} AND ob.deleted = #{deleted} AND (i.group_id is null or i.group_id = 0) AND i.room_id IN @@ -98,7 +98,7 @@ FROM `order_item` i RIGHT JOIN `order_parts` p ON i.organ_id = p.organ_id AND i.order_id = p.order_id AND i.parts_id = p.id RIGHT JOIN `order_body` ob ON i.organ_id = ob.organ_id AND i.order_id = ob.order_id AND i.body_id = ob.id - WHERE i.organ_id = #{organId} AND i.order_id = #{orderId} AND ob.deleted = #{deleted} AND i.group_id is null AND p.category in + WHERE i.organ_id = #{organId} AND i.order_id = #{orderId} AND ob.deleted = #{deleted} AND (i.group_id is null or i.group_id = 0) AND p.category in #{type} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml index 97789979e..b46f7a93e 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml @@ -260,6 +260,18 @@ + +