From c5775f86386a19e314d6818578f20aed19fc494b Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Tue, 25 Jun 2024 09:39:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8C=85=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E5=B7=A5=E5=BA=8F=E5=8A=A0=E5=B7=A5-=E6=9D=BF=E6=9D=90?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E6=9F=A5=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../enums/ProcessProcessingTypeEnum.java | 3 +- .../resources/mapper/goods/GoodsMapper.xml | 4 +- .../resources/mapper/plate/PlateMapper.xml | 4 +- .../manage/ManageServerApplication.java | 4 + .../controller/admin/pack/PackController.java | 59 -------- .../admin/pack/vo/OrderPartsReqVO.java | 6 +- .../admin/pack/vo/PackPageReqVO.java | 2 +- .../admin/pack/vo/PrintOrderPackReqVO.java | 2 +- .../admin/pack/vo/PrintOrderPackRespVO.java | 2 +- .../process/ProductionProcessController.java | 1 + .../process/vo/OrderProcessStepItemVO.java | 4 + .../admin/process/vo/ProcessPageReqVO.java | 3 + .../admin/process/vo/ProcessRespVO.java | 3 + .../admin/process/vo/ProcessStepStatus.java | 4 + .../admin/query/vo/pack/OrderPackageVO.java | 2 +- .../query/vo/pack/PackageDetailsRespVO.java | 11 +- .../query/vo/salary/PriceRatePageReqVO.java | 2 +- .../admin/query/vo/salary/PriceRateReqVO.java | 5 +- .../process/OrderProcessStepNDO.java | 2 +- .../dal/mysql/pack/OrderBodyMapper.java | 7 - .../dal/mysql/pack/OrderPackageMapper.java | 2 +- .../mysql/process/ProcessStepItemMapper.java | 7 +- .../dal/mysql/process/ProcessStepMapper.java | 5 +- .../dal/mysql/query/OrderPartsMapper.java | 3 - .../mysql/query/ProductionStatusMapper.java | 5 +- .../rpc/config/RpcConfiguration.java | 3 +- .../manage/service/pack/PackService.java | 16 --- .../manage/service/pack/PackServiceImpl.java | 129 ++++-------------- .../process/ProductionProcessServiceImpl.java | 37 ++++- .../query/ProductionStatusServiceImpl.java | 16 ++- .../dal/mysql/pack/OrderPackageMapper.xml | 27 ++-- .../mysql/process/ProcessStepItemMapper.xml | 28 +++- .../dal/mysql/process/ProcessStepMapper.xml | 68 +++++---- .../dal/mysql/query/OrderPartsMapper.xml | 43 ++---- .../mysql/query/ProductionStatusMapper.xml | 12 +- .../module/system/api/process/ProcessApi.java | 29 ++++ .../system/api/process/ProcessApiImpl.java | 40 ++++++ .../admin/organ/OrganController.java | 13 +- .../admin/process/ProcessController.java | 11 +- .../vo/processUser/ProcessAndUserRespVO.java | 10 +- .../vo/processUser/UserProcessRespVO.java | 26 ++++ .../dal/dataobject/process/ProcessDO.java | 4 +- .../dal/mysql/process/ProcessMapper.java | 14 ++ .../dal/mysql/user/AdminUserMapper.java | 9 ++ .../service/process/ProcessService.java | 4 + .../service/process/ProcessServiceImpl.java | 32 +++++ .../mapper/process/ProcessMapper.xml | 18 +++ 47 files changed, 433 insertions(+), 308 deletions(-) create mode 100644 cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/process/ProcessApi.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/process/ProcessApiImpl.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/UserProcessRespVO.java diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/ProcessProcessingTypeEnum.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/ProcessProcessingTypeEnum.java index e49cff275..2f2ea99a7 100644 --- a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/ProcessProcessingTypeEnum.java +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/ProcessProcessingTypeEnum.java @@ -9,7 +9,8 @@ import lombok.Getter; public enum ProcessProcessingTypeEnum { - COMPONENTPROCESSING(7,"组件加工"); + COMPONENTPROCESSING(7,"组件加工"), + PLATE(8,"板材加工"); private Integer number; private String fabricatedItem; 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 b521c7cda..da23f80cc 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 @@ -18,7 +18,7 @@ orp.id as remainId from order_goods og left join order_remain_plate orp on og.id = orp.goods_id and og.organ_id = orp.organ_id - where og.order_id = #{orderId} and og.organ_id = #{organId} + where og.order_id = #{orderId} and og.organ_id = #{organId} and og.deleted = false @@ -32,7 +32,7 @@ orp.id as remainId from order_goods og left join order_remain_plate orp on og.id = orp.goods_id and og.organ_id = orp.organ_id - where og.organ_id =#{organId} and og.order_id in + where og.organ_id =#{organId} and og.deleted = false and og.order_id in #{id} 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 786530fe8..fa341ac7e 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 @@ -146,7 +146,7 @@ join order_item oi on op.id = oi.plate_id and op.organ_id = oi.organ_id join order_body ob on oi.body_id = ob.id and oi.organ_id = ob.organ_id left join order_group og on oi.group_id = og.id and oi.organ_id = og.organ_id - where op.order_id =#{orderId} and op.organ_id = #{organId} + where op.order_id =#{orderId} and op.organ_id = #{organId} and op.deleted = false @@ -168,7 +168,7 @@ join order_body ob on oi.body_id = ob.id and oi.organ_id = ob.organ_id left join order_group og on oi.group_id = og.id and oi.organ_id = og.organ_id - where op.organ_id = #{organId} and op.order_id in + where op.organ_id = #{organId} and op.deleted = false and op.order_id in diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/ManageServerApplication.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/ManageServerApplication.java index e6615054a..a79ea05e5 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/ManageServerApplication.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/ManageServerApplication.java @@ -2,11 +2,15 @@ package com.cf.imes.module.manage; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.openfeign.EnableFeignClients; +import org.springframework.scheduling.annotation.EnableAsync; /** * @author there */ @SpringBootApplication +@EnableFeignClients +@EnableAsync public class ManageServerApplication { public static void main(String[] args) { SpringApplication.run(ManageServerApplication.class, args); 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 618ea9bd0..fea163b15 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 @@ -119,21 +119,6 @@ public class PackController { - -// @GetMapping("/pagePlate") -// @Operation(summary = "查看板材列表分页") -// @PreAuthorize("@ss.hasPermission('manage:pack:query')") - public CommonResult> queryPlateDetails(@Valid OrderModuleReqVO pageReqVO){ - - PageResult packageDetailsRespVOPageResult = packService.queryPlateDetails(pageReqVO); - - return success(packageDetailsRespVOPageResult); - - } - - - - @GetMapping("/getParts") @Operation(summary = "查看配件列表分页") @PreAuthorize("@ss.hasPermission('manage:pack:query')") @@ -149,36 +134,6 @@ public class PackController { - - // TODO 目前前端接口只有查询配件包裹时会调用,板材是否会调用待确认 -// @GetMapping("/getPartsPack") -// @Operation(summary = "查看配件包裹详情") -// @PreAuthorize("@ss.hasPermission('manage:pack:query')") - public CommonResult> queryPackageDetails(@Valid PrintOrderPackReqVO reqVO){ - - return success(packService.queryPackageDetails(reqVO)); - - - } - - - - - -// @PostMapping("/insertPack") -// @Operation(summary = "新增包裹") -// @PreAuthorize("@ss.hasPermission('manage:pack:insertPack')") - public CommonResult insertPack(@Valid @RequestBody OrderPackReqVO packageVO) { - - OrderPackageDO orderPackageDO = packService.insertPack(packageVO); - - return success(BeanUtils.toBean(orderPackageDO, OrderPackRespVO.class)); - - } - - - - @PutMapping("/updatePack") @Operation(summary = "板材包裹更新-即封包") @PreAuthorize("@ss.hasPermission('manage:pack:updatePack')") @@ -246,19 +201,6 @@ public class PackController { -// @GetMapping("/GetOrderPlateGroup") -// @Operation(summary = "显示分组房间名称") -// @PreAuthorize("@ss.hasPermission('manage:pack:query')") - public CommonResult> GetOrderPlateGroup(@Valid Long orderId) { - - return success(packService.GetOrderPlateGroup(orderId)); - - } - - - - - @GetMapping("/print") @Operation(summary = "包裹订单打印") @PreAuthorize("@ss.hasPermission('manage:pack:query')") @@ -320,7 +262,6 @@ public class PackController { - /* @GetMapping("/query") @Operation(summary = "板材列表下的查询") diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPartsReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPartsReqVO.java index e8e096ee8..a3ceaa983 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPartsReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPartsReqVO.java @@ -17,17 +17,17 @@ public class OrderPartsReqVO extends PageParam { @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) - private Long orderNo; + private Long orderId; @Schema(description = "更新配件时传-包裹ID") private Long packId; @Schema(description = "更新配件时传-新增的配件ID") - private List addPartsList; + private List addPartsIdList; @Schema(description = "更新配件时传-删除的配件ID") - private List deletePartsList; + private List deletePartsIdList; @Schema(description = "新增的板件ID") diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackPageReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackPageReqVO.java index e92a1fd81..3e84d5923 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackPageReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackPageReqVO.java @@ -19,7 +19,7 @@ public class PackPageReqVO extends PageParam { @Schema(description = "订单号") - private Long orderNo; + private Long orderId; @Schema(description = "自定义单号") diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PrintOrderPackReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PrintOrderPackReqVO.java index 1af1b176d..3da0c33b8 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PrintOrderPackReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PrintOrderPackReqVO.java @@ -13,7 +13,7 @@ public class PrintOrderPackReqVO { @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") - private Long orderNo; + private Long orderId; @Schema(description = "包裹id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PrintOrderPackRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PrintOrderPackRespVO.java index 77bd32f76..2a5e95d33 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PrintOrderPackRespVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PrintOrderPackRespVO.java @@ -19,7 +19,7 @@ public class PrintOrderPackRespVO { @Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788") - private Long orderNo; + private Long orderId; @Schema(description = "包裹ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788") diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/ProductionProcessController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/ProductionProcessController.java index 720125aaa..7f84a1476 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/ProductionProcessController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/ProductionProcessController.java @@ -64,6 +64,7 @@ public class ProductionProcessController { @GetMapping("/selectPlate") @Operation(summary = "查看当前生产单的工序对应的板件信息") + @PreAuthorize("@ss.hasPermission('manage:process:view')") public CommonResult selectPlate(@Valid ProcessPlateReqVO reqVO){ return success(productionProcessService.selectPlate(reqVO)); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProcessStepItemVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProcessStepItemVO.java index 0981b5112..f85fc0f03 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProcessStepItemVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProcessStepItemVO.java @@ -21,6 +21,10 @@ public class OrderProcessStepItemVO { private Long processStepId; + @Schema(description = "商品ID", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private Long goodsId; + + @Schema(description = "加工项名称", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") private String name; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessPageReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessPageReqVO.java index 2c80ca544..358ba6d03 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessPageReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessPageReqVO.java @@ -20,6 +20,9 @@ public class ProcessPageReqVO extends PageParam { @Schema(description = "加工状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "false") private Boolean processStatus; +// @Schema(description = "工序类型",requiredMode = Schema.RequiredMode.REQUIRED, example = "false") +// private Long type; + @Schema(description = "生产单号") private Long orderId; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessRespVO.java index 4edcbf0ab..d0f61d9f8 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessRespVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessRespVO.java @@ -42,6 +42,9 @@ public class ProcessRespVO { private String phoneNumber; + @Schema(description = "商品ID", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private Long goodsId; + @Schema(description = "工序ID", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") private Long processID; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessStepStatus.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessStepStatus.java index a621118bc..a5344a03b 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessStepStatus.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessStepStatus.java @@ -8,6 +8,10 @@ import java.util.List; @Data public class ProcessStepStatus { + + // 生产单号 + private Long orderId; + // 工序步骤表的状态 private Boolean processStepStatus; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/OrderPackageVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/OrderPackageVO.java index 87a981ff9..bcad5df25 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/OrderPackageVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/OrderPackageVO.java @@ -16,7 +16,7 @@ public class OrderPackageVO { private Long id; @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) - private Long orderNo; + private Long orderId; @Schema(description = "包裹编号", requiredMode = Schema.RequiredMode.REQUIRED) private String packageNo; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/PackageDetailsRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/PackageDetailsRespVO.java index b29f625bd..b7b4f7958 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/PackageDetailsRespVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/PackageDetailsRespVO.java @@ -61,7 +61,10 @@ public class PackageDetailsRespVO { @Schema(description = "配件名称-配件类型显示", requiredMode = Schema.RequiredMode.REQUIRED) - private String partsName; + private String name; + + @Schema(description = "配件ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long partsId; @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED) private String model; @@ -69,12 +72,18 @@ public class PackageDetailsRespVO { @Schema(description = "规格", requiredMode = Schema.RequiredMode.REQUIRED) private String spec; + @Schema(description = "明细配件类型, 2 五金/配件 3 其他 4 报价配件", requiredMode = Schema.RequiredMode.REQUIRED) + private String type; + @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED) private Long num; @Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED) private String unit; + @Schema(description = "是否复合部件:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean isComposite; + @Schema(description = "品牌", requiredMode = Schema.RequiredMode.REQUIRED) private String brand; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/salary/PriceRatePageReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/salary/PriceRatePageReqVO.java index 73350b54f..a07ed6d6b 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/salary/PriceRatePageReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/salary/PriceRatePageReqVO.java @@ -29,7 +29,7 @@ public class PriceRatePageReqVO extends PageParam { @Schema(description = "加工人") - private String creator; + private String manager; @Schema(description = "工序名称") diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/salary/PriceRateReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/salary/PriceRateReqVO.java index 378893bb4..712ec0eb0 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/salary/PriceRateReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/salary/PriceRateReqVO.java @@ -9,6 +9,9 @@ import lombok.Data; public class PriceRateReqVO { + @Schema(description = "工序ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long processId; + @Schema(description = "工序名", requiredMode = Schema.RequiredMode.REQUIRED) private String name; @@ -22,7 +25,7 @@ public class PriceRateReqVO { private Integer priceType; @Schema(description = "金额", requiredMode = Schema.RequiredMode.REQUIRED) - private Long amount; + private Double amount; @Schema(description = "加工人", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepNDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepNDO.java index 16cca47f7..82ca0d268 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepNDO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepNDO.java @@ -43,7 +43,7 @@ public class OrderProcessStepNDO extends BaseDO { // 工资金额 - private BigDecimal salaryAmount; + private Double salaryAmount; // 计件工资类型 diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderBodyMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderBodyMapper.java index 241a8b588..8b344e69b 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderBodyMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderBodyMapper.java @@ -13,13 +13,6 @@ import java.util.List; public interface OrderBodyMapper extends BaseMapperX { - default List selectGroup(Long orderId) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(OrderBodyDO::getOrderId, orderId) - .orderByDesc(OrderBodyDO::getId)); - } - - default List selectListByOrderId(Long orderId,Long organId,Long bodyId) { 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 e41ba0815..8d90c00b8 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 @@ -36,7 +36,7 @@ public interface OrderPackageMapper extends BaseMapperX { - List selectPackPage(@Param("collect") List collect); + List selectPackPage(@Param("orderIds") List orderIds); IPage selectMissingBoard( @Param("page") IPage page, @Param("orderNo") Long orderNo, @Param("organId") Long organId); 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 e002fcace..b22ef04e0 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 @@ -47,5 +47,10 @@ public interface ProcessStepItemMapper extends BaseMapperX selectBodyIds(@Param("processStepId") Long processStepId,@Param("name") String name, @Param("organId") Long organId); - BigDecimal selectAreaByProcessStepId(@Param("processStepId") Long processStepId); + BigDecimal selectAreaByProcessStepId(@Param("processStepId") Long processStepId,@Param("organId") Long organId); + + void updateStatusByBodyId(@Param("goodsId") Long goodsId); + + + BigDecimal selectAreaByProcessId( @Param("processStepId")Long processStepId,@Param("orderId") Long orderId,@Param("organId") Long organId); } 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 6c1521750..c6b469f8b 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 @@ -46,9 +46,12 @@ public interface ProcessStepMapper extends BaseMapperX { IPage selectSalaryList( @Param("page") IPage page, @Param("pageReqVO") PriceRatePageReqVO pageReqVO,@Param("organId") Long organId); - BigDecimal calculateSalary( @Param("processStepId") Long processStepId,@Param("area") BigDecimal area); + BigDecimal calculateSalary( @Param("processStepId") Long processStepId,@Param("area") BigDecimal area, @Param("pieceRate")BigDecimal pieceRate,@Param("organId") Long organId); void updateStatus(@Param("id") Long id, @Param("nickname") String nickname, @Param("salary")BigDecimal salary); void updateStatusByName(@Param("id") Long processStepId,@Param("nickname") String nickname); + + List selectProcessList(@Param("organId") Long organId); + } \ 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/dal/mysql/query/OrderPartsMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java index f76b23d31..b60fcd85a 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java @@ -26,9 +26,6 @@ public interface OrderPartsMapper extends BaseMapperX { - List selectOrderParts(@Param("orderNo")Long orderNo,@Param("packageNo") Long packageNo); - - void deleteOrderParts(@Param("partsIds") List partsIds); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.java index 7cf7e4f15..d78950f11 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.java @@ -47,8 +47,7 @@ public interface ProductionStatusMapper extends BaseMapperX { default List selectPackPage(PackPageReqVO pageReqVO,Long organId) { return selectList(new LambdaQueryWrapperX() .eq(OrderDO::getOrganId,organId) - .eqIfPresent(OrderDO::getOrganId,getUserOrganId()) - .eqIfPresent(OrderDO::getId, pageReqVO.getOrderNo()) + .eqIfPresent(OrderDO::getId, pageReqVO.getOrderId()) .eqIfPresent(OrderDO::getCustomOrderNo, pageReqVO.getCustomOrderNo()) .likeIfPresent(OrderDO::getCustomer, pageReqVO.getCustomer()) .likeIfPresent(OrderDO::getAddress, pageReqVO.getAddress()) @@ -56,7 +55,7 @@ public interface ProductionStatusMapper extends BaseMapperX { .orderByDesc(OrderDO::getCreateTime)); } - IPage selectOrderPlate( @Param("page") IPage page, @Param("collect") List collect, @Param("organId") Long organId); + IPage selectOrderPlate( @Param("page") IPage page, @Param("orderIds") List orderIds, @Param("organId") Long organId); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/framework/rpc/config/RpcConfiguration.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/framework/rpc/config/RpcConfiguration.java index 154181192..bb930299b 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/framework/rpc/config/RpcConfiguration.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/framework/rpc/config/RpcConfiguration.java @@ -1,11 +1,12 @@ package com.cf.imes.module.manage.framework.rpc.config; import com.cf.imes.module.system.api.organ.OrganApi; +import com.cf.imes.module.system.api.process.ProcessApi; import com.cf.imes.module.system.api.user.AdminUserApi; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Configuration; @Configuration(proxyBeanMethods = false) -@EnableFeignClients(clients = {AdminUserApi.class, OrganApi.class}) +@EnableFeignClients(clients = {AdminUserApi.class, OrganApi.class, ProcessApi.class}) public class RpcConfiguration { } 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 a21877b33..4fd34eb44 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 @@ -30,8 +30,6 @@ public interface PackService { - // 查看板材列表分页 - PageResult queryPlateDetails(OrderModuleReqVO pageReqVO); @@ -46,20 +44,6 @@ public interface PackService { - // 显示分组房间名称 - List GetOrderPlateGroup(Long orderId); - - - - - // 查看配件包裹详情 - List queryPackageDetails(PrintOrderPackReqVO reqVO); - - - - // 新增包裹 - OrderPackageDO insertPack(OrderPackReqVO packageVO); - // 更新包裹 OrderPackRespVO updatePack(OrderPackReqVO packageVO); 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 2919c8113..07cbed1db 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 @@ -34,6 +34,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -73,20 +74,27 @@ public class PackServiceImpl implements PackService { PageDTO page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); // 根据生产状态查询生产单号 - List collect = productionStatusMapper.selectPackPage(pageReqVO,getUserOrganId()).stream().map(OrderDO::getId).collect(Collectors.toList()); + List orderIds = productionStatusMapper.selectPackPage(pageReqVO,getUserOrganId()).stream().map(OrderDO::getId).collect(Collectors.toList()); - if(collect.isEmpty()){ + if(orderIds.isEmpty()){ return null; } - // 查询打包首页分页数据信息,包裹数,板件数量信息 - IPage packRespVOS = productionStatusMapper.selectOrderPlate(page,collect,getUserOrganId()); + // 查询打包首页分页数据信息,总的板件数量信息 + IPage packRespVOS = productionStatusMapper.selectOrderPlate(page,orderIds,getUserOrganId()); + + List respVOS = orderPackageMapper.selectPackPage(orderIds); + + for (PackRespVO record : packRespVOS.getRecords()) { + + // 已打包数 + record.setPackCount(respVOS.stream().filter(f -> Objects.equals(f.getId(), record.getId())).mapToLong(PackRespVO::getPackCount).sum()); + // 已打包片数 + record.setPackPieceCount(respVOS.stream().filter(f -> Objects.equals(f.getId(), record.getId())).mapToLong(PackRespVO::getPackPieceCount).sum()); + // 待处理量 + record.setPendingNum(record.getTotalPieceCount() - record.getPackPieceCount()); + } -// for (PackRespVO record : packRespVOS.getRecords()) { -// -// // 待处理量 -// record.setPendingNum(record.getTotalPieceCount() - record.getPackPieceCount()); -// } if (CollectionUtil.isEmpty(packRespVOS.getRecords())) { return new PageResult<>(); @@ -147,19 +155,8 @@ public class PackServiceImpl implements PackService { - // 查看板材列表分页 - @Override - public PageResult queryPlateDetails(OrderModuleReqVO pageReqVO) { - PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); - List plateDetailsRespVOS = orderItemMapper.selectOrderPlateList(pageReqVO.getOrderNo(),getUserOrganId()); - PageInfo pageInfo = new PageInfo<>(plateDetailsRespVOS); - PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); - - return priceRateReqVOPageResult; - } - // 查看配件列表分页 @@ -168,7 +165,7 @@ public class PackServiceImpl implements PackService { PageDTO page = new PageDTO<>(reqVO.getPageNo(), reqVO.getPageSize()); - IPage orderPartsRespVOS = orderPartsMapper.selectPartsList(page,reqVO.getOrderNo(),getUserOrganId()); + IPage orderPartsRespVOS = orderPartsMapper.selectPartsList(page,reqVO.getOrderId(),getUserOrganId()); if (CollectionUtil.isEmpty(orderPartsRespVOS.getRecords())) { return new PageResult<>(); @@ -194,15 +191,15 @@ public class PackServiceImpl implements PackService { // 如果此时删除的包裹配件数量等于查询出来的配件数量,且新增的板材数量不为0,更改包裹的类型 - if(reqVO.getDeletePartsList().size() == partsList.size() && !reqVO.getAddPlateIdList().isEmpty()){ + if(reqVO.getDeletePartsIdList().size() == partsList.size() && !reqVO.getAddPlateIdList().isEmpty()){ // 删除生产单明细表板件对应的包裹ID - orderItemMapper.deletePackId(reqVO.getDeletePartsList(), reqVO.getPackId()); + orderItemMapper.deletePackId(reqVO.getDeletePartsIdList(), reqVO.getPackId()); // 生产单明细表配件新增对应的包裹ID - orderItemMapper.insertParts(reqVO.getAddPlateIdList(),reqVO.getPackId(),reqVO.getOrderNo()); + orderItemMapper.insertParts(reqVO.getAddPlateIdList(),reqVO.getPackId(),reqVO.getOrderId()); // 更新包裹类型和包裹的状态 @@ -215,12 +212,12 @@ public class PackServiceImpl implements PackService { // 生产明细表新增的配件ID - if(!reqVO.getAddPartsList().isEmpty()) { - orderItemMapper.insertParts(reqVO.getAddPartsList(), reqVO.getPackId(), reqVO.getOrderNo()); + if(!reqVO.getAddPartsIdList().isEmpty()) { + orderItemMapper.insertParts(reqVO.getAddPartsIdList(), reqVO.getPackId(), reqVO.getOrderId()); } // 生产明细表删除的配件ID - if(!reqVO.getDeletePartsList().isEmpty()) { - orderItemMapper.deletePartsList(reqVO.getDeletePartsList(), reqVO.getPackId(), reqVO.getOrderNo()); + if(!reqVO.getDeletePartsIdList().isEmpty()) { + orderItemMapper.deletePartsList(reqVO.getDeletePartsIdList(), reqVO.getPackId(), reqVO.getOrderId()); } orderPackageDO.setStatus(OrderPackageStatusEnum.PACKAGED.getStatus()); @@ -244,75 +241,6 @@ public class PackServiceImpl implements PackService { } - // 显示分组房间名称 - @Override - public List GetOrderPlateGroup(Long orderId) { - - /*List collect = orderBodyMapper.selectGroup(orderId).stream().map(OrderBodyDO::getRoomName).collect(Collectors.toList());*/ - - List orderBodyDOS = orderBodyMapper.selectGroup(orderId); - - - return BeanUtils.toBean(orderBodyDOS, OrderPlateGroupRespVO.class); - - - } - - - // 查看配件包裹详情 - @Override - public List queryPackageDetails(PrintOrderPackReqVO reqVO) { - - return orderPartsMapper.selectOrderParts(reqVO.getOrderNo(), reqVO.getPackageNo()); - - } - - - // 新增包裹 - @Override - @Transactional(rollbackFor = Exception.class) - public OrderPackageDO insertPack(OrderPackReqVO packageVO) { - -// List orderPackageDOS = orderPackageMapper.selectPackStatus(packageVO.getOrderId(),getUserOrganId()); -// for (OrderPackageDO orderPackageDO : orderPackageDOS) { -// Integer status = orderPackageDO.getStatus(); -// if (status.equals(OrderPackageStatusEnum.UNPACKED.getStatus())){ -// throw ServiceExceptionUtil.exception(ErrorCodeConstants.THE_CURRENT_PACKAGE_HAS_AN_UNSEALED_PACKAGE); -// } -// } - - - OrderPackageDO orderPackageDO = new OrderPackageDO(); - orderPackageDO.setOrderId(packageVO.getOrderId()); - // 判断板材和配件哪个有数据,新增对应的类型 -// if(!packageVO.getAddPlateIdList().isEmpty()){ -// orderPackageDO.setType(OrderPackageTypeEnum.PLATE.getType()); -// }else { -// orderPackageDO.setType(OrderPackageTypeEnum.PARTS.getType()); -// } - orderPackageDO.setType(OrderPackageTypeEnum.PLATE.getType()); - orderPackageDO.setPackageNo(PackageNoUtil.randomPageNo()); -// orderPackageDO.setPackageNo(packageVO.getPackNo()); - orderPackageDO.setStatus((OrderPackageStatusEnum.PACKAGED.getStatus())); - orderPackageDO.setRemark(packageVO.getRemark()); - orderPackageMapper.insert(orderPackageDO); - // 生产单明细表新增包裹 ID - orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), orderPackageDO.getId()); - - return orderPackageDO; - - -// // 不为 -1 ,有包裹存在,走更新逻辑 -// -// // 生产明细表新增包裹ID -// orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), packageVO.getPackId()); -// // 移除包裹ID -// orderItemMapper.deletePackId(packageVO.getDeletePlateIdList(), packageVO.getPackId()); -// -// return orderPackageMapper.selectByPackId(packageVO.getPackId()).setStatus(OrderPackageStatusEnum.PACKAGED.getStatus()); - - - } // 更新包裹 @@ -404,8 +332,8 @@ public class PackServiceImpl implements PackService { @Override public PrintOrderPackRespVO printOrderPack(PrintOrderPackReqVO reqVO) { - PrintOrderPackRespVO printOrderPackRespVO = productionStatusMapper.selectOrderPack(reqVO.getOrderNo(), reqVO.getPackageNo(),getUserOrganId()); - printOrderPackRespVO.setPlateList(orderItemMapper.selectPrintPlateList(reqVO.getOrderNo(), reqVO.getPackageNo(),getUserOrganId())); + PrintOrderPackRespVO printOrderPackRespVO = productionStatusMapper.selectOrderPack(reqVO.getOrderId(), reqVO.getPackageNo(),getUserOrganId()); + printOrderPackRespVO.setPlateList(orderItemMapper.selectPrintPlateList(reqVO.getOrderId(), reqVO.getPackageNo(),getUserOrganId())); return printOrderPackRespVO; @@ -462,8 +390,7 @@ public class PackServiceImpl implements PackService { // 在包裹表中添加包裹编号和生产单号,修改包裹类型未其他配件类型 OrderPackageDO orderPackageDO = new OrderPackageDO(); -// orderPackageDO.setPackageNo(PackageNoUtil.randomPageNo()); - orderPackageDO.setPackageNo(reqVO.getPackNo()); + orderPackageDO.setPackageNo(PackageNoUtil.randomPageNo()); orderPackageDO.setOrderId(reqVO.getOrderId()); orderPackageDO.setType(OrderPackageTypeEnum.OTHER_ACCESSORIES.getType()); 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 a49447a6c..f8d658103 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 @@ -21,6 +21,7 @@ import com.cf.imes.module.manage.dal.mysql.plate.OrderPlateMapper; import com.cf.imes.module.manage.dal.mysql.plate.PlateMapper; import com.cf.imes.module.manage.dal.mysql.process.*; import com.cf.imes.module.manage.dal.mysql.query.OrderItemMapper; +import com.cf.imes.module.system.api.process.ProcessApi; import com.cf.imes.module.system.enums.ErrorCodeConstants; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -48,7 +49,6 @@ import static com.cf.imes.module.manage.util.search.SearchUtil.insertSeparator; public class ProductionProcessServiceImpl implements ProductionProcessService { - @Resource private ProcessStepMapper processStepMapper; @@ -57,8 +57,6 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { private ProcessStepItemMapper processStepItemMapper; - - @Resource private OrderBodyMapper orderBodyMapper; @@ -70,6 +68,10 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { private OrderPlateMapper orderPlateMapper; + @Resource + private ProcessApi processApi; + + @@ -153,6 +155,27 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { } + + // 判断生产单工序的加工类型是否为板材 + if(processStepStatuses.getType().equals(ProcessProcessingTypeEnum.PLATE.getNumber())){ + + processStepMapper.updateStatusByName(reqVo.getProcessStepId(),nickname); + + processStepItemMapper.updateStatusByBodyId(reqVo.getGoodsId()); + + List orderProcessStepItemNDOS = processStepItemMapper.selectStemById(reqVo.getProcessStepId(),ProcessingStatusEnum.RAW.getStatus(),getUserOrganId()); + if(orderProcessStepItemNDOS.isEmpty()){ + + // 修改生产单工序步骤表的状态并计算工资 + BigDecimal area = processStepItemMapper.selectAreaByProcessId(reqVo.getProcessStepId(),processStepStatuses.getOrderId(),getUserOrganId()); + + BigDecimal salary = processStepMapper.calculateSalary(reqVo.getProcessStepId(), area,null,getUserOrganId()); + + processStepMapper.updateStatusById(reqVo.getProcessStepId(),salary); + + } + + } try { BigDecimal salary = calculateSalary(reqVo.getProcessStepId()); @@ -178,11 +201,15 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { public BigDecimal calculateSalary(Long processStepId){ // 查询当前工序对应的板材的面积 - BigDecimal area = processStepItemMapper.selectAreaByProcessStepId(processStepId); + BigDecimal area = processStepItemMapper.selectAreaByProcessStepId(processStepId,getUserOrganId()); + + + // 查询组件加工的工资 + BigDecimal pieceRate = processApi.getProcess(); // 计算当前工序的工资金额 - BigDecimal salary = processStepMapper.calculateSalary(processStepId, area); + BigDecimal salary = processStepMapper.calculateSalary(processStepId, area,pieceRate,getUserOrganId()); return salary; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java index 3a71795cc..7047dec27 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java @@ -18,6 +18,7 @@ import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.*; import com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRatePageReqVO; import com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRateReqVO; import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO; import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO; import com.cf.imes.module.manage.dal.mysql.pack.OrderPackageMapper; import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper; @@ -31,6 +32,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.util.List; +import java.util.Objects; import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId; @@ -124,11 +126,21 @@ public class ProductionStatusServiceImpl implements ProductionStatusService { IPage priceRateReqVOS = processStepMapper.selectSalaryList(page,pageReqVO,getUserOrganId()); - if (CollectionUtil.isEmpty(priceRateReqVOS.getRecords())) { return new PageResult<>(); } + List orderProcessStepNDOS = processStepMapper.selectProcessList(getUserOrganId()); + + for (PriceRateReqVO record : priceRateReqVOS.getRecords()) { + record.setAmount(orderProcessStepNDOS + .stream() + .filter( f -> Objects.equals(f.getProcessinfoId(),record.getProcessId())) + .filter(f -> Objects.equals(f.getName(),record.getName())) + .filter(f -> Objects.equals(f.getManager(),record.getManager())) + .mapToDouble(OrderProcessStepNDO::getSalaryAmount).sum()); + } + return new PageResult<>(priceRateReqVOS.getRecords(), priceRateReqVOS.getTotal()); @@ -219,7 +231,7 @@ public class ProductionStatusServiceImpl implements ProductionStatusService { PageDTO page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); - IPage plateDetailsRespVOS = orderPackageMapper.selectMissingBoard(page,pageReqVO.getOrderNo(),getUserOrganId()); + IPage plateDetailsRespVOS = orderPackageMapper.selectMissingBoard(page,pageReqVO.getOrderId(),getUserOrganId()); if (CollectionUtil.isEmpty(plateDetailsRespVOS.getRecords())) { return new PageResult<>(); 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 e4d4bbd65..4feee6f16 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 @@ -4,8 +4,9 @@ - - + + + @@ -14,17 +15,22 @@ resultMap="PackMap"> - select DISTINCT - count(DISTINCT oi.package_id ) as numberOfPackages, - count(DISTINCT oi.plate_id) as packagedBoard + select + op.order_id as id, + count(distinct op.id) as packCount , + count(distinct oi.plate_id) as packPieceCount - from order_package opn - join order_item oi on opn.id = oi.package_id - WHERE opn.order_id IN - + from order_package op + join order_item oi on op.order_id = oi.order_id and op.organ_id = oi.organ_id + where op.status <> 0 + and oi.package_id != 0 + and oi.plate_id != 0 + and op.order_id in + #{id} - and opn.status <> 0; + group by op.order_id; + @@ -82,6 +88,7 @@ oi.order_id = #{orderNo} and oi.organ_id = #{organId} + and oi.plate_id != 0 and op.id not in ( select DISTINCT oi2.plate_id 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 134ca1b26..60f6aaf77 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 @@ -41,10 +41,24 @@ + + + + update order_process_step_item opsi + + set opsi.status = true + + where opsi.body_id = #{goodsId} + + + + + + + + \ No newline at end of file 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 50efcc099..e513af47b 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 @@ -40,6 +40,7 @@ + @@ -56,6 +57,7 @@ select distinct + og.id as goodsId, ops.order_id as orderId, o.custom_order_no as customOrderNo, o.customer as customer, @@ -70,7 +72,7 @@ from order_process_step ops join `orders` o on ops.order_id = o.id and ops.organ_id = o.organ_id and o.deleted = 0 join order_process_step_item opsi on ops.id = opsi.process_step_id and ops.organ_id = opsi.organ_id - + left join order_goods og on opsi.body_id = og.id ops.organ_id = #{organId} @@ -83,7 +85,7 @@ and opsi.status = #{pageReqVO.processStatus} - and ops.order_id = #{pageReqVO.orderId} + and ops.order_id like concat('%',#{pageReqVO.orderId},'%') and o.custom_order_no like concat('%', #{pageReqVO.customOrderNo},'%') @@ -105,10 +107,11 @@ - - - - + + + + + @@ -116,27 +119,23 @@ resultMap="priceResultMap" parameterType="map"> - select ops.name as name , - ops.piece_rate as piece_rate , - ops.piece_type as piece_type, - ops.manager as manager, - SUM(CASE - WHEN ops.piece_type = 1 THEN ops.piece_rate - ELSE ROUND((op.size / ops.piece_rate), 2) * ops.piece_rate - END) AS total_piece_rate, - - SUM(CASE - WHEN ops.piece_type = 1 THEN 1 - ELSE ROUND((op.size / ops.piece_rate), 2) - END) AS total_piece_num + select distinct + ops.processinfo_id as processId, + ops.name as name , + ops.piece_rate as priceRate , + ops.piece_type as priceType , + ops.manager as manager, + (case when ops.type = 7 then count(distinct ops.id , opsi.name) + else count(distinct ops.id) end) as num from order_process_step ops - join order_process op on ops.order_process_id = op.id and ops.organ_id = op.organ_id + join order_process_step_item opsi on ops.id = opsi.process_step_id and ops.organ_id = opsi.organ_id + ops.organ_id =#{organId} - - and ops.manager = #{pageReqVO.creator} + + and ops.manager = #{pageReqVO.manager} and ops.name = #{pageReqVO.name} @@ -148,11 +147,10 @@ and ops.piece_rate <> 0 and ops.status = true - and ops.organ_id =#{organId} and ops.manager != '' - group by name,piece_rate,piece_type,creator; + group by ops.processinfo_id,ops.name ,ops.piece_rate ,ops.piece_type ,ops.manager,ops.type,ops.organ_id,opsi.organ_id; @@ -193,13 +191,25 @@ - select distinct case when ops.piece_type = 1 then ops.piece_rate * count(distinct opsi.name) - else ROUND(ops.piece_rate * ROUND((op.size/ #{area}),3),3) end as rate + select distinct case when ops.type = 7 then #{pieceRate} * count(distinct opsi.name) + else ROUND(ops.piece_rate * #{area},3) end as rate from order_process_step ops join order_process_step_item opsi on ops.id = opsi.process_step_id and ops.organ_id = opsi.organ_id - join order_process op on ops.order_process_id = op.id and ops.organ_id = op.organ_id - where ops.id = #{processStepId} - group by ops.piece_type,piece_rate,op.size; + where ops.id = #{processStepId} and ops.organ_id = #{organId} + group by ops.type,piece_rate; + + + + + diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml index a6f0cb110..c2088efc7 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml @@ -4,7 +4,11 @@ - + + + + + @@ -20,6 +24,7 @@ select distinct + op.id as partsId, op.name as name, op.model as model, op.spec as spec, @@ -27,6 +32,9 @@ op.brand as brand, op.material as material, op.factory as factory, + op.type as type, + op.remark as remark, + op.is_composite as isComposite, oi.num as num from order_parts op @@ -62,13 +70,11 @@ select distinct - op.id as partsId,op.name,op.model,op.spec,count(op.name) as num,op.unit,op.brand,op.factory,op.remark + op.id as partsId,op.name,op.model,op.spec,oi.num as num,op.unit,op.brand,op.factory,op.remark from order_parts op join order_item oi on op.id = oi.parts_id and op.organ_id = oi.organ_id - where op.order_id = #{orderId} and oi.package_id = 0 - - group by partsId,op.name,op.model,op.spec,op.unit,op.brand,op.factory,op.remark; + where op.organ_id = #{organId} and op.order_id = #{orderId} and oi.package_id = 0 @@ -76,33 +82,6 @@ - - - diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml index 43a3d397a..b32806d44 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml @@ -72,19 +72,19 @@ o.address as address, o.salesman as salesman, o.splitter as splitter, - o.status as status - + o.status as status, + count(distinct oi.plate_id) as totalPieceCount FROM `orders` o join order_item oi on o.id = oi.order_id and o.organ_id = oi.organ_id WHERE - o.organ_id = #{organId} and + o.organ_id = #{organId} and oi.plate_id != 0 and o.id in - + #{id} - + group by orderNo,customOrderNo,dealer,createTime,deliveryDate,customer,phoneNumber,address,salesman,splitter,status @@ -108,7 +108,7 @@ - + diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/process/ProcessApi.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/process/ProcessApi.java new file mode 100644 index 000000000..0be70c041 --- /dev/null +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/api/process/ProcessApi.java @@ -0,0 +1,29 @@ +package com.cf.imes.module.system.api.process; + + +import com.cf.imes.module.system.enums.ApiConstants; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.math.BigDecimal; + +@FeignClient(name = ApiConstants.NAME) // TODO 晨丰:fallbackFactory = +@Tag(name = "RPC 服务 - 工序") +public interface ProcessApi { + + + String PREFIX = ApiConstants.PREFIX + "/process"; + + + @GetMapping(PREFIX + "/getProcess") + @Operation(summary = "查看当前工序的信息") +// @Parameter(name = "processId", description = "工序ID", required = true, example = "1024") + BigDecimal getProcess(/*@RequestParam("processId") Long processId*/); + + + +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/process/ProcessApiImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/process/ProcessApiImpl.java new file mode 100644 index 000000000..d69a96aba --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/process/ProcessApiImpl.java @@ -0,0 +1,40 @@ +package com.cf.imes.module.system.api.process; + + +import com.cf.imes.framework.common.enums.ProcessProcessingTypeEnum; +import com.cf.imes.module.system.dal.dataobject.process.ProcessDO; +import com.cf.imes.module.system.dal.mysql.process.ProcessMapper; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.List; +import java.util.stream.Collectors; + +import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId; + +@RestController // 提供 RESTful API 接口,给 Feign 调用 +@Validated +public class ProcessApiImpl implements ProcessApi { + + + + @Resource + private ProcessMapper processMapper; + + + + + @Override + public BigDecimal getProcess() { + + ProcessDO processDO = processMapper.selectByType(ProcessProcessingTypeEnum.COMPONENTPROCESSING.getNumber(),getUserOrganId()); + + return processDO.getPieceRate(); + } + + + + +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/OrganController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/OrganController.java index 31cd94367..47a8e5a79 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/OrganController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/organ/OrganController.java @@ -68,14 +68,14 @@ public class OrganController { @PostMapping("/create") @Operation(summary = "创建组织") - @PreAuthorize("@ss.hasPermission('system:organ:create')") + @PreAuthorize("@ss.hasPermission('organizationLIst:create')") public CommonResult createOrgan(@Valid @RequestBody OrganSaveReqVO createReqVO) { return success(organService.createOrgan(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新组织") - @PreAuthorize("@ss.hasPermission('system:organ:update')") + @PreAuthorize("@ss.hasPermission('organizationLIst:update')") public CommonResult updateOrgan(@Valid @RequestBody OrganSaveReqVO updateReqVO) { organService.updateOrgan(updateReqVO); return success(true); @@ -84,7 +84,7 @@ public class OrganController { @DeleteMapping("/delete") @Operation(summary = "删除组织") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:organ:delete')") + @PreAuthorize("@ss.hasPermission('organizationLIst:delete')") public CommonResult deleteOrgan(@RequestParam("id") Long id) { organService.deleteOrgan(id); return success(true); @@ -93,7 +93,7 @@ public class OrganController { @GetMapping("/get") @Operation(summary = "获得组织") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('system:organ:query')") + @PreAuthorize("@ss.hasPermission('organizationLIst:query')") public CommonResult getOrgan(@RequestParam("id") Long id) { OrganizationDO organ = organService.getOrgan(id); TenantPackageDO tenantPackageDO = tenantPackageMapper.selectById(organ.getPackageId()); @@ -104,7 +104,7 @@ public class OrganController { @GetMapping("/page") @Operation(summary = "获得组织分页") - @PreAuthorize("@ss.hasPermission('system:organ:query')") + @PreAuthorize("@ss.hasPermission('organizationLIst:query')") public CommonResult> getOrganPage(@Valid OrganPageReqVO pageVO) { PageResult pageResult = organService.getOrganPage(pageVO); if(CollectionUtil.isEmpty(pageResult.getList())) { @@ -126,7 +126,7 @@ public class OrganController { @GetMapping("/export-excel") @Operation(summary = "导出组织 Excel") - @PreAuthorize("@ss.hasPermission('system:organ:export')") + @PreAuthorize("@ss.hasPermission('organizationLIst:export')") @OperateLog(type = EXPORT) public void exportOrganExcel(@Valid OrganPageReqVO exportReqVO, HttpServletResponse response) throws IOException { @@ -164,6 +164,7 @@ public class OrganController { @GetMapping({"/list-all-simple", "/simple-list"}) @Operation(summary = "获取组织精简信息列表", description = "主要用于前端的下拉选项") @Parameter(name = "name", description = "组织名称", required = false, example = "xxx") + @PreAuthorize("@ss.hasPermission('organizationLIst:query')") public CommonResult> getSimpleOrganList(@RequestParam(required = false, value = "name") String name) { return success(organService.getSimpleOrganList(name)); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessController.java index 46c893a24..07ff27d15 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessController.java @@ -5,7 +5,7 @@ import javax.validation.Valid; import javax.servlet.http.HttpServletResponse; -import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupRespVO; +import com.cf.imes.module.system.controller.admin.process.vo.processUser.UserProcessRespVO; import org.springframework.web.bind.annotation.*; import org.springframework.validation.annotation.Validated; @@ -129,6 +129,15 @@ public class ProcessController { + @GetMapping("/getUserProcess") + @Operation(summary = "获取当前组织的工序名称和加工人名称") + @PreAuthorize("@ss.hasPermission('manage:process:query')") + public CommonResult getUserProcess() { + + return success(processService.getUserProcessName()); + + + } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessAndUserRespVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessAndUserRespVO.java index 7e9061422..aeb28a91e 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessAndUserRespVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/ProcessAndUserRespVO.java @@ -6,17 +6,15 @@ import com.alibaba.excel.annotation.*; import java.time.LocalDateTime; -@Schema(description = "管理后台 - 工序用户表 process_user Response VO") +@Schema(description = "管理后台 - 工序用户表") @Data @ExcelIgnoreUnannotated public class ProcessAndUserRespVO { - @Schema(description = "工序 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9416") - @ExcelProperty("工序 ID") - private Long processId; + @Schema(description = "工序名称") + private String processName; - @Schema(description = "用户 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24517") - @ExcelProperty("用户 ID") + @Schema(description = "加工人ID") private Long userId; } \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/UserProcessRespVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/UserProcessRespVO.java new file mode 100644 index 000000000..70032c6ea --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/processUser/UserProcessRespVO.java @@ -0,0 +1,26 @@ +package com.cf.imes.module.system.controller.admin.process.vo.processUser; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + + +@Schema(description = "管理后台 - 工序和加工人信息") +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class UserProcessRespVO { + + @Schema(description = "工序名称") + private List processName; + + @Schema(description = "加工人") + private List processUser; + + +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/process/ProcessDO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/process/ProcessDO.java index a22a1e8ec..d06ccd802 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/process/ProcessDO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/dataobject/process/ProcessDO.java @@ -1,6 +1,8 @@ package com.cf.imes.module.system.dal.dataobject.process; import lombok.*; + +import java.math.BigDecimal; import java.util.*; import java.time.LocalDateTime; import java.time.LocalDateTime; @@ -34,7 +36,7 @@ public class ProcessDO extends BaseDO { /** * 计件工资 */ - private Double pieceRate; + private BigDecimal pieceRate; /** * 计件类型:1 数量 2 长度 3 平方 4 宽 5 高 6 体积 7 生产单金额百分比 */ diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessMapper.java index 0a27bc80e..5ca78e84c 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/process/ProcessMapper.java @@ -6,6 +6,7 @@ import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX; import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessPageReqVO; +import com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserRespVO; import com.cf.imes.module.system.dal.dataobject.process.ProcessDO; import com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO; import org.apache.ibatis.annotations.Mapper; @@ -64,4 +65,17 @@ public interface ProcessMapper extends BaseMapperX { } + + + + default ProcessDO selectByType(Integer number,Long organId) { + return selectOne(new MPJLambdaWrapperX() + .eq(ProcessDO::getOrganId, organId) + .eqIfPresent(ProcessDO::getType,number)); + + + } + + + List selectUserProcess(@Param("organId")Long organId); } \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java index 05d2f5b1a..6a6c7037a 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/dal/mysql/user/AdminUserMapper.java @@ -91,4 +91,13 @@ public interface AdminUserMapper extends BaseMapperX { .likeIfPresent(AdminUserDO::getPinyinInitial, namePyFirstChar) .orderByDesc(AdminUserDO::getId)); } + + + default List selectListByIds(List userIds, Long userOrganId) { + return selectList(new LambdaQueryWrapperX() + .eq(AdminUserDO::getOrganId, userOrganId) + .in(AdminUserDO::getId, userIds)); + } + + } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessService.java index c053feb95..58aad4335 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessService.java @@ -1,6 +1,7 @@ package com.cf.imes.module.system.service.process; import com.cf.imes.module.system.controller.admin.process.vo.process.*; +import com.cf.imes.module.system.controller.admin.process.vo.processUser.UserProcessRespVO; import com.cf.imes.module.system.dal.dataobject.process.ProcessDO; import com.cf.imes.framework.common.pojo.PageResult; @@ -68,4 +69,7 @@ public interface ProcessService { List getAllProcess(); List getUserProcess(Long userId); + + UserProcessRespVO getUserProcessName(); + } \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java index ad566c48e..42e32605c 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java @@ -6,9 +6,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; import com.cf.imes.framework.organ.core.context.OrganContextHolder; import com.cf.imes.module.system.controller.admin.process.vo.process.*; +import com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserRespVO; import com.cf.imes.module.system.controller.admin.process.vo.processUser.ProcessAndUserSaveReqVO; +import com.cf.imes.module.system.controller.admin.process.vo.processUser.UserProcessRespVO; import com.cf.imes.module.system.dal.dataobject.process.ProcessUserDO; import com.cf.imes.module.system.dal.mysql.process.ProcessGroupMapper; +import com.cf.imes.module.system.dal.mysql.user.AdminUserMapper; import com.cf.imes.module.system.enums.ErrorCodeConstants; import com.cf.imes.module.system.service.user.AdminUserService; import org.springframework.stereotype.Service; @@ -26,9 +29,11 @@ import com.cf.imes.module.system.dal.mysql.process.ProcessMapper; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId; import static com.cf.imes.module.executor.enums.ErrorCodeConstants.CUSTOM_ORDER_EXISTS; import static com.cf.imes.module.system.enums.ErrorCodeConstants.*; @@ -54,6 +59,9 @@ public class ProcessServiceImpl implements ProcessService { @Resource private AdminUserService adminUserService; + @Resource + private AdminUserMapper userMapper; + @Override @Transactional(rollbackFor = Exception.class) public Long createProcess(ProcessUserSaveReqVO createReqVO) { @@ -229,4 +237,28 @@ public class ProcessServiceImpl implements ProcessService { } + + @Override + public UserProcessRespVO getUserProcessName() { + + // 查询当前组织的工序信息和已经分配了加工人的工序信息 + List userProcessDTO = processMapper.selectUserProcess(getUserOrganId()); + List processName = userProcessDTO.stream().map(m -> m.getProcessName()).distinct().collect(Collectors.toList()); + + List userIds = userProcessDTO.stream().map(m -> m.getUserId()).distinct().collect(Collectors.toList()); + + + List userName = userMapper.selectListByIds(userIds, getUserOrganId()) + .stream().map(m -> m.getNickname()).collect(Collectors.toList()); + + + return UserProcessRespVO.builder() + .processName(processName) + .processUser(userName) + .build(); + + + } + + } \ No newline at end of file diff --git a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/ProcessMapper.xml b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/ProcessMapper.xml index e434c3d82..404234698 100644 --- a/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/ProcessMapper.xml +++ b/cf-module-system/cf-module-system-biz/src/main/resources/mapper/process/ProcessMapper.xml @@ -68,8 +68,26 @@ where p.id = #{id} and p.organ_id = #{organId} and p.deleted = 0 + DELETE FROM process WHERE id = #{id}; + + + + + + + \ No newline at end of file