From 37a3c28e663cda5d3d88f0a2bd181608466f6521 Mon Sep 17 00:00:00 2001 From: haozq <1611483981@qq.com> Date: Tue, 27 Jan 2026 18:00:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/CarBalanceController.java | 6 ++ .../controller/DispatchCarController.java | 1 + .../entity/CarSltApplyDetailsVo.java | 5 +- .../backstage/entity/CarSltApplyVo.java | 17 +++++ .../backstage/entity/CarSltPlanVo.java | 12 +++- .../backstage/mapper/CarBalanceMapper.java | 6 ++ .../backstage/mapper/CarSltAuditVo.java | 63 +++++++++++++++++++ .../service/CarBalanceServiceImpl.java | 11 ++++ .../service/SupDispatchCarServiceImpl.java | 30 +++++++-- .../business/backstage/CarBalanceMapper.xml | 17 +++-- 10 files changed, 153 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/bonus/gzcar/business/backstage/mapper/CarSltAuditVo.java diff --git a/src/main/java/com/bonus/gzcar/business/backstage/controller/CarBalanceController.java b/src/main/java/com/bonus/gzcar/business/backstage/controller/CarBalanceController.java index 1daaf29..4652554 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/controller/CarBalanceController.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/controller/CarBalanceController.java @@ -92,6 +92,12 @@ public class CarBalanceController { return ServerResponse.createSuccess(list); } + /** + * 新增结算发起流程 + * @param request + * @param files + * @return + */ @PostMapping("addBalanceData") public ServerResponse addBalanceData(HttpServletRequest request, @RequestParam(value = "file[]", required = false) MultipartFile[] files) { return service.addBalanceData(request, files); diff --git a/src/main/java/com/bonus/gzcar/business/backstage/controller/DispatchCarController.java b/src/main/java/com/bonus/gzcar/business/backstage/controller/DispatchCarController.java index 34c1cd0..477e79f 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/controller/DispatchCarController.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/controller/DispatchCarController.java @@ -128,6 +128,7 @@ public class DispatchCarController { return service.getPlanDetails(dto.getData()); } + /** * 添加 计划 * 添加供应商 分配 diff --git a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarSltApplyDetailsVo.java b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarSltApplyDetailsVo.java index 79f4775..273bc8f 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarSltApplyDetailsVo.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarSltApplyDetailsVo.java @@ -43,7 +43,10 @@ public class CarSltApplyDetailsVo { private String outId; - + /** + * 预估金额 + */ + private String ygMoney; } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarSltApplyVo.java b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarSltApplyVo.java index cb463bf..c65edc8 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarSltApplyVo.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarSltApplyVo.java @@ -41,6 +41,23 @@ public class CarSltApplyVo extends ParentVo { * 派车详情 */ private List detailsList; + /** + * 预估金额 + */ + private String ygMoney; + /** + * 审核状态 + */ + private String auditStatus; + /** + * 审核状态 + */ + private String auditType; + /** + * 审核意见 + */ + private String auditReason; + } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarSltPlanVo.java b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarSltPlanVo.java index c78cbba..0989c30 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/entity/CarSltPlanVo.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/entity/CarSltPlanVo.java @@ -33,8 +33,16 @@ public class CarSltPlanVo { * 工程id */ private String proId; - + /** + * 车辆数量 + */ private String carNum; - + /** + * 派车id + */ private String outId; + /** + * 预估金额 + */ + private String ygMoney; } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/mapper/CarBalanceMapper.java b/src/main/java/com/bonus/gzcar/business/backstage/mapper/CarBalanceMapper.java index 92e3793..bed6ca0 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/mapper/CarBalanceMapper.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/mapper/CarBalanceMapper.java @@ -77,4 +77,10 @@ public interface CarBalanceMapper { List getOutIdByPlanId(CarBalanceDetailsVo vo); Integer updatePayCar(CarPlanOutVoDetailsVo vo); + + /** + * 添加审核操作记录 + * @param carSltAuditVo + */ + void insertCarSltAudit(CarSltAuditVo carSltAuditVo); } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/mapper/CarSltAuditVo.java b/src/main/java/com/bonus/gzcar/business/backstage/mapper/CarSltAuditVo.java new file mode 100644 index 0000000..acbf3e3 --- /dev/null +++ b/src/main/java/com/bonus/gzcar/business/backstage/mapper/CarSltAuditVo.java @@ -0,0 +1,63 @@ +package com.bonus.gzcar.business.backstage.mapper; + +import lombok.Data; + +/** + * 结算审核记录 实体类 + */ +@Data +public class CarSltAuditVo { + /** + * 结算id + */ + private String sltId; + /** + * 主键 + */ + private String id; + /** + * 审核节点 + */ + private String auditType; + /** + * 审核时间 + */ + private String auditTime; + /** + * 审核人 + */ + private String auditUser; + /** + * 审核状态 + */ + private String auditStatus; + /** + * 审核意见 + */ + private String auditReason; + /** + * 备注 + */ + private String remark; + + public CarSltAuditVo() { + } + + /** + * + * @param sltId 结算单id + * @param auditType 类型 + * @param auditTime 时间 + * @param auditUser 人员 + * @param auditStatus 状态 + */ + public CarSltAuditVo(String sltId, String auditType, String auditTime, String auditUser, String auditStatus,String auditReason,String remark) { + this.sltId = sltId; + this.auditType = auditType; + this.auditTime = auditTime; + this.auditUser = auditUser; + this.auditStatus = auditStatus; + this.auditReason = auditReason; + this.remark = remark; + } +} diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/CarBalanceServiceImpl.java b/src/main/java/com/bonus/gzcar/business/backstage/service/CarBalanceServiceImpl.java index 602f7cb..8ca74c9 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/CarBalanceServiceImpl.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/CarBalanceServiceImpl.java @@ -4,11 +4,13 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.bonus.gzcar.business.backstage.entity.*; import com.bonus.gzcar.business.backstage.mapper.CarBalanceMapper; +import com.bonus.gzcar.business.backstage.mapper.CarSltAuditVo; import com.bonus.gzcar.business.backstage.mapper.SupDispatchCarMapper; import com.bonus.gzcar.business.system.entity.FileUploadVo; import com.bonus.gzcar.business.system.service.AuditRecordService; import com.bonus.gzcar.business.system.service.FileUploadService; import com.bonus.gzcar.business.utils.ListHelpUtil; +import com.bonus.gzcar.manager.common.util.DateTimeHelper; import com.bonus.gzcar.manager.common.util.StringHelper; import com.bonus.gzcar.manager.common.util.UserUtil; import com.bonus.gzcar.manager.webResult.ServerResponse; @@ -118,10 +120,17 @@ public class CarBalanceServiceImpl implements CarBalanceService { if (files == null || files.length < 1) { return ServerResponse.createErroe("请上传结算附件!"); } + //待审核 + data.setAuditStatus("1"); + //待下个节点审核 + data.setAuditType("1"); int num = mapper.addBalanceData(data); if (num > 0) { + CarSltAuditVo carSltAuditVo = new CarSltAuditVo(data.getId(),"0", DateTimeHelper.getNowTime(),userId,"0","发起结算申请","发起结算申请"); + mapper.insertCarSltAudit(carSltAuditVo); uploadService.uploadImage(files, data.getId(), "car_slt_apply", "结算附件"); List planList = data.getPlanList(); + //需求计划金额 int succes = mapper.addSltPlanInfo(data, planList); if (succes == planList.size()) { List detailsVoList = data.getDetailsList(); @@ -131,6 +140,8 @@ public class CarBalanceServiceImpl implements CarBalanceService { } } } + + } catch (Exception e) { log.error(e.toString(), e); } diff --git a/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarServiceImpl.java b/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarServiceImpl.java index cb074ef..4a28572 100644 --- a/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarServiceImpl.java +++ b/src/main/java/com/bonus/gzcar/business/backstage/service/SupDispatchCarServiceImpl.java @@ -509,7 +509,7 @@ public class SupDispatchCarServiceImpl implements SupDispatchCarService { vo.setDcUnit("元/月/台"); vo.setIsDayOrMonth("2"); BigDecimal monthPrice = new BigDecimal(priceVo.getMonthPrice()); - if (day > 30) { + if (day > 60) { vo.setDcPrice(monthPrice.divide(month, RoundingMode.CEILING).toString()); dcMoney = monthPrice.divide(month, RoundingMode.CEILING).multiply(days); vo.setDcMoney(dcMoney.toString()); @@ -517,11 +517,29 @@ public class SupDispatchCarServiceImpl implements SupDispatchCarService { cost = cost.add(dcMoney); vo.setCost(cost.toString()); } else { - vo.setDcPrice(priceVo.getMonthPrice()); - vo.setDcMoney(priceVo.getMonthPrice()); - allMoney = allMoney.add(monthPrice); - cost = cost.add(monthPrice); - vo.setCost(cost.toString()); + if(day>30){ + BigDecimal dayMoney=monthPrice.divide(month, RoundingMode.CEILING); + //超过三十天的 但是比60天少的 + sb.append("、超过三十天的单价:(").append(dayMoney).append("元/天/台)"); + int lastDay=day-30; + BigDecimal lastDays = new BigDecimal(lastDay); + //剩余的金额 + BigDecimal daysMoney= monthPrice.divide(month, RoundingMode.CEILING).multiply(lastDays); + vo.setDcPrice(priceVo.getMonthPrice()); + vo.setDcMoney(priceVo.getMonthPrice()); + allMoney = allMoney.add(monthPrice); + allMoney =allMoney.add(daysMoney); + //分别蒋金额计算 + cost=cost.add(monthPrice); + cost= cost.add(daysMoney); + vo.setCost(cost.toString()); + }else{ + vo.setDcPrice(priceVo.getMonthPrice()); + vo.setDcMoney(priceVo.getMonthPrice()); + allMoney = allMoney.add(monthPrice); + cost = cost.add(monthPrice); + vo.setCost(cost.toString()); + } } } else { sb.append("、作业天数<").append(dayToMonth); diff --git a/src/main/resources/mappers/business/backstage/CarBalanceMapper.xml b/src/main/resources/mappers/business/backstage/CarBalanceMapper.xml index 2b3d471..f29a5be 100644 --- a/src/main/resources/mappers/business/backstage/CarBalanceMapper.xml +++ b/src/main/resources/mappers/business/backstage/CarBalanceMapper.xml @@ -6,24 +6,29 @@ insert into car_slt_apply( fk_time, sup_id, remark, creator, create_time, - updater, update_time, money - )values (#{fkTime},#{supId},#{remark},#{creator},now(),#{updater},now(),#{money}) + updater, update_time, money,audit_status,audit_type,yg_money + )values (#{fkTime},#{supId},#{remark},#{creator},now(),#{updater},now(),#{money},#{auditStatus},#{auditType},#{ygMoney}) insert into car_slt_plan - ( slt_id, plan_id, sup_id, money, car_num, type, pro_id )values + ( slt_id, plan_id, sup_id, money, car_num, type, pro_id ,yg_money)values - (#{param.id},#{item.planId},#{item.supId},#{item.money},#{item.carNum},#{item.type},#{item.proId}) + (#{param.id},#{item.planId},#{item.supId},#{item.money},#{item.carNum},#{item.type},#{item.proId},#{item.ygMoney}) insert into car_slt_details - ( slt_id, plan_id, sup_id, out_id, money, type, pro_id )values + ( slt_id, plan_id, sup_id, out_id, money, type, pro_id,yg_money )values - (#{param.id},#{item.planId},#{item.supId},#{item.outId},#{item.money},#{item.type},#{item.proId}) + (#{param.id},#{item.planId},#{item.supId},#{item.outId},#{item.money},#{item.type},#{item.proId},#{item.ygMoney}) + + insert into car_slt_audit_record( + audit_time,audit_status, audit_user, slt_id, audit_type, create_time, remak, audit_reason + )values (#{auditTime},#{auditStatus},#{auditUser},#{sltId},#{auditType},now(),#{remark},#{auditReason}) + update car_plan_out_details set es_cost = #{cost},