代码补正

This commit is contained in:
xiao-fajia 2024-08-27 14:45:51 +08:00
parent e1dcb45e0b
commit 629f85d8fd
3 changed files with 102 additions and 85 deletions

View File

@ -43,9 +43,9 @@ public class RescueCarSpendController extends BaseController {
/** /**
* 导出车辆消费管理列表 * 导出车辆消费管理列表
*/ */
@PreAuthorize("@ss.hasPermission('rescue:rescueCarSpend:export')") // @PreAuthorize("@ss.hasPermission('rescue:rescueCarSpend:export')")
// @Log(title = "车辆消费管理", businessType = BusinessType.EXPORT) // @Log(title = "车辆消费管理", businessType = BusinessType.EXPORT)
@PostMapping("/export") @GetMapping("/export")
public void export(HttpServletResponse response, RescueCarSpend rescueCarSpend) { public void export(HttpServletResponse response, RescueCarSpend rescueCarSpend) {
List<RescueCarSpend> list = rescueCarSpendService.list(); List<RescueCarSpend> list = rescueCarSpendService.list();
ExcelUtil<RescueCarSpend> util = new ExcelUtil<RescueCarSpend>(RescueCarSpend.class); ExcelUtil<RescueCarSpend> util = new ExcelUtil<RescueCarSpend>(RescueCarSpend.class);

View File

@ -178,12 +178,8 @@ public class RescueInfoSystem extends BaseController {
break; break;
} }
} }
// 导出 Excel ExcelUtil<RescueInfo> util = new ExcelUtil<RescueInfo>(RescueInfo.class);
Map<Integer, Integer> columnWidthMap = new HashMap<>(); util.exportExcel(response, list, "救援订单数据");
// 第一列的索引是0宽度设置为20个字符宽
columnWidthMap.put(9, 20);
columnWidthMap.put(10, 20);
ExcelUtils.write(response, "救援订单.xls", "数据", RescueInfo.class, list, columnWidthMap);
} }
//指派司机 //指派司机
@ -365,13 +361,26 @@ public class RescueInfoSystem extends BaseController {
return CommonResult.success(res); return CommonResult.success(res);
} }
/** TODO 有问题,处理时间太长,还会报错 */
@GetMapping("/exportManagement") @GetMapping("/exportManagement")
public void exportManagement(HttpServletResponse response, RescueInfo rescueInfo) { public void exportManagement(HttpServletResponse response, RescueInfo rescueInfo,
List<MoneyManagement> list = rescueInfoService.moneyManagement(rescueInfo); @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
List<MoneyManagement> result = new ArrayList<>();
while (true){
Page<RescueInfo> page = new Page<>(pageNo, pageSize);
IPage<RescueInfo> rescueInfos = rescueInfoService.getRescueInfoByDriver(rescueInfo, page);
if (ObjectUtil.isEmpty(rescueInfos) || rescueInfos.getRecords().isEmpty()){
break;
}
List<MoneyManagement> list = rescueInfoService.moneyManagement2(rescueInfos.getRecords(), rescueInfo.getRescueStart());
result.addAll(list);
pageNo ++;
}
JSONObject jsonObject = rescueInfoService.listData(rescueInfo); JSONObject jsonObject = rescueInfoService.listData(rescueInfo);
ExcelUtil<MoneyManagement> util = new ExcelUtil<MoneyManagement>(MoneyManagement.class); ExcelUtil<MoneyManagement> util = new ExcelUtil<MoneyManagement>(MoneyManagement.class);
String title = "施救总金额:" + jsonObject.getString("allMoney") + "元 出车次数:" + jsonObject.getString("allNum") + "次 提成总金额:" + jsonObject.getString("tcAll") + " 元 燃油费小计:" + jsonObject.getString("refuelMoney") + ""; String title = "施救总金额:" + jsonObject.getString("allMoney") + "元 出车次数:" + jsonObject.getString("allNum") + "次 提成总金额:" + jsonObject.getString("tcAll") + " 元 燃油费小计:" + jsonObject.getString("refuelMoney") + "";
util.exportExcel(response, list, "救援财务报表", title); util.exportExcel(response, result, "救援财务报表", title);
} }
/** /**

View File

@ -946,81 +946,89 @@ public class RescueInfoServiceImpl extends ServiceImpl<RescueInfoMapper, RescueI
return resList; return resList;
} }
/** 有问题 */
@Deprecated
public List<MoneyManagement> moneyManagement(RescueInfo rescueInfo) { public List<MoneyManagement> moneyManagement(RescueInfo rescueInfo) {
// List<RescueInfo> rescueInfos = baseMapper.getRescueInfoByDriver(rescueInfo); List<MoneyManagement> resList = new ArrayList<>();
// List<MoneyManagement> resList = new ArrayList<>(); Double rescueTcBig = 0d;
// Double rescueTcBig = 0d; Double rescueTcMid = 0d;
// Double rescueTcMid = 0d; Double rescueTcSmall = 0d;
// Double rescueTcSmall = 0d; RescueConfig rescueConfig = rescueConfigService.selectRescueConfigByDeptId();
// RescueConfig rescueConfig = rescueConfigService.selectRescueConfigByDeptId(); if (ObjectUtils.isNotEmpty(rescueConfig)) {
// if (ObjectUtils.isNotEmpty(rescueConfig)) { rescueTcBig = Optional.ofNullable(rescueConfig.getRescueTcBig()).orElse(0d);
// rescueTcBig = Optional.ofNullable(rescueConfig.getRescueTcBig()).orElse(0d); rescueTcMid = Optional.ofNullable(rescueConfig.getRescueTcMid()).orElse(0d);
// rescueTcMid = Optional.ofNullable(rescueConfig.getRescueTcMid()).orElse(0d); rescueTcSmall = Optional.ofNullable(rescueConfig.getRescueTcSmall()).orElse(0d);
// rescueTcSmall = Optional.ofNullable(rescueConfig.getRescueTcSmall()).orElse(0d); }
// } Integer pageNo = 1;
// for (RescueInfo info : rescueInfos) { while (true){
// MoneyManagement moneyManagement = new MoneyManagement(); Page<RescueInfo> page = new Page<>(pageNo, 500);
// moneyManagement.setDriverName(info.getDriverName()); IPage<RescueInfo> rescueInfos = baseMapper.getRescueInfoByDriver(rescueInfo, page);
// Double grossWages = 0d; if (ObjectUtil.isEmpty(rescueInfos) && rescueInfos.getRecords().isEmpty()){
// Double tempSetMoney = ObjectUtils.isNotEmpty(info.getSetMoney()) ? Double.valueOf(info.getSetMoney()) / 100d : 0d; break;
// Double tempCheckpointMoney = ObjectUtils.isNotEmpty(info.getCheckpointMoney()) ? info.getCheckpointMoney() : 0d; }
// JSONObject monthRescueRefuelRecord = new JSONObject(); for (RescueInfo info : rescueInfos.getRecords()) {
// monthRescueRefuelRecord.put("refuelMoney", 0); MoneyManagement moneyManagement = new MoneyManagement();
// monthRescueRefuelRecord.put("refuelNum", 0); moneyManagement.setDriverName(info.getDriverName());
// monthRescueRefuelRecord.put("refuelDistance", 0); Double grossWages = 0d;
// try { Double tempSetMoney = ObjectUtils.isNotEmpty(info.getSetMoney()) ? Double.valueOf(info.getSetMoney()) / 100d : 0d;
// LambdaQueryWrapper<RescueCarInfo> queryWrapper = new LambdaQueryWrapper<>(); Double tempCheckpointMoney = ObjectUtils.isNotEmpty(info.getCheckpointMoney()) ? info.getCheckpointMoney() : 0d;
// queryWrapper.eq(RescueCarInfo::getRescueCarNum, info.getDriverCarNum()).last("limit 1"); JSONObject monthRescueRefuelRecord = new JSONObject();
// RescueCarInfo carInfo = carInfoService.getOne(queryWrapper); monthRescueRefuelRecord.put("refuelMoney", 0);
// monthRescueRefuelRecord = refuelRecordService.getMonthRescueRefuelRecord(info.getDriverId(), DateUtil.format(info.getRescueTime(), "yyyy-MM"), carInfo.getId()); monthRescueRefuelRecord.put("refuelNum", 0);
// } catch (Exception ignored) { monthRescueRefuelRecord.put("refuelDistance", 0);
// } try {
// moneyManagement.setLicenseNum(info.getLicenseNum()); LambdaQueryWrapper<RescueCarInfo> queryWrapper = new LambdaQueryWrapper<>();
// moneyManagement.setFeeType(info.getFeeType()); queryWrapper.eq(RescueCarInfo::getRescueCarNum, info.getDriverCarNum()).last("limit 1");
// moneyManagement.setRescueTime(info.getRescueTime()); RescueCarInfo carInfo = carInfoService.getOne(queryWrapper);
// moneyManagement.setDiverCarNum(info.getDriverCarNum()); monthRescueRefuelRecord = refuelRecordService.getMonthRescueRefuelRecord(info.getDriverId(), DateUtil.format(info.getRescueTime(), "yyyy-MM"), carInfo.getId());
// moneyManagement.setSetMoney(tempSetMoney); } catch (Exception ignored) {
// moneyManagement.setCheckpointMoney(info.getCheckpointMoney()); }
// moneyManagement.setUpMoney(tempSetMoney - tempCheckpointMoney); moneyManagement.setLicenseNum(info.getLicenseNum());
// moneyManagement.setEmptyingDistance(info.getEmptyNum()); moneyManagement.setFeeType(info.getFeeType());
// String carType = "3"; moneyManagement.setRescueTime(info.getRescueTime());
// if (StringUtils.isNotEmpty(info.getDriverCarNum())) { moneyManagement.setDiverCarNum(info.getDriverCarNum());
// RescueCarInfo carInfo = carInfoService.selectRescueCarInfoByNum(info.getDriverCarNum()); moneyManagement.setSetMoney(tempSetMoney);
// carType = carInfo.getRescueCarType(); moneyManagement.setCheckpointMoney(info.getCheckpointMoney());
// } moneyManagement.setUpMoney(tempSetMoney - tempCheckpointMoney);
// if (carType.equals("1")) { moneyManagement.setEmptyingDistance(info.getEmptyNum());
// //大车 String carType = "3";
// moneyManagement.setRoyaltyRatio(rescueTcBig); if (StringUtils.isNotEmpty(info.getDriverCarNum())) {
// moneyManagement.setRoyaltyMoney(tempSetMoney * rescueTcBig); RescueCarInfo carInfo = carInfoService.selectRescueCarInfoByNum(info.getDriverCarNum());
// } else if (carType.equals("2")) { carType = carInfo.getRescueCarType();
// //中车 }
// moneyManagement.setRoyaltyRatio(rescueTcMid); if (carType.equals("1")) {
// moneyManagement.setRoyaltyMoney(tempSetMoney * rescueTcMid); //大车
// } else { moneyManagement.setRoyaltyRatio(rescueTcBig);
// //小车 moneyManagement.setRoyaltyMoney(tempSetMoney * rescueTcBig);
// moneyManagement.setRoyaltyRatio(rescueTcSmall); } else if (carType.equals("2")) {
// moneyManagement.setRoyaltyMoney(tempSetMoney * rescueTcSmall); //中车
// } moneyManagement.setRoyaltyRatio(rescueTcMid);
// //获取当前车 当前驾驶员 这个月跑了几次 moneyManagement.setRoyaltyMoney(tempSetMoney * rescueTcMid);
// JSONObject driverInfoObj = baseMapper.getDriverCarNum(info.getDriverId(), info.getDriverCarNum(), rescueInfo.getRescueStart()); } else {
// //计算平均燃油费和平均油耗 //小车
// Double avgFuelConsumption = 0d; moneyManagement.setRoyaltyRatio(rescueTcSmall);
// Double mglYh = 0d; moneyManagement.setRoyaltyMoney(tempSetMoney * rescueTcSmall);
// if (driverInfoObj.getInteger("allNum") != 0) { }
// avgFuelConsumption = monthRescueRefuelRecord.getDouble("refuelMoney") / driverInfoObj.getInteger("allNum"); //获取当前车 当前驾驶员 这个月跑了几次
// mglYh = monthRescueRefuelRecord.getDouble("refuelNum") / driverInfoObj.getDouble("allDistance"); JSONObject driverInfoObj = baseMapper.getDriverCarNum(info.getDriverId(), info.getDriverCarNum(), rescueInfo.getRescueStart());
// } //计算平均燃油费和平均油耗
// moneyManagement.setFuelCost(avgFuelConsumption); Double avgFuelConsumption = 0d;
// moneyManagement.setOilConsumption(mglYh); Double mglYh = 0d;
// Double oilSubsidy = Optional.ofNullable(info.getEmptyNum()).orElse(0d) * mglYh; if (driverInfoObj.getInteger("allNum") != 0) {
// moneyManagement.setOilSubsidy(oilSubsidy); avgFuelConsumption = monthRescueRefuelRecord.getDouble("refuelMoney") / driverInfoObj.getInteger("allNum");
// grossWages = grossWages + moneyManagement.getRoyaltyMoney() + oilSubsidy - avgFuelConsumption; mglYh = monthRescueRefuelRecord.getDouble("refuelNum") / driverInfoObj.getDouble("allDistance");
// moneyManagement.setGrossWages(grossWages); }
// resList.add(moneyManagement); moneyManagement.setFuelCost(avgFuelConsumption);
// } moneyManagement.setOilConsumption(mglYh);
// Double oilSubsidy = Optional.ofNullable(info.getEmptyNum()).orElse(0d) * mglYh;
// return resList; moneyManagement.setOilSubsidy(oilSubsidy);
return null; grossWages = grossWages + moneyManagement.getRoyaltyMoney() + oilSubsidy - avgFuelConsumption;
moneyManagement.setGrossWages(grossWages);
resList.add(moneyManagement);
}
pageNo ++;
}
return resList;
} }
@Override @Override