diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java index 5fe692394..c9c399584 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionParcelListClient.java @@ -143,4 +143,7 @@ public interface IDistributionParcelListClient { @GetMapping(API_PREFIX+"/findEntityListByOrderCodeAndStatus") List findEntityListByOrderCodeAndStatus(@RequestParam String orderCode, @RequestParam Long warehouseId, @RequestParam String packageStatus); + + @GetMapping(API_PREFIX+"/getListByOrderPackageCode") + List getListByOrderPackageCode(@RequestParam String orderPackageCode); } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java index 3624383b6..25aa39a00 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionStockArticleClient.java @@ -139,4 +139,8 @@ public interface IDistributionStockArticleClient { @GetMapping(API_PREFIX + "/submitHandleNumAndTotalNumberByOrderId") void submitHandleNumAndTotalNumberByOrderId(@RequestParam Integer subNum, @RequestParam Long articleId); + + @GetMapping(API_PREFIX + "/findListByOrderCode") + List findListByOrderCode(@RequestParam String orderCode); + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java index 674d6d19b..e6dd586fd 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionParcelListClient.java @@ -299,4 +299,12 @@ public class DistributionParcelListClient implements IDistributionParcelListClie public List findEntityListByOrderCodeAndStatus(String orderCode, Long warehouseId, String packageStatus) { return distributionParcelListService.findEntityListByOrderCodeAndStatus(orderCode,warehouseId,packageStatus); } + + @Override + public List getListByOrderPackageCode(String orderPackageCode) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_package_code",orderPackageCode); + + return distributionParcelListService.list(queryWrapper); + } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java index fa491b5d9..07592179e 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionStockArticleClient.java @@ -283,4 +283,12 @@ public class DistributionStockArticleClient implements IDistributionStockArticle distributionStockArticleService.submitHandleNumAndTotalNumberByOrderId(subNum,articleId); } + @Override + public List findListByOrderCode(String orderCode) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("order_code",orderCode); + + return distributionStockArticleService.list(queryWrapper); + } + } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java index a3b139a5d..61669f5ad 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java @@ -9,9 +9,11 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.logpm.basic.entity.BasicMaterialEntity; import com.logpm.basic.feign.IBasicMaterialClient; +import com.logpm.basicdata.entity.BasicdataCategoryEntity; import com.logpm.basicdata.entity.BasicdataClientEntity; import com.logpm.basicdata.entity.BasicdataStoreBusinessEntity; import com.logpm.basicdata.entity.BasicdataWarehouseEntity; +import com.logpm.basicdata.feign.IBasicdataCategoryClient; import com.logpm.basicdata.feign.IBasicdataClientClient; import com.logpm.basicdata.feign.IBasicdataStoreBusinessClient; import com.logpm.basicdata.feign.IBasicdataWarehouseClient; @@ -45,9 +47,11 @@ import com.logpm.trunkline.feign.ITrunklineAdvanceClient; import com.logpm.trunkline.feign.ITrunklineAdvanceDetailClient; import com.logpm.trunkline.feign.ITrunklineDetailProductClient; import com.logpm.trunkline.feign.ITrunklineWaybillOrderClient; +import com.logpm.warehouse.entity.WarehouseWayBillDetail; import com.logpm.warehouse.entity.WarehouseWaybillEntity; import com.logpm.warehouse.feign.IWarehouseTrayTypeClient; import com.logpm.warehouse.feign.IWarehouseWaybillClient; +import com.logpm.warehouse.feign.IWarehouseWaybillDetailClient; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -85,6 +89,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { private final IOrderDetailClient orderDetailClient; private final IAdvanceClient advanceClient; private final IWayBillClient wayBillClient; + private final IWaybillDesClient waybillDesClient; private final IDistributionParcelListClient distributionParcelListClient; private final IDistributionStockArticleClient distributionStockArticleClient; @@ -94,6 +99,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { private final IBasicdataWarehouseClient basicdataWarehouseClient; private final IWarehouseWaybillClient warehouseWaybillClient; + private final IWarehouseWaybillDetailClient warehouseWaybillDetailClient; private final IBasicMaterialClient basicMaterialClient; @@ -108,6 +114,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { private final IDetailProductClient detailProductClient; private final ITrunklineDetailProductClient trunklineDetailProductClient; private final ITrunklineAdvanceDetailClient trunklineAdvanceDetailClient; + private final IBasicdataCategoryClient categoryClient; private final IOrderCountClient orderCountClient; private final BladeRedis redis; @@ -890,7 +897,45 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { warehouseWaybill.setIsDeleted(0); warehouseWaybill.setCreateTime(date); warehouseWaybill.setUpdateTime(date); - warehouseWaybillClient.addEnntity(warehouseWaybill); + Long aLong = warehouseWaybillClient.addEnntity(warehouseWaybill); + if(aLong != 0){ + + List desList = waybillDesClient.getDesList(waybillNo); + List warehouseWayBillDetails = new ArrayList<>(); + for (WaybillDesEntity waybillDesEntity : desList) { + WarehouseWayBillDetail warehouseWayBillDetail = new WarehouseWayBillDetail(); + warehouseWayBillDetail.setCreateUser(1714696768639311873L); + warehouseWayBillDetail.setUpdateUser(1714696768639311873L); + warehouseWayBillDetail.setCreateDept(1649331096241836033L); + warehouseWayBillDetail.setWaybillId(aLong); + warehouseWayBillDetail.setWaybillNo(waybillNo); + String goodsName = waybillDesEntity.getName(); + BasicdataCategoryEntity categoryEntity = categoryClient.findByName(goodsName); + if(Objects.isNull(categoryEntity)){ + categoryEntity = new BasicdataCategoryEntity(); + categoryEntity.setName(goodsName); + categoryEntity.setType(1); + categoryEntity.setTenantId(TenantNum.HUITONGCODE); + categoryEntity.setCreateUser(1714696768639311873L); + categoryEntity.setUpdateUser(1714696768639311873L); + categoryEntity.setCreateDept(1649331096241836033L); + Long categoryId = categoryClient.addReturnId(categoryEntity); + warehouseWayBillDetail.setProductId(categoryId); + }else{ + warehouseWayBillDetail.setProductId(categoryEntity.getId()); + } + warehouseWayBillDetail.setProductName(goodsName); + warehouseWayBillDetail.setNum(waybillDesEntity.getNum()); + warehouseWayBillDetail.setPrice(waybillDesEntity.getPrice()); + warehouseWayBillDetail.setVolume(waybillDesEntity.getVolume()); + warehouseWayBillDetail.setWeight(waybillDesEntity.getWeight()); + warehouseWayBillDetail.setSubtotalFreight(waybillDesEntity.getTotalDesPrice()); + warehouseWayBillDetail.setChargeType(waybillDesEntity.getPic()); + warehouseWayBillDetails.add(warehouseWayBillDetail); + } + warehouseWaybillDetailClient.addList(warehouseWayBillDetails); + } + } else { warehouseWaybill.setStockCount(warehouseWaybill.getStockCount() + 1); warehouseWaybill.setUpdateTime(new Date()); diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java index 64d95b19d..956c875b3 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java @@ -35,10 +35,7 @@ import org.springblade.common.utils.CommonUtil; import org.springblade.core.tool.utils.StringUtil; import org.springframework.stereotype.Component; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Objects; +import java.util.*; /** * 同步老系统订单信息到新系统 @@ -639,5 +636,40 @@ public class SyncOrderInfoToPlatform { return ReturnT.SUCCESS; } + @XxlJob("repairNoOpenOrderOrderInfo") + public ReturnT repairNoOpenOrderOrderInfo(String param) { + log.info("############repairNoOpenOrderOrderInfo: 修复未开单订单信息 开始"); + + if(StringUtil.isBlank(param)){ + log.warn("##############repairNoOpenOrderOrderInfo: 请输入需要修复的订单 "); + return ReturnT.FAIL; + } + + List orderCodes = new ArrayList<>(); + if(param.contains(",")){ + String[] split = param.split(","); + orderCodes = Arrays.asList(split); + }else{ + orderCodes.add(param); + } + + for (String orderCode : orderCodes) { + + //查询新系统是否存在该订单 + List stockArticleEntityList = distributionStockArticleClient.findListByOrderCode(orderCode); + if(stockArticleEntityList == null || stockArticleEntityList.size() == 0){ + log.warn("#############repairNoOpenOrderOrderInfo: 未查询到新系统有订单信息"); + continue; + } + + syncOrderInfoService.repairNoOpenOrderOrderInfo(orderCode); + + } + + log.info("############repairNoOpenOrderOrderInfo: 修复未开单订单信息 完成"); + + return ReturnT.SUCCESS; + } + } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java index 4d33d05c3..713d44d12 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/ISyncOrderInfoService.java @@ -16,4 +16,7 @@ public interface ISyncOrderInfoService { void handleDataAndInventoryId(List orderCodeList, Integer oldWarehouseId, Long newWarehouseId, Integer inventoryId); void syncUpdownData(Integer oldWarehouseId, Long newWarehouseId); + + void repairNoOpenOrderOrderInfo(String orderCode); + } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java index 3c168a816..6c0d890fa 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java @@ -87,6 +87,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { private final BladeRedis redis; private final IWarehouseMappingDataService warehouseMappingDataService; + private final IBasicdataCategoryClient categoryClient; @Transactional(rollbackFor = Exception.class) @Override @@ -199,6 +200,105 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { } + } + + @Override + public void repairNoOpenOrderOrderInfo(String orderCode) { + List advanceList = advanceClient.getAdvanceList(orderCode); + + Set waybillNos = new HashSet<>(); + for (AdvanceEntity advanceEntity : advanceList) { + Integer advanceId = advanceEntity.getId(); + String waybillNo = advanceEntity.getWaybillNo(); + String dealerCode = advanceEntity.getDealerCode(); + String dealerName = advanceEntity.getDealerName(); + + saveWaybillEntity(waybillNo); + + WarehouseWaybillEntity warehouseWaybillEntity = warehouseWaybillClient.findByWaybillNo(waybillNo); + + if(!Objects.isNull(warehouseWaybillEntity)){ + Long departureWarehouseId = warehouseWaybillEntity.getDepartureWarehouseId(); + String departureWarehouseName = warehouseWaybillEntity.getDepartureWarehouseName(); + Long destinationWarehouseId = warehouseWaybillEntity.getDestinationWarehouseId(); + String destinationWarehouseName = warehouseWaybillEntity.getDestinationWarehouseName(); + Long waybillId = warehouseWaybillEntity.getId(); + + List detailEntityList = advanceDetailClient.findListByAdvanceId(advanceId); + for (AdvanceDetailEntity advanceDetailEntity : detailEntityList) { + String orderPackageCode = advanceDetailEntity.getUnitNo(); + List parcelListEntityList = distributionParcelListClient.getListByOrderPackageCode(orderPackageCode); + for (DistributionParcelListEntity parcelListEntity : parcelListEntityList) { + Long warehouseId = parcelListEntity.getWarehouseId(); + parcelListEntity.setWaybillId(waybillId+""); + parcelListEntity.setWaybillNumber(waybillNo); + parcelListEntity.setSendWarehouseId(departureWarehouseId); + parcelListEntity.setSendWarehouseName(departureWarehouseName); + parcelListEntity.setAcceptWarehouseId(destinationWarehouseId); + parcelListEntity.setAcceptWarehouseName(destinationWarehouseName); + parcelListEntity.setDealerCode(dealerCode); + parcelListEntity.setDealerName(dealerName); + if(warehouseId.equals(destinationWarehouseId)){ + parcelListEntity.setIsTransfer(0); + }else{ + parcelListEntity.setIsTransfer(1); + } + distributionParcelListClient.update(parcelListEntity); + } + } + } + + waybillNos.add(waybillNo); + + } + + String waybillNumber = null; + String waybillNumberStr = null; + for (String waybillNo : waybillNos) { + if(StringUtil.isBlank(waybillNumber)){ + waybillNumber = waybillNo; + } + if(StringUtil.isBlank(waybillNumberStr)){ + waybillNumberStr = waybillNo; + }else{ + waybillNumberStr = waybillNumberStr + "," + waybillNo; + } + } + + if(StringUtil.isNotBlank(waybillNumber)){ + WarehouseWaybillEntity newWaybill = warehouseWaybillClient.findByWaybillNo(waybillNumber); + String consignee = newWaybill.getConsignee(); + String consigneeName = newWaybill.getConsigneeName(); + String consigneeMobile = newWaybill.getConsigneeMobile(); + String consigneeAddress = newWaybill.getConsigneeAddress(); + BasicdataClientEntity clientEntity = basicdataClientClient.findByName(consignee); + String consigneeCode = null; + Long consigneeId = null; + String peisongType = "1";//默认商配 + if(!Objects.isNull(clientEntity)){ + consigneeId = clientEntity.getId(); + consigneeCode = clientEntity.getClientCode(); + consignee = clientEntity.getClientName(); + peisongType = getPeisongTypeByClientId(consigneeId); + } + + List stockArticleEntityList = distributionStockArticleClient.findListByOrderCode(orderCode); + for (DistributionStockArticleEntity stockArticleEntity : stockArticleEntityList) { + stockArticleEntity.setWaybillNumber(waybillNumberStr); + stockArticleEntity.setConsigneeUnit(consignee); + stockArticleEntity.setTypeService(peisongType); + stockArticleEntity.setConsigneePerson(consigneeName); + stockArticleEntity.setConsigneeMobile(consigneeMobile); + stockArticleEntity.setConsigneeAddress(consigneeAddress); + stockArticleEntity.setMallId(consigneeId); + stockArticleEntity.setMallCode(consigneeCode); + stockArticleEntity.setMallName(consignee); + distributionStockArticleClient.saveOrUpdate(stockArticleEntity); + } + } + + + } @@ -1677,6 +1777,10 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { String agent = wayBillEntity.getAgent(); warehouseWaybill = new WarehouseWaybillEntity(); + warehouseWaybill.setTenantId(TenantNum.HUITONGCODE); + warehouseWaybill.setCreateUser(1714696768639311873L); + warehouseWaybill.setUpdateUser(1714696768639311873L); + warehouseWaybill.setCreateDept(1649331096241836033L); warehouseWaybill.setWaybillNo(waybillNo); warehouseWaybill.setOrderNo(wayBillEntity.getOrderNo()); warehouseWaybill.setDestinationWarehouseName(warehouseName); @@ -1766,7 +1870,44 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { warehouseWaybill.setIsDeleted(0); warehouseWaybill.setCreateTime(date); warehouseWaybill.setUpdateTime(date); - warehouseWaybillClient.addEnntity(warehouseWaybill); + Long aLong = warehouseWaybillClient.addEnntity(warehouseWaybill); + if(aLong != 0){ + + List desList = waybillDesClient.getDesList(waybillNo); + List warehouseWayBillDetails = new ArrayList<>(); + for (WaybillDesEntity waybillDesEntity : desList) { + WarehouseWayBillDetail warehouseWayBillDetail = new WarehouseWayBillDetail(); + warehouseWayBillDetail.setCreateUser(1714696768639311873L); + warehouseWayBillDetail.setUpdateUser(1714696768639311873L); + warehouseWayBillDetail.setCreateDept(1649331096241836033L); + warehouseWayBillDetail.setWaybillId(aLong); + warehouseWayBillDetail.setWaybillNo(waybillNo); + String goodsName = waybillDesEntity.getName(); + BasicdataCategoryEntity categoryEntity = categoryClient.findByName(goodsName); + if(Objects.isNull(categoryEntity)){ + categoryEntity = new BasicdataCategoryEntity(); + categoryEntity.setName(goodsName); + categoryEntity.setType(1); + categoryEntity.setTenantId(TenantNum.HUITONGCODE); + categoryEntity.setCreateUser(1714696768639311873L); + categoryEntity.setUpdateUser(1714696768639311873L); + categoryEntity.setCreateDept(1649331096241836033L); + Long categoryId = categoryClient.addReturnId(categoryEntity); + warehouseWayBillDetail.setProductId(categoryId); + }else{ + warehouseWayBillDetail.setProductId(categoryEntity.getId()); + } + warehouseWayBillDetail.setProductName(goodsName); + warehouseWayBillDetail.setNum(waybillDesEntity.getNum()); + warehouseWayBillDetail.setPrice(waybillDesEntity.getPrice()); + warehouseWayBillDetail.setVolume(waybillDesEntity.getVolume()); + warehouseWayBillDetail.setWeight(waybillDesEntity.getWeight()); + warehouseWayBillDetail.setSubtotalFreight(waybillDesEntity.getTotalDesPrice()); + warehouseWayBillDetail.setChargeType(waybillDesEntity.getPic()); + warehouseWayBillDetails.add(warehouseWayBillDetail); + } + warehouseWaybillDetailClient.addList(warehouseWayBillDetails); + } } else { // warehouseWaybill.setStockCount(warehouseWaybill.getStockCount() + 1); warehouseWaybill.setUpdateTime(new Date()); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java index 585e01b91..e219c9c03 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java @@ -3021,6 +3021,8 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl