提交 8ebd2f86 authored 作者: 艾庆国's avatar 艾庆国

线路预警

上级 72982036
...@@ -15,6 +15,8 @@ public class LineWarnCommonInfoDTO { ...@@ -15,6 +15,8 @@ public class LineWarnCommonInfoDTO {
String orderGoodsNo; //货单编号 String orderGoodsNo; //货单编号
private int taskCount; //任务数量
private int loadTimeAvg; //平均装车时间(min) private int loadTimeAvg; //平均装车时间(min)
private int unloadTimeAvg; //平均卸车时间(min) private int unloadTimeAvg; //平均卸车时间(min)
......
...@@ -34,7 +34,7 @@ public class LineWarnLoadWarnServiceImpl implements LineWarnLoadWarnService { ...@@ -34,7 +34,7 @@ public class LineWarnLoadWarnServiceImpl implements LineWarnLoadWarnService {
@Override @Override
public void loadWarn(OrderGoods orderGoods, LineWarnCommonInfoDTO lineWarnCommonInfo) { public void loadWarn(OrderGoods orderGoods, LineWarnCommonInfoDTO lineWarnCommonInfo) {
int unloadTimeAvg = 0; int unloadTimeAvg = lineWarnCommonInfo.getUnloadTimeAvg();
Integer arriveReceiveExpectTime = lineWarnCommonInfo.getArriveReceiveExpectTime(); Integer arriveReceiveExpectTime = lineWarnCommonInfo.getArriveReceiveExpectTime();
long totalTime = Duration.between(lineWarnCommonInfo.getPendingOrderTime(), long totalTime = Duration.between(lineWarnCommonInfo.getPendingOrderTime(),
......
...@@ -30,6 +30,10 @@ import java.time.LocalDateTime; ...@@ -30,6 +30,10 @@ import java.time.LocalDateTime;
@Service @Service
public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService { public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService {
// 缺省装卸车时间
private static final int DEFAULT_LOAD_UNLOAD_TIME = 60;
private static final int DEFAULT_LOAD_UNLOAD_DAY = 7;
@Autowired @Autowired
private OrderGoodsDao orderGoodsDao; private OrderGoodsDao orderGoodsDao;
@Autowired @Autowired
...@@ -83,9 +87,18 @@ public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService { ...@@ -83,9 +87,18 @@ public class LineWarnMqHandlerServiceImpl implements LineWarnMqHandlerService {
lineWarnCommonInfo.setPendingOrderTime(lineWarnOrderGoods.getPendingOrderTime()); lineWarnCommonInfo.setPendingOrderTime(lineWarnOrderGoods.getPendingOrderTime());
lineWarnCommonInfo.setArriveReceiveExpectTime(lineWarnOrderGoods.getArriveReceiveExpectTime()); lineWarnCommonInfo.setArriveReceiveExpectTime(lineWarnOrderGoods.getArriveReceiveExpectTime());
Integer time = orderChildDao.loadTimeAvg(orderGoods.getSendAddressId(), orderGoods.getReceiveAddressId(), lineWarnCommonInfo.setTaskCount(orderGoods.getNeedTruckNum());
// 装卸车时间
Integer loadTimeAvg = orderChildDao.loadTimeAvg(orderGoods.getSendAddressId(), orderGoods.getReceiveAddressId(),
orderGoods.getSendSystemAddressId(), orderGoods.getReceiveSystemAddressId(),
LocalDateTimeUtils.formatTime(LocalDateTime.now().minusDays(DEFAULT_LOAD_UNLOAD_DAY)));
Integer unloadTimeAvg = orderChildDao.loadTimeAvg(orderGoods.getSendAddressId(), orderGoods.getReceiveAddressId(),
orderGoods.getSendSystemAddressId(), orderGoods.getReceiveSystemAddressId(), orderGoods.getSendSystemAddressId(), orderGoods.getReceiveSystemAddressId(),
LocalDateTimeUtils.formatTime(LocalDateTime.now().minusDays(7))); LocalDateTimeUtils.formatTime(LocalDateTime.now().minusDays(DEFAULT_LOAD_UNLOAD_DAY)));
lineWarnCommonInfo.setLoadTimeAvg(loadTimeAvg!=null? loadTimeAvg:DEFAULT_LOAD_UNLOAD_TIME);
lineWarnCommonInfo.setUnloadTimeAvg(unloadTimeAvg!=null? unloadTimeAvg:DEFAULT_LOAD_UNLOAD_TIME);
log.info("线路预警, lineWarnCommonInfo:{}", lineWarnCommonInfo);
// 接单预警 // 接单预警
try { try {
......
...@@ -23,7 +23,8 @@ import java.util.Objects; ...@@ -23,7 +23,8 @@ import java.util.Objects;
@Slf4j @Slf4j
@Service @Service
public class LineWarnTakeWarnServiceImpl implements LineWarnTakeWarnService { public class LineWarnTakeWarnServiceImpl implements LineWarnTakeWarnService {
// 默认时间
private static final int DEFAULT_TIME = 60;
@Autowired @Autowired
private LineWarnConfigDao lineWarnConfigDao; private LineWarnConfigDao lineWarnConfigDao;
@Autowired @Autowired
...@@ -34,13 +35,13 @@ public class LineWarnTakeWarnServiceImpl implements LineWarnTakeWarnService { ...@@ -34,13 +35,13 @@ public class LineWarnTakeWarnServiceImpl implements LineWarnTakeWarnService {
@Override @Override
public void takeWarn(OrderGoods orderGoods, LineWarnCommonInfoDTO lineWarnCommonInfo) { public void takeWarn(OrderGoods orderGoods, LineWarnCommonInfoDTO lineWarnCommonInfo) {
int loadTimeAvg = 0; int loadTimeAvg = lineWarnCommonInfo.getLoadTimeAvg();
int unloadTimeAvg = 0; int unloadTimeAvg = lineWarnCommonInfo.getUnloadTimeAvg();
Integer arriveReceiveExpectTime = lineWarnCommonInfo.getArriveReceiveExpectTime(); Integer arriveReceiveExpectTime = lineWarnCommonInfo.getArriveReceiveExpectTime();
long totalTime = Duration.between(lineWarnCommonInfo.getPendingOrderTime(), long totalTime = Duration.between(lineWarnCommonInfo.getPendingOrderTime(),
lineWarnCommonInfo.getTransportEndTime()).toMinutes(); lineWarnCommonInfo.getTransportEndTime()).toMinutes();
int needTime = 60+loadTimeAvg+unloadTimeAvg+arriveReceiveExpectTime; int needTime = DEFAULT_TIME+loadTimeAvg+unloadTimeAvg+arriveReceiveExpectTime;
// 接单最长时间 // 接单最长时间
long difTime = totalTime - needTime; long difTime = totalTime - needTime;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论