Browse Source

合同审核后更新客户档案以及交车确认部分模板

master
dimengzhe 2 years ago
parent
commit
a6a28ff6e9
  1. 54
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  2. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/buscenterfile/BuscenterFileEnum.java
  3. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverVo.java
  4. 18
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/DownloadVo.java
  5. 18
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusItemVo.java
  6. 19
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusItemsListVo.java
  7. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/buscenterfile/BuscenterFileMapper.java
  8. 10
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/buscenterfile/BuscenterFileMapper.xml
  9. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/buscenterfile/BuscenterFileService.java
  10. 344
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java
  11. 6
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsMapper.java
  12. 12
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsMapper.xml
  13. 8
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsService.java
  14. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml
  15. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/application.yml
  16. 1097
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/entrust.ftl
  17. 1200
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/entrustConfirm.ftl
  18. 1666
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/outdoor.ftl
  19. 2060
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/receiveCar.ftl
  20. 22
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerFileDDto.java
  21. 4
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java
  22. 5
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java
  23. 2
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileMapper.java
  24. 35
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileMapper.xml
  25. 7
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileService.java
  26. 6
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java
  27. 36
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java
  28. 17
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryDownUrlVo.java
  29. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryListVo.java
  30. 30
      doc/databases/base_tables.sql

54
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java

@ -28,6 +28,7 @@ import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
import com.yxt.anrui.crm.api.crmcustomer.CrmCustomerFeign;
import com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerFileDDto;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign;
@ -1101,29 +1102,29 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
vo.setSiteSigImages(siteSig);
}
if (StringUtils.isNotBlank(vo.getCustomerKey())) {
if ("1".equals(vo.getCustomerKey())) {
//查询客户的档案库中是否有图片
ResultBean<List<String>> resultBean = crmCustomerTempFeign.selectCustomerFile(vo.getCustomerSid());
List<String> stringList = resultBean.getData();
if (stringList.size() > 0) {
vo.setIdCardArchives(true);
vo.setIdCardImages(stringList);
} else {
vo.setIdCardArchives(false);
if (StringUtils.isNotBlank(vo.getIdImagesUrl())) {
String[] split3 = vo.getIdImagesUrl().split(",");
List<String> idCard = new ArrayList<>();
List<String> idCardImages = Arrays.asList(split3);
for (String idCardImage : idCardImages) {
String idCardImagesUrl = urlPrefix + idCardImage;
idCard.add(idCardImagesUrl);
}
vo.setIdCardImages(idCard);
} else {
vo.setIdCardImages(new ArrayList<>());
// if ("1".equals(vo.getCustomerKey())) {
//查询客户的档案库中是否有图片
ResultBean<List<String>> resultBean = crmCustomerTempFeign.selectCustomerFile(vo.getCustomerSid());
List<String> stringList = resultBean.getData();
if (stringList.size() > 0) {
vo.setIdCardArchives(true);
vo.setIdCardImages(stringList);
} else {
vo.setIdCardArchives(false);
if (StringUtils.isNotBlank(vo.getIdImagesUrl())) {
String[] split3 = vo.getIdImagesUrl().split(",");
List<String> idCard = new ArrayList<>();
List<String> idCardImages = Arrays.asList(split3);
for (String idCardImage : idCardImages) {
String idCardImagesUrl = urlPrefix + idCardImage;
idCard.add(idCardImagesUrl);
}
vo.setIdCardImages(idCard);
} else {
vo.setIdCardImages(new ArrayList<>());
}
}
// }
}
return vo;
}
@ -1341,7 +1342,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
String totalPrice = priceInfo.getTotalPrice();
String priceRemarks = "";
//车价合计大写
if(StringUtils.isNotBlank(totalPrice)){
if (StringUtils.isNotBlank(totalPrice)) {
priceRemarks = TransformMoney.transform(TransformMoney.getDecimalStr(Double.valueOf(totalPrice).doubleValue()));
}
//交纳订金
@ -1615,6 +1616,17 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
appOrderContractNoDto.setContractNo(commonContract.getContractNo());
appOrderContractNoDto.setSaleOrderSid(commonContract.getBusSid());
busSalesOrderFeign.updateContractNoBySid(appOrderContractNoDto);
//更新客户中的证件
ResultBean<List<String>> listResultBean = crmCustomerTempFeign.selectCustomerFile(commonContract.getCustomerSid());
List<String> stringList = listResultBean.getData();
if (stringList.size() == 0) {
//初始化客户档案并保存
CrmCustomerFileDDto crmCustomerFileDDto = new CrmCustomerFileDDto();
crmCustomerFileDDto.setUserSid(bv.getUserSid());
crmCustomerFileDDto.setCustomerSid(commonContract.getCustomerSid());
crmCustomerFileDDto.setIdImages(Arrays.asList(commonContract.getIdImagesUrl().split(",")));
ResultBean resultBean1 = crmCustomerTempFeign.saveFileCustomer(crmCustomerFileDDto);
}
}
return rb.success().setData(resultBean.getData());
} else {

4
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/buscenterfile/BuscenterFileEnum.java

@ -12,6 +12,10 @@ public enum BuscenterFileEnum {
IDCARD_IMAGES("003", "委托人身份证(正反面)"),
ENTRUST_CONFIRM_IMAGES("004", "交车资料确认单"),
EXIT_TICKET_IMAGES("005", "出门证照片"),
RECEIVE_CAR("006", "接收车辆确认书"),
ENTRUST("007", "委托提车授权书"),
ENTRUST_CONFIRM("008", "交车资料确认单"),
EXIT_TICKET("009", "出门证"),
;

4
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/BusHandoverVo.java

@ -6,6 +6,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-buscenter(业务中心) <br/>
* File: BusHandoverVo.java <br/>
@ -41,5 +44,6 @@ public class BusHandoverVo implements Vo {
@ApiModelProperty("记录sid")
private String sid;
//下载路径
private List<DownloadVo> fileResps = new ArrayList<>();
}

18
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandover/DownloadVo.java

@ -0,0 +1,18 @@
package com.yxt.anrui.buscenter.api.bushandover;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/11/15 22:02
* @Description
*/
@Data
public class DownloadVo implements Vo {
private static final long serialVersionUID = -436246426474940366L;
private String name;
private String downloadUrl;
}

18
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusItemVo.java

@ -0,0 +1,18 @@
package com.yxt.anrui.buscenter.api.bushandoveritems;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/11/15 16:32
* @Description
*/
@Data
public class BusItemVo implements Vo {
private static final long serialVersionUID = -2750251940103150209L;
private String vinNo;
private String itemValue;
}

19
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bushandoveritems/BusItemsListVo.java

@ -0,0 +1,19 @@
package com.yxt.anrui.buscenter.api.bushandoveritems;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/11/15 19:10
* @Description
*/
@Data
public class BusItemsListVo implements Vo {
private static final long serialVersionUID = -3594117540119076368L;
private String vinNo;
@ApiModelProperty("发动机号")
private String engineNo;
}

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/buscenterfile/BuscenterFileMapper.java

@ -17,4 +17,6 @@ public interface BuscenterFileMapper extends BaseMapper<BuscenterFile> {
List<BuscenterFile> selectByLinkSid(@Param("sid") String sid, @Param("attachType")String attachType);
int deleteByLinkSid(String sid);
BuscenterFile selectByLinkSidOne(@Param("sid") String sid, @Param("attachType") String attachType);
}

10
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/buscenterfile/BuscenterFileMapper.xml

@ -4,7 +4,8 @@
<select id="selectByLinkSid" resultType="com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFile">
select *
from buscenter_file
where linkSid = #{sid} and attachType = #{attachType}
where linkSid = #{sid}
and attachType = #{attachType}
</select>
<delete id="deleteByLinkSid">
@ -12,4 +13,11 @@
from buscenter_file
where linkSid = #{sid}
</delete>
<select id="selectByLinkSidOne" resultType="com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFile">
select *
from buscenter_file
where attachType = #{attachType}
and linkSid = #{sid}
</select>
</mapper>

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/buscenterfile/BuscenterFileService.java

@ -44,4 +44,8 @@ public class BuscenterFileService extends MybatisBaseService<BuscenterFileMapper
save(buscenterFile);
});
}
public BuscenterFile selectByLinkSidOne(String sid, String attachType) {
return baseMapper.selectByLinkSidOne(sid, attachType);
}
}

