Browse Source

自提取消、商配计划取消修复

dev-pushdata-important
汤建军 1 year ago
parent
commit
5d7e3f3cd4
  1. 7
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java
  2. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml
  3. 21
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java
  4. 21
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml
  5. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDisStockListDetailService.java
  6. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java
  7. 10
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DisStockListDetailServiceImpl.java
  8. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  9. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  10. 62
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

7
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java

@ -171,4 +171,11 @@ public interface DistributionParcelListMapper extends BaseMapper<DistributionPar
List<Map<String, Integer>> selectAllErrorReservationOrder();
List<DistributionParcelListEntity> findByWaybillNumber(@Param("waybillNumber") String waybillNumber);
/**
* 还原包件状态 -- 未出库
* @param packageIds
* @return
*/
Integer restorePakcageByIds(@Param("packageIds")List<Long> packageIds);
}

6
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml

@ -1073,6 +1073,12 @@
where order_code = #{orderCode}
and warehouse_id = #{warehouseId}
</update>
<update id="restorePakcageByIds">
UPDATE logpm_distribution_parcel_list SET order_package_status = 20,order_package_reservation_status = 10,order_package_loading_status = 10 WHERE id IN
<foreach collection="packageIds" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</update>
<select id="selectAllErrorReservationOrder">
SELECT reservation_id,COUNT(1) as num from (

21
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.java

@ -19,8 +19,12 @@ package com.logpm.distribution.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.dto.DistributionDeliveryDetailsDTO;
import com.logpm.distribution.dto.DistrilbutionBillLadingDTO;
import com.logpm.distribution.dto.app.BillLadingAppDTO;
import com.logpm.distribution.entity.DistributionDeliveryDetailsEntity;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionStockListEntity;
import com.logpm.distribution.entity.DistrilbutionBillLadingEntity;
import com.logpm.distribution.excel.DistrilbutionBillLadingExcel;
import com.logpm.distribution.vo.*;
@ -91,4 +95,21 @@ public interface DistrilbutionBillLadingMapper extends BaseMapper<DistrilbutionB
List<DistrilbutionBillLadingVO> exportDistributionBillLading(@Param("param") Map<String, Object> param, @Param("idArr") List<String> idArr);
/**
* 取消订制品包件
* @param billLodingIds
* @return
*/
Integer cancelBillLadingPackage(@Param("ids")List<Long> ids);
/**
* 查询自提单关联包件
* @param billLodingIds
* @return
*/
List<DistributionParcelListEntity> selectBillLadingPackage(@Param("ids")List<Long> ids);
List<DistributionDeliveryDetailsEntity> selectBillLadingInventory(@Param("ids")List<Long> ids);
}

21
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml

@ -25,6 +25,12 @@
<result column="certificate_type" property="certificateType"/>
<result column="total_cost" property="totalCost"/>
</resultMap>
<update id="cancelBillLadingPackage">
UPDATE logpm_distrilbution_bill_package SET packet_bar_status = 3 WHERE bill_lading_id IN
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<select id="pageList" resultType="com.logpm.distribution.vo.DistrilbutionBillLadingVO">
select dbl.id,GROUP_CONCAT(DISTINCT dsa.service_number) serviceNumber,GROUP_CONCAT(DISTINCT dsa.waybill_number) waybillNumber,GROUP_CONCAT(DISTINCT dsa.consignee_unit)
@ -449,5 +455,20 @@
LEFT JOIN logpm_distribution_stockup_info ldsi on dbl.id = ldsi.reservation_id and ldsi.stock_up_type = #{distrilbutionBillLading.stockupType}
where ldsi.stockup_id = #{distrilbutionBillLading.id};
</select>
<select id="selectBillLadingPackage"
resultType="com.logpm.distribution.entity.DistributionParcelListEntity">
SELECT ldpl.* FROM logpm_distrilbution_bill_package AS ldbp LEFT JOIN logpm_distribution_parcel_list AS ldpl ON ldbp.parce_list_id = ldpl.id WHERE bill_lading_id in
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
<select id="selectBillLadingInventory"
resultType="com.logpm.distribution.entity.DistributionDeliveryDetailsEntity">
SELECT * FROM logpm_distribution_addvalue_detail WHERE bill_lading_id IN
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</select>
</mapper>

6
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDisStockListDetailService.java

@ -68,4 +68,10 @@ public interface IDisStockListDetailService extends BaseService<DisStockListDeta
*/
OrderPackgeCodeDataVO getPrintDetail(Map<String, Object> disStockListDetail) throws Exception;
/**
* 取消库存品包件信息
* @param stockListId
* @param billLadingId
*/
void cancelInventoryPackageByReservationIdAnStockListId(Long stockListId, Long billLadingId);
}

6
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java

@ -180,4 +180,10 @@ public interface IDistributionParcelListService extends BaseService<Distribution
*/
List<DistributionParcelListEntity> findByWaybillNumber(String waybillId);
/**
* 批量还原包件状态
* @param packageIds
* @return
*/
Integer restorePakcageByIds(List<Long> packageIds);
}

