From 0bc315d1f4ba014b362f85a394415e630e54c490 Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Thu, 20 Mar 2025 14:31:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9C=AA=E6=8E=92=E5=8D=95?= =?UTF-8?q?=E5=B0=8F=E6=9D=BFSQL=E6=9B=B4=E6=94=B9=EF=BC=8C=E6=8E=92?= =?UTF-8?q?=E5=8D=95=E6=8E=92=E5=BA=8F=E5=8F=82=E6=95=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/plan/PlanController.java | 2 +- .../controller/admin/plan/vo/SortVO.java | 9 +++++++-- .../executor/dal/mysql/order/OrderMapper.java | 4 ++-- .../executor/dal/mysql/plan/PlanMapper.java | 2 +- .../service/plan/PlanServiceImpl.java | 19 ++++++++++++++----- .../service/plate/PlateServiceImpl.java | 9 +++++---- .../resources/mapper/order/OrderMapper.xml | 12 ++++++------ .../main/resources/mapper/plan/PlanMapper.xml | 2 +- 8 files changed, 37 insertions(+), 22 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java index ae058e45a..d11af63f6 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/PlanController.java @@ -111,7 +111,7 @@ public class PlanController { @PutMapping("/setSort") @Operation(summary = "设置排单优先级") @PreAuthorize("@ss.hasPermission('placeorder:priority')") - public CommonResult setSort(@Valid @NotEmpty(message = "参数不能空") @Size(max = 2,message = "做多两条数据") @RequestBody List sortVos) { + public CommonResult setSort(@Valid @NotEmpty(message = "参数不能空") @Size(max = 2,message = "最多两条数据") @RequestBody List sortVos) { planService.setSort(sortVos); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SortVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SortVO.java index c2905a266..1dd1122d7 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SortVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/SortVO.java @@ -18,7 +18,8 @@ public class SortVO { @NotNull(message = "排单id 不能空") private Long planId; - @Schema(description = "排序") + + @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "排序不能空") private Long sort; @@ -27,8 +28,12 @@ public class SortVO { private Boolean isTopUp; - @Schema(description = "是否第一条数据",example = "false") + @Schema(description = "是否为第一条数据",example = "false") private Boolean isOnePlan; + @Schema(description = "是否为最后一条数据",example = "false") + private Boolean isLastPln; + + } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java index 2196e7b81..0e233925d 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java @@ -275,9 +275,9 @@ public interface OrderMapper extends BaseMapperX { IPage selectFilterGoodsPlatePage(@Param("page") IPage page,@Param(Constants.WRAPPER) QueryWrapperX queryWrapperX); - List selectNoPlanOrderPlateCount(@Param(Constants.WRAPPER) Wrapper wrapper); + List selectNoPlanOrderPlateCount(@Param(Constants.WRAPPER) Wrapper wrapper,@Param("organId") Long organId); - List selectNoPlanOrderPlateList(@Param(Constants.WRAPPER) Wrapper wrapper,@Param("pageNo") Integer pageNo,@Param("pageSize") Integer pageSize); + List selectNoPlanOrderPlateList(@Param(Constants.WRAPPER) Wrapper wrapper,@Param("pageNo") Integer pageNo,@Param("pageSize") Integer pageSize,@Param("organId") Long organId); default PageResult selectProductionPage(OrderPlatePageReqVO pageReqVO) { 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 05eac4e85..8304e350b 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 @@ -148,7 +148,7 @@ public interface PlanMapper extends BaseMapperX { PlanDO selectSortOnePlan(@Param("sort") Long sort, @Param("organId") Long organId); - PlanDO selectLostPlan(@Param("sort") Long sort, @Param("organId") Long organId); + PlanDO selectLastPlan(@Param("sort") Long sort, @Param("organId") Long organId); default List selectIsTopPlanList(Long organId) { 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 1bed23576..36475f682 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 @@ -821,6 +821,8 @@ public class PlanServiceImpl implements PlanService { List planIds = sortVos.stream().map(SortVO::getPlanId).toList(); + List sorts = new ArrayList<>(); + for (Long planId : planIds) { PlanDO planDO = planMapper.selectById(planId); @@ -829,6 +831,7 @@ public class PlanServiceImpl implements PlanService { throw exception(PLAN_NOT_DATA_EXISTS,planId); } + sorts.add(planDO.getSort()); } @@ -836,15 +839,20 @@ public class PlanServiceImpl implements PlanService { SortVO sortVO = sortVos.get(0); - if(sortVO.getIsOnePlan() != null){ + if(sortVO.getIsOnePlan() != null || sortVO.getIsLastPln() != null){ PlanDO planDO = planMapper.selectById(sortVO.getPlanId()); Long sort = planDO.getSort(); - PlanDO plan = Boolean.TRUE.equals(sortVO.getIsOnePlan()) ? - planMapper.selectSortOnePlan(sort, getUserOrganId()) : - planMapper.selectLostPlan(sort, getUserOrganId()); + PlanDO plan = new PlanDO(); + + if(Boolean.TRUE.equals(sortVO.getIsOnePlan())){ + plan = planMapper.selectSortOnePlan(sort, getUserOrganId()); + + }else if(Boolean.TRUE.equals(sortVO.getIsLastPln())){ + plan = planMapper.selectLastPlan(sort, getUserOrganId()); + } AssertUtils.notEmpty(plan,PLAN_SORT_DATA_ERROR); @@ -875,9 +883,10 @@ public class PlanServiceImpl implements PlanService { ArrayList planDOS = new ArrayList<>(); sortVos.forEach(e -> { + planDOS.add(PlanDO.builder() .id(e.getPlanId()) - .sort(e.getSort()) + .sort(sorts.stream().filter(f -> !f.equals(e.getSort())).findFirst().orElse(e.getSort())) .build()); }); 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 8b11b6898..16ecd314a 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 @@ -291,10 +291,11 @@ public class PlateServiceImpl implements PlateService { statusList.add(OrderStatusEnum.IN_PRODUCTION.getStatus()); statusList.add(OrderStatusEnum.SORTED.getStatus()); + Long organId = getUserOrganId(); QueryWrapperX queryWrapperX = new QueryWrapperX<>(); queryWrapperX - .eq("o.organ_id",getUserOrganId()) + .eq("o.organ_id",organId) .eq("o.deleted",false) .in("o.status",statusList) .isNull("opi.plan_id") @@ -305,7 +306,7 @@ public class PlateServiceImpl implements PlateService { Long planId = pageReqVO.getPlanId(); - List goodsRespVOS = planMapper.selectPlanGoodsList(planId, getUserOrganId()); + List goodsRespVOS = planMapper.selectPlanGoodsList(planId, organId); AssertUtils.notEmpty(goodsRespVOS,PLAN_NOT_EXISTS); @@ -387,7 +388,7 @@ public class PlateServiceImpl implements PlateService { Integer pageNo = (pageReqVO.getPageNo() - 1) * pageReqVO.getPageSize(); - List plateResLists = orderMapper.selectNoPlanOrderPlateList(queryWrapperX,pageNo,pageReqVO.getPageSize()); + List plateResLists = orderMapper.selectNoPlanOrderPlateList(queryWrapperX,pageNo,pageReqVO.getPageSize(),organId); if(CollUtil.isEmpty(plateResLists)){ @@ -398,7 +399,7 @@ public class PlateServiceImpl implements PlateService { queryWrapperX .groupBy("o.id"); - List plateCount = orderMapper.selectNoPlanOrderPlateCount(queryWrapperX); + List plateCount = orderMapper.selectNoPlanOrderPlateCount(queryWrapperX,organId); long sum = plateCount.stream().mapToLong(Long::longValue).sum(); 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 ecddd99be..1e362e5c5 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 @@ -415,9 +415,9 @@ count(op.id) from orders o - left join order_plate op on o.organ_id = op.organ_id and o.id = op.order_id - left join order_goods og on op.organ_id = og.organ_id and op.order_id = og.order_id and op.goods_id = og.id - left join order_plan_item opi on op.organ_id = opi.organ_id and op.order_id = opi.order_id and op.id = opi.plate_id + left join order_plate op on o.id = op.order_id and op.organ_id = #{organId} + left join order_goods og on op.order_id = og.order_id and op.goods_id = og.id and og.organ_id = #{organId} + left join order_plan_item opi on op.order_id = opi.order_id and op.id = opi.plate_id and opi.organ_id = #{organId} ${ew.customSqlSegment} @@ -456,9 +456,9 @@ op.remark as remark from orders o - left join order_plate op on o.organ_id = op.organ_id and o.id = op.order_id - left join order_goods og on op.organ_id = og.organ_id and op.order_id = og.order_id and op.goods_id = og.id - left join order_plan_item opi on op.organ_id = opi.organ_id and op.order_id = opi.order_id and op.id = opi.plate_id + left join order_plate op on o.id = op.order_id and op.organ_id = #{organId} + left join order_goods og on op.order_id = og.order_id and op.goods_id = og.id and og.organ_id = #{organId} + left join order_plan_item opi on op.order_id = opi.order_id and op.id = opi.plate_id and opi.organ_id = #{organId} ${ew.customSqlSegment} 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 294d516ab..b2458def9 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 @@ -191,7 +191,7 @@ - SELECT *