修改提交

This commit is contained in:
haozq 2026-01-27 18:00:27 +08:00
parent 8a843904e0
commit 37a3c28e66
10 changed files with 153 additions and 15 deletions

View File

@ -92,6 +92,12 @@ public class CarBalanceController {
return ServerResponse.createSuccess(list);
}
/**
* 新增结算发起流程
* @param request
* @param files
* @return
*/
@PostMapping("addBalanceData")
public ServerResponse<String> addBalanceData(HttpServletRequest request, @RequestParam(value = "file[]", required = false) MultipartFile[] files) {
return service.addBalanceData(request, files);

View File

@ -128,6 +128,7 @@ public class DispatchCarController {
return service.getPlanDetails(dto.getData());
}
/**
* 添加 计划
* 添加供应商 分配

View File

@ -43,7 +43,10 @@ public class CarSltApplyDetailsVo {
private String outId;
/**
* 预估金额
*/
private String ygMoney;
}

View File

@ -41,6 +41,23 @@ public class CarSltApplyVo extends ParentVo {
* 派车详情
*/
private List<CarSltApplyDetailsVo> detailsList;
/**
* 预估金额
*/
private String ygMoney;
/**
* 审核状态
*/
private String auditStatus;
/**
* 审核状态
*/
private String auditType;
/**
* 审核意见
*/
private String auditReason;
}

View File

@ -33,8 +33,16 @@ public class CarSltPlanVo {
* 工程id
*/
private String proId;
/**
* 车辆数量
*/
private String carNum;
/**
* 派车id
*/
private String outId;
/**
* 预估金额
*/
private String ygMoney;
}

View File

@ -77,4 +77,10 @@ public interface CarBalanceMapper {
List<String> getOutIdByPlanId(CarBalanceDetailsVo vo);
Integer updatePayCar(CarPlanOutVoDetailsVo vo);
/**
* 添加审核操作记录
* @param carSltAuditVo
*/
void insertCarSltAudit(CarSltAuditVo carSltAuditVo);
}

View File

@ -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;
}
}

View File

@ -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<CarSltPlanVo> planList = data.getPlanList();
//需求计划金额
int succes = mapper.addSltPlanInfo(data, planList);
if (succes == planList.size()) {
List<CarSltApplyDetailsVo> detailsVoList = data.getDetailsList();
@ -131,6 +140,8 @@ public class CarBalanceServiceImpl implements CarBalanceService {
}
}
}
} catch (Exception e) {
log.error(e.toString(), e);
}

View File

@ -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);

View File

@ -6,24 +6,29 @@
<insert id="addBalanceData" useGeneratedKeys="true" keyProperty="id">
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>
<insert id="addSltPlanInfo" >
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
<foreach collection="list" item="item" separator=",">
(#{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})
</foreach>
</insert>
<insert id="addBalanceDetailsData">
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
<foreach collection="list" item="item" separator=",">
(#{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})
</foreach>
</insert>
<insert id="insertCarSltAudit">
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})
</insert>
<update id="updatePayCar">
update car_plan_out_details
set es_cost = #{cost},