禅道bug#1654修复

This commit is contained in:
gaoqr
2026-06-09 17:54:22 +08:00
parent 57f3fa6428
commit 1bfb11845b
4 changed files with 24 additions and 3 deletions
@@ -25,5 +25,9 @@ public class NoPlanFilterPlateReqVO {
@NotEmpty(message = "大板ID不能为空") @NotEmpty(message = "大板ID不能为空")
private List<String> goodsIdList; private List<String> goodsIdList;
@Schema(description = "柜体ID列表")
private List<Long> bodyIds;
@Schema(description = "房间ID列表")
private List<Long> roomIds;
} }
@@ -204,7 +204,11 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
* @param organId * @param organId
* @return * @return
*/ */
List<PlateDetailDO> selectNoPlanPlate(@Param("orderIds") List<Long> orderIds, @Param("ids") List<Long> ids, @Param("organId") Long organId); List<PlateDetailDO> selectNoPlanPlate(@Param("orderIds") List<Long> orderIds,
@Param("ids") List<Long> ids,
@Param("roomIds") List<Long> roomIdList,
@Param("bodyIds") List<Long> bodyIdList,
@Param("organId") Long organId);
/** /**
* 查询未排单板件(带添加小板筛选) * 查询未排单板件(带添加小板筛选)
@@ -779,7 +779,8 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
} }
// 查询未排单小板 // 查询未排单小板
List<PlateDetailDO> plateDetailRespVOS = plateMapper.selectNoPlanPlate(orderIds, orderGoodsIds, getUserOrganId()); List<PlateDetailDO> plateDetailRespVOS = plateMapper.selectNoPlanPlate(
orderIds, orderGoodsIds, reqVO.getRoomIds(), reqVO.getBodyIds(), getUserOrganId());
AssertUtils.notEmpty(plateDetailRespVOS, ORDER_PLATE_EMPTY); AssertUtils.notEmpty(plateDetailRespVOS, ORDER_PLATE_EMPTY);
@@ -488,7 +488,7 @@
AND op.order_id = ogs.order_id AND op.order_id = ogs.order_id
AND op.goods_id = ogs.id AND op.goods_id = ogs.id
LEFT JOIN ( JOIN (
SELECT plate_id, SELECT plate_id,
group_id, group_id,
comp_id comp_id
@@ -500,6 +500,18 @@
#{orderIds} #{orderIds}
</foreach> </foreach>
and organ_id = #{organId} and organ_id = #{organId}
<if test="roomIds != null and roomIds.size() > 0">
AND room_id IN
<foreach item="roomIdItem" collection="roomIds" open="(" separator="," close=")">
#{roomIdItem}
</foreach>
</if>
<if test="bodyIds != null and bodyIds.size() > 0">
AND body_id IN
<foreach item="bodyIdItem" collection="bodyIds" open="(" separator="," close=")">
#{bodyIdItem}
</foreach>
</if>
GROUP BY plate_id, group_id, comp_id GROUP BY plate_id, group_id, comp_id
) oi ) oi
ON op.id = oi.plate_id ON op.id = oi.plate_id