未排单,排单,打包数量接口数据问题修改

This commit is contained in:
liuzhaotian
2024-08-27 14:37:57 +08:00
parent 8b762745ec
commit 2248f89e70
11 changed files with 101 additions and 67 deletions
@@ -1,17 +1,14 @@
package com.cf.imes.module.executor.dal.mysql.planitem;
import java.util.*;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderRespVO;
import com.cf.imes.module.executor.controller.admin.plan.vo.PlanOrderRespVO;
import com.cf.imes.module.executor.controller.admin.plan.vo.PlateInfoVO;
import com.cf.imes.module.executor.dal.dataobject.planitem.PlanItemDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 生产单开料排单明细 Mapper
*
@@ -481,7 +481,7 @@ public class PlanServiceImpl implements PlanService {
.map(PlateInfoVO::getArea)
.reduce(BigDecimal.ZERO,BigDecimal::add));
plateInfoVO.setOptimizeGoodsCount(plateInfoVOList.stream().filter(s->s.getGoodsId().equals(plateInfoVO.getGoodsId())).mapToLong(PlateInfoVO::getOptimizeGoodsCount).sum());
// plateInfoVO.setOptimizeGoodsCount(plateInfoVOList.stream().filter(s->s.getGoodsId().equals(plateInfoVO.getGoodsId())).mapToLong(PlateInfoVO::getOptimizeGoodsCount).sum());
}
@@ -563,7 +563,7 @@ public class PlanServiceImpl implements PlanService {
// .eq("a.status",OrderStatusEnum.SORTED.getStatus())
.eq("a.deleted",false)
.in("a.status",statusList)
.isNotNull("opi.item_id")
.isNull("opi.item_id")
// todo 修改排单数据筛选,目前只解决了非混单的情况,混单情况待解决
.inIfPresent("op.goods_id",goodsDOS.isEmpty() ? null :goodsDOS.stream().map(GoodsDO::getId).toList())
@@ -575,7 +575,8 @@ public class PlanServiceImpl implements PlanService {
.eqIfPresent("a.address", pageReqVO.getConsigneeAddress())
.betweenIfPresent("a.create_time", pageReqVO.getCreateTime())
.groupBy("a.id", " a.order_date", "a.delivery_date", "a.customer", "a.address", "a.custom_order_no","a.create_time","a.update_time","a.status")
.orderByDesc("a.update_time");
.having("count(op.id) != 0")
.orderByDesc("a.create_time");
IPage<OrderRespVOCopy> orderRespVOCopies = orderMapper.selectOrderPage(page, queryWrapperX);
@@ -597,7 +598,7 @@ public class PlanServiceImpl implements PlanService {
queryWrapperX
.eq("c.organ_id",getUserOrganId())
.inIfPresent("c.order_id", pageReqVO.getOrderIds())
.isNotNull("opi.item_id")
.isNull("opi.item_id")
.inIfPresent("oi.room_id",pageReqVO.getRoomId())
.inIfPresent("oi.body_id",pageReqVO.getBodyId())
.eqIfPresent("a.is_special_shaped", pageReqVO.getRectangle() != null ? false: null)
@@ -723,16 +724,10 @@ public class PlanServiceImpl implements PlanService {
QueryWrapperX<OrderDO> queryWrapperX = new QueryWrapperX<>();
queryWrapperX
.eq("oi.organ_id",getUserOrganId())
// .in("a.status",statusList)
.eq("og.deleted",false)
// .likeIfPresent("oi.order_id", pageReqVO.getOrderId() != null ? pageReqVO.getOrderId().toString() : null)
.inIfPresent("oi.order_id", orderIds)
.isNotNull("opi.item_id")
.isNull("opi.item_id")
.isNotNull("og.id")
// .eqIfPresent("a.customer", pageReqVO.getConsignee())
// .eqIfPresent("a.custom_order_no", pageReqVO.getDefaultId())
// .eqIfPresent("a.address", pageReqVO.getConsigneeAddress())
// .betweenIfPresent("a.create_time", pageReqVO.getCreateTime())
// todo 修改排单数据筛选,目前只解决了非混单的情况,混单情况待解决
.eqIfPresent("og.goods_id",pageReqVO.getGoodsId())
@@ -4,7 +4,7 @@
<select id="selectOrderPage" resultType="com.cf.imes.module.executor.controller.admin.plan.vo.OrderRespVOCopy">
select distinct a.id as orderId, a.order_date, a.delivery_date, a.customer, a.address, a.custom_order_no as defineId,a.status,
count(op.id) as num, sum(op.area) as area,a.update_time
count(op.id) as num, sum(op.area) as area,a.update_time,a.create_time
from `orders` a
left join order_item oi on a.id = oi.order_id and a.organ_id = oi.organ_id
left join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id
@@ -41,7 +41,6 @@
og.order_id as orderId,
og.id as id,
count(distinct op.id) as plateNum
-- sum(op.area) as area
from order_plan_item opi
left join order_item oi on opi.item_id = oi.id and opi.organ_id = oi.organ_id
@@ -55,6 +54,8 @@
#{ids}
</foreach>
and og.goods_id !=0
group by planId,material,width,height,thickness,color,goodsId,orderId,id;
</select>
@@ -779,7 +779,7 @@
select
og.goods_id as goodsId,
count(distinct og.id) as optimizeGoodsCount,
-- count(distinct og.id) as optimizeGoodsCount,
sum(op.area) as area
from order_plate op