Browse Source

优化

master
dimengzhe 2 years ago
parent
commit
1c12c7c2cf
  1. 14
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  2. 157
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmSolutions.java
  3. 4
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java
  4. 5
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeignFallback.java
  5. 54
      anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandsDto.java
  6. 5
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandRest.java
  7. 87
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java
  8. 134
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java
  9. 2
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java

14
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -2416,7 +2416,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
int lockNum = busSalesVehicleOrderService.selectByLinkSid1(applyListVo.getSid());
//可使用数量
int canUseNum = totalNum - lockNum;
if(canUseNum<=0){
if (canUseNum <= 0) {
continue;
}
appReadyCarVo.setCanUseNum(String.valueOf(canUseNum));
@ -2491,13 +2491,13 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (v.getSid().equals(v2.getSid())) {
v.setTotalNum(v2.getTotalNum());
v.setCanUseNum(v2.getCanUseNum());
}else{
} else {
//查询该订单的总数量
int countAll = busSalesVehicleOrderService.selectByTotal(v.getSid());
int lockNum = busSalesVehicleOrderService.selectByLinkSid1(v.getSid());
//可使用数量
int canUseNum = countAll - lockNum;
if(canUseNum<=0){
if (canUseNum <= 0) {
canUseNum = 0;
orderInfo.setNotice("当前车型已经更新,请进行确认");
}
@ -2768,7 +2768,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
int lockNum = busSalesVehicleOrderService.selectByLinkSid1(applyListVo.getSid());
//可使用数量
int canUseNum = totalNum - lockNum;
if(canUseNum<=0){
if (canUseNum <= 0) {
continue;
}
appReadyCarVo.setCanUseNum(String.valueOf(canUseNum));
@ -2920,6 +2920,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
busDepositFictitiousService.deleteByDepositSid(busSalesOrderDeposit.getSid());
}
}
//删除金融方案
loanSolutionsFeign.deleteByOrderSid(sid);
}
return rb.success().setMsg("删除成功");
@ -3374,7 +3376,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
int lockNum = busSalesVehicleOrderService.selectByLinkSid1(applyListVo.getSid());
//可使用数量
int canUseNum = totalNum - lockNum;
if(canUseNum<=0){
if (canUseNum <= 0) {
canUseNum = 0;
}
appReadyCarVo.setCanUseNum(String.valueOf(canUseNum));
@ -3408,7 +3410,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
int lockNum = busSalesVehicleOrderService.selectByLinkSid1(v.getSid());
//可使用数量
int canUseNum = countAll - lockNum;
if(canUseNum<=0){
if (canUseNum <= 0) {
isVehicleOrder = false;
}
}

157
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmSolutions.java

@ -0,0 +1,157 @@
package com.yxt.anrui.crm.api.crmvehicledemand;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2023/8/25
**/
@Data
public class CrmSolutions {
@JsonProperty("isShowMore")
private boolean isShowMore;
@ApiModelProperty("是否打包:1是0否")
private String isPack;
@ApiModelProperty("产品政策名称")
private String policyName;
private String policySid;
@ApiModelProperty("主车发票价")
private String mainVehicleAmount;
@ApiModelProperty("融资票据")
private String accessoriesAmount;
@ApiModelProperty("挂车金额")
private String trailerAmount;
@ApiModelProperty("购置税")
private String purchaseTax;
@ApiModelProperty("保险金额")
private String premium;
@ApiModelProperty("融资项目总额")
private String loanTotal;
@ApiModelProperty("是否有融资票据")
private boolean accessoriesAmountCb;
@ApiModelProperty("是否有挂车")
private boolean trailerAmountCb;
@ApiModelProperty("是否有购置税")
private boolean purchaseTaxCb;
@ApiModelProperty("是否有保险")
private boolean premiumCb;
@ApiModelProperty("首付款比例")
private String downPayRatio;
@ApiModelProperty("首付金额")
@NotBlank(message = "首付金额不能为空")
private String downPayAmount;
@ApiModelProperty("贷款金额")
private String loanAmount;
@ApiModelProperty("贷款期数")
@NotBlank(message = "产品期数不能为空")
private String loanPeriod;
@ApiModelProperty("贷款保证金比例")
private String bondRatio;
@ApiModelProperty("贷款保证金金额")
@NotBlank(message = "贷款保证金不能为空")
private String bondAmount;
@ApiModelProperty("厂家贴息")
@NotBlank(message = "厂家贴息不能为空")
private String factoryDiscount;
@ApiModelProperty("厂家贴息用途")
private String factoryDiscountUse;
@ApiModelProperty("年利率")
private String policyYearRatio;
@ApiModelProperty("月还金额")
@NotBlank(message = "月还金额不能为空")
private String loanPayMoney;
@ApiModelProperty("利息总额")
private String loanInterest;
@ApiModelProperty("是否勾选其它融")
private boolean otherPolicyState;
@ApiModelProperty("其它融名称")
private String otherPolicyName;
private String otherPolicySid;
@ApiModelProperty("其它融贷款金额")
private String otherPolicyAmount;
@ApiModelProperty("其它融期数")
private String otherPolicyPeriod;
@ApiModelProperty("其它融月还")
private String otherPolicyMonthlyRepay;
@ApiModelProperty("其它融利息总额")
private String otherPolicyInterest;
@ApiModelProperty("其它融年利率")
private String otherPolicyYearRatio;
@ApiModelProperty("'融资首付")
private String loanDownPay;
@ApiModelProperty("实际首付比例")
private String downPayAmountsRatio;
@ApiModelProperty("总贷款金额")
private String loanAmountTotal;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("月还金额")
private String monthlyRepay;
@ApiModelProperty("利息总额")
private String interest;
@ApiModelProperty("预计首期还款日")
private String returnTime;
@ApiModelProperty("融资首付")
private String downPayAmounts;
@ApiModelProperty("贷款保证金")
private String bondAmounts;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("服务费")
@NotBlank(message = "服务费不能为空")
private String serviceAmount;
@ApiModelProperty("代收意外险")
private String proxyAccidentPremium;
@ApiModelProperty("上牌费")
private String registerAmount;
@ApiModelProperty("运管费")
private String operationAmount;
@ApiModelProperty("补车价")
private String vehOtherPrice;
@ApiModelProperty("其它费用")
private String otherAmount;
@ApiModelProperty("其它费用说明")
private String otherAmountRemark;
@ApiModelProperty("办理方式选择")
private String dealWay;
@ApiModelProperty("办理方式选择key")
private String dealWayKey;
@ApiModelProperty("代收首年保险费")
private String proxyPremium;
@ApiModelProperty("代收购置费")
private String proxyPurchasetax;
@ApiModelProperty("抵顶首年保险费")
private String offsetPremium;
@ApiModelProperty("抵顶购置税")
private String offsetPurchasetax;
@ApiModelProperty("抵顶费用合计")
private String offsetTotal;
@ApiModelProperty("应收合计")
private String receivableTotal;
@ApiModelProperty("实收合计")
private String realTotal;
@ApiModelProperty("车辆总价")
private String vehTotalPrice;
@ApiModelProperty("名义留购价")
private String nominalPrice;
}

4
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeign.java

@ -61,6 +61,10 @@ public interface CrmVehicledemandFeign {
@PostMapping("/save")
public ResultBean save(@Valid @RequestBody CrmVehicledemandDto dto);
@ApiOperation("保存新")
@PostMapping("/save2")
public ResultBean save2(@RequestBody CrmVehicledemandsDto dto);
/**
* 意向车型的修改保存
*

5
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandFeignFallback.java

@ -48,6 +48,11 @@ public class CrmVehicledemandFeignFallback implements CrmVehicledemandFeign {
return ResultBean.fireFail().setMsg("接口anrui-crm/crmvehicledemand/save无法访问");
}
@Override
public ResultBean save2(CrmVehicledemandsDto dto) {
return null;
}
@Override
public ResultBean update(CrmVehicledemandDto dto, String sid) {
return ResultBean.fireFail().setMsg("接口anrui-crm/crmvehicledemand/update无法访问");

54
anrui-crm/anrui-crm-api/src/main/java/com/yxt/anrui/crm/api/crmvehicledemand/CrmVehicledemandsDto.java

@ -1,8 +1,12 @@
package com.yxt.anrui.crm.api.crmvehicledemand;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
@ -11,4 +15,54 @@ import lombok.Data;
@Data
public class CrmVehicledemandsDto implements Dto {
private static final long serialVersionUID = 8737733967686256823L;
@ApiModelProperty("车辆需求sid")
private String sid;
private String customerSid;
@ApiModelProperty("购车方式")
private String purchaseMethod;
@ApiModelProperty("购车方式Value")
private String purchaseMethodValue;
@ApiModelProperty("资金来源、担保类型")
private String type;
@ApiModelProperty("资金来源、担保类型key")
private String typeKey;
@ApiModelProperty("品牌名称")
private String brandName;
@ApiModelProperty("品牌sid")
private String brandSid;
@ApiModelProperty("车型sid")
private String modelSid;
@ApiModelProperty("车型名称")
private String modelName;
@ApiModelProperty("常用配置sid")
private String comonConfigSid;
@ApiModelProperty("常用配置")
private String sketChconfiguration;
@ApiModelProperty("其它配置说明")
private String otherConfig;
@ApiModelProperty("换选装内容")
private String changeOptions;
@ApiModelProperty("预计提车日期")
private String estimatedPickupDate;
@ApiModelProperty("销售参考价")
private String saleReferencePrice;
@ApiModelProperty("车型报价")
private String vehicleModelOffer;
@ApiModelProperty("数量")
private String number;
@ApiModelProperty("备注")
private String remarks;
private CrmSolutions crmSolutions;
@ApiModelProperty("金融方案key")
private String financePlan;
@ApiModelProperty("金融方案value")
private String financePlanValue;
@ApiModelProperty("客户类型")
private String customerType;
@ApiModelProperty("客户类型key")
private String customerTypeKey;
}

5
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandRest.java

@ -63,6 +63,11 @@ public class CrmVehicledemandRest implements CrmVehicledemandFeign {
return crmVehicledemandService.saveAll(dto);
}
@Override
public ResultBean save2(CrmVehicledemandsDto dto) {
return crmVehicledemandService.save2(dto);
}
@Override
public ResultBean update(CrmVehicledemandDto dto, String sid) {
ResultBean rb = ResultBean.fireFail();

87
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmvehicledemand/CrmVehicledemandService.java

@ -7,6 +7,7 @@ import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.AppModelVeDetailVo;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp;
import com.yxt.anrui.crm.api.crmfindemand.CrmFindemand;
import com.yxt.anrui.crm.api.crmfindemand.CrmFindemandDto;
import com.yxt.anrui.crm.api.crmfindemand.CrmFindemandVo;
@ -14,9 +15,13 @@ import com.yxt.anrui.crm.api.crmvehicledemand.*;
import com.yxt.anrui.crm.api.crmvehicledemand.pc.PcCrmVehicleDemandQuery;
import com.yxt.anrui.crm.api.crmvehicledemand.pc.PcCrmVehicleDemandVo;
import com.yxt.anrui.crm.api.crmvehiclefinance.AppCrmVehicleFinanceVo;
import com.yxt.anrui.crm.biz.crmcustomertemp.CrmCustomerTempService;
import com.yxt.anrui.crm.biz.crmfindemand.CrmFindemandService;
import com.yxt.anrui.crm.biz.crmvehiclefinance.CrmVehicleFinanceService;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.SolutionDetailsDto;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionssDto;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
@ -62,6 +67,11 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private CrmCustomerTempService crmCustomerTempService;
@Autowired
private LoanSolutionsFeign loanSolutionsFeign;
public PagerVo<CrmVehicledemand> listPage(PagerQuery<CrmVehicledemandQuery> pq) {
CrmVehicledemandQuery query = pq.getParams();
QueryWrapper<CrmVehicledemand> qw = createQueryWrapper(query);
@ -468,11 +478,11 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
private QueryWrapper<CrmVehicledemand> AppCreatePagePcWrapper(AppCrmOrderVehicleDemandQuery query) {
QueryWrapper<CrmVehicledemand> qw = new QueryWrapper<>();
if (query != null) {
if(StringUtils.isNotBlank(query.getCustomerSid())){
if (StringUtils.isNotBlank(query.getCustomerSid())) {
qw.eq("cv.customerSid", query.getCustomerSid());
}
if(StringUtils.isNotBlank(query.getNames())){
qw.like("cv.modelName",query.getNames());
if (StringUtils.isNotBlank(query.getNames())) {
qw.like("cv.modelName", query.getNames());
}
}
@ -499,4 +509,75 @@ public class CrmVehicledemandService extends MybatisBaseService<CrmVehicledemand
CrmOrderVo crmOrderVo = baseMapper.selectCrmDemand(intentionSid);
return rb.success().setData(crmOrderVo);
}
public ResultBean save2(CrmVehicledemandsDto dto) {
ResultBean rb = ResultBean.fireFail();
String customerSid = dto.getCustomerSid();
CrmCustomerTemp crmCustomerTemp = crmCustomerTempService.fetchBySid(customerSid);
if (crmCustomerTemp == null) {
return rb.setMsg("客户不存在");
}
//查询车辆需求是否存在
String sid = dto.getSid();
if (StringUtils.isBlank(sid)) {//新增
CrmVehicledemand crmVehicledemand = new CrmVehicledemand();
BeanUtil.copyProperties(dto, crmVehicledemand, "sid");
crmVehicledemand.setCustomerSid(crmCustomerTemp.getSid());
//新增客户的金融方案
if ("01".equals(dto.getFinancePlan())) {//资方常规
CrmSolutions crmSolutions = dto.getCrmSolutions();
if (crmSolutions != null) {
SolutionssDto solutionsDto = new SolutionssDto();
BeanUtil.copyProperties(crmSolutions, solutionsDto, "sid");
solutionsDto.setSaleOrderSid(sid);
if ("2".equals(dto.getTypeKey())) {
solutionsDto.setShowMore(false);
} else if ("3".equals(dto.getTypeKey()) || "4".equals(dto.getTypeKey())) {
solutionsDto.setShowMore(true);
}
ResultBean resultBean = loanSolutionsFeign.save2(solutionsDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
}
} else {//定制金融
}
baseMapper.insert(crmVehicledemand);
} else {//修改
CrmVehicledemand crmVehicledemand = fetchBySid(sid);
if (crmVehicledemand == null) {
return rb.setMsg("该车辆需求不存在");
}
BeanUtil.copyProperties(dto, crmVehicledemand, "sid");
crmVehicledemand.setCustomerSid(crmCustomerTemp.getSid());
if ("1".equals(dto.getTypeKey())) {
//删除金融方案
loanSolutionsFeign.deleteByOrderSid(sid);
} else {
//新增客户的金融方案
if ("01".equals(dto.getFinancePlan())) {//资方常规
CrmSolutions crmSolutions = dto.getCrmSolutions();
if (crmSolutions != null) {
SolutionssDto solutionsDto = new SolutionssDto();
BeanUtil.copyProperties(crmSolutions, solutionsDto, "sid");
solutionsDto.setSaleOrderSid(sid);
if ("2".equals(dto.getTypeKey())) {
solutionsDto.setShowMore(false);
} else if ("3".equals(dto.getTypeKey()) || "4".equals(dto.getTypeKey())) {
solutionsDto.setShowMore(true);
}
ResultBean resultBean = loanSolutionsFeign.save2(solutionsDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
}
} else {//定制金融
}
}
baseMapper.updateById(crmVehicledemand);
}
return rb.success();
}
}

134
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java

@ -29,6 +29,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufUpdateDto;
import com.yxt.anrui.base.api.basemanufactorsubscription.BaseManufactorSubscriptionFeign;
import com.yxt.anrui.base.api.baseoutsourcingapplication.BaseOutsourcingApplicationDetailsVo;
@ -41,10 +42,14 @@ import com.yxt.anrui.base.api.basevehicleactualpay.BaseVehicleActualPay;
import com.yxt.anrui.base.api.basevehicleactualpay.BaseVehicleActualPayFeign;
import com.yxt.anrui.base.api.basevehicleactualsales.BaseVehicleActualSalesDetailsVo;
import com.yxt.anrui.base.api.basevehicleactualsales.BaseVehicleActualSalesFeign;
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateDto;
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleStateEnum;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyDetailsVo;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyFeign;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.base.common.enums.DictCommonEnum;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDetails;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo;
import com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapply;
import com.yxt.anrui.fin.api.finpaymentrecord.*;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
@ -60,6 +65,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.UserQuery;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.ConstantUtils;
@ -71,10 +77,12 @@ import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.AppScmMessageFlowableQuery;
import com.yxt.messagecenter.api.message.Message;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.PushMessageQuery;
import com.yxt.messagecenter.api.messagelist.MessageList;
import com.yxt.messagecenter.api.messagelist.MessageListFeign;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -83,6 +91,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.text.NumberFormat;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
import static java.util.Comparator.comparing;
@ -276,6 +285,9 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
if (sidState.contains(3)) {
return rb.setMsg("处理的数据包含已作废的记录");
}
if (sidState.contains(2)) {
return rb.setMsg("处理的数据中包含已通过的记录");
}
}
List<String> list = new ArrayList<>();
for (int i = 0; i < sids.size(); i++) {
@ -286,6 +298,13 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
String payFile = payFiles.stream().map(v -> v.replace(fileUploadComponent.getUrlPrefix(), "")).collect(Collectors.joining(","));
finPaymentrecord.setPayFile(payFile);
}
//推送金蝶付款单
try {
ApPayBill apb = createApPayBill(finPaymentrecord);
ResultBean resultBean1 = apPayBillService.draftApPayBill(apb);
} catch (Exception e) {
log.error(e.getMessage());
}
baseMapper.updateById(finPaymentrecord);
//更新付款申请中的状态
FinPaymentapply finPaymentapply = finPaymentapplyService.fetchBySid(finPaymentrecord.getApplySid());
@ -300,16 +319,8 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
baseManufUpdateDto.setState("1");
ResultBean resultBean = baseManufactorSubscriptionFeign.updatePaymentState(baseManufUpdateDto);
}
//推送金蝶付款单
try {
ApPayBill apb = createApPayBill(finPaymentrecord);
ResultBean resultBean1 = apPayBillService.draftApPayBill(apb);
} catch (Exception e) {
log.error(e.getMessage());
}
//给外采或排产申请人系统消息提醒
AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery();
/*AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery();
ArrayList<String> recipientSidList = new ArrayList<>();
String costTypeKey = finPaymentrecord.getCostTypeKey();
if ("002".equals(costTypeKey)) {
@ -344,6 +355,55 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
query.setName("财务管理");
messageFeign.sendMessage(query);
}*/
String costTypeKey = finPaymentrecord.getCostTypeKey();
try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(1, 10,
1000, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
int finalI = i;
if ("005".equals(costTypeKey)) {
Future future6 = pool.submit(() -> {
List<String> recipientSidList = new ArrayList<>();
BusVehicleApplyDetailsVo busVehicleApplyDetailsVo = busVehicleApplyFeign.fetchSid(finPaymentrecord.getApplySid()).getData();
String createBySid = busVehicleApplyDetailsVo.getCreateBySid();
recipientSidList.add(createBySid);
PushMessageQuery pushMessageQuery = new PushMessageQuery();
pushMessageQuery.setReceivedSids(recipientSidList);
pushMessageQuery.setModuleName("财务管理");
pushMessageQuery.setMsgContent("您的付款申请已确认通过");
pushMessageQuery.setApp_type("2");
pushMessageQuery.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
pushMessageQuery.setMsgTitle("付款确认通知");
pushMessageQuery.setBusinessSid(sids.get(finalI));
// 消息推送
messageFeign.pushNoUriMessage(pushMessageQuery);
});
} else if ("002".equals(costTypeKey)) {
Future future6 = pool.submit(() -> {
List<String> recipientSidList = new ArrayList<>();
BaseOutsourcingApplicationDetailsVo baseOutsourcingApplicationDetailsVo = baseOutsourcingApplicationFeign.fetchBySid(finPaymentrecord.getApplySid()).getData();
String createBySid = baseOutsourcingApplicationDetailsVo.getCreateBySid();
recipientSidList.add(createBySid);
PushMessageQuery pushMessageQuery = new PushMessageQuery();
pushMessageQuery.setReceivedSids(recipientSidList);
pushMessageQuery.setModuleName("财务管理");
pushMessageQuery.setMsgContent("您的付款申请已确认通过");
pushMessageQuery.setApp_type("2");
pushMessageQuery.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
pushMessageQuery.setMsgTitle("付款确认通知");
pushMessageQuery.setBusinessSid(sids.get(finalI));
// 消息推送
messageFeign.pushNoUriMessage(pushMessageQuery);
});
}
} catch (Exception e) {
e.printStackTrace();
log.error("推送数据失败=========================" + e.getMessage());
return rb.setMsg("推送数据失败");
}
}
return rb.success();
@ -511,7 +571,7 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
BusVehicleApplyDetailsVo busVehicleApplyDetailsVo = busVehicleApplyFeign.fetchSid(finPaymentrecord.getApplySid()).getData();
BaseVehicleActualPay baseVehicleActualPay = baseVehicleActualPayFeign.fetchBySid(finPaymentrecord.getApplySid()).getData();
BaseVehicleActualSalesDetailsVo baseVehicleActualSalesDetailsVo = null;
if (baseVehicleActualPay != null){
if (baseVehicleActualPay != null) {
baseVehicleActualSalesDetailsVo = baseVehicleActualSalesFeign.details(baseVehicleActualPay.getVehicleActualSid()).getData();
}
if (baseOutsourcingApplicationDetailsVo != null) {
@ -521,10 +581,10 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
List<PCHistTaskListAndCommentList> flowRecordVo = flowableFeign.flowRecordAndComment(baseOutsourcingApplicationDetailsVo.getProcInstSid(), "1").getData();
List<FinPaymentrecordSourceLCVo> finPaymentrecordSourceLCVos = new ArrayList<>();
for (PCHistTaskListAndCommentList flowTask : flowRecordVo) {
if (flowTask.getFlowableRecordVo() != null){
if (flowTask.getFlowableRecordVo() != null) {
Map<String, Object> flowableRecordVo = flowTask.getFlowableRecordVo();
FinPaymentrecordSourceLCVo finPaymentrecordSourceLCVo = new FinPaymentrecordSourceLCVo();
List<Map<String, Object>> taskUserInfos = ConstantUtils.getListData(flowableRecordVo,"taskUserInfos");
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");
@ -532,7 +592,7 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
finPaymentrecordSourceLCVo.setComment(comment1);
finPaymentrecordSourceLCVo.setSpsj(flowableRecordVo.get("finishTime").toString());
finPaymentrecordSourceLCVos.add(finPaymentrecordSourceLCVo);
}else {
} else {
Map<String, Object> processCommentVo = flowTask.getProcessCommentVo();
FinPaymentrecordSourceLCVo finPaymentrecordSourceLCVo = new FinPaymentrecordSourceLCVo();
finPaymentrecordSourceLCVo.setName(processCommentVo.get("title").toString());
@ -542,19 +602,19 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
}
}
List<Message> messages = messageFeign.selectByBusinessSid(baseOutsourcingApplicationDetailsVo.getSid()).getData();
if (messages.size() > 0){
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){
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"));
finPaymentrecordSourceLCVo.setComment("抄送 " + receiverNames.substring(0, receiverNames.lastIndexOf(",")));
finPaymentrecordSourceLCVo.setSpsj(DateUtil.format(message.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
finPaymentrecordSourceLCVos.add(finPaymentrecordSourceLCVo);
}
}
@ -578,10 +638,10 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
List<PCHistTaskListAndCommentList> flowRecordVo = flowableFeign.flowRecordAndComment(busVehicleApplyDetailsVo.getProcInstId(), "1").getData();
List<FinPaymentrecordSourceLCVo> finPaymentrecordSourceLCVos = new ArrayList<>();
for (PCHistTaskListAndCommentList flowTask : flowRecordVo) {
if (flowTask.getFlowableRecordVo() != null){
if (flowTask.getFlowableRecordVo() != null) {
Map<String, Object> flowableRecordVo = flowTask.getFlowableRecordVo();
FinPaymentrecordSourceLCVo finPaymentrecordSourceLCVo = new FinPaymentrecordSourceLCVo();
List<Map<String, Object>> taskUserInfos = ConstantUtils.getListData(flowableRecordVo,"taskUserInfos");
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");
@ -589,7 +649,7 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
finPaymentrecordSourceLCVo.setComment(comment1);
finPaymentrecordSourceLCVo.setSpsj(flowableRecordVo.get("finishTime").toString());
finPaymentrecordSourceLCVos.add(finPaymentrecordSourceLCVo);
}else {
} else {
Map<String, Object> processCommentVo = flowTask.getProcessCommentVo();
FinPaymentrecordSourceLCVo finPaymentrecordSourceLCVo = new FinPaymentrecordSourceLCVo();
finPaymentrecordSourceLCVo.setName(processCommentVo.get("title").toString());
@ -599,19 +659,19 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
}
}
List<Message> messages = messageFeign.selectByBusinessSid(busVehicleApplyDetailsVo.getSid()).getData();
if (messages.size() > 0){
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){
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"));
finPaymentrecordSourceLCVo.setComment("抄送 " + receiverNames.substring(0, receiverNames.lastIndexOf(",")));
finPaymentrecordSourceLCVo.setSpsj(DateUtil.format(message.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
finPaymentrecordSourceLCVos.add(finPaymentrecordSourceLCVo);
}
}
@ -625,10 +685,10 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
List<PCHistTaskListAndCommentList> flowRecordVo = flowableFeign.flowRecordAndComment(baseVehicleActualSalesDetailsVo.getProcInstId(), "1").getData();
List<FinPaymentrecordSourceLCVo> finPaymentrecordSourceLCVos = new ArrayList<>();
for (PCHistTaskListAndCommentList flowTask : flowRecordVo) {
if (flowTask.getFlowableRecordVo() != null){
if (flowTask.getFlowableRecordVo() != null) {
Map<String, Object> flowableRecordVo = flowTask.getFlowableRecordVo();
FinPaymentrecordSourceLCVo finPaymentrecordSourceLCVo = new FinPaymentrecordSourceLCVo();
List<Map<String, Object>> taskUserInfos = ConstantUtils.getListData(flowableRecordVo,"taskUserInfos");
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");
@ -636,7 +696,7 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
finPaymentrecordSourceLCVo.setComment(comment1);
finPaymentrecordSourceLCVo.setSpsj(flowableRecordVo.get("finishTime").toString());
finPaymentrecordSourceLCVos.add(finPaymentrecordSourceLCVo);
}else {
} else {
Map<String, Object> processCommentVo = flowTask.getProcessCommentVo();
FinPaymentrecordSourceLCVo finPaymentrecordSourceLCVo = new FinPaymentrecordSourceLCVo();
finPaymentrecordSourceLCVo.setName(processCommentVo.get("title").toString());
@ -646,19 +706,19 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
}
}
List<Message> messages = messageFeign.selectByBusinessSid(baseVehicleActualSalesDetailsVo.getSid()).getData();
if (messages.size() > 0){
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){
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"));
finPaymentrecordSourceLCVo.setComment("抄送 " + receiverNames.substring(0, receiverNames.lastIndexOf(",")));
finPaymentrecordSourceLCVo.setSpsj(DateUtil.format(message.getCreateTime(), "yyyy-MM-dd HH:mm:ss"));
finPaymentrecordSourceLCVos.add(finPaymentrecordSourceLCVo);
}
}
@ -669,7 +729,7 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
dataMap.put("createByName", createByName);
dataMap.put("createByDeptName", deptName);
dataMap.put("createOrgName", createOrgName);
if(baseVehicleActualSalesDetailsVo != null){
if (baseVehicleActualSalesDetailsVo != null) {
dataMap.put("remarks", "买断:" + baseVehicleActualSalesDetailsVo.getReason());
//车架号拼接
List<BaseVehicleActualDetails> baseVehicleActualDetails = baseVehicleActualDetailsFeign.fetchByMainSid(baseVehicleActualSalesDetailsVo.getSid()).getData();
@ -679,21 +739,21 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
for (BaseVehicleActualDetails baseVehicleActualDetail : baseVehicleActualDetails) {
vinNo = vinNo + baseVehicleActualDetail.getVinNo() + "(" + baseVehicleActualDetail.getActualMoney().toString() + "元" + ")" + "、";
}
vinNo = vinNo.substring(0,vinNo.lastIndexOf("、"));
vinNo = vinNo.substring(0, vinNo.lastIndexOf("、"));
//付款备注拼接
List<BaseVehicleActualPay> baseVehicleActualPays = baseVehicleActualPayFeign.fetchByMainSid(baseVehicleActualSalesDetailsVo.getSid()).getData();
if (baseVehicleActualPays.size() > 0){
if (baseVehicleActualPays.size() > 0) {
for (BaseVehicleActualPay vehicleActualPay : baseVehicleActualPays) {
remark = remark + "(" + vehicleActualPay.getActualPay() + ")" + vehicleActualPay.getPayRemark() + " ";
}
}
if (StringUtils.isNotBlank(remark)){
if (StringUtils.isNotBlank(remark)) {
vinRemark = vinNo + ";" + remark;
}else {
} else {
vinRemark = vinNo;
}
dataMap.put("payRemark", vinRemark);
}else {
} else {
dataMap.put("remarks", finPaymentrecord.getRemarks());
dataMap.put("payRemark", finPaymentrecord.getPayRemark());
}

2
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java

@ -403,7 +403,7 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
taskQueryPagerQuery.setParams(taskQuery);
// return flowTaskFeign.businessTodoList(userSid, taskQueryPagerQuery);
ResultBean<Page<com.yxt.anrui.flowable.api.flowtask.FlowTaskDto>> resultBean = flowTaskFeign.businessTodoListForApp(userSid, taskQueryPagerQuery);
ResultBean<Page<com.yxt.anrui.flowable.api.flowtask.FlowTaskDto>> resultBean = flowTaskFeign.businessTodoList(userSid, taskQueryPagerQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg("流程错误");
}

Loading…
Cancel
Save