From 1934325f00800e42263a5e420ae86e71dc1f3426 Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Fri, 21 Jun 2024 10:11:38 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=B7=A5=E5=BA=8F=E5=8A=A0=E5=B7=A5204Bug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=8C=E6=A0=B9=E6=8D=AE=E6=8E=92=E5=8D=95?= =?UTF-8?q?ID=E6=9F=A5=E8=AF=A2=E6=9D=BF=E6=9D=90=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=96=B0=E5=A2=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/plan/PlanController.java | 11 ++++- .../executor/dal/mysql/plate/PlateMapper.java | 3 ++ .../executor/service/plan/PlanService.java | 2 + .../service/plan/PlanServiceImpl.java | 13 +++++- .../resources/mapper/plate/PlateMapper.xml | 16 ++++++++ .../controller/admin/pack/PackController.java | 12 +++--- .../admin/pack/vo/OrderPackRespVO.java | 6 ++- .../mysql/process/ProcessStepItemMapper.java | 4 +- .../dal/mysql/process/ProcessStepMapper.java | 4 ++ .../manage/service/pack/PackService.java | 8 ++-- .../manage/service/pack/PackServiceImpl.java | 41 +++++++++++++------ .../process/ProductionProcessServiceImpl.java | 10 ++++- .../mysql/process/ProcessStepItemMapper.xml | 19 ++++----- .../dal/mysql/process/ProcessStepMapper.xml | 22 ++++++++++ 14 files changed, 128 insertions(+), 43 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 f19e7e73d..fe85b87c4 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 @@ -78,7 +78,7 @@ public class PlanController { @GetMapping("getPlateByPlanId") @Operation(summary = "根据排单id获取小板分页") - @PreAuthorize("@ss.hasPermission('executor:plan:query')") + @PreAuthorize("@ss.hasPermission('placeorder:orderlist')") public CommonResult> getPlateByPlanId(@Valid GetPlateByPlanIdVO vo) { return success(planService.getPlateByPlanId(vo)); } @@ -161,4 +161,13 @@ public class PlanController { } + + @GetMapping("getPlateList") + @Operation(summary = "根据排单ID获取板材列表(未分页)") + @Parameter(name = "planId", description = "排单id", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('placeorder:orderlist')") + public CommonResult> getPlateList(@Valid @RequestParam("planId") Long planId) { + return success(planService.getPlateList(planId)); + } + } \ 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/dal/mysql/plate/PlateMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java index 321a3cb03..f26444359 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java @@ -112,4 +112,7 @@ public interface PlateMapper extends BaseMapperX { BigDecimal selectPlateSize( @Param("orderId") Long orderId); + + + List selectPlateListByPlanId(@Param("planId") Long planId, @Param("organId") Long organId); } \ 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/plan/PlanService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java index 00a3cc43b..4e65c1c05 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanService.java @@ -69,4 +69,6 @@ public interface PlanService { PageResult getNotPlanGoodsListPageByOrderId( NotPlanGoodsListPageVO pageVO); Boolean setSort(List list); + + List getPlateList(Long planId); } \ 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/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 4b6cfeea3..c1b3902c1 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 @@ -331,7 +331,7 @@ public class PlanServiceImpl implements PlanService { .eqIfPresent("op.is_door", pageReqVO.getIsDoor()) .betweenIfPresent("op.height", new BigDecimal[]{pageReqVO.getLongMinRang(), pageReqVO.getLongMaxRang()}) .betweenIfPresent("op.width", new BigDecimal[]{pageReqVO.getWidthMinRang(), pageReqVO.getWidthMaxRang()}) - .groupBy("a.id", " a.order_date", "a.delivery_date", "a.customer", "a.address", "a.custom_order_no") + .groupBy("a.id", " a.order_date", "a.delivery_date", "a.customer", "a.address", "a.custom_order_no","a.create_time") .orderByDesc("a.create_time"); List filterTypes = new ArrayList<>(); if (Objects.nonNull(pageReqVO.getHoleThrough()) && pageReqVO.getHoleThrough()) { @@ -502,4 +502,15 @@ public class PlanServiceImpl implements PlanService { return Boolean.TRUE; } + + + @Override + public List getPlateList(Long planId) { + + + return plateMapper.selectPlateListByPlanId(planId,getUserOrganId()); + + + } + } \ No newline at end of file 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 7b4471f57..13a1fa43e 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 @@ -288,5 +288,21 @@ + + \ No newline at end of file diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java index d1bb60540..c1b78ebca 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java @@ -183,8 +183,8 @@ public class PackController { @Operation(summary = "板材包裹更新-即封包") @PreAuthorize("@ss.hasPermission('manage:pack:updatePack')") public CommonResult updatePack(@Valid @RequestBody OrderPackReqVO packageVO) { - OrderPackageDO orderPackageDO = packService.updatePack(packageVO); - return success(BeanUtils.toBean(orderPackageDO, OrderPackRespVO.class)); + + return success(packService.updatePack(packageVO)); } @@ -196,9 +196,7 @@ public class PackController { @PreAuthorize("@ss.hasPermission('manage:pack:updateParts')") public CommonResult updateParts(@Valid @RequestBody OrderPartsReqVO reqVO) { - OrderPackageDO orderPackageDO = packService.updateParts(reqVO); - - return success(BeanUtils.toBean(orderPackageDO, OrderPackRespVO.class)); + return success(packService.updateParts(reqVO)); } @@ -277,7 +275,7 @@ public class PackController { @PostMapping("/insertParts") @Operation(summary = "新增配件包裹") @PreAuthorize("@ss.hasPermission('manage:pack:insert')") - public CommonResult addNewPartsPack (@Valid @RequestBody OrderPackReqVO reqVO) { + public CommonResult addNewPartsPack (@Valid @RequestBody OrderPackReqVO reqVO) { return success(packService.addNewPartsPack(reqVO)); @@ -289,7 +287,7 @@ public class PackController { @PostMapping("/insertOtherPack") @Operation(summary = "新增外部配件-即新增一个包裹") @PreAuthorize("@ss.hasPermission('manage:pack:insert')") - public CommonResult addNewOtherPack(@Valid @RequestBody OtherPackReqVO reqVO) { + public CommonResult addNewOtherPack(@Valid @RequestBody OtherPackReqVO reqVO) { return success(packService.addNewOtherPack(reqVO)); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPackRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPackRespVO.java index 41d1e59f4..cf672784c 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPackRespVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPackRespVO.java @@ -4,24 +4,26 @@ package com.cf.imes.module.manage.controller.admin.pack.vo; import com.baomidou.mybatisplus.annotation.TableId; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Builder; import lombok.Data; @Schema(description = "管理后台 - 生产单包裹表 Response VO") @Data +@Builder public class OrderPackRespVO { @Schema(description = "包裹ID", requiredMode = Schema.RequiredMode.REQUIRED) private Long id; @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) - private Long orderNo; + private Long orderId; @Schema(description = "包裹编号", requiredMode = Schema.RequiredMode.REQUIRED) private String packageNo; @Schema(description = "包裹类型,-1未定义,0板材,1配件,2其他配件", requiredMode = Schema.RequiredMode.REQUIRED) - private Long type; + private Integer packageType; @Schema(description = "包裹名", requiredMode = Schema.RequiredMode.REQUIRED) private String name; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.java index b729268b8..e002fcace 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.java @@ -25,13 +25,13 @@ public interface ProcessStepItemMapper extends BaseMapperX selectPlateName(Long processStepId); - void updateStatus(@Param("id") Long id, @Param("nickname") String nickname, @Param("salary")BigDecimal salary); + void updateStatus(@Param("id") Long id); ProcessStepStatus selectStatusById(@Param("id") Long id,@Param("name") String name, @Param("organId") Long organId); - void updateStemStatus(@Param("processStepId") Long processStepId,@Param("name") String name, @Param("nickname") String nickname); + void updateStemStatus(@Param("processStepId") Long processStepId,@Param("name") String name); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.java index 0f99a191f..6c1521750 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.java @@ -47,4 +47,8 @@ public interface ProcessStepMapper extends BaseMapperX { BigDecimal calculateSalary( @Param("processStepId") Long processStepId,@Param("area") BigDecimal area); + + void updateStatus(@Param("id") Long id, @Param("nickname") String nickname, @Param("salary")BigDecimal salary); + + void updateStatusByName(@Param("id") Long processStepId,@Param("nickname") String nickname); } \ No newline at end of file diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackService.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackService.java index 979a924cf..afc42a72e 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackService.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackService.java @@ -38,7 +38,7 @@ public interface PackService { // 查看配件列表分页 PageResult getPartsList(OrderPartsReqVO reqVO); - OrderPackageDO updateParts(OrderPartsReqVO reqVO); + OrderPackRespVO updateParts(OrderPartsReqVO reqVO); // 拆包 @@ -61,7 +61,7 @@ public interface PackService { OrderPackageDO insertPack(OrderPackReqVO packageVO); // 更新包裹 - OrderPackageDO updatePack(OrderPackReqVO packageVO); + OrderPackRespVO updatePack(OrderPackReqVO packageVO); // 查询包裹 @@ -78,7 +78,7 @@ public interface PackService { // 新增外部配件包裹 - OrderPackageDO addNewOtherPack(OtherPackReqVO reqVO); + OrderPackRespVO addNewOtherPack(OtherPackReqVO reqVO); // 新增外部配件 @@ -93,7 +93,7 @@ public interface PackService { // 新增配件-即新增一个包裹 - OrderPackageDO addNewPartsPack(OrderPackReqVO reqVO); + OrderPackRespVO addNewPartsPack(OrderPackReqVO reqVO); } 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 f0887b056..ddbaffe9e 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 @@ -185,7 +185,7 @@ public class PackServiceImpl implements PackService { // 更新配件 @Override @Transactional(rollbackFor = Exception.class) - public OrderPackageDO updateParts(OrderPartsReqVO reqVO) { + public OrderPackRespVO updateParts(OrderPartsReqVO reqVO) { OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackId(reqVO.getPackId(), getUserOrganId()); @@ -209,7 +209,7 @@ public class PackServiceImpl implements PackService { orderPackageDO.setType(OrderPackageTypeEnum.PLATE.getType()); orderPackageDO.setStatus(OrderPackageStatusEnum.PACKAGED.getStatus()); orderPackageMapper.updateById(orderPackageDO); - return orderPackageDO; + return typeConversion(orderPackageDO); } @@ -224,7 +224,7 @@ public class PackServiceImpl implements PackService { orderPackageMapper.updateById(orderPackageDO); - return orderPackageDO; + return typeConversion(orderPackageDO); } @@ -315,7 +315,7 @@ public class PackServiceImpl implements PackService { // 更新包裹 @Override @Transactional(rollbackFor = Exception.class) - public OrderPackageDO updatePack(OrderPackReqVO packageVO) { + public OrderPackRespVO updatePack(OrderPackReqVO packageVO) { // 判断包裹ID是否为空,为空,走新增,不为空,走更新 @@ -331,7 +331,7 @@ public class PackServiceImpl implements PackService { // 生产单明细表新增包裹 ID orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), orderPackageDO.getId()); - return orderPackageDO; + return typeConversion(orderPackageDO); } @@ -357,7 +357,7 @@ public class PackServiceImpl implements PackService { orderPackageDO.setType(OrderPackageTypeEnum.PARTS.getType()); orderPackageDO.setStatus(OrderPackageStatusEnum.PACKAGED.getStatus()); orderPackageMapper.updateById(orderPackageDO); - return orderPackageDO; + return typeConversion(orderPackageDO); } @@ -372,7 +372,7 @@ public class PackServiceImpl implements PackService { orderPackageMapper.updateById(orderPackageDO); - return orderPackageDO; + return typeConversion(orderPackageDO); } @@ -385,7 +385,7 @@ public class PackServiceImpl implements PackService { List orderPackageDOS = orderPackageMapper.selectPackStatus(orderId,getUserOrganId()); // List collect = orderPackageDOS.stream().map(o -> o.setRemark(JsonUtils.unzipString(o.getRemark()))).collect(Collectors.toList()); - return BeanUtils.toBean(orderPackageDOS, OrderPackRespVO.class); + return orderPackageDOS.stream().map(m -> typeConversion(m)).collect(Collectors.toList()); } @@ -428,7 +428,7 @@ public class PackServiceImpl implements PackService { // 新增外部配件包裹表 @Override @Transactional(rollbackFor = Exception.class) - public OrderPackageDO addNewOtherPack(OtherPackReqVO reqVO) { + public OrderPackRespVO addNewOtherPack(OtherPackReqVO reqVO) { // 判断配件名称是否重复 OrderPartsNDO orderPartsNDO = orderPartsMapper.selectOneParts(reqVO.getName(),getUserOrganId()); @@ -465,7 +465,7 @@ public class PackServiceImpl implements PackService { // 查看新增的包裹信息 /* return orderPackageMapper.selectByPackId(orderPackageDO.getId());*/ - return orderPackageDO; + return typeConversion(orderPackageDO); } @@ -524,7 +524,7 @@ public class PackServiceImpl implements PackService { // 新增配件-即新增一个包裹 @Override @Transactional(rollbackFor = Exception.class) - public OrderPackageDO addNewPartsPack(OrderPackReqVO reqVO) { + public OrderPackRespVO addNewPartsPack(OrderPackReqVO reqVO) { OrderPackageDO orderPackageDO = new OrderPackageDO(); orderPackageDO.setOrderId(reqVO.getOrderId()); @@ -535,7 +535,24 @@ public class PackServiceImpl implements PackService { orderItemMapper.insertPartsId(orderPackageDO.getId(), reqVO.getAddPartsIdList()); - return orderPackageDO; + return typeConversion(orderPackageDO); + + } + + + + // 类型转换 + private OrderPackRespVO typeConversion(OrderPackageDO orderPackageDO){ + return OrderPackRespVO.builder() + .id(orderPackageDO.getId()) + .orderId(orderPackageDO.getOrderId()) + .organId(orderPackageDO.getOrganId()) + .packageNo(orderPackageDO.getPackageNo()) + .packageType(orderPackageDO.getType()) + .name(orderPackageDO.getName()) + .status(orderPackageDO.getStatus()) + .remark(orderPackageDO.getRemark()) + .build(); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java index 8ce5a625f..a49447a6c 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java @@ -135,7 +135,9 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { // 判断生产单工序的状态是否为组件加工 if(processStepStatuses.getType().equals(ProcessProcessingTypeEnum.COMPONENTPROCESSING.getNumber())){ - processStepItemMapper.updateStemStatus(reqVo.getProcessStepId(),reqVo.getName(),nickname); + processStepMapper.updateStatusByName(reqVo.getProcessStepId(),nickname); + + processStepItemMapper.updateStemStatus(reqVo.getProcessStepId(),reqVo.getName()); List orderProcessStepItemNDOS = processStepItemMapper.selectStemById(reqVo.getProcessStepId(),ProcessingStatusEnum.RAW.getStatus(),getUserOrganId()); if(orderProcessStepItemNDOS.isEmpty()){ @@ -154,8 +156,12 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { try { BigDecimal salary = calculateSalary(reqVo.getProcessStepId()); + // 修改生产明细表和步骤表的工序状态 - processStepItemMapper.updateStatus(reqVo.getProcessStepId(),nickname,salary); + processStepMapper.updateStatus(reqVo.getProcessStepId(),nickname,salary); + + processStepItemMapper.updateStatus(reqVo.getProcessStepId()); + }catch (Exception e){ log.error(String.valueOf(e)); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.xml index 72d3980f7..134ca1b26 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.xml @@ -20,16 +20,11 @@ + parameterType="java.lang.Long"> - update order_process_step_item opsi - JOIN order_process_step ops ON opsi.process_step_id = ops.id - SET opsi.status = TRUE, - ops.status = TRUE, - ops.finish_time = now(), - ops.manager = #{nickname}, - ops.salary_amount = #{salary} - WHERE ops.id = #{id}; + update order_process_step_item + SET status = TRUE + WHERE process_step_id = #{id}; @@ -37,9 +32,9 @@ update order_process_step_item opsi - join order_process_step ops on opsi.process_step_id = ops.id - set opsi.status = true, - ops.manager = #{nickname} + + set opsi.status = true + where opsi.process_step_id = #{processStepId} and opsi.name = #{name} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.xml index 9ef6acc7d..50efcc099 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.xml @@ -11,6 +11,28 @@ + + + + update order_process_step + set status = true, + finish_time = now(), + manager = #{nickname}, + salary_amount = #{salary} + where id = #{id}; + + + + + + + update order_process_step + set manager = #{nickname} + where id = #{id}; + + + From 666cdb08c2710abe714ac1e6126c279770868d82 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Fri, 21 Jun 2024 10:51:13 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E3=80=81=E8=A7=92=E8=89=B2=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E3=80=81=E7=94=A8=E6=88=B7=E8=A7=92=E8=89=B2=E6=8E=88=E6=9D=83?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E7=AB=8B=E5=8D=B3=E7=94=9F=E6=95=88=EF=BC=9A?= =?UTF-8?q?=201=E3=80=81=E9=80=90=E4=B8=AA=E5=88=A0=E9=99=A4key=20->=20?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=EF=BC=9B=202=E3=80=81?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E4=BA=BA=E6=93=8D=E4=BD=9C=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E6=9C=BA=E6=9E=84=E6=97=B6=E6=89=8D=E6=98=BE=E7=A4=BA=E5=88=A0?= =?UTF-8?q?=E9=99=A4=EF=BC=9B=203=E3=80=81=E6=97=A5=E5=BF=97=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E4=BC=98=E5=8C=96=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../permission/PermissionServiceImpl.java | 39 ++++++++++++------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/PermissionServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/PermissionServiceImpl.java index e1cb70387..2b8a97ddf 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/PermissionServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/permission/PermissionServiceImpl.java @@ -3,6 +3,7 @@ package com.cf.imes.module.system.service.permission; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ArrayUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.extra.spring.SpringUtil; import com.cf.imes.framework.common.enums.CommonStatusEnum; import com.cf.imes.framework.common.exception.ServiceException; @@ -189,18 +190,22 @@ public class PermissionServiceImpl implements PermissionService { roleMenuMapper.deleteListByRoleIdAndMenuIds(roleId, deleteMenuIds); } + Long currentOrganId = SecurityFrameworkUtils.getUserOrganId(); // 角色菜单权限发生修改,通知刷新本地缓存 if (CollectionUtil.isNotEmpty(createMenuIds) || CollectionUtil.isNotEmpty(deleteMenuIds)) { CompletableFuture.runAsync(() -> { - // 获取新增和删除菜单id的并集 - Collection delKeys = CollUtil.union(createMenuIds, deleteMenuIds); - delKeys.forEach(menuId -> { - // 移除redis中的缓存 - redisTemplate.delete(String.format(String.valueOf(new StringBuffer(RedisKeyConstants.USER_ROLE_ID_LIST).append(":%s:%s")), organId, menuId)); - }); + // 当前操作人和所操作的目标菜单机构不同时,清空MENU_ROLE_ID_LIST:目标机构id:菜单id的缓存 + if (ObjectUtil.notEqual(organId, currentOrganId)) { + // 获取新增和删除菜单id的并集 + Collection delMenuIds = CollUtil.union(createMenuIds, deleteMenuIds); + // 构建批量删除的key集合 + Set delKeys = delMenuIds.stream().map(menuId -> String.format(String.valueOf(new StringBuffer(RedisKeyConstants.MENU_ROLE_ID_LIST).append(":%s:%s")), organId, menuId)).collect(Collectors.toSet()); + Long batchDelNum = redisTemplate.delete(delKeys); + log.info("[assignRoleMenu] 批量删除redis[MENU_ROLE_ID_LIST]数量:{}", batchDelNum); + } redisTemplate.convertAndSend(RedisRefreshChannelTopicConstants.PERMISSION_REFRESH, ""); }).exceptionally(e -> { - log.error("redis message发送失败, topic:{}, 异常:{}", RedisRefreshChannelTopicConstants.PERMISSION_REFRESH, e.getMessage()); + log.error("[assignRoleMenu] redis message发送失败, topic:{}, 异常:{}", RedisRefreshChannelTopicConstants.PERMISSION_REFRESH, e); return null; }); } @@ -326,18 +331,22 @@ public class PermissionServiceImpl implements PermissionService { userRoleMapper.deleteListByRoleIdAndUserIds(roleId, deleteRoleUserIds); } + Long currentOrganId = SecurityFrameworkUtils.getUserOrganId(); // 角色菜单权限发生修改,通知刷新本地缓存 if (CollectionUtil.isNotEmpty(createRoleUserIds) || CollectionUtil.isNotEmpty(deleteRoleUserIds)) { CompletableFuture.runAsync(() -> { - // 获取新增和删除用户id的并集 - Collection delKeys = CollUtil.union(createRoleUserIds, deleteRoleUserIds); - delKeys.forEach(userId -> { - // 移除redis中的缓存 - redisTemplate.delete(String.format(String.valueOf(new StringBuffer(RedisKeyConstants.USER_ROLE_ID_LIST).append(":%s:%s")), finalOrganId, userId)); - }); + // 当前操作人和所操作的目标菜单机构不同时,清空USER_ROLE_ID_LIST:目标机构id:用户id的缓存 + if (ObjectUtil.notEqual(finalOrganId, currentOrganId)) { + // 获取新增和删除用户id的并集 + Collection delRoleUserIds = CollUtil.union(createRoleUserIds, deleteRoleUserIds); + // 构建批量删除的key集合 + Set delKeys = delRoleUserIds.stream().map(userId -> String.format(String.valueOf(new StringBuffer(RedisKeyConstants.USER_ROLE_ID_LIST).append(":%s:%s")), finalOrganId, userId)).collect(Collectors.toSet()); + Long batchDelNum = redisTemplate.delete(delKeys); + log.info("[batchAssignRoleUsers] 批量删除redis[USER_ROLE_ID_LIST]数量:{}", batchDelNum); + } redisTemplate.convertAndSend(RedisRefreshChannelTopicConstants.PERMISSION_REFRESH, ""); }).exceptionally(e -> { - log.error("redis message发送失败, topic:{}, 异常:{}", RedisRefreshChannelTopicConstants.PERMISSION_REFRESH, e.getMessage()); + log.error("[batchAssignRoleUsers] redis message发送失败, topic:{}, 异常:{}", RedisRefreshChannelTopicConstants.PERMISSION_REFRESH, e); return null; }); } @@ -419,7 +428,7 @@ public class PermissionServiceImpl implements PermissionService { redisTemplate.delete(String.format(String.valueOf(new StringBuffer(RedisKeyConstants.USER_ROLE_ID_LIST).append(":%s:%s")), organId, userId)); redisTemplate.convertAndSend(RedisRefreshChannelTopicConstants.PERMISSION_REFRESH, ""); }).exceptionally(e -> { - log.error("redis 清空user_role_ids或message发送失败, topic:{}, 异常:{}", RedisRefreshChannelTopicConstants.PERMISSION_REFRESH, e.getMessage()); + log.error("[assignUserRole] redis 清空USER_ROLE_ID_LIST或message发送失败, topic:{}, 异常:{}", RedisRefreshChannelTopicConstants.PERMISSION_REFRESH, e); return null; }); }