Browse Source

1.干线bug修复

master
zhenghaoyu 4 months ago
parent
commit
031b66b003
  1. 3
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java
  2. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java
  3. 2
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.java
  4. 11
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionParcelListMapper.xml
  5. 1
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java
  6. 5
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  7. 4
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderAsyncService.java
  8. 50
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java
  9. 39
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java
  10. 35
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java
  11. 32
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

3
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java

@ -316,5 +316,8 @@ public interface IDistributionParcelListClient {
@GetMapping(API_PREFIX + "/findOneByOrderPackageCode")
DistributionParcelListEntity findOneByOrderPackageCode(@RequestParam String orderPackageCode);
@PostMapping(API_PREFIX + "/findListByOrderPackageCodesAndCode")
List<DistributionParcelListEntity> findListByOrderPackageCodesAndCode(@RequestBody List<String> orderPackageCodeGroup);
}

5
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java

@ -669,4 +669,9 @@ public class DistributionParcelListClient implements IDistributionParcelListClie
return distributionParcelListService.findOneByOrderPackageCode(orderPackageCode);
}
@Override
public List<DistributionParcelListEntity> findListByOrderPackageCodesAndCode(List<String> orderPackageCodeGroup) {
return distributionParcelListService.findListByOrderPackageCodesAndCode(orderPackageCodeGroup);
}
}

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

@ -344,4 +344,6 @@ public interface DistributionParcelListMapper extends BaseMapper<DistributionPar
List<DistributionParcelListEntity> findListByOrderPackageCodeAndStatus(@Param("orderPackageCode") String orderPackageCode, @Param("status") String status);
DistributionParcelListEntity findOneByOrderPackageCode(@Param("orderPackageCode") String orderPackageCode);
List<DistributionParcelListEntity> findListByOrderPackageCodesAndCode(@Param("orderPackageCodes") List<String> orderPackageCodeGroup);
}

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

@ -2293,4 +2293,15 @@
limit 1
</select>
<select id="findListByOrderPackageCodesAndCode" resultType="com.logpm.distribution.entity.DistributionParcelListEntity">
select ldpl.id,
ldpl.order_package_code
from logpm_distribution_parcel_list ldpl
where ldpl.order_package_code in
<foreach collection="orderPackageCodes" item="item" separator="," open="(" close=")">
#{item}
</foreach>
and ldpl.is_deleted = 0
</select>
</mapper>

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

@ -319,4 +319,5 @@ public interface IDistributionParcelListService extends BaseService<Distribution
DistributionParcelListEntity findOneByOrderPackageCode(String orderPackageCode);
List<DistributionParcelListEntity> findListByOrderPackageCodesAndCode(List<String> orderPackageCodeGroup);
}

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

@ -1605,4 +1605,9 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
public DistributionParcelListEntity findOneByOrderPackageCode(String orderPackageCode) {
return baseMapper.findOneByOrderPackageCode(orderPackageCode);
}
@Override
public List<DistributionParcelListEntity> findListByOrderPackageCodesAndCode(List<String> orderPackageCodeGroup) {
return baseMapper.findListByOrderPackageCodesAndCode(orderPackageCodeGroup);
}
}

4
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderAsyncService.java

@ -1,5 +1,6 @@
package com.logpm.trunkline.service;
import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity;
import com.logpm.trunkline.entity.TrunklineCarsLoadLineEntity;
import com.logpm.warehouse.entity.WarehouseWayBillDetail;
import com.logpm.warehouse.entity.WarehouseWaybillEntity;
@ -30,4 +31,7 @@ public interface IOpenOrderAsyncService {
void sendUpdateWaybillFanout(WarehouseWaybillEntity waybillEntity, List<WarehouseWayBillDetail> details, List<Long> advanceIds,String oldConsignee);
void dealwithBillladingInfo(List<Long> advanceIds,Long warehouseId,String warehouseName,Long waybillId,String waybillNo);
void updatePackageMaterial(List<TrunklineAdvanceDetailEntity> updateMaterialList);
}

50
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderAsyncServiceImpl.java

