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

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,14 +1,15 @@
package com.cf.imes.module.manage.dal.mysql.pack;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.cf.imes.framework.common.enums.OrderPackageStatusEnum;
import com.cf.imes.framework.common.enums.OrderPackageTypeEnum;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO;
import com.cf.imes.module.manage.controller.admin.pack.vo.PackageDetailsReqVO;
import com.cf.imes.module.manage.controller.admin.pack.vo.PlateAndPartIdList;
import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO;
import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO;
@@ -30,8 +31,9 @@ public interface OrderPackageMapper extends BaseMapperX<OrderPackageDO> {
// }
IPage<OrderPackageVO> selectByOrderNo(@Param("page") IPage page, @Param("reqVO") PackageDetailsReqVO reqVO, @Param("organId") Long organId);
// IPage<OrderPackageVO> selectByOrderNo(@Param("page") IPage page, @Param("reqVO") PackageDetailsReqVO reqVO,@Param("packId") List<Long> packId, @Param("organId") Long organId);
IPage<OrderPackageVO> selectByOrderNo(@Param("page") IPage page, @Param(Constants.WRAPPER) Wrapper<OrderPackageDO> wrapper);
default OrderPackageDO selectByPackNo(String packNo,Long organId) {
return selectOne(new LambdaQueryWrapperX<OrderPackageDO>()
@@ -38,11 +38,11 @@ public interface OrderPlateMapper extends BaseMapperX<OrderPlateDO> {
}
default OrderPlateDO selectplateByPlateNo(Long plateNo, Long orderId, Long organId) {
return selectOne(new LambdaQueryWrapperX<OrderPlateDO>()
default List<OrderPlateDO> selectplateByPlateNo(Long plateNo, Long orderId, Long organId) {
return selectList(new LambdaQueryWrapperX<OrderPlateDO>()
.eq(OrderPlateDO::getOrganId, organId)
.eq(OrderPlateDO::getOrderId, orderId)
.eqIfPresent(OrderPlateDO::getPlateNo, plateNo)
.likeIfPresent(OrderPlateDO::getPlateNo, plateNo.toString())
.select(OrderPlateDO::getId));
}
}
@@ -106,4 +106,12 @@ public interface OrderItemMapper extends BaseMapperX<OrderItemDO> {
.eq(OrderItemDO::getPackageId,0)
.select(OrderItemDO::getPartsId));
}
default List<OrderItemDO> selectPackByPlateId(List<Long> plateId, Long organId) {
return selectList(new LambdaQueryWrapperX<OrderItemDO>()
.eq(OrderItemDO::getOrganId, organId)
.inIfPresent(OrderItemDO::getPlateId, plateId)
.select(OrderItemDO::getPackageId));
}
}
@@ -10,6 +10,7 @@ import com.cf.imes.framework.common.enums.UserSettingTypeEnum;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.json.JsonUtils;
import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
import com.cf.imes.module.manage.controller.admin.pack.prePack.PackPlateList;
import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackOptimizeInfo;
import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackReqVO;
@@ -279,14 +280,36 @@ public class PackServiceImpl implements PackService {
PageDTO<OrderPackageVO> page = new PageDTO<>(reqVO.getPageNo(), reqVO.getPageSize());
List<Long> packId = null;
// if(reqVO.getPlateNo()!= null){
//
// orderPlateMapper.selectplateByPlateNo(reqVO.getPlateNo(),reqVO.getOrderId(),getUserOrganId());
//
// }
if(reqVO.getPlateNo()!= null){
IPage<OrderPackageVO> orderPackageDOIPage = orderPackageMapper.selectByOrderNo(page,reqVO, getUserOrganId());
List<Long> plateId = orderPlateMapper.selectplateByPlateNo(reqVO.getPlateNo(), reqVO.getOrderId(), getUserOrganId())
.stream().map(OrderPlateDO::getId).toList();
if(plateId.isEmpty()){
return null;
}
packId = orderItemMapper.selectPackByPlateId(plateId, getUserOrganId()).stream().map(OrderItemDO::getPackageId).distinct().toList();
}
QueryWrapperX<OrderPackageDO> queryWrapperX = new QueryWrapperX<>();
queryWrapperX
.eq("o.organ_id",getUserOrganId())
.eq("o.deleted",false)
.eq("op.deleted",false)
.eq("o.id",reqVO.getOrderId())
.likeIfPresent("op.package_no",reqVO.getPackageNo())
.inIfPresent("op.id",packId)
.eqIfPresent("op.status", reqVO.getPackStatus())
.orderByDesc("op.create_time");
IPage<OrderPackageVO> orderPackageDOIPage = orderPackageMapper.selectByOrderNo(page,queryWrapperX);
if (CollectionUtil.isEmpty(orderPackageDOIPage.getRecords())) {
@@ -27,6 +27,8 @@
and status !=0
and deleted = false
and order_id in
<foreach item="id" collection="orderIds" open="(" separator="," close=")">
#{id}
@@ -158,55 +160,60 @@
<select id="selectByOrderNo"
resultType="com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO"
parameterType="map">
resultType="com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO">
select distinct
opn.id,
opn.order_id,
opn.package_no,
opn.type,
opn.status,
opn.organ_id,
opn.creator,
opn.remark as packRemark,
opn.updater,
opn.update_time,
opn.create_time,
op.id,
op.order_id,
op.package_no,
op.type,
op.status,
op.organ_id,
op.creator,
op.remark as packRemark,
op.updater,
op.update_time,
op.create_time,
o.custom_order_no,
o.dealer,
o.customer,
o.address,
o.remark as orderRemark
from order_package opn
join orders o on opn.order_id = o.id and opn.organ_id = o.organ_id
join order_item oi on opn.id = oi.package_id and opn.organ_id = oi.organ_id
left join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id
<where>
<if test="reqVO.orderId !=null">
and opn.order_id = #{reqVO.orderId}
</if>
<if test="reqVO.plateNo !=null ">
and op.plate_no like concat('%', #{reqVO.plateNo},'%')
</if>
<if test="reqVO.packStatus !=null ">
and opn.status= #{reqVO.packStatus}
</if>
<if test="reqVO.packageNo !=null and reqVO.packageNo != '' ">
and opn.package_no like concat('%', #{reqVO.packageNo},'%')
</if>
and opn.organ_id = #{organId}
</where>
from orders o
left join order_package op on o.id = op.order_id and o.organ_id = op.organ_id
${ew.customSqlSegment}
</select>
<!-- <where>
o.organ_id = #{organId}
<if test="reqVO.orderId !=null">
and o.id = #{reqVO.orderId}
</if>
<if test="packId !=null">
and op.id in
<foreach item="packId" collection="packId" open="(" separator="," close=")">
#{packId}
</foreach>
</if>
<if test="reqVO.packStatus !=null ">
and op.status= #{reqVO.packStatus}
</if>
<if test="reqVO.packageNo !=null and reqVO.packageNo != '' ">
and op.package_no like concat('%', #{reqVO.packageNo},'%')
</if>
</where>-->
<select id="selectOrderPack"
resultType="com.cf.imes.module.manage.controller.admin.pack.vo.PlateAndPartIdList">