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

线路预警

上级 cf807db2
...@@ -41,12 +41,6 @@ public class LineWarnInfoController { ...@@ -41,12 +41,6 @@ public class LineWarnInfoController {
return Result.ok(); return Result.ok();
} }
// @ApiOperation(value = "获取轨迹",notes = "<br>By:艾庆国")
// @GetMapping("/getTrace")
// public Result<VehicleTraceVO> getTrace(@NotNull(message = "id不能为空") @Validated Integer id) {
// return Result.ok(lineWarnInfoService.getTrace(id));
// }
@ApiOperation(value = "获取预警信息",notes = "<br>By:艾庆国") @ApiOperation(value = "获取预警信息",notes = "<br>By:艾庆国")
@GetMapping("/getInfo") @GetMapping("/getInfo")
public Result<LineWarnInfoVO> getInfo(@NotNull(message = "id不能为空") @Validated Integer id) { public Result<LineWarnInfoVO> getInfo(@NotNull(message = "id不能为空") @Validated Integer id) {
......
...@@ -2,6 +2,7 @@ package com.clx.performance.dao; ...@@ -2,6 +2,7 @@ package com.clx.performance.dao;
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.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO;
import com.clx.performance.mapper.OrderChildMapper; import com.clx.performance.mapper.OrderChildMapper;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.PageOrderChildOfDriverParam; import com.clx.performance.param.app.PageOrderChildOfDriverParam;
...@@ -180,4 +181,11 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int ...@@ -180,4 +181,11 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
BigDecimal sumLoadWeightByOrderGoodsNo(String orderGoodsNo); BigDecimal sumLoadWeightByOrderGoodsNo(String orderGoodsNo);
BigDecimal sumUnloadWeightByOrderGoodsNo(String orderGoodsNo); BigDecimal sumUnloadWeightByOrderGoodsNo(String orderGoodsNo);
List<LineWarnOrderChildStatisticsDTO>sumTakeNumByOrderGoodsNoList(List<String> orderGoodsNoList);
List<LineWarnOrderChildStatisticsDTO>sumArriveSendNumByOrderGoodsNoList(List<String> orderGoodsNoList);
List<LineWarnOrderChildStatisticsDTO>sumLoadNumByOrderGoodsNoList(List<String> orderGoodsNoList);
List<LineWarnOrderChildStatisticsDTO>sumArriveRecieveNumByOrderGoodsNoList(List<String> orderGoodsNoList);
List<LineWarnOrderChildStatisticsDTO>sumUnloadNumByOrderGoodsNoList(List<String> orderGoodsNoList);
} }
...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.performance.dao.OrderChildDao; import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO;
import com.clx.performance.enums.OrderChildEnum; import com.clx.performance.enums.OrderChildEnum;
import com.clx.performance.mapper.OrderChildMapper; import com.clx.performance.mapper.OrderChildMapper;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
...@@ -24,6 +25,7 @@ import org.springframework.stereotype.Repository; ...@@ -24,6 +25,7 @@ import org.springframework.stereotype.Repository;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -576,4 +578,29 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild, ...@@ -576,4 +578,29 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
public BigDecimal sumUnloadWeightByOrderGoodsNo(String orderGoodsNo) { public BigDecimal sumUnloadWeightByOrderGoodsNo(String orderGoodsNo) {
return baseMapper.sumUnloadWeightByOrderGoodsNo(orderGoodsNo); return baseMapper.sumUnloadWeightByOrderGoodsNo(orderGoodsNo);
} }
@Override
public List<LineWarnOrderChildStatisticsDTO> sumTakeNumByOrderGoodsNoList(List<String> orderGoodsNoList) {
return baseMapper.sumTakeNumByOrderGoodsNoList(orderGoodsNoList);
}
@Override
public List<LineWarnOrderChildStatisticsDTO> sumArriveSendNumByOrderGoodsNoList(List<String> orderGoodsNoList) {
return baseMapper.sumArriveSendNumByOrderGoodsNoList(orderGoodsNoList);
}
@Override
public List<LineWarnOrderChildStatisticsDTO> sumLoadNumByOrderGoodsNoList(List<String> orderGoodsNoList) {
return baseMapper.sumLoadNumByOrderGoodsNoList(orderGoodsNoList);
}
@Override
public List<LineWarnOrderChildStatisticsDTO> sumArriveRecieveNumByOrderGoodsNoList(List<String> orderGoodsNoList) {
return baseMapper.sumArriveRecieveNumByOrderGoodsNoList(orderGoodsNoList);
}
@Override
public List<LineWarnOrderChildStatisticsDTO> sumUnloadNumByOrderGoodsNoList(List<String> orderGoodsNoList) {
return baseMapper.sumUnloadNumByOrderGoodsNoList(orderGoodsNoList);
}
} }
package com.clx.performance.dto.linewarn;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
@NoArgsConstructor
public class LineWarnOrderChildStatisticsDTO {
private String orderGoodsNo; //货单编号
private Integer num; //车数
}
...@@ -3,6 +3,7 @@ package com.clx.performance.mapper; ...@@ -3,6 +3,7 @@ package com.clx.performance.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
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.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.param.app.PageOrderChildOfDriverParam; import com.clx.performance.param.app.PageOrderChildOfDriverParam;
import com.clx.performance.param.app.PageOrderChildOfDriverSearchParam; import com.clx.performance.param.app.PageOrderChildOfDriverSearchParam;
...@@ -120,4 +121,32 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> { ...@@ -120,4 +121,32 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
@Select("select sum(weight) from order_child where order_goods_no=#{orderGoodsNo} and status in(80,90,100)") @Select("select sum(weight) from order_child where order_goods_no=#{orderGoodsNo} and status in(80,90,100)")
BigDecimal sumUnloadWeightByOrderGoodsNo(String orderGoodsNo); BigDecimal sumUnloadWeightByOrderGoodsNo(String orderGoodsNo);
@Select("<script>select order_goods_no, count(*) num from order_child where status in(10,20,30,40,50,60,70,80,90,100) " +
" and order_goods_no in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" group by order_goods_no " +
"</script>")
List<LineWarnOrderChildStatisticsDTO>sumTakeNumByOrderGoodsNoList(List<String> orderGoodsNoList);
@Select("<script>select order_goods_no, count(*) num from order_child where status in(40,50,60,70,80,90,100) " +
" and order_goods_no in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" group by order_goods_no " +
"</script>")
List<LineWarnOrderChildStatisticsDTO>sumArriveSendNumByOrderGoodsNoList(List<String> orderGoodsNoList);
@Select("<script>select order_goods_no, count(*) num from order_child where status in(50,60,70,80,90,100) " +
" and order_goods_no in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" group by order_goods_no " +
"</script>")
List<LineWarnOrderChildStatisticsDTO>sumLoadNumByOrderGoodsNoList(List<String> orderGoodsNoList);
@Select("<script>select order_goods_no, count(*) num from order_child where status in(70,80,90,100) " +
" and order_goods_no in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" group by order_goods_no " +
"</script>")
List<LineWarnOrderChildStatisticsDTO>sumArriveRecieveNumByOrderGoodsNoList(List<String> orderGoodsNoList);
@Select("<script>select order_goods_no, count(*) num from order_child where status in(80,90,100) " +
" and order_goods_no in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> " +
" group by order_goods_no " +
"</script>")
List<LineWarnOrderChildStatisticsDTO>sumUnloadNumByOrderGoodsNoList(List<String> orderGoodsNoList);
} }
\ No newline at end of file
...@@ -2,10 +2,11 @@ package com.clx.performance.service.impl.linewarn; ...@@ -2,10 +2,11 @@ package com.clx.performance.service.impl.linewarn;
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.performance.dao.OrderChildDao;
import com.clx.performance.dao.linewarn.LineWarnInfoDao; import com.clx.performance.dao.linewarn.LineWarnInfoDao;
import com.clx.performance.dao.linewarn.LineWarnLogDao; import com.clx.performance.dao.linewarn.LineWarnLogDao;
import com.clx.performance.dao.linewarn.LineWarnOrderGoodsDao;
import com.clx.performance.dao.linewarn.LineWarnRangeDao; import com.clx.performance.dao.linewarn.LineWarnRangeDao;
import com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO;
import com.clx.performance.enums.ResultEnum; import com.clx.performance.enums.ResultEnum;
import com.clx.performance.enums.linewarn.LineWarnInfoEnum; import com.clx.performance.enums.linewarn.LineWarnInfoEnum;
import com.clx.performance.enums.linewarn.LineWarnLogEnum; import com.clx.performance.enums.linewarn.LineWarnLogEnum;
...@@ -17,7 +18,6 @@ import com.clx.performance.param.pc.linewarn.LineWarnInfoResolveUpdateParam; ...@@ -17,7 +18,6 @@ import com.clx.performance.param.pc.linewarn.LineWarnInfoResolveUpdateParam;
import com.clx.performance.param.pc.linewarn.LineWarnInfoSuspendUpdateParam; import com.clx.performance.param.pc.linewarn.LineWarnInfoSuspendUpdateParam;
import com.clx.performance.param.pc.linewarn.PageLineWarnInfoParam; import com.clx.performance.param.pc.linewarn.PageLineWarnInfoParam;
import com.clx.performance.service.linewarn.LineWarnInfoService; import com.clx.performance.service.linewarn.LineWarnInfoService;
import com.clx.performance.service.trace.TruckTraceService;
import com.clx.performance.struct.linewarn.LineWarnInfoStruct; import com.clx.performance.struct.linewarn.LineWarnInfoStruct;
import com.clx.performance.utils.LocalDateTimeUtils; import com.clx.performance.utils.LocalDateTimeUtils;
import com.clx.performance.vo.pc.linewarn.LineWarnInfoVO; import com.clx.performance.vo.pc.linewarn.LineWarnInfoVO;
...@@ -30,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -30,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Slf4j @Slf4j
...@@ -42,14 +43,12 @@ public class LineWarnInfoServiceImpl implements LineWarnInfoService { ...@@ -42,14 +43,12 @@ public class LineWarnInfoServiceImpl implements LineWarnInfoService {
private LineWarnLogDao lineWarnLogDao; private LineWarnLogDao lineWarnLogDao;
@Autowired @Autowired
private LineWarnRangeDao lineWarnRangeDao; private LineWarnRangeDao lineWarnRangeDao;
@Autowired
private LineWarnOrderGoodsDao lineWarnOrderGoodsDao;
@Autowired @Autowired
private LineWarnInfoStruct lineWarnInfoStruct; private LineWarnInfoStruct lineWarnInfoStruct;
@Autowired @Autowired
private TruckTraceService truckTraceService; private OrderChildDao orderChildDao;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
...@@ -107,46 +106,6 @@ public class LineWarnInfoServiceImpl implements LineWarnInfoService { ...@@ -107,46 +106,6 @@ public class LineWarnInfoServiceImpl implements LineWarnInfoService {
lineWarnLogDao.saveEntity(lineWarnLog); lineWarnLogDao.saveEntity(lineWarnLog);
} }
//
// @Override
// public VehicleTraceVO getTrace(Integer id) {
// VehicleWarnInfo vehicleWarnInfo = vehicleWarnInfoDao.findById(id).orElseThrow(ResultEnum.DATA_NOT_FIND);
// OrderChild orderChild = orderChildDao.getByChildNo(vehicleWarnInfo.getChildNo()).orElseThrow(ResultEnum.DATA_NOT_FIND);
//
// LocalDateTime beginTime = vehicleWarnInfo.getTakeTime();
// LocalDateTime endTime = LocalDateTime.now();
// if (orderChild.getArriveSendTime() != null) {endTime = orderChild.getArriveSendTime();}
// if (orderChild.getLoadTime() != null) {endTime = orderChild.getLoadTime();}
// if (orderChild.getArriveReceiveTime() != null) {endTime = orderChild.getArriveReceiveTime();}
// if (orderChild.getUnloadTime() != null) {endTime = orderChild.getUnloadTime();}
// if (orderChild.getConfirmTime() != null) {endTime = orderChild.getConfirmTime();}
// if (orderChild.getSettleTime() != null) {endTime = orderChild.getSettleTime();}
// if (orderChild.getFinishTime() != null) {endTime = orderChild.getFinishTime();}
// if (endTime.isAfter(beginTime.plusDays(TRUCK_TRACE_DAY_MAX))) {endTime = beginTime.plusDays(TRUCK_TRACE_DAY_MAX);} //最多查询3天
//
// List<DriverTruckTraceVO> truckTraceList = truckTraceService.listTruckTraceByTime(vehicleWarnInfo.getTruckNo(),
// LocalDateTimeUtils.formatTime(beginTime), LocalDateTimeUtils.formatTime(endTime));
// // 接单重车、卸车空车
// for (DriverTruckTraceVO item : truckTraceList) {
// item.setTruckStatus(DriverTruckEnum.TraceTruckStatus.HEAVY.getCode());
// if (orderChild.getCancelTime() != null){
// if (LocalDateTimeUtils.parseTime(item.getGpsTime()).isAfter(orderChild.getCancelTime())){
// item.setTruckStatus(DriverTruckEnum.TraceTruckStatus.EMPTY.getCode());}
// }
// if (orderChild.getUnloadTime() != null){
// if (LocalDateTimeUtils.parseTime(item.getGpsTime()).isAfter(orderChild.getUnloadTime())){
// item.setTruckStatus(DriverTruckEnum.TraceTruckStatus.EMPTY.getCode());}
// }
// }
// List<DriverTraceVO> driverTraceList = truckTraceService.listDriverTraceByTime(vehicleWarnInfo.getDriverUserNo(),
// LocalDateTimeUtils.formatTime(beginTime), LocalDateTimeUtils.formatTime(endTime));
//
// VehicleTraceVO result = new VehicleTraceVO();
// result.setDriverTraceList(truckTraceService.splitDriverTrace(driverTraceList));
// result.setTruckTraceList(truckTraceService.splitTruckTrace(truckTraceList));
//
// return result;
// }
@Override @Override
public LineWarnInfoVO getInfo(Integer id) { public LineWarnInfoVO getInfo(Integer id) {
...@@ -158,8 +117,28 @@ public class LineWarnInfoServiceImpl implements LineWarnInfoService { ...@@ -158,8 +117,28 @@ public class LineWarnInfoServiceImpl implements LineWarnInfoService {
public IPage<LineWarnInfoVO> pageInfo(PageLineWarnInfoParam param) { public IPage<LineWarnInfoVO> pageInfo(PageLineWarnInfoParam param) {
Page<LineWarnInfoVO> page = lineWarnInfoStruct.convertPage(lineWarnInfoDao.pageByParam(param)); Page<LineWarnInfoVO> page = lineWarnInfoStruct.convertPage(lineWarnInfoDao.pageByParam(param));
// 更新车数统计数据
List<String> orderGoodsNoList = page.getRecords().stream().map(item -> item.getOrderGoodsNo()).collect(Collectors.toList()); List<String> orderGoodsNoList = page.getRecords().stream().map(item -> item.getOrderGoodsNo()).collect(Collectors.toList());
if (!orderGoodsNoList.isEmpty()) { if (!orderGoodsNoList.isEmpty()) {
List<LineWarnOrderChildStatisticsDTO> takeList = orderChildDao.sumTakeNumByOrderGoodsNoList(orderGoodsNoList);
List<LineWarnOrderChildStatisticsDTO> sendList = orderChildDao.sumArriveSendNumByOrderGoodsNoList(orderGoodsNoList);
List<LineWarnOrderChildStatisticsDTO> loadList = orderChildDao.sumLoadNumByOrderGoodsNoList(orderGoodsNoList);
List<LineWarnOrderChildStatisticsDTO> receiveList = orderChildDao.sumArriveRecieveNumByOrderGoodsNoList(orderGoodsNoList);
List<LineWarnOrderChildStatisticsDTO> unloadList = orderChildDao.sumUnloadNumByOrderGoodsNoList(orderGoodsNoList);
Map<String, LineWarnOrderChildStatisticsDTO> takeMap = takeList.stream().collect(Collectors.toMap(item -> item.getOrderGoodsNo(), item -> item));
Map<String, LineWarnOrderChildStatisticsDTO> sendMap = sendList.stream().collect(Collectors.toMap(item -> item.getOrderGoodsNo(), item -> item));
Map<String, LineWarnOrderChildStatisticsDTO> loadMap = loadList.stream().collect(Collectors.toMap(item -> item.getOrderGoodsNo(), item -> item));
Map<String, LineWarnOrderChildStatisticsDTO> receiveMap = receiveList.stream().collect(Collectors.toMap(item -> item.getOrderGoodsNo(), item -> item));
Map<String, LineWarnOrderChildStatisticsDTO> unloadMap = unloadList.stream().collect(Collectors.toMap(item -> item.getOrderGoodsNo(), item -> item));
for (LineWarnInfoVO item : page.getRecords()) {
item.setTakeNum(takeMap.get(item.getOrderGoodsNo()).getNum());
item.setArriveSendNum(sendMap.get(item.getOrderGoodsNo()).getNum());
item.setLoadNum(loadMap.get(item.getOrderGoodsNo()).getNum());
item.setArriveReceiveNum(receiveMap.get(item.getOrderGoodsNo()).getNum());
item.setUnloadNum(unloadMap.get(item.getOrderGoodsNo()).getNum());
}
} }
return page; return page;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论