1.controller
@ApiOperation(value = "首页信息查询(运输任务占比、到货及时率、承运商运费占比及总额)")
@PostMapping(value = "/selectBoard")
public ResponseData<TransBoardDto> selectBoard(@RequestBody TransBoardParam transBoardParam) {
return ResponseData.success(transBoardService.selectBoard(transBoardParam));}
2.service
public interface ITransBoardService {
TransBoardDto selectBoard(TransBoardParam transBoardParam);
}
3.impl
@Service("transBoardService")
public class TransBoardServiceImpl implements ITransBoardService {
@Override
public TransBoardDto selectBoard(TransBoardParam transBoardParam) {
TransBoardDto result = new TransBoardDto();
//selectTransCount方法见上篇
TransCountDto transCountDto = this.selectTransCount(transBoardParam);//
result.setTransTaskCount(transCountDto.getTransTaskCount());
result.setUnDispatchCount(transCountDto.getUnDispatchCount()); // 未派车
result.setUndeliveredCount(transCountDto.getUndeliveredCount()); // 派车未发运
result.setTransportingCount(transCountDto.getTransportingCount()); // 运输中
result.setCompletedCount(transCountDto.getCompletedCount()); // 已完成
/* 计算运输任务的占比 */
double unDeliveryPercent = transCountDto.getUnDispatchCount() + transCountDto.getUndeliveredCount();
// 数组
ArrayList<Double> arr = new ArrayList<>();
arr.add(unDeliveryPercent);
arr.add(transCountDto.getTransportingCount());
arr.add(transCountDto.getCompletedCount());
//计算百分比
double[] percentValue = getPercentValue(arr, transCountDto.getTransTaskCount(), 2);
result.setUnDeliveryPercent(percentValue[0] / 100);
result.setTransportingPercent(percentValue[1] / 100);
result.setCompletedPercent(percentValue[2] / 100);
/* 到货及时率 */ // todo 再调整
List<TimelyArrival> timelyArrivals = new
查询近几日的数据占比率及各部分数据的数量
最新推荐文章于 2023-12-02 11:30:00 发布