From 5126fd03d1e6c29b59310a9445f4c540b817987f Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Wed, 7 Aug 2024 16:30:41 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A2=84=E6=89=93=E5=8C=85=EF=BC=8C=E7=BF=BB?= =?UTF-8?q?=E9=A1=B5Bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../executor/dal/dataobject/plan/PlanDO.java | 19 +++----------- .../optimizeplan/OptimizePlanServiceImpl.java | 21 +++++++++++++-- .../util/deviseData/dataTwo/PointList.java | 2 +- .../process/ProductionProcessMapper.java | 4 +-- .../manage/service/pack/PackServiceImpl.java | 26 +++++++++---------- .../mysql/process/ProductionProcessMapper.xml | 4 +-- .../mysql/query/ProductionStatusMapper.xml | 7 ++--- .../system/api/setting/SettingApiImpl.java | 8 ++++++ 8 files changed, 51 insertions(+), 40 deletions(-) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plan/PlanDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plan/PlanDO.java index 508d4b30b..3d68915a7 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plan/PlanDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plan/PlanDO.java @@ -33,10 +33,7 @@ public class PlanDO extends BaseDO { // 组织 ID @TableField(fill = FieldFill.INSERT_UPDATE) private Long organId; -// /** -// * 排单号 -// */ -// private String planNo; + /** * 排序优先级 */ @@ -49,10 +46,7 @@ public class PlanDO extends BaseDO { * 排单状态:0 新单,1 板材已申请,2 开料中,3 已开料 */ private Integer status; -// /** -// * 是否支付:0 否,1 是 -// */ -// private Boolean isPay; + /** * 机台 ID */ @@ -65,14 +59,7 @@ public class PlanDO extends BaseDO { * 生产单号 */ private String orderNos; -// /** -// * 排单优化文件地址 -// */ -// private String placeDateFileUrl; -// /** -// * 排单优化文件地址 -// */ -// private String placeOrderFileUrl; + /** * 备注 */ diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java index 618f71008..8c57aa199 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java @@ -514,9 +514,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { // 大板数据的尺寸长度 - Integer boardSize = goodsDOS.stream().map(m -> m.getId()).collect(Collectors.toList()).size(); + Integer boardSize = goodsDOS.stream().map(GoodsReqVO::getId).toList().size(); - List optimizeBoardModelDOS = buildBoardByOrderIds(orderIds, ORDER_REMAIN_PLATE_MODEL, boardSize); + List optimizeBoardModelDOS = buildBoardByPlanId(planId, ORDER_REMAIN_PLATE_MODEL, boardSize); List remainPlateDOS = remainPlateMapper.selectByPlanId(planId,getUserOrganId()); @@ -764,6 +764,23 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { } + private List buildBoardByPlanId(Long planId, String index,Integer size) { + SearchRequest.Builder builder = new SearchRequest.Builder(); + builder.index(index); + builder.size(size); + builder.query(q -> q.term(b -> b.field("planId").value(planId))); + try { + SearchResponse search = elasticsearchClient.search(builder.build(), OptimizeBoardModelDO.class); + List> hits = search.hits().hits(); + if (CollectionUtil.isNotEmpty(hits)) { + return hits.stream().map(Hit::source).collect(Collectors.toList()); + } + return new ArrayList<>(); + } catch (IOException e) { + log.error(e.getMessage()); + throw new ServiceException(INTERNAL_SERVER_ERROR); + } + } private List buildBoardByOrderIds(Collection orderIds, String index, Integer size) { List fieldValues = orderIds.stream().map(FieldValue::of).toList(); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PointList.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PointList.java index c84130058..774a45e50 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PointList.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/dataTwo/PointList.java @@ -22,7 +22,7 @@ public class PointList { @Schema(description = "点Id") private Integer pointId; -// + @Schema(description = "点的位置信息") private Double pointX; private Double pointY; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.java index 66c86105c..cb955a485 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.java @@ -27,9 +27,9 @@ public interface ProductionProcessMapper extends BaseMapperX { List selectPatchingPlate(PatchingPlatePageReqVO pageReqVO); - OrderDO selectOrderIds(@Param("createTime") String createTime, @Param("organId") Long organId); + OrderDO selectOrderIds(@Param("createTime") String createTime, @Param("organId") Long organId, @Param("orderId") Long orderId); - OrderDO selectOrderIdsFalse(@Param("createTime") String createTime,@Param("organId") Long organId); + OrderDO selectOrderIdsFalse(@Param("createTime") String createTime,@Param("organId") Long organId, @Param("orderId") Long orderId); // OrderDO selectOrderIds(@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 7a48e9035..d450dc59e 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 @@ -118,18 +118,11 @@ public class PackServiceImpl implements PackService { OrderDO order = productionProcessMapper.selectById(pageReqVO.getOrderId()); -// OrderDO orderDO; -// if(pageReqVO.getIsUp()){ -// orderDO = productionProcessMapper.selectOrderIds(convertTime(orderDO1.getCreateTime().toString()), getUserOrganId()); -// -// }else { -// orderDO = productionProcessMapper.selectOrderIdsFalse(convertTime(orderDO1.getCreateTime().toString()), getUserOrganId()); -// } OrderDO orderDO = pageReqVO.getIsUp() ? - productionProcessMapper.selectOrderIds(convertTime(order.getCreateTime().toString()), getUserOrganId()) : + productionProcessMapper.selectOrderIds(order.getCreateTime().toString(), getUserOrganId(),order.getId()) : - productionProcessMapper.selectOrderIdsFalse(convertTime(order.getCreateTime().toString()), getUserOrganId()); + productionProcessMapper.selectOrderIdsFalse(order.getCreateTime().toString(), getUserOrganId(),order.getId()); if(orderDO == null){ throw exception(NO_PRODUCTION_ORDER_INFORMATION_AVAILABLE, pageReqVO.getIsUp() ?"第" : "最后",pageReqVO.getIsUp()?"上" : "下" ); @@ -221,10 +214,10 @@ public class PackServiceImpl implements PackService { List plateDetailsRespVOS = orderItemMapper.selectOrdersPlateList(orderIds, getUserOrganId()); List packageIds = plateDetailsRespVOS.stream().map(PlateDetailsRespVO::getPackageId).distinct().toList(); - - List orderPackageDOS = orderPackageMapper.selectBatchIds(packageIds); - - + List orderPackageDOS = new ArrayList<>(); + if(!packageIds.isEmpty()) { + orderPackageDOS = orderPackageMapper.selectBatchIds(packageIds); + } for (PlateDetailsRespVO plateDetailsRespVO : plateDetailsRespVOS) { String name = ""; @@ -732,7 +725,7 @@ public class PackServiceImpl implements PackService { if(orderPrepackagedDO == null){ - throw exception(NO_OPTIMIZATION_INFORMATION_AVAILABLE); + return null; } @@ -753,6 +746,11 @@ public class PackServiceImpl implements PackService { String setting = userSetting.getSetting(); + if (setting == null) { + + throw exception(CURRENTLY_NO_CONFIGURATION_AVAILABLE, UserSettingTypeEnum.PREPACKAGED.getName()); + } + JsonNode settingParse = JsonUtils.parseTree(JsonUtils.unzipString(setting)); boolean autoPack = settingParse.get("autoPack").asBoolean(); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.xml index 08ef851f9..7f4762d3b 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/process/ProductionProcessMapper.xml @@ -172,7 +172,7 @@ SELECT * FROM orders - WHERE create_time < #{createTime} and organ_id = #{organId} and deleted = false + WHERE organ_id = #{organId} and deleted = false and status != 0 and create_time < #{createTime} and id != #{orderId} ORDER BY create_time desc LIMIT 1 ; diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml index 12c68f779..b1744f594 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml @@ -76,19 +76,19 @@ o.salesman as salesman, o.splitter as splitter, o.packaged as packaged, - count(distinct oi.plate_id) as totalPieceCount + (count(distinct oi.plate_id )-1) as totalPieceCount FROM `orders` o join order_item oi on o.id = oi.order_id and o.organ_id = oi.organ_id WHERE - o.organ_id = #{organId} and oi.plate_id != 0 and + o.organ_id = #{organId} and o.id in #{id} - group by orderNo,customOrderNo,dealer,createTime,deliveryDate,customer,phoneNumber,address,salesman,splitter,packaged,dealerPhoneNumber,orderDate + group by orderNo,customOrderNo,dealer,deliveryDate,customer,phoneNumber,address,salesman,splitter,packaged,dealerPhoneNumber,orderDate,o.create_time order by o.create_time desc @@ -133,6 +133,7 @@ organ_id =#{organId} and deleted = false + and status != 0 and id like concat('%', #{pageReqVO.orderId},'%') diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/setting/SettingApiImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/setting/SettingApiImpl.java index 847a6ff12..df00d986b 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/setting/SettingApiImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/setting/SettingApiImpl.java @@ -1,6 +1,7 @@ package com.cf.imes.module.system.api.setting; +import com.cf.imes.framework.common.enums.UserSettingTypeEnum; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.security.core.LoginUser; import com.cf.imes.module.system.api.setting.dto.PackageConfigDTO; @@ -11,7 +12,9 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +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.CURRENTLY_NO_CONFIGURATION_AVAILABLE; @RestController // 提供 RESTful API 接口,给 Feign 调用 @Validated @@ -26,8 +29,13 @@ public class SettingApiImpl implements SettingApi{ public PackageConfigDTO getUserSetting(Integer type) { LoginUser loginUser = getLoginUser(); + assert loginUser != null; PackageConfigDO packageConfigDO = settingMapper.selectSetting(type, loginUser.getId(), loginUser.getOrganId()); + if(packageConfigDO == null){ + throw exception(CURRENTLY_NO_CONFIGURATION_AVAILABLE,type == 1 ? UserSettingTypeEnum.PREPACKAGED.getName(): UserSettingTypeEnum.PACKAGED.getName()); + } + return BeanUtils.toBean(packageConfigDO,PackageConfigDTO.class); }