@ -1,11 +1,14 @@
package com.logpm.trunkline.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.logpm.basicdata.entity.BasicdataClientEntity;
import com.logpm.basicdata.entity.BasicdataStoreBusinessEntity;
import com.logpm.basicdata.feign.IBasicdataClientClient;
import com.logpm.basicdata.feign.IBasicdataStoreBusinessClient;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.feign.IDistributionParcelListClient;
import com.logpm.trunkline.dto.InComingDTO;
import com.logpm.trunkline.entity.*;
import com.logpm.trunkline.service.*;
@ -69,6 +72,8 @@ public class OpenOrderAsyncServiceImpl implements IOpenOrderAsyncService {
@Lazy
@Autowired
private ITrunklineBillladingService trunklineBillladingService;
@Autowired
private IDistributionParcelListClient distributionParcelListClient;
@LogpmAsync("asyncExecutor")
@Override
@ -984,5 +989,50 @@ public class OpenOrderAsyncServiceImpl implements IOpenOrderAsyncService {
}
@LogpmAsync("asyncExecutor")
@Override
public void updatePackageMaterial(List<TrunklineAdvanceDetailEntity> updateMaterialList) {
//把updateMaterialList中所有包件放入一个List
List<String> orderPackageCodeList = updateMaterialList.stream().map(TrunklineAdvanceDetailEntity::getOrderPackageCode).collect(Collectors.toList());
//把orderPackageCodeKeys每2000个元素为一组
int packageBatchSize = 1000;
List<List<String>> orderPackageCodeGroups = new ArrayList<>();
for (int i = 0; i < orderPackageCodeList.size(); i += packageBatchSize) {
int endIndex = Math.min(i + packageBatchSize, orderPackageCodeList.size());
orderPackageCodeGroups.add(orderPackageCodeList.subList(i, endIndex));
}
List<DistributionParcelListEntity> parcelListEntities = new ArrayList<>();
orderPackageCodeGroups.forEach(orderPackageCodeGroup -> {
List<DistributionParcelListEntity> listEntityList = distributionParcelListClient.findListByOrderPackageCodesAndCode(orderPackageCodeGroup);
parcelListEntities.addAll(listEntityList);
});
//把updateMaterialList转化成以orderPackageCode为key的Map
Map<String, TrunklineAdvanceDetailEntity> updateMaterialMap = updateMaterialList.stream().collect(Collectors.toMap(TrunklineAdvanceDetailEntity::getOrderPackageCode, Function.identity()));
List<DistributionParcelListEntity> updateParcelList = new ArrayList<>();
parcelListEntities.forEach(parcelListEntity -> {
String orderPackageCode = parcelListEntity.getOrderPackageCode();
TrunklineAdvanceDetailEntity trunklineAdvanceDetailEntity = updateMaterialMap.get(orderPackageCode);
if(!Objects.isNull(trunklineAdvanceDetailEntity)){
parcelListEntity.setFirsts(trunklineAdvanceDetailEntity.getFirstPackName());
parcelListEntity.setSecond(trunklineAdvanceDetailEntity.getSecondPackName());
parcelListEntity.setThirdProduct(trunklineAdvanceDetailEntity.getThirdPackName());
parcelListEntity.setMaterialId(trunklineAdvanceDetailEntity.getMaterialId());
parcelListEntity.setMaterialCode(trunklineAdvanceDetailEntity.getMaterialCode());
parcelListEntity.setMaterialName(trunklineAdvanceDetailEntity.getMaterialName());
updateParcelList.add(parcelListEntity);
}
});
if(CollUtil.isNotEmpty(updateParcelList)){
distributionParcelListClient.updateList(updateParcelList);
}
}
}

39
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java

