From d498d9e06974b900e0ff0a4602b91e42aaaf6f35 Mon Sep 17 00:00:00 2001 From: cwchen <1048842385@qq.com> Date: Tue, 21 Jan 2025 09:16:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=8E=A5=E5=8F=A3=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/HomeIndexController.java | 13 ++++ .../entity/HomeDispatchDetailVo.java | 17 ++++- .../backstage/entity/HomePlanDetailVo.java | 2 + .../service/HomeIndexServiceImpl.java | 26 +++---- .../business/backstage/HomeIndexMapper.xml | 68 ++++++++++++++----- 5 files changed, 93 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/bonus/gzcar/business/backstage/controller/HomeIndexController.java b/src/main/java/com/bonus/gzcar/business/backstage/controller/HomeIndexController.java index e330f92..90f9bce 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/controller/HomeIndexController.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/controller/HomeIndexController.java @@ -16,6 +16,7 @@ import com.bonus.gzcar.business.backstage.service.HomeIndexService; import com.bonus.gzcar.manager.annotation.DecryptAndVerify; import com.bonus.gzcar.manager.core.entity.EncryptedReq; import com.bonus.gzcar.manager.webResult.ServerResponse; +import com.bonus.gzcar.manager.webResult.StringUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; @@ -226,6 +227,18 @@ public class HomeIndexController { final int[] num = {1}; list.forEach(vo -> { vo.setSerialNum(num[0]); + if(vo.getTypeName() == 2 && StringUtils.isNotEmpty(vo.getRemark())){ // 吊车 + StringBuilder sb = new StringBuilder(); + String[] remarkArr = vo.getRemark().split("@"); + sb.append(vo.getPlanDay()).append("天").append(" 单价:¥"); + if(Objects.equals(vo.getIsDayOrMonth(),"1")){ + sb.append(vo.getDayPrice()).append("(元/日/台)"); + }else if(Objects.equals(vo.getIsDayOrMonth(),"2")){ + sb.append(vo.getMonthPrice()).append("(元/月/台)"); + } + sb.append("\t\n").append(remarkArr[0]).append("\t\n").append(remarkArr[1]); + vo.setRemark(sb.toString()); + } num[0]++; }); ExportParams exportParams = new ExportParams("派车详情", "派车详情", ExcelType.XSSF); diff --git a/src/main/java/com/bonus/gzcar/business/backstage/entity/HomeDispatchDetailVo.java b/src/main/java/com/bonus/gzcar/business/backstage/entity/HomeDispatchDetailVo.java index 5c80f3d..9c3c01d 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/entity/HomeDispatchDetailVo.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/entity/HomeDispatchDetailVo.java @@ -18,17 +18,19 @@ public class HomeDispatchDetailVo { private int serialNum; /**车辆类型 1.车辆 2.吊车*/ private int typeName; + /**需求计划id*/ + private Long planId; /**名称*/ @Excel(name = "名称", width = 20.0, orderNum = "1") private String name; /**规格*/ - @Excel(name = "规格", width = 20.0, orderNum = "2") + @Excel(name = "规格", width = 10.0, orderNum = "2") private String model; /**单位*/ - @Excel(name = "单位", width = 20.0, orderNum = "3") + @Excel(name = "单位", width = 10.0, orderNum = "3") private String unit; /**说明(根据车辆/吊车自动生成)*/ - @Excel(name = "说明", width = 20.0, orderNum = "4") + @Excel(name = "说明", width = 50.0, orderNum = "4") private String remark; /**金额*/ @Excel(name = "金额", width = 20.0, orderNum = "5") @@ -49,4 +51,13 @@ public class HomeDispatchDetailVo { @Excel(name = "派车日期", width = 20.0, orderNum = "10") private String dispatchDay; + /**是否月租 1.日结 2.月租*/ + private String isDayOrMonth; + /**日租单价*/ + private double dayPrice; + /**月租单价*/ + private double monthPrice; + /**使用天数*/ + private int planDay; + } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/entity/HomePlanDetailVo.java b/src/main/java/com/bonus/gzcar/business/backstage/entity/HomePlanDetailVo.java index 367041b..99107ed 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/entity/HomePlanDetailVo.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/entity/HomePlanDetailVo.java @@ -47,4 +47,6 @@ public class HomePlanDetailVo { /**所属分公司*/ @Excel(name = "所属分公司", width = 20.0, orderNum = "9") private String companyName; + /**派车数量*/ + private int dispatchNum; } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexServiceImpl.java b/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexServiceImpl.java index e913e55..46128fe 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexServiceImpl.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/HomeIndexServiceImpl.java @@ -65,9 +65,9 @@ public class HomeIndexServiceImpl implements HomeIndexService { if (CollectionUtils.isNotEmpty(carNumList)) { int carNum = 0, noDispatchCarNum = 0; for (Map map : carNumList) { - Integer needNum = map.get("needNum"); - Integer dispatchNum = map.get("dispatchNum"); - carNum += needNum; + int needNum = Integer.parseInt(String.valueOf(map.get("needNum"))); + int dispatchNum = Integer.parseInt(String.valueOf(map.get("dispatchNum"))); + carNum += dispatchNum; noDispatchCarNum += (needNum - dispatchNum); } dataList.add(0, carNum); @@ -85,9 +85,9 @@ public class HomeIndexServiceImpl implements HomeIndexService { if (CollectionUtils.isNotEmpty(carNumList)) { int craneNum = 0, noDispatchCraneNum = 0; for (Map map : carNumList) { - Integer needNum = map.get("needNum"); - Integer dispatchNum = map.get("dispatchNum"); - craneNum += needNum; + int needNum = Integer.parseInt(String.valueOf(map.get("needNum"))); + int dispatchNum = Integer.parseInt(String.valueOf(map.get("dispatchNum"))); + craneNum += dispatchNum; noDispatchCraneNum += (needNum - dispatchNum); } dataList.add(0, craneNum); @@ -104,9 +104,10 @@ public class HomeIndexServiceImpl implements HomeIndexService { IndexVo indexVo = mapper.getPayMoney(dto); if(StringHelper.isEmpty(indexVo.getMoney())){ indexVo.setMoney("0"); + indexVo.setNum("0"); } - dataList.add(0, indexVo != null ? Double.parseDouble(indexVo.getMoney()) : 0); - dataList.add(1, indexVo != null ? Integer.parseInt(indexVo.getNum()) : 0); + dataList.add(0, Double.parseDouble(indexVo.getMoney())); + dataList.add(1, Integer.parseInt(indexVo.getNum())); return dataList; }); Future> future6 = testTaskExecutor.submit(() -> { @@ -114,10 +115,11 @@ public class HomeIndexServiceImpl implements HomeIndexService { IndexVo indexVo = mapper.getNoPayMoney(dto); if(StringHelper.isEmpty(indexVo.getMoney())){ indexVo.setMoney("0"); + indexVo.setNum("0"); } List dataList = new ArrayList<>(2); - dataList.add(0, indexVo != null ? Double.parseDouble(indexVo.getMoney()) : 0); - dataList.add(1, indexVo != null ? Integer.parseInt(indexVo.getNum()) : 0); + dataList.add(0, Double.parseDouble(indexVo.getMoney())); + dataList.add(1, Integer.parseInt(indexVo.getNum())); return dataList; }); fList = future.get(); @@ -413,7 +415,6 @@ public class HomeIndexServiceImpl implements HomeIndexService { } needNum += viewVo.getNeedNum(); dispatchNum += viewVo.getDispatchNum(); - // 金额待计算 } vo.setPlanNum(list.size()); vo.setCarNum(carNum); @@ -438,10 +439,11 @@ public class HomeIndexServiceImpl implements HomeIndexService { for (HomePlanDetailVo vo : list) { if (vo.getTypeName() == 1) { vo.setCraneNum(0); + vo.setCarNum(vo.getDispatchNum()); } else { vo.setCarNum(0); + vo.setCraneNum(vo.getDispatchNum()); } - // 金额待计算 } } catch (Exception e) { log.error(e.toString(), e); diff --git a/src/main/resources/mappers/business/backstage/HomeIndexMapper.xml b/src/main/resources/mappers/business/backstage/HomeIndexMapper.xml index e62ce86..b60805d 100644 --- a/src/main/resources/mappers/business/backstage/HomeIndexMapper.xml +++ b/src/main/resources/mappers/business/backstage/HomeIndexMapper.xml @@ -47,8 +47,15 @@ @@ -248,9 +269,16 @@ resultType="com.bonus.gzcar.business.backstage.entity.HomeProPlanDataViewVo"> SELECT cpa.id AS planId, cpa.type, - cpa.dispatch_num AS dispatchNum, + IFNULL(a.dispatchNum,0) AS dispatchNum, cpa.need_num AS needNum FROM car_plan_apply cpa + LEFT JOIN ( + SELECT cpo.apply_id AS apply_id, + SUM(ANY_VALUE(cpo.dispatch_num)) AS dispatchNum + FROM car_plan_out cpo + WHERE cpo.status = '1' + GROUP BY cpo.apply_id + ) a ON cpa.id = a.apply_id AND cpa.pro_id = #{proId} AND cpa.`status` = '2' AND cpa.status_type = '1' @@ -272,7 +300,9 @@ cpod.es_cost money, cpod.car_out_id carOutId,cmti.model,cmti.type,cmti.name,cpod.car_num carNum,csi.ton, day_or_m isDayOrMonth,cpod.remark,cpd.need_day needDay, cpa.code planCode,cpa.pro_id proId, - if(csp.id is null,'未支付','已支付') payStatus + if(csp.id is null,'待付款','已付款') payStatus, + cpa.id AS planId, + cpa.type AS typeName from car_plan_out_details cpod LEFT JOIN car_plan_out cpo on cpod.out_id=cpo.id left join car_plan_details cpd on cpd.apply_id=cpod.apply_id and cpd.model_id=cpod.model_id @@ -302,7 +332,9 @@ and pro.`name` like concat('%',#{proName},'%') - + + AND (IF(csp.id is null,'2','1') = #{payStatus}) +