From c19c2a0b124f921529ded9494419a51d87c32b36 Mon Sep 17 00:00:00 2001
From: zhenghaoyu <zhenghaoyu@superbgrace.com>
Date: Thu, 28 Dec 2023 19:22:32 +0800
Subject: [PATCH] =?UTF-8?q?1.=E6=9B=B4=E6=96=B0=E5=8C=85=E4=BB=B6=E4=B8=8A?=
 =?UTF-8?q?=E6=9E=B6=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../DistributionSignforAppController.java     | 29 ++++++++++++++++--
 .../DistributionSignforController.java        | 30 +++++++++++++++----
 .../impl/DistributionAsyncServiceImpl.java    |  9 ++----
 .../impl/DistributionSignforServiceImpl.java  | 11 +++----
 4 files changed, 60 insertions(+), 19 deletions(-)

diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionSignforAppController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionSignforAppController.java
index 6e9e60a31..19fd9bce2 100644
--- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionSignforAppController.java
+++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/appcontroller/DistributionSignforAppController.java
@@ -1,8 +1,11 @@
 package com.logpm.distribution.appcontroller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
+import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
 import com.logpm.distribution.bean.Resp;
 import com.logpm.distribution.dto.DistributionSignforDTO;
 import com.logpm.distribution.dto.DistrilbutionAppsignforDTO;
@@ -16,9 +19,11 @@ import com.logpm.distribution.vo.app.DistributionAppDeliveryListVO;
 import com.logpm.distribution.vo.app.DistributionAppParcelListVO;
 import com.logpm.distribution.vo.app.DistributionAppSignforVO;
 import com.logpm.distribution.vo.app.DistributionAppStockArticleVO;
+import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
@@ -36,6 +41,7 @@ import java.util.Map;
  * @author lmy
  * @since 2023-07-20
  */
+@Slf4j
 @RestController
 @AllArgsConstructor
 @RequestMapping("/app/signfor")
