Merge branch 'main' of ssh://192.168.1.205:9922/cf_devdept2/cf_imes_server

This commit is contained in:
lym
2024-05-20 17:01:25 +08:00
5 changed files with 29 additions and 6 deletions
@@ -84,6 +84,9 @@ public class PlateDetialRespVO {
@Schema(description = "开门类型,0 无 1 左 2 右 3 上 4 下", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
private Integer openDoorType;
@Schema(description = "是否有孔", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
private Boolean hasHole;
@Schema(description = "生产单明细ID", requiredMode = Schema.RequiredMode.REQUIRED)
private Long itemId;
@@ -67,4 +67,11 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
OptimizeParamRespVO getOptimizePlanParam(Long planId);
default PlanDO selectByOrderId(Long orderId) {
return selectOne(new MPJLambdaWrapperX<PlanDO>()
.eqIfPresent(PlanDO::getOrderNos, orderId));
}
}
@@ -95,5 +95,5 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
List<PlateDetialRespVO> selectPlateDetialList(@Param("orderId") Long orderId);
List<PlateDetialRespVO> selectPlateDetialListByIds(@Param("orderIds") Set<Long> orderIds);
List<PlateDetialRespVO> selectPlateDetialListByIds(@Param("orderIds") List<Long> orderIds);
}
@@ -304,10 +304,14 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
List<GoodsDO> goodsDOS = goodsMapper.selectList(new LambdaQueryWrapperX<GoodsDO>()
.eq(GoodsDO::getOrderId, orderId)
);
PlanDO planDO = planMapper.selectByOrderId(orderId);
List<PlateDetialRespVO> plateDOS = plateMapper.selectPlateDetialList(orderId);
List<OrderModelDO> orderModelDOS = buildRespByOrderId(orderId, ORDER_PLATE_MODEL);
orderSource.setPlan(planDO);
orderSource.setOrderList(Collections.singletonList(orderDO));
orderSource.setPlateList(plateDOS);
orderSource.setGoodsList(goodsDOS);
@@ -330,8 +334,10 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
.eq(PlanItemDO::getPlanId, planId)
.isNotNull(OrderItemDO::getId);
List<OrderItemDO> orderItemDOS = orderItemMapper.selectJoinList(OrderItemDO.class, wrapper);
Set<Long> orderIds = orderItemDOS.stream().map(OrderItemDO::getOrderId).collect(Collectors.toSet());
List<Long> orderIds = orderItemDOS.stream().map(OrderItemDO::getOrderId).collect(Collectors.toList());
List<OrderDO> orderDOS = orderMapper.selectBatchIds(orderIds);
List<GoodsDO> goodsDOS = goodsMapper.selectList(new LambdaQueryWrapperX<GoodsDO>().in(GoodsDO::getOrderId, orderIds));
List<PlateDetialRespVO> plateDOS = plateMapper.selectPlateDetialListByIds(orderIds);
@@ -119,6 +119,7 @@
<result property="bodyName" column="bodyName"/>
<result property="roomName" column="roomName"/>
<result property="processGroupName" column="processGroupName"/>
<result property="hasHole" column="hasHole"/>
</resultMap>
<select id="selectPlateDetialList"
@@ -129,7 +130,8 @@
oi.id as itemId,
ob.name as bodyName,
ob.room_name as roomName,
og.name as processGroupName
og.name as processGroupName,
CASE WHEN op.unregular_point_count = 0 and op.front_hole_count = 0 and op.back_hole_count = 0 and op.side_hole_count = 0 THEN false ELSE true END AS hasHole
from order_plate op
join order_item oi on op.id = oi.plate_id
join order_body ob on oi.body_id = ob.id
@@ -147,14 +149,19 @@
oi.id as itemId,
ob.name as bodyName,
ob.room_name as roomName,
og.name as processGroupName
og.name as processGroupName,
CASE WHEN op.unregular_point_count = 0 and op.front_hole_count = 0 and op.back_hole_count = 0 and op.side_hole_count = 0 THEN false ELSE true END AS hasHole
from order_plate op
join order_item oi on op.id = oi.plate_id
join order_body ob on oi.body_id = ob.id
left join order_group og on oi.group_id = og.id
where op.order_id in
<foreach collection="id" item="orderIds" open="(" close=")" separator=",">
#{id}
<foreach collection="orderIds" item="orderIds" open="(" close=")" separator=",">
#{orderIds}
</foreach>
</select>