From 2c58e73d7c28f53a8521844ccc066ac727d60994 Mon Sep 17 00:00:00 2001 From: lym <1994302445@qq.com> Date: Fri, 14 Jun 2024 16:55:43 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=8D=95=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=BF=98=E5=8E=9F=E7=AD=89=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/executor/enums/DataTypeEnum.java | 24 ++ .../executor/enums/ErrorCodeConstants.java | 5 + .../executor/enums/OrderDeletedEnum.java | 23 ++ .../executor/enums/OrderItemTypeEnum.java | 24 ++ .../executor/enums/OrderStatusEnum.java | 8 +- .../module/executor/enums/OrderTypeEnum.java | 24 ++ .../executor/enums/ProcessTypeEnum.java | 30 ++ .../admin/order/OrderController.java | 107 +++-- .../admin/order/vo/order/OrderPageReqVO.java | 1 + .../admin/order/vo/order/OrderSaveReqVO.java | 6 +- .../orderParts/OrderPartsController.java | 2 - .../admin/plate/PlateController.java | 5 +- .../processStep/vo/ProcessStepPageReqVO.java | 2 +- .../processStep/vo/ProcessStepRespVO.java | 2 +- .../processStep/vo/ProcessStepSaveReqVO.java | 2 +- .../dal/dataobject/goods/GoodsDO.java | 4 + .../dataobject/moduleitem/ModuleItemDO.java | 4 +- .../dal/dataobject/orderBody/OrderBodyDO.java | 5 +- .../dataobject/orderGroup/OrderGroupDO.java | 4 + .../dataobject/orderParts/OrderPartsDO.java | 9 +- .../dal/dataobject/plate/PlateDO.java | 4 + .../dataobject/process/OrderProcessDO.java | 4 + .../dataobject/processStep/ProcessStepDO.java | 4 + .../dal/dataobject/rawgoods/RawGoodsDO.java | 4 + .../executor/dal/mysql/goods/GoodsMapper.java | 13 + .../executor/dal/mysql/order/OrderMapper.java | 76 ++-- .../dal/mysql/orderBody/OrderBodyMapper.java | 39 +- .../mysql/orderGroup/OrderGroupMapper.java | 22 ++ .../dal/mysql/orderItem/OrderItemMapper.java | 13 +- .../mysql/orderParts/OrderPartsMapper.java | 16 + .../dal/mysql/plate/PlateGoodMapper.java | 9 + .../executor/dal/mysql/plate/PlateMapper.java | 37 +- .../dal/mysql/process/OrderProcessMapper.java | 17 +- .../mysql/processStep/ProcessStepMapper.java | 15 +- .../dal/mysql/rawgoods/RawGoodsMapper.java | 26 +- .../mysql/remainplaten/RemainPlateMapper.java | 13 +- .../service/order/OrderInputProcessor.java | 2 +- .../executor/service/order/OrderService.java | 39 +- .../service/order/OrderServiceImpl.java | 371 +++++++----------- .../process/OrderProcessServiceImpl.java | 21 +- .../admin/api/webcad/ApiTypeRealize.java | 74 ++-- .../api/webcad/MultiThreadingConfig.java | 48 --- .../admin/files/excel/ExcelTypeRealize.java | 5 +- .../mapper/orderBody/OrderBodyMapper.xml | 4 +- .../mapper/orderItem/OrderItemMapper.xml | 13 +- .../mapper/orderParts/OrderPartsMapper.xml | 8 + .../resources/mapper/plate/PlateMapper.xml | 39 +- .../plate/vo/remain/RemainPlateSaveReqVO.java | 2 +- .../remainplaten/RemainPlateServiceImpl.java | 11 +- .../service/process/ProcessServiceImpl.java | 4 +- 50 files changed, 695 insertions(+), 549 deletions(-) create mode 100644 cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/DataTypeEnum.java create mode 100644 cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderDeletedEnum.java create mode 100644 cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderItemTypeEnum.java create mode 100644 cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderTypeEnum.java create mode 100644 cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ProcessTypeEnum.java delete mode 100644 cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/MultiThreadingConfig.java diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/DataTypeEnum.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/DataTypeEnum.java new file mode 100644 index 000000000..4a5399262 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/DataTypeEnum.java @@ -0,0 +1,24 @@ +package com.cf.imes.module.executor.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum DataTypeEnum { + + FILE_IMPORT(0, "文件导入"), + API_IMPORT(1, "API导入"), + SOURCE_IMPORT(2, "数据源导入"); + + private final Integer status; + private String description; + + public boolean equals(Integer status) { + return this.status .equals(status) ; + } + + public boolean equals(DataTypeEnum enableStatusEnum) { + return enableStatusEnum != null && enableStatusEnum.status .equals(this.getStatus()) ; + } +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java index cc7c5375f..a3ebf293b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ErrorCodeConstants.java @@ -20,6 +20,10 @@ public interface ErrorCodeConstants { // ========== 生产单 TODO 补充编号 ========== ErrorCode ORDER_NOT_EXISTS = new ErrorCode(1_001_109_000, "生产单不存在"); + ErrorCode ORDER_IS_EMPTY = new ErrorCode(1_001_109_000, "生产单为空单,清空无效"); + ErrorCode ORDER_NOT_NEW_ORDER = new ErrorCode(1_001_109_000, "生产单不为新单,清空无效"); + ErrorCode ORDER_NOT_CANCEL = new ErrorCode(1_001_109_000, "生产单已排单,作废无效"); + ErrorCode ORDER_CANCEL = new ErrorCode(1_001_109_000, "生产单未作废,还原无效"); // ========== 生产单 TODO 补充编号 ========== ErrorCode MODULE_NOT_EXISTS = new ErrorCode(1_001_110_000, "模块不存在"); @@ -62,4 +66,5 @@ public interface ErrorCodeConstants { ErrorCode FILE_UPLOAD_ERR = new ErrorCode(1_002_029_012, "文件内容为空"); ErrorCode SOURCE_NOT_EXITS_ERROR = new ErrorCode(1_002_029_013, "源数据查询失败"); + ErrorCode ORDER_CAN_NOT_DELETE = new ErrorCode(1_002_029_013, "存在状态不符合强制删除的生产单,禁止删除"); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderDeletedEnum.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderDeletedEnum.java new file mode 100644 index 000000000..67f53ba3e --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderDeletedEnum.java @@ -0,0 +1,23 @@ +package com.cf.imes.module.executor.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum OrderDeletedEnum { + + DELETED(1, "删除"), + NOT_DELETED(0, "不删除"); + + private final Integer status; + private String description; + + public boolean equals(Integer status) { + return this.status .equals(status) ; + } + + public boolean equals(OrderDeletedEnum enableStatusEnum) { + return enableStatusEnum != null && enableStatusEnum.status .equals(this.getStatus()) ; + } +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderItemTypeEnum.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderItemTypeEnum.java new file mode 100644 index 000000000..81ab25fae --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderItemTypeEnum.java @@ -0,0 +1,24 @@ +package com.cf.imes.module.executor.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum OrderItemTypeEnum { + + PLATE_ITEM(1, "板材明细"), + PARTS_ITEM(2, "配件明细"), + OTHER_ITEM(2, "其他明细"); + + private final Integer status; + private String description; + + public boolean equals(Integer status) { + return this.status .equals(status) ; + } + + public boolean equals(OrderItemTypeEnum enableStatusEnum) { + return enableStatusEnum != null && enableStatusEnum.status .equals(this.getStatus()) ; + } +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderStatusEnum.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderStatusEnum.java index a931da8f2..c3d9220ae 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderStatusEnum.java +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderStatusEnum.java @@ -6,10 +6,12 @@ import lombok.Getter; @Getter @AllArgsConstructor public enum OrderStatusEnum { - EMPTY(0, "空生产单"), + + EMPTY(0, "默认"), NEW_ORDER(1, "新单"), - IN_PRODUCTION(2, "生产中"), - FINISH_PRODUCTION(3, "生产完成"); + NO_SORT(2, "未排单"), + IN_PRODUCTION(3, "生产中"), + FINISH_PRODUCTION(4, "生产完成"); private final Integer status; private String description; diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderTypeEnum.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderTypeEnum.java new file mode 100644 index 000000000..185eda26f --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/OrderTypeEnum.java @@ -0,0 +1,24 @@ +package com.cf.imes.module.executor.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum OrderTypeEnum { + + MAIN_ORDER(1, "主单"), + SUBORDER(2, "子单"); + + private final Integer status; + private String description; + + public boolean equals(Integer status) { + return this.status .equals(status) ; + } + + public boolean equals(OrderTypeEnum enableStatusEnum) { + return enableStatusEnum != null && enableStatusEnum.status .equals(this.getStatus()) ; + } + +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ProcessTypeEnum.java b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ProcessTypeEnum.java new file mode 100644 index 000000000..98a8bfcc6 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-api/src/main/java/com/cf/imes/module/executor/enums/ProcessTypeEnum.java @@ -0,0 +1,30 @@ +package com.cf.imes.module.executor.enums; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum ProcessTypeEnum { + + TYPE_ZERO(0, "全部加工"), + TYPE_ONE(1, "开料"), + TYPE_TWO(2, "部件加工"), + TYPE_THREE(3, "异形封边"), + TYPE_FOUR(4, "分堆"), + TYPE_FIVE(5, "打包"), + TYPE_SIX(6, "出库"), + TYPE_SEVEN(7, "组件加工"), + TYPE_EIGHT(8, "板材"); + + private final Integer status; + private String description; + + public boolean equals(Integer status) { + return this.status .equals(status) ; + } + + public boolean equals(ProcessTypeEnum enableStatusEnum) { + return enableStatusEnum != null && enableStatusEnum.status .equals(this.getStatus()) ; + } +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java index 4c44ec833..6230def9b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/OrderController.java @@ -12,7 +12,6 @@ import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiTypeR import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.ExcelReadUtil; import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPlateImportExcelVO; import io.swagger.v3.oas.annotations.Parameters; -import org.springframework.util.ResourceUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -76,7 +75,6 @@ public class OrderController { @Resource private ApiTypeRealize apiTypeRealize; - private static final Logger log = LoggerFactory.getLogger(OrderController.class); @PostMapping("/create") @Operation(summary = "创建生产单") @@ -93,12 +91,34 @@ public class OrderController { return success(true); } - @DeleteMapping("/delete") - @Operation(summary = "删除(作废)生产单") - @Parameter(name = "orderIds", description = "生产单id组", required = true, example = "1,2") + // 删除柜体 + @DeleteMapping("/delete-body") + @Operation(summary = "删除柜体") + @Parameters({ + @Parameter(name = "orderId", description = "生产单编号", required = true, example = "1024"), + @Parameter(name = "bodyIds", description = "柜体编号集合", required = true, example = "1,2") + }) @PreAuthorize("@ss.hasPermission('executor:order:delete')") - public CommonResult deleteOrder(@RequestParam("orderIds") Collection orderIds) { - orderService.deleteOrder(orderIds); + public CommonResult deleteBody(@RequestParam("orderId") Long orderId, @RequestParam("bodyIds") Set bodyIds) { + orderService.deleteBodyByOrder(orderId, bodyIds); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "作废") + @Parameter(name = "orderId", description = "生产单id", required = true, example = "1") + @PreAuthorize("@ss.hasPermission('executor:order:delete')") + public CommonResult deleteOrder(@RequestParam("orderId") Long orderId) { + orderService.deleteOrder(orderId); + return success(true); + } + + @PutMapping("/restore") + @Operation(summary = "还原") + @Parameter(name = "orderId", description = "生产单id", required = true, example = "1") + @PreAuthorize("@ss.hasPermission('executor:order:restore')") + public CommonResult restoreOrder(@RequestParam("orderId") Long orderId) { + orderService.restoreOrder(orderId); return success(true); } @@ -126,16 +146,6 @@ public class OrderController { orderService.exportTemplate(response, value); } - // 清理生产单 - @GetMapping("/clean") - @Operation(summary = "清理生产单") - @Parameter(name = "orderId", description = "生产单编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('executor:order:delete')") - public CommonResult cleanOrder(@RequestParam("orderId") Long orderId) { - orderService.cleanOrder(orderId); - return success(true); - } - @GetMapping("/get-room") @Operation(summary = "生产单详情-房间和柜体id") @Parameter(name = "orderId", description = "生产单编号", required = true, example = "1024") @@ -160,14 +170,16 @@ public class OrderController { @Parameter(name = "orderId", description = "生产单编号", example = "1024"), @Parameter(name = "roomId", description = "房间编号", example = "1024"), @Parameter(name = "bodyId", description = "柜体编号", example = "1024"), - @Parameter(name = "groupId", description = "加工组编号", example = "1024") + @Parameter(name = "groupId", description = "加工组编号", example = "1024"), + @Parameter(name = "groupName", description = "加工组名称", example = "弧形") }) @PreAuthorize("@ss.hasPermission('executor:order:query')") public CommonResult> platesDetails(@RequestParam("orderId") Long orderId, @RequestParam(value = "roomId", required = false) Long roomId, @RequestParam(value = "bodyId", required = false) Long bodyId, - @RequestParam(value = "groupId", required = false) Long groupId) { - List moduleDOList = orderService.getPlatesDetail(orderId, roomId, bodyId,groupId); + @RequestParam(value = "groupId", required = false) Long groupId, + @RequestParam(value = "groupName", required = false) String groupName) { + List moduleDOList = orderService.getPlatesDetail(orderId, roomId, bodyId,groupId,groupName); return success(moduleDOList); } @@ -176,29 +188,18 @@ public class OrderController { @Parameters({ @Parameter(name = "orderId", description = "生产单编号", example = "1024"), @Parameter(name = "roomId", description = "房间编号", example = "1024"), - @Parameter(name = "bodyId", description = "柜体编号", example = "1024") + @Parameter(name = "bodyId", description = "柜体编号", example = "1024"), + @Parameter(name = "name", description = "配件名称", example = "1024") }) @PreAuthorize("@ss.hasPermission('executor:order:query')") public CommonResult> partsDetails(@RequestParam("orderId") Long orderId, @RequestParam(value = "roomId", required = false) Long roomId, - @RequestParam(value = "bodyId", required = false) Long bodyId) { - List moduleDOList = orderService.getPartsDetail(orderId, roomId, bodyId); + @RequestParam(value = "bodyId", required = false) Long bodyId, + @RequestParam(value = "name", required = false) String name) { + List moduleDOList = orderService.getPartsDetail(orderId, roomId, bodyId, name); return success(moduleDOList); } - // 删除柜体 - @DeleteMapping("/delete-body") - @Operation(summary = "删除柜体") - @Parameters({ - @Parameter(name = "orderId", description = "生产单编号", required = true, example = "1024"), - @Parameter(name = "bodyIds", description = "柜体编号集合", required = true, example = "1,2") - }) - @PreAuthorize("@ss.hasPermission('executor:order:delete')") - public CommonResult deleteBody(@RequestParam("orderId") Long orderId, @RequestParam("bodyIds") Set bodyIds) { - orderService.deleteBodyByOrder(orderId, bodyIds); - return success(true); - } - // 柜体数据获取,需要加上柜体的属性 @GetMapping("/get-body") @Operation(summary = "生产单柜体数据获取") @@ -230,14 +231,8 @@ public class OrderController { dataGoods, // 商品信息 plate, // 板件信息 dataModule,// 加工组信息 - block); // 板材数据 -// System.out.println(" dataPlates" + dataPlates + "/n" -// + " dataParts" + dataParts + "/n" -// + " dataBody" + dataBody + "/n" -// + " dataGoods" + dataGoods + "/n" -// + " plate" + plate + "/n" -// + " dataModule" + dataModule + "/n" -// + " block" + block); + block,// 板材数据 + orderNo); // 原始板编号 return success(orderService.importApiData(listMap)); } @@ -302,26 +297,16 @@ public class OrderController { return success(orderService.importTemplate(file,type)); } - @GetMapping("/printingZip") - @Operation(summary = "打印/导出(多文件)") - @Parameter(name = "type", description = "文件类型", required = true, example = "0") - @PreAuthorize("@ss.hasPermission('executor:order:query')") - @OperateLog(type = EXPORT) - public void getOrderPrintingZip(@Valid OrderPageReqVO pageReqVO, - @RequestParam("type") String type, - HttpServletResponse response) throws IOException { - orderService.getPrintDataZip(pageReqVO,type,response); - } - @GetMapping("/printing") - @Operation(summary = "打印/导出(单文件)") + @Operation(summary = "打印/导出 数据文件") @Parameter(name = "type", description = "文件类型", required = true, example = "0") @PreAuthorize("@ss.hasPermission('executor:order:query')") @OperateLog(type = EXPORT) - public void getOrderPrinting( -// @RequestParam("orderId") Long orderId, - @RequestParam("type") String type, - HttpServletResponse response) throws IOException { - orderService.getPrintData(1797937673478864896L,type,response); + public CommonResult> getOrderPrintData( + @RequestParam("orderId") Long orderId, + @RequestParam("type") String type, + HttpServletResponse response) { + + return success(orderService.getPrintDataMap(orderId,type,response)); } } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java index b06abefc6..6d9a44f29 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java @@ -76,6 +76,7 @@ public class OrderPageReqVO extends PageParam { @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime[] createTime; + @Schema(description = "是否作废", example = "0") private Boolean deleted; private Long organId; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java index c0d0ff918..1d8732140 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderSaveReqVO.java @@ -15,8 +15,7 @@ public class OrderSaveReqVO { private Long id; - @Schema(description = "父单号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "父单号不能为空,无父单时为0") + @Schema(description = "父单号") private Long parentNo; @Schema(description = "生产单日期", requiredMode = Schema.RequiredMode.REQUIRED) @@ -27,8 +26,7 @@ public class OrderSaveReqVO { @NotNull(message = "交付日期不能为空") private LocalDateTime deliveryDate; - @Schema(description = "生产单类型,1主单 2子单", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "生产单类型,1主单 2子单不能为空") + @Schema(description = "生产单类型,1主单 2子单", example = "1") private Boolean orderType; @Schema(description = "生产单排序号") diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderParts/OrderPartsController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderParts/OrderPartsController.java index 6cb29f0f0..90e95c33a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderParts/OrderPartsController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/orderParts/OrderPartsController.java @@ -1,6 +1,5 @@ package com.cf.imes.module.executor.controller.admin.orderParts; -import com.cf.imes.module.executor.controller.admin.plate.vo.PlateRespVO; import com.cf.imes.module.executor.controller.admin.plate.vo.PlateTermsPageReqVO; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -10,7 +9,6 @@ import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Operation; -import javax.validation.constraints.*; import javax.validation.*; import javax.servlet.http.*; import java.util.*; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java index 497fd2a5d..adac103b4 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plate/PlateController.java @@ -98,7 +98,7 @@ public class PlateController { // 批量删除小板 @DeleteMapping("deletePlenty") @Operation(summary = "批量删除小板") - @PreAuthorize("@ss.hasPermission('executor:plate:deletePlenty')") + @PreAuthorize("@ss.hasPermission('executor:plate:delete')") @Parameter(name = "id", description = "编号", required = true) public CommonResult deletePlates(@RequestBody Set ids) { plateService.deletePlates(ids); @@ -108,7 +108,7 @@ public class PlateController { // 批量查询有生产单号id、房间id,柜体id的板材 @GetMapping("getPlatesByOrderId") @Operation(summary = "批量查询有生产单号id、房间id,柜体id的板材") - @PreAuthorize("@ss.hasPermission('executor:plate:getPlatesByOrderId')") + @PreAuthorize("@ss.hasPermission('executor:plate:query')") public CommonResult> getPlatesByOrderId(@Valid PlateTermsPageReqVO pageVO) { return success(plateService.getPlatePageByTerms(pageVO)); } @@ -116,6 +116,7 @@ public class PlateController { @GetMapping("/getPlateModelByBodyId") @Operation(summary = "根据柜体id列表查询小板的造型") @Parameter(name = "bodyIds", description = "柜体id列表", required = true) + @PreAuthorize("@ss.hasPermission('executor:plate:query')") public CommonResult> getPlateModelByPlateId(@Valid @RequestParam @NotEmpty List bodyIds) { return success(plateService.getPlateModelByPlateId(bodyIds)); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepPageReqVO.java index 90af67c99..97817163e 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepPageReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepPageReqVO.java @@ -16,7 +16,7 @@ import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH public class ProcessStepPageReqVO extends PageParam { @Schema(description = "生产单号") - private Long orderNo; + private Long orderId; @Schema(description = "完成时间") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepRespVO.java index 65eca8880..1d6f08f09 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepRespVO.java @@ -19,7 +19,7 @@ public class ProcessStepRespVO { @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("生产单号") - private Long orderNo; + private Long orderId; @Schema(description = "完成时间", requiredMode = Schema.RequiredMode.REQUIRED) @ExcelProperty("完成时间") diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepSaveReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepSaveReqVO.java index eb58d073d..3ed191a4e 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepSaveReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/processStep/vo/ProcessStepSaveReqVO.java @@ -16,7 +16,7 @@ public class ProcessStepSaveReqVO { @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "生产单号不能为空") - private Long orderNo; + private Long orderId; @Schema(description = "完成时间", requiredMode = Schema.RequiredMode.REQUIRED) @NotNull(message = "完成时间不能为空") diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/goods/GoodsDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/goods/GoodsDO.java index 57cd946c6..9f298c123 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/goods/GoodsDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/goods/GoodsDO.java @@ -89,5 +89,9 @@ public class GoodsDO extends BaseDO { * 备注 */ private String remark; + /** + * 是否删除 + */ + private Boolean deleted; } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/moduleitem/ModuleItemDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/moduleitem/ModuleItemDO.java index 78786ee6c..5f899260a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/moduleitem/ModuleItemDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/moduleitem/ModuleItemDO.java @@ -11,7 +11,7 @@ import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; * * @author 晨丰科技 */ -@TableName("order_module_item_n") +@TableName("order_module_item") @KeySequence("order_module_item_n_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data @EqualsAndHashCode(callSuper = true) @@ -32,7 +32,7 @@ public class ModuleItemDO extends BaseDO { /** * 生产单号 */ - private Long orderNo; + private Long orderId; /** * 房间 ID */ diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderBody/OrderBodyDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderBody/OrderBodyDO.java index b2d962d93..7a2ad59b4 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderBody/OrderBodyDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderBody/OrderBodyDO.java @@ -78,5 +78,8 @@ public class OrderBodyDO extends BaseDO { * 备注 */ private String remark; - + /** + * 是否删除 + */ + private Boolean deleted; } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderGroup/OrderGroupDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderGroup/OrderGroupDO.java index 56052409f..fd7026eb5 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderGroup/OrderGroupDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderGroup/OrderGroupDO.java @@ -82,5 +82,9 @@ public class OrderGroupDO extends BaseDO { * 备注 */ private String remark; + /** + * 是否删除 + */ + private Boolean deleted; } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderParts/OrderPartsDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderParts/OrderPartsDO.java index 9aa268db5..db717429e 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderParts/OrderPartsDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderParts/OrderPartsDO.java @@ -1,11 +1,6 @@ package com.cf.imes.module.executor.dal.dataobject.orderParts; -import com.cf.imes.framework.mybatis.core.type.JsonLongSetTypeHandler; -import com.cf.imes.framework.organ.core.db.OrganBaseDO; import lombok.*; -import java.util.*; -import java.time.LocalDateTime; -import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.*; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; @@ -83,5 +78,9 @@ public class OrderPartsDO extends BaseDO { * 备注 */ private String remark; + /** + * 是否删除 + */ + private Boolean deleted; } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plate/PlateDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plate/PlateDO.java index 4c0b51746..e60348ecd 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plate/PlateDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plate/PlateDO.java @@ -186,5 +186,9 @@ public class PlateDO extends BaseDO { * 是否作废 */ private Boolean isCancel; + /** + * 是否删除 + */ + private Boolean deleted; } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/process/OrderProcessDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/process/OrderProcessDO.java index e4bf75848..fcad6c1a1 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/process/OrderProcessDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/process/OrderProcessDO.java @@ -55,5 +55,9 @@ public class OrderProcessDO extends BaseDO { * 下一工序 ID */ private Long nextStepId; + /** + * 是否删除 + */ + private Boolean deleted; } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/processStep/ProcessStepDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/processStep/ProcessStepDO.java index 268d0fdf0..2710e6f52 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/processStep/ProcessStepDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/processStep/ProcessStepDO.java @@ -90,5 +90,9 @@ public class ProcessStepDO extends BaseDO { * 工序处理日期 */ private LocalDateTime processDate; + /** + * 是否删除 + */ + private Boolean deleted; } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/rawgoods/RawGoodsDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/rawgoods/RawGoodsDO.java index 7b0318bda..02a04a719 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/rawgoods/RawGoodsDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/rawgoods/RawGoodsDO.java @@ -71,5 +71,9 @@ public class RawGoodsDO extends BaseDO { * 规格 */ private String spec; + /** + * 是否删除 + */ + private Boolean deleted; } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/goods/GoodsMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/goods/GoodsMapper.java index 6ddeef763..3b043cb29 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/goods/GoodsMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/goods/GoodsMapper.java @@ -2,11 +2,13 @@ package com.cf.imes.module.executor.dal.mysql.goods; import java.util.*; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.module.executor.controller.admin.plan.vo.GoodsReqVO; import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO; +import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO; import org.apache.ibatis.annotations.Mapper; import com.cf.imes.module.executor.controller.admin.goods.vo.*; import org.apache.ibatis.annotations.Param; @@ -44,4 +46,15 @@ public interface GoodsMapper extends BaseMapperX { List selectGoodsListByOrderIds(@Param("orderIds") List orderIds); + + // 单个修改删除状态 + default int updateOrderDeleted(Long id, Integer deleted, Long organId) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() + .set(GoodsDO::getDeleted, deleted) + .eq(GoodsDO::getOrderId, id) + .eq(GoodsDO::getOrganId, organId); + if (deleted == 0) + wrapper.eq(GoodsDO::getDeleted, 1); + return update(wrapper); + } } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java index 19d82dd47..703d039d7 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/order/OrderMapper.java @@ -11,11 +11,10 @@ import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPageReqVO; import com.cf.imes.module.executor.controller.admin.plan.vo.OrderRespVOCopy; import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; -import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import java.time.LocalDateTime; +import java.util.Collection; import java.util.List; import java.util.Map; @@ -46,8 +45,8 @@ public interface OrderMapper extends BaseMapperX { .eqIfPresent(OrderDO::getSalesman, reqVO.getSalesman()) .eqIfPresent(OrderDO::getSplitter, reqVO.getSplitter()) .eqIfPresent(OrderDO::getRemark, reqVO.getRemark()) - .eqIfPresent(OrderDO::getDeleted, 0) .eqIfPresent(OrderDO::getOrganId, reqVO.getOrganId()) + .eqIfPresent(OrderDO::getDeleted, reqVO.getDeleted()) .betweenIfPresent(OrderDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(OrderDO::getId)); } @@ -55,58 +54,18 @@ public interface OrderMapper extends BaseMapperX { IPage selectOrderPage(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper wrapper); - default List selectOrderCheck(OrderPageReqVO reqVO) { - MPJLambdaWrapper wrapper = new MPJLambdaWrapper() - .eqIfExists(OrderDO::getParentNo, reqVO.getParentNo()) - .eqIfExists(OrderDO::getOrderType, reqVO.getOrderType()) - .eqIfExists(OrderDO::getOrderSort, reqVO.getOrderSort()) - .eqIfExists(OrderDO::getDataType, reqVO.getDataType()) - .eqIfExists(OrderDO::getStatus, reqVO.getStatus()) - .eqIfExists(OrderDO::getCustomOrderNo, reqVO.getCustomOrderNo()) - .eqIfExists(OrderDO::getCustomer, reqVO.getCustomer()) - .eqIfExists(OrderDO::getAddress, reqVO.getAddress()) - .eqIfExists(OrderDO::getPhoneNumber, reqVO.getPhoneNumber()) - .eqIfExists(OrderDO::getDealer, reqVO.getDealer()) - .eqIfExists(OrderDO::getDealerPhoneNumber, reqVO.getDealerPhoneNumber()) - .eqIfExists(OrderDO::getSalesman, reqVO.getSalesman()) - .eqIfExists(OrderDO::getSplitter, reqVO.getSplitter()) - .eqIfExists(OrderDO::getRemark, reqVO.getRemark()) - .eqIfExists(OrderDO::getDeleted, reqVO.getDeleted()) - .orderByDesc(OrderDO::getId); - if (reqVO.getDeliveryDate() != null && reqVO.getDeliveryDate().length == 2) { - LocalDateTime startTime = reqVO.getDeliveryDate()[0]; - LocalDateTime endTime = reqVO.getDeliveryDate()[1]; - - if (startTime != null) { - wrapper.between(OrderDO::getDeliveryDate, startTime, endTime); - } - } - if (reqVO.getCreateTime() != null && reqVO.getCreateTime().length == 2) { - LocalDateTime startTime = reqVO.getCreateTime()[0]; - LocalDateTime endTime = reqVO.getCreateTime()[1]; - - if (startTime != null) { - wrapper.between(OrderDO::getCreateTime, startTime, endTime); - } - } - return selectList(wrapper); - } Map selectDynamicSqlString(@Param("sqlStr") String sqlStr); - default Long selectCountByOrderNo(@Param("CustomOrderNo") String CustomOrderNo) { - return selectCount(new LambdaQueryWrapper().eq(OrderDO::getCustomOrderNo, CustomOrderNo)); - } - // 条件查找生产单 + // 查找生产单 default List selectOrder(Long id,Long organId) { return selectList(new LambdaQueryWrapperX() .eqIfPresent(OrderDO::getId, id) - .eqIfPresent(OrderDO::getOrganId, organId) - .eq(OrderDO::getDeleted, 0)); + .eqIfPresent(OrderDO::getOrganId, organId)); } - // 修改生产单状态 + // 修改生产单状态 单个 default int updateOrderStatus(Long id, Integer status,Long organId) { return update(new LambdaUpdateWrapper() .set(OrderDO::getStatus, status) @@ -114,13 +73,32 @@ public interface OrderMapper extends BaseMapperX { .eq(OrderDO::getDeleted, 0) .eq(OrderDO::getOrganId, organId)); } - // 查询单个生产单 default OrderDO selectOrderOne(Long id,Long organId) { return selectOne(new LambdaQueryWrapper() - .select(OrderDO::getStatus) .eq(OrderDO::getId, id) - .eq(OrderDO::getDeleted, 0) + .eq(OrderDO::getOrganId, organId)); + } + + // 删除状态为条件,查询生产单 + default OrderDO selectOrderOne(Long id,Long organId,Integer deleted) { + return selectOne(new LambdaQueryWrapper() + .eq(OrderDO::getId, id) + .eq(OrderDO::getOrganId, organId) + .eq(OrderDO::getDeleted, deleted)); + } + // 批量查询生产单 + default List selectOrderList(Collection ids, Long organId) { + return selectList(new LambdaQueryWrapper() + .in(OrderDO::getId, ids) + .eq(OrderDO::getOrganId, organId)); + } + + // 修改删除状态 + default int updateOrderDeleted(Long id, Integer deleted,Long organId) { + return update(new LambdaUpdateWrapper() + .set(OrderDO::getDeleted, deleted) + .eq(OrderDO::getId, id) .eq(OrderDO::getOrganId, organId)); } } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderBody/OrderBodyMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderBody/OrderBodyMapper.java index 7ca631fe0..e2277bc91 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderBody/OrderBodyMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderBody/OrderBodyMapper.java @@ -1,12 +1,18 @@ package com.cf.imes.module.executor.dal.mysql.orderBody; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderModuleRespVO; +import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderBodyRespVO; +import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; import java.io.Serializable; +import java.util.Collection; import java.util.List; /** @@ -21,7 +27,38 @@ public interface OrderBodyMapper extends BaseMapperX { int deleteAllByOrderId(@Param("orderId") Long orderId, @Param("bodyId") Long bodyId); - List selectModuleByOrderId(@Param("orderId") Long orderId); + List selectModuleByOrderId(@Param("orderId") Long orderId, + @Param("organId") Long organId, + @Param("deleted") Integer deleted); List getOrderBodyByOrderId(@Param("orderId") Long orderId, @Param("organId") Long organId); + + // 单个修改删除状态 by orderID + default int updateOrderDeleted(Long id, Integer deleted, Long organId) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() + .set(OrderBodyDO::getDeleted, deleted) + .eq(OrderBodyDO::getOrderId, id) + .eq(OrderBodyDO::getOrganId, organId); + + if (deleted == 0) + wrapper.eq(OrderBodyDO::getDeleted, 1); + return update(wrapper); + } + + // 单个修改删除状态 by id + default int updateDeletedById(Long id, Integer deleted, Long organId) { + return update(new LambdaUpdateWrapper() + .set(OrderBodyDO::getDeleted, deleted) + .eq(OrderBodyDO::getId, id) + .eq(OrderBodyDO::getOrganId, organId)); + } + + // 控制是否删除,进行查询 + default List selectList(Long orderId, Integer deleted, Long organId) { + return selectList(new LambdaUpdateWrapper() + .eq(OrderBodyDO::getOrderId, orderId) + .eq(OrderBodyDO::getDeleted, deleted) + .eq(OrderBodyDO::getOrganId, organId)); + } + } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderGroup/OrderGroupMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderGroup/OrderGroupMapper.java index 025999d08..2d2f2be8a 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderGroup/OrderGroupMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderGroup/OrderGroupMapper.java @@ -1,11 +1,15 @@ package com.cf.imes.module.executor.dal.mysql.orderGroup; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO; import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; +import java.util.Collection; import java.util.List; /** @@ -21,4 +25,22 @@ public interface OrderGroupMapper extends BaseMapperX { // 生产单中包含的加工组 List getOrderGroupByOrderId(@Param("orderId") Long orderId, @Param("organId") Long organId); + // 单个修改删除状态 + default int updateOrderDeleted(Long id, Integer deleted, Long organId) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() + .set(OrderGroupDO::getDeleted, deleted) + .eq(OrderGroupDO::getId, id) + .eq(OrderGroupDO::getOrganId, organId); + if (deleted == 0) + wrapper.eq(OrderGroupDO::getDeleted, 1); + return update(wrapper); + } + + // 单个修改删除状态 by bodyId + default int updateDeletedById(Long id, Integer deleted, Long organId) { + return update(new LambdaUpdateWrapper() + .set(OrderGroupDO::getDeleted, deleted) + .eq(OrderGroupDO::getBodyId, id) + .eq(OrderGroupDO::getOrganId, organId)); + } } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java index d9f8e6a88..47d0f88c0 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderItem/OrderItemMapper.java @@ -26,12 +26,19 @@ import java.util.List; @Mapper public interface OrderItemMapper extends BaseMapperX { - List selectPlatesDetailByOrderId(@Param("orderId")Long orderId, @Param("roomId")Long roomId , @Param("bodyId")Long bodyId , @Param("groupId")Long groupId); + List selectPlatesDetailByOrderId(@Param("orderId")Long orderId, @Param("roomId")Long roomId , + @Param("bodyId")Long bodyId , @Param("groupId")Long groupId , + @Param("groupName")String groupName, @Param("organId") Long organId, + @Param("deleted") Integer deleted); - List selectPartsDetailByOrderId(@Param("orderId")Long orderId, @Param("roomId")Long roomId , @Param("bodyId")Long bodyId ); + List selectPartsDetailByOrderId(@Param("orderId")Long orderId, @Param("roomId")Long roomId , + @Param("bodyId")Long bodyId , @Param("name")String name, + @Param("organId") Long organId, @Param("deleted") Integer deleted); - List selectPartsByOrderId(@Param("orderId") Long orderId); + List selectPartsByOrderId(@Param("orderId") Long orderId, + @Param("organId") Long organId, + @Param("deleted") Integer deleted); List selectPlateList(PlateDetailReqVO reqVO); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderParts/OrderPartsMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderParts/OrderPartsMapper.java index 4397da790..ccf1efb95 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderParts/OrderPartsMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/orderParts/OrderPartsMapper.java @@ -2,6 +2,7 @@ package com.cf.imes.module.executor.dal.mysql.orderParts; import java.util.*; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.cf.imes.framework.common.exception.ServiceException; import com.cf.imes.framework.common.pojo.PageResult; @@ -10,6 +11,7 @@ import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.module.executor.controller.admin.plate.vo.PlateGoodsRespVO; import com.cf.imes.module.executor.controller.admin.plate.vo.PlateRespVO; +import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO; import com.cf.imes.module.executor.dal.dataobject.orderParts.OrderPartsDO; import org.apache.ibatis.annotations.Mapper; import com.cf.imes.module.executor.controller.admin.orderParts.vo.*; @@ -65,4 +67,18 @@ public interface OrderPartsMapper extends BaseMapperX { List selectPartDetail(@Param("orderId") Long orderId, @Param("organId") Long organId);// 配件明细 List selectPartAll(@Param("orderId") Long orderId, @Param("organId") Long organId);// 配件汇总 + + + // 单个修改删除状态 + default int updateOrderDeleted(Long id, Integer deleted, Long organId) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() + .set(OrderPartsDO::getDeleted, deleted) + .eq(OrderPartsDO::getOrderId, id) + .eq(OrderPartsDO::getOrganId, organId); + if (deleted == 0) + wrapper.eq(OrderPartsDO::getDeleted, 1); + return update(wrapper); + } + + void updateDeletedById(@Param("bodyId") Long bodyId, @Param("deleted") Integer deleted, @Param("organId") Long organId); } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateGoodMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateGoodMapper.java index c589de2cc..a2ea240fa 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateGoodMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateGoodMapper.java @@ -1,6 +1,8 @@ package com.cf.imes.module.executor.dal.mysql.plate; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.cf.imes.module.executor.dal.dataobject.plate.PlateGoodDO; import org.apache.ibatis.annotations.Mapper; @@ -12,5 +14,12 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface PlateGoodMapper extends BaseMapperX { + // 查询单个生产单中信息 + default PlateGoodDO selectGoodOne(Long id, Long organId) { + return selectOne(new LambdaQueryWrapper() + .eq(PlateGoodDO::getGoodsId, id) + .eq(PlateGoodDO::getDeleted, 0) + .eq(PlateGoodDO::getOrganId, organId)); + } } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java index d55bc9eab..ac228e66e 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/plate/PlateMapper.java @@ -3,6 +3,7 @@ package com.cf.imes.module.executor.dal.mysql.plate; import java.util.*; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.cf.imes.framework.common.exception.ServiceException; @@ -11,6 +12,8 @@ import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.module.executor.controller.admin.plan.vo.*; +import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO; +import com.cf.imes.module.executor.dal.dataobject.orderParts.OrderPartsDO; import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO; import org.apache.ibatis.annotations.Mapper; import com.cf.imes.module.executor.controller.admin.plate.vo.*; @@ -69,23 +72,6 @@ public interface PlateMapper extends BaseMapperX { List selectPlateList(Long planId); - default PlateImportRespVO importPlateList(List importPlates , Long orderId) { - PlateImportRespVO respVO = PlateImportRespVO.builder().createPlates(new ArrayList()) - .updatePlates(new ArrayList<>()).failurePlates(new LinkedHashMap<>()).build(); - importPlates.forEach(plateSaveReqVO -> { - try { - PlateDO plateDO = BeanUtils.toBean(plateSaveReqVO, PlateDO.class).setOrderId(orderId); - insert(plateDO); - plateSaveReqVO.setId(plateDO.getId()); - respVO.getCreatePlates().add(plateSaveReqVO); - } catch (ServiceException ex) { - respVO.getFailurePlates().put(plateSaveReqVO.getName(), ex.getMessage()); - } - }); - System.err.println("PlateImportRespVO " + respVO); - return respVO; - } - IPage selectProductList(@Param("page") IPage page , @Param("orderId")Long orderId, @Param("roomId")Long roomId , @Param("bodyId")Long bodyId); Set selectBatchOrderIdsAndGoodsIds(@Param("itemList") List itemList); @@ -98,6 +84,21 @@ public interface PlateMapper extends BaseMapperX { List selectPlateDetialListByIds(@Param("orderIds") List orderIds); + List selectPlateGoodsList(@Param("orderId") Long orderId, @Param("organId") Long organId); // 明细 - List selectPlateGoodsList(@Param("orderId") Long orderId, @Param("organId") Long organId); + List selectPlateGoodsListSummary(@Param("orderId") Long orderId, @Param("organId") Long organId); // 汇总 + + + // 单个修改删除状态 + default int updateOrderDeleted(Long id, Integer deleted, Long organId) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() + .set(PlateDO::getDeleted, deleted) + .eq(PlateDO::getOrderId, id) + .eq(PlateDO::getOrganId, organId); + if (deleted == 0) + wrapper.eq(PlateDO::getDeleted, 1); + return update(wrapper); + } + + void updateDeletedById(@Param("bodyId") Long bodyId, @Param("deleted") Integer deleted, @Param("organId") Long organId); } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/process/OrderProcessMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/process/OrderProcessMapper.java index 6ee8749ff..170b23767 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/process/OrderProcessMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/process/OrderProcessMapper.java @@ -1,11 +1,14 @@ package com.cf.imes.module.executor.dal.mysql.process; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; import com.cf.imes.module.executor.dal.dataobject.process.OrderProcessDO; +import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO; import org.apache.ibatis.annotations.Mapper; +import java.util.Collection; + /** * 生产单工序 Mapper * @@ -21,4 +24,16 @@ public interface OrderProcessMapper extends BaseMapperX { .eq(OrderProcessDO::getOrganId, organId) .eq(OrderProcessDO::getDeleted, 0)) > 0; } + + // 批量修改删除状态 + default int updateOrderDeleted(Long id, Integer deleted, Long organId) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() + .set(OrderProcessDO::getDeleted, deleted) + .eq(OrderProcessDO::getOrderId, id) + .eq(OrderProcessDO::getOrganId, organId); + + if (deleted == 0) + wrapper.eq(OrderProcessDO::getDeleted, 1); + return update(wrapper); + } } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/processStep/ProcessStepMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/processStep/ProcessStepMapper.java index 1fbd73c69..882c5b7a5 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/processStep/ProcessStepMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/processStep/ProcessStepMapper.java @@ -2,9 +2,11 @@ package com.cf.imes.module.executor.dal.mysql.processStep; import java.util.*; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; +import com.cf.imes.module.executor.dal.dataobject.process.OrderProcessDO; import com.cf.imes.module.executor.dal.dataobject.processStep.ProcessStepDO; import org.apache.ibatis.annotations.Mapper; import com.cf.imes.module.executor.controller.admin.processStep.vo.*; @@ -19,7 +21,7 @@ public interface ProcessStepMapper extends BaseMapperX { default PageResult selectPage(ProcessStepPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(ProcessStepDO::getOrderId, reqVO.getOrderNo()) + .eqIfPresent(ProcessStepDO::getOrderId, reqVO.getOrderId()) .betweenIfPresent(ProcessStepDO::getFinishTime, reqVO.getFinishTime()) .eqIfPresent(ProcessStepDO::getStatus, reqVO.getStatus()) .eqIfPresent(ProcessStepDO::getType, reqVO.getType()) @@ -37,4 +39,15 @@ public interface ProcessStepMapper extends BaseMapperX { .orderByDesc(ProcessStepDO::getId)); } + + // 批量修改删除状态 + default int updateOrderDeleted(Long id, Integer deleted, Long organId) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() + .set(ProcessStepDO::getDeleted, deleted) + .eq(ProcessStepDO::getOrderId, id) + .eq(ProcessStepDO::getOrganId, organId); + if (deleted == 0) + wrapper.eq(ProcessStepDO::getDeleted, 1); + return update(wrapper); + } } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/rawgoods/RawGoodsMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/rawgoods/RawGoodsMapper.java index e2c5acefc..86da65d2c 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/rawgoods/RawGoodsMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/rawgoods/RawGoodsMapper.java @@ -2,6 +2,7 @@ package com.cf.imes.module.executor.dal.mysql.rawgoods; import java.util.*; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; @@ -9,6 +10,7 @@ import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.module.executor.controller.admin.rawgoods.vo.RawGoodsImportRespVO; import com.cf.imes.module.executor.controller.admin.rawgoods.vo.RawGoodsPageReqVO; import com.cf.imes.module.executor.controller.admin.rawgoods.vo.RawGoodsSaveReqVO; +import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO; import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO; import org.apache.ibatis.annotations.Mapper; @@ -35,21 +37,15 @@ public interface RawGoodsMapper extends BaseMapperX { .orderByDesc(RawGoodsDO::getId)); } - default RawGoodsImportRespVO importRawGoodsList(List importRawGoods) { - RawGoodsImportRespVO respVO = RawGoodsImportRespVO.builder().createRawGoods(new ArrayList<>()) - .updateRawGoods(new ArrayList<>()).failureRawGoods(new LinkedHashMap<>()).build(); - importRawGoods.forEach(rawGoodsSaveReqVO -> { - try{ - insert(BeanUtils.toBean(rawGoodsSaveReqVO, RawGoodsDO.class)); - Long id = rawGoodsSaveReqVO.getId(); - respVO.getCreateRawGoods().add(rawGoodsSaveReqVO.getGoodsName()); - }catch (Exception e){ - e.printStackTrace(); - respVO.getFailureRawGoods().put(rawGoodsSaveReqVO.getGoodsName(), e.getMessage()); - } - }); - System.err.println("RawGoodsImportRespVO " + respVO); - return respVO; + // 单个修改删除状态 + default int updateOrderDeleted(Long id, Integer deleted, Long organId) { + LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() + .set(RawGoodsDO::getDeleted, deleted) + .eq(RawGoodsDO::getOrderId, id) + .eq(RawGoodsDO::getOrganId, organId); + if (deleted == 0) + wrapper.eq(RawGoodsDO::getDeleted, 1); + return update(wrapper); } } \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/remainplaten/RemainPlateMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/remainplaten/RemainPlateMapper.java index 89592a2d0..d068fcf8e 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/remainplaten/RemainPlateMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/remainplaten/RemainPlateMapper.java @@ -1,13 +1,16 @@ package com.cf.imes.module.executor.dal.mysql.remainplaten; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 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.executor.controller.admin.plan.saveOptimize.OptimizeRemainPlate; import com.cf.imes.module.executor.controller.admin.remainplate.vo.RemainPlatePageReqVO; +import com.cf.imes.module.executor.dal.dataobject.processStep.ProcessStepDO; import com.cf.imes.module.executor.dal.dataobject.remainplaten.RemainPlateDO; import org.apache.ibatis.annotations.Mapper; +import java.util.Collection; import java.util.List; @Mapper @@ -36,14 +39,18 @@ public interface RemainPlateMapper extends BaseMapperX { } - - - default List selectByPlanId(Long planId, Long userOrganId) { return selectList( new LambdaQueryWrapperX() .eq(RemainPlateDO::getPlanId, planId) .eq(RemainPlateDO::getOrganId, userOrganId)); + } + // 批量修改删除状态 + default int updateOrderDeleted(Collection ids, Integer deleted, Long organId) { + return update(new LambdaUpdateWrapper() + .set(RemainPlateDO::getDeleted, deleted) + .in(RemainPlateDO::getId, ids) + .eq(RemainPlateDO::getOrganId, organId)); } } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java index fb6928ffe..e71cb1bb9 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java @@ -91,7 +91,7 @@ public class OrderInputProcessor { * @param orderModuleExtraDOS * @param itemDOS */ - @Transactional + @Transactional(rollbackFor = Exception.class) public Long batchInsert(Collection rawGoodsDOS, Collection orderBodyDOS, Collection orderGroupDOS, Collection orderPartsDOS, Collection plateDOS, Collection orderModuleExtraDOS, diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java index 1b7473ecc..50aaf4492 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderService.java @@ -45,11 +45,18 @@ public interface OrderService { void updateOrder(@Valid OrderSaveReqVO updateReqVO); /** - * 删除生产单表 order_{N} + * 作废生产单表 order_{N} * - * @param orderIds 编号组 + * @param orderId 编号组 */ - void deleteOrder(Collection orderIds); + void deleteOrder(Long orderId); + + /** + * 还原生产单表 order_{N} + * + * @param orderId 编号组 + */ + void restoreOrder(Long orderId); /** * 获得生产单表 order_{N} @@ -57,7 +64,7 @@ public interface OrderService { * @param id 编号 * @return 生产单表 order_{N} */ - OrderDO getOrder(Long id); + OrderDO getOrder(Long id ); /** * 获得生产单表 order_{N}分页 @@ -67,19 +74,6 @@ public interface OrderService { */ PageResult getOrderPage(OrderPageReqVO pageReqVO); - /** - * 清除生产单表 order_{N} - * 清除还没有清除生产单与工序相关、生产单与模块相关、生产单与包裹、余料、补板、相关 - * @param orderId 编号 - */ - void cleanOrder(Long orderId); - - /** - * @param pageReqVO: 查询信息 - * @return List - */ - List getAllOrderCheck(OrderPageReqVO pageReqVO); - /** * @param orderId: 生产单Id * @return List @@ -99,7 +93,7 @@ public interface OrderService { * @return List * 需要修改返回值 */ - List getPlatesDetail(Long orderId, Long roomId , Long bodyId , Long groupId); + List getPlatesDetail(Long orderId, Long roomId , Long bodyId , Long groupId, String groupName); /** * @param orderId: 生产单id @@ -108,7 +102,7 @@ public interface OrderService { * @return List * 需要修改返回值 */ - List getPartsDetail(Long orderId, Long roomId , Long bodyId); + List getPartsDetail(Long orderId, Long roomId , Long bodyId , String name); /** * 删除柜体 @@ -154,15 +148,10 @@ public interface OrderService { */ void exportTemplate(HttpServletResponse response, String value); - /** - * 打印/导出数据获取 (多文件) - */ - void getPrintDataZip(OrderPageReqVO orderPageReqVO, String type,HttpServletResponse response) throws IOException; - /** * 打印/导出数据获取 (单文件) */ - void getPrintData(Long orderId, String type,HttpServletResponse response) throws IOException; + Map getPrintDataMap(Long orderId, String type,HttpServletResponse response) ; default String getSavePath() { ApplicationHome applicationHome = new ApplicationHome(this.getClass()); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java index 4114db3e4..7c0a8041f 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderServiceImpl.java @@ -1,13 +1,8 @@ package com.cf.imes.module.executor.service.order; -import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import cn.smallbun.screw.core.util.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; -import com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants; -import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; import com.cf.imes.framework.common.pojo.PageParam; import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator; import com.cf.imes.framework.organ.core.context.OrganContextHolder; @@ -20,7 +15,6 @@ import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO; import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO; import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO; import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO; -import com.cf.imes.module.executor.dal.dataobject.orderModuleExtra.OrderModuleExtraDO; import com.cf.imes.module.executor.dal.dataobject.orderParts.OrderPartsDO; import com.cf.imes.module.executor.dal.dataobject.ordermodel.OrderModelDO; import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO; @@ -30,34 +24,26 @@ import com.cf.imes.module.executor.dal.mysql.goods.GoodsMapper; import com.cf.imes.module.executor.dal.mysql.orderBody.OrderBodyMapper; import com.cf.imes.module.executor.dal.mysql.orderGroup.OrderGroupMapper; import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemMapper; -import com.cf.imes.module.executor.dal.mysql.orderModuleExtra.OrderModuleExtraMapper; import com.cf.imes.module.executor.dal.mysql.orderParts.OrderPartsMapper; import com.cf.imes.module.executor.dal.mysql.plate.PlateGoodMapper; import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper; +import com.cf.imes.module.executor.dal.mysql.process.OrderProcessMapper; +import com.cf.imes.module.executor.dal.mysql.processStep.ProcessStepMapper; import com.cf.imes.module.executor.dal.mysql.rawgoods.RawGoodsMapper; +import com.cf.imes.module.executor.enums.OrderDeletedEnum; import com.cf.imes.module.executor.enums.OrderStatusEnum; import com.cf.imes.module.executor.util.ExcelWriterUtil; import com.cf.imes.module.executor.util.deviseData.dataTwo.PlateDetail; -import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiDataProduction; -import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiTypeRealize; import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.ExcelTypeRealize; import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPlateImportExcelVO; -import com.cf.imes.module.system.api.application.ApplicationApi; import com.cf.imes.module.system.api.dict.DictDataApi; -import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO; import com.cf.imes.module.system.api.user.AdminUserApi; -import com.cf.imes.module.system.enums.DictTypeConstants; -import com.cf.imes.module.system.enums.ErrorCodeConstants; -import org.springframework.boot.system.ApplicationHome; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import org.springframework.transaction.annotation.Transactional; -import org.springframework.transaction.interceptor.TransactionAspectSupport; -import org.springframework.util.ResourceUtils; import org.springframework.validation.annotation.Validated; import com.cf.imes.module.executor.dal.dataobject.order.OrderDO; @@ -78,7 +64,6 @@ import java.time.format.DateTimeParseException; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.zip.ZipOutputStream; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.cf.imes.module.executor.enums.ErrorCodeConstants.*; @@ -125,21 +110,9 @@ public class OrderServiceImpl implements OrderService { @Resource private AdminUserApi adminUserApi; - @Resource - private OrderModuleExtraMapper orderModuleExtraMapper; - - @Resource - private ApiTypeRealize apiTypeRealize; - @Resource private OrderInputProcessor orderInputProcessor; - @Resource - private ApplicationApi applicationApi; - - @Resource - private ApiDataProduction apiOrderService; - @Resource private DictDataApi dictDataApi; @@ -152,6 +125,12 @@ public class OrderServiceImpl implements OrderService { @Resource private ExcelTypeRealize excelTypeRealize; + @Resource + private OrderProcessMapper orderProcessMapper; + + @Resource + private ProcessStepMapper processStepMapper; + private static final int DEFAULT_DAYS_TO_ADD = 30; private static final int RANDOM_NUMBER_MAX = 10; @@ -176,30 +155,75 @@ public class OrderServiceImpl implements OrderService { @Override public void updateOrder(OrderSaveReqVO updateReqVO) { // 校验存在 - validateOrderExists(updateReqVO.getId()); + validateOrderExists(updateReqVO.getId(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + + //校验手机号是否合法 + validatePhoneNumber(updateReqVO.getPhoneNumber()); + validatePhoneNumber(updateReqVO.getDealerPhoneNumber()); + //验证自定义单号是否存在,业务员、拆单员是否存在 + validateOrderImportForCreateOrUpdate(updateReqVO.getCustomOrderNo(), updateReqVO.getSalesman(), updateReqVO.getSplitter()); + // 更新 OrderDO updateObj = BeanUtils.toBean(updateReqVO, OrderDO.class); orderMapper.updateById(updateObj); } @Override - public void deleteOrder(Collection orderIds) { + @Transactional(rollbackFor = Exception.class) + public void deleteOrder(Long orderId) { // 校验存在 - if (orderMapper.selectBatchIds(orderIds).size() != orderIds.size()) + OrderDO orderDO = orderMapper.selectOrderOne(orderId, SecurityFrameworkUtils.getLoginUser().getOrganId(), OrderDeletedEnum.NOT_DELETED.getStatus()); + if (orderDO == null) throw exception(ORDER_NOT_EXISTS); - // 删除 - orderMapper.deleteBatchIds(orderIds); + // 状态排除 + if (orderDO.getStatus() != OrderStatusEnum.EMPTY.getStatus() && + orderDO.getStatus() != OrderStatusEnum.NEW_ORDER.getStatus() && + orderDO.getStatus() != OrderStatusEnum.NO_SORT.getStatus()) + throw exception(ORDER_NOT_CANCEL); + + // 作废 生产单表,body,group,goods,parts,plate,raw_goods,order_process,order_process_step + orderMapper.updateOrderDeleted(orderId, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + orderBodyMapper.updateOrderDeleted(orderId, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + orderGroupMapper.updateOrderDeleted(orderId, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + goodsMapper.updateOrderDeleted(orderId, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + orderPartsMapper.updateOrderDeleted(orderId, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + plateMapper.updateOrderDeleted(orderId, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + rawGoodsMapper.updateOrderDeleted(orderId, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + orderProcessMapper.updateOrderDeleted(orderId, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + processStepMapper.updateOrderDeleted(orderId, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); } - private void validateOrderExists(Long id) { - if (orderMapper.selectById(id) == null) { + @Override + @Transactional(rollbackFor = Exception.class) + public void restoreOrder(Long orderId) { + // 校验存在 + OrderDO orderDO = orderMapper.selectOrderOne(orderId, SecurityFrameworkUtils.getLoginUser().getOrganId(), OrderDeletedEnum.DELETED.getStatus()); + if (orderDO == null) + throw exception(ORDER_NOT_EXISTS); + + // 作废 生产单表,body,group,goods,parts,plate,raw_goods + orderMapper.updateOrderDeleted(orderId, OrderDeletedEnum.NOT_DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + orderBodyMapper.updateOrderDeleted(orderId, OrderDeletedEnum.NOT_DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + orderGroupMapper.updateOrderDeleted(orderId, OrderDeletedEnum.NOT_DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + goodsMapper.updateOrderDeleted(orderId, OrderDeletedEnum.NOT_DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + orderPartsMapper.updateOrderDeleted(orderId, OrderDeletedEnum.NOT_DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + plateMapper.updateOrderDeleted(orderId, OrderDeletedEnum.NOT_DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + orderPartsMapper.updateOrderDeleted(orderId, OrderDeletedEnum.NOT_DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + rawGoodsMapper.updateOrderDeleted(orderId, OrderDeletedEnum.NOT_DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + orderProcessMapper.updateOrderDeleted(orderId, OrderDeletedEnum.NOT_DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + processStepMapper.updateOrderDeleted(orderId, OrderDeletedEnum.NOT_DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + ; + } + + private void validateOrderExists(Long id, Long organId) { + if (orderMapper.selectOrderOne(id, organId) == null) { throw exception(ORDER_NOT_EXISTS); } } @Override public OrderDO getOrder(Long id) { - return orderMapper.selectById(id); + return orderMapper.selectOrderOne(id, SecurityFrameworkUtils.getLoginUser().getOrganId()); } @Override @@ -207,44 +231,43 @@ public class OrderServiceImpl implements OrderService { return orderMapper.selectPage(pageReqVO.setOrganId(SecurityFrameworkUtils.getLoginUser().getOrganId())); } - @Override - @Transactional(rollbackFor = Exception.class) - public void cleanOrder(Long orderId) { + private Integer getOrderDeleted(Long orderId) { // (包含判断存在) + OrderDO orderDO = orderMapper.selectOrderOne(orderId, SecurityFrameworkUtils.getLoginUser().getOrganId()); // 校验存在 - validateOrderExists(orderId); -// 清除 - orderBodyMapper.delete(new LambdaQueryWrapper().eq(OrderBodyDO::getOrderId, orderId)); - orderItemMapper.delete(new LambdaQueryWrapper().eq(OrderItemDO::getOrderId, orderId)); - orderGroupMapper.delete(new LambdaQueryWrapper().eq(OrderGroupDO::getOrderId, orderId)); - orderModuleExtraMapper.delete(new LambdaQueryWrapper().eq(OrderModuleExtraDO::getOrderId, orderId)); - rawGoodsMapper.delete(new LambdaQueryWrapper().eq(RawGoodsDO::getOrderId, orderId)); - orderPartsMapper.delete(new LambdaQueryWrapper().eq(OrderPartsDO::getOrderId, orderId)); - plateMapper.delete(new LambdaQueryWrapper().eq(PlateDO::getOrderId, orderId)); - } - - @Override - public List getAllOrderCheck(OrderPageReqVO pageReqVO) { - return orderMapper.selectOrderCheck(pageReqVO); + if (orderDO == null) { + throw exception(ORDER_NOT_EXISTS); + } + // 判断生产单是否删除 + Integer deleted; + if (OrderDeletedEnum.NOT_DELETED.equals(orderDO.getDeleted() == false ? 0 : 1)) + deleted = OrderDeletedEnum.NOT_DELETED.getStatus(); + else + deleted = OrderDeletedEnum.DELETED.getStatus(); + System.out.println(" deleted " + deleted); + return deleted; } @Override public List getOrderBody(Long orderId) { - // 校验存在 - validateOrderExists(orderId); - List orderBodyRespVOList = BeanUtils.toBean(orderBodyMapper.selectList(new LambdaQueryWrapper() - .eq(OrderBodyDO::getOrderId, orderId) - .eq(OrderBodyDO::getOrganId, OrganContextHolder.getOrganId())), OrderBodyRespVO.class); + // 判断生产单是否删除 + Integer deleted = getOrderDeleted(orderId); + + + List orderBodyRespVOList = BeanUtils.toBean( + orderBodyMapper.selectList(orderId, deleted, SecurityFrameworkUtils.getLoginUser().getOrganId()), OrderBodyRespVO.class); return orderBodyRespVOList; } @Override public Map> getModule(Long orderId) { - // 校验存在 - validateOrderExists(orderId); + // 判断生产单是否删除 (包含判断存在) + Integer deleted = getOrderDeleted(orderId); // 模块信息 - List orderModuleRespVOList = orderBodyMapper.selectModuleByOrderId(orderId); // 模块信息 + List orderModuleRespVOList = orderBodyMapper.selectModuleByOrderId(orderId, + SecurityFrameworkUtils.getLoginUser().getOrganId(),deleted); // 模块信息 // 配件 - List orderItemDOS = orderItemMapper.selectPartsByOrderId(orderId); + List orderItemDOS = orderItemMapper.selectPartsByOrderId(orderId, + SecurityFrameworkUtils.getLoginUser().getOrganId(),deleted); Map> map = new HashMap<>(); map.put("module", orderModuleRespVOList); @@ -253,8 +276,11 @@ public class OrderServiceImpl implements OrderService { } @Override - public List getPlatesDetail(Long orderId, Long roomId, Long bodyId, Long groupId) { - List orderDetail = orderItemMapper.selectPlatesDetailByOrderId(orderId, roomId, bodyId, groupId); + public List getPlatesDetail(Long orderId, Long roomId, Long bodyId, Long groupId, String groupName) { + // 判断生产单是否删除 (包含判断存在) + Integer deleted = getOrderDeleted(orderId); + List orderDetail = orderItemMapper.selectPlatesDetailByOrderId(orderId, roomId, bodyId, groupId, + groupName, SecurityFrameworkUtils.getLoginUser().getOrganId(), deleted); List platesDetailReqVOS = new ArrayList<>(); orderDetail.forEach(orderPlatesDetailRespVO -> { OrderPlatesDetailReqVO orderPlatesDetailReqVO = BeanUtils.toBean(orderPlatesDetailRespVO, OrderPlatesDetailReqVO.class) @@ -268,144 +294,48 @@ public class OrderServiceImpl implements OrderService { } @Override - public List getPartsDetail(Long orderId, Long roomId, Long bodyId) { - List orderDetail = orderItemMapper.selectPartsDetailByOrderId(orderId, roomId, bodyId); + public List getPartsDetail(Long orderId, Long roomId, Long bodyId, String name) { + // 判断生产单是否删除 (包含判断存在) + Integer deleted = getOrderDeleted(orderId); + List orderDetail = orderItemMapper.selectPartsDetailByOrderId(orderId, roomId, bodyId, name, + SecurityFrameworkUtils.getLoginUser().getOrganId(),deleted); return orderDetail; } @Override public void deleteBodyByOrder(Long orderId, Collection bodyIds) { - validateOrderExists(orderId); + validateOrderExists(orderId, OrganContextHolder.getOrganId()); // 校验生产单的状态 1 为新单状态,才可以修改 - if (orderMapper.selectOrderOne(orderId, OrganContextHolder.getOrganId()).getStatus() != + if (orderMapper.selectOrderOne(orderId, SecurityFrameworkUtils.getLoginUser().getOrganId()).getStatus() != OrderStatusEnum.NEW_ORDER.getStatus()) { throw exception(ORDER_STATUS_ERROR); } if (CollectionUtils.isNotEmpty(bodyIds)) { bodyIds.forEach(bodyId -> { // 校验存在 - validateOrderBodyExists(orderId, bodyId, OrganContextHolder.getOrganId()); + validateOrderBodyExists(orderId, bodyId, SecurityFrameworkUtils.getLoginUser().getOrganId()); // 删除 - orderBodyMapper.deleteAllByOrderId(orderId, bodyId); + // orderBodyMapper.deleteAllByOrderId(orderId, bodyId); + orderBodyMapper.updateDeletedById(bodyId, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + orderGroupMapper.updateDeletedById(bodyId, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + plateMapper.updateDeletedById(bodyId, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); + orderPartsMapper.updateDeletedById(bodyId, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); }); } } @Override public List getBody(Long orderId) { - return orderBodyMapper.selectList(new LambdaQueryWrapper().eq(OrderBodyDO::getOrderId, orderId)); + return orderBodyMapper.selectList(new LambdaQueryWrapper() + .eq(OrderBodyDO::getOrderId, orderId) + .eq(OrderBodyDO::getDeleted, false) + .eq(OrderBodyDO::getOrganId, SecurityFrameworkUtils.getLoginUser().getOrganId())); } @Override @Transactional(rollbackFor = Exception.class) public Long importApiData(Map> listMap) { -//// 获取token -// Long organId = SecurityFrameworkUtils.getLoginUser().getOrganId(); -// JSONObject app = applicationApi.getApplicationByOrganId(organId); -// String appId = app.getString("appId"); -// String appSecret = app.getString("appSecret"); -// -// JSONObject json = apiOrderService.getApiTokenMessage(appId, appSecret); -// if (!json.getString("err_msg").equals("success")) { -// throw exception(APP_TOKEN_ERROR); -// } -// String token = json.getJSONObject("info").getString("access_token"); -//// 获取板件生产数据信息 -// JSONObject jsonPlatesData = new JSONObject(); -// jsonPlatesData.put("order_no", orderNo);//生产单号需要传入赋值 -// jsonPlatesData.put("format", "json"); -// JSONObject dataPlates = apiOrderService.getApiOrderMessage(token, jsonPlatesData); -// if (!dataPlates.getString("err_code").equals("0")) { -// throw exception(PLATE_PLAN_DATA_ERROR); -// } -//// 获取配件信息 分页获取 -// JSONObject jsonParts = new JSONObject(); -// jsonParts.put("curr_page", 1); -// jsonParts.put("page_count", PARTS_PAGE_MAX); -// jsonParts.put("order_no", orderNo); -// JSONObject parts = apiOrderService.getApiOrderPartsMessage(token, jsonParts); -// if (!parts.getString("err_code").equals("0")) { -// throw exception(PARTS_DATA_ERROR); -// } -// JSONObject dataParts = new JSONObject(); -// for (int i = 1; i <= parts.getJSONObject("value").getInteger("PageCount"); i++) { -// jsonParts.put("curr_page", i); -// JSONObject value = apiOrderService.getApiOrderPartsMessage(token, jsonParts); -// dataParts = mergeJSONObjects(dataParts, value); -// } -//// 柜体信息转换 -// JSONObject jsonBody = new JSONObject(); -// jsonBody.put("curr_page", 1); -// jsonBody.put("page_count", PARTS_PAGE_MAX); -// jsonBody.put("order_no", orderNo); -// JSONObject body = apiOrderService.getApiOrderBodyMessage(token, jsonBody); -// if (!body.getString("err_code").equals("0")) { -// throw exception(BODY_DATA_ERROR); -// } -// JSONObject dataBody = new JSONObject(); -// for (int i = 1; i <= body.getJSONObject("value").getInteger("PageCount"); i++) { -// jsonBody.put("curr_page", i); -// JSONObject value = apiOrderService.getApiOrderBodyMessage(token, jsonBody); -// dataBody = mergeJSONObjects(dataBody, value); -// } -//// 商品信息转换 -// JSONObject jsonGoods = new JSONObject(); -// jsonGoods.put("curr_page", 1); -// jsonGoods.put("page_count", PARTS_PAGE_MAX); -// jsonGoods.put("order_no", orderNo); -// JSONObject goods = apiOrderService.getApiOrderGoodsMessage(token, jsonGoods); -// if (!goods.getString("err_code").equals("0")) { -// throw exception(GOODS_DATA_ERROR); -// } -// JSONObject dataGoods = new JSONObject(); -// for (int i = 1; i <= goods.getJSONObject("value").getInteger("PageCount"); i++) { -// jsonGoods.put("curr_page", i); -// JSONObject value = apiOrderService.getApiOrderGoodsMessage(token, jsonGoods); -// dataGoods = mergeJSONObjects(dataGoods, value); -// } -//// 板材明细信息转换 -// JSONObject jsonPlates = new JSONObject(); -// jsonPlates.put("curr_page", 1); -// jsonPlates.put("page_count", PARTS_PAGE_MAX); -// jsonPlates.put("order_no", orderNo); -// JSONObject plates = apiOrderService.getApiBlocksDataMessage(token, jsonPlates); -// if (!plates.getString("err_code").equals("0")) { -// throw exception(PLATE_DATA_ERROR); -// } -// JSONObject plate = new JSONObject(); -// for (int i = 1; i <= plates.getJSONObject("value").getInteger("PageCount"); i++) { -// jsonPlates.put("curr_page", i); -// JSONObject value = apiOrderService.getApiBlocksDataMessage(token, jsonPlates); -// plate = mergeJSONObjects(plate, value); -// } -//// 加工组信息转换 -// JSONObject jsonModule = new JSONObject(); -// jsonModule.put("order_no", orderNo); -// JSONObject dataModule = apiOrderService.getApiModuleTypeDataMessage(token, jsonModule); -// -//// 板材数据信息转换 -// JSONObject jsonBlocks = new JSONObject(); -// jsonBlocks.put("curr_page", 1); -// jsonBlocks.put("page_count", PARTS_PAGE_MAX); -// jsonBlocks.put("order_no", orderNo); -// JSONObject blocks = apiOrderService.getApiBlocksMessage(token, jsonBlocks); -// if (!blocks.getString("err_code").equals("0")) { -// throw exception(PLATE_DATA_ERROR); -// } -// JSONObject block = new JSONObject(); -// for (int i = 1; i <= blocks.getJSONObject("value").getInteger("PageCount"); i++) { -// jsonBlocks.put("curr_page", i); -// JSONObject value = apiOrderService.getApiBlocksMessage(token, jsonBlocks); -// block = mergeJSONObjects(block, value); -// } -// Map> listMap = apiTypeRealize.apiPlateDataChange( -// dataPlates.getJSONObject("value"),//板件生产信息 -// dataParts,// 配件信息 -// dataBody, // 柜体信息 -// dataGoods, // 商品信息 -// plate, // 板件信息 -// dataModule,// 加工组信息 -// block); // 板材数据 + List order = (List) listMap.get("orderDO"); List goodsDO = (List) listMap.get("goodsDO"); List rawGoodsDO = (List) listMap.get("rawGoodsDO"); @@ -432,7 +362,8 @@ public class OrderServiceImpl implements OrderService { public List getGoodsList(Long orderId) { return goodsMapper.selectList(new LambdaQueryWrapper() .eq(GoodsDO::getOrderId, orderId) - .eq(GoodsDO::getDeleted, false)); + .eq(GoodsDO::getDeleted, false) + .eq(GoodsDO::getOrganId, SecurityFrameworkUtils.getLoginUser().getOrganId())); } private Map> getPlateGoods(List goodsLists) { @@ -441,7 +372,7 @@ public class OrderServiceImpl implements OrderService { for (GoodsDO goodsDO : goodsLists) { if (goodsDO.getGoodsId() != null) { // 有goodsId - PlateGoodDO plateGoodDO = plateGoodMapper.selectOne(PlateGoodDO::getGoodsId, goodsDO.getGoodsId()); + PlateGoodDO plateGoodDO = plateGoodMapper.selectGoodOne(goodsDO.getGoodsId(), SecurityFrameworkUtils.getLoginUser().getOrganId()); if (plateGoodDO != null) {//存在 goodsDO.setGoodsId(plateGoodDO.getId()); } @@ -630,81 +561,43 @@ public class OrderServiceImpl implements OrderService { } @Override - public void getPrintDataZip(OrderPageReqVO orderPageReqVO, String type, HttpServletResponse response) throws IOException { - orderPageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); - PageResult pageResult = orderMapper.selectPage(orderPageReqVO.setOrganId(SecurityFrameworkUtils.getLoginUser().getOrganId())); - List orderDOList = pageResult.getList(); - if (orderDOList == null || orderDOList.size() < 0) { - ExcelWriterUtil.writeErr(response, "生产单查找结果为空", getSavePath() + "\\" + "错误文件.xlsx"); - } - - Map map = new HashMap(); - for (OrderDO orderDO : orderDOList) { - map.putAll(getDataByOrderIdAndType(orderDO, type)); - } - ExcelWriterUtil.exportExcelZip(response, map, getSavePath() + "\\" + type, type); - } - - @Override - public void getPrintData(Long orderId, String type, HttpServletResponse response) throws IOException { + public Map getPrintDataMap(Long orderId, String type, HttpServletResponse response) { // 查询生产单 - OrderDO orderDO = orderMapper.selectById(orderId); + OrderDO orderDO = orderMapper.selectOrderOne(orderId, OrganContextHolder.getOrganId()); if (orderDO == null) { - ExcelWriterUtil.writeErr(response, "生产单查找结果为空", getSavePath() + "\\" + "错误文件.xlsx"); + throw exception(ORDER_NOT_EXISTS); } - - Map map = getDataByOrderIdAndType(orderId, type); - ExcelWriterUtil.exportExcel(response, orderDO, (List) map.get(orderDO.getId()), getSavePath(), type); + return getDataByOrderIdAndType(orderDO, type); } // 根据ype 与 orderId获取相关信息 - public Map getDataByOrderIdAndType(OrderDO orderDO, String type) { - Map map = new HashMap<>(); + public Map getDataByOrderIdAndType(OrderDO orderDO, String type) { + Map map = new HashMap<>(); + map.put("orderDO", orderDO); switch (type) { case "配件明细1-模板.xlsx":// 配件明细 - map.put(orderDO, orderPartsMapper.selectPartDetail(orderDO.getId(), SecurityFrameworkUtils.getLoginUser().getOrganId())); + map.put("partsListDetail", orderPartsMapper.selectPartDetail(orderDO.getId(), SecurityFrameworkUtils.getLoginUser().getOrganId())); + map.put("table", "SheetJS Table Export
配件明细单
生产单号:自定单号:经销商:订单日期
客户:收货电话:收货地址:收货日期:
备注:
房间名数据源柜体名表数据源
名称品牌厂家型号规格数量单位备注
小计:
合计:
"); break; case "配件汇总1-模板.xlsx":// 配件汇总 - map.put(orderDO, orderPartsMapper.selectPartAll(orderDO.getId(), SecurityFrameworkUtils.getLoginUser().getOrganId())); + map.put("partsSummary", orderPartsMapper.selectPartAll(orderDO.getId(), SecurityFrameworkUtils.getLoginUser().getOrganId())); + map.put("table", "SheetJS Table Export
配件汇总单
生产单号:自定单号:经销商:订单日期
客户:收货电话:收货地址:收货日期:
备注:
名称型号规格数量单位品牌备注
"); break; case "板材明细-按房间-模板.xlsx": + map.put("plateListDetail", plateMapper.selectPlateGoodsList(orderDO.getId(), SecurityFrameworkUtils.getLoginUser().getOrganId())); + map.put("table", "SheetJS Table Export
板材明细单
生产单号:自定单号:经销商:订单日期
客户:收货电话:收货地址:收货日期:
备注:
房间名数据源柜体数据源列表条数表达式
板编号板名称材料颜色厚度面积异形造型左/右/上/下开门类型备注
小计:小计面积表达式
合计:合计面积表达式
"); break; case "板材明细-按板材-模板.xlsx": - map.put(orderDO, plateMapper.selectPlateGoodsList(orderDO.getId(), SecurityFrameworkUtils.getLoginUser().getOrganId())); - + map.put("plateListDetail", plateMapper.selectPlateGoodsList(orderDO.getId(), SecurityFrameworkUtils.getLoginUser().getOrganId())); + map.put("table", "SheetJS Table Export
板材明细单
生产单号:自定单号:经销商:订单日期
客户:收货电话:收货地址:收货日期:
备注:
板材名称数据源板材颜色数据源板材厚度数据源列表条数表达式
房名柜名板编号板名称厚度面积异形造型左/右/上/下开门类型备注
小计:小计面积表达式
合计:合计面积表达式
"); break; case "板材汇总-按房间-模板.xlsx": + map.put("plateSummary", plateMapper.selectPlateGoodsListSummary(orderDO.getId(), SecurityFrameworkUtils.getLoginUser().getOrganId())); + map.put("table", "SheetJS Table Export
板材汇总单
生产单号:自定单号:经销商:订单日期
客户:收货电话:收货地址:收货日期:
备注:
房间名称数据源柜体数据源列表条数表达式
板名称材料颜色厚度数量面积开门类型
小计:数量表达式面积表达式
合计:数量表达式面积表达式
"); break; case "板材汇总-按板材-模板.xlsx": - map.put(orderDO, plateMapper.selectPlateGoodsList(orderDO.getId(), SecurityFrameworkUtils.getLoginUser().getOrganId())); - break; - default: - // 处理默认情况,可以选择忽略或者做其他处理 - break; - } - return map; - } - - // 根据ype 与 orderId获取相关信息 - public Map getDataByOrderIdAndType(Long orderId, String type) { - Map map = new HashMap<>(); - switch (type) { - case "配件明细1-模板.xlsx":// 配件明细 - map.put(orderId, orderPartsMapper.selectPartDetail(orderId, SecurityFrameworkUtils.getLoginUser().getOrganId())); - break; - case "配件汇总1-模板.xlsx":// 配件汇总 - map.put(orderId, orderPartsMapper.selectPartAll(orderId, SecurityFrameworkUtils.getLoginUser().getOrganId())); - break; - case "板材明细-按房间-模板.xlsx": - break; - case "板材明细-按板材-模板.xlsx": - map.put(orderId, plateMapper.selectPlateGoodsList(orderId, SecurityFrameworkUtils.getLoginUser().getOrganId())); - - break; - case "板材汇总-按房间-模板.xlsx": - break; - case "板材汇总-按板材-模板.xlsx": - map.put(orderId, plateMapper.selectPlateGoodsList(orderId, SecurityFrameworkUtils.getLoginUser().getOrganId())); + map.put("plateSummary", plateMapper.selectPlateGoodsListSummary(orderDO.getId(), SecurityFrameworkUtils.getLoginUser().getOrganId())); + map.put("table", "SheetJS Table Export
板材汇总单
生产单号:自定单号:经销商:订单日期
客户:收货电话:收货地址:收货日期:
备注:
板材名称数据源板材颜色数据源板材厚度数据源
房名柜名板名称数量面积开门类型备注
小计:数量表达式面积表达式
合计:数量表达式面积表达式
"); break; default: // 处理默认情况,可以选择忽略或者做其他处理 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/process/OrderProcessServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/process/OrderProcessServiceImpl.java index 928a6777f..2fd490833 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/process/OrderProcessServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/process/OrderProcessServiceImpl.java @@ -11,6 +11,8 @@ import com.cf.imes.module.executor.dal.mysql.orderBody.OrderBodyMapper; import com.cf.imes.module.executor.dal.mysql.orderGroup.OrderGroupMapper; import com.cf.imes.module.executor.dal.mysql.processStep.ProcessStepMapper; import com.cf.imes.module.executor.dal.mysql.processStepItem.ProcessStepItemMapper; +import com.cf.imes.module.executor.enums.OrderStatusEnum; +import com.cf.imes.module.executor.enums.ProcessTypeEnum; import com.cf.imes.module.system.api.process.ProcessGroupApi; import com.cf.imes.module.system.api.process.dto.ProcessListReqDTO; import com.cf.imes.module.system.api.process.dto.ProcessRespDTO; @@ -68,8 +70,10 @@ public class OrderProcessServiceImpl implements OrderProcessService { @Resource private OrderBodyMapper orderBodyMapper; + private static Integer INDEX = 0; + @Override - @Transactional + @Transactional(rollbackFor = Exception.class) public Long createOrderProcess(OrderProcessSaveReqVO createReqVO) { // 当生产不为删除时,校验生产单存在 if (orderMapper.selectOrder(createReqVO.getOrderId(), SecurityFrameworkUtils.getLoginUser().getOrganId()).isEmpty()) { @@ -93,15 +97,14 @@ public class OrderProcessServiceImpl implements OrderProcessService { // 需要获取工序组的具体信息,以及工序组中工序的信息,然后将工序组中工序的信息插入到生产单工序步骤表中 ProcessListReqDTO processListReqDTO = processGroupApi.getProcessGroupDetail(createReqVO.getGroupId()); + processListReqDTO.getLists().forEach(processRespDTO -> { Long processStepDOId = (Long) identifierGenerator.nextId(null); ProcessStepDO processStepDO = BeanUtils.toBean(processRespDTO, ProcessStepDO.class).setId(processStepDOId).setOrderId(createReqVO.getOrderId()) - .setStatus(false).setProcessinfoId(processRespDTO.getId()).setOrderProcessId(orderProcess.getId()) -// .setId((Long) identifierGenerator.nextId(null)).setScheduleDate(LocalDateTime.now()).setProcessDate(LocalDateTime.now()).setFinishTime(LocalDateTime.now()) - ;// 计划日期没有填写 + .setStatus(false).setProcessinfoId(processRespDTO.getId()).setOrderProcessId(orderProcess.getId()).setFinishTime(null).setSort(INDEX++);// 计划日期没有填写 processStepDOS.add(processStepDO); // 生产单中是否存在加工组,若存在加工组,需要逐条加工组信息写入到生产单工序步骤表 - if (processRespDTO.getType() == 7) { + if (processRespDTO.getType() == ProcessTypeEnum.TYPE_SEVEN.getStatus()) { List orderGroupDOS = orderGroupMapper.getOrderGroupByOrderId(createReqVO.getOrderId(), SecurityFrameworkUtils.getLoginUser().getOrganId()); if (orderGroupDOS.size() != 0) { // 有加工组 for (int i = 0; i < orderGroupDOS.size(); i++) { @@ -113,7 +116,6 @@ public class OrderProcessServiceImpl implements OrderProcessService { .groupName(processListReqDTO.getName()) .bodyId(orderGroupDOS.get(i).getBodyId()) .groupId(orderGroupDOS.get(i).getId()) - // .dataId(0L) .build();// 查模块id,柜体id,加工组id orderProcessStepItemDOS.add(orderProcessStepItemDO); } @@ -126,18 +128,17 @@ public class OrderProcessServiceImpl implements OrderProcessService { .processStepId(processStepDOId) .orderProcessId(orderProcessId) .status(false) - .groupName(processListReqDTO.getName()) + .groupName(orderBodyDOS.get(i).getName()) .bodyId(orderBodyDOS.get(i).getId()) .groupId(0L) -// .dataId(0L) .build();// 查模块id,柜体id,加工组id orderProcessStepItemDOS.add(orderProcessStepItemDO); } } - }); + INDEX = 0; // 修改生产单的状态 - orderMapper.updateOrderStatus(createReqVO.getOrderId(), 2, SecurityFrameworkUtils.getLoginUser().getOrganId()); + orderMapper.updateOrderStatus(createReqVO.getOrderId(), OrderStatusEnum.NO_SORT.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); // 批量插入 orderProcessMapper.insert(orderProcess.setNextStepId(processListReqDTO.getLists().get(0).getId()).setStatus(false)); processStepMapper.insertBatch(processStepDOS); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java index 68213a96b..30ddbf3c5 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiTypeRealize.java @@ -11,6 +11,7 @@ import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO; import com.cf.imes.module.executor.dal.dataobject.orderParts.OrderPartsDO; import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO; import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO; +import com.cf.imes.module.executor.enums.*; import com.cf.imes.module.executor.util.deviseData.dataTwo.*; import com.cf.imes.module.system.api.dict.DictDataApi; import lombok.extern.slf4j.Slf4j; @@ -41,6 +42,10 @@ public class ApiTypeRealize { private Integer groupNum = 0; + private final static Integer X = 0; + private final static Integer Y = 1; + private final static Integer Z = 2; + /** * @param dataPlates: 板件生产信息 * @param dataParts: 配件信息 @@ -55,7 +60,7 @@ public class ApiTypeRealize { public Map> apiPlateDataChange(JSONObject dataPlates, JSONObject dataParts , JSONObject dataBody, JSONObject dataGoods , JSONObject plates, JSONObject dataModule - , JSONObject dataBlocks) { + , JSONObject dataBlocks, String orderNo) { Map> map = new HashMap<>(); @@ -63,7 +68,7 @@ public class ApiTypeRealize { Long orderId = (Long) identifierGenerator.nextId(null); // 生产单数据 - OrderDO orderDO = orderInfoChange(dataPlates, orderId); + OrderDO orderDO = orderInfoChange(dataPlates, orderId, orderNo); List order = new ArrayList<>(); order.add(orderDO); // 商品信息数据 信息以全 @@ -193,7 +198,7 @@ public class ApiTypeRealize { * @author Administrator * @date 2024/4/30 */ - public OrderDO orderInfoChange(JSONObject dataPlates, Long orderId) { + public OrderDO orderInfoChange(JSONObject dataPlates, Long orderId, String orderNo) { // 获取 Orders 字段对应的数组 JSONObject order = dataPlates.getJSONArray("Orders").getJSONObject(0); @@ -204,16 +209,17 @@ public class ApiTypeRealize { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDate orderDate = LocalDate.parse(order.getString("SaleDate"), formatter); LocalDate deliveryDate = LocalDate.parse(order.getString("DeliveryDate"), formatter); + String orderRemark = "[" + orderNo + "]; "; OrderDO orderDO = OrderDO.builder() .id(orderId) .parentNo(0L) .orderDate(orderDate.atStartOfDay()) .deliveryDate(deliveryDate.atStartOfDay()) - .orderType(1) - .orderSort(0) - .dataType(2) - .status(1) + .orderType(OrderTypeEnum.MAIN_ORDER.getStatus()) +// .orderSort(0) + .dataType(DataTypeEnum.API_IMPORT.getStatus()) + .status(OrderStatusEnum.NEW_ORDER.getStatus()) .customOrderNo(order.getString("CustomOrderNo")) .customer(order.getString("Consigee")) .address(order.getString("ConsigeeAddress")) @@ -222,7 +228,7 @@ public class ApiTypeRealize { .dealerPhoneNumber("无") .salesman(order.getString("SalePerson")) .splitter("无") - .remark(order.getString("Remark")) + .remark(orderRemark + order.getString("Remark")) .build(); return orderDO; } @@ -402,7 +408,7 @@ public class ApiTypeRealize { OrderItemDO item = OrderItemDO.builder() .id((Long) identifierGenerator.nextId(null)) .orderId(orderId) - .type(2) + .type(OrderItemTypeEnum.PARTS_ITEM.getStatus()) .roomId(bodyInfos.get(parts.getInteger("BoxID")).getRoomId()) .bodyId(bodyInfos.get(parts.getInteger("BoxID")).getId()) .planId(0L) @@ -466,9 +472,11 @@ public class ApiTypeRealize { .sealDown(BigDecimal.valueOf(plate.getDouble("SealedDown"))) .area(plateDetail.get(plate.getInteger("BlockNo")).getSealAcreage()) .texture(plateDetail.get(plate.getInteger("BlockNo")).getTexture()) - .holeFace(0) - .holeArrange(0) - .unregularPointCount(0) + + .holeFace(plateDetail.get(plate.getInteger("BlockNo")).getTypographicFace()) // 孔面类型 + .holeArrange(0) // 排孔类型 值无实际含义,默认初始化值 + .unregularPointCount(0)// 异形孔个数 值无实际含义,默认初始化值 + .frontHoleCount(plate.getInteger("FrontHoleCount")) .sideHoleCount(plate.getInteger("BackHoleCount")) .sideHoleCount(plate.getInteger("SideHoleCount")) @@ -490,7 +498,7 @@ public class ApiTypeRealize { OrderItemDO itemPlate = OrderItemDO.builder() .id((Long) identifierGenerator.nextId(null)) .orderId(orderId) - .type(1) + .type(OrderItemTypeEnum.PLATE_ITEM.getStatus()) .roomId(bodyInfos.get(plate.getInteger("BoxID")).getRoomId()) .bodyId(bodyInfos.get(plate.getInteger("BoxID")).getId()) .planId(0L) @@ -614,10 +622,10 @@ public class ApiTypeRealize { .openDoorType(Integer.valueOf(block.getString("OpenDoorType"))) .offsetX(block.getBigDecimal("OffsetX")) .offsetY(block.getBigDecimal("OffsetY")) - .pointDetail(getPointDetail(block, 1)) - .rawPointDetail(getPointDetail(block, 2)) - .holeDetail(getHoleDetail(block, 1)) - .sideHoleDetail(getHoleDetail(block, 2)) + .pointDetail(getPointDetail(block, true)) + .rawPointDetail(getPointDetail(block, false)) + .holeDetail(getHoleDetail(block, true)) + .sideHoleDetail(getHoleDetail(block, false)) .contourDetail(getModelDetail(block)) // 排钻类型 .drillsInfos(getDrillsInfo(block)) @@ -650,11 +658,11 @@ public class ApiTypeRealize { } - // 异形板的开料轮廓 (type 为1,不含封边;其他为,含封边) - private List getPointDetail(JSONObject block, Integer type) { + // 异形板的开料轮廓 (type 为true,不含封边;其他为,含封边) + private List getPointDetail(JSONObject block, Boolean type) { List pointDetailList = new ArrayList<>(); - if (type == 1) { // 不含封边 + if (type) { // 不含封边 if (block.getJSONArray("Points") != null && !block.getJSONArray("Points").isEmpty()) { for (int i = 0; i < block.getJSONArray("Points").size(); i++) { JSONObject point = block.getJSONArray("Points").getJSONObject(i); @@ -682,10 +690,10 @@ public class ApiTypeRealize { return pointDetailList; } - // 孔明细板数据解析 (type 为1,正面;2,侧面) - private List getHoleDetail(JSONObject block, Integer type) { + // 孔明细板数据解析 (type 为true,正面;false,侧面) + private List getHoleDetail(JSONObject block, Boolean type) { List holeDetails = new ArrayList<>(); - if (type == 1) { // 1,正面 + if (type) { // 1,正面 if (block.getJSONArray("Holes") != null && !block.getJSONArray("Holes").isEmpty()) { for (int i = 0; i < block.getJSONArray("Holes").size(); i++) { JSONObject hole = block.getJSONArray("Holes").getJSONObject(i); @@ -706,12 +714,12 @@ public class ApiTypeRealize { String[] endPoints = splitAndTrim(hole.getString("EndPoint")); try { holeDetails.add(HoleDetail.builder() - .startX(Double.valueOf(startPoints[0])) - .startY(Double.valueOf(startPoints[1])) - .startZ(Double.valueOf(startPoints[2])) - .endX(Double.valueOf(endPoints[0])) - .endY(Double.valueOf(endPoints[1])) - .endZ(Double.valueOf(endPoints[2])) + .startX(Double.valueOf(startPoints[X])) + .startY(Double.valueOf(startPoints[Y])) + .startZ(Double.valueOf(startPoints[Z])) + .endX(Double.valueOf(endPoints[X])) + .endY(Double.valueOf(endPoints[Y])) + .endZ(Double.valueOf(endPoints[Z])) .faceType(2) .direction(hole.getInteger("Direction")) .radius(Double.valueOf(hole.getString("Diameter")) / 2) @@ -742,9 +750,9 @@ public class ApiTypeRealize { JSONObject point = model.getJSONArray("Points").getJSONObject(j); String[] points = splitAndTrim(point.getString("Pos")); pointLists.add(PointList.builder() - .pointX(Double.valueOf(points[0])) - .pointY(Double.valueOf(points[1])) - .pointZ(Double.valueOf(points[2])) + .pointX(Double.valueOf(points[X])) + .pointY(Double.valueOf(points[Y])) + .pointZ(Double.valueOf(points[Z])) .curve(Double.valueOf(point.getString("Curve"))) .build()); } @@ -795,7 +803,7 @@ public class ApiTypeRealize { return drillsInfos; } - // String[] 以逗号分割,去空格 + // String[] 以逗号分割,去空格 得到包含X Y Z三位坐标的数组(顺序包含) public String[] splitAndTrim(String str) { String[] strs = str.split(","); for (int i = 0; i < strs.length; i++) { diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/MultiThreadingConfig.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/MultiThreadingConfig.java deleted file mode 100644 index 1371d3016..000000000 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/MultiThreadingConfig.java +++ /dev/null @@ -1,48 +0,0 @@ -//package com.cf.imes.module.executor.util.fileConversion.admin.api.webcad; -// -//import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler; -//import org.springframework.context.annotation.ComponentScan; -//import org.springframework.context.annotation.Configuration; -//import org.springframework.scheduling.annotation.AsyncConfigurer; -//import org.springframework.scheduling.annotation.EnableAsync; -//import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; -// -//import java.util.concurrent.Executor; -//import java.util.concurrent.ThreadPoolExecutor; -// -///** -// * @Description: 配置类实现AsyncConfigurer接口,并重写getAsyncExecutor方法,并返回一个ThreadPoolTaskExecutor, -// * 这样我们就获得一个基于线程池TaskExecutor -// * 利用@EnableAsync注解开启异步任务支持 -// * @ClassName: MultiThreadingConfig -// * @Author: xiaolege -// */ -//@Configuration -//@ComponentScan("com.cf.imes.module.executor.service.order") -//@EnableAsync -//public class MultiThreadingConfig implements AsyncConfigurer { -// -// @Override -// public Executor getAsyncExecutor() { -// ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); -// //最小线程数 -// taskExecutor.setCorePoolSize(5); -// //最大线程数 -// taskExecutor.setMaxPoolSize(10); -// //等待队列 -// taskExecutor.setQueueCapacity(50); -// taskExecutor.setKeepAliveSeconds(600); -// //设置拒绝策略 -// taskExecutor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); -// //等待所有任务结束后再关闭线程池 -//// taskExecutor.setWaitForTasksToCompleteOnShutdown(true); -// taskExecutor.initialize(); -// return taskExecutor; -// } -// -// @Override -// public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() { -// return AsyncConfigurer.super.getAsyncUncaughtExceptionHandler(); -// } -// -//} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java index c436e4fec..53497107c 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/files/excel/ExcelTypeRealize.java @@ -13,6 +13,7 @@ import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO; import com.cf.imes.module.executor.dal.dataobject.plate.PlateGoodDO; import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO; import com.cf.imes.module.executor.dal.mysql.plate.PlateGoodMapper; +import com.cf.imes.module.executor.enums.OrderItemTypeEnum; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -200,7 +201,7 @@ public class ExcelTypeRealize { .build(); plateDOS.add(plateDO); - OrderItemDO orderItemDO = OrderItemDO.builder().orderId(orderId).type(1) + OrderItemDO orderItemDO = OrderItemDO.builder().orderId(orderId).type(OrderItemTypeEnum.PLATE_ITEM.getStatus()) .roomId(roomId).bodyId(bodyId).plateId(plateId) .num(1.0).groupId(groupId).build(); orderItemDOS.add(orderItemDO); @@ -217,7 +218,7 @@ public class ExcelTypeRealize { .model(combination.getModel()).spec(combination.getSpec()).brand(combination.getBrand()).factory(combination.getFactory()) .unit(combination.getUnit()).price(0.0).isComposite(false).remark(combination.remarkJSON()).isComposite(false).build(); orderPartsDOS.add(orderPartsDO); - OrderItemDO orderItemDO = OrderItemDO.builder().orderId(orderId).type(2) + OrderItemDO orderItemDO = OrderItemDO.builder().orderId(orderId).type(OrderItemTypeEnum.PARTS_ITEM.getStatus()) .roomId(roomId).bodyId(bodyId).partsId(partsId).groupId(groupId) .num(Double.valueOf(combination.getGoodsNumber())).build(); orderItemDOS.add(orderItemDO); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderBody/OrderBodyMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderBody/OrderBodyMapper.xml index f7d34497a..40d5bceec 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderBody/OrderBodyMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderBody/OrderBodyMapper.xml @@ -22,12 +22,12 @@ g.plate_num AS group_num,b.plate_num AS body_num FROM `order_body` b LEFT JOIN `order_group` g ON b.id = g.body_id - WHERE b.order_id = #{orderId} + WHERE b.order_id = #{orderId} and b.organ_id = #{organId} and b.deleted = #{deleted} \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml index f9950db18..ecf3f8c86 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/orderItem/OrderItemMapper.xml @@ -10,7 +10,8 @@ FROM order_item i RIGHT JOIN `order_plate` p ON i.plate_id = p.id LEFT JOIN `order_goods` g ON g.id = p.goods_id - WHERE i.order_id = #{orderId} + LEFT JOIN `order_group` gp ON gp.id = i.group_id + WHERE i.order_id = #{orderId} AND i.organ_id = #{organId} AND p.deleted = #{deleted} AND i.room_id = #{roomId} @@ -20,6 +21,9 @@ AND i.group_id = #{groupId} + + AND gp.name = #{groupName} + + + UPDATE order_parts + SET deleted = #{deleted} + WHERE id IN ( + SELECT parts_id FROM order_item + WHERE body_id = #{bodyId} AND organ_id = #{organId} + ) + \ No newline at end of file diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml index 843b1fa86..5d0b4856c 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml @@ -178,11 +178,6 @@ - - - - - + + + + UPDATE order_plate + SET deleted = #{deleted} + WHERE id IN ( + SELECT plate_id FROM order_item + WHERE body_id = #{bodyId} AND organ_id = #{organId} + ) + \ No newline at end of file diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/vo/remain/RemainPlateSaveReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/vo/remain/RemainPlateSaveReqVO.java index 981fa1339..50377d8b4 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/vo/remain/RemainPlateSaveReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/plate/vo/remain/RemainPlateSaveReqVO.java @@ -75,7 +75,7 @@ public class RemainPlateSaveReqVO { @Schema(description = "备注", example = "随便") private String remark; - @Schema(description = "轮廊数据,Json 串") + @Schema(description = "轮廊数据,Json 串", requiredMode = Schema.RequiredMode.REQUIRED, example = "18318") private String outLineJson; } \ 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/remainplaten/RemainPlateServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/remainplaten/RemainPlateServiceImpl.java index 60193e47c..a195597bb 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/remainplaten/RemainPlateServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/remainplaten/RemainPlateServiceImpl.java @@ -17,8 +17,7 @@ import com.cf.imes.framework.common.util.object.BeanUtils; import javax.annotation.Resource; -import java.util.Collections; -import java.util.Set; +import java.util.*; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.cf.imes.module.system.enums.ErrorCodeConstants.*; @@ -46,8 +45,12 @@ public class RemainPlateServiceImpl implements RemainPlateService { @Override public Boolean createRemainPlateMultiple(Set createReqVOS) { - // 批量插入 - return remainPlateMapper.insertBatch(Collections.singleton(BeanUtils.toBean(createReqVOS, RemainPlateDO.class))); + Collection remainPlates = new ArrayList<>(); + createReqVOS.forEach(createReqVO -> { + RemainPlateDO remainPlate = BeanUtils.toBean(createReqVO, RemainPlateDO.class); + remainPlates.add(remainPlate); + }); + return remainPlateMapper.insertBatch(remainPlates); } @Override diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java index 6c1dbee74..8edf51ae3 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/process/ProcessServiceImpl.java @@ -67,14 +67,14 @@ public class ProcessServiceImpl implements ProcessService { ProcessAndUserSaveReqVO processAndUserSaveReqVO = new ProcessAndUserSaveReqVO(); try{ if (adminUserService.getUser(Long.parseLong(user)) == null){ - throw ServiceExceptionUtil.exception(ErrorCodeConstants.USER_NOT_EXISTS); + throw exception(USER_NOT_EXISTS); } processAndUserSaveReqVO.setProcessId(processID); processAndUserSaveReqVO.setUserId(Long.parseLong(user)); processUserService.createProcessUser(processAndUserSaveReqVO); }catch (Exception e){ - throw ServiceExceptionUtil.exception(ErrorCodeConstants.ERR); + throw exception(ERR); } }