|
|
@ -30,10 +30,16 @@ import cn.hutool.core.date.DateUtil; |
|
|
|
import com.alibaba.fastjson.JSON; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; |
|
|
|
import com.yxt.anrui.base.api.commonappendix.CommonAppendixDto; |
|
|
|
import com.yxt.anrui.base.api.commonappendix.CommonAppendixFeign; |
|
|
|
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo; |
|
|
|
import com.yxt.anrui.base.common.utils.Rule; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmation; |
|
|
|
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.*; |
|
|
|
import com.yxt.anrui.fin.api.finfundscarriedforwardapply.flowable.FinFundsApplyNodeQuery; |
|
|
@ -46,10 +52,14 @@ import com.yxt.anrui.fin.api.finfundscarriedforwardveh.FinFundsCarriedForwardVeh |
|
|
|
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed; |
|
|
|
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.otherarreceivable.OtherReceivable; |
|
|
|
import com.yxt.anrui.fin.biz.fincollectionconfirmation.FinCollectionConfirmationService; |
|
|
|
import com.yxt.anrui.fin.biz.finfundscarriedforwardveh.FinFundsCarriedForwardVehService; |
|
|
|
import com.yxt.anrui.fin.biz.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedService; |
|
|
|
import com.yxt.anrui.fin.biz.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedService; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService; |
|
|
|
import com.yxt.anrui.fin.biz.kingdee.otherreceivablebill.OtherReceivableBillService; |
|
|
|
import com.yxt.anrui.flowable.api.flow.FlowableFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; |
|
|
|
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; |
|
|
@ -60,6 +70,7 @@ 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; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
|
|
@ -67,6 +78,7 @@ import com.yxt.anrui.portal.api.sysuser.SysUserVo; |
|
|
|
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.HanZiConverterPinYin; |
|
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
|
import com.yxt.common.base.utils.WordUtils; |
|
|
|
import com.yxt.common.core.query.PagerQuery; |
|
|
@ -106,6 +118,12 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
@Autowired |
|
|
|
private SysStaffOrgFeign sysStaffOrgFeign; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderFeign busSalesOrderFeign; |
|
|
|
@Autowired |
|
|
|
private BaseVehicleFeign baseVehicleFeign; |
|
|
|
@Autowired |
|
|
|
private FinCollectionConfirmationService finCollectionConfirmationService; |
|
|
|
@Autowired |
|
|
|
private FinSelectedReceivablesDetailedService finSelectedReceivablesDetailedService; |
|
|
@ -122,6 +140,8 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
@Autowired |
|
|
|
private FlowTaskFeign flowTaskFeign; |
|
|
|
@Autowired |
|
|
|
private OtherReceivableBillService otherReceivableBillService; |
|
|
|
@Autowired |
|
|
|
private com.yxt.anrui.portal.api.flow.FlowableFeign flowableFeignPro; |
|
|
|
@Autowired |
|
|
|
private FinUncollectedReceivablesDetailedService finUncollectedReceivablesDetailedService; |
|
|
@ -180,7 +200,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
qw.apply(StringUtils.isNotEmpty(applyStartDate), "date_format (bacva.createTime,'%Y-%m-%d') >= date_format('" + applyStartDate + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotEmpty(applyEndDate), "date_format (bacva.createTime,'%Y-%m-%d') <= date_format('" + applyEndDate + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
if (StringUtils.isNotBlank(query.getName())){ |
|
|
|
if (StringUtils.isNotBlank(query.getName())) { |
|
|
|
qw.and(wrapper -> wrapper.like("fa.applyDeptName", query.getName()).or().like("fa.createByName", query.getName())); |
|
|
|
} |
|
|
|
qw.groupBy("fa.sid"); |
|
|
@ -397,9 +417,9 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
} |
|
|
|
finFundsCarriedForwardApply.setBillNo(billNo); |
|
|
|
Boolean isOneSale = dto.getIsOneSale(); |
|
|
|
if (isOneSale){ |
|
|
|
if (isOneSale) { |
|
|
|
finFundsCarriedForwardApply.setNodeState("已办结"); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
finFundsCarriedForwardApply.setNodeState("待提交"); |
|
|
|
} |
|
|
|
BigDecimal jzjehj = new BigDecimal("0"); |
|
|
@ -445,7 +465,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
finSelectedReceivablesDetailed.setUseOrgSid(dto.getUseOrgSid()); |
|
|
|
finSelectedReceivablesDetailed.setSubscribedOf(yxysFinFundsCarriedForwardYXYSKXVo.getSubscribedOf()); |
|
|
|
finSelectedReceivablesDetailed.setCollSid(finFundsCarriedForwardApply.getSid()); |
|
|
|
if ("已办结".equals(finFundsCarriedForwardApply.getNodeState())){ |
|
|
|
if ("已办结".equals(finFundsCarriedForwardApply.getNodeState())) { |
|
|
|
finSelectedReceivablesDetailed.setAuditState(3); |
|
|
|
} |
|
|
|
finSelectedReceivablesDetailed.setAuditDate(DateUtil.formatDate(new Date())); |
|
|
@ -521,9 +541,13 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
//用户的组织全路径
|
|
|
|
FinFundsCarriedForwardApply finFundsCarriedForwardApply = fetchBySid(dto.getSid()); |
|
|
|
//销售部门信息
|
|
|
|
SysOrganizationVo sysOrganizationVo1 = sysOrganizationFeign.fetchBySid(finFundsCarriedForwardApply.getSaleDeptSid()).getData(); |
|
|
|
//分公司信息
|
|
|
|
SysOrganizationVo sysOrganizationVo2 = sysOrganizationFeign.fetchBySid(finFundsCarriedForwardApply.getUseOrgSid()).getData(); |
|
|
|
List<FinFundsCarriedForwardVehDto> finFundsCarriedForwardVehDetailsVos = dto.getFinFundsCarriedForwardVehDetailsVos(); |
|
|
|
List<AppFinFundsCarriedForwardYXYSKXDto> yxysFinFundsCarriedForwardYXYSKXVos = dto.getYxysFinFundsCarriedForwardYXYSKXVos(); |
|
|
|
if (finFundsCarriedForwardVehDetailsVos.size() > 1 && yxysFinFundsCarriedForwardYXYSKXVos.size() > 1){ |
|
|
|
if (finFundsCarriedForwardVehDetailsVos.size() > 1 && yxysFinFundsCarriedForwardYXYSKXVos.size() > 1) { |
|
|
|
return rb.setMsg("不符合一对多或者多对一的关系,请重新选择"); |
|
|
|
} |
|
|
|
BigDecimal jzjehj = new BigDecimal("0"); |
|
|
@ -533,11 +557,11 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
jzjehj = jzjehj.add(new BigDecimal(thisUseMoney)); |
|
|
|
} |
|
|
|
for (AppFinFundsCarriedForwardYXYSKXDto yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) { |
|
|
|
if (yxysFinFundsCarriedForwardYXYSKXVo.getProjectName().equals("订金")){ |
|
|
|
if (yxysFinFundsCarriedForwardYXYSKXVo.getProjectName().equals("订金")) { |
|
|
|
BigDecimal receivable = new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getReceivable()); |
|
|
|
BigDecimal confirmMoney = new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney()); |
|
|
|
int i = confirmMoney.compareTo(receivable); |
|
|
|
if (i == 1){ |
|
|
|
if (i == 1) { |
|
|
|
return rb.setMsg("订金的认款金额不能大于应收金额"); |
|
|
|
} |
|
|
|
} |
|
|
@ -567,17 +591,72 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
dto.setIsOneSale(true); |
|
|
|
String sid = saveOrUpdateAll(dto).getData(); |
|
|
|
finFundsCarriedForwardApply = fetchBySid(sid); |
|
|
|
FinFundsCarriedForwardApplyDetailsVo data = fetchDetailsVoBySid(sid).getData(); |
|
|
|
List<FinFundsCarriedForwardVehDetailsVo> finFundsCarriedForwardVehDetailsVos1 = data.getFinFundsCarriedForwardVehDetailsVos(); |
|
|
|
List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos1 = data.getYxysFinFundsCarriedForwardYXYSKXVos(); |
|
|
|
String pdfPath = createPdf(sid, finFundsCarriedForwardApply.getCreateByName()).getData(); |
|
|
|
baseMapper.updatePathBySid(pdfPath,sid); |
|
|
|
baseMapper.updatePathBySid(pdfPath, sid); |
|
|
|
updateYeBySid(sid); |
|
|
|
for (AppFinFundsCarriedForwardYXYSKXDto yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) { |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo.getReceivablesSid()); |
|
|
|
if (finUncollectedReceivablesDetailed != null){ |
|
|
|
if (finUncollectedReceivablesDetailed != null) { |
|
|
|
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().subtract(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney())); |
|
|
|
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney); |
|
|
|
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed); |
|
|
|
} |
|
|
|
} |
|
|
|
List<String> jzCustNos = new ArrayList<>(); |
|
|
|
List<String> ysCustNos = new ArrayList<>(); |
|
|
|
for (FinFundsCarriedForwardVehDetailsVo finFundsCarriedForwardVehDetailsVo2 : finFundsCarriedForwardVehDetailsVos1) { |
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(finFundsCarriedForwardVehDetailsVo2.getBusSid()); |
|
|
|
String custNo = ""; |
|
|
|
if ("1".equals(finSelectedReceivablesDetailed.getPayTypeKey())) {//全款
|
|
|
|
custNo = finSelectedReceivablesDetailed.getContractNo(); |
|
|
|
} else {//贷款
|
|
|
|
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(finSelectedReceivablesDetailed.getVIN(), finSelectedReceivablesDetailed.getUseOrgSid()).getData(); |
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(finSelectedReceivablesDetailed.getContractNo(), baseVehicle.getSid()).getData(); |
|
|
|
custNo = finSelectedReceivablesDetailed.getContractNo() + busSalesOrderVehicle.getTemporaryNo(); |
|
|
|
} |
|
|
|
jzCustNos.add(custNo); |
|
|
|
} |
|
|
|
jzCustNos = jzCustNos.stream().distinct().collect(Collectors.toList()); |
|
|
|
for (String jzCustNo : jzCustNos) { |
|
|
|
OtherReceivable otherReceivable = new OtherReceivable(); |
|
|
|
otherReceivable.setCommUnit(jzCustNo); |
|
|
|
otherReceivable.setCollectionOrg(sysOrganizationVo2.getOrgCode()); |
|
|
|
otherReceivable.setBussDate(DateUtil.formatDate(new Date())); |
|
|
|
OtherReceivable.CollectionDetailDto collectionDetailDto = new OtherReceivable.CollectionDetailDto(); |
|
|
|
collectionDetailDto.setDearDept(sysOrganizationVo1.getOrgCode()); |
|
|
|
jzCustNo = jzCustNo.substring(0, jzCustNo.length() - 2); |
|
|
|
String jzMoney = finFundsCarriedForwardVehService.fetchJzMoneyByContractNoAndMainSid(jzCustNo, finFundsCarriedForwardApply.getSid()); |
|
|
|
collectionDetailDto.setExTaxMoney(jzMoney); |
|
|
|
otherReceivableBillService.otherReceivableBillService(otherReceivable); |
|
|
|
} |
|
|
|
for (AppFinFundsCarriedForwardYXYSKXVo yxysFinFundsCarriedForwardYXYSKXVo2 : yxysFinFundsCarriedForwardYXYSKXVos1) { |
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo2.getSid()); |
|
|
|
String custNo = ""; |
|
|
|
if ("1".equals(finSelectedReceivablesDetailed.getPayTypeKey())) {//全款
|
|
|
|
custNo = finSelectedReceivablesDetailed.getContractNo(); |
|
|
|
} else {//贷款
|
|
|
|
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(finSelectedReceivablesDetailed.getVIN(), finSelectedReceivablesDetailed.getUseOrgSid()).getData(); |
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(finSelectedReceivablesDetailed.getContractNo(), baseVehicle.getSid()).getData(); |
|
|
|
custNo = finSelectedReceivablesDetailed.getContractNo() + busSalesOrderVehicle.getTemporaryNo(); |
|
|
|
} |
|
|
|
ysCustNos.add(custNo); |
|
|
|
} |
|
|
|
ysCustNos = ysCustNos.stream().distinct().collect(Collectors.toList()); |
|
|
|
for (String ysCustNo : ysCustNos) { |
|
|
|
OtherReceivable otherReceivable = new OtherReceivable(); |
|
|
|
otherReceivable.setCommUnit(ysCustNo); |
|
|
|
otherReceivable.setCollectionOrg(sysOrganizationVo2.getOrgCode()); |
|
|
|
otherReceivable.setBussDate(DateUtil.formatDate(new Date())); |
|
|
|
OtherReceivable.CollectionDetailDto collectionDetailDto = new OtherReceivable.CollectionDetailDto(); |
|
|
|
collectionDetailDto.setDearDept(sysOrganizationVo1.getOrgCode()); |
|
|
|
ysCustNo = ysCustNo.substring(0, ysCustNo.length() - 2); |
|
|
|
String jzMoney = finSelectedReceivablesDetailedService.fetchJzMoneyByContractNoAndMainSid(ysCustNo, finFundsCarriedForwardApply.getSid()); |
|
|
|
collectionDetailDto.setExTaxMoney("-" + jzMoney); |
|
|
|
otherReceivableBillService.otherReceivableBillService(otherReceivable); |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
} |
|
|
@ -632,11 +711,11 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
FinFundsCarriedForwardApplyDetailsVo data = fetchDetailsVoBySid(businessSid).getData(); |
|
|
|
List<AppFinFundsCarriedForwardYXYSKXVo> yxyskxVos = data.getYxysFinFundsCarriedForwardYXYSKXVos(); |
|
|
|
for (AppFinFundsCarriedForwardYXYSKXVo appFinFundsCarriedForwardYXYSKXVo : yxyskxVos) { |
|
|
|
finSelectedReceivablesDetailedService.updateAuditStateBySid(1,appFinFundsCarriedForwardYXYSKXVo.getSid()); |
|
|
|
finSelectedReceivablesDetailedService.updateAuditStateBySid(1, appFinFundsCarriedForwardYXYSKXVo.getSid()); |
|
|
|
} |
|
|
|
for (AppFinFundsCarriedForwardYXYSKXDto yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) { |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo.getReceivablesSid()); |
|
|
|
if (finUncollectedReceivablesDetailed != null){ |
|
|
|
if (finUncollectedReceivablesDetailed != null) { |
|
|
|
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().subtract(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney())); |
|
|
|
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney); |
|
|
|
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed); |
|
|
@ -788,7 +867,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
updateYeBySid(businessSid); |
|
|
|
FinFundsCarriedForwardApplyDetailsVo data = fetchDetailsVoBySid(businessSid).getData(); |
|
|
|
List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos = data.getYxysFinFundsCarriedForwardYXYSKXVos(); |
|
|
|
if ("发起申请".equals(finFundsCarriedForwardApply.getNodeState())){ |
|
|
|
if ("发起申请".equals(finFundsCarriedForwardApply.getNodeState())) { |
|
|
|
for (AppFinFundsCarriedForwardYXYSKXVo yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) { |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo.getReceivablesSid()); |
|
|
|
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().add(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney())); |
|
|
@ -843,10 +922,10 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
updateYeBySid(query.getBusinessSid()); |
|
|
|
FinFundsCarriedForwardApplyDetailsVo data = fetchDetailsVoBySid(query.getBusinessSid()).getData(); |
|
|
|
List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos = data.getYxysFinFundsCarriedForwardYXYSKXVos(); |
|
|
|
if ("发起申请".equals(finFundsCarriedForwardApply.getNodeState())){ |
|
|
|
if ("发起申请".equals(finFundsCarriedForwardApply.getNodeState())) { |
|
|
|
for (AppFinFundsCarriedForwardYXYSKXVo yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) { |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo.getReceivablesSid()); |
|
|
|
if (finUncollectedReceivablesDetailed != null){ |
|
|
|
if (finUncollectedReceivablesDetailed != null) { |
|
|
|
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().add(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney())); |
|
|
|
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney); |
|
|
|
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed); |
|
|
@ -885,10 +964,10 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
updateYeBySid(query.getBusinessSid()); |
|
|
|
FinFundsCarriedForwardApplyDetailsVo data = fetchDetailsVoBySid(query.getBusinessSid()).getData(); |
|
|
|
List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos = data.getYxysFinFundsCarriedForwardYXYSKXVos(); |
|
|
|
if ("发起申请".equals(finFundsCarriedForwardApply.getNodeState())){ |
|
|
|
if ("发起申请".equals(finFundsCarriedForwardApply.getNodeState())) { |
|
|
|
for (AppFinFundsCarriedForwardYXYSKXVo yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) { |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo.getReceivablesSid()); |
|
|
|
if (finUncollectedReceivablesDetailed != null){ |
|
|
|
if (finUncollectedReceivablesDetailed != null) { |
|
|
|
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().add(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney())); |
|
|
|
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney); |
|
|
|
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed); |
|
|
@ -909,10 +988,10 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
updateYeBySid(query.getBusinessSid()); |
|
|
|
FinFundsCarriedForwardApplyDetailsVo data = fetchDetailsVoBySid(query.getBusinessSid()).getData(); |
|
|
|
List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos = data.getYxysFinFundsCarriedForwardYXYSKXVos(); |
|
|
|
if ("发起申请".equals(finFundsCarriedForwardApply.getNodeState())){ |
|
|
|
if ("发起申请".equals(finFundsCarriedForwardApply.getNodeState())) { |
|
|
|
for (AppFinFundsCarriedForwardYXYSKXVo yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) { |
|
|
|
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo.getReceivablesSid()); |
|
|
|
if (finUncollectedReceivablesDetailed != null){ |
|
|
|
if (finUncollectedReceivablesDetailed != null) { |
|
|
|
BigDecimal currentReceivableMoney = finUncollectedReceivablesDetailed.getCurrentReceivableMoney().add(new BigDecimal(yxysFinFundsCarriedForwardYXYSKXVo.getConfirmMoney())); |
|
|
|
finUncollectedReceivablesDetailed.setCurrentReceivableMoney(currentReceivableMoney); |
|
|
|
finUncollectedReceivablesDetailedService.updateById(finUncollectedReceivablesDetailed); |
|
|
@ -931,6 +1010,11 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String businessSid = bv.getBusinessSid(); |
|
|
|
FinFundsCarriedForwardApply finFundsCarriedForwardApply = fetchBySid(businessSid); |
|
|
|
//销售部门信息
|
|
|
|
SysOrganizationVo sysOrganizationVo1 = sysOrganizationFeign.fetchBySid(finFundsCarriedForwardApply.getSaleDeptSid()).getData(); |
|
|
|
//分公司信息
|
|
|
|
SysOrganizationVo sysOrganizationVo2 = sysOrganizationFeign.fetchBySid(finFundsCarriedForwardApply.getUseOrgSid()).getData(); |
|
|
|
FinFundsCarriedForwardApplyDetailsVo data = fetchDetailsVoBySid(businessSid).getData(); |
|
|
|
Map<String, Object> variables = new HashMap<>(); |
|
|
|
Map<String, Object> appMap = new HashMap<>(); |
|
|
|
appMap.put("sid", businessSid); |
|
|
@ -954,10 +1038,111 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); |
|
|
|
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { |
|
|
|
String pdfPath = createPdf(finFundsCarriedForwardApply.getSid(), finFundsCarriedForwardApply.getCreateByName()).getData(); |
|
|
|
baseMapper.updatePathBySid(pdfPath,businessSid); |
|
|
|
List<FinFundsCarriedForwardVehDetailsVo> finFundsCarriedForwardVehDetailsVos = finFundsCarriedForwardVehService.fetchByMainSid(businessSid); |
|
|
|
baseMapper.updatePathBySid(pdfPath, businessSid); |
|
|
|
List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos = data.getYxysFinFundsCarriedForwardYXYSKXVos(); |
|
|
|
for (AppFinFundsCarriedForwardYXYSKXVo appFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) { |
|
|
|
finSelectedReceivablesDetailedService.updateAuditStateBySid(3, appFinFundsCarriedForwardYXYSKXVo.getSid()); |
|
|
|
} |
|
|
|
List<FinFundsCarriedForwardVehDetailsVo> finFundsCarriedForwardVehDetailsVos = data.getFinFundsCarriedForwardVehDetailsVos(); |
|
|
|
List<String> jzCustNos = new ArrayList<>(); |
|
|
|
List<String> ysCustNos = new ArrayList<>(); |
|
|
|
if ("简易订单订金".equals(finFundsCarriedForwardApply.getSource())) { |
|
|
|
List<FinFundsCarriedForwardVehDetailsVo> finFundsCarriedForwardVehDetailsVos1 = finFundsCarriedForwardVehService.fetchByMainSidAndGroupCustPhone(finFundsCarriedForwardApply.getSid()); |
|
|
|
for (FinFundsCarriedForwardVehDetailsVo finFundsCarriedForwardVehDetailsVo : finFundsCarriedForwardVehDetailsVos1) { |
|
|
|
String customerName = finFundsCarriedForwardVehDetailsVo.getCustomerName(); |
|
|
|
String draweeMobile = finFundsCarriedForwardVehDetailsVo.getDraweeMobile(); |
|
|
|
String custNo = getPrefix(finFundsCarriedForwardApply.getStaffSid(), customerName, draweeMobile); |
|
|
|
jzCustNos.add(custNo); |
|
|
|
} |
|
|
|
jzCustNos = jzCustNos.stream().distinct().collect(Collectors.toList()); |
|
|
|
for (String jzCustNo : jzCustNos) { |
|
|
|
OtherReceivable otherReceivable = new OtherReceivable(); |
|
|
|
otherReceivable.setCommUnit(jzCustNo); |
|
|
|
otherReceivable.setCollectionOrg(sysOrganizationVo2.getOrgCode()); |
|
|
|
otherReceivable.setBussDate(DateUtil.formatDate(new Date())); |
|
|
|
OtherReceivable.CollectionDetailDto collectionDetailDto = new OtherReceivable.CollectionDetailDto(); |
|
|
|
collectionDetailDto.setDearDept(sysOrganizationVo1.getOrgCode()); |
|
|
|
jzCustNo = jzCustNo.substring(0, jzCustNo.length() - 2); |
|
|
|
String jzMoney = finFundsCarriedForwardVehService.fetchJzMoneyByContractNoAndMainSid(jzCustNo, finFundsCarriedForwardApply.getSid()); |
|
|
|
collectionDetailDto.setExTaxMoney(jzMoney); |
|
|
|
otherReceivableBillService.otherReceivableBillService(otherReceivable); |
|
|
|
} |
|
|
|
for (AppFinFundsCarriedForwardYXYSKXVo yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) { |
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo.getSid()); |
|
|
|
String custNo = ""; |
|
|
|
if ("1".equals(finSelectedReceivablesDetailed.getPayTypeKey())) {//全款
|
|
|
|
custNo = finSelectedReceivablesDetailed.getContractNo(); |
|
|
|
} else {//贷款
|
|
|
|
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(finSelectedReceivablesDetailed.getVIN(), finSelectedReceivablesDetailed.getUseOrgSid()).getData(); |
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(finSelectedReceivablesDetailed.getContractNo(), baseVehicle.getSid()).getData(); |
|
|
|
custNo = finSelectedReceivablesDetailed.getContractNo() + busSalesOrderVehicle.getTemporaryNo(); |
|
|
|
} |
|
|
|
ysCustNos.add(custNo); |
|
|
|
} |
|
|
|
ysCustNos = ysCustNos.stream().distinct().collect(Collectors.toList()); |
|
|
|
for (String ysCustNo : ysCustNos) { |
|
|
|
OtherReceivable otherReceivable = new OtherReceivable(); |
|
|
|
otherReceivable.setCommUnit(ysCustNo); |
|
|
|
otherReceivable.setCollectionOrg(sysOrganizationVo2.getOrgCode()); |
|
|
|
otherReceivable.setBussDate(DateUtil.formatDate(new Date())); |
|
|
|
OtherReceivable.CollectionDetailDto collectionDetailDto = new OtherReceivable.CollectionDetailDto(); |
|
|
|
collectionDetailDto.setDearDept(sysOrganizationVo1.getOrgCode()); |
|
|
|
ysCustNo = ysCustNo.substring(0, ysCustNo.length() - 2); |
|
|
|
String jzMoney = finSelectedReceivablesDetailedService.fetchJzMoneyByContractNoAndMainSid(ysCustNo, finFundsCarriedForwardApply.getSid()); |
|
|
|
collectionDetailDto.setExTaxMoney("-" + jzMoney); |
|
|
|
otherReceivableBillService.otherReceivableBillService(otherReceivable); |
|
|
|
} |
|
|
|
} else if ("已认款".equals(finFundsCarriedForwardApply.getSource())) { |
|
|
|
for (FinFundsCarriedForwardVehDetailsVo finFundsCarriedForwardVehDetailsVo : finFundsCarriedForwardVehDetailsVos) { |
|
|
|
finSelectedReceivablesDetailedService.updateAuditStateBySid(3,finFundsCarriedForwardVehDetailsVo.getBusSid()); |
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(finFundsCarriedForwardVehDetailsVo.getBusSid()); |
|
|
|
String custNo = ""; |
|
|
|
if ("1".equals(finSelectedReceivablesDetailed.getPayTypeKey())) {//全款
|
|
|
|
custNo = finSelectedReceivablesDetailed.getContractNo(); |
|
|
|
} else {//贷款
|
|
|
|
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(finSelectedReceivablesDetailed.getVIN(), finSelectedReceivablesDetailed.getUseOrgSid()).getData(); |
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(finSelectedReceivablesDetailed.getContractNo(), baseVehicle.getSid()).getData(); |
|
|
|
custNo = finSelectedReceivablesDetailed.getContractNo() + busSalesOrderVehicle.getTemporaryNo(); |
|
|
|
} |
|
|
|
jzCustNos.add(custNo); |
|
|
|
} |
|
|
|
jzCustNos = jzCustNos.stream().distinct().collect(Collectors.toList()); |
|
|
|
for (String jzCustNo : jzCustNos) { |
|
|
|
OtherReceivable otherReceivable = new OtherReceivable(); |
|
|
|
otherReceivable.setCommUnit(jzCustNo); |
|
|
|
otherReceivable.setCollectionOrg(sysOrganizationVo2.getOrgCode()); |
|
|
|
otherReceivable.setBussDate(DateUtil.formatDate(new Date())); |
|
|
|
OtherReceivable.CollectionDetailDto collectionDetailDto = new OtherReceivable.CollectionDetailDto(); |
|
|
|
collectionDetailDto.setDearDept(sysOrganizationVo1.getOrgCode()); |
|
|
|
jzCustNo = jzCustNo.substring(0, jzCustNo.length() - 2); |
|
|
|
String jzMoney = finFundsCarriedForwardVehService.fetchJzMoneyByContractNoAndMainSid(jzCustNo, finFundsCarriedForwardApply.getSid()); |
|
|
|
collectionDetailDto.setExTaxMoney(jzMoney); |
|
|
|
otherReceivableBillService.otherReceivableBillService(otherReceivable); |
|
|
|
} |
|
|
|
for (AppFinFundsCarriedForwardYXYSKXVo yxysFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) { |
|
|
|
FinSelectedReceivablesDetailed finSelectedReceivablesDetailed = finSelectedReceivablesDetailedService.fetchBySid(yxysFinFundsCarriedForwardYXYSKXVo.getSid()); |
|
|
|
String custNo = ""; |
|
|
|
if ("1".equals(finSelectedReceivablesDetailed.getPayTypeKey())) {//全款
|
|
|
|
custNo = finSelectedReceivablesDetailed.getContractNo(); |
|
|
|
} else {//贷款
|
|
|
|
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(finSelectedReceivablesDetailed.getVIN(), finSelectedReceivablesDetailed.getUseOrgSid()).getData(); |
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(finSelectedReceivablesDetailed.getContractNo(), baseVehicle.getSid()).getData(); |
|
|
|
custNo = finSelectedReceivablesDetailed.getContractNo() + busSalesOrderVehicle.getTemporaryNo(); |
|
|
|
} |
|
|
|
ysCustNos.add(custNo); |
|
|
|
} |
|
|
|
ysCustNos = ysCustNos.stream().distinct().collect(Collectors.toList()); |
|
|
|
for (String ysCustNo : ysCustNos) { |
|
|
|
OtherReceivable otherReceivable = new OtherReceivable(); |
|
|
|
otherReceivable.setCommUnit(ysCustNo); |
|
|
|
otherReceivable.setCollectionOrg(sysOrganizationVo2.getOrgCode()); |
|
|
|
otherReceivable.setBussDate(DateUtil.formatDate(new Date())); |
|
|
|
OtherReceivable.CollectionDetailDto collectionDetailDto = new OtherReceivable.CollectionDetailDto(); |
|
|
|
collectionDetailDto.setDearDept(sysOrganizationVo1.getOrgCode()); |
|
|
|
ysCustNo = ysCustNo.substring(0, ysCustNo.length() - 2); |
|
|
|
String jzMoney = finSelectedReceivablesDetailedService.fetchJzMoneyByContractNoAndMainSid(ysCustNo, finFundsCarriedForwardApply.getSid()); |
|
|
|
collectionDetailDto.setExTaxMoney("-" + jzMoney); |
|
|
|
otherReceivableBillService.otherReceivableBillService(otherReceivable); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
//极光推送
|
|
|
@ -1096,7 +1281,7 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
List<FinFundsCarriedForwardVehDetailsVo> finFundsCarriedForwardVehDetailsVos = data.getFinFundsCarriedForwardVehDetailsVos(); |
|
|
|
List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos = data.getYxysFinFundsCarriedForwardYXYSKXVos(); |
|
|
|
Map<String, Object> dataMap = new HashMap(); |
|
|
|
if (StringUtils.isNotBlank(data.getProcInsId())){ |
|
|
|
if (StringUtils.isNotBlank(data.getProcInsId())) { |
|
|
|
List<PCHistTaskListAndCommentList> flowRecordVo = flowableFeignPro.flowRecordAndComment(data.getProcInsId(), "1").getData(); |
|
|
|
if (flowRecordVo != null) { |
|
|
|
for (PCHistTaskListAndCommentList flowTask : flowRecordVo) { |
|
|
@ -1157,4 +1342,35 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu |
|
|
|
WordUtils.doc2pdf(wordPath, targetPath, pdfName, userName); |
|
|
|
return rb.success().setData("template/" + dateStr + "/" + pdfName); |
|
|
|
} |
|
|
|
|
|
|
|
public String getPrefix(String staffSid, String name, String mobile) { |
|
|
|
String customerNoPrefix = ""; |
|
|
|
//查询业务员的分公司简称和部门编码
|
|
|
|
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(staffSid); |
|
|
|
if (staffOrgResultBean.getSuccess()) { |
|
|
|
SysStaffOrg sysStaffOrg = staffOrgResultBean.getData(); |
|
|
|
if (sysStaffOrg != null) { |
|
|
|
ResultBean<String> resultBean1 = sysStaffOrgFeign.getOrgSidByPath(sysStaffOrg.getOrgSidPath()); |
|
|
|
if (resultBean1.getSuccess()) { |
|
|
|
String osid = resultBean1.getData(); |
|
|
|
if (StringUtils.isNotBlank(osid)) { |
|
|
|
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(osid); |
|
|
|
if (sysOrganizationVoResultBean.getSuccess()) { |
|
|
|
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData(); |
|
|
|
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgAbbre(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
String orgSid1 = sysStaffOrg.getOrgSid(); |
|
|
|
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(orgSid1); |
|
|
|
if (sysOrganizationVoResultBean.getSuccess()) { |
|
|
|
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData(); |
|
|
|
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgCode(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
customerNoPrefix = customerNoPrefix + mobile + HanZiConverterPinYin.getPinYinFirst(name); |
|
|
|
System.out.println(customerNoPrefix.length() > 30 ? customerNoPrefix.substring(0, 30) : customerNoPrefix); |
|
|
|
return customerNoPrefix.length() > 30 ? customerNoPrefix.substring(0, 30) : customerNoPrefix; |
|
|
|
} |
|
|
|
} |