10
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DisStockListDetailServiceImpl.java

@ -20,6 +20,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -248,6 +249,15 @@ public class DisStockListDetailServiceImpl extends BaseServiceImpl<DisStockListD
}
}
@Override
public void cancelInventoryPackageByReservationIdAnStockListId(Long stockListId, Long billLadingId) {
UpdateWrapper<DisStockListDetailEntity> updateWrapper = new UpdateWrapper<>();
updateWrapper.lambda().eq(DisStockListDetailEntity::getStockListId,stockListId)
.eq(DisStockListDetailEntity::getReservationId,billLadingId)
.set(DisStockListDetailEntity::getStockPackageStatus,2);
this.update(updateWrapper);
}
/**
* 赋值模板转换
* @param id

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -6743,6 +6743,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
}
@Override
@Transactional
public void maintenanceDeliveryNum(Long deliveryId) {
DistributionDeliveryListEntity deliveryListEntity = this.getById(deliveryId);
if (Func.isNotEmpty(deliveryListEntity)) {
@ -6753,12 +6754,14 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
deliveryListEntity.setDeliveryNumber(packageNum);
deliveryListEntity.setInventoryNub(inventoryNum);
}
deliveryListEntity.setCustomersNumber(distributionReservationEntities.size());
this.updateById(deliveryListEntity);
}
}
@Override
@Transactional
public R cancelDelivery(Long deliveryId) {
String method = "###################DistributionDeliveryListServiceImpl执行方法cancelDelivery,";
DistributionDeliveryListEntity deliveryListEntity = this.getById(deliveryId);
@ -6791,7 +6794,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
throw new RuntimeException("取消配送计划失败,请联系管理员");
}
}
return R.status(flag);
return R.status(flag);
}
@Override

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java

@ -926,4 +926,9 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
return baseMapper.findByWaybillNumber(waybillNumber);
}
@Override
public Integer restorePakcageByIds(List<Long> packageIds) {
return baseMapper.restorePakcageByIds(packageIds);
}
}

62
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

@ -21,6 +21,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@ -667,14 +668,71 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
log.error(method+"取消自提单存在自提扫描数据:{}",errorBillLading);
return R.fail(errorBillLading+"已提货或已签收!!!");
}
//满足进行取消自提,进行自提单的资源释放
//直接对配送的包件和库存品进行取消
Integer a = this.cancelBillLodingPackage(ids);
return R.status(true);
}
private Integer cancelBillLodingPackage(List<Long> ids) {
String method = "##########类DistrilbutionBillLadingServiceImpl执行方法cancelBillLoding,";
BasicdataWarehouseEntity myCurrentWarehouse = basicdataWarehouseClient.getMyCurrentWarehouse();
if (Func.isEmpty(myCurrentWarehouse)){
//未授权
return 1;
}
//查询关联包件进行状态恢复
List<DistributionParcelListEntity> distributionParcelListEntities = baseMapper.selectBillLadingPackage(ids);
if (Func.isNotEmpty(distributionParcelListEntities)){
List<DistributionParcelListEntity> signingPakcage = distributionParcelListEntities.stream().filter(f -> f.getOrderPackageStatus().equals(OrderPackageStatusConstant.yiqianshou.getValue())).collect(Collectors.toList());
if (Func.isEmpty(signingPakcage)){
//存在签收包件
return 3;
}
List<Long> packageIds = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getId).collect(Collectors.toList());
//将这些包件还原成可操作状态
Integer num = distributionParcelListService.restorePakcageByIds(packageIds);
//维护订单状态
String orderCodes = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getOrderCode).distinct().collect(Collectors.joining(","));
distributionStockArticleService.maintenanceOrderInfo(orderCodes,myCurrentWarehouse.getId());
}else {
log.error(method+"查询无包件信息:{}",ids);
//自提无包件信息
return 2;
}
//取消库存品
//查询自提库存品信息
List<DistributionDeliveryDetailsEntity> distributionStockListEntities = baseMapper.selectBillLadingInventory(ids);
if (Func.isNotEmpty(distributionStockListEntities)){
//已经备货的库存品 存在库存品包件
distributionStockListEntities.forEach(ddd->{
//进行库存品包件取消
if (ddd.getStockStatus().equals("3")){
disStockListDetailService.cancelInventoryPackageByReservationIdAnStockListId(ddd.getStockListId(),ddd.getBillLadingId());
}
//恢复库存品数量
return R.status(true);
}
);
//对所有的库存品相关进行取消标识
UpdateWrapper<DistributionDeliveryDetailsEntity> updateWrapper = new UpdateWrapper<>();
updateWrapper.lambda()
.set(DistributionDeliveryDetailsEntity::getConditions,3)
.set(DistributionDeliveryDetailsEntity::getQuantity,0)
.in(DistributionDeliveryDetailsEntity::getBillLadingId,ids);
distributionDeliveryDetailsService.update(updateWrapper);
}
return 0;
}
/**

Loading…
Cancel
Save