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

commit

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