diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/orderProcess/OrderProcessApiImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/orderProcess/OrderProcessApiImpl.java index a4e13183e..36f6f70ae 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/orderProcess/OrderProcessApiImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/api/orderProcess/OrderProcessApiImpl.java @@ -23,7 +23,7 @@ public class OrderProcessApiImpl implements OrderProcessApi{ @Override public CommonResult getOrderProcessByProcessGroupId(Long id) { List plateDOS = orderProcessService.getOrderProcessByProcessGroupId(id); - if (plateDOS == null) { + if (plateDOS.size() == 0) { return success(false); } return success(true); 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/OrderPlatesDetailReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPlatesDetailReqVO.java index c8eeedd9f..2a88b3ff4 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPlatesDetailReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPlatesDetailReqVO.java @@ -67,4 +67,8 @@ public class OrderPlatesDetailReqVO { @ExcelProperty("备注") private String remark; + @Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对") + @ExcelProperty("颜色") + private String color; + } 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/OrderPlatesDetailRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPlatesDetailRespVO.java index 26158e99e..ef37c2803 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPlatesDetailRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPlatesDetailRespVO.java @@ -24,6 +24,9 @@ public class OrderPlatesDetailRespVO { @Schema(description = "配件名称", requiredMode = Schema.RequiredMode.REQUIRED) private String partName; + @Schema(description = "配件单位", requiredMode = Schema.RequiredMode.REQUIRED) + private String unit; + @Schema(description = "柜体中的配件数量", requiredMode = Schema.RequiredMode.REQUIRED) private Double plateNum; } 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 9366adad5..e35d47934 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 @@ -84,7 +84,7 @@ public interface OrderPartsMapper extends BaseMapperX { return update(wrapper); } - void updateDeletedById(@Param("bodyId") List bodyIds, @Param("deleted") Integer deleted, @Param("organId") Long organId); + void updateDeletedById(@Param("partsIds") List partsIds, @Param("deleted") Integer deleted, @Param("organId") Long organId); List selectPartList( @Param("orderIds") List orderIds,@Param("organId") Long 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 664c588ee..9b9aa733e 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 @@ -106,7 +106,7 @@ public interface PlateMapper extends BaseMapperX { return update(wrapper); } - void updateDeletedById(@Param("bodyIds") List bodyId, @Param("deleted") Integer deleted, @Param("organId") Long organId); + void updateDeletedById(@Param("plateIds") List plateIds, @Param("deleted") Integer deleted, @Param("organId") Long organId); int countPlateByOrderId(@Param("orderId") Long orderId, @Param("organId") Long organId, @Param("deleted") Integer deleted); 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 21ccbea78..9cc48478a 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 @@ -325,8 +325,10 @@ public class OrderServiceImpl implements OrderService { // 先查再改 List plateDOList = plateMapper.selectPlateIdListByBodyId(bodyId, SecurityFrameworkUtils.getLoginUser().getOrganId()); + System.out.println(" plateDOList " + plateDOList); plateMapper.updateDeletedById(plateDOList, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); List partsList = orderPartsMapper.selectPartsIdListByBodyId(bodyId, SecurityFrameworkUtils.getLoginUser().getOrganId()); + System.out.println(" partsList " + partsList); orderPartsMapper.updateDeletedById(partsList, OrderDeletedEnum.DELETED.getStatus(), SecurityFrameworkUtils.getLoginUser().getOrganId()); }); } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java index c1b3902c1..38bc90321 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java @@ -444,8 +444,8 @@ public class PlanServiceImpl implements PlanService { .betweenIfPresent("a.width", new BigDecimal[]{vo.getWidthMinRang(), vo.getWidthMaxRang()}) .betweenIfPresent("a.height", new BigDecimal[]{vo.getLongMinRang(), vo.getLongMaxRang()}) .inIfPresent("a.filter_type", filterTypes) - .betweenIfPresent("f.delivery_date", new Date[]{vo.getBeginDate(), vo.getEndDate()}); - + .betweenIfPresent("f.delivery_date", new Date[]{vo.getBeginDate(), vo.getEndDate()}) + .orderByDesc("a.name"); PageDTO page = new PageDTO<>(vo.getPageNo(), vo.getPageSize()); IPage pageResult = plateMapper.selectPlateByPlanId(page, queryWrapperX); Set bodyIds = pageResult.getRecords().stream().map(PlateResList::getBodyId).collect(Collectors.toSet()); 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/ApiDataAchieve.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java index cb6fdd9f0..1c67d9cf7 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/fileConversion/admin/api/webcad/ApiDataAchieve.java @@ -3,6 +3,7 @@ package com.cf.imes.module.executor.util.fileConversion.admin.api.webcad; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.cf.imes.module.executor.enums.ErrorCodeConstants; import com.cf.imes.module.system.api.application.ApplicationApi; import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Async; @@ -46,12 +47,13 @@ public class ApiDataAchieve { } // 获取板件生产数据信息 - @Async +// @Async public Future getApiPlateProData(String token, String orderNo) { JSONObject jsonPlatesData = new JSONObject(); jsonPlatesData.put("order_no", orderNo);//生产单号需要传入赋值 jsonPlatesData.put("format", "json"); JSONObject dataPlates = apiDataProduction.getApiOrderMessage(token, jsonPlatesData); + System.out.println(" dataPlates " + dataPlates); if (!dataPlates.getString("err_code").equals("0")) { throw exception(PLATE_PLAN_DATA_ERROR); } @@ -59,7 +61,7 @@ public class ApiDataAchieve { } // 获取配件信息 分页获取 - @Async +// @Async public Future getApiPartsMessage(String token, String orderNo) { JSONObject jsonParts = new JSONObject(); jsonParts.put("curr_page", 1); @@ -79,7 +81,7 @@ public class ApiDataAchieve { } // 柜体信息转换 - @Async +// @Async public Future getApiBodyMessage(String token, String orderNo) { JSONObject jsonBody = new JSONObject(); jsonBody.put("curr_page", 1); @@ -99,7 +101,7 @@ public class ApiDataAchieve { } // 商品信息转换 - @Async +// @Async public Future getApiGoodsMessage(String token, String orderNo) { JSONObject jsonGoods = new JSONObject(); jsonGoods.put("curr_page", 1); @@ -119,7 +121,7 @@ public class ApiDataAchieve { } // 板材明细信息转换 - @Async +// @Async public Future getApiPlateDetailMessage(String token, String orderNo) { JSONObject jsonPlates = new JSONObject(); jsonPlates.put("curr_page", 1); @@ -139,7 +141,7 @@ public class ApiDataAchieve { } // 加工组信息转换 - @Async +// @Async public Future getApiGroupMessage(String token, String orderNo) { JSONObject jsonModule = new JSONObject(); jsonModule.put("order_no", orderNo); @@ -156,7 +158,8 @@ public class ApiDataAchieve { jsonBlocks.put("order_no", orderNo); JSONObject blocks = apiDataProduction.getApiBlocksMessage(token, jsonBlocks); if (!blocks.getString("err_code").equals("0")) { - throw exception(PLATE_DATA_ERROR); + throw new IllegalArgumentException(String.valueOf(ErrorCodeConstants.PLATE_DATA_ERROR)); +// throw exception(PLATE_DATA_ERROR); } JSONObject block = new JSONObject(); for (int i = 1; i <= blocks.getJSONObject("value").getInteger("PageCount"); 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/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 13d57c962..75d36be0a 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 @@ -149,7 +149,10 @@ public class ApiTypeRealize { groupLists.forEach((k, v) -> { v.forEach(v1 -> { if (items.get(v1) != null) { - if (items.get(v1).getGroupId() != null){ // 已存在值 + + if (items.containsKey(v1) && (items.get(v1).getGroupId() == null || items.get(v1).getGroupId() == 0)) { + items.get(v1).setGroupId(orderGroupDO.get(k).getId()); + } else { // 如果groupId已存在值(即不为null),则创建一个新的OrderItemDO对象 OrderItemDO item = OrderItemDO.builder() .id((Long) identifierGenerator.nextId(null)) .orderId(items.get(v1).getOrderId()) @@ -158,14 +161,14 @@ public class ApiTypeRealize { .bodyId(items.get(v1).getBodyId()) .planId(items.get(v1).getPlanId()) .packageId(items.get(v1).getPackageId()) - .groupId(items.get(v1).getGroupId()) + .groupId(orderGroupDO.get(k).getId()) .partsId(items.get(v1).getPartsId()) .plateId(items.get(v1).getPlateId()) .num(items.get(v1).getNum()) .build(); items.put(orderGroupDO.get(k).getId(), item); //再复查 } - items.get(v1).setGroupId(orderGroupDO.get(k).getId()); + if (items.get(v1).getPlateId() != null) groupNum++; } @@ -174,7 +177,7 @@ public class ApiTypeRealize { groupNum = 0; }); - System.out.println(" item " + items); + System.err.println(" item " + items); return items; } @@ -543,7 +546,7 @@ public class ApiTypeRealize { .isSculpt(plate.getBoolean("IsModel")) .isSpecialShaped(plate.getBoolean("UnRegular")) .isCancel(false) - .remark("无") + .remark(plate.getString("RemarkJson")) .build(); // item 明细 @@ -569,8 +572,7 @@ public class ApiTypeRealize { .setDrillsRemark(plate.getString("DrillsRemark")) .setInfoRemark(plate.getString("InfoRemark")) .setRemarkJsonDei(plate.getString("RemarkJson")); - plateInfo.setRemark(plateDetail.get(plate.getLong("BlockNo")).getRemark() != null ? - plateDetail.get(plate.getLong("BlockNo")).getRemark().toString() : ""); + } if (plateMap.get(plate.getLong("BlockNo")) != null) { JSONObject jsonObject = plateMap.get(plate.getLong("BlockNo")); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml index b5c3bd75e..62493b34b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/order/OrderMapper.xml @@ -3,7 +3,7 @@ SELECT DISTINCT i.order_id, p.id, p.plate_no, g.material, p.name, p.area, p.seal_left, p.seal_down, p.seal_right, p.seal_up, p.texture, p.is_special_shaped, p.is_sculpt, p.unregular_point_count, p.front_hole_count, - p.back_hole_count, p.side_hole_count,p.width,p.height,p.thickness + p.back_hole_count, p.side_hole_count,p.width,p.height,p.thickness,p.remark,g.color 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 @@ -45,7 +45,7 @@ - SELECT a.id, a.goods_id, a.name, a.material, a.type, a.model, a.spec, a.brand, a.factory, + SELECT distinct a.id, a.goods_id, a.name, a.material, a.type, a.model, a.spec, a.brand, a.factory, a.unit, a.price, a.is_composite, a.remark, b.num FROM order_parts a LEFT JOIN order_item b ON a.id = b.parts_id and a.organ_id = b.organ_id @@ -68,7 +68,10 @@ UPDATE order_parts SET deleted = #{deleted} - WHERE id IN #{bodyIds} AND organ_id = #{organId} + WHERE id IN + + #{partsId} + AND organ_id = #{organId} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml index 88d20baee..a706b2eb6 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plan/PlanMapper.xml @@ -90,7 +90,7 @@ - select a.id as plateId, a.name, a.width, a.height, a.thickness, a.area, + select distinct a.id as plateId, a.name, a.width, a.height, a.thickness, a.area, b.custom_order_no, b.customer, b.address, b.remark, b.id as orderId, c.goods_name, c.material, c.color, a.goods_id,oi.num,a.is_special_shaped as specialShaped,a.is_sculpt as profiling @@ -29,7 +29,7 @@ - select op.id, + select distinct + op.id, op.name, op.goods_id, ogs.goods_name, @@ -242,7 +243,7 @@ SELECT count(*) FROM order_plate @@ -289,15 +294,15 @@ parameterType="java.lang.Long"> - select a.order_id, a.plate_no , a.name as plateName,a.is_special_shaped,a.is_sculpt,a.area,a.seal_left,a.seal_right,a.seal_up,a.seal_down, e.material, e.color, a.width, a.height, a.thickness, b.room_id, b.body_id + select distinct a.order_id, a.plate_no , a.name as plateName,a.is_special_shaped,a.is_sculpt,a.area,a.seal_left,a.seal_right,a.seal_up,a.seal_down, e.material, e.color, a.width, a.height, a.thickness, b.room_id, b.body_id from order_plan_item p left join order_item b on p.item_id = b.id and b.organ_id = p.organ_id left join order_plate a on b.plate_id = a.id and b.order_id = a.order_id and b.organ_id = a.organ_id left join order_goods e on a.goods_id = e.id and a.order_id = e.order_id and a.organ_id = e.organ_id - where p.plan_id = #{planId} and p.organ_id = #{organId} ; - + where p.plan_id = #{planId} and p.organ_id = #{organId} + order by a.order_id,plateName; 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 c1b78ebca..618ea9bd0 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 @@ -91,7 +91,7 @@ public class PackController { @GetMapping("/queryPackageDetails") - @Operation(summary = "查看包裹对应的板材信息") + @Operation(summary = "查询包裹的详细信息") @PreAuthorize("@ss.hasPermission('manage:query:query')") public CommonResult> queryPackageDetails(@Valid PackDetailsReqVO reqVO){ @@ -232,11 +232,11 @@ public class PackController { @PutMapping("/unpacking") @Operation(summary = "拆包-更改包裹为未封包") @PreAuthorize("@ss.hasPermission('manage:pack:unpacking')") - public CommonResult unpacking(@Valid @RequestBody PackingReqVO reqVO) { + public CommonResult unpacking(@Valid @RequestBody PackingReqVO reqVO) { - packService.unpacking(reqVO.getPackageId()); + OrderPackRespVO unpacking = packService.unpacking(reqVO.getPackageId()); - return success(true); + return success(unpacking); } 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 409aaff6c..885da7b7c 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,8 +11,6 @@ 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; @@ -21,6 +19,10 @@ public class DeleteOtherPartsReqVO { private Long partsId; + @Schema(description = "是否是其他类型的配件", requiredMode = Schema.RequiredMode.REQUIRED) + private Boolean isOtherParts; + + } 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 222e0ea6c..e41ba0815 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java @@ -36,7 +36,7 @@ public interface OrderPackageMapper extends BaseMapperX { - List selectPackPage(/*@Param("page") IPage page,*/@Param("collect") List collect); + List selectPackPage(@Param("collect") List collect); IPage selectMissingBoard( @Param("page") IPage page, @Param("orderNo") Long orderNo, @Param("organId") Long organId); @@ -61,4 +61,15 @@ public interface OrderPackageMapper extends BaseMapperX { .eq(OrderPackageDO::getOrganId,organId) .eqIfPresent(OrderPackageDO::getOrderId, orderId)); } + + + default List selectPackList(Long packageId,Long organId) { + return selectList(new LambdaQueryWrapperX() + .eq(OrderPackageDO::getOrganId,organId) + .eqIfPresent(OrderPackageDO::getId, packageId)); + } + + void updatePackStatus(Long packageId); + + } 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 75a8bde94..68e36213d 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 @@ -18,7 +18,9 @@ import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + import java.util.List; +import java.util.stream.Collectors; @Mapper public interface OrderItemMapper extends BaseMapperX { @@ -41,14 +43,13 @@ public interface OrderItemMapper extends BaseMapperX { - void deleteOrderPack(@Param("reqVO") PackReqVO reqVO); + void deleteOrderPack(@Param("packId") Long packId); void deleteOtherParts(@Param("partsId") Long partsId); - void deleteParts(@Param("reqVO") PackReqVO reqVO); void insertPackId(@Param("plateIdList") List plateIdList, @Param("packId") Long packId); @@ -84,4 +85,10 @@ public interface OrderItemMapper extends BaseMapperX { .eq(OrderItemDO::getOrganId, organId) .eqIfPresent(OrderItemDO::getPackageId, packId)); } + + + void deleteParts(@Param("packageId") Long packageId, @Param("partsIds") List partsIds); + + void updateParts(@Param("partsId") Long partsId,@Param("packageId") Long packageId); + } 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 96dc6e217..f76b23d31 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 @@ -29,7 +29,7 @@ public interface OrderPartsMapper extends BaseMapperX { List selectOrderParts(@Param("orderNo")Long orderNo,@Param("packageNo") Long packageNo); - void deleteOrderParts(@Param("packageId") Long packageId); + void deleteOrderParts(@Param("partsIds") List partsIds); default OrderPartsNDO selectOneParts(String otherPartsName,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 ddbaffe9e..2919c8113 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 @@ -215,11 +215,13 @@ public class PackServiceImpl implements PackService { // 生产明细表新增的配件ID - orderItemMapper.insertParts(reqVO.getAddPartsList(),reqVO.getPackId(),reqVO.getOrderNo()); - + if(!reqVO.getAddPartsList().isEmpty()) { + orderItemMapper.insertParts(reqVO.getAddPartsList(), reqVO.getPackId(), reqVO.getOrderNo()); + } // 生产明细表删除的配件ID - orderItemMapper.deletePartsList(reqVO.getDeletePartsList(),reqVO.getPackId(),reqVO.getOrderNo()); - + if(!reqVO.getDeletePartsList().isEmpty()) { + orderItemMapper.deletePartsList(reqVO.getDeletePartsList(), reqVO.getPackId(), reqVO.getOrderNo()); + } orderPackageDO.setStatus(OrderPackageStatusEnum.PACKAGED.getStatus()); orderPackageMapper.updateById(orderPackageDO); @@ -231,11 +233,12 @@ public class PackServiceImpl implements PackService { // 拆包 @Override - public void unpacking(Long packageID) { + public OrderPackRespVO unpacking(Long packageID) { OrderPackageDO packageDO = orderPackageMapper.selectById(packageID); packageDO.setStatus((OrderPackageStatusEnum.UNPACKED.getStatus())); orderPackageMapper.updateById(packageDO); + return typeConversion(packageDO); } @@ -329,8 +332,9 @@ public class PackServiceImpl implements PackService { orderPackageDO.setRemark(packageVO.getRemark()); orderPackageMapper.insert(orderPackageDO); // 生产单明细表新增包裹 ID - orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), orderPackageDO.getId()); - + if(packageVO.getAddPlateIdList()!=null) { + orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), orderPackageDO.getId()); + } return typeConversion(orderPackageDO); } @@ -363,11 +367,14 @@ public class PackServiceImpl implements PackService { // 生产明细表新增包裹ID - orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), packageVO.getPackId()); + if(!packageVO.getAddPlateIdList().isEmpty()) { + orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), packageVO.getPackId()); + } // 移除生产明细表中板件对应的包裹ID - orderItemMapper.deletePackId(packageVO.getDeletePlateIdList(), packageVO.getPackId()); - + if(!packageVO.getDeletePlateIdList().isEmpty()) { + orderItemMapper.deletePackId(packageVO.getDeletePlateIdList(), packageVO.getPackId()); + } orderPackageDO.setStatus(OrderPackageStatusEnum.PACKAGED.getStatus()); orderPackageMapper.updateById(orderPackageDO); @@ -414,13 +421,23 @@ public class PackServiceImpl implements PackService { // 判断包裹的类型是否为其他类型,如果是,则删除其包裹信息 if (reqVO.getIsOther() == true) { - orderPartsMapper.deleteOrderParts(reqVO.getPackageId()); + List partsIds = orderItemMapper.selectPackList(reqVO.getPackageId(), getUserOrganId()) + .stream().map(m -> m.getPartsId()) + .distinct() + .collect(Collectors.toList()); + + orderPartsMapper.deleteOrderParts(partsIds); + orderPackageMapper.updateParts(reqVO.getPackageId(), reqVO.getPackageNo()); - orderItemMapper.deleteParts(reqVO); + + + orderItemMapper.deleteParts(reqVO.getPackageId(),partsIds); return; } - orderItemMapper.deleteOrderPack(reqVO); + orderPackageMapper.updateParts(reqVO.getPackageId(),reqVO.getPackageNo()); + + orderItemMapper.deleteOrderPack(reqVO.getPackageId()); } @@ -438,6 +455,8 @@ public class PackServiceImpl implements PackService { // 配件表新增数据 OrderPartsNDO orderParts = BeanUtils.toBean(reqVO, OrderPartsNDO.class); + // 因为是外部配件,所以配件类型的名称固定为 “ 外部配件” + orderParts.setType("外部配件"); orderPartsMapper.insert(orderParts); @@ -485,6 +504,8 @@ public class PackServiceImpl implements PackService { // 配件表新增数据 OrderPartsNDO orderParts = BeanUtils.toBean(reqVO, OrderPartsNDO.class); + // 因为是外部配件,所以配件类型的名称固定为 “ 外部配件” + orderParts.setType("外部配件"); orderPartsMapper.insert(orderParts); // 在生产单明细表中添加数据(生产单号,配件ID,包裹ID,部件数量(目前一直为1)) @@ -512,10 +533,14 @@ public class PackServiceImpl implements PackService { @Transactional(rollbackFor = Exception.class) public void deleteOtherParts(DeleteOtherPartsReqVO reqVO) { - // 更新配件表中配件为逻辑删除 - orderPartsMapper.updateParts(reqVO.getPartsId()); - orderItemMapper.deleteOtherParts(reqVO.getPartsId()); + if(reqVO.getIsOtherParts()) { + // 更新配件表中配件为逻辑删除 + orderPartsMapper.updateParts(reqVO.getPartsId()); + orderItemMapper.deleteOtherParts(reqVO.getPartsId()); + } + + orderItemMapper.updateParts(reqVO.getPartsId(),reqVO.getPackageId()); } 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 b8824a7d5..e4d4bbd65 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 @@ -14,7 +14,7 @@ resultMap="PackMap"> - select + select DISTINCT count(DISTINCT oi.package_id ) as numberOfPackages, count(DISTINCT oi.plate_id) as packagedBoard @@ -55,7 +55,7 @@ parameterType="java.lang.Long" resultMap="PlateDetailsMap"> - select + select DISTINCT ob.room_name as roomName, ob.name as bodyName, op.id as palteId, @@ -84,7 +84,7 @@ oi.organ_id = #{organId} and op.id not in ( - select oi2.plate_id + select DISTINCT oi2.plate_id from order_item oi2 where oi2.order_id = #{orderNo} and oi2.package_id <> ''); 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 cb871055c..25338006f 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 @@ -31,7 +31,7 @@ parameterType="com.cf.imes.module.manage.controller.admin.patching.vo.PatchingPlatePageReqVO"> - select + select DISTINCT o.id as orderId, ob.name as cabinetName, op.id as plateNo, @@ -93,7 +93,7 @@ - select ob.room_name - from order_item oi - join order_body ob on oi.body_id = ob.id - where oi.plate_id = #{plateId}; +-- select ob.room_name +-- from order_item oi +-- join order_body ob on oi.body_id = ob.id +-- where oi.plate_id = #{plateId}; @@ -331,17 +336,17 @@ 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 cb37adb4a..a6f0cb110 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 @@ -60,11 +60,15 @@ parameterType="java.lang.Long" resultMap="PartsListMap"> - select - id as partsId,name,model,spec,count(name) as num,unit,brand,factory,remark - from order_parts where order_id = #{orderId} and organ_id = #{organId} - group by partsId,name,model,spec,unit,brand,factory,remark; + select distinct + op.id as partsId,op.name,op.model,op.spec,count(op.name) as num,op.unit,op.brand,op.factory,op.remark + from order_parts op + join order_item oi on op.id = oi.parts_id and op.organ_id = oi.organ_id + + where op.order_id = #{orderId} and oi.package_id = 0 + + group by partsId,op.name,op.model,op.spec,op.unit,op.brand,op.factory,op.remark; @@ -77,7 +81,7 @@ resultMap="PartsListMap"> - select + select distinct op.id as partsId, op.name as name, op.model as model , @@ -103,8 +107,12 @@ - update order_parts op set op.deleted = true where op.id in ( - select oi.parts_id from order_item oi where package_id =#{packageId}); + + update order_parts op set op.deleted = true where op.id in + + + #{id} +