344
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java

@ -1,39 +1,55 @@
package com.yxt.anrui.buscenter.biz.bushandover;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfigFeign;
import com.yxt.anrui.base.api.basemodelconfig.BaseModelConfigSelectVo;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign;
import com.yxt.anrui.base.api.commoncontract.CommonContract;
import com.yxt.anrui.base.api.commoncontract.CommonContractFeign;
import com.yxt.anrui.base.common.enums.DictCommonEnum;
import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFile;
import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFileEnum;
import com.yxt.anrui.buscenter.api.bushandover.*;
import com.yxt.anrui.buscenter.api.bushandoveritems.BusHanItemDto;
import com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItems;
import com.yxt.anrui.buscenter.api.bushandoveritems.BusItemDto;
import com.yxt.anrui.buscenter.api.bushandoveritems.*;
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.biz.buscenterfile.BuscenterFileService;
import com.yxt.anrui.buscenter.biz.bushandoveritems.BusHandoverItemsService;
import com.yxt.anrui.buscenter.biz.bushandoverwait.BusHandoverWaitService;
import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService;
import com.yxt.anrui.crm.api.crmcustomertemp.AppCrmCustomerTempInfoVo;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoDetailsVo;
import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoFeign;
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.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;
import org.apache.commons.lang3.StringUtils;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.io.File;
import java.io.InputStream;
import java.text.MessageFormat;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
import static cn.hutool.core.util.ClassLoaderUtil.getClassLoader;
/**
* Project: anrui-buscenter(业务中心) <br/>
* File: BusHandoverService.java <br/>
@ -64,9 +80,22 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
private FileUploadComponent fileUploadComponent;
@Autowired
private BuscenterFileService buscenterFileService;
@Autowired
private DocPdfComponent docPdfComponent;
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired
private SysStaffinfoFeign sysStaffinfoFeign;
@Autowired
private BusSalesOrderService busSalesOrderService;
@Autowired
private BaseVehicleModelFeign baseVehicleModelFeign;
@Autowired
private BaseModelConfigFeign baseModelConfigFeign;
public ResultBean<List<BusHandoverListVo>> saveDeliverybill(BusHandoverDto dto) {
ResultBean<List<BusHandoverListVo>> rb = ResultBean.fireFail();
//ToDo:验证是否包含已存在的车辆
BusHandover busHandover = new BusHandover();
BeanUtil.copyProperties(dto, busHandover, "sid");
String userSid = dto.getUserSid();
@ -84,6 +113,7 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
busHandover.setContractNo(commonContract.getContractNo());
busHandover.setCustomerName(commonContract.getPartyB());
busHandover.setCustomerSid(commonContract.getCustomerSid());
busHandover.setOrderSid(commonContract.getBusSid());
}
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
@ -122,19 +152,277 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
}
}
baseMapper.insert(busHandover);
//生成接收车辆确认书、交车资料确认单
List<BusHandoverListVo> list = new ArrayList<>();
BusHandoverListVo vo = new BusHandoverListVo();
vo.setName("<<接收车辆确认书>>");
list.add(vo);
vo = new BusHandoverListVo();
vo.setName("<<出门证>>");
list.add(vo);
vo = new BusHandoverListVo();
vo.setName("<<交车资料确认单>>");
list.add(vo);
List<BuscenterFile> buscenterFileList = new ArrayList<>();
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100,
0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
//接收车辆确认书
BusHandoverListVo busHandoverListVo = null;
BuscenterFile buscenterFile = null;
Future<String> future1 = pool.submit(() -> {
return receiveCar(busHandover.getSid());
});
if (StringUtils.isNotBlank(future1.get())) {
busHandoverListVo = new BusHandoverListVo();
busHandoverListVo.setName(MessageFormat.format("《{0}》", BuscenterFileEnum.RECEIVE_CAR.getMark()));
busHandoverListVo.setDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + future1.get());
list.add(busHandoverListVo);
String str = future1.get();
buscenterFile = new BuscenterFile();
buscenterFile.setLinkSid(busHandover.getSid());
buscenterFile.setFilePath(future1.get());
buscenterFile.setAttachType(BuscenterFileEnum.RECEIVE_CAR.getAttachType());
File file = new File(fileUploadComponent.getUploadPath() + str.replace("/", File.separator));
if (file != null) {
buscenterFile.setFileSize(fileUploadComponent.getPrintSize(file.length()));
}
buscenterFile.setFileName(BuscenterFileEnum.RECEIVE_CAR.getMark());
buscenterFile.setFileType(str.substring(str.lastIndexOf(".") + 1));
buscenterFileService.insert(buscenterFile);
}
/* Future<String> future2 = pool.submit(() -> {
return entrustConfirmImages(busHandover.getSid());
});
if (StringUtils.isNotBlank(future2.get())) {
busHandoverListVo = new BusHandoverListVo();
busHandoverListVo.setName(MessageFormat.format("《{0}》", BuscenterFileEnum.ENTRUST_CONFIRM_IMAGES.getMark()));
busHandoverListVo.setDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + future2.get());
list.add(busHandoverListVo);
String str = future1.get();
buscenterFile = new BuscenterFile();
buscenterFile.setLinkSid(busHandover.getSid());
buscenterFile.setFilePath(future2.get());
buscenterFile.setAttachType(BuscenterFileEnum.ENTRUST_CONFIRM.getAttachType());
File file = new File(fileUploadComponent.getUploadPath() + str.replace("/", File.separator));
if (file != null) {
buscenterFile.setFileSize(fileUploadComponent.getPrintSize(file.length()));
}
buscenterFile.setFileName(BuscenterFileEnum.ENTRUST_CONFIRM_IMAGES.getMark());
buscenterFile.setFileType(str.substring(str.lastIndexOf(".") + 1));
buscenterFileService.insert(buscenterFile);
}
Future<String> future3 = pool.submit(() -> {
return entrustImages(busHandover.getSid());
});
if (StringUtils.isNotBlank(future3.get())) {
busHandoverListVo = new BusHandoverListVo();
busHandoverListVo.setName(MessageFormat.format("《{0}》", BuscenterFileEnum.ENTRUST_IMAGES.getMark()));
busHandoverListVo.setDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + future3.get());
list.add(busHandoverListVo);
String str = future1.get();
buscenterFile = new BuscenterFile();
buscenterFile.setLinkSid(busHandover.getSid());
buscenterFile.setFilePath(future3.get());
buscenterFile.setAttachType(BuscenterFileEnum.ENTRUST.getAttachType());
File file = new File(fileUploadComponent.getUploadPath() + str.replace("/", File.separator));
if (file != null) {
buscenterFile.setFileSize(fileUploadComponent.getPrintSize(file.length()));
}
buscenterFile.setFileName(BuscenterFileEnum.ENTRUST_IMAGES.getMark());
buscenterFile.setFileType(str.substring(str.lastIndexOf(".") + 1));
buscenterFileService.insert(buscenterFile);
}
Future<String> future4 = pool.submit(() -> {
return outDoor(busHandover.getSid());
});
if (StringUtils.isNotBlank(future4.get())) {
busHandoverListVo = new BusHandoverListVo();
busHandoverListVo.setName(MessageFormat.format("《{0}》", BuscenterFileEnum.EXIT_TICKET_IMAGES.getMark()));
busHandoverListVo.setDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + future4.get());
list.add(busHandoverListVo);
String str = future1.get();
buscenterFile = new BuscenterFile();
buscenterFile.setLinkSid(busHandover.getSid());
buscenterFile.setFilePath(future4.get());
buscenterFile.setAttachType(BuscenterFileEnum.EXIT_TICKET.getAttachType());
File file = new File(fileUploadComponent.getUploadPath() + str.replace("/", File.separator));
if (file != null) {
buscenterFile.setFileSize(fileUploadComponent.getPrintSize(file.length()));
}
buscenterFile.setFileName(BuscenterFileEnum.EXIT_TICKET_IMAGES.getMark());
buscenterFile.setFileType(str.substring(str.lastIndexOf(".") + 1));
buscenterFileService.insert(buscenterFile);
}*/
} catch (Exception e) {
e.printStackTrace();
return rb.setMsg("生成文件失败");
}
return rb.success().setData(list);
}
/**
* 接收车辆确认书
*
* @param sid 交车确认sid
* @return
*/
private String receiveCar(String sid) {
Map<String, Object> map = new HashMap<>();
//组装数据
BusHandover busHandover = fetchBySid(sid);
ResultBean<CommonContract> resultBean = commonContractFeign.selectByNo(busHandover.getContractNo());
CommonContract commonContract = resultBean.getData();
map.put("useOrgName", commonContract.getPartyA());
map.put("contractNo", busHandover.getContractNo());
ResultBean<SysStaffinfoDetailsVo> voResultBean = sysStaffinfoFeign.fetchBySid(busHandover.getStaffSid());
SysStaffinfoDetailsVo staffinfoDetailsVo = voResultBean.getData();
if (staffinfoDetailsVo != null) {
map.put("staffName", staffinfoDetailsVo.getName());
}
map.put("customerName", busHandover.getCustomerName());
ResultBean<AppCrmCustomerTempInfoVo> customerTempResultBean = crmCustomerTempFeign.getAppCustomerTempDetailsBySid(commonContract.getCustomerSid());
AppCrmCustomerTempInfoVo appCrmCustomerTempInfoVo = customerTempResultBean.getData();
map.put("idNo", appCrmCustomerTempInfoVo.getIdNumber());
map.put("name", busHandover.getRecipient());
map.put("idNumber", busHandover.getIdNo());
map.put("date", busHandover.getDeliverDate());
map.put("address", busHandover.getDeliverAddress());
ResultBean<AppOrderDetailsVo> orderDetailsVoResultBean = busSalesOrderService.getSaleOrderDetails(busHandover.getOrderSid());
AppOrderDetailsVo appOrderDetailsVo = orderDetailsVoResultBean.getData();
AppOrderModelInfoVo appOrderModelInfoVo = appOrderDetailsVo.getModelInfo();
map.put("brandName", appOrderModelInfoVo.getBrand());
map.put("model", appOrderModelInfoVo.getModelName());
ResultBean<BaseModelConfigSelectVo> baseVehicleConfigVoResultBean = baseModelConfigFeign.details(appOrderModelInfoVo.getConfigSid());
BaseModelConfigSelectVo baseModelConfigSelectVo = baseVehicleConfigVoResultBean.getData();
map.put("color", baseModelConfigSelectVo.getCarColor());
List<BusItemsListVo> busItemsListVoList = busHandoverItemsService.getListOne(sid);
map.put("busItemsListVoList", busItemsListVoList);
// File file = new File(getClass().getClassLoader().getResource("ftl/receiveCar.ftl").getFile());
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/receiveCar.ftl");
// String dir = getClassLoader().getResource("ftl").getPath();
String dir = this.getClass().getResource("ftl").getPath();
//生成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 +"receiveCar.ftl");
WordConvertUtils.inputStreamToFile(inputStream, file);
WordConvertUtils.creatWord(map, file, targetPath, typeName, dir);
//新生成的word路径
String wordPath = targetPath + typeName;
//生成出门证文件名
String pdfName = dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
return pdfName;
}
/**
* 委托提车授权书
*
* @param sid
* @return
*/
public String entrustImages(String sid) {
Map<String, Object> map = new HashMap<>();
//组装数据
//根据合同编号查询委托提车授权书
BusHandover busHandover = fetchBySid(sid);
ResultBean<CommonContract> resultBean = commonContractFeign.selectByNo(busHandover.getContractNo());
CommonContract commonContract = resultBean.getData();
map.put("orgName", commonContract.getPartyA());
map.put("customerName", commonContract.getPartyB());
ResultBean<AppCrmCustomerTempInfoVo> customerTempResultBean = crmCustomerTempFeign.getAppCustomerTempDetailsBySid(commonContract.getCustomerSid());
AppCrmCustomerTempInfoVo appCrmCustomerTempInfoVo = customerTempResultBean.getData();
map.put("idNo", appCrmCustomerTempInfoVo.getIdNumber());
map.put("name", busHandover.getRecipient());
map.put("idNumber", busHandover.getIdNo());
map.put("contractNo", busHandover.getContractNo());
List<BusItemVo> list = busHandoverItemsService.getList(sid);
List<String> stringList = list.stream().map(v -> v.getVinNo()).collect(Collectors.toList());
map.put("vinNo", String.join(",", stringList));
File file = new File(getClass().getClassLoader().getResource("ftl/entrust.ftl").getFile());
String dir = getClassLoader().getResource("ftl").getPath();
//生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl();
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String typeName = dateStr + seconds + ".doc";
WordConvertUtils.creatWord(map, file, targetPath, typeName, dir);
//新生成的word路径
String wordPath = targetPath + typeName;
//生成出门证文件名
String pdfName = dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
return pdfName;
}
/**
* 交车资料确认单
*
* @param sid
* @return
*/
public String entrustConfirmImages(String sid) {
Map<String, Object> map = new HashMap<>();
//组装数据
BusHandover busHandover = fetchBySid(sid);
map.put("contractNo", busHandover.getContractNo());
map.put("customerName", busHandover.getCustomerName());
List<BusItemVo> list = busHandoverItemsService.getList(sid);
map.put("list", list);
File file = new File(getClass().getClassLoader().getResource("ftl/entrustConfirm.ftl").getFile());
String dir = getClassLoader().getResource("ftl").getPath();
//生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl();
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String typeName = dateStr + seconds + ".doc";
WordConvertUtils.creatWord(map, file, targetPath, typeName, dir);
//新生成的word路径
String wordPath = targetPath + typeName;
//生成出门证文件名
String pdfName = dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
return pdfName;
}
public String outDoor(String sid) {
Map<String, Object> map = new HashMap<>();
//组装数据
BusHandover busHandover = fetchBySid(sid);
ResultBean<SysStaffinfoDetailsVo> voResultBean = sysStaffinfoFeign.fetchBySid(busHandover.getStaffSid());
SysStaffinfoDetailsVo staffinfoDetailsVo = voResultBean.getData();
if (staffinfoDetailsVo != null) {
map.put("apply", staffinfoDetailsVo.getName());
}
ResultBean<CommonContract> resultBean = commonContractFeign.selectByNo(busHandover.getContractNo());
CommonContract commonContract = resultBean.getData();
map.put("orgName", commonContract.getPartyA());
map.put("name", busHandover.getCustomerName());
List<BusItemVo> list = busHandoverItemsService.getList(sid);
map.put("number", list.size());
map.put("vinNo", String.join(",", list.stream().map(v -> v.getVinNo()).collect(Collectors.toList())));
map.put("reason", "全款交车");
map.put("operator", staffinfoDetailsVo.getName());
map.put("operator", staffinfoDetailsVo.getName());
map.put("carCollector", "-");
map.put("date", busHandover.getDeliverDate());
ResultBean<AppOrderDetailsVo> orderDetailsVoResultBean = busSalesOrderService.getSaleOrderDetails(busHandover.getOrderSid());
AppOrderDetailsVo appOrderDetailsVo = orderDetailsVoResultBean.getData();
AppOrderModelInfoVo appOrderModelInfoVo = appOrderDetailsVo.getModelInfo();
map.put("modelName", appOrderModelInfoVo.getModelName());
File file = new File(getClass().getClassLoader().getResource("ftl/outdoor.ftl").getFile());
String dir = getClassLoader().getResource("ftl").getPath();
//生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl();
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String typeName = dateStr + seconds + ".doc";
WordConvertUtils.creatWord(map, file, targetPath, typeName, dir);
//新生成的word路径
String wordPath = targetPath + typeName;
//生成出门证文件名
String pdfName = dateStr + seconds + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
return pdfName;
}
public PagerVo<BusHandoverVo> pagerList(PagerQuery<BusHandoverQuery> pagerQuery) {
IPage<BusHandover> page = PagerUtil.queryToPage(pagerQuery);
BusHandoverQuery params = pagerQuery.getParams();
@ -159,6 +447,30 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
} else {
record.setShowUpdate(true);
}
List<DownloadVo> stringList = new ArrayList<>();
DownloadVo vo = new DownloadVo();
BuscenterFile buscenterFile = buscenterFileService.selectByLinkSidOne(record.getSid(), BuscenterFileEnum.RECEIVE_CAR.getAttachType());
vo.setName(buscenterFile.getFileName());
vo.setDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + buscenterFile.getFilePath());
stringList.add(vo);
vo = new DownloadVo();
buscenterFile = buscenterFileService.selectByLinkSidOne(record.getSid(), BuscenterFileEnum.ENTRUST_CONFIRM.getAttachType());
vo.setName(buscenterFile.getFileName());
vo.setDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + buscenterFile.getFilePath());
stringList.add(vo);
vo = new DownloadVo();
buscenterFile = buscenterFileService.selectByLinkSidOne(record.getSid(), BuscenterFileEnum.ENTRUST.getAttachType());
vo.setName(buscenterFile.getFileName());
vo.setDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + buscenterFile.getFilePath());
stringList.add(vo);
vo = new DownloadVo();
buscenterFile = buscenterFileService.selectByLinkSidOne(record.getSid(), BuscenterFileEnum.EXIT_TICKET.getAttachType());
vo.setName(buscenterFile.getFileName());
vo.setDownloadUrl(docPdfComponent.getPrefixTemplateUrl() + buscenterFile.getFilePath());
stringList.add(vo);
record.setFileResps(stringList);
}
}
PagerVo<BusHandoverVo> p = PagerUtil.pageToVo(pagging, null);

