Browse Source

修改

master
dimengzhe 2 years ago
parent
commit
cf014ef804
  1. 95
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/AppArrearsCarryDto.java
  2. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/AppArrearsCarryVinDto.java
  3. 10
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApply.java
  4. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeign.java
  5. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeignFallback.java
  6. 26
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/CreatePdfVo.java
  7. 23
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/DownloadUrlVo.java
  8. 18
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetails.java
  9. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/buscenterfile/BuscenterFileEnum.java
  10. 3
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyMapper.xml
  11. 9
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyRest.java
  12. 508
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java
  13. 16
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsMapper.java
  14. 27
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsMapper.xml
  15. 8
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsService.java
  16. 27
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/buscenterfile/BuscenterFileService.java
  17. 1
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java
  18. 834
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/gd.ftl
  19. 91
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AdvanceArrearsDto.java
  20. 7
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AppBusArrearsCarryVehicleApplyFeign.java
  21. 7
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/AppBusArrearsCarryVehicleApplyFeignFallback.java
  22. 19
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/arrearsTakeCar/CarsQuery.java
  23. 9
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/arrearsTakeCar/AppBusArrearsCarryVehicleApplyRest.java
  24. 18
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/arrearsTakeCar/AppBusArrearsCarryVehicleApplyService.java
  25. 87
      doc/databases/bus-center_tables.sql

95
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<AdCarListVo> vinList = new ArrayList<>();
@ApiModelProperty("欠款提车挂车列表")
private List<GCarListVo> trailersList = new ArrayList<>();
@ApiModelProperty("车辆买卖合同")
private List<String> carContract = new ArrayList<>();
@ApiModelProperty("欠款提车担保承诺书")
private List<String> guaranteeLetter = new ArrayList<>();
@ApiModelProperty("股东会对外担保决议")
private List<String> gdLetter = new ArrayList<>();
@ApiModelProperty("总经理担保书")
private List<String> 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<String> fileList = new ArrayList<>();
}

2
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;

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

5
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

5
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;

26
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<PdfVo> fileList = new ArrayList<>();
private String sid;
}

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

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

4
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", "总经理担保书"),
;

3
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
<where>
${ew.sqlSegment}

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

508
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<BusAr
@Autowired
private FinCompanyInvoicingFeign finCompanyInvoicingFeign;
@Autowired
private BuscenterFileService buscenterFileService;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private BaseTrailerFeign baseTrailerFeign;
@Value("${templateUrl.uploadUrl}")
private String uploadTemplateUrl;
@Value("${templateUrl.prefixUrl}")
private String prefixTemplateUrl;
@Autowired
private DocPdfComponent docPdfComponent;
/**
* 欠款提车分页列表查询条件
*
@ -570,7 +595,67 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
appArrearsCarryInfoVo.setPublishInfo(busArrearsCarryVehicleApply.getApplyDept() + "-" + busArrearsCarryVehicleApply.getApplyName());
appArrearsCarryInfoVo.setCreateDate(DateUtil.format(busArrearsCarryVehicleApply.getCreateTime(), "yyyy-MM-dd"));
appArrearsCarryInfoVo.setOrgPath(busArrearsCarryVehicleApply.getOrgSidPath());
List<BusArrearsCarryVehicleDetails> detailsList = busArrearsCarryVehicleDetailsService.selectDetailsByApplySid(sid);
List<AdCarListVo> 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<GCarListVo> trailersList = new ArrayList<>();
for (int i = 0; i < voList.size(); i++) {
AdCarListVo adCarListVo = voList.get(i);
ResultBean<TraliveredVo> voResultBean = baseTrailerFeign.trailerList(adCarListVo.getCarSid(), busArrearsCarryVehicleApply.getContractNo());
if (voResultBean.getData() != null) {
TraliveredVo traliveredVo = baseTrailerFeign.trailerList(adCarListVo.getCarSid(), busArrearsCarryVehicleApply.getContractNo()).getData();
List<TrailerVo> 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<String> 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<String> 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<String> 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<String> 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<BusAr
}
vo.setVinList(vinList);
vo.setContractSid(contractSid);*/
return rb.success().setData(appArrearsCarryInfoVo);
return rb.success().
setData(appArrearsCarryInfoVo);
}
/**
@ -628,45 +716,244 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
* @param commitmentMoneyDate 承诺回购日期
* @return
*/
public List<String> createPdf(String sid, List<AdCarListVo> vinList, String commitmentMoneyDate) {
List<String> list = new ArrayList<>();
public CreatePdfVo createPdf(String sid, List<AdCarListVo> vinList, String commitmentMoneyDate) {
CreatePdfVo createPdfVo = new CreatePdfVo();
//车辆是否发生变化
boolean isChange = false;
//回购日期是否发生变化
boolean dateChange = false;
List<PdfVo> 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<String> detailsList = busArrearsCarryVehicleDetailsService.selectByApplySid(sid);
List<String> vinSidList = vinList.stream().map(v -> v.getCarSid()).collect(Collectors.toList());
//detailsList的差集
List<String> list1 = CollectionUtil.subtractToList(detailsList, vinSidList);
//vinSidList的差集
List<String> 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<AdCarListVo> adCarListVoList = dto.getVinList();
if (adCarListVoList.isEmpty()) {
return rb.setMsg("请选择车辆");
}
public String carContractDownloadUrl() {
String url = "";
Map<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<BusAr
*/
public ResultBean saveArrearsApply(AppArrearsCarryDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = dto.getSid();
CreatePdfVo createPdf = null;
if (StringUtils.isBlank(sid)) {
//新增保存
BusArrearsCarryVehicleApply busArrearsCarryVehicleApply = new BusArrearsCarryVehicleApply();
BeanUtil.copyProperties(dto, busArrearsCarryVehicleApply, "sid");
busArrearsCarryVehicleApply.setOrgSidPath(dto.getOrgPath());
busArrearsCarryVehicleApply.setCreateBySid(dto.getUserSid());
busArrearsCarryVehicleApply.setType("1");
busArrearsCarryVehicleApply.setContractNo(dto.getContractId());
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
busArrearsCarryVehicleApply.setUseOrgSid(useOrgSid);
List<String> carContract = dto.getCarContract();
if (!carContract.isEmpty()) {
String carContractImages = String.join(",", carContract).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busArrearsCarryVehicleApply.setCarContractFile(carContractImages);
}
List<String> guaranteeLetter = dto.getGuaranteeLetter();
if (!guaranteeLetter.isEmpty()) {
String guaranteeLetterImages = String.join(",", guaranteeLetter).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busArrearsCarryVehicleApply.setGuaranteeLetterFile(guaranteeLetterImages);
}
List<String> gdLetter = dto.getGdLetter();
if (!gdLetter.isEmpty()) {
String gdLetterImages = String.join(",", gdLetter).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busArrearsCarryVehicleApply.setGdLetterFile(gdLetterImages);
}
List<String> zjlLetter = dto.getZjlLetter();
if (!zjlLetter.isEmpty()) {
String zjlLetterImages = String.join(",", zjlLetter).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busArrearsCarryVehicleApply.setZjlLetterFile(zjlLetterImages);
}
//车辆
List<AdCarListVo> 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<PdfVo> 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<String> carContract = dto.getCarContract();
if (!carContract.isEmpty()) {
String carContractImages = String.join(",", carContract).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busArrearsCarryVehicleApply.setCarContractFile(carContractImages);
}
List<String> guaranteeLetter = dto.getGuaranteeLetter();
if (!guaranteeLetter.isEmpty()) {
String guaranteeLetterImages = String.join(",", guaranteeLetter).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busArrearsCarryVehicleApply.setGuaranteeLetterFile(guaranteeLetterImages);
}
List<String> gdLetter = dto.getGdLetter();
if (!gdLetter.isEmpty()) {
String gdLetterImages = String.join(",", gdLetter).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busArrearsCarryVehicleApply.setGdLetterFile(gdLetterImages);
}
List<String> zjlLetter = dto.getZjlLetter();
if (!zjlLetter.isEmpty()) {
String zjlLetterImages = String.join(",", zjlLetter).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busArrearsCarryVehicleApply.setZjlLetterFile(zjlLetterImages);
}
//车辆
List<AdCarListVo> 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<PdfVo> 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<BusAr
}
//修改欠款提车申请
updateById(busArrearsCarryVehicleApply);
return rb.success().setData(busArrearsCarryVehicleApply.getSid());
return rb.success().setData(busArrearsCarryVehicleApply.getSid());*/
}
public ResultBean submitAdvanceArrearsInfo(AppSubmitAdvanceArrearsDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
/* //根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
@ -883,7 +1288,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
}*/
return rb;
}
@ -895,7 +1300,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
*/
private synchronized int submitBusinessData(AppSubmitAdvanceArrearsDto dto, BusArrearsCarryVehicleApply busArrearsCarryVehicleApply) {
int r = 0;
if (StringUtils.isBlank(dto.getContractSid())) {
/*if (StringUtils.isBlank(dto.getContractSid())) {
r = 1;
} else {
if (busArrearsCarryVehicleApply != null) {
@ -911,7 +1316,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
r = 3;
}
}
}*/
return r;
}
@ -1335,4 +1740,37 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean saveArrearsApplyPdf(AppArrearsCarryDto dto) {
ResultBean rb = ResultBean.fireFail();
DownloadUrlVo downloadUrlVo = new DownloadUrlVo();
ResultBean<CreatePdfVo> 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;
}
}

16
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<BusArrearsCarryVehicleDetails> {
//@Update("update bus_arrears_carry_vehicle_details set name=#{msg} where id=#{id}")
//IPage<BusArrearsCarryVehicleDetailsVo> voPage(IPage<BusArrearsCarryVehicleDetails> page, @Param(Constants.WRAPPER) QueryWrapper<BusArrearsCarryVehicleDetails> qw);
IPage<BusArrearsCarryVehicleDetailsVo> selectPageVo(IPage<BusArrearsCarryVehicleDetails> page, @Param(Constants.WRAPPER) Wrapper<BusArrearsCarryVehicleDetails> qw);
@ -46,7 +44,7 @@ public interface BusArrearsCarryVehicleDetailsMapper extends BaseMapper<BusArrea
* @param sid 欠款提车Sid
* @return
*/
@Select("select * from bus_arrears_carry_vehicle_details where arrearsVehicleSid = #{sid}")
@Select("select * from bus_arrears_carry_vehicle_details where applySid = #{sid}")
List<BusArrearsCarryVehicleDetailsVo> selByArrearsSidList(String sid);
/**
@ -55,6 +53,16 @@ public interface BusArrearsCarryVehicleDetailsMapper extends BaseMapper<BusArrea
* @param sid
* @return
*/
@Delete("delete from bus_arrears_carry_vehicle_details where arrearsVehicleSid = #{sid}")
@Delete("delete from bus_arrears_carry_vehicle_details where applySid = #{sid}")
int deleteByArrearsVehicleSid(String sid);
List<String> selectByApplySid(String sid);
/**
* 根据欠款提车申请sid查询车辆信息
*
* @param sid
* @return
*/
List<BusArrearsCarryVehicleDetails> selectDetailsByApplySid(String sid);
}

27
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicledetails/BusArrearsCarryVehicleDetailsMapper.xml

@ -5,13 +5,32 @@
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo"
resultType="com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetailsVo">
SELECT * FROM bus_arrears_carry_vehicle_details
<where>${ew.sqlSegment}</where>
SELECT *
FROM bus_arrears_carry_vehicle_details
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo"
resultType="com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetailsVo">
SELECT * FROM bus_arrears_carry_vehicle_details
<where>${ew.sqlSegment}</where>
SELECT *
FROM bus_arrears_carry_vehicle_details
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectByApplySid" resultType="java.lang.String">
select vinSid
from bus_arrears_carry_vehicle_details
where applySid = #{sid}
</select>
<select id="selectDetailsByApplySid"
resultType="com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetails">
select *
from bus_arrears_carry_vehicle_details
where applySid = #{sid}
</select>
</mapper>

8
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<Bus
public int deleteByArrearsVehicleSid(String sid) {
return baseMapper.deleteByArrearsVehicleSid(sid);
}
public List<String> selectByApplySid(String sid) {
return baseMapper.selectByApplySid(sid);
}
public List<BusArrearsCarryVehicleDetails> selectDetailsByApplySid(String sid) {
return baseMapper.selectDetailsByApplySid(sid);
}
}

27
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<BuscenterFileMapper
@Autowired
private FileUploadComponent fileUploadComponent;
public List<BuscenterFile> selectByLinkSid(String sid,String attachType) {
return baseMapper.selectByLinkSid(sid,attachType);
public List<BuscenterFile> 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<String> entrustConfirmImages, String attachType) {
entrustConfirmImages.stream().forEach(str -> {
public void saveAll(String sid, List<String> 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<BuscenterFileMapper
}
public void delByLinkSidOrType(String sid, String attachType) {
baseMapper.delByLinkSidOrType(sid,attachType);
baseMapper.delByLinkSidOrType(sid, attachType);
}
public void saveFile(String sid, String filePath, String attachType) {
BuscenterFile buscenterFile = new BuscenterFile();
String str = filePath;
File file = new File(fileUploadComponent.getUploadPath() + str.replace("/", File.separator));
if (file != null) {
buscenterFile.setFileSize(fileUploadComponent.getPrintSize(file.length()));
}
buscenterFile.setLinkSid(sid);
buscenterFile.setFileName(str.substring(str.lastIndexOf("/") + 1, str.lastIndexOf(".")));
buscenterFile.setFileType(str.substring(str.lastIndexOf(".") + 1));
buscenterFile.setAttachType(attachType);
buscenterFile.setFilePath(str.replace(fileUploadComponent.getUrlPrefix(), ""));
save(buscenterFile);
}
}

1
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java

@ -315,6 +315,7 @@ public class BusSalesOrderVehicleService extends MybatisBaseService<BusSalesOrde
if (stringResultBean.getData() != null) {
adCarListVo.setSubscribedAll(stringResultBean.getData());
}
qCarVo.setVinDto(adCarListVo);
List<GCarListVo> gcList = new ArrayList<>();
ResultBean<TraliveredVo> voResultBean = baseTrailerFeign.trailerList(qCarVo.getCarSid(), query.getContractNo());
if(voResultBean.getData() != null){

834
anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/gd.ftl

@ -0,0 +1,834 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Word.Document"?>
<w:wordDocument xmlns:aml="http://schemas.microsoft.com/aml/2001/core"
xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas"
xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex"
xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex"
xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex"
xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex"
xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex"
xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex"
xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex"
xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex"
xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex"
xmlns:cr="http://schemas.microsoft.com/office/comments/2020/reactions"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink"
xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:oel="http://schemas.microsoft.com/office/2019/extlst" xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:w10="urn:schemas-microsoft-com:office:word"
xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml"
xmlns:w16du="http://schemas.microsoft.com/office/word/2023/wordml/word16du"
xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint"
xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml"
xmlns:wsp="http://schemas.microsoft.com/office/word/2003/wordml/sp2"
xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core" w:macrosPresent="no"
w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve"><w:ignoreSubtree
w:val="http://schemas.microsoft.com/office/word/2003/wordml/sp2"/>
<o:DocumentProperties>
<o:Author>dimengzhe</o:Author>
<o:LastAuthor>孟哲</o:LastAuthor>
<o:Revision>2</o:Revision>
<o:TotalTime>1</o:TotalTime>
<o:Created>2023-04-27T07:39:00Z</o:Created>
<o:LastSaved>2023-04-27T07:39:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Words>42</o:Words>
<o:Characters>245</o:Characters>
<o:Lines>2</o:Lines>
<o:Paragraphs>1</o:Paragraphs>
<o:CharactersWithSpaces>286</o:CharactersWithSpaces>
<o:Version>16</o:Version>
</o:DocumentProperties>
<o:CustomDocumentProperties>
<o:KSOProductBuildVer dt:dt="string">2052-11.1.0.14036</o:KSOProductBuildVer>
<o:ICV dt:dt="string">8D9EF930347E48428DF2F06AAB2A4FF2_12</o:ICV>
</o:CustomDocumentProperties>
<w:fonts>
<w:defaultFonts w:ascii="Calibri" w:fareast="宋体" w:h-ansi="Calibri" w:cs="Times New Roman"/>
<w:font w:name="Times New Roman">
<w:panose-1 w:val="02020603050405020304"/>
<w:charset w:val="00"/>
<w:family w:val="Roman"/>
<w:pitch w:val="variable"/>
<w:sig w:usb-0="E0002EFF" w:usb-1="C000785B" w:usb-2="00000009" w:usb-3="00000000" w:csb-0="000001FF"
w:csb-1="00000000"/>
</w:font>
<w:font w:name="宋体">
<w:altName w:val="SimSun"/>
<w:panose-1 w:val="02010600030101010101"/>
<w:charset w:val="86"/>
<w:family w:val="auto"/>
<w:pitch w:val="variable"/>
<w:sig w:usb-0="00000203" w:usb-1="288F0000" w:usb-2="00000016" w:usb-3="00000000" w:csb-0="00040001"
w:csb-1="00000000"/>
</w:font>
<w:font w:name="Cambria Math">
<w:panose-1 w:val="02040503050406030204"/>
<w:charset w:val="00"/>
<w:family w:val="Roman"/>
<w:pitch w:val="variable"/>
<w:sig w:usb-0="00000003" w:usb-1="00000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="00000001"
w:csb-1="00000000"/>
</w:font>
<w:font w:name="Calibri">
<w:panose-1 w:val="020F0502020204030204"/>
<w:charset w:val="00"/>
<w:family w:val="Swiss"/>
<w:pitch w:val="variable"/>
<w:sig w:usb-0="E4002EFF" w:usb-1="C000247B" w:usb-2="00000009" w:usb-3="00000000" w:csb-0="000001FF"
w:csb-1="00000000"/>
</w:font>
<w:font w:name="@宋体">
<w:panose-1 w:val="02010600030101010101"/>
<w:charset w:val="86"/>
<w:family w:val="auto"/>
<w:pitch w:val="variable"/>
<w:sig w:usb-0="00000203" w:usb-1="288F0000" w:usb-2="00000016" w:usb-3="00000000" w:csb-0="00040001"
w:csb-1="00000000"/>
</w:font>
</w:fonts>
<w:styles>
<w:versionOfBuiltInStylenames w:val="7"/>
<w:latentStyles w:defLockedState="off" w:latentStyleCount="376">
<w:lsdException w:name="Normal"/>
<w:lsdException w:name="heading 1"/>
<w:lsdException w:name="heading 2"/>
<w:lsdException w:name="heading 3"/>
<w:lsdException w:name="heading 4"/>
<w:lsdException w:name="heading 5"/>
<w:lsdException w:name="heading 6"/>
<w:lsdException w:name="heading 7"/>
<w:lsdException w:name="heading 8"/>
<w:lsdException w:name="heading 9"/>
<w:lsdException w:name="caption"/>
<w:lsdException w:name="Title"/>
<w:lsdException w:name="Default Paragraph Font"/>
<w:lsdException w:name="Subtitle"/>
<w:lsdException w:name="Strong"/>
<w:lsdException w:name="Emphasis"/>
<w:lsdException w:name="HTML Top of Form"/>
<w:lsdException w:name="HTML Bottom of Form"/>
<w:lsdException w:name="Normal Table"/>
<w:lsdException w:name="No List"/>
<w:lsdException w:name="Outline List 1"/>
<w:lsdException w:name="Outline List 2"/>
<w:lsdException w:name="Outline List 3"/>
<w:lsdException w:name="Table Simple 1"/>
<w:lsdException w:name="Table Simple 2"/>
<w:lsdException w:name="Table Simple 3"/>
<w:lsdException w:name="Table Classic 1"/>
<w:lsdException w:name="Table Classic 2"/>
<w:lsdException w:name="Table Classic 3"/>
<w:lsdException w:name="Table Classic 4"/>
<w:lsdException w:name="Table Colorful 1"/>
<w:lsdException w:name="Table Colorful 2"/>
<w:lsdException w:name="Table Colorful 3"/>
<w:lsdException w:name="Table Columns 1"/>
<w:lsdException w:name="Table Columns 2"/>
<w:lsdException w:name="Table Columns 3"/>
<w:lsdException w:name="Table Columns 4"/>
<w:lsdException w:name="Table Columns 5"/>
<w:lsdException w:name="Table Grid 1"/>
<w:lsdException w:name="Table Grid 2"/>
<w:lsdException w:name="Table Grid 3"/>
<w:lsdException w:name="Table Grid 4"/>
<w:lsdException w:name="Table Grid 5"/>
<w:lsdException w:name="Table Grid 6"/>
<w:lsdException w:name="Table Grid 7"/>
<w:lsdException w:name="Table Grid 8"/>
<w:lsdException w:name="Table List 1"/>
<w:lsdException w:name="Table List 2"/>
<w:lsdException w:name="Table List 3"/>
<w:lsdException w:name="Table List 4"/>
<w:lsdException w:name="Table List 5"/>
<w:lsdException w:name="Table List 6"/>
<w:lsdException w:name="Table List 7"/>
<w:lsdException w:name="Table List 8"/>
<w:lsdException w:name="Table 3D effects 1"/>
<w:lsdException w:name="Table 3D effects 2"/>
<w:lsdException w:name="Table 3D effects 3"/>
<w:lsdException w:name="Table Contemporary"/>
<w:lsdException w:name="Table Elegant"/>
<w:lsdException w:name="Table Professional"/>
<w:lsdException w:name="Table Subtle 1"/>
<w:lsdException w:name="Table Subtle 2"/>
<w:lsdException w:name="Table Web 1"/>
<w:lsdException w:name="Table Web 2"/>
<w:lsdException w:name="Table Web 3"/>
<w:lsdException w:name="Table Theme"/>
<w:lsdException w:name="Placeholder Text"/>
<w:lsdException w:name="No Spacing"/>
<w:lsdException w:name="Light Shading"/>
<w:lsdException w:name="Light List"/>
<w:lsdException w:name="Light Grid"/>
<w:lsdException w:name="Medium Shading 1"/>
<w:lsdException w:name="Medium Shading 2"/>
<w:lsdException w:name="Medium List 1"/>
<w:lsdException w:name="Medium List 2"/>
<w:lsdException w:name="Medium Grid 1"/>
<w:lsdException w:name="Medium Grid 2"/>
<w:lsdException w:name="Medium Grid 3"/>
<w:lsdException w:name="Dark List"/>
<w:lsdException w:name="Colorful Shading"/>
<w:lsdException w:name="Colorful List"/>
<w:lsdException w:name="Colorful Grid"/>
<w:lsdException w:name="Light Shading Accent 1"/>
<w:lsdException w:name="Light List Accent 1"/>
<w:lsdException w:name="Light Grid Accent 1"/>
<w:lsdException w:name="Medium Shading 1 Accent 1"/>
<w:lsdException w:name="Medium Shading 2 Accent 1"/>
<w:lsdException w:name="Medium List 1 Accent 1"/>
<w:lsdException w:name="Revision"/>
<w:lsdException w:name="List Paragraph"/>
<w:lsdException w:name="Quote"/>
<w:lsdException w:name="Intense Quote"/>
<w:lsdException w:name="Medium List 2 Accent 1"/>
<w:lsdException w:name="Medium Grid 1 Accent 1"/>
<w:lsdException w:name="Medium Grid 2 Accent 1"/>
<w:lsdException w:name="Medium Grid 3 Accent 1"/>
<w:lsdException w:name="Dark List Accent 1"/>
<w:lsdException w:name="Colorful Shading Accent 1"/>
<w:lsdException w:name="Colorful List Accent 1"/>
<w:lsdException w:name="Colorful Grid Accent 1"/>
<w:lsdException w:name="Light Shading Accent 2"/>
<w:lsdException w:name="Light List Accent 2"/>
<w:lsdException w:name="Light Grid Accent 2"/>
<w:lsdException w:name="Medium Shading 1 Accent 2"/>
<w:lsdException w:name="Medium Shading 2 Accent 2"/>
<w:lsdException w:name="Medium List 1 Accent 2"/>
<w:lsdException w:name="Medium List 2 Accent 2"/>
<w:lsdException w:name="Medium Grid 1 Accent 2"/>
<w:lsdException w:name="Medium Grid 2 Accent 2"/>
<w:lsdException w:name="Medium Grid 3 Accent 2"/>
<w:lsdException w:name="Dark List Accent 2"/>
<w:lsdException w:name="Colorful Shading Accent 2"/>
<w:lsdException w:name="Colorful List Accent 2"/>
<w:lsdException w:name="Colorful Grid Accent 2"/>
<w:lsdException w:name="Light Shading Accent 3"/>
<w:lsdException w:name="Light List Accent 3"/>
<w:lsdException w:name="Light Grid Accent 3"/>
<w:lsdException w:name="Medium Shading 1 Accent 3"/>
<w:lsdException w:name="Medium Shading 2 Accent 3"/>
<w:lsdException w:name="Medium List 1 Accent 3"/>
<w:lsdException w:name="Medium List 2 Accent 3"/>
<w:lsdException w:name="Medium Grid 1 Accent 3"/>
<w:lsdException w:name="Medium Grid 2 Accent 3"/>
<w:lsdException w:name="Medium Grid 3 Accent 3"/>
<w:lsdException w:name="Dark List Accent 3"/>
<w:lsdException w:name="Colorful Shading Accent 3"/>
<w:lsdException w:name="Colorful List Accent 3"/>
<w:lsdException w:name="Colorful Grid Accent 3"/>
<w:lsdException w:name="Light Shading Accent 4"/>
<w:lsdException w:name="Light List Accent 4"/>
<w:lsdException w:name="Light Grid Accent 4"/>
<w:lsdException w:name="Medium Shading 1 Accent 4"/>
<w:lsdException w:name="Medium Shading 2 Accent 4"/>
<w:lsdException w:name="Medium List 1 Accent 4"/>
<w:lsdException w:name="Medium List 2 Accent 4"/>
<w:lsdException w:name="Medium Grid 1 Accent 4"/>
<w:lsdException w:name="Medium Grid 2 Accent 4"/>
<w:lsdException w:name="Medium Grid 3 Accent 4"/>
<w:lsdException w:name="Dark List Accent 4"/>
<w:lsdException w:name="Colorful Shading Accent 4"/>
<w:lsdException w:name="Colorful List Accent 4"/>
<w:lsdException w:name="Colorful Grid Accent 4"/>
<w:lsdException w:name="Light Shading Accent 5"/>
<w:lsdException w:name="Light List Accent 5"/>
<w:lsdException w:name="Light Grid Accent 5"/>
<w:lsdException w:name="Medium Shading 1 Accent 5"/>
<w:lsdException w:name="Medium Shading 2 Accent 5"/>
<w:lsdException w:name="Medium List 1 Accent 5"/>
<w:lsdException w:name="Medium List 2 Accent 5"/>
<w:lsdException w:name="Medium Grid 1 Accent 5"/>
<w:lsdException w:name="Medium Grid 2 Accent 5"/>
<w:lsdException w:name="Medium Grid 3 Accent 5"/>
<w:lsdException w:name="Dark List Accent 5"/>
<w:lsdException w:name="Colorful Shading Accent 5"/>
<w:lsdException w:name="Colorful List Accent 5"/>
<w:lsdException w:name="Colorful Grid Accent 5"/>
<w:lsdException w:name="Light Shading Accent 6"/>
<w:lsdException w:name="Light List Accent 6"/>
<w:lsdException w:name="Light Grid Accent 6"/>
<w:lsdException w:name="Medium Shading 1 Accent 6"/>
<w:lsdException w:name="Medium Shading 2 Accent 6"/>
<w:lsdException w:name="Medium List 1 Accent 6"/>
<w:lsdException w:name="Medium List 2 Accent 6"/>
<w:lsdException w:name="Medium Grid 1 Accent 6"/>
<w:lsdException w:name="Medium Grid 2 Accent 6"/>
<w:lsdException w:name="Medium Grid 3 Accent 6"/>
<w:lsdException w:name="Dark List Accent 6"/>
<w:lsdException w:name="Colorful Shading Accent 6"/>
<w:lsdException w:name="Colorful List Accent 6"/>
<w:lsdException w:name="Colorful Grid Accent 6"/>
<w:lsdException w:name="Subtle Emphasis"/>
<w:lsdException w:name="Intense Emphasis"/>
<w:lsdException w:name="Subtle Reference"/>
<w:lsdException w:name="Intense Reference"/>
<w:lsdException w:name="Book Title"/>
<w:lsdException w:name="Bibliography"/>
<w:lsdException w:name="TOC Heading"/>
<w:lsdException w:name="Plain Table 1"/>
<w:lsdException w:name="Plain Table 2"/>
<w:lsdException w:name="Plain Table 3"/>
<w:lsdException w:name="Plain Table 4"/>
<w:lsdException w:name="Plain Table 5"/>
<w:lsdException w:name="Grid Table Light"/>
<w:lsdException w:name="Grid Table 1 Light"/>
<w:lsdException w:name="Grid Table 2"/>
<w:lsdException w:name="Grid Table 3"/>
<w:lsdException w:name="Grid Table 4"/>
<w:lsdException w:name="Grid Table 5 Dark"/>
<w:lsdException w:name="Grid Table 6 Colorful"/>
<w:lsdException w:name="Grid Table 7 Colorful"/>
<w:lsdException w:name="Grid Table 1 Light Accent 1"/>
<w:lsdException w:name="Grid Table 2 Accent 1"/>
<w:lsdException w:name="Grid Table 3 Accent 1"/>
<w:lsdException w:name="Grid Table 4 Accent 1"/>
<w:lsdException w:name="Grid Table 5 Dark Accent 1"/>
<w:lsdException w:name="Grid Table 6 Colorful Accent 1"/>
<w:lsdException w:name="Grid Table 7 Colorful Accent 1"/>
<w:lsdException w:name="Grid Table 1 Light Accent 2"/>
<w:lsdException w:name="Grid Table 2 Accent 2"/>
<w:lsdException w:name="Grid Table 3 Accent 2"/>
<w:lsdException w:name="Grid Table 4 Accent 2"/>
<w:lsdException w:name="Grid Table 5 Dark Accent 2"/>
<w:lsdException w:name="Grid Table 6 Colorful Accent 2"/>
<w:lsdException w:name="Grid Table 7 Colorful Accent 2"/>
<w:lsdException w:name="Grid Table 1 Light Accent 3"/>
<w:lsdException w:name="Grid Table 2 Accent 3"/>
<w:lsdException w:name="Grid Table 3 Accent 3"/>
<w:lsdException w:name="Grid Table 4 Accent 3"/>
<w:lsdException w:name="Grid Table 5 Dark Accent 3"/>
<w:lsdException w:name="Grid Table 6 Colorful Accent 3"/>
<w:lsdException w:name="Grid Table 7 Colorful Accent 3"/>
<w:lsdException w:name="Grid Table 1 Light Accent 4"/>
<w:lsdException w:name="Grid Table 2 Accent 4"/>
<w:lsdException w:name="Grid Table 3 Accent 4"/>
<w:lsdException w:name="Grid Table 4 Accent 4"/>
<w:lsdException w:name="Grid Table 5 Dark Accent 4"/>
<w:lsdException w:name="Grid Table 6 Colorful Accent 4"/>
<w:lsdException w:name="Grid Table 7 Colorful Accent 4"/>
<w:lsdException w:name="Grid Table 1 Light Accent 5"/>
<w:lsdException w:name="Grid Table 2 Accent 5"/>
<w:lsdException w:name="Grid Table 3 Accent 5"/>
<w:lsdException w:name="Grid Table 4 Accent 5"/>
<w:lsdException w:name="Grid Table 5 Dark Accent 5"/>
<w:lsdException w:name="Grid Table 6 Colorful Accent 5"/>
<w:lsdException w:name="Grid Table 7 Colorful Accent 5"/>
<w:lsdException w:name="Grid Table 1 Light Accent 6"/>
<w:lsdException w:name="Grid Table 2 Accent 6"/>
<w:lsdException w:name="Grid Table 3 Accent 6"/>
<w:lsdException w:name="Grid Table 4 Accent 6"/>
<w:lsdException w:name="Grid Table 5 Dark Accent 6"/>
<w:lsdException w:name="Grid Table 6 Colorful Accent 6"/>
<w:lsdException w:name="Grid Table 7 Colorful Accent 6"/>
<w:lsdException w:name="List Table 1 Light"/>
<w:lsdException w:name="List Table 2"/>
<w:lsdException w:name="List Table 3"/>
<w:lsdException w:name="List Table 4"/>
<w:lsdException w:name="List Table 5 Dark"/>
<w:lsdException w:name="List Table 6 Colorful"/>
<w:lsdException w:name="List Table 7 Colorful"/>
<w:lsdException w:name="List Table 1 Light Accent 1"/>
<w:lsdException w:name="List Table 2 Accent 1"/>
<w:lsdException w:name="List Table 3 Accent 1"/>
<w:lsdException w:name="List Table 4 Accent 1"/>
<w:lsdException w:name="List Table 5 Dark Accent 1"/>
<w:lsdException w:name="List Table 6 Colorful Accent 1"/>
<w:lsdException w:name="List Table 7 Colorful Accent 1"/>
<w:lsdException w:name="List Table 1 Light Accent 2"/>
<w:lsdException w:name="List Table 2 Accent 2"/>
<w:lsdException w:name="List Table 3 Accent 2"/>
<w:lsdException w:name="List Table 4 Accent 2"/>
<w:lsdException w:name="List Table 5 Dark Accent 2"/>
<w:lsdException w:name="List Table 6 Colorful Accent 2"/>
<w:lsdException w:name="List Table 7 Colorful Accent 2"/>
<w:lsdException w:name="List Table 1 Light Accent 3"/>
<w:lsdException w:name="List Table 2 Accent 3"/>
<w:lsdException w:name="List Table 3 Accent 3"/>
<w:lsdException w:name="List Table 4 Accent 3"/>
<w:lsdException w:name="List Table 5 Dark Accent 3"/>
<w:lsdException w:name="List Table 6 Colorful Accent 3"/>
<w:lsdException w:name="List Table 7 Colorful Accent 3"/>
<w:lsdException w:name="List Table 1 Light Accent 4"/>
<w:lsdException w:name="List Table 2 Accent 4"/>
<w:lsdException w:name="List Table 3 Accent 4"/>
<w:lsdException w:name="List Table 4 Accent 4"/>
<w:lsdException w:name="List Table 5 Dark Accent 4"/>
<w:lsdException w:name="List Table 6 Colorful Accent 4"/>
<w:lsdException w:name="List Table 7 Colorful Accent 4"/>
<w:lsdException w:name="List Table 1 Light Accent 5"/>
<w:lsdException w:name="List Table 2 Accent 5"/>
<w:lsdException w:name="List Table 3 Accent 5"/>
<w:lsdException w:name="List Table 4 Accent 5"/>
<w:lsdException w:name="List Table 5 Dark Accent 5"/>
<w:lsdException w:name="List Table 6 Colorful Accent 5"/>
<w:lsdException w:name="List Table 7 Colorful Accent 5"/>
<w:lsdException w:name="List Table 1 Light Accent 6"/>
<w:lsdException w:name="List Table 2 Accent 6"/>
<w:lsdException w:name="List Table 3 Accent 6"/>
<w:lsdException w:name="List Table 4 Accent 6"/>
<w:lsdException w:name="List Table 5 Dark Accent 6"/>
<w:lsdException w:name="List Table 6 Colorful Accent 6"/>
<w:lsdException w:name="List Table 7 Colorful Accent 6"/>
<w:lsdException w:name="Mention"/>
<w:lsdException w:name="Smart Hyperlink"/>
<w:lsdException w:name="Hashtag"/>
<w:lsdException w:name="Unresolved Mention"/>
<w:lsdException w:name="Smart Link"/>
</w:latentStyles>
<w:style w:type="paragraph" w:default="on" w:styleId="a">
<w:name w:val="Normal"/>
<wx:uiName wx:val="正文"/>
<w:pPr>
<w:widowControl w:val="off"/>
<w:jc w:val="both"/>
</w:pPr>
<w:rPr>
<w:rFonts w:ascii="Times New Roman" w:h-ansi="Times New Roman"/>
<wx:font wx:val="Times New Roman"/>
<w:kern w:val="2"/>
<w:sz w:val="21"/>
<w:sz-cs w:val="24"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN" w:bidi="AR-SA"/>
</w:rPr>
</w:style>
<w:style w:type="character" w:default="on" w:styleId="a0">
<w:name w:val="Default Paragraph Font"/>
<wx:uiName wx:val="默认段落字体"/>
</w:style>
<w:style w:type="table" w:default="on" w:styleId="a1">
<w:name w:val="Normal Table"/>
<wx:uiName wx:val="普通表格"/>
<w:rPr>
<wx:font wx:val="Calibri"/>
<w:lang w:val="EN-US" w:fareast="ZH-CN" w:bidi="AR-SA"/>
</w:rPr>
<w:tblPr>
<w:tblInd w:w="0" w:type="dxa"/>
<w:tblCellMar>
<w:top w:w="0" w:type="dxa"/>
<w:left w:w="108" w:type="dxa"/>
<w:bottom w:w="0" w:type="dxa"/>
<w:right w:w="108" w:type="dxa"/>
</w:tblCellMar>
</w:tblPr>
</w:style>
<w:style w:type="list" w:default="on" w:styleId="a2">
<w:name w:val="No List"/>
<wx:uiName wx:val="无列表"/>
</w:style>
</w:styles>
<w:shapeDefaults>
<o:shapedefaults v:ext="edit" spidmax="1026"/>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout>
</w:shapeDefaults>
<w:docPr>
<w:view w:val="print"/>
<w:zoom w:percent="100"/>
<w:bordersDontSurroundHeader/>
<w:bordersDontSurroundFooter/>
<w:proofState w:spelling="clean" w:grammar="clean"/>
<w:defaultTabStop w:val="420"/>
<w:drawingGridVerticalSpacing w:val="156"/>
<w:displayHorizontalDrawingGridEvery w:val="0"/>
<w:displayVerticalDrawingGridEvery w:val="2"/>
<w:punctuationKerning/>
<w:characterSpacingControl w:val="CompressPunctuation"/>
<w:validateAgainstSchema/>
<w:saveInvalidXML w:val="off"/>
<w:ignoreMixedContent w:val="off"/>
<w:alwaysShowPlaceholderText w:val="off"/>
<w:compat>
<w:spaceForUL/>
<w:balanceSingleByteDoubleByteWidth/>
<w:doNotLeaveBackslashAlone/>
<w:ulTrailSpace/>
<w:doNotExpandShiftReturn/>
<w:adjustLineHeightInTable/>
<w:breakWrappedTables/>
<w:snapToGridInCell/>
<w:wrapTextWithPunct/>
<w:useAsianBreakRules/>
<w:dontGrowAutofit/>
<w:useFELayout/>
</w:compat>
<w:docVars>
<w:docVar w:name="commondata" w:val="eyJoZGlkIjoiN2YzNjBkOTgyNWQ1YTMxYzM3MzMwNWFiODNmOWIzYWMifQ=="/>
</w:docVars>
<wsp:rsids>
<wsp:rsidRoot wsp:val="00B67617"/>
<wsp:rsid wsp:val="00B67617"/>
<wsp:rsid wsp:val="00E63E8D"/>
<wsp:rsid wsp:val="05C27610"/>
</wsp:rsids>
</w:docPr>
<w:body>
<wx:sect>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00B67617">
<w:pPr>
<w:spacing w:line="440" w:line-rule="exact"/>
<w:ind w:first-line-chars="2300" w:first-line="4830"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体"/>
<wx:font wx:val="宋体"/>
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
</w:p>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00000000">
<w:pPr>
<w:tabs>
<w:tab w:val="left" w:pos="1320"/>
</w:tabs>
<w:spacing w:line="360" w:line-rule="auto"/>
<w:jc w:val="center"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体"/>
<wx:font wx:val="宋体"/>
<w:b/>
<w:sz w:val="36"/>
<w:sz-cs w:val="36"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:b/>
<w:sz w:val="36"/>
<w:sz-cs w:val="36"/>
</w:rPr>
<w:t>股东会对外担保决议</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
<w:spacing w:before="100" w:before-autospacing="on" w:after="100" w:after-autospacing="on"/>
<w:ind w:first-line-chars="2050" w:first-line="4920"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
<w:t></w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
<w:spacing w:before="100" w:before-autospacing="on" w:after="100" w:after-autospacing="on"/>
<w:ind w:first-line-chars="200" w:first-line="480"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
<w:t>议题:关于是否同意本公司提供担保事宜。</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
<w:spacing w:before="100" w:before-autospacing="on" w:after="100" w:after-autospacing="on"
w:line="480" w:line-rule="auto"/>
<w:ind w:first-line-chars="200" w:first-line="480"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
<w:t>根据《公司法》和公司章程规定,股东会会议应到股东</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
<w:u w:val="single"/>
</w:rPr>
<w:t>       </w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
<w:t>名,实到</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
<w:u w:val="single"/>
</w:rPr>
<w:t>      </w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
<w:t>名,所持股份占公司全部股份</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> </w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
<w:t>%。本次股东会召集与所作决议符合公司章程和《公司法》的规定,所作决议合法有效。与会股东经审议、表决,一致通过以下决议:</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
<w:spacing w:before="100" w:before-autospacing="on" w:after="100" w:after-autospacing="on"
w:line="480" w:line-rule="auto"/>
<w:ind w:first-line-chars="200" w:first-line="480"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
<w:t>同意本公司在《欠款提车担保承诺书》中为</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
<w:u w:val="single"/>
</w:rPr>
<w:t></w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
<w:t>向</w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
<w:u w:val="single"/>
</w:rPr>
<w:t></w:t>
</w:r>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
<w:t>提供连带责任担保。</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00B67617">
<w:pPr>
<w:widowControl/>
<w:spacing w:before="100" w:before-autospacing="on" w:after="100" w:after-autospacing="on"
w:line="480" w:line-rule="auto"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
</w:pPr>
</w:p>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
<w:spacing w:before="100" w:before-autospacing="on" w:after="100" w:after-autospacing="on"
w:line="480" w:line-rule="auto"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
<w:t>与会股东签字:</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00B67617">
<w:pPr>
<w:ind w:first-line-chars="950" w:first-line="2280"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
<w:u w:val="single"/>
</w:rPr>
</w:pPr>
</w:p>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00B67617">
<w:pPr>
<w:ind w:first-line-chars="950" w:first-line="2280"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
<w:u w:val="single"/>
</w:rPr>
</w:pPr>
</w:p>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00000000">
<w:pPr>
<w:ind w:first-line-chars="1250" w:first-line="3000"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
<w:t>          公司(公章)</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00000000">
<w:pPr>
<w:ind w:first-line-chars="1500" w:first-line="3600"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
<w:t></w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00000000">
<w:pPr>
<w:ind w:first-line-chars="2200" w:first-line="5280"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:kern w:val="0"/>
<w:sz w:val="24"/>
</w:rPr>
<w:t> 年 月 日</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00B67617">
<w:pPr>
<w:spacing w:line="440" w:line-rule="exact"/>
<w:ind w:first-line-chars="2300" w:first-line="4830"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体"/>
<wx:font wx:val="宋体"/>
<w:sz-cs w:val="21"/>
</w:rPr>
</w:pPr>
</w:p>
<w:p wsp:rsidR="00B67617" wsp:rsidRDefault="00B67617"/>
<w:sectPr wsp:rsidR="00B67617">
<w:pgSz w:w="11906" w:h="16838"/>
<w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="851" w:footer="992"
w:gutter="0"/>
<w:cols w:space="425"/>
<w:docGrid w:type="lines" w:line-pitch="312"/>
</w:sectPr>
</wx:sect>
</w:body></w:wordDocument>

91
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<AppCarListVo> vinList = new ArrayList<>();
@ApiModelProperty("欠款提车挂车列表")
private List<GcCarListVo> trailersList = new ArrayList<>();
@ApiModelProperty("车辆买卖合同")
private List<String> carContract = new ArrayList<>();
@ApiModelProperty("欠款提车担保承诺书")
private List<String> guaranteeLetter = new ArrayList<>();
@ApiModelProperty("股东会对外担保决议")
private List<String> gdLetter = new ArrayList<>();
@ApiModelProperty("总经理担保书")
private List<String> 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<String> fileList = new ArrayList<>();
}

7
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<List<ArrearsCarVo>> getCanUseCars(@RequestParam("contractNo") String contractNo, @RequestParam("vinSids") List<String> vinSids);
ResultBean<List<ArrearsCarVo>> 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

7
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<List<ArrearsCarVo>> getCanUseCars(String contractNo, List<String> vinSids) {
public ResultBean<List<ArrearsCarVo>> 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;

19
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<String> vinSids = new ArrayList<>();
}

9
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<List<ArrearsCarVo>> getCanUseCars(String contractNo, List<String> vinSids) {
return appBusArrearsCarryVehicleApplyService.getCanUseCars(contractNo, vinSids);
public ResultBean<List<ArrearsCarVo>> 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);

18
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<List<ArrearsCarVo>> getCanUseCars(String contractNo, List<String> vinSids) {
public ResultBean<List<ArrearsCarVo>> getCanUseCars(CarsQuery query) {
ResultBean<List<ArrearsCarVo>> rb = ResultBean.fireFail();
QCarQuery qCarQuery = new QCarQuery();
qCarQuery.setContractNo(contractNo);
qCarQuery.setVinSids(vinSids);
BeanUtil.copyProperties(query,qCarQuery);
ResultBean<List<QCarVo>> resultBean = busSalesOrderVehicleFeign.getCanUseCars(qCarQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
@ -238,4 +241,11 @@ public class AppBusArrearsCarryVehicleApplyService {
List<ArrearsCarVo> 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;
}
}

87
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 ='欠款提车车辆信息';

Loading…
Cancel
Save