Browse Source

涉及销售订单退车申请、放款差额申请、分公司调车调账申请、采购退库申请、价值客户备案申请的审批pdf文件开发

master
ligaode 3 weeks ago
parent
commit
41896edab7
  1. 47
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApply.java
  2. 17
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyDetailsVo.java
  3. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyFeign.java
  4. 52
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjPdfVo.java
  5. 14
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicle.java
  6. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyRest.java
  7. 137
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java
  8. 51
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderreturnvehapply/BusSalesOrderReturnVehApply.java
  9. 55
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyDetailsVo.java
  10. 62
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyDto.java
  11. 20
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyFeign.java
  12. 18
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyFeignFallback.java
  13. 31
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyVo.java
  14. 48
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderreturnvehapply/BusSalesOrderReturnVehPdfVo.java
  15. 45
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFiling.java
  16. 50
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFilingDetailsVo.java
  17. 22
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFilingFeign.java
  18. 23
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyRest.java
  19. 155
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java
  20. 190
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingRest.java
  21. 180
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingService.java
  22. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiff.java
  23. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiffFeign.java
  24. 72
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiffPdfVo.java
  25. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffRest.java
  26. 128
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffService.java
  27. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java
  28. 5
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFeign.java
  29. 50
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnPdfVo.java
  30. 7
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java
  31. 132
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java

47
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApply.java

@ -26,60 +26,53 @@
package com.yxt.anrui.base.api.baseaccadjapply;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(调账管理) <br/>
* File: BaseAccadjApply.java <br/>
* Class: com.yxt.anrui.base.api.baseaccadjapply.BaseAccadjApply <br/>
* Description: 调账申请表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-07-07 16:57:24 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
import java.util.Date;
@Data
@ApiModel(value = "调账申请表", description = "调账申请表")
@TableName("base_accadj_apply")
public class BaseAccadjApply extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请日期")
@ApiModelProperty("申请日期")
private String applyDate; // 申请日期
@ApiModelProperty("调账类型key")
@ApiModelProperty("调账类型key")
private String accadjTypeKey; // 调账类型key
@ApiModelProperty("调账类型value")
@ApiModelProperty("调账类型value")
private String accadjTypeValue; // 调账类型value
@ApiModelProperty("调出分公司sid")
@ApiModelProperty("调出分公司sid")
private String callOutOrgSid; // 调出分公司sid
@ApiModelProperty("调出分公司名称")
@ApiModelProperty("调出分公司名称")
private String callOutOrgName; // 调出分公司名称
@ApiModelProperty("调入分公司sid")
@ApiModelProperty("调入分公司sid")
private String callInOrgSid; // 调入分公司sid
@ApiModelProperty("调入分公司名称")
@ApiModelProperty("调入分公司名称")
private String callInOrgName; // 调入分公司名称
@ApiModelProperty("使用组织sid")
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("流程定义的id")
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("环节定义的sid")
@ApiModelProperty("环节定义的sid")
private String nodeSid; // 环节定义的sid
@ApiModelProperty("流程实例的sid")
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("流程状态")
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("taskId")
@ApiModelProperty("taskId")
private String taskId; // taskId
@ApiModelProperty("申请人组织路径")
private String orgSidPath; // 申请人组织路径
@ApiModelProperty("申请编号")
private String applyNo; // 申请编号
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("办结时间")
private Date finishTime;
}

17
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyDetailsVo.java

@ -25,30 +25,13 @@
*********************************************************/
package com.yxt.anrui.base.api.baseaccadjapply;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleDetailsVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-base(调账管理) <br/>
* File: BaseAccadjApplyVo.java <br/>
* Class: com.yxt.anrui.base.api.baseaccadjapply.BaseAccadjApplyVo <br/>
* Description: 调账申请表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-07-07 16:57:24 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "调账申请表 视图数据详情", description = "调账申请表 视图数据详情")
public class BaseAccadjApplyDetailsVo implements Vo {

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjApplyFeign.java

@ -72,6 +72,11 @@ public interface BaseAccadjApplyFeign {
@ResponseBody
public ResultBean<PagerVo<BaseInternalPurchaseVehicleDetailsVo>> fetchVeh(@RequestBody PagerQuery<BaseAccadjApplyByVehQuery> pq);
@ApiOperation("生成调账申请pdf")
@PostMapping("/createPdf")
@ResponseBody
ResultBean<String> createPdf(@RequestParam("sid") String sid, @RequestParam("userName") String userName);
/*************************************************PC调账审批流程***************************************************/
@ApiOperation("提交调账申请审批流程")

52
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseaccadjapply/BaseAccadjPdfVo.java

@ -0,0 +1,52 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.base.api.baseaccadjapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class BaseAccadjPdfVo implements Vo {
private Integer id;
@ApiModelProperty("车型")
private String model;
@ApiModelProperty("常用配置")
private String config;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("库存地点")
private String address;
@ApiModelProperty("内销价格")
private String price;
@ApiModelProperty("运费")
private String yf;
@ApiModelProperty("运费承担方")
private String cdf;
@ApiModelProperty("备注")
private String remarks;
}

14
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicle.java

@ -30,22 +30,8 @@ import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: anrui-base(内申请管理) <br/>
* File: BaseInternalPurchaseVehicle.java <br/>
* Class: com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle <br/>
* Description: 内购车辆表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-06-16 13:46:25 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "内购车辆表", description = "内购车辆表")
@TableName("base_internal_purchase_vehicle")

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyRest.java

@ -84,6 +84,13 @@ public class BaseAccadjApplyRest implements BaseAccadjApplyFeign {
return baseAccadjApplyService.fetchVeh(pq);
}
@Override
public ResultBean<String> createPdf(String sid, String userName) {
ResultBean rb = ResultBean.fireFail();
String pdf = baseAccadjApplyService.createPdf(sid, userName);
return rb.success().setData(pdf);
}
@Override
public ResultBean submitAccAdjApply(SubmitBaseAccAdjApplyDto dto) {
return baseAccadjApplyService.submitAccAdjApply(dto);

137
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java

@ -55,6 +55,7 @@ import com.yxt.anrui.base.common.enums.ManPurOrderType;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
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.bdsupplier.BdSupplier;
@ -71,6 +72,7 @@ import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.appsubsetversion.AppSubVersionVo;
import com.yxt.anrui.portal.api.appsubsetversion.AppSubsetVersionFeign;
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.SysOrganizationVo;
@ -79,11 +81,21 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.UserRoleQuery;
import com.yxt.anrui.riskcenter.api.loandiff.LoanDiff;
import com.yxt.anrui.riskcenter.api.loandiff.LoanDiffInitDetails;
import com.yxt.anrui.riskcenter.api.loandiff.LoanDiffPdfVo;
import com.yxt.anrui.riskcenter.api.loandiffdetails.LoanDiffDetailssVo;
import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQueryDto;
import com.yxt.anrui.scm.api.scmapplyinboundquery.ScmApplyInboundQueryFeign;
import com.yxt.anrui.scm.api.scmapplyinboundvehquery.ScmApplyInboundVehQueryDto;
import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseFeign;
import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo;
import com.yxt.common.base.utils.ConstantUtils;
import com.yxt.common.base.utils.WordUtils;
import com.yxt.messagecenter.api.message.Message;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.messagelist.MessageList;
import com.yxt.messagecenter.api.messagelist.MessageListFeign;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -97,6 +109,8 @@ import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
import static java.util.Comparator.comparing;
@Service
public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMapper, BaseAccadjApply> {
@ -134,6 +148,12 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
private FlowFeign flowFeign;
@Autowired
private AppSubsetVersionFeign appSubsetVersionFeign;
@Autowired
private com.yxt.anrui.portal.api.flow.FlowableFeign flowableFeignSp;
@Autowired
private MessageFeign messageFeign;
@Autowired
private MessageListFeign messageListFeign;
public PagerVo<BaseAccadjApplyVo> listPageVo(PagerQuery<BaseAccadjApplyQuery> pq) {
BaseAccadjApplyQuery query = pq.getParams();
@ -1135,4 +1155,121 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
vo.setRecords(records);
return rb.success().setData(vo);
}
public String createPdf(String sid, String userName) {
BaseAccadjApply baseAccadjApply = fetchBySid(sid);
BaseAccadjApplyDetailsVo data = fetchDetailsVoBySid(sid).getData();
Map<String, Object> dataMap = new HashMap<String, Object>();
//分公司
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(baseAccadjApply.getCreateOrgSid()).getData();
dataMap.put("orgName", sysOrganizationVo.getName());
//创建部门
String deptName = "";
List<String> split = Arrays.asList(data.getOrgSidPath().split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData();
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptName = sysOrganization.getName() + "/" + sysOrganization1.getName();
deptName = sysOrganization1.getName();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptName = sysOrganization.getName();
deptName = sysOrganization.getName();
}
dataMap.put("deptName", deptName);
//创建人
SysUserVo sysUserVo = sysUserFeign.fetchBySid(baseAccadjApply.getCreateBySid()).getData();
dataMap.put("createName", sysUserVo.getName());
//创建日期
dataMap.put("createTime", DateUtil.formatDate(baseAccadjApply.getCreateTime()));
//办结日期
dataMap.put("finishTime", DateUtil.formatDate(baseAccadjApply.getFinishTime()));
//审批编号
dataMap.put("billNo", baseAccadjApply.getApplyNo());
List<BaseAccadjPdfVo> baseAccadjPdfVos = new ArrayList<>();
//循环获取车辆信息
Integer i = 1;
for (BaseInternalPurchaseVehicle baseInternalPurchaseVehicle : data.getBaseInternalPurchaseVehicles()) {
BaseAccadjPdfVo baseAccadjPdfVo = new BaseAccadjPdfVo();
baseAccadjPdfVo.setId(i);
i = i + 1;
baseAccadjPdfVo.setModel(baseInternalPurchaseVehicle.getVehicleAlias());
baseAccadjPdfVo.setConfig(baseInternalPurchaseVehicle.getConfigName());
baseAccadjPdfVo.setVinNo(baseInternalPurchaseVehicle.getVinNo());
baseAccadjPdfVo.setAddress(baseInternalPurchaseVehicle.getInventoryLocationName());
baseAccadjPdfVo.setPrice(baseInternalPurchaseVehicle.getWitPinMoney());
baseAccadjPdfVo.setYf(baseInternalPurchaseVehicle.getFreight());
baseAccadjPdfVo.setCdf(baseInternalPurchaseVehicle.getFreightUndertakerName());
baseAccadjPdfVo.setRemarks(baseInternalPurchaseVehicle.getRemarks());
baseAccadjPdfVos.add(baseAccadjPdfVo);
}
dataMap.put("wlList", baseAccadjPdfVos);
dataMap.put("type", baseAccadjApply.getAccadjTypeValue());
dataMap.put("dc", baseAccadjApply.getCallOutOrgName());
dataMap.put("dr", baseAccadjApply.getCallInOrgName());
//获取审批记录
List<PCHistTaskListAndCommentList> flowRecordVo = flowableFeignSp.flowRecordAndComment(baseAccadjApply.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, "tzsq", sourcePath, targetPath, typeName);
//新生成的word路径
String wordPath = targetPath + "\\" + typeName;
//生成出门证文件名
String pdfName = "调账申请_" + dateStr + seconds + ".pdf";
WordUtils.doc2pdf(wordPath, targetPath, pdfName, userName);
return "/template/" + dateStr + "/" + pdfName;
}
}

51
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderreturnvehapply/BusSalesOrderReturnVehApply.java

@ -28,7 +28,9 @@ package com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -52,52 +54,55 @@ import lombok.Data;
public class BusSalesOrderReturnVehApply extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请人姓名")
@ApiModelProperty("申请人姓名")
private String createByName; // 申请人姓名
@ApiModelProperty("销售类型key")
@ApiModelProperty("销售类型key")
private String saleTypeKey; // 销售类型key
@ApiModelProperty("销售类型value")
@ApiModelProperty("销售类型value")
private String saleTypeValue; // 销售类型value
@ApiModelProperty("成交价")
@ApiModelProperty("成交价")
private String salePrice; // 成交价
@ApiModelProperty("收款情况")
@ApiModelProperty("收款情况")
private String collection; // 收款情况
@ApiModelProperty("合同编号")
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("客户sid")
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("客户编码")
@ApiModelProperty("客户编码")
private String customerNo; // 客户编码
@ApiModelProperty("客户名称")
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("车型sid")
@ApiModelProperty("车型sid")
private String modelSid; // 车型sid
@ApiModelProperty("车型小名")
@ApiModelProperty("车型小名")
private String modelName; // 车型小名
@ApiModelProperty("订单台数")
@ApiModelProperty("订单台数")
private String orderNum; // 订单台数
@ApiModelProperty("终止台数")
@ApiModelProperty("终止台数")
private String stopNum; // 终止台数
@ApiModelProperty("终止原因")
@ApiModelProperty("终止原因")
private String stopRemarks; // 终止原因
@ApiModelProperty("分公司sid")
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("节点状态")
@ApiModelProperty("节点状态")
private String nodeState; // 节点状态
@ApiModelProperty("流程定义id")
@ApiModelProperty("流程定义id")
private String procDefId; // 流程定义id
@ApiModelProperty("环节定义id")
@ApiModelProperty("环节定义id")
private String nodeSid; // 环节定义id
@ApiModelProperty("流程实例id")
@ApiModelProperty("流程实例id")
private String procInstId; // 流程实例id
@ApiModelProperty("任务编号id")
@ApiModelProperty("任务编号id")
private String taskId; // 任务编号id
@ApiModelProperty("组织机构全路径sid")
@ApiModelProperty("组织机构全路径sid")
private String orgSidPath; // 组织机构全路径sid
@ApiModelProperty("申请编号")
@ApiModelProperty("申请编号")
private String applyNo; // 申请编号
@ApiModelProperty("销售订单sid")
private String orderSid; // 销售订单sid
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("办结时间")
private Date finishTime;
}

55
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyDetailsVo.java

@ -25,7 +25,6 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply;
import com.yxt.anrui.buscenter.api.bussalesorderreturnveh.BusSalesOrderReturnVehDetailsVo;
import com.yxt.common.core.vo.Vo;
@ -39,19 +38,6 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_buscenter(销售订单退车) <br/>
* File: BusSalesOrderReturnVehApplyVo.java <br/>
* Class: com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.BusSalesOrderReturnVehApplyVo <br/>
* Description: 销售订单车辆退库申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-03-09 14:26:23 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "销售订单车辆退库申请 视图数据详情", description = "销售订单车辆退库申请 视图数据详情")
public class BusSalesOrderReturnVehApplyDetailsVo implements Vo {
@ -62,23 +48,23 @@ public class BusSalesOrderReturnVehApplyDetailsVo implements Vo {
private String remarks;
@ApiModelProperty("申请人sid")
private String createBySid; // 申请人sid
@ApiModelProperty("申请人姓名")
@ApiModelProperty("申请人姓名")
private String createByName; // 申请人姓名
@ApiModelProperty("销售类型key")
@ApiModelProperty("销售类型key")
private String saleTypeKey; // 销售类型key
@ApiModelProperty("销售类型value")
@ApiModelProperty("销售类型value")
private String saleTypeValue; // 销售类型value
@ApiModelProperty("成交价")
@ApiModelProperty("成交价")
private String salePrice; // 成交价
@ApiModelProperty("收款情况")
@ApiModelProperty("收款情况")
private String collection; // 收款情况
@ApiModelProperty("合同编号")
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("客户sid")
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("客户编码")
@ApiModelProperty("客户编码")
private String customerNo; // 客户编码
@ApiModelProperty("客户名称")
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty(value = "客户头像")
private String customerPhoto;
@ -90,25 +76,25 @@ public class BusSalesOrderReturnVehApplyDetailsVo implements Vo {
private String modelImage; // 车型图片
@ApiModelProperty("配置sid")
private String configSid; // 配置sid
@ApiModelProperty("车型sid")
@ApiModelProperty("车型sid")
private String modelSid; // 车型sid
@ApiModelProperty("车型小名")
@ApiModelProperty("车型小名")
private String modelName; // 车型小名
@ApiModelProperty("订单台数")
@ApiModelProperty("订单台数")
private String orderNum; // 订单台数
@ApiModelProperty("终止原因")
@ApiModelProperty("终止原因")
private String stopRemarks; // 终止原因
@ApiModelProperty("分公司sid")
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("流程实例id")
@ApiModelProperty("流程实例id")
private String procInstId; // 流程实例id
@ApiModelProperty("任务编号id")
@ApiModelProperty("任务编号id")
private String taskId; // 任务编号id
@ApiModelProperty("组织机构全路径sid")
@ApiModelProperty("组织机构全路径sid")
private String orgSidPath; // 组织机构全路径sid
@ApiModelProperty("申请编号")
@ApiModelProperty("申请编号")
private String applyNo; // 申请编号
@ApiModelProperty("资金来源")
private String fundsSource; //资金来源
@ -116,6 +102,9 @@ public class BusSalesOrderReturnVehApplyDetailsVo implements Vo {
private String creatTime; //制单日期
@ApiModelProperty("销售订单sid")
private String orderSid; // 销售订单sid
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("办结时间")
private Date finishTime;
@ApiModelProperty("退库车辆列表")
private List<BusSalesOrderReturnVehDetailsVo> busSalesOrderReturnVehs = new ArrayList<>();
}

62
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyDto.java

@ -25,11 +25,11 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply;
import com.yxt.anrui.buscenter.api.bussalesorderreturnveh.BusSalesOrderReturnVehDto;
import com.yxt.common.core.dto.Dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
import java.util.List;
@ -37,77 +37,63 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_buscenter(销售订单退车) <br/>
* File: BusSalesOrderReturnVehApplyDto.java <br/>
* Class: com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.BusSalesOrderReturnVehApplyDto <br/>
* Description: 销售订单车辆退库申请 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-03-09 14:26:23 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "销售订单车辆退库申请 数据传输对象", description = "销售订单车辆退库申请 数据传输对象")
public class BusSalesOrderReturnVehApplyDto implements Dto {
private String sid; // sid
@ApiModelProperty(value = "备注")
private String remarks;
@ApiModelProperty("申请人sid")
private String createBySid; // 申请人sid
@ApiModelProperty("申请人姓名")
@ApiModelProperty("申请人姓名")
private String createByName; // 申请人姓名
@ApiModelProperty("销售类型key")
@ApiModelProperty("销售类型key")
private String saleTypeKey; // 销售类型key
@ApiModelProperty("销售类型value")
@ApiModelProperty("销售类型value")
private String saleTypeValue; // 销售类型value
@ApiModelProperty("成交价")
@ApiModelProperty("成交价")
private String salePrice; // 成交价
@ApiModelProperty("收款情况")
@ApiModelProperty("收款情况")
private String collection; // 收款情况
@ApiModelProperty("合同编号")
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("客户sid")
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("客户编码")
@ApiModelProperty("客户编码")
private String customerNo; // 客户编码
@ApiModelProperty("客户名称")
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("车型sid")
@ApiModelProperty("车型sid")
private String modelSid; // 车型sid
@ApiModelProperty("车型小名")
@ApiModelProperty("车型小名")
private String modelName; // 车型小名
@ApiModelProperty("订单台数")
@ApiModelProperty("订单台数")
private String orderNum; // 订单台数
@ApiModelProperty("终止台数")
@ApiModelProperty("终止台数")
private String stopNum; // 终止台数
@ApiModelProperty("终止原因")
@ApiModelProperty("终止原因")
private String stopRemarks; // 终止原因
@ApiModelProperty("分公司sid")
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("节点状态")
@ApiModelProperty("节点状态")
private String nodeState; // 节点状态
@ApiModelProperty("流程定义id")
@ApiModelProperty("流程定义id")
private String procDefId; // 流程定义id
@ApiModelProperty("环节定义id")
@ApiModelProperty("环节定义id")
private String nodeSid; // 环节定义id
@ApiModelProperty("流程实例id")
@ApiModelProperty("流程实例id")
private String procInstId; // 流程实例id
@ApiModelProperty("任务编号id")
@ApiModelProperty("任务编号id")
private String taskId; // 任务编号id
@ApiModelProperty("组织机构全路径sid")
private String orgPath; // 组织机构全路径sid
@ApiModelProperty("组织机构全路径sid")
@ApiModelProperty("组织机构全路径sid")
private String orgSidPath; // 组织机构全路径sid
@ApiModelProperty("申请编号")
@ApiModelProperty("申请编号")
private String applyNo; // 申请编号
@ApiModelProperty("销售订单sid")
private String orderSid; // 销售订单sid

20
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyFeign.java

@ -34,23 +34,9 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* Project: anrui_buscenter(销售订单退车) <br/>
* File: BusSalesOrderReturnVehApplyFeign.java <br/>
* Class: com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.BusSalesOrderReturnVehApplyFeign <br/>
* Description: 销售订单车辆退库申请. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-03-09 14:26:23 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "销售订单车辆退库申请")
@FeignClient(
contextId = "anrui-buscenter-BusSalesOrderReturnVehApply",
@ -93,6 +79,12 @@ public interface BusSalesOrderReturnVehApplyFeign {
@GetMapping("/appFetchDetailsBySid")
@ResponseBody
public ResultBean<BusSalesOrderReturnVehApplyDetailsVo> appFetchDetailsBySid(@RequestParam("orderSid") String orderSid, @RequestParam(value = "sid",required = false) String sid);
@ApiOperation("生成销售退车pdf")
@PostMapping("/createPdf")
@ResponseBody
ResultBean<String> createPdf(@RequestParam("sid") String sid, @RequestParam("userName") String userName);
/***********************************************流程************************************************/
@ApiOperation("提交销售订单退车申请审批流程")

18
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyFeignFallback.java

@ -33,19 +33,6 @@ import org.springframework.stereotype.Component;
import java.util.List;
/**
* Project: anrui_buscenter(销售订单退车) <br/>
* File: BusSalesOrderReturnVehApplyFeignFallback.java <br/>
* Class: com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.BusSalesOrderReturnVehApplyFeignFallback <br/>
* Description: 销售订单车辆退库申请. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-03-09 14:26:23 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class BusSalesOrderReturnVehApplyFeignFallback implements BusSalesOrderReturnVehApplyFeign {
@ -86,6 +73,11 @@ public class BusSalesOrderReturnVehApplyFeignFallback implements BusSalesOrderRe
return null;
}
@Override
public ResultBean<String> createPdf(String sid, String userName) {
return null;
}
@Override
public ResultBean submitVehicleApply(SubmitBusSalesOrderReturnVehApplyDto dto) {
return null;

31
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyVo.java

@ -25,28 +25,13 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: anrui_buscenter(销售订单退车) <br/>
* File: BusSalesOrderReturnVehApplyVo.java <br/>
* Class: com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.BusSalesOrderReturnVehApplyVo <br/>
* Description: 销售订单车辆退库申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-03-09 14:26:23 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "销售订单车辆退库申请 视图数据对象", description = "销售订单车辆退库申请 视图数据对象")
public class BusSalesOrderReturnVehApplyVo implements Vo {
@ -56,21 +41,21 @@ public class BusSalesOrderReturnVehApplyVo implements Vo {
@ApiModelProperty("申请日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime; // 申请日期
@ApiModelProperty("申请人姓名")
@ApiModelProperty("申请人姓名")
private String createByName; // 申请人姓名
@ApiModelProperty("合同编号")
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("客户名称")
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("车型小名")
@ApiModelProperty("车型小名")
private String modelName; // 车型小名
@ApiModelProperty("订单台数")
@ApiModelProperty("订单台数")
private String orderNum; // 订单台数
@ApiModelProperty("终止台数")
@ApiModelProperty("终止台数")
private String stopNum; // 终止台数
@ApiModelProperty("终止原因")
@ApiModelProperty("终止原因")
private String stopRemarks; // 终止原因
@ApiModelProperty("节点状态")
@ApiModelProperty("节点状态")
private String nodeState; // 节点状态
@ApiModelProperty("流程实例id")
private String procInsId; // 流程实例id

48
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderreturnvehapply/BusSalesOrderReturnVehPdfVo.java

@ -0,0 +1,48 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class BusSalesOrderReturnVehPdfVo implements Vo {
private Integer id;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("颜色")
private String color;
@ApiModelProperty("合格证状态")
private String hgzState;
@ApiModelProperty("开票状态")
private String kpState;
@ApiModelProperty("投保状态")
private String tbState;
@ApiModelProperty("库存状态")
private String kcState;
}

45
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFiling.java

@ -26,11 +26,14 @@
package com.yxt.anrui.buscenter.api.busvalcustfiling;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: anrui-buscenter(价值客户备案申请) <br/>
* File: BusValcustFiling.java <br/>
@ -50,43 +53,43 @@ import lombok.Data;
public class BusValcustFiling extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("创建人姓名")
@ApiModelProperty("创建人姓名")
private String createByName; // 创建人姓名
@ApiModelProperty("申请编号")
@ApiModelProperty("申请编号")
private String billNo; // 申请编号
@ApiModelProperty("分公司sid")
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("申请部门sid")
@ApiModelProperty("申请部门sid")
private String applyDeptSid; // 申请部门sid
@ApiModelProperty("申请部门名称")
@ApiModelProperty("申请部门名称")
private String applyDeptName; // 申请部门名称
@ApiModelProperty("合同编号")
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("车型sid")
@ApiModelProperty("车型sid")
private String modelSid; // 车型sid
@ApiModelProperty("车型名称")
@ApiModelProperty("车型名称")
private String modelName; // 车型名称
@ApiModelProperty("车辆sid")
@ApiModelProperty("车辆sid")
private String vinSid; // 车辆sid
@ApiModelProperty("车架号")
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("0高开,1低开")
private String isGdk;
@ApiModelProperty("加装配置/销售让利金额")
@ApiModelProperty("加装配置/销售让利金额")
private String money; // 加装配置/销售让利金额
@ApiModelProperty("应收手续费")
@ApiModelProperty("应收手续费")
private String ysMoney; // 应收手续费
@ApiModelProperty("实收手续费")
@ApiModelProperty("实收手续费")
private String ssMoney; // 实收手续费
@ApiModelProperty("节点状态")
@ApiModelProperty("节点状态")
private String nodeState; // 节点状态
@ApiModelProperty("流程定义id")
@ApiModelProperty("流程定义id")
private String procDefId; // 流程定义id
@ApiModelProperty("环节定义id")
@ApiModelProperty("环节定义id")
private String nodeId; // 环节定义id
@ApiModelProperty("流程实例id")
@ApiModelProperty("流程实例id")
private String procInstId; // 流程实例id
@ApiModelProperty("任务id")
private String taskId;
@ -96,7 +99,9 @@ public class BusValcustFiling extends BaseEntity {
private String busSid;
@ApiModelProperty("业务来源")
private String busSource;
@ApiModelProperty("组织机构全路径sid")
@ApiModelProperty("组织机构全路径sid")
private String orgSidPath; // 组织机构全路径sid
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("办结时间")
private Date finishTime;
}

50
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFilingDetailsVo.java

@ -25,28 +25,12 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.busvalcustfiling;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-buscenter(价值客户备案申请) <br/>
* File: BusValcustFilingVo.java <br/>
* Class: com.yxt.anrui.buscenter.api.busvalcustfiling.BusValcustFilingVo <br/>
* Description: 价值客户备案申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-09-15 11:38:12 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "价值客户备案申请 视图数据详情", description = "价值客户备案申请 视图数据详情")
public class BusValcustFilingDetailsVo implements Vo {
@ -55,49 +39,49 @@ public class BusValcustFilingDetailsVo implements Vo {
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("创建人姓名")
@ApiModelProperty("创建人姓名")
private String createByName; // 创建人姓名
@ApiModelProperty("申请编号")
@ApiModelProperty("申请编号")
private String billNo; // 申请编号
@ApiModelProperty("分公司sid")
@ApiModelProperty("分公司sid")
private String useOrgSid; // 分公司sid
@ApiModelProperty("分公司名称")
@ApiModelProperty("分公司名称")
private String useOrgName; // 分公司名称
@ApiModelProperty("申请部门sid")
@ApiModelProperty("申请部门sid")
private String applyDeptSid; // 申请部门sid
@ApiModelProperty("申请部门名称")
@ApiModelProperty("申请部门名称")
private String applyDeptName; // 申请部门名称
@ApiModelProperty("合同编号")
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("车型sid")
@ApiModelProperty("车型sid")
private String modelSid; // 车型sid
@ApiModelProperty("车型名称")
@ApiModelProperty("车型名称")
private String modelName; // 车型名称
@ApiModelProperty("车辆sid")
@ApiModelProperty("车辆sid")
private String vinSid; // 车辆sid
@ApiModelProperty("车架号")
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("0高开,1低开")
private String isGdk;
@ApiModelProperty("加装配置/销售让利金额")
@ApiModelProperty("加装配置/销售让利金额")
private String money; // 加装配置/销售让利金额
@ApiModelProperty("合计加装配置/销售让利金额")
private String totalMoney; // 合计加装配置/销售让利金额
@ApiModelProperty("台数")
private String num;
@ApiModelProperty("应收手续费")
@ApiModelProperty("应收手续费")
private String ysMoney; // 应收手续费
@ApiModelProperty("实收手续费")
@ApiModelProperty("实收手续费")
private String ssMoney; // 实收手续费
@ApiModelProperty("销售订单sid")
private String saleOrderSid;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程定义id")
@ApiModelProperty("流程定义id")
private String procDefId; // 流程定义id
@ApiModelProperty("流程实例id")
@ApiModelProperty("流程实例id")
private String procInstId; // 流程实例id
@ApiModelProperty("组织机构全路径sid")
@ApiModelProperty("组织机构全路径sid")
private String orgSidPath; // 组织机构全路径sid
@ApiModelProperty("附件")
private List<String> fjImages;

22
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busvalcustfiling/BusValcustFilingFeign.java

@ -38,19 +38,6 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* Project: anrui-buscenter(价值客户备案申请) <br/>
* File: BusValcustFilingFeign.java <br/>
* Class: com.yxt.anrui.buscenter.api.busvalcustfiling.BusValcustFilingFeign <br/>
* Description: 价值客户备案申请. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-09-15 11:38:12 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "价值客户备案申请")
@FeignClient(
contextId = "anrui-buscenter-BusValcustFiling",
@ -73,12 +60,17 @@ public interface BusValcustFilingFeign {
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<BusValcustFilingDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("生成客户备案pdf")
@PostMapping("/createPdf")
@ResponseBody
ResultBean<String> createPdf(@RequestParam("sid") String sid, @RequestParam("userName") String userName);
@ApiOperation("提交审批流程")
@PostMapping("/submit")
public ResultBean submit(@RequestBody @Valid SubmitBusValcustFilingDto dto);
@ -110,7 +102,7 @@ public interface BusValcustFilingFeign {
@ApiOperation("根据合同号和车架号查询")
@PostMapping("/selectByContractNoAndVinNo")
@ResponseBody
ResultBean<BusValcustFiling> selectByContractNoAndVinNo(@RequestParam("contractNo") String contractNo,@RequestParam("vinNo") String vinNo);
ResultBean<BusValcustFiling> selectByContractNoAndVinNo(@RequestParam("contractNo") String contractNo, @RequestParam("vinNo") String vinNo);
@ApiOperation("手机端-查询本分公司下代办数量:切换机构")
@GetMapping("/getToDoNum")

23
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyRest.java

@ -37,24 +37,10 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: anrui_buscenter(销售订单退车) <br/>
* File: BusSalesOrderReturnVehApplyFeignFallback.java <br/>
* Class: com.yxt.anrui.buscenter.biz.bussalesorderreturnvehapply.BusSalesOrderReturnVehApplyRest <br/>
* Description: 销售订单车辆退库申请. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-03-09 14:26:23 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "销售订单车辆退库申请")
@RestController("com.yxt.anrui.buscenter.biz.bussalesorderreturnvehapply.BusSalesOrderReturnVehApplyRest")
@RestController
@RequestMapping("v1/bussalesorderreturnvehapply")
public class BusSalesOrderReturnVehApplyRest implements BusSalesOrderReturnVehApplyFeign {
@ -106,6 +92,13 @@ public class BusSalesOrderReturnVehApplyRest implements BusSalesOrderReturnVehAp
return busSalesOrderReturnVehApplyService.appFetchDetailsBySid(orderSid,sid);
}
@Override
public ResultBean<String> createPdf(String sid, String userName) {
ResultBean rb = ResultBean.fireFail();
String pdf = busSalesOrderReturnVehApplyService.createPdf(sid, userName);
return rb.success().setData(pdf);
}
@Override
public ResultBean submitVehicleApply(SubmitBusSalesOrderReturnVehApplyDto dto) {
return busSalesOrderReturnVehApplyService.submitVehicleApply(dto);

155
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderreturnvehapply/BusSalesOrderReturnVehApplyService.java

@ -75,6 +75,7 @@ import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleServ
import com.yxt.anrui.buscenter.biz.bussalesreturnorders.BusSalesReturnOrdersService;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordSourceLCVo;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedFeign;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed;
@ -93,6 +94,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;
@ -100,10 +102,18 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateFeign;
import com.yxt.anrui.scm.api.scmvehrebatecheckapply.ScmVehRebateCheckPdfVo;
import com.yxt.anrui.scm.api.scmvehrebatecheckapply.ScmVehrebateCheckapplyDetailsVo;
import com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailDetailsVo;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.utils.ConstantUtils;
import com.yxt.common.base.utils.WordUtils;
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 com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -120,19 +130,8 @@ import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* Project: anrui_buscenter(销售订单退车) <br/>
* File: BusSalesOrderReturnVehApplyService.java <br/>
* Class: com.yxt.anrui.buscenter.biz.bussalesorderreturnvehapply.BusSalesOrderReturnVehApplyService <br/>
* Description: 销售订单车辆退库申请 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-03-09 14:26:23 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
import static java.util.Comparator.comparing;
@Service
public class BusSalesOrderReturnVehApplyService extends MybatisBaseService<BusSalesOrderReturnVehApplyMapper, BusSalesOrderReturnVehApply> {
@ -174,21 +173,22 @@ public class BusSalesOrderReturnVehApplyService extends MybatisBaseService<BusSa
private BaseVehicleStateFeign baseVehicleStateFeign;
@Autowired
private FinVehicleInvoiceFeign finVehicleInvoiceFeign;
@Autowired
private BusSalesOrderBorrowerService busSalesOrderBorrowerService;
@Autowired
private BaseVehicleOutFeign baseVehicleOutFeign;
@Autowired
private BusSalesReturnOrdersService busSalesReturnOrdersService;
@Autowired
private BusDeliveredApplyDetailsService busDeliveredApplyDetailsService;
@Autowired
private FinKingDeeFeign finKingDeeFeign;
@Autowired
private ScmVehRebateFeign scmVehRebateFeign;
@Autowired
private com.yxt.anrui.portal.api.flow.FlowableFeign flowableFeignSp;
@Autowired
private MessageListFeign messageListFeign;
public PagerVo<BusSalesOrderReturnVehApplyVo> listPageVo(PagerQuery<BusSalesOrderReturnVehApplyQuery> pq) {
@ -750,19 +750,18 @@ public class BusSalesOrderReturnVehApplyService extends MybatisBaseService<BusSa
//修改出库申请车辆状态
busDeliveredApplyDetailsService.updateIsDel(vehSid);
//删除推送的单车返利管理
scmVehRebateFeign.delByVehSid2(vehSid,busSalesOrderReturnVehApply.getUseOrgSid(),"029");
scmVehRebateFeign.delByVehSid2(vehSid, busSalesOrderReturnVehApply.getUseOrgSid(), "029");
//对已经出库的车推送销售退货单----------2025-04-03
SalOutStockPushSalReturnStock.SalesReturnDetailDto salesReturnDetailDto = new SalOutStockPushSalReturnStock.SalesReturnDetailDto();
ReturnPushVo returnPushVo = baseMapper.selectByVinSid(vehSid);
if(returnPushVo != null){
if (returnPushVo != null) {
salesReturnDetailDto.setFMaterialId(returnPushVo.getMaterialCode());
salesReturnDetailDto.setBillNo(returnPushVo.getBillNo());
salesReturnDetailDtoList.add(salesReturnDetailDto);
}
}
//------------------------修改车辆持久状态--------------------------
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.fetchBySid(busSalesOrderReturnVehDetailsVo.getBusVinSid());
@ -831,7 +830,7 @@ public class BusSalesOrderReturnVehApplyService extends MybatisBaseService<BusSa
finKingDeeFeign.draftSalesReturnOrders(salesReturn);
}*/
salesReturnDetailDtoList.removeAll(Collections.singleton(null));
if(!salesReturnDetailDtoList.isEmpty()){
if (!salesReturnDetailDtoList.isEmpty()) {
salOutStockPushSalReturnStock.setStockDtoList(salesReturnDetailDtoList);
finKingDeeFeign.draftSalesReturnOrders(salOutStockPushSalReturnStock);
}
@ -1336,4 +1335,120 @@ public class BusSalesOrderReturnVehApplyService extends MybatisBaseService<BusSa
vo.setBusSalesOrderReturnVehs(busSalesOrderReturnVehDetailsVos);
return rb.success().setData(vo);
}
public String createPdf(String sid, String userName) {
BusSalesOrderReturnVehApplyDetailsVo data = fetchDetailsVoBySid(sid).getData();
Map<String, Object> dataMap = new HashMap<String, Object>();
//分公司
dataMap.put("orgName", data.getUseOrgName());
//创建部门
String deptName = "";
List<String> split = Arrays.asList(data.getOrgSidPath().split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData();
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptName = sysOrganization.getName() + "/" + sysOrganization1.getName();
deptName = sysOrganization1.getName();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptName = sysOrganization.getName();
deptName = sysOrganization.getName();
}
dataMap.put("deptName", deptName);
//创建人
dataMap.put("createName", data.getCreateByName());
//创建日期
dataMap.put("createTime", data.getCreatTime());
//办结日期
dataMap.put("finishTime", DateUtil.formatDate(data.getFinishTime()));
//审批编号
dataMap.put("billNo", data.getApplyNo());
List<BusSalesOrderReturnVehPdfVo> busSalesOrderReturnVehPdfVos = new ArrayList<>();
//循环获取车辆信息
Integer i = 1;
for (BusSalesOrderReturnVehDetailsVo busSalesOrderReturnVehDetailsVo : data.getBusSalesOrderReturnVehs()) {
BusSalesOrderReturnVehPdfVo busSalesOrderReturnVehPdfVo = new BusSalesOrderReturnVehPdfVo();
busSalesOrderReturnVehPdfVo.setId(i);
i = i + 1;
busSalesOrderReturnVehPdfVo.setVinNo(busSalesOrderReturnVehDetailsVo.getVinNo());
busSalesOrderReturnVehPdfVo.setColor(busSalesOrderReturnVehDetailsVo.getCarColorValue());
busSalesOrderReturnVehPdfVo.setHgzState(busSalesOrderReturnVehDetailsVo.getCertificateStateValue());
busSalesOrderReturnVehPdfVo.setKpState(busSalesOrderReturnVehDetailsVo.getInvoicingStateValue());
busSalesOrderReturnVehPdfVo.setTbState(busSalesOrderReturnVehDetailsVo.getInsureStateValue());
busSalesOrderReturnVehPdfVo.setKcState(busSalesOrderReturnVehDetailsVo.getStockStateValue());
busSalesOrderReturnVehPdfVos.add(busSalesOrderReturnVehPdfVo);
}
dataMap.put("wlList", busSalesOrderReturnVehPdfVos);
dataMap.put("contractNo", data.getContractNo());
dataMap.put("saleType", data.getSaleTypeValue());
dataMap.put("model", data.getModelName());
dataMap.put("num", data.getOrderNum());
dataMap.put("skqk", data.getCollection());
dataMap.put("zzyy", data.getStopRemarks());
dataMap.put("remarks", data.getRemarks());
//获取审批记录
List<PCHistTaskListAndCommentList> flowRecordVo = flowableFeignSp.flowRecordAndComment(data.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, "xstc", sourcePath, targetPath, typeName);
//新生成的word路径
String wordPath = targetPath + "\\" + typeName;
//生成出门证文件名
String pdfName = "销售退车_" + dateStr + seconds + ".pdf";
WordUtils.doc2pdf(wordPath, targetPath, pdfName, userName);
return "/template/" + dateStr + "/" + pdfName;
}
}

190
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingRest.java

@ -40,108 +40,102 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: anrui-buscenter(价值客户备案申请) <br/>
* File: BusValcustFilingFeignFallback.java <br/>
* Class: com.yxt.anrui.buscenter.biz.busvalcustfiling.BusValcustFilingRest <br/>
* Description: 价值客户备案申请. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-09-15 11:38:12 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "价值客户备案申请")
@RestController("com.yxt.anrui.buscenter.biz.busvalcustfiling.BusValcustFilingRest")
@RestController
@RequestMapping("v1/busvalcustfiling")
public class BusValcustFilingRest implements BusValcustFilingFeign {
@Autowired
private BusValcustFilingService busValcustFilingService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<BusValcustFilingVo>> listPage(@RequestBody PagerQuery<BusValcustFilingQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<BusValcustFilingVo> pv = busValcustFilingService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody BusValcustFilingDto dto){
ResultBean rb = ResultBean.fireFail();
busValcustFilingService.saveOrUpdateDto(dto);
return rb.success();
}
@Override
@ApiOperation("根据sid批量删除")
@Autowired
private BusValcustFilingService busValcustFilingService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<BusValcustFilingVo>> listPage(@RequestBody PagerQuery<BusValcustFilingQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<BusValcustFilingVo> pv = busValcustFilingService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody BusValcustFilingDto dto) {
ResultBean rb = ResultBean.fireFail();
busValcustFilingService.saveOrUpdateDto(dto);
return rb.success();
}
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
busValcustFilingService.delBySids(sids);
return rb.success();
}
@Override
@ApiOperation("根据SID获取一条记录")
public ResultBean delBySids(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail();
busValcustFilingService.delBySids(sids);
return rb.success();
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<BusValcustFilingDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
BusValcustFilingDetailsVo vo = busValcustFilingService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
public ResultBean submit(SubmitBusValcustFilingDto dto) {
return busValcustFilingService.submit(dto);
}
@Override
public ResultBean complete(BusValcustFilingCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BUSVALCUSTFILING.getProDefId());
return busValcustFilingService.complete(bv);
}
@Override
public ResultBean<List<BusValcustFilingNodeVo>> getPreviousNodesForReject(BusValcustFilingNodeQuery query) {
return busValcustFilingService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<BusValcustFilingNodeVo>> getNextNodesForSubmit(BusValcustFilingNodeQuery query) {
return busValcustFilingService.getNextNodesForSubmit(query);
}
@Override
public ResultBean reject(BusValcustFilingTaskQuery query) {
return busValcustFilingService.reject(query);
}
@Override
public ResultBean revokeProcess(BusValcustFilingTaskQuery query) {
return busValcustFilingService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(BusValcustFilingTaskQuery query) {
return busValcustFilingService.breakProcess(query);
}
@Override
public ResultBean<BusValcustFiling> selectByContractNoAndVinNo(String contractNo, String vinNo) {
return busValcustFilingService.selectByContractNoAndVinNo(contractNo,vinNo);
}
@Override
public ResultBean<String> getToDoNum(BusToDoNumQuery appToDoNumQuery) {
return busValcustFilingService.getToDoNum(appToDoNumQuery);
}
public ResultBean<BusValcustFilingDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
BusValcustFilingDetailsVo vo = busValcustFilingService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
public ResultBean<String> createPdf(String sid, String userName) {
ResultBean rb = ResultBean.fireFail();
String pdf = busValcustFilingService.createPdf(sid, userName);
return rb.success().setData(pdf);
}
@Override
public ResultBean submit(SubmitBusValcustFilingDto dto) {
return busValcustFilingService.submit(dto);
}
@Override
public ResultBean complete(BusValcustFilingCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BUSVALCUSTFILING.getProDefId());
return busValcustFilingService.complete(bv);
}
@Override
public ResultBean<List<BusValcustFilingNodeVo>> getPreviousNodesForReject(BusValcustFilingNodeQuery query) {
return busValcustFilingService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<BusValcustFilingNodeVo>> getNextNodesForSubmit(BusValcustFilingNodeQuery query) {
return busValcustFilingService.getNextNodesForSubmit(query);
}
@Override
public ResultBean reject(BusValcustFilingTaskQuery query) {
return busValcustFilingService.reject(query);
}
@Override
public ResultBean revokeProcess(BusValcustFilingTaskQuery query) {
return busValcustFilingService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(BusValcustFilingTaskQuery query) {
return busValcustFilingService.breakProcess(query);
}
@Override
public ResultBean<BusValcustFiling> selectByContractNoAndVinNo(String contractNo, String vinNo) {
return busValcustFilingService.selectByContractNoAndVinNo(contractNo, vinNo);
}
@Override
public ResultBean<String> getToDoNum(BusToDoNumQuery appToDoNumQuery) {
return busValcustFilingService.getToDoNum(appToDoNumQuery);
}
}

180
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busvalcustfiling/BusValcustFilingService.java

@ -30,6 +30,10 @@ import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.baseaccadjapply.BaseAccadjApply;
import com.yxt.anrui.base.api.baseaccadjapply.BaseAccadjApplyDetailsVo;
import com.yxt.anrui.base.api.baseaccadjapply.BaseAccadjPdfVo;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle;
import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo;
import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
@ -69,6 +73,7 @@ import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleFeign;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordSourceLCVo;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedDto;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedFeign;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedDto;
@ -84,6 +89,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.SysStaffOrgFeign;
@ -94,9 +100,14 @@ import com.yxt.anrui.riskcenter.api.loancreditappealapply.LoanCreditAppealApply;
import com.yxt.anrui.riskcenter.api.loancreditappealapply.flowable.LoanCreditApplyNodeVo;
import com.yxt.anrui.riskcenter.api.loancreditappealapply.flowable.SubmitLoanCreditApplyDto;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.utils.ConstantUtils;
import com.yxt.common.base.utils.WordUtils;
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 com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -111,6 +122,8 @@ import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import static java.util.Comparator.comparing;
/**
* Project: anrui-buscenter(价值客户备案申请) <br/>
* File: BusValcustFilingService.java <br/>
@ -174,7 +187,9 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
@Autowired
private BusBillTrailerService busBillTrailerService;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
private com.yxt.anrui.portal.api.flow.FlowableFeign flowableFeignSp;
@Autowired
private MessageListFeign messageListFeign;
public PagerVo<BusValcustFilingVo> listPageVo(PagerQuery<BusValcustFilingQuery> pq) {
BusValcustFilingQuery query = pq.getParams();
@ -463,7 +478,7 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
if ("0".equals(busValcustFiling.getIsGdk())) {//高开
String ssMoney = busValcustFiling.getSsMoney();
int i = Integer.parseInt(ssMoney);
if (i == 0){
if (i == 0) {
if ("1".equals(busValcustFiling.getBusSource())) {
BusBillApplication busBillApplication = busBillApplicationService.fetchBySid(busValcustFiling.getBusSid());
List<BusBillVehicleVo> busBillVehicleVos = busBillVehicleService.fetchVehBySid(busBillApplication.getSid());
@ -498,7 +513,7 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
}
finVehicleInvoiceDto.setUseOrgSid(busBillApplication.getUseOrgSid());
ResultBean<FinCompanyInvoicingDetailsVo> finCompanyInvoicingDetailsVoResultBean = finCompanyInvoicingFeign.fetchDetailsVoBySid(busBillVehicleVo.getOpenTickSid());
if(finCompanyInvoicingDetailsVoResultBean.getData() != null){
if (finCompanyInvoicingDetailsVoResultBean.getData() != null) {
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingDetailsVoResultBean.getData();
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
@ -506,9 +521,9 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
}else{
} else {
ResultBean<CrmCustomerTempVo> crmCustomerTempVoResultBean = crmCustomerTempFeign.fetchSid(busBillVehicleVo.getOpenTickSid());
if(crmCustomerTempVoResultBean.getData() != null){
if (crmCustomerTempVoResultBean.getData() != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempVoResultBean.getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
@ -546,7 +561,7 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
finVehicleInvoiceDto.setBusinessState(busBillApplication.getBillStateValue());
finVehicleInvoiceDto.setUseOrgSid(busBillApplication.getUseOrgSid());
ResultBean<FinCompanyInvoicingDetailsVo> finCompanyInvoicingDetailsVoResultBean = finCompanyInvoicingFeign.fetchDetailsVoBySid(busBillTrailerVo.getOpenTickSid());
if(finCompanyInvoicingDetailsVoResultBean.getData() != null){
if (finCompanyInvoicingDetailsVoResultBean.getData() != null) {
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingDetailsVoResultBean.getData();
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
@ -554,9 +569,9 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
}else{
} else {
ResultBean<CrmCustomerTempVo> crmCustomerTempVoResultBean = crmCustomerTempFeign.fetchSid(busBillTrailerVo.getOpenTickSid());
if(crmCustomerTempVoResultBean.getData() != null){
if (crmCustomerTempVoResultBean.getData() != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempVoResultBean.getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
@ -602,7 +617,7 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
}
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
ResultBean<FinCompanyInvoicingDetailsVo> finCompanyInvoicingDetailsVoResultBean = finCompanyInvoicingFeign.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid());
if(finCompanyInvoicingDetailsVoResultBean.getData() != null){
if (finCompanyInvoicingDetailsVoResultBean.getData() != null) {
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingDetailsVoResultBean.getData();
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
@ -610,18 +625,18 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
}else{
} else {
ResultBean<CrmCustomerTempVo> crmCustomerTempVoResultBean = crmCustomerTempFeign.fetchSid(finBillVehicleVo.getOpenTickSid());
if(crmCustomerTempVoResultBean.getData() != null){
if (crmCustomerTempVoResultBean.getData() != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempVoResultBean.getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
}
}
if (StringUtils.isBlank(finBillApplication.getIsLQOrigInvoice())){
if (StringUtils.isBlank(finBillApplication.getIsLQOrigInvoice())) {
finVehicleInvoiceDto.setIsTakeTicket("是");
}else {
} else {
finVehicleInvoiceDto.setIsTakeTicket(finBillApplication.getIsLQOrigInvoice());
}
finVehicleInvoiceFeign.mySave(finVehicleInvoiceDto);
@ -654,7 +669,7 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue());
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
ResultBean<FinCompanyInvoicingDetailsVo> finCompanyInvoicingDetailsVoResultBean = finCompanyInvoicingFeign.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid());
if(finCompanyInvoicingDetailsVoResultBean.getData() != null){
if (finCompanyInvoicingDetailsVoResultBean.getData() != null) {
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingDetailsVoResultBean.getData();
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
@ -662,18 +677,18 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
}else{
} else {
ResultBean<CrmCustomerTempVo> crmCustomerTempVoResultBean = crmCustomerTempFeign.fetchSid(finBillTrailerVo.getOpenTickSid());
if(crmCustomerTempVoResultBean.getData() != null){
if (crmCustomerTempVoResultBean.getData() != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempVoResultBean.getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
}
}
if (StringUtils.isBlank(finBillApplication.getIsLQOrigInvoice())){
if (StringUtils.isBlank(finBillApplication.getIsLQOrigInvoice())) {
finVehicleInvoiceDto.setIsTakeTicket("是");
}else {
} else {
finVehicleInvoiceDto.setIsTakeTicket(finBillApplication.getIsLQOrigInvoice());
}
finVehicleInvoiceFeign.mySave(finVehicleInvoiceDto);
@ -681,7 +696,7 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
}
}
}
}else {
} else {
String[] vinSids = busValcustFiling.getVinSid().split(",");
for (String vinSid : vinSids) {
FinUncollectedReceivablesDetailedDto finUncollectedReceivablesDetailedDto = new FinUncollectedReceivablesDetailedDto();
@ -750,7 +765,7 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
}
finVehicleInvoiceDto.setUseOrgSid(busBillApplication.getUseOrgSid());
ResultBean<FinCompanyInvoicingDetailsVo> finCompanyInvoicingDetailsVoResultBean = finCompanyInvoicingFeign.fetchDetailsVoBySid(busBillVehicleVo.getOpenTickSid());
if(finCompanyInvoicingDetailsVoResultBean.getData() != null){
if (finCompanyInvoicingDetailsVoResultBean.getData() != null) {
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingDetailsVoResultBean.getData();
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
@ -758,9 +773,9 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
}else{
} else {
ResultBean<CrmCustomerTempVo> crmCustomerTempVoResultBean = crmCustomerTempFeign.fetchSid(busBillVehicleVo.getOpenTickSid());
if(crmCustomerTempVoResultBean.getData() != null){
if (crmCustomerTempVoResultBean.getData() != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempVoResultBean.getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
@ -798,7 +813,7 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
finVehicleInvoiceDto.setBusinessState(busBillApplication.getBillStateValue());
finVehicleInvoiceDto.setUseOrgSid(busBillApplication.getUseOrgSid());
ResultBean<FinCompanyInvoicingDetailsVo> finCompanyInvoicingDetailsVoResultBean = finCompanyInvoicingFeign.fetchDetailsVoBySid(busBillTrailerVo.getOpenTickSid());
if(finCompanyInvoicingDetailsVoResultBean.getData() != null){
if (finCompanyInvoicingDetailsVoResultBean.getData() != null) {
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingDetailsVoResultBean.getData();
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
@ -806,9 +821,9 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
}else{
} else {
ResultBean<CrmCustomerTempVo> crmCustomerTempVoResultBean = crmCustomerTempFeign.fetchSid(busBillTrailerVo.getOpenTickSid());
if(crmCustomerTempVoResultBean.getData() != null){
if (crmCustomerTempVoResultBean.getData() != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempVoResultBean.getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
@ -854,7 +869,7 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
}
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
ResultBean<FinCompanyInvoicingDetailsVo> finCompanyInvoicingDetailsVoResultBean = finCompanyInvoicingFeign.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid());
if(finCompanyInvoicingDetailsVoResultBean.getData() != null){
if (finCompanyInvoicingDetailsVoResultBean.getData() != null) {
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingDetailsVoResultBean.getData();
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
@ -862,18 +877,18 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
}else{
} else {
ResultBean<CrmCustomerTempVo> crmCustomerTempVoResultBean = crmCustomerTempFeign.fetchSid(finBillVehicleVo.getOpenTickSid());
if(crmCustomerTempVoResultBean.getData() != null){
if (crmCustomerTempVoResultBean.getData() != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempVoResultBean.getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
}
}
if (StringUtils.isBlank(finBillApplication.getIsLQOrigInvoice())){
if (StringUtils.isBlank(finBillApplication.getIsLQOrigInvoice())) {
finVehicleInvoiceDto.setIsTakeTicket("是");
}else {
} else {
finVehicleInvoiceDto.setIsTakeTicket(finBillApplication.getIsLQOrigInvoice());
}
finVehicleInvoiceFeign.mySave(finVehicleInvoiceDto);
@ -906,7 +921,7 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue());
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
ResultBean<FinCompanyInvoicingDetailsVo> finCompanyInvoicingDetailsVoResultBean = finCompanyInvoicingFeign.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid());
if(finCompanyInvoicingDetailsVoResultBean.getData() != null){
if (finCompanyInvoicingDetailsVoResultBean.getData() != null) {
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingDetailsVoResultBean.getData();
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
@ -914,18 +929,18 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
}else{
} else {
ResultBean<CrmCustomerTempVo> crmCustomerTempVoResultBean = crmCustomerTempFeign.fetchSid(finBillTrailerVo.getOpenTickSid());
if(crmCustomerTempVoResultBean.getData() != null){
if (crmCustomerTempVoResultBean.getData() != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempVoResultBean.getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
}
}
if (StringUtils.isBlank(finBillApplication.getIsLQOrigInvoice())){
if (StringUtils.isBlank(finBillApplication.getIsLQOrigInvoice())) {
finVehicleInvoiceDto.setIsTakeTicket("是");
}else {
} else {
finVehicleInvoiceDto.setIsTakeTicket(finBillApplication.getIsLQOrigInvoice());
}
finVehicleInvoiceFeign.mySave(finVehicleInvoiceDto);
@ -1118,4 +1133,99 @@ public class BusValcustFilingService extends MybatisBaseService<BusValcustFiling
public BusValcustFiling selectByVinSid(String linkSid) {
return baseMapper.selectByVinSid(linkSid);
}
public String createPdf(String sid, String userName) {
BusValcustFiling busValcustFiling = fetchBySid(sid);
BusValcustFilingDetailsVo busValcustFilingDetailsVo = fetchDetailsVoBySid(sid);
Map<String, Object> dataMap = new HashMap<String, Object>();
//分公司
dataMap.put("orgName", busValcustFilingDetailsVo.getUseOrgName());
//创建部门
dataMap.put("deptName", busValcustFilingDetailsVo.getApplyDeptName());
//创建人
dataMap.put("createName", busValcustFilingDetailsVo.getCreateByName());
//创建日期
dataMap.put("createTime", DateUtil.formatDate(busValcustFiling.getCreateTime()));
//办结日期
dataMap.put("finishTime", DateUtil.formatDate(busValcustFiling.getFinishTime()));
//审批编号
dataMap.put("billNo", busValcustFilingDetailsVo.getBillNo());
dataMap.put("hth", busValcustFilingDetailsVo.getContractNo());
dataMap.put("model", busValcustFilingDetailsVo.getModelName());
dataMap.put("vinNo", busValcustFilingDetailsVo.getVinNo());
dataMap.put("je", busValcustFilingDetailsVo.getMoney());
dataMap.put("hj", busValcustFilingDetailsVo.getTotalMoney());
dataMap.put("yssxf", busValcustFilingDetailsVo.getYsMoney());
dataMap.put("sssxf", busValcustFilingDetailsVo.getSsMoney());
dataMap.put("ce", new BigDecimal(busValcustFilingDetailsVo.getYsMoney()).subtract(new BigDecimal(busValcustFilingDetailsVo.getSsMoney())));
dataMap.put("yssxfhj", new BigDecimal(busValcustFilingDetailsVo.getYsMoney()).multiply(new BigDecimal(busValcustFilingDetailsVo.getNum())));
dataMap.put("sssxfhj", new BigDecimal(busValcustFilingDetailsVo.getSsMoney()).multiply(new BigDecimal(busValcustFilingDetailsVo.getNum())));
BigDecimal yssxfhj = (BigDecimal) dataMap.get("yssxfhj");
BigDecimal sssxfhj = (BigDecimal) dataMap.get("sssxfhj");
dataMap.put("cehj", yssxfhj.subtract(sssxfhj));
dataMap.put("remarks", busValcustFilingDetailsVo.getRemarks());
//获取审批记录
List<PCHistTaskListAndCommentList> flowRecordVo = flowableFeignSp.flowRecordAndComment(busValcustFiling.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(sid).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, "khba", sourcePath, targetPath, typeName);
//新生成的word路径
String wordPath = targetPath + "\\" + typeName;
//生成出门证文件名
String pdfName = "客户备案_" + dateStr + seconds + ".pdf";
WordUtils.doc2pdf(wordPath, targetPath, pdfName, userName);
return "/template/" + dateStr + "/" + pdfName;
}
}

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiff.java

@ -1,9 +1,12 @@
package com.yxt.anrui.riskcenter.api.loandiff;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @description:
* @author: dimengzhe
@ -38,4 +41,7 @@ public class LoanDiff extends BaseEntity {
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("办结时间")
private Date finishTime;
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiffFeign.java

@ -41,6 +41,11 @@ public interface LoanDiffFeign {
@GetMapping("/details")
ResultBean<LoanDiffInitDetails> details(@RequestParam("sid") String sid);
@ApiOperation("生成放款差额pdf")
@PostMapping("/createPdf")
@ResponseBody
ResultBean<String> createPdf(@RequestParam("sid") String sid, @RequestParam("userName") String userName);
@ApiOperation("提交")
@PostMapping("/submitDiffApply")
public ResultBean submitDiffApply(@Valid @RequestBody SubmitDiffDto dto);

72
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiffPdfVo.java

@ -0,0 +1,72 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loandiff;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class LoanDiffPdfVo implements Vo {
private Integer id;
@ApiModelProperty("资方")
private String zf;
@ApiModelProperty("贷款人")
private String dkr;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("放款金额-应放")
private String yf1;
@ApiModelProperty("放款金额-实放")
private String sf2;
@ApiModelProperty("放款金额-差额")
private String ce3;
@ApiModelProperty("主产品厂家贴息-预计")
private String yj4;
@ApiModelProperty("主产品厂家贴息-实际")
private String sj5;
@ApiModelProperty("主产品厂家贴息-差额")
private String ce6;
@ApiModelProperty("其他融厂家贴息-预计")
private String yj7;
@ApiModelProperty("其他融厂家贴息-实际")
private String sj8;
@ApiModelProperty("其他融厂家贴息-差额")
private String ce9;
@ApiModelProperty("固定贷款保证金-预计")
private String yj10;
@ApiModelProperty("固定贷款保证金-实际")
private String sj11;
@ApiModelProperty("固定贷款保证金-差额")
private String ce12;
@ApiModelProperty("意外险-已收")
private String ys13;
@ApiModelProperty("意外险-实际")
private String sj14;
@ApiModelProperty("意外险-差额")
private String ce15;
}

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffRest.java

@ -48,6 +48,13 @@ public class LoanDiffRest implements LoanDiffFeign {
return loanDiffService.details(sid);
}
@Override
public ResultBean<String> createPdf(String sid, String userName) {
ResultBean rb = ResultBean.fireFail();
String pdf = loanDiffService.createPdf(sid, userName);
return rb.success().setData(pdf);
}
@Override
public ResultBean submitDiffApply(SubmitDiffDto dto) {
return loanDiffService.submitDiffApply(dto);

128
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffService.java

@ -14,7 +14,11 @@ import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorderreturnveh.BusSalesOrderReturnVehDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.BusSalesOrderReturnVehApplyDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderreturnvehapply.BusSalesOrderReturnVehPdfVo;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordSourceLCVo;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
@ -29,6 +33,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.SysStaffOrgFeign;
@ -57,14 +62,19 @@ import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateFeign;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVehDto;
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.StringUtils;
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.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -76,6 +86,8 @@ import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
import static java.util.Comparator.comparing;
/**
* @description:
* @author: dimengzhe
@ -86,10 +98,8 @@ public class LoanDiffService extends MybatisBaseService<LoanDiffMapper, LoanDiff
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowFeign flowFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
@ -116,6 +126,10 @@ public class LoanDiffService extends MybatisBaseService<LoanDiffMapper, LoanDiff
private LoanFinBankService loanFinBankService;
@Autowired
private ScmVehRebateFeign scmVehRebateFeign;
@Autowired
private com.yxt.anrui.portal.api.flow.FlowableFeign flowableFeignSp;
@Autowired
private MessageListFeign messageListFeign;
/**
* 判断提交的流程是否被允许
@ -850,4 +864,114 @@ public class LoanDiffService extends MybatisBaseService<LoanDiffMapper, LoanDiff
pushFinOther(sid);
return rb.success();
}
public String createPdf(String sid, String userName) {
LoanDiff loanDiff = fetchBySid(sid);
LoanDiffInitDetails data = details(sid).getData();
Map<String, Object> dataMap = new HashMap<String, Object>();
//分公司
dataMap.put("orgName", loanDiff.getUseOrgName());
//创建部门
dataMap.put("deptName", loanDiff.getCreateDept());
//创建人
dataMap.put("createName", loanDiff.getCreateByName());
//创建日期
dataMap.put("createTime", DateUtil.formatDate(loanDiff.getCreateTime()));
//办结日期
dataMap.put("finishTime", DateUtil.formatDate(loanDiff.getFinishTime()));
//审批编号
dataMap.put("billNo", loanDiff.getBillNo());
List<LoanDiffPdfVo> loanDiffPdfVos = new ArrayList<>();
//循环获取车辆信息
Integer i = 1;
for (LoanDiffDetailssVo loanDiffDetailssVo : data.getLoanDiffDetails()) {
LoanDiffPdfVo loanDiffPdfVo = new LoanDiffPdfVo();
loanDiffPdfVo.setId(i);
i = i + 1;
loanDiffPdfVo.setZf(loanDiffDetailssVo.getBankName());
loanDiffPdfVo.setDkr(loanDiffDetailssVo.getBorrowName());
loanDiffPdfVo.setVinNo(loanDiffDetailssVo.getVinNo());
loanDiffPdfVo.setYf1(loanDiffDetailssVo.getMakeLoan().toString());
loanDiffPdfVo.setSf2(loanDiffDetailssVo.getRealityLoan().toString());
loanDiffPdfVo.setCe3(loanDiffDetailssVo.getDiffLoan().toString());
loanDiffPdfVo.setYj4(loanDiffDetailssVo.getMakeDiscount().toString());
loanDiffPdfVo.setSj5(loanDiffDetailssVo.getRealityOtherDiscount().toString());
loanDiffPdfVo.setCe6(loanDiffDetailssVo.getDiffDiscount().toString());
loanDiffPdfVo.setYj7(loanDiffDetailssVo.getMakeOtherDiscount().toString());
loanDiffPdfVo.setSj8(loanDiffDetailssVo.getDiffOtherDiscount().toString());
loanDiffPdfVo.setCe9(loanDiffDetailssVo.getDiffOtherDiscount().toString());
loanDiffPdfVo.setYj10(loanDiffDetailssVo.getMakeLoanMargin().toString());
loanDiffPdfVo.setSj11(loanDiffDetailssVo.getRealityLoanMargin().toString());
loanDiffPdfVo.setCe12(loanDiffDetailssVo.getDiffLoanMargin().toString());
loanDiffPdfVo.setYs13(loanDiffDetailssVo.getReceivedPremium().toString());
loanDiffPdfVo.setSj14(loanDiffDetailssVo.getRealityPremium().toString());
loanDiffPdfVo.setCe15(loanDiffDetailssVo.getDiffPremium().toString());
loanDiffPdfVos.add(loanDiffPdfVo);
}
dataMap.put("wlList", loanDiffPdfVos);
dataMap.put("remarks", data.getRemarks());
//获取审批记录
List<PCHistTaskListAndCommentList> flowRecordVo = flowableFeignSp.flowRecordAndComment(loanDiff.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, "fkqr", sourcePath, targetPath, typeName);
//新生成的word路径
String wordPath = targetPath + "\\" + typeName;
//生成出门证文件名
String pdfName = "放款确认_" + dateStr + seconds + ".pdf";
WordUtils.doc2pdf(wordPath, targetPath, pdfName, userName);
return "/template/" + dateStr + "/" + pdfName;
}
}

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturn.java

@ -1,10 +1,12 @@
package com.yxt.anrui.scm.api.scmvehiclereturn;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Author dimengzhe
@ -40,4 +42,7 @@ public class ScmVehicleReturn extends BaseEntity {
@ApiModelProperty("申请人组织路径")
private String orgSidPath; // 申请人组织路径
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@ApiModelProperty("办结时间")
private Date finishTime;
}

5
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnFeign.java

@ -47,6 +47,11 @@ public interface ScmVehicleReturnFeign {
@ResponseBody
ResultBean delete(@RequestBody String[] sidsList);
@ApiOperation("生成采购退库pdf")
@PostMapping("/createPdf")
@ResponseBody
ResultBean<String> createPdf(@RequestParam("sid") String sid, @RequestParam("userName") String userName);
@ApiOperation("提交")
@PostMapping("/submitVehicleReturn")
@ResponseBody

50
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnPdfVo.java

@ -0,0 +1,50 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.scm.api.scmvehiclereturn;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ScmVehicleReturnPdfVo implements Vo {
private Integer id;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车辆入库价")
private String rkj;
@ApiModelProperty("车型")
private String model;
@ApiModelProperty("常用配置")
private String config;
@ApiModelProperty("退库费用")
private String fy;
@ApiModelProperty("费用说明")
private String fysm;
@ApiModelProperty("入库日期")
private String rkrq;
}

7
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java

@ -52,6 +52,13 @@ public class ScmVehicleReturnRest implements ScmVehicleReturnFeign {
return scmVehicleReturnService.delete(sidsList);
}
@Override
public ResultBean<String> createPdf(String sid, String userName) {
ResultBean rb = ResultBean.fireFail();
String pdf = scmVehicleReturnService.createPdf(sid, userName);
return rb.success().setData(pdf);
}
@Override
public ResultBean submitVehicleReturn(ScmVehicleReturnDto scmVehicleReturnDto) {
return scmVehicleReturnService.submitVehicleReturn(scmVehicleReturnDto);

132
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnService.java

@ -6,6 +6,10 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.api.baseaccadjapply.BaseAccadjApply;
import com.yxt.anrui.base.api.baseaccadjapply.BaseAccadjApplyDetailsVo;
import com.yxt.anrui.base.api.baseaccadjapply.BaseAccadjPdfVo;
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareDto;
import com.yxt.anrui.base.api.basemanufacturerretware.BaseManufacturerRetwareFeign;
import com.yxt.anrui.base.api.basemanufacturerretwareveh.BaseManufacturerRetwareVehDto;
@ -19,6 +23,7 @@ import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplication;
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordSourceLCVo;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowFeign;
@ -30,6 +35,7 @@ import com.yxt.anrui.flowable.api.sysprourl.SysProUrlFeign;
import com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo;
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;
@ -45,12 +51,16 @@ import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetailsDto;
import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetailssVo;
import com.yxt.anrui.scm.biz.scmvehiclereturndetails.ScmVehicleReturnDetailsService;
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.StringUtils;
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.*;
import com.yxt.messagecenter.api.messagelist.MessageList;
import com.yxt.messagecenter.api.messagelist.MessageListFeign;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -62,6 +72,8 @@ import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
import static java.util.Comparator.comparing;
/**
* @Author dimengzhe
* @Date 2022/4/7 10:35
@ -90,9 +102,11 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
@Autowired
private MessageFeign messageFeign;
@Autowired
private SysProUrlFeign sysProUrlFeign;
@Autowired
private FlowFeign flowFeign;
@Autowired
private com.yxt.anrui.portal.api.flow.FlowableFeign flowableFeignSp;
@Autowired
private MessageListFeign messageListFeign;
/**
* 采购退库新增编辑
@ -877,4 +891,118 @@ public class ScmVehicleReturnService extends MybatisBaseService<ScmVehicleReturn
return ResultBean.fireFail().setMsg("操作失败,提交的数据不一致!");
}
}
public String createPdf(String sid, String userName) {
ScmVehicleReturn scmVehicleReturn = fetchBySid(sid);
ScmVehicleReturnDetailsVo data = details(sid).getData();
Map<String, Object> dataMap = new HashMap<String, Object>();
//分公司
dataMap.put("orgName", scmVehicleReturn.getOrgName());
//创建部门
String deptName = "";
List<String> split = Arrays.asList(scmVehicleReturn.getOrgSidPath().split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData();
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptName = sysOrganization.getName() + "/" + sysOrganization1.getName();
deptName = sysOrganization1.getName();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptName = sysOrganization.getName();
deptName = sysOrganization.getName();
}
dataMap.put("deptName", deptName);
//创建人
dataMap.put("createName", scmVehicleReturn.getApplicationName());
//创建日期
dataMap.put("createTime", DateUtil.formatDate(scmVehicleReturn.getCreateTime()));
//办结日期
dataMap.put("finishTime", DateUtil.formatDate(scmVehicleReturn.getFinishTime()));
//审批编号
dataMap.put("billNo", scmVehicleReturn.getApplicationCode());
List<ScmVehicleReturnPdfVo> scmVehicleReturnPdfVos = new ArrayList<>();
//循环获取车辆信息
Integer i = 1;
for (ScmVehicleReturnDetailssVo scmVehicleReturnDetailssVo : data.getVoList()) {
ScmVehicleReturnPdfVo scmVehicleReturnPdfVo = new ScmVehicleReturnPdfVo();
scmVehicleReturnPdfVo.setId(i);
i = i + 1;
scmVehicleReturnPdfVo.setVinNo(scmVehicleReturnDetailssVo.getVinNo());
scmVehicleReturnPdfVo.setRkj(scmVehicleReturnDetailssVo.getReturnStockCost().toString());
scmVehicleReturnPdfVo.setModel(scmVehicleReturnDetailssVo.getModelName());
scmVehicleReturnPdfVo.setConfig(scmVehicleReturnDetailssVo.getConfigName());
scmVehicleReturnPdfVo.setFy(scmVehicleReturnDetailssVo.getReturnStockCost().toString());
scmVehicleReturnPdfVo.setFysm(scmVehicleReturnDetailssVo.getCostRemarks());
scmVehicleReturnPdfVo.setRkrq(scmVehicleReturnDetailssVo.getInboundDate());
scmVehicleReturnPdfVos.add(scmVehicleReturnPdfVo);
}
dataMap.put("wlList", scmVehicleReturnPdfVos);
dataMap.put("yy", scmVehicleReturn.getReason());
dataMap.put("fy", scmVehicleReturn.getMoney());
dataMap.put("remarks", scmVehicleReturn.getRemarks());
//获取审批记录
List<PCHistTaskListAndCommentList> flowRecordVo = flowableFeignSp.flowRecordAndComment(scmVehicleReturn.getProcDefId(), "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(sid).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, "cgtk", sourcePath, targetPath, typeName);
//新生成的word路径
String wordPath = targetPath + "\\" + typeName;
//生成出门证文件名
String pdfName = "采购退库_" + dateStr + seconds + ".pdf";
WordUtils.doc2pdf(wordPath, targetPath, pdfName, userName);
return "/template/" + dateStr + "/" + pdfName;
}
}

Loading…
Cancel
Save