@@ -48,6 +54,10 @@ public class DistributionSignforAppController {
 
 	private final IDistributionReservationService reservationService;
 
+	private final IWarehouseUpdownTypeClient updownTypeClient;
+
+	private final IBasicdataWarehouseClient warehouseClient;
+
 	/**
 	 * 签收管理 列表
 	 */
@@ -206,8 +216,23 @@ public class DistributionSignforAppController {
 	@ApiOperation(value = "司机一键签收", notes = "传入distributionSignfor")
 	public R oneclick(@Valid @RequestBody DistributionSignforDTO distributionSignfor) {
 		distributionSignfor.setIsClerk(false);
-		R msg	= distributionSignforService.oneclick(distributionSignfor);
-		return msg;
+		R r	= distributionSignforService.oneclick(distributionSignfor);
+		List<Long> packageIds = (List<Long>)r.getData();
+		try{
+			String orderPackageCodes = null;
+			for (Long packageId : packageIds) {
+				if(StringUtils.isBlank(orderPackageCodes)){
+					orderPackageCodes = packageId+"";
+				}else{
+					orderPackageCodes = orderPackageCodes + "," +packageId;
+				}
+			}
+			BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
+			updownTypeClient.downPackageOrDelTray(orderPackageCodes,myCurrentWarehouse.getId());
+		}catch (Exception e){
+			log.error("##############oneclick: 更新包件下架状态失败 packageIds={}",packageIds);
+		}
+		return r;
 	}
 
 	/**
diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java
index 94a05fd0c..2ee093eb0 100644
--- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java
+++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/controller/DistributionSignforController.java
@@ -18,8 +18,11 @@ package com.logpm.distribution.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
+import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
 import com.logpm.distribution.dto.DistributionAddvalueDTO;
 import com.logpm.distribution.dto.DistributionSignforDTO;
 import com.logpm.distribution.dto.app.DistributionAppAddvalueDTO;
@@ -31,19 +34,18 @@ import com.logpm.distribution.service.IDistributionReservationService;
 import com.logpm.distribution.service.IDistributionSignforService;
 import com.logpm.distribution.service.impl.DistributionAddvalueServiceImpl;
 import com.logpm.distribution.vo.*;
+import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.poi.ss.formula.functions.T;
 import org.springblade.common.utils.GaoDeApiUtil;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.BladeUser;
-import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.DateUtil;
 import org.springblade.core.tool.utils.Func;
@@ -53,8 +55,6 @@ import springfox.documentation.annotations.ApiIgnore;
 
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
-import java.text.SimpleDateFormat;
-import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -78,6 +78,9 @@ public class DistributionSignforController extends BladeController {
 
 	private final DistributionAddvalueServiceImpl distributionAddvalueService;
 
+	private final IWarehouseUpdownTypeClient updownTypeClient;
+
+	private final IBasicdataWarehouseClient warehouseClient;
 
 	/**
 	 * 签收管理 详情
@@ -265,8 +268,23 @@ public class DistributionSignforController extends BladeController {
 	@ApiOperation(value = "新增", notes = "传入distributionSignfor")
 	public R oneclick(@Valid @RequestBody DistributionSignforDTO distributionSignfor) {
 		distributionSignfor.setIsClerk(true);
-		R msg	= distributionSignforService.oneclick(distributionSignfor);
-		return msg;
+		R r	= distributionSignforService.oneclick(distributionSignfor);
+		List<Long> packageIds = (List<Long>)r.getData();
+		try{
+			String orderPackageCodes = null;
+			for (Long packageId : packageIds) {
+				if(StringUtils.isBlank(orderPackageCodes)){
+					orderPackageCodes = packageId+"";
+				}else{
+					orderPackageCodes = orderPackageCodes + "," +packageId;
+				}
+			}
+			BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
+			updownTypeClient.downPackageOrDelTray(orderPackageCodes,myCurrentWarehouse.getId());
+		}catch (Exception e){
+			log.error("##############oneclick: 更新包件下架状态失败 packageIds={}",packageIds);
+		}
+		return r;
 	}
 
 	/**
diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java
index eb11012c8..294525ddb 100644
--- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java
+++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionAsyncServiceImpl.java
@@ -4,7 +4,6 @@ package com.logpm.distribution.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
-import com.fasterxml.jackson.core.JsonProcessingException;
 import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
 import com.logpm.basicdata.feign.IBasicdataWarehouseClient;
 import com.logpm.distribution.dto.DistributionLoadingNumDTO;
@@ -48,12 +47,10 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Isolation;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.security.NoSuchAlgorithmException;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicReference;
-import java.util.function.Function;
 import java.util.stream.Collectors;
 
 
@@ -1371,9 +1368,9 @@ public class DistributionAsyncServiceImpl implements IDistributionAsyncService {
 		if (Func.isNotEmpty(distributionParcelListEntities)){
 			//进行批量修改
 			distributionParcelListMapper.updateLoadingAndSigningByIds(packageIds);
-			String orderPackCode = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getOrderPackageCode).collect(Collectors.joining(","));
-			log.info("一件签收包件解托>>>>>>>>>>>>>>>orderPackCodes():{}", orderPackCode);
-			warehouseUpdownTypeClient.downPackageOrDelTray(orderPackCode,id);
+//			String orderPackCode = distributionParcelListEntities.stream().map(DistributionParcelListEntity::getOrderPackageCode).collect(Collectors.joining(","));
+//			log.info("一件签收包件解托>>>>>>>>>>>>>>>orderPackCodes():{}", orderPackCode);
+//			warehouseUpdownTypeClient.downPackageOrDelTray(orderPackCode,id);
 
 			Map<Long, List<DistributionParcelListEntity>> orderPackageMap = distributionParcelListEntities.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getStockArticleId));
 			orderPackageMap.forEach((k,v)->{
diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
index f777530be..503006f54 100644
--- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
+++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionSignforServiceImpl.java
@@ -16,8 +16,8 @@
  */
 package com.logpm.distribution.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -45,7 +45,6 @@ import com.logpm.distribution.wrapper.DistributionParcelListAppWrapper;
 import com.logpm.distribution.wrapper.DistributionParcelListWrapper;
 import com.logpm.distribution.wrapper.DistributionStockArticleWrapper;
 import com.logpm.warehouse.feign.IWarehouseUpdownTypeClient;
-import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.jetbrains.annotations.NotNull;
@@ -86,11 +85,13 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
-import java.io.*;
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
-import java.util.List;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.function.Function;
 import java.util.stream.Collectors;
@@ -2646,7 +2647,7 @@ public class DistributionSignforServiceImpl extends BaseServiceImpl<Distribution
 			.set(!distributionSignfor.getIsClerk(), DistributionSignforEntity::getSjsigningTime, simpleDateFormat.format(new Date()));
 
 		boolean update = this.update(set);
-		return R.status(true);
+		return R.data(packageIds);
 	}