@ -2268,6 +2268,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
ImportStandardOuPaiDTO importStandardOuPaiDTO = importStandardOuPaiDTOMap.get(advanceDetailEntity.getOrderPackageCode());
TrunklineAdvanceDetailEntity updateMaterialEntity = new TrunklineAdvanceDetailEntity();
updateMaterialEntity.setId(advanceDetailEntity.getId());
updateMaterialEntity.setOrderPackageCode(advanceDetailEntity.getOrderPackageCode());
updateMaterialEntity.setMaterialCode(importStandardOuPaiDTO.getMaterialCode());
updateMaterialEntity.setMaterialName(importStandardOuPaiDTO.getMaterialName());
updateMaterialEntity.setFirstPackName(importStandardOuPaiDTO.getFirstsName());
@ -2279,6 +2280,7 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
if(CollUtil.isNotEmpty(updateMaterialList)){
advanceDetailService.updateBatchById(updateMaterialList);
openOrderAsyncService.updatePackageMaterial(updateMaterialList);
}
}
@ -2492,23 +2494,26 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
String materialName = StringUtil.isNotBlank(importStandardOuPaiDTO.getMaterialName())?importStandardOuPaiDTO.getMaterialName():"";
String materialCode = StringUtil.isNotBlank(importStandardOuPaiDTO.getMaterialCode())?importStandardOuPaiDTO.getMaterialCode():"";
// BasicMaterialEntity basicMaterialEntity = materialEntityMap.get(materialCode + "&&" + materialName);
//
// if(!Objects.isNull(basicMaterialEntity)){
// advanceDetailModel.setMaterialId(basicMaterialEntity.getId());
// advanceDetailModel.setMaterialCode(materialCode);
// advanceDetailModel.setMaterialName(materialName);
// String weight = basicMaterialEntity.getWeight();
// if(StringUtil.isBlank(weight)){
// weight = "0";
// }
// String volume1 = basicMaterialEntity.getVolume();
// if(StringUtil.isBlank(volume1)){
// volume1 = "0";
// }
// advanceDetailModel.setWeight(new BigDecimal(weight));
// advanceDetailModel.setVolume(new BigDecimal(volume1));
// }
advanceDetailModel.setMaterialCode(materialCode);
advanceDetailModel.setMaterialName(materialName);
BasicMaterialEntity basicMaterialEntity = materialEntityMap.get(materialCode + "&&" + materialName);
if(!Objects.isNull(basicMaterialEntity)){
advanceDetailModel.setMaterialId(basicMaterialEntity.getId());
String weight = basicMaterialEntity.getWeight();
if(StringUtil.isBlank(weight)){
weight = "0";
}
String volume2 = basicMaterialEntity.getVolume();
if(StringUtil.isBlank(volume2)){
volume2 = "0";
}
advanceDetailModel.setWeight(new BigDecimal(weight));
advanceDetailModel.setVolume(new BigDecimal(volume2));
}
// if (StringUtil.isNotBlank(materialCode) && StringUtil.isNotBlank(materialName)) {
// Long materialId = materialMap.get(materialCode);

35
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineAdvanceServiceImpl.java

