From 162aa74e99f45a3a2293ae4ce7a3690d6338da2c Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Thu, 27 Mar 2025 16:26:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=B2=E6=8E=92=E5=8D=95=EF=BC=8C=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E6=8E=92=E5=8D=95=E6=9D=83=E9=99=90=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=EF=BC=8C=E7=A6=85=E9=81=93=201437=20=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plate/RemainPlateManageController.java | 2 +- .../admin/order/OrderController.java | 2 +- .../admin/plan/OptimizePlanController.java | 18 ++++++------ .../controller/admin/plan/PlanController.java | 8 +++--- .../admin/plate/PlateController.java | 2 +- .../optimizeplan/OptimizePlanServiceImpl.java | 28 +++++++++++++++---- .../service/plan/PlanServiceImpl.java | 7 +++-- .../admin/machine/vo/CuttingSaveReqVO.java | 11 -------- .../convert/machine/MachineConvert.java | 1 - 9 files changed, 44 insertions(+), 35 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/RemainPlateManageController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/RemainPlateManageController.java index 406f767bf..dc09df222 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/RemainPlateManageController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/manage/plate/RemainPlateManageController.java @@ -54,7 +54,7 @@ public class RemainPlateManageController { @PostMapping("/createMultiple") @Operation(summary = "创建生产单余料板表(多个)") - @PreAuthorize("@ss.hasAnyPermissions('manage:remain-plate:create','placeorder:optimize')") + @PreAuthorize("@ss.hasAnyPermissions('manage:remain-plate:create','producePlan:optimize:remain-plate-store','placeorder:optimize:remain-plate-store')") public CommonResult createRemainPlateMultiple(@Valid @RequestBody Set createReqVOS) { return success(remainPlateService.createRemainPlateMultiple(createReqVOS)); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java index 9e013ce22..3c6212490 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java @@ -446,7 +446,7 @@ public class OrderController { @GetMapping("/get-room-and-body") @Operation(summary = "获取柜体和房间信息") @Parameter(name = "planId", description = "排单ID", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('production:manager-list:detail')") + @PreAuthorize("@ss.hasAnyPermissions('production:manager-list:detail','placeorder:optimize:manual-optimization','producePlan:optimize:manual-optimization')") public CommonResult> getRoomAndBody(@RequestParam("planId") Long planId) { return success(orderService.getRoomAndBody(planId)); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/OptimizePlanController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/OptimizePlanController.java index 5153e7d51..34103dccf 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/OptimizePlanController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/OptimizePlanController.java @@ -39,7 +39,7 @@ public class OptimizePlanController { @GetMapping("/getPlateListByPlanId") @Operation(summary = "根据排单id获取板材列表") - @PreAuthorize("@ss.hasPermission('placeorder:optimize')") + @PreAuthorize("@ss.hasAnyPermissions('placeorder:optimize','producePlan:optimize')") public CommonResult> getPlateListByPlanId(@Schema(description = "排单id") @RequestParam("planId") Long planId) { return CommonResult.success(optimizePlanService.getPlateListByPlanId(planId)); } @@ -47,7 +47,7 @@ public class OptimizePlanController { @PostMapping("/addRemain") @Operation(summary = "添加余料板") - @PreAuthorize("@ss.hasPermission('placeorder:optimize')") + @PreAuthorize("@ss.hasAnyPermissions('placeorder:optimize','producePlan:optimize')") public CommonResult addRemain(@RequestBody @Valid AddRemainReqVO vo){ return CommonResult.success(optimizePlanService.addRemain(vo)); } @@ -82,7 +82,7 @@ public class OptimizePlanController { @PutMapping("/updateCuttingStatus") @Operation(summary = "修改开料状态") - @PreAuthorize("@ss.hasAnyPermissions('placeorder:optimize:updateCuttingStatus','placeorder:optimize:cutting-materials')") + @PreAuthorize("@ss.hasAnyPermissions('placeorder:optimize:updateCuttingStatus','placeorder:optimize:cutting-materials','producePlan:optimize:cutting-materials','producePlan:optimize:updateCuttingStatus')") public CommonResult updateCuttingStatus(@RequestBody CuttingStatusRespVO respVO) { optimizePlanService.updateCuttingStatus(respVO); return success(Boolean.TRUE); @@ -92,7 +92,7 @@ public class OptimizePlanController { @GetMapping("/getOrderSource") @Operation(summary = "获取生产单源数据") - @PreAuthorize("@ss.hasAnyPermissions('placeorder:optimize','production:manager-list:calculate','manage:order-plan:process-scheme')") + @PreAuthorize("@ss.hasAnyPermissions('placeorder:optimize','production:manager-list:calculate','manage:order-plan:process-scheme','producePlan:order-plan:process-scheme','producePlan:optimize')") public CommonResult getOrderSource(@Schema(description = "生产单id") @RequestParam(required = false) Long orderId, @Schema(description = "排单id") @RequestParam(required = false) Long planId, @Schema(description = "机台Id") @RequestParam(required = false) Long machineId @@ -104,7 +104,7 @@ public class OptimizePlanController { @GetMapping("/getLabelDataSourceValue") @Operation(summary = "获取标签数据源value") - @PreAuthorize("@ss.hasPermission('placeorder:optimize')") + @PreAuthorize("@ss.hasAnyPermissions('placeorder:optimize','producePlan:optimize')") public CommonResult> getLabelDataSourceValue(@Valid GetSourceDataReq req ) { return CommonResult.success( optimizePlanService.getLabelDataSourceValue(req)); @@ -113,7 +113,7 @@ public class OptimizePlanController { @PostMapping("/saveOptimizationResults") @Operation(summary = "保存优化生产后的数据") - @PreAuthorize("@ss.hasPermission('placeorder:optimize')") + @PreAuthorize("@ss.hasAnyPermissions('placeorder:optimize:save-optimize','placeorder:optimize:re-optimize','producePlan:optimize:re-optimize','producePlan:optimize:save-optimize')") public CommonResult saveOptimizationResults(@Valid @RequestBody SavePlanPlateResultReqVO req ) { optimizePlanService.saveOptimizationResults(req); @@ -125,7 +125,7 @@ public class OptimizePlanController { @PostMapping("/saveProcessSchemeResults") @Operation(summary = "保存方案组的优化信息") - @PreAuthorize("@ss.hasAnyPermissions('placeorder:optimize','manage:order-plan:process-scheme')") + @PreAuthorize("@ss.hasAnyPermissions('placeorder:optimize','manage:order-plan:process-scheme','producePlan:order-plan:process-scheme','producePlan:optimize')") public CommonResult saveProcessSchemeResults(@RequestBody SaveProcessSchemeReqVO saveProcessSchemeReqVO) { optimizePlanService.saveProcessSchemeResults(saveProcessSchemeReqVO); @@ -139,7 +139,7 @@ public class OptimizePlanController { @GetMapping("/getProcessSchemeConfig") @Operation(summary = "查询加工方案组对应的配置信息") @Parameter(name = "planId", description = "排单ID", required = true) - @PreAuthorize("@ss.hasPermission('manage:order-plan:process-scheme')") + @PreAuthorize("@ss.hasAnyPermissions('manage:order-plan:process-scheme','producePlan:order-plan:process-scheme')") public CommonResult getProcessSchemeConfig(@Schema(description = "方案组ID") @NotNull(message = "方案组的ID不能为空") Long processId, @Schema(description = "排单id") @RequestParam Long planId) { @@ -153,7 +153,7 @@ public class OptimizePlanController { @PutMapping("/updateProcessScheme") @Operation(summary = "修改排单对应的方案组的是否锁单") - @PreAuthorize("@ss.hasPermission('placeorder:optimize')") + @PreAuthorize("@ss.hasAnyPermissions('placeorder:optimize','producePlan:optimize')") public CommonResult updateProcessScheme(@RequestBody PlanProcessSchemeReqVO reqVO) { optimizePlanService.updateProcessScheme(reqVO); return success(true); 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 d11af63f6..75d991cc4 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 @@ -69,7 +69,7 @@ public class PlanController { @GetMapping("/get") @Operation(summary = "获得排单") @Parameter(name = "id", description = "排单id", required = true) - @PreAuthorize("@ss.hasPermission('placeorder:query')") + @PreAuthorize("@ss.hasAnyPermissions('placeorder:query','producePlan:query')") public CommonResult getPlan(@RequestParam("id") @NotNull(message = "排单数据异常,请重新操作") Long id) { PlanRespVO plan = planService.getPlan(id); return success(BeanUtils.toBean(plan, PlanRespVO.class)); @@ -77,21 +77,21 @@ public class PlanController { @GetMapping("getPlateByPlanId") @Operation(summary = "根据排单id获取小板分页") - @PreAuthorize("@ss.hasPermission('placeorder:query')") + @PreAuthorize("@ss.hasAnyPermissions('placeorder:query','producePlan:query')") public CommonResult> getPlateByPlanId(@Valid GetPlateByPlanIdVO vo) { return success(planService.getPlateByPlanId(vo)); } @GetMapping("getOrderByPlan") @Operation(summary = "根据排单获取生产单分页") - @PreAuthorize("@ss.hasAnyPermissions('placeorder:query','placeorder:priority')") + @PreAuthorize("@ss.hasAnyPermissions('placeorder:query','placeorder:priority','producePlan:query')") public CommonResult> getOrderByPlanId(@Valid PlanOrderPageReqVO pageReqVO) { return success(planService.getOrderByPlanId(pageReqVO)); } @GetMapping("/page") @Operation(summary = "获得排单分页") - @PreAuthorize("@ss.hasAnyPermissions('placeorder:query','placeorder:priority')") + @PreAuthorize("@ss.hasAnyPermissions('placeorder:query','placeorder:priority','producePlan:query')") public CommonResult> getPlanPage(@Valid PlanPageReqVO pageReqVO) { PageResult pageResult = planService.getPlanPage(pageReqVO); return success(BeanUtils.toBean(pageResult, PlanRespVO.class)); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java index ca0af4389..30e0e2190 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java @@ -133,7 +133,7 @@ public class PlateController { @PostMapping("/insertPlate") @Operation(summary = "优化生产创建板材") - @PreAuthorize("@ss.hasAnyPermissions('executor:plate:create','placeorder:optimize')") + @PreAuthorize("@ss.hasAnyPermissions('executor:plate:create','placeorder:optimize:manual-optimization','producePlan:optimize:manual-optimization')") public CommonResult> createNewPlate(@Valid @RequestBody List reqVO) { return success(plateService.createNewPlate(reqVO)); } 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 3575dbec2..0601025ab 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 @@ -676,6 +676,8 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { Long planId = boardModelDO.getPlanId(); + Long processId = 1L; + // // 延长操作用户的缓存时间 // redisInsertPlanCreator(planId); @@ -688,6 +690,18 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { AssertUtils.notEmpty(planDO,ORDER_PLAN_DATE_ERROR); + if(planDO.getStatus().equals(PlanStatusEnum.OPENED.getStatus())){ + throw exception(THIS_PLAN_OPTIMIZE_DATA_ERROR); + } + + + // 兼容数据,后期可删除 + List document = esUtils.getEsDocument(FIELD_PLAN_ID, planId, ORDER_OPTIMIZE_PLATE_MODEL, OptimizeBoardModelDO.class); + if(CollUtil.isNotEmpty(document)){ + OptimizeBoardModelDO optimizeBoardModelDO = document.get(0); + processId = optimizeBoardModelDO.getProcessId(); + } + if(req.getProcessId() != null){ @@ -698,15 +712,13 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { planDO.setProcessId(req.getProcessId()); planMapper.updateById(planDO); - } - - if(boardModelDO.getProcessId() == null) { - esUtils.deleteEsDocument(FIELD_PLAN_ID, planId, ORDER_OPTIMIZE_PLATE_MODEL); + esUtils.deleteEsDocument(FIELD_PLAN_ID, FIELD_PROCESS_ID, planId, req.getProcessId(), ORDER_OPTIMIZE_PLATE_MODEL); }else { - esUtils.deleteEsDocument(FIELD_PLAN_ID, FIELD_PROCESS_ID, planId, req.getProcessId(), ORDER_OPTIMIZE_PLATE_MODEL); + esUtils.deleteEsDocument(FIELD_PLAN_ID, FIELD_PLAN_CONFIG_ID, planId, boardModelDO.getPlanConfigId(), ORDER_OPTIMIZE_PLATE_MODEL); } + }else { boardModelDO.setProcessId(planDO.getProcessId()); @@ -740,6 +752,12 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { esUtils.refresh(ORDER_OPTIMIZE_PLATE_MODEL); + if (processId == null) { + + esUtils.deleteEsDocument(FIELD_PLAN_ID, planId, ORDER_OPTIMIZE_PLATE_MODEL); + } + + // List optimizeBoardModelDOS = esUtils.getEsDocument(FIELD_PLAN_CONFIG_ID,FIELD_PLAN_ID,req.getPlanConfigId(), planId, ORDER_OPTIMIZE_PLATE_MODEL, OptimizeBoardModelDO.class); 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 36475f682..585c30a35 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 @@ -261,8 +261,6 @@ public class PlanServiceImpl implements PlanService { }else { - - planDO.setIsScheduled(updateReqVO.getIsScheduled()); planMapper.updateById(planDO); } @@ -968,6 +966,9 @@ public class PlanServiceImpl implements PlanService { grouped.forEach((key,value) ->{ List goodsRespVOS = goodsMapper.selectNoOrderPlanGoods(value, getUserOrganId()); + if(goodsRespVOS.size() == 1){ + return; + } planActualGoodsResps.add( PlanActualGoodsResp.builder() @@ -1513,8 +1514,10 @@ public class PlanServiceImpl implements PlanService { if(CollUtil.isNotEmpty(planActualGoodsLists)) { + // 有选实际大板的小板加大板创建排单 getCreatePlanMultipleGoodsList(planActualGoodsLists,planItemDOS,plateItemList,planActualGoodsModelDOS,planDOS,processId,loginUser); + // 没有选择实际大板的创建排单 if(MixConfigTypeEnum.SAMEMATERIALANDTHICKNESS.equals(mixedType)){ // 筛选出材质和厚度相同的大板 grouped = groupByMaterialAndThicknessEqualToOne(goodsItemList); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingSaveReqVO.java index 03c149494..30f9d1ab9 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/machine/vo/CuttingSaveReqVO.java @@ -36,23 +36,12 @@ public class CuttingSaveReqVO { @NotNull(message = "标签id不能空") private Long labelId; -// // 新的机台逻辑需要删除 -// @Schema(description = "机台模板id") -// @NotNull(groups = CreateGroup.class, message = "机台模板id不能空") -// private Long templateId; @Schema(description = "品牌ID", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "品牌ID不能为空") private Long brandId; -// @Schema(description = "品牌", requiredMode = Schema.RequiredMode.REQUIRED) -// private String brand; - -// @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED) -// private String model; - - @Schema(description = "机台的型号-机台的ID") @NotNull(message = "机台型号不能为空",groups = CreateGroup.class) private Long machineId; diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineConvert.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineConvert.java index 562f5fe00..7b1ab72d9 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineConvert.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineConvert.java @@ -18,7 +18,6 @@ public class MachineConvert { .labelId(createReqVO.getLabelId()) .setting(createReqVO.getMachineSettingDO().toJSONString()) .brandId(createReqVO.getBrandId()) -// .model(createReqVO.getModel()) .build(); }