From 98c85c10201e1828be6f4e154f3312eaf321839a Mon Sep 17 00:00:00 2001
From: "pref_mail@163.com" <pref_mail@163.com>
Date: Mon, 24 Jun 2024 18:09:06 +0800
Subject: [PATCH] =?UTF-8?q?=E9=97=AD=E7=8E=AF=E5=B9=B2=E4=BB=93=E9=85=8D?=
 =?UTF-8?q?=E7=A7=9F=E6=88=B7=E7=9A=84=E4=BD=9C=E4=B8=9A=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../common/constant/RedisKeyConstant.java     |  2 +-
 .../feign/IBasicdataDriverArteryClient.java   |  3 ++
 .../IDistributionDeliveryListClient.java      |  2 +-
 .../feign/BasicdataDriverArteryClient.java    |  5 ++
 .../service/IBusinessAsyncService.java        |  2 +
 .../impl/BusinessAsyncServiceImpl.java        |  4 ++
 .../impl/BusinessPreOrderServiceImpl.java     | 23 ++++++---
 .../feign/DistributionDeliveryListClient.java |  4 +-
 .../IDistributionDeliveryListService.java     |  1 +
 .../DistributionDeliveryListServiceImpl.java  | 49 +++++++++++--------
 10 files changed, 65 insertions(+), 30 deletions(-)

diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java b/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java
index 62581c566..b592df783 100644
--- a/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java
+++ b/blade-biz-common/src/main/java/org/springblade/common/constant/RedisKeyConstant.java
@@ -28,7 +28,7 @@ public class RedisKeyConstant {
 	/**
 	 * 异常件数
 	 */
-	public static final String BUSINESS_INEXCE_CARNUMBER ="business:in:carnumber:";
+	public static final String BUSINESS_INEXCE_CARNUMBER ="business:inexce:carnumber:";
 
 
 }
diff --git a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataDriverArteryClient.java b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataDriverArteryClient.java
index f443a4db1..72602fafa 100644
--- a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataDriverArteryClient.java
+++ b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataDriverArteryClient.java
@@ -60,4 +60,7 @@ public interface IBasicdataDriverArteryClient {
 
 	@GetMapping(API_PREFIX+"/findDriverListByName")
     List<JSONObject> findDriverListByName(@RequestParam String driverName);
+
+	@GetMapping(API_PREFIX+"/getDriverArteryById")
+	BasicdataDriverArteryEntity getDriverArteryById(Long id);
 }
diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionDeliveryListClient.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionDeliveryListClient.java
index 70314e926..a9499e68a 100644
--- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionDeliveryListClient.java
+++ b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/feign/IDistributionDeliveryListClient.java
@@ -132,7 +132,7 @@ public interface IDistributionDeliveryListClient {
 	void pushNotification(@RequestParam("warehouseIds")String warehouseIds,@RequestParam("reservationCode")String reservationCode);
 
 	@GetMapping(TOP+"/mallClientSignfor")
-	void mallClientSignfor(@RequestParam("trainNumber")String trainNumber,@RequestParam("warehouseId")Long warehouseId,@RequestParam("orderPackageCode")String orderPackageCode);
+	void mallClientSignfor(@RequestParam("tenantId") String tenantId,@RequestParam("trainNumber")String trainNumber,@RequestParam("warehouseId")Long warehouseId,@RequestParam("orderPackageCode")String orderPackageCode,@RequestParam("nowTenantId")String nowTenantId);
 
 
 //    /**
diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataDriverArteryClient.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataDriverArteryClient.java
index 52c4e2936..c88cda213 100644
--- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataDriverArteryClient.java
+++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataDriverArteryClient.java
@@ -82,4 +82,9 @@ public class BasicdataDriverArteryClient implements IBasicdataDriverArteryClient
 		return list;
 	}
 
+	@Override
+	public BasicdataDriverArteryEntity getDriverArteryById(Long id) {
+		return basicdataDriverArteryService.getById(id);
+	}
+
 }
diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/service/IBusinessAsyncService.java b/blade-service/logpm-business/src/main/java/com/logpm/business/service/IBusinessAsyncService.java
index fb565f6b7..e5d6996c8 100644
--- a/blade-service/logpm-business/src/main/java/com/logpm/business/service/IBusinessAsyncService.java
+++ b/blade-service/logpm-business/src/main/java/com/logpm/business/service/IBusinessAsyncService.java
@@ -8,4 +8,6 @@ import java.util.List;
 public interface IBusinessAsyncService {
 
 	public void saveOtherDataBaseNew(String tenantId, List<BusinessPreOrderEntity> dataResult, String mallName);
+
+
 }
diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessAsyncServiceImpl.java b/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessAsyncServiceImpl.java
index b8ea888d3..01572de3e 100644
--- a/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessAsyncServiceImpl.java
+++ b/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessAsyncServiceImpl.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.logpm.business.entity.BusinessPreOrderEntity;
 import com.logpm.business.service.IBusinessAsyncService;
 import com.logpm.business.service.IBusinessPreOrderService;
+import com.logpm.distribution.feign.IDistributionDeliveryListClient;
 import lombok.AllArgsConstructor;
 import lombok.extern.log4j.Log4j2;
 import org.springblade.common.annotations.ChangeAsync;
@@ -24,6 +25,7 @@ public class BusinessAsyncServiceImpl implements IBusinessAsyncService {
 
 	private final IBusinessPreOrderService businessPreOrderService;
 	private final ISysClient sysClient;
+	private final IDistributionDeliveryListClient distributionDeliveryListClient;
 
 	@ChangeAsync()
 	@Override
@@ -80,4 +82,6 @@ public class BusinessAsyncServiceImpl implements IBusinessAsyncService {
 
 		}
 	}
+
+
 }
diff --git a/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java b/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java
index acef10564..751af971b 100644
--- a/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java
+++ b/blade-service/logpm-business/src/main/java/com/logpm/business/service/impl/BusinessPreOrderServiceImpl.java
@@ -13,9 +13,11 @@ import com.logpm.business.dto.BusinessPreOrderDTO;
 import com.logpm.business.dto.BusinessSanDTO;
 import com.logpm.business.entity.BusinessPreOrderEntity;
 import com.logpm.business.mapper.BusinessPreOrderMapper;
+import com.logpm.business.service.IBusinessAsyncService;
 import com.logpm.business.service.IBusinessPreOrderService;
 import com.logpm.business.vo.*;
 import com.logpm.distribution.entity.DistributionParcelListEntity;
+import com.logpm.distribution.feign.IDistributionDeliveryListClient;
 import com.logpm.distribution.feign.IDistributionParcelListClient;
 import com.logpm.trunkline.dto.InComingDTO;
 import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity;
@@ -32,6 +34,7 @@ import org.springblade.common.exception.CustomerException;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.redis.cache.BladeRedis;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
@@ -51,9 +54,8 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
 	private final IInComingClient inComingClient;
 	private final ITrunklineAdvanceDetailClient trunklineAdvanceDetailClient;
 	private final BladeRedis bladeRedis;
-	private final IDistributionParcelListClient distributionParcelListClient;
 	private final IWarehouseTrayTypeClient warehouseTrayTypeClient;
-
+	private final IDistributionDeliveryListClient distributionDeliveryListClient;
 
 
 
@@ -78,7 +80,6 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
 		List<BusinessPreOrderEntity> list = baseMapper.selectList(wrapper);
 
 		List<BusinessPreOrderEntity> data = new ArrayList<>();
-		List<String> carNumberList = new ArrayList<>();
 		for (BusinessPreOrderEntity distributionBusinessPreOrderEntity : list) {
 
 			if (distributionBusinessPreOrderEntity.getInWarehouse() == 1) {
@@ -320,7 +321,7 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
 				}
 			}else{
 
-				String key =RedisKeyConstant.BUSINESS_IN_CARNUMBER + businessSanDTO.getDistrCarNumber()+":"+businessSanDTO.getTrayCode();
+				String key =RedisKeyConstant.BUSINESS_IN_CARNUMBER +businessSanDTO.getTrayCode();
 				Object o = bladeRedis.get(key);
 
 				if (Objects.isNull(o)) {
@@ -342,6 +343,10 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
 			}
 
 
+			// 推送业务系统
+
+			distributionDeliveryListClient.mallClientSignfor(selectD.getFromTenantId(), businessSanDTO.getDistrCarNumber(), selectD.getAcceptWarehouseId(), orderPackageCode, AuthUtil.getTenantId());
+
 
 			return Resp.scanSuccess("扫描成功", a + "件");
 		}
@@ -372,6 +377,10 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
 			t.setFromTenantId(distributionBusinessPreOrderEntity.getFromTenantId());
 			t.setOperationStatus(1);
 			t.setInWarehouse(0);
