开料关联生产单状态问题修改

This commit is contained in:
liuzhaotian
2024-10-24 17:10:18 +08:00
parent 032745ee54
commit bcf97b6bb6
4 changed files with 15 additions and 18 deletions
@@ -110,15 +110,6 @@ public interface GoodsMapper extends BaseMapperX<GoodsDO> {
List<GoodsDO> selectPlanGoodsDataSource(@Param("filed") String filed,@Param("planId") Long planId ,@Param("organId") Long organId);
// default GoodsDO selectGoodsId(Long orderId, String goodsId, Long organId) {
// return selectOne(new LambdaQueryWrapperX<GoodsDO>()
// .eq(GoodsDO::getOrganId, organId)
// .eq(GoodsDO::getDeleted, false)
// .eq(GoodsDO::getGoodsId, goodsId)
// .eq(GoodsDO::getOrderId, orderId)
// .select(GoodsDO::getId));
//
// }
GoodsDO selectGoodsId(@Param("orderId") Long orderId,@Param("goodsId") String goodsId,@Param("organId") Long organId);
@@ -217,7 +208,7 @@ public interface GoodsMapper extends BaseMapperX<GoodsDO> {
return selectList(new LambdaQueryWrapperX<GoodsDO>()
.eq(GoodsDO::getOrganId, organId)
.eq(GoodsDO::getDeleted, false)
.inIfPresent(GoodsDO::getOrderId,orderIds)
.in(GoodsDO::getOrderId,orderIds)
.eq(GoodsDO::getPlanId,0)
.select(GoodsDO::getOrderId));
@@ -98,7 +98,6 @@ public interface OrderMapper extends BaseMapperX<OrderDO> {
IPage<OrderRespVOCopy> selectOrderPage(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper<OrderDO> wrapper);
// IPage<OrderRespVOCopy> selectOrderPage(@Param("page") IPage page,@Param("pageReqVO") OrderPageReqVOCopy pageReqVO, @Param("organId") Long organId);
Map<String, Object> selectDynamicSqlString(@Param("sqlStr") String sqlStr);
@@ -273,9 +272,9 @@ public interface OrderMapper extends BaseMapperX<OrderDO> {
default List<OrderDO> selectOrderPackList(List<Long> orderIds, Long organId) {
return selectList(new LambdaQueryWrapperX<OrderDO>()
.eqIfPresent(OrderDO::getOrganId, organId)
.eq(OrderDO::getOrganId, organId)
.eq(OrderDO::getDeleted, false)
.inIfPresent(OrderDO::getId,orderIds)
.in(OrderDO::getId,orderIds)
.eq(OrderDO::getPackaged, OrderPackageStatusEnum.PACKAGED.getStatus()));
}
@@ -189,6 +189,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
List<PlateDO> plateDOS = plateMapper.selectPlateByPlateNo(plateNo.stream().distinct().toList(), getUserOrganId());
AssertUtils.notEmpty(plateDOS,ORDER_PLAN_OPTIMIZE_ERROR);
List<Long> orderIds = new ArrayList<>(plateDOS.stream().map(PlateDO::getOrderId).distinct().toList());
@@ -248,15 +249,21 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
planMapper.updateById(planDO);
List<Long> deleteOrderIds = goodsMapper.selectNoPlanOrdersListByOrderIds(orderIds, getUserOrganId()).stream().map(GoodsDO::getOrderId).distinct().toList();
// 需要去除的生产单ID
List<Long> deleteOrderIds = new ArrayList<>();
// 筛选出还有未排单的生产单ID
deleteOrderIds.addAll(goodsMapper.selectNoPlanOrdersListByOrderIds(orderIds, getUserOrganId()).stream().map(GoodsDO::getOrderId).distinct().toList());
// 筛选出生产单对应的排单里状态为 未排单的 生产单ID
deleteOrderIds.addAll(goodsMapper.selectOrderPlanList(orderIds, getUserOrganId()));
// 去除
orderIds.removeAll(deleteOrderIds);
if(ObjectUtil.isNotEmpty(orderIds)) {
List<Long> orderIdList = goodsMapper.selectOrderPlanList(orderIds, getUserOrganId());
List<OrderDO> orderDOS = orderMapper.selectOrderPackList(orderIdList, getUserOrganId());
List<OrderDO> orderDOS = orderMapper.selectOrderPackList(orderIds, getUserOrganId());
if (ObjectUtil.isNotEmpty(orderDOS)) {
List<OrderDO> orderDOList = orderDOS.stream().map(m -> m.setStatus(OrderStatusEnum.FINISH_PRODUCTION.getStatus())).toList();
@@ -467,7 +467,7 @@
<foreach item="orderIds" collection="orderIds" open="(" separator="," close=")">
#{orderIds}
</foreach>
and op.status = 2
and op.status in (0,1);
</select>