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

线路预警

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