diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/AppArrearsCarryDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/AppArrearsCarryDto.java index c3cfc5371d..dd20bffae6 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/AppArrearsCarryDto.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/AppArrearsCarryDto.java @@ -1,9 +1,11 @@ package com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply; +import com.fasterxml.jackson.annotation.JsonProperty; import com.yxt.common.core.dto.Dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.ArrayList; import java.util.List; @@ -11,7 +13,7 @@ import java.util.List; public class AppArrearsCarryDto implements Dto { private static final long serialVersionUID = -1972581222399264301L; - @ApiModelProperty("用户sid") + /* @ApiModelProperty("用户sid") private String userSid; @ApiModelProperty("合同sid") private String contractSid; @@ -42,5 +44,94 @@ public class AppArrearsCarryDto implements Dto { @ApiModelProperty("用户sid") private String taskId; @ApiModelProperty("当前用户部门的全路径") - private String orgSidPath; + private String orgSidPath;*/ + + @ApiModelProperty("欠款提车申请sid") + private String sid; + @ApiModelProperty("合同编号") + private String contractId; + @ApiModelProperty("发起部门-发起人") + private String publishInfo; + @ApiModelProperty("发起日期") + private String createDate; + @ApiModelProperty("发起部门名称") + private String applyDept; + @ApiModelProperty("发起部门sid") + private String applyDeptSid; + @ApiModelProperty("申请人用户sid") + private String applyUserSid; + @ApiModelProperty("申请人名称") + private String applyName; + @ApiModelProperty("销售专员用户sid") + private String staffUserSid; + @ApiModelProperty("销售专员名称") + private String staffName; + @ApiModelProperty("销售专员部门sid") + private String staffDeptSid; + @ApiModelProperty("销售部门") + private String staffDept; + @ApiModelProperty("销售类型") + private String paymentMethod; + private String paymentMethodKey; + @ApiModelProperty("开票单位") + private String openTickName; + @ApiModelProperty("客户名称") + private String customerName; + @ApiModelProperty("客户sid") + private String customerSid; + @ApiModelProperty("车型") + private String modelName; + @ApiModelProperty("车型sid") + private String modelSid; + @ApiModelProperty("配置sid") + private String configSid; + //是否金融部复核 + @ApiModelProperty("是否金融部复核,1是,0否") + private String isFinance; + private String financeUserSid; + private String financeName; + + @ApiModelProperty("实例id") + @JsonProperty("procInsId") + private String procInstId; + @ApiModelProperty("任务id") + private String taskId; + + @ApiModelProperty("选择车辆列表") + private List vinList = new ArrayList<>(); + + @ApiModelProperty("欠款提车挂车列表") + private List trailersList = new ArrayList<>(); + + @ApiModelProperty("车辆买卖合同") + private List carContract = new ArrayList<>(); + @ApiModelProperty("欠款提车担保承诺书") + private List guaranteeLetter = new ArrayList<>(); + @ApiModelProperty("股东会对外担保决议") + private List gdLetter = new ArrayList<>(); + @ApiModelProperty("总经理担保书") + private List zjlLetter = new ArrayList<>(); + + @ApiModelProperty("组织全路径") + private String orgPath; + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("欠款原因key") + private String reasonKey; + @ApiModelProperty("欠款原因value") + private String reasonValue; + @ApiModelProperty("欠款提车原因") + private String reason; + @ApiModelProperty("回款日期") + @NotBlank(message = "承诺回购日期不能为空") + private String commitmentMoneyDate; + @ApiModelProperty("合同总金额") + private String contractMoney; + @ApiModelProperty("平台收款总金额") + private String contractCollectionMoney; + @ApiModelProperty("其他附件") + private List fileList = new ArrayList<>(); + } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/AppArrearsCarryVinDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/AppArrearsCarryVinDto.java index 1a9beb91cd..a41fad6503 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/AppArrearsCarryVinDto.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/AppArrearsCarryVinDto.java @@ -5,6 +5,7 @@ import com.yxt.common.core.dto.Dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.ArrayList; import java.util.List; @@ -100,6 +101,7 @@ public class AppArrearsCarryVinDto implements Dto { @ApiModelProperty("欠款提车原因") private String reason; @ApiModelProperty("回款日期") + @NotBlank(message = "承诺回购日期不能为空") private String commitmentMoneyDate; @ApiModelProperty("合同总金额") private String contractMoney; diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApply.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApply.java index 82ffabb3be..2f3ece97a7 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApply.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApply.java @@ -78,8 +78,6 @@ public class BusArrearsCarryVehicleApply extends BaseEntity { private String reasonKey; @ApiModelProperty("欠款原因value") private String reasonValue; - @ApiModelProperty("累计欠款金额") - private BigDecimal cumulativeArrearsMoney; @ApiModelProperty("分公司sid") private String useOrgSid; @ApiModelProperty("分公司名称") @@ -98,6 +96,10 @@ public class BusArrearsCarryVehicleApply extends BaseEntity { private String taskId; @ApiModelProperty("当前用户部门的全路径") private String orgSidPath; - @ApiModelProperty("单台整体成交价") - private BigDecimal price; + + private String carContractFile; + private String guaranteeLetterFile; + private String gdLetterFile; + private String zjlLetterFile; + private String otherFile; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeign.java index fbc06abd89..bac651ab78 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeign.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeign.java @@ -97,6 +97,11 @@ public interface BusArrearsCarryVehicleApplyFeign { @ResponseBody public ResultBean saveArrearsApply(@Valid @RequestBody AppArrearsCarryDto dto); + @ApiOperation("点击生成附件") + @PostMapping("/saveArrearsApplyPdf") + @ResponseBody + public ResultBean saveArrearsApplyPdf(@Valid @RequestBody AppArrearsCarryDto dto); + @ApiOperation("手机端-删除欠款提车") @DeleteMapping("/deleteArrearsTakeCar") @ResponseBody diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeignFallback.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeignFallback.java index 3ec1aee4e3..263b49b6fd 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeignFallback.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeignFallback.java @@ -92,6 +92,11 @@ public class BusArrearsCarryVehicleApplyFeignFallback implements BusArrearsCarry return null; } + @Override + public ResultBean saveArrearsApplyPdf(AppArrearsCarryDto dto) { + return null; + } + @Override public ResultBean deleteArrearsTakeCar(AppAdvanceArrearsInfoQuery query) { return null; diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/CreatePdfVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/CreatePdfVo.java new file mode 100644 index 0000000000..9db29c25c6 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/CreatePdfVo.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2023/4/27 10:39 + * @Description + */ +@Data +public class CreatePdfVo implements Vo { + private static final long serialVersionUID = -8947887096343100380L; + @ApiModelProperty("车辆是否发生变化") + private boolean isChange; + @ApiModelProperty("回购日期是否发生变化") + private boolean dateChange; + @ApiModelProperty("生成的附件地址") + private List fileList = new ArrayList<>(); + + private String sid; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/DownloadUrlVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/DownloadUrlVo.java new file mode 100644 index 0000000000..b4c5ebf5ae --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/DownloadUrlVo.java @@ -0,0 +1,23 @@ +package com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2023/4/27 15:28 + * @Description + */ +@Data +public class DownloadUrlVo { + + @ApiModelProperty("总经理担保书下载地址") + private String zjlLetterDownloadUrl; + @ApiModelProperty("车辆买卖合同下载地址") + private String carContractDownloadUrl; + @ApiModelProperty("欠款提车担保承诺书下载地址") + private String guaranteeLetterDownloadUrl; + @ApiModelProperty("股东会对外担保决议下载地址") + private String gdLetterDownloadUrl; + private String sid; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetails.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetails.java index 6b3675d5cb..f4d4f25df4 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetails.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetails.java @@ -27,7 +27,7 @@ import java.math.BigDecimal; public class BusArrearsCarryVehicleDetails extends BaseEntity { private static final long serialVersionUID = 1L; - @ApiModelProperty("车辆sid") + /* @ApiModelProperty("车辆sid") private String vehicleSid; @ApiModelProperty("车架号") @@ -37,5 +37,19 @@ public class BusArrearsCarryVehicleDetails extends BaseEntity { private BigDecimal dealMoney; @ApiModelProperty("欠款提车申请表sid") - private String arrearsVehicleSid; + private String arrearsVehicleSid;*/ + + @ApiModelProperty("车辆sid") + private String vinSid; + + @ApiModelProperty("车架号") + private String vinNo; + + @ApiModelProperty("成交价") + private BigDecimal price; + + @ApiModelProperty("欠款提车申请表sid") + private String applySid; + + private BigDecimal subscribedAll; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/buscenterfile/BuscenterFileEnum.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/buscenterfile/BuscenterFileEnum.java index f8acbccb85..99a96b4cca 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/buscenterfile/BuscenterFileEnum.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/buscenterfile/BuscenterFileEnum.java @@ -19,6 +19,10 @@ public enum BuscenterFileEnum { HANDOVER_POLICY("010", "保单照片"), HANDOVER_LICENCE("011", "临时牌照"), HANDOVER_OTHRRDATA("012", "其他资料"), + CARCONTRACT_DOWNLOADURL("013", "新车买卖合同(欠款)"), + GUARANTEELETTER_DOWNLOADURL("014", "欠款提车担保承诺书"), + GDLETTER_DOWNLOADURL("015", "股东会对外担保决议"), + ZJLLETTER_DOWNLOADURL("016", "总经理担保书"), ; diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyMapper.xml index 7f55ddb28d..c3e510a8dc 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyMapper.xml @@ -66,8 +66,7 @@ customerName, arrearsMoney, commitmentMoneyDate, - applyName, - applyDate + applyName FROM bus_arrears_carry_vehicle_apply ${ew.sqlSegment} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyRest.java index d18677b7bf..0a3c51e2e1 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyRest.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyRest.java @@ -2,7 +2,6 @@ package com.yxt.anrui.buscenter.biz.busarrearscarryvehicleapply; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable.AppCompleteAdvanceInvoiceDto; import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.*; import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.flowable.*; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; @@ -13,7 +12,8 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; import java.util.List; @@ -175,6 +175,11 @@ public class BusArrearsCarryVehicleApplyRest implements BusArrearsCarryVehicleAp return busArrearsCarryVehicleApplyService.saveArrearsApply(dto); } + @Override + public ResultBean saveArrearsApplyPdf(AppArrearsCarryDto dto) { + return busArrearsCarryVehicleApplyService.saveArrearsApplyPdf(dto); + } + @Override public ResultBean deleteArrearsTakeCar(AppAdvanceArrearsInfoQuery query) { return busArrearsCarryVehicleApplyService.deleteArrearsTakeCar(query); diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java index dec827ebe5..44523a98df 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java @@ -2,14 +2,16 @@ package com.yxt.anrui.buscenter.biz.busarrearscarryvehicleapply; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yxt.anrui.base.api.basevehicle.BaseVehicle; +import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign; +import com.yxt.anrui.base.api.basetrailer.TrailerVo; +import com.yxt.anrui.base.api.basetrailer.TraliveredVo; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo; -import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateDto; import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateFeign; import com.yxt.anrui.base.api.commonappendix.CommonAppendixDto; import com.yxt.anrui.base.api.commonappendix.CommonAppendixFeign; @@ -23,12 +25,15 @@ import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.flowable.GetNodeV import com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetails; import com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetailsDto; import com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetailsVo; +import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFile; +import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFileEnum; import com.yxt.anrui.buscenter.api.busdelivered.AddRetrievalApplyDto; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderModelInfoVo; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderPriceInfoVo; import com.yxt.anrui.buscenter.biz.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetailsService; +import com.yxt.anrui.buscenter.biz.buscenterfile.BuscenterFileService; import com.yxt.anrui.buscenter.biz.busdelivered.BusDeliveredService; import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; import com.yxt.anrui.buscenter.biz.flow.FlowableService; @@ -48,14 +53,16 @@ import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; -import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.UserQuery; import com.yxt.anrui.portal.api.sysuser.UserRoleQuery; +import com.yxt.common.base.config.component.DocPdfComponent; +import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.WordConvertUtils; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -63,10 +70,12 @@ import com.yxt.messagecenter.api.message.*; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.math.BigDecimal; +import java.io.File; +import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -143,6 +152,22 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService detailsList = busArrearsCarryVehicleDetailsService.selectDetailsByApplySid(sid); + List voList = Optional.ofNullable(detailsList).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), AdCarListVo.class)).collect(Collectors.toList()); + appArrearsCarryInfoVo.setVinList(voList); + voList.removeAll(Collections.singleton(null)); + if (!voList.isEmpty()) { + List trailersList = new ArrayList<>(); + for (int i = 0; i < voList.size(); i++) { + AdCarListVo adCarListVo = voList.get(i); + ResultBean voResultBean = baseTrailerFeign.trailerList(adCarListVo.getCarSid(), busArrearsCarryVehicleApply.getContractNo()); + if (voResultBean.getData() != null) { + TraliveredVo traliveredVo = baseTrailerFeign.trailerList(adCarListVo.getCarSid(), busArrearsCarryVehicleApply.getContractNo()).getData(); + List trailerVos = traliveredVo.getList(); + if (!trailerVos.isEmpty()) { + for (TrailerVo trailerVo : trailerVos) { + GCarListVo gCarListVo = new GCarListVo(); + gCarListVo.setVinNo(traliveredVo.getVinNo()); + gCarListVo.setGcVinNo(trailerVo.getTrailerVinNo()); + gCarListVo.setPrice(trailerVo.getDealPrice()); + trailersList.add(gCarListVo); + } + appArrearsCarryInfoVo.setTrailersList(trailersList); + } + } + } + } + BuscenterFile buscenterFile = buscenterFileService.selectByLinkSidOne(sid, BuscenterFileEnum.CARCONTRACT_DOWNLOADURL.getAttachType()); + if (buscenterFile != null) { + appArrearsCarryInfoVo.setCarContractDownloadUrl(fileUploadComponent.getUrlPrefix() + buscenterFile.getFilePath()); + } + buscenterFile = buscenterFileService.selectByLinkSidOne(sid, BuscenterFileEnum.GUARANTEELETTER_DOWNLOADURL.getAttachType()); + if (buscenterFile != null) { + appArrearsCarryInfoVo.setGuaranteeLetterDownloadUrl(fileUploadComponent.getUrlPrefix() + buscenterFile.getFilePath()); + } + buscenterFile = buscenterFileService.selectByLinkSidOne(sid, BuscenterFileEnum.GDLETTER_DOWNLOADURL.getAttachType()); + if (buscenterFile != null) { + appArrearsCarryInfoVo.setGdLetterDownloadUrl(fileUploadComponent.getUrlPrefix() + buscenterFile.getFilePath()); + } + buscenterFile = buscenterFileService.selectByLinkSidOne(sid, BuscenterFileEnum.ZJLLETTER_DOWNLOADURL.getAttachType()); + if (buscenterFile != null) { + appArrearsCarryInfoVo.setZjlLetterDownloadUrl(fileUploadComponent.getUrlPrefix() + buscenterFile.getFilePath()); + } + if (StringUtils.isNotBlank(busArrearsCarryVehicleApply.getCarContractFile())) { + List carContract = Arrays.asList(busArrearsCarryVehicleApply.getCarContractFile().split(",")); + carContract = carContract.stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); + appArrearsCarryInfoVo.setCarContract(carContract); + } + if (StringUtils.isNotBlank(busArrearsCarryVehicleApply.getGuaranteeLetterFile())) { + List guaranteeLetter = Arrays.asList(busArrearsCarryVehicleApply.getGuaranteeLetterFile().split(",")); + guaranteeLetter = guaranteeLetter.stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); + appArrearsCarryInfoVo.setGuaranteeLetter(guaranteeLetter); + } + if (StringUtils.isNotBlank(busArrearsCarryVehicleApply.getGdLetterFile())) { + List gdLetter = Arrays.asList(busArrearsCarryVehicleApply.getGdLetterFile().split(",")); + gdLetter = gdLetter.stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); + appArrearsCarryInfoVo.setGdLetter(gdLetter); + } + if (StringUtils.isNotBlank(busArrearsCarryVehicleApply.getZjlLetterFile())) { + List zjlLetter = Arrays.asList(busArrearsCarryVehicleApply.getZjlLetterFile().split(",")); + zjlLetter = zjlLetter.stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); + appArrearsCarryInfoVo.setZjlLetter(zjlLetter); + } } @@ -617,7 +702,10 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService createPdf(String sid, List vinList, String commitmentMoneyDate) { - List list = new ArrayList<>(); + public CreatePdfVo createPdf(String sid, List vinList, String commitmentMoneyDate) { + CreatePdfVo createPdfVo = new CreatePdfVo(); + //车辆是否发生变化 + boolean isChange = false; + //回购日期是否发生变化 + boolean dateChange = false; + List list = new ArrayList<>(); + String carContractDownloadUrl = ""; + String guaranteeLetterDownloadUrl = ""; + String zjlLetterDownloadUrl = ""; + String gdLetterDownloadUrl = ""; //新增生成附件(新车买卖合同(欠款)、欠款提车担保承诺书、总经理担保承诺书、股东会对外担保决议) //车架号发生变化,重新生成新车买卖合同(欠款)、欠款提车担保承诺书、总经理担保承诺书、 //回购日期发生变化,重新生成欠款提车担保承诺书 + if (StringUtils.isBlank(sid)) { + //生成新车买卖合同(欠款) + carContractDownloadUrl = carContractDownloadUrl(); + PdfVo pdfVo = new PdfVo(); + pdfVo.setType(BuscenterFileEnum.CARCONTRACT_DOWNLOADURL.getAttachType()); + pdfVo.setName(BuscenterFileEnum.CARCONTRACT_DOWNLOADURL.getMark()); + pdfVo.setDownUrl(carContractDownloadUrl); + list.add(pdfVo); + //生成股东会对外担保决议 + gdLetterDownloadUrl = gdLetterDownloadUrl(); + pdfVo = new PdfVo(); + pdfVo.setType(BuscenterFileEnum.GDLETTER_DOWNLOADURL.getAttachType()); + pdfVo.setName(BuscenterFileEnum.GDLETTER_DOWNLOADURL.getMark()); + pdfVo.setDownUrl(gdLetterDownloadUrl); + list.add(pdfVo); + //生成总经理担保书 + zjlLetterDownloadUrl = zjlLetterDownloadUrl(); + pdfVo = new PdfVo(); + pdfVo.setType(BuscenterFileEnum.ZJLLETTER_DOWNLOADURL.getAttachType()); + pdfVo.setName(BuscenterFileEnum.ZJLLETTER_DOWNLOADURL.getMark()); + pdfVo.setDownUrl(zjlLetterDownloadUrl); + list.add(pdfVo); + //生成欠款提车担保承诺书 + guaranteeLetterDownloadUrl = guaranteeLetterDownloadUrl(); + pdfVo = new PdfVo(); + pdfVo.setType(BuscenterFileEnum.GUARANTEELETTER_DOWNLOADURL.getAttachType()); + pdfVo.setName(BuscenterFileEnum.GUARANTEELETTER_DOWNLOADURL.getMark()); + pdfVo.setDownUrl(guaranteeLetterDownloadUrl); + list.add(pdfVo); + + + } else { + //查询是否发生变化 + List detailsList = busArrearsCarryVehicleDetailsService.selectByApplySid(sid); + List vinSidList = vinList.stream().map(v -> v.getCarSid()).collect(Collectors.toList()); + //detailsList的差集 + List list1 = CollectionUtil.subtractToList(detailsList, vinSidList); + //vinSidList的差集 + List list2 = CollectionUtil.subtractToList(vinSidList, detailsList); + if (!list1.isEmpty() || !list2.isEmpty()) { + isChange = true; + } + BusArrearsCarryVehicleApply busArrearsCarryVehicleApply = fetchBySid(sid); + if (!busArrearsCarryVehicleApply.getCommitmentMoneyDate().equals(commitmentMoneyDate)) { + dateChange = true; + } + BuscenterFile buscenterFile = buscenterFileService.selectByLinkSidOne(sid, BuscenterFileEnum.CARCONTRACT_DOWNLOADURL.getAttachType()); + if (buscenterFile != null) { + carContractDownloadUrl = buscenterFile.getFilePath(); + } + buscenterFile = buscenterFileService.selectByLinkSidOne(sid, BuscenterFileEnum.GUARANTEELETTER_DOWNLOADURL.getAttachType()); + if (buscenterFile != null) { + guaranteeLetterDownloadUrl = buscenterFile.getFilePath(); + } + buscenterFile = buscenterFileService.selectByLinkSidOne(sid, BuscenterFileEnum.GDLETTER_DOWNLOADURL.getAttachType()); + if (buscenterFile != null) { + gdLetterDownloadUrl = buscenterFile.getFilePath(); + } + buscenterFile = buscenterFileService.selectByLinkSidOne(sid, BuscenterFileEnum.ZJLLETTER_DOWNLOADURL.getAttachType()); + if (buscenterFile != null) { + zjlLetterDownloadUrl = buscenterFile.getFilePath(); + } + if (isChange) { + //生成新车买卖合同(欠款) + carContractDownloadUrl = carContractDownloadUrl(); + //生成总经理担保书 + zjlLetterDownloadUrl = zjlLetterDownloadUrl(); + } + if (dateChange || isChange) { + //生成欠款提车担保承诺书 + guaranteeLetterDownloadUrl = guaranteeLetterDownloadUrl(); + } + //新车买卖合同(欠款) + PdfVo pdfVo = new PdfVo(); + pdfVo.setType(BuscenterFileEnum.CARCONTRACT_DOWNLOADURL.getAttachType()); + pdfVo.setName(BuscenterFileEnum.CARCONTRACT_DOWNLOADURL.getMark()); + pdfVo.setDownUrl(carContractDownloadUrl); + list.add(pdfVo); + //股东会对外担保决议 + pdfVo = new PdfVo(); + pdfVo.setType(BuscenterFileEnum.GDLETTER_DOWNLOADURL.getAttachType()); + pdfVo.setName(BuscenterFileEnum.GDLETTER_DOWNLOADURL.getMark()); + pdfVo.setDownUrl(gdLetterDownloadUrl); + list.add(pdfVo); + //总经理担保书 + pdfVo = new PdfVo(); + pdfVo.setType(BuscenterFileEnum.ZJLLETTER_DOWNLOADURL.getAttachType()); + pdfVo.setName(BuscenterFileEnum.ZJLLETTER_DOWNLOADURL.getMark()); + pdfVo.setDownUrl(zjlLetterDownloadUrl); + list.add(pdfVo); + //欠款提车担保承诺书 + pdfVo = new PdfVo(); + pdfVo.setType(BuscenterFileEnum.GUARANTEELETTER_DOWNLOADURL.getAttachType()); + pdfVo.setName(BuscenterFileEnum.GUARANTEELETTER_DOWNLOADURL.getMark()); + pdfVo.setDownUrl(guaranteeLetterDownloadUrl); + list.add(pdfVo); + } + createPdfVo.setChange(isChange); + createPdfVo.setFileList(list); - return list; + return createPdfVo; } /** - * 移动端-新增欠款提车申请 + * 生成新车买卖合同(欠款) * - * @param dto * @return */ - public ResultBean addArrearsApply(AppArrearsCarryVinDto dto) { - ResultBean rb = ResultBean.fireFail(); - String sid = dto.getSid(); - if (StringUtils.isBlank(sid)) { - //新增保存 - BusArrearsCarryVehicleApply busArrearsCarryVehicleApply = new BusArrearsCarryVehicleApply(); - BeanUtil.copyProperties(dto, busArrearsCarryVehicleApply, "sid"); - busArrearsCarryVehicleApply.setOrgSidPath(dto.getOrgPath()); - busArrearsCarryVehicleApply.setCreateBySid(dto.getUserSid()); - - //车辆 - List adCarListVoList = dto.getVinList(); - if (adCarListVoList.isEmpty()) { - return rb.setMsg("请选择车辆"); - } + public String carContractDownloadUrl() { + String url = ""; + Map map = new HashMap<>(); + String ftl = "gd"; + InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl"); + //生成word文件名 + String targetPath = docPdfComponent.getUploadTemplateUrl(); + String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); + long seconds = System.currentTimeMillis(); + String typeName = dateStr + seconds + ".doc"; + File file = new File(targetPath + ftl + seconds + ".ftl"); + File dir = new File(targetPath); + WordConvertUtils.inputStreamToFile(inputStream, file); + WordConvertUtils.creatWord1(map, file, targetPath, typeName, dir); + //新生成的word路径 + String wordPath = targetPath + typeName; + //生成合同文件名 + String pdfName = "新车买卖合同(欠款)_" + dateStr + seconds + ".pdf"; + WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName); + url = pdfName; + return url; + } + /** + * 生成欠款提车担保承诺书 + * + * @return + */ + public String guaranteeLetterDownloadUrl() { + String url = ""; + Map map = new HashMap<>(); + String ftl = "gd"; + InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl"); + //生成word文件名 + String targetPath = docPdfComponent.getUploadTemplateUrl(); + String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); + long seconds = System.currentTimeMillis(); + String typeName = dateStr + seconds + ".doc"; + File file = new File(targetPath + ftl + seconds + ".ftl"); + File dir = new File(targetPath); + WordConvertUtils.inputStreamToFile(inputStream, file); + WordConvertUtils.creatWord1(map, file, targetPath, typeName, dir); + //新生成的word路径 + String wordPath = targetPath + typeName; + //生成合同文件名 + String pdfName = "欠款提车担保承诺书_" + dateStr + seconds + ".pdf"; + WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName); + url = pdfName; + return url; + } - } else { - //修改保存 + /** + * 生成股东会对外担保决议 + * + * @return + */ + public String gdLetterDownloadUrl() { + String url = ""; + Map map = new HashMap<>(); + String ftl = "gd"; + InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl"); + //生成word文件名 + String targetPath = docPdfComponent.getUploadTemplateUrl(); + String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); + long seconds = System.currentTimeMillis(); + String typeName = dateStr + seconds + ".doc"; + File file = new File(targetPath + ftl + seconds + ".ftl"); + File dir = new File(targetPath); + WordConvertUtils.inputStreamToFile(inputStream, file); + WordConvertUtils.creatWord1(map, file, targetPath, typeName, dir); + //新生成的word路径 + String wordPath = targetPath + typeName; + //生成合同文件名 + String pdfName = "股东会对外担保决议_" + dateStr + seconds + ".pdf"; + WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName); + url = pdfName; + return url; + } - } - return rb.success(); + /** + * 生成总经理担保书 + * + * @return + */ + public String zjlLetterDownloadUrl() { + String url = ""; + Map map = new HashMap<>(); + String ftl = "gd"; + InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl"); + //生成word文件名 + String targetPath = docPdfComponent.getUploadTemplateUrl(); + String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); + long seconds = System.currentTimeMillis(); + String typeName = dateStr + seconds + ".doc"; + File file = new File(targetPath + ftl + seconds + ".ftl"); + File dir = new File(targetPath); + WordConvertUtils.inputStreamToFile(inputStream, file); + WordConvertUtils.creatWord1(map, file, targetPath, typeName, dir); + //新生成的word路径 + String wordPath = targetPath + typeName; + //生成合同文件名 + String pdfName = "总经理担保书_" + dateStr + seconds + ".pdf"; + WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName); + url = pdfName; + return url; + } + /** + * 移动端-新增欠款提车申请 + * + * @param dto + * @return + */ + public ResultBean addArrearsApply(AppArrearsCarryVinDto dto) { + return null; /* ResultBean rb = ResultBean.fireFail(); // 取出分公司sid String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData(); @@ -744,6 +1031,124 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService carContract = dto.getCarContract(); + if (!carContract.isEmpty()) { + String carContractImages = String.join(",", carContract).replaceAll(fileUploadComponent.getUrlPrefix(), ""); + busArrearsCarryVehicleApply.setCarContractFile(carContractImages); + } + List guaranteeLetter = dto.getGuaranteeLetter(); + if (!guaranteeLetter.isEmpty()) { + String guaranteeLetterImages = String.join(",", guaranteeLetter).replaceAll(fileUploadComponent.getUrlPrefix(), ""); + busArrearsCarryVehicleApply.setGuaranteeLetterFile(guaranteeLetterImages); + } + List gdLetter = dto.getGdLetter(); + if (!gdLetter.isEmpty()) { + String gdLetterImages = String.join(",", gdLetter).replaceAll(fileUploadComponent.getUrlPrefix(), ""); + busArrearsCarryVehicleApply.setGdLetterFile(gdLetterImages); + } + List zjlLetter = dto.getZjlLetter(); + if (!zjlLetter.isEmpty()) { + String zjlLetterImages = String.join(",", zjlLetter).replaceAll(fileUploadComponent.getUrlPrefix(), ""); + busArrearsCarryVehicleApply.setZjlLetterFile(zjlLetterImages); + } + //车辆 + List adCarListVoList = dto.getVinList(); + if (adCarListVoList.isEmpty()) { + return rb.setMsg("请选择车辆"); + } + createPdf = createPdf(sid, adCarListVoList, dto.getCommitmentMoneyDate()); + //车辆更新 + for (int i = 0; i < adCarListVoList.size(); i++) { + AdCarListVo adCarListVo = adCarListVoList.get(i); + BusArrearsCarryVehicleDetails busArrearsCarryVehicleDetails = new BusArrearsCarryVehicleDetails(); + BeanUtil.copyProperties(adCarListVo, busArrearsCarryVehicleDetails); + busArrearsCarryVehicleDetails.setApplySid(busArrearsCarryVehicleApply.getSid()); + busArrearsCarryVehicleDetails.setVinNo(adCarListVo.getVin()); + busArrearsCarryVehicleDetails.setVinSid(adCarListVo.getCarSid()); + busArrearsCarryVehicleDetailsService.insert(busArrearsCarryVehicleDetails); + } + List fileList = createPdf.getFileList(); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + for (int i = 0; i < fileList.size(); i++) { + PdfVo pdfVo = fileList.get(i); + buscenterFileService.saveFile(busArrearsCarryVehicleApply.getSid(), pdfVo.getDownUrl(), pdfVo.getType()); + } + } + sid = busArrearsCarryVehicleApply.getSid(); + baseMapper.insert(busArrearsCarryVehicleApply); + } else { + //修改保存 + BusArrearsCarryVehicleApply busArrearsCarryVehicleApply = fetchBySid(sid); + if (busArrearsCarryVehicleApply == null) { + return rb.setMsg("该申请不存在"); + } + BeanUtil.copyProperties(dto, busArrearsCarryVehicleApply, "sid"); + List carContract = dto.getCarContract(); + if (!carContract.isEmpty()) { + String carContractImages = String.join(",", carContract).replaceAll(fileUploadComponent.getUrlPrefix(), ""); + busArrearsCarryVehicleApply.setCarContractFile(carContractImages); + } + List guaranteeLetter = dto.getGuaranteeLetter(); + if (!guaranteeLetter.isEmpty()) { + String guaranteeLetterImages = String.join(",", guaranteeLetter).replaceAll(fileUploadComponent.getUrlPrefix(), ""); + busArrearsCarryVehicleApply.setGuaranteeLetterFile(guaranteeLetterImages); + } + List gdLetter = dto.getGdLetter(); + if (!gdLetter.isEmpty()) { + String gdLetterImages = String.join(",", gdLetter).replaceAll(fileUploadComponent.getUrlPrefix(), ""); + busArrearsCarryVehicleApply.setGdLetterFile(gdLetterImages); + } + List zjlLetter = dto.getZjlLetter(); + if (!zjlLetter.isEmpty()) { + String zjlLetterImages = String.join(",", zjlLetter).replaceAll(fileUploadComponent.getUrlPrefix(), ""); + busArrearsCarryVehicleApply.setZjlLetterFile(zjlLetterImages); + } + //车辆 + List adCarListVoList = dto.getVinList(); + if (adCarListVoList.isEmpty()) { + return rb.setMsg("请选择车辆"); + } + createPdf = createPdf(sid, adCarListVoList, dto.getCommitmentMoneyDate()); + //车辆更新 + //删除关联表 + busArrearsCarryVehicleDetailsService.deleteByArrearsVehicleSid(sid); + for (int i = 0; i < adCarListVoList.size(); i++) { + AdCarListVo adCarListVo = adCarListVoList.get(i); + BusArrearsCarryVehicleDetails busArrearsCarryVehicleDetails = new BusArrearsCarryVehicleDetails(); + BeanUtil.copyProperties(adCarListVo, busArrearsCarryVehicleDetails); + busArrearsCarryVehicleDetails.setApplySid(busArrearsCarryVehicleApply.getSid()); + busArrearsCarryVehicleDetails.setVinNo(adCarListVo.getVin()); + busArrearsCarryVehicleDetails.setVinSid(adCarListVo.getCarSid()); + busArrearsCarryVehicleDetailsService.insert(busArrearsCarryVehicleDetails); + } + //删除附件关联表 + buscenterFileService.deleteByLinkSid(sid); + List fileList = createPdf.getFileList(); + fileList.removeAll(Collections.singleton(null)); + if (!fileList.isEmpty()) { + for (int i = 0; i < fileList.size(); i++) { + PdfVo pdfVo = fileList.get(i); + buscenterFileService.saveFile(busArrearsCarryVehicleApply.getSid(), pdfVo.getDownUrl(), pdfVo.getType()); + } + } + baseMapper.updateById(busArrearsCarryVehicleApply); + } + createPdf.setSid(sid); + return rb.success().setData(createPdf); + /*ResultBean rb = ResultBean.fireFail(); // 取出分公司sid String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData(); if (StringUtils.isBlank(dto.getOrgSidPath())) { @@ -783,12 +1188,12 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid()); if (!userVoResultBean.getSuccess()) { return rb.setMsg(userVoResultBean.getMsg()); @@ -883,7 +1288,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService resultBean = saveArrearsApply(dto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + if (resultBean.getData() != null) { + CreatePdfVo createPdfVo = resultBean.getData(); + downloadUrlVo.setSid(createPdfVo.getSid()); + for (int i = 0; i < createPdfVo.getFileList().size(); i++) { + PdfVo pdfVo = createPdfVo.getFileList().get(i); + if (BuscenterFileEnum.CARCONTRACT_DOWNLOADURL.getAttachType().equals(pdfVo.getType())) { + downloadUrlVo.setCarContractDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + pdfVo.getDownUrl()); + } + if (BuscenterFileEnum.GUARANTEELETTER_DOWNLOADURL.getAttachType().equals(pdfVo.getType())) { + downloadUrlVo.setGuaranteeLetterDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + pdfVo.getDownUrl()); + } + if (BuscenterFileEnum.GDLETTER_DOWNLOADURL.getAttachType().equals(pdfVo.getType())) { + downloadUrlVo.setGdLetterDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + pdfVo.getDownUrl()); + } + if (BuscenterFileEnum.ZJLLETTER_DOWNLOADURL.getAttachType().equals(pdfVo.getType())) { + downloadUrlVo.setZjlLetterDownloadUrl(docPdfComponent.getPrefixTemplateUrl()+ pdfVo.getDownUrl()); + } + } + if (resultBean.getData().isChange() || resultBean.getData().isDateChange()) { + return rb.success().setData(resultBean.getData()).setMsg("附件已发生变化,可下载最新附件"); + } else { + return rb.success().setData(downloadUrlVo); + } + } + return rb; + } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsMapper.java index bfd3be51c1..173ebd39db 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsMapper.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsMapper.java @@ -30,8 +30,6 @@ import java.util.List; @Mapper public interface BusArrearsCarryVehicleDetailsMapper extends BaseMapper { - //@Update("update bus_arrears_carry_vehicle_details set name=#{msg} where id=#{id}") - //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); @@ -46,7 +44,7 @@ public interface BusArrearsCarryVehicleDetailsMapper extends BaseMapper selByArrearsSidList(String sid); /** @@ -55,6 +53,16 @@ public interface BusArrearsCarryVehicleDetailsMapper extends BaseMapper selectByApplySid(String sid); + + /** + * 根据欠款提车申请sid查询车辆信息 + * + * @param sid + * @return + */ + List selectDetailsByApplySid(String sid); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsMapper.xml index 14c8afdaea..17dca262f1 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsMapper.xml @@ -5,13 +5,32 @@ + + + + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsService.java index 5e1aad4537..df801a8eba 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsService.java @@ -123,4 +123,12 @@ public class BusArrearsCarryVehicleDetailsService extends MybatisBaseService selectByApplySid(String sid) { + return baseMapper.selectByApplySid(sid); + } + + public List selectDetailsByApplySid(String sid) { + return baseMapper.selectDetailsByApplySid(sid); + } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/buscenterfile/BuscenterFileService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/buscenterfile/BuscenterFileService.java index 79d0c1954c..4af8c43513 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/buscenterfile/BuscenterFileService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/buscenterfile/BuscenterFileService.java @@ -1,8 +1,6 @@ package com.yxt.anrui.buscenter.biz.buscenterfile; import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFile; -import com.yxt.anrui.crm.api.crmfile.CrmFile; -import com.yxt.anrui.crm.api.crmfile.CrmFileAttachTypeEnum; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; import org.springframework.beans.factory.annotation.Autowired; @@ -21,16 +19,16 @@ public class BuscenterFileService extends MybatisBaseService selectByLinkSid(String sid,String attachType) { - return baseMapper.selectByLinkSid(sid,attachType); + public List selectByLinkSid(String sid, String attachType) { + return baseMapper.selectByLinkSid(sid, attachType); } public int deleteByLinkSid(String sid) { return baseMapper.deleteByLinkSid(sid); } - public void saveAll(String sid, List entrustConfirmImages, String attachType) { - entrustConfirmImages.stream().forEach(str -> { + public void saveAll(String sid, List imageFiles, String attachType) { + imageFiles.stream().forEach(str -> { BuscenterFile buscenterFile = new BuscenterFile(); File file = new File(fileUploadComponent.getUploadPath() + str.replace("/", File.separator)); if (file != null) { @@ -50,6 +48,21 @@ public class BuscenterFileService extends MybatisBaseService gcList = new ArrayList<>(); ResultBean voResultBean = baseTrailerFeign.trailerList(qCarVo.getCarSid(), query.getContractNo()); if(voResultBean.getData() != null){ diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/gd.ftl b/anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/gd.ftl new file mode 100644 index 0000000000..e6c70078d1 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/gd.ftl @@ -0,0 +1,834 @@ + + + + + dimengzhe + 孟哲 + 2 + 1 + 2023-04-27T07:39:00Z + 2023-04-27T07:39:00Z + 1 + 42 + 245 + 2 + 1 + 286 + 16 + + + 2052-11.1.0.14036 + 8D9EF930347E48428DF2F06AAB2A4FF2_12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 股东会对外担保决议 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 议题:关于是否同意本公司提供担保事宜。 + + + + + + + + + + + + + + + + + + + + + + 根据《公司法》和公司章程规定,股东会会议应到股东 + + + + + + + + + +         + + + + + + + + + 名,实到 + + + + + + + + + +        + + + + + + + + + 名,所持股份占公司全部股份 + + + + + + + + + +   + + + + + + + + + %。本次股东会召集与所作决议符合公司章程和《公司法》的规定,所作决议合法有效。与会股东经审议、表决,一致通过以下决议: + + + + + + + + + + + + + + + + + + + + + + 同意本公司在《欠款提车担保承诺书》中为 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 提供连带责任担保。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 与会股东签字: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +           公司(公章) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 年 月 日 + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AdvanceArrearsDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AdvanceArrearsDto.java index ab18a0e8f8..65390d6ea2 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AdvanceArrearsDto.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AdvanceArrearsDto.java @@ -12,7 +12,7 @@ import java.util.List; public class AdvanceArrearsDto implements Dto { private static final long serialVersionUID = 6445736018244517900L; - @ApiModelProperty("用户sid") + /* @ApiModelProperty("用户sid") private String userSid; @ApiModelProperty("合同sid") @JsonProperty("contractSid") @@ -49,5 +49,94 @@ public class AdvanceArrearsDto implements Dto { @ApiModelProperty("流程实列id") private String procInsId; @ApiModelProperty("用户sid") + private String taskId;*/ + + @ApiModelProperty("欠款提车申请sid") + private String sid; + @ApiModelProperty("合同编号") + private String contractId; + @ApiModelProperty("发起部门-发起人") + private String publishInfo; + @ApiModelProperty("发起日期") + @JsonProperty("date") + private String createDate; + private String applyDept; + private String applyDeptSid; + private String applyUserSid; + private String applyName; + private String staffUserSid; + @JsonProperty("sellerName") + private String staffName; + private String staffDeptSid; + @ApiModelProperty("销售部门") + @JsonProperty("sellerDept") + private String staffDept; + @JsonProperty("saleType") + @ApiModelProperty("销售类型") + private String paymentMethod; + private String paymentMethodKey; + @ApiModelProperty("开票单位") + private String openTickName; + @ApiModelProperty("客户名称") + @JsonProperty("name") + private String customerName; + @ApiModelProperty("客户sid") + private String customerSid; + @ApiModelProperty("车型") + @JsonProperty("model") + private String modelName; + @ApiModelProperty("车型sid") + private String modelSid; + @ApiModelProperty("配置sid") + private String configSid; + //是否金融部复核 + @ApiModelProperty("是否金融部复核,1是,0否") + private String isFinance; + @ApiModelProperty("金融人员用户sid") + private String financeUserSid; + @ApiModelProperty("金融人员名称") + private String financeName; + + @ApiModelProperty("实例id") + @JsonProperty("procInsId") + private String procInstId; + @ApiModelProperty("任务id") private String taskId; + + @ApiModelProperty("选择车辆列表") + private List vinList = new ArrayList<>(); + + @ApiModelProperty("欠款提车挂车列表") + private List trailersList = new ArrayList<>(); + + @ApiModelProperty("车辆买卖合同") + private List carContract = new ArrayList<>(); + @ApiModelProperty("欠款提车担保承诺书") + private List guaranteeLetter = new ArrayList<>(); + @ApiModelProperty("股东会对外担保决议") + private List gdLetter = new ArrayList<>(); + @ApiModelProperty("总经理担保书") + private List zjlLetter = new ArrayList<>(); + + @ApiModelProperty("组织全路径") + private String orgPath; + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("欠款原因key") + private String reasonKey; + @ApiModelProperty("欠款原因value") + private String reasonValue; + @ApiModelProperty("原因备注") + @JsonProperty("remarks") + private String reason; + @ApiModelProperty("回款日期") + private String commitmentMoneyDate; + @ApiModelProperty("合同总金额") + private String contractMoney; + @ApiModelProperty("平台收款总金额") + private String contractCollectionMoney; + @ApiModelProperty("其他附件") + private List fileList = new ArrayList<>(); } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AppBusArrearsCarryVehicleApplyFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AppBusArrearsCarryVehicleApplyFeign.java index 7fd8e0f129..d4249a7523 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AppBusArrearsCarryVehicleApplyFeign.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AppBusArrearsCarryVehicleApplyFeign.java @@ -61,13 +61,18 @@ public interface AppBusArrearsCarryVehicleApplyFeign { @ApiOperation("选择车辆列表") @GetMapping("/getCanUseCars") @ResponseBody - ResultBean> getCanUseCars(@RequestParam("contractNo") String contractNo, @RequestParam("vinSids") List vinSids); + ResultBean> getCanUseCars(CarsQuery query); @ApiOperation("移动端-保存欠款提车申请") @PostMapping("/saveArrearsApply") @ResponseBody public ResultBean saveArrearsApply(@Valid @RequestBody AdvanceArrearsDto dto); + @ApiOperation("点击生成附件") + @PostMapping("/saveArrearsApplyPdf") + @ResponseBody + public ResultBean saveArrearsApplyPdf(@Valid @RequestBody AdvanceArrearsDto dto); + @ApiOperation("手机端-删除欠款提车") @DeleteMapping("/deleteArrearsTakeCar") @ResponseBody diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AppBusArrearsCarryVehicleApplyFeignFallback.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AppBusArrearsCarryVehicleApplyFeignFallback.java index a97a6d348e..4f35da0f2f 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AppBusArrearsCarryVehicleApplyFeignFallback.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AppBusArrearsCarryVehicleApplyFeignFallback.java @@ -43,7 +43,7 @@ public class AppBusArrearsCarryVehicleApplyFeignFallback implements AppBusArrear } @Override - public ResultBean> getCanUseCars(String contractNo, List vinSids) { + public ResultBean> getCanUseCars(CarsQuery query) { return null; } @@ -52,6 +52,11 @@ public class AppBusArrearsCarryVehicleApplyFeignFallback implements AppBusArrear return null; } + @Override + public ResultBean saveArrearsApplyPdf(AdvanceArrearsDto dto) { + return null; + } + @Override public ResultBean deleteArrearsTakeCar( AdvanceArrearsInfoQuery query) { return null; diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/CarsQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/CarsQuery.java new file mode 100644 index 0000000000..46f2f2d448 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/CarsQuery.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.terminal.api.autoservice.arrearsTakeCar; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2023/4/27 16:10 + * @Description + */ +@Data +public class CarsQuery { + + private String contractNo; + + private List vinSids = new ArrayList<>(); +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/arrearsTakeCar/AppBusArrearsCarryVehicleApplyRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/arrearsTakeCar/AppBusArrearsCarryVehicleApplyRest.java index aa9cf48bac..fc1d0fb8b4 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/arrearsTakeCar/AppBusArrearsCarryVehicleApplyRest.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/arrearsTakeCar/AppBusArrearsCarryVehicleApplyRest.java @@ -58,8 +58,8 @@ public class AppBusArrearsCarryVehicleApplyRest implements AppBusArrearsCarryVeh } @Override - public ResultBean> getCanUseCars(String contractNo, List vinSids) { - return appBusArrearsCarryVehicleApplyService.getCanUseCars(contractNo, vinSids); + public ResultBean> getCanUseCars(CarsQuery query) { + return appBusArrearsCarryVehicleApplyService.getCanUseCars(query); } @Override @@ -67,6 +67,11 @@ public class AppBusArrearsCarryVehicleApplyRest implements AppBusArrearsCarryVeh return appBusArrearsCarryVehicleApplyService.saveArrearsApply(dto); } + @Override + public ResultBean saveArrearsApplyPdf(AdvanceArrearsDto dto) { + return appBusArrearsCarryVehicleApplyService.saveArrearsApplyPdf(dto); + } + @Override public ResultBean deleteArrearsTakeCar(AdvanceArrearsInfoQuery query) { return appBusArrearsCarryVehicleApplyService.deleteArrearsTakeCar(query); diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/arrearsTakeCar/AppBusArrearsCarryVehicleApplyService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/arrearsTakeCar/AppBusArrearsCarryVehicleApplyService.java index c37135de35..085a5074ff 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/arrearsTakeCar/AppBusArrearsCarryVehicleApplyService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/arrearsTakeCar/AppBusArrearsCarryVehicleApplyService.java @@ -91,10 +91,14 @@ public class AppBusArrearsCarryVehicleApplyService { } public ResultBean saveArrearsApply(AdvanceArrearsDto dto) { + ResultBean rb = ResultBean.fireFail(); AppArrearsCarryDto appArrearsCarryDto = new AppArrearsCarryDto(); BeanUtil.copyProperties(dto, appArrearsCarryDto); ResultBean resultBean = busArrearsCarryVehicleApplyFeign.saveArrearsApply(appArrearsCarryDto); - return resultBean; + if(!resultBean.getSuccess()){ + return rb.setMsg(resultBean.getMsg()); + } + return rb.success(); } public ResultBean deleteArrearsTakeCar(AdvanceArrearsInfoQuery query) { @@ -226,11 +230,10 @@ public class AppBusArrearsCarryVehicleApplyService { } - public ResultBean> getCanUseCars(String contractNo, List vinSids) { + public ResultBean> getCanUseCars(CarsQuery query) { ResultBean> rb = ResultBean.fireFail(); QCarQuery qCarQuery = new QCarQuery(); - qCarQuery.setContractNo(contractNo); - qCarQuery.setVinSids(vinSids); + BeanUtil.copyProperties(query,qCarQuery); ResultBean> resultBean = busSalesOrderVehicleFeign.getCanUseCars(qCarQuery); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); @@ -238,4 +241,11 @@ public class AppBusArrearsCarryVehicleApplyService { List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), ArrearsCarVo.class)).collect(Collectors.toList()); return rb.success().setData(voList); } + + public ResultBean saveArrearsApplyPdf(AdvanceArrearsDto dto) { + AppArrearsCarryDto appArrearsCarryDto = new AppArrearsCarryDto(); + BeanUtil.copyProperties(dto, appArrearsCarryDto); + ResultBean resultBean = busArrearsCarryVehicleApplyFeign.saveArrearsApplyPdf(appArrearsCarryDto); + return resultBean; + } } \ No newline at end of file diff --git a/doc/databases/bus-center_tables.sql b/doc/databases/bus-center_tables.sql index ffbca9585b..d2f7ad7d3a 100644 --- a/doc/databases/bus-center_tables.sql +++ b/doc/databases/bus-center_tables.sql @@ -773,3 +773,90 @@ CREATE TABLE `buscenter_file` ) ENGINE = INNODB DEFAULT CHARSET = utf8 COMMENT ='销售附件表'; +-- 欠款提车申请 +DROP TABLE IF EXISTS `bus_arrears_carry_vehicle_apply`; +CREATE TABLE `bus_arrears_carry_vehicle_apply` +( + `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(64) NOT NULL COMMENT 'sid', + `lockVersion` int(32) DEFAULT '0' COMMENT '版本锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用', + `state` int(32) DEFAULT '1' COMMENT '状态', + `isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除', + `remarks` varchar(255) DEFAULT NULL COMMENT '备注', + `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid', + `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid', + `billNo` VARCHAR(64) DEFAULT NULL COMMENT '申请单编号', + `contractNo` VARCHAR(200) DEFAULT NULL COMMENT '合同编号', + `customerName` VARCHAR(200) DEFAULT NULL COMMENT '客户名称', + `customerSid` VARCHAR(64) DEFAULT NULL COMMENT '客户sid', + `modelSid` VARCHAR(64) DEFAULT NULL COMMENT '车型sid', + `configSid` VARCHAR(64) DEFAULT NULL COMMENT '配置sid', + `modelName` VARCHAR(255) DEFAULT NULL COMMENT '车型名称', + `contractMoney` decimal(10, 2) DEFAULT NULL COMMENT '合同总金额', + `contractCollectionMoney` decimal(10, 2) DEFAULT NULL COMMENT '合同收款金额', + `arrearsMoney` decimal(10, 2) DEFAULT NULL COMMENT '欠款金额', + `commitmentMoneyDate` VARCHAR(200) DEFAULT NULL COMMENT '承诺回款日期', + `applyName` VARCHAR(200) DEFAULT NULL COMMENT '申请人名称', + `applyUserSid` VARCHAR(64) DEFAULT NULL COMMENT '申请人sid', + `applyDeptSid` VARCHAR(64) DEFAULT NULL COMMENT '发起部门sid', + `applyDept` VARCHAR(64) DEFAULT NULL COMMENT '发起部门名称', + `staffUserSid` VARCHAR(64) DEFAULT NULL COMMENT '销售专员用户sid', + `staffName` VARCHAR(200) DEFAULT NULL COMMENT '销售专员名称', + `staffDeptSid` VARCHAR(64) DEFAULT NULL COMMENT '销售专员部门sid', + `staffDept` VARCHAR(200) DEFAULT NULL COMMENT '销售部门', + `paymentMethod` VARCHAR(200) DEFAULT NULL COMMENT '销售类型', + `paymentMethodKey` VARCHAR(64) DEFAULT NULL COMMENT '销售类型', + `openTickName` VARCHAR(200) DEFAULT NULL COMMENT '开票单位', + `isFinance` VARCHAR(64) DEFAULT NULL COMMENT '是否金融部复核,1是,0否', + `financeUserSid` VARCHAR(64) DEFAULT NULL COMMENT '金融部人员用户sid', + `financeName` VARCHAR(200) DEFAULT NULL COMMENT '金融部人员名称', + `reason` VARCHAR(500) DEFAULT NULL COMMENT '欠款提车原因', + `reasonKey` VARCHAR(64) DEFAULT NULL COMMENT '欠款原因key', + `reasonValue` VARCHAR(64) DEFAULT NULL COMMENT '欠款原因value', + `useOrgSid` VARCHAR(64) DEFAULT NULL COMMENT '分公司sid', + `useOrgName` VARCHAR(200) DEFAULT NULL COMMENT '分公司名称', + `type` VARCHAR(64) DEFAULT NULL COMMENT 'type:1待办理,2已办理', + `nodeState` VARCHAR(64) DEFAULT NULL COMMENT '节点状态', + `taskDefKey` VARCHAR(64) DEFAULT NULL COMMENT '节点id', + `procDefId` VARCHAR(64) DEFAULT NULL COMMENT '流程id', + `procInstId` VARCHAR(64) DEFAULT NULL COMMENT '实例id', + `taskId` VARCHAR(64) DEFAULT NULL COMMENT '任务id', + `orgSidPath` VARCHAR(200) DEFAULT NULL COMMENT '当前用户部门全路径', + `carContractFile` text DEFAULT NULL COMMENT '新车买卖合同欠款', + `guaranteeLetterFile` text DEFAULT NULL COMMENT '担保承诺书', + `gdLetterFile` text DEFAULT NULL COMMENT '股东', + `zjlLetterFile` text DEFAULT NULL COMMENT '总经理', + `otherFile` text DEFAULT NULL COMMENT '其他附件', + PRIMARY KEY (`id`), + KEY `id` (`id`) +) ENGINE = INNODB + DEFAULT CHARSET = utf8 COMMENT ='欠款提车申请'; + +-- 欠款提车车辆信息 +DROP TABLE IF EXISTS `bus_arrears_carry_vehicle_details`; +CREATE TABLE `bus_arrears_carry_vehicle_details` +( + `id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id', + `sid` varchar(64) NOT NULL COMMENT 'sid', + `lockVersion` int(32) DEFAULT '0' COMMENT '版本锁', + `createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间', + `isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用', + `state` int(32) DEFAULT '1' COMMENT '状态', + `isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除', + `remarks` varchar(255) DEFAULT NULL COMMENT '备注', + `createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid', + `updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid', + `applySid` VARCHAR(200) DEFAULT NULL COMMENT '合同编号', + `vinNo` varchar(200) DEFAULT NULL COMMENT '车架号', + `vinSid` varchar(64) DEFAULT NULL COMMENT '车辆sid', + `price` decimal(10, 2) DEFAULT NULL COMMENT '成交价', + `subscribedAll` decimal(10, 2) DEFAULT NULL COMMENT '平台总认款', + PRIMARY KEY (`id`), + KEY `id` (`id`) +) ENGINE = INNODB + DEFAULT CHARSET = utf8 COMMENT ='欠款提车车辆信息'; +