+			t.setAcceptWarehouseId(distributionBusinessPreOrderEntity.getAcceptWarehouseId());
+			t.setAcceptWarehouseName(distributionBusinessPreOrderEntity.getAcceptWarehouseName());
+			t.setSendWarehouseId(distributionBusinessPreOrderEntity.getSendWarehouseId());
+			t.setSendWarehouseName(distributionBusinessPreOrderEntity.getSendWarehouseName());
 			this.save(t);
 		}
 		R r = inOrderWarehourseByFeign(businessSanDTO);
@@ -383,7 +392,7 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
 
 			if(StringUtil.isNotBlank(businessSanDTO.getTrayCode())){
 
-				String key =RedisKeyConstant.BUSINESS_IN_CARNUMBER + businessSanDTO.getDistrCarNumber()+":"+businessSanDTO.getTrayCode();
+				String key =RedisKeyConstant.BUSINESS_IN_CARNUMBER +businessSanDTO.getTrayCode();
 				Object o = bladeRedis.get(key);
 
 				if (Objects.isNull(o)) {
@@ -404,7 +413,7 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
 			}else{
 				//记录当前车次的异常件数
 				Object o = bladeRedis.get(RedisKeyConstant.BUSINESS_INEXCE_CARNUMBER + businessSanDTO.getDistrCarNumber());
-				String key =RedisKeyConstant.BUSINESS_INEXCE_CARNUMBER + businessSanDTO.getDistrCarNumber()+businessSanDTO.getTrayCode();
+				String key =RedisKeyConstant.BUSINESS_INEXCE_CARNUMBER +businessSanDTO.getTrayCode();
 				if (Objects.isNull(o)) {
 
 					// 查询当前车次的异常入库数量
@@ -427,7 +436,9 @@ public class BusinessPreOrderServiceImpl extends BaseServiceImpl<BusinessPreOrde
 				}
 			}
 
+			// 推送业务系统
 
+			distributionDeliveryListClient.mallClientSignfor(t.getFromTenantId(), businessSanDTO.getDistrCarNumber(), t.getAcceptWarehouseId(), orderPackageCode, AuthUtil.getTenantId());
 
 			return Resp.scanSuccess("扫描成功", "异常" + a + "件");
 		}
diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionDeliveryListClient.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionDeliveryListClient.java
index add513e94..7ca58634b 100644
--- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionDeliveryListClient.java
+++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/feign/DistributionDeliveryListClient.java
@@ -27,6 +27,7 @@ import com.logpm.distribution.vo.DistributionDeliverySelfVO;
 import com.logpm.distribution.vo.DistributionRetentionScanVo;
 import lombok.AllArgsConstructor;
 import org.apache.logging.log4j.util.Strings;
+import org.springblade.common.annotations.ChangeAsync;
 import org.springblade.core.mp.support.BladePage;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -129,8 +130,9 @@ public class DistributionDeliveryListClient implements IDistributionDeliveryList
 	/**
 	 * @param
 	 */
+	@ChangeAsync
 	@Override
