Browse Source

Merge remote-tracking branch 'origin/pre-production'

master
zhenghaoyu 8 months ago
parent
commit
ca52e6878e
  1. 5
      blade-biz-common/src/main/java/org/springblade/common/constant/WorkNodeEnums.java
  2. 6
      blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataBrandClient.java
  3. 7
      blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockListInfoEntity.java
  4. 4
      blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOrderDetailClient.java
  5. 1
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java
  6. 1
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadVO.java
  7. 15
      blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/aspect/JobAnnotationAspect.java
  8. 15
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/aspect/JobAnnotationAspect.java
  9. 11
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataBrandClient.java
  10. 7
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataGoodsShelfServiceImpl.java
  11. 20
      blade-service/logpm-business/src/main/java/com/logpm/business/aspect/ChangeAsyncAnnotationAspect.java
  12. 20
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/aspect/ChangeAsyncAnnotationAspect.java
  13. 37
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml
  14. 14
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.xml
  15. 6
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java
  16. 62
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionParcelListServiceImpl.java
  17. 23
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java
  18. 46
      blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java
  19. 15
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/aspect/JobAnnotationAspect.java
  20. 15
      blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/interceptor/LocalServerLoginAccountsInterceptor.java
  21. 15
      blade-service/logpm-factory-data/logpm-factory-data-linsy/src/main/java/com/logpm/factorydata/linsy/interceptor/LocalServerLoginAccountsInterceptor.java
  22. 15
      blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/interceptor/LocalServerLoginAccountsInterceptor.java
  23. 15
      blade-service/logpm-factory-data/logpm-factory-data-mwh/src/main/java/com/logpm/factorydata/mwh/interceptor/LocalServerLoginAccountsInterceptor.java
  24. 15
      blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/aspect/JobAnnotationAspect.java
  25. 15
      blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/interceptor/LocalServerLoginAccountsInterceptor.java
  26. 15
      blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/interceptor/LocalServerLoginAccountsInterceptor.java
  27. 15
      blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/interceptor/LocalServerLoginAccountsInterceptor.java
  28. 16
      blade-service/logpm-factory/src/main/java/com/logpm/factory/aspect/JobAnnotationAspect.java
  29. 15
      blade-service/logpm-factory/src/main/java/com/logpm/factory/interceptor/LocalServerLoginAccountsInterceptor.java
  30. 7
      blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/OpFailPackageRetryJob.java
  31. 2
      blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpFailRetryPushPackageMapper.xml
  32. 11
      blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java
  33. 6
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/OrderDetailClient.java
  34. 5
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/OrderDetailMapper.java
  35. 9
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/OrderDetailMapper.xml
  36. 3
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IOrderDetailService.java
  37. 6
      blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/OrderDetailServiceImpl.java
  38. 15
      blade-service/logpm-patch/src/main/java/com/logpm/patch/aspect/JobAnnotationAspect.java
  39. 17
      blade-service/logpm-patch/src/main/java/com/logpm/patch/interceptor/LocalServerLoginAccountsInterceptor.java
  40. 2
      blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncWarehouseData.java
  41. 2
      blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java
  42. 12
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportBillLoadingMapper.xml
  43. 59
      blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml
  44. 47
      blade-service/logpm-report/src/main/java/com/logpm/report/reader/BillLoadingDetailsReader.java
  45. 8
      blade-service/logpm-report/src/main/java/com/logpm/report/vo/BillLoadingDetailsVO.java
  46. 16
      blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportDetailVO.java
  47. 20
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/aspect/ChangeAsyncAnnotationAspect.java
  48. 9
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java
  49. 36
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java
  50. 6
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml
  51. 10
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineLoadSignOrderMapper.xml
  52. 2
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderService.java
  53. 66
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java
  54. 19
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java
  55. 25
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineWaybillPackageServiceImpl.java
  56. 15
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/interceptor/LocalServerLoginAccountsInterceptor.java
  57. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java

5
blade-biz-common/src/main/java/org/springblade/common/constant/WorkNodeEnums.java

@ -16,7 +16,7 @@ public enum WorkNodeEnums implements Serializable {
INITIAL_DATA_ENTRY(101010, "数据入库"), INITIAL_DATA_ENTRY(101010, "数据入库"),
INITIAL_WAREHOUSE_ENTRY(101020, "始发仓入库"), INITIAL_WAREHOUSE_ENTRY(101020, "始发仓入库"),
BILLING(102010, "开单"), OPEN_ORDER(102010, "开单"),
CHANGE_ORDER(102020, "改单"), CHANGE_ORDER(102020, "改单"),
REVIEW_ORDER(102030, "审单"), REVIEW_ORDER(102030, "审单"),
@ -37,6 +37,7 @@ public enum WorkNodeEnums implements Serializable {
CANCEL_TRIPARTITE_TRANSFER_DEPART(104020, "三方中转取消发车"), CANCEL_TRIPARTITE_TRANSFER_DEPART(104020, "三方中转取消发车"),
ARRICE_TRIPARTITE_TRANSFER_DEPART(104030, "三方中转到达"), ARRICE_TRIPARTITE_TRANSFER_DEPART(104030, "三方中转到达"),
SIGN_TRIPARTITE_TRANSFER_DEPART(104040, "三方中转签收"), SIGN_TRIPARTITE_TRANSFER_DEPART(104040, "三方中转签收"),
UNLOAD_TRIPARTITE_TRANSFER_DEPART(104050, "三方中转卸车"),
UNLOAD_INCOMING_WAREHOUSE(105010,"卸车入库"), UNLOAD_INCOMING_WAREHOUSE(105010,"卸车入库"),
TRANSFER_WAREHOUSE_UNLOADING(105020, "卸车确认"), TRANSFER_WAREHOUSE_UNLOADING(105020, "卸车确认"),
@ -62,7 +63,7 @@ public enum WorkNodeEnums implements Serializable {
CANCEL_DELIVERY(301030, "计划取消"), CANCEL_DELIVERY(301030, "计划取消"),
PLAN_BILLOFLADING(301040, "计划自提"), PLAN_BILLOFLADING(301040, "计划自提"),
CANCEL_BILLOFLADING(301050, "取消自提"), CANCEL_BILLOFLADING(301050, "取消自提"),
SIGN_BILLOFLADING(301050, "自提签收"), SIGN_BILLOFLADING(301080, "自提签收"),
PLAN_DISTRIBUTION(301060, "计划配车"), PLAN_DISTRIBUTION(301060, "计划配车"),
CANCEL_DISTRIBUTION(301070, "取消配车"), CANCEL_DISTRIBUTION(301070, "取消配车"),

6
blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataBrandClient.java

@ -22,9 +22,12 @@ import org.springblade.common.constant.ModuleNameConstant;
import org.springblade.core.mp.support.BladePage; import org.springblade.core.mp.support.BladePage;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* 基础品牌表 Feign接口类 * 基础品牌表 Feign接口类
@ -55,4 +58,7 @@ public interface IBasicdataBrandClient {
@GetMapping(API_PREFIX+"/findEntityByName") @GetMapping(API_PREFIX+"/findEntityByName")
BasicdataBrandEntity findEntityByName(@RequestParam("brand") String brand); BasicdataBrandEntity findEntityByName(@RequestParam("brand") String brand);
@PostMapping(API_PREFIX+"/findListByNames")
List<BasicdataBrandEntity> findListByNames(@RequestBody Set<String> brandSet);
} }

7
blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockListInfoEntity.java

@ -293,4 +293,11 @@ public class DistributionStockListInfoEntity extends TenantEntity {
@ApiModelProperty(value = " 上架时间") @ApiModelProperty(value = " 上架时间")
private Date groundingTime; private Date groundingTime;
@ApiModelProperty(value = "物流公司")
private String logisticsCompany;
@ApiModelProperty(value = "备注")
private String remark;
} }

4
blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOrderDetailClient.java

@ -22,6 +22,7 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -45,4 +46,7 @@ public interface IOrderDetailClient {
@GetMapping(API_PREFIX + "/findEntityByUnitNoAndOldWarehosueId") @GetMapping(API_PREFIX + "/findEntityByUnitNoAndOldWarehosueId")
OrderDetailEntity findEntityByUnitNoAndOldWarehosueId(@RequestParam String unitNo, @RequestParam Integer oldWarehouseId); OrderDetailEntity findEntityByUnitNoAndOldWarehosueId(@RequestParam String unitNo, @RequestParam Integer oldWarehouseId);
@GetMapping(API_PREFIX + "/findRukuTime")
Date findRukuTime(@RequestParam String unitNo, @RequestParam Integer oldWarehouseId);
} }

1
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java