@ -9,13 +9,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.logpm.basic.entity.BasicMaterialEntity;
import com.logpm.basic.feign.IBasicMaterialClient;
import com.logpm.basicdata.entity.BasicdataBrandEntity;
import com.logpm.basicdata.entity.BasicdataClientEntity;
import com.logpm.basicdata.entity.BasicdataStoreBusinessEntity;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.feign.IBasicdataClientClient;
import com.logpm.basicdata.feign.IBasicdataStoreBusinessClient;
import com.logpm.basicdata.feign.IBasicdataTripartiteMallClient;
import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
import com.logpm.basicdata.feign.*;
import com.logpm.distribution.dto.FindParamterDTO;
import com.logpm.distribution.entity.DistributionParcelListEntity;
import com.logpm.distribution.entity.DistributionStockArticleEntity;
@ -67,6 +65,7 @@ public class TrunklineAdvanceServiceImpl extends BaseServiceImpl<TrunklineAdvanc
private final IBasicdataTripartiteMallClient basicdataTripartiteMallClient;
private final RabbitTemplate rabbitTemplate;
private final ITrunklineAdvanceDetailService advanceDetailService;
private final IBasicdataBrandClient basicdataBrandClient;
@Override
@ -658,6 +657,11 @@ public class TrunklineAdvanceServiceImpl extends BaseServiceImpl<TrunklineAdvanc
Long materialId = advanceDetailEntity.getMaterialId();
String materialCode = advanceDetailEntity.getMaterialCode();
String materialName = advanceDetailEntity.getMaterialName();
parcelList.setMaterialId(materialId);
parcelList.setMaterialName(materialName);
parcelList.setMaterialCode(materialCode);
if (Objects.isNull(materialId) && StringUtil.isNotBlank(materialCode) && StringUtil.isNotBlank(materialName)) {
BasicMaterialEntity materialEntity = basicMaterialClient.findEntityByCodeAndName(materialCode, materialName);
if (!Objects.isNull(materialEntity)) {
@ -679,7 +683,15 @@ public class TrunklineAdvanceServiceImpl extends BaseServiceImpl<TrunklineAdvanc
}
parcelList.setBrandName(advanceDetailEntity.getBrand());
String brand = advanceDetailEntity.getBrand();
BasicdataBrandEntity basicdataBrand = basicdataBrandClient.findEntityByName(brand);
if(!Objects.isNull(basicdataBrand)){
parcelList.setBrandId(basicdataBrand.getId());
}
parcelList.setBrandName(brand);
parcelList.setOrderPackageStatus("20");
parcelList.setOrderPackageFreezeStatus("10");
parcelList.setOrderPackageGroundingStatus("10");
@ -995,6 +1007,12 @@ public class TrunklineAdvanceServiceImpl extends BaseServiceImpl<TrunklineAdvanc
Long materialId = advanceDetailEntity.getMaterialId();
String materialCode = advanceDetailEntity.getMaterialCode();
String materialName = advanceDetailEntity.getMaterialName();
parcelList.setMaterialId(materialId);
parcelList.setMaterialName(materialName);
parcelList.setMaterialCode(materialCode);
if (Objects.isNull(materialId)) {
if (StringUtil.isNotBlank(materialCode) && StringUtil.isNotBlank(materialCode) && StringUtil.isNotBlank(materialName)) {
BasicMaterialEntity materialEntity = basicMaterialClient.findEntityByCodeAndName(materialCode, materialName);
@ -1016,8 +1034,13 @@ public class TrunklineAdvanceServiceImpl extends BaseServiceImpl<TrunklineAdvanc
}
}
String brand = advanceDetailEntity.getBrand();
BasicdataBrandEntity basicdataBrand = basicdataBrandClient.findEntityByName(brand);
if(!Objects.isNull(basicdataBrand)){
parcelList.setBrandId(basicdataBrand.getId());
}
parcelList.setBrandName(advanceDetailEntity.getBrand());
parcelList.setBrandName(brand);
parcelList.setOrderPackageStatus("20");
parcelList.setOrderPackageFreezeStatus("10");
parcelList.setOrderPackageGroundingStatus("10");

32
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

@ -20,10 +20,7 @@ import com.logpm.aftersales.feign.IAftersalesWorkOrderClient;
import com.logpm.aftersales.vo.DealWithAbnormalVO;
import com.logpm.basic.entity.BasicMaterialEntity;
import com.logpm.basic.feign.IBasicMaterialClient;
import com.logpm.basicdata.entity.BasicdataClientEntity;
import com.logpm.basicdata.entity.BasicdataDriverArteryEntity;
import com.logpm.basicdata.entity.BasicdataTrayEntity;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
import com.logpm.basicdata.entity.*;
import com.logpm.basicdata.feign.*;
import com.logpm.distribution.dto.FindParamterDTO;
import com.logpm.distribution.dto.UpdatePackageDTO;
@ -141,6 +138,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
private final IBasicdataClientClient clientClient;
private final IBasicdataTripartiteMallClient tripartiteMallClient;
private final IBasicMaterialClient basicMaterialClient;
private final IBasicdataBrandClient basicdataBrandClient;
@Override
@ -3488,6 +3486,16 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
@Override
public R loadingScan(Long loadId, Long warehouseId, String orderPackageCode, String trayCode, String remark) {
String key = "loadingScan:"+loadId+":"+warehouseId+":"+orderPackageCode;
Boolean exists = bladeRedis.exists(key);
if(exists){
return R.fail("请勿重复扫描");
}else{
bladeRedis.setEx(key, "1", 2L);
}
log.info("#################loadingScan: 装车扫描");
TrunklineCarsLoadEntity carsLoadEntity = baseMapper.selectById(loadId);
@ -5177,6 +5185,13 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
parcelList.setTrainNumber(advanceDetailEntity.getTrainNumber());
parcelList.setAdvanceId(advanceId);
parcelList.setMaterialId(advanceDetailEntity.getMaterialId());
parcelList.setMaterialName(advanceDetailEntity.getMaterialName());
parcelList.setMaterialCode(advanceDetailEntity.getMaterialCode());
parcelList.setWeight(advanceDetailEntity.getWeight());
parcelList.setVolume(advanceDetailEntity.getVolume());
Long materialId = advanceDetailEntity.getMaterialId();
String materialCode = advanceDetailEntity.getMaterialCode();
String materialName = advanceDetailEntity.getMaterialName();
@ -5201,7 +5216,14 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
}
}
parcelList.setBrandName(advanceDetailEntity.getBrand());
String brand = advanceDetailEntity.getBrand();
BasicdataBrandEntity basicdataBrand = basicdataBrandClient.findEntityByName(brand);
if(!Objects.isNull(basicdataBrand)){
parcelList.setBrandId(basicdataBrand.getId());
}
parcelList.setBrandName(brand);
parcelList.setOrderPackageStatus(status);
parcelList.setOrderPackageFreezeStatus("10");
parcelList.setOrderPackageGroundingStatus("10");

Loading…
Cancel
Save