-	public void mallClientSignfor(String trainNumber,Long warehouseId,String orderPackageCode) {
+	public void mallClientSignfor(String tenantId,String trainNumber,Long warehouseId,String orderPackageCode,String nowTenantId) {
 
 		distributionDeliveryListService.mallClientSignfor(trainNumber,warehouseId,orderPackageCode);
 	}
diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java
index eb04df5fa..1be24666b 100644
--- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java
+++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/IDistributionDeliveryListService.java
@@ -464,6 +464,7 @@ public interface IDistributionDeliveryListService extends BaseService<Distributi
 	void mallClientSignfor(String trainNumber, Long warehouseId, String orderPackageCode);
 
 
+
 	/**
 	 * 查询签收预约客户包件信息
 	 * @param reservationId
diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
index 66c7a8f1d..7201c088b 100644
--- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
+++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
@@ -249,6 +249,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 	@Autowired
 	private IUserClient userClient;
 
+	@Autowired
+	private IBasicdataDriverArteryClient arteryClient;
+
 //	private final IWarehouseRetentionScanClient warehouseRetentionScanClient;
 
 //	@Lazy
@@ -7235,6 +7238,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 	}
 
 	@Override
+	@Transactional
 	public void mallClientSignfor(String trainNumber, Long warehouseId, String orderPackageCode) {
 		//查询包件是否合法
 		DistributionParcelListEntity packageObj = distributionParcelListService.getOne(Wrappers.<DistributionParcelListEntity>query().lambda()
@@ -7265,7 +7269,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 			log.error("仓库查询错误");
 		}
 
-		DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(packageObj.getId());
+		DistributionStockArticleEntity stockArticleEntity = distributionStockArticleService.getById(packageObj.getStockArticleId());
 		if (Func.isEmpty(stockArticleEntity)) {
 			//订单查询错误
 			log.error("订单查询错误");
@@ -7315,7 +7319,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 							.eq(DistributionLoadscanEntity::getSignforState, LoadScanSigningStatusConstant.weiqianshou.getValue())
 							.ne(DistributionLoadscanEntity::getScanStatus, LoadingStatusConstant.quxiao.getValue())
 						);
-						if (Func.isEmpty(loadscanEntity)) {
+						if (!Func.isEmpty(loadscanEntity)) {
 							//存在装车数据
 							loadscanEntity.setSigningTime(simpleDateFormat.format(new Date()));
 							loadscanEntity.setSignforState(2);
@@ -7389,7 +7393,7 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 							Integer m = distributionSignforMapper.updateSignUser(distributionLoadscanEntity.getDeliveryId(), distributionLoadscanEntity.getReservationId(), user);
 							//包件解托下架
 							warehouseUpdownTypeClient.downPackageOrDelTray(packageObj.getOrderPackageCode(), warehouseId, "签收下架解托");
-							content = "包件在" + entityWarehouseId.getName() + "由" + loadscanEntity.getSigningUser() + "扫描签收,签收方式:司机未进行装车,由商家端进行签收,配送车次号:" + deliveryListEntity.getTrainNumber() + "预约任务号:" + reservationEntity.getReservationCode();
+							content = "包件在" + entityWarehouseId.getName() + "由" + distributionLoadscanEntity.getSigningUser() + "扫描签收,签收方式:司机未进行装车,由商家端进行签收,配送车次号:" + deliveryListEntity.getTrainNumber() + "预约任务号:" + reservationEntity.getReservationCode();
 						}
 					}
 				} else {
@@ -7521,7 +7525,6 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 				packageObj.setOrderPackageStatus(OrderPackageStatusConstant.yiqianshou.getValue());
 				distributionParcelListService.updateById(packageObj);
 				//下架解托
-				Map<String, Object> info = new HashMap<>();
 				warehouseUpdownTypeClient.downPackageAndDelTrayAndIsUpdate(packageObj.getOrderPackageCode(), entityWarehouseId.getId(), "扫描装车进行下架、解托", false);
 				//维护订单
 				distributionStockArticleService.maintenanceOrderInfo(stockArticleEntity.getOrderCode(),warehouseId);
@@ -7674,23 +7677,27 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
 	private List<JSONObject> handleMallLogJSONObject(BasicdataWarehouseEntity warehouse, Long userId, String orderPackageCode, String content, Integer node) {
 		List<JSONObject> trunklinePackageTrackLog = new ArrayList<>();
 		JSONObject js = new JSONObject();
-		R<User> userR = userClient.userInfoById(userId);
-		User user = userR.getData();
-		js.put("tenantId", user.getTenantId());
-		js.put("createTime", new Date());
-		js.put("createUser", user.getId());
-		js.put("updateUser", user.getId());
-		js.put("updateTime", new Date());
-		js.put("isDeleted", 0);
-		js.put("status", 1);
-		js.put("createDept", warehouse.getDepartment());
-		js.put("orderPackageCode", orderPackageCode);
-		js.put("warehouseId", warehouse.getId());
-		js.put("warehouseName", warehouse.getName());
-		js.put("workNode", node);
-		js.put("content", content);
-		js.put("operator", user.getName());
-		trunklinePackageTrackLog.add(js);
+		//查询司机用户
+		BasicdataDriverArteryEntity driverArtery = arteryClient.getDriverArteryById(userId);
+		if (!Func.isEmpty(driverArtery)){
+			R<User> userR = userClient.userInfoById(driverArtery.getUserId());
+			User user = userR.getData();
+			js.put("tenantId", user.getTenantId());
+			js.put("createTime", new Date());
+			js.put("createUser", user.getId());
+			js.put("updateUser", user.getId());
+			js.put("updateTime", new Date());
+			js.put("isDeleted", 0);
+			js.put("status", 1);
+			js.put("createDept", warehouse.getDepartment());
+			js.put("orderPackageCode", orderPackageCode);
+			js.put("warehouseId", warehouse.getId());
+			js.put("warehouseName", warehouse.getName());
+			js.put("workNode", node);
+			js.put("content", content);
+			js.put("operator", user.getName());
+			trunklinePackageTrackLog.add(js);
+		}
 		return trunklinePackageTrackLog;
 	}
 }