From 443312552f276f179f6f2a57b86ed04c2dcfff1e Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Mon, 1 Apr 2024 10:00:52 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=B7=A5=E5=BA=8F-?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2-=E5=88=86=E5=A0=86-=E6=89=93=E5=8C=85?= =?UTF-8?q?=E4=BB=A3=E7=A0=811.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/enums/OrderPackageStatusEnum.java | 24 ++ .../common/enums/OrderPackageTypeEnum.java | 27 ++ .../common/enums/ProcessingStatusEnum.java | 26 ++ .../cf-module-prod-manage-biz/pom.xml | 42 ++ .../admin/grouping/GroupingController.java | 148 +++++++ .../admin/grouping/vo/ExportJsonReqVO.java | 32 ++ .../admin/grouping/vo/GroupPlateReqVO.java | 27 ++ .../admin/grouping/vo/JoinedPlateReqVO.java | 25 ++ .../admin/grouping/vo/OrderPackageReqVO.java | 52 +++ .../admin/grouping/vo/OrderPageReqVO.java | 47 ++ .../grouping/vo/OrderPlateListRespVO.java | 61 +++ .../controller/admin/pack/PackController.java | 318 ++++++++++++++ .../admin/pack/vo/DeleteOtherPartsReqVO.java | 31 ++ .../admin/pack/vo/OrderPackReqVO.java | 41 ++ .../admin/pack/vo/OrderPartsReqVO.java | 20 + .../admin/pack/vo/OrderPartsRespVO.java | 49 +++ .../admin/pack/vo/OrderPlateGroupRespVO.java | 28 ++ .../admin/pack/vo/OtherPackReqVO.java | 47 ++ .../admin/pack/vo/PackPageReqVO.java | 37 ++ .../controller/admin/pack/vo/PackReqVO.java | 28 ++ .../controller/admin/pack/vo/PackRespVO.java | 74 ++++ .../admin/pack/vo/PlateDetailsRespVO.java | 81 ++++ .../admin/pack/vo/PrintOrderPackReqVO.java | 23 + .../admin/pack/vo/PrintOrderPackRespVO.java | 47 ++ .../process/ProductionProcessController.java | 111 +++++ .../process/vo/OrderPorcessStepItemVO.java | 31 ++ .../admin/process/vo/OrderProcessReqVO.java | 24 ++ .../admin/process/vo/ProcessPageReqVO.java | 38 ++ .../admin/process/vo/ProcessRespVO.java | 73 ++++ .../admin/process/vo/ProcessStepVo.java | 21 + .../query/ProductionStatusController.java | 196 +++++++++ .../query/vo/pack/OrderPackagePageReqVO.java | 23 + .../admin/query/vo/pack/OrderPackageVO.java | 49 +++ .../query/vo/pack/PackageDetailsRespVO.java | 85 ++++ .../admin/query/vo/pack/PrintOrderRespVO.java | 35 ++ .../vo/productionStatus/OrderModuleReqVO.java | 19 + .../vo/productionStatus/OrderModuleVO.java | 19 + .../productionStatus/OrderPlatePageReqVO.java | 47 ++ .../vo/productionStatus/OrderPlateRespVO.java | 35 ++ .../vo/productionStatus/PlatePageVO.java | 20 + .../productionStatus/ProductionGroupVO.java | 35 ++ .../query/vo/salary/PriceRatePageReqVO.java | 44 ++ .../admin/query/vo/salary/PriceRateReqVO.java | 32 ++ .../dal/dataobject/pack/OrderBodyDO.java | 62 +++ .../dal/dataobject/process/OrderDO.java | 58 +++ .../dataobject/process/OrderProcessNDO.java | 35 ++ .../process/OrderProcessStepItemNDO.java | 41 ++ .../process/OrderProcessStepNDO.java | 72 ++++ .../dal/dataobject/query/OrderItemDO.java | 51 +++ .../dal/dataobject/query/OrderPackageDO.java | 47 ++ .../dal/dataobject/query/OrderPartsNDO.java | 68 +++ .../dal/mysql/pack/OrderBodyMapper.java | 22 + .../dal/mysql/pack/OrderPackageMapper.java | 55 +++ .../dal/mysql/process/OrderProcessMapper.java | 52 +++ .../mysql/process/ProcessStepItemMapper.java | 28 ++ .../dal/mysql/process/ProcessStepMapper.java | 69 +++ .../process/ProductionProcessMapper.java | 50 +++ .../dal/mysql/query/OrderItemMapper.java | 76 ++++ .../dal/mysql/query/OrderPartsMapper.java | 39 ++ .../mysql/query/ProductionStatusMapper.java | 69 +++ .../service/grouping/GroupingService.java | 36 ++ .../service/grouping/GroupingServiceImpl.java | 123 ++++++ .../manage/service/pack/PackService.java | 82 ++++ .../manage/service/pack/PackServiceImpl.java | 321 ++++++++++++++ .../process/ProductionProcessService.java | 41 ++ .../process/ProductionProcessServiceImpl.java | 177 ++++++++ .../query/ProductionStatusService.java | 67 +++ .../query/ProductionStatusServiceImpl.java | 239 +++++++++++ .../manage/util/page/PageHelperUtil.java | 21 + .../dal/mysql/pack/OrderPackageMapper.xml | 103 +++++ .../mysql/process/ProcessStepItemMapper.xml | 63 +++ .../dal/mysql/process/ProcessStepMapper.xml | 50 +++ .../dal/mysql/query/OrderItemMapper.xml | 405 ++++++++++++++++++ .../dal/mysql/query/OrderPartsMapper.xml | 106 +++++ .../mysql/query/ProductionStatusMapper.xml | 114 +++++ .../system/enums/ErrorCodeConstants.java | 9 + .../admin/process/ProcessGroupController.java | 5 +- .../vo/group/ProcessGroupSaveReqVO.java | 6 + .../service/process/ProcessGroupService.java | 2 +- .../process/ProcessGroupServiceImpl.java | 3 +- 80 files changed, 5134 insertions(+), 5 deletions(-) create mode 100644 cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/OrderPackageStatusEnum.java create mode 100644 cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/OrderPackageTypeEnum.java create mode 100644 cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/ProcessingStatusEnum.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/GroupingController.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/ExportJsonReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/GroupPlateReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/JoinedPlateReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPackageReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPageReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPlateListRespVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPackReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPartsReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPartsRespVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPlateGroupRespVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OtherPackReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackPageReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackRespVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateDetailsRespVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PrintOrderPackReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PrintOrderPackRespVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/ProductionProcessController.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderPorcessStepItemVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProcessReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessPageReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessRespVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessStepVo.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/ProductionStatusController.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/OrderPackagePageReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/OrderPackageVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/PackageDetailsRespVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/PrintOrderRespVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderModuleReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderModuleVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderPlatePageReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderPlateRespVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/PlatePageVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/ProductionGroupVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/salary/PriceRatePageReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/salary/PriceRateReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/pack/OrderBodyDO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderDO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessNDO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepItemNDO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepNDO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderItemDO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderPackageDO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderPartsNDO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderBodyMapper.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/OrderProcessMapper.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingService.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingServiceImpl.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackService.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/page/PageHelperUtil.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.xml create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.xml create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/OrderPackageStatusEnum.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/OrderPackageStatusEnum.java new file mode 100644 index 000000000..c3d67f42c --- /dev/null +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/OrderPackageStatusEnum.java @@ -0,0 +1,24 @@ +package com.cf.imes.framework.common.enums; + + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public enum OrderPackageStatusEnum { + + UNPACKED(0,"未封包"), + PACKAGED(1, "已封包"); + private Integer status; + private String description; + + public boolean equals(Integer status) { + return this.status .equals(status) ; + } + + public boolean equals(OrderPackageStatusEnum enableStatusEnum) { + return enableStatusEnum != null && enableStatusEnum.status .equals(this.getStatus()) ; + } + +} diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/OrderPackageTypeEnum.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/OrderPackageTypeEnum.java new file mode 100644 index 000000000..cbf675cd2 --- /dev/null +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/OrderPackageTypeEnum.java @@ -0,0 +1,27 @@ +package com.cf.imes.framework.common.enums; + + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public enum OrderPackageTypeEnum { + + UNDEFINED(-1,"未定义"), + PLATE(0,"板材"), + PARTS(1,"配件"), + OTHER_ACCESSORIES(2,"其他配件"); + private Integer type; + private String description; + + public boolean equals(Integer type) { + return this.type .equals(type) ; + } + + public boolean equals(OrderPackageTypeEnum enableTypeEnum) { + return enableTypeEnum != null && enableTypeEnum.type .equals(this.getType()) ; + } + + +} diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/ProcessingStatusEnum.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/ProcessingStatusEnum.java new file mode 100644 index 000000000..e437f4ac9 --- /dev/null +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/ProcessingStatusEnum.java @@ -0,0 +1,26 @@ +package com.cf.imes.framework.common.enums; + + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +@AllArgsConstructor +@Getter +public enum ProcessingStatusEnum { + + RAW(false,"未加工"), + PROCESSED(true, "已加工"); + private Boolean status; + private String description; + + public boolean equals(Integer status) { + return this.status .equals(status) ; + } + + public boolean equals(ProcessingStatusEnum enableStatusEnum) { + return enableStatusEnum != null && enableStatusEnum.status .equals(this.getStatus()) ; + } +} + diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml index 3ad97e066..326099bba 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml @@ -136,6 +136,48 @@ com.cf.imes cf-spring-boot-starter-excel + + + + + com.github.pagehelper + pagehelper + 6.1.0 + + + com.github.jsqlparser + jsqlparser + + + + + com.github.pagehelper + sqlparser4.5 + 6.1.0 + + + + + + + + com.hynnet + jacob + 1.18 + + + + + com.google.code.gson + gson + 2.8.8 + + + + + + + diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/GroupingController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/GroupingController.java new file mode 100644 index 000000000..e8d6224e2 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/GroupingController.java @@ -0,0 +1,148 @@ +package com.cf.imes.module.manage.controller.admin.grouping; + + +import com.cf.imes.framework.common.pojo.CommonResult; +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.module.manage.controller.admin.grouping.vo.*; +import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; +import com.cf.imes.module.manage.service.grouping.GroupingService; +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.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static com.cf.imes.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 分堆 ") +@RestController +@RequestMapping("/manage/grouping") +@Validated +public class GroupingController { + + + + @Resource + private GroupingService groupingService; + + + + + + @GetMapping("/select") + @Operation(summary = "查询订单") + @PreAuthorize("@ss.hasPermission('manage:grouping:query')") + public CommonResult> getGroupingList(@Valid OrderPageReqVO pageReqVO) { + + PageResult groupingList = groupingService.getGroupingList(pageReqVO); + + return success(BeanUtils.toBean(groupingList, ProcessRespVO.class)); + + } + + + + + + + @GetMapping("/notJoinedPlate") + @Operation(summary = "查看订单的板材信息(未加入包裹的板材信息)") + @PreAuthorize("@ss.hasPermission('manage:grouping:query')") + public CommonResult> notJoinedGroupingPlateList(@Valid OrderModuleReqVO reqVO) { + + return success(groupingService.notJoinedGroupingPlateList(reqVO)); + + } + + + + + + + @GetMapping("/joinedPlate") + @Operation(summary = "查看订单的板材信息(已将加入包裹的板材信息)") + @PreAuthorize("@ss.hasPermission('manage:grouping:query')") + public CommonResult> joinedGroupPlateList(@Valid JoinedPlateReqVO reqVO) { + + return success(groupingService.joinedGroupPlateList(reqVO)); + + } + + + + + + + + @PutMapping("/insertPlate") + @Operation(summary = "包裹表新增板件(加入)") + @Parameter(name = "plateId", description = "板材id", required = true) + @PreAuthorize("@ss.hasPermission('manage:grouping:create')") + public CommonResult insertPackPlate(@Valid @RequestParam("plateId") Long plateId) { + + groupingService.insertPackPlate(plateId); + + return success(true); + + } + + + + + + @PutMapping("/update") + @Operation(summary = "移除包裹板材信息") + @Parameter(name = "plateId", description = "板材id", required = true) + @PreAuthorize("@ss.hasPermission('manage:grouping:update')") + public CommonResult removePackPlate(@Valid @RequestParam("plateId") Long plateId) { + + groupingService.removePackPlate(plateId); + + return success(true); + + } + + + + + + + @PostMapping("/insert") + @Operation(summary = "新增分堆(包裹)") + @PreAuthorize("@ss.hasPermission('manage:grouping:create')") + public CommonResult insertGrouping(@Valid @RequestBody OrderPackageReqVO packageReqVO) { + + return success(groupingService.insertGrouping(packageReqVO)); + + + } + + + + + @GetMapping("/export") + @Operation(summary = "查看订单的板材信息(已将加入包裹的板材信息)") + @PreAuthorize("@ss.hasPermission('manage:grouping:export')") + public void exportData(@Valid ExportJsonReqVO reqVO) { + + + + + + } + + + + + + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/ExportJsonReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/ExportJsonReqVO.java new file mode 100644 index 000000000..1a3b76734 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/ExportJsonReqVO.java @@ -0,0 +1,32 @@ +package com.cf.imes.module.manage.controller.admin.grouping.vo; + + +import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +import java.util.List; + +@Schema(description = "管理后台 - 数据导出 Request VO") +@Data +@ToString(callSuper = true) +public class ExportJsonReqVO { + + + @Schema(description = "板材信息", requiredMode = Schema.RequiredMode.REQUIRED) + private List Plates; + + + @Schema(description = "模块信息", requiredMode = Schema.RequiredMode.REQUIRED) + private List modules; + + @Schema(description = "已分堆", requiredMode = Schema.RequiredMode.REQUIRED) + private List alreadyGrouping; + + + @Schema(description = "未分堆", requiredMode = Schema.RequiredMode.REQUIRED) + private List notYetGrouping; + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/GroupPlateReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/GroupPlateReqVO.java new file mode 100644 index 000000000..741000ca1 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/GroupPlateReqVO.java @@ -0,0 +1,27 @@ +package com.cf.imes.module.manage.controller.admin.grouping.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 新增包裹板材信息 Request VO") +@Data +public class GroupPlateReqVO { + + @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + @NotNull(message = "生产单号不能为空") + private Long orderNo; + + + @Schema(description = "板件id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + @NotNull(message = "板件id不能为空") + private Long plateId; + + + @Schema(description = "房间名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + @NotNull(message = "房间名称不能为空") + private String roomName; + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/JoinedPlateReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/JoinedPlateReqVO.java new file mode 100644 index 000000000..3fc3a37a5 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/JoinedPlateReqVO.java @@ -0,0 +1,25 @@ +package com.cf.imes.module.manage.controller.admin.grouping.vo; + + +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +import java.util.List; + +@Schema(description = "管理后台 - Request VO") +@Data +@ToString(callSuper = true) +public class JoinedPlateReqVO extends PageParam { + + @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Long orderNo; + + + @Schema(description = "包裹ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "3,4,5") + private List packageIdList; + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPackageReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPackageReqVO.java new file mode 100644 index 000000000..5ef0eba5d --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPackageReqVO.java @@ -0,0 +1,52 @@ +package com.cf.imes.module.manage.controller.admin.grouping.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 生产单包裹表 order_package_{N}新增/修改 Request VO") +@Data +public class OrderPackageReqVO { + + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "4399") + private Long id; + + + @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + @NotNull(message = "生产单号不能为空") + private Long orderNo; + + + @Schema(description = "包裹编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + @NotNull(message = "包裹编号不能为空") + private Long packageNo; + + + @Schema(description = "包裹类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + @NotNull(message = "包裹类型不能为空(0:板材)") + private Long type; + + + @Schema(description = "包裹名", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + @NotNull(message = "包裹名不能为空") + private String name; + + + @Schema(description = "包裹状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + @NotNull(message = "包裹状态不能为空(默认为:0:未打包") + private Long status; + + + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + private String remark; + + + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPageReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPageReqVO.java new file mode 100644 index 000000000..7a1d95ed6 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPageReqVO.java @@ -0,0 +1,47 @@ +package com.cf.imes.module.manage.controller.admin.grouping.vo; + + +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; +import java.util.List; + +import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; + +@Schema(description = "管理后台 - 生产单表 order_{N} 分页 Request VO ") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class OrderPageReqVO extends PageParam { + + @Schema(description = "工序 id") + private Long id; + + @Schema(description = "生产单号") + private Long orderNo; + + @Schema(description = "自定义单号") + private String customOrderNo; + + @Schema(description = "客户") + private String customer; + + @Schema(description = "地址") + private String address; + + @Schema(description = "开始时间",requiredMode = Schema.RequiredMode.REQUIRED) + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDateTime[] startTime; + + @Schema(description = "结束时间",requiredMode = Schema.RequiredMode.REQUIRED) + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDateTime[] endTime; + + @Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "false") + private List statusList; +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPlateListRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPlateListRespVO.java new file mode 100644 index 000000000..e12bcbbf9 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPlateListRespVO.java @@ -0,0 +1,61 @@ +package com.cf.imes.module.manage.controller.admin.grouping.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 生产单版件表 Response VO") +@Data +public class OrderPlateListRespVO { + + + @Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + private Long orderNo; + + + @Schema(description = "生产单明细ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long ItemID; + + + @Schema(description = "板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + private Long id; + + @Schema(description = "板名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + private String name; + + @Schema(description = "板材名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + private String plateName; + + @Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED) + private String color; + + @Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double width; + + @Schema(description = "高度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double height; + + @Schema(description = "厚度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double thickness; + + @Schema(description = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板", requiredMode = Schema.RequiredMode.REQUIRED) + private String material; + + + @Schema(description = "加工组", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + private String groupName; + + + @Schema(description = "房间名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + private String roomName; + + + @Schema(description = "柜体名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + private String bodyName; + + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + private String remark; + + +} 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 new file mode 100644 index 000000000..6be894a8f --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java @@ -0,0 +1,318 @@ +package com.cf.imes.module.manage.controller.admin.pack; + + +import com.cf.imes.framework.common.pojo.CommonResult; +import com.cf.imes.framework.common.pojo.PageParam; +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.framework.excel.core.util.ExcelUtils; +import com.cf.imes.framework.operatelog.core.annotations.OperateLog; +import com.cf.imes.module.manage.controller.admin.grouping.vo.OrderPackageReqVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.*; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO; +import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO; +import com.cf.imes.module.manage.service.pack.PackService; +import com.cf.imes.module.manage.service.query.ProductionStatusService; +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.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +import java.io.IOException; +import java.util.List; + +import static com.cf.imes.framework.common.pojo.CommonResult.success; +import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 生产打包 ") +@RestController +@RequestMapping("/manage/pack") +@Validated +public class PackController { + + + + @Resource + private PackService packService; + + + + @Resource + private ProductionStatusService productionStatusService; + + + + + @GetMapping("/page") + @Operation(summary = "打包分页查询") + @PreAuthorize("@ss.hasPermission('manage:pack:query')") + public CommonResult> getPlatePage(@Valid PackPageReqVO pageReqVO) { + + return CommonResult.success(packService.getPackPage(pageReqVO)); + + } + + + + + + + @GetMapping("/getOrderPack") + @Operation(summary = "查看生产订单对应的包裹信息") + @Parameter(name = "orderId", description = "生产单Id", required = true) + @PreAuthorize("@ss.hasPermission('manage:pack:query')") + public CommonResult> getOrderPack(@Valid @RequestParam("orderId") Long orderId) { + List orderPack = packService.getOrderPack(orderId); + return success(BeanUtils.toBean(orderPack,OrderPackageVO.class)); + + } + + + + + + + @GetMapping("/getOrderPlate") + @Operation(summary = "查看生产订单对应的板材信息") + @Parameter(name = "orderId", description = "生产单Id", required = true) + @PreAuthorize("@ss.hasPermission('manage:pack:query')") + public CommonResult> getOrderPlateList(@Valid @RequestParam("orderId") Long orderId) { + + return success(packService.getOrderPlateList(orderId)); + + } + + + + + + + @GetMapping("/export") + @Operation(summary = "导出缺板") + @PreAuthorize("@ss.hasPermission('manage:pack:export')") + @OperateLog(type = EXPORT) + public void exportPlateExcel(@Valid OrderPartsReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = productionStatusService.getMissingBoard(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "缺板信息表.xlsx", "数据", PlateDetailsRespVO.class, list); + + } + + + + + + + @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')") + public CommonResult> getParts(@Valid OrderPartsReqVO reqVO) { + + return success(packService.getPartsList(reqVO)); + + + } + + + + + + + // TODO 目前前端接口只有查询配件包裹时会调用,板材是否会调用待确认 + @GetMapping("/getPartsPack") + @Operation(summary = "查看配件包裹详情") + @PreAuthorize("@ss.hasPermission('manage:pack:query')") + public CommonResult> queryPackageDetails(@Valid PrintOrderPackReqVO reqVO){ + + return success(packService.queryPackageDetails(reqVO)); + + + } + + + + + + + @PutMapping("/insert") + @Operation(summary = "包裹封包-板材包裹封包") + @PreAuthorize("@ss.hasPermission('manage:pack:update')") + public CommonResult updatePackStatus(@Valid @RequestBody OrderPackReqVO packageVO) { + + return success(packService.updatePackStatus(packageVO)); + + } + + + + + + + + + @PutMapping("/unpacking") + @Operation(summary = "拆包") + @PreAuthorize("@ss.hasPermission('manage:pack:update')") + public CommonResult unpacking(@Valid Long packageID) { + + packService.unpacking(packageID); + + return success(true); + } + + + + + + + + + @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')") + public CommonResult printOrderPack (@Valid PrintOrderPackReqVO reqVO) { + + return success(packService.printOrderPack(reqVO)); + + } + + + + + + @PostMapping("/insertParts") + @Operation(summary = "新增配件-即新增一个包裹") + @PreAuthorize("@ss.hasPermission('manage:pack:insert')") + public CommonResult addNewPartsPack (@Valid @RequestBody OrderPackReqVO reqVO) { + + return success(packService.addNewPartsPack(reqVO)); + + } + + + + + + + + @PostMapping("/insertOther") + @Operation(summary = "新增外部配件-即新增一个包裹") + @PreAuthorize("@ss.hasPermission('manage:pack:insert')") + public CommonResult addNewOtherParts (@Valid @RequestBody OtherPackReqVO reqVO) { + + return success(packService.addNewOtherParts(reqVO)); + + } + + + + + + + + @DeleteMapping("/delete") + @Operation(summary = "删除包裹及其关联的包裹信息(删除全部)") + @PreAuthorize("@ss.hasPermission('manage:pack:delete')") + public CommonResult deleteOrderPack (@Valid @RequestBody PackReqVO reqVO) { + + packService.deleteOrderPack(reqVO); + return success(true); + + } + + + + + + + + @DeleteMapping("/deleteOtherParts") + @Operation(summary = "删除配件包裹中的配件(删除某一个)") + @PreAuthorize("@ss.hasPermission('manage:pack:delete')") + public CommonResult deleteOtherParts (@Valid @RequestBody DeleteOtherPartsReqVO reqVO) { + + packService.deleteOtherParts(reqVO); + return success(true); + + + } + + + + + + + + @PostMapping("/insertaabbcc") + @Operation(summary = "测试包裹") + @PreAuthorize("@ss.hasPermission('manage:pack:insert')") + public CommonResult testpack (@Valid @RequestBody OrderPackageReqVO reqVO) { + + // + return success(packService.testpack(reqVO)); + + + } + + + + + + + + // TODO 查询接口是否需要定义 +/* + @GetMapping("/query") + @Operation(summary = "板材列表下的查询") + @PreAuthorize("@ss.hasPermission('manage:pack:query')") + public CommonResult> GetOrderPlateGroup(@Valid Long orderId) { + + return success(packService.GetOrderPlateGroup(orderId)); + + } +*/ + + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java new file mode 100644 index 000000000..236f26f7d --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java @@ -0,0 +1,31 @@ +package com.cf.imes.module.manage.controller.admin.pack.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +@Schema(description = "管理后台 - 删除其他配件 Request VO") +@Data +@ToString(callSuper = true) +public class DeleteOtherPartsReqVO { + + + @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) + private Long orderId; + + + @Schema(description = "包裹Id", requiredMode = Schema.RequiredMode.REQUIRED) + private Long packageId; + + + @Schema(description = "明细ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long itemId; + + + @Schema(description = "是否是其他类型的包裹", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean isOther; + + +} + diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPackReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPackReqVO.java new file mode 100644 index 000000000..1aab14e18 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPackReqVO.java @@ -0,0 +1,41 @@ +package com.cf.imes.module.manage.controller.admin.pack.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +import java.util.List; + +@Schema(description = "管理后台 - 包裹新增 Request VO") +@Data +@ToString(callSuper = true) +public class OrderPackReqVO { + + + @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) + private Long orderId; + + + @Schema(description = "包裹ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long packId; + + + @Schema(description = "包裹类型", requiredMode = Schema.RequiredMode.REQUIRED) + private Long packageType; + + + @Schema(description = "新增的板件ID", requiredMode = Schema.RequiredMode.REQUIRED) + private List addPlateIdList; + + + @Schema(description = "移除的板件ID", requiredMode = Schema.RequiredMode.REQUIRED) + private List deletePlateIdList; + + + @Schema(description = "新增的配件包裹ID", requiredMode = Schema.RequiredMode.REQUIRED) + private List addPartsIdList; + + + +} 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 new file mode 100644 index 000000000..70d45820f --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPartsReqVO.java @@ -0,0 +1,20 @@ +package com.cf.imes.module.manage.controller.admin.pack.vo; + + +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 生产单模块表 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class OrderPartsReqVO extends PageParam { + + + @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) + private Long orderNo; + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPartsRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPartsRespVO.java new file mode 100644 index 000000000..78e6a3e50 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPartsRespVO.java @@ -0,0 +1,49 @@ +package com.cf.imes.module.manage.controller.admin.pack.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 配件列表详情 Response VO") +@Data +public class OrderPartsRespVO { + + + @Schema(description = "配件ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long partsId; + + @Schema(description = "配件名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String partsName; + + @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED) + private String model; + + @Schema(description = "规格", requiredMode = Schema.RequiredMode.REQUIRED) + private String spec; + + @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED) + private Long num; + + @Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED) + private String unit; + + @Schema(description = "品牌", requiredMode = Schema.RequiredMode.REQUIRED) + private String brand; + + @Schema(description = "厂家", requiredMode = Schema.RequiredMode.REQUIRED) + private String factory; + + + @Schema(description = "配件类型", requiredMode = Schema.RequiredMode.REQUIRED) + private String type; + + + @Schema(description = "是否复合配件", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean isComposite; + + + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + private String remark; + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPlateGroupRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPlateGroupRespVO.java new file mode 100644 index 000000000..7263be8a3 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OrderPlateGroupRespVO.java @@ -0,0 +1,28 @@ +package com.cf.imes.module.manage.controller.admin.pack.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import org.apache.poi.ss.formula.functions.Value; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +@Schema(description = "管理后台 - 板材列表显示 Response VO") +@Data +public class OrderPlateGroupRespVO { + + + @Schema(description = "房间id", requiredMode = Schema.RequiredMode.REQUIRED) + private Long roomId; + + + @Schema(description = "房间名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String roomName; + + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OtherPackReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OtherPackReqVO.java new file mode 100644 index 000000000..cc22e6715 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OtherPackReqVO.java @@ -0,0 +1,47 @@ +package com.cf.imes.module.manage.controller.admin.pack.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +@Schema(description = "管理后台 - 新增外部配件 Request VO") +@Data +@ToString(callSuper = true) +public class OtherPackReqVO { + + + + @Schema(description = "配件ID,主键", requiredMode = Schema.RequiredMode.REQUIRED) + private Long id; + + + @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + @NotNull(message = "生产单号不能为空") + private Long orderId; + + + + @Schema(description = "配件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + @NotEmpty(message = "配件名称不能为空") + private String name; + + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") + @NotEmpty(message = "备注不能为空") + private String remark; + + + + @Schema(description = "包裹编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + @NotNull(message = "包裹编号不能为空") + private Long packNo; + + + + + +} 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 new file mode 100644 index 000000000..860353347 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackPageReqVO.java @@ -0,0 +1,37 @@ +package com.cf.imes.module.manage.controller.admin.pack.vo; + + +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 打包分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PackPageReqVO extends PageParam { + + + @Schema(description = "生产状态(2:生产中,3:生产完成)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") + private Long status; + + + @Schema(description = "订单号") + private Long orderNo; + + + @Schema(description = "自定义单号") + private String customOrderNo; + + + @Schema(description = "客户") + private String customer; + + + @Schema(description = "地址") + private String address; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackReqVO.java new file mode 100644 index 000000000..0c501e2bd --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackReqVO.java @@ -0,0 +1,28 @@ +package com.cf.imes.module.manage.controller.admin.pack.vo; + + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +@Schema(description = "管理后台 - 删除订单包裹 Request VO") +@Data +@ToString(callSuper = true) +public class PackReqVO { + + + + @Schema(description = "包裹ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long packageId; + + + @Schema(description = "包裹编号", requiredMode = Schema.RequiredMode.REQUIRED) + private Long packageNo; + + + @Schema(description = "是否是其他类型的包裹", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean isOther; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackRespVO.java new file mode 100644 index 000000000..ed9d1cf56 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackRespVO.java @@ -0,0 +1,74 @@ +package com.cf.imes.module.manage.controller.admin.pack.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + + + + +@Schema(description = "管理后台 - 生产单表 order_{N} Response VO") +@Data +public class PackRespVO { + + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788") + private Long id; + + + @Schema(description = "自定义单号", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private String customOrderNo; + + + @Schema(description = "经销商", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private String dealer; + + + @Schema(description = "交付日期", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private LocalDateTime deliveryDate; + + + @Schema(description = "订单状态", requiredMode = Schema.RequiredMode.REQUIRED,example = "0") + private Long status; + + + @Schema(description = "客户", requiredMode = Schema.RequiredMode.REQUIRED,example = "张三") + private String customer; + + + @Schema(description = "客户地址", requiredMode = Schema.RequiredMode.REQUIRED,example = "AABB") + private String address; + + + @Schema(description = "客户电话", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private String phoneNumber; + + + @Schema(description = "业务员", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private String salesman; + + + @Schema(description = "拆单员", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private String splitter; + + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + + + @Schema(description = "已打包数", requiredMode = Schema.RequiredMode.REQUIRED) + private Long packCount; + + + @Schema(description = "已打包片数", requiredMode = Schema.RequiredMode.REQUIRED) + private Long packPieceCount; + + + @Schema(description = "总片数", requiredMode = Schema.RequiredMode.REQUIRED) + private Long totalPieceCount; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateDetailsRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateDetailsRespVO.java new file mode 100644 index 000000000..920cca7b6 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateDetailsRespVO.java @@ -0,0 +1,81 @@ +package com.cf.imes.module.manage.controller.admin.pack.vo; + + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + +@Schema(description = "管理后台 - 板材详情(导出板材表) Response VO") +@Data +@ExcelIgnoreUnannotated +public class PlateDetailsRespVO { + + @Schema(description = "房间名称", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("房间名称") + private String roomName; + + + @Schema(description = "柜体名称", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("柜体名称") + private String cabinetName; + + @Schema(description = "板编号", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("板编号") + private String plateNo; + + @Schema(description = "板名称", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("板名称") + private String plateName; + + @Schema(description = "材料", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("材料") + private String material; + + @Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("颜色") + private String color; + + @Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("宽度") + private Double width; + + @Schema(description = "长度", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("长度") + private Double height; + + @Schema(description = "厚度", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("厚度") + private Double thickness; + + @Schema(description = "面积", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("面积") + private Double area; + + @Schema(description = "纹路", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("纹路") + private String texture; + + @Schema(description = "异形数量", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("异形") + private String specialShaped; + + @Schema(description = "造型数量", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("造型") + private String profiling; + + @Schema(description = "排孔数量", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("排孔") + private String rowHole; + + @Schema(description = "加工组", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("加工组") + private String processGroup; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("备注") + private String remark; + + +} 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 new file mode 100644 index 000000000..1af1b176d --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PrintOrderPackReqVO.java @@ -0,0 +1,23 @@ +package com.cf.imes.module.manage.controller.admin.pack.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +@Schema(description = "管理后台 - 打印生产单的包裹 Request VO") +@Data +@ToString(callSuper = true) +public class PrintOrderPackReqVO { + + + + @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + private Long orderNo; + + + @Schema(description = "包裹id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + private Long packageNo; + + +} 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 new file mode 100644 index 000000000..e45ced424 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PrintOrderPackRespVO.java @@ -0,0 +1,47 @@ +package com.cf.imes.module.manage.controller.admin.pack.vo; + + +import com.cf.imes.module.manage.controller.admin.grouping.vo.OrderPlateListRespVO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Schema(description = "管理后台 - 包裹打印显示 Response VO") +@Data +public class PrintOrderPackRespVO { + + @Schema(description = "自定义单号", requiredMode = Schema.RequiredMode.REQUIRED) + private String customOrderNo; + + + @Schema(description = "经销商", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private String dealer; + + + @Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788") + private Long orderNo; + + + @Schema(description = "包裹ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788") + private Long packNo; + + + @Schema(description = "包裹序号", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788") + private Long packNum; + + + + @Schema(description = "客户地址", requiredMode = Schema.RequiredMode.REQUIRED,example = "AABB") + private String address; + + + + @Schema(description = "板材列表", requiredMode = Schema.RequiredMode.REQUIRED,example = "AABB") + private List plateList; + + + + + +} 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 new file mode 100644 index 000000000..03ace49e2 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/ProductionProcessController.java @@ -0,0 +1,111 @@ +package com.cf.imes.module.manage.controller.admin.process; + + +import com.cf.imes.framework.common.pojo.CommonResult; +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.module.manage.controller.admin.process.vo.OrderPorcessStepItemVO; +import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessReqVO; +import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO; +import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderPlateRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.PlatePageVO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; +import com.cf.imes.module.manage.service.process.ProductionProcessService; +import com.cf.imes.module.manage.service.query.ProductionStatusService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.cf.imes.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 生产单工序 process") +@RestController +@RequestMapping("/manage/process") +@Validated +public class ProductionProcessController { + + + @Resource + private ProductionProcessService productionProcessService; + + @Resource + private ProductionStatusService productionStatusService; + + + + @GetMapping("/page") + @Operation(summary = "获得生产工序分页") + @PreAuthorize("@ss.hasPermission('manage:process:query')") + public CommonResult> getUserPage(@Valid ProcessPageReqVO pageReqVO) { + + return success(productionProcessService.getProcessPage(pageReqVO)); + + + } + + + + @GetMapping("/select") + @Operation(summary = "根据工序号获得生产工序下的加工项") + @PreAuthorize("@ss.hasPermission('manage:process:query')") + public CommonResult> selectProcess(@Valid OrderProcessReqVO reqVO){ + List orderProcessById = productionProcessService.getOrderProcessById(reqVO); + return CommonResult.success(orderProcessById); + + } + + + + @PutMapping("/update") + @Operation(summary = "根据工序步骤 id 修改生产工序步骤表的状态") + @PreAuthorize("@ss.hasPermission('manage:process:update')") + public CommonResult updateProcessStatus(@Valid Long id){ + productionProcessService.updateProcessStatus(id); + return success(true); + + } + + + + @PutMapping("/updateAll") + @Operation(summary = "根据工序 id 修改生产单工序表的状态") + @PreAuthorize("@ss.hasPermission('manage:process:update')") + public CommonResult updateAllProcessStatus(@Valid Long id){ + productionProcessService.updateAllProcessStatus(id); + return success(true); + + } + + + + + @GetMapping("/selectPlateName") + @Operation(summary = "查看板材信息的组合名称") + @PreAuthorize("@ss.hasPermission('manage:process:query')") + public CommonResult> selectPlateName(@Valid Long processStepId){ + + return success(productionProcessService.selectPlateName(processStepId)); + + } + + + + + @GetMapping("/pagePlate") + @Operation(summary = "查看板材信息分页") + @PreAuthorize("@ss.hasPermission('manage:process:query')") + public CommonResult> queryPlate(@Valid PlatePageVO pageReqVO){ + return success(productionStatusService.getOrderPlatePage(pageReqVO)); + } + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderPorcessStepItemVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderPorcessStepItemVO.java new file mode 100644 index 000000000..22aa48458 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderPorcessStepItemVO.java @@ -0,0 +1,31 @@ +package com.cf.imes.module.manage.controller.admin.process.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Schema(description = "管理后台 - 生产单工序步骤表 order_process_step_{N} Response VO") +@Data +@NoArgsConstructor +@AllArgsConstructor +public class OrderPorcessStepItemVO { + + + @Schema(description = "主键") + private Long id; + + @Schema(description = "加工项名称") + private String name; + + @Schema(description = "工序组ID") + private Long orderProcessId; + + @Schema(description = "工序名称") + private String stepName; + + + +} + diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProcessReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProcessReqVO.java new file mode 100644 index 000000000..37a093cb9 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProcessReqVO.java @@ -0,0 +1,24 @@ +package com.cf.imes.module.manage.controller.admin.process.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +@Schema(description = "管理后台 - 生产单工序表 order_process_{N} Request VO") +@Data +@ToString(callSuper = true) +public class OrderProcessReqVO { + + + @Schema(description = "工序 id", requiredMode = Schema.RequiredMode.REQUIRED,example = "12") + private Long id; + + @Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "false") + private Boolean status; + + @Schema(description = "生产单号",requiredMode = Schema.RequiredMode.REQUIRED, example = "1234") + private Long orderNo; + + +} 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 new file mode 100644 index 000000000..67bcf61cd --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessPageReqVO.java @@ -0,0 +1,38 @@ +package com.cf.imes.module.manage.controller.admin.process.vo; + + +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 生产单工序表 order_process_{N} 分页 Request VO ") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ProcessPageReqVO extends PageParam { + + + @Schema(description = "工序 id", requiredMode = Schema.RequiredMode.REQUIRED,example = "12") + private Long id; + + @Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "0") + private Long status; + + @Schema(description = "生产单号") + private Long orderNo; + + @Schema(description = "自定义单号") + private String customOrderNo; + + @Schema(description = "客户") + private String customer; + + @Schema(description = "地址") + private String address; + + + + +} 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 new file mode 100644 index 000000000..3b833a9ac --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessRespVO.java @@ -0,0 +1,73 @@ +package com.cf.imes.module.manage.controller.admin.process.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + + +@Schema(description = "管理后台 - 生产单表 order_{N} Response VO") +@Data +public class ProcessRespVO { + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788") + private Long id; + + + @Schema(description = "自定义单号", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private String customOrderNo; + + + @Schema(description = "经销商", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private String dealer; + + + @Schema(description = "交付日期", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private LocalDateTime deliveryDate; + + + @Schema(description = "订单状态", requiredMode = Schema.RequiredMode.REQUIRED,example = "0") + private Long status; + + + @Schema(description = "客户", requiredMode = Schema.RequiredMode.REQUIRED,example = "张三") + private String customer; + + + @Schema(description = "客户地址", requiredMode = Schema.RequiredMode.REQUIRED,example = "AABB") + private String address; + + + @Schema(description = "客户电话", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private String phoneNumber; + + + @Schema(description = "业务员", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private String salesman; + + + @Schema(description = "拆单员", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") + private String splitter; + + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + + + + @Schema(description = "已打包数", requiredMode = Schema.RequiredMode.REQUIRED) + private Long packCount; + + + @Schema(description = "已打包片数", requiredMode = Schema.RequiredMode.REQUIRED) + private Long packPieceCount; + + + @Schema(description = "总片数", requiredMode = Schema.RequiredMode.REQUIRED) + private Long totalPieceCount; + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessStepVo.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessStepVo.java new file mode 100644 index 000000000..f1793614e --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/ProcessStepVo.java @@ -0,0 +1,21 @@ +package com.cf.imes.module.manage.controller.admin.process.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +@Schema(description = "更改状态") +@Data +@ToString(callSuper = true) +public class ProcessStepVo { + + + @Schema(description = "步骤ID", requiredMode = Schema.RequiredMode.REQUIRED,example = "3344") + private Long id; + + @Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean Status; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/ProductionStatusController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/ProductionStatusController.java new file mode 100644 index 000000000..315d3d009 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/ProductionStatusController.java @@ -0,0 +1,196 @@ +package com.cf.imes.module.manage.controller.admin.query; + + +import com.cf.imes.framework.common.pojo.CommonResult; +import com.cf.imes.framework.common.pojo.PageParam; +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.framework.excel.core.util.ExcelUtils; +import com.cf.imes.framework.operatelog.core.annotations.OperateLog; +import com.cf.imes.module.manage.controller.admin.pack.vo.OrderPartsReqVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackagePageReqVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.PrintOrderRespVO; +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.service.query.ProductionStatusService; +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.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +import java.io.IOException; +import java.util.List; + +import static com.cf.imes.framework.common.pojo.CommonResult.success; +import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; + +@Tag(name = "管理后台 - 生产查询") +@RestController +@RequestMapping("/manage/query") +@Validated +public class ProductionStatusController { + + + @Resource + private ProductionStatusService productionStatusService; + + + + @GetMapping("/page") + @Operation(summary = "生产状态查询分页") + @PreAuthorize("@ss.hasPermission('manage:query:query')") + public CommonResult> pageProductionStatus(@Valid OrderPlatePageReqVO pageReqVO){ + PageResult pageResult = productionStatusService.getProductionPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProcessRespVO.class)); + } + + + + + @GetMapping("/select") + @Operation(summary = "查看生产单下的工序组工序") + @Parameter(name = "orderNo", description = "生产单Id", required = true) + @PreAuthorize("@ss.hasPermission('manage:query:query')") + public CommonResult> selectProduction(@Valid @RequestParam("orderNo") Long orderNo){ + + List orderProcessById = productionStatusService.selectProduction(orderNo); + + return CommonResult.success(orderProcessById); + + } + + + + + + @GetMapping("/selectPlateName") + @Operation(summary = "查看板材信息的组合名称") + @PreAuthorize("@ss.hasPermission('manage:query:query')") + public CommonResult> selectPlateName(@Valid OrderModuleReqVO reqVO){ + + return success(productionStatusService.selectPlateName(reqVO)); + + } + + + + + + @GetMapping("/pagePlate") + @Operation(summary = "查看板材信息分页") + @PreAuthorize("@ss.hasPermission('manage:query:query')") + public CommonResult> queryPlate(@Valid PlatePageVO pageReqVO){ + return success(productionStatusService.getOrderPlatePage(pageReqVO)); + } + + + + + + @GetMapping("/pageSalary") + @Operation(summary = "计件工资分页查询") + @PreAuthorize("@ss.hasPermission('manage:query:query')") + public CommonResult> StepSalary(@Valid PriceRatePageReqVO pageReqVO){ + + PageResult salaryPage = productionStatusService.getSalaryPage(pageReqVO); + + return CommonResult.success(salaryPage); + + } + + + + + + @GetMapping("/pagePackage") + @Operation(summary = "打包查询分页") + @PreAuthorize("@ss.hasPermission('manage:query:query')") + public CommonResult> queryPackage(@Valid OrderPlatePageReqVO pageReqVO){ + + PageResult pageResult = productionStatusService.queryPackage(pageReqVO); + + return success(BeanUtils.toBean(pageResult, ProcessRespVO.class)); + + } + + + + + + @GetMapping("/queryPackageList") + @Operation(summary = "生产单打包完成包裹查看") + @Parameter(name = "orderNo", description = "生产单Id", required = true) + @PreAuthorize("@ss.hasPermission('manage:query:query')") + public CommonResult> queryPackageList(@Valid @RequestParam("orderNo") Long orderNo){ + + List orderProcessById = productionStatusService.getPackageList(orderNo); + + return CommonResult.success(orderProcessById); + + } + + + + + + @GetMapping("/queryPackageDetails") + @Operation(summary = "查看包裹详情分页") + @PreAuthorize("@ss.hasPermission('manage:query:query')") + public CommonResult> queryPackageDetails(@Valid OrderPackagePageReqVO pageReqVO){ + + PageResult packageDetailsRespVOPageResult = productionStatusService.queryPackageDetails(pageReqVO); + + return CommonResult.success(packageDetailsRespVOPageResult); + + } + + + + + + @GetMapping("/printOrder") + @Operation(summary = "打印订单") + @Parameter(name = "orderNo", description = "生产单Id", required = true) + @PreAuthorize("@ss.hasPermission('manage:query:export')") + public CommonResult printOrder(@Valid @RequestParam("orderNo") Long orderNo){ + + return CommonResult.success(productionStatusService.printOrder(orderNo)); + + } + + + + + + @GetMapping("/export") + @Operation(summary = "导出缺板") + @PreAuthorize("@ss.hasPermission('manage:query:export')") + @OperateLog(type = EXPORT) + public void exportPlateExcel(@Valid OrderPartsReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = productionStatusService.getMissingBoard(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "缺板信息表.xls", "数据", PlateDetailsRespVO.class, list); + + } + + + + +} 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/OrderPackagePageReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/OrderPackagePageReqVO.java new file mode 100644 index 000000000..0ca0d891b --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/OrderPackagePageReqVO.java @@ -0,0 +1,23 @@ +package com.cf.imes.module.manage.controller.admin.query.vo.pack; + + +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 查看包裹详情分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class OrderPackagePageReqVO extends PageParam { + + @Schema(description = "包裹编号") + private Long packageNo; + +/* @Schema(description = "包裹类型") + private Integer type;*/ + + +} 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 new file mode 100644 index 000000000..b2a56e4b7 --- /dev/null +++ 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 @@ -0,0 +1,49 @@ +package com.cf.imes.module.manage.controller.admin.query.vo.pack; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 生产单包裹表 Response VO") +@Data +public class OrderPackageVO { + + + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED) + private Long id; + + @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) + private Long orderNo; + + @Schema(description = "包裹编号", requiredMode = Schema.RequiredMode.REQUIRED) + private String packageNo; + + @Schema(description = "包裹类型", requiredMode = Schema.RequiredMode.REQUIRED) + private Long type; + + @Schema(description = "包裹状态", requiredMode = Schema.RequiredMode.REQUIRED) + private Long status; + + @Schema(description = "组织ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long organId; + + @Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + private String remark; + + @Schema(description = "出库人", requiredMode = Schema.RequiredMode.REQUIRED) + private String updater; + + @Schema(description = "出库时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime updateTime; + + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + +} 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 new file mode 100644 index 000000000..9659ad697 --- /dev/null +++ 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 @@ -0,0 +1,85 @@ +package com.cf.imes.module.manage.controller.admin.query.vo.pack; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 包裹详情 Response VO") +@Data +public class PackageDetailsRespVO { + + @Schema(description = "房间名称-板材类型显示", requiredMode = Schema.RequiredMode.REQUIRED) + private String roomName; + + @Schema(description = "柜体名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String cabinetName; + + @Schema(description = "板编号", requiredMode = Schema.RequiredMode.REQUIRED) + private String palteNo; + + @Schema(description = "板名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String palteName; + + @Schema(description = "材料", requiredMode = Schema.RequiredMode.REQUIRED) + private String material; + + @Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED) + private String color; + + @Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double width; + + @Schema(description = "长度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double height; + + @Schema(description = "厚度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double thickness; + + @Schema(description = "面积", requiredMode = Schema.RequiredMode.REQUIRED) + private Double area; + + @Schema(description = "纹路", requiredMode = Schema.RequiredMode.REQUIRED) + private String texture; + + @Schema(description = "异形数量", requiredMode = Schema.RequiredMode.REQUIRED) + private String specialShaped; + + @Schema(description = "造型数量", requiredMode = Schema.RequiredMode.REQUIRED) + private String profiling; + + @Schema(description = "排孔数量", requiredMode = Schema.RequiredMode.REQUIRED) + private String rowHole; + + @Schema(description = "加工组", requiredMode = Schema.RequiredMode.REQUIRED) + private String processGroup; + + + @Schema(description = "备注(板材和配件都要传递)", requiredMode = Schema.RequiredMode.REQUIRED) + private String remark; + + + + + @Schema(description = "配件名称-配件类型显示", requiredMode = Schema.RequiredMode.REQUIRED) + private String partsName; + + @Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED) + private String model; + + @Schema(description = "规格", requiredMode = Schema.RequiredMode.REQUIRED) + private String spec; + + @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED) + private Long num; + + @Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED) + private String unit; + + @Schema(description = "品牌", requiredMode = Schema.RequiredMode.REQUIRED) + private String brand; + + @Schema(description = "厂家", requiredMode = Schema.RequiredMode.REQUIRED) + private String factory; + + +} 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/PrintOrderRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/PrintOrderRespVO.java new file mode 100644 index 000000000..550439e74 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/PrintOrderRespVO.java @@ -0,0 +1,35 @@ +package com.cf.imes.module.manage.controller.admin.query.vo.pack; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 打印订单 Response VO") +@Data +public class PrintOrderRespVO { + + + @Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED) + private Long orderNo; + + @Schema(description = "自定义单号", requiredMode = Schema.RequiredMode.REQUIRED) + private String customOrderNo; + + @Schema(description = "经销商", requiredMode = Schema.RequiredMode.REQUIRED) + private String dealer; + + @Schema(description = "收货地址", requiredMode = Schema.RequiredMode.REQUIRED) + private String address; + + @Schema(description = "客户", requiredMode = Schema.RequiredMode.REQUIRED) + private String customer; + + @Schema(description = "客户手机号", requiredMode = Schema.RequiredMode.REQUIRED) + private String customerPhone; + + + @Schema(description = "包裹数量", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer packageQuantity; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderModuleReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderModuleReqVO.java new file mode 100644 index 000000000..65f7aacfe --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderModuleReqVO.java @@ -0,0 +1,19 @@ +package com.cf.imes.module.manage.controller.admin.query.vo.productionStatus; + + +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + + +@Schema(description = "管理后台 - 生产单模块表 Request VO") +@Data +@ToString(callSuper = true) +public class OrderModuleReqVO extends PageParam { + + @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + private Long orderNo; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderModuleVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderModuleVO.java new file mode 100644 index 000000000..93eeed576 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderModuleVO.java @@ -0,0 +1,19 @@ +package com.cf.imes.module.manage.controller.admin.query.vo.productionStatus; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + + + +@Schema(description = "管理后台 - 生产单模块表 order_module_{N} Response VO") +@Data +public class OrderModuleVO { + + @Schema(description = "柜体 id", requiredMode = Schema.RequiredMode.REQUIRED, example = "嘿嘿") + private Long bodyId; + + + @Schema(description = "组合名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "嘿嘿") + 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/query/vo/productionStatus/OrderPlatePageReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderPlatePageReqVO.java new file mode 100644 index 000000000..9c88b2ea0 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderPlatePageReqVO.java @@ -0,0 +1,47 @@ +package com.cf.imes.module.manage.controller.admin.query.vo.productionStatus; + + +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.List; + + +@Schema(description = "管理后台 - 生产单表 order_{N} 分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class OrderPlatePageReqVO extends PageParam { + + + + @Schema(description = "生产状态(2:生产中,3:生产完成)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2,3") + private List statusList; + + + @Schema(description = "订单号") + private Long orderNo; + + + @Schema(description = "自定义单号") + private String customOrderNo; + + + @Schema(description = "客户") + private String customer; + + + @Schema(description = "地址") + private String address; + + + @Schema(description = "经销商") + private String dealer; + + +} + + diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderPlateRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderPlateRespVO.java new file mode 100644 index 000000000..4ea76478e --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderPlateRespVO.java @@ -0,0 +1,35 @@ +package com.cf.imes.module.manage.controller.admin.query.vo.productionStatus; + + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 板材信息表 Response VO") +@Data +public class OrderPlateRespVO { + + @Schema(description = "板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") + private Long id; + + @Schema(description = "板名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + private String name; + + + @Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED) + private String color; + + @Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double width; + + @Schema(description = "高度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double height; + + @Schema(description = "厚度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double thickness; + + @Schema(description = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板", requiredMode = Schema.RequiredMode.REQUIRED) + private String material; + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/PlatePageVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/PlatePageVO.java new file mode 100644 index 000000000..880903063 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/PlatePageVO.java @@ -0,0 +1,20 @@ +package com.cf.imes.module.manage.controller.admin.query.vo.productionStatus; + + +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - 板材信息表分页") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PlatePageVO extends PageParam { + + @Schema(description = "柜体 id") + private Long bodyId ; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/ProductionGroupVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/ProductionGroupVO.java new file mode 100644 index 000000000..432e725f8 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/ProductionGroupVO.java @@ -0,0 +1,35 @@ +package com.cf.imes.module.manage.controller.admin.query.vo.productionStatus; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 生产单工序步骤表 order_process_step_{N} Response VO") +@Data +public class ProductionGroupVO { + + + @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "4399") + private Long id; + + @Schema(description = "工序组名", requiredMode = Schema.RequiredMode.REQUIRED, example = "嘿嘿") + private String groupName; + + @Schema(description = "工序名", requiredMode = Schema.RequiredMode.REQUIRED, example = "嘿嘿") + private String name; + + @Schema(description = "加工状态", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean status; + + @Schema(description = "工序负责人", requiredMode = Schema.RequiredMode.REQUIRED, example = "cfy_cf") + private String manager; + + @Schema(description = "加工时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime processDate; + + + + +} 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 new file mode 100644 index 000000000..b8b81477f --- /dev/null +++ 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 @@ -0,0 +1,44 @@ +package com.cf.imes.module.manage.controller.admin.query.vo.salary; + + +import cn.hutool.core.date.DateTime; +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - 计件工资查询分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PriceRatePageReqVO extends PageParam { + + @Schema(description = "工序id") + private Long orderProcessId; + + @Schema(description = "生产单工序步骤状态(已加工状态)", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean status; + + @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime startTime; + + @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime endTime; + + @Schema(description = "加工人") + private String creator; + + @Schema(description = "工序名称") + private String name; + + @Schema(description = "显示零单价(默认不显示)", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean noShowZero; + + + + + +} 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 new file mode 100644 index 000000000..a6a66ca52 --- /dev/null +++ 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 @@ -0,0 +1,32 @@ +package com.cf.imes.module.manage.controller.admin.query.vo.salary; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 计件工资查询 Response VO") +@Data +public class PriceRateReqVO { + + + @Schema(description = "工序名", requiredMode = Schema.RequiredMode.REQUIRED) + private String name; + + @Schema(description = "计件工资", requiredMode = Schema.RequiredMode.REQUIRED) + private Long priceRate; + + @Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED) + private Long num; + + @Schema(description = "计件类型", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer priceType; + + @Schema(description = "金额", requiredMode = Schema.RequiredMode.REQUIRED) + private Long amount; + + + @Schema(description = "加工人", requiredMode = Schema.RequiredMode.REQUIRED) + private String manager; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/pack/OrderBodyDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/pack/OrderBodyDO.java new file mode 100644 index 000000000..a16676958 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/pack/OrderBodyDO.java @@ -0,0 +1,62 @@ +package com.cf.imes.module.manage.dal.dataobject.pack; + + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; +import lombok.*; + +@TableName("order_body") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class OrderBodyDO extends BaseDO { + + @TableId + // 主键 + private Long id; + + // 生产单号 + private Long orderId; + + // 组织 ID,默认为1 + private Long organId; + + // 房间ID + private Long roomId; + + // 房间名称 + private String roomName; + + // 模块名称 + private String name; + + // 模块宽度 + private Float width; + + // 模块高度 + private Float height; + + // 模块深度 + private Float depth; + + // 模块复制数量 + private Integer multiNum; + + // 板材数量 + private Integer plateNum; + + // 异型数量 + private Integer unregularNum; + + // 文件名 + private String filename; + + // 备注 + private String remark; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderDO.java new file mode 100644 index 000000000..2e0c0736a --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderDO.java @@ -0,0 +1,58 @@ +package com.cf.imes.module.manage.dal.dataobject.process; + + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; +import lombok.*; + +@TableName(value = "`order`") // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class OrderDO extends BaseDO { + + @TableId() + // 生产单号 + private Long id; + + // 订单状态 + private Long status; + + // 自定义单号 + private String customOrderNo; + + // 客户 + private String customer; + + // 客户地址 + private String address; + + // 客户电话 + private String phoneNumber; + + // 组织 id + private Long organId; + + // 经销商 + private String dealer; + + // 经销商电话 + private String dealerPhoneNumber; + + // 业务员 + private String salesman; + + // 拆单员 + private String splitter; + + // 备注 + private String remark; + + + + +} \ 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/dataobject/process/OrderProcessNDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessNDO.java new file mode 100644 index 000000000..9cec8a660 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessNDO.java @@ -0,0 +1,35 @@ +package com.cf.imes.module.manage.dal.dataobject.process; + + +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; +import lombok.*; + +@TableName(value = "order_process_n") // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class OrderProcessNDO extends BaseDO { + + @TableId + private Long id; + + // 生产单号 + private Long orderNo; + + // 工序名 + private String name; + + // 工序状态 + private Boolean status; + + // 工序组 id + private Long groupId; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepItemNDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepItemNDO.java new file mode 100644 index 000000000..999eafa7f --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepItemNDO.java @@ -0,0 +1,41 @@ +package com.cf.imes.module.manage.dal.dataobject.process; + + +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; +import lombok.*; + +@TableName(value = "order_process_step_item_n", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class OrderProcessStepItemNDO extends BaseDO{ + + + @TableId + private Long id; + + // 工序项目名 + private String name; + + // 生产单工序 id + private Long orderProcessId; + + // 工序状态 + private Boolean status; + + // 工序步骤 id + private Long processStepId; + + // 工序组名 + private String groupName; + + + +} 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 new file mode 100644 index 000000000..f0c974eb9 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepNDO.java @@ -0,0 +1,72 @@ +package com.cf.imes.module.manage.dal.dataobject.process; + + +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.time.LocalDateTime; +import java.util.Date; + +@TableName(value = "order_process_step_n") // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class OrderProcessStepNDO extends BaseDO { + + @TableId + private Long id; + + // 生产单号 + private Long orderNo; + + //组织ID + private Long organId; + + // 完成时间 + private LocalDateTime finishTime; + + //工序状态 + private Boolean status; + + // 加工类型 + private Integer type; + + // 计件工资 + private Float pieceRate; + + // 计件工资类型 + private Integer pieceType; + + // 排序优先级 + private Integer sort; + + // 工序名称 + private String name; + + // 工序ID + private Long processinfoId; + + // 生产单工序ID + private Long orderProcessId; + + // 计划日期 + private Date scheduleDate; + + // 工序处理时长 + private Float duration; + + // 工序负责人 + private String manager; + + // 工序处理日期 + private Date processDate; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderItemDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderItemDO.java new file mode 100644 index 000000000..5b950c270 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderItemDO.java @@ -0,0 +1,51 @@ +package com.cf.imes.module.manage.dal.dataobject.query; + + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; + +@TableName("order_item") +@Data +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class OrderItemDO { + + // 明细编号 + @TableId + private Long id; + + // 生产单号 + private Long orderId; + + // 房间 ID + private Long roomId; + + // 柜体 ID + private Long bodyId; + + // 板件 id + private Long plateId; + + // 配件 id + private Long partsId; + + // 加工组 id + private Long groupId; + + // 排单 ID + private Long planId; + + // 包裹 ID + private Long packageId; + + // 部件数量 + private Float num; + + // 组织 ID + private Long organId; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderPackageDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderPackageDO.java new file mode 100644 index 000000000..ed581dff6 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderPackageDO.java @@ -0,0 +1,47 @@ +package com.cf.imes.module.manage.dal.dataobject.query; + + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; +import lombok.*; + +@TableName("order_package_n") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class OrderPackageDO extends BaseDO { + + + // 包裹ID + @TableId + private Long id; + + // 生产单号 + private Long orderNo; + + // 包裹编号 + private Long packageNo; + + // 包裹类型,-1未定义,0板材,1配件,2其他配件 + private Long type; + + // 包裹名 + private String name; + + // 包裹状态,0未封包,1已封包,2已入库,3已出库 + private Integer status; + + // 组织ID + private Long organId; + + // 备注 + private String remark; + + + +} + diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderPartsNDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderPartsNDO.java new file mode 100644 index 000000000..45a20dad3 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderPartsNDO.java @@ -0,0 +1,68 @@ +package com.cf.imes.module.manage.dal.dataobject.query; + + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; +import lombok.*; + +@TableName("order_parts") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class OrderPartsNDO extends BaseDO { + + @TableId + // 配件 ID + private Long id; + + // 生产单号 + private Long orderId; + + // 组织 ID + private Long organId; + + // 商品ID + private Long goodsId; + + // 配件名称 + private String name; + + // 材质 + private String material; + + // 配件类型 + private String type; + + // 型号 + private String model; + + // 规格 + private String spec; + + // 品牌 + private String brand; + + // 厂家 + private String factory; + + // 单位 + private String unit; + + // 价格 + private Float price; + + // 是否复合部件:0 否 1 是 + private Boolean isComposite; + + // 备注 + private String remark; + + +} + + + 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 new file mode 100644 index 000000000..47fbf4ecc --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderBodyMapper.java @@ -0,0 +1,22 @@ +package com.cf.imes.module.manage.dal.mysql.pack; + + +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.manage.dal.dataobject.pack.OrderBodyDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface OrderBodyMapper extends BaseMapperX { + + default List selectGroup(Long orderId) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(OrderBodyDO::getOrderId, orderId) + .orderByDesc(OrderBodyDO::getId)); + } + + + +} 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 new file mode 100644 index 000000000..e7c1483bd --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java @@ -0,0 +1,55 @@ +package com.cf.imes.module.manage.dal.mysql.pack; + + +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.manage.controller.admin.pack.vo.OtherPackReqVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO; +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.dataobject.query.OrderPartsNDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface OrderPackageMapper extends BaseMapperX { + + + + default List selectByOrderNo(Long orderNo) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(OrderPackageDO::getOrderNo, orderNo) + .orderByDesc(OrderPackageDO::getId)); + } + + + + default OrderPackageDO selectByPackNo(Long orderNo) { + return selectOne(new LambdaQueryWrapperX() + .eqIfPresent(OrderPackageDO::getPackageNo, orderNo)); + } + + + + List selectPackPage(@Param("collect") List collect); + + + List selectMissingBoard(Long orderNo); + + + + + default OrderPackageDO selectByPackId(Long packId) { + return selectOne(new LambdaQueryWrapperX() + .eqIfPresent(OrderPackageDO::getId, packId)); + } + + + + void updateParts(@Param("packageId") Long packageId, @Param("packageNo") Long packageNo); + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/OrderProcessMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/OrderProcessMapper.java new file mode 100644 index 000000000..f66cc3020 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/OrderProcessMapper.java @@ -0,0 +1,52 @@ +package com.cf.imes.module.manage.dal.mysql.process; + + +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessNDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; + +import java.util.List; + +/** + * 生产单工序表 order_process_{N} Mapper + * + * @author 晨丰科技 + */ +@Mapper +public interface OrderProcessMapper extends BaseMapperX { + + + default OrderProcessNDO queryProcess( Long processId , Long orderNo) { + return selectOne(new LambdaQueryWrapperX() + .eqIfPresent(OrderProcessNDO::getId, processId) + .eqIfPresent(OrderProcessNDO::getOrderNo,orderNo)); + + } + + + + default OrderProcessNDO selectByProcessId(Long id) { + return selectOne(new LambdaQueryWrapperX() + .eqIfPresent(OrderProcessNDO::getId, id)); + + } + + + + + + default OrderProcessNDO selectStatusById( Long id ) { + return selectOne(new LambdaQueryWrapperX() + .eqIfPresent(OrderProcessNDO::getId, id)); + + } + + + @Update("UPDATE order_process_n SET status = #{status} WHERE id = #{id}") + void updateStatusById(@Param("id") Long id, @Param("status") Boolean status); + + +} 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 new file mode 100644 index 000000000..d203ad0a3 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.java @@ -0,0 +1,28 @@ +package com.cf.imes.module.manage.dal.mysql.process; + + +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO; +import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 生产单工序明细表 order_process_step_item_{N} Mapper + * + * @author 晨丰科技 + */ +@Mapper +public interface ProcessStepItemMapper extends BaseMapperX { + + + + List selectPlateName(Long processStepId); + + + List selectOrder(ProcessPageReqVO pageReqVO); +} 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 new file mode 100644 index 000000000..a5b35e5f8 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.java @@ -0,0 +1,69 @@ +package com.cf.imes.module.manage.dal.mysql.process; + + +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +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.plate.PlateDO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; + +import java.util.List; + +/** + * 生产单工序步骤表 order_process_step_{N} Mapper + * + * @author 晨丰科技 + */ +@Mapper +public interface ProcessStepMapper extends BaseMapperX { + + default List getStepItemList(Long orderNo, Boolean status) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(OrderProcessStepNDO::getOrderNo, orderNo) + .eqIfPresent(OrderProcessStepNDO::getStatus, status)); + } + + + + + default OrderProcessStepNDO selectStatusById(Long id) { + return selectOne(new LambdaQueryWrapperX() + .eqIfPresent(OrderProcessStepNDO::getId, id)); + + } + + + @Update("UPDATE order_process_step_n SET status = #{status} WHERE id = #{id}") + void updateStatusById(@Param("id") Long id, @Param("status") Boolean status); + + + + default List selectProducitonList(Long orderNo) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(OrderProcessStepNDO::getOrderNo, orderNo)); + + } + + + + List selectListByStatus(@Param("collect") List collect); + + + + default List selectListBy(PriceRatePageReqVO pageReqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(OrderProcessStepNDO::getStatus, pageReqVO.getStatus()) + .eqIfPresent(OrderProcessStepNDO::getCreator,pageReqVO.getCreator()) + .eqIfPresent(OrderProcessStepNDO::getName,pageReqVO.getName()) + .betweenIfPresent(OrderProcessStepNDO::getCreateTime,pageReqVO.getStartTime(),pageReqVO.getEndTime())); + + } + + + +} \ 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/process/ProductionProcessMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.java new file mode 100644 index 000000000..3a398cdfd --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.java @@ -0,0 +1,50 @@ +package com.cf.imes.module.manage.dal.mysql.process; + + +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.manage.controller.admin.grouping.vo.OrderPageReqVO; +import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 生产单表 order_{N} Mapper + * + * @author 晨丰科技 + */ +@Mapper +public interface ProductionProcessMapper extends BaseMapperX { + + + + default PageResult selectPage(ProcessPageReqVO pageReqVO) { + return selectPage(pageReqVO, new LambdaQueryWrapperX() + .eqIfPresent(OrderDO::getId,pageReqVO.getOrderNo()) + .eqIfPresent(OrderDO::getCustomOrderNo,pageReqVO.getCustomOrderNo()) + .likeIfPresent(OrderDO::getCustomer,pageReqVO.getCustomer()) + .likeIfPresent(OrderDO::getAddress,pageReqVO.getAddress()) + .orderByDesc(OrderDO::getId)); + } + + + + + default PageResult selectPageList(OrderPageReqVO pageReqVO) { + return selectPage(pageReqVO, new LambdaQueryWrapperX() + .eqIfPresent(OrderDO::getId,pageReqVO.getOrderNo()) + .eqIfPresent(OrderDO::getCustomOrderNo,pageReqVO.getCustomOrderNo()) + .likeIfPresent(OrderDO::getCustomer,pageReqVO.getCustomer()) + .likeIfPresent(OrderDO::getAddress,pageReqVO.getAddress()) + .and(wrapper -> { + for (Long status : pageReqVO.getStatusList()) { + wrapper.or().eq(OrderDO::getStatus, status); + } + }) + .orderByDesc(OrderDO::getId)); + } + + + +} \ 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/OrderItemMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java new file mode 100644 index 000000000..90a711085 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java @@ -0,0 +1,76 @@ +package com.cf.imes.module.manage.dal.mysql.query; + + + +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.module.manage.controller.admin.grouping.vo.OrderPlateListRespVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.DeleteOtherPartsReqVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.PackReqVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderPlateRespVO; +import com.cf.imes.module.manage.dal.dataobject.query.OrderItemDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; + +import java.util.List; + +@Mapper +public interface OrderItemMapper extends BaseMapperX { + + + List selectByPackageId(Long packageId); + + + List selectCombinationName(Long orderNo); + + + List selectPlateList(Long bodyId); + + + List selectOrderPlateList(Long orderNo); + + + List selectGroupingPlateList(Long orderNo); + + + + void insertPackPlate( Long plateId); + + + List selectJoinedGroupPlateList(@Param("orderNo") Long orderNo , @Param("packageIdList") List packageIdList); + + + + @Update("update order_item set package_id =0 where plate_id =#{plateId}") + void removePackPlate(Long plateId); + + + List selectPrintPlateList(@Param("orderNo")Long orderNo,@Param("packageNo") Long packageNo); + + + + void deleteOrderPack(@Param("reqVO") PackReqVO reqVO); + + + void updateParts(@Param("reqVO") DeleteOtherPartsReqVO reqVO); + + + void deleteOtherParts(@Param("itemId") Long itemId); + + + void deleteParts(@Param("reqVO") PackReqVO reqVO); + + + void insertPackId(@Param("plateIdList") List plateIdList, @Param("packId") Long packId); + + + void deletePackId(@Param("deletePlateIdList") List deletePlateIdList,@Param("packId") Long packId); + + + + void insertPartsId(@Param("packId") Long packId, @Param("addPartsIdList") List addPartsIdList); + +} 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 new file mode 100644 index 000000000..f6fdf191f --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java @@ -0,0 +1,39 @@ +package com.cf.imes.module.manage.dal.mysql.query; + + +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.manage.controller.admin.pack.vo.OrderPartsRespVO; +import com.cf.imes.module.manage.controller.admin.plate.vo.plate.PlatePageReqVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO; +import com.cf.imes.module.manage.dal.dataobject.plate.PlateDO; +import com.cf.imes.module.manage.dal.dataobject.query.OrderPartsNDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface OrderPartsMapper extends BaseMapperX { + + + List selectParts(Long packageNo); + + + List selectPartsList(Long orderId); + + + + List selectOrderParts(@Param("orderNo")Long orderNo,@Param("packageNo") Long packageNo); + + + void deleteOrderParts(@Param("packageId") Long packageId); + + + default OrderPartsNDO selectOneParts(String otherPartsName) { + return selectOne(new LambdaQueryWrapperX() + .eqIfPresent(OrderPartsNDO::getName,otherPartsName)); + + } +} 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 new file mode 100644 index 000000000..36093d148 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.java @@ -0,0 +1,69 @@ +package com.cf.imes.module.manage.dal.mysql.query; + + +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.manage.controller.admin.pack.vo.PackPageReqVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.PrintOrderPackRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderPlatePageReqVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.PrintOrderRespVO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ProductionStatusMapper extends BaseMapperX { + + + default PageResult selectProductionPage(OrderPlatePageReqVO pageReqVO) { + return selectPage(pageReqVO, new LambdaQueryWrapperX() + .eqIfPresent(OrderDO::getId, pageReqVO.getOrderNo()) + .eqIfPresent(OrderDO::getCustomOrderNo, pageReqVO.getCustomOrderNo()) + .likeIfPresent(OrderDO::getCustomer, pageReqVO.getCustomer()) + .likeIfPresent(OrderDO::getAddress, pageReqVO.getAddress()) + .likeIfPresent(OrderDO::getDeleted, pageReqVO.getDealer()) + .and(wrapper -> { + for (Long status : pageReqVO.getStatusList()) { + wrapper.or().eq(OrderDO::getStatus, status); + } + }) + .orderByDesc(OrderDO::getCreateTime)); + } + + + +/* default PageResult selectPackage(OrderPlatePageReqVO pageReqVO) { + return selectPage(pageReqVO, new LambdaQueryWrapperX() + .orderByDesc(OrderDO::getId)); + }*/ + + + + + PrintOrderRespVO selectPrintOrder(Long orderNo); + + + default List selectPackPage(PackPageReqVO pageReqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(OrderDO::getId, pageReqVO.getOrderNo()) + .eqIfPresent(OrderDO::getCustomOrderNo, pageReqVO.getCustomOrderNo()) + .likeIfPresent(OrderDO::getCustomer, pageReqVO.getCustomer()) + .likeIfPresent(OrderDO::getAddress, pageReqVO.getAddress()) + .eqIfPresent(OrderDO::getStatus, pageReqVO.getStatus()) + .orderByDesc(OrderDO::getCreateTime)); + } + + List selectOrderPlate(@Param("collect") List collect); + + + + + PrintOrderPackRespVO selectOrderPack(@Param("orderNo")Long orderNo,@Param("packageNo") Long packageNo); + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingService.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingService.java new file mode 100644 index 000000000..babb0d2bc --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingService.java @@ -0,0 +1,36 @@ +package com.cf.imes.module.manage.service.grouping; + + +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.module.manage.controller.admin.grouping.vo.*; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; + +import java.util.List; + +public interface GroupingService { + + + // 查询订单 + PageResult getGroupingList( OrderPageReqVO pageReqVO); + + + // 新增包裹 + Long insertGrouping(OrderPackageReqVO packageReqVO); + + + // 查看订单的板材信息(未加入包裹的板材信息) + PageResult notJoinedGroupingPlateList(OrderModuleReqVO reqVO); + + + // 包裹表新增板件 + void insertPackPlate(Long plateId); + + + // 查看订单的板材信息(已将加入包裹的板材信息) + PageResult joinedGroupPlateList(JoinedPlateReqVO reqVO); + + + // 移除包裹板材信息 + void removePackPlate(Long plateId); +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingServiceImpl.java new file mode 100644 index 000000000..22ee10fd4 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingServiceImpl.java @@ -0,0 +1,123 @@ +package com.cf.imes.module.manage.service.grouping; + + +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.framework.common.util.object.PageUtils; +import com.cf.imes.module.manage.controller.admin.grouping.vo.*; +import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; +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.ProductionProcessMapper; +import com.cf.imes.module.manage.dal.mysql.query.OrderItemMapper; +import com.cf.imes.module.manage.util.page.PageHelperUtil; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.List; + +@Service +@Validated +public class GroupingServiceImpl implements GroupingService{ + + + @Resource + private ProductionProcessMapper productionProcessMapper; + + + @Resource + private OrderPackageMapper orderPackageMapper; + + @Resource + private OrderItemMapper orderItemMapper; + + + + // 查询订单分页 + @Override + public PageResult getGroupingList(OrderPageReqVO pageReqVO) { + + return productionProcessMapper.selectPageList(pageReqVO); + + + } + + + + // 新增包裹 + @Override + public Long insertGrouping(OrderPackageReqVO packageReqVO) { + + // + OrderPackageDO packageDO = BeanUtils.toBean(packageReqVO, OrderPackageDO.class); + + orderPackageMapper.insert(packageDO); + + return packageDO.getId(); + } + + + + + // 查看订单的板材信息 + @Override + public PageResult notJoinedGroupingPlateList(OrderModuleReqVO reqVO) { + + PageHelper.startPage(reqVO.getPageNo(),reqVO.getPageSize()); + List orderPlateListRespVOS = orderItemMapper.selectGroupingPlateList(reqVO.getOrderNo()); + PageInfo pageInfo = new PageInfo<>(orderPlateListRespVOS); + PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); + + return priceRateReqVOPageResult; + + } + + + + + // 包裹表新增板件 + @Override + public void insertPackPlate(Long plateId) { + + orderItemMapper.insertPackPlate(plateId); + + } + + + + + + @Override + public PageResult joinedGroupPlateList(JoinedPlateReqVO reqVO) { + + + PageHelper.startPage(reqVO.getPageNo(),reqVO.getPageSize()); + List orderPlateListRespVOS = orderItemMapper.selectJoinedGroupPlateList(reqVO.getOrderNo(), reqVO.getPackageIdList()); + + PageInfo pageInfo = new PageInfo<>(orderPlateListRespVOS); + PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); + + return priceRateReqVOPageResult; + + } + + + + + // 移除包裹板材信息 + @Override + public void removePackPlate(Long plateId) { + + + orderItemMapper.removePackPlate(plateId); + + + } + + +} 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 new file mode 100644 index 000000000..af4acd3f0 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackService.java @@ -0,0 +1,82 @@ +package com.cf.imes.module.manage.service.pack; + + +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.module.manage.controller.admin.grouping.vo.OrderPackageReqVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.*; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO; +import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO; + +import java.util.List; + +public interface PackService { + + + // 打包分页查询 + PageResult getPackPage(PackPageReqVO pageReqVO); + + + // 查看生产订单对应的包裹信息 + List getOrderPack(Long orderId); + + + + // 查看生产订单对应的板材信息 + List getOrderPlateList(Long orderId); + + + + // 查看板材列表分页 + PageResult queryPlateDetails(OrderModuleReqVO pageReqVO); + + + + // 查看配件列表分页 + PageResult getPartsList(OrderPartsReqVO reqVO); + + + // 拆包 + void unpacking(Long packageID); + + + + + // 显示分组房间名称 + List GetOrderPlateGroup(Long orderId); + + + + + + // 查看配件包裹详情 + List queryPackageDetails(PrintOrderPackReqVO reqVO); + + + + // 包裹封包 + OrderPackageDO updatePackStatus(OrderPackReqVO packageVO); + + + + // 包裹订单打印 + PrintOrderPackRespVO printOrderPack(PrintOrderPackReqVO reqVO); + + + // 删除包裹及其关联的包裹信息(删除全部) + void deleteOrderPack(PackReqVO reqVO); + + + + // 新增外部配件 + OrderPackageDO addNewOtherParts(OtherPackReqVO reqVO); + + + Long testpack(OrderPackageReqVO reqVO); + + + // 删除配件包裹中的配件(删除某一个) + void deleteOtherParts(DeleteOtherPartsReqVO reqVO); + + // 新增配件-即新增一个包裹 + OrderPackageDO 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 new file mode 100644 index 000000000..8dc2781c8 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java @@ -0,0 +1,321 @@ +package com.cf.imes.module.manage.service.pack; + + +import com.cf.imes.framework.common.enums.OrderPackageStatusEnum; +import com.cf.imes.framework.common.enums.OrderPackageTypeEnum; +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.module.manage.controller.admin.grouping.vo.OrderPackageReqVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.*; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO; +import com.cf.imes.module.manage.dal.dataobject.pack.OrderBodyDO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; +import com.cf.imes.module.manage.dal.dataobject.query.OrderItemDO; +import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO; +import com.cf.imes.module.manage.dal.dataobject.query.OrderPartsNDO; +import com.cf.imes.module.manage.dal.mysql.pack.OrderBodyMapper; +import com.cf.imes.module.manage.dal.mysql.pack.OrderPackageMapper; +import com.cf.imes.module.manage.dal.mysql.query.OrderItemMapper; +import com.cf.imes.module.manage.dal.mysql.query.OrderPartsMapper; +import com.cf.imes.module.manage.dal.mysql.query.ProductionStatusMapper; +import com.cf.imes.module.manage.util.page.PageHelperUtil; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; + +import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; +import static com.cf.imes.module.system.enums.ErrorCodeConstants.THE_ACCESSORY_NAME_CANNOT_BE_DUPLICATED; + +@Service +@Validated +@Transactional +public class PackServiceImpl implements PackService { + + @Resource + private OrderPackageMapper orderPackageMapper; + + @Resource + private ProductionStatusMapper productionStatusMapper; + + @Resource + private OrderItemMapper orderItemMapper; + + @Resource + private OrderPartsMapper orderPartsMapper; + + @Resource + private OrderBodyMapper orderBodyMapper; + + + // 打包分页查询 + @Override + public PageResult getPackPage(PackPageReqVO pageReqVO) { + + // 根据生产状态查询生产单号 + List collect = productionStatusMapper.selectPackPage(pageReqVO).stream().map(OrderDO::getId).collect(Collectors.toList()); + + PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + + // 查询包裹的已打包数和已打片数 + List packRespVOS = orderPackageMapper.selectPackPage(collect); + + // 查询打包首页分页数据信息和总片数 + List packRespVOS1 = productionStatusMapper.selectOrderPlate(collect); + + PageInfo pageInfo = new PageInfo<>(packRespVOS); + pageInfo.setList(packRespVOS1); + + // 转换成 PageResult 分页类型 + PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); + + return priceRateReqVOPageResult; + + } + + + // 查看生产订单对应的包裹信息 + @Override + public List getOrderPack(Long orderId) { + return orderPackageMapper.selectByOrderNo(orderId); + + } + + + // 查看生产订单对应的板材信息 + @Override + public List getOrderPlateList(Long orderId) { + + return orderItemMapper.selectOrderPlateList(orderId); + + } + + + // 查看板材列表分页 + @Override + public PageResult queryPlateDetails(OrderModuleReqVO pageReqVO) { + + + PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + List plateDetailsRespVOS = orderItemMapper.selectOrderPlateList(pageReqVO.getOrderNo()); + PageInfo pageInfo = new PageInfo<>(plateDetailsRespVOS); + PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); + + return priceRateReqVOPageResult; + } + + + // 查看配件列表分页 + @Override + public PageResult getPartsList(OrderPartsReqVO reqVO) { + + + PageHelper.startPage(reqVO.getPageNo(), reqVO.getPageSize()); + List orderPartsRespVOS = orderPartsMapper.selectPartsList(reqVO.getOrderNo()); + PageInfo pageInfo = new PageInfo<>(orderPartsRespVOS); + return PageHelperUtil.convertToPageResult(pageInfo); + + } + + + // 拆包 + @Override + public void unpacking(Long packageID) { + + OrderPackageDO packageDO = orderPackageMapper.selectById(packageID); + packageDO.setStatus((OrderPackageStatusEnum.UNPACKED.getStatus())); + orderPackageMapper.updateById(packageDO); + + + } + + + // 显示分组房间名称 + @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 + public OrderPackageDO updatePackStatus(OrderPackReqVO packageVO) { + + // 当传入的包裹ID为 -1 ,走新增的逻辑 + if (packageVO.getPackId() == -1) { + OrderPackageDO orderPackageDO = new OrderPackageDO(); + orderPackageDO.setOrderNo(packageVO.getOrderId()); + orderPackageDO.setType(packageVO.getPackageType()); + orderPackageDO.setStatus((OrderPackageStatusEnum.PACKAGED.getStatus())); + 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()); + + + } + + + // 包裹订单打印 + @Override + public PrintOrderPackRespVO printOrderPack(PrintOrderPackReqVO reqVO) { + + PrintOrderPackRespVO printOrderPackRespVO = productionStatusMapper.selectOrderPack(reqVO.getOrderNo(), reqVO.getPackageNo()); + printOrderPackRespVO.setPlateList(orderItemMapper.selectPrintPlateList(reqVO.getOrderNo(), reqVO.getPackageNo())); + return printOrderPackRespVO; + + + } + + + + // 删除包裹及其关联的包裹信息(删除全部) + @Override + public void deleteOrderPack(PackReqVO reqVO) { + + // 判断包裹的类型是否为其他类型,如果是,则删除其包裹信息 + if (reqVO.getIsOther() == true) { + + orderPartsMapper.deleteOrderParts(reqVO.getPackageId()); + orderPackageMapper.updateParts(reqVO.getPackageId(), reqVO.getPackageNo()); + orderItemMapper.deleteParts(reqVO); + return; + } + + orderItemMapper.deleteOrderPack(reqVO); + + } + + + + // 新增外部配件包裹表 + @Override + public OrderPackageDO addNewOtherParts(OtherPackReqVO reqVO) { + + + // 判断配件名称是否重复 + OrderPartsNDO orderPartsNDO = orderPartsMapper.selectOneParts(reqVO.getName()); + if (orderPartsNDO != null) { + throw exception(THE_ACCESSORY_NAME_CANNOT_BE_DUPLICATED); + } + + // 配件表新增数据 + OrderPartsNDO orderParts = BeanUtils.toBean(reqVO, OrderPartsNDO.class); + orderPartsMapper.insert(orderParts); + + + // 在包裹表中添加包裹编号和生产单号,修改包裹类型未其他配件类型 + OrderPackageDO orderPackageDO = new OrderPackageDO(); + orderPackageDO.setPackageNo(reqVO.getPackNo()); + orderPackageDO.setOrderNo(reqVO.getOrderId()); + orderPackageDO.setType(OrderPackageTypeEnum.OTHER_ACCESSORIES.getType().longValue()); + + // 新增包裹 + orderPackageMapper.insert(orderPackageDO); + + + // 在生产单明细表中添加数据(生产单号,配件ID,包裹ID,部件数量(目前一直为1)) + OrderItemDO orderItemDO = new OrderItemDO(); + orderItemDO.setOrderId(reqVO.getOrderId()); + orderItemDO.setPartsId(orderParts.getId()); + orderItemDO.setPackageId(orderPackageDO.getId()); + orderItemDO.setNum(Float.valueOf(1)); + + + // 在生产单明细表中新增数据 + orderItemMapper.insert(orderItemDO); + + // 查看新增的包裹信息 +/* return orderPackageMapper.selectByPackId(orderPackageDO.getId());*/ + return orderPackageDO; + + + } + + + + + @Override + public Long testpack(OrderPackageReqVO reqVO) { + + OrderPackageDO packageDO = BeanUtils.toBean(reqVO, OrderPackageDO.class); + orderPackageMapper.insert(packageDO); + return packageDO.getId(); + } + + + + + // 删除配件包裹中的配件(删除某一个) + @Override + public void deleteOtherParts(DeleteOtherPartsReqVO reqVO) { + + // 判断,如果为true 为其他配件 + if (reqVO.getIsOther() == true) { + + orderItemMapper.updateParts(reqVO); + orderItemMapper.deleteOtherParts(reqVO.getItemId()); + return; + + } + + orderItemMapper.updateParts(reqVO); + + } + + + + + + // 新增配件-即新增一个包裹 + @Override + public OrderPackageDO addNewPartsPack(OrderPackReqVO reqVO) { + + OrderPackageDO orderPackageDO = new OrderPackageDO(); + orderPackageDO.setOrderNo(reqVO.getOrderId()); + orderPackageDO.setType(reqVO.getPackageType()); + orderPackageDO.setStatus(OrderPackageStatusEnum.PACKAGED.getStatus()); + // TODO 包裹编号待完成 + orderPackageMapper.insert(orderPackageDO); + + orderItemMapper.insertPartsId(orderPackageDO.getId(),reqVO.getAddPartsIdList()); + + return orderPackageDO; + + } + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java new file mode 100644 index 000000000..590aed76a --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java @@ -0,0 +1,41 @@ +package com.cf.imes.module.manage.service.process; + + +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.module.manage.controller.admin.process.vo.OrderPorcessStepItemVO; +import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessReqVO; +import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO; +import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; + +import java.util.List; + +public interface ProductionProcessService { + + + // 生产工序单分页查询 + PageResult getProcessPage(ProcessPageReqVO pageReqVO); + + + + // 查询工序订单下的加工项的详情 + List getOrderProcessById(OrderProcessReqVO reqVO); + + + + // 修改生产单的工序状态 + void updateProcessStatus(Long id); + + + + + // 修改生产单工序的全部状态 + void updateAllProcessStatus(Long id); + + + // 查看板材信息的组合名称 + List selectPlateName(Long processStepId); + + +} 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 new file mode 100644 index 000000000..33fba58de --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java @@ -0,0 +1,177 @@ +package com.cf.imes.module.manage.service.process; + + +import com.cf.imes.framework.common.enums.ProcessingStatusEnum; +import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO; +import com.cf.imes.module.manage.controller.admin.process.vo.OrderPorcessStepItemVO; +import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessReqVO; +import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO; +import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessNDO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO; +import com.cf.imes.module.manage.dal.mysql.process.OrderProcessMapper; +import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper; +import com.cf.imes.module.manage.dal.mysql.process.ProcessStepMapper; +import com.cf.imes.module.manage.dal.mysql.process.ProductionProcessMapper; +import com.cf.imes.module.manage.util.page.PageHelperUtil; +import com.cf.imes.module.system.enums.ErrorCodeConstants; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.List; + +import static com.baomidou.mybatisplus.core.toolkit.Wrappers.update; + + +/** + * 生产单工序表 order_process_{N} 实现类 + * + * @author 晨丰科技 + */ +@Service +@Validated +public class ProductionProcessServiceImpl implements ProductionProcessService { + + @Resource + private ProductionProcessMapper productionProcessMapper; + + + @Resource + private ProcessStepMapper processStepMapper; + + @Resource + private OrderProcessMapper orderProcessMapper; + + @Resource + private ProcessStepItemMapper processStepItemMapper; + + + + // 生产工序单分页查询 + @Override + public PageResult getProcessPage(ProcessPageReqVO pageReqVO) { + + + PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + List processRespVOS = processStepItemMapper.selectOrder(pageReqVO); + + PageInfo pageInfo = new PageInfo<>(processRespVOS); + + // 转换成 PageResult 分页类型 + return PageHelperUtil.convertToPageResult(pageInfo); + +/* // 根据工序单id查询工序单信息 + OrderProcessNDO orderProcessNDOS = orderProcessMapper.selectByProcessId(pageReqVO.getId()); + pageReqVO.setOrderNo(orderProcessNDOS.getOrderNo()); + pageReqVO.setStatus(orderProcessNDOS.getStatus()); + + + // 查询生产单单分页信息 + return productionProcessMapper.selectPage(pageReqVO);*/ + + + } + + + // 查询工序订单下的加工项的详情 + @Override + public List getOrderProcessById(OrderProcessReqVO reqVO) { + + OrderPorcessStepItemVO orderPorcessStepItemVO = new OrderPorcessStepItemVO(); + + // 获取工序组 id + Long groupId = orderProcessMapper.queryProcess(reqVO.getId(), reqVO.getOrderNo()).getGroupId(); + + // 获取加工的工序项 + List stepItemList = processStepMapper.getStepItemList(reqVO.getOrderNo(), reqVO.getStatus()); + + // 将工序组 id 加入 + orderPorcessStepItemVO.setOrderProcessId(groupId); + + // 类型转换并返回 + return BeanUtils.toBean(stepItemList, OrderPorcessStepItemVO.class); + + + } + + + // 修改工序步骤表的工序状态 + @Override + public void updateProcessStatus(Long id) { + + // 根据步骤 id 查询当前生产单工序的状态 + OrderProcessStepNDO orderProcessStepNDO = processStepMapper.selectStatusById(id); + + // 未加工状态 + Boolean status = orderProcessStepNDO.getStatus(); + + // 未加工状态才可进行加工 + if (ProcessingStatusEnum.PROCESSED.getStatus().equals(status)) { + + throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING); + } + + // 更新加工状态 + processStepMapper.updateStatusById(id, ProcessingStatusEnum.PROCESSED.getStatus()); + + + // 判断生产单工序表的工序状态是否还有未加工 + // 获取当前工序 id 下的所有生产单工序步骤表 + List stepItemList = processStepMapper.getStepItemList(orderProcessStepNDO.getOrderNo(), ProcessingStatusEnum.RAW.getStatus()); + + // 集合剩余 1 ,代表当前工序步骤已全部加工,修改生产单工序表的状态为已加工 + if (stepItemList.size() == 1) { + orderProcessMapper.updateStatusById(orderProcessStepNDO.getOrderProcessId(), ProcessingStatusEnum.PROCESSED.getStatus()); + return; + } + + // 遍历生产单工序步骤表,判断是否还有未加工的工序步骤 + for (OrderProcessStepNDO processStepNDO : stepItemList) { + if (processStepNDO.getStatus().equals(ProcessingStatusEnum.RAW.getStatus())) { + return; + } + } + + } + + // 修改生产单工序的状态 + @Override + public void updateAllProcessStatus(Long id) { + + + // 查看当前生产单的工序状态 + Boolean status = orderProcessMapper.selectStatusById(id).getStatus(); + + + // 未加工状态才可进行加工 + if (ProcessingStatusEnum.PROCESSED.getStatus().equals(status)) { + throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING); + } + + // 更新加工状态 + orderProcessMapper.updateStatusById(id, ProcessingStatusEnum.PROCESSED.getStatus()); + + } + + + // 查看板材信息的组合名称 + @Override + public List selectPlateName(Long processStepId) { + + return processStepItemMapper.selectPlateName(processStepId); + + } + + +} + + + diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java new file mode 100644 index 000000000..e79b20213 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java @@ -0,0 +1,67 @@ +package com.cf.imes.module.manage.service.query; + + +import com.cf.imes.framework.common.pojo.PageResult; + +import com.cf.imes.module.manage.controller.admin.pack.vo.OrderPartsReqVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackagePageReqVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.PrintOrderRespVO; +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 java.util.List; + +public interface ProductionStatusService { + + + // 生产状态分页查询 + PageResult getProductionPage(OrderPlatePageReqVO pageReqVO); + + // 查看生产单下的加工的工序组 + List selectProduction(Long orderNo); + + + // 查看板材信息的组合名称 + List selectPlateName(OrderModuleReqVO reqVO); + + + // 查看板材信息分页 + PageResult getOrderPlatePage(PlatePageVO pageReqVO); + + + // 计件工资分页查询 + PageResult getSalaryPage(PriceRatePageReqVO pageReqVO); + + + + // 打包查询分页 + PageResult queryPackage(OrderPlatePageReqVO pageReqVO); + + + + // 生产单打包完成包裹查看 + List getPackageList(Long orderNo); + + + + // 查看包裹详情 + PageResult queryPackageDetails(OrderPackagePageReqVO pageReqVO); + + + // 打印订单 + PrintOrderRespVO printOrder(Long orderNo); + + + + // 导出缺板 + PageResult getMissingBoard(OrderPartsReqVO pageReqVO); + + + + +} 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 new file mode 100644 index 000000000..f0b632728 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java @@ -0,0 +1,239 @@ +package com.cf.imes.module.manage.service.query; + + +import com.cf.imes.framework.common.pojo.PageParam; +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.module.manage.controller.admin.pack.vo.OrderPartsReqVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackagePageReqVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.pack.PrintOrderRespVO; +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; +import com.cf.imes.module.manage.dal.mysql.process.ProcessStepMapper; +import com.cf.imes.module.manage.dal.mysql.query.*; +import com.cf.imes.module.manage.util.page.PageHelperUtil; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; + +@Service +@Validated +public class ProductionStatusServiceImpl implements ProductionStatusService { + + @Resource + private ProductionStatusMapper productionStatusMapper; + + @Resource + private ProcessStepMapper processStepMapper; + + @Resource + private ProcessStepItemMapper processStepItemMapper; + + + @Resource + private OrderPackageMapper orderPackageMapper; + + + @Resource + private OrderItemMapper orderItemMapper; + + @Resource + private OrderPartsMapper orderPartsMapper; + + + + // 生产状态分页查询 + @Override + public PageResult getProductionPage(OrderPlatePageReqVO pageReqVO) { + + return productionStatusMapper.selectProductionPage(pageReqVO); + + } + + + + // 查看生产单下的加工的工序组 + @Override + public List selectProduction(Long orderNo) { + + List orderProcessStepNDOS = processStepMapper.selectProducitonList(orderNo); + + List productionGroupVOS = BeanUtils.toBean(orderProcessStepNDOS, ProductionGroupVO.class); + + Long id = orderProcessStepNDOS.get(0).getId(); + + String name = processStepItemMapper.selectById(id).getGroupName(); + + for (int i = 0; i < 1; i++) { + productionGroupVOS.get(i).setGroupName(name); + } + + return productionGroupVOS; + } + + + + + // 查询板材信息的组合名称 + @Override + public List selectPlateName(OrderModuleReqVO reqVO) { + + return orderItemMapper.selectCombinationName(reqVO.getOrderNo()); + + } + + + + + // 查看板材信息分页 + @Override + public PageResult getOrderPlatePage(PlatePageVO pageReqVO) { + + PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + List orderPlateRespVOS = orderItemMapper.selectPlateList(pageReqVO.getBodyId()); + PageInfo pageInfo = new PageInfo<>(orderPlateRespVOS); + PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); + + return priceRateReqVOPageResult; + + } + + + + + // 计件工资分页查询 + @Override + public PageResult getSalaryPage(PriceRatePageReqVO pageReqVO) { + + // todo 功能完成,数据库数据不完整,测试部分功能完成 + + List orderProcessStepNDOS = processStepMapper.selectListBy(pageReqVO); + + if (pageReqVO.getNoShowZero()) { + for (OrderProcessStepNDO orderProcessStepNDO : orderProcessStepNDOS) { + if (orderProcessStepNDO.getPieceRate() == 0) { + orderProcessStepNDOS.remove(orderProcessStepNDO); + } + } + } + + List reqVOS = BeanUtils.toBean(orderProcessStepNDOS, PriceRatePageReqVO.class); + + List collect = reqVOS.stream().map(PriceRatePageReqVO::getOrderProcessId).collect(Collectors.toList()); + + + PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + List priceRateReqVOS = processStepMapper.selectListByStatus(collect); + PageInfo pageInfo = new PageInfo<>(priceRateReqVOS); + PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); + + return priceRateReqVOPageResult; + + + } + + + + + // 打包查询分页 + @Override + public PageResult queryPackage(OrderPlatePageReqVO pageReqVO) { + + return productionStatusMapper.selectProductionPage(pageReqVO); + + } + + + + + // 生产单打包完成包裹查看 + @Override + public List getPackageList(Long orderNo) { + + List orderPackageDOS = orderPackageMapper.selectByOrderNo(orderNo); + + return BeanUtils.toBean(orderPackageDOS, OrderPackageVO.class); + + } + + + + + // 查看包裹详情 + @Override + public PageResult queryPackageDetails(OrderPackagePageReqVO pageReqVO) { + + OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackNo(pageReqVO.getPackageNo()); + + // 查看配件包裹 + if(orderPackageDO.getType() == 1 && orderPackageDO.getType() == 2){ + + PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + List packageDetailsRespVOS = orderPartsMapper.selectParts(orderPackageDO.getPackageNo()); + PageInfo pageInfo = new PageInfo<>(packageDetailsRespVOS); + PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + return priceRateReqVOPageResult; + + } + + + // 查看板材包裹 + PageHelper.startPage(pageReqVO.getPageNo(),pageReqVO.getPageSize()); + List packageDetailsRespVOS = orderItemMapper.selectByPackageId(orderPackageDO.getId()); + PageInfo pageInfo = new PageInfo<>(packageDetailsRespVOS); + PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); + + return priceRateReqVOPageResult; + + } + + + + + // 打印订单 + @Override + public PrintOrderRespVO printOrder(Long orderNo) { + + return productionStatusMapper.selectPrintOrder(orderNo); + + } + + + + + // 导出缺板 + @Override + public PageResult getMissingBoard(OrderPartsReqVO pageReqVO) { + + + PageHelper.startPage(pageReqVO.getPageNo(),pageReqVO.getPageSize()); + List plateDetailsRespVOS = orderPackageMapper.selectMissingBoard(pageReqVO.getOrderNo()); + PageInfo pageInfo = new PageInfo<>(plateDetailsRespVOS); + PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); + + return priceRateReqVOPageResult; + + } + + + + + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/page/PageHelperUtil.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/page/PageHelperUtil.java new file mode 100644 index 000000000..96c4c5e9c --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/page/PageHelperUtil.java @@ -0,0 +1,21 @@ +package com.cf.imes.module.manage.util.page; + +import com.cf.imes.framework.common.pojo.PageResult; +import com.github.pagehelper.PageInfo; + + +/** + * PageHelper 工具类 + * + * @author 晨丰科技 + */ +public class PageHelperUtil { + + // 转换分页数据类型 + public static PageResult convertToPageResult(PageInfo pageInfo) { + PageResult pageResult = new PageResult<>(); + pageResult.setTotal(pageInfo.getTotal()); + pageResult.setList(pageInfo.getList()); + return 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 new file mode 100644 index 000000000..7c840610a --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE order_package_n + SET deleted = true + WHERE id = #{packageId} AND package_no = #{packageNo}; + + + + \ 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/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 new file mode 100644 index 000000000..b6d8bf049 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepItemMapper.xml @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + \ 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 new file mode 100644 index 000000000..7be9613b4 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + \ 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/query/OrderItemMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml new file mode 100644 index 000000000..48151a520 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml @@ -0,0 +1,405 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UPDATE order_item oi + SET oi.package_id = (SELECT opn.id + FROM order_package_n opn + WHERE opn.name LIKE CONCAT('%', (SELECT ob.room_name + FROM order_body ob + WHERE oi.body_id = ob.id + AND plate_id = #{plateId}),'%' ) + ) + WHERE plate_id = #{plateId}; + + + + + + + + + + + + + + + + + + + + UPDATE order_item oi + JOIN order_package_n opn ON oi.package_id = opn.id + SET oi.package_id = 0, opn.deleted = true + WHERE opn.id = #{reqVO.packageId} AND opn.package_no = #{reqVO.packageNo}; + + + + + + + + + + UPDATE order_parts op + SET op.deleted = true + WHERE op.id IN ( + SELECT oi.parts_id + FROM order_item oi + WHERE oi.order_id = #{reqVO.orderId} AND oi.package_id = #{reqVO.packageId} AND oi.id = #{reqVO.itemId} + ); + + + + + + + + + + + DELETE FROM order_item + WHERE id = #{itemId}; + + + + + + + + + delete from order_item + where package_id = #{reqVO.packageId} + and order_id in + (select order_no from order_package_n where id = #{reqVO.packageId} and package_no = #{reqVO.packageNo} ); + + + + + + + update order_item oi + + set package_id = #{packId} + + where plate_id in + + #{id} + + + + + + + + + update order_item oi + + set package_id = 0 + + where package_id = #{packId} and plate_id in + + #{id} + + + + + + + + + + update order_item oi + + set package_id = #{packId} + + where parts_id in + + + #{id} + + + + + + \ 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/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 new file mode 100644 index 000000000..b1349cfad --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + update order_parts op set op.deleted = true where op.id in ( + select oi.parts_id from order_item oi where package_id =#{packageId}); + + + + + + \ 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/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 new file mode 100644 index 000000000..080573b3c --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java index 1d33455b0..6c5aed981 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java @@ -202,4 +202,13 @@ public interface ErrorCodeConstants { ErrorCode REMAIN_PLATE_NOT_EXISTS = new ErrorCode(1_002_032_002, "板材不存在"); + //=========== 工序的生产状态 1-002-034-000 ============ + ErrorCode UNPROCESSED_BEFORE_PROCESSING = new ErrorCode(1_002_034_001, "未加工状态方可进行加工"); + + + // ========== 新增外部配件 1-002-035-000 ========== + ErrorCode THE_ACCESSORY_NAME_CANNOT_BE_DUPLICATED = new ErrorCode(1_002_035_001, "配件名称不能重复"); + + + } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessGroupController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessGroupController.java index f4483fcef..255babb73 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessGroupController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessGroupController.java @@ -72,8 +72,9 @@ public class ProcessGroupController { @Operation(summary = "更新工序组") @PreAuthorize("@ss.hasPermission('system:process-group:update')") public CommonResult updateProcessGroup(@Valid @RequestBody ProcessListSaveReqVO updateReqVO) { - processGroupService.updateProcessGroup(updateReqVO); - return success(true); + /*processGroupService.updateProcessGroup(updateReqVO); + return success(true);*/ + return null; } @DeleteMapping("/delete") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/group/ProcessGroupSaveReqVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/group/ProcessGroupSaveReqVO.java index f9039fb43..66c892ff5 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/group/ProcessGroupSaveReqVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/vo/group/ProcessGroupSaveReqVO.java @@ -1,10 +1,12 @@ package com.cf.imes.module.system.controller.admin.process.vo.group; +import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessRespVO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import java.util.List; @Schema(description = "管理后台 - 工序组表 process_group新增/修改 Request VO") @Data @@ -33,4 +35,8 @@ public class ProcessGroupSaveReqVO { @NotEmpty(message = "描述不能为空") private String description; + public List getLists() { + + return null; + } } \ 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/ProcessGroupService.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupService.java index b0e65a8fa..4d2a7355e 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupService.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupService.java @@ -29,7 +29,7 @@ public interface ProcessGroupService { * * @param updateReqVO 更新信息 */ - void updateProcessGroup(@Valid ProcessListSaveReqVO updateReqVO); + void updateProcessGroup(ProcessGroupSaveReqVO updateReqVO); /** * 删除工序组表 process_group diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupServiceImpl.java index db6d67d72..aa76376c4 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessGroupServiceImpl.java @@ -4,7 +4,6 @@ import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupP import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessGroupSaveReqVO; import com.cf.imes.module.system.controller.admin.process.vo.group.ProcessListSaveReqVO; import com.cf.imes.module.system.controller.admin.process.vo.process.ProcessRespVO; -import com.cf.imes.module.system.dal.dataobject.process.ProcessDO; import com.cf.imes.module.system.dal.mysql.process.ProcessMapper; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -48,7 +47,7 @@ public class ProcessGroupServiceImpl implements ProcessGroupService { } @Override - public void updateProcessGroup(ProcessListSaveReqVO updateReqVO) { + public void updateProcessGroup(ProcessGroupSaveReqVO updateReqVO) { // 校验存在 validateProcessGroupExists(updateReqVO.getId()); // 获取items From 2112536aeb1fd2bf76fe014c0aa94029c8a538a4 Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Mon, 8 Apr 2024 14:25:48 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=B7=A5=E5=BA=8F-?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2-=E5=88=86=E5=A0=86-=E6=89=93=E5=8C=85?= =?UTF-8?q?=E4=BB=A3=E7=A0=812.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/grouping/GroupingController.java | 8 +- .../admin/grouping/vo/OrderPageReqVO.java | 8 +- .../grouping/vo/OrderPlateListRespVO.java | 2 +- .../process/ProductionProcessController.java | 32 ++--- .../admin/process/vo/OrderProStepReqVO.java | 24 ++++ .../admin/process/vo/OrderProcessReqVO.java | 12 +- ...temVO.java => OrderProcessStepItemVO.java} | 4 +- .../admin/process/vo/ProcessPageReqVO.java | 6 +- .../admin/process/vo/ProcessRespVO.java | 2 + .../query/ProductionStatusController.java | 7 +- .../query/vo/pack/OrderPackagePageReqVO.java | 2 +- .../admin/query/vo/pack/OrderPackageVO.java | 2 +- .../query/vo/pack/PackageDetailsRespVO.java | 4 +- .../productionStatus/OrderPlatePageReqVO.java | 2 +- .../query/vo/salary/PriceRatePageReqVO.java | 22 +-- .../dal/dataobject/plate/OrderPlateDO.java | 127 +++++++++++++++++ .../manage/dal/dataobject/plate/PlateDO.java | 2 +- .../dataobject/process/OrderProcessNDO.java | 11 +- .../process/OrderProcessStepItemNDO.java | 5 +- .../process/OrderProcessStepNDO.java | 4 +- .../dal/mysql/pack/OrderPackageMapper.java | 4 +- .../dal/mysql/plate/OrderPlateMapper.java | 23 ++++ .../dal/mysql/process/OrderProcessMapper.java | 4 +- .../mysql/process/ProcessStepItemMapper.java | 12 +- .../dal/mysql/process/ProcessStepMapper.java | 33 ++--- .../process/ProductionProcessMapper.java | 9 ++ .../service/grouping/GroupingServiceImpl.java | 1 + .../process/ProductionProcessService.java | 14 +- .../process/ProductionProcessServiceImpl.java | 104 ++++++++------ .../query/ProductionStatusService.java | 2 +- .../query/ProductionStatusServiceImpl.java | 48 +++---- .../dal/mysql/plate/OrderPlateMapper.xml | 128 ++++++++++++++++++ .../mysql/process/ProcessStepItemMapper.xml | 45 +++++- .../dal/mysql/process/ProcessStepMapper.xml | 76 +++++++---- .../mysql/process/ProductionProcessMapper.xml | 79 +++++++++++ .../dal/mysql/query/OrderItemMapper.xml | 32 ++--- .../dal/mysql/query/OrderPartsMapper.xml | 23 ++-- .../admin/process/ProcessGroupController.java | 5 +- 38 files changed, 681 insertions(+), 247 deletions(-) create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProStepReqVO.java rename cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/{OrderPorcessStepItemVO.java => OrderProcessStepItemVO.java} (87%) create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/OrderPlateDO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.xml diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/GroupingController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/GroupingController.java index e8d6224e2..95d7a8b10 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/GroupingController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/GroupingController.java @@ -40,7 +40,7 @@ public class GroupingController { @Operation(summary = "查询订单") @PreAuthorize("@ss.hasPermission('manage:grouping:query')") public CommonResult> getGroupingList(@Valid OrderPageReqVO pageReqVO) { - + // PageResult groupingList = groupingService.getGroupingList(pageReqVO); return success(BeanUtils.toBean(groupingList, ProcessRespVO.class)); @@ -56,7 +56,7 @@ public class GroupingController { @Operation(summary = "查看订单的板材信息(未加入包裹的板材信息)") @PreAuthorize("@ss.hasPermission('manage:grouping:query')") public CommonResult> notJoinedGroupingPlateList(@Valid OrderModuleReqVO reqVO) { - + // return success(groupingService.notJoinedGroupingPlateList(reqVO)); } @@ -127,7 +127,7 @@ public class GroupingController { - @GetMapping("/export") +/* @GetMapping("/export") @Operation(summary = "查看订单的板材信息(已将加入包裹的板材信息)") @PreAuthorize("@ss.hasPermission('manage:grouping:export')") public void exportData(@Valid ExportJsonReqVO reqVO) { @@ -136,7 +136,7 @@ public class GroupingController { - } + }*/ diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPageReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPageReqVO.java index 7a1d95ed6..8019b7532 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPageReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPageReqVO.java @@ -19,8 +19,6 @@ import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH @ToString(callSuper = true) public class OrderPageReqVO extends PageParam { - @Schema(description = "工序 id") - private Long id; @Schema(description = "生产单号") private Long orderNo; @@ -34,6 +32,10 @@ public class OrderPageReqVO extends PageParam { @Schema(description = "地址") private String address; + + @Schema(description = "经销商") + private String dealer; + @Schema(description = "开始时间",requiredMode = Schema.RequiredMode.REQUIRED) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDateTime[] startTime; @@ -42,6 +44,6 @@ public class OrderPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDateTime[] endTime; - @Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "false") + @Schema(description = "订单状态-默认全都显示",requiredMode = Schema.RequiredMode.REQUIRED) private List statusList; } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPlateListRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPlateListRespVO.java index e12bcbbf9..d54cbfeb2 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPlateListRespVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPlateListRespVO.java @@ -4,7 +4,7 @@ package com.cf.imes.module.manage.controller.admin.grouping.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; -@Schema(description = "管理后台 - 生产单版件表 Response VO") +@Schema(description = "管理后台 - 生产单板件表 Response VO") @Data public class OrderPlateListRespVO { 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 03ace49e2..0113733d8 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 @@ -3,18 +3,14 @@ package com.cf.imes.module.manage.controller.admin.process; import com.cf.imes.framework.common.pojo.CommonResult; import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.module.manage.controller.admin.process.vo.OrderPorcessStepItemVO; -import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessReqVO; -import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO; -import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO; +import com.cf.imes.module.manage.controller.admin.process.vo.*; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderPlateRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.PlatePageVO; -import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; import com.cf.imes.module.manage.service.process.ProductionProcessService; import com.cf.imes.module.manage.service.query.ProductionStatusService; 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.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; @@ -42,7 +38,7 @@ public class ProductionProcessController { @GetMapping("/page") - @Operation(summary = "获得生产工序分页") + @Operation(summary = "查看生产工序分页") @PreAuthorize("@ss.hasPermission('manage:process:query')") public CommonResult> getUserPage(@Valid ProcessPageReqVO pageReqVO) { @@ -54,20 +50,22 @@ public class ProductionProcessController { @GetMapping("/select") - @Operation(summary = "根据工序号获得生产工序下的加工项") + @Operation(summary = "根据工序号查看生产工序下的加工项") @PreAuthorize("@ss.hasPermission('manage:process:query')") - public CommonResult> selectProcess(@Valid OrderProcessReqVO reqVO){ - List orderProcessById = productionProcessService.getOrderProcessById(reqVO); + public CommonResult> selectProcess(@Valid OrderProcessReqVO reqVO){ + List orderProcessById = productionProcessService.getOrderProcessById(reqVO); return CommonResult.success(orderProcessById); } + @PutMapping("/update") - @Operation(summary = "根据工序步骤 id 修改生产工序步骤表的状态") + @Operation(summary = "根据工序明细 ID 修改生产工序明细表的状态") + @Parameter(name = "id", description = "工序明细ID", required = true, example = "1") @PreAuthorize("@ss.hasPermission('manage:process:update')") - public CommonResult updateProcessStatus(@Valid Long id){ + public CommonResult updateProcessStatus(@Valid @RequestParam("id") Long id){ productionProcessService.updateProcessStatus(id); return success(true); @@ -76,10 +74,10 @@ public class ProductionProcessController { @PutMapping("/updateAll") - @Operation(summary = "根据工序 id 修改生产单工序表的状态") + @Operation(summary = "修改生产步骤表的工序状态") @PreAuthorize("@ss.hasPermission('manage:process:update')") - public CommonResult updateAllProcessStatus(@Valid Long id){ - productionProcessService.updateAllProcessStatus(id); + public CommonResult updateAllProcessStatus(@Valid @RequestBody OrderProStepReqVO reqVO){ + productionProcessService.updateAllProcessStatus(reqVO); return success(true); } @@ -89,8 +87,9 @@ public class ProductionProcessController { @GetMapping("/selectPlateName") @Operation(summary = "查看板材信息的组合名称") + @Parameter(name = "processStepId", description = "工序步骤ID", required = true, example = "1") @PreAuthorize("@ss.hasPermission('manage:process:query')") - public CommonResult> selectPlateName(@Valid Long processStepId){ + public CommonResult> selectPlateName(@Valid @RequestParam("processStepId") Long processStepId){ return success(productionProcessService.selectPlateName(processStepId)); @@ -107,5 +106,4 @@ public class ProductionProcessController { } - } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProStepReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProStepReqVO.java new file mode 100644 index 000000000..f360e4614 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProStepReqVO.java @@ -0,0 +1,24 @@ +package com.cf.imes.module.manage.controller.admin.process.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +@Schema(description = "管理后台 - 修改生产步骤表 ") +@Data +@ToString(callSuper = true) +public class OrderProStepReqVO { + + + @Schema(description = "工序步骤id", requiredMode = Schema.RequiredMode.REQUIRED) + private Long processStepId; + + + @Schema(description = "生产单工序ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long orderProcessId; + + + @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) + 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/OrderProcessReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProcessReqVO.java index 37a093cb9..f47489d82 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProcessReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProcessReqVO.java @@ -5,20 +5,20 @@ import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.ToString; -@Schema(description = "管理后台 - 生产单工序表 order_process_{N} Request VO") +@Schema(description = "管理后台 - 生产单工序明细表 Request VO") @Data @ToString(callSuper = true) public class OrderProcessReqVO { - @Schema(description = "工序 id", requiredMode = Schema.RequiredMode.REQUIRED,example = "12") - private Long id; + @Schema(description = "工序步骤ID", requiredMode = Schema.RequiredMode.REQUIRED,example = "12") + private Long processStepId; - @Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "false") + @Schema(description = "工序状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "false") private Boolean status; - @Schema(description = "生产单号",requiredMode = Schema.RequiredMode.REQUIRED, example = "1234") - private Long orderNo; + @Schema(description = "生产单工序ID",requiredMode = Schema.RequiredMode.REQUIRED, example = "1234") + private Long orderProcessId; } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderPorcessStepItemVO.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 similarity index 87% rename from cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderPorcessStepItemVO.java rename to cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderProcessStepItemVO.java index 22aa48458..50e4dba77 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/process/vo/OrderPorcessStepItemVO.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 @@ -10,10 +10,10 @@ import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor -public class OrderPorcessStepItemVO { +public class OrderProcessStepItemVO { - @Schema(description = "主键") + @Schema(description = "主键-工序明细ID") private Long id; @Schema(description = "加工项名称") 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 67bcf61cd..eeb76a9ae 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 @@ -7,7 +7,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; -@Schema(description = "管理后台 - 生产单工序表 order_process_{N} 分页 Request VO ") +@Schema(description = "管理后台 - 生产单表 分页 Request VO ") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @@ -17,8 +17,8 @@ public class ProcessPageReqVO extends PageParam { @Schema(description = "工序 id", requiredMode = Schema.RequiredMode.REQUIRED,example = "12") private Long id; - @Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "0") - private Long status; + @Schema(description = "订单状态",requiredMode = Schema.RequiredMode.REQUIRED, example = "false") + private Boolean status; @Schema(description = "生产单号") private Long orderNo; 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 3b833a9ac..f052388fe 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 @@ -14,6 +14,8 @@ public class ProcessRespVO { @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788") private Long id; + @Schema(description = "生产单工序步骤ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7788") + private Long processStepId; @Schema(description = "自定义单号", requiredMode = Schema.RequiredMode.REQUIRED,example = "ABCD") private String customOrderNo; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/ProductionStatusController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/ProductionStatusController.java index 315d3d009..3b24d0474 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/ProductionStatusController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/ProductionStatusController.java @@ -150,12 +150,11 @@ public class ProductionStatusController { @GetMapping("/queryPackageDetails") @Operation(summary = "查看包裹详情分页") + @Parameter(name = "packId", description = "包裹Id", required = true) @PreAuthorize("@ss.hasPermission('manage:query:query')") - public CommonResult> queryPackageDetails(@Valid OrderPackagePageReqVO pageReqVO){ + public CommonResult> queryPackageDetails(@Valid @RequestParam("packId") Long packId){ - PageResult packageDetailsRespVOPageResult = productionStatusService.queryPackageDetails(pageReqVO); - - return CommonResult.success(packageDetailsRespVOPageResult); + return CommonResult.success(productionStatusService.queryPackageDetails(packId)); } 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/OrderPackagePageReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/OrderPackagePageReqVO.java index 0ca0d891b..3d92652ec 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/OrderPackagePageReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/pack/OrderPackagePageReqVO.java @@ -13,7 +13,7 @@ import lombok.ToString; @ToString(callSuper = true) public class OrderPackagePageReqVO extends PageParam { - @Schema(description = "包裹编号") + @Schema(description = "包裹Id") private Long packageNo; /* @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/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 b2a56e4b7..87a981ff9 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 @@ -12,7 +12,7 @@ public class OrderPackageVO { - @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED) + @Schema(description = "主键-包裹ID", requiredMode = Schema.RequiredMode.REQUIRED) private Long id; @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/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 9659ad697..b29f625bd 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 @@ -15,10 +15,10 @@ public class PackageDetailsRespVO { private String cabinetName; @Schema(description = "板编号", requiredMode = Schema.RequiredMode.REQUIRED) - private String palteNo; + private String plateNo; @Schema(description = "板名称", requiredMode = Schema.RequiredMode.REQUIRED) - private String palteName; + private String plateName; @Schema(description = "材料", requiredMode = Schema.RequiredMode.REQUIRED) private String material; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderPlatePageReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderPlatePageReqVO.java index 9c88b2ea0..ea2218d11 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderPlatePageReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderPlatePageReqVO.java @@ -18,7 +18,7 @@ public class OrderPlatePageReqVO extends PageParam { - @Schema(description = "生产状态(2:生产中,3:生产完成)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2,3") + @Schema(description = "生产状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2,3") private List statusList; 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 b8b81477f..73350b54f 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 @@ -1,14 +1,17 @@ package com.cf.imes.module.manage.controller.admin.query.vo.salary; -import cn.hutool.core.date.DateTime; import com.cf.imes.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; +import java.util.Date; + +import static com.cf.imes.framework.common.util.date.DateUtils.*; @Schema(description = "管理后台 - 计件工资查询分页 Request VO") @Data @@ -16,29 +19,26 @@ import java.time.LocalDateTime; @ToString(callSuper = true) public class PriceRatePageReqVO extends PageParam { - @Schema(description = "工序id") - private Long orderProcessId; - - @Schema(description = "生产单工序步骤状态(已加工状态)", requiredMode = Schema.RequiredMode.REQUIRED) - private Boolean status; @Schema(description = "开始时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime startTime; + private String startTime; + @Schema(description = "结束时间", requiredMode = Schema.RequiredMode.REQUIRED) - private LocalDateTime endTime; + private String endTime; + @Schema(description = "加工人") private String creator; + @Schema(description = "工序名称") private String name; - @Schema(description = "显示零单价(默认不显示)", requiredMode = Schema.RequiredMode.REQUIRED) + + @Schema(description = "显示零单价(默认不显示-false)", requiredMode = Schema.RequiredMode.REQUIRED) private Boolean noShowZero; - - } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/OrderPlateDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/OrderPlateDO.java new file mode 100644 index 000000000..7d20e49bc --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/OrderPlateDO.java @@ -0,0 +1,127 @@ +package com.cf.imes.module.manage.dal.dataobject.plate; + + +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; +import lombok.*; + +@TableName("order_plate") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class OrderPlateDO extends BaseDO { + + + // 板件 ID + @TableId + private Long id; + + // 生产单号 + private Long orderId; + + // 组织 ID + private Long organId; + + // 板名称 + private String name; + + // 自定义板编号 + private String plateNo; + + // 板类型,0 层板 1 立板 2 背板 + private Integer type; + + // 商品 ID + private String goodsId; + + // 宽度 + private Double width; + + // 高度 + private Double height; + + // 厚度 + private Double thickness; + + // 拆单宽度 + private Double splitWidth; + + // 拆单高度 + private Double splitHeight; + + // 拆单厚度 + private Double splitThickness; + + // 左封边厚度 + private Double sealLeft; + + // 右封边厚度 + private Double sealRight; + + // 上封边厚度 + private Double sealUp; + + // 下封边厚度 + private Double sealDown; + + // 面积 + private Double area; + + // 纹路类型,0 正纹 1 可翻转 2 反纹 + private Integer texture; + + // 孔面类型,0 正面 1 反面 2 侧面 + private Integer holeFace; + + // 排孔类型,0 正纹 1 反面 2 随意面 + private Integer holeArrange; + + // 异型孔数量 + private Integer unregularPointCount; + + // 正面孔数量 + private Integer frontHoleCount; + + // 背面孔数量 + private Integer backHoleCount; + + // 侧面孔数量 + private Integer sideHoleCount; + + // 正面造型量 + private Integer frontModelCount; + + // 背面造型量 + private Integer backModelCount; + + // 是否门板 + private Boolean isDoor; + + // 开门类型,0 无 1 左 2 右 3 上 4 下 + private Integer openDoorType; + + // 异型偏移 x + private Float offsetX; + + // 异型偏移 y + private Float offsetY; + + // 是否孤形对角 + private Boolean isArcAcross; + + // 模块类型 ID + private Long moduleTypeId; + + // 排单过滤类型,1 有挖穿造型 2 有挖穿孔 4 有二维刀路 8 可叠 + private Integer filterType; + + // 备注 + private String remark; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/PlateDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/PlateDO.java index 48113217e..a1c9a9002 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/PlateDO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/PlateDO.java @@ -12,7 +12,7 @@ import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; * * @author 晨丰科技 */ -@TableName("plate_n") +@TableName("plate") @KeySequence("plate_n_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessNDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessNDO.java index 9cec8a660..c16a8d2e2 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessNDO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessNDO.java @@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import lombok.*; -@TableName(value = "order_process_n") // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users +@TableName(value = "order_process") // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @@ -20,7 +20,7 @@ public class OrderProcessNDO extends BaseDO { private Long id; // 生产单号 - private Long orderNo; + private Long orderId; // 工序名 private String name; @@ -31,5 +31,12 @@ public class OrderProcessNDO extends BaseDO { // 工序组 id private Long groupId; + // 板材大小 + private Float size; + + // 下一工序Id + private Long nextStepId; + + } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepItemNDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepItemNDO.java index 999eafa7f..149b1eb66 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepItemNDO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderProcessStepItemNDO.java @@ -8,14 +8,13 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import lombok.*; -@TableName(value = "order_process_step_item_n", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users +@TableName(value = "order_process_step_item", autoResultMap = true) // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users @Data -@EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @Builder @NoArgsConstructor @AllArgsConstructor -public class OrderProcessStepItemNDO extends BaseDO{ +public class OrderProcessStepItemNDO { @TableId 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 f0c974eb9..31099e75d 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 @@ -13,7 +13,7 @@ import lombok.NoArgsConstructor; import java.time.LocalDateTime; import java.util.Date; -@TableName(value = "order_process_step_n") // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users +@TableName(value = "order_process_step") // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users @Data @Builder @NoArgsConstructor @@ -24,7 +24,7 @@ public class OrderProcessStepNDO extends BaseDO { private Long id; // 生产单号 - private Long orderNo; + private Long orderId; //组织ID private Long organId; 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 e7c1483bd..e6778aeba 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 @@ -28,9 +28,9 @@ public interface OrderPackageMapper extends BaseMapperX { - default OrderPackageDO selectByPackNo(Long orderNo) { + default OrderPackageDO selectByPackNo(Long packId) { return selectOne(new LambdaQueryWrapperX() - .eqIfPresent(OrderPackageDO::getPackageNo, orderNo)); + .eqIfPresent(OrderPackageDO::getId, packId)); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java new file mode 100644 index 000000000..c73299167 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java @@ -0,0 +1,23 @@ +package com.cf.imes.module.manage.dal.mysql.plate; + + +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlatePageReqVO; +import com.cf.imes.module.manage.dal.dataobject.plate.OrderPlateDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface OrderPlateMapper extends BaseMapperX { + + + + List selectPlateDetail(PatchingPlatePageReqVO pageReqVO); + + + + PlateDetailsRespVO selectPlate(@Param("plateId") Long plateId); +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/OrderProcessMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/OrderProcessMapper.java index f66cc3020..6f85abc1e 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/OrderProcessMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/OrderProcessMapper.java @@ -22,7 +22,7 @@ public interface OrderProcessMapper extends BaseMapperX { default OrderProcessNDO queryProcess( Long processId , Long orderNo) { return selectOne(new LambdaQueryWrapperX() .eqIfPresent(OrderProcessNDO::getId, processId) - .eqIfPresent(OrderProcessNDO::getOrderNo,orderNo)); + .eqIfPresent(OrderProcessNDO::getOrderId,orderNo)); } @@ -45,7 +45,7 @@ public interface OrderProcessMapper extends BaseMapperX { } - @Update("UPDATE order_process_n SET status = #{status} WHERE id = #{id}") + @Update("UPDATE order_process SET status = #{status} WHERE id = #{id}") void updateStatusById(@Param("id") Long id, @Param("status") Boolean status); 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 d203ad0a3..df826d5ae 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 @@ -2,8 +2,7 @@ package com.cf.imes.module.manage.dal.mysql.process; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; -import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO; -import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO; +import com.cf.imes.module.manage.controller.admin.process.vo.*; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO; import org.apache.ibatis.annotations.Mapper; @@ -20,9 +19,16 @@ import java.util.List; public interface ProcessStepItemMapper extends BaseMapperX { + List selectOrder(ProcessPageReqVO pageReqVO); + List selectPlateName(Long processStepId); - List selectOrder(ProcessPageReqVO pageReqVO); + List selectItemProcess(OrderProcessReqVO reqVO); + + + + void updateStatus(OrderProStepReqVO reqVO); + } 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 a5b35e5f8..3b0e0f3d5 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 @@ -1,12 +1,12 @@ package com.cf.imes.module.manage.dal.mysql.process; -import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.manage.controller.admin.process.vo.OrderProStepReqVO; +import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessStepItemVO; 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.plate.PlateDO; import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -22,14 +22,6 @@ import java.util.List; @Mapper public interface ProcessStepMapper extends BaseMapperX { - default List getStepItemList(Long orderNo, Boolean status) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(OrderProcessStepNDO::getOrderNo, orderNo) - .eqIfPresent(OrderProcessStepNDO::getStatus, status)); - } - - - default OrderProcessStepNDO selectStatusById(Long id) { return selectOne(new LambdaQueryWrapperX() @@ -38,32 +30,23 @@ public interface ProcessStepMapper extends BaseMapperX { } - @Update("UPDATE order_process_step_n SET status = #{status} WHERE id = #{id}") void updateStatusById(@Param("id") Long id, @Param("status") Boolean status); - - default List selectProducitonList(Long orderNo) { return selectList(new LambdaQueryWrapperX() - .eqIfPresent(OrderProcessStepNDO::getOrderNo, orderNo)); + .eqIfPresent(OrderProcessStepNDO::getOrderId, orderNo)); } - List selectListByStatus(@Param("collect") List collect); - - - - default List selectListBy(PriceRatePageReqVO pageReqVO) { + default List selectStepList(OrderProStepReqVO reqVO, Boolean status) { return selectList(new LambdaQueryWrapperX() - .eqIfPresent(OrderProcessStepNDO::getStatus, pageReqVO.getStatus()) - .eqIfPresent(OrderProcessStepNDO::getCreator,pageReqVO.getCreator()) - .eqIfPresent(OrderProcessStepNDO::getName,pageReqVO.getName()) - .betweenIfPresent(OrderProcessStepNDO::getCreateTime,pageReqVO.getStartTime(),pageReqVO.getEndTime())); - + .eqIfPresent(OrderProcessStepNDO::getId,reqVO.getProcessStepId()) + .eqIfPresent(OrderProcessStepNDO::getStatus, status) + .eqIfPresent(OrderProcessStepNDO::getOrderId, reqVO.getOrderId())); } - + List selectSalaryList(PriceRatePageReqVO pageReqVO); } \ 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/process/ProductionProcessMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.java index 3a398cdfd..09d9e272c 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.java @@ -5,10 +5,15 @@ import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.manage.controller.admin.grouping.vo.OrderPageReqVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlatePageReqVO; +import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlateRespVO; import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO; import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 生产单表 order_{N} Mapper * @@ -37,6 +42,7 @@ public interface ProductionProcessMapper extends BaseMapperX { .eqIfPresent(OrderDO::getCustomOrderNo,pageReqVO.getCustomOrderNo()) .likeIfPresent(OrderDO::getCustomer,pageReqVO.getCustomer()) .likeIfPresent(OrderDO::getAddress,pageReqVO.getAddress()) + .likeIfPresent(OrderDO::getDealer,pageReqVO.getDealer()) .and(wrapper -> { for (Long status : pageReqVO.getStatusList()) { wrapper.or().eq(OrderDO::getStatus, status); @@ -47,4 +53,7 @@ public interface ProductionProcessMapper extends BaseMapperX { + List selectPatchingPlate(PatchingPlatePageReqVO pageReqVO); + + } \ 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/grouping/GroupingServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingServiceImpl.java index 22ee10fd4..32f535b3b 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingServiceImpl.java @@ -68,6 +68,7 @@ public class GroupingServiceImpl implements GroupingService{ @Override public PageResult notJoinedGroupingPlateList(OrderModuleReqVO reqVO) { + // PageHelper.startPage(reqVO.getPageNo(),reqVO.getPageSize()); List orderPlateListRespVOS = orderItemMapper.selectGroupingPlateList(reqVO.getOrderNo()); PageInfo pageInfo = new PageInfo<>(orderPlateListRespVOS); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java index 590aed76a..f92e21109 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java @@ -2,12 +2,8 @@ package com.cf.imes.module.manage.service.process; import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.module.manage.controller.admin.process.vo.OrderPorcessStepItemVO; -import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessReqVO; -import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO; -import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO; +import com.cf.imes.module.manage.controller.admin.process.vo.*; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; -import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; import java.util.List; @@ -20,18 +16,18 @@ public interface ProductionProcessService { // 查询工序订单下的加工项的详情 - List getOrderProcessById(OrderProcessReqVO reqVO); + List getOrderProcessById(OrderProcessReqVO reqVO); - // 修改生产单的工序状态 + // 修改工序明细表的工序状态 void updateProcessStatus(Long id); - // 修改生产单工序的全部状态 - void updateAllProcessStatus(Long id); + // 修改生产步骤表的工序状态 + void updateAllProcessStatus(OrderProStepReqVO reqVO); // 查看板材信息的组合名称 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 33fba58de..a33d73a6e 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 @@ -4,15 +4,9 @@ package com.cf.imes.module.manage.service.process; import com.cf.imes.framework.common.enums.ProcessingStatusEnum; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO; -import com.cf.imes.module.manage.controller.admin.process.vo.OrderPorcessStepItemVO; -import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessReqVO; -import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO; -import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO; +import com.cf.imes.module.manage.controller.admin.process.vo.*; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; -import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; -import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessNDO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO; import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO; import com.cf.imes.module.manage.dal.mysql.process.OrderProcessMapper; import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper; @@ -27,6 +21,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.util.List; +import java.util.stream.Collectors; import static com.baomidou.mybatisplus.core.toolkit.Wrappers.update; @@ -40,9 +35,6 @@ import static com.baomidou.mybatisplus.core.toolkit.Wrappers.update; @Validated public class ProductionProcessServiceImpl implements ProductionProcessService { - @Resource - private ProductionProcessMapper productionProcessMapper; - @Resource private ProcessStepMapper processStepMapper; @@ -63,55 +55,56 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); List processRespVOS = processStepItemMapper.selectOrder(pageReqVO); + // 判断生产步骤表在传入的状态查询后是否为空 + if(processRespVOS.isEmpty()){ + + return null; + } + PageInfo pageInfo = new PageInfo<>(processRespVOS); + // 转换成 PageResult 分页类型 return PageHelperUtil.convertToPageResult(pageInfo); -/* // 根据工序单id查询工序单信息 - OrderProcessNDO orderProcessNDOS = orderProcessMapper.selectByProcessId(pageReqVO.getId()); - pageReqVO.setOrderNo(orderProcessNDOS.getOrderNo()); - pageReqVO.setStatus(orderProcessNDOS.getStatus()); - - - // 查询生产单单分页信息 - return productionProcessMapper.selectPage(pageReqVO);*/ - } + // 查询工序订单下的加工项的详情 @Override - public List getOrderProcessById(OrderProcessReqVO reqVO) { + public List getOrderProcessById(OrderProcessReqVO reqVO) { - OrderPorcessStepItemVO orderPorcessStepItemVO = new OrderPorcessStepItemVO(); - // 获取工序组 id - Long groupId = orderProcessMapper.queryProcess(reqVO.getId(), reqVO.getOrderNo()).getGroupId(); + List orderProcessStepItemVOS = processStepItemMapper.selectItemProcess(reqVO); - // 获取加工的工序项 - List stepItemList = processStepMapper.getStepItemList(reqVO.getOrderNo(), reqVO.getStatus()); + // 判断生产明细表在传入的状态查询后是否为空 + if(orderProcessStepItemVOS.isEmpty()){ + // 修改生产步骤表的工序状态 + processStepMapper.updateStatusById(reqVO.getProcessStepId(),ProcessingStatusEnum.PROCESSED.getStatus()); + return null; + } - // 将工序组 id 加入 - orderPorcessStepItemVO.setOrderProcessId(groupId); - - // 类型转换并返回 - return BeanUtils.toBean(stepItemList, OrderPorcessStepItemVO.class); + return orderProcessStepItemVOS; } - // 修改工序步骤表的工序状态 + + // 修改工序明细表的工序状态 @Override public void updateProcessStatus(Long id) { + // 根据步骤 id 查询当前生产单工序的状态 - OrderProcessStepNDO orderProcessStepNDO = processStepMapper.selectStatusById(id); + OrderProcessStepItemNDO orderProcessStepItemNDO = processStepItemMapper.selectById(id); + // 未加工状态 - Boolean status = orderProcessStepNDO.getStatus(); + Boolean status = orderProcessStepItemNDO.getStatus(); + // 未加工状态才可进行加工 if (ProcessingStatusEnum.PROCESSED.getStatus().equals(status)) { @@ -119,16 +112,18 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING); } + // 更新加工状态 - processStepMapper.updateStatusById(id, ProcessingStatusEnum.PROCESSED.getStatus()); + orderProcessStepItemNDO.setStatus(ProcessingStatusEnum.PROCESSED.getStatus()); + processStepItemMapper.updateById(orderProcessStepItemNDO); // 判断生产单工序表的工序状态是否还有未加工 // 获取当前工序 id 下的所有生产单工序步骤表 - List stepItemList = processStepMapper.getStepItemList(orderProcessStepNDO.getOrderNo(), ProcessingStatusEnum.RAW.getStatus()); +// List stepItemList = processStepMapper.getStepItemList(orderProcessStepNDO.getOrderNo(), ProcessingStatusEnum.RAW.getStatus()); // 集合剩余 1 ,代表当前工序步骤已全部加工,修改生产单工序表的状态为已加工 - if (stepItemList.size() == 1) { +/* if (stepItemList.size() == 1) { orderProcessMapper.updateStatusById(orderProcessStepNDO.getOrderProcessId(), ProcessingStatusEnum.PROCESSED.getStatus()); return; } @@ -138,30 +133,49 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { if (processStepNDO.getStatus().equals(ProcessingStatusEnum.RAW.getStatus())) { return; } - } + }*/ } - // 修改生产单工序的状态 + + // 修改生产步骤表的工序状态 @Override - public void updateAllProcessStatus(Long id) { + public void updateAllProcessStatus(OrderProStepReqVO reqVO) { - // 查看当前生产单的工序状态 - Boolean status = orderProcessMapper.selectStatusById(id).getStatus(); - + OrderProcessStepNDO orderProcessStepNDO = processStepMapper.selectStatusById(reqVO.getProcessStepId()); + // 未加工状态 + Boolean status = orderProcessStepNDO.getStatus(); // 未加工状态才可进行加工 if (ProcessingStatusEnum.PROCESSED.getStatus().equals(status)) { + throw ServiceExceptionUtil.exception(ErrorCodeConstants.UNPROCESSED_BEFORE_PROCESSING); } - // 更新加工状态 - orderProcessMapper.updateStatusById(id, ProcessingStatusEnum.PROCESSED.getStatus()); + + // 修改生产单工序步骤表的状态为已加工 + orderProcessStepNDO.setStatus(ProcessingStatusEnum.PROCESSED.getStatus()); + processStepMapper.updateById(orderProcessStepNDO); + + + // 修改生产单明细表的生产状态 + processStepItemMapper.updateStatus(reqVO); + + + // 查询当前工序步骤表的工序状态是否还有未加工 + List orderProcessStepNDOS = processStepMapper.selectStepList(reqVO, ProcessingStatusEnum.RAW.getStatus()); + // 如果为空,修改工序表的加工状态为已加工 + if(orderProcessStepNDOS.isEmpty()){ + orderProcessMapper.updateStatusById(orderProcessStepNDO.getOrderProcessId(),ProcessingStatusEnum.PROCESSED.getStatus()); + } + + } + // 查看板材信息的组合名称 @Override public List selectPlateName(Long processStepId) { diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java index e79b20213..976c6aff0 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java @@ -50,7 +50,7 @@ public interface ProductionStatusService { // 查看包裹详情 - PageResult queryPackageDetails(OrderPackagePageReqVO pageReqVO); + List queryPackageDetails(Long packId); // 打印订单 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 f0b632728..8f9025c50 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 @@ -119,30 +119,20 @@ public class ProductionStatusServiceImpl implements ProductionStatusService { @Override public PageResult getSalaryPage(PriceRatePageReqVO pageReqVO) { - // todo 功能完成,数据库数据不完整,测试部分功能完成 + PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + List priceRateReqVOS = processStepMapper.selectSalaryList(pageReqVO); - List orderProcessStepNDOS = processStepMapper.selectListBy(pageReqVO); - - if (pageReqVO.getNoShowZero()) { - for (OrderProcessStepNDO orderProcessStepNDO : orderProcessStepNDOS) { - if (orderProcessStepNDO.getPieceRate() == 0) { - orderProcessStepNDOS.remove(orderProcessStepNDO); + // 判断是否显示计件工资为0的工序 + if(pageReqVO.getNoShowZero().equals(true)){ + for (PriceRateReqVO priceRateReqVO : priceRateReqVOS) { + if(priceRateReqVO.getPriceRate() == 0){ + priceRateReqVOS.remove(priceRateReqVO); } } + } - - List reqVOS = BeanUtils.toBean(orderProcessStepNDOS, PriceRatePageReqVO.class); - - List collect = reqVOS.stream().map(PriceRatePageReqVO::getOrderProcessId).collect(Collectors.toList()); - - - PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); - List priceRateReqVOS = processStepMapper.selectListByStatus(collect); PageInfo pageInfo = new PageInfo<>(priceRateReqVOS); - PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); - - return priceRateReqVOPageResult; - + return PageHelperUtil.convertToPageResult(pageInfo); } @@ -175,30 +165,24 @@ public class ProductionStatusServiceImpl implements ProductionStatusService { // 查看包裹详情 @Override - public PageResult queryPackageDetails(OrderPackagePageReqVO pageReqVO) { + public List queryPackageDetails(Long packId) { - OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackNo(pageReqVO.getPackageNo()); + OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackNo(packId); // 查看配件包裹 - if(orderPackageDO.getType() == 1 && orderPackageDO.getType() == 2){ - - PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + if(orderPackageDO.getType() == 1 || orderPackageDO.getType() == 2){ + // List packageDetailsRespVOS = orderPartsMapper.selectParts(orderPackageDO.getPackageNo()); - PageInfo pageInfo = new PageInfo<>(packageDetailsRespVOS); - PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); - pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - return priceRateReqVOPageResult; + + return packageDetailsRespVOS; } // 查看板材包裹 - PageHelper.startPage(pageReqVO.getPageNo(),pageReqVO.getPageSize()); List packageDetailsRespVOS = orderItemMapper.selectByPackageId(orderPackageDO.getId()); - PageInfo pageInfo = new PageInfo<>(packageDetailsRespVOS); - PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); - return priceRateReqVOPageResult; + return packageDetailsRespVOS; } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml new file mode 100644 index 000000000..6576a3ae4 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ 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/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 b6d8bf049..855aa771c 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 @@ -18,6 +18,7 @@ + @@ -30,10 +31,11 @@ select distinct ops.order_id as id, + ops.id as processStepId, o.custom_order_no as customOrderNo, o.customer as customer, o.address as address, - o.status as status + ops.status as status from order_process_step ops join `order` o on ops.order_id = o.id @@ -60,4 +62,45 @@ + + + + + + + + + + + + + + + + + + + update order_process_step_item set status = true where process_step_id = #{processStepId} and order_process_id = #{orderProcessId}; + + + + + + + \ 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 7be9613b4..1ca0a6a44 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 @@ -3,8 +3,18 @@ + + + + UPDATE order_process_step SET status = #{status} WHERE id = #{id} + + + + + + - + @@ -12,39 +22,45 @@ - + select ops.name as name , + ops.piece_rate as piece_rate , + ops.piece_type as piece_type, + ops.creator as creator, + 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, - SELECT - ops.piece_rate AS piece_rate, - ops.piece_type AS piece_type, - ops.name AS process_name, - ops.creator AS creator, - SUM(CASE - WHEN ops.piece_type = 1 THEN ops.piece_rate - ELSE ROUND((opn.size / p.hour_capacity), 2) * ops.piece_rate - END) AS total_piece_rate, - SUM(CASE - WHEN ops.piece_type = 1 THEN 1 - ELSE 10 / ops.piece_rate - END) AS total_piece_num - FROM - order_process_step_n ops - JOIN - order_process_n opn ON ops.order_process_id = opn.id - JOIN - imes_base.process p ON opn.id = p.id - WHERE - ops.order_process_id IN - - #{id} - - GROUP BY - ops.name, ops.creator, ops.piece_type, ops.piece_rate; + SUM(CASE + WHEN ops.piece_type = 1 THEN 1 + ELSE ROUND((op.size / ops.piece_rate), 2) + END) AS total_piece_num + + from order_process_step ops + join order_process op on ops.order_process_id = op.id + + + + and ops.creator = #{creator} + + + and ops.name = #{name} + + + and ops.update_time between #{startTime} and #{endTime} + + + and ops.status = true +/**/ + group by name,piece_rate,piece_type,creator; + + \ 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/ProductionProcessMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.xml new file mode 100644 index 000000000..24dad117b --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ 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/query/OrderItemMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml index 48151a520..4777d2cdf 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml @@ -6,8 +6,8 @@ - - + + @@ -205,30 +205,20 @@ - - - - - UPDATE order_item oi - SET oi.package_id = (SELECT opn.id - FROM order_package_n opn - WHERE opn.name LIKE CONCAT('%', (SELECT ob.room_name - FROM order_body ob - WHERE oi.body_id = ob.id - AND plate_id = #{plateId}),'%' ) - ) - WHERE plate_id = #{plateId}; + UPDATE order_item oi + SET oi.package_id = (SELECT opn.id + FROM order_package_n opn + WHERE opn.name LIKE CONCAT('%', (SELECT ob.room_name + FROM order_body ob + WHERE oi.body_id = ob.id + AND plate_id = #{plateId}), '%')) + WHERE plate_id = #{plateId}; - + 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 b1349cfad..c0acb09b6 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 @@ -7,7 +7,7 @@ - + @@ -18,14 +18,19 @@ parameterType="java.lang.Long" resultMap="partsMap"> - SELECT name, COUNT(name) AS name_count,model,spec,unit,brand,factory,remark - FROM order_parts - WHERE id IN ( - SELECT parts_id - FROM order_item - WHERE package_id = #{packageNo} - ) - GROUP BY name,model,spec,unit,brand,factory,remark; + + select op.name as name, + op.model as model, + op.spec as spec, + op.unit as unit, + op.brand as brand, + op.material as material, + op.factory as factory, + oi.num as num + from order_package_n opn + join order_item oi on opn.id = oi.package_id + join order_parts op on oi.parts_id = op.id + where opn.id = #{packageNo} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessGroupController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessGroupController.java index 255babb73..f4483fcef 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessGroupController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/process/ProcessGroupController.java @@ -72,9 +72,8 @@ public class ProcessGroupController { @Operation(summary = "更新工序组") @PreAuthorize("@ss.hasPermission('system:process-group:update')") public CommonResult updateProcessGroup(@Valid @RequestBody ProcessListSaveReqVO updateReqVO) { - /*processGroupService.updateProcessGroup(updateReqVO); - return success(true);*/ - return null; + processGroupService.updateProcessGroup(updateReqVO); + return success(true); } @DeleteMapping("/delete") From ce08ddcaeadfcc829b7f37e10033db72aa25d1d4 Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Tue, 9 Apr 2024 09:56:11 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=B7=A5=E5=BA=8F-?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2-=E5=88=86=E5=A0=86-=E6=89=93=E5=8C=85?= =?UTF-8?q?=E4=BB=A3=E7=A0=813.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cf-module-prod-manage-biz/pom.xml | 6 ++- .../admin/grouping/GroupingController.java | 15 +------ .../admin/grouping/vo/OrderPackageReqVO.java | 4 +- .../controller/admin/pack/PackController.java | 12 ----- .../admin/pack/vo/OtherPackReqVO.java | 4 +- .../admin/pack/vo/PlateDetailsRespVO.java | 1 - .../vo/productionStatus/PlatePageVO.java | 2 +- .../dal/dataobject/plate/OrderPlateDO.java | 1 - .../dal/dataobject/query/OrderPackageDO.java | 2 +- .../dal/mysql/plate/OrderPlateMapper.java | 25 ++++++++++- .../dal/mysql/query/OrderPartsMapper.java | 2 +- .../service/grouping/GroupingServiceImpl.java | 3 ++ .../manage/service/pack/PackService.java | 2 + .../manage/service/pack/PackServiceImpl.java | 26 ++++++++++- .../manage/util/packageNo/PackageNoUtil.java | 27 +++++++++++ .../dal/mysql/plate/OrderPlateMapper.xml | 45 ++++++++++++++++++- .../dal/mysql/query/OrderItemMapper.xml | 2 - .../service/process/GroupServiceImplTest.java | 8 ++-- 18 files changed, 139 insertions(+), 48 deletions(-) create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/packageNo/PackageNoUtil.java diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml index 326099bba..dd4e4917b 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml @@ -158,7 +158,6 @@ - com.hynnet @@ -176,7 +175,10 @@ - + + org.springframework.boot + spring-boot-starter-websocket + diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/GroupingController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/GroupingController.java index 95d7a8b10..b4aa62700 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/GroupingController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/GroupingController.java @@ -40,7 +40,7 @@ public class GroupingController { @Operation(summary = "查询订单") @PreAuthorize("@ss.hasPermission('manage:grouping:query')") public CommonResult> getGroupingList(@Valid OrderPageReqVO pageReqVO) { - // + PageResult groupingList = groupingService.getGroupingList(pageReqVO); return success(BeanUtils.toBean(groupingList, ProcessRespVO.class)); @@ -56,7 +56,7 @@ public class GroupingController { @Operation(summary = "查看订单的板材信息(未加入包裹的板材信息)") @PreAuthorize("@ss.hasPermission('manage:grouping:query')") public CommonResult> notJoinedGroupingPlateList(@Valid OrderModuleReqVO reqVO) { - // + return success(groupingService.notJoinedGroupingPlateList(reqVO)); } @@ -127,17 +127,6 @@ public class GroupingController { -/* @GetMapping("/export") - @Operation(summary = "查看订单的板材信息(已将加入包裹的板材信息)") - @PreAuthorize("@ss.hasPermission('manage:grouping:export')") - public void exportData(@Valid ExportJsonReqVO reqVO) { - - - - - - }*/ - diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPackageReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPackageReqVO.java index 5ef0eba5d..ca10c4031 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPackageReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/grouping/vo/OrderPackageReqVO.java @@ -21,9 +21,9 @@ public class OrderPackageReqVO { private Long orderNo; - @Schema(description = "包裹编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") +/* @Schema(description = "包裹编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") @NotNull(message = "包裹编号不能为空") - private Long packageNo; + private Long packageNo;*/ @Schema(description = "包裹类型", 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/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 6be894a8f..9c527cb0a 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 @@ -283,18 +283,6 @@ public class PackController { - @PostMapping("/insertaabbcc") - @Operation(summary = "测试包裹") - @PreAuthorize("@ss.hasPermission('manage:pack:insert')") - public CommonResult testpack (@Valid @RequestBody OrderPackageReqVO reqVO) { - - // - return success(packService.testpack(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/OtherPackReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OtherPackReqVO.java index cc22e6715..686e961cf 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OtherPackReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/OtherPackReqVO.java @@ -36,9 +36,9 @@ public class OtherPackReqVO { - @Schema(description = "包裹编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") +/* @Schema(description = "包裹编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "9822") @NotNull(message = "包裹编号不能为空") - private Long packNo; + private String packNo;*/ diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateDetailsRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateDetailsRespVO.java index 920cca7b6..32e95ee0f 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateDetailsRespVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateDetailsRespVO.java @@ -16,7 +16,6 @@ public class PlateDetailsRespVO { @ExcelProperty("房间名称") private String roomName; - @Schema(description = "柜体名称", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("柜体名称") private String cabinetName; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/PlatePageVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/PlatePageVO.java index 880903063..ce682e40e 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/PlatePageVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/PlatePageVO.java @@ -13,7 +13,7 @@ import lombok.ToString; @ToString(callSuper = true) public class PlatePageVO extends PageParam { - @Schema(description = "柜体 id") + @Schema(description = "柜体 id",requiredMode = Schema.RequiredMode.REQUIRED) private Long bodyId ; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/OrderPlateDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/OrderPlateDO.java index 7d20e49bc..d188b4b06 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/OrderPlateDO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/plate/OrderPlateDO.java @@ -1,7 +1,6 @@ package com.cf.imes.module.manage.dal.dataobject.plate; -import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderPackageDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderPackageDO.java index ed581dff6..e8d33140a 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderPackageDO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/query/OrderPackageDO.java @@ -24,7 +24,7 @@ public class OrderPackageDO extends BaseDO { private Long orderNo; // 包裹编号 - private Long packageNo; + private String packageNo; // 包裹类型,-1未定义,0板材,1配件,2其他配件 private Long type; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java index c73299167..4bef36208 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java @@ -1,10 +1,16 @@ package com.cf.imes.module.manage.dal.mysql.plate; +import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.manage.controller.admin.grouping.vo.OrderPageReqVO; import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingDetailReqVO; +import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingDetailRespVO; import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlatePageReqVO; import com.cf.imes.module.manage.dal.dataobject.plate.OrderPlateDO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -15,9 +21,24 @@ public interface OrderPlateMapper extends BaseMapperX { - List selectPlateDetail(PatchingPlatePageReqVO pageReqVO); + List selectPlateDetail(PatchingPlatePageReqVO pageReqVO); - PlateDetailsRespVO selectPlate(@Param("plateId") Long plateId); + PatchingDetailRespVO selectPlate(@Param("plateId") Long plateId); + + + + default List selectPlateList(PatchingDetailReqVO reqVO) { + return selectList( new LambdaQueryWrapperX() + .and(wrapper -> { + for (Long plateId : reqVO.getPlateIdList()) { + wrapper.or().eq(OrderPlateDO::getId, plateId); + } + }) + .orderByDesc(OrderPlateDO::getId)); + } + + + List selectOtherPlateList(@Param("plateIdList") List plateIdList); } 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 f6fdf191f..918a835c7 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 @@ -18,7 +18,7 @@ import java.util.List; public interface OrderPartsMapper extends BaseMapperX { - List selectParts(Long packageNo); + List selectParts(String packageNo); List selectPartsList(Long orderId); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingServiceImpl.java index 32f535b3b..aecf7fbf2 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/grouping/GroupingServiceImpl.java @@ -12,6 +12,7 @@ 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.ProductionProcessMapper; import com.cf.imes.module.manage.dal.mysql.query.OrderItemMapper; +import com.cf.imes.module.manage.util.packageNo.PackageNoUtil; import com.cf.imes.module.manage.util.page.PageHelperUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -55,6 +56,7 @@ public class GroupingServiceImpl implements GroupingService{ // OrderPackageDO packageDO = BeanUtils.toBean(packageReqVO, OrderPackageDO.class); + packageDO.setPackageNo(PackageNoUtil.randomPageNo()); orderPackageMapper.insert(packageDO); @@ -93,6 +95,7 @@ public class GroupingServiceImpl implements GroupingService{ + // 查看订单的板材信息(已将加入包裹的板材信息) @Override public PageResult joinedGroupPlateList(JoinedPlateReqVO reqVO) { 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 af4acd3f0..7aa8a390b 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 @@ -77,6 +77,8 @@ public interface PackService { // 删除配件包裹中的配件(删除某一个) void deleteOtherParts(DeleteOtherPartsReqVO reqVO); + + // 新增配件-即新增一个包裹 OrderPackageDO 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 8dc2781c8..8d12c251b 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 @@ -18,6 +18,7 @@ import com.cf.imes.module.manage.dal.mysql.pack.OrderPackageMapper; import com.cf.imes.module.manage.dal.mysql.query.OrderItemMapper; import com.cf.imes.module.manage.dal.mysql.query.OrderPartsMapper; import com.cf.imes.module.manage.dal.mysql.query.ProductionStatusMapper; +import com.cf.imes.module.manage.util.packageNo.PackageNoUtil; import com.cf.imes.module.manage.util.page.PageHelperUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -26,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; @@ -79,6 +81,8 @@ public class PackServiceImpl implements PackService { } + + // 查看生产订单对应的包裹信息 @Override public List getOrderPack(Long orderId) { @@ -87,6 +91,8 @@ public class PackServiceImpl implements PackService { } + + // 查看生产订单对应的板材信息 @Override public List getOrderPlateList(Long orderId) { @@ -96,6 +102,8 @@ public class PackServiceImpl implements PackService { } + + // 查看板材列表分页 @Override public PageResult queryPlateDetails(OrderModuleReqVO pageReqVO) { @@ -110,6 +118,8 @@ public class PackServiceImpl implements PackService { } + + // 查看配件列表分页 @Override public PageResult getPartsList(OrderPartsReqVO reqVO) { @@ -123,6 +133,8 @@ public class PackServiceImpl implements PackService { } + + // 拆包 @Override public void unpacking(Long packageID) { @@ -135,6 +147,8 @@ public class PackServiceImpl implements PackService { } + + // 显示分组房间名称 @Override public List GetOrderPlateGroup(Long orderId) { @@ -150,6 +164,8 @@ public class PackServiceImpl implements PackService { } + + // 查看配件包裹详情 @Override public List queryPackageDetails(PrintOrderPackReqVO reqVO) { @@ -159,6 +175,8 @@ public class PackServiceImpl implements PackService { } + + // 包裹封包 @Override public OrderPackageDO updatePackStatus(OrderPackReqVO packageVO) { @@ -168,6 +186,7 @@ public class PackServiceImpl implements PackService { OrderPackageDO orderPackageDO = new OrderPackageDO(); orderPackageDO.setOrderNo(packageVO.getOrderId()); orderPackageDO.setType(packageVO.getPackageType()); + orderPackageDO.setPackageNo(PackageNoUtil.randomPageNo()); orderPackageDO.setStatus((OrderPackageStatusEnum.PACKAGED.getStatus())); orderPackageMapper.insert(orderPackageDO); // 生产单明细表新增包裹 ID @@ -240,10 +259,11 @@ public class PackServiceImpl implements PackService { // 在包裹表中添加包裹编号和生产单号,修改包裹类型未其他配件类型 OrderPackageDO orderPackageDO = new OrderPackageDO(); - orderPackageDO.setPackageNo(reqVO.getPackNo()); + orderPackageDO.setPackageNo(PackageNoUtil.randomPageNo()); orderPackageDO.setOrderNo(reqVO.getOrderId()); orderPackageDO.setType(OrderPackageTypeEnum.OTHER_ACCESSORIES.getType().longValue()); + // 新增包裹 orderPackageMapper.insert(orderPackageDO); @@ -269,6 +289,7 @@ public class PackServiceImpl implements PackService { + @Override public Long testpack(OrderPackageReqVO reqVO) { @@ -280,6 +301,7 @@ public class PackServiceImpl implements PackService { + // 删除配件包裹中的配件(删除某一个) @Override public void deleteOtherParts(DeleteOtherPartsReqVO reqVO) { @@ -309,7 +331,7 @@ public class PackServiceImpl implements PackService { orderPackageDO.setOrderNo(reqVO.getOrderId()); orderPackageDO.setType(reqVO.getPackageType()); orderPackageDO.setStatus(OrderPackageStatusEnum.PACKAGED.getStatus()); - // TODO 包裹编号待完成 + orderPackageDO.setPackageNo(PackageNoUtil.randomPageNo()); orderPackageMapper.insert(orderPackageDO); orderItemMapper.insertPartsId(orderPackageDO.getId(),reqVO.getAddPartsIdList()); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/packageNo/PackageNoUtil.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/packageNo/PackageNoUtil.java new file mode 100644 index 000000000..a7ddcec8b --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/packageNo/PackageNoUtil.java @@ -0,0 +1,27 @@ +package com.cf.imes.module.manage.util.packageNo; + + +import java.time.LocalDateTime; +import java.util.Random; + +/** + * 生成包裹编号 工具类 + * + * @author 晨丰科技 + */ +public class PackageNoUtil { + + + public static String randomPageNo(){ + + // 获取当前日期 + String DateNum = LocalDateTime.now().toLocalDate().toString().replace("-", ""); + + // 获取当前时间戳并使用Random类生成随机数 + int randomInt = new Random(System.currentTimeMillis()).nextInt(900000) + 100000; // 生成100000到999999之间的随机数 + + + return DateNum+randomInt; + } + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml index 6576a3ae4..ff93db078 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml @@ -6,12 +6,12 @@ - + - + @@ -125,4 +125,45 @@ where op.id = #{plateId} + + + + + + + + + + + + + + + + + \ 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/query/OrderItemMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml index 4777d2cdf..66b0f6b83 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml @@ -257,8 +257,6 @@ and oi.order_id = #{orderNo}; - - diff --git a/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/process/GroupServiceImplTest.java b/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/process/GroupServiceImplTest.java index 8346372c2..515d023c2 100644 --- a/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/process/GroupServiceImplTest.java +++ b/cf-module-system/cf-module-system-biz/src/test/java/com/cf/imes/module/system/service/process/GroupServiceImplTest.java @@ -56,7 +56,7 @@ public class GroupServiceImplTest extends BaseDbUnitTest { assertPojoEquals(createReqVO, group, "id"); } - @Test +/* @Test public void testUpdateGroup_success() { // mock 数据 ProcessGroupDO dbGroup = randomPojo(ProcessGroupDO.class); @@ -71,16 +71,16 @@ public class GroupServiceImplTest extends BaseDbUnitTest { // 校验是否更新正确 ProcessGroupDO group = groupMapper.selectById(updateReqVO.getId()); // 获取最新的 assertPojoEquals(updateReqVO, group); - } + }*/ - @Test +/* @Test public void testUpdateGroup_notExists() { // 准备参数 ProcessGroupSaveReqVO updateReqVO = randomPojo(ProcessGroupSaveReqVO.class); // 调用, 并断言异常 assertServiceException(() -> groupService.updateProcessGroup(updateReqVO), PROCESS_GROUP_NOT_EXISTS); - } + }*/ @Test public void testDeleteGroup_success() { From ff14836e10ae7cecb5d7edb11bbcbe7e59721995 Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Sat, 20 Apr 2024 16:41:51 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E8=AF=AD=E9=9F=B3=E6=92=AD=E6=8A=A5?= =?UTF-8?q?=EF=BC=8C=E5=8A=A8=E6=80=81=E9=85=8D=E7=BD=AE=EF=BC=8C=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1=EF=BC=8C=E5=B7=A5=E5=BA=8F=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cf-module-prod-manage-biz/pom.xml | 12 +- .../module/manage/config/VocieParameters.java | 26 +++ .../module/manage/config/XxlJobParameter.java | 66 ++++++ .../patching/PatchingPlateController.java | 146 ++++++++++++ .../admin/patching/vo/DataRangeList.java | 20 ++ .../admin/patching/vo/MachineRespVO.java | 37 +++ .../patching/vo/PatchingDetailReqVO.java | 20 ++ .../patching/vo/PatchingDetailRespVO.java | 168 ++++++++++++++ .../patching/vo/PatchingPlatePageReqVO.java | 123 ++++++++++ .../patching/vo/PatchingPlateRespVO.java | 55 +++++ .../admin/patching/vo/PatchingReqVO.java | 34 +++ .../process/ProductionProcessController.java | 7 +- .../vo/productionStatus/OrderModuleVO.java | 8 + .../vo/productionStatus/PlatePageVO.java | 4 + .../controller/admin/test/TestController.java | 212 ++++++++++++++++++ .../admin/voice/VoiceController.java | 51 +++++ .../controller/admin/voice/vo/VoiceReqVO.java | 19 ++ .../dal/dataobject/patching/MachineDO.java | 42 ++++ .../dataobject/patching/PatchDetailDO.java | 44 ++++ .../dal/mysql/patching/MachineMapper.java | 12 + .../dal/mysql/patching/PatchDetailMapper.java | 15 ++ .../mysql/process/ProcessStepItemMapper.java | 3 - .../dal/mysql/process/ProcessStepMapper.java | 9 + .../process/ProductionProcessMapper.java | 14 +- .../dal/mysql/query/OrderItemMapper.java | 3 +- .../mysql/query/ProductionStatusMapper.java | 1 - .../patching/PatchingPlateService.java | 38 ++++ .../patching/PatchingPlateServiceImpl.java | 162 +++++++++++++ .../process/ProductionProcessService.java | 2 +- .../process/ProductionProcessServiceImpl.java | 54 ++--- .../query/ProductionStatusServiceImpl.java | 3 +- .../manage/service/voice/VoiceService.java | 16 ++ .../service/voice/VoiceServiceImpl.java | 150 +++++++++++++ .../module/manage/util/xxjJob/XxlJobUtil.java | 43 ++++ .../dal/mysql/plate/OrderPlateMapper.xml | 45 ++-- .../mysql/process/ProcessStepItemMapper.xml | 56 +---- .../dal/mysql/process/ProcessStepMapper.xml | 54 ++++- .../mysql/process/ProductionProcessMapper.xml | 140 ++++++++++-- .../dal/mysql/query/OrderItemMapper.xml | 16 +- 39 files changed, 1773 insertions(+), 157 deletions(-) create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/config/VocieParameters.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/config/XxlJobParameter.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/PatchingPlateController.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/DataRangeList.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/MachineRespVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingDetailReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingDetailRespVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingPlatePageReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingPlateRespVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/voice/VoiceController.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/voice/vo/VoiceReqVO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/patching/MachineDO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/patching/PatchDetailDO.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/patching/MachineMapper.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/patching/PatchDetailMapper.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/patching/PatchingPlateService.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/patching/PatchingPlateServiceImpl.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceService.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceServiceImpl.java create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/xxjJob/XxlJobUtil.java diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml index dd4e4917b..406901f01 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/pom.xml @@ -173,12 +173,16 @@ - - - org.springframework.boot - spring-boot-starter-websocket + org.springframework.cloud + spring-cloud-starter-bootstrap + 3.1.0 + + com.cf.imes + cf-spring-boot-starter-job + + diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/config/VocieParameters.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/config/VocieParameters.java new file mode 100644 index 000000000..a9fbc3308 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/config/VocieParameters.java @@ -0,0 +1,26 @@ +package com.cf.imes.module.manage.config; + + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +@Data +@Component +@ConfigurationProperties(prefix = "voices.parameters") +public class VocieParameters { + + // 设置音频的质量( 越大越好,目前最大好像 22,最小为 4 ) + private Long quality; + + // 朗读声音大小 + private Long soundSize; + + // 朗读速度 + private Long readingSpeed; + + // 音频保存的路径 + private String path; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/config/XxlJobParameter.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/config/XxlJobParameter.java new file mode 100644 index 000000000..a43542c99 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/config/XxlJobParameter.java @@ -0,0 +1,66 @@ +package com.cf.imes.module.manage.config; + + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; + +@Data +@Component +@ConfigurationProperties(prefix = "job.parameters") +public class XxlJobParameter { + + + /** + * 是否开启,默认为 true 关闭 + */ + private Boolean enabled; + + /** + * 访问令牌 + */ + private String accessToken; + +/* *//** + * 控制器配置 + *//* + @NotNull(message = "控制器配置不能为空") + private AdminProperties admin; + + *//** + * 执行器配置 + *//* + @NotNull(message = "执行器配置不能为空") + private ExecutorProperties executor;*/ + + @NotEmpty(message = "调度器地址不能为空") + private String addresses; + + /** + * 应用名 + */ + @NotEmpty(message = "应用名不能为空") + private String appName; + /** + * 执行器的 IP + */ + private String ip; + /** + * 执行器的 Port + */ + private Long port; + /** + * 日志地址 + */ + @NotEmpty(message = "日志地址不能为空") + private String logPath; + /** + * 日志保留天数 + */ + private Long logRetentionDays; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/PatchingPlateController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/PatchingPlateController.java new file mode 100644 index 000000000..49d177836 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/PatchingPlateController.java @@ -0,0 +1,146 @@ +package com.cf.imes.module.manage.controller.admin.patching; + + +import com.cf.imes.framework.common.pojo.CommonResult; +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.module.manage.controller.admin.patching.vo.*; +import com.cf.imes.module.manage.service.patching.PatchingPlateService; +import com.cf.imes.module.manage.dal.dataobject.patching.MachineDO; +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.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +import static com.cf.imes.framework.common.pojo.CommonResult.success; + + +@Tag(name = "管理后台 - 补板") +@RestController +@RequestMapping("/manage/patching") +@Validated +public class PatchingPlateController { + + + @Resource + private PatchingPlateService patchingPlateService; + + + + @GetMapping("/searchPage") + @Operation(summary = "批量加入补板查询") + @PreAuthorize("@ss.hasPermission('manage:patching:query')") + public CommonResult> patchingSearchPlate(@Valid PatchingPlatePageReqVO pageReqVO){ + + PageResult patchingPlateRespVOPageResult = patchingPlateService.patchingSearchPlate(pageReqVO); + + return success(patchingPlateRespVOPageResult); + + } + + + + + + @GetMapping("/searchPlate") + @Operation(summary = "查询详细的板件") + @PreAuthorize("@ss.hasPermission('manage:patching:query')") + public CommonResult> searchPlateDetail(@Valid PatchingPlatePageReqVO pageReqVO){ + + PageResult plateDetailsRespVOPageResult = patchingPlateService.searchPlateDetail(pageReqVO); + + return success(plateDetailsRespVOPageResult); + + } + + + + + + + @GetMapping("/searchPatchingList") + @Operation(summary = "加入的板件信息") + @Parameter(name = "plateId", description = "板件ID", required = true, example = "1") + @PreAuthorize("@ss.hasPermission('manage:patching:query')") + public CommonResult searchPatchingList(@Valid @RequestParam("plateId") Long plateId){ + + return success(patchingPlateService.searchPatchingList(plateId)); + + + } + + + + + + + @GetMapping("/optimizeLayout") + @Operation(summary = "优化排版") + @PreAuthorize("@ss.hasPermission('manage:patching:query')") + public CommonResult> optimizeLayout(@Valid PatchingDetailReqVO reqVO){ + + List patchingDetailRespVOS = patchingPlateService.optimizeLayout(reqVO); + + return success(patchingDetailRespVOS); + + + } + + + + + + + + @PostMapping("/insertPatching") + @Operation(summary = "新增补板详情表") + @PreAuthorize("@ss.hasPermission('manage:patching:query')") + public CommonResult insertPatching(@Valid @RequestBody PatchingReqVO reqVO){ + + patchingPlateService.insertPatching(reqVO); + + return success(true); + + + } + + + + + + + + @GetMapping("/search") + @Operation(summary = "查询所有的机台") + @PreAuthorize("@ss.hasPermission('manage:patching:query')") + public CommonResult> searchMachine(){ + + return success(patchingPlateService.searchMachine()); + + } + + + + + + + @GetMapping("/searchPatchNC") + @Operation(summary = "导出 NC 所需要的数据") + @PreAuthorize("@ss.hasPermission('manage:patching:query')") + public CommonResult> searchPatchNC(@Valid PatchingDetailReqVO reqVO){ + + List patchingDetailRespVOS = patchingPlateService.optimizeLayout(reqVO); + + return success(patchingDetailRespVOS); + + } + + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/DataRangeList.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/DataRangeList.java new file mode 100644 index 000000000..d31a6f028 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/DataRangeList.java @@ -0,0 +1,20 @@ +package com.cf.imes.module.manage.controller.admin.patching.vo; + + +import lombok.Data; +import lombok.ToString; + + +@Data +@ToString(callSuper = true) +public class DataRangeList { + + // 最大值 + private Long maxaa; + + // 最小值 + private Long minbb; + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/MachineRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/MachineRespVO.java new file mode 100644 index 000000000..592996a3f --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/MachineRespVO.java @@ -0,0 +1,37 @@ +package com.cf.imes.module.manage.controller.admin.patching.vo; + + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - Response VO") +@Data +public class MachineRespVO { + + + @Schema(description = "机台主键ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long id; + + + @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String name; + + @Schema(description = "机台类型", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean machineType; + + @Schema(description = "标签id", requiredMode = Schema.RequiredMode.REQUIRED) + private Long labelId; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + private LocalDateTime createTime; + + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + private String creator; + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingDetailReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingDetailReqVO.java new file mode 100644 index 000000000..bf6acfb78 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingDetailReqVO.java @@ -0,0 +1,20 @@ +package com.cf.imes.module.manage.controller.admin.patching.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +import java.util.List; + +@Schema(description = "管理后台 - 优化排版 Request VO") +@Data +@ToString(callSuper = true) +public class PatchingDetailReqVO { + + + @Schema(description = "板编号", requiredMode = Schema.RequiredMode.REQUIRED) + private List plateIdList; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingDetailRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingDetailRespVO.java new file mode 100644 index 000000000..afd41123c --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingDetailRespVO.java @@ -0,0 +1,168 @@ +package com.cf.imes.module.manage.controller.admin.patching.vo; + + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 补板详情 Response VO") +@Data +public class PatchingDetailRespVO { + + + @Schema(description = "房间名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String roomName; + + @Schema(description = "房间ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long roomId; + + @Schema(description = "柜体名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String cabinetName; + + @Schema(description = "柜体ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long bodyId; + + @Schema(description = "材料", requiredMode = Schema.RequiredMode.REQUIRED) + private String material; + + @Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED) + private String color; + + + + // 需要添加的额外字段 + @Schema(description = "板件组合名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String plateCombinationName; + + @Schema(description = "自定义单号", requiredMode = Schema.RequiredMode.REQUIRED) + private Long customOrderId; + + @Schema(description = "客户", requiredMode = Schema.RequiredMode.REQUIRED) + private String customer; + + @Schema(description = "地址", requiredMode = Schema.RequiredMode.REQUIRED) + private String address; + + + + // 用于进行判断是否为异形等 + @Schema(description = "异形数量", requiredMode = Schema.RequiredMode.REQUIRED) + private String specialShaped; + + @Schema(description = "造型数量", requiredMode = Schema.RequiredMode.REQUIRED) + private String profiling; + + @Schema(description = "排孔数量", requiredMode = Schema.RequiredMode.REQUIRED) + private String rowHole; + + + + + + @Schema(description = "主键-板件ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long id; + + @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) + private Long orderId; + + @Schema(description = "组织 ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long organId; + + @Schema(description = "板名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String name; + + @Schema(description = "自定义板编号", requiredMode = Schema.RequiredMode.REQUIRED) + private String plateNo; + + @Schema(description = "板类型,0 层板 1 立板 2 背板", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer type; + + @Schema(description = "商品 ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long goodsId; + + @Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double width; + + @Schema(description = "高度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double height; + + @Schema(description = "厚度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double thickness; + + @Schema(description = "拆单宽度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double splitWidth; + + @Schema(description = "拆单高度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double splitHeight; + + @Schema(description = "拆单厚度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double splitThickness; + + @Schema(description = "左封边厚度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double sealLeft; + + @Schema(description = "右封边厚度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double sealRight; + + @Schema(description = "上封边厚度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double sealUp; + + @Schema(description = "下封边厚度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double sealDown; + + @Schema(description = "面积", requiredMode = Schema.RequiredMode.REQUIRED) + private Double area; + + @Schema(description = "纹路类型,0 正纹 1 可翻转 2 反纹", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer texture; + + @Schema(description = "孔面类型,0 正面 1 反面 2 侧面", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer holeFace; + + @Schema(description = "排孔类型,0 正纹 1 反面 2 随意面", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer holeArrange; + + @Schema(description = "异型孔数量", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer unregularPointCount; + + @Schema(description = "正面孔数量", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer frontHoleCount; + + @Schema(description = "背面孔数量", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer backHoleCount; + + @Schema(description = "侧面孔数量", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer sideHoleCount; + + @Schema(description = "正面造型量", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer frontModelCount; + + @Schema(description = "背面造型量", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer backModelCount; + + @Schema(description = "是否门板", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean isDoor; + + @Schema(description = "开门类型,0 无 1 左 2 右 3 上 4 下", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer openDoorType; + + @Schema(description = "异型偏移 x", requiredMode = Schema.RequiredMode.REQUIRED) + private Float offsetX; + + @Schema(description = "异型偏移 y", requiredMode = Schema.RequiredMode.REQUIRED) + private Float offsetY; + + @Schema(description = "是否孤形对角", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean isArcAcross; + + @Schema(description = "模块类型 ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long moduleTypeId; + + @Schema(description = "排单过滤类型,1 有挖穿造型 2 有挖穿孔 4 有二维刀路 8 可叠", requiredMode = Schema.RequiredMode.REQUIRED) + private Integer filterType; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED) + private String remark; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingPlatePageReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingPlatePageReqVO.java new file mode 100644 index 000000000..a9aba49b0 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingPlatePageReqVO.java @@ -0,0 +1,123 @@ +package com.cf.imes.module.manage.controller.admin.patching.vo; + + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; +import com.cf.imes.framework.common.pojo.PageParam; +import io.swagger.v3.core.util.Json; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; +import org.apache.ibatis.type.TypeHandler; + +import java.util.HashMap; +import java.util.List; + +@Schema(description = "管理后台 - 补板 分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class PatchingPlatePageReqVO extends PageParam { + + + + @Schema(description = "订单号") + private Long orderNo; + + + + + @Schema(description = "自定义单号") + private String customOrderNo; + + + + + @Schema(description = "状态-生产中,加工完成,打包完成", requiredMode = Schema.RequiredMode.REQUIRED,example = "3,4,5") + private List statusList; + + + + + @Schema(description = "客户") + private String customer; + + + + + @Schema(description = "收货地址") + private String address; + + + + @Schema(description = "开始时间"/*, requiredMode = Schema.RequiredMode.REQUIRED*/) + private String startTime; + + + + @Schema(description = "结束时间"/*, requiredMode = Schema.RequiredMode.REQUIRED*/) + private String endTime; + + + + + @Schema(description = "矩形") + private Boolean isRectangle; + + + + + @Schema(description = "异形") + private Boolean isSpecialShaped; + + + + + @Schema(description = "造型") + private Boolean isProfiling; + + + + + @Schema(description = "有挖穿造型") + private Boolean isDigThrough; + + + + + @Schema(description = "有挖穿孔") + private Boolean isDiggingHoles; + + + + + @Schema(description = "有二维刀路") + private Boolean is2DCuttingPath; + + + + + @Schema(description = "门板") + private Boolean isDoor; + + + + + @Schema(description = "长范围") + @TableField(typeHandler = JacksonTypeHandler.class) + private List longRangeList; + + + + + @Schema(description = "宽范围") + private List WidthRangeList; + + + + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingPlateRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingPlateRespVO.java new file mode 100644 index 000000000..6a66690f8 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingPlateRespVO.java @@ -0,0 +1,55 @@ +package com.cf.imes.module.manage.controller.admin.patching.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 补板 Response VO") +@Data +public class PatchingPlateRespVO { + + @Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED) + private Long orderId; + + @Schema(description = "自定义单号", requiredMode = Schema.RequiredMode.REQUIRED) + private Long customOrderId; + + @Schema(description = "客户", requiredMode = Schema.RequiredMode.REQUIRED) + private String customer; + + @Schema(description = "地址", requiredMode = Schema.RequiredMode.REQUIRED) + private String address; + + @Schema(description = "订单状态", requiredMode = Schema.RequiredMode.REQUIRED) + private Long orderStatus; + + @Schema(description = "柜体ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long groupId; + + @Schema(description = "板件显示名称", requiredMode = Schema.RequiredMode.REQUIRED) + private String plateName; + + @Schema(description = "材料", requiredMode = Schema.RequiredMode.REQUIRED) + private String material; + + @Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED) + private String color; + + @Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double width; + + @Schema(description = "长度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double height; + + @Schema(description = "厚度", requiredMode = Schema.RequiredMode.REQUIRED) + private Double thickness; + + @Schema(description = "面积", requiredMode = Schema.RequiredMode.REQUIRED) + private Double area; + + @Schema(description = "板件数量", requiredMode = Schema.RequiredMode.REQUIRED) + private Long plateNum; + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingReqVO.java new file mode 100644 index 000000000..f0c567702 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/patching/vo/PatchingReqVO.java @@ -0,0 +1,34 @@ +package com.cf.imes.module.manage.controller.admin.patching.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + +import java.util.List; + + +@Schema(description = "管理后台 - 新增补板详情 Request VO") +@Data +@ToString(callSuper = true) +public class PatchingReqVO { + + + @Schema(description = "板编号", requiredMode = Schema.RequiredMode.REQUIRED) + private List idList; + + @Schema(description = "计划ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long planId; + + + @Schema(description = "机台", requiredMode = Schema.RequiredMode.REQUIRED) + private Long machineId; + + +/* @Schema(description = "板材详情", requiredMode = Schema.RequiredMode.REQUIRED) + private String detail;*/ + + + + +} 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 0113733d8..af9de560b 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 @@ -87,11 +87,11 @@ public class ProductionProcessController { @GetMapping("/selectPlateName") @Operation(summary = "查看板材信息的组合名称") - @Parameter(name = "processStepId", description = "工序步骤ID", required = true, example = "1") + @Parameter(name = "stepItemId", description = "工序明细ID", required = true, example = "1") @PreAuthorize("@ss.hasPermission('manage:process:query')") - public CommonResult> selectPlateName(@Valid @RequestParam("processStepId") Long processStepId){ + public CommonResult> selectPlateName(@Valid @RequestParam("stepItemId") Long stepItemId){ - return success(productionProcessService.selectPlateName(processStepId)); + return success(productionProcessService.selectPlateName(stepItemId)); } @@ -106,4 +106,5 @@ public class ProductionProcessController { } + } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderModuleVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderModuleVO.java index 93eeed576..1a2ccc5c2 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderModuleVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/OrderModuleVO.java @@ -13,7 +13,15 @@ public class OrderModuleVO { private Long bodyId; + @Schema(description = "加工组 id", example = "嘿嘿") + private Long groupId; + + @Schema(description = "组合名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "嘿嘿") private String name; + + @Schema(description = "加工组名称", example = "嘿嘿") + private String groupName; + } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/PlatePageVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/PlatePageVO.java index ce682e40e..421624354 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/PlatePageVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/vo/productionStatus/PlatePageVO.java @@ -17,4 +17,8 @@ public class PlatePageVO extends PageParam { private Long bodyId ; + @Schema(description = "加工组 id") + private Long groupId; + + } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/TestController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/TestController.java index cf0ab963b..b5d4f37db 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/TestController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/test/TestController.java @@ -1,14 +1,53 @@ package com.cf.imes.module.manage.controller.admin.test; +import com.cf.imes.framework.common.util.json.JsonUtils; +import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.framework.quartz.config.XxlJobProperties; +import com.cf.imes.module.manage.config.XxlJobParameter; +import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingDetailRespVO; +import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlateRespVO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO; +import com.cf.imes.module.manage.dal.mysql.plate.OrderPlateMapper; +import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper; import com.cf.imes.module.manage.dal.mysql.test.TestMapper; +import com.jacob.com.ComThread; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; + +import org.jetbrains.annotations.TestOnly; + +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.annotation.security.PermitAll; +import javax.sound.sampled.AudioInputStream; + +import com.jacob.activeX.ActiveXComponent; +import com.jacob.com.Dispatch; +import com.jacob.com.Variant; + +import javax.sound.sampled.*; + +import java.io.*; +import java.net.ServerSocket; +import java.net.Socket; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; + +import java.net.Socket; + +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; + +import java.io.IOException; +import java.util.Random; + /** * @author there @@ -22,10 +61,183 @@ public class TestController { @Resource private TestMapper testMapper; + + + @GetMapping("/get") @PermitAll @Operation(summary = "测试") public Object get() { return testMapper.selectList(); } + + + public class JacobTestController { + /* * + * 语音转文字并播放 + * + * @param text + */ + private static void convertTextToSpeech(String text) { + + + try { + + //jacob.dll没成功安装,执行这一步会出错 + //构建音频格式 调用注册表应用 + Dispatch spAudioFormat = new ActiveXComponent("Sapi.SpAudioFormat").getObject(); + //音频文件输出流 + Dispatch spFileStream = new ActiveXComponent("Sapi.SpFileStream").getObject(); + //构建音频对象 + Dispatch spVoice = new ActiveXComponent("Sapi.SpVoice").getObject(); + + //设置spAudioFormat音频流格式类型22 + Dispatch.put(spAudioFormat, "Type", new Variant(22)); + //设置spFileStream文件输出流的音频格式 + Dispatch.putRef(spFileStream, "Format", spAudioFormat); + + //设置spFileStream文件输出流参数地址等 + Dispatch.call(spFileStream, "Open", new Variant("E:AAAAA\48641486.wav"), new Variant(3), new Variant(true)); + //设置spVoice声音对象的音频输出流为输出文件对象 + Dispatch.putRef(spVoice, "AudioOutputStream", spFileStream); + //设置spVoice声音对象的音量大小100 + Dispatch.put(spVoice, "Volume", new Variant(100)); + //设置spVoice声音对象的速度 0为正常速度,范围【..-2 -1 0 1 2..】 + Dispatch.put(spVoice, "Rate", new Variant(0)); + //设置spVoice声音对象中的文本内容 + Dispatch.call(spVoice, "Speak", new Variant(text)); + //关闭spFileStream输出文件 + Dispatch.call(spFileStream, "Close"); + + //释放资源 + spVoice.safeRelease(); + spAudioFormat.safeRelease(); + spFileStream.safeRelease(); + + } catch (Exception e) { + System.out.println(e.getMessage()); + + } + } + + private static XxlJobProperties aabb(){ + + XxlJobParameter xxlJobParameter = new XxlJobParameter(); + + xxlJobParameter.setEnabled(false); + xxlJobParameter.setAccessToken("1122"); + xxlJobParameter.setAddresses("五阿里乌"); + xxlJobParameter.setAppName("aaappn"); + XxlJobProperties bean = BeanUtils.toBean(xxlJobParameter, XxlJobProperties.class); + return bean; + + } + + } + + + public static void deleteFiles(List filePaths) { + // 检查文件路径集合是否为空 + if (filePaths == null || filePaths.isEmpty()) { + System.out.println("文件路径集合为空"); + return; + } + + for (String filePath : filePaths) { + // 检查文件路径是否为空 + if (filePath == null || filePath.isEmpty()) { + System.out.println("文件路径为空"); + continue; + } + + File file = new File(filePath); + + // 检查文件是否存在 + if (!file.exists()) { + System.out.println("文件不存在:" + filePath); + continue; + } + + // 检查是否是文件 + if (!file.isFile()) { + System.out.println("路径指向的不是文件:" + filePath); + continue; + } + + // 尝试删除文件 + if (file.delete()) { + System.out.println("文件删除成功:" + filePath); + } else { + System.out.println("文件删除失败:" + filePath); + } + } + } + + + public static Integer aacc(){ + + RedisTemplate re = new RedisTemplate<>(); + + int randomInt = new Random(System.currentTimeMillis()).nextInt(900) + 100;// 生成100到999之间的随机数 + + + + return randomInt; + + } + + + + @TestOnly + public static void main(String[] args) { + +// // 创建文件路径集合并添加文件路径 +// List filePaths = new ArrayList<>(); +// filePaths.add("E:/BBBBBBB/1.txt"); +// filePaths.add("E:/BBBBBBB/2.txt"); +// filePaths.add("E:/BBBBBBB/4.txt"); + + List filePaths = new ArrayList<>(); + filePaths.add(aacc()); + + System.out.println(filePaths); + +// // 调用 deleteFiles 方法,传入文件路径集合 +// deleteFiles(filePaths); +// System.out.println(JacobTestController.aabb()); + + + + +/* PatchingPlateRespVO patchingPlateRespVO = new PatchingPlateRespVO(); + + patchingPlateRespVO.setGroupId(11L); + patchingPlateRespVO.setArea(11.2); + patchingPlateRespVO.setColor("红色"); + patchingPlateRespVO.setHeight(11.2); + + String jsonString = JsonUtils.toJsonString(patchingPlateRespVO); + System.out.println(jsonString);*/ + + // + /*byte[] 测试测试s = JacobTestController.convertTextToSpeech("测试测试");*/ + +// JacobTestController.convertTextToSpeech("测试测试"); + + + } + + } + + + + + + + + + + + + diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/voice/VoiceController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/voice/VoiceController.java new file mode 100644 index 000000000..c1573a5fa --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/voice/VoiceController.java @@ -0,0 +1,51 @@ +package com.cf.imes.module.manage.controller.admin.voice; + + +import com.cf.imes.framework.common.pojo.CommonResult; +import com.cf.imes.module.manage.controller.admin.voice.vo.VoiceReqVO; +import com.cf.imes.module.manage.service.voice.VoiceService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import org.springframework.web.bind.annotation.RestController; + + + +@Tag(name = "管理后台 - 语音播报") +@RestController +@RequestMapping("/manage/voice") +@Validated +public class VoiceController { + + + @Resource + private VoiceService voiceService; + + + @PostMapping("/") + @Operation(summary = "语音播报") + @PreAuthorize("@ss.hasPermission('manage:voice:insert')") + public CommonResult voiceAnnouncements(@Valid @RequestBody VoiceReqVO reqVO ) throws Exception { + + String sourceFile = voiceService.voiceAnnouncements(reqVO.getText()); + + String gzipFile = sourceFile+".zip"; + + voiceService.zipFiles(sourceFile, gzipFile); + + return CommonResult.success(gzipFile); + + } + + +} + + + + diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/voice/vo/VoiceReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/voice/vo/VoiceReqVO.java new file mode 100644 index 000000000..b28c4574e --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/voice/vo/VoiceReqVO.java @@ -0,0 +1,19 @@ +package com.cf.imes.module.manage.controller.admin.voice.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +import java.util.List; + +@Schema(description = "管理后台 - 语音播报 Request VO") +@Data +@ToString(callSuper = true) +public class VoiceReqVO { + + + @Schema(description = "语音数据", requiredMode = Schema.RequiredMode.REQUIRED) + private String text; +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/patching/MachineDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/patching/MachineDO.java new file mode 100644 index 000000000..f5915329d --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/patching/MachineDO.java @@ -0,0 +1,42 @@ +package com.cf.imes.module.manage.dal.dataobject.patching; + + +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.cf.imes.framework.organ.core.db.OrganBaseDO; +import lombok.*; + +@TableName("imes_base.system_machine") +@KeySequence("machine_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MachineDO extends OrganBaseDO { + + + /** + * 主键 + */ + @TableId + private Long id; + /** + * 名称 + */ + private String name; + /** + * 1机台设备 2CNC设备 + */ + private Boolean machineType; + /** + * 标签id + */ + private Long labelId; + + + // 配置 + private String setting; +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/patching/PatchDetailDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/patching/PatchDetailDO.java new file mode 100644 index 000000000..20bca0521 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/patching/PatchDetailDO.java @@ -0,0 +1,44 @@ +package com.cf.imes.module.manage.dal.dataobject.patching; + + +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; +import com.cf.imes.framework.organ.core.db.OrganBaseDO; +import lombok.*; + +@TableName("order_patch_detail_n") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class PatchDetailDO extends OrganBaseDO { + + + // 补板ID + @TableId + private Long id; + + // 生产单号 + private Long orderId; + + // 组织 ID + private Long organId; + + // 总面积 + private Double area; + + // 计划 ID + private Long planId; + + // 机台 ID + private Long machineId; + + // 板材详情 + private String detail; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/patching/MachineMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/patching/MachineMapper.java new file mode 100644 index 000000000..d420727ef --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/patching/MachineMapper.java @@ -0,0 +1,12 @@ +package com.cf.imes.module.manage.dal.mysql.patching; + + +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.module.manage.dal.dataobject.patching.MachineDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface MachineMapper extends BaseMapperX { + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/patching/PatchDetailMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/patching/PatchDetailMapper.java new file mode 100644 index 000000000..f72c3d188 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/patching/PatchDetailMapper.java @@ -0,0 +1,15 @@ +package com.cf.imes.module.manage.dal.mysql.patching; + + +import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.module.manage.dal.dataobject.patching.PatchDetailDO; +import org.apache.ibatis.annotations.Mapper; + + +@Mapper +public interface PatchDetailMapper extends BaseMapperX { + + + + +} 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 df826d5ae..faa214f42 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 @@ -19,9 +19,6 @@ import java.util.List; public interface ProcessStepItemMapper extends BaseMapperX { - List selectOrder(ProcessPageReqVO pageReqVO); - - List selectPlateName(Long processStepId); 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 3b0e0f3d5..fbc28d221 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 @@ -5,6 +5,8 @@ import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.manage.controller.admin.process.vo.OrderProStepReqVO; import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessStepItemVO; +import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO; +import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO; 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.OrderProcessStepNDO; @@ -30,6 +32,11 @@ public interface ProcessStepMapper extends BaseMapperX { } + List selectOrder(ProcessPageReqVO pageReqVO); + + + + void updateStatusById(@Param("id") Long id, @Param("status") Boolean status); default List selectProducitonList(Long orderNo) { @@ -49,4 +56,6 @@ public interface ProcessStepMapper extends BaseMapperX { List selectSalaryList(PriceRatePageReqVO pageReqVO); + + } \ 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/process/ProductionProcessMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.java index 09d9e272c..deb825dad 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.java @@ -11,6 +11,7 @@ import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlateRespV import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPageReqVO; import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -23,19 +24,6 @@ import java.util.List; public interface ProductionProcessMapper extends BaseMapperX { - - default PageResult selectPage(ProcessPageReqVO pageReqVO) { - return selectPage(pageReqVO, new LambdaQueryWrapperX() - .eqIfPresent(OrderDO::getId,pageReqVO.getOrderNo()) - .eqIfPresent(OrderDO::getCustomOrderNo,pageReqVO.getCustomOrderNo()) - .likeIfPresent(OrderDO::getCustomer,pageReqVO.getCustomer()) - .likeIfPresent(OrderDO::getAddress,pageReqVO.getAddress()) - .orderByDesc(OrderDO::getId)); - } - - - - default PageResult selectPageList(OrderPageReqVO pageReqVO) { return selectPage(pageReqVO, new LambdaQueryWrapperX() .eqIfPresent(OrderDO::getId,pageReqVO.getOrderNo()) diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java index 90a711085..4d8065cc4 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java @@ -10,6 +10,7 @@ import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderPlateRespVO; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.PlatePageVO; import com.cf.imes.module.manage.dal.dataobject.query.OrderItemDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -27,7 +28,7 @@ public interface OrderItemMapper extends BaseMapperX { List selectCombinationName(Long orderNo); - List selectPlateList(Long bodyId); + List selectPlateList(PlatePageVO pageReqVO); List selectOrderPlateList(Long orderNo); 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 36093d148..8f4ea6b4c 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 @@ -25,7 +25,6 @@ public interface ProductionStatusMapper extends BaseMapperX { .eqIfPresent(OrderDO::getCustomOrderNo, pageReqVO.getCustomOrderNo()) .likeIfPresent(OrderDO::getCustomer, pageReqVO.getCustomer()) .likeIfPresent(OrderDO::getAddress, pageReqVO.getAddress()) - .likeIfPresent(OrderDO::getDeleted, pageReqVO.getDealer()) .and(wrapper -> { for (Long status : pageReqVO.getStatusList()) { wrapper.or().eq(OrderDO::getStatus, status); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/patching/PatchingPlateService.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/patching/PatchingPlateService.java new file mode 100644 index 000000000..cbb2a5fd3 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/patching/PatchingPlateService.java @@ -0,0 +1,38 @@ +package com.cf.imes.module.manage.service.patching; + + +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.module.manage.controller.admin.patching.vo.*; +import com.cf.imes.module.manage.dal.dataobject.patching.MachineDO; + +import java.util.List; + +public interface PatchingPlateService { + + + // 批量加入补板查询 + PageResult patchingSearchPlate(PatchingPlatePageReqVO pageReqVO); + + + // 查询详细的板件 + PageResult searchPlateDetail(PatchingPlatePageReqVO pageReqVO); + + + // 加入的板件信息 + PatchingDetailRespVO searchPatchingList(Long plateId); + + + // 优化排版 + List optimizeLayout(PatchingDetailReqVO reqVO); + + + // 新增补板详情表 + void insertPatching(PatchingReqVO reqVO); + + + // 查询所有的机台 + List searchMachine(); + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/patching/PatchingPlateServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/patching/PatchingPlateServiceImpl.java new file mode 100644 index 000000000..1734343a6 --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/patching/PatchingPlateServiceImpl.java @@ -0,0 +1,162 @@ +package com.cf.imes.module.manage.service.patching; + + +import com.alibaba.nacos.shaded.com.google.gson.Gson; +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.common.util.json.JsonUtils; +import com.cf.imes.framework.common.util.object.BeanUtils; +import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; +import com.cf.imes.module.manage.controller.admin.patching.vo.*; +import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderPlateRespVO; +import com.cf.imes.module.manage.dal.dataobject.patching.PatchDetailDO; +import com.cf.imes.module.manage.dal.dataobject.plate.OrderPlateDO; +import com.cf.imes.module.manage.dal.mysql.patching.MachineMapper; +import com.cf.imes.module.manage.dal.mysql.patching.PatchDetailMapper; +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.ProductionProcessMapper; +import com.cf.imes.module.manage.util.page.PageHelperUtil; +import com.cf.imes.module.manage.dal.dataobject.patching.MachineDO; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.List; + +@Service +@Validated +public class PatchingPlateServiceImpl implements PatchingPlateService{ + + + @Resource + private ProductionProcessMapper productionProcessMapper; + + @Resource + private OrderPlateMapper orderPlateMapper; + + @Resource + private MachineMapper machineMapper; + + @Resource + private PatchDetailMapper patchDetailMapper; + + + + // 批量加入补板查询 + @Override + public PageResult patchingSearchPlate(PatchingPlatePageReqVO pageReqVO) { + + + // 查询板件和订单的基础信息 + PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + List patchingPlateRespVOS = productionProcessMapper.selectPatchingPlate(pageReqVO); + + // + PageInfo pageInfo = new PageInfo<>(patchingPlateRespVOS); + return PageHelperUtil.convertToPageResult(pageInfo); + + + } + + + + + // 查询详细的板件 + @Override + public PageResult searchPlateDetail(PatchingPlatePageReqVO pageReqVO) { + + // 查询每个订单对应的板件的详细信息 + PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + List plateDetailsRespVOS = orderPlateMapper.selectPlateDetail(pageReqVO); + + // + PageInfo pageInfo = new PageInfo<>(plateDetailsRespVOS); + return PageHelperUtil.convertToPageResult(pageInfo); + + + } + + + + + + + // 加入的板件信息 + @Override + public PatchingDetailRespVO searchPatchingList(Long plateId) { + + + return orderPlateMapper.selectPlate(plateId); + + + } + + + + + + + + // 优化排版 + @Override + public List optimizeLayout(PatchingDetailReqVO reqVO) { + + // 查询板件的的信息 + return orderPlateMapper.selectOtherPlateList(reqVO.getPlateIdList()); + + } + + + + + + + + // 新增补板详情表 + @Override + public void insertPatching(PatchingReqVO reqVO) { + + PatchDetailDO patchDetailDO = new PatchDetailDO(); + + // 循环查询板件的信息,并加入补板详情表中 + for (Long ids : reqVO.getIdList()) { + + PatchingDetailRespVO patchingDetailRespVO = orderPlateMapper.selectPlate(ids); + String jsonString = JsonUtils.toJsonString(patchingDetailRespVO); + + patchDetailDO.setId(ids); + patchDetailDO.setOrderId(patchingDetailRespVO.getOrderId()); + patchDetailDO.setArea(patchDetailDO.getArea()); + patchDetailDO.setPlanId(reqVO.getPlanId()); + patchDetailDO.setMachineId(reqVO.getMachineId()); + + patchDetailDO.setDetail(jsonString); + + patchDetailMapper.insert(patchDetailDO); + + } + + + } + + + + + + + + // 查询所有的机台 + @Override + public List searchMachine() { + + return machineMapper.selectList(); + + + } + + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java index f92e21109..45da6bd88 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessService.java @@ -31,7 +31,7 @@ public interface ProductionProcessService { // 查看板材信息的组合名称 - List selectPlateName(Long processStepId); + List selectPlateName(Long stepItemId); } 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 a33d73a6e..24804c864 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 @@ -4,6 +4,7 @@ package com.cf.imes.module.manage.service.process; import com.cf.imes.framework.common.enums.ProcessingStatusEnum; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.module.manage.config.VocieParameters; import com.cf.imes.module.manage.controller.admin.process.vo.*; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleVO; import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO; @@ -51,9 +52,8 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { @Override public PageResult getProcessPage(ProcessPageReqVO pageReqVO) { - PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); - List processRespVOS = processStepItemMapper.selectOrder(pageReqVO); + List processRespVOS = processStepMapper.selectOrder(pageReqVO); // 判断生产步骤表在传入的状态查询后是否为空 if(processRespVOS.isEmpty()){ @@ -93,6 +93,7 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { + // 修改工序明细表的工序状态 @Override public void updateProcessStatus(Long id) { @@ -118,26 +119,14 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { processStepItemMapper.updateById(orderProcessStepItemNDO); - // 判断生产单工序表的工序状态是否还有未加工 - // 获取当前工序 id 下的所有生产单工序步骤表 -// List stepItemList = processStepMapper.getStepItemList(orderProcessStepNDO.getOrderNo(), ProcessingStatusEnum.RAW.getStatus()); - // 集合剩余 1 ,代表当前工序步骤已全部加工,修改生产单工序表的状态为已加工 -/* if (stepItemList.size() == 1) { - orderProcessMapper.updateStatusById(orderProcessStepNDO.getOrderProcessId(), ProcessingStatusEnum.PROCESSED.getStatus()); - return; - } - - // 遍历生产单工序步骤表,判断是否还有未加工的工序步骤 - for (OrderProcessStepNDO processStepNDO : stepItemList) { - if (processStepNDO.getStatus().equals(ProcessingStatusEnum.RAW.getStatus())) { - return; - } - }*/ } + + + // 修改生产步骤表的工序状态 @Override public void updateAllProcessStatus(OrderProStepReqVO reqVO) { @@ -163,24 +152,35 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { processStepItemMapper.updateStatus(reqVO); - // 查询当前工序步骤表的工序状态是否还有未加工 - List orderProcessStepNDOS = processStepMapper.selectStepList(reqVO, ProcessingStatusEnum.RAW.getStatus()); - // 如果为空,修改工序表的加工状态为已加工 - if(orderProcessStepNDOS.isEmpty()){ - orderProcessMapper.updateStatusById(orderProcessStepNDO.getOrderProcessId(),ProcessingStatusEnum.PROCESSED.getStatus()); - } +/* // 查询当前工序步骤表的工序状态是否还有未加工 + List orderProcessStepNDOS = processStepMapper.selectStepList(reqVO, ProcessingStatusEnum.RAW.getStatus());*/ + + + // 修改工序表的加工状态为已加工 + orderProcessMapper.updateStatusById(orderProcessStepNDO.getOrderProcessId(),ProcessingStatusEnum.PROCESSED.getStatus()); + - } - // 查看板材信息的组合名称 @Override - public List selectPlateName(Long processStepId) { + public List selectPlateName(Long stepItemId) { - return processStepItemMapper.selectPlateName(processStepId); + + List orderModuleVOS = processStepItemMapper.selectPlateName(stepItemId); + + for (OrderModuleVO orderModuleVO : orderModuleVOS) { + if(orderModuleVO.getGroupName().isEmpty()){ + return orderModuleVOS; + } + + // 修改组合名称为加工组的名称 + orderModuleVO.setName(orderModuleVO.getGroupName()); + } + + return orderModuleVOS; } 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 8f9025c50..04e5a364b 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 @@ -103,8 +103,9 @@ public class ProductionStatusServiceImpl implements ProductionStatusService { @Override public PageResult getOrderPlatePage(PlatePageVO pageReqVO) { + PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); - List orderPlateRespVOS = orderItemMapper.selectPlateList(pageReqVO.getBodyId()); + List orderPlateRespVOS = orderItemMapper.selectPlateList(pageReqVO); PageInfo pageInfo = new PageInfo<>(orderPlateRespVOS); PageResult priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceService.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceService.java new file mode 100644 index 000000000..3ad2b61ff --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceService.java @@ -0,0 +1,16 @@ +package com.cf.imes.module.manage.service.voice; + + +import java.io.IOException; + +public interface VoiceService { + + + // 生成音频文件 + String voiceAnnouncements(String text); + + + // 把生成的音频文件进行压缩 + void zipFiles(String sourceFile, String gzipFile) throws IOException; + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceServiceImpl.java new file mode 100644 index 000000000..18f68819e --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/voice/VoiceServiceImpl.java @@ -0,0 +1,150 @@ +package com.cf.imes.module.manage.service.voice; + + +import com.cf.imes.framework.quartz.config.XxlJobProperties; +import com.cf.imes.module.manage.config.VocieParameters; +import com.cf.imes.module.manage.config.XxlJobParameter; +import com.jacob.activeX.ActiveXComponent; +import com.jacob.com.ComThread; +import com.jacob.com.Dispatch; +import com.jacob.com.Variant; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.*; + +import java.net.http.WebSocket; +import java.nio.ByteBuffer; +import java.nio.channels.Channels; +import java.nio.channels.FileChannel; +import java.nio.channels.WritableByteChannel; +import java.util.Objects; +import java.util.Random; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +@Service +@Slf4j +public class VoiceServiceImpl implements VoiceService{ + + @Resource + private VocieParameters vocieParameters; + + + + // 生成音频文件 + @Override + public String voiceAnnouncements(String text) { + // + // 音频保存的路径 + String path = vocieParameters.getPath(); + + // 设置音频的质量( 越大越好,目前最大好像 22,最小为 4 ) + Long quality = vocieParameters.getQuality();; + + // 朗读声音大小 + Long soundSize = vocieParameters.getSoundSize(); + + // 朗读速度 + Long readingSpeed = vocieParameters.getReadingSpeed(); + + ActiveXComponent ax = null; + Dispatch spFileStream = null; + Dispatch spAudioFormat = null; + Dispatch spVoice = null; + try{ + ax = new ActiveXComponent("Sapi.SpFileStream"); + spFileStream = ax.getObject(); + + ax = new ActiveXComponent("Sapi.SpAudioFormat"); + spAudioFormat = ax.getObject(); + + spVoice = new ActiveXComponent("Sapi.SpVoice").getObject(); + // 设置音频流格式 + Dispatch.put(spAudioFormat, "Type", new Variant(quality)); + // 设置文件输出流格式 + Dispatch.putRef(spFileStream, "Format", spAudioFormat); + // 随机数,控制文件的名字 + int randomInt = new Random(System.currentTimeMillis()).nextInt(900) + 100;// 生成100到999之间的随机数 + // 文件的路径 + String filePath = path + randomInt + ".mp3"; + + // 调用输出文件流打开方法,创建一个.wav文件 + Dispatch.call(spFileStream, "Open", new Variant(filePath), new Variant(3), new Variant(true)); + // 设置声音对象的音频输出流为输出文件对象 + Dispatch.putRef(spVoice, "AudioOutputStream", spFileStream); + // 设置音量 0 ~ 100 + Dispatch.put(spVoice, "Volume", new Variant(soundSize)); + // 设置朗读速度 -10 ~ +10 + Dispatch.put(spVoice, "Rate", new Variant(readingSpeed)); + + Dispatch.call(spVoice, "Speak", new Variant(text)); + + System.out.println("输出语音文件成功!"); + + return filePath; + + }catch(Exception e){ + e.printStackTrace(); + }finally { + // 关闭输出文件 + Dispatch.call(Objects.requireNonNull(spFileStream), "Close"); + Dispatch.putRef(Objects.requireNonNull(spVoice), "AudioOutputStream", null); + + Objects.requireNonNull(spAudioFormat).safeRelease(); + spFileStream.safeRelease(); + spVoice.safeRelease(); + ax.safeRelease(); + } + + return null; + } + + + + /** + * 把生成的音频文件进行压缩 + * @param fileNames 需要压缩的文件名称列表(包含相对路径) + * @param zipOutName 压缩后的文件名称 + **/ + @Override + public void zipFiles(String fileNames, String zipOutName) throws IOException { + ZipOutputStream zipOutputStream = null; + WritableByteChannel writableByteChannel = null; + ByteBuffer buffer = ByteBuffer.allocate(2048); + try { + zipOutputStream = new ZipOutputStream(new FileOutputStream(zipOutName)); + writableByteChannel = Channels.newChannel(zipOutputStream); + File source = new File(fileNames); + zipOutputStream.putNextEntry(new ZipEntry(source.getName())); + FileChannel fileChannel = new FileInputStream(fileNames).getChannel(); + while (fileChannel.read(buffer) != -1) { + //更新缓存区位置 + buffer.flip(); + while (buffer.hasRemaining()) { + writableByteChannel.write(buffer); + } + buffer.rewind(); + } + fileChannel.close(); + + System.out.println("文件压缩成功"); + + } catch (Exception e) { + log.error("batchZipFiles error fileNames:"); + } finally { + zipOutputStream.close(); + writableByteChannel.close(); + buffer.clear(); + } + } + + + + + + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/xxjJob/XxlJobUtil.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/xxjJob/XxlJobUtil.java new file mode 100644 index 000000000..673af5d4f --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/util/xxjJob/XxlJobUtil.java @@ -0,0 +1,43 @@ +package com.cf.imes.module.manage.util.xxjJob; + + +import com.cf.imes.framework.quartz.config.XxlJobProperties; +import com.cf.imes.module.manage.config.XxlJobParameter; +import com.xxl.job.core.handler.IJobHandler; +import com.xxl.job.core.handler.annotation.XxlJob; + +import javax.annotation.Resource; + +public class XxlJobUtil extends IJobHandler { + + @Resource + private XxlJobParameter xxlJobParameter; + + + // 定时删除 + public void deleteFile(){ + + XxlJobProperties xxlJobProperties = new XxlJobProperties(); + + xxlJobProperties.setEnabled(xxlJobParameter.getEnabled()); + xxlJobProperties.setAccessToken(xxlJobParameter.getAccessToken()); + xxlJobProperties.getAdmin().setAddresses(xxlJobParameter.getAddresses()); + xxlJobProperties.getExecutor().setAppName(xxlJobParameter.getAppName()); + xxlJobProperties.getExecutor().setPort(xxlJobParameter.getPort().intValue()); + xxlJobProperties.getExecutor().setIp(xxlJobParameter.getIp()); + xxlJobProperties.getExecutor().setLogPath(xxlJobParameter.getLogPath()); + xxlJobProperties.getExecutor().setLogRetentionDays(xxlJobParameter.getLogRetentionDays().intValue()); + + + } + + + @Override + @XxlJob("demoJobHandler") + public void execute() throws Exception { + deleteFile(); + + System.out.println("定时任务测试"); + + } +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml index ff93db078..d8f06492a 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml @@ -8,10 +8,9 @@ - - + @@ -23,7 +22,7 @@ - + @@ -36,7 +35,7 @@ o.id as orderId, ob.name as cabinetName, op.id as plateNo, - op.name as plateName, + op.name as name, op.height as height, op.width as width, op.thickness as thickness, @@ -47,11 +46,11 @@ o.address as address, CASE WHEN op.unregular_point_count = 0 THEN '否' ELSE '是' END AS specialShaped, - CASE WHEN front_model_count = 0 or op.back_hole_count or op.side_hole_count THEN '否' ELSE '是' END AS profiling, - CASE WHEN front_hole_count = 0 or op.back_model_count THEN '否' ELSE '是' END AS rowHole, + CASE WHEN front_model_count = 0 or op.back_hole_count = 0 or op.side_hole_count = 0 THEN '否' ELSE '是' END AS profiling, + CASE WHEN front_hole_count = 0 or op.back_model_count = 0 THEN '否' ELSE '是' END AS rowHole, CONCAT( - TRIM(TRAILING '.' from TRIM(TRAILING '0' FROM p.thickness)),'mm-',p.material,'-',p.color) AS name, + TRIM(TRAILING '.' from TRIM(TRAILING '0' FROM p.thickness)),'mm-',p.material,'-',p.color) AS plateCombinationName, p.material as material, p.color as color @@ -95,24 +94,28 @@ resultMap="PlateDetailMap"> select - o.id as orderId, + op.*, + oi.room_id as roomId, + oi.body_id as bodyId, + ob.room_name as roomName, ob.name as cabinetName, - op.id as plateNo, +/* op.id as plateNo, op.name as plateName, op.height as height, op.width as width, op.thickness as thickness, op.area as area, - op.remark as remark, + op.remark as remark,*/ o.custom_order_no as customOrderId, o.customer as customer, o.address as address, CASE WHEN op.unregular_point_count = 0 THEN '否' ELSE '是' END AS specialShaped, - CASE WHEN front_model_count = 0 or op.back_hole_count or op.side_hole_count THEN '否' ELSE '是' END AS profiling, - CASE WHEN front_hole_count = 0 or op.back_model_count THEN '否' ELSE '是' END AS rowHole, + CASE WHEN front_model_count = 0 or op.back_hole_count = 0 or op.side_hole_count = 0 THEN '否' ELSE '是' END AS profiling, + CASE WHEN front_hole_count = 0 or op.back_model_count = 0 THEN '否' ELSE '是' END AS rowHole, + CONCAT( - TRIM(TRAILING '.' from TRIM(TRAILING '0' FROM p.thickness)),'mm-',p.material,'-',p.color) AS name, + TRIM(TRAILING '.' from TRIM(TRAILING '0' FROM p.thickness)),'mm-',p.material,'-',p.color) AS plateCombinationName, p.material as material, p.color as color @@ -129,18 +132,9 @@ - - - - - - - - - - - - - - - - - - - - - - - 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 1ca0a6a44..3280f081b 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 @@ -13,6 +13,58 @@ + + + + + + + + + + + + + + + + + @@ -55,7 +107,7 @@ and ops.status = true -/**/ + group by name,piece_rate,piece_type,creator; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.xml index 24dad117b..31265840b 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.xml @@ -26,7 +26,7 @@ select - oi.body_id as groupId, + p.goods_id, o.id as orderId, o.custom_order_no as customOrderId, o.customer as customer, @@ -47,33 +47,125 @@ join order_plate op on oi.plate_id = op.id join plate p on op.goods_id = p.goods_id - - - and o.id = #{orderNo} - - - and o.custom_order_no = #{customOrderNo} - - - and o.customer = #{customer} - - - and o.address = #{address} - - - and o.status in - - #{id} - - - - and o.update_time between #{startTime} and #{endTime} - + + + + (op.filter_type = 1 + + or op.filter_type = 2 + + + or op.filter_type = 4 + ) + + + + and o.id = #{orderNo} + + + and o.custom_order_no = #{customOrderNo} + + + and o.customer = #{customer} + + + and o.address = #{address} + + + and o.status in + + #{id} + + + + and o.update_time between #{startTime} and #{endTime} + + + + and op.unregular_point_count = 0 + + + + and op.unregular_point_count > 0 + + + + and front_model_count > 0 or op.back_hole_count > 0 or op.side_hole_count > 0 + + + + and op.is_door = 1 + + + + + + + + + + + and o.id = #{orderNo} + + + and o.custom_order_no = #{customOrderNo} + + + and o.customer = #{customer} + + + and o.address = #{address} + + + and o.status in + + #{id} + + + + and o.update_time between #{startTime} and #{endTime} + + + + and op.unregular_point_count = 0 + + + + and op.unregular_point_count > 0 + + + + and front_model_count > 0 or op.back_hole_count > 0 or op.side_hole_count > 0 + + + + and op.is_door = 1 + + + + + + - group by groupId,orderId,customOrderId,customer,address,orderStatus,plateNum,plateName,thickness,material,color + group by p.goods_id,orderId,customOrderId,customer,address,orderStatus,plateNum,plateName,thickness,material,color \ 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/query/OrderItemMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml index 66b0f6b83..9b3a23029 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml @@ -80,7 +80,7 @@ - + From 7db670ad0de8e9b4d150bf549123b2f8837b9093 Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Fri, 26 Apr 2024 16:52:47 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=B7=A5=E5=BA=8F?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/dal/mysql/query/OrderItemMapper.java | 4 +++- .../manage/dal/mysql/query/OrderItemMapper.xml | 12 +++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java index 4d8065cc4..a70404325 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java @@ -38,7 +38,7 @@ public interface OrderItemMapper extends BaseMapperX { - void insertPackPlate( Long plateId); + void insertPackPlate(Long plateId); List selectJoinedGroupPlateList(@Param("orderNo") Long orderNo , @Param("packageIdList") List packageIdList); @@ -74,4 +74,6 @@ public interface OrderItemMapper extends BaseMapperX { void insertPartsId(@Param("packId") Long packId, @Param("addPartsIdList") List addPartsIdList); + + String selectBodyName(@Param("plateId") Long plateId); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml index 9b3a23029..a14ae6d7b 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml @@ -302,7 +302,6 @@ - UPDATE order_item oi @@ -400,4 +399,15 @@ + + + \ No newline at end of file