@ -39,6 +39,7 @@ public class LoadCarsDTO implements Serializable {
private String settlementPerson; private String settlementPerson;
private Long warehouseId; private Long warehouseId;
private List<Long> warehouseIds;
private Integer startCarType; private Integer startCarType;
private Integer loadingType; private Integer loadingType;

1
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadVO.java

@ -50,6 +50,7 @@ public class TrunklineCarsLoadVO extends TrunklineCarsLoadEntity {
private Integer lastStartCarStatus; private Integer lastStartCarStatus;
private Integer planUnloadNum; private Integer planUnloadNum;
private Integer totalLoadingNum; private Integer totalLoadingNum;
private Integer stockCarsNum;
private String loadCarsNo; private String loadCarsNo;
private String unloadStatus; private String unloadStatus;

15
blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/aspect/JobAnnotationAspect.java

@ -65,15 +65,18 @@ public class JobAnnotationAspect {
private JSONObject mockLogin() throws InterruptedException { private JSONObject mockLogin() throws InterruptedException {
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

15
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/aspect/JobAnnotationAspect.java

@ -64,15 +64,18 @@ public class JobAnnotationAspect {
private JSONObject mockLogin() throws InterruptedException { private JSONObject mockLogin() throws InterruptedException {
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

11
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataBrandClient.java

@ -30,6 +30,7 @@ import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import java.util.List; import java.util.List;
import java.util.Set;
/** /**
* 基础品牌表 Feign实现类 * 基础品牌表 Feign实现类
@ -68,4 +69,14 @@ public class BasicdataBrandClient implements IBasicdataBrandClient {
return basicdataBrandService.getOne(queryWrapper); return basicdataBrandService.getOne(queryWrapper);
} }
@Override
public List<BasicdataBrandEntity> findListByNames(Set<String> brandSet) {
QueryWrapper<BasicdataBrandEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.in("brand_name",brandSet)
.eq("is_deleted",0);
List<BasicdataBrandEntity> list = basicdataBrandService.list(queryWrapper);
return list;
}
} }

7
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataGoodsShelfServiceImpl.java

@ -369,7 +369,10 @@ public class BasicdataGoodsShelfServiceImpl extends BaseServiceImpl<BasicdataGoo
basicdataGoodsAllocationEntity.setWarehouseId(ck); basicdataGoodsAllocationEntity.setWarehouseId(ck);
//String code = basicTenantCodeClient.shelfCode(AuthUtil.getTenantId(), "5"); //String code = basicTenantCodeClient.shelfCode(AuthUtil.getTenantId(), "5");
// String allocationCode = basicdataGoodsShelfDTO.getGoodsShelfName()+"-" + basicdataGoodsAllocationEntity.getColumnNum() + "-" + basicdataGoodsAllocationEntity.getLayerNum() ; // String allocationCode = basicdataGoodsShelfDTO.getGoodsShelfName()+"-" + basicdataGoodsAllocationEntity.getColumnNum() + "-" + basicdataGoodsAllocationEntity.getLayerNum() ;
String allocationCode = basicdataGoodsShelfDTO.getGoodsShelfName() + "排-" + basicdataGoodsAllocationEntity.getLayerNum() + "层-" + basicdataGoodsAllocationEntity.getColumnNum() + "列"; // String allocationCode = basicdataGoodsShelfDTO.getGoodsShelfName() + "排-" + basicdataGoodsAllocationEntity.getLayerNum() + "层-" + basicdataGoodsAllocationEntity.getColumnNum() + "列";
String allocationCode = basicdataGoodsShelfDTO.getGoodsAreaName()+basicdataGoodsShelfDTO.getGoodsShelfName() + basicdataGoodsAllocationEntity.getLayerNum() + "层" + basicdataGoodsAllocationEntity.getColumnNum() + "列";
basicdataGoodsAllocationEntity.setQrCode(allocationCode); basicdataGoodsAllocationEntity.setQrCode(allocationCode);
// basicdataGoodsAllocationEntity.setAllocationStatuc("1"); // basicdataGoodsAllocationEntity.setAllocationStatuc("1");
// basicdataGoodsAllocationEntity.setEnableStatus("1"); // basicdataGoodsAllocationEntity.setEnableStatus("1");
@ -853,7 +856,7 @@ public class BasicdataGoodsShelfServiceImpl extends BaseServiceImpl<BasicdataGoo
basicdataGoodsAllocationEntity.setGoodsAreaId(basicdataGoodsShelfDTO.getGoodsAreaId()); basicdataGoodsAllocationEntity.setGoodsAreaId(basicdataGoodsShelfDTO.getGoodsAreaId());
basicdataGoodsAllocationEntity.setGoodsShelfId(basicdataGoodsShelfDTO.getId()); basicdataGoodsAllocationEntity.setGoodsShelfId(basicdataGoodsShelfDTO.getId());
basicdataGoodsAllocationEntity.setGoodsAllocationName(z + "-" + k); basicdataGoodsAllocationEntity.setGoodsAllocationName(z + "-" + k);
String allocationCode = basicdataGoodsShelfDTO.getGoodsShelfName() + "排-" + basicdataGoodsAllocationEntity.getLayerNum() + "层-" + basicdataGoodsAllocationEntity.getColumnNum() + "列"; String allocationCode = basicdataGoodsShelfDTO.getGoodsAreaName()+basicdataGoodsShelfDTO.getGoodsShelfName() + basicdataGoodsAllocationEntity.getLayerNum() + "层" + basicdataGoodsAllocationEntity.getColumnNum() + "列";
basicdataGoodsAllocationEntity.setQrCode(allocationCode); basicdataGoodsAllocationEntity.setQrCode(allocationCode);
basicdataGoodsAllocationEntity.setWarehouseId(ck); basicdataGoodsAllocationEntity.setWarehouseId(ck);
arrayList.add(basicdataGoodsAllocationEntity); arrayList.add(basicdataGoodsAllocationEntity);

20
blade-service/logpm-business/src/main/java/com/logpm/business/aspect/ChangeAsyncAnnotationAspect.java

@ -71,15 +71,17 @@ public class ChangeAsyncAnnotationAspect {
} }
// 执行模拟登录 // 执行模拟登录
if (StringUtil.isNotBlank(tenantId)) { if (StringUtil.isNotBlank(tenantId)) {
JSONObject data = bladeRedis.get(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account); String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
if (Objects.isNull(data)) { String lockKey =key+":lock";
boolean flag = redisLockClient.tryLock("local_server_user" + tenantId, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); JSONObject data =bladeRedis.get(key);
if (flag) { if(Objects.isNull(data)){
data = bladeRedis.get(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if (Objects.isNull(data)) { if(flag){
data = mockLoginService.mockToken(tenantId, account); data =bladeRedis.get(key);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account, data, 2591990L); if(Objects.isNull(data)){
redisLockClient.unLock("local_server_user" + tenantId, LockType.FAIR); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

20
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/aspect/ChangeAsyncAnnotationAspect.java

@ -73,15 +73,17 @@ public class ChangeAsyncAnnotationAspect {
} }
// 执行模拟登录 // 执行模拟登录
if (StringUtil.isNotBlank(tenantId)) { if (StringUtil.isNotBlank(tenantId)) {
JSONObject data = bladeRedis.get(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account); String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
if (Objects.isNull(data)) { String lockKey =key+":lock";
boolean flag = redisLockClient.tryLock("local_server_user" + tenantId, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); JSONObject data =bladeRedis.get(key);
if (flag) { if(Objects.isNull(data)){
data = bladeRedis.get(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if (Objects.isNull(data)) { if(flag){
data = mockLoginService.mockToken(tenantId, account); data =bladeRedis.get(key);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account, data, 2591990L); if(Objects.isNull(data)){
redisLockClient.unLock("local_server_user" + tenantId, LockType.FAIR); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

37
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistributionStockupMapper.xml

@ -242,21 +242,32 @@
where is_deleted = 0 where is_deleted = 0
</select> </select>
<select id="pageList" resultType="com.logpm.distribution.vo.DistributionStockupVO"> <select id="pageList" resultType="com.logpm.distribution.vo.DistributionStockupVO">
select DISTINCT lds.id,lds.stockup_date stockupDate, lds.stockup_user stockupUser, lds.stockup_status SELECT DISTINCT
stockupStatus, lds.stockup_area stockupArea, lds.id,
lds.assign_status assignStatus, lds.goods_area_id goodsAreaId, lds.forklift_name forkliftName, lds.stockup_date stockupDate,
lds.loader_name loaderName, lds.forklift_id forkliftId,lds.loader_id loaderId,lds.fix_time lds.stockup_user stockupUser,
fixTime,lds.assign_time assignTime, lds.stockup_status stockupStatus,
lds.type_service typeService,lds.outbound_date outboundDate,lds.stockup_code stockupCode, lds.stockup_area stockupArea,
COALESCE(GROUP_CONCAT(DISTINCT ldpl.goods_allocation SEPARATOR ','), '') stockipAllocation, lds.assign_status assignStatus,
COALESCE(GROUP_CONCAT(DISTINCT ldpl.pallet SEPARATOR ','), '') pallet, lds.goods_area_id goodsAreaId,
lds.forklift_name forkliftName,
lds.loader_name loaderName,
lds.forklift_id forkliftId,
lds.loader_id loaderId,
lds.fix_time fixTime,
lds.assign_time assignTime,
lds.type_service typeService,
lds.outbound_date outboundDate,
lds.stockup_code stockupCode,
COALESCE ( group_concat( DISTINCT ldpl.goods_allocation SEPARATOR ',' ), '' ) AS stockipAllocation,
COALESCE ( group_concat( DISTINCT ldpl.pallet SEPARATOR ',' ), '' ) AS pallet,
COALESCE ( group_concat( DISTINCT ldr.consignee SEPARATOR ',' ), '' ) AS consignee COALESCE ( group_concat( DISTINCT ldr.consignee SEPARATOR ',' ), '' ) AS consignee
from logpm_distribution_stockup lds FROM
LEFT JOIN logpm_distribution_stockup_info ldsi on ldsi.stockup_id =lds.id logpm_distribution_stockup lds
LEFT JOIN logpm_distribution_stockup_info ldsi ON ldsi.stockup_id = lds.id
LEFT JOIN logpm_distribution_reservation ldr ON ldsi.reservation_id = ldr.id LEFT JOIN logpm_distribution_reservation ldr ON ldsi.reservation_id = ldr.id
LEFT JOIN logpm_distribution_reservation_package ldrp on ldrp.reservation_id = ldsi.reservation_id LEFT JOIN logpm_distribution_reservation_package ldrp ON ldrp.reservation_id = ldsi.reservation_id
LEFT JOIN logpm_distribution_parcel_list ldpl on ldpl.id = ldrp.parce_list_id LEFT JOIN logpm_distribution_parcel_list ldpl ON ldpl.id = ldrp.parce_list_id
<where> <where>
lds.is_deleted = 0 AND ldsi.stock_status != 4 lds.is_deleted = 0 AND ldsi.stock_status != 4

14
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/mapper/DistrilbutionBillStockMapper.xml

@ -142,14 +142,8 @@
(select IFNULL(sum(lds.stock_quantity),0) (select IFNULL(sum(lds.stock_quantity),0)
from logpm_distribution_stock lds from logpm_distribution_stock lds
where lds.stock_article = ldbs.stock_article_id AND lds.bill_lading_id = ldbl.id ) preparedQuantity , where lds.stock_article = ldbs.stock_article_id AND lds.bill_lading_id = ldbl.id ) preparedQuantity ,
(select COALESCE(GROUP_CONCAT(DISTINCT lwtg.tray_code SEPARATOR ','), '') ldsa.trays pallet ,
from logpm_distribution_parcel_list ldpl ldsa.allocation goodsAllocation,
LEFT JOIN logpm_warehouse_tray_goods lwtg on lwtg.association_id = ldpl.id and lwtg.association_type = '3'
where ldpl.stock_article_id = ldbs.stock_article_id) pallet ,
(select COALESCE(GROUP_CONCAT(DISTINCT lwug.allocation_title SEPARATOR ','), '')
from logpm_distribution_parcel_list ldpl
LEFT JOIN logpm_warehouse_updown_goods lwug on lwug.association_id = ldpl.id and lwug.association_type = '3'
where ldpl.stock_article_id = ldbs.stock_article_id) goodsAllocation,
ldsa.service_number serviceNumber,ldsa.waybill_number waybillNumber,ldsa.train_number trainNumber,ldsa.send_warehouse_name sendWarehouseName, ldsa.service_number serviceNumber,ldsa.waybill_number waybillNumber,ldsa.train_number trainNumber,ldsa.send_warehouse_name sendWarehouseName,
GROUP_CONCAT(DISTINCT ldbls.scan_user) AS scanUser ,MAX(ldbls.create_time) AS signingTime GROUP_CONCAT(DISTINCT ldbls.scan_user) AS scanUser ,MAX(ldbls.create_time) AS signingTime
from from
@ -177,8 +171,8 @@
ldpl.send_warehouse_name sendWarehouseName, ldpl.send_warehouse_name sendWarehouseName,
ldpl.order_code orderCode, ldpl.order_code orderCode,
ldpl.service_number serviceNumber, ldpl.service_number serviceNumber,
lwtg.tray_code pallet, ldpl.pallet pallet,
lwug.allocation_title goodsAllocation, ldpl.goods_allocation goodsAllocation,
ldpl.order_package_status orderPackageStatus, ldpl.order_package_status orderPackageStatus,
case case
when lds.id is null then '未备货' when lds.id is null then '未备货'

6
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionDeliveryListServiceImpl.java

@ -3224,6 +3224,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
//这里需要先进行是否满足 //这里需要先进行是否满足
parcelNumberVOS.forEach(p -> { parcelNumberVOS.forEach(p -> {
if (Func.isNotEmpty(p.getReservationNum()) && p.getReservationNum() > 0) { if (Func.isNotEmpty(p.getReservationNum()) && p.getReservationNum() > 0) {
if (p.getReservationNum() > p.getQuantity()){
throw new RuntimeException(s.getOrderCode()+p.getFirsts() + "可用数量不足!!!");
}
DistributionReservationZeroPackageEntity distributionReservationZeroPackageEntity = new DistributionReservationZeroPackageEntity(); DistributionReservationZeroPackageEntity distributionReservationZeroPackageEntity = new DistributionReservationZeroPackageEntity();
distributionReservationZeroPackageEntity.setZeroPackageStatus(ReservationOrderStatusConstant.zhengchang.getValue()); distributionReservationZeroPackageEntity.setZeroPackageStatus(ReservationOrderStatusConstant.zhengchang.getValue());
distributionReservationZeroPackageEntity.setQuantity(p.getReservationNum()); distributionReservationZeroPackageEntity.setQuantity(p.getReservationNum());
@ -3391,6 +3394,9 @@ public class DistributionDeliveryListServiceImpl extends BaseServiceImpl<Distrib
if (Func.isNotEmpty(oldZeroPackageList.get(pn.getParcelListId()))) { if (Func.isNotEmpty(oldZeroPackageList.get(pn.getParcelListId()))) {
//数量修改 //数量修改
if (Func.isNotEmpty(pn.getReservationNum()) && pn.getReservationNum() > 0) { if (Func.isNotEmpty(pn.getReservationNum()) && pn.getReservationNum() > 0) {
if (pn.getReservationNum() > pn.getQuantity()){
throw new RuntimeException(s.getOrderCode()+pn.getFirsts() + "可用数量不足!!!");
}
//修改该预约数量信息,维护零担订单品类数量信息 //修改该预约数量信息,维护零担订单品类数量信息
DistributionReservationZeroPackageEntity distributionReservationZeroPackageEntity = oldZeroPackageList.get(pn.getParcelListId()).get(0); DistributionReservationZeroPackageEntity distributionReservationZeroPackageEntity = oldZeroPackageList.get(pn.getParcelListId()).get(0);
//维护零担品类 //维护零担品类

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

@ -519,30 +519,46 @@ public class DistributionParcelListServiceImpl extends BaseServiceImpl<Distribut
v.stream().forEach(i -> { v.stream().forEach(i -> {
//查询有没有打托数据 //查询有没有打托数据
//查询包件有没有物料 // //查询包件有没有物料
List<DistributionParcelDetailsEntity> list = distributionParcelDetailsService.list(Wrappers.<DistributionParcelDetailsEntity>query().lambda() // List<DistributionParcelDetailsEntity> list = distributionParcelDetailsService.list(Wrappers.<DistributionParcelDetailsEntity>query().lambda()
.eq(DistributionParcelDetailsEntity::getParcelListId, i.getId()) // .eq(DistributionParcelDetailsEntity::getParcelListId, i.getId())
); // );
if (!list.isEmpty()) { // if (!list.isEmpty()) {
//有 // //有
list.stream().collect(Collectors.groupingBy(DistributionParcelDetailsEntity::getEncoded)) // list.stream().collect(Collectors.groupingBy(DistributionParcelDetailsEntity::getEncoded))
.forEach((kk, vv) -> { // .forEach((kk, vv) -> {
DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity(); // DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity();
BeanUtil.copyProperties(vv.get(0), parcelListEntity); // BeanUtil.copyProperties(vv.get(0), parcelListEntity);
parcelListEntity.setQuantity(sum); // parcelListEntity.setQuantity(sum);
parcelListEntity.setMaterialName(vv.get(0).getName()); // parcelListEntity.setMaterialName(vv.get(0).getName());
parcelListEntity.setMaterialCode(vv.get(0).getEncoded()); // parcelListEntity.setMaterialCode(vv.get(0).getEncoded());
parcelListEntity.setMaterialUnit(vv.get(0).getUnit()); // parcelListEntity.setMaterialUnit(vv.get(0).getUnit());
// 添加库存品信息 // // 添加库存品信息
//查询在库订单信息 // //查询在库订单信息
DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId()); // DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId());
if (ObjectUtil.isEmpty(distributionStockArticleEntity.getMallId())) { // if (ObjectUtil.isEmpty(distributionStockArticleEntity.getMallId())) {
throw new ServiceException("订单的客户数据异常,无法转换!!"); // throw new ServiceException("订单的客户数据异常,无法转换!!");
} // }
addStockList(distributionStockArticleEntity, parcelListEntity, 1); // addStockList(distributionStockArticleEntity, parcelListEntity, 1);
}); // });
// }
DistributionParcelListEntity parcelListEntity = new DistributionParcelListEntity();
BeanUtil.copyProperties(v, parcelListEntity);
parcelListEntity.setQuantity(sum);
parcelListEntity.setMaterialName(i.getMaterialName());
parcelListEntity.setMaterialCode(i.getMaterialCode());
parcelListEntity.setMaterialUnit(i.getMaterialUnit());
// 添加库存品信息
//查询在库订单信息
DistributionStockArticleEntity distributionStockArticleEntity = distributionStockArticleMapper.selectById(parcelListEntity.getStockArticleId());
if (ObjectUtil.isEmpty(distributionStockArticleEntity.getMallId())) {
throw new ServiceException("订单的客户数据异常,无法转换!!");
} }
//修改状态 addStockList(distributionStockArticleEntity, parcelListEntity, 1);
// //修改状态
DistributionParcelListEntity parcelList = new DistributionParcelListEntity(); DistributionParcelListEntity parcelList = new DistributionParcelListEntity();
parcelList.setId(i.getId()); parcelList.setId(i.getId());
parcelList.setConditions(2); parcelList.setConditions(2);

23
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java

@ -77,6 +77,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.ObjectUtil; import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.system.cache.DictBizCache; import org.springblade.system.cache.DictBizCache;
import org.springblade.system.entity.DictBiz; import org.springblade.system.entity.DictBiz;
import org.springblade.system.entity.User; import org.springblade.system.entity.User;
@ -2596,16 +2597,24 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl<Distrib
String filename = QRCodeUtil.createCodeToFile(orderCode); String filename = QRCodeUtil.createCodeToFile(orderCode);
map.put("orderCodeImage", QRCodeUtil.getEmpAutograph(filename)); map.put("orderCodeImage", QRCodeUtil.getEmpAutograph(filename));
if(!Objects.isNull(warehouseWaybill)){ if(!Objects.isNull(warehouseWaybill)){
map.put("consigneeUnit",warehouseWaybill.getConsignee()); String consignee = warehouseWaybill.getConsignee();
map.put("consigneePerson",warehouseWaybill.getConsigneeName()); String consigneeName = warehouseWaybill.getConsigneeName();
map.put("consigneeMobile",warehouseWaybill.getConsigneeMobile()); String consigneeMobile = warehouseWaybill.getConsigneeMobile();
String remark = warehouseWaybill.getRemark();
map.put("consigneeUnit", StringUtil.isBlank(consignee)?"":consignee);
map.put("consigneePerson",StringUtil.isBlank(consigneeName)?"":consigneeName);
map.put("consigneeMobile",StringUtil.isBlank(consigneeMobile)?"":consigneeMobile);
map.put("product", warehouseWaybill.getGoodsName() + "(" + warehouseWaybill.getTotalCount() + ")"); map.put("product", warehouseWaybill.getGoodsName() + "(" + warehouseWaybill.getTotalCount() + ")");
map.put("remark",warehouseWaybill.getRemark()); map.put("remark",StringUtil.isBlank(remark)?"":remark);
} }
map.put("customerName",stockArticleEntity.getCustomerName()); String customerName = stockArticleEntity.getCustomerName();
map.put("customerTelephone",stockArticleEntity.getCustomerTelephone()); String customerTelephone = stockArticleEntity.getCustomerTelephone();
map.put("customerAddress",stockArticleEntity.getCustomerAddress()); String customerAddress = stockArticleEntity.getCustomerAddress();
map.put("customerName",StringUtil.isBlank(customerName)?"":customerName);
map.put("customerTelephone",StringUtil.isBlank(customerTelephone)?"":customerTelephone);
map.put("customerAddress",StringUtil.isBlank(customerAddress)?"":customerAddress);
// 订单号 生成二维码 // 订单号 生成二维码
String fileTypeName = QRCodeUtil.createCodeToFile(orderCode); String fileTypeName = QRCodeUtil.createCodeToFile(orderCode);
map.put("imgType", QRCodeUtil.getEmpAutograph(fileTypeName)); map.put("imgType", QRCodeUtil.getEmpAutograph(fileTypeName));

46
blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistrilbutionBillLadingServiceImpl.java

@ -1136,11 +1136,16 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
return R.fail(403, "未授权!!"); return R.fail(403, "未授权!!");
} }
if (Objects.isNull(distrilbutionBillLading.getId())) { if (Objects.isNull(distrilbutionBillLading.getId())) {
log.error(method + "参数缺少Id:{}", distrilbutionBillLading); log.error(method + "参数缺少Id:{}", distrilbutionBillLading.getId());
return R.fail("请联系管理员处理"); return R.fail("请联系管理员处理");
} }
if (Objects.isNull(distrilbutionBillLading.getPackageIds())) { if (Objects.isNull(distrilbutionBillLading.getPackageIds())) {
log.error(method + "参数缺少PackageIds:{}", distrilbutionBillLading); log.error(method + "参数缺少PackageIds:{}", distrilbutionBillLading.getPackageIds());
return R.fail("请联系管理员处理");
}
DistrilbutionBillLadingEntity billLadingEntity = this.getById(distrilbutionBillLading.getId());
if (Objects.isNull(billLadingEntity)) {
log.error(method + "查询自提错误:{}", distrilbutionBillLading.getId());
return R.fail("请联系管理员处理"); return R.fail("请联系管理员处理");
} }
@ -1162,17 +1167,39 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
//进行订制品和零担的区分 //进行订制品和零担的区分
Map<Integer, List<DistributionParcelListEntity>> packageMap = distributionParcelListEntities.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getConditions)); Map<Integer, List<DistributionParcelListEntity>> packageMap = distributionParcelListEntities.stream().collect(Collectors.groupingBy(DistributionParcelListEntity::getConditions));
List<DistributionBillLadingScanEntity> ladingScanEntities = new ArrayList<>(); List<DistributionBillLadingScanEntity> ladingScanEntities = new ArrayList<>();
StringBuilder builder = new StringBuilder();
List<JSONObject> logList = new ArrayList<>();
if (!packageMap.isEmpty()) { if (!packageMap.isEmpty()) {
ladingScanEntities = handleSignPackage(packageMap, distrilbutionBillLading.getId(), myCurrentWarehouse); ladingScanEntities = handleSignPackage(packageMap, distrilbutionBillLading.getId(), myCurrentWarehouse);
if (!ladingScanEntities.isEmpty()) { if (!ladingScanEntities.isEmpty()) {
// String orderPackageCodes = ladingScanEntities.stream().map(DistributionBillLadingScanEntity::getPacketBarCode).collect(Collectors.joining(","));
List<String> orderPackageCodeList = ladingScanEntities.stream().map(DistributionBillLadingScanEntity::getPacketBarCode).collect(Collectors.toList());
for (String orderPackageCode : orderPackageCodeList) {
builder.append(orderPackageCode).append(",");
String content = "包件在" + myCurrentWarehouse.getName() + "由" + AuthUtil.getNickName() + "后台签收,自提任务号:" + billLadingEntity.getPickupBatch() ;
JSONObject aaa = handleLogJSONObject(myCurrentWarehouse, AuthUtil.getUser(), orderPackageCode, content, WorkNodeEnums.SIGN_BILLOFLADING.getCode());
logList.add(aaa);
// orderPackageCodes.add(orderPackageCode);
}
// 进行签收扫描数据补录 // 进行签收扫描数据补录
distributionBillLadingScanService.saveBatch(ladingScanEntities); distributionBillLadingScanService.saveBatch(ladingScanEntities);
String collect = ladingScanEntities.stream().map(DistributionBillLadingScanEntity::getPacketBarCode).collect(Collectors.joining(",")); // String collect = ladingScanEntities.stream().map(DistributionBillLadingScanEntity::getPacketBarCode).collect(Collectors.joining(","));
warehouseUpdownTypeClient.downPackageAndDelTrayAndIsUpdate(collect, myCurrentWarehouse.getId(), "后台PC自提签收下架", false);
// 进行日志记录
// warehouseUpdownTypeClient.downPackageAndDelTrayAndIsUpdate(collect, myCurrentWarehouse.getId(), "后台PC自提签收下架", false);
}
if (Func.isNotEmpty(builder)){
String string = builder.deleteCharAt(builder.length() - 1).toString();
warehouseUpdownTypeClient.downPackageOrDelTray(string, myCurrentWarehouse.getId(), "签收下架解托");
}
if (!logList.isEmpty()) {
trunklinePackageTrackLogClient.addPackageTrackLog(logList);
} }
} }
//维护自提单状态 //维护自提单状态
distrilbutionBillLading.setConditions(BillLadingStatusConstant.yitihuo.getValue()); distrilbutionBillLading.setConditions(BillLadingStatusConstant.yitihuo.getValue());
distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda() distributionBillLadingScanService.list(Wrappers.<DistributionBillLadingScanEntity>query().lambda()
@ -3388,7 +3415,18 @@ public class DistrilbutionBillLadingServiceImpl extends BaseServiceImpl<Distrilb
}); });
if (n.get()) { if (n.get()) {
distributionBillLadingScanService.save(distributionBillLadingScan); distributionBillLadingScanService.save(distributionBillLadingScan);
//进行下架解托
warehouseUpdownTypeClient.downPackageOrDelTray(distributionBillLadingScan.getPacketBarCode(),myCurrentWarehouse.getId(),"自提下架解托");
String content = "包件在" + myCurrentWarehouse.getName() + "由" + AuthUtil.getNickName() + "扫描签收,自提任务号:" + billLadingEntity.getPickupBatch() ;
//日志记录
List<JSONObject> logList = new ArrayList<>();
JSONObject aaa = handleLogJSONObject(myCurrentWarehouse, AuthUtil.getUser(), distributionBillLadingScan.getPacketBarCode(), content, WorkNodeEnums.SIGN_BILLOFLADING.getCode());
logList.add(aaa);
trunklinePackageTrackLogClient.addPackageTrackLog(logList);
} else { } else {
return Resp.scanFail("当前订单,包件不存在!!", "当前订单,包件不存在!!"); return Resp.scanFail("当前订单,包件不存在!!", "当前订单,包件不存在!!");
} }

15
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/aspect/JobAnnotationAspect.java

@ -64,15 +64,18 @@ public class JobAnnotationAspect {
private JSONObject mockLogin() throws InterruptedException { private JSONObject mockLogin() throws InterruptedException {
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

15
blade-service/logpm-factory-data/logpm-factory-data-jinpai/src/main/java/com/logpm/factorydata/jinpai/interceptor/LocalServerLoginAccountsInterceptor.java

@ -45,15 +45,18 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt
try { try {
org.springblade.common.wrapper.CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request); org.springblade.common.wrapper.CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request);
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

15
blade-service/logpm-factory-data/logpm-factory-data-linsy/src/main/java/com/logpm/factorydata/linsy/interceptor/LocalServerLoginAccountsInterceptor.java

@ -45,15 +45,18 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt
try { try {
org.springblade.common.wrapper.CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request); org.springblade.common.wrapper.CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request);
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

15
blade-service/logpm-factory-data/logpm-factory-data-mengtian/src/main/java/com/logpm/factorydata/mengtian/interceptor/LocalServerLoginAccountsInterceptor.java

@ -40,15 +40,18 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt
try { try {
CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request); CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request);
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

15
blade-service/logpm-factory-data/logpm-factory-data-mwh/src/main/java/com/logpm/factorydata/mwh/interceptor/LocalServerLoginAccountsInterceptor.java

@ -45,15 +45,18 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt
try { try {
org.springblade.common.wrapper.CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request); org.springblade.common.wrapper.CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request);
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

15
blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/aspect/JobAnnotationAspect.java

@ -64,15 +64,18 @@ public class JobAnnotationAspect {
private JSONObject mockLogin() throws InterruptedException { private JSONObject mockLogin() throws InterruptedException {
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

15
blade-service/logpm-factory-data/logpm-factory-data-olo/src/main/java/com/logpm/factorydata/olo/interceptor/LocalServerLoginAccountsInterceptor.java

@ -45,15 +45,18 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt
try { try {
CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request); CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request);
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

15
blade-service/logpm-factory-data/logpm-factory-data-suofeiya/src/main/java/com/logpm/factorydata/suofeiya/interceptor/LocalServerLoginAccountsInterceptor.java

@ -45,15 +45,18 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt
try { try {
org.springblade.common.wrapper.CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request); org.springblade.common.wrapper.CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request);
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

15
blade-service/logpm-factory-data/logpm-factory-data-zbom/src/main/java/com/logpm/factorydata/zbom/interceptor/LocalServerLoginAccountsInterceptor.java

@ -45,15 +45,18 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt
try { try {
org.springblade.common.wrapper.CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request); org.springblade.common.wrapper.CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request);
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

16
blade-service/logpm-factory/src/main/java/com/logpm/factory/aspect/JobAnnotationAspect.java

@ -56,17 +56,19 @@ public class JobAnnotationAspect {
} }
private JSONObject mockLogin() throws InterruptedException { private JSONObject mockLogin() throws InterruptedException {
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

15
blade-service/logpm-factory/src/main/java/com/logpm/factory/interceptor/LocalServerLoginAccountsInterceptor.java

@ -45,15 +45,18 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt
try { try {
CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request); CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request);
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

7
blade-service/logpm-factory/src/main/java/com/logpm/factory/jobhandler/OpFailPackageRetryJob.java

@ -51,9 +51,12 @@ public class OpFailPackageRetryJob {
private void batchHandleData(Long startId, Integer quantity) { private void batchHandleData(Long startId, Integer quantity) {
List<OpFailRetryPushPackageEntity> batchData = opFailRetryPushPackageMapper.selectWaitData(quantity, startId); List<OpFailRetryPushPackageEntity> batchData = opFailRetryPushPackageMapper.selectWaitData(quantity, startId);
opFailRetryPushPackageService.retry(batchData); log.info("OpFailPackageRetryJob batchHandleData startId:{},quantity:{}",startId,quantity);
// opFailRetryPushPackageService.retry(batchData);
if (batchData.size() == quantity) { log.info("OpFailPackageRetryJob batchHandleData end");
log.info("batchData.size {}",batchData.size());
if (batchData.size()== quantity) {
batchHandleData(batchData.get(quantity - 1).getId(), quantity); batchHandleData(batchData.get(quantity - 1).getId(), quantity);
} }
} }

2
blade-service/logpm-factory/src/main/java/com/logpm/factory/oupai/mapper/OpFailRetryPushPackageMapper.xml

@ -24,7 +24,7 @@
SELECT * FROM logpm_factory.op_fail_retry_push_package SELECT * FROM logpm_factory.op_fail_retry_push_package
WHERE push_status = 1 WHERE push_status = 1
<if test="startId != null"> <if test="startId != null">
id > #{startId} and id > #{startId}
</if> </if>
ORDER BY id ORDER BY id
LIMIT #{limit} LIMIT #{limit}

11
blade-service/logpm-factory/src/test/java/com/logpm/factory/TestService.java

@ -1101,12 +1101,15 @@ public class TestService {
} }
public static void main(String[] args) throws IOException, InterruptedException { public static void main(String[] args) throws IOException, InterruptedException {
Integer a = new Integer("22222");
Date data1 = DateUtil.parse("2024-07-23 17:07:23.123","yyyy-MM-dd hh:mm:ss.SSS"); System.out.println(22222==a);
Date data2 = DateUtil.parse("2024-07-24 17:07:23.123","yyyy-MM-dd hh:mm:ss.SSS");
System.out.println(data1.getTime()); // Date data1 = DateUtil.parse("2024-07-23 17:07:23.123","yyyy-MM-dd hh:mm:ss.SSS");
System.out.println(data2.getTime()); // Date data2 = DateUtil.parse("2024-07-24 17:07:23.123","yyyy-MM-dd hh:mm:ss.SSS");
//
// System.out.println(data1.getTime());
// System.out.println(data2.getTime());

6
blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/feign/OrderDetailClient.java

@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore; import springfox.documentation.annotations.ApiIgnore;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -53,4 +54,9 @@ public class OrderDetailClient implements IOrderDetailClient {
public OrderDetailEntity findEntityByUnitNoAndOldWarehosueId(String unitNo, Integer oldWarehouseId) { public OrderDetailEntity findEntityByUnitNoAndOldWarehosueId(String unitNo, Integer oldWarehouseId) {
return orderDetailService.findEntityByUnitNoAndOldWarehosueId(unitNo,oldWarehouseId); return orderDetailService.findEntityByUnitNoAndOldWarehosueId(unitNo,oldWarehouseId);
} }
@Override
public Date findRukuTime(String unitNo, Integer oldWarehouseId) {
return orderDetailService.findRukuTime(unitNo,oldWarehouseId);
}
} }

5
blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/OrderDetailMapper.java

@ -18,6 +18,9 @@ package com.logpm.oldproject.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.logpm.oldproject.entity.OrderDetailEntity; import com.logpm.oldproject.entity.OrderDetailEntity;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
/** /**
* 订单 Mapper 接口 * 订单 Mapper 接口
@ -27,5 +30,5 @@ import com.logpm.oldproject.entity.OrderDetailEntity;
*/ */
public interface OrderDetailMapper extends BaseMapper<OrderDetailEntity> { public interface OrderDetailMapper extends BaseMapper<OrderDetailEntity> {
Date findRukuTime(@Param("unitNo") String unitNo, @Param("oldWarehouseId") Integer oldWarehouseId);
} }

9
blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/mapper/OrderDetailMapper.xml

@ -3,5 +3,14 @@
<mapper namespace="com.logpm.oldproject.mapper.OrderDetailMapper"> <mapper namespace="com.logpm.oldproject.mapper.OrderDetailMapper">
<select id="findRukuTime" resultType="java.util.Date">
select create_time
from ht_scan_log
where unit_no = #{unitNo} and warehouse_id = #{oldWarehouseId}
and type in (1,4)
order by create_time desc
limit 1
</select>
</mapper> </mapper>

3
blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IOrderDetailService.java

@ -2,6 +2,7 @@ package com.logpm.oldproject.service;
import com.logpm.oldproject.entity.OrderDetailEntity; import com.logpm.oldproject.entity.OrderDetailEntity;
import java.util.Date;
import java.util.List; import java.util.List;
public interface IOrderDetailService { public interface IOrderDetailService {
@ -11,4 +12,6 @@ public interface IOrderDetailService {
List<OrderDetailEntity> findByOrderCode(String orderCode,Integer oldWarehouseId); List<OrderDetailEntity> findByOrderCode(String orderCode,Integer oldWarehouseId);
OrderDetailEntity findEntityByUnitNoAndOldWarehosueId(String unitNo, Integer oldWarehouseId); OrderDetailEntity findEntityByUnitNoAndOldWarehosueId(String unitNo, Integer oldWarehouseId);
Date findRukuTime(String unitNo, Integer oldWarehouseId);
} }

6
blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/OrderDetailServiceImpl.java

@ -7,6 +7,7 @@ import com.logpm.oldproject.service.IOrderDetailService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List; import java.util.List;
@Service @Service
@ -40,4 +41,9 @@ public class OrderDetailServiceImpl implements IOrderDetailService {
return orderDetailMapper.selectOne(queryWrapper); return orderDetailMapper.selectOne(queryWrapper);
} }
@Override
public Date findRukuTime(String unitNo, Integer oldWarehouseId) {
return orderDetailMapper.findRukuTime(unitNo,oldWarehouseId);
}
} }

15
blade-service/logpm-patch/src/main/java/com/logpm/patch/aspect/JobAnnotationAspect.java

@ -64,15 +64,18 @@ public class JobAnnotationAspect {
private JSONObject mockLogin() throws InterruptedException { private JSONObject mockLogin() throws InterruptedException {
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

17
blade-service/logpm-patch/src/main/java/com/logpm/patch/interceptor/LocalServerLoginAccountsInterceptor.java

@ -47,15 +47,18 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt
try { try {
CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request); CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request);
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }
@ -68,7 +71,7 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt
wrappedRequest.addHeader("Blade-Auth", "bearer "+data.getString("access_token")); wrappedRequest.addHeader("Blade-Auth", "bearer "+data.getString("access_token"));
HttpHeaders httpHeaders = new HttpHeaders(); HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.add("Blade-Auth","bearer "+data.get("access_token") ); httpHeaders.add("Blade-Auth","bearer "+data.get("access_token") );
httpHeaders.add( "Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); httpHeaders.add( "Authorization", "Basic bG9jYWw6bG9jYWxfc2VjcmV0");
ThreadLocalUtil.put("bladeContext", httpHeaders); ThreadLocalUtil.put("bladeContext", httpHeaders);

2
blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncWarehouseData.java

@ -162,7 +162,7 @@ public class SyncWarehouseData {
entity.setAllocationStatus("1"); entity.setAllocationStatus("1");
entity.setLayerNum(floor); entity.setLayerNum(floor);
entity.setColumnNum(row); entity.setColumnNum(row);
entity.setQrCode(shelfEntity.getTitle()+"排"+floor+"层"+row+"列"); entity.setQrCode(goodsAreaEntity.getHeadline()+"区"+shelfEntity.getTitle()+"排"+floor+"层"+row+"列");
entity.setOldId(locationId); entity.setOldId(locationId);
Long newLocationId = basicdataGoodsAllocationClient.addLocation(entity); Long newLocationId = basicdataGoodsAllocationClient.addLocation(entity);
if(Objects.isNull(newLocationId)){ if(Objects.isNull(newLocationId)){

2
blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java

@ -1626,7 +1626,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService {
Integer carsType = orderDetailEntity.getCarsType(); Integer carsType = orderDetailEntity.getCarsType();
Integer signState = orderDetailEntity.getSignState(); Integer signState = orderDetailEntity.getSignState();
waybillNo = orderDetailEntity.getWaybillNo(); waybillNo = orderDetailEntity.getWaybillNo();
Date rukuTime = orderDetailEntity.getUpdateTime(); Date rukuTime = orderDetailClient.findRukuTime(unitNo,oldWarehouseId);
if(StringUtil.isBlank(waybillNo)){ if(StringUtil.isBlank(waybillNo)){
Integer advanceId = orderDetailEntity.getAdvanceId(); Integer advanceId = orderDetailEntity.getAdvanceId();
AdvanceEntity advanceEntity = advanceClient.fingById(advanceId); AdvanceEntity advanceEntity = advanceClient.fingById(advanceId);

12
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportBillLoadingMapper.xml

@ -11,6 +11,8 @@
order_code, order_code,
packet_bar_code, packet_bar_code,
train_number, train_number,
sign_num,
brand,
firsts, firsts,
second, second,
third_product, third_product,
@ -31,6 +33,8 @@
dsa.order_code, dsa.order_code,
t.packet_bar_code, t.packet_bar_code,
dsa.train_number, dsa.train_number,
1 sign_num,
dpl.brand_name brand,
dpl.firsts, dpl.firsts,
dpl.second, dpl.second,
dpl.third_product, dpl.third_product,
@ -59,6 +63,8 @@
order_code, order_code,
packet_bar_code, packet_bar_code,
train_number, train_number,
sign_num,
brand,
firsts, firsts,
second, second,
third_product, third_product,
@ -79,6 +85,8 @@
dsa.order_code, dsa.order_code,
'' packet_bar_code, '' packet_bar_code,
dsa.train_number, dsa.train_number,
1 sign_num,
dpl.brand_name brand,
'' firsts, '' firsts,
'' second, '' second,
'' third_product, '' third_product,
@ -108,6 +116,8 @@
order_code, order_code,
packet_bar_code, packet_bar_code,
train_number, train_number,
sign_num,
brand,
firsts, firsts,
second, second,
third_product, third_product,
@ -128,6 +138,8 @@
dsa.order_code, dsa.order_code,
dpl.order_package_code packet_bar_code, dpl.order_package_code packet_bar_code,
dsa.train_number, dsa.train_number,
dbls.quantity sign_num,
dpl.brand_name brand,
dpl.firsts, dpl.firsts,
dpl.second, dpl.second,
dpl.third_product, dpl.third_product,

59
blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml

@ -342,6 +342,10 @@
lds_signee_name, lds_signee_name,
signing_status, signing_status,
signing_time, signing_time,
sign_num,
sign_type,
loading_mode,
brand,
examine_user_name, examine_user_name,
abnormal_signing, abnormal_signing,
abnormal_loading, abnormal_loading,
@ -374,6 +378,8 @@
ldsa.customer_telephone delivery_phone, ldsa.customer_telephone delivery_phone,
ldsa.customer_address delivery_address, ldsa.customer_address delivery_address,
wi.consignee consignee, wi.consignee consignee,
1 sign_num,
dpl.brand_name brand,
wi.consignee_name consignee_name, wi.consignee_name consignee_name,
wi.consignee_mobile consignee_mobile, wi.consignee_mobile consignee_mobile,
dpl.waybill_number waybill_no, dpl.waybill_number waybill_no,
@ -409,6 +415,26 @@
ldl.scan_user un_administrators_name, ldl.scan_user un_administrators_name,
ldl.signing_time sjsigning_time, ldl.signing_time sjsigning_time,
ldl.signing_user lds_signee_name, ldl.signing_user lds_signee_name,
case when ldl.signfor_type = 1 THEN
'扫描签收'
when ldl.signfor_type = 2 then
'文员签收'
when ldl.signfor_type = 3 then
'一键签收'
else
''
end sign_type,
case when ldl.scan_status = 2 THEN
'扫描装车'
when ldl.scan_status = 3 THEN
'订单装车'
when ldl.scan_status = 4 THEN
'一键装车'
when ldl.scan_status = 5 THEN
'补录装车'
else
''
END loading_mode,
CASE CASE
WHEN lds.signing_status = 1 THEN WHEN lds.signing_status = 1 THEN
@ -455,7 +481,9 @@
where drp.packet_bar_status != 2 where drp.packet_bar_status != 2
and obj.reservation_status != 4 and obj.reservation_status != 4
and obj.id is not null and obj.id is not null
and dpl.id is not null) t and dpl.id is not null
and ldl.scan_status > 1
) t
${ew.customSqlSegment} ${ew.customSqlSegment}
<if test="ew!=null and ew.customSqlSegment !=null and ew.customSqlSegment!=''"> <if test="ew!=null and ew.customSqlSegment !=null and ew.customSqlSegment!=''">
and and
@ -495,6 +523,7 @@
conditions, conditions,
firsts, firsts,
decond, decond,
third_product, third_product,
material_code, material_code,
material_name, material_name,
@ -509,6 +538,10 @@
lds_signee_name, lds_signee_name,
signing_status, signing_status,
signing_time, signing_time,
sign_num,
sign_type,
loading_mode,
brand,
examine_user_name, examine_user_name,
abnormal_signing, abnormal_signing,
abnormal_loading, abnormal_loading,
@ -522,6 +555,7 @@
obj.reservation_date task_time, obj.reservation_date task_time,
dpl.warehouse warehouse_name, dpl.warehouse warehouse_name,
dpl.warehouse_id warehouse_id, dpl.warehouse_id warehouse_id,
dpl.brand_name brand,
CASE CASE
WHEN obj.delivery_type = 1 THEN WHEN obj.delivery_type = 1 THEN
'商配' '商配'
@ -573,9 +607,29 @@
WHEN ldl.signfor_state = 2 THEN WHEN ldl.signfor_state = 2 THEN
'已签收' '已签收'
END driver_signing, END driver_signing,
ldl.received_quantity sign_num,
ldl.scan_time unload_time, ldl.scan_time unload_time,
ldl.scan_user un_administrators_name, ldl.scan_user un_administrators_name,
case when ldl.signfor_type = 1 THEN
'扫描签收'
when ldl.signfor_type = 2 then
'文员签收'
when ldl.signfor_type = 3 then
'一键签收'
else
''
end sign_type,
case when ldl.scan_status = 2 THEN
'扫描装车'
when ldl.scan_status = 3 THEN
'订单装车'
when ldl.scan_status = 4 THEN
'一键装车'
when ldl.scan_status = 5 THEN
'补录装车'
else
''
END loading_mode,
lds.sjsigning_time sjsigning_time, lds.sjsigning_time sjsigning_time,
lds.signee_name lds_signee_name, lds.signee_name lds_signee_name,
CASE CASE
@ -626,6 +680,7 @@
and obj.reservation_status != 4 and obj.reservation_status != 4
and obj.id is not null and obj.id is not null
and dpl.id is not null and dpl.id is not null
and ldl.scan_status > 1
) t ) t
${ew.customSqlSegment} ${ew.customSqlSegment}
<if test="ew!=null and ew.customSqlSegment !=null and ew.customSqlSegment!=''"> <if test="ew!=null and ew.customSqlSegment !=null and ew.customSqlSegment!=''">

47
blade-service/logpm-report/src/main/java/com/logpm/report/reader/BillLoadingDetailsReader.java

@ -1,14 +1,27 @@
package com.logpm.report.reader; package com.logpm.report.reader;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.logpm.report.constant.ReportConstants;
import com.logpm.report.mapper.ReportBillLoadingMapper; import com.logpm.report.mapper.ReportBillLoadingMapper;
import com.logpm.report.service.ExportReader; import com.logpm.report.service.ExportReader;
import org.apache.poi.ss.formula.functions.T; import com.logpm.report.vo.BillLoadingDetailsVO;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.system.entity.User;
import org.springblade.system.feign.IUserClient;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/** /**
* @author zhaoqiaobo * @author zhaoqiaobo
@ -19,6 +32,8 @@ public class BillLoadingDetailsReader implements ExportReader {
@Resource @Resource
private ReportBillLoadingMapper billLoadingMapper; private ReportBillLoadingMapper billLoadingMapper;
@Resource
private IUserClient userClient;
@Override @Override
public Long getCount(Wrapper query) { public Long getCount(Wrapper query) {
@ -28,8 +43,34 @@ public class BillLoadingDetailsReader implements ExportReader {
} }
@Override @Override
public List<T> findList(Page page, Wrapper query) { public List<BillLoadingDetailsVO> findList(Page page, Wrapper query) {
return billLoadingMapper.getDetailsPage(page, query); List<BillLoadingDetailsVO> detailsPage = billLoadingMapper.getDetailsPage(page, query);
if (CollUtil.isNotEmpty(detailsPage)) {
// 组装数据批量去查询用户名称
Set<String> userIds = new HashSet<>();
for (BillLoadingDetailsVO detailsVO : detailsPage) {
if (StrUtil.isNotBlank(detailsVO.getScanUser())) {
userIds.add(detailsVO.getScanUser());
}
if (StrUtil.isNotBlank(detailsVO.getExamineUser())) {
userIds.add(detailsVO.getExamineUser());
}
}
R<List<User>> listR = userClient.userInfoByIds(AuthUtil.getTenantId(), CollUtil.join(userIds, ","));
if (ObjectUtil.equal(ReportConstants.HTTP_SUCCESS_CODE, listR.getCode())) {
List<User> data = listR.getData();
Map<Long, String> collect = data.stream().collect(Collectors.toMap(User::getId, User::getName));
for (BillLoadingDetailsVO detailsVO : detailsPage) {
if (StrUtil.isNotEmpty(detailsVO.getScanUser())) {
detailsVO.setScanUser(collect.get(Convert.toLong(detailsVO.getScanUser())));
}
if (StrUtil.isNotEmpty(detailsVO.getExamineUser())) {
detailsVO.setExamineUser(collect.get(Convert.toLong(detailsVO.getExamineUser())));
}
}
}
}
return detailsPage;
} }
} }

8
blade-service/logpm-report/src/main/java/com/logpm/report/vo/BillLoadingDetailsVO.java

@ -25,6 +25,10 @@ public class BillLoadingDetailsVO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "品牌")
@ExcelProperty("品牌")
private String brand;
@ApiModelProperty(value = "自提批次号") @ApiModelProperty(value = "自提批次号")
@ExcelProperty("自提批次号") @ExcelProperty("自提批次号")
private String pickupBatch; private String pickupBatch;
@ -101,4 +105,8 @@ public class BillLoadingDetailsVO implements Serializable {
@ExcelProperty("文员复核人") @ExcelProperty("文员复核人")
private String examineUser; private String examineUser;
@ApiModelProperty(value = "签收数量")
@ExcelProperty("签收数量")
private String signNum;
} }

16
blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportDetailVO.java

@ -29,6 +29,10 @@ public class ReportDetailVO implements Serializable {
@ExcelProperty("车次") @ExcelProperty("车次")
private String trainNumber; private String trainNumber;
@ApiModelProperty(value = "品牌")
@ExcelProperty("品牌")
private String brand;
@ApiModelProperty(value = "预约单号") @ApiModelProperty(value = "预约单号")
@ExcelProperty("预约单号") @ExcelProperty("预约单号")
private String reservationCode; private String reservationCode;
@ -161,6 +165,10 @@ public class ReportDetailVO implements Serializable {
@ExcelProperty("签收人") @ExcelProperty("签收人")
private String ldsSigneeName; private String ldsSigneeName;
@ApiModelProperty(value = "签收数量")
@ExcelProperty("签收数量")
private String signNum;
@ApiModelProperty(value = "文员审核状态") @ApiModelProperty(value = "文员审核状态")
@ExcelProperty("文员审核状态") @ExcelProperty("文员审核状态")
private String signingStatus; private String signingStatus;
@ -193,4 +201,12 @@ public class ReportDetailVO implements Serializable {
@ExcelProperty("审核时间") @ExcelProperty("审核时间")
private String auditingTime; private String auditingTime;
@ApiModelProperty(value = "装车方式")
@ExcelProperty("装车方式")
private String loadingMode;
@ApiModelProperty(value = "签收方式")
@ExcelProperty("签收方式")
private String signType;
} }

20
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/aspect/ChangeAsyncAnnotationAspect.java

@ -71,15 +71,17 @@ public class ChangeAsyncAnnotationAspect {
} }
// 执行模拟登录 // 执行模拟登录
if (StringUtil.isNotBlank(tenantId)) { if (StringUtil.isNotBlank(tenantId)) {
JSONObject data = bladeRedis.get(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account); String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
if (Objects.isNull(data)) { String lockKey =key+":lock";
boolean flag = redisLockClient.tryLock("local_server_user" + tenantId, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); JSONObject data =bladeRedis.get(key);
if (flag) { if(Objects.isNull(data)){
data = bladeRedis.get(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if (Objects.isNull(data)) { if(flag){
data = mockLoginService.mockToken(tenantId, account); data =bladeRedis.get(key);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account, data, 2591990L); if(Objects.isNull(data)){
redisLockClient.unLock("local_server_user" + tenantId, LockType.FAIR); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

9
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java

@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Enumeration; import java.util.Enumeration;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@ -2396,12 +2397,14 @@ public class CarsLoadController {
log.info(method + "请求参数{}", loadCarsDTO); log.info(method + "请求参数{}", loadCarsDTO);
try{ try{
//当前登录人选择的仓库 //当前登录人选择的仓库
List<Long> warehouseIds = new ArrayList<>();
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){ if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse); List<BasicdataWarehouseEntity> myWatchWarehouse = warehouseClient.getMyWatchWarehouse();
return R.fail(405,"多仓权限无法操作,请选择仓库"); myWatchWarehouse.forEach(warehouse -> warehouseIds.add(warehouse.getId()));
}else{
warehouseIds.add(myCurrentWarehouse.getId());
} }
loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId());
return carsLoadService.findSignOrderPageList(loadCarsDTO); return carsLoadService.findSignOrderPageList(loadCarsDTO);
}catch (CustomerException e){ }catch (CustomerException e){

36
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java

@ -1740,4 +1740,40 @@ public class OpenOrderController {
} }
@ResponseBody
@PostMapping("/createOrderPackage")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "创建订单包件", notes = "传入openOrderDTO")
public R createOrderPackage(@RequestBody AdvanceDTO advanceDTO) {
String method = "############createOrderPackage: ";
log.info(method + "请求参数{}", advanceDTO);
Long advanceId = advanceDTO.getAdvanceId();
try{
BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse();
if(Objects.isNull(myCurrentWarehouse)){
log.warn(method+"没有选择仓库 myCurrentWarehouse={}",myCurrentWarehouse);
return R.fail(405,"多仓权限无法操作,请选择仓库");
}
advanceDTO.setWarehouseId(myCurrentWarehouse.getId());
if(Objects.isNull(advanceId)){
log.warn(method+"暂存单id不能为空 advanceId={}",advanceId);
return R.fail(405,"暂存单id不能为空");
}
return openOrderService.createOrderPackage(advanceDTO);
}catch (CustomerException e){
log.error(e.message,e);
return R.fail(e.code,e.message);
}catch (Exception e){
log.error(method+"系统异常",e);
return R.fail(500,"系统异常");
}
}
} }

6
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml

@ -507,7 +507,7 @@
where ltcl.is_deleted = 0 where ltcl.is_deleted = 0
and ltcl.load_type != '4' and ltcl.load_type != '4'
and ltcl.load_status != '100' and ltcl.load_status != '100'
and ltcl.start_warehouse_id = #{param.warehouseId} and (ltcl.start_warehouse_id = #{param.warehouseId} or Locate(#{param.warehouseId},ltcl.end_warehouse_ids) > 0 )
<if test="param.carsNo != null and param.carsNo != '' "> <if test="param.carsNo != null and param.carsNo != '' ">
and Locate(#{param.carsNo},ltcl.cars_no) > 0 and Locate(#{param.carsNo},ltcl.cars_no) > 0
</if> </if>
@ -518,10 +518,10 @@
and ltcl.create_time &lt;= #{param.endTime} and ltcl.create_time &lt;= #{param.endTime}
</if> </if>
<if test="param.type != null and param.type == 1"> <if test="param.type != null and param.type == 1">
and ltcl.load_status = '0' and ltcl.load_status in ('0','20')
</if> </if>
<if test="param.type != null and param.type == 2"> <if test="param.type != null and param.type == 2">
and ltcl.load_status != '0' and ltcl.load_status not in ('0','20')
</if> </if>
order by ltcl.create_time desc order by ltcl.create_time desc
</select> </select>

10
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineLoadSignOrderMapper.xml

@ -131,7 +131,15 @@
left join logpm_trunkline_cars_load ltcl on ltcl.id = ltlso.load_id left join logpm_trunkline_cars_load ltcl on ltcl.id = ltlso.load_id
LEFT JOIN logpm_trunkline_cars_order ltco on ltco.sign_order_id = ltlso.id LEFT JOIN logpm_trunkline_cars_order ltco on ltco.sign_order_id = ltlso.id
<where> <where>
and (ltlso.warehouse_id = #{param.warehouseId} or ltlso.final_node_id = #{param.warehouseId})
and (ltlso.warehouse_id in
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
or ltlso.final_node_id in
<foreach collection="param.warehouseIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>)
<if test="param.loadId != null"> <if test="param.loadId != null">
and ltlso.load_id = #{param.loadId} and ltlso.load_id = #{param.loadId}

2
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderService.java

@ -89,6 +89,8 @@ public interface IOpenOrderService {
R findWaybillDes(Long departureWarehouseId, Long consigneeId); R findWaybillDes(Long departureWarehouseId, Long consigneeId);
R createOrderPackage(AdvanceDTO advanceDTO);
// R findWaybillInfo(String waybillNo); // R findWaybillInfo(String waybillNo);
} }

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

@ -56,6 +56,7 @@ import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
@ -1186,6 +1187,15 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
return R.data(advanceEntityList); return R.data(advanceEntityList);
} }
//把pacakgeDetailExcelDTOS中所有brand放入一个Set集合
Set<String> brandSet = pacakgeDetailExcelDTOS.stream().map(PacakgeDetailExcelDTO::getBrand).collect(Collectors.toSet());
brandSet.add("其他");
List<BasicdataBrandEntity> basicdataBrandEntities = basicdataBrandClient.findListByNames(brandSet);
//把basicdataBrandEntities转化成brandName为key的Map
Map<String, BasicdataBrandEntity> brandMap = basicdataBrandEntities.stream().collect(Collectors.toMap(BasicdataBrandEntity::getBrandName, a -> a, (k1, k2) -> k1));
Map<String, List<PacakgeDetailExcelDTO>> listMap = pacakgeDetailExcelDTOS.parallelStream().collect(Collectors.groupingBy(a -> a.getOrderCode() + "&" + a.getTrainNumber())); Map<String, List<PacakgeDetailExcelDTO>> listMap = pacakgeDetailExcelDTOS.parallelStream().collect(Collectors.groupingBy(a -> a.getOrderCode() + "&" + a.getTrainNumber()));
listMap.remove("null&null"); listMap.remove("null&null");
@ -1243,6 +1253,10 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
advanceEntity.setArea(pacakgeDetailExcelDTO.getArea()); advanceEntity.setArea(pacakgeDetailExcelDTO.getArea());
String brand = pacakgeDetailExcelDTO.getBrand(); String brand = pacakgeDetailExcelDTO.getBrand();
advanceEntity.setBrand(brand); advanceEntity.setBrand(brand);
BasicdataBrandEntity basicdataBrandEntity = brandMap.get(brand);
if(Objects.isNull(basicdataBrandEntity)){
advanceEntity.setBrand("其他");
}
advanceEntity.setTotalNum(excelDTOS.size()); advanceEntity.setTotalNum(excelDTOS.size());
String firsts = pacakgeDetailExcelDTO.getFirsts(); String firsts = pacakgeDetailExcelDTO.getFirsts();
advanceEntity.setPackName(firsts); advanceEntity.setPackName(firsts);
@ -1352,7 +1366,12 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
advanceDetailModel.setAdvanceId(advanceId); advanceDetailModel.setAdvanceId(advanceId);
advanceDetailModel.setOrderCode(orderCode); advanceDetailModel.setOrderCode(orderCode);
advanceDetailModel.setOrderPackageCode(orderPackageCode); advanceDetailModel.setOrderPackageCode(orderPackageCode);
advanceDetailModel.setBrand(pacakgeDetailExcelDTO.getBrand()); String brand = advanceEntity.getBrand();
BasicdataBrandEntity brandEntity = brandMap.get(brand);
if(Objects.isNull(brandEntity)){
brandEntity = brandMap.get("其他");
advanceDetailModel.setBrand(brandEntity.getBrandName());
}
advanceDetailModel.setSystemType("线上"); advanceDetailModel.setSystemType("线上");
advanceDetailModel.setTrainNumber(advanceEntity.getTrainNumber()); advanceDetailModel.setTrainNumber(advanceEntity.getTrainNumber());
String firsts = pacakgeDetailExcelDTO.getFirsts(); String firsts = pacakgeDetailExcelDTO.getFirsts();
@ -2263,6 +2282,15 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
List<ImportOrderNoPackageExcelDTO> importOrderNoPackageExcelDTOS = EasyExcel.read(inputStream).head(ImportOrderNoPackageExcelDTO.class).sheet(0).headRowNumber(2).doReadSync(); List<ImportOrderNoPackageExcelDTO> importOrderNoPackageExcelDTOS = EasyExcel.read(inputStream).head(ImportOrderNoPackageExcelDTO.class).sheet(0).headRowNumber(2).doReadSync();
//把importOrderNoPackageExcelDTOS中所有brand放入一个Set
Set<String> brands = importOrderNoPackageExcelDTOS.parallelStream().map(ImportOrderNoPackageExcelDTO::getBrand).collect(Collectors.toSet());
List<BasicdataBrandEntity> brandEntities = basicdataBrandClient.findListByNames(brands);
//把brandEntities转化成以brandName为key的Map
Map<String, BasicdataBrandEntity> brandMap = brandEntities.stream().collect(Collectors.toMap(BasicdataBrandEntity::getBrandName, Function.identity()));
Map<String, Long> orderCodeCounts = importOrderNoPackageExcelDTOS.stream() Map<String, Long> orderCodeCounts = importOrderNoPackageExcelDTOS.stream()
.collect(Collectors.groupingBy(a->(a.getOrderCode()+"&"+a.getFirsts()), Collectors.counting())); .collect(Collectors.groupingBy(a->(a.getOrderCode()+"&"+a.getFirsts()), Collectors.counting()));
@ -2322,7 +2350,12 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
advanceEntity.setServiceNum(importOrderNoPackageExcelDTO.getServiceNum()); advanceEntity.setServiceNum(importOrderNoPackageExcelDTO.getServiceNum());
advanceEntity.setOrderCode(orderCode); advanceEntity.setOrderCode(orderCode);
advanceEntity.setArea(importOrderNoPackageExcelDTO.getArea()); advanceEntity.setArea(importOrderNoPackageExcelDTO.getArea());
advanceEntity.setBrand(importOrderNoPackageExcelDTO.getBrand()); String brand = importOrderNoPackageExcelDTO.getBrand();
advanceEntity.setBrand(brand);
BasicdataBrandEntity basicdataBrandEntity = brandMap.get(brand);
if(Objects.isNull(basicdataBrandEntity)){
advanceEntity.setBrand("其他");
}
advanceEntity.setTotalNum(Integer.parseInt(importOrderNoPackageExcelDTO.getCount())); advanceEntity.setTotalNum(Integer.parseInt(importOrderNoPackageExcelDTO.getCount()));
advanceEntity.setPackName(importOrderNoPackageExcelDTO.getFirsts()); advanceEntity.setPackName(importOrderNoPackageExcelDTO.getFirsts());
advanceEntity.setDealerCode(importOrderNoPackageExcelDTO.getDealerCode()); advanceEntity.setDealerCode(importOrderNoPackageExcelDTO.getDealerCode());
@ -2464,6 +2497,13 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
List<ImportOrderNoPackageExcelDTO> importOrderNoPackageExcelDTOS = EasyExcel.read(inputStream).head(ImportOrderNoPackageExcelDTO.class).sheet(0).headRowNumber(2).doReadSync(); List<ImportOrderNoPackageExcelDTO> importOrderNoPackageExcelDTOS = EasyExcel.read(inputStream).head(ImportOrderNoPackageExcelDTO.class).sheet(0).headRowNumber(2).doReadSync();
//把importOrderNoPackageExcelDTOS中所有brand放入一个Set
Set<String> brands = importOrderNoPackageExcelDTOS.parallelStream().map(ImportOrderNoPackageExcelDTO::getBrand).collect(Collectors.toSet());
List<BasicdataBrandEntity> brandEntities = basicdataBrandClient.findListByNames(brands);
//把brandEntities转化成brandName为Key的Map
Map<String, BasicdataBrandEntity> brandEntityMap = brandEntities.stream().collect(Collectors.toMap(BasicdataBrandEntity::getBrandName, Function.identity()));
//把importOrderNoPackageExcelDTOS中的orderCode存入一个set集合 //把importOrderNoPackageExcelDTOS中的orderCode存入一个set集合
// Set<String> orderCodes = importOrderNoPackageExcelDTOS.parallelStream().map(ImportOrderNoPackageExcelDTO::getOrderCode).collect(Collectors.toSet()); // Set<String> orderCodes = importOrderNoPackageExcelDTOS.parallelStream().map(ImportOrderNoPackageExcelDTO::getOrderCode).collect(Collectors.toSet());
// //
@ -2562,7 +2602,18 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
advanceEntity.setServiceNum(importOrderNoPackageExcelDTO.getServiceNum()); advanceEntity.setServiceNum(importOrderNoPackageExcelDTO.getServiceNum());
advanceEntity.setOrderCode(orderCode); advanceEntity.setOrderCode(orderCode);
advanceEntity.setArea(importOrderNoPackageExcelDTO.getArea()); advanceEntity.setArea(importOrderNoPackageExcelDTO.getArea());
advanceEntity.setBrand(importOrderNoPackageExcelDTO.getBrand()); String brand = importOrderNoPackageExcelDTO.getBrand();
advanceEntity.setBrand(brand);
if(StringUtil.isNotBlank(brand)){
BasicdataBrandEntity basicdataBrandEntity = brandEntityMap.get(brand);
if(Objects.isNull(basicdataBrandEntity)){
advanceEntity.setBrand("其他");
}
}
advanceEntity.setTotalNum(Integer.parseInt(importOrderNoPackageExcelDTO.getCount())); advanceEntity.setTotalNum(Integer.parseInt(importOrderNoPackageExcelDTO.getCount()));
advanceEntity.setPackName(importOrderNoPackageExcelDTO.getFirsts()); advanceEntity.setPackName(importOrderNoPackageExcelDTO.getFirsts());
advanceEntity.setDealerCode(importOrderNoPackageExcelDTO.getDealerCode()); advanceEntity.setDealerCode(importOrderNoPackageExcelDTO.getDealerCode());
@ -3262,6 +3313,15 @@ public class OpenOrderServiceImpl implements IOpenOrderService {
return R.data(map); return R.data(map);
} }
@Override
public R createOrderPackage(AdvanceDTO advanceDTO) {
Long advanceId = advanceDTO.getAdvanceId();
Long warehouseId = advanceDTO.getWarehouseId();
return null;
}
private List<EditOrderMsgVO> verifyData(OpenOrderDTO openOrderDTO, WarehouseWaybillEntity waybillEntity) { private List<EditOrderMsgVO> verifyData(OpenOrderDTO openOrderDTO, WarehouseWaybillEntity waybillEntity) {
log.info("###################verifyData: 验证改单数据"); log.info("###################verifyData: 验证改单数据");
// StringBuilder stringBuilder = new StringBuilder(); // StringBuilder stringBuilder = new StringBuilder();

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

@ -3731,6 +3731,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
Long trayId = null; Long trayId = null;
String trayName = null; String trayName = null;
String trayCode = null; String trayCode = null;
String content = "包件在 "+warehouseName+" 扫码 卸车,车次号:"+loadCode+".";
//判断包件是否已入库 //判断包件是否已入库
// DistributionParcelListEntity distributionParcelListEntity = distributionParcelListClient.findByPacketBarCodeAndWarehouseId(orderPackageCode, warehouseId); // DistributionParcelListEntity distributionParcelListEntity = distributionParcelListClient.findByPacketBarCodeAndWarehouseId(orderPackageCode, warehouseId);
@ -3932,6 +3933,10 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
} }
updateNumByLoadId(loadId); updateNumByLoadId(loadId);
List<String> orderPackageCodeList = new ArrayList<>();
orderPackageCodeList.add(orderPackageCode);
packageTrackLogAsyncService.addPackageTrackLog(AuthUtil.getTenantId(), AuthUtil.getUserId(), Func.firstLong(AuthUtil.getDeptId()), AuthUtil.getNickName(), orderPackageCodeList, warehouseId, warehouseName, WorkNodeEnums.UNLOAD_TRIPARTITE_TRANSFER_DEPART.getCode(), content);
JSONObject jsonObject = trunklineCarsLoadScanService.findUnloadNumAudio(loadId, warehouseId); JSONObject jsonObject = trunklineCarsLoadScanService.findUnloadNumAudio(loadId, warehouseId);
Integer totalUnloadNum = jsonObject.getInteger("totalUnloadNum"); Integer totalUnloadNum = jsonObject.getInteger("totalUnloadNum");
Integer abnormalUnloadNum = jsonObject.getInteger("abnormalUnloadNum"); Integer abnormalUnloadNum = jsonObject.getInteger("abnormalUnloadNum");
@ -4691,9 +4696,9 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
trunklineLoadSignOrderEntity.setWarehouseId(warehouseId); trunklineLoadSignOrderEntity.setWarehouseId(warehouseId);
trunklineLoadSignOrderEntity.setMallName(mallName); trunklineLoadSignOrderEntity.setMallName(mallName);
//把trunklineCarsOrderVOS中所有元素的mallPerson去重后用,拼接 //把trunklineCarsOrderVOS中所有元素的mallPerson去重后用,拼接
trunklineLoadSignOrderEntity.setMallPerson(trunklineCarsOrderVOS.stream().map(TrunklineCarsOrderVO::getMallPerson).distinct().collect(Collectors.joining(","))); trunklineLoadSignOrderEntity.setMallPerson(trunklineCarsOrderVOS.stream().filter(carsOrderVO-> StringUtil.isNotBlank(carsOrderVO.getMallPerson())).map(TrunklineCarsOrderVO::getMallPerson).distinct().collect(Collectors.joining(",")));
trunklineLoadSignOrderEntity.setMallMobile(trunklineCarsOrderVOS.stream().map(TrunklineCarsOrderVO::getMallMobile).distinct().collect(Collectors.joining(","))); trunklineLoadSignOrderEntity.setMallMobile(trunklineCarsOrderVOS.stream().filter(carsOrderVO-> StringUtil.isNotBlank(carsOrderVO.getMallMobile())).map(TrunklineCarsOrderVO::getMallMobile).distinct().collect(Collectors.joining(",")));
trunklineLoadSignOrderEntity.setMallAddress(trunklineCarsOrderVOS.stream().map(TrunklineCarsOrderVO::getMallAddress).distinct().collect(Collectors.joining(","))); trunklineLoadSignOrderEntity.setMallAddress(trunklineCarsOrderVOS.stream().filter(carsOrderVO-> StringUtil.isNotBlank(carsOrderVO.getMallAddress())).map(TrunklineCarsOrderVO::getMallAddress).distinct().collect(Collectors.joining(",")));
trunklineLoadSignOrderEntity.setBelongToWarehouseId(warehouseId); trunklineLoadSignOrderEntity.setBelongToWarehouseId(warehouseId);
trunklineLoadSignOrderEntity.setBelongToWarehouseName(warehouseName); trunklineLoadSignOrderEntity.setBelongToWarehouseName(warehouseName);
//把trunklineCarsOrderVOS中所有元素的planNum求和 //把trunklineCarsOrderVOS中所有元素的planNum求和
@ -5610,6 +5615,9 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
addCarsLoadScanList.forEach(e -> { addCarsLoadScanList.forEach(e -> {
trunklineCarsLoadingLogService.savaLoadingLog(warehouseId, warehouseName, loadId, e.getLoadCode(), e.getWaybillId(), e.getWaybillNo(), e.getOrderCode(), e.getScanCode(), 1, trunklineCarsLoadingLogService.savaLoadingLog(warehouseId, warehouseName, loadId, e.getLoadCode(), e.getWaybillId(), e.getWaybillNo(), e.getOrderCode(), e.getScanCode(), 1,
1, 1, 0, null, null, null, e.getFromWarehouseId(), e.getId(), remark); 1, 1, 0, null, null, null, e.getFromWarehouseId(), e.getId(), remark);
updownTypeClient.downPackageOrDelTray(e.getScanCode(),e.getFromWarehouseId(),"手动批量装车下架解托");
}); });
packageTrackLogAsyncService.addBatchPackageTrackLog(addPackageTrackLogList, orderPackageCodes, WorkNodeEnums.INITIAL_WAREHOUSE_LOADING.getCode(), null); packageTrackLogAsyncService.addBatchPackageTrackLog(addPackageTrackLogList, orderPackageCodes, WorkNodeEnums.INITIAL_WAREHOUSE_LOADING.getCode(), null);
@ -6450,9 +6458,6 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
Integer realLoadingNumber = carsLoadEntity.getRealLoadingNumber(); Integer realLoadingNumber = carsLoadEntity.getRealLoadingNumber();
Integer unloadNumber = carsLoadEntity.getUnloadNumber(); Integer unloadNumber = carsLoadEntity.getUnloadNumber();
carsLoadEntity.setRealLoadingNumber(realLoadingNumber - unloadNumber);
//计划订单包件数 //计划订单包件数
List<LoadScanOrderVO> loadScanOrderList = trunklineCarsOrderService.findLoadScanPackageWithOrder(loadId, warehouseId); List<LoadScanOrderVO> loadScanOrderList = trunklineCarsOrderService.findLoadScanPackageWithOrder(loadId, warehouseId);
@ -6472,7 +6477,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
String loadStatus = trunklineCarsLoadVO.getLoadStatus(); String loadStatus = trunklineCarsLoadVO.getLoadStatus();
trunklineCarsLoadVO.setLoadStatus(DictBizCache.getValue(DictBizConstant.CARS_LOAD_STATUS, loadStatus)); trunklineCarsLoadVO.setLoadStatus(DictBizCache.getValue(DictBizConstant.CARS_LOAD_STATUS, loadStatus));
trunklineCarsLoadVO.setStockCarsNum(realLoadingNumber - unloadNumber);
trunklineCarsLoadVO.setLoadScanOrderList(loadScanOrderList); trunklineCarsLoadVO.setLoadScanOrderList(loadScanOrderList);
trunklineCarsLoadVO.setZeroList(zeroList); trunklineCarsLoadVO.setZeroList(zeroList);
trunklineCarsLoadVO.setExceptionList(exceptionList); trunklineCarsLoadVO.setExceptionList(exceptionList);

25
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineWaybillPackageServiceImpl.java

@ -78,7 +78,7 @@ public class TrunklineWaybillPackageServiceImpl extends BaseServiceImpl<Trunklin
orderPackageCodes.add(orderPackageCode); orderPackageCodes.add(orderPackageCode);
} }
saveBatch(ls); saveBatch(ls);
packageTrackLogAsyncService.addPackageTrackLog(AuthUtil.getTenantId(),AuthUtil.getUserId(), Func.firstLong(AuthUtil.getDeptId()),AuthUtil.getNickName(),orderPackageCodes,departureWarehouseId,departureWarehouseName, WorkNodeEnums.BILLING.getCode(),content ); packageTrackLogAsyncService.addPackageTrackLog(AuthUtil.getTenantId(),AuthUtil.getUserId(), Func.firstLong(AuthUtil.getDeptId()),AuthUtil.getNickName(),orderPackageCodes,departureWarehouseId,departureWarehouseName, WorkNodeEnums.OPEN_ORDER.getCode(),content );
@ -168,20 +168,21 @@ public class TrunklineWaybillPackageServiceImpl extends BaseServiceImpl<Trunklin
public void updatePackageStatus(List<String> orderPackageCodes, Integer workNode, Long warehouseId, Map<String, JSONObject> map) { public void updatePackageStatus(List<String> orderPackageCodes, Integer workNode, Long warehouseId, Map<String, JSONObject> map) {
BasicdataWarehouseEntity warehouseEntity = warehouseClient.getEntityWarehouseId(warehouseId); if(!workNode.equals(WorkNodeEnums.OPEN_ORDER.getCode())){
if(!Objects.isNull(warehouseEntity)){ BasicdataWarehouseEntity warehouseEntity = warehouseClient.getEntityWarehouseId(warehouseId);
//更新所有包件的当前所在仓 if(!Objects.isNull(warehouseEntity)){
if(CollUtil.isNotEmpty(orderPackageCodes)){ //更新所有包件的当前所在仓
List<TrunklineAdvanceDetailEntity> advanceDetailEntities = advanceDetailService.findListByOrderPackageCodeList(orderPackageCodes); if(CollUtil.isNotEmpty(orderPackageCodes)){
advanceDetailEntities.forEach(advanceDetailEntity -> { List<TrunklineAdvanceDetailEntity> advanceDetailEntities = advanceDetailService.findListByOrderPackageCodeList(orderPackageCodes);
advanceDetailEntity.setNowWarehouseId(warehouseId); advanceDetailEntities.forEach(advanceDetailEntity -> {
advanceDetailEntity.setNowWarehouseName(warehouseEntity.getName()); advanceDetailEntity.setNowWarehouseId(warehouseId);
}); advanceDetailEntity.setNowWarehouseName(warehouseEntity.getName());
advanceDetailService.updateBatchById(advanceDetailEntities); });
advanceDetailService.updateBatchById(advanceDetailEntities);
}
} }
} }
Integer packageStatus = null; Integer packageStatus = null;
if(WorkNodeEnums.INITIAL_WAREHOUSE_DEPART.getCode().equals(workNode)){ if(WorkNodeEnums.INITIAL_WAREHOUSE_DEPART.getCode().equals(workNode)){
//始发仓发车 //始发仓发车

15
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/interceptor/LocalServerLoginAccountsInterceptor.java

@ -44,15 +44,18 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt
try { try {
CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request); CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request);
String account ="shujutongbu"; String account ="shujutongbu";
JSONObject data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); String tenantId ="627683";
String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account;
String lockKey =key+":lock";
JSONObject data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
boolean flag = redisLockClient.tryLock("local_server_user", LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS);
if(flag){ if(flag){
data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); data =bladeRedis.get(key);
if(Objects.isNull(data)){ if(Objects.isNull(data)){
data = mockLoginService.mockToken("627683",account); data = mockLoginService.mockToken(tenantId,account);
bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); bladeRedis.setEx(key,data,2591990L);
redisLockClient.unLock("local_server_user", LockType.FAIR); redisLockClient.unLock(lockKey, LockType.FAIR);
} }
} }
} }

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java

@ -429,6 +429,8 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl<Wareho
distributionStockListInfo.setQuantityStock(num); distributionStockListInfo.setQuantityStock(num);
distributionStockListInfo.setStorageLocation(warehousingDetail.getAllocationName() == null || Func.isEmpty(warehousingDetail.getAllocationName()) ? warehousingDetail.getTrayName() : warehousingDetail.getAllocationName()); distributionStockListInfo.setStorageLocation(warehousingDetail.getAllocationName() == null || Func.isEmpty(warehousingDetail.getAllocationName()) ? warehousingDetail.getTrayName() : warehousingDetail.getAllocationName());
distributionStockListInfo.setId(null); distributionStockListInfo.setId(null);
distributionStockListInfo.setLogisticsCompany(warehousingEntryDTO.getLogisticsCompany());
distributionStockListInfo.setRemark(warehousingEntryDTO.getRemark());
return distributionStockListInfoClient.addStockListInfoEntity(distributionStockListInfo); return distributionStockListInfoClient.addStockListInfoEntity(distributionStockListInfo);
} }
} }

Loading…
Cancel
Save