diff --git a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataVehicleEntity.java b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataVehicleEntity.java index a86e18ded..1467a7bc3 100644 --- a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataVehicleEntity.java +++ b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/entity/BasicdataVehicleEntity.java @@ -251,7 +251,7 @@ public class BasicdataVehicleEntity extends TenantEntity { * 车辆年审有效期 */ @ApiModelProperty(value = "车辆年审有效期") - private Integer reviewValidity; + private String reviewValidity; /** * 车辆保险开始时间 */ 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 30fe2601b..b4d2e6835 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 @@ -204,4 +204,13 @@ public interface IDistributionParcelListClient { @PostMapping(API_PREFIX + "/addZeroParcelList") void addZeroParcelList(@RequestBody List addParcelListEntityList); + + @PostMapping(API_PREFIX + "/findListByIds") + List findListByIds(@RequestBody List orderPackageIdList); + + @PostMapping(API_PREFIX + "/clearPallet") + void clearPallet(@RequestBody List orderPackageIdList); + + + } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionSignforClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionSignforClient.java index 53ca6e01c..739add728 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionSignforClient.java +++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionSignforClient.java @@ -24,6 +24,8 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; +import java.util.Map; + /** * 签收管理 Feign接口类 * @@ -52,7 +54,7 @@ public interface IDistributionSignforClient { @GetMapping(TOP+"push0ldSystemSignInfo") - void push0ldSystemSignInfo(@RequestParam("current") Long signingId); + Map push0ldSystemSignInfo(@RequestParam("current") Long signingId); /** @@ -61,5 +63,5 @@ public interface IDistributionSignforClient { * @return */ @GetMapping(CLERKCHECKPUSHDATA) - Boolean clerkCheckPushData(@RequestParam("id") Long id); + Map clerkCheckPushData(@RequestParam("id") Long id); } 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 72f9194f1..344e7c3a9 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 @@ -33,6 +33,7 @@ import org.springframework.web.bind.annotation.RequestParam; import java.util.List; import java.util.Map; +import java.util.Set; /** * 配送在库订单 Feign接口类 @@ -194,4 +195,11 @@ public interface IDistributionStockArticleClient { @GetMapping(API_PREFIX + "/addHandQuantityAndIncomingNum") void addHandQuantityAndIncomingNum(@RequestParam Long stockId, @RequestParam Integer enterNum); + + @GetMapping(API_PREFIX + "/findListByIds") + List findListByIds(@RequestBody Set stockArticleIdSet); + + @GetMapping(API_PREFIX + "/clearTraysByIds") + void clearTraysByIds(@RequestBody List clearStockArticleIdList); + } diff --git a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOldSignPushClient.java b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOldSignPushClient.java index f5c0818e6..90d735e35 100644 --- a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOldSignPushClient.java +++ b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOldSignPushClient.java @@ -20,7 +20,7 @@ public interface IOldSignPushClient { String API_PREFIX = "/client"; @PostMapping(API_PREFIX + "/pushOldSystemSignInfo") - Boolean pushOldSystemSignInfo(@RequestBody SignPushDataDTO signPushDataDTO); + Map pushOldSystemSignInfo(@RequestBody SignPushDataDTO signPushDataDTO); diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataVehicleController.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataVehicleController.java index aabd86583..163b9b6a4 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataVehicleController.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/controller/BasicdataVehicleController.java @@ -83,8 +83,10 @@ public class BasicdataVehicleController extends BladeController { @GetMapping("/detail") @ApiOperationSupport(order = 1) @ApiOperation(value = "详情", notes = "传入basicdataVehicle") - public R detail(BasicdataVehicleDTO basicdataVehicle) { - BasicdataVehicleEntity detail = basicdataVehicleService.getOne(Condition.getQueryWrapper(basicdataVehicle)); + public R detail(@Param("id") Long id) { + +// BasicdataVehicleEntity detail = basicdataVehicleService.getOne(Condition.getQueryWrapper(basicdataVehicle)); + BasicdataVehicleEntity detail = basicdataVehicleService.getVehicleDetail(id); //查询历史照片 BasicdataVehicleVO basicdataVehicleVO = new BasicdataVehicleVO(); BeanUtils.copyProperties(detail,basicdataVehicleVO); diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.java index e4a68f1fc..90be4aadc 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.java @@ -62,4 +62,11 @@ public interface BasicdataVehicleMapper extends BaseMapper selectBasicdataDictionary(@Param("vehicleNub") String vehicleNub); List findCarListByName(@Param("carNumber") String carNumber); + + /** + * 查询车辆详情 + * @param id + * @return + */ + BasicdataVehicleEntity getVehicleDetail(@Param("id")Long id); } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.xml b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.xml index 9cf648ff0..6fc64c167 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.xml +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/mapper/BasicdataVehicleMapper.xml @@ -252,6 +252,85 @@ and vehicle_nub like concat('%',#{carNumber},'%') limit 10 + diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataVehicleService.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataVehicleService.java index d84633e31..0d849a8aa 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataVehicleService.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/IBasicdataVehicleService.java @@ -92,4 +92,11 @@ public interface IBasicdataVehicleService extends BaseService data); + + /** + * 查询车辆详情 + * @param id + * @return + */ + BasicdataVehicleEntity getVehicleDetail(Long id); } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataVehicleServiceImpl.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataVehicleServiceImpl.java index 2c6837bdd..84fe80763 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataVehicleServiceImpl.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataVehicleServiceImpl.java @@ -286,4 +286,9 @@ public class BasicdataVehicleServiceImpl extends BaseServiceImpl findListByIds(List orderPackageIdList) { + return distributionParcelListService.listByIds(orderPackageIdList); + } + + @Override + public void clearPallet(List orderPackageIdList) { + distributionParcelListService.clearPalletByIds(orderPackageIdList); + } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionSignforClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionSignforClient.java index ed3aa21d3..24e73250b 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionSignforClient.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionSignforClient.java @@ -51,6 +51,7 @@ import springfox.documentation.annotations.ApiIgnore; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -98,8 +99,8 @@ public class DistributionSignforClient implements IDistributionSignforClient { * @param signingId */ @Override - public void push0ldSystemSignInfo(Long signingId) { - distributionSignforService.push0ldSystemSignInfo(signingId); + public Map push0ldSystemSignInfo(Long signingId) { + return distributionSignforService.push0ldSystemSignInfo(signingId); } @@ -109,7 +110,7 @@ public class DistributionSignforClient implements IDistributionSignforClient { * @return */ @Override - public Boolean clerkCheckPushData(Long id) { + public Map clerkCheckPushData(Long id) { return distributionSignforService.clerkCheckPushData(id); 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 fc6fe492f..9be71d31c 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 @@ -389,4 +389,14 @@ public class DistributionStockArticleClient implements IDistributionStockArticle distributionStockArticleService.addHandQuantityAndIncomingNum(stockId,enterNum); } + @Override + public List findListByIds(Set stockArticleIdSet) { + return distributionStockArticleService.listByIds(stockArticleIdSet); + } + + @Override + public void clearTraysByIds(List clearStockArticleIdList) { + distributionStockArticleService.clearTraysByIds(clearStockArticleIdList); + } + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml index 68e7b444a..95738205c 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionReservationMapper.xml @@ -367,6 +367,7 @@ association_value ) AS t2 ON t.cargo_number = t2.association_value where ldslNew.is_deleted = 0 AND ldslNew.warehouse_id=#{warehouseId} + AND ldslNew.market_name=#{mallName} GROUP BY ldslNew.cargo_number diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml index 56da2bbe5..1c365606e 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillLadingMapper.xml @@ -52,7 +52,7 @@ dbl.total_cost AS totalCost, dbl.pick_up_plate AS pickUpPlate, dbl.pickup_batch AS pickupBatch, - ( SELECT count( quantity ) FROM logpm_distribution_bill_lading_scan WHERE bill_lading_id = dbl.id ) AS stopNum, + ( SELECT IFNULL(SUM(quantity),0 FROM logpm_distribution_bill_lading_scan WHERE bill_lading_id = dbl.id ) AS stopNum, ( SELECT group_concat( splice ) diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java index e8bc11e97..94ca9f12a 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/receiver/ClerkCheckPushDataQueueHandler.java @@ -64,8 +64,8 @@ public class ClerkCheckPushDataQueueHandler { log.info(">>>>>>>>>>>>> clerkCheckPushDataHandler 签收ID为空"); return; } - Boolean b = distributionSignforService.clerkCheckPushData(t); - log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 推送老系统签收队列 成功状态: {}",b); + Map map1= distributionSignforService.clerkCheckPushData(t); + log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 推送老系统签收队列 成功状态: {}",map1); } catch (Exception e) { log.error(">>>>> 推送老系统签收信息报错", e); } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java index ea2c3d3c5..3f363a7e2 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionParcelListService.java @@ -254,4 +254,5 @@ public interface IDistributionParcelListService extends BaseService parcelListIdList, String orderCode); void clearAllocationByIds(List clearTrayList); + } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java index bfafa9103..b706f41b9 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionSignforService.java @@ -335,11 +335,11 @@ public interface IDistributionSignforService extends BaseService push0ldSystemSignInfo(Long signingId); SignforPageCountVO selectDistributionSignforPageCount( DistributionSignforVO distributionSignfor); - Boolean clerkCheckPushData(Long id); + Map clerkCheckPushData(Long id); /** * 导出签收详情列表 diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java index 1aafa7acc..ef8b8d95d 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java @@ -904,8 +904,9 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl materialUnit = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getMaterialUnit).distinct().collect(Collectors.toList()); List mallId = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getMarketId).distinct().collect(Collectors.toList()); List materialName = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getMaterialName).distinct().collect(Collectors.toList()); + List brandName = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getBrandName).distinct().collect(Collectors.toList()); List brandId = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getBrandId).distinct().collect(Collectors.toList()); - if (materialId.size() != 1 || materialCode.size() != 1 || materialUnit.size() != 1 || mallId.size() != 1 || materialName.size() != 1 || brandId.size() != 1) { + if (materialId.size() != 1 || materialCode.size() != 1 || materialUnit.size() != 1 || mallId.size() != 1 || materialName.size() != 1 || brandName.size() != 1) { //该批次包件出现多种物料包件 return null; } @@ -941,6 +942,7 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl().lambda() - .eq(DistributionLoadscanEntity::getReservationId, signforEntity.getReservationId()) - .ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())) + .eq(DistributionLoadscanEntity::getReservationId, signforEntity.getReservationId()) + .ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())) .intValue(); Integer nad = distributionLoadscaninvnMapper.selectCount(new QueryWrapper().lambda() - .eq(DistributionLoadscaninvnEntity::getReservationId, signforEntity.getReservationId()) - .ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())) + .eq(DistributionLoadscaninvnEntity::getReservationId, signforEntity.getReservationId()) + .ne(DistributionLoadscaninvnEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())) .intValue(); signforEntity.setLoadedNumber(lad); signforEntity.setLoadedinNumber(nad); @@ -950,7 +951,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl distributionSignPrintList = new ArrayList<>(); @@ -1592,13 +1593,13 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl push0ldSystemSignInfo(Long signingId) { try { log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 推送老系统签收队列"); //得到审核的任务ID if (ObjectUtil.isEmpty(signingId)) { log.info(">>>>>>>>>>>>> clerkCheckPushDataHandler 签收ID为空"); - return; + return null; } //得到签收对象 @@ -1608,20 +1609,20 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl>>>>>>>>>>> clerkCheckPushDataHandler distributionSignforEntity {}", distributionSignforEntity); - return; + return null; } // 得到配送计划 DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distributionSignforEntity.getDeliveryId()); if (ObjectUtil.isEmpty(distributionDeliveryListEntity)) { log.info(">>>>>>>>>>> clerkCheckPushDataHandler distributionDeliveryListEntity {}", distributionDeliveryListEntity); - return; + return null; } // 得到配送客户 DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(distributionSignforEntity.getReservationId()); if (ObjectUtil.isEmpty(distributionReservationEntity)) { log.info(">>>>>>>>>>>> clerkCheckPushDataHandler distributionReservationEntity {}", distributionReservationEntity); - return; + return null; } @@ -1727,12 +1728,13 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl map = oldSystemDataPushClient.pushOldSystemSignInfo(delivery); + return map; } catch (Exception e) { log.error(">>>>> 推送老系统签收信息报错", e); } - + return null; } @@ -2466,7 +2468,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImplquery().lambda() .eq(DistributionSignforEntity::getReservationId, distrilbutionloadingscanDTO.getReservationId()) ); @@ -2809,7 +2811,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl>>>> 签收异常报错", e); - throw new CustomerException("签收异常报错"+e.getMessage()); + throw new CustomerException("签收异常报错" + e.getMessage()); } } @@ -2981,7 +2983,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl>>> 签收推送报错", e); - // } + // try { + // sendMessage(orderPackageCode, distributionReservationEntity.getReservationCode(), + // deliveryListEntity.getTrainNumber(), deliveryListEntity.getVehicleName(), deliveryListEntity.getDriverName(), + // AuthUtil.getUserName(), myCurrentWarehouse.getId(), AuthUtil.getTenantId()); + // } catch (Exception e) { + //// throw new RuntimeException(e); + // log.error(">>>> 签收推送报错", e); + // } } else { //一个客户下出现重复包条码 @@ -3220,7 +3222,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl distributionSignPrintList = new ArrayList<>(); @@ -3271,7 +3273,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl packageLockIds = new ArrayList<>(); @@ -3390,7 +3392,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl>>>>>>>>>>>>>>reservationId:{},deliveryId:{},orderPackageCode:{}", distributionLoadscanEntity.getReservationId(), distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getOrderPackageCode()); //进行签收数量的修改 Integer i = distributionDeliveryListMapper.updateloadingTimeById(distrilbutionloadingscanDTO.getDeliveryId()); @@ -3422,7 +3424,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl packageLockIds = new ArrayList<>(); //查询数据 DistributionSignforEntity distributionSignforEntity = baseMapper.selectOne(new QueryWrapper().lambda() @@ -5272,8 +5281,8 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl>>>>包件已签收:{}",parcelListEntity.getOrderPackageCode()); + if (OrderPackageStatusConstant.yiqianshou.getValue().equals(parcelListEntity.getOrderPackageStatus())) { + log.info("司机一键签收 >>>>>包件已签收:{}", parcelListEntity.getOrderPackageCode()); continue; } //查询是否进行装车 @@ -5448,6 +5457,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl clerkCheckPushData(Long id) { + Map resultMap = new HashMap<>(); try { log.info(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 推送老系统签收队列"); //得到审核的任务ID if (ObjectUtil.isEmpty(id)) { log.info(">>>>>>>>>>>>> clerkCheckPushDataHandler 签收ID为空"); - return false; + resultMap.put("result", false); + return resultMap; } //得到签收对象 @@ -6461,20 +6473,29 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl>>>>>>>>>>> clerkCheckPushDataHandler distributionSignforEntity {}", distributionSignforEntity); - return false; + + resultMap.put("result", false); + resultMap.put("msg", "没有签收对象 distributionSignforEntity"); + return resultMap; } // 得到配送计划 DistributionDeliveryListEntity distributionDeliveryListEntity = distributionDeliveryListMapper.selectById(distributionSignforEntity.getDeliveryId()); if (ObjectUtil.isEmpty(distributionDeliveryListEntity)) { log.info(">>>>>>>>>>> clerkCheckPushDataHandler distributionDeliveryListEntity {}", distributionDeliveryListEntity); - return false; + resultMap.put("result", false); + resultMap.put("msg", "没有配送计划 distributionDeliveryListEntity"); + + return resultMap; } // 得到配送客户 DistributionReservationEntity distributionReservationEntity = distributionReservationMapper.selectById(distributionSignforEntity.getReservationId()); if (ObjectUtil.isEmpty(distributionReservationEntity)) { log.info(">>>>>>>>>>>> clerkCheckPushDataHandler distributionReservationEntity {}", distributionReservationEntity); - return false; + resultMap.put("result", false); + resultMap.put("msg", "没有配送客户 distributionReservationEntity"); + + return resultMap; } @@ -6582,14 +6603,16 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl>>> clerkCheckPushData SignPushDataDTO :{}", delivery); - Boolean b = oldSystemDataPushClient.pushOldSystemSignInfo(delivery); - return b; + resultMap = oldSystemDataPushClient.pushOldSystemSignInfo(delivery); + return resultMap; } catch (Exception e) { + resultMap.put("result", false); + resultMap.put("msg", "数据准备错误"+e.getMessage()); log.error(">>>>> 推送老系统签收信息报错", e); } + return resultMap; - return false; } @Override @@ -6747,7 +6770,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl list = new ArrayList<>(); if (!addvaluePackageVOS.isEmpty()) { - addvaluePackageVOS.forEach(a->{ + addvaluePackageVOS.forEach(a -> { DistributionAddvaluePackageDTO dto = Func.copy(a, DistributionAddvaluePackageDTO.class); list.add(dto); }); @@ -6853,11 +6876,11 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl map = oldSystemDataPushClient.pushOldSystemSignInfo(delivery); + Boolean flag = (Boolean) map.get("result"); + return flag; } catch (Exception e) { log.error(">>>>> 推送老系统自提签收信息报错", e); return false; @@ -3575,7 +3577,6 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl ladingScanEntities = distributionBillLadingScanService.list(Wrappers.query().lambda() .eq(DistributionBillLadingScanEntity::getBillLadingId, Long.parseLong(s)) - .eq(DistributionBillLadingScanEntity::getMaterialType, "2") ); if (ladingScanEntities.isEmpty()){ return R.fail("无签收数据!!"); @@ -3596,7 +3597,7 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImplf.getMaterialType().equals("2")).mapToInt(DistributionBillLadingScanEntity::getQuantity).sum(); // if (sum == 0){ // //未进行任何签收扫描的操作这里需要进行拦截 // throw new ServiceException("无签收数据"); diff --git a/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mq/NodeDataPushListener.java b/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mq/NodeDataPushListener.java index de950d14f..485ba3af9 100644 --- a/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mq/NodeDataPushListener.java +++ b/blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/mq/NodeDataPushListener.java @@ -328,23 +328,24 @@ public class NodeDataPushListener { HttpRequest post = HttpUtil.createPost(mengTianProperties.getHost() + url); post.header("ClientId", "mt.ht"); post.header("OperationCode", operationCode); - post.timeout(5000); + post.timeout(30000); post.body(body); // 存入日志表 entity.setContent(body); entity.setOperationCode(operationCode); entity.setSendUrl(mengTianProperties.getHost() + url); + String resBody = ""; try { HttpResponse execute = post.execute(); - String resBody = execute.body(); + resBody = execute.body(); log.info("推送工厂结果:{}", resBody); JSONObject entries = JSONUtil.parseObj(resBody); String resultCode = entries.getStr("Result"); entity.setResultContent(resBody); - entity.setSendStatus(StrUtil.isEmpty(resultCode) ? "0" : resultCode); + entity.setSendStatus(StrUtil.isEmpty(resultCode) ? "-1" : resultCode); } catch (Exception e) { - entity.setResultContent(e.getMessage()); - entity.setSendStatus("0"); + entity.setResultContent(resBody); + entity.setSendStatus("-1"); } factoryNodePushService.save(entity); } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java index c7d5cfeb4..368599d49 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/FactoryXxlJob.java @@ -127,78 +127,69 @@ public class FactoryXxlJob { // 获取请求日志 按照状态来识别 List ls = orderLogService.lambdaQuery().eq(OrderLogEntity::getType, 1).eq(OrderLogEntity::getStatus, 1).list(); -// //XxlJobLogger.log("日志集合 {}", ls); - //XxlJobLogger.log("目前存在的数据 {}", newList); + + // 查询所有的数据库内容 只包含客户单号 + List allDataList = stationOrderService.list(); + XxlJobLogger.log("allDataList {}", allDataList.size()); // 解析数据 ls.forEach(orderLogEntity -> { - // 查询所有的数据库内容 只包含客户单号 - List allDataList = stationOrderService.list(); - XxlJobLogger.log("allDataList{}", allDataList.size()); - -// List newList = new ArrayList<>(); -// if (allDataList.size() != 0) { -// newList.addAll(allDataList.stream().map(StationOrderEntity::getTcWlb008).collect(Collectors.toList())); -// XxlJobLogger.log("newList{}", newList.size()); -// -// } - - //XxlJobLogger.log("日志对象 {}", orderLogEntity); Map map = orderService.dataRelative(orderLogEntity); - List dataList = map.get(StationOrderEntity.class.getName()); + List dataList = (List) map.get(StationOrderEntity.class.getName()); if (dataList.isEmpty()) { - //XxlJobLogger.log("本次解析操作没有数据"); - //更新数据库请求日志状态 + // 更新数据库请求日志状态 orderLogEntity.setStatus(0); orderLogService.updateById(orderLogEntity); return; } dataList = checkDataExit(dataList, allDataList); - if (dataList != null && dataList.size() != 0) { - //XxlJobLogger.log("保存对象StationOrderEntity {}", dataList); + if (!dataList.isEmpty()) { stationOrderService.saveBatch(dataList); } - //XxlJobLogger.log("日志对象 {}", dataList.get(0).getId()); - - List staorderPackagesEntityList = map.get(StaorderPackagesEntity.class.getName()); - List allDataStaorderPackagesEntity = staorderPackagesService.lambdaQuery().select(StaorderPackagesEntity::getPackagenum).list(); - List allStaorderPackagesEntityUnionId = allDataStaorderPackagesEntity.stream().map(StaorderPackagesEntity::getPackagenum).collect(Collectors.toList()); + List staorderPackagesEntityList = (List) map.get(StaorderPackagesEntity.class.getName()); - allStaorderPackagesEntityUnionId.forEach(t -> { - for (int i = 0; i < staorderPackagesEntityList.size(); i++) { - if (staorderPackagesEntityList.get(i).getPackagenum().equals(t)) { - staorderPackagesEntityList.remove(i); - break; - } - } - }); - /*************** SNM 存在 相同的车次 多次推送 重复的包件的操作**************/ - // 需要移除 当前合同号下的已经存在的包件 + List finalDataList = dataList; + List filteredStaorderPackagesEntityList = staorderPackagesEntityList.stream() + .filter(staorderPackagesEntity -> { - dataList.forEach(v -> { - for (int i = 0; i < staorderPackagesEntityList.size(); i++) { - if (staorderPackagesEntityList.get(i).getTcPoa014().equals(v.getTcWlb008())) { - staorderPackagesEntityList.get(i).setOrderId(v.getId()); + List list = staorderPackagesService.lambdaQuery() + .eq(StaorderPackagesEntity::getTcPoa014, staorderPackagesEntity.getTcPoa014()).list(); + // 验证查询处理的包件中是否包含当前循环的包件 + boolean exists = list.stream() + .anyMatch(t -> t.getPackagenum().equals(staorderPackagesEntity.getPackagenum())); + log.info("staorderPackagesEntity.getPackagenum() {}", staorderPackagesEntity.getPackagenum()); + log.info("exists {}" , exists); + if (!exists) { + // 更新订单ID + for (StationOrderEntity v : finalDataList) { + if (v.getTcWlb008().equals(staorderPackagesEntity.getTcPoa014())) { + staorderPackagesEntity.setOrderId(v.getId()); + } + } } - } - }); + boolean isExist = !exists ; + log.info("isExist {}", isExist); + return isExist; + }) + .collect(Collectors.toList()); + log.info("filteredStaorderPackagesEntityList {}", filteredStaorderPackagesEntityList.size()); // 插入数据库 - if (staorderPackagesEntityList != null && !staorderPackagesEntityList.isEmpty()) { - //XxlJobLogger.log("保存对象StaorderPackagesEntity {}", staorderPackagesEntityList); - staorderPackagesService.saveBatch(staorderPackagesEntityList); + if (!filteredStaorderPackagesEntityList.isEmpty()) { + staorderPackagesService.saveBatch(filteredStaorderPackagesEntityList); } - //更新数据库请求日志状态 + // 更新数据库请求日志状态 orderLogEntity.setStatus(0); orderLogService.updateById(orderLogEntity); }); + // 调用接口写入到老系统的数据库 if (ObjectUtil.equal(sendDataProperties.getSend(), "old")) { log.info("推送到老系统"); @@ -212,6 +203,7 @@ public class FactoryXxlJob { return ReturnT.SUCCESS; } + private Timestamp initTimestamp() { Calendar calendar = Calendar.getInstance(); @@ -224,7 +216,7 @@ public class FactoryXxlJob { } @Transactional(rollbackFor = Exception.class) - public Boolean resoveFactoryData() { + public void resoveFactoryData() { Map> map = new HashMap<>(); //TODO 调用Service 获取需要处理的数据 //查询要处理的订单信息 @@ -420,7 +412,6 @@ public class FactoryXxlJob { }); } - return true; } @Transactional(rollbackFor = Exception.class) diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/receiver/BusinessData2FactoryHandler.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/receiver/BusinessData2FactoryHandler.java index eeaab1ae9..38916fb40 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/receiver/BusinessData2FactoryHandler.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/receiver/BusinessData2FactoryHandler.java @@ -1,12 +1,11 @@ package com.logpm.factory.mt.receiver; import com.alibaba.fastjson.JSONObject; -import com.fasterxml.jackson.core.JsonProcessingException; import com.logpm.factory.mt.service.IMtFactoryDataService; +import com.logpm.factory.props.MtFactoryProperties; import com.rabbitmq.client.Channel; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.RabbitConstant; -import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.DateUtil; import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.annotation.RabbitHandler; @@ -30,6 +29,8 @@ public class BusinessData2FactoryHandler { @Autowired private IMtFactoryDataService mtFactoryDataService; + @Autowired + private MtFactoryProperties mtFactoryProperties; @RabbitHandler public void sendOrderPackageScan(Map map, Message message, Channel channel) throws IOException, NoSuchAlgorithmException { @@ -44,7 +45,9 @@ public class BusinessData2FactoryHandler { String destinationWarehouse = object.getString("destinationWarehouse"); try { - mtFactoryDataService.qianshouScanForNewSystem(orderPackageCode, operationTime, distributionContactId, destinationWarehouse); + if(mtFactoryProperties.getSendEnable()){ + mtFactoryDataService.qianshouScanForNewSystem(orderPackageCode, operationTime, distributionContactId, destinationWarehouse); + } } catch (Exception e) { log.error(">>>>>>", e); } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/receiver/BusinessDataClerkCheck2FactoryHandler.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/receiver/BusinessDataClerkCheck2FactoryHandler.java index b9d1df19f..a12d9f390 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/receiver/BusinessDataClerkCheck2FactoryHandler.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/receiver/BusinessDataClerkCheck2FactoryHandler.java @@ -3,6 +3,7 @@ package com.logpm.factory.mt.receiver; import com.alibaba.fastjson.JSONObject; import com.logpm.factory.mt.dto.MtReceiveDTO; import com.logpm.factory.mt.service.IMtFactoryDataService; +import com.logpm.factory.props.MtFactoryProperties; import com.rabbitmq.client.Channel; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.RabbitConstant; @@ -29,6 +30,8 @@ public class BusinessDataClerkCheck2FactoryHandler { @Autowired private IMtFactoryDataService mtFactoryDataService; + @Autowired + private MtFactoryProperties mtFactoryProperties; @RabbitHandler public void sendOrderPackageScan(Map map, Message message, Channel channel) throws IOException, NoSuchAlgorithmException { @@ -38,7 +41,9 @@ public class BusinessDataClerkCheck2FactoryHandler { MtReceiveDTO mtReceiveDTO = JSONObject.parseObject(json,MtReceiveDTO.class); try { - mtFactoryDataService.sendReceiveInfoByNewSystem(mtReceiveDTO); + if(mtFactoryProperties.getSendEnable()){ + mtFactoryDataService.sendReceiveInfoByNewSystem(mtReceiveDTO); + } } catch (Exception e) { log.error(">>>>>>", e); } 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 ae60e6b22..66a4a45ce 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 @@ -660,6 +660,10 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService { }else{ distributionStockArticleEntity.setTotalNumber(total); distributionStockArticleEntity.setGenre(1); + String reservationStatus = distributionStockArticleEntity.getReservationStatus(); + if("30".equals(reservationStatus)){ + distributionStockArticleEntity.setReservationStatus("20"); + } distributionStockArticleClient.saveOrUpdate(distributionStockArticleEntity); } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/props/MtFactoryProperties.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/props/MtFactoryProperties.java index 6b24adea5..60753cb15 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/props/MtFactoryProperties.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/props/MtFactoryProperties.java @@ -19,5 +19,8 @@ public class MtFactoryProperties { private String userpwd ; + /** 是否推送梦天 */ + private Boolean sendEnable = true; + } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/HwyOrderStatusHandler.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/HwyOrderStatusHandler.java index 40b9b481b..466605527 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/HwyOrderStatusHandler.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/HwyOrderStatusHandler.java @@ -6,6 +6,7 @@ import com.logpm.factory.comfac.dto.OrderStatusDTO; import com.logpm.factory.mt.service.IMtFactoryDataService; import com.logpm.factory.oupai.service.IOuPaiFactoryService; import com.logpm.factory.pan.service.IPanFactoryDataService; +import com.logpm.factory.props.MtFactoryProperties; import com.logpm.trunkline.entity.TrunklineAdvanceEntity; import com.logpm.trunkline.feign.ITrunklineAdvanceClient; import com.rabbitmq.client.Channel; @@ -37,6 +38,7 @@ import java.util.Objects; public class HwyOrderStatusHandler { private final IPanFactoryDataService panFactoryDataService; + private final MtFactoryProperties mtFactoryProperties; private final IMtFactoryDataService mtFactoryDataService; private final IOuPaiFactoryService ouPaiFactoryService; private final ITrunklineAdvanceClient trunklineAdvanceClient; @@ -70,11 +72,13 @@ public class HwyOrderStatusHandler { } break; case FactoryConstant.MENGT: - r = mtFactoryDataService.handleStatusData(orderStatusDTO); - if (r.getCode() == 400 || r.getCode() == 200) { - log.info("TAG {} ##################hwyOrderStatusHandler: 该条数据不用处理 orderNo={}", FactoryConstant.MENGT, orderSelfNum); - } else { - throw new CustomerException(r.getCode(), r.getMsg()); + if(mtFactoryProperties.getSendEnable()){ + r = mtFactoryDataService.handleStatusData(orderStatusDTO); + if (r.getCode() == 400 || r.getCode() == 200) { + log.info("TAG {} ##################hwyOrderStatusHandler: 该条数据不用处理 orderNo={}", FactoryConstant.MENGT, orderSelfNum); + } else { + throw new CustomerException(r.getCode(), r.getMsg()); + } } break; case FactoryConstant.OUPAI: diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/HwyUnloadCarComHandler.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/HwyUnloadCarComHandler.java index cdf04f883..563774309 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/HwyUnloadCarComHandler.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/HwyUnloadCarComHandler.java @@ -14,6 +14,7 @@ import com.logpm.factory.mt.entity.MtPushData; import com.logpm.factory.mt.service.IMtFactoryDataService; import com.logpm.factory.mt.service.IMtFactoryOrderMainService; import com.logpm.factory.mt.service.IMtPushDataService; +import com.logpm.factory.props.MtFactoryProperties; import com.logpm.factory.snm.vo.MTOrderPackageRelationVO; import com.logpm.factorydata.enums.BrandEnums; import com.logpm.factorydata.vo.NodePushMsg; @@ -61,6 +62,9 @@ public class HwyUnloadCarComHandler { @Autowired private IMtPushDataService mtPushDataService; + @Autowired + private MtFactoryProperties mtFactoryProperties; + @RabbitHandler public void unloadCarComDataHandler(NodePushMsg nodePushMsg, Message message, Channel channel) { @@ -68,7 +72,9 @@ public class HwyUnloadCarComHandler { BrandEnums brand = nodePushMsg.getBrand(); switch (brand) { case MTMM: - pushMentTian(nodePushMsg); + if(mtFactoryProperties.getSendEnable()){ + pushMentTian(nodePushMsg); + } break; } } diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/OrderStatusHandler.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/OrderStatusHandler.java index cee58bc3c..cd54d98f5 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/OrderStatusHandler.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/OrderStatusHandler.java @@ -7,13 +7,18 @@ import com.logpm.factory.comfac.dto.OrderStatusDTO; import com.logpm.factory.mt.service.IMtFactoryDataService; import com.logpm.factory.oupai.service.IOuPaiFactoryService; import com.logpm.factory.pan.service.IPanFactoryDataService; +import com.logpm.factory.props.MtFactoryProperties; import com.logpm.factory.zb.service.IZbFactoryDataService; import com.logpm.oldproject.entity.AdvanceEntity; import com.logpm.oldproject.feign.IAdvanceClient; import com.logpm.oldproject.feign.ITrayClient; import com.logpm.oldproject.feign.ITrayScanClient; import com.logpm.oldproject.feign.ITrayScanDesClient; -import com.logpm.warehouse.feign.*; +import com.logpm.warehouse.feign.IWarehouseTaryAllocationClient; +import com.logpm.warehouse.feign.IWarehouseTrayGoodsClient; +import com.logpm.warehouse.feign.IWarehouseTrayTypeClient; +import com.logpm.warehouse.feign.IWarehouseUpdownGoodsClient; +import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient; import com.rabbitmq.client.Channel; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.RabbitConstant; @@ -50,6 +55,8 @@ public class OrderStatusHandler { private IMtFactoryDataService mtFactoryDataService; @Autowired private IZbFactoryDataService zbFactoryDataService; + @Autowired + private MtFactoryProperties mtFactoryProperties; @Autowired private IOuPaiFactoryService ouPaiFactoryService; @@ -105,11 +112,13 @@ public class OrderStatusHandler { } break; case FactoryConstant.MENGT: - r = mtFactoryDataService.handleStatusData(orderStatusDTO); - if (r.getCode() == 400 || r.getCode() == 200) { - log.info("TAG {} ##################orderStatusHandler: 该条数据不用处理 orderNo={}", FactoryConstant.MENGT, orderSelfNum); - } else { - throw new CustomerException(r.getCode(), r.getMsg()); + if(mtFactoryProperties.getSendEnable()){ + r = mtFactoryDataService.handleStatusData(orderStatusDTO); + if (r.getCode() == 400 || r.getCode() == 200) { + log.info("TAG {} ##################orderStatusHandler: 该条数据不用处理 orderNo={}", FactoryConstant.MENGT, orderSelfNum); + } else { + throw new CustomerException(r.getCode(), r.getMsg()); + } } break; case FactoryConstant.ZHIBANG: diff --git a/blade-service/logpm-factory/src/main/java/com/logpm/factory/snm/service/impl/OrderServiceImpl.java b/blade-service/logpm-factory/src/main/java/com/logpm/factory/snm/service/impl/OrderServiceImpl.java index fef7abcdc..404bee3b2 100644 --- a/blade-service/logpm-factory/src/main/java/com/logpm/factory/snm/service/impl/OrderServiceImpl.java +++ b/blade-service/logpm-factory/src/main/java/com/logpm/factory/snm/service/impl/OrderServiceImpl.java @@ -121,6 +121,7 @@ public class OrderServiceImpl implements IOrderService { @Override public Map dataRelative(OrderLogEntity orderLogEntity) { + logger.info(">>>>>>>>>>>>>> 待解析数据{}", orderLogEntity.getResBody()); Map map = new HashMap<>(); String resBody = orderLogEntity.getResBody(); @@ -136,9 +137,13 @@ public class OrderServiceImpl implements IOrderService { List rs = new ArrayList<>(); List PACKAGE_LIST = new ArrayList<>(); + logger.info(">>>>>>>>>>>>>> responseStationOrderVo.getData() {}", responseStationOrderVo.getData()); + responseStationOrderVo.getData().forEach(responseStationOrderInfoVo -> { StationOrderEntity stationOrderEntity = new StationOrderEntity(); - PACKAGE_LIST.addAll(responseStationOrderInfoVo.getPACKAGE_LIST()); + if(!ObjectUtils.isEmpty(responseStationOrderInfoVo.getPACKAGE_LIST())){ + PACKAGE_LIST.addAll(responseStationOrderInfoVo.getPACKAGE_LIST()); + } try { buildStationOrderEntityByRelative(responseStationOrderInfoVo, stationOrderEntity); } catch (NoSuchFieldException e) { diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/SignPushClient.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/SignPushClient.java index 8dccde415..8569711dd 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/SignPushClient.java +++ b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/SignPushClient.java @@ -26,11 +26,11 @@ public class SignPushClient implements IOldSignPushClient { @Autowired private OldSystemProperties oldSystemProperties; @Override - public Boolean pushOldSystemSignInfo(SignPushDataDTO signPushDataDTO) { + public Map pushOldSystemSignInfo(SignPushDataDTO signPushDataDTO) { //todo 这里存在调用老系统的接口 将数据会写给老系统 int timeoutMilliseconds = 60000; - + Map resultMap = new HashMap<>(); Boolean result =false; log.info(">>>> pushOldSystemSignInfo 程序执行 start time: {}",System.currentTimeMillis()); String authCode = oldLogin(signPushDataDTO.getWarehouseId()+""); @@ -41,21 +41,24 @@ public class SignPushClient implements IOldSignPushClient { log.info(">>>> pushOldSystemSignInfo request url:{} data:{}",url,data); String body = HttpRequest.post(url).body(data).header("token", authCode).setConnectionTimeout(timeoutMilliseconds).execute().body(); + log.info(">>>> pushOldSystemSignInfo body :{}",body); if (StringUtil.isNotBlank(body)) { JSONObject res = JSON.parseObject(body); if ("200".equals(res.getString("code"))) { result= true; }else { String msg = res.getString("msg"); + resultMap.put("msg",msg); log.info(">>>> pushOldSystemSignInfo response msg:{}",msg); log.info(">>>> pushOldSystemSignInfo 推送配送ID signPushDataDTO ID:{}",signPushDataDTO.getId()); } } log.info(">>>> pushOldSystemSignInfo response url:{} body:{}",url,body); - log.info(">>>> pushOldSystemSignInfo 程序执行 end time : {} >> return result :{} ",System.currentTimeMillis(),result); + resultMap.put("result",result); + - return result; + return resultMap; } @Override diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/DistributionDatarepair.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/DistributionDatarepair.java index 171609dce..7ec122996 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/DistributionDatarepair.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/DistributionDatarepair.java @@ -82,20 +82,22 @@ public class DistributionDatarepair { Map> packageMap = deliveryParcelListEntities.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getWarehouseId)); packageMap.forEach((k, v) -> { String orderPackageCodes = v.stream().map(DistributionParcelListEntity::getOrderPackageCode).collect(Collectors.joining(",")); - stringBuffer.append("仓库:"+k).append("包件下架"+orderPackageCodes);; - Map map = new HashMap<>(); - map.put("orderPackageCode",orderPackageCodes); - map.put("warehouseId",k); + stringBuffer.append("仓库:" + k).append("包件下架" + orderPackageCodes); + ; + Map map = new HashMap<>(); + map.put("orderPackageCode", orderPackageCodes); + map.put("warehouseId", k); warehouseUpdownTypeClient.downDeliveryPackage(map); }); } - log.info("执行包件下架操作>>>>>>>>>>>>>"+stringBuffer.toString()); + log.info("执行包件下架操作>>>>>>>>>>>>>" + stringBuffer.toString()); return ReturnT.SUCCESS; } /** * 对已签收包件进行解托 + * * @return */ @XxlJob("downTrayOldPackage") @@ -108,144 +110,158 @@ public class DistributionDatarepair { Map> packageMap = deliveryParcelListEntities.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getWarehouseId)); packageMap.forEach((k, v) -> { String orderPackageCodes = v.stream().map(DistributionParcelListEntity::getOrderPackageCode).collect(Collectors.joining(",")); - stringBuffer.append("仓库:"+k).append("包件解托"+orderPackageCodes);; - warehouseUpdownTypeClient.downPackageOrDelTray(orderPackageCodes, k,"签收下架解托"); + stringBuffer.append("仓库:" + k).append("包件解托" + orderPackageCodes); + ; + warehouseUpdownTypeClient.downPackageOrDelTray(orderPackageCodes, k, "签收下架解托"); }); } - log.info("执行包件下架操作>>>>>>>>>>>>>"+stringBuffer.toString()); + log.info("执行包件下架操作>>>>>>>>>>>>>" + stringBuffer.toString()); return ReturnT.SUCCESS; } /** * 维护配送状态 + * * @return */ @XxlJob("maintenanceDeliveryStatus") public ReturnT maintenanceDeliveryStatus(String params) { //维护配送的状态 String method = "######################DistributionDatarepair.maintenanceDeliveryStatus"; - log.info(method+"维护配送订单id:{}",params); + log.info(method + "维护配送订单id:{}", params); deliveryListClient.maintenanceDeliveryInfo(params); - log.info(method+"维护配送订单结束"); + log.info(method + "维护配送订单结束"); return ReturnT.SUCCESS; } /** * 维护预约单信息 + * * @return */ @XxlJob("maintenanceReservationInfo") public ReturnT maintenanceReservationInfo(String params) { //维护配送的状态 String method = "######################DistributionDatarepair.maintenanceDeliveryStatus"; - log.info(method+"维护配送订单id:{}",params); + log.info(method + "维护配送订单id:{}", params); distributionReservationClient.maintenanceReservationInfo(params); - log.info(method+"维护配送订单结束"); + log.info(method + "维护配送订单结束"); return ReturnT.SUCCESS; } /** * 维护指定取消预约信息 + * * @return */ @XxlJob("maintenanceCancelReservation") public ReturnT maintenanceCancelReservation(String params) { //维护配送的状态 String method = "######################DistributionDatarepair.maintenanceDeliveryStatus"; - log.info(method+"维护配送订单id:{}",params); + log.info(method + "维护配送订单id:{}", params); distributionReservationClient.maintenanceCancelReservation(params); - log.info(method+"维护配送订单结束"); + log.info(method + "维护配送订单结束"); return ReturnT.SUCCESS; } - /** * 维护指定取消预约信息 + * * @return */ @XxlJob("maintenanceDeliveryInfo") public ReturnT maintenanceDeliveryInfo(String params) { //维护配送的状态 String method = "######################DistributionDatarepair.maintenanceDeliveryStatus"; - log.info(method+"维护配送订单id:{}",params); + log.info(method + "维护配送订单id:{}", params); deliveryListClient.maintenanceDeliveryInfoByWarehouseId(params); - log.info(method+"维护配送订单结束"); + log.info(method + "维护配送订单结束"); return ReturnT.SUCCESS; } - - /** * 推送老系统系统 + * * @return */ @XxlJob("pushNotification") public ReturnT pushNotification(String params) { // 得到当前仓库所有的签收任务 Integer parmeId = null; - if(StringUtil.isNotBlank(params)){ + if (StringUtil.isNotBlank(params)) { parmeId = Integer.parseInt(params); } List allSignfor = warehouseMappingDataMapper.findAllSignfor(parmeId); for (JSONObject entries : allSignfor) { Long id = entries.getLong("singnforId"); - Boolean b = distributionSignforClient.clerkCheckPushData(id); - if(b!=null&&b){ + Map map = distributionSignforClient.clerkCheckPushData(id); + log.info(">>> 推送反馈信息 map :{}",map); + Boolean b = (Boolean) map.get("result"); + if (b != null && b) { warehouseMappingDataMapper.updateClearSignforStatus(id, entries.getLong("warehouseId"), 1); - log.info(">>> 推送成功 {}",id); - }else{ - log.error(">>> 推送失败 id="+id); + log.info(">>> 推送成功 {}", id); + } else { + String remarks = (String) map.get("msg"); + //进行错误记录 + warehouseMappingDataMapper.updateClearSignforRemarks(id, remarks); + log.error(">>> 推送失败 id=" + id); } } return ReturnT.SUCCESS; } - /** * 推送单个 老系统系统 + * * @return */ @XxlJob("pushSingleNotification") public ReturnT pushSingleNotification(String params) { - Boolean b = distributionSignforClient.clerkCheckPushData(Long.parseLong(params)); - if(b!=null&&b){ - warehouseMappingDataMapper.updateClearSignforStatusBysignforId(Long.parseLong(params), 1); - log.info(">>> 推送成功 {}",Long.parseLong(params)); - }else{ - log.error(">>> 推送失败 id="+Long.parseLong(params)); - } + Map map = distributionSignforClient.clerkCheckPushData(Long.parseLong(params)); + Long id = Long.parseLong(params); + Boolean b = (Boolean) map.get("result"); + log.info(">>> 推送反馈信息 map :{}",map); + if (b != null && b) { + warehouseMappingDataMapper.updateClearSignforStatusBysignforId(Long.parseLong(params), 1); + log.info(">>> 推送成功 {}", Long.parseLong(params)); + } else { + String remarks = (String) map.get("msg"); + warehouseMappingDataMapper.updateClearSignforRemarks(id, remarks); + log.error(">>> 推送失败 id=" + Long.parseLong(params)); + } return ReturnT.SUCCESS; } /** * 推送自提签收老系统系统 + * * @return */ @XxlJob("pushBillNotification") public ReturnT pushBillNotification(String params) { // 得到当前仓库所有的签收任务 Long parmeId = null; - if(StringUtil.isNotBlank(params)){ + if (StringUtil.isNotBlank(params)) { parmeId = Long.parseLong(params); } List allSignfor = warehouseMappingDataMapper.findAllBillSign(parmeId); for (JSONObject entries : allSignfor) { try { Long id = entries.getLong("billId"); - Boolean b =distrilbutionBillLadingClient.clerkBillCheckPushData(id); - if(b!=null&&b){ + Boolean b = distrilbutionBillLadingClient.clerkBillCheckPushData(id); + if (b != null && b) { warehouseMappingDataMapper.updateClearBillSignforStatus(entries.getLong("id"), entries.getLong("warehouseId"), 1); - log.info(">>> pushBillNotification 成功 id={}",id); - }else{ - log.error(">>> pushBillNotification 失败 id="+id); + log.info(">>> pushBillNotification 成功 id={}", id); + } else { + log.error(">>> pushBillNotification 失败 id=" + id); } - Thread.sleep(1000*60); + Thread.sleep(1000 * 60); } catch (InterruptedException e) { throw new RuntimeException(e); } finally { @@ -257,22 +273,17 @@ public class DistributionDatarepair { } - /** * 推送自提签收信息至工厂 + * * @return */ @XxlJob("sendFactorySignforInfo") public ReturnT sendFactorySignforInfo(String params) { // 得到当前仓库所有的签收任务 - Boolean b =distrilbutionBillLadingClient.sendFactorySignforInfo(params); + Boolean b = distrilbutionBillLadingClient.sendFactorySignforInfo(params); return ReturnT.SUCCESS; } - - - - - } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java index 877736ec5..d2a2bb587 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.java @@ -123,5 +123,12 @@ public interface WarehouseMappingDataMapper { List findStockAllocationInfo(); void updateClearSignforStatusBysignforId(@Param("singnforId")Long singnforId, @Param("dealStatus") Integer dealStatus); + + /** + * 修改备注 + * @param id + * @param remarks + */ + void updateClearSignforRemarks(@Param("singnforId")Long id,@Param("remarks") String remarks); } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml index 04810b882..e9b6b11e4 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/mapper/WarehouseMappingDataMapper.xml @@ -354,6 +354,11 @@ set deal_status = #{dealStatus} where singnfor_id = #{singnforId} + + update clear_singnfor_status_record + set remarks = #{remarks} + where singnfor_id= #{singnforId} + select ltcls.* - from logpm_trunkline_cars_order ltco - left join logpm_trunkline_cars_load_scan ltcls on ltcls.order_code = ltco.order_code and ltcls.load_id = ltco.load_id - where ltco.load_id = #{loadId} - and ltco.final_node_id = #{warehouseId} + from logpm_trunkline_cars_load_scan ltcls + where ltcls.load_id = #{loadId} + and ltcls.final_node_id = #{warehouseId} and ltcls.tray_code = #{trayCode} and ltcls.scan_status = '1' diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java index 91921cb14..3cfa6a2c9 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java @@ -190,24 +190,26 @@ public class OpenOrderServiceImpl implements IOpenOrderService { } + TrunklineAdvanceEntity advanceEntity = list.get(0); + if(!Objects.isNull(advanceEntity)){ + String consigneePerson = advanceEntity.getConsigneePerson(); + if(!StringUtil.isBlank(consigneePerson)){ + openOrderVO.setConsigneeName(consigneePerson); + openOrderVO.setConsigneeMobile(advanceEntity.getConsigneeMobile()); + openOrderVO.setConsigneeAddress(advanceEntity.getConsigneeAddress()); + } + } + //收货单位-----根据三方商场找到对应的clientId Long clientId = basicdataTripartiteMallClient.getClientIdByNameAndBrandAndCode(dealerName,StringUtil.isBlank(dealerCode)?"":dealerCode, brand); BasicdataClientVO basicdataClientEntity = basicdataClientClient.findEntityVoById(clientId); if (!Objects.isNull(basicdataClientEntity)) { openOrderVO.setConsigneeClientId(clientId); - TrunklineAdvanceEntity advanceEntity = list.get(0); openOrderVO.setConsignee(basicdataClientEntity.getClientName()); openOrderVO.setConsigneeName(basicdataClientEntity.getLinkman()); openOrderVO.setConsigneeMobile(basicdataClientEntity.getPhone()); openOrderVO.setConsigneeAddress(basicdataClientEntity.getDetailedly()); - if(!Objects.isNull(advanceEntity)){ - String consigneePerson = advanceEntity.getConsigneePerson(); - if(!StringUtil.isBlank(consigneePerson)){ - openOrderVO.setConsigneeName(consigneePerson); - openOrderVO.setConsigneeMobile(advanceEntity.getConsigneeMobile()); - openOrderVO.setConsigneeAddress(advanceEntity.getConsigneeAddress()); - } - } + List destinationArray = new ArrayList<>(); String badeRegionAreaId = basicdataClientEntity.getBladeRegionAreaId(); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java index 4cebefb91..b67e3494b 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java @@ -1102,7 +1102,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl carsLoadScanEntityList = trunklineCarsLoadScanService.list(queryWrapper); if(CollUtil.isNotEmpty(carsLoadScanEntityList)){ @@ -1142,6 +1143,8 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("waybill_no", waybillNo) + .eq("load_id", loadId) + .eq("final_node_id", warehouseId) + .eq("order_code", orderCode); + TrunklineCarsLoadScanEntity carsLoadScanEntity = trunklineCarsLoadScanService.getOne(queryWrapper); + if (Objects.isNull(carsLoadScanEntity)) { + log.warn("#############unloadZero: 零担信息不存在 waybillNo={} order_code={} loadId={} finalNodeId={}", waybillNo, orderCode, loadId, warehouseId); + return R.fail(405, "零担信息不存在"); + } + + Integer isAbnormal = 0; + Integer num = carsLoadScanEntity.getNum(); + Long fromWarehouseId = carsLoadScanEntity.getFromWarehouseId(); + Long waybillId = carsLoadScanEntity.getWaybillId(); + String scanCode = carsLoadScanEntity.getScanCode(); + Long loadScanId = carsLoadScanEntity.getId(); + if (enterNun > num) { + log.warn("#############unloadZero: 零担信息卸车数量大于装车件数 enterNun={} num={}", enterNun, num); + return R.fail(405, "零担信息卸车数量大于装车件数"); + } + + carsLoadScanEntity.setUnloadNum(enterNun); + carsLoadScanEntity.setUnloadNodeId(warehouseId); + carsLoadScanEntity.setUnloadNodeName(warehouseName); + carsLoadScanEntity.setUnloadAbnormal(0); + carsLoadScanEntity.setScanStatus("2"); + carsLoadScanEntity.setLoadingUserName(AuthUtil.getNickName()); + carsLoadScanEntity.setUnloadUserName(AuthUtil.getNickName()); + carsLoadScanEntity.setUnloadTime(new Date()); + carsLoadScanEntity.setUnloadTrayName(unloadTrayName); + carsLoadScanEntity.setUnloadTrayCode(unloadTrayCode); + trunklineCarsLoadScanService.updateById(carsLoadScanEntity); + + trunklineCarsUnloadLogService.savaUnloadLog(warehouseId, warehouseName, loadId, loadCode, waybillId, waybillNo, orderCode, + scanCode, enterNun, 2, 1, isAbnormal, trayId, trayCode, trayName, fromWarehouseId, loadScanId, remark); + + if (unbindTray == 1) { + if (!StringUtil.isBlank(trayCode)) { + trayTypeClient.deleteZeroOrderByTrayCode(orderCode, trayCode, fromWarehouseId, "干线卸车零担解托"); + } + } + + DistributionStockArticleEntity newStockArticleEntity = distributionStockArticleClient.findStockArticleByOrderCodeAndWarehouseId(orderCode, warehouseId); + if (Objects.isNull(newStockArticleEntity)) { + DistributionStockArticleEntity stockArticleEntity = distributionStockArticleClient.findStockArticleByOrderCodeAndWarehouseId(orderCode, fromWarehouseId); + newStockArticleEntity = new DistributionStockArticleEntity(); + BeanUtil.copy(stockArticleEntity, newStockArticleEntity); + newStockArticleEntity.setId(null); + newStockArticleEntity.setOrderReceiveStatus("20"); + newStockArticleEntity.setOrderStatus("10"); + newStockArticleEntity.setHandQuantity(enterNun); + newStockArticleEntity.setIncomingNum(enterNun); + newStockArticleEntity.setWarehouse(basicdataWarehouseEntity.getName()); + newStockArticleEntity.setWarehouseId(basicdataWarehouseEntity.getId()); + newStockArticleEntity.setCarsLoadNum(0); + Long orderId = distributionStockArticleClient.addData(newStockArticleEntity); + if (orderId != 0) { + List parcelListEntityList = distributionParcelListClient.findEntityListByOrderCode(orderCode, fromWarehouseId); + List ls = new ArrayList<>(); + for (DistributionParcelListEntity parcelListEntity : parcelListEntityList) { + DistributionParcelListEntity newParcelListEntity = new DistributionParcelListEntity(); + BeanUtil.copy(parcelListEntity, newParcelListEntity); + newParcelListEntity.setId(null); + newParcelListEntity.setWarehouseId(warehouseId); + newParcelListEntity.setWarehouse(warehouseName); + newParcelListEntity.setStockArticleId(orderId); + Long acceptWarehouseId = parcelListEntity.getAcceptWarehouseId(); + if(warehouseId.equals(acceptWarehouseId)){ + newParcelListEntity.setIsTransfer(0); + }else{ + newParcelListEntity.setIsTransfer(1); + } + Long orderPackageId = distributionParcelListClient.addReturnId(newParcelListEntity); + + DistributionParcelNumberEntity parcelNumberEntity = new DistributionParcelNumberEntity(); + parcelNumberEntity.setStockArticleId(orderId); + parcelNumberEntity.setParcelListId(orderPackageId); + parcelNumberEntity.setQuantity(newParcelListEntity.getQuantity()); + parcelNumberEntity.setHandQuantity(0); + parcelNumberEntity.setDeliveryQuantity(0); + parcelNumberEntity.setSigninQuantity(0); + parcelNumberEntity.setOutboundQuantity(0); + parcelNumberEntity.setWarehouseId(warehouseId); + ls.add(parcelNumberEntity); + } + distributionParcelNumberClient.addBatch(ls); + } + } else { + Integer handQuantity = newStockArticleEntity.getHandQuantity() + enterNun; + Integer incomingNum = newStockArticleEntity.getIncomingNum() + enterNun; + Integer totalNumber = newStockArticleEntity.getTotalNumber(); + + if (incomingNum.equals(totalNumber)) { + if (handQuantity.equals(totalNumber)) { + newStockArticleEntity.setOrderStatus("20"); + } else { + newStockArticleEntity.setOrderStatus("30"); + } + newStockArticleEntity.setOrderReceiveStatus("30"); + } else { + if (incomingNum.equals(handQuantity)) { + newStockArticleEntity.setOrderStatus("10"); + } else { + newStockArticleEntity.setOrderStatus("30"); + } + newStockArticleEntity.setOrderReceiveStatus("20"); + } + newStockArticleEntity.setHandQuantity(handQuantity); + newStockArticleEntity.setIncomingNum(incomingNum); + + distributionStockArticleClient.saveOrUpdate(newStockArticleEntity); + } + + updateNumByLoadId(loadId); + +// JSONObject jsonObject = trunklineCarsLoadScanService.findUnloadNumAudio(loadId,warehouseId); +// Integer totalUnloadNum = jsonObject.getInteger("totalUnloadNum"); +// Integer abnormalUnloadNum = jsonObject.getInteger("abnormalUnloadNum"); +// StringBuilder audio = new StringBuilder(); +// audio.append("卸车").append(totalUnloadNum).append("件"); +// if(!Objects.isNull(abnormalUnloadNum) && !abnormalUnloadNum.equals(0)){ +// audio.append("异常卸车").append(abnormalUnloadNum).append("件"); +// } + return R.success("卸车成功"); + } + + public R unloadZeroNoXz(Long loadId, String waybillNo, Integer enterNun, Long warehouseId, Integer unbindTray, String trayCode, String orderCode, String remark) { log.info("#############unloadZero: 卸车零担"); @@ -8737,7 +8935,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl>>> 异步线程创建,绑定租户数据源 {}",tenantId); - DynamicDataSourceContextHolder.push(tenantId); + log.info(">>>> 异步线程创建,绑定租户数据源 {}",tenantId); + if(StringUtils.isBlank(tenantId)){ + //这里为null 存在问题 + log.info(">>>> 异步线程创建,没有用户信息 {}",AuthUtil.getUserId()); + log.info(">>>> 异步线程创建,没有用户信息 {}",AuthUtil.getUser()); + log.info(">>>> 异步线程创建,没有用户信息 {}",context); + DynamicDataSourceContextHolder.push("627683"); + }else{ + // 未当前的异步线程绑定租户ID 和切换数据源 + DynamicDataSourceContextHolder.push(tenantId); + } runnable.run(); } finally { RequestContextHolder.resetRequestAttributes(); diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsServiceImpl.java index 9f68c9af3..7f4e12f38 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayGoodsServiceImpl.java @@ -22,10 +22,7 @@ import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.utils.Func; import org.springframework.stereotype.Service; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; @Log4j2 @Service 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 01469f85e..813845b67 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 @@ -3937,17 +3937,229 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("tray_code",trayCode) .eq("is_deleted",0); WarehouseTrayTypeEntity trayTypeEntity = baseMapper.selectOne(queryWrapper); trayTypeEntity.setWarehouseId(warehouseId); updateById(trayTypeEntity); - Long trayTypeId = trayTypeEntity.getId(); warehouseTrayGoodsService.updeteWarehouseIdByTrayTypeId(trayTypeId,warehouseId); + + + + QueryWrapper trayGoodsEntityQueryWrapper = new QueryWrapper<>(); + trayGoodsEntityQueryWrapper.eq("tray_type_id",trayTypeId); + List trayGoodsEntities = warehouseTrayGoodsService.list(trayGoodsEntityQueryWrapper); + + List updateStockArticleList = new ArrayList<>(); + List clearStockArticleIdList = new ArrayList<>(); + List updateParceList = new ArrayList<>(); + + + //把trayGoodsEntities中所有元素的associationType进行分组 + Map> map = trayGoodsEntities.stream().collect(Collectors.groupingBy(WarehouseTrayGoodsEntity::getAssociationType)); + map.keySet().forEach(associationType -> { + List warehouseTrayGoodsEntities = map.get(associationType); + if("1".equals(associationType)){ + //把warehouseTrayGoodsEntities中所有的associationId放入一个Set + Set orderIdSet = warehouseTrayGoodsEntities.stream().map(WarehouseTrayGoodsEntity::getAssociationId).collect(Collectors.toSet()); + List stockArticleEntityList = distributionStockArticleClient.findListByIds(orderIdSet); + stockArticleEntityList.forEach(stockArticleEntity -> { + String trays = stockArticleEntity.getTrays(); + if(!StringUtil.isBlank(trays)){ + if(trays.contains(palletName)){ + List list = Arrays.asList(trays.split(trays)); + List trayList = new ArrayList<>(list); + trayList.remove(palletName); + if(CollUtil.isNotEmpty(trayList)){ + DistributionStockArticleEntity updateStockArticle = new DistributionStockArticleEntity(); + updateStockArticle.setId(stockArticleEntity.getId()); + updateStockArticle.setTrays(StringUtil.join(trayList.toArray(),",")); + updateStockArticleList.add(updateStockArticle); + }else{ + clearStockArticleIdList.add(stockArticleEntity.getId()); + } + } + } + }); + + }else if ("3".equals(associationType)){ + //把trayGoodsEntities中的所有元素的associationId放入一个List + List orderPackageIdList = warehouseTrayGoodsEntities.stream().map(WarehouseTrayGoodsEntity::getAssociationId).collect(Collectors.toList()); + + //清除原来仓库的包件上的托盘信息 + distributionParcelListClient.clearPallet(orderPackageIdList); + + //查询原仓库有哪些包件 + List oldParceList = distributionParcelListClient.findListByIds(orderPackageIdList); + //把oldParceList中的所有元素的stockArticleId放入一个set + Set stockArticleIdSet = oldParceList.stream().map(DistributionParcelListEntity::getStockArticleId).collect(Collectors.toSet()); + List oldStockArticleList = distributionStockArticleClient.findListByIds(stockArticleIdSet); + oldStockArticleList.forEach(stockArticleEntity -> { + String trays = stockArticleEntity.getTrays(); + if(!StringUtil.isBlank(trays)){ + if(trays.contains(palletName)){ + List list = Arrays.asList(trays.split(trays)); + List trayList = new ArrayList<>(list); + trayList.remove(palletName); + if(CollUtil.isNotEmpty(trayList)){ + DistributionStockArticleEntity updateStockArticle = new DistributionStockArticleEntity(); + updateStockArticle.setId(stockArticleEntity.getId()); + updateStockArticle.setTrays(StringUtil.join(trayList.toArray(),",")); + updateStockArticleList.add(updateStockArticle); + }else{ + clearStockArticleIdList.add(stockArticleEntity.getId()); + } + } + } + }); + } + }); + +// if(CollUtil.isNotEmpty(updateStockArticleList)){ +// distributionStockArticleClient.updateByBatchId(updateStockArticleList); +// } +// +// if(CollUtil.isNotEmpty(clearStockArticleIdList)){ +// distributionStockArticleClient.clearTraysByIds(clearStockArticleIdList); +// } + + + List updateTrayGoodsList = new ArrayList<>(); + + //处理新的 + map.keySet().forEach(associationType -> { + List warehouseTrayGoodsEntities = map.get(associationType); + //把warehouseTrayGoodsEntities转化成以associationValue为key的Map + Map warehouseTrayGoodsMap = warehouseTrayGoodsEntities.stream() + .collect(Collectors.toMap( + WarehouseTrayGoodsEntity::getAssociationValue, // key + entity -> entity, // value + (existing, replacement) -> existing // 如果key重复,保留第一个值 + )); + + + if("1".equals(associationType)){ + //把warehouseTrayGoodsEntities中所有元素的associationValue放入一个Set + Set orderCodeSet = warehouseTrayGoodsEntities.stream().map(WarehouseTrayGoodsEntity::getAssociationValue).collect(Collectors.toSet()); + FindParamterDTO findParamterDTO = new FindParamterDTO(); + findParamterDTO.setOrderCodeSet(orderCodeSet); + findParamterDTO.setWarehouseId(warehouseId); + List stockArticleEntityList = distributionStockArticleClient.findListByOrderCodesAndWarehouseId(findParamterDTO); + stockArticleEntityList.forEach(stockArticleEntity -> { + WarehouseTrayGoodsEntity warehouseTrayGoodsEntity = warehouseTrayGoodsMap.get(stockArticleEntity.getOrderCode()); + if(!Objects.isNull(warehouseTrayGoodsEntity)){ + warehouseTrayGoodsEntity.setAssociationId(stockArticleEntity.getId()); + warehouseTrayGoodsEntity.setWarehouseId(warehouseId); + updateTrayGoodsList.add(warehouseTrayGoodsEntity); + } + String trays = stockArticleEntity.getTrays(); + if(!StringUtil.isBlank(trays)){ + if(!trays.contains(palletName)){ + List list = Arrays.asList(trays.split(trays)); + List trayList = new ArrayList<>(list); + trayList.add(palletName); + DistributionStockArticleEntity updateStockArticle = new DistributionStockArticleEntity(); + updateStockArticle.setId(stockArticleEntity.getId()); + updateStockArticle.setTrays(StringUtil.join(trayList.toArray(),",")); + updateStockArticleList.add(updateStockArticle); + } + }else{ + DistributionStockArticleEntity updateStockArticle = new DistributionStockArticleEntity(); + updateStockArticle.setId(stockArticleEntity.getId()); + updateStockArticle.setTrays(palletName); + updateStockArticleList.add(updateStockArticle); + } + }); + + }else if ("3".equals(associationType)){ + + //把warehouseTrayGoodsEntities中所有元素的associationValue放入一个Set + Set orderPackageCodeSet = warehouseTrayGoodsEntities.stream().map(WarehouseTrayGoodsEntity::getAssociationValue).collect(Collectors.toSet()); + FindParamterDTO findParamterDTO = new FindParamterDTO(); + findParamterDTO.setOrderPackageCodeList(new ArrayList<>(orderPackageCodeSet)); + findParamterDTO.setWarehouseId(warehouseId); + List parcelListEntityList = distributionParcelListClient.findListByOrderPackageCodeList(findParamterDTO); + + //把parcelListEntityList转化成以orderPackageCode为key的Map + Map parcelListEntityMap = parcelListEntityList.stream() + .collect(Collectors.toMap( + DistributionParcelListEntity::getOrderPackageCode, // key + entity -> entity, // value + (existing, replacement) -> existing // 如果key重复,保留第一个值 + )); + + warehouseTrayGoodsEntities.forEach(warehouseTrayGoodsEntity -> { + DistributionParcelListEntity parcelList = parcelListEntityMap.get(warehouseTrayGoodsEntity.getAssociationValue()); + if(!Objects.isNull(parcelList)){ + warehouseTrayGoodsEntity.setAssociationId(parcelList.getId()); + warehouseTrayGoodsEntity.setWarehouseId(warehouseId); + updateTrayGoodsList.add(warehouseTrayGoodsEntity); + + DistributionParcelListEntity updateParceEntity = new DistributionParcelListEntity(); + updateParceEntity.setId(parcelList.getId()); + updateParceEntity.setPallet(palletName); + updateParceList.add(updateParceEntity); + } + }); + + + //把parcelListEntityList中所有元素的orderCode放入一个Set + Set orderCodeSet = parcelListEntityList.stream().map(DistributionParcelListEntity::getOrderCode).collect(Collectors.toSet()); + + findParamterDTO.setOrderCodeSet(orderCodeSet); + findParamterDTO.setWarehouseId(warehouseId); + List stockArticleEntityList = distributionStockArticleClient.findListByOrderCodesAndWarehouseId(findParamterDTO); + stockArticleEntityList.forEach(stockArticleEntity -> { + String trays = stockArticleEntity.getTrays(); + if(!StringUtil.isBlank(trays)){ + if(trays.contains(palletName)){ + List list = Arrays.asList(trays.split(trays)); + List trayList = new ArrayList<>(list); + trayList.remove(palletName); + if(CollUtil.isNotEmpty(trayList)){ + DistributionStockArticleEntity updateStockArticle = new DistributionStockArticleEntity(); + updateStockArticle.setId(stockArticleEntity.getId()); + updateStockArticle.setTrays(StringUtil.join(trayList.toArray(),",")); + updateStockArticleList.add(updateStockArticle); + }else{ + clearStockArticleIdList.add(stockArticleEntity.getId()); + } + } + } + }); + } + }); + + if(CollUtil.isNotEmpty(updateParceList)){ + distributionParcelListClient.updateList(updateParceList); + } + + + if(CollUtil.isNotEmpty(updateStockArticleList)){ + distributionStockArticleClient.updateByBatchId(updateStockArticleList); + } + + if(CollUtil.isNotEmpty(clearStockArticleIdList)){ + distributionStockArticleClient.clearTraysByIds(clearStockArticleIdList); + } + + + if(CollUtil.isNotEmpty(updateTrayGoodsList)){ + warehouseTrayGoodsService.updateBatchById(updateTrayGoodsList); + } + } @Override