Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 2 years ago
parent
commit
f83085baa3
  1. 20
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleFlowableVo.java
  2. 241
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java
  3. 2232
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/qktcApply.ftl
  4. 1590
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/qktcApply111.ftl
  5. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDetailsVo.java
  6. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDto.java
  7. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeign.java
  8. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeignFallback.java
  9. 44
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationGcListVo.java
  10. 42
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationSourceLCVo.java
  11. 48
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationZcListVo.java
  12. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/flowable/FinBillCompleteDto.java
  13. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillfile/FinAttachTypeEnum.java
  14. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationRest.java
  15. 360
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  16. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileMapper.java
  17. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileService.java
  18. 2
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/SysStaffinfoDto.java
  19. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceDto.java
  20. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceInfoVo.java
  21. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/qkkpDto.java
  22. 28
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java
  23. 2435
      工作内容需要的文档/单据模板/欠款开票申请单单据打印模板/qkkpsqd.ftl
  24. 28
      工作内容需要的文档/单据模板/欠款开票申请单单据打印模板/欠款开票申请单.doc

20
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleFlowableVo.java

@ -0,0 +1,20 @@
package com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description: 流程记录
* @author: dimengzhe
* @date: 2023/6/1
**/
@Data
public class BusArrearsCarryVehicleFlowableVo {
@ApiModelProperty(value = "审批人姓名")
private String name;
@ApiModelProperty(value = "审批人意见")
private String comment;
@ApiModelProperty(value = "审批时间")
private String spsj;
}

241
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java

@ -59,6 +59,7 @@ import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkTypeEnum; import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkTypeEnum;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.flow.PCHistTaskListAndCommentList;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
@ -73,15 +74,17 @@ import com.yxt.common.base.config.component.DocPdfComponent;
import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.Base64; import com.yxt.common.base.utils.Base64;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.*;
import com.yxt.common.base.utils.TransformMoney;
import com.yxt.common.base.utils.WordConvertUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.Message;
import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo; import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery; import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import com.yxt.messagecenter.api.messagelist.MessageList;
import com.yxt.messagecenter.api.messagelist.MessageListFeign;
import org.apache.commons.collections4.comparators.NullComparator;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -195,6 +198,11 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
private BusSalesOrderVehicleService busSalesOrderVehicleService; private BusSalesOrderVehicleService busSalesOrderVehicleService;
@Autowired @Autowired
private LoanSolutionsFeign loanSolutionsFeign; private LoanSolutionsFeign loanSolutionsFeign;
@Autowired
private com.yxt.anrui.portal.api.flow.FlowableFeign flowableFeignPro;
@Autowired
private MessageListFeign messageListFeign;
private static final NullComparator<String> nullComparator = new NullComparator<>();
/** /**
* 欠款提车分页列表查询条件 * 欠款提车分页列表查询条件
@ -641,9 +649,9 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
if (!resultBean.getSuccess()) { if (!resultBean.getSuccess()) {
log.error("获取销售订单详情出错啦!!!"); log.error("获取销售订单详情出错啦!!!");
} }
if(resultBean.getData().isFinState()){ if (resultBean.getData().isFinState()) {
appArrearsCarryInfoVo.setFinType(false); appArrearsCarryInfoVo.setFinType(false);
}else{ } else {
appArrearsCarryInfoVo.setFinType(true); appArrearsCarryInfoVo.setFinType(true);
} }
appArrearsCarryInfoVo.setBusSalesOrderSid(resultBean.getData().getBusSalesOrderSid()); appArrearsCarryInfoVo.setBusSalesOrderSid(resultBean.getData().getBusSalesOrderSid());
@ -1355,12 +1363,12 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
BigDecimal sqMoney = BigDecimal.ZERO; BigDecimal sqMoney = BigDecimal.ZERO;
//已付车款 //已付车款
List<String> vinSidList = vinList.stream().map(v -> v.getCarSid()).collect(Collectors.toList()); List<String> vinSidList = vinList.stream().map(v -> v.getCarSid()).collect(Collectors.toList());
List<String> busVinSidList = busSalesOrderVehicleService.selectByVinSidAndContractNo(vinSidList,dto.getContractId()); List<String> busVinSidList = busSalesOrderVehicleService.selectByVinSidAndContractNo(vinSidList, dto.getContractId());
ResultBean<String> subscribtAllResultBean = finCollectionConfirmationFeign.selectCollectionMoneys(dto.getContractId(),busVinSidList); ResultBean<String> subscribtAllResultBean = finCollectionConfirmationFeign.selectCollectionMoneys(dto.getContractId(), busVinSidList);
if (subscribtAllResultBean.getData() != null) { if (subscribtAllResultBean.getData() != null) {
map.put("YMoney", subscribtAllResultBean.getData()); map.put("YMoney", subscribtAllResultBean.getData());
sqMoney = wMoneyAll.subtract(new BigDecimal(subscribtAllResultBean.getData())); sqMoney = wMoneyAll.subtract(new BigDecimal(subscribtAllResultBean.getData()));
}else{ } else {
map.put("YMoney", BigDecimal.ZERO); map.put("YMoney", BigDecimal.ZERO);
sqMoney = wMoneyAll.subtract(BigDecimal.ZERO); sqMoney = wMoneyAll.subtract(BigDecimal.ZERO);
} }
@ -2217,7 +2225,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
BusArrearsCarryVehicleApply busArrearsCarryVehicleApply = fetchBySid(query.getBusinessSid()); BusArrearsCarryVehicleApply busArrearsCarryVehicleApply = fetchBySid(query.getBusinessSid());
String businessTaskId = busArrearsCarryVehicleApply.getTaskId(); String businessTaskId = busArrearsCarryVehicleApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) { if (StringUtils.isNotBlank(businessTaskId)) {
if(query.getUserSid().equals(busArrearsCarryVehicleApply.getCreateBySid())){ if (query.getUserSid().equals(busArrearsCarryVehicleApply.getCreateBySid())) {
FlowTaskVo flowTaskVo = new FlowTaskVo(); FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo); BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo); ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
@ -2227,7 +2235,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
baseVehicleTempstateFeign.delByBusSid(busArrearsCarryVehicleApply.getSid()); baseVehicleTempstateFeign.delByBusSid(busArrearsCarryVehicleApply.getSid());
return rb.success().setData(resultBean.getData()); return rb.success().setData(resultBean.getData());
}else{ } else {
if (businessTaskId.equals(query.getTaskId())) { if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo(); FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo); BeanUtil.copyProperties(query, flowTaskVo);
@ -2298,9 +2306,9 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
log.error("获取销售订单详情出错啦!!!"); log.error("获取销售订单详情出错啦!!!");
} }
appArrearsCarryInfoVo.setBusSalesOrderSid(resultBean.getData().getBusSalesOrderSid()); appArrearsCarryInfoVo.setBusSalesOrderSid(resultBean.getData().getBusSalesOrderSid());
if(resultBean.getData().isFinState()){ if (resultBean.getData().isFinState()) {
appArrearsCarryInfoVo.setFinType(false); appArrearsCarryInfoVo.setFinType(false);
}else{ } else {
appArrearsCarryInfoVo.setFinType(true); appArrearsCarryInfoVo.setFinType(true);
} }
appArrearsCarryInfoVo.setContractId(busArrearsCarryVehicleApply.getContractNo()); appArrearsCarryInfoVo.setContractId(busArrearsCarryVehicleApply.getContractNo());
@ -2453,106 +2461,213 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
AppArrearsCarryDto dto = new AppArrearsCarryDto(); AppArrearsCarryDto dto = new AppArrearsCarryDto();
//根据sid查询欠款提车数据 //根据sid查询欠款提车数据
BusArrearsCarryVehicleApply busArrearsCarryVehicleApply = fetchBySid(sid); BusArrearsCarryVehicleApply busArrearsCarryVehicleApply = fetchBySid(sid);
BeanUtil.copyProperties(busArrearsCarryVehicleApply,dto,"sid"); BeanUtil.copyProperties(busArrearsCarryVehicleApply, dto, "sid");
List<AdCarListVo> adCarListVoList = busArrearsCarryVehicleDetailsService.selectByApplySidVehicle(sid); List<AdCarListVo> adCarListVoList = busArrearsCarryVehicleDetailsService.selectByApplySidVehicle(sid);
dto.setVinList(adCarListVoList); dto.setVinList(adCarListVoList);
dto.setContractId(busArrearsCarryVehicleApply.getContractNo()); dto.setContractId(busArrearsCarryVehicleApply.getContractNo());
CreatePdfVo createPdf = createPdf(dto); CreatePdfVo createPdf = createPdf(dto);
String url = docPdfComponent.getPrefixTemplateUrl()+createPdf.getAllDownloadUrl(); String url = docPdfComponent.getPrefixTemplateUrl() + createPdf.getAllDownloadUrl();
return rb.success().setData(url); return rb.success().setData(url);
} }
public ResultBean<String> printApplyPdf(String sid) { public ResultBean<String> printApplyPdf(String sid) {
ResultBean<String> rb = ResultBean.fireFail(); ResultBean<String> rb = ResultBean.fireFail();
Map<String,Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
ResultBean<AppArrearsCarryInfoVo> resultBean = details(sid); /* ResultBean<AppArrearsCarryInfoVo> resultBean = details(sid);
if(!resultBean.getSuccess()){ if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg()); return rb.setMsg(resultBean.getMsg());
} }*/
List<String> photoList = new ArrayList<>();
BusArrearsCarryVehicleApply busArrearsCarryVehicleApply = fetchBySid(sid); BusArrearsCarryVehicleApply busArrearsCarryVehicleApply = fetchBySid(sid);
AppArrearsCarryInfoVo appArrearsCarryInfoVo = resultBean.getData(); // AppArrearsCarryInfoVo appArrearsCarryInfoVo = resultBean.getData();
map.put("applyName",appArrearsCarryInfoVo.getApplyName()); map.put("applyName", busArrearsCarryVehicleApply.getApplyName());
map.put("applyDept",appArrearsCarryInfoVo.getApplyDept()); map.put("applyDept", busArrearsCarryVehicleApply.getApplyDept());
map.put("createDate",appArrearsCarryInfoVo.getCreateDate()); map.put("createDate", DateUtil.format(busArrearsCarryVehicleApply.getCreateTime(), "yyyy-MM-dd"));
map.put("staffName",appArrearsCarryInfoVo.getStaffName()); map.put("staffName", busArrearsCarryVehicleApply.getStaffName());
map.put("staffDeptName",appArrearsCarryInfoVo.getStaffDept()); map.put("staffDeptName", busArrearsCarryVehicleApply.getStaffDept());
map.put("paymentMethod",appArrearsCarryInfoVo.getPaymentMethod()); map.put("paymentMethod", busArrearsCarryVehicleApply.getPaymentMethod());
map.put("contractId",appArrearsCarryInfoVo.getContractId()); map.put("contractId", busArrearsCarryVehicleApply.getContractNo());
map.put("openTickName",appArrearsCarryInfoVo.getOpenTickName()); map.put("openTickName", busArrearsCarryVehicleApply.getOpenTickName());
map.put("customerName",appArrearsCarryInfoVo.getCustomerName()); map.put("customerName", busArrearsCarryVehicleApply.getCustomerName());
map.put("modelName",appArrearsCarryInfoVo.getModelName()); map.put("modelName", busArrearsCarryVehicleApply.getModelName());
if("0".equals(appArrearsCarryInfoVo.getIsFinance())){ if ("0".equals(busArrearsCarryVehicleApply.getIsFinance())) {
map.put("isFinance","否"); map.put("isFinance", "否");
}else{ } else {
map.put("isFinance","是"); map.put("isFinance", "是");
} }
List<AdCarListVo> adCarListVoList = appArrearsCarryInfoVo.getVinList(); List<BusArrearsCarryVehicleDetails> detailsList = busArrearsCarryVehicleDetailsService.selectDetailsByApplySid(sid);
map.put("adCarListVoList",adCarListVoList); List<AdCarListVo> voList = new ArrayList<>();
map.put("reasonValue",appArrearsCarryInfoVo.getReasonValue()); detailsList.removeAll(Collections.singleton(null));
map.put("reason",appArrearsCarryInfoVo.getReason()); if (!detailsList.isEmpty()) {
map.put("contractMoney",appArrearsCarryInfoVo.getContractMoney()); for (int i = 0; i < detailsList.size(); i++) {
map.put("contractCollectionMoney",appArrearsCarryInfoVo.getContractCollectionMoney()); AdCarListVo adCarListVo = new AdCarListVo();
map.put("commitmentMoneyDate",appArrearsCarryInfoVo.getCommitmentMoneyDate()); BeanUtil.copyProperties(detailsList.get(i), adCarListVo);
adCarListVo.setCarSid(detailsList.get(i).getVinSid());
adCarListVo.setVin(detailsList.get(i).getVinNo());
voList.add(adCarListVo);
}
}
voList.removeAll(Collections.singleton(null));
List<GCarListVo> trailersList = new ArrayList<>();
if (!voList.isEmpty()) {
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);
}
}
}
}
}
trailersList.removeAll(Collections.singleton(null));
map.put("tralierList", trailersList);
map.put("adCarListVoList", voList);
map.put("reasonValue", busArrearsCarryVehicleApply.getReasonValue());
map.put("reason", busArrearsCarryVehicleApply.getReason());
map.put("contractMoney", busArrearsCarryVehicleApply.getContractMoney());
map.put("contractCollectionMoney", busArrearsCarryVehicleApply.getContractCollectionMoney());
map.put("commitmentMoneyDate", busArrearsCarryVehicleApply.getCommitmentMoneyDate());
List<String> carContract = Arrays.asList(busArrearsCarryVehicleApply.getCarContractFile().split(",")); List<String> carContract = Arrays.asList(busArrearsCarryVehicleApply.getCarContractFile().split(","));
List<String> carContractList = new ArrayList<>(); List<String> carContractList = new ArrayList<>();
for (String image : carContract) { for (String image : carContract) {
try { try {
image = fileUploadComponent.getUrlPrefix()+URLEncoder.encode(image, "utf-8"); image = fileUploadComponent.getUrlPrefix() + URLEncoder.encode(image, "utf-8");
String image2Base64 = image2Base64(image); String image2Base64 = image2Base64(image);
carContractList.add(image2Base64); photoList.add(image2Base64);
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
map.put("carContractList",carContractList); // map.put("carContractList",carContractList);
List<String> guaranteeLetter = Arrays.asList(busArrearsCarryVehicleApply.getGuaranteeLetterFile().split(",")); List<String> guaranteeLetter = Arrays.asList(busArrearsCarryVehicleApply.getGuaranteeLetterFile().split(","));
List<String> guaranteeLetterList = new ArrayList<>(); List<String> guaranteeLetterList = new ArrayList<>();
for (String image : guaranteeLetter) { for (String image : guaranteeLetter) {
try { try {
image = fileUploadComponent.getUrlPrefix()+URLEncoder.encode(image, "utf-8"); image = fileUploadComponent.getUrlPrefix() + URLEncoder.encode(image, "utf-8");
String image2Base64 = image2Base64(image); String image2Base64 = image2Base64(image);
guaranteeLetterList.add(image2Base64); photoList.add(image2Base64);
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
map.put("guaranteeLetterList",guaranteeLetterList); // map.put("guaranteeLetterList",guaranteeLetterList);
List<String> gdLetter = Arrays.asList(busArrearsCarryVehicleApply.getGdLetterFile().split(",")); List<String> gdLetter = Arrays.asList(busArrearsCarryVehicleApply.getGdLetterFile().split(","));
List<String> gdLetterList = new ArrayList<>(); List<String> gdLetterList = new ArrayList<>();
for (String image : gdLetter) { for (String image : gdLetter) {
try { try {
image = fileUploadComponent.getUrlPrefix()+URLEncoder.encode(image, "utf-8"); image = fileUploadComponent.getUrlPrefix() + URLEncoder.encode(image, "utf-8");
String image2Base64 = image2Base64(image); String image2Base64 = image2Base64(image);
gdLetterList.add(image2Base64); photoList.add(image2Base64);
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
map.put("gdLetterList",gdLetterList); // map.put("gdLetterList",gdLetterList);
List<String> zjlLetter = Arrays.asList(busArrearsCarryVehicleApply.getZjlLetterFile().split(",")); List<String> zjlLetter = Arrays.asList(busArrearsCarryVehicleApply.getZjlLetterFile().split(","));
List<String> zjlLetterList = new ArrayList<>(); List<String> zjlLetterList = new ArrayList<>();
for (String image : zjlLetter) { for (String image : zjlLetter) {
try { try {
image = fileUploadComponent.getUrlPrefix()+URLEncoder.encode(image, "utf-8"); image = fileUploadComponent.getUrlPrefix() + URLEncoder.encode(image, "utf-8");
String image2Base64 = image2Base64(image); String image2Base64 = image2Base64(image);
zjlLetterList.add(image2Base64); photoList.add(image2Base64);
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
map.put("zjlLetterList",zjlLetterList); // map.put("zjlLetterList",zjlLetterList);
List<String> fileList = Arrays.asList(busArrearsCarryVehicleApply.getOtherFile().split(",")); List<String> fileList = Arrays.asList(busArrearsCarryVehicleApply.getOtherFile().split(","));
List<String> fileListList = new ArrayList<>(); List<String> fileListList = new ArrayList<>();
for (String image : fileList) { for (String image : fileList) {
try { try {
image = fileUploadComponent.getUrlPrefix()+URLEncoder.encode(image, "utf-8"); image = fileUploadComponent.getUrlPrefix() + URLEncoder.encode(image, "utf-8");
String image2Base64 = image2Base64(image); String image2Base64 = image2Base64(image);
fileListList.add(image2Base64); photoList.add(image2Base64);
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
map.put("fileListList",fileListList); // map.put("fileListList",fileListList);
//==================================================================
//获取审批记录
List<PCHistTaskListAndCommentList> flowRecordVo = flowableFeignPro.flowRecordAndComment(busArrearsCarryVehicleApply.getProcInstId(), "1").getData();
List<BusArrearsCarryVehicleFlowableVo> busArrearsCarryVehicleFlowableVos = new ArrayList<>();
for (PCHistTaskListAndCommentList flowTask : flowRecordVo) {
if (flowTask.getFlowableRecordVo() != null) {
Map<String, Object> flowableRecordVo = flowTask.getFlowableRecordVo();
BusArrearsCarryVehicleFlowableVo busArrearsCarryVehicleFlowableVo = new BusArrearsCarryVehicleFlowableVo();
List<Map<String, Object>> taskUserInfos = ConstantUtils.getListData(flowableRecordVo, "taskUserInfos");
Map<String, Object> comment = ConstantUtils.getMap(flowableRecordVo, "comment");
String assigneeName = (String) taskUserInfos.get(0).get("assigneeName");
String comment1 = (String) comment.get("comment");
busArrearsCarryVehicleFlowableVo.setName(assigneeName);
busArrearsCarryVehicleFlowableVo.setComment(comment1);
if(flowableRecordVo.get("finishTime") != null && flowableRecordVo.get("finishTime") != ""){
busArrearsCarryVehicleFlowableVo.setSpsj(flowableRecordVo.get("finishTime").toString());
}else{
busArrearsCarryVehicleFlowableVo.setSpsj(null);
}
busArrearsCarryVehicleFlowableVos.add(busArrearsCarryVehicleFlowableVo);
} else {
Map<String, Object> processCommentVo = flowTask.getProcessCommentVo();
BusArrearsCarryVehicleFlowableVo busArrearsCarryVehicleFlowableVo = new BusArrearsCarryVehicleFlowableVo();
busArrearsCarryVehicleFlowableVo.setName(processCommentVo.get("title").toString());
busArrearsCarryVehicleFlowableVo.setComment(processCommentVo.get("content").toString());
busArrearsCarryVehicleFlowableVo.setSpsj(processCommentVo.get("time").toString());
busArrearsCarryVehicleFlowableVos.add(busArrearsCarryVehicleFlowableVo);
List<String> fileLists = (List) processCommentVo.get("fileList");
fileLists.removeAll(Collections.singleton(null));
if (fileLists.size() > 0) {
for (String image : fileLists) {
if (image.contains(fileUploadComponent.getUrlPrefix())) {
image = image.replace(fileUploadComponent.getUrlPrefix(), "");
try {
image = fileUploadComponent.getUrlPrefix() + URLEncoder.encode(image, "utf-8");
String image2Base64 = image2Base64(image);
photoList.add(image2Base64);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
}
}
}
List<Message> messages = messageFeign.selectByBusinessSid(busArrearsCarryVehicleApply.getSid()).getData();
if (messages.size() > 0) {
for (Message message : messages) {
BusArrearsCarryVehicleFlowableVo busArrearsCarryVehicleFlowableVo = new BusArrearsCarryVehicleFlowableVo();
String receiverNames = "";
List<MessageList> messageLists = messageListFeign.fetchByMainSid(message.getSid()).getData();
if (messageLists.size() > 0) {
for (MessageList messageList : messageLists) {
receiverNames = receiverNames + messageList.getReceiverName() + ",";
}
}
busArrearsCarryVehicleFlowableVo.setName("系统");
busArrearsCarryVehicleFlowableVo.setComment("抄送 " + receiverNames.substring(0, receiverNames.lastIndexOf(",")));
busArrearsCarryVehicleFlowableVo.setSpsj(DateUtil.format(message.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
busArrearsCarryVehicleFlowableVos.add(busArrearsCarryVehicleFlowableVo);
}
}
// busArrearsCarryVehicleFlowableVos.sort(comparing(BusArrearsCarryVehicleFlowableVo::getSpsj));
// busArrearsCarryVehicleFlowableVos.sort(Comparator.comparing(BusArrearsCarryVehicleFlowableVo::getSpsj, Comparator.nullsLast(LocalDate::compareTo)));
// Collections.sort(busArrearsCarryVehicleFlowableVos, Comparator.nullsLast(Comparator.comparing(BusArrearsCarryVehicleFlowableVo::getSpsj)));
busArrearsCarryVehicleFlowableVos.sort(Comparator.nullsLast(Comparator.comparing(BusArrearsCarryVehicleFlowableVo::getSpsj,nullComparator)));
map.put("lcList", busArrearsCarryVehicleFlowableVos);
map.put("photoPath64", photoList);
//============================================================================
String url = ""; String url = "";
String ftl = "qktcApply"; String ftl = "qktcApply";
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl"); InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl");
@ -2568,9 +2683,9 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
//新生成的word路径 //新生成的word路径
String wordPath = targetPath + typeName; String wordPath = targetPath + typeName;
//生成合同文件名 //生成合同文件名
String pdfName = "欠款提车审批单_" +appArrearsCarryInfoVo.getContractId() + ".pdf"; String pdfName = "欠款提车审批单_" + busArrearsCarryVehicleApply.getContractNo() + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName); WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
url = pdfName; url = "template/" + pdfName;
return rb.success().setData(url); return rb.success().setData(url);
} }

2232
anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/qktcApply.ftl

File diff suppressed because it is too large

1590
anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/qktcApplyOld.ftl → anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/qktcApply111.ftl

File diff suppressed because it is too large

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDetailsVo.java

@ -170,4 +170,6 @@ public class FinBillApplicationDetailsVo extends AppBillApplicationIInfoVo imple
private List<FinBillFileVo> kpxxqrsApplicationAppendxs; // 开票信息确认书 private List<FinBillFileVo> kpxxqrsApplicationAppendxs; // 开票信息确认书
@ApiModelProperty("车辆登记合同") @ApiModelProperty("车辆登记合同")
private List<FinBillFileVo> cldjhtApplicationAppendxs; // 车辆登记合同 private List<FinBillFileVo> cldjhtApplicationAppendxs; // 车辆登记合同
@ApiModelProperty("欠款领票附件")
private List<FinBillFileVo> arrearsCollectionAppendxs;
} }

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationDto.java

@ -163,4 +163,6 @@ public class FinBillApplicationDto implements Dto {
private List<FinBillFileDto> zjApplicationAppendxs = new ArrayList<>(); private List<FinBillFileDto> zjApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("附件") @ApiModelProperty("附件")
private List<FinBillFileDto> fjApplicationAppendxs = new ArrayList<>(); private List<FinBillFileDto> fjApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("欠款领票附件")
private List<FinBillFileDto> arrearsCollectionAppendxs = new ArrayList<>();
} }

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeign.java

@ -102,6 +102,11 @@ public interface FinBillApplicationFeign {
@ResponseBody @ResponseBody
public ResultBean<FinBillApplicationDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid); public ResultBean<FinBillApplicationDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("生成欠款申请PDF")
@PostMapping("/createPdf")
@ResponseBody
public ResultBean<String> createPdf(@RequestParam("sid") String sid, @RequestParam("userName") String userName);
/*************************公司开票流程管理接口********************************/ /*************************公司开票流程管理接口********************************/
@ApiOperation("开票申请审批流程") @ApiOperation("开票申请审批流程")

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeignFallback.java

@ -96,6 +96,11 @@ public class FinBillApplicationFeignFallback implements FinBillApplicationFeign
return rb.setMsg("接口anrui-fin/finbillapplication/fetchDetailsBySid无法访问"); return rb.setMsg("接口anrui-fin/finbillapplication/fetchDetailsBySid无法访问");
} }
@Override
public ResultBean<String> createPdf(String sid, String userName) {
return null;
}
/*@Override /*@Override
public ResultBean submitFinBillApplicationPageList(SubmitFinBillApplicationPageListDto dto) { public ResultBean submitFinBillApplicationPageList(SubmitFinBillApplicationPageListDto dto) {
return null; return null;

44
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationGcListVo.java

@ -0,0 +1,44 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.finbillapplication;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class FinBillApplicationGcListVo implements Vo {
@ApiModelProperty(value = "序号")
private Integer idgc;
@ApiModelProperty(value = "挂车车架号")
private String gccjh;
@ApiModelProperty(value = "主车车架号")
private String zccjh;
@ApiModelProperty(value = "开票金额")
private String gckpje;
}

42
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationSourceLCVo.java

@ -0,0 +1,42 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.finbillapplication;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class FinBillApplicationSourceLCVo implements Vo {
@ApiModelProperty(value = "审批人姓名")
private String name;
@ApiModelProperty(value = "审批人意见")
private String comment;
@ApiModelProperty(value = "审批时间")
private String spsj;
}

48
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationZcListVo.java

@ -0,0 +1,48 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.fin.api.finbillapplication;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class FinBillApplicationZcListVo implements Vo {
@ApiModelProperty(value = "序号")
private Integer idzc;
@ApiModelProperty(value = "车架号")
private String zccjh;
@ApiModelProperty(value = "合格证状态")
private String zchgz;
@ApiModelProperty(value = "开票类型")
private String zckplx;
@ApiModelProperty(value = "开票名称")
private String zckpmc;
@ApiModelProperty(value = "开票信息")
private String zckpxx;
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/flowable/FinBillCompleteDto.java

@ -49,4 +49,6 @@ public class FinBillCompleteDto implements Dto {
private List<FinBillFileDto> zjApplicationAppendxs = new ArrayList<>(); private List<FinBillFileDto> zjApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("附件") @ApiModelProperty("附件")
private List<FinBillFileDto> fjApplicationAppendxs = new ArrayList<>(); private List<FinBillFileDto> fjApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("欠款领票附件")
private List<FinBillFileDto> arrearsCollectionAppendxs = new ArrayList<>();
} }

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillfile/FinAttachTypeEnum.java

@ -11,7 +11,8 @@ public enum FinAttachTypeEnum {
KPXXQRS("002", "款项确认书"), KPXXQRS("002", "款项确认书"),
CLDJHT("003", "车辆登记合同"), CLDJHT("003", "车辆登记合同"),
ZJ("004", "证件"), ZJ("004", "证件"),
FJ("005", "附件"); FJ("005", "附件"),
QKLPFJ("006", "欠款领票附件");
/** /**
* 附件类型 * 附件类型

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationRest.java

@ -121,6 +121,11 @@ public class FinBillApplicationRest implements FinBillApplicationFeign {
return rb.success().setData(vo); return rb.success().setData(vo);
} }
@Override
public ResultBean<String> createPdf(String sid, String userName) {
return finBillApplicationService.createPdf(sid,userName);
}
/*@Override /*@Override
public ResultBean submitFinBillApplicationPageList(SubmitFinBillApplicationPageListDto dto) { public ResultBean submitFinBillApplicationPageList(SubmitFinBillApplicationPageListDto dto) {
return finBillApplicationService.submitFinBillApplicationPageList(dto); return finBillApplicationService.submitFinBillApplicationPageList(dto);

360
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java

@ -32,6 +32,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basedistributor.BaseDistributorFeign; import com.yxt.anrui.base.api.basedistributor.BaseDistributorFeign;
import com.yxt.anrui.base.api.baseinternalpurchase.flow.GetNodeVo; import com.yxt.anrui.base.api.baseinternalpurchase.flow.GetNodeVo;
import com.yxt.anrui.base.api.basemiddleman.BaseMiddlemanDetailsVo;
import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo; import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo;
import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign; import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign;
import com.yxt.anrui.base.api.basetrailer.TrailerVo; import com.yxt.anrui.base.api.basetrailer.TrailerVo;
@ -49,8 +50,14 @@ import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo; import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFL;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderSourceLCVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDiscountListVo;
import com.yxt.anrui.buscenter.api.bussalesorderinsurance.BusSalesOrderInsuranceDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModel;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmit;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
@ -84,30 +91,50 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.flow.PCHistTaskListAndCommentList;
import com.yxt.anrui.portal.api.sysorganization.SysOrganization;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.UserRoleQuery; import com.yxt.anrui.portal.api.sysuser.UserRoleQuery;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.Base64;
import com.yxt.common.base.utils.ConstantUtils;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.WordUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.Message;
import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo; import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery; import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import com.yxt.messagecenter.api.messagelist.MessageList;
import com.yxt.messagecenter.api.messagelist.MessageListFeign;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.yxt.anrui.fin.biz.finpaymentrecord.FinPaymentrecordService.image2Base64;
import static java.util.Comparator.comparing;
/** /**
* Project: anrui-fin(开票申请管理) <br/> * Project: anrui-fin(开票申请管理) <br/>
* File: FinBillApplicationService.java <br/> * File: FinBillApplicationService.java <br/>
@ -172,6 +199,10 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
private FinCompanyInvoicingService finCompanyInvoicingService; private FinCompanyInvoicingService finCompanyInvoicingService;
@Autowired @Autowired
private CrmCustomerTempFeign crmCustomerTempFeign; private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired
private com.yxt.anrui.portal.api.flow.FlowableFeign flowableFeignPro;
@Autowired
private MessageListFeign messageListFeign;
private QueryWrapper<FinBillApplication> createQueryWrapper(FinBillApplicationQuery query) { private QueryWrapper<FinBillApplication> createQueryWrapper(FinBillApplicationQuery query) {
// todo: 这里根据具体业务调整查询条件 // todo: 这里根据具体业务调整查询条件
@ -465,35 +496,6 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
} }
vo.setFinBillTrailers(finBillTrailerVos); vo.setFinBillTrailers(finBillTrailerVos);
} }
/*else {
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(finBillVehicleVo.getVinNo(), entity.getUseOrgSid()).getData();
TraliveredVo data = baseTrailerFeign.trailerList(baseVehicle.getSid(), entity.getContractNo()).getData();
List<TrailerVo> trailerVoList = data.getList();
for (TrailerVo trailerVo : trailerVoList) {
FinBillTrailerVo finBillTrailerVo = new FinBillTrailerVo();
finBillTrailerVo.setBillAppSid(sid);
finBillTrailerVo.setVinNo(finBillVehicleVo.getVinNo());
finBillTrailerVo.setGcVinNo(trailerVo.getTrailerVinNo());
finBillTrailerVo.setBillTypeKey(finBillVehicleVo.getBillTypeKey());
finBillTrailerVo.setBillTypeValue(finBillVehicleVo.getBillTypeValue());
finBillTrailerVo.setOpenTickSid(finBillVehicleVo.getOpenTickSid());
finBillTrailerVo.setOpenTickName(finBillVehicleVo.getOpenTickName());
//根据挂车车架号查询挂车信息以及合格证照片路径
BaseTrailerDetailsVo baseTrailerDetailsVo = baseTrailerFeign.fetchByGcVinNo(trailerVo.getTrailerVinNo()).getData();
List<CommonAppendixVo> commonAppendixVos = commonAppendixFeign.selByLinkSid(baseTrailerDetailsVo.getSid()).getData();
List<String> hgzImageUrls = new ArrayList<>();
for (CommonAppendixVo commonAppendixVo : commonAppendixVos) {
if (commonAppendixVo.getAttachType().equals("挂车合格证照片")) {
hgzImageUrls.add(commonAppendixVo.getFileUrl());
}
}
finBillTrailerVo.setHgzImageUrl(hgzImageUrls);
finBillTrailerVos.add(finBillTrailerVo);
}
}
vo.setFinBillTrailers(finBillTrailerVos);
}*/
List<FinBillFileVo> khkpsqsApplicationAppendxs = finBillFileService.fetchkhkpsqsBySid(sid); List<FinBillFileVo> khkpsqsApplicationAppendxs = finBillFileService.fetchkhkpsqsBySid(sid);
for (FinBillFileVo khkpsqsApplicationAppendx : khkpsqsApplicationAppendxs) { for (FinBillFileVo khkpsqsApplicationAppendx : khkpsqsApplicationAppendxs) {
String fileUrl = khkpsqsApplicationAppendx.getFileUrl(); String fileUrl = khkpsqsApplicationAppendx.getFileUrl();
@ -529,11 +531,19 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
fileUrl = urlPrefix + fileUrl; fileUrl = urlPrefix + fileUrl;
fjApplicationAppendx.setFileUrl(fileUrl); fjApplicationAppendx.setFileUrl(fileUrl);
} }
List<FinBillFileVo> arrearsCollectionAppendxs = finBillFileService.fetchqklpfjBySid(sid);
for (FinBillFileVo arrearsCollectionAppendx : arrearsCollectionAppendxs) {
String fileUrl = arrearsCollectionAppendx.getFileUrl();
String urlPrefix = fileUploadComponent.getUrlPrefix();
fileUrl = urlPrefix + fileUrl;
arrearsCollectionAppendx.setFileUrl(fileUrl);
}
vo.setKhkpsqsApplicationAppendxs(khkpsqsApplicationAppendxs); vo.setKhkpsqsApplicationAppendxs(khkpsqsApplicationAppendxs);
vo.setKpxxqrsApplicationAppendxs(kpxxqrsApplicationAppendxs); vo.setKpxxqrsApplicationAppendxs(kpxxqrsApplicationAppendxs);
vo.setCldjhtApplicationAppendxs(cldjhtApplicationAppendxs); vo.setCldjhtApplicationAppendxs(cldjhtApplicationAppendxs);
vo.setZjApplicationAppendxs(zjApplicationAppendxs); vo.setZjApplicationAppendxs(zjApplicationAppendxs);
vo.setFjApplicationAppendxs(fjApplicationAppendxs); vo.setFjApplicationAppendxs(fjApplicationAppendxs);
vo.setArrearsCollectionAppendxs(arrearsCollectionAppendxs);
return vo; return vo;
} }
@ -621,14 +631,14 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue());
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid()); finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid()); FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid());
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())){ if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) {
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress()); finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone()); finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName()); finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName());
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount()); finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo()); finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
finVehicleInvoiceDto.setIsTakeTicket("是"); finVehicleInvoiceDto.setIsTakeTicket("是");
}else { } else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillVehicleVo.getOpenTickSid()).getData(); CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillVehicleVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
@ -664,14 +674,14 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue());
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid()); finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid()); FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid());
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())){ if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) {
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress()); finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone()); finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName()); finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName());
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount()); finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo()); finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
finVehicleInvoiceDto.setIsTakeTicket("是"); finVehicleInvoiceDto.setIsTakeTicket("是");
}else { } else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillTrailerVo.getOpenTickSid()).getData(); CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillTrailerVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
@ -1432,6 +1442,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
List<FinBillFileDto> kpxxqrsApplicationAppendxs = dto.getKpxxqrsApplicationAppendxs(); List<FinBillFileDto> kpxxqrsApplicationAppendxs = dto.getKpxxqrsApplicationAppendxs();
List<FinBillFileDto> cldjhtApplicationAppendxs = dto.getCldjhtApplicationAppendxs(); List<FinBillFileDto> cldjhtApplicationAppendxs = dto.getCldjhtApplicationAppendxs();
List<FinBillFileDto> zjApplicationAppendxs = dto.getZjApplicationAppendxs(); List<FinBillFileDto> zjApplicationAppendxs = dto.getZjApplicationAppendxs();
List<FinBillFileDto> arrearsCollectionAppendxs = dto.getArrearsCollectionAppendxs();
if (StringUtils.isBlank(dtoSid)) {//新增 if (StringUtils.isBlank(dtoSid)) {//新增
FinBillApplication finBillApplication = new FinBillApplication(); FinBillApplication finBillApplication = new FinBillApplication();
BeanUtil.copyProperties(dto, finBillApplication, "sid"); BeanUtil.copyProperties(dto, finBillApplication, "sid");
@ -1544,6 +1555,18 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finBillFileService.saveOrUpdateDto(finBillFileDto); finBillFileService.saveOrUpdateDto(finBillFileDto);
} }
} }
if (arrearsCollectionAppendxs.size() > 0) {
for (FinBillFileDto finBillFileDto : arrearsCollectionAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.QKLPFJ.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
return rb.success().setMsg("保存成功").setData(finBillApplication.getSid()); return rb.success().setMsg("保存成功").setData(finBillApplication.getSid());
} }
FinBillApplication finBillApplication = fetchBySid(dtoSid); FinBillApplication finBillApplication = fetchBySid(dtoSid);
@ -1603,6 +1626,18 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finBillFileService.saveOrUpdateDto(finBillFileDto); finBillFileService.saveOrUpdateDto(finBillFileDto);
} }
} }
if (arrearsCollectionAppendxs.size() > 0) {
for (FinBillFileDto finBillFileDto : arrearsCollectionAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(finBillApplication.getSid());
finBillFileDto.setAttachType(FinAttachTypeEnum.QKLPFJ.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
finBillVehicleService.delByBillAppSid(dtoSid); finBillVehicleService.delByBillAppSid(dtoSid);
for (FinBillVehicleDto finBillVehicleDto : finBillVehicles) { for (FinBillVehicleDto finBillVehicleDto : finBillVehicles) {
FinBillVehicle finBillVehicle = new FinBillVehicle(); FinBillVehicle finBillVehicle = new FinBillVehicle();
@ -1919,14 +1954,14 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue());
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid()); finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid()); FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid());
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())){ if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) {
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress()); finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone()); finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName()); finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName());
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount()); finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo()); finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
finVehicleInvoiceDto.setIsTakeTicket("是"); finVehicleInvoiceDto.setIsTakeTicket("是");
}else { } else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillVehicleVo.getOpenTickSid()).getData(); CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillVehicleVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
@ -1962,14 +1997,14 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue());
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid()); finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid()); FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid());
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())){ if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) {
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress()); finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone()); finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName()); finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName());
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount()); finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo()); finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
finVehicleInvoiceDto.setIsTakeTicket("是"); finVehicleInvoiceDto.setIsTakeTicket("是");
}else { } else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillTrailerVo.getOpenTickSid()).getData(); CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillTrailerVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
@ -2013,6 +2048,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
List<FinBillFileDto> kpxxqrsApplicationAppendxs = query.getKpxxqrsApplicationAppendxs(); List<FinBillFileDto> kpxxqrsApplicationAppendxs = query.getKpxxqrsApplicationAppendxs();
List<FinBillFileDto> cldjhtApplicationAppendxs = query.getCldjhtApplicationAppendxs(); List<FinBillFileDto> cldjhtApplicationAppendxs = query.getCldjhtApplicationAppendxs();
List<FinBillFileDto> zjApplicationAppendxs = query.getZjApplicationAppendxs(); List<FinBillFileDto> zjApplicationAppendxs = query.getZjApplicationAppendxs();
List<FinBillFileDto> arrearsCollectionAppendxs = query.getArrearsCollectionAppendxs();
if (zjApplicationAppendxs.size() == 0) { if (zjApplicationAppendxs.size() == 0) {
return rb.setMsg("证件不能为空"); return rb.setMsg("证件不能为空");
} }
@ -2101,6 +2137,18 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finBillFileService.saveOrUpdateDto(finBillFileDto); finBillFileService.saveOrUpdateDto(finBillFileDto);
} }
} }
if (arrearsCollectionAppendxs.size() > 0) {
for (FinBillFileDto finBillFileDto : arrearsCollectionAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(businessSid);
finBillFileDto.setAttachType(FinAttachTypeEnum.QKLPFJ.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
//极光推送 //极光推送
finBillApplication = fetchBySid(businessSid); finBillApplication = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
@ -2348,7 +2396,8 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchByMainSid(sid); List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchByMainSid(sid);
String vinNos = ""; String vinNos = "";
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) { for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
String vinNo = finBillVehicleVo.getVinNo().substring(finBillVehicleVo.getVinNo().length() - 8);; String vinNo = finBillVehicleVo.getVinNo().substring(finBillVehicleVo.getVinNo().length() - 8);
;
vinNos = vinNos + vinNo + ","; vinNos = vinNos + vinNo + ",";
} }
record.setVinNo(vinNos.substring(0, vinNos.lastIndexOf(","))); record.setVinNo(vinNos.substring(0, vinNos.lastIndexOf(",")));
@ -2412,7 +2461,8 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchByMainSid(sid); List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchByMainSid(sid);
String vinNos = ""; String vinNos = "";
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) { for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
String vinNo = finBillVehicleVo.getVinNo().substring(finBillVehicleVo.getVinNo().length() - 8);; String vinNo = finBillVehicleVo.getVinNo().substring(finBillVehicleVo.getVinNo().length() - 8);
;
vinNos = vinNos + vinNo + ","; vinNos = vinNos + vinNo + ",";
} }
record.setVinNo(vinNos.substring(0, vinNos.lastIndexOf(","))); record.setVinNo(vinNos.substring(0, vinNos.lastIndexOf(",")));
@ -2432,7 +2482,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
//判断是否领取发票原件,若是,则isTrue网关参数为true=============添加 //判断是否领取发票原件,若是,则isTrue网关参数为true=============添加
bv.getFormVariables().put("isAdj", finBillApplication.getIsLQOrigInvoice().equals("是")); bv.getFormVariables().put("isAdj", finBillApplication.getIsLQOrigInvoice().equals("是"));
//======================================== //========================================
Map<String,Object> variables = bv.getFormVariables(); Map<String, Object> variables = bv.getFormVariables();
finBillApplication = fetchBySid(bv.getBusinessSid()); finBillApplication = fetchBySid(bv.getBusinessSid());
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery(); FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
flowProcessMapQuery.setProDefKey(finBillApplication.getProcDefId()); flowProcessMapQuery.setProDefKey(finBillApplication.getProcDefId());
@ -3100,14 +3150,14 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue());
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid()); finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid()); FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid());
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())){ if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) {
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress()); finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone()); finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName()); finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName());
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount()); finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo()); finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
finVehicleInvoiceDto.setIsTakeTicket("是"); finVehicleInvoiceDto.setIsTakeTicket("是");
}else { } else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillVehicleVo.getOpenTickSid()).getData(); CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillVehicleVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
@ -3143,14 +3193,14 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue()); finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue());
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid()); finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid()); FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid());
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())){ if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) {
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress()); finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone()); finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName()); finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName());
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount()); finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo()); finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
finVehicleInvoiceDto.setIsTakeTicket("是"); finVehicleInvoiceDto.setIsTakeTicket("是");
}else { } else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillTrailerVo.getOpenTickSid()).getData(); CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillTrailerVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile()); finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber()); finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
@ -3186,4 +3236,226 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
return rb.setMsg("操作失败!提交的数据不一致"); return rb.setMsg("操作失败!提交的数据不一致");
} }
} }
public ResultBean<String> createPdf(String sid, String userName) {
ResultBean rb = ResultBean.fireFail();
List<String> photoList = new ArrayList<>();
List<String> imgList = new ArrayList<>();
FinBillApplication finBillApplication = fetchBySid(sid);
Map<String, Object> dataMap = new HashMap();
//获取审批记录
List<PCHistTaskListAndCommentList> flowRecordVo = flowableFeignPro.flowRecordAndComment(finBillApplication.getProcInstSid(), "1").getData();
List<FinBillApplicationSourceLCVo> finBillApplicationSourceLCVos = new ArrayList<>();
for (PCHistTaskListAndCommentList flowTask : flowRecordVo) {
if (flowTask.getFlowableRecordVo() != null) {
Map<String, Object> flowableRecordVo = flowTask.getFlowableRecordVo();
FinBillApplicationSourceLCVo finBillApplicationSourceLCVo = new FinBillApplicationSourceLCVo();
List<Map<String, Object>> taskUserInfos = ConstantUtils.getListData(flowableRecordVo, "taskUserInfos");
Map<String, Object> comment = ConstantUtils.getMap(flowableRecordVo, "comment");
String assigneeName = (String) taskUserInfos.get(0).get("assigneeName");
String comment1 = (String) comment.get("comment");
finBillApplicationSourceLCVo.setName(assigneeName);
finBillApplicationSourceLCVo.setComment(comment1);
finBillApplicationSourceLCVo.setSpsj(flowableRecordVo.get("finishTime").toString());
finBillApplicationSourceLCVos.add(finBillApplicationSourceLCVo);
} else {
Map<String, Object> processCommentVo = flowTask.getProcessCommentVo();
FinBillApplicationSourceLCVo finBillApplicationSourceLCVo = new FinBillApplicationSourceLCVo();
finBillApplicationSourceLCVo.setName(processCommentVo.get("title").toString());
finBillApplicationSourceLCVo.setComment(processCommentVo.get("content").toString());
finBillApplicationSourceLCVo.setSpsj(processCommentVo.get("time").toString());
finBillApplicationSourceLCVos.add(finBillApplicationSourceLCVo);
List<String> fileList = (List) processCommentVo.get("fileList");
if (fileList.size() > 0) {
for (String s : fileList) {
imgList.add(s);
}
}
}
}
List<Message> messages = messageFeign.selectByBusinessSid(finBillApplication.getSid()).getData();
if (messages.size() > 0) {
for (Message message : messages) {
FinBillApplicationSourceLCVo finBillApplicationSourceLCVo = new FinBillApplicationSourceLCVo();
String receiverNames = "";
List<MessageList> messageLists = messageListFeign.fetchByMainSid(message.getSid()).getData();
if (messageLists.size() > 0) {
for (MessageList messageList : messageLists) {
receiverNames = receiverNames + messageList.getReceiverName() + ",";
}
}
finBillApplicationSourceLCVo.setName("系统");
finBillApplicationSourceLCVo.setComment("抄送 " + receiverNames.substring(0, receiverNames.lastIndexOf(",")));
finBillApplicationSourceLCVo.setSpsj(DateUtil.format(message.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
finBillApplicationSourceLCVos.add(finBillApplicationSourceLCVo);
}
}
finBillApplicationSourceLCVos.sort(comparing(FinBillApplicationSourceLCVo::getSpsj));
dataMap.put("lcList", finBillApplicationSourceLCVos);
//发起人
dataMap.put("fqr", finBillApplication.getCreateByName());
//发起部门
dataMap.put("fqbm", finBillApplication.getDeptName());
//发起日期
dataMap.put("fqrq", finBillApplication.getApplyDate());
//销售专员
dataMap.put("xszy", finBillApplication.getStaffName());
//销售部门
dataMap.put("xsbm", finBillApplication.getSaleDeptName());
//销售类型
dataMap.put("xslx", finBillApplication.getSaleTypeValue());
//合同编号
dataMap.put("htbh", finBillApplication.getContractNo());
//开票单位
dataMap.put("kpdw", finBillApplication.getOpenTickUnitName());
//客户名称
dataMap.put("khmc", finBillApplication.getCustomerName());
//单台开票金额
dataMap.put("zcdtkpje", finBillApplication.getOneBillMoney().toString());
//是否领取发票
dataMap.put("sflqfp", finBillApplication.getIsLQOrigInvoice());
//开票名称默认
dataMap.put("kpmcmr", finBillApplication.getOpenTickName());
//主车信息
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchByMainSid(sid);
List<FinBillApplicationZcListVo> finBillApplicationZcListVos = new ArrayList<>();
int zcId = 1;
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
FinBillApplicationZcListVo finBillApplicationZcListVo = new FinBillApplicationZcListVo();
finBillApplicationZcListVo.setIdzc(zcId);
finBillApplicationZcListVo.setZccjh(finBillVehicleVo.getVinNo());
finBillApplicationZcListVo.setZchgz(finBillVehicleVo.getCertificateStateValue());
finBillApplicationZcListVo.setZckplx(finBillVehicleVo.getBillTypeValue());
finBillApplicationZcListVo.setZckpmc(finBillVehicleVo.getOpenTickName());
finBillApplicationZcListVo.setZckpxx(finBillVehicleVo.getOpenTickRemarks());
finBillApplicationZcListVos.add(finBillApplicationZcListVo);
zcId = zcId + 1;
}
dataMap.put("zcxx", finBillApplicationZcListVos);
//欠款金额合计
dataMap.put("qkjehj", finBillApplication.getArrearsMoney());
//承诺回款日期
dataMap.put("cnhkrq", finBillApplication.getReturnedMoneyDate());
//欠款开票原因
dataMap.put("qkkpyy", finBillApplication.getArrearsOpenYYValue());
//欠款原因备注
dataMap.put("remarks", finBillApplication.getRemarks());
//挂车信息
List<FinBillTrailerVo> finBillTrailerVos = finBillTrailerService.fetchByMainSid(sid);
List<FinBillApplicationGcListVo> finBillApplicationGcListVos = new ArrayList<>();
int gcId = 1;
if (!finBillTrailerVos.isEmpty()){
for (FinBillTrailerVo finBillTrailerVo : finBillTrailerVos) {
FinBillApplicationGcListVo finBillApplicationGcListVo = new FinBillApplicationGcListVo();
finBillApplicationGcListVo.setIdgc(gcId);
finBillApplicationGcListVo.setGccjh(finBillTrailerVo.getGcVinNo());
finBillApplicationGcListVo.setZccjh(finBillTrailerVo.getVinNo());
finBillApplicationGcListVo.setGckpje(finBillTrailerVo.getOneBillMoney());
finBillApplicationGcListVos.add(finBillApplicationGcListVo);
gcId = gcId + 1;
}
}
dataMap.put("gcxx", finBillApplicationGcListVos);
//是否显示挂车信息
if (finBillApplicationGcListVos.size() > 0) {
dataMap.put("isXS", "是");
} else {
dataMap.put("isXS", "否");
}
//下载人
dataMap.put("downName", userName);
//下载时间
dataMap.put("downTime", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
//获取图片路径
List<FinBillFileVo> finBillFileVos = finBillFileService.fetchFileByBillSid(sid);
for (FinBillFileVo finBillFileVo : finBillFileVos) {
String fileUrl = finBillFileVo.getFileUrl();
String urlPrefix = fileUploadComponent.getUrlPrefix();
try {
fileUrl = urlPrefix + URLEncoder.encode(fileUrl, "utf-8");
String image2Base64 = image2Base64(fileUrl);
photoList.add(image2Base64);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
if (imgList.size() > 0) {
for (String image : imgList) {
if (image.contains(fileUploadComponent.getUrlPrefix())) {
image = image.replace(fileUploadComponent.getUrlPrefix(), "");
try {
image = fileUploadComponent.getUrlPrefix() + URLEncoder.encode(image, "utf-8");
String image2Base64 = image2Base64(image);
photoList.add(image2Base64);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
}
dataMap.put("photoPath64", photoList);
//获取模板
//模板路径
String sourcePath = "D:\\anrui\\upload\\template\\";
//生成word文件名
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String typeName = dateStr + seconds + ".doc";
//生成文件路径
String targetPath = sourcePath + dateStr;
WordUtils.creatWord(dataMap, "qkkpsqd", sourcePath, targetPath, typeName);
//新生成的word路径
String wordPath = targetPath + "\\" + typeName;
//生成欠款开票文件名
String pdfName = "欠款开票审批单" + finBillApplication.getContractNo() + ".pdf";
WordUtils.doc2pdf(wordPath, targetPath, pdfName, userName);
return rb.success().setData("template/" + dateStr + "/" + pdfName);
}
public static String image2Base64(String imgUrl) {
URL url = null;
InputStream is = null;
ByteArrayOutputStream outStream = null;
HttpURLConnection httpUrl = null;
try {
url = new URL(imgUrl);
httpUrl = (HttpURLConnection) url.openConnection();
httpUrl.connect();
httpUrl.getInputStream();
is = httpUrl.getInputStream();
outStream = new ByteArrayOutputStream();
//创建一个Buffer字符串
byte[] buffer = new byte[1024];
//每次读取的字符串长度,如果为-1,代表全部读取完毕
int len = 0;
//使用一个输入流从buffer里把数据读取出来
while ((len = is.read(buffer)) != -1) {
//用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
outStream.write(buffer, 0, len);
}
// 对字节数组Base64编码
return Base64.encode(outStream.toByteArray());
} catch (Exception e) {
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (outStream != null) {
try {
outStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (httpUrl != null) {
httpUrl.disconnect();
}
}
return imgUrl;
}
} }

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileMapper.java

@ -89,5 +89,8 @@ public interface FinBillFileMapper extends BaseMapper<FinBillFile> {
@Select("select * from fin_bill_file where billAppSid = #{sid} and attachType = '005'") @Select("select * from fin_bill_file where billAppSid = #{sid} and attachType = '005'")
List<FinBillFileVo> fetchfjBySid(String sid); List<FinBillFileVo> fetchfjBySid(String sid);
@Select("select * from fin_bill_file where billAppSid = #{sid} and attachType = '006'")
List<FinBillFileVo> fetchqklpfjBySid(String sid);
List<FinBillFileVo> fetchFileByBillSid(@Param("sid") String sid); List<FinBillFileVo> fetchFileByBillSid(@Param("sid") String sid);
} }

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileService.java

@ -169,4 +169,8 @@ public class FinBillFileService extends MybatisBaseService<FinBillFileMapper, Fi
public List<FinBillFileVo> fetchFileByBillSid(String sid) { public List<FinBillFileVo> fetchFileByBillSid(String sid) {
return baseMapper.fetchFileByBillSid(sid); return baseMapper.fetchFileByBillSid(sid);
} }
public List<FinBillFileVo> fetchqklpfjBySid(String sid) {
return baseMapper.fetchqklpfjBySid(sid);
}
} }

2
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/SysStaffinfoDto.java

@ -43,7 +43,7 @@ public class SysStaffinfoDto implements Dto {
@ApiModelProperty(value = "员工编号") @ApiModelProperty(value = "员工编号")
private String jobNumber; private String jobNumber;
@ApiModelProperty(value = "身份证号", required = true) @ApiModelProperty(value = "身份证号", required = true)
@Pattern(regexp = "/(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)/", message = "请输入正确的身份证号") @Pattern(regexp = "^[1-9]\\d{5}(18|19|([23]\\d))\\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\\d{3}[0-9Xx]$", message = "请输入正确的身份证号")
@NotBlank(message = "身份证号不能为空") @NotBlank(message = "身份证号不能为空")
private String idNo; private String idNo;
@ApiModelProperty(value = "证件有效期", required = true) @ApiModelProperty(value = "证件有效期", required = true)

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceDto.java

@ -63,6 +63,8 @@ public class AdvanceInvoiceDto implements Dto {
private List<String> registerContractImages; private List<String> registerContractImages;
@ApiModelProperty("确认书") @ApiModelProperty("确认书")
private List<String> invoiceApplyConfirmImages; private List<String> invoiceApplyConfirmImages;
@ApiModelProperty("欠款领票附件")
private List<String> arrearsCollectionAppendxs;
@ApiModelProperty("用户sid") @ApiModelProperty("用户sid")
private String userSid; private String userSid;
@ApiModelProperty("组织全路径") @ApiModelProperty("组织全路径")

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceInfoVo.java

@ -68,6 +68,8 @@ public class AdvanceInvoiceInfoVo implements Vo {
private List<String> registerContractImages; private List<String> registerContractImages;
@ApiModelProperty("确认书") @ApiModelProperty("确认书")
private List<String> invoiceApplyConfirmImages; private List<String> invoiceApplyConfirmImages;
@ApiModelProperty("欠款领票附件")
private List<String> arrearsCollectionAppendxs;
@ApiModelProperty("用户sid") @ApiModelProperty("用户sid")
private String userSid; private String userSid;
@ApiModelProperty("组织全路径") @ApiModelProperty("组织全路径")

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/qkkpDto.java

@ -47,6 +47,8 @@ public class qkkpDto implements Dto {
private List<String> registerContractImages = new ArrayList<>(); private List<String> registerContractImages = new ArrayList<>();
@ApiModelProperty("确认书") @ApiModelProperty("确认书")
private List<String> invoiceApplyConfirmImages = new ArrayList<>(); private List<String> invoiceApplyConfirmImages = new ArrayList<>();
@ApiModelProperty("欠款领票附件")
private List<String> arrearsCollectionAppendxs = new ArrayList<>();
private String orgPath; private String orgPath;

28
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java

@ -480,10 +480,12 @@ public class AppBusAdvanceGinvoiceapplyService {
List<String> invoiceApplyConfirmImages = dto.getInvoiceApplyConfirmImages();//开票信息确认书 List<String> invoiceApplyConfirmImages = dto.getInvoiceApplyConfirmImages();//开票信息确认书
List<String> registerContractImages = dto.getRegisterContractImages();//车辆登记合同 List<String> registerContractImages = dto.getRegisterContractImages();//车辆登记合同
List<String> idCardImages = dto.getIdCardImages();//证件 List<String> idCardImages = dto.getIdCardImages();//证件
List<String> arrearsCollectionAppendxs = dto.getArrearsCollectionAppendxs();//欠款领票附件
List<FinBillFileDto> khkpsqsApplicationAppendxs = new ArrayList<>(); // 客户开票申请书附件信息 List<FinBillFileDto> khkpsqsApplicationAppendxs = new ArrayList<>(); // 客户开票申请书附件信息
List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>(); // 开票信息确认书附件信息 List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>(); // 开票信息确认书附件信息
List<FinBillFileDto> cldjhtApplicationAppendxs = new ArrayList<>(); // 车辆登记合同附件信息 List<FinBillFileDto> cldjhtApplicationAppendxs = new ArrayList<>(); // 车辆登记合同附件信息
List<FinBillFileDto> idCardImagesPC = new ArrayList<>();//证件 List<FinBillFileDto> idCardImagesPC = new ArrayList<>();//证件
List<FinBillFileDto> qklpfjImages = new ArrayList<>(); // 欠款领票附件
if (customerInvoiceApplyImages != null) { if (customerInvoiceApplyImages != null) {
for (String customerInvoiceApplyImage : customerInvoiceApplyImages) { for (String customerInvoiceApplyImage : customerInvoiceApplyImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto(); FinBillFileDto finBillFileDto = new FinBillFileDto();
@ -512,10 +514,18 @@ public class AppBusAdvanceGinvoiceapplyService {
idCardImagesPC.add(finBillFileDto); idCardImagesPC.add(finBillFileDto);
} }
} }
if (arrearsCollectionAppendxs != null) {
for (String arrearsCollectionAppendx : arrearsCollectionAppendxs) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(arrearsCollectionAppendx);
qklpfjImages.add(finBillFileDto);
}
}
finBillApplicationDto.setKhkpsqsApplicationAppendxs(khkpsqsApplicationAppendxs); finBillApplicationDto.setKhkpsqsApplicationAppendxs(khkpsqsApplicationAppendxs);
finBillApplicationDto.setKpxxqrsApplicationAppendxs(kpxxqrsApplicationAppendxs); finBillApplicationDto.setKpxxqrsApplicationAppendxs(kpxxqrsApplicationAppendxs);
finBillApplicationDto.setCldjhtApplicationAppendxs(cldjhtApplicationAppendxs); finBillApplicationDto.setCldjhtApplicationAppendxs(cldjhtApplicationAppendxs);
finBillApplicationDto.setZjApplicationAppendxs(idCardImagesPC); finBillApplicationDto.setZjApplicationAppendxs(idCardImagesPC);
finBillApplicationDto.setArrearsCollectionAppendxs(qklpfjImages);
ResultBean resultBean = finBillApplicationFeign.saveQK(finBillApplicationDto); ResultBean resultBean = finBillApplicationFeign.saveQK(finBillApplicationDto);
return resultBean; return resultBean;
} }
@ -889,10 +899,12 @@ public class AppBusAdvanceGinvoiceapplyService {
List<FinBillFileVo> kpxxqrsApplicationAppendxs = finBillApplicationDetailsVo.getKpxxqrsApplicationAppendxs(); List<FinBillFileVo> kpxxqrsApplicationAppendxs = finBillApplicationDetailsVo.getKpxxqrsApplicationAppendxs();
List<FinBillFileVo> cldjhtApplicationAppendxs = finBillApplicationDetailsVo.getCldjhtApplicationAppendxs(); List<FinBillFileVo> cldjhtApplicationAppendxs = finBillApplicationDetailsVo.getCldjhtApplicationAppendxs();
List<FinBillFileVo> zjApplicationAppendxs = finBillApplicationDetailsVo.getZjApplicationAppendxs(); List<FinBillFileVo> zjApplicationAppendxs = finBillApplicationDetailsVo.getZjApplicationAppendxs();
List<FinBillFileVo> arrearsCollectionAppendxs = finBillApplicationDetailsVo.getArrearsCollectionAppendxs();
List<String> customerInvoiceApplyImages = new ArrayList<>();//客户开票申请书 List<String> customerInvoiceApplyImages = new ArrayList<>();//客户开票申请书
List<String> invoiceApplyConfirmImages = new ArrayList<>();//开票信息确认书 List<String> invoiceApplyConfirmImages = new ArrayList<>();//开票信息确认书
List<String> registerContractImages = new ArrayList<>();//车辆登记合同 List<String> registerContractImages = new ArrayList<>();//车辆登记合同
List<String> idCardImages = new ArrayList<>(); List<String> idCardImages = new ArrayList<>();
List<String> qklpfjImages = new ArrayList<>();//欠款领票附件
if (zjApplicationAppendxs != null) { if (zjApplicationAppendxs != null) {
for (FinBillFileVo zjApplicationAppendx : zjApplicationAppendxs) { for (FinBillFileVo zjApplicationAppendx : zjApplicationAppendxs) {
idCardImages.add(zjApplicationAppendx.getFileUrl()); idCardImages.add(zjApplicationAppendx.getFileUrl());
@ -913,10 +925,16 @@ public class AppBusAdvanceGinvoiceapplyService {
registerContractImages.add(cldjhtApplicationAppendx.getFileUrl()); registerContractImages.add(cldjhtApplicationAppendx.getFileUrl());
} }
} }
if (arrearsCollectionAppendxs != null) {
for (FinBillFileVo cldjhtApplicationAppendx : arrearsCollectionAppendxs) {
qklpfjImages.add(cldjhtApplicationAppendx.getFileUrl());
}
}
vo.setCustomerInvoiceApplyImages(customerInvoiceApplyImages); vo.setCustomerInvoiceApplyImages(customerInvoiceApplyImages);
vo.setInvoiceApplyConfirmImages(invoiceApplyConfirmImages); vo.setInvoiceApplyConfirmImages(invoiceApplyConfirmImages);
vo.setRegisterContractImages(registerContractImages); vo.setRegisterContractImages(registerContractImages);
vo.setIdCardImages(idCardImages); vo.setIdCardImages(idCardImages);
vo.setArrearsCollectionAppendxs(qklpfjImages);
BusSalesOrderIsDTKPJVo busSalesOrderIsDTKPJVo = busSalesOrderFeign.fetchByContractNo(finBillApplicationDetailsVo.getContractNo()).getData(); BusSalesOrderIsDTKPJVo busSalesOrderIsDTKPJVo = busSalesOrderFeign.fetchByContractNo(finBillApplicationDetailsVo.getContractNo()).getData();
if (StringUtils.isNotBlank(busSalesOrderIsDTKPJVo.getOneBillMoney())) { if (StringUtils.isNotBlank(busSalesOrderIsDTKPJVo.getOneBillMoney())) {
vo.setIsCanEdit(false); vo.setIsCanEdit(false);
@ -953,10 +971,12 @@ public class AppBusAdvanceGinvoiceapplyService {
List<String> invoiceApplyConfirmImages = dto.getInvoiceApplyConfirmImages();//开票信息确认书 List<String> invoiceApplyConfirmImages = dto.getInvoiceApplyConfirmImages();//开票信息确认书
List<String> registerContractImages = dto.getRegisterContractImages();//车辆登记合同 List<String> registerContractImages = dto.getRegisterContractImages();//车辆登记合同
List<String> idCardImages = dto.getIdCardImages();//证件 List<String> idCardImages = dto.getIdCardImages();//证件
List<String> arrearsCollectionAppendxs = dto.getArrearsCollectionAppendxs();//欠款领票附件
List<FinBillFileDto> khkpsqsApplicationAppendxs = new ArrayList<>(); // 客户开票申请书附件信息 List<FinBillFileDto> khkpsqsApplicationAppendxs = new ArrayList<>(); // 客户开票申请书附件信息
List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>(); // 开票信息确认书附件信息 List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>(); // 开票信息确认书附件信息
List<FinBillFileDto> cldjhtApplicationAppendxs = new ArrayList<>(); // 车辆登记合同附件信息 List<FinBillFileDto> cldjhtApplicationAppendxs = new ArrayList<>(); // 车辆登记合同附件信息
List<FinBillFileDto> idCardImagesPC = new ArrayList<>();//证件 List<FinBillFileDto> idCardImagesPC = new ArrayList<>();//证件
List<FinBillFileDto> qklpfjImages = new ArrayList<>();//欠款领票附件
if (customerInvoiceApplyImages != null) { if (customerInvoiceApplyImages != null) {
for (String customerInvoiceApplyImage : customerInvoiceApplyImages) { for (String customerInvoiceApplyImage : customerInvoiceApplyImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto(); FinBillFileDto finBillFileDto = new FinBillFileDto();
@ -985,10 +1005,18 @@ public class AppBusAdvanceGinvoiceapplyService {
idCardImagesPC.add(finBillFileDto); idCardImagesPC.add(finBillFileDto);
} }
} }
if (arrearsCollectionAppendxs != null) {
for (String arrearsCollectionAppendx : arrearsCollectionAppendxs) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(arrearsCollectionAppendx);
qklpfjImages.add(finBillFileDto);
}
}
finBillCompleteDto.setKhkpsqsApplicationAppendxs(khkpsqsApplicationAppendxs); finBillCompleteDto.setKhkpsqsApplicationAppendxs(khkpsqsApplicationAppendxs);
finBillCompleteDto.setKpxxqrsApplicationAppendxs(kpxxqrsApplicationAppendxs); finBillCompleteDto.setKpxxqrsApplicationAppendxs(kpxxqrsApplicationAppendxs);
finBillCompleteDto.setCldjhtApplicationAppendxs(cldjhtApplicationAppendxs); finBillCompleteDto.setCldjhtApplicationAppendxs(cldjhtApplicationAppendxs);
finBillCompleteDto.setZjApplicationAppendxs(idCardImagesPC); finBillCompleteDto.setZjApplicationAppendxs(idCardImagesPC);
finBillCompleteDto.setArrearsCollectionAppendxs(qklpfjImages);
finBillCompleteDto.setOrgSidPath(orgSidPath); finBillCompleteDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = finBillApplicationFeign.completeBy(finBillCompleteDto); ResultBean resultBean = finBillApplicationFeign.completeBy(finBillCompleteDto);
if (!resultBean.getSuccess()) { if (!resultBean.getSuccess()) {

2435
工作内容需要的文档/单据模板/欠款开票申请单单据打印模板/qkkpsqd.ftl

File diff suppressed because it is too large

28
工作内容需要的文档/单据模板/欠款开票申请单单据打印模板/欠款开票申请单.doc

@ -0,0 +1,28 @@
|欠款开票申请单 |
|发起人|${fqr!} |发起部|${fqbm!} |发起 |${fqrq!} |
| | |门 | |日期 | |
|销售专|${xszy!} |销售部|${xsbm!} |销售 |${xslx!} |
|员 | |门 | |类型 | |
|合同编|${htbh!} |开票单|${kpdw!} |客户 |${khmc!} |
|号 | |位 | |名称 | |
|主车开票信息 |
|单台开票|${zcdtkpje|是否领取 |${sflqfp|开票名称 |${kpmcmr!} |
|金额 |!} |发票 |!} |默认 | |
|序号 |车架号 |合格证 |开票类型 |开票名称 |开票信息 |
| | |状态 | | | |
|${z.i|${z.zccj|${z.zch|${z.kplx!} |${z.kpmc!} |${z.zckpxx!} |
|dzc!}|h!} |gz!} | | | |
|欠款金额合|${qkjehj!} |承诺回款日期|${cnhkrq!} |
|计 | | | |
|欠款开票原|${qkkpyy|${remarks!} |
|因 |!} | |
|挂车开票信息(挂车的开票类型、开票名称与主车相同) |
|序号 |挂车车架号 |主车车架号 |开票金额 |
|${g.idgc!} |${g.gccjh!} |${g.zccjh!} |${g.gckpje!} |
|审批流程 |${lc.comment!} |${lc.spsj! |
| |${lc.name!} | |
|下载人: |${downName!}|下载时间: |${downTime!} |
[pic]
Loading…
Cancel
Save