Browse Source

1.配载卸车

visual
zhenghaoyu 4 months ago
parent
commit
acab096705
  1. 3
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineCarsLoadClient.java
  2. 7
      blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineCarsLoadScanClient.java
  3. 73
      blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java
  4. 5
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineCarsLoadClient.java
  5. 12
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineCarsLoadScanClient.java
  6. 2
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/ITrunklineCarsLoadService.java
  7. 17
      blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/service/impl/TrunklineCarsLoadServiceImpl.java

3
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineCarsLoadClient.java

@ -18,4 +18,7 @@ public interface ITrunklineCarsLoadClient {
@GetMapping(API_PREFIX+"/findEntityByLoadId")
TrunklineCarsLoadEntity findEntityByLoadId(@RequestParam Long loadId);
@GetMapping(API_PREFIX+"/updateCardLoadNum")
void updateCardLoadNum(@RequestParam Long loadId);
}

7
blade-service-api/logpm-trunkline-api/src/main/java/com/logpm/trunkline/feign/ITrunklineCarsLoadScanClient.java

@ -9,6 +9,8 @@ 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;
@FeignClient(
value = ModuleNameConstant.APPLICATION_TRUNKLINE_NAME
)
@ -31,6 +33,11 @@ public interface ITrunklineCarsLoadScanClient {
@PostMapping(API_PREFIX+"/updateEntity")
void updateEntity(@RequestBody TrunklineCarsLoadScanEntity carsLoadScanEntity);
@GetMapping(API_PREFIX+"/findAllListByLoadId")
List<TrunklineCarsLoadScanEntity> findAllListByLoadId(@RequestParam Long loadId);
@PostMapping(API_PREFIX+"/removeLoadScanByIds")
void removeLoadScanByIds(@RequestBody List<Long> scanloadIdList);
// @PostMapping(API_PREFIX+"/addAdvanceReturnId")

73
blade-service/logpm-patch/src/main/java/com/logpm/patch/jobhandle/SyncOrderInfoToPlatform.java

@ -1,5 +1,6 @@
package com.logpm.patch.jobhandle;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.logpm.basicdata.entity.BasicdataWarehouseEntity;
@ -16,14 +17,8 @@ import com.logpm.patch.service.IOrderSyncRecordService;
import com.logpm.patch.service.ISyncOrderInfoService;
import com.logpm.patch.service.IWarehouseMappingDataService;
import com.logpm.patch.vo.SyncZeroOrderVO;
import com.logpm.trunkline.entity.TrunklineAdvanceDetailEntity;
import com.logpm.trunkline.entity.TrunklineAdvanceEntity;
import com.logpm.trunkline.entity.TrunklineDetailProductEntity;
import com.logpm.trunkline.entity.TrunklineWaybillOrderEntity;
import com.logpm.trunkline.feign.ITrunklineAdvanceClient;
import com.logpm.trunkline.feign.ITrunklineAdvanceDetailClient;
import com.logpm.trunkline.feign.ITrunklineDetailProductClient;
import com.logpm.trunkline.feign.ITrunklineWaybillOrderClient;
import com.logpm.trunkline.entity.*;
import com.logpm.trunkline.feign.*;
import com.logpm.warehouse.entity.WarehouseWaybillEntity;
import com.logpm.warehouse.feign.IWarehouseWaybillClient;
import com.xxl.job.core.biz.model.ReturnT;
@ -69,6 +64,9 @@ public class SyncOrderInfoToPlatform {
private final IInventoryDetailClient inventoryDetailClient;
private final IOrderLocationClient orderLocationClient;
private final ITrunklineCarsLoadClient carsLoadClient;
private final ITrunklineCarsLoadScanClient carsLoadScanClient;
@XxlJob("syncOrderInfo")
public ReturnT<String> syncOrderInfo(String param) {
@ -984,4 +982,63 @@ public class SyncOrderInfoToPlatform {
@XxlJob("dealDubelCarUnloadData")
public ReturnT<String> dealDubelCarUnloadData(String param) {
log.info("############dealDubelCarUnloadData: 处理车次重复卸车数据 开始");
if(StringUtil.isBlank(param)){
log.warn("###########dealDubelCarUnloadData: 车次号为空");
throw new CustomerException(405,"车次号为空");
}
String[] split = param.split(",");
for (int i = 0; i < split.length; i++) {
String carNo = split[i];
log.info("###################dealDubelCarUnloadData: 当前处理的车次号为 carNo={}",carNo);
TrunklineCarsLoadEntity entityByCarsNo = carsLoadClient.findEntityByCarsNo(carNo);
Long loadId = entityByCarsNo.getId();
//查询所有装车明细
List<TrunklineCarsLoadScanEntity> carsLoadScanEntities = carsLoadScanClient.findAllListByLoadId(loadId);
List<Long> scanloadIdList = carsLoadScanEntities.stream().map(TrunklineCarsLoadScanEntity::getId).collect(Collectors.toList());
//把carsLoadScanEntities通过unloadNodeId分组
Map<Long, List<TrunklineCarsLoadScanEntity>> collect = carsLoadScanEntities.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getUnloadNodeId));
collect.keySet().forEach(unloadNodeId -> {
List<TrunklineCarsLoadScanEntity> trunklineCarsLoadScanEntities = collect.get(unloadNodeId);
//把trunklineCarsLoadScanEntities按照scanCode进行分组
Map<String, List<TrunklineCarsLoadScanEntity>> collect1 = trunklineCarsLoadScanEntities.stream().collect(Collectors.groupingBy(TrunklineCarsLoadScanEntity::getScanCode));
collect1.keySet().forEach(scanCode -> {
List<TrunklineCarsLoadScanEntity> list = collect1.get(scanCode);
if(CollUtil.isNotEmpty(list) && list.size() > 1){
for (int j = 0; j < list.size(); j++) {
if(j != 0){
TrunklineCarsLoadScanEntity carsLoadScanEntity = list.get(j);
Long scanEntityId = carsLoadScanEntity.getId();
scanloadIdList.add(scanEntityId);
}
}
}
});
});
carsLoadScanClient.removeLoadScanByIds(scanloadIdList);
carsLoadClient.updateCardLoadNum(loadId);
}
log.info("############dealDubelCarUnloadData: 处理车次重复卸车数据 完成");
return ReturnT.SUCCESS;
}
}

5
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineCarsLoadClient.java

@ -25,4 +25,9 @@ public class TrunklineCarsLoadClient implements ITrunklineCarsLoadClient{
public TrunklineCarsLoadEntity findEntityByLoadId(Long loadId) {
return carsLoadService.getById(loadId);
}
@Override
public void updateCardLoadNum(Long loadId) {
carsLoadService.updateCardLoadNum(loadId);
}
}

12
blade-service/logpm-trunkline/src/main/java/com/logpm/trunkline/feign/TrunklineCarsLoadScanClient.java

@ -9,6 +9,8 @@ import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
@Slf4j
@ApiIgnore()
@RestController
@ -43,4 +45,14 @@ public class TrunklineCarsLoadScanClient implements ITrunklineCarsLoadScanClient
public void updateEntity(TrunklineCarsLoadScanEntity carsLoadScanEntity) {
trunklineCarsLoadScanService.updateById(carsLoadScanEntity);
}
@Override
public List<TrunklineCarsLoadScanEntity> findAllListByLoadId(Long loadId) {
return trunklineCarsLoadScanService.findListByLoadId(loadId);
}
@Override
public void removeLoadScanByIds(List<Long> scanloadIdList) {
trunklineCarsLoadScanService.deleteListByCarsLoadScanIds(scanloadIdList);
}
}

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

@ -246,4 +246,6 @@ public interface ITrunklineCarsLoadService extends BaseService<TrunklineCarsLoad
R findUnloadPhoto(LoadCarsDTO loadCarsDTO);
R findLinePhoto(LoadCarsDTO loadCarsDTO);
void updateCardLoadNum(Long loadId);
}

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

@ -2439,6 +2439,11 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
return R.data(resultList);
}
@Override
public void updateCardLoadNum(Long loadId) {
updateNumByLoadId(loadId);
}
@Transactional(rollbackFor = Exception.class)
@Override
@ -8782,6 +8787,18 @@ public class TrunklineCarsLoadServiceImpl extends BaseServiceImpl<TrunklineCarsL
}
}
QueryWrapper<TrunklineCarsLoadScanEntity> neloadScanQueryWrapper = new QueryWrapper<>();
neloadScanQueryWrapper.eq("load_id", loadId)
.eq("scan_code", orderPackageCode)
.ne("scan_status", "1");
TrunklineCarsLoadScanEntity scanEntity = trunklineCarsLoadScanService.getOne(neloadScanQueryWrapper);
if (!Objects.isNull(scanEntity)) {
log.warn("##############unloadPackage: 包件已卸车 orderPackageCode={} warehouseId={}", orderPackageCode, warehouseId);
return R.fail(405, "包件已卸车");
}
//先判断包件是否在配载计划的装车扫描中
QueryWrapper<TrunklineCarsLoadScanEntity> loadScanQueryWrapper = new QueryWrapper<>();
loadScanQueryWrapper.eq("load_id", loadId)

Loading…
Cancel
Save