demand: TMS-运输管理-移除漏组批次订单原界面逻辑
This commit is contained in:
parent
c25bf2c567
commit
2dfad7c2eb
@ -966,46 +966,11 @@ public class EmisCommonController extends EmisBaseController
|
||||
// 这样即使异步任务没有正确清除状态,也会在30分钟后自动过期
|
||||
redissonService.setStr(statusKey, "RUNNING", 1800);
|
||||
|
||||
// 如果lineCode为空,查询所有线路的lineCode,去重后循环调用
|
||||
if (StringUtils.isEmpty(lineCode)) {
|
||||
log.info("lineCode is empty, querying all line codes");
|
||||
emisTmsSiteBatchMissMapper.deleteReally(lineCode);
|
||||
EmisTransLine queryLine = new EmisTransLine();
|
||||
// queryLine.setStatus(1); // 只查询启用的线路
|
||||
List<EmisTransLine> lineList = emisTransLineService.selectEmisTransLineList(queryLine);
|
||||
// 异步执行任务
|
||||
emisTmsSiteBatchMissService.autoScanSiteBatch(lineCode);
|
||||
log.info("autoScanSiteBatch async task started");
|
||||
|
||||
// 提取lineCode并去重
|
||||
Set<String> lineCodeSet = new LinkedHashSet<>();
|
||||
if (!CollectionUtils.isEmpty(lineList)) {
|
||||
for (EmisTransLine line : lineList) {
|
||||
if (StringUtils.isNotEmpty(line.getLineCode())) {
|
||||
lineCodeSet.add(line.getLineCode());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
log.info("Found {} unique line codes, starting batch processing", lineCodeSet.size());
|
||||
|
||||
// 循环调用
|
||||
for (String code : lineCodeSet) {
|
||||
try {
|
||||
emisTmsSiteBatchMissService.autoScanSiteBatch(code);
|
||||
log.info("autoScanSiteBatch processed for lineCode: {}", code);
|
||||
} catch (Exception e) {
|
||||
log.error("autoScanSiteBatch failed for lineCode: {}, error: {}", code, e.getMessage());
|
||||
// 继续处理下一个,不中断整个流程
|
||||
}
|
||||
}
|
||||
|
||||
log.info("autoScanSiteBatch async task started for all line codes");
|
||||
return AjaxResult.success("异步任务已启动,共处理 " + lineCodeSet.size() + " 个线路,请稍后查看执行结果");
|
||||
} else {
|
||||
emisTmsSiteBatchMissMapper.deleteReally(lineCode);
|
||||
// 异步执行任务
|
||||
emisTmsSiteBatchMissService.autoScanSiteBatch(lineCode);
|
||||
log.info("autoScanSiteBatch async task started for lineCode: {}", lineCode);
|
||||
return AjaxResult.success("异步任务已启动,请稍后查看执行结果");
|
||||
}
|
||||
return AjaxResult.success("异步任务已启动,请稍后查看执行结果");
|
||||
|
||||
} catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
|
||||
@ -233,7 +233,7 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements
|
||||
}
|
||||
|
||||
// 1) 逻辑删除漏组批次数据
|
||||
emisTmsSiteBatchMissMapper.deleteByBillCodes(billCodes);
|
||||
// emisTmsSiteBatchMissMapper.deleteByBillCodes(billCodes);
|
||||
emisTmsSiteBatchMissMapper.deleteByBillCodesV2(billCodes);
|
||||
|
||||
// 2) 新增运单组批次状态 site_batch_status=1(幂等:insert ignore)
|
||||
@ -275,7 +275,7 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements
|
||||
|
||||
// 3) 调用scanSiteBatchByWaybills重新扫描
|
||||
if (!waybills.isEmpty()) {
|
||||
this.scanSiteBatchByWaybills(waybills);
|
||||
// this.scanSiteBatchByWaybills(waybills);
|
||||
this.scanSiteBatchByWaybillsV2(waybills);
|
||||
}
|
||||
}
|
||||
@ -307,6 +307,7 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements
|
||||
public void autoScanSiteBatch(String lineCode) {
|
||||
ExecutorService executorService = null;
|
||||
try {
|
||||
emisTmsSiteBatchMissMapper.deleteReally(lineCode);
|
||||
long startTime = System.currentTimeMillis();
|
||||
int pageSize = 1000;
|
||||
int offset = 0;
|
||||
@ -321,20 +322,6 @@ public class EmisTmsSiteBatchMissServiceImpl extends EmisBaseService implements
|
||||
List<EmisTransPlanRule> treeRules = this.selectEmisTransPlanRuleTree(lineCode);
|
||||
if (treeRules.isEmpty()) {
|
||||
log.info("No trans plan rules found, skip auto scan");
|
||||
List<EmisWaybill> waybills = emisWaybillMapper.selectWaybillListBySiteBatchStatus(0, 100000,
|
||||
lineCode);
|
||||
if (waybills.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
List<EmisTmsSiteBatchMiss> missRecords = waybills.stream().map(waybill -> {
|
||||
EmisTmsSiteBatchMiss miss = createMissRecord(waybill);
|
||||
miss.setMissReason("当前线路没有创建对应的线路规划");
|
||||
miss.setMissType("1");
|
||||
miss.setLineCode(waybill.getTransLineType());
|
||||
miss.setProductType(waybill.getProductType());
|
||||
return miss;
|
||||
}).collect(Collectors.toList());
|
||||
emisTmsSiteBatchMissMapper.batchInsertEmisTmsSiteBatchMiss(missRecords);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user