diff --git a/blade-biz-common/src/main/java/org/springblade/common/constant/WorkNodeEnums.java b/blade-biz-common/src/main/java/org/springblade/common/constant/WorkNodeEnums.java index f5d7a9c77..fdb7aa2fa 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/constant/WorkNodeEnums.java +++ b/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_WAREHOUSE_ENTRY(101020, "始发仓入库"), - BILLING(102010, "开单"), + OPEN_ORDER(102010, "开单"), CHANGE_ORDER(102020, "改单"), REVIEW_ORDER(102030, "审单"), @@ -37,6 +37,7 @@ public enum WorkNodeEnums implements Serializable { CANCEL_TRIPARTITE_TRANSFER_DEPART(104020, "三方中转取消发车"), ARRICE_TRIPARTITE_TRANSFER_DEPART(104030, "三方中转到达"), SIGN_TRIPARTITE_TRANSFER_DEPART(104040, "三方中转签收"), + UNLOAD_TRIPARTITE_TRANSFER_DEPART(104050, "三方中转卸车"), UNLOAD_INCOMING_WAREHOUSE(105010,"卸车入库"), TRANSFER_WAREHOUSE_UNLOADING(105020, "卸车确认"), @@ -62,7 +63,7 @@ public enum WorkNodeEnums implements Serializable { CANCEL_DELIVERY(301030, "计划取消"), PLAN_BILLOFLADING(301040, "计划自提"), CANCEL_BILLOFLADING(301050, "取消自提"), - SIGN_BILLOFLADING(301050, "自提签收"), + SIGN_BILLOFLADING(301080, "自提签收"), PLAN_DISTRIBUTION(301060, "计划配车"), CANCEL_DISTRIBUTION(301070, "取消配车"), diff --git a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataBrandClient.java b/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataBrandClient.java index fa19bf326..5ed98cadf 100644 --- a/blade-service-api/logpm-basicdata-api/src/main/java/com/logpm/basicdata/feign/IBasicdataBrandClient.java +++ b/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.springframework.cloud.openfeign.FeignClient; 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 java.util.List; +import java.util.Set; /** * 基础品牌表 Feign接口类 @@ -55,4 +58,7 @@ public interface IBasicdataBrandClient { @GetMapping(API_PREFIX+"/findEntityByName") BasicdataBrandEntity findEntityByName(@RequestParam("brand") String brand); + + @PostMapping(API_PREFIX+"/findListByNames") + List findListByNames(@RequestBody Set brandSet); } diff --git a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockListInfoEntity.java b/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockListInfoEntity.java index 7619466ee..fbe872724 100644 --- a/blade-service-api/logpm-distribution-api/src/main/java/com/logpm/distribution/entity/DistributionStockListInfoEntity.java +++ b/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 = " 上架时间") private Date groundingTime; + @ApiModelProperty(value = "物流公司") + private String logisticsCompany; + + @ApiModelProperty(value = "备注") + private String remark; + + } diff --git a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOrderDetailClient.java b/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOrderDetailClient.java index 52846cc43..dfbe015ea 100644 --- a/blade-service-api/logpm-old-project-api/src/main/java/com/logpm/oldproject/feign/IOrderDetailClient.java +++ b/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.RequestParam; +import java.util.Date; import java.util.List; /** @@ -45,4 +46,7 @@ public interface IOrderDetailClient { @GetMapping(API_PREFIX + "/findEntityByUnitNoAndOldWarehosueId") OrderDetailEntity findEntityByUnitNoAndOldWarehosueId(@RequestParam String unitNo, @RequestParam Integer oldWarehouseId); + + @GetMapping(API_PREFIX + "/findRukuTime") + Date findRukuTime(@RequestParam String unitNo, @RequestParam Integer oldWarehouseId); } diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java index 584ac8f4c..974f8f4b9 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/dto/LoadCarsDTO.java +++ b/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 Long warehouseId; + private List warehouseIds; private Integer startCarType; private Integer loadingType; diff --git a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadVO.java b/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadVO.java index 61878dbde..082215244 100644 --- a/blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/vo/TrunklineCarsLoadVO.java +++ b/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 planUnloadNum; private Integer totalLoadingNum; + private Integer stockCarsNum; private String loadCarsNo; private String unloadStatus; diff --git a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/aspect/JobAnnotationAspect.java b/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/aspect/JobAnnotationAspect.java index 9d2d5e5e1..bd8f9adae 100644 --- a/blade-service/logpm-aftersales/src/main/java/com/logpm/aftersales/aspect/JobAnnotationAspect.java +++ b/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 { 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)){ - 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){ - data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); + data =bladeRedis.get(key); if(Objects.isNull(data)){ - data = mockLoginService.mockToken("627683",account); - bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); - redisLockClient.unLock("local_server_user", LockType.FAIR); + data = mockLoginService.mockToken(tenantId,account); + bladeRedis.setEx(key,data,2591990L); + redisLockClient.unLock(lockKey, LockType.FAIR); } } } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/aspect/JobAnnotationAspect.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/aspect/JobAnnotationAspect.java index 8efaac5fe..223dbf174 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/aspect/JobAnnotationAspect.java +++ b/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 { 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)){ - 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){ - data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); + data =bladeRedis.get(key); if(Objects.isNull(data)){ - data = mockLoginService.mockToken("627683",account); - bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); - redisLockClient.unLock("local_server_user", LockType.FAIR); + data = mockLoginService.mockToken(tenantId,account); + bladeRedis.setEx(key,data,2591990L); + redisLockClient.unLock(lockKey, LockType.FAIR); } } } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataBrandClient.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataBrandClient.java index 618b33e8f..e16ee2598 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/feign/BasicdataBrandClient.java +++ b/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 java.util.List; +import java.util.Set; /** * 基础品牌表 Feign实现类 @@ -68,4 +69,14 @@ public class BasicdataBrandClient implements IBasicdataBrandClient { return basicdataBrandService.getOne(queryWrapper); } + @Override + public List findListByNames(Set brandSet) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.in("brand_name",brandSet) + .eq("is_deleted",0); + List list = basicdataBrandService.list(queryWrapper); + + return list; + } + } diff --git a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataGoodsShelfServiceImpl.java b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataGoodsShelfServiceImpl.java index 41a809d77..301d2bb0d 100644 --- a/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataGoodsShelfServiceImpl.java +++ b/blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataGoodsShelfServiceImpl.java @@ -369,7 +369,10 @@ public class BasicdataGoodsShelfServiceImpl extends BaseServiceImpl + 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 + + diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IOrderDetailService.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IOrderDetailService.java index f92b11ddc..4f48c2db4 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/IOrderDetailService.java +++ b/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 java.util.Date; import java.util.List; public interface IOrderDetailService { @@ -11,4 +12,6 @@ public interface IOrderDetailService { List findByOrderCode(String orderCode,Integer oldWarehouseId); OrderDetailEntity findEntityByUnitNoAndOldWarehosueId(String unitNo, Integer oldWarehouseId); + + Date findRukuTime(String unitNo, Integer oldWarehouseId); } diff --git a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/OrderDetailServiceImpl.java b/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/OrderDetailServiceImpl.java index e84ea14c8..b8af93483 100644 --- a/blade-service/logpm-old-project/src/main/java/com/logpm/oldproject/service/impl/OrderDetailServiceImpl.java +++ b/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 org.springframework.stereotype.Service; +import java.util.Date; import java.util.List; @Service @@ -40,4 +41,9 @@ public class OrderDetailServiceImpl implements IOrderDetailService { return orderDetailMapper.selectOne(queryWrapper); } + + @Override + public Date findRukuTime(String unitNo, Integer oldWarehouseId) { + return orderDetailMapper.findRukuTime(unitNo,oldWarehouseId); + } } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/aspect/JobAnnotationAspect.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/aspect/JobAnnotationAspect.java index e64602118..12df4b310 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/aspect/JobAnnotationAspect.java +++ b/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 { 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)){ - 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){ - data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); + data =bladeRedis.get(key); if(Objects.isNull(data)){ - data = mockLoginService.mockToken("627683",account); - bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); - redisLockClient.unLock("local_server_user", LockType.FAIR); + data = mockLoginService.mockToken(tenantId,account); + bladeRedis.setEx(key,data,2591990L); + redisLockClient.unLock(lockKey, LockType.FAIR); } } } diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/interceptor/LocalServerLoginAccountsInterceptor.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/interceptor/LocalServerLoginAccountsInterceptor.java index e1c23bab7..2bc52908f 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/interceptor/LocalServerLoginAccountsInterceptor.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/interceptor/LocalServerLoginAccountsInterceptor.java @@ -47,15 +47,18 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt try { CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request); 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)){ - 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){ - data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); + data =bladeRedis.get(key); if(Objects.isNull(data)){ - data = mockLoginService.mockToken("627683",account); - bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); - redisLockClient.unLock("local_server_user", LockType.FAIR); + data = mockLoginService.mockToken(tenantId,account); + bladeRedis.setEx(key,data,2591990L); + redisLockClient.unLock(lockKey, LockType.FAIR); } } } @@ -68,7 +71,7 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt wrappedRequest.addHeader("Blade-Auth", "bearer "+data.getString("access_token")); HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.add("Blade-Auth","bearer "+data.get("access_token") ); - httpHeaders.add( "Authorization", "Basic c2FiZXI6c2FiZXJfc2VjcmV0"); + httpHeaders.add( "Authorization", "Basic bG9jYWw6bG9jYWxfc2VjcmV0"); ThreadLocalUtil.put("bladeContext", httpHeaders); diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncWarehouseData.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncWarehouseData.java index fffdb91ca..f75484b99 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncWarehouseData.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncWarehouseData.java @@ -162,7 +162,7 @@ public class SyncWarehouseData { entity.setAllocationStatus("1"); entity.setLayerNum(floor); entity.setColumnNum(row); - entity.setQrCode(shelfEntity.getTitle()+"排"+floor+"层"+row+"列"); + entity.setQrCode(goodsAreaEntity.getHeadline()+"区"+shelfEntity.getTitle()+"排"+floor+"层"+row+"列"); entity.setOldId(locationId); Long newLocationId = basicdataGoodsAllocationClient.addLocation(entity); if(Objects.isNull(newLocationId)){ diff --git a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java index 7e97d03b0..eb888343b 100644 --- a/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java +++ b/blade-service/logpm-patch/src/main/java/com/logpm/patch/service/impl/SyncOrderInfoServiceImpl.java @@ -1626,7 +1626,7 @@ public class SyncOrderInfoServiceImpl implements ISyncOrderInfoService { Integer carsType = orderDetailEntity.getCarsType(); Integer signState = orderDetailEntity.getSignState(); waybillNo = orderDetailEntity.getWaybillNo(); - Date rukuTime = orderDetailEntity.getUpdateTime(); + Date rukuTime = orderDetailClient.findRukuTime(unitNo,oldWarehouseId); if(StringUtil.isBlank(waybillNo)){ Integer advanceId = orderDetailEntity.getAdvanceId(); AdvanceEntity advanceEntity = advanceClient.fingById(advanceId); diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportBillLoadingMapper.xml b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportBillLoadingMapper.xml index a6d28ac2f..14f752c76 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportBillLoadingMapper.xml +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportBillLoadingMapper.xml @@ -11,6 +11,8 @@ order_code, packet_bar_code, train_number, + sign_num, + brand, firsts, second, third_product, @@ -31,6 +33,8 @@ dsa.order_code, t.packet_bar_code, dsa.train_number, + 1 sign_num, + dpl.brand_name brand, dpl.firsts, dpl.second, dpl.third_product, @@ -59,6 +63,8 @@ order_code, packet_bar_code, train_number, + sign_num, + brand, firsts, second, third_product, @@ -79,6 +85,8 @@ dsa.order_code, '' packet_bar_code, dsa.train_number, + 1 sign_num, + dpl.brand_name brand, '' firsts, '' second, '' third_product, @@ -108,6 +116,8 @@ order_code, packet_bar_code, train_number, + sign_num, + brand, firsts, second, third_product, @@ -128,6 +138,8 @@ dsa.order_code, dpl.order_package_code packet_bar_code, dsa.train_number, + dbls.quantity sign_num, + dpl.brand_name brand, dpl.firsts, dpl.second, dpl.third_product, diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml index 63144e956..115015632 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/mapper/ReportDeliverMapper.xml @@ -342,6 +342,10 @@ lds_signee_name, signing_status, signing_time, + sign_num, + sign_type, + loading_mode, + brand, examine_user_name, abnormal_signing, abnormal_loading, @@ -374,6 +378,8 @@ ldsa.customer_telephone delivery_phone, ldsa.customer_address delivery_address, wi.consignee consignee, + 1 sign_num, + dpl.brand_name brand, wi.consignee_name consignee_name, wi.consignee_mobile consignee_mobile, dpl.waybill_number waybill_no, @@ -409,6 +415,26 @@ ldl.scan_user un_administrators_name, ldl.signing_time sjsigning_time, 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 WHEN lds.signing_status = 1 THEN @@ -455,7 +481,9 @@ where drp.packet_bar_status != 2 and obj.reservation_status != 4 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} and @@ -495,6 +523,7 @@ conditions, firsts, decond, + third_product, material_code, material_name, @@ -509,6 +538,10 @@ lds_signee_name, signing_status, signing_time, + sign_num, + sign_type, + loading_mode, + brand, examine_user_name, abnormal_signing, abnormal_loading, @@ -522,6 +555,7 @@ obj.reservation_date task_time, dpl.warehouse warehouse_name, dpl.warehouse_id warehouse_id, + dpl.brand_name brand, CASE WHEN obj.delivery_type = 1 THEN '商配' @@ -573,9 +607,29 @@ WHEN ldl.signfor_state = 2 THEN '已签收' END driver_signing, + ldl.received_quantity sign_num, ldl.scan_time unload_time, 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.signee_name lds_signee_name, CASE @@ -626,6 +680,7 @@ and obj.reservation_status != 4 and obj.id is not null and dpl.id is not null + and ldl.scan_status > 1 ) t ${ew.customSqlSegment} diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/BillLoadingDetailsReader.java b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/BillLoadingDetailsReader.java index 1b1a6cf9c..f2af6da81 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/reader/BillLoadingDetailsReader.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/reader/BillLoadingDetailsReader.java @@ -1,14 +1,27 @@ 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.extension.plugins.pagination.Page; +import com.logpm.report.constant.ReportConstants; import com.logpm.report.mapper.ReportBillLoadingMapper; 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 javax.annotation.Resource; +import java.util.HashSet; import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; /** * @author zhaoqiaobo @@ -19,6 +32,8 @@ public class BillLoadingDetailsReader implements ExportReader { @Resource private ReportBillLoadingMapper billLoadingMapper; + @Resource + private IUserClient userClient; @Override public Long getCount(Wrapper query) { @@ -28,8 +43,34 @@ public class BillLoadingDetailsReader implements ExportReader { } @Override - public List findList(Page page, Wrapper query) { - return billLoadingMapper.getDetailsPage(page, query); + public List findList(Page page, Wrapper query) { + List detailsPage = billLoadingMapper.getDetailsPage(page, query); + if (CollUtil.isNotEmpty(detailsPage)) { + // 组装数据批量去查询用户名称 + Set 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> listR = userClient.userInfoByIds(AuthUtil.getTenantId(), CollUtil.join(userIds, ",")); + if (ObjectUtil.equal(ReportConstants.HTTP_SUCCESS_CODE, listR.getCode())) { + List data = listR.getData(); + Map 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; } } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/BillLoadingDetailsVO.java b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/BillLoadingDetailsVO.java index 50250913a..5b1d08217 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/BillLoadingDetailsVO.java +++ b/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; + @ApiModelProperty(value = "品牌") + @ExcelProperty("品牌") + private String brand; + @ApiModelProperty(value = "自提批次号") @ExcelProperty("自提批次号") private String pickupBatch; @@ -101,4 +105,8 @@ public class BillLoadingDetailsVO implements Serializable { @ExcelProperty("文员复核人") private String examineUser; + @ApiModelProperty(value = "签收数量") + @ExcelProperty("签收数量") + private String signNum; + } diff --git a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportDetailVO.java b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportDetailVO.java index 6c8014dcc..b3a693518 100644 --- a/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportDetailVO.java +++ b/blade-service/logpm-report/src/main/java/com/logpm/report/vo/ReportDetailVO.java @@ -29,6 +29,10 @@ public class ReportDetailVO implements Serializable { @ExcelProperty("车次") private String trainNumber; + @ApiModelProperty(value = "品牌") + @ExcelProperty("品牌") + private String brand; + @ApiModelProperty(value = "预约单号") @ExcelProperty("预约单号") private String reservationCode; @@ -161,6 +165,10 @@ public class ReportDetailVO implements Serializable { @ExcelProperty("签收人") private String ldsSigneeName; + @ApiModelProperty(value = "签收数量") + @ExcelProperty("签收数量") + private String signNum; + @ApiModelProperty(value = "文员审核状态") @ExcelProperty("文员审核状态") private String signingStatus; @@ -193,4 +201,12 @@ public class ReportDetailVO implements Serializable { @ExcelProperty("审核时间") private String auditingTime; + @ApiModelProperty(value = "装车方式") + @ExcelProperty("装车方式") + private String loadingMode; + + @ApiModelProperty(value = "签收方式") + @ExcelProperty("签收方式") + private String signType; + } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/aspect/ChangeAsyncAnnotationAspect.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/aspect/ChangeAsyncAnnotationAspect.java index bc17b4c73..be3e04955 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/aspect/ChangeAsyncAnnotationAspect.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/aspect/ChangeAsyncAnnotationAspect.java @@ -71,15 +71,17 @@ public class ChangeAsyncAnnotationAspect { } // 执行模拟登录 if (StringUtil.isNotBlank(tenantId)) { - JSONObject data = bladeRedis.get(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account); - if (Objects.isNull(data)) { - boolean flag = redisLockClient.tryLock("local_server_user" + tenantId, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); - if (flag) { - data = bladeRedis.get(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account); - if (Objects.isNull(data)) { - data = mockLoginService.mockToken(tenantId, account); - bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER + tenantId + ":" + account, data, 2591990L); - redisLockClient.unLock("local_server_user" + tenantId, LockType.FAIR); + String key =CacheNames.LOCAL_SERVER_USER+tenantId+":"+account; + String lockKey =key+":lock"; + JSONObject data =bladeRedis.get(key); + if(Objects.isNull(data)){ + boolean flag = redisLockClient.tryLock(lockKey, LockType.FAIR, 5000, 10000, TimeUnit.MILLISECONDS); + if(flag){ + data =bladeRedis.get(key); + if(Objects.isNull(data)){ + data = mockLoginService.mockToken(tenantId,account); + bladeRedis.setEx(key,data,2591990L); + redisLockClient.unLock(lockKey, LockType.FAIR); } } } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java index a7bf6b131..c363140f2 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/CarsLoadController.java +++ b/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.HttpServletResponse; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Enumeration; import java.util.List; import java.util.Objects; @@ -2396,12 +2397,14 @@ public class CarsLoadController { log.info(method + "请求参数{}", loadCarsDTO); try{ //当前登录人选择的仓库 + List warehouseIds = new ArrayList<>(); BasicdataWarehouseEntity myCurrentWarehouse = warehouseClient.getMyCurrentWarehouse(); if(Objects.isNull(myCurrentWarehouse)){ - log.warn(method+"仓库信息为空 myCurrentWarehouse={}",myCurrentWarehouse); - return R.fail(405,"多仓权限无法操作,请选择仓库"); + List myWatchWarehouse = warehouseClient.getMyWatchWarehouse(); + myWatchWarehouse.forEach(warehouse -> warehouseIds.add(warehouse.getId())); + }else{ + warehouseIds.add(myCurrentWarehouse.getId()); } - loadCarsDTO.setWarehouseId(myCurrentWarehouse.getId()); return carsLoadService.findSignOrderPageList(loadCarsDTO); }catch (CustomerException e){ diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java index 8200d51d7..d2592dd20 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/controller/OpenOrderController.java +++ b/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,"系统异常"); + } + } + + } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml index 473071363..5c97a077f 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineCarsLoadMapper.xml @@ -507,7 +507,7 @@ where ltcl.is_deleted = 0 and ltcl.load_type != '4' 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 ) and Locate(#{param.carsNo},ltcl.cars_no) > 0 @@ -518,10 +518,10 @@ and ltcl.create_time <= #{param.endTime} - and ltcl.load_status = '0' + and ltcl.load_status in ('0','20') - and ltcl.load_status != '0' + and ltcl.load_status not in ('0','20') order by ltcl.create_time desc diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineLoadSignOrderMapper.xml b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineLoadSignOrderMapper.xml index fcda70922..cb58060fa 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/mapper/TrunklineLoadSignOrderMapper.xml +++ b/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_order ltco on ltco.sign_order_id = ltlso.id - and (ltlso.warehouse_id = #{param.warehouseId} or ltlso.final_node_id = #{param.warehouseId}) + + and (ltlso.warehouse_id in + + #{item} + + or ltlso.final_node_id in + + #{item} + ) and ltlso.load_id = #{param.loadId} diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderService.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderService.java index d6dcb0b8a..6b9e355bb 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/IOpenOrderService.java +++ b/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 createOrderPackage(AdvanceDTO advanceDTO); + // R findWaybillInfo(String waybillNo); } diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java index 55a138644..1a5cf4aad 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/OpenOrderServiceImpl.java @@ -56,6 +56,7 @@ import java.io.InputStream; import java.math.BigDecimal; import java.util.*; import java.util.concurrent.CompletableFuture; +import java.util.function.Function; import java.util.stream.Collectors; @Slf4j @@ -1186,6 +1187,15 @@ public class OpenOrderServiceImpl implements IOpenOrderService { return R.data(advanceEntityList); } + //把pacakgeDetailExcelDTOS中所有brand放入一个Set集合 + Set brandSet = pacakgeDetailExcelDTOS.stream().map(PacakgeDetailExcelDTO::getBrand).collect(Collectors.toSet()); + brandSet.add("其他"); + + List basicdataBrandEntities = basicdataBrandClient.findListByNames(brandSet); + + //把basicdataBrandEntities转化成brandName为key的Map + Map brandMap = basicdataBrandEntities.stream().collect(Collectors.toMap(BasicdataBrandEntity::getBrandName, a -> a, (k1, k2) -> k1)); + Map> listMap = pacakgeDetailExcelDTOS.parallelStream().collect(Collectors.groupingBy(a -> a.getOrderCode() + "&" + a.getTrainNumber())); listMap.remove("null&null"); @@ -1243,6 +1253,10 @@ public class OpenOrderServiceImpl implements IOpenOrderService { advanceEntity.setArea(pacakgeDetailExcelDTO.getArea()); String brand = pacakgeDetailExcelDTO.getBrand(); advanceEntity.setBrand(brand); + BasicdataBrandEntity basicdataBrandEntity = brandMap.get(brand); + if(Objects.isNull(basicdataBrandEntity)){ + advanceEntity.setBrand("其他"); + } advanceEntity.setTotalNum(excelDTOS.size()); String firsts = pacakgeDetailExcelDTO.getFirsts(); advanceEntity.setPackName(firsts); @@ -1352,7 +1366,12 @@ public class OpenOrderServiceImpl implements IOpenOrderService { advanceDetailModel.setAdvanceId(advanceId); advanceDetailModel.setOrderCode(orderCode); 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.setTrainNumber(advanceEntity.getTrainNumber()); String firsts = pacakgeDetailExcelDTO.getFirsts(); @@ -2263,6 +2282,15 @@ public class OpenOrderServiceImpl implements IOpenOrderService { List importOrderNoPackageExcelDTOS = EasyExcel.read(inputStream).head(ImportOrderNoPackageExcelDTO.class).sheet(0).headRowNumber(2).doReadSync(); + //把importOrderNoPackageExcelDTOS中所有brand放入一个Set + Set brands = importOrderNoPackageExcelDTOS.parallelStream().map(ImportOrderNoPackageExcelDTO::getBrand).collect(Collectors.toSet()); + + List brandEntities = basicdataBrandClient.findListByNames(brands); + + //把brandEntities转化成以brandName为key的Map + Map brandMap = brandEntities.stream().collect(Collectors.toMap(BasicdataBrandEntity::getBrandName, Function.identity())); + + Map orderCodeCounts = importOrderNoPackageExcelDTOS.stream() .collect(Collectors.groupingBy(a->(a.getOrderCode()+"&"+a.getFirsts()), Collectors.counting())); @@ -2322,7 +2350,12 @@ public class OpenOrderServiceImpl implements IOpenOrderService { advanceEntity.setServiceNum(importOrderNoPackageExcelDTO.getServiceNum()); advanceEntity.setOrderCode(orderCode); 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.setPackName(importOrderNoPackageExcelDTO.getFirsts()); advanceEntity.setDealerCode(importOrderNoPackageExcelDTO.getDealerCode()); @@ -2464,6 +2497,13 @@ public class OpenOrderServiceImpl implements IOpenOrderService { List importOrderNoPackageExcelDTOS = EasyExcel.read(inputStream).head(ImportOrderNoPackageExcelDTO.class).sheet(0).headRowNumber(2).doReadSync(); + //把importOrderNoPackageExcelDTOS中所有brand放入一个Set + Set brands = importOrderNoPackageExcelDTOS.parallelStream().map(ImportOrderNoPackageExcelDTO::getBrand).collect(Collectors.toSet()); + List brandEntities = basicdataBrandClient.findListByNames(brands); + //把brandEntities转化成brandName为Key的Map + Map brandEntityMap = brandEntities.stream().collect(Collectors.toMap(BasicdataBrandEntity::getBrandName, Function.identity())); + + //把importOrderNoPackageExcelDTOS中的orderCode存入一个set集合 // Set orderCodes = importOrderNoPackageExcelDTOS.parallelStream().map(ImportOrderNoPackageExcelDTO::getOrderCode).collect(Collectors.toSet()); // @@ -2562,7 +2602,18 @@ public class OpenOrderServiceImpl implements IOpenOrderService { advanceEntity.setServiceNum(importOrderNoPackageExcelDTO.getServiceNum()); advanceEntity.setOrderCode(orderCode); 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.setPackName(importOrderNoPackageExcelDTO.getFirsts()); advanceEntity.setDealerCode(importOrderNoPackageExcelDTO.getDealerCode()); @@ -3262,6 +3313,15 @@ public class OpenOrderServiceImpl implements IOpenOrderService { return R.data(map); } + @Override + public R createOrderPackage(AdvanceDTO advanceDTO) { + Long advanceId = advanceDTO.getAdvanceId(); + Long warehouseId = advanceDTO.getWarehouseId(); + + + return null; + } + private List verifyData(OpenOrderDTO openOrderDTO, WarehouseWaybillEntity waybillEntity) { log.info("###################verifyData: 验证改单数据"); // StringBuilder stringBuilder = new StringBuilder(); diff --git a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java index 814caa3ae..880c40ae5 100644 --- a/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java +++ b/blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java @@ -3731,6 +3731,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl 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); Integer totalUnloadNum = jsonObject.getInteger("totalUnloadNum"); Integer abnormalUnloadNum = jsonObject.getInteger("abnormalUnloadNum"); @@ -4691,9 +4696,9 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl StringUtil.isNotBlank(carsOrderVO.getMallPerson())).map(TrunklineCarsOrderVO::getMallPerson).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().filter(carsOrderVO-> StringUtil.isNotBlank(carsOrderVO.getMallAddress())).map(TrunklineCarsOrderVO::getMallAddress).distinct().collect(Collectors.joining(","))); trunklineLoadSignOrderEntity.setBelongToWarehouseId(warehouseId); trunklineLoadSignOrderEntity.setBelongToWarehouseName(warehouseName); //把trunklineCarsOrderVOS中所有元素的planNum求和 @@ -5610,6 +5615,9 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl { 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); + + updownTypeClient.downPackageOrDelTray(e.getScanCode(),e.getFromWarehouseId(),"手动批量装车下架解托"); + }); packageTrackLogAsyncService.addBatchPackageTrackLog(addPackageTrackLogList, orderPackageCodes, WorkNodeEnums.INITIAL_WAREHOUSE_LOADING.getCode(), null); @@ -6450,9 +6458,6 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl loadScanOrderList = trunklineCarsOrderService.findLoadScanPackageWithOrder(loadId, warehouseId); @@ -6472,7 +6477,7 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl orderPackageCodes, Integer workNode, Long warehouseId, Map map) { - BasicdataWarehouseEntity warehouseEntity = warehouseClient.getEntityWarehouseId(warehouseId); - if(!Objects.isNull(warehouseEntity)){ - //更新所有包件的当前所在仓 - if(CollUtil.isNotEmpty(orderPackageCodes)){ - List advanceDetailEntities = advanceDetailService.findListByOrderPackageCodeList(orderPackageCodes); - advanceDetailEntities.forEach(advanceDetailEntity -> { - advanceDetailEntity.setNowWarehouseId(warehouseId); - advanceDetailEntity.setNowWarehouseName(warehouseEntity.getName()); - }); - advanceDetailService.updateBatchById(advanceDetailEntities); + if(!workNode.equals(WorkNodeEnums.OPEN_ORDER.getCode())){ + BasicdataWarehouseEntity warehouseEntity = warehouseClient.getEntityWarehouseId(warehouseId); + if(!Objects.isNull(warehouseEntity)){ + //更新所有包件的当前所在仓 + if(CollUtil.isNotEmpty(orderPackageCodes)){ + List advanceDetailEntities = advanceDetailService.findListByOrderPackageCodeList(orderPackageCodes); + advanceDetailEntities.forEach(advanceDetailEntity -> { + advanceDetailEntity.setNowWarehouseId(warehouseId); + advanceDetailEntity.setNowWarehouseName(warehouseEntity.getName()); + }); + advanceDetailService.updateBatchById(advanceDetailEntities); + } } } - Integer packageStatus = null; if(WorkNodeEnums.INITIAL_WAREHOUSE_DEPART.getCode().equals(workNode)){ //始发仓发车 diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/interceptor/LocalServerLoginAccountsInterceptor.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/interceptor/LocalServerLoginAccountsInterceptor.java index 515c3e11d..1e1e46913 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/interceptor/LocalServerLoginAccountsInterceptor.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/config/interceptor/LocalServerLoginAccountsInterceptor.java @@ -44,15 +44,18 @@ public class LocalServerLoginAccountsInterceptor extends HandlerInterceptorAdapt try { CustomHttpServletRequestWrapper wrappedRequest = new CustomHttpServletRequestWrapper(request); 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)){ - 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){ - data =bladeRedis.get(CacheNames.LOCAL_SERVER_USER+account); + data =bladeRedis.get(key); if(Objects.isNull(data)){ - data = mockLoginService.mockToken("627683",account); - bladeRedis.setEx(CacheNames.LOCAL_SERVER_USER+account,data,2591990L); - redisLockClient.unLock("local_server_user", LockType.FAIR); + data = mockLoginService.mockToken(tenantId,account); + bladeRedis.setEx(key,data,2591990L); + redisLockClient.unLock(lockKey, LockType.FAIR); } } } diff --git a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java index 47051787c..9296a1a2c 100644 --- a/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java +++ b/blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWarehousingEntryServiceImpl.java @@ -429,6 +429,8 @@ public class WarehouseWarehousingEntryServiceImpl extends BaseServiceImpl