From 9beaa203e0927ac8f38728786669ddd6e5cedd0c Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Wed, 11 Sep 2024 17:16:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8C=85=E6=8E=A5=E5=8F=A3=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=80=A7=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/pack/PackController.java | 19 +- .../admin/pack/vo/DeleteOtherPartsReqVO.java | 3 + .../controller/admin/pack/vo/PackReqVO.java | 4 +- .../controller/admin/pack/vo/PackRespVO.java | 3 +- .../query/ProductionStatusController.java | 37 -- .../dal/mysql/pack/OrderPackageMapper.java | 5 +- .../dal/mysql/plate/OrderPlateMapper.java | 3 + .../dal/mysql/query/OrderItemMapper.java | 32 +- .../dal/mysql/query/OrderPartsMapper.java | 15 +- .../manage/service/pack/PackServiceImpl.java | 395 ++++++------------ .../service/plate/PlateServiceImpl.java | 21 +- .../query/ProductionStatusService.java | 7 - .../dal/mysql/pack/OrderPackageMapper.xml | 82 +--- .../dal/mysql/plate/OrderPlateMapper.xml | 33 ++ .../dal/mysql/query/OrderItemMapper.xml | 114 ++--- .../dal/mysql/query/OrderPartsMapper.xml | 22 +- 16 files changed, 278 insertions(+), 517 deletions(-) diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java index f54ce90d9..91de41357 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java @@ -105,22 +105,6 @@ public class PackController { -// @GetMapping("/export") -// @Operation(summary = "导出缺板") -// @PreAuthorize("@ss.hasPermission('manage:pack:export')") -// @OperateLog(type = EXPORT) -// public void exportPlateExcel(@Valid OrderPartsReqVO pageReqVO, -// HttpServletResponse response) throws IOException { -// pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); -// List list = productionStatusService.getMissingBoard(pageReqVO).getList(); -// // 导出 Excel -// ExcelUtils.write(response, "缺板信息表.xlsx", "数据", PlateDetailsRespVO.class, list); -// -// } - - - - @GetMapping("/getParts") @Operation(summary = "查看配件列表") @@ -202,8 +186,7 @@ public class PackController { - - + // todo 是否使用和使用在什么地方带确认 @GetMapping("/print") @Operation(summary = "包裹订单打印") @PreAuthorize("@ss.hasPermission('manage:pack:query')") diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java index 885da7b7c..5e73d4265 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/DeleteOtherPartsReqVO.java @@ -11,6 +11,9 @@ import lombok.ToString; public class DeleteOtherPartsReqVO { + @Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED) + private Long orderId; + @Schema(description = "包裹Id", requiredMode = Schema.RequiredMode.REQUIRED) private Long packageId; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackReqVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackReqVO.java index 10edb609a..e6fee7bdd 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackReqVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackReqVO.java @@ -1,7 +1,6 @@ package com.cf.imes.module.manage.controller.admin.pack.vo; -import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.ToString; @@ -11,6 +10,9 @@ import lombok.ToString; @ToString(callSuper = true) public class PackReqVO { + @Schema(description = "生产单ID", requiredMode = Schema.RequiredMode.REQUIRED) + private Long orderId; + @Schema(description = "包裹ID", requiredMode = Schema.RequiredMode.REQUIRED) private Long packageId; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackRespVO.java index ae790a37a..18beabbc5 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackRespVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackRespVO.java @@ -82,11 +82,12 @@ public class PackRespVO { private Long totalPieceCount; - @Schema(description = "待处理量") private Long pendingNum; + @Schema(description = "生产单对应的板材ID") + private List plateId; // @Schema(description = "生产单对应的板件信息", requiredMode = Schema.RequiredMode.REQUIRED) // List plateDetailsRespVO; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/ProductionStatusController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/ProductionStatusController.java index 996779155..53cbe601d 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/ProductionStatusController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/query/ProductionStatusController.java @@ -2,17 +2,10 @@ package com.cf.imes.module.manage.controller.admin.query; import com.cf.imes.framework.common.pojo.CommonResult; -import com.cf.imes.framework.common.pojo.PageParam; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.object.BeanUtils; -import com.cf.imes.framework.excel.core.util.ExcelUtils; -import com.cf.imes.framework.operatelog.core.annotations.OperateLog; -import com.cf.imes.module.manage.controller.admin.pack.vo.OrderPartsReqVO; -import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO; -import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackagePageReqVO; import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO; -import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.pack.PrintOrderRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.*; import com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRatePageReqVO; @@ -30,14 +23,10 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; - -import java.io.IOException; import java.util.List; import static com.cf.imes.framework.common.pojo.CommonResult.success; -import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Tag(name = "管理后台 - 生产查询") @RestController @@ -148,18 +137,6 @@ public class ProductionStatusController { -// @GetMapping("/queryPackageDetails") -// @Operation(summary = "查看包裹详情分页") -// @Parameter(name = "packId", description = "包裹Id", required = true) -// @PreAuthorize("@ss.hasPermission('manage:query:query')") - public CommonResult> queryPackageDetails(@Valid @RequestParam("packId") Long packId){ - - return null; -// return CommonResult.success(productionStatusService.queryPackageDetails(packId)); - - } - - @@ -177,20 +154,6 @@ public class ProductionStatusController { -// @GetMapping("/export") -// @Operation(summary = "导出缺板") -// @PreAuthorize("@ss.hasPermission('manage:query:export')") -// @OperateLog(type = EXPORT) -// public void exportPlateExcel(@Valid OrderPartsReqVO pageReqVO, -// HttpServletResponse response) throws IOException { -// pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); -// List list = productionStatusService.getMissingBoard(pageReqVO).getList(); -// // 导出 Excel -// ExcelUtils.write(response, "缺板信息表.xls", "数据", PlateDetailsRespVO.class, list); -// -// } - - } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java index 29ad347ed..5aa4081b6 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java @@ -54,18 +54,20 @@ public interface OrderPackageMapper extends BaseMapperX { default OrderPackageDO selectByPackId(Long packId,Long organId) { return selectOne(new LambdaQueryWrapperX() .eq(OrderPackageDO::getOrganId, organId) + .eq(OrderPackageDO::getDeleted,false) .eqIfPresent(OrderPackageDO::getId, packId)); } - void updateParts(@Param("packageId") Long packageId, @Param("packageNo") Long packageNo); + void updateParts(@Param("packageId") Long packageId,@Param("orderId") Long orderId,@Param("organId") Long organId); default List selectPackStatus(Long orderId,Long organId) { return selectList(new LambdaQueryWrapperX() .eq(OrderPackageDO::getOrganId,organId) + .eq(OrderPackageDO::getDeleted,false) .eqIfPresent(OrderPackageDO::getOrderId, orderId)); } @@ -73,6 +75,7 @@ public interface OrderPackageMapper extends BaseMapperX { default List selectPackList(Long orderId,Long organId) { return selectList(new LambdaQueryWrapperX() .eq(OrderPackageDO::getOrganId,organId) + .eq(OrderPackageDO::getDeleted,false) .eqIfPresent(OrderPackageDO::getOrderId, orderId) .eqIfPresent(OrderPackageDO::getStatus, OrderPackageStatusEnum.UNPACKED.getStatus())); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java index e0a95fc90..a39a56fa1 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.java @@ -3,6 +3,7 @@ package com.cf.imes.module.manage.dal.mysql.plate; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO; import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingDetailRespVO; import com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlatePageReqVO; import com.cf.imes.module.manage.controller.admin.process.vo.PlateDetails; @@ -45,4 +46,6 @@ public interface OrderPlateMapper extends BaseMapperX { .likeIfPresent(OrderPlateDO::getPlateNo, plateNo.toString()) .select(OrderPlateDO::getId)); } + + List selectPlateNum(@Param("orderIds") List orderIds,@Param("organId") Long organId); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java index 8ad79532b..c86ae6ba3 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java @@ -3,8 +3,6 @@ package com.cf.imes.module.manage.dal.mysql.query; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; -import com.cf.imes.module.manage.controller.admin.pack.vo.OrderPlateDetailsRespVO; -import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO; import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; import com.cf.imes.module.manage.controller.admin.process.vo.PlateDetails; import com.cf.imes.module.manage.controller.admin.process.vo.ProcessPlateReqVO; @@ -39,53 +37,47 @@ public interface OrderItemMapper extends BaseMapperX { - void deleteOrderPack(@Param("packId") Long packId); + void deleteOrderPack(@Param("packId") Long packId,@Param("orderId") Long orderId,@Param("organId") Long organId); - void deleteOtherParts(@Param("partsId") Long partsId); + void deleteOtherParts(@Param("partsId") Long partsId,@Param("orderId") Long orderId,@Param("organId") Long organId); - - void insertPackId(@Param("plateIdList") List plateIdList, @Param("packId") Long packId); + void insertPackId(@Param("plateIdList") List plateIdList, @Param("packId") Long packId,@Param("orderId") Long orderId,@Param("organId") Long organId); - void deletePackId(@Param("deletePlateIdList") List deletePlateIdList,@Param("packId") Long packId); + void deletePackId(@Param("deletePlateIdList") List deletePlateIdList,@Param("packId") Long packId,@Param("orderId") Long orderId,@Param("organId") Long organId); - void insertPartsId(@Param("packId") Long packId, @Param("addPartsIdList") List addPartsIdList); - - - String selectBodyName(@Param("plateId") Long plateId); + void insertPartsId(@Param("packId") Long packId, @Param("addPartsIdList") List addPartsIdList,@Param("orderId") Long orderId,@Param("organId") Long organId); List selectByOrderId(@Param("reqVO") ProcessPlateReqVO reqVO, @Param("organId") Long organId ); - OrderPlateDetailsRespVO selectOrderPlateDetails(@Param("orderId") Long orderId); + void insertParts(@Param("addPartsList") List addPartsList, @Param("packId")Long packId, @Param("orderId") Long orderId,@Param("organId") Long organId); - - void insertParts(@Param("addPartsList") List addPartsList, @Param("packId")Long packId, @Param("orderNo") Long orderNo); - - void deletePartsList(@Param("deletePartsList")List deletePartsList,@Param("packId") Long packId,@Param("orderNo") Long orderNo); + void deletePartsList(@Param("deletePartsList")List deletePartsList,@Param("packId") Long packId,@Param("orderId") Long orderId,@Param("organId") Long organId); List selectPlateListByBodyIds( @Param("collect") List collect,@Param("orderId") Long orderId,@Param("userOrganId") Long userOrganId); List selectOrdersPlateList(@Param("orderIds") List orderIds, @Param("userOrganId") Long userOrganId); - default List selectPackList(Long packId, Long organId) { + default List selectPackList(Long packId,Long orderId ,Long organId) { return selectList(new LambdaQueryWrapperX() .eq(OrderItemDO::getOrganId, organId) + .eqIfPresent(OrderItemDO::getOrderId,orderId) .eqIfPresent(OrderItemDO::getPackageId, packId)); } - void deleteParts(@Param("packageId") Long packageId, @Param("partsIds") List partsIds); + void deleteParts(@Param("packageId") Long packageId,@Param("orderId") Long orderId ,@Param("partsIds") List partsIds,@Param("organId") Long organId); - void updateParts(@Param("partsId") Long partsId,@Param("packageId") Long packageId); + void updateParts(@Param("partsId") Long partsId,@Param("packageId") Long packageId,@Param("orderId") Long orderId,@Param("organId") Long organId); default List selectPackPlateList(Long orderId, Long organId) { @@ -95,8 +87,6 @@ public interface OrderItemMapper extends BaseMapperX { } - List selectPlateNum(@Param("orderIds") List orderIds,@Param("organId") Long organId); - default List selectPartsList(Long orderId, Long organId) { diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java index 6475c5e13..f8db63205 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.java @@ -2,13 +2,9 @@ package com.cf.imes.module.manage.dal.mysql.query; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; -import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.manage.controller.admin.pack.vo.OrderPartsRespVO; -import com.cf.imes.module.manage.controller.admin.plate.vo.plate.PlatePageReqVO; import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO; -import com.cf.imes.module.manage.dal.dataobject.plate.PlateDO; import com.cf.imes.module.manage.dal.dataobject.query.OrderPartsNDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -26,16 +22,9 @@ public interface OrderPartsMapper extends BaseMapperX { - void deleteOrderParts(@Param("partsIds") List partsIds); + void deleteOrderParts(@Param("partsIds") List partsIds,@Param("orderId") Long orderId,@Param("organId") Long organId); - default OrderPartsNDO selectOneParts(String otherPartsName,Long organId) { - return selectOne(new LambdaQueryWrapperX() - .eq(OrderPartsNDO::getOrganId,organId) - .eqIfPresent(OrderPartsNDO::getName,otherPartsName)); - - } - - void updateParts(@Param("partsId") Long partsId); + void updateParts(@Param("partsId") Long partsId,@Param("orderId") Long orderId,@Param("organId") Long organId); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java index 5a9763843..6a2743601 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java @@ -26,7 +26,6 @@ import com.cf.imes.module.manage.dal.mysql.pack.OrderBodyMapper; import com.cf.imes.module.manage.dal.mysql.pack.OrderPackageMapper; import com.cf.imes.module.manage.dal.mysql.pack.OrderPrepackagedMapper; import com.cf.imes.module.manage.dal.mysql.plate.OrderPlateMapper; -import com.cf.imes.module.manage.dal.mysql.plate.PlateMapper; import com.cf.imes.module.manage.dal.mysql.process.OrdersMapper; import com.cf.imes.module.manage.dal.mysql.query.OrderItemMapper; import com.cf.imes.module.manage.dal.mysql.query.OrderPartsMapper; @@ -78,9 +77,6 @@ public class PackServiceImpl implements PackService { @Resource private OrdersMapper ordersMapper; - @Resource - private PlateMapper plateMapper; - @Resource private SnowflakeIdWorker3rd idWorker; @@ -105,18 +101,20 @@ public class PackServiceImpl implements PackService { IPage packRespVOS = new PageDTO<>(); - if(pageReqVO.getIsUp() != null){ + if (pageReqVO.getIsUp() != null) { OrderDO order = ordersMapper.selectById(pageReqVO.getOrderId()); + // 判断是否为空 +// AssertUtils.notEmpty(order,ORDER_DATE_ERROR); List packRespVOList = pageReqVO.getIsUp() ? - ordersMapper.selectOrderIds(order.getCreateTime().toString(), getUserOrganId(),order.getId()) : + ordersMapper.selectOrderIds(order.getCreateTime().toString(), getUserOrganId(), order.getId()) : - ordersMapper.selectOrderIdsFalse(order.getCreateTime().toString(), getUserOrganId(),order.getId()); + ordersMapper.selectOrderIdsFalse(order.getCreateTime().toString(), getUserOrganId(), order.getId()); - if(packRespVOList.isEmpty()){ - throw exception(NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE, pageReqVO.getIsUp() ?"第" : "最后"); + if (packRespVOList.isEmpty()) { + throw exception(NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE, pageReqVO.getIsUp() ? "第" : "最后"); } packRespVOS.setRecords(packRespVOList); @@ -125,7 +123,8 @@ public class PackServiceImpl implements PackService { orderIds.addAll(packRespVOS.getRecords().stream().map(PackRespVO::getId).toList()); - }else { + + } else { pageReqVO.setCustomer(insertSeparator(pageReqVO.getCustomer())); pageReqVO.setCustomOrderNo(insertSeparator(pageReqVO.getCustomOrderNo())); @@ -133,7 +132,7 @@ public class PackServiceImpl implements PackService { // 查询查询分页 - packRespVOS = ordersMapper.selectOrderIdList(page,pageReqVO, getUserOrganId()); + packRespVOS = ordersMapper.selectOrderIdList(page, pageReqVO, getUserOrganId()); orderIds.addAll(packRespVOS.getRecords().stream().map(PackRespVO::getId).toList()); @@ -144,17 +143,29 @@ public class PackServiceImpl implements PackService { // 查询板材的总量 - List packRespVOList = orderItemMapper.selectPlateNum(orderIds,getUserOrganId()); + List packRespVOList = orderPlateMapper.selectPlateNum(orderIds, getUserOrganId()); + +// AssertUtils.notEmpty(packRespVOList, ErrorCodeConstants.THE_CURRENT_BOARD_IS_NOT_SELECTED); + + for (PackRespVO packRespVO : packRespVOList) { + packRespVO.setTotalPieceCount((long) packRespVO.getPlateId().size()); + packRespVO.setPlateId(null); + } // 查询当前生产的包裹数量 - List respVOS = orderPackageMapper.selectPackPage(orderIds,getUserOrganId()); + List respVOS = orderPackageMapper.selectPackPage(orderIds, getUserOrganId()); // 查询当前生产单已经打包的板材数量 List plateNum = orderPackageMapper.selectPackPieceCount(orderIds, getUserOrganId()); + for (PackRespVO packRespVO : plateNum) { + packRespVO.setPackPieceCount((long) packRespVO.getPlateId().size()); + packRespVO.setPlateId(null); + } + for (PackRespVO record : packRespVOS.getRecords()) { // 板材总数 @@ -178,21 +189,20 @@ public class PackServiceImpl implements PackService { } - // 查看生产订单对应的板材信息 @Override public List getOrderPlateList(Long orderId) { - // 查询需要返回的其他信息 -// OrderPlateDetailsRespVO orderPlateDetailsRespVO = orderItemMapper.selectOrderPlateDetails(orderId); -// orderPlateDetailsRespVO.setPendingNum(orderPlateDetailsRespVO.getPlateNum() - orderPlateDetailsRespVO.getPlateProcessedNum()); - // 查询订单对应的板件信息 - List plateDetailsRespVOS = orderItemMapper.selectOrderPlateList(orderId,getUserOrganId()); + List plateDetailsRespVOS = orderItemMapper.selectOrderPlateList(orderId, getUserOrganId()); + + if(plateDetailsRespVOS.isEmpty()){ + return null; + } for (PlateDetailsRespVO plateDetailsRespVO : plateDetailsRespVOS) { String name = ""; - if(!plateDetailsRespVO.getProcessGroupNameList().isEmpty()) { + if (!plateDetailsRespVO.getProcessGroupNameList().isEmpty()) { for (GroupNameList groupNameList : plateDetailsRespVO.getProcessGroupNameList()) { // 去除最后的逗号 name += groupNameList.getName() + ","; @@ -216,15 +226,22 @@ public class PackServiceImpl implements PackService { List plateDetailsRespVOS = orderItemMapper.selectOrdersPlateList(orderIds, getUserOrganId()); + if (plateDetailsRespVOS.isEmpty()) { + + return null; + } + List packageIds = plateDetailsRespVOS.stream().map(PlateDetailsRespVO::getPackageId).distinct().toList(); List orderPackageDOS = new ArrayList<>(); - if(!packageIds.isEmpty()) { + if (!packageIds.isEmpty()) { orderPackageDOS = orderPackageMapper.selectBatchIds(packageIds); } +// AssertUtils.notEmpty(orderPackageDOS,ORDER_PLATE_ERROR); + for (PlateDetailsRespVO plateDetailsRespVO : plateDetailsRespVOS) { String name = ""; - if(!plateDetailsRespVO.getProcessGroupNameList().isEmpty()) { + if (!plateDetailsRespVO.getProcessGroupNameList().isEmpty()) { for (GroupNameList groupNameList : plateDetailsRespVO.getProcessGroupNameList()) { // 去除最后的逗号 name += groupNameList.getName() + ","; @@ -245,7 +262,6 @@ public class PackServiceImpl implements PackService { } - // 查看生产订单对应的包裹信息 @Override public List getOrderPack(PackageDetailsReqVO reqVO) { @@ -255,6 +271,8 @@ public class PackServiceImpl implements PackService { OrderDO orderDO = ordersMapper.selectById(reqVO.getOrderId()); +// AssertUtils.notEmpty(orderPackageVOS,orderDO,ORDER_PLATE_ERROR); + // for (OrderPackageVO orderPackageVO : orderPackageVOS) { // orderPackageVO.setCustomOrderNo(orderDO.getCustomOrderNo()); // orderPackageVO.setCustomer(orderDO.getCustomer()); @@ -276,7 +294,6 @@ public class PackServiceImpl implements PackService { } - @Override public PageResult getPageOrderPack(PackageDetailsReqVO reqVO) { @@ -284,13 +301,13 @@ public class PackServiceImpl implements PackService { List packId = null; - if(reqVO.getPlateNo()!= null){ + if (reqVO.getPlateNo() != null) { List plateId = orderPlateMapper.selectplateByPlateNo(reqVO.getPlateNo(), reqVO.getOrderId(), getUserOrganId()) .stream().map(OrderPlateDO::getId).toList(); - if(plateId.isEmpty()){ + if (plateId.isEmpty()) { return null; } @@ -301,17 +318,17 @@ public class PackServiceImpl implements PackService { QueryWrapperX queryWrapperX = new QueryWrapperX<>(); queryWrapperX - .eq("o.organ_id",getUserOrganId()) - .eq("o.deleted",false) - .eq("op.deleted",false) - .eq("o.id",reqVO.getOrderId()) - .likeIfPresent("op.package_no",reqVO.getPackageNo()) - .inIfPresent("op.id",packId) + .eq("o.organ_id", getUserOrganId()) + .eq("o.deleted", false) + .eq("op.deleted", false) + .eq("o.id", reqVO.getOrderId()) + .likeIfPresent("op.package_no", reqVO.getPackageNo()) + .inIfPresent("op.id", packId) .eqIfPresent("op.status", reqVO.getPackStatus()) .orderByDesc("op.create_time"); - IPage orderPackageDOIPage = orderPackageMapper.selectByOrderNo(page,queryWrapperX); + IPage orderPackageDOIPage = orderPackageMapper.selectByOrderNo(page, queryWrapperX); if (CollectionUtil.isEmpty(orderPackageDOIPage.getRecords())) { @@ -324,17 +341,12 @@ public class PackServiceImpl implements PackService { } - - - - // 查看配件列表分页 @Override public List getPartsList(OrderPartsReqVO reqVO) { - - List orderPartsRespVOS = orderPartsMapper.selectPartsList(reqVO.getOrderId(),getUserOrganId()); + List orderPartsRespVOS = orderPartsMapper.selectPartsList(reqVO.getOrderId(), getUserOrganId()); return orderPartsRespVOS; @@ -352,7 +364,6 @@ public class PackServiceImpl implements PackService { } - // 更新配件 @Override @Transactional(rollbackFor = Exception.class) @@ -360,7 +371,7 @@ public class PackServiceImpl implements PackService { // 判断包裹ID是否为空,为空,走新增,不为空,走更新 - if(reqVO.getPackId()==null){ + if (reqVO.getPackId() == null) { OrderPackageDO orderPackageDO = new OrderPackageDO(); orderPackageDO.setOrderId(reqVO.getOrderId()); @@ -369,12 +380,12 @@ public class PackServiceImpl implements PackService { orderPackageDO.setStatus((OrderPackageStatusEnum.PACKAGED.getStatus())); orderPackageMapper.insert(orderPackageDO); // 生产单明细表新增包裹 ID - if(reqVO.getAddPartsIdList()!=null) { - orderItemMapper.insertPartsId( orderPackageDO.getId(),reqVO.getAddPartsIdList()); + if (reqVO.getAddPartsIdList() != null) { + orderItemMapper.insertPartsId(orderPackageDO.getId(), reqVO.getAddPartsIdList(), reqVO.getOrderId(), getUserOrganId()); } // 判断当前生产单的板材和配件是否已全部打包且当前生产单的包裹已全部封包 - if(validateOrderPack(reqVO.getOrderId())){ + if (validateOrderPack(reqVO.getOrderId())) { updateOrderStatus(reqVO.getOrderId()); @@ -388,20 +399,20 @@ public class PackServiceImpl implements PackService { OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackId(reqVO.getPackId(), getUserOrganId()); - List orderItemDOS = orderItemMapper.selectPackList(reqVO.getPackId(), getUserOrganId()); - List partsList = orderItemDOS.stream().map(m -> m.getPartsId()).collect(Collectors.toList()); + List orderItemDOS = orderItemMapper.selectPackList(reqVO.getPackId(), reqVO.getOrderId(), getUserOrganId()); + List partsList = orderItemDOS.stream().map(OrderItemDO::getPartsId).toList(); // 如果此时删除的包裹配件数量等于查询出来的配件数量,且新增的板材数量不为0,更改包裹的类型 - if(reqVO.getDeletePartsIdList().size() == partsList.size() && !reqVO.getAddPlateIdList().isEmpty()){ + if (reqVO.getDeletePartsIdList().size() == partsList.size() && !reqVO.getAddPlateIdList().isEmpty()) { - // 删除生产单明细表板件对应的包裹ID - orderItemMapper.deletePackId(reqVO.getDeletePartsIdList(), reqVO.getPackId()); + // 删除生产单明细表配件对应的包裹ID + orderItemMapper.deletePartsList(reqVO.getDeletePartsIdList(), reqVO.getPackId(), reqVO.getOrderId(), getUserOrganId()); - // 生产单明细表配件新增对应的包裹ID - orderItemMapper.insertParts(reqVO.getAddPlateIdList(),reqVO.getPackId(),reqVO.getOrderId()); + // 生产单明细表板材新增对应的包裹ID + orderItemMapper.insertPackId(reqVO.getAddPlateIdList(), reqVO.getPackId(), reqVO.getOrderId(), getUserOrganId()); // 更新包裹类型和包裹的状态 @@ -414,12 +425,12 @@ public class PackServiceImpl implements PackService { // 生产明细表新增的配件ID - if(!reqVO.getAddPartsIdList().isEmpty()) { - orderItemMapper.insertParts(reqVO.getAddPartsIdList(), reqVO.getPackId(), reqVO.getOrderId()); + if (!reqVO.getAddPartsIdList().isEmpty()) { + orderItemMapper.insertParts(reqVO.getAddPartsIdList(), reqVO.getPackId(), reqVO.getOrderId(), getUserOrganId()); } // 生产明细表删除的配件ID - if(!reqVO.getDeletePartsIdList().isEmpty()) { - orderItemMapper.deletePartsList(reqVO.getDeletePartsIdList(), reqVO.getPackId(), reqVO.getOrderId()); + if (!reqVO.getDeletePartsIdList().isEmpty()) { + orderItemMapper.deletePartsList(reqVO.getDeletePartsIdList(), reqVO.getPackId(), reqVO.getOrderId(), getUserOrganId()); } orderPackageDO.setStatus(OrderPackageStatusEnum.PACKAGED.getStatus()); @@ -427,24 +438,22 @@ public class PackServiceImpl implements PackService { // 判断当前生产单的板材和配件是否已全部打包且当前生产单的包裹已全部封包 - if(validateOrderPack(reqVO.getOrderId())){ + if (validateOrderPack(reqVO.getOrderId())) { updateOrderStatus(reqVO.getOrderId()); } - return typeConversion(orderPackageDO); } - // 拆包 @Override public OrderPackRespVO unpacking(Long packageID) { OrderPackageDO packageDO = orderPackageMapper.selectById(packageID); - packageDO.setStatus((OrderPackageStatusEnum.UNPACKED.getStatus())); + packageDO.setStatus(OrderPackageStatusEnum.UNPACKED.getStatus()); orderPackageMapper.updateById(packageDO); return typeConversion(packageDO); @@ -452,8 +461,6 @@ public class PackServiceImpl implements PackService { } - - // 更新包裹 @Override @Transactional(rollbackFor = Exception.class) @@ -461,7 +468,7 @@ public class PackServiceImpl implements PackService { // 判断包裹ID是否为空,为空,走新增,不为空,走更新 - if(packageVO.getPackId()==null){ + if (packageVO.getPackId() == null) { OrderPackageDO orderPackageDO = new OrderPackageDO(); orderPackageDO.setOrderId(packageVO.getOrderId()); @@ -471,11 +478,11 @@ public class PackServiceImpl implements PackService { orderPackageDO.setRemark(packageVO.getRemark()); orderPackageMapper.insert(orderPackageDO); // 生产单明细表新增包裹 ID - if(packageVO.getAddPlateIdList()!=null) { - orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), orderPackageDO.getId()); + if (packageVO.getAddPlateIdList() != null) { + orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), orderPackageDO.getId(), packageVO.getOrderId(), getUserOrganId()); } - if(validateOrderPack(packageVO.getOrderId())){ + if (validateOrderPack(packageVO.getOrderId())) { updateOrderStatus(packageVO.getOrderId()); } @@ -484,21 +491,20 @@ public class PackServiceImpl implements PackService { OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackId(packageVO.getPackId(), getUserOrganId()); - List orderItemDOS = orderItemMapper.selectPackList(packageVO.getPackId(), getUserOrganId()); - List plateList = orderItemDOS.stream().map(m -> m.getPlateId()).collect(Collectors.toList()); -// List partsList = orderItemDOS.stream().map(m -> m.getPartsId()).collect(Collectors.toList()); + List orderItemDOS = orderItemMapper.selectPackList(packageVO.getPackId(), packageVO.getOrderId(), getUserOrganId()); + List plateList = orderItemDOS.stream().map(OrderItemDO::getPlateId).toList(); // 如果此时删除的包裹板材数量等于查询出来的板材数量,且新增的配件数量不为0,更改包裹的类型 - if(packageVO.getDeletePlateIdList().size() == plateList.size() && !packageVO.getAddPartsIdList().isEmpty()){ + if (packageVO.getDeletePlateIdList().size() == plateList.size() && !packageVO.getAddPartsIdList().isEmpty()) { // 删除生产单明细表板件对应的包裹ID - orderItemMapper.deletePackId(packageVO.getDeletePlateIdList(), packageVO.getPackId()); + orderItemMapper.deletePackId(packageVO.getDeletePlateIdList(), packageVO.getPackId(), packageVO.getOrderId(), getUserOrganId()); // 生产单明细表配件新增对应的包裹ID - orderItemMapper.insertParts(packageVO.getAddPartsIdList(),packageVO.getPackId(),packageVO.getOrderId()); + orderItemMapper.insertParts(packageVO.getAddPartsIdList(), packageVO.getPackId(), packageVO.getOrderId(), getUserOrganId()); // 更新包裹类型和包裹的状态 @@ -511,13 +517,13 @@ public class PackServiceImpl implements PackService { // 生产明细表新增包裹ID - if(!packageVO.getAddPlateIdList().isEmpty()) { - orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), packageVO.getPackId()); + if (!packageVO.getAddPlateIdList().isEmpty()) { + orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), packageVO.getPackId(), packageVO.getOrderId(), getUserOrganId()); } // 移除生产明细表中板件对应的包裹ID - if(!packageVO.getDeletePlateIdList().isEmpty()) { - orderItemMapper.deletePackId(packageVO.getDeletePlateIdList(), packageVO.getPackId()); + if (!packageVO.getDeletePlateIdList().isEmpty()) { + orderItemMapper.deletePackId(packageVO.getDeletePlateIdList(), packageVO.getPackId(), packageVO.getOrderId(), getUserOrganId()); } orderPackageDO.setStatus(OrderPackageStatusEnum.PACKAGED.getStatus()); @@ -525,7 +531,7 @@ public class PackServiceImpl implements PackService { // 判断当前生产单的板材和配件是否已全部打包且当前生产单的包裹已全部封包 - if(validateOrderPack(packageVO.getOrderId())){ + if (validateOrderPack(packageVO.getOrderId())) { // 修改生产单的打包状态 updateOrderStatus(packageVO.getOrderId()); @@ -538,53 +544,31 @@ public class PackServiceImpl implements PackService { // 判断当前生产单的板材和配件是否已全部打包且当前生产单的包裹已全部封包 - public Boolean validateOrderPack(Long orderId){ + public Boolean validateOrderPack(Long orderId) { List orderPackageDOS = orderPackageMapper.selectPackList(orderId, getUserOrganId()); - if(!orderPackageDOS.isEmpty()){ + if (!orderPackageDOS.isEmpty()) { return false; } List plateAndPartIdLists = orderPackageMapper.selectOrderPack(orderId, getUserOrganId()); -// List plateList = plateAndPartIdLists.stream().map(PlateAndPartIdList::getPlateId).toList(); -// -// List partsList = plateAndPartIdLists.stream().map(PlateAndPartIdList::getPartsId).toList(); - return plateAndPartIdLists.isEmpty() ; + return plateAndPartIdLists.isEmpty(); } // 修改当前生产单的工序状态和生产单的状态 @Transactional(rollbackFor = Exception.class) - public void updateOrderStatus(Long orderId) { + public void updateOrderStatus(Long orderId) { OrderDO orderDO = ordersMapper.selectById(orderId); - if(orderDO.getFinishTime() != null){ - return; - } - -// // 判断正确,修改当前生产单对应的打包的工序状态 -// OrderProcessStepNDO orderProcessStepNDO = processStepMapper.selectOrderProcess(orderId, getUserOrganId(), ProcessProcessingTypeEnum.PACK.getNumber()); -// -// if(orderProcessStepNDO == null){ +// if(orderDO.getFinishTime() != null){ // return; // } -// -// -// // 工序加工添加负责人 -// String nickname = getLoginUser().getNickname(); -// -// -// BigDecimal salary = productionProcessService.calculateSalary(orderProcessStepNDO.getId(), null); -// -// // 修改生产明细表和步骤表的工序状态 -// processStepMapper.updateStatus(orderProcessStepNDO.getId(), nickname, salary); -// -// processStepItemMapper.updateStatus(orderProcessStepNDO.getId()); // 修改生产单的打包状态未已打包 orderDO.setPackaged(OrderPackageStatusEnum.PACKAGED.getStatus()); @@ -599,54 +583,50 @@ public class PackServiceImpl implements PackService { @Override public List selectPack(Long orderId) { - List orderPackageDOS = orderPackageMapper.selectPackStatus(orderId,getUserOrganId()); -// List collect = orderPackageDOS.stream().map(o -> o.setRemark(JsonUtils.unzipString(o.getRemark()))).collect(Collectors.toList()); - return orderPackageDOS.stream().map(m -> typeConversion(m)).collect(Collectors.toList()); + List orderPackageDOS = orderPackageMapper.selectPackStatus(orderId, getUserOrganId()); + + return orderPackageDOS.stream().map(m -> typeConversion(m)).collect(Collectors.toList()); } - - - // 包裹订单打印 @Override public PrintOrderPackRespVO printOrderPack(PrintOrderPackReqVO reqVO) { - PrintOrderPackRespVO printOrderPackRespVO = ordersMapper.selectOrderPack(reqVO.getOrderId(), reqVO.getPackageNo(),getUserOrganId()); - printOrderPackRespVO.setPlateList(orderItemMapper.selectPrintPlateList(reqVO.getOrderId(), reqVO.getPackageNo(),getUserOrganId())); + PrintOrderPackRespVO printOrderPackRespVO = ordersMapper.selectOrderPack(reqVO.getOrderId(), reqVO.getPackageNo(), getUserOrganId()); + printOrderPackRespVO.setPlateList(orderItemMapper.selectPrintPlateList(reqVO.getOrderId(), reqVO.getPackageNo(), getUserOrganId())); return printOrderPackRespVO; } - // 删除包裹及其关联的包裹信息(删除全部) @Override @Transactional(rollbackFor = Exception.class) public void deleteOrderPack(PackReqVO reqVO) { // 判断包裹的类型是否为其他类型,如果是,则删除其包裹信息 - if (reqVO.getIsOther() == true) { + if (reqVO.getIsOther()) { - List partsIds = orderItemMapper.selectPackList(reqVO.getPackageId(), getUserOrganId()) - .stream().map(m -> m.getPartsId()) + List partsIds = orderItemMapper.selectPackList(reqVO.getPackageId(), reqVO.getOrderId(), getUserOrganId()) + .stream().map(OrderItemDO::getPartsId) .distinct() - .collect(Collectors.toList()); + .toList(); - orderPartsMapper.deleteOrderParts(partsIds); + orderPartsMapper.deleteOrderParts(partsIds, reqVO.getOrderId(), getUserOrganId()); - orderPackageMapper.updateParts(reqVO.getPackageId(), reqVO.getPackageNo()); + orderPackageMapper.updateParts(reqVO.getPackageId(), reqVO.getOrderId(), getUserOrganId()); - orderItemMapper.deleteParts(reqVO.getPackageId(),partsIds); + orderItemMapper.deleteParts(reqVO.getPackageId(), reqVO.getOrderId(), partsIds, getUserOrganId()); return; } - orderPackageMapper.updateParts(reqVO.getPackageId(),reqVO.getPackageNo()); + orderPackageMapper.updateParts(reqVO.getPackageId(), reqVO.getOrderId(), getUserOrganId()); - orderItemMapper.deleteOrderPack(reqVO.getPackageId()); + orderItemMapper.deleteOrderPack(reqVO.getPackageId(), reqVO.getOrderId(), getUserOrganId()); } @@ -656,11 +636,6 @@ public class PackServiceImpl implements PackService { @Transactional(rollbackFor = Exception.class) public OrderPackRespVO addNewOtherPack(OtherPackReqVO reqVO) { - // 判断配件名称是否重复 -// OrderPartsNDO orderPartsNDO = orderPartsMapper.selectOneParts(reqVO.getName(),getUserOrganId()); -// if (orderPartsNDO != null) { -// throw exception(THE_ACCESSORY_NAME_CANNOT_BE_DUPLICATED); -// } // 配件表新增数据 OrderPartsNDO orderParts = BeanUtils.toBean(reqVO, OrderPartsNDO.class); @@ -679,7 +654,7 @@ public class PackServiceImpl implements PackService { orderPackageMapper.insert(orderPackageDO); - // 在生产单明细表中添加数据(生产单号,配件ID,包裹ID,部件数量(目前一直为1)) + // 在生产单明细表中添加数据(生产单号,配件ID,包裹ID,部件数量) OrderItemDO orderItemDO = new OrderItemDO(); orderItemDO.setOrderId(reqVO.getOrderId()); orderItemDO.setPartsId(orderParts.getId()); @@ -698,15 +673,13 @@ public class PackServiceImpl implements PackService { } - - // 新增外部配件 @Override @Transactional(rollbackFor = Exception.class) public OrderPartsRespVO addNewOtherParts(OtherPackReqVO reqVO) { - OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackNo(reqVO.getPackNo(),getUserOrganId()); - if(orderPackageDO.getType()!= OrderPackageTypeEnum.OTHER_ACCESSORIES.getType().longValue()){ + OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackNo(reqVO.getPackNo(), getUserOrganId()); + if (orderPackageDO.getType() != OrderPackageTypeEnum.OTHER_ACCESSORIES.getType().longValue()) { throw exception(THE_CURRENT_PACKAGE_TYPE_IS_INCORRECT); } @@ -727,34 +700,28 @@ public class PackServiceImpl implements PackService { // 在生产单明细表中新增数据 orderItemMapper.insert(orderItemDO); - return BeanUtils.toBean(orderParts,OrderPartsRespVO.class); + return BeanUtils.toBean(orderParts, OrderPartsRespVO.class); } - - - - - // 删除包裹中的外部配件 @Override @Transactional(rollbackFor = Exception.class) public void deleteOtherParts(DeleteOtherPartsReqVO reqVO) { - if(reqVO.getIsOtherParts()) { + if (reqVO.getIsOtherParts()) { // 更新配件表中配件为逻辑删除 - orderPartsMapper.updateParts(reqVO.getPartsId()); - orderItemMapper.deleteOtherParts(reqVO.getPartsId()); + orderPartsMapper.updateParts(reqVO.getPartsId(), reqVO.getOrderId(), getUserOrganId()); + orderItemMapper.deleteOtherParts(reqVO.getPartsId(), reqVO.getOrderId(), getUserOrganId()); } - orderItemMapper.updateParts(reqVO.getPartsId(),reqVO.getPackageId()); + orderItemMapper.updateParts(reqVO.getPartsId(), reqVO.getPackageId(), reqVO.getOrderId(), getUserOrganId()); } - // 新增配件-即新增一个包裹 @Override @Transactional(rollbackFor = Exception.class) @@ -767,15 +734,13 @@ public class PackServiceImpl implements PackService { orderPackageDO.setPackageNo(generatePackageNo()); orderPackageMapper.insert(orderPackageDO); - orderItemMapper.insertPartsId(orderPackageDO.getId(), reqVO.getAddPartsIdList()); + orderItemMapper.insertPartsId(orderPackageDO.getId(), reqVO.getAddPartsIdList(), reqVO.getOrderId(), getUserOrganId()); return typeConversion(orderPackageDO); } - - // 查询预打包优化信息 @Override public String getPrePackInfo(Long orderId) { @@ -784,7 +749,7 @@ public class PackServiceImpl implements PackService { OrderPrepackagedDO orderPrepackagedDO = orderPrepackagedMapper.selectOrder(orderId, getUserOrganId()); - if(orderPrepackagedDO == null){ + if (orderPrepackagedDO == null) { return null; } @@ -794,8 +759,6 @@ public class PackServiceImpl implements PackService { } - - // 保存优化后的预打包信息 @Override @Transactional(rollbackFor = Exception.class) @@ -819,7 +782,7 @@ public class PackServiceImpl implements PackService { String optimizeInfo = reqVO.getOptimizeInfo(); // 自动打包,包裹表新增 - if(autoPack){ + if (autoPack) { ArrayList orderPackageDOS = new ArrayList<>(); @@ -829,12 +792,13 @@ public class PackServiceImpl implements PackService { JsonNode jsonNode = JsonUtils.parseTree(reqVO.getOptimizeInfo()); - List asJsonObject = objectMapper.convertValue(jsonNode, new TypeReference<>() {}); + List asJsonObject = objectMapper.convertValue(jsonNode, new TypeReference<>() { + }); - asJsonObject.forEach(value ->{ + asJsonObject.forEach(value -> { - value.getList().forEach(prePackOptimizeInfo ->{ + value.getList().forEach(prePackOptimizeInfo -> { String packageNo = generatePackageNo(); prePackOptimizeInfo.setName(packageNo); @@ -844,7 +808,7 @@ public class PackServiceImpl implements PackService { .orderId(reqVO.getOrderId()) .status(OrderPackageStatusEnum.PACKAGED.getStatus()) .build()); - prePackOptimizeInfo.getList().forEach(plate ->{ + prePackOptimizeInfo.getList().forEach(plate -> { List list = plate.getList().stream().map(PrePackOptimizeInfo.PrerPlateData::getPlateId).toList(); list.forEach(a -> packPlateNoLists.add(PackPlateList.builder() .packNo(packageNo) @@ -861,51 +825,32 @@ public class PackServiceImpl implements PackService { List packageDOS = orderPackageMapper.selectPackStatus(reqVO.getOrderId(), getUserOrganId()); - if(!packageDOS.isEmpty()){ - + if (!packageDOS.isEmpty()) { // 删除除配件和其他配件外的所有包裹 - orderPackageMapper.updateDelete(reqVO.getOrderId(),getUserOrganId()); - + orderPackageMapper.updateDelete(reqVO.getOrderId(), getUserOrganId()); } + // 包裹表新增包裹 orderPackageMapper.insertBatch(orderPackageDOS); - - orderPackageDOS.forEach(a-> + // 根据包裹编号查找包裹ID + orderPackageDOS.forEach(a -> packPlateNoLists.stream().filter(f -> Objects.equals(f.getPackNo(), a.getPackageNo())) .forEach(f -> f.setPackId(a.getId()))); List orderItemDOS = orderItemMapper.selectPackPlateList(reqVO.getOrderId(), getUserOrganId()); -// List plateNo = packPlateNoLists.stream().map(PackPlateList::getPlateNo).toList(); -// -// -// List orderPlateDOS = orderPlateMapper.selectPlateList(plateNo, getUserOrganId()); -// -// if(orderPlateDOS.isEmpty()){ -// System.out.println("当前板材数据为空"); -// -// } -// -// orderPlateDOS.forEach(a-> -// packPlateNoLists.stream().filter(f->Objects.equals(f.getPlateNo(), a.getPlateNo())) -// .forEach(f -> f.setPlateId(a.getId()))); -// -// -// System.out.println("啊哈哈哈哈哈哈1 "+packPlateNoLists); - - - - packPlateNoLists.forEach(a-> - orderItemDOS.stream().filter(f->Objects.equals(f.getPlateId(), a.getPlateId())) - .forEach(f->f.setPackageId(a.getPackId()))); + packPlateNoLists.forEach(a -> + orderItemDOS.stream().filter(f -> Objects.equals(f.getPlateId(), a.getPlateId())) + .forEach(f -> f.setPackageId(a.getPackId()))); orderItemMapper.updateBatch(orderItemDOS); + // 查询配件是否为空,为空,修改生产单的状态为已打包 List orderItemDoPartsList = orderItemMapper.selectPartsList(reqVO.getOrderId(), getUserOrganId()); - if(orderItemDoPartsList.isEmpty()) { + if (orderItemDoPartsList.isEmpty()) { OrderDO orderDO = ordersMapper.selectById(reqVO.getOrderId()); orderDO.setPackaged(OrderPackageStatusEnum.PACKAGED.getStatus()); ordersMapper.updateById(orderDO); @@ -916,7 +861,7 @@ public class PackServiceImpl implements PackService { OrderPrepackagedDO orderPackOptimizeDO = orderPrepackagedMapper.selectOrder(reqVO.getOrderId(), getUserOrganId()); - if(orderPackOptimizeDO ==null){ + if (orderPackOptimizeDO == null) { OrderPrepackagedDO prepackagedDO = new OrderPrepackagedDO(); prepackagedDO.setOrderId(reqVO.getOrderId()); @@ -932,84 +877,6 @@ public class PackServiceImpl implements PackService { } - - -// -// @Override -// @Transactional(rollbackFor = Exception.class) -// public void saveOptimizeInfo(PrePackReqVO reqVO) { -// if (reqVO.getIsAutoPack()) { -// List orderPackageDOS = new ArrayList<>(); -// List packPlateNoLists = new ArrayList<>(); -// -// reqVO.getOptimizeInfo().values().parallelStream().forEach(value -> { -// value.forEach(prePackOptimizeInfo -> { -// String packageNo = generatePackageNo(); -// List list = prePackOptimizeInfo.getOptimizeData().stream().map(m -> m.getPlateNo()).collect(Collectors.toList()); -// -// list.forEach(a -> packPlateNoLists.add(PackPlateList.builder() -// .packNo(packageNo) -// .plateNo(a) -// .build())); -// -// orderPackageDOS.add(OrderPackageDO.builder() -// .packageNo(packageNo) -// .type(OrderPackageTypeEnum.PLATE.getType()) -// .orderId(reqVO.getOrderId()) -// .status(OrderPackageStatusEnum.PACKAGED.getStatus()) -// .build()); -// -// prePackOptimizeInfo.setPackNo(packageNo); -// }); -// }); -// -// List packageDOS = orderPackageMapper.selectPackStatus(reqVO.getOrderId(), getUserOrganId()); -// -// if (!packageDOS.isEmpty()) { -// orderPackageMapper.updateDelete(reqVO.getOrderId()); -// } -// -// orderPackageMapper.insertBatch(orderPackageDOS); -// -// Map packageNoToIdMap = orderPackageDOS.stream().collect(Collectors.toMap(OrderPackageDO::getPackageNo, OrderPackageDO::getId)); -// -// packPlateNoLists.forEach(f -> f.setPackId(packageNoToIdMap.get(f.getPackNo()))); -// -// List orderItemDOS = orderItemMapper.selectPackPlateList(reqVO.getOrderId(), getUserOrganId()); -// -// List plateNo = packPlateNoLists.stream().map(PackPlateList::getPlateNo).collect(Collectors.toList()); -// -// List orderPlateDOS = orderPlateMapper.selectPlateList(plateNo, getUserOrganId()); -// -// Map plateNoToIdMap = orderPlateDOS.stream().collect(Collectors.toMap(OrderPlateDO::getPlateNo, OrderPlateDO::getId)); -// -// packPlateNoLists.forEach(f -> f.setPlateId(plateNoToIdMap.get(f.getPlateNo()))); -// -// Map plateIdToPackIdMap = packPlateNoLists.stream().collect(Collectors.toMap(PackPlateList::getPlateId, PackPlateList::getPackId)); -// -// orderItemDOS.forEach(f -> f.setPackageId(plateIdToPackIdMap.get(f.getPlateId()))); -// -// orderItemMapper.updateBatch(orderItemDOS); -// } -// -// String optimizeInfo = JsonUtils.toJsonString(reqVO.getOptimizeInfo()); -// -// OrderPrepackagedDO orderPackOptimizeDO = orderPrepackagedMapper.selectOrder(reqVO.getOrderId(), getUserOrganId()); -// -// if (orderPackOptimizeDO == null) { -// OrderPrepackagedDO newOrderPackOptimizeDO = new OrderPrepackagedDO(); -// newOrderPackOptimizeDO.setOrderId(reqVO.getOrderId()); -// newOrderPackOptimizeDO.setResult(JsonUtils.zipString(optimizeInfo)); -// orderPrepackagedMapper.insert(newOrderPackOptimizeDO); -// return; -// } -// -// orderPackOptimizeDO.setResult(JsonUtils.zipString(optimizeInfo)); -// orderPrepackagedMapper.updateById(orderPackOptimizeDO); -// } - - - // 日期格式转换 public static String convertTime(String input) { @@ -1027,9 +894,8 @@ public class PackServiceImpl implements PackService { } - // 生成包裹编号 - private String generatePackageNo(){ + private String generatePackageNo() { long packNo = idWorker.nextId(); long obtainingTime = SnowflakeIdWorker3rd.obtainingTime(); @@ -1039,9 +905,8 @@ public class PackServiceImpl implements PackService { } - // 类型转换 - private OrderPackRespVO typeConversion(OrderPackageDO orderPackageDO){ + private OrderPackRespVO typeConversion(OrderPackageDO orderPackageDO) { return OrderPackRespVO.builder() .id(orderPackageDO.getId()) .orderId(orderPackageDO.getOrderId()) diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateServiceImpl.java index b541747c9..330e139fd 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/plate/PlateServiceImpl.java @@ -1,32 +1,31 @@ package com.cf.imes.module.manage.service.plate; import com.cf.imes.framework.common.pojo.CommonResult; +import com.cf.imes.framework.common.pojo.PageResult; +import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.organ.core.aop.OrganIgnore; import com.cf.imes.framework.organ.core.context.OrganContextHolder; import com.cf.imes.module.manage.controller.admin.plate.vo.plate.PlateImportExcelVO; import com.cf.imes.module.manage.controller.admin.plate.vo.plate.PlateImportRespVO; import com.cf.imes.module.manage.controller.admin.plate.vo.plate.PlatePageReqVO; import com.cf.imes.module.manage.controller.admin.plate.vo.plate.PlateSaveReqVO; +import com.cf.imes.module.manage.dal.dataobject.plate.PlateDO; +import com.cf.imes.module.manage.dal.mysql.plate.PlateMapper; import com.cf.imes.module.system.api.organ.OrganApi; import com.cf.imes.module.system.api.permission.PermissionApi; import com.cf.imes.module.system.enums.ErrorCodeConstants; import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; - -import java.util.*; - -import com.cf.imes.module.manage.dal.dataobject.plate.PlateDO; -import com.cf.imes.framework.common.pojo.PageResult; -import com.cf.imes.framework.common.util.object.BeanUtils; - -import com.cf.imes.module.manage.dal.mysql.plate.PlateMapper; +import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.LinkedHashMap; +import java.util.List; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; -import static com.cf.imes.module.system.enums.ErrorCodeConstants.PLATE_NOT_EXISTS; +import static com.cf.imes.module.system.enums.ErrorCodeConstants.REMAIN_PLATE_NOT_EXISTS; /** * 板材信息表 plate_{N} Service 实现类 @@ -90,7 +89,7 @@ public class PlateServiceImpl implements PlateService { private void validatePlateExists(Long id, Long organId) { if (plateMapper.selectOneById(id, organId) == null) { - throw exception(PLATE_NOT_EXISTS); + throw exception(REMAIN_PLATE_NOT_EXISTS); } } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java index e0eb6214c..a14b63ef5 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusService.java @@ -2,10 +2,7 @@ package com.cf.imes.module.manage.service.query; import com.cf.imes.framework.common.pojo.PageResult; - -import com.cf.imes.module.manage.controller.admin.pack.vo.OrderPartsReqVO; import com.cf.imes.module.manage.controller.admin.pack.vo.PackDetailsReqVO; -import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO; import com.cf.imes.module.manage.controller.admin.query.vo.pack.PackageDetailsRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.pack.PrintOrderRespVO; @@ -13,7 +10,6 @@ import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.*; import com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRatePageReqVO; import com.cf.imes.module.manage.controller.admin.query.vo.salary.PriceRateReqVO; import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; -import org.ehcache.shadow.org.terracotta.offheapstore.paging.Page; import java.util.List; @@ -58,7 +54,4 @@ public interface ProductionStatusService { PrintOrderRespVO printOrder(Long orderNo); - -// // 导出缺板 -// PageResult getMissingBoard(OrderPartsReqVO pageReqVO); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml index 4900ec70a..32a7792fc 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml @@ -4,20 +4,21 @@ - + + + + - select - order_id as id, + order_id as orderId, count(id) as packCount from order_package @@ -39,47 +40,30 @@ - - - - - - - - - - - - - - - diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml index 25338006f..18fc6c654 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/plate/OrderPlateMapper.xml @@ -173,4 +173,37 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml index 249e46284..5439e0055 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml @@ -54,13 +54,13 @@ op.is_row_hole as rowHole from order_item oi - join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id + left join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id join order_goods ogs on op.goods_id = ogs.id and op.organ_id = ogs.organ_id join order_body ob on oi.body_id = ob.id and oi.organ_id = ob.organ_id left join order_group og on oi.group_id = og.id and ob.organ_id = og.organ_id where - oi.package_id =#{packageId} and oi.organ_id = #{organId} + oi.organ_id = #{organId} and oi.package_id =#{packageId} and op.deleted = false @@ -171,7 +171,7 @@ join order_body ob on oi.body_id = ob.id and oi.organ_id = ob.organ_id left join order_group og on oi.group_id = og.id and ob.organ_id = og.organ_id where - oi.order_id = #{orderNo} and oi.organ_id = #{organId} and oi.package_id = 0 + oi.order_id = #{orderNo} and oi.organ_id = #{organId} and oi.package_id = 0 and op.deleted = false; @@ -212,7 +212,7 @@ SET package_id = 0 - WHERE package_id = #{packId} ; + WHERE organ_id = #{organId} and order_id = #{orderId} and package_id = #{packId} ; @@ -223,7 +223,10 @@ parameterType="java.lang.Long"> DELETE FROM order_item - WHERE parts_id = #{partsId} + + WHERE organ_id = #{organId} + and order_id = #{orderId} + and parts_id = #{partsId} @@ -233,9 +236,11 @@ delete from order_item - where package_id = #{packageId} - and parts_id in + where organ_id = #{organId} + and order_id = #{orderId} + and package_id = #{packageId} + and parts_id in #{partsIds} @@ -251,7 +256,9 @@ set package_id = #{packId} - where plate_id in + where organ_id = #{organId} + and order_id = #{orderId} + and plate_id in #{id} @@ -266,7 +273,11 @@ set package_id = 0 - where package_id = #{packId} and plate_id in + where + organ_id = #{organId} + and order_id = #{orderId} + and package_id = #{packId} + and plate_id in #{id} @@ -282,8 +293,9 @@ set package_id = #{packId} - where parts_id in - + where organ_id = #{organId} + and order_id = #{orderId} + and parts_id in #{id} @@ -297,8 +309,9 @@ set package_id = #{packId} - where order_id = #{orderNo} and - parts_id in + where organ_id = #{organId} + and order_id = #{orderId} + and parts_id in #{id} @@ -312,7 +325,11 @@ set package_id = 0 - where package_id = #{packId} and order_id = #{orderNo} plate_id in + where + organ_id = #{organId} + and order_id = #{orderId} + and package_id = #{packId} + and parts_id in #{id} @@ -323,47 +340,18 @@ - update order_item set package_id = 0 where parts_id =#{partsId} and package_id = #{packageId}; + update order_item + + set package_id = 0 + + where organ_id = #{organId} + and order_id = #{orderId} + and package_id = #{packageId} + and parts_id = #{partsId}; - - - - - - - - - - - - @@ -463,29 +451,7 @@ #{orderIds} - - - - - - - diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml index 5971391e1..bbbdc4c91 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderPartsMapper.xml @@ -40,9 +40,9 @@ oi.num as num from order_parts op - join order_item oi on op.id = oi.parts_id and op.organ_id = oi.organ_id + left join order_item oi on op.organ_id = oi.organ_id and op.order_id = oi.order_id and op.id = oi.parts_id - where oi.package_id =#{packageId} and oi.organ_id = #{organId} + where op.organ_id =#{organId} and op.deleted = false and oi.package_id = #{packageId} @@ -74,9 +74,9 @@ select distinct op.id as partsId,op.name,op.model,op.spec,oi.num as num,op.unit,op.brand,op.factory,op.remark,op.type from order_parts op - join order_item oi on op.id = oi.parts_id and op.organ_id = oi.organ_id + left join order_item oi on op.organ_id = oi.organ_id and op.order_id = oi.order_id and op.id = oi.parts_id - where op.organ_id = #{organId} and op.order_id = #{orderId} + where op.organ_id = #{organId} and op.order_id = #{orderId} and op.deleted = false @@ -89,8 +89,14 @@ parameterType="java.lang.Long"> - update order_parts op set op.deleted = true where op.id in + update order_parts op + set op.deleted = true + where + op.organ_id = #{organId} + and op.order_id = #{orderId} + and op.deleted = false + and op.id in #{id} @@ -103,8 +109,12 @@ parameterType="java.lang.Long"> UPDATE order_parts op + SET op.deleted = true - WHERE op.id = #{partsId}; + + WHERE op.organ_id = #{organId} + and op.order_id = #{orderId} + and op.id = #{partsId};