|
|
@ -16,6 +16,7 @@ import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFe |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusVinStateSetQuery; |
|
|
|
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordSourceLCVo; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.stkmiscellaneous.StkMiscellaneous; |
|
|
@ -30,6 +31,7 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; |
|
|
|
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; |
|
|
|
import com.yxt.anrui.flowable.api.utils.ProcDefEnum; |
|
|
|
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.SysOrganizationVo; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; |
|
|
@ -61,13 +63,18 @@ import com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportAppl |
|
|
|
import com.yxt.anrui.riskcenter.biz.loansubletveh.LoanSubletVehService; |
|
|
|
import com.yxt.common.base.config.component.FileUploadComponent; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
|
import com.yxt.common.base.utils.ConstantUtils; |
|
|
|
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.result.ResultBean; |
|
|
|
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.MessageFlowVo; |
|
|
|
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.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
@ -79,6 +86,8 @@ import java.util.*; |
|
|
|
import java.util.concurrent.*; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
import static java.util.Comparator.comparing; |
|
|
|
|
|
|
|
/** |
|
|
|
* @description: |
|
|
|
* @author: fzz |
|
|
@ -92,14 +101,10 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp |
|
|
|
@Autowired |
|
|
|
private SysUserFeign sysUserFeign; |
|
|
|
@Autowired |
|
|
|
private LoanRepaymentHistoryService loanRepaymentHistoryService; |
|
|
|
@Autowired |
|
|
|
private SysStaffOrgFeign sysStaffOrgFeign; |
|
|
|
@Autowired |
|
|
|
private SysOrganizationFeign sysOrganizationFeign; |
|
|
|
@Autowired |
|
|
|
private LoanBuckleApplyRecordService loanBuckleApplyRecordService; |
|
|
|
@Autowired |
|
|
|
private LoanFileService loanFileService; |
|
|
|
@Autowired |
|
|
|
private FileUploadComponent fileUploadComponent; |
|
|
@ -110,22 +115,15 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp |
|
|
|
@Autowired |
|
|
|
private FlowableFeign flowableFeign; |
|
|
|
@Autowired |
|
|
|
private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign; |
|
|
|
@Autowired |
|
|
|
private FinKingDeeFeign finKingDeeFeign; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderBorrowerFeign busSalesOrderBorrowerFeign; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderFeign busSalesOrderFeign; |
|
|
|
@Autowired |
|
|
|
private BasePurchaseSystemFeign basePurchaseSystemFeign; |
|
|
|
private LoanOutboundVehService loanOutboundVehService; |
|
|
|
@Autowired |
|
|
|
private LoanRedemptionApplyService loanRedemptionApplyService; |
|
|
|
private MessageListFeign messageListFeign; |
|
|
|
@Autowired |
|
|
|
private LoanSubletVehService loanSubletVehService; |
|
|
|
private com.yxt.anrui.portal.api.flow.FlowableFeign flowableFeignSp; |
|
|
|
@Autowired |
|
|
|
private FinKingDeeFeign finKingDeeFeign; |
|
|
|
private LoanOutboundVehService loanOutboundVehService; |
|
|
|
@Autowired |
|
|
|
private LoanRestoreReportApplyService loanRestoreReportApplyService; |
|
|
@ -1123,4 +1121,107 @@ public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApp |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public String createPdf(String sid, String userName) { |
|
|
|
LoanOutboundApplyInit data = outboundDetails(sid).getData(); |
|
|
|
Map<String, Object> dataMap = new HashMap<String, Object>(); |
|
|
|
LoanOutboundApply loanOutboundApply = fetchBySid(sid); |
|
|
|
//分公司
|
|
|
|
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(data.getOrgPath()).getData(); |
|
|
|
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); |
|
|
|
dataMap.put("orgName", sysOrganizationVo.getName()); |
|
|
|
//创建部门
|
|
|
|
dataMap.put("deptName", data.getDept()); |
|
|
|
//创建人
|
|
|
|
dataMap.put("createName", data.getApplyName()); |
|
|
|
//创建日期
|
|
|
|
dataMap.put("createTime", data.getApplyDate()); |
|
|
|
//办结日期
|
|
|
|
dataMap.put("finishTime", DateUtil.formatDate(loanOutboundApply.getClosingDate())); |
|
|
|
//审批编号
|
|
|
|
dataMap.put("billNo", loanOutboundApply.getBillNo()); |
|
|
|
List<LoanOutboundApplyPdfVo> loanOutboundApplyPdfVos = new ArrayList<>(); |
|
|
|
//循环获取车辆信息
|
|
|
|
Integer i = 1; |
|
|
|
for (OutboundVinList outboundVinList : data.getVinList()) { |
|
|
|
LoanOutboundApplyPdfVo loanOutboundApplyPdfVo = new LoanOutboundApplyPdfVo(); |
|
|
|
loanOutboundApplyPdfVo.setId(i); |
|
|
|
i = i + 1; |
|
|
|
loanOutboundApplyPdfVo.setVinNo(outboundVinList.getVinNo()); |
|
|
|
loanOutboundApplyPdfVo.setCph(outboundVinList.getVehMark()); |
|
|
|
loanOutboundApplyPdfVo.setLx(outboundVinList.getVehType()); |
|
|
|
loanOutboundApplyPdfVo.setCx(outboundVinList.getVehModel()); |
|
|
|
loanOutboundApplyPdfVo.setDd(outboundVinList.getLocation()); |
|
|
|
loanOutboundApplyPdfVos.add(loanOutboundApplyPdfVo); |
|
|
|
} |
|
|
|
dataMap.put("wlList", loanOutboundApplyPdfVos); |
|
|
|
dataMap.put("cz", data.getDisposal()); |
|
|
|
dataMap.put("czh", data.getDisposalContractNo()); |
|
|
|
dataMap.put("name", data.getNewCustomer()); |
|
|
|
dataMap.put("sjh", data.getPhoneNum()); |
|
|
|
dataMap.put("ckj", data.getAmount()); |
|
|
|
dataMap.put("remarks", data.getRemarks()); |
|
|
|
//获取审批记录
|
|
|
|
List<PCHistTaskListAndCommentList> flowRecordVo = flowableFeignSp.flowRecordAndComment(loanOutboundApply.getProcInstId(), "1").getData(); |
|
|
|
List<FinPaymentrecordSourceLCVo> finPaymentrecordSourceLCVos = new ArrayList<>(); |
|
|
|
for (PCHistTaskListAndCommentList flowTask : flowRecordVo) { |
|
|
|
if (flowTask.getFlowableRecordVo() != null) { |
|
|
|
Map<String, Object> flowableRecordVo = flowTask.getFlowableRecordVo(); |
|
|
|
FinPaymentrecordSourceLCVo finPaymentrecordSourceLCVo = new FinPaymentrecordSourceLCVo(); |
|
|
|
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"); |
|
|
|
finPaymentrecordSourceLCVo.setName(assigneeName); |
|
|
|
finPaymentrecordSourceLCVo.setComment(comment1); |
|
|
|
finPaymentrecordSourceLCVo.setSpsj(flowableRecordVo.get("finishTime").toString()); |
|
|
|
finPaymentrecordSourceLCVos.add(finPaymentrecordSourceLCVo); |
|
|
|
} else { |
|
|
|
Map<String, Object> processCommentVo = flowTask.getProcessCommentVo(); |
|
|
|
FinPaymentrecordSourceLCVo finPaymentrecordSourceLCVo = new FinPaymentrecordSourceLCVo(); |
|
|
|
finPaymentrecordSourceLCVo.setName(processCommentVo.get("title").toString()); |
|
|
|
finPaymentrecordSourceLCVo.setComment(processCommentVo.get("content").toString()); |
|
|
|
finPaymentrecordSourceLCVo.setSpsj(processCommentVo.get("time").toString()); |
|
|
|
finPaymentrecordSourceLCVos.add(finPaymentrecordSourceLCVo); |
|
|
|
} |
|
|
|
} |
|
|
|
List<Message> messages = messageFeign.selectByBusinessSid(data.getSid()).getData(); |
|
|
|
if (messages.size() > 0) { |
|
|
|
for (Message message : messages) { |
|
|
|
FinPaymentrecordSourceLCVo finPaymentrecordSourceLCVo = new FinPaymentrecordSourceLCVo(); |
|
|
|
String receiverNames = ""; |
|
|
|
List<MessageList> messageLists = messageListFeign.fetchByMainSid(message.getSid()).getData(); |
|
|
|
if (messageLists.size() > 0) { |
|
|
|
for (MessageList messageList : messageLists) { |
|
|
|
receiverNames = receiverNames + messageList.getReceiverName() + ","; |
|
|
|
} |
|
|
|
} |
|
|
|
finPaymentrecordSourceLCVo.setName("系统"); |
|
|
|
finPaymentrecordSourceLCVo.setComment("抄送 " + receiverNames.substring(0, receiverNames.lastIndexOf(","))); |
|
|
|
finPaymentrecordSourceLCVo.setSpsj(DateUtil.format(message.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); |
|
|
|
finPaymentrecordSourceLCVos.add(finPaymentrecordSourceLCVo); |
|
|
|
} |
|
|
|
} |
|
|
|
finPaymentrecordSourceLCVos.sort(comparing(FinPaymentrecordSourceLCVo::getSpsj)); |
|
|
|
dataMap.put("lcList", finPaymentrecordSourceLCVos); |
|
|
|
//下载人
|
|
|
|
dataMap.put("downName", userName); |
|
|
|
//下载时间
|
|
|
|
dataMap.put("downTime", DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")); |
|
|
|
//获取模板
|
|
|
|
//模板路径
|
|
|
|
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, "jhclck", sourcePath, targetPath, typeName); |
|
|
|
//新生成的word路径
|
|
|
|
String wordPath = targetPath + "\\" + typeName; |
|
|
|
//生成出门证文件名
|
|
|
|
String pdfName = "交回车辆出库审批_" + dateStr + seconds + ".pdf"; |
|
|
|
WordUtils.doc2pdf(wordPath, targetPath, pdfName, userName); |
|
|
|
return "/template/" + dateStr + "/" + pdfName; |
|
|
|
} |
|
|
|
} |
|
|
|