6
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsMapper.java

@ -3,6 +3,8 @@ package com.yxt.anrui.buscenter.biz.bushandoveritems;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.buscenter.api.bushandover.BusHandoverInitListVo;
import com.yxt.anrui.buscenter.api.bushandoveritems.BusHandoverItems;
import com.yxt.anrui.buscenter.api.bushandoveritems.BusItemVo;
import com.yxt.anrui.buscenter.api.bushandoveritems.BusItemsListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -27,6 +29,10 @@ public interface BusHandoverItemsMapper extends BaseMapper<BusHandoverItems> {
int updateByMainSid(@Param("sid") String sid, @Param("vinSid") String vinSid, @Param("policyImages") String policyImages,@Param("deliveryImages") String deliveryImages);
List<BusItemVo> getList(String sid);
List<BusItemsListVo> getListOne(String sid);
/*IPage<BusHandoverItemsVo> selectPageVo(IPage<BusHandoverItems> page, @Param(Constants.WRAPPER) Wrapper<BusHandoverItems> qw);
BusHandoverItemsVo fetchByHandoverSid(String handoverSid);*/

12
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsMapper.xml

@ -31,4 +31,16 @@
WHERE handoverSid = #{sid}
and vinSid = #{vinSid}
</update>
<select id="getList" resultType="com.yxt.anrui.buscenter.api.bushandoveritems.BusItemVo">
select vinNo, itemValue
from bus_handover_items
where handoverSid = #{sid}
</select>
<select id="getListOne" resultType="com.yxt.anrui.buscenter.api.bushandoveritems.BusItemsListVo">
select vinNo
from bus_handover_items
where handoverSid = #{sid}
</select>
</mapper>

8
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandoveritems/BusHandoverItemsService.java

@ -70,6 +70,14 @@ public class BusHandoverItemsService extends MybatisBaseService<BusHandoverItems
return baseMapper.updateByMainSid(sid, vinSid, policyImages,deliveryImages);
}
public List<BusItemVo> getList(String sid) {
return baseMapper.getList(sid);
}
public List<BusItemsListVo> getListOne(String sid) {
return baseMapper.getListOne(sid);
}
/* private QueryWrapper<BusHandoverItems> createQueryWrapper(BusHandoverItemsQuery query) {
QueryWrapper<BusHandoverItems> qw = new QueryWrapper<>();

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml

@ -324,11 +324,11 @@
<result column="customerName" jdbcType="VARCHAR" property="customerName"/>
<result column="mobile" jdbcType="VARCHAR" property="mobile"/>
<collection property="modelList" ofType="com.yxt.anrui.buscenter.api.busmaindeposit.app.AppDepositModelListVo"
select="modelList" column="virtualSid">
select="modelLists" column="virtualSid">
</collection>
</resultMap>
<select id="modelList" resultType="com.yxt.anrui.buscenter.api.busmaindeposit.app.AppDepositModelListVo">
<select id="modelLists" resultType="com.yxt.anrui.buscenter.api.busmaindeposit.app.AppDepositModelListVo">
select bv.modelSid, bv.modelConfigSid as configSid, bv.modelName, bv.brandName, bv.vehicleSid
from bus_deposit_vehicle bv
where bv.billSid = #{virtualSid}

2
anrui-buscenter/anrui-buscenter-biz/src/main/resources/application.yml

@ -26,7 +26,7 @@ server:
#mybatis
mybatis-plus:
mapper-locations: classpath*:**/*Mapper.xml
mapper-locations: classpath*:**Mapper.xml
global-config:
refresh: true
db-config:

1097
anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/entrust.ftl

File diff suppressed because it is too large

1200
anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/entrustConfirm.ftl

File diff suppressed because it is too large

1666
anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/outdoor.ftl

File diff suppressed because it is too large

2060
anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/receiveCar.ftl

File diff suppressed because it is too large

22
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerFileDDto.java

@ -0,0 +1,22 @@
package com.yxt.anrui.crm.api.crmcustomertemp;
import com.yxt.common.core.dto.Dto;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/11/16 11:56
* @Description
*/
@Data
public class CrmCustomerFileDDto implements Dto {
private static final long serialVersionUID = -5399631895644837616L;
private String userSid;
private String customerSid;
private List<String> idImages = new ArrayList<>();
}

4
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeign.java

@ -175,4 +175,8 @@ public interface CrmCustomerTempFeign {
@ApiOperation("查询该分公司业务员下的客户列表")
ResultBean<List<CrmCustomerTempListVo>> selectCustomerList(@SpringQueryMap CrmCustomerTempListQuery query);
@ResponseBody
@PostMapping("/saveFileCustomer")
@ApiOperation("合同审核通过后更新客户档案证件")
ResultBean saveFileCustomer(@RequestBody CrmCustomerFileDDto dto);
}

5
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmcustomertemp/CrmCustomerTempFeignFallback.java

@ -140,5 +140,10 @@ public class CrmCustomerTempFeignFallback implements CrmCustomerTempFeign {
return null;
}
@Override
public ResultBean saveFileCustomer(CrmCustomerFileDDto dto) {
return null;
}
}

2
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileMapper.java

@ -84,4 +84,6 @@ public interface CrmCustomerFileMapper extends BaseMapper<CrmCustomerFile> {
Integer selectBySid(@Param("sid") String sid);
List<CrmCustomerFile> selectIdImageByCustomerSid(@Param("customerSid") String customerSid, @Param("dataType") String dataType);
CrmCustomerFile selectCustomerFileOne(@Param("customerSid") String customerSid, @Param("s") String s);
}

35
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileMapper.xml

@ -4,20 +4,27 @@
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileVo">
SELECT
ccf.sid,
ccf.attachType,
ccf.fileName,
(SELECT cf.name FROM crm_file cf WHERE cf.linkSid = ccf.`sid` ORDER BY cf.`createTime` DESC LIMIT 1) NAME,
(SELECT MAX(cf.`createTime`) FROM crm_file cf WHERE cf.linkSid = ccf.`sid`) createTime
FROM
crm_customer_file ccf
<where>${ew.sqlSegment}</where>
SELECT ccf.sid,
ccf.attachType,
ccf.fileName,
(SELECT cf.name
FROM crm_file cf
WHERE cf.linkSid = ccf.`sid`
ORDER BY cf.`createTime` DESC
LIMIT 1) NAME,
(SELECT MAX(cf.`createTime`) FROM crm_file cf WHERE cf.linkSid = ccf.`sid`) createTime
FROM crm_customer_file ccf
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileVo">
SELECT * FROM crm_customer_file
<where>${ew.sqlSegment}</where>
SELECT *
FROM crm_customer_file
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectByCustomerSid"
@ -54,4 +61,10 @@
And ccf.dataType = #{dataType}
</select>
<select id="selectCustomerFileOne" resultType="com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFile">
select *
from crm_customer_file
where linkSid = #{customerSid}
and attachType = #{s}
</select>
</mapper>

7
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomerfile/CrmCustomerFileService.java

@ -125,7 +125,7 @@ public class CrmCustomerFileService extends MybatisBaseService<CrmCustomerFileMa
/**
* 根据资料类别key查询资料清单列表并保存到客户资料初始化表中
*/
private void fetchByDataTypeKey(String customerSid) {
public void fetchByDataTypeKey(String customerSid) {
ResultBean<List<BaseDataListVo>> bean = baseDataListFeign.selectDataList("客户");
List<BaseDataListVo> data = bean.getData();
for (BaseDataListVo datum : data) {
@ -324,4 +324,9 @@ public class CrmCustomerFileService extends MybatisBaseService<CrmCustomerFileMa
}
return rb.success().setData(list);
}
public CrmCustomerFile selectCustomerFileOne(String customerSid, String s) {
return baseMapper.selectCustomerFileOne(customerSid,s);
}
}

6
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempRest.java

@ -6,7 +6,6 @@ import com.yxt.anrui.crm.api.crmcustomerfile.AppCrmCustomerTempArchivesDto;
import com.yxt.anrui.crm.api.crmcustomerfile.AppCrmCustomerTempArchivesVo;
import com.yxt.anrui.crm.api.crmcustomertemp.*;
import com.yxt.anrui.crm.biz.crmcustomerfile.CrmCustomerFileService;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
@ -290,5 +289,10 @@ public class CrmCustomerTempRest implements CrmCustomerTempFeign {
return crmCustomerTempService.selectCustomerList(query);
}
@Override
public ResultBean saveFileCustomer(CrmCustomerFileDDto dto) {
return crmCustomerTempService.saveFileCustomer(dto);
}
}

36
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java

@ -7,8 +7,10 @@ import com.yxt.anrui.base.api.commonappendix.*;
import com.yxt.anrui.crm.api.crmbusiness.AppCrmBusinessInfoVo;
import com.yxt.anrui.crm.api.crmbusiness.CrmBusinessDto;
import com.yxt.anrui.crm.api.crmbusiness.CrmBusinessVo;
import com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFile;
import com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileVo;
import com.yxt.anrui.crm.api.crmcustomertemp.*;
import com.yxt.anrui.crm.api.crmfile.CrmFile;
import com.yxt.anrui.crm.api.crmfile.CrmFileAttachTypeEnum;
import com.yxt.anrui.crm.api.crmfile.CrmFileDetailsVo;
import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmVehicledemandVo;
@ -1156,12 +1158,12 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
for (CrmCustomerTempToFin crmCustomerTempToFin : crmCustomerTempToFins) {
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setTOrgIds(sysOrganizationVo.getOrgCode());
bdCustomer.setFName(crmCustomerTemp.getName() + crmCustomerTempToFin.getVinNo().substring(crmCustomerTempToFin.getVinNo().length()-8));
bdCustomer.setFName(crmCustomerTemp.getName() + crmCustomerTempToFin.getVinNo().substring(crmCustomerTempToFin.getVinNo().length() - 8));
String FNumber = HanZiConverterPinYin.getPinYinFirst(crmCustomerTemp.getName()) + crmCustomerTempToFin.getVinNo().substring(crmCustomerTempToFin.getVinNo().length() - 8);
if (FNumber.length() > 30){
FNumber = FNumber.substring(0,30);
if (FNumber.length() > 30) {
FNumber = FNumber.substring(0, 30);
bdCustomer.setFNumber(FNumber);
}else {
} else {
bdCustomer.setFNumber(FNumber);
}
bdCustomers.add(bdCustomer);
@ -1169,4 +1171,30 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
finKingDeeFeign.draftBdCustomers(bdCustomers);
return rb.success();
}
public ResultBean saveFileCustomer(CrmCustomerFileDDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据客户sid查询客户档案是否已初始化
AppUserOrgInfoVo data = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData();
CrmCustomerFile crmCustomerFile = crmCustomerFileService.selectCustomerFileOne(dto.getCustomerSid(), "1");
if (crmCustomerFile == null) {
crmCustomerFileService.fetchByDataTypeKey(dto.getCustomerSid());
crmCustomerFile = crmCustomerFileService.selectCustomerFileOne(dto.getCustomerSid(), "1");
}
List<String> files = dto.getIdImages();
for (String file : files) {
if (file.contains(fileUploadComponent.getUrlPrefix())) {
file = file.replace(fileUploadComponent.getUrlPrefix(), "");
}
CrmFile crmFile = new CrmFile();
crmFile.setFilePath(file);
crmFile.setLinkSid(crmCustomerFile.getSid());
crmFile.setCreateBySid(data.getStaffSid());
crmFile.setCreateTime(new Date());
crmFile.setAttachType(crmCustomerFile.getAttachType());
crmFile.setName(data.getStaffName());
crmFileService.save(crmFile);
}
return rb.success();
}
}

17
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryDownUrlVo.java

@ -0,0 +1,17 @@
package com.yxt.anrui.terminal.api.autoservice.deliveryConfirm;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/11/15 22:20
* @Description
*/
@Data
public class DeliveryDownUrlVo implements Vo {
private static final long serialVersionUID = 4498372323265139055L;
private String downloadUrl;
private String name;
}

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/deliveryConfirm/DeliveryListVo.java

@ -5,6 +5,8 @@ import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/11/14 16:16
@ -34,4 +36,6 @@ public class DeliveryListVo implements Vo {
private boolean showUpdate;
@ApiModelProperty("记录sid")
private String sid;
private List<DeliveryDownUrlVo> fileResps;
}

30
doc/databases/base_tables.sql

@ -935,6 +935,36 @@ CREATE TABLE `base_vehicle_out`
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='车辆出库信息';
DROP TABLE IF EXISTS `base_vehicle_state`;
CREATE TABLE `base_vehicle_state`
(
`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',
`vinNo` VARCHAR(64) DEFAULT NULL COMMENT '车架号',
`vinSid` varchar(64) DEFAULT NULL COMMENT '车辆sid',
`busSid` varchar(64) DEFAULT NULL COMMENT '业务sid',
`arrears` varchar(64) DEFAULT NULL COMMENT '欠款开票:1是0否',
`carArrears` varchar(64) DEFAULT NULL COMMENT '欠款提车:1是,0否',
`depositState` varchar(255) DEFAULT NULL COMMENT '款项-订金状态',
`carState` varchar(255) DEFAULT NULL COMMENT '款项-车款状态',
`invoiceState` varchar(255) DEFAULT NULL COMMENT '发票状态',
`deliverState` varchar(255) DEFAULT NULL COMMENT '交车状态',
`blueState` varchar(255) DEFAULT NULL COMMENT '蓝票来票状态',
`redState` varchar(255) DEFAULT NULL COMMENT '红票来票状态',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='车辆业务状态表';

Loading…
Cancel
Save