mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
禅道排单Bug修改
This commit is contained in:
+5
-3
@@ -11,8 +11,7 @@ import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
import static com.cf.imes.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;
|
||||
import static com.cf.imes.framework.common.util.date.DateUtils.*;
|
||||
|
||||
/**
|
||||
* @author there
|
||||
@@ -32,11 +31,14 @@ public class OrderRespVOCopy {
|
||||
@Schema(description = "地址")
|
||||
private String address;
|
||||
@Schema(description = "订单日期")
|
||||
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
|
||||
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
|
||||
private Date orderDate;
|
||||
@Schema(description = "交付日期")
|
||||
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
|
||||
private Date deliveryDate;
|
||||
@Schema(description = "更新时间")
|
||||
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
|
||||
private Date updateTime;
|
||||
@Schema(description = "片数")
|
||||
private int num;
|
||||
@Schema(description = "平方")
|
||||
|
||||
+6
-4
@@ -45,8 +45,8 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
|
||||
.leftJoin(OrderItemDO.class, OrderItemDO::getId, PlanItemDO::getItemId)
|
||||
.leftJoin(OrderDO.class, OrderDO::getId, OrderItemDO::getOrderId)
|
||||
.like(OrderDO::getCustomer, reqVO.getCustomer())
|
||||
.orderByAsc(PlanDO::getSort)
|
||||
.orderByDesc(PlanDO::getId)
|
||||
.orderBy(true, true, PlanDO::getSort)
|
||||
.orderByDesc(PlanDO::getUpdateTime)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -64,14 +64,16 @@ public interface PlanMapper extends BaseMapperX<PlanDO> {
|
||||
.betweenIfPresent(PlanDO::getCreateTime, reqVO.getCreateTime())
|
||||
.eqIfPresent(PlanDO::getOperator, reqVO.getOperator())
|
||||
.betweenIfPresent(PlanDO::getProduceTime, reqVO.getProduceTime())
|
||||
.orderByDesc(PlanDO::getSort));
|
||||
// .orderByDesc(PlanDO::getId));
|
||||
.orderBy(true, true, PlanDO::getSort)
|
||||
.orderByDesc(PlanDO::getUpdateTime));
|
||||
}
|
||||
|
||||
List<PlateOptimize> selectPlateListByPlanId(@Param("planId") Long planId, @Param("organId") Long organId);
|
||||
|
||||
OptimizeParamRespVO getOptimizePlanParam(Long planId);
|
||||
|
||||
PlanDO selectPlanByOrderIds(@Param("ids") List<Long> ids);
|
||||
|
||||
|
||||
//
|
||||
// default PlanDO selectByOrderId(Long orderId) {
|
||||
|
||||
+4
-1
@@ -70,7 +70,7 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
|
||||
}
|
||||
|
||||
// IPage<PlatePage> selectPlatePage(@Param("page") IPage<PlatePage> page, @Param("orderId")Long organId, @Param("goodsId") String goodsId);
|
||||
List<PlatePage> selectPlatePage(/*@Param("page") IPage<PlatePage> page,*/ @Param("orderId")Long orderId,@Param("organId") Long organId/*, @Param("goodsId") String goodsId*/);
|
||||
List<PlatePage> selectPlatePage( @Param("orderId") Long orderId,@Param("organId") Long organId/*, @Param("goodsId") String goodsId*/);
|
||||
|
||||
IPage<PlateResList> selectPlateByPlanId(@Param("page") IPage<PlateResList> page, @Param(Constants.WRAPPER) Wrapper<PlateDO> wrapper);
|
||||
|
||||
@@ -120,4 +120,7 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
|
||||
|
||||
// 根据需要删除的小板id查找具体信息
|
||||
List<PlateGoodsIdVO> selectPlateGoodsListByList(@Param("plates") List<Long> goodsIdList, @Param("orderId") Long orderId, @Param("organId") Long organId);
|
||||
|
||||
|
||||
List<PlatePage> selectGoodsPage( @Param("orderIds") List<Long> orderIds, @Param("organId") Long organId);
|
||||
}
|
||||
+34
-15
@@ -214,6 +214,12 @@ public class PlanServiceImpl implements PlanService {
|
||||
}
|
||||
}
|
||||
|
||||
private void validatePlan(List<Long> ids) {
|
||||
|
||||
planMapper.selectPlanByOrderIds(ids);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlanRespVO getPlan(Long id) {
|
||||
PlanDO planDO = planMapper.selectById(id);
|
||||
@@ -321,8 +327,9 @@ public class PlanServiceImpl implements PlanService {
|
||||
queryWrapperX
|
||||
.eq("a.organ_id",getUserOrganId())
|
||||
.eq("a.status",OrderStatusEnum.NO_SORT.getStatus())
|
||||
.eq("a.deleted",false)
|
||||
.likeIfPresent("a.id", pageReqVO.getOrderId() != null ? pageReqVO.getOrderId().toString() : null)
|
||||
.isNull("opi.item_id")
|
||||
// .isNull("opi.item_id")
|
||||
.eqIfPresent("a.customer", pageReqVO.getConsignee())
|
||||
.eqIfPresent("a.custom_order_no", pageReqVO.getDefaultId())
|
||||
.eqIfPresent("a.address", pageReqVO.getConsigneeAddress())
|
||||
@@ -332,8 +339,8 @@ public class PlanServiceImpl implements PlanService {
|
||||
.eqIfPresent("op.is_door", pageReqVO.getIsDoor())
|
||||
.betweenIfPresent("op.height", new BigDecimal[]{pageReqVO.getLongMinRang(), pageReqVO.getLongMaxRang()})
|
||||
.betweenIfPresent("op.width", new BigDecimal[]{pageReqVO.getWidthMinRang(), pageReqVO.getWidthMaxRang()})
|
||||
.groupBy("a.id", " a.order_date", "a.delivery_date", "a.customer", "a.address", "a.custom_order_no","a.create_time")
|
||||
/* .orderByDesc("a.create_time")*/;
|
||||
.groupBy("a.id", " a.order_date", "a.delivery_date", "a.customer", "a.address", "a.custom_order_no","a.create_time","a.update_time")
|
||||
.orderByDesc("a.update_time");
|
||||
List<Integer> filterTypes = new ArrayList<>();
|
||||
if (Objects.nonNull(pageReqVO.getHoleThrough()) && pageReqVO.getHoleThrough()) {
|
||||
filterTypes.add(PlanFilterTypeEnum.DIGGINGTHROUGHTHESHAPE.getType());
|
||||
@@ -350,12 +357,30 @@ public class PlanServiceImpl implements PlanService {
|
||||
IPage<OrderRespVOCopy> orderRespVOCopies = orderMapper.selectOrderPage(page, queryWrapperX);
|
||||
|
||||
List<OrderRespVOCopy> records = orderRespVOCopies.getRecords();
|
||||
for (OrderRespVOCopy orderRespVOCopy : records) {
|
||||
List<Long> orderIds = records.stream().map(m -> m.getOrderId()).collect(Collectors.toList());
|
||||
|
||||
List<PlatePage> platePages = plateMapper.selectPlatePage(orderRespVOCopy.getOrderId(),getUserOrganId()/*, orderRespVOCopy.getGoodsId()*/);
|
||||
orderRespVOCopy.setPlatePages(platePages);
|
||||
|
||||
}
|
||||
List<PlatePage> platePages = plateMapper.selectGoodsPage(orderIds,getUserOrganId()/*, orderRespVOCopy.getGoodsId()*/);
|
||||
|
||||
|
||||
|
||||
List<OrderRespVOCopy> filteredRecords = records.stream()
|
||||
.filter(record -> {
|
||||
List<PlatePage> filteredPages = platePages.stream()
|
||||
.filter(f -> Objects.equals(f.getOrderId(), record.getOrderId()))
|
||||
.collect(Collectors.toList());
|
||||
if (filteredPages.isEmpty()) {
|
||||
return false; // 移除该记录
|
||||
} else {
|
||||
record.setPlatePages(filteredPages);
|
||||
return true; // 保留该记录
|
||||
}
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 处理后的 filteredRecords 将不包含过滤后的数据为空的 record
|
||||
orderRespVOCopies.setRecords(filteredRecords);
|
||||
orderRespVOCopies.setTotal(filteredRecords.size());
|
||||
|
||||
|
||||
if (CollectionUtil.isEmpty(records)) {
|
||||
@@ -364,18 +389,11 @@ public class PlanServiceImpl implements PlanService {
|
||||
|
||||
return new PageResult<>(orderRespVOCopies.getRecords(), orderRespVOCopies.getTotal());
|
||||
|
||||
|
||||
// IPage<OrderRespVOCopy> orderDOPageResult = orderMapper.selectOrderPage(queryWrapperX);
|
||||
|
||||
// if (CollectionUtil.isEmpty(orderDOPageResult.getRecords())) {
|
||||
// return new PageResult<>();
|
||||
// }
|
||||
// return new PageResult<>(orderDOPageResult.getRecords(), orderDOPageResult.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PlatePage> getNotPlanPlateListPage(PlateReqPageVO pageVO) {
|
||||
// PageDTO<PlatePage> page = new PageDTO<>(pageVO.getPageNo(), pageVO.getPageSize());
|
||||
|
||||
List<PlatePage> pageRes = plateMapper.selectPlatePage(/*page, */pageVO.getOrderId(),getUserOrganId()/*, pageVO.getGoodsId()*/);
|
||||
return pageRes;
|
||||
}
|
||||
@@ -445,6 +463,7 @@ public class PlanServiceImpl implements PlanService {
|
||||
queryWrapperX.in("p.plan_id", vo.getPlanIds())
|
||||
.eq("a.organ_id",getUserOrganId())
|
||||
.eqIfPresent("a.is_door", vo.getIsDoor())
|
||||
.eqIfPresent("a.is_special_shaped", vo.getRectangle() != null ? false: null)
|
||||
.eqIfPresent("a.is_special_shaped", vo.getSpecialShaped())
|
||||
.eqIfPresent("a.is_sculpt", vo.getSculpt())
|
||||
.betweenIfPresent("a.width", new BigDecimal[]{vo.getWidthMinRang(), vo.getWidthMaxRang()})
|
||||
|
||||
+5
-3
@@ -4,17 +4,19 @@
|
||||
|
||||
<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,
|
||||
count(op.id) as num, sum(op.area) as area
|
||||
count(op.id) as num, sum(op.area) as area,a.update_time
|
||||
from `orders` a
|
||||
left join order_item oi on a.id = oi.order_id and a.organ_id = oi.organ_id
|
||||
inner join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id
|
||||
inner join order_goods og on op.goods_id = og.id and op.organ_id = og.organ_id
|
||||
left join order_plan_item opi on oi.id = opi.item_id and oi.organ_id = opi.organ_id
|
||||
|
||||
${ew.customSqlSegment}
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
<!-- inner join order_goods og on op.goods_id = og.id and op.organ_id = og.organ_id
|
||||
left join order_plan_item opi on oi.id = opi.item_id and oi.organ_id = opi.organ_id
|
||||
-->
|
||||
<select id="selectDynamicSqlString" resultType="java.util.Map">
|
||||
${sqlStr}
|
||||
</select>
|
||||
|
||||
+2
@@ -121,4 +121,6 @@
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectPlanByOrderIds" resultType="com.cf.imes.module.executor.dal.dataobject.plan.PlanDO"></select>
|
||||
|
||||
</mapper>
|
||||
+35
@@ -329,4 +329,39 @@
|
||||
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectGoodsPage" resultType="com.cf.imes.module.executor.controller.admin.plan.vo.PlatePage">
|
||||
|
||||
|
||||
|
||||
select distinct b.id as orderId,
|
||||
c.width,
|
||||
c.height,
|
||||
c.thickness,
|
||||
c.goods_name,
|
||||
c.material,
|
||||
c.color,
|
||||
count(a.id) as num,
|
||||
sum( a.area) as area
|
||||
|
||||
from order_plate a
|
||||
LEFT JOIN order_item oi on a.id = oi.plate_id and a.order_id = oi.order_id and a.organ_id = oi.organ_id
|
||||
LEFT JOIN `orders` b on a.order_id = b.id and a.organ_id = b.organ_id
|
||||
LEFT JOIN order_goods c on a.goods_id = c.id and a.organ_id = c.organ_id
|
||||
left join order_plan_item opi on oi.id = opi.item_id and oi.organ_id = opi.organ_id
|
||||
where
|
||||
c.organ_id = #{organId}
|
||||
and a.is_cancel = 0
|
||||
and opi.item_id is null
|
||||
and c.order_id in
|
||||
<foreach collection="orderIds" item="orderIds" open="(" close=")" separator=",">
|
||||
#{orderIds}
|
||||
</foreach>
|
||||
|
||||
group by b.id ,c.goods_name,c.width,c.height,c.thickness, c.material, c.color;
|
||||
|
||||
|
||||
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user