提交 8fdada7c authored 作者: liuhaiquan's avatar liuhaiquan

commit

上级 26127d24
......@@ -88,10 +88,16 @@ public class CarrierOrderChildController {
@ApiOperation(value = "全量运单监控预警列表", notes = "<br>By:刘海泉")
@RequestMapping(value = "/getMonitorOrerChildListsByParam", method = RequestMethod.POST)
public Result<PageData<OutputMonitorOrderChildVO>> getMonitorOrerChildListsByParam(@RequestBody PageMonitorOrderChildQCParam param) {
public Result<PageData<OutputMonitorOrderChildVO>> getMonitorOrerChildListsByParam(@RequestBody @Validated PageMonitorOrderChildQCParam param) {
IPage<OutputMonitorOrderChildVO> page = orderChildService.getMonitorOrerChildListsByParam(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
//模拟
@GetMapping("/orderChildExpect")
public void getMonitorOrerChildListsByParam() {
orderChildService.orderChildExpect();
}
}
package com.clx.performance.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.enums.OrderEnum;
......@@ -1466,14 +1467,14 @@ public class OrderChildServiceImpl implements OrderChildService {
monitorOrderChild.setChildNo(child.getChildNo());
monitorOrderChild.setDriverMobile(child.getDriverMobile());
monitorOrderChild.setDriverName(child.getDriverName());
monitorOrderChild.setLoadTime(DateUtils.formatDateTime(child.getLoadTime()).get());
monitorOrderChild.setLoadTime(Objects.nonNull(child.getLoadTime())?DateUtils.formatDateTime(child.getLoadTime()).get():"");
monitorOrderChild.setPayTime(DateUtils.formatDateTime(child.getCreateTime()).get());
monitorOrderChild.setTruckNo(child.getTruckNo());
monitorOrderChild.setSendAddress(child.getSendAddress());
monitorOrderChild.setSendAddressId(child.getSendAddressId());
monitorOrderChild.setStatus(child.getStatus());
monitorOrderChild.setExpectArriveTime(DateUtils.formatDateTime(child.getExpectSendTime()).get());
monitorOrderChild.setExpectReceiveTime(DateUtils.formatDateTime(child.getExpectReceiveTime()).get());
monitorOrderChild.setExpectArriveTime(Objects.nonNull(child.getExpectSendTime())?DateUtils.formatDateTime(child.getExpectSendTime()).get():"");
monitorOrderChild.setExpectReceiveTime(Objects.nonNull(child.getExpectReceiveTime())?DateUtils.formatDateTime(child.getExpectReceiveTime()).get():"");
BigDecimal poundTonnage = child.getLoadNet();
if(BigDecimal.ZERO.compareTo(child.getLoadNet()) <= 0){
poundTonnage = child.getUnloadNet();
......@@ -1504,17 +1505,8 @@ public class OrderChildServiceImpl implements OrderChildService {
}
if(Objects.nonNull(oneExpect.getExpectArriveTime())){
monitorOrderChild.setExpectArriveTimeRealTime(DateUtils.formatDateTime(oneExpect.getExpectArriveTime()).get());
}
if(Objects.nonNull(oneExpect.getExpectReceiveTime())){
monitorOrderChild.setExpectReceiveTimeRealTime(DateUtils.formatDateTime(oneExpect.getExpectReceiveTime()).get());
}
monitorOrderChild.setExpectTransportTime(oneExpect.getExpectTransportTime());
LocalDateTime expectArriveTime = oneExpect.getExpectArriveTime();
monitorOrderChild.setExpectArriveTimeRealTime(DateUtils.formatDateTime(expectArriveTime).get());
LocalDateTime expectArriveWarringTime = expectArriveTime.plusMinutes(arriveWarningTime);
if(expectArriveWarringTime.isBefore(now) && child.getStatus() < OrderChildEnum.Status.ARRIVE_SEND.getCode()){
monitorOrderChild.setArriveWarning(1);
......@@ -1522,7 +1514,10 @@ public class OrderChildServiceImpl implements OrderChildService {
monitorOrderChild.setArriveWarning(0);
}
}
if(Objects.nonNull(oneExpect.getExpectReceiveTime())){
LocalDateTime expectReceiveTime = oneExpect.getExpectReceiveTime();
monitorOrderChild.setExpectReceiveTimeRealTime(DateUtils.formatDateTime(expectReceiveTime).get());
LocalDateTime expectReceiveWarringTime = expectReceiveTime.plusMinutes(receiveWarningTime);
if(expectReceiveWarringTime.isBefore(now)
&& child.getStatus() >= OrderChildEnum.Status.ARRIVE_SEND.getCode()
......@@ -1533,6 +1528,11 @@ public class OrderChildServiceImpl implements OrderChildService {
}
}
if(Objects.nonNull(oneExpect.getExpectTransportTime())){
monitorOrderChild.setExpectTransportTime(oneExpect.getExpectTransportTime());
}
}
if(Objects.nonNull(child.getArriveSendTime())
&& child.getStatus() >= OrderChildEnum.Status.ARRIVE_SEND.getCode()
......@@ -1636,7 +1636,7 @@ public class OrderChildServiceImpl implements OrderChildService {
public void cacheOrderChildExpectData(String orderChildNo, OrderChildExpectDTO expect) {
String orderChildExpectDataKey = getOrderChildExpectDataKey(orderChildNo);
//计算结果20分钟过期。定时每5分钟执行一次。所以在此记录过期前,该运单会生成四条记录。保留最新的两条记录即可,剩下两条不再结果集中记录。
redisTemplate.opsForValue().set(orderChildExpectDataKey, expect, 20, TimeUnit.MINUTES);
redisTemplate.opsForValue().set(orderChildExpectDataKey, JSON.toJSONString(expect), 20, TimeUnit.MINUTES);
if (redisTemplate.hasKey(RedisConstants.ORDER_CHILD_EXPECT_TIME_DATA_KEY_MAP)) {
List<String> keyList = (List<String>) redisTemplate.opsForHash().get(
RedisConstants.ORDER_CHILD_EXPECT_TIME_DATA_KEY_MAP, orderChildNo);
......@@ -1668,9 +1668,9 @@ public class OrderChildServiceImpl implements OrderChildService {
List<OrderChildExpectDTO> list = new ArrayList<>();
if(CollectionUtils.isNotEmpty(keyList)){
keyList.forEach(item->{
OrderChildExpectDTO dto = (OrderChildExpectDTO)redisTemplate.opsForValue().get(item);
if(Objects.nonNull(dto)){
list.add(dto);
String value = (String)redisTemplate.opsForValue().get(item);
if(Objects.nonNull(value)){
list.add(JSON.parseObject(value,OrderChildExpectDTO.class));
}
});
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论