Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 2 years ago
parent
commit
64b392d8a0
  1. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicletempstate/BaseVehicleTempstateFeign.java
  2. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCommonContractPageVo.java
  3. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  4. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml
  5. 15
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  6. 1635
      anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles2.ftl
  7. 1635
      anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles_black2.ftl
  8. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyQuery.java
  9. 73
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java
  10. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java
  11. 9
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml
  12. 39
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  13. 11
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java
  14. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeign.java
  15. 20
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/flowable/FinBillCompleteDto.java
  16. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationRest.java
  17. 439
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  18. 49
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeign.java
  19. 39
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeignFallback.java
  20. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/qkkpDto.java
  21. 43
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyRest.java
  22. 312
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicletempstate/BaseVehicleTempstateFeign.java

@ -104,5 +104,5 @@ public interface BaseVehicleTempstateFeign {
@ApiOperation("查询状态") @ApiOperation("查询状态")
@GetMapping("/selectByVinSidAndType") @GetMapping("/selectByVinSidAndType")
@ResponseBody @ResponseBody
ResultBean<BaseVehicleTempstate> selectByVinSidAndType(@RequestParam("carSid") String carSid, @Param("tempstateKey") String tempstateKey); ResultBean<BaseVehicleTempstate> selectByVinSidAndType(@RequestParam("carSid") String carSid, @RequestParam("tempstateKey") String tempstateKey);
} }

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCommonContractPageVo.java

@ -44,7 +44,7 @@ public class AppCommonContractPageVo implements Vo {
@ApiModelProperty("是否显示下载") @ApiModelProperty("是否显示下载")
private Boolean isShowDownload; private Boolean isShowDownload;
@JsonIgnore @JsonIgnore
private String commonContractUrl; private String contractUrlAll;
@JsonProperty("number") @JsonProperty("number")
private String num; private String num;

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -3846,9 +3846,11 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
List<BaseVehicleQKKPVo> records = page.getRecords(); List<BaseVehicleQKKPVo> records = page.getRecords();
List<BaseVehicleQKKPVo> recordsNew = new ArrayList<>(); List<BaseVehicleQKKPVo> recordsNew = new ArrayList<>();
for (BaseVehicleQKKPVo record : records) { for (BaseVehicleQKKPVo record : records) {
FinBillVehicleDetailsVo finBillVehicleDetailsVo = finBillVehicleFeign.fetchByVehSid(record.getVehSid()).getData(); if (StringUtils.isNotBlank(record.getVehSid())){
if (finBillVehicleDetailsVo == null){ FinBillVehicleDetailsVo finBillVehicleDetailsVo = finBillVehicleFeign.fetchByVehSid(record.getVehSid()).getData();
recordsNew.add(record); if (finBillVehicleDetailsVo == null){
recordsNew.add(record);
}
} }
} }
for (BaseVehicleQKKPVo baseVehicleQKKPVo : recordsNew) { for (BaseVehicleQKKPVo baseVehicleQKKPVo : recordsNew) {

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml

@ -97,7 +97,7 @@
contractAmount AS contractPrice, contractAmount AS contractPrice,
if(length(nodeState) > 0, nodeState, '待提交') as nodeState, if(length(nodeState) > 0, nodeState, '待提交') as nodeState,
if(length(nodeState) > 0, false, true) as isShowUpdate, if(length(nodeState) > 0, false, true) as isShowUpdate,
commonContractUrl, contractUrlAll,
num num
FROM common_contract FROM common_contract
<where> <where>

15
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java

@ -39,7 +39,6 @@ import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo; import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign; import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.UnCollectionDto;
import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
@ -820,7 +819,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
String remarks = ""; String remarks = "";
if ("现车".equals(appOrderDetailsVo.getOrderType())) { if ("现车".equals(appOrderDetailsVo.getOrderType())) {
//获取模板 //获取模板
ftl = "existingvehicles"; ftl = "existingvehicles2";
AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo(); AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo();
List<String> stringList = orderModelInfoVo.getOrderVinList(); List<String> stringList = orderModelInfoVo.getOrderVinList();
if (stringList.size() > 0) { if (stringList.size() > 0) {
@ -919,7 +918,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
// 现车 // 现车
if ("现车".equals(appOrderDetailsVo.getOrderType())) { if ("现车".equals(appOrderDetailsVo.getOrderType())) {
//获取模板 //获取模板
ftl = "existingvehicles_black"; ftl = "existingvehicles_black2";
AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo(); AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo();
List<String> stringList = orderModelInfoVo.getOrderVinList(); List<String> stringList = orderModelInfoVo.getOrderVinList();
if (stringList.size() > 0) { if (stringList.size() > 0) {
@ -1330,7 +1329,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//根据sid查询合同 //根据sid查询合同
List<PrintConfirmVo> list = commonAppendixService.selectByType(sid, CommonAttachTypeEnum.CONTRACT_UPLOAD.getAttachType(), docPdfComponent.getPrefixTemplateUrl()); List<PrintConfirmVo> list = commonAppendixService.selectByType(sid, CommonAttachTypeEnum.CONTRACT_UPLOAD.getAttachType(), docPdfComponent.getPrefixTemplateUrl());
vo.setFiles(list); vo.setFiles(list);
if (StringUtils.isNotBlank(vo.getCommonContractUrl())) { if (StringUtils.isNotBlank(vo.getContractUrlAll())) {
vo.setIsShowDownload(true); vo.setIsShowDownload(true);
} else { } else {
vo.setIsShowDownload(false); vo.setIsShowDownload(false);
@ -1902,8 +1901,8 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
try { try {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build(); .setNameFormat("demo-pool-%d").build();
ExecutorService pool = new ThreadPoolExecutor(2, 100, ExecutorService pool = new ThreadPoolExecutor(1, 2,
0L, TimeUnit.MILLISECONDS, 1000, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
if("1".equals(appOrderDetailsVo.getPayTypeKey())){//全款 if("1".equals(appOrderDetailsVo.getPayTypeKey())){//全款
Future<String> future1 = pool.submit(() -> { Future<String> future1 = pool.submit(() -> {
@ -2101,7 +2100,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
} }
} }
//查询销售订单的单台订金与单台成交价是否相等,若不相等,则推送车款为成交价减去订金的,推送订金的为单台订金的 //查询销售订单的单台订金与单台成交价是否相等,若不相等,则推送车款为成交价减去订金的,推送订金的为单台订金的
String singleFinalPrice = priceInfo.getSingleFinalPrice(); /* String singleFinalPrice = priceInfo.getSingleFinalPrice();
String deposit = depositInfo.getDeposit(); String deposit = depositInfo.getDeposit();
//单台成交价与单台订金相等 //单台成交价与单台订金相等
if (new BigDecimal(singleFinalPrice).compareTo(new BigDecimal(deposit)) != 0) {//推送车款 if (new BigDecimal(singleFinalPrice).compareTo(new BigDecimal(deposit)) != 0) {//推送车款
@ -2193,7 +2192,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
unCollectionDto.setPurchaseSystemSid(appOrderDetailsVo.getPurchaseSystemSid()); unCollectionDto.setPurchaseSystemSid(appOrderDetailsVo.getPurchaseSystemSid());
finUncollectedDetailedFeign.saveUnCollection(unCollectionDto); finUncollectedDetailedFeign.saveUnCollection(unCollectionDto);
} }
} }*/
return commonContract.getSid(); return commonContract.getSid();
}); });
}else{ }else{

1635
anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles2.ftl

File diff suppressed because it is too large

1635
anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles_black2.ftl

File diff suppressed because it is too large

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyQuery.java

@ -38,4 +38,6 @@ public class BusArrearsCarryVehicleApplyQuery implements Query {
@ApiModelProperty("申请人") @ApiModelProperty("申请人")
private String applyName; private String applyName;
private String userSid;
} }

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

@ -13,7 +13,6 @@ import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign;
import com.yxt.anrui.base.api.basetrailer.TrailerVo; import com.yxt.anrui.base.api.basetrailer.TrailerVo;
import com.yxt.anrui.base.api.basetrailer.TraliveredVo; import com.yxt.anrui.base.api.basetrailer.TraliveredVo;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign;
import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstate; import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstate;
@ -33,13 +32,14 @@ import com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarry
import com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetailsVo; import com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetailsVo;
import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFile; import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFile;
import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFileEnum; import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFileEnum;
import com.yxt.anrui.buscenter.api.busdelivered.AddRetrievalApplyDto; import com.yxt.anrui.buscenter.api.busdelivered.BusDeliveredDto;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.biz.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetailsService; import com.yxt.anrui.buscenter.biz.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetailsService;
import com.yxt.anrui.buscenter.biz.buscenterfile.BuscenterFileService; import com.yxt.anrui.buscenter.biz.buscenterfile.BuscenterFileService;
import com.yxt.anrui.buscenter.biz.busdelivered.BusDeliveredService; import com.yxt.anrui.buscenter.biz.busdelivered.BusDeliveredService;
import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService;
import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService;
import com.yxt.anrui.buscenter.biz.flow.FlowableService; import com.yxt.anrui.buscenter.biz.flow.FlowableService;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
@ -183,6 +183,8 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
private BaseModelConfigFeign baseModelConfigFeign; private BaseModelConfigFeign baseModelConfigFeign;
@Autowired @Autowired
private ScmWarehouseFeign scmWarehouseFeign; private ScmWarehouseFeign scmWarehouseFeign;
@Autowired
private BusSalesOrderVehicleService busSalesOrderVehicleService;
/** /**
* 欠款提车分页列表查询条件 * 欠款提车分页列表查询条件
@ -203,6 +205,9 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
if (com.yxt.common.base.utils.StringUtils.isNotBlank(pagerQuery.getApplyName())) {//申请人 if (com.yxt.common.base.utils.StringUtils.isNotBlank(pagerQuery.getApplyName())) {//申请人
qw.like("bacva.applyName", pagerQuery.getApplyName()); qw.like("bacva.applyName", pagerQuery.getApplyName());
} }
if (StringUtils.isNotBlank(pagerQuery.getUserSid())) {
qw.eq("bacva.createBySid", pagerQuery.getUserSid());
}
String applyStartDate = pagerQuery.getApplyStartDate(); String applyStartDate = pagerQuery.getApplyStartDate();
String applyEndDate = pagerQuery.getApplyEndDate(); String applyEndDate = pagerQuery.getApplyEndDate();
qw.apply(StringUtils.isNotEmpty(applyStartDate), "date_format (bacva.createTime,'%Y-%m-%d') >= date_format('" + applyStartDate + "','%Y-%m-%d')"). qw.apply(StringUtils.isNotEmpty(applyStartDate), "date_format (bacva.createTime,'%Y-%m-%d') >= date_format('" + applyStartDate + "','%Y-%m-%d')").
@ -1779,9 +1784,10 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
List<BusArrearsCarryVehicleDetailsVo> vehicleDetailsVos = busArrearsCarryVehicleDetailsService.selByArrearsSid(busArrearsCarryVehicleApply.getSid()); List<BusArrearsCarryVehicleDetailsVo> vehicleDetailsVos = busArrearsCarryVehicleDetailsService.selByArrearsSid(busArrearsCarryVehicleApply.getSid());
if (vehicleDetailsVos.size() > 0) { if (vehicleDetailsVos.size() > 0) {
for (BusArrearsCarryVehicleDetailsVo vehicleDetailsVo : vehicleDetailsVos) { for (BusArrearsCarryVehicleDetailsVo vehicleDetailsVo : vehicleDetailsVos) {
/*
AddRetrievalApplyDto addRetrievalApplyDto = new AddRetrievalApplyDto(); AddRetrievalApplyDto addRetrievalApplyDto = new AddRetrievalApplyDto();
addRetrievalApplyDto.setVinNo(vehicleDetailsVo.getVinNo()); addRetrievalApplyDto.setVinNo(vehicleDetailsVo.getVinNo());
BaseVehicleSelectVo baseVehicleSelectVo = baseVehicleFeign.details(vehicleDetailsVo.getVehicleSid()).getData(); BaseVehicleSelectVo baseVehicleSelectVo = baseVehicleFeign.details(vehicleDetailsVo.getVinSid()).getData();
if (baseVehicleSelectVo != null) { if (baseVehicleSelectVo != null) {
addRetrievalApplyDto.setModelSid(baseVehicleSelectVo.getModelSid()); addRetrievalApplyDto.setModelSid(baseVehicleSelectVo.getModelSid());
addRetrievalApplyDto.setModelName(baseVehicleSelectVo.getModelName()); addRetrievalApplyDto.setModelName(baseVehicleSelectVo.getModelName());
@ -1789,7 +1795,6 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
addRetrievalApplyDto.setPrice(String.valueOf(vehicleDetailsVo.getDealMoney())); addRetrievalApplyDto.setPrice(String.valueOf(vehicleDetailsVo.getDealMoney()));
addRetrievalApplyDto.setContractNo(busArrearsCarryVehicleApply.getContractNo()); addRetrievalApplyDto.setContractNo(busArrearsCarryVehicleApply.getContractNo());
addRetrievalApplyDto.setName(busArrearsCarryVehicleApply.getCustomerName()); addRetrievalApplyDto.setName(busArrearsCarryVehicleApply.getCustomerName());
BusSalesOrderDetailsVo busSalesOrderDetailsVo = busSalesOrderService.getByContractNo(busArrearsCarryVehicleApply.getContractNo()); BusSalesOrderDetailsVo busSalesOrderDetailsVo = busSalesOrderService.getByContractNo(busArrearsCarryVehicleApply.getContractNo());
addRetrievalApplyDto.setPaymentMethod(busSalesOrderDetailsVo.getPayType());// 付款方式 addRetrievalApplyDto.setPaymentMethod(busSalesOrderDetailsVo.getPayType());// 付款方式
addRetrievalApplyDto.setPaymentMethodKey(busSalesOrderDetailsVo.getPayTypeKey());// 付款方式 addRetrievalApplyDto.setPaymentMethodKey(busSalesOrderDetailsVo.getPayTypeKey());// 付款方式
@ -1798,6 +1803,31 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
addRetrievalApplyDto.setUseOrgName(busArrearsCarryVehicleApply.getUseOrgName()); addRetrievalApplyDto.setUseOrgName(busArrearsCarryVehicleApply.getUseOrgName());
addRetrievalApplyDto.setUseOrgSid(busArrearsCarryVehicleApply.getUseOrgSid()); addRetrievalApplyDto.setUseOrgSid(busArrearsCarryVehicleApply.getUseOrgSid());
busDeliveredService.addRetrievalApply(addRetrievalApplyDto); busDeliveredService.addRetrievalApply(addRetrievalApplyDto);
*/
BusDeliveredDto busDeliveredDto = new BusDeliveredDto();
busDeliveredDto.setSubscriptionKey(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getCode());
busDeliveredDto.setSubscription(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getRemarks());
busDeliveredDto.setPaymentMethodKey(busArrearsCarryVehicleApply.getPaymentMethodKey());
busDeliveredDto.setPaymentMethod(busArrearsCarryVehicleApply.getPaymentMethod());
busDeliveredDto.setContractNo(busArrearsCarryVehicleApply.getContractNo());
busDeliveredDto.setName(busArrearsCarryVehicleApply.getCustomerName());
AppOrderDetailsVo busSalesOrderDetailsVo = busSalesOrderService.getSaleOrderDetailsByContractNo(busArrearsCarryVehicleApply.getContractNo()).getData();
if(busSalesOrderDetailsVo != null){
AppOrderPriceInfoVo priceInfoVo = busSalesOrderDetailsVo.getPriceInfo();
busDeliveredDto.setPrice(priceInfoVo.getSingleFinalPrice());
AppOrderModelInfoVo appOrderModelInfoVo = busSalesOrderDetailsVo.getModelInfo();
busDeliveredDto.setModelName(appOrderModelInfoVo.getModelName());
busDeliveredDto.setMobile(busSalesOrderDetailsVo.getPhone());
}
busDeliveredDto.setUseOrgSid(busArrearsCarryVehicleApply.getUseOrgSid());
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(busArrearsCarryVehicleApply.getUseOrgSid());
if (sysOrganizationVoResultBean.getData() != null) {
busDeliveredDto.setUseOrgName(sysOrganizationVoResultBean.getData().getName());
}
//根据合同和车辆sid查询销售订单车辆sid
BusSalesOrderVehicle busSaleOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(busArrearsCarryVehicleApply.getContractNo(),vehicleDetailsVo.getVinSid());
busDeliveredDto.setBusVinSid(busSaleOrderVehicle.getSid());
busDeliveredService.saveOrUpdateDto(busDeliveredDto);
} }
} }
} }
@ -1876,29 +1906,6 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
} }
//修改状态 //修改状态
baseMapper.updateType(bv.getBusinessSid()); baseMapper.updateType(bv.getBusinessSid());
//推送出库申请
List<BusArrearsCarryVehicleDetailsVo> vehicleDetailsVos = busArrearsCarryVehicleDetailsService.selByArrearsSid(busArrearsCarryVehicleApply.getSid());
if (vehicleDetailsVos.size() > 0) {
for (BusArrearsCarryVehicleDetailsVo vehicleDetailsVo : vehicleDetailsVos) {
AddRetrievalApplyDto addRetrievalApplyDto = new AddRetrievalApplyDto();
addRetrievalApplyDto.setVinNo(vehicleDetailsVo.getVinNo());
BaseVehicleSelectVo baseVehicleSelectVo = baseVehicleFeign.details(vehicleDetailsVo.getVehicleSid()).getData();
if (baseVehicleSelectVo != null) {
addRetrievalApplyDto.setModelName(baseVehicleSelectVo.getModelName());
}
BusSalesOrderDetailsVo busSalesOrderDetailsVo = busSalesOrderService.getByContractNo(busArrearsCarryVehicleApply.getContractNo());
addRetrievalApplyDto.setPaymentMethod(busSalesOrderDetailsVo.getPayType());// 付款方式
addRetrievalApplyDto.setPaymentMethodKey(busSalesOrderDetailsVo.getPayTypeKey());// 付款方式
addRetrievalApplyDto.setSubscription(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getCode()); // 款项状态
addRetrievalApplyDto.setSubscriptionKey(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getRemarks());// 款项状态
addRetrievalApplyDto.setPrice(String.valueOf(vehicleDetailsVo.getDealMoney()));
addRetrievalApplyDto.setContractNo(busArrearsCarryVehicleApply.getContractNo());
addRetrievalApplyDto.setName(busArrearsCarryVehicleApply.getCustomerName());
addRetrievalApplyDto.setUseOrgName(busArrearsCarryVehicleApply.getUseOrgName());
addRetrievalApplyDto.setUseOrgSid(busArrearsCarryVehicleApply.getUseOrgSid());
busDeliveredService.addRetrievalApply(addRetrievalApplyDto);
}
}
} }
return rb.success().setData(resultBean1.getData()); return rb.success().setData(resultBean1.getData());
@ -2199,7 +2206,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
if (busArrearsCarryVehicleApply == null) { if (busArrearsCarryVehicleApply == null) {
return rb.setMsg("该申请不存在"); return rb.setMsg("该申请不存在");
} }
List<String> fileList = query.getFileList();
if ("Activity_0tieuz3".equals(query.getTaskDefKey())) { if ("Activity_0tieuz3".equals(query.getTaskDefKey())) {
//销售内勤审批 //销售内勤审批
List<String> carContract = query.getCarContract(); List<String> carContract = query.getCarContract();
@ -2231,14 +2238,14 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
} }
if("Activity_0ynxtyz".equals(query.getTaskDefKey())){ if("Activity_0ynxtyz".equals(query.getTaskDefKey())){
//销售经理信审截图 //销售经理信审截图
List<String> fileList = query.getFileList();
if (fileList.isEmpty()) { if (fileList.isEmpty()) {
return rb.setMsg("请上传其他附件"); return rb.setMsg("请上传其他附件");
} else {
String fileLists = String.join(",", fileList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busArrearsCarryVehicleApply.setOtherFile(fileLists);
} }
} }
if(!fileList.isEmpty()){
String fileLists = String.join(",", fileList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
busArrearsCarryVehicleApply.setOtherFile(fileLists);
}
baseMapper.updateById(busArrearsCarryVehicleApply); baseMapper.updateById(busArrearsCarryVehicleApply);
BusinessVariables bv = new BusinessVariables(); BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv); BeanUtil.copyProperties(query, bv);

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java

@ -30,6 +30,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.buscenter.api.bussalesorder.*; import com.yxt.anrui.buscenter.api.bussalesorder.*;
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppModelInfoVo; import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppModelInfoVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*; import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
@ -203,5 +204,7 @@ public interface BusSalesOrderMapper extends BaseMapper<BusSalesOrder> {
IPage<AppRovalContractPageVo> selectByStaffSid(IPage<AppRovalContractPageVo> page,@Param(Constants.WRAPPER) QueryWrapper<AppRovalContractPageVo> qw); IPage<AppRovalContractPageVo> selectByStaffSid(IPage<AppRovalContractPageVo> page,@Param(Constants.WRAPPER) QueryWrapper<AppRovalContractPageVo> qw);
List<String> selectBusinessSid(@Param("userSid") String userSid, @Param("useOrgSid") String useOrgSid); List<String> selectBusinessSid(@Param("userSid") String userSid, @Param("useOrgSid") String useOrgSid,@Param(Constants.WRAPPER) QueryWrapper<BaseVehicle> qw);
List<String> selectQKBusinessSid(@Param("userSid") String userSid, @Param("useOrgSid") String useOrgSid);
} }

9
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml

@ -397,6 +397,15 @@
</select> </select>
<select id="selectBusinessSid" resultType="java.lang.String"> <select id="selectBusinessSid" resultType="java.lang.String">
select bo.sid
from bus_sales_order bo
left join bus_sales_order_vehicle bv on bv.salesOrderSid = bo.sid
<where>
${ew.sqlSegment} and bo.createBySid = #{userSid} and bo.useOrgSid = #{useOrgSid} and bo.nodeState = '已办结' and bo.financePlan = '2'
</where>
</select>
<select id="selectQKBusinessSid" resultType="java.lang.String">
select sid select sid
from bus_sales_order where createBySid = #{userSid} and useOrgSid = #{useOrgSid} and nodeState = '已办结' and financePlan = '2' from bus_sales_order where createBySid = #{userSid} and useOrgSid = #{useOrgSid} and nodeState = '已办结' and financePlan = '2'
</select> </select>

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

@ -37,6 +37,7 @@ import com.yxt.anrui.base.api.basemiddleman.BaseMiddlemanDetailsVo;
import com.yxt.anrui.base.api.basemiddleman.BaseMiddlemanFeign; import com.yxt.anrui.base.api.basemiddleman.BaseMiddlemanFeign;
import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo; import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchSystemVo; import com.yxt.anrui.base.api.basepurchasesystem.BasePurchSystemVo;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo; import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo;
import com.yxt.anrui.base.api.basevehicle.BusMainDepositUpdateQuery; import com.yxt.anrui.base.api.basevehicle.BusMainDepositUpdateQuery;
@ -44,6 +45,7 @@ import com.yxt.anrui.base.api.basevehicle.app.AppBaseVehicleOrderVo;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign;
import com.yxt.anrui.base.api.basevehiclemodelappendix.BaseVehicleModelAppendixFeign; import com.yxt.anrui.base.api.basevehiclemodelappendix.BaseVehicleModelAppendixFeign;
import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstate;
import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateFeign; import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign; import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign;
import com.yxt.anrui.base.api.busvehicleapplydetail.AppBusVehicleApplyListVo; import com.yxt.anrui.base.api.busvehicleapplydetail.AppBusVehicleApplyListVo;
@ -57,8 +59,10 @@ import com.yxt.anrui.base.api.commoncontract.CommonContractVo;
import com.yxt.anrui.base.common.enums.BillTypeEnum; import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.enums.CommonContractEnum; import com.yxt.anrui.base.common.enums.CommonContractEnum;
import com.yxt.anrui.base.common.enums.VehicleState; import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.base.common.enums.VehicleStateTempOrLast;
import com.yxt.anrui.base.common.utils.Rule; import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo; import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApply;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitious; import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitious;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo; import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDto; import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDto;
@ -99,6 +103,7 @@ import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrder;
import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDetailsVo; import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDto; import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDto;
import com.yxt.anrui.buscenter.api.common.BusSalesOrderConstantUtils; import com.yxt.anrui.buscenter.api.common.BusSalesOrderConstantUtils;
import com.yxt.anrui.buscenter.biz.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyService;
import com.yxt.anrui.buscenter.biz.busdeposit.BusDepositService; import com.yxt.anrui.buscenter.biz.busdeposit.BusDepositService;
import com.yxt.anrui.buscenter.biz.busdepositfictitious.BusDepositFictitiousService; import com.yxt.anrui.buscenter.biz.busdepositfictitious.BusDepositFictitiousService;
import com.yxt.anrui.buscenter.biz.busdepositvehicle.BusDepositVehicleService; import com.yxt.anrui.buscenter.biz.busdepositvehicle.BusDepositVehicleService;
@ -289,6 +294,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
private SysStaffinfoFeign sysStaffinfoFeign; private SysStaffinfoFeign sysStaffinfoFeign;
@Autowired @Autowired
private FinCompanyInvoicingFeign finCompanyInvoicingFeign; private FinCompanyInvoicingFeign finCompanyInvoicingFeign;
@Autowired
private BusArrearsCarryVehicleApplyService busArrearsCarryVehicleApplyService;
/** /**
* 构造查询条件 * 构造查询条件
@ -2829,7 +2836,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
return rb.setMsg("金融方案中实收金额小于单台订金"); return rb.setMsg("金融方案中实收金额小于单台订金");
} }
} }
}else{ } else {
return rb.setMsg("此销售类型下金融方案不能为空"); return rb.setMsg("此销售类型下金融方案不能为空");
} }
} }
@ -4665,8 +4672,8 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//业务表sid //业务表sid
commonContract.setBusSid(sid); commonContract.setBusSid(sid);
//甲方名称、乙方名称、其他方名称、 //甲方名称、乙方名称、其他方名称、
if(StringUtils.isNotBlank(appOrderDetailsVo.getPurchaseSystemSid())){ if (StringUtils.isNotBlank(appOrderDetailsVo.getPurchaseSystemSid())) {
ResultBean<FinCompanyInvoicingDetailsVo> invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(),appOrderDetailsVo.getPurchaseSystemSid()); ResultBean<FinCompanyInvoicingDetailsVo> invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(), appOrderDetailsVo.getPurchaseSystemSid());
if (invoicingDetailsVoResultBean.getData() != null) { if (invoicingDetailsVoResultBean.getData() != null) {
createOrgName = invoicingDetailsVoResultBean.getData().getName(); createOrgName = invoicingDetailsVoResultBean.getData().getName();
} }
@ -6289,8 +6296,26 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
public ResultBean<List<String>> selectBusinessSid(String userSid, String orgPath) { public ResultBean<List<String>> selectBusinessSid(String userSid, String orgPath) {
ResultBean<List<String>> rb = ResultBean.fireFail(); ResultBean<List<String>> rb = ResultBean.fireFail();
QueryWrapper<BaseVehicle> qw = new QueryWrapper<>();
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
List<String> stringList = baseMapper.selectBusinessSid(userSid, useOrgSid); //查询已提交申请的欠款提车车辆
ResultBean<List<BaseVehicleTempstate>> resultBean = baseVehicleTempstateFeign.getList(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getCode());
resultBean.getData().removeAll(Collections.singleton(null));
if (!resultBean.getData().isEmpty()) {
List<String> stringList = new ArrayList<>();
List<BaseVehicleTempstate> baseVehicleTempstateList = resultBean.getData();
for (BaseVehicleTempstate baseVehicleTempstate : baseVehicleTempstateList) {
BusArrearsCarryVehicleApply busArrearsCarryVehicleApply = busArrearsCarryVehicleApplyService.fetchBySid(baseVehicleTempstate.getBusSid());
//根据合同和车辆查询该合同下是否还存在未提车的数据
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectByNoAndVinSid(busArrearsCarryVehicleApply.getContractNo(), baseVehicleTempstate.getVehSid());
stringList.add(busSalesOrderVehicle.getSid());
}
stringList.removeAll(Collections.singleton(null));
if (!stringList.isEmpty()) {
qw.notIn("bv.sid", stringList);
}
}
List<String> stringList = baseMapper.selectBusinessSid(userSid, useOrgSid, qw);
stringList.removeAll(Collections.singleton(null)); stringList.removeAll(Collections.singleton(null));
return rb.success().setData(stringList); return rb.success().setData(stringList);
} }
@ -6298,13 +6323,13 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
public ResultBean<List<String>> selectBusinessSidByQKKP(String userSid, String orgPath) { public ResultBean<List<String>> selectBusinessSidByQKKP(String userSid, String orgPath) {
ResultBean<List<String>> rb = ResultBean.fireFail(); ResultBean<List<String>> rb = ResultBean.fireFail();
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
List<String> stringList = baseMapper.selectBusinessSid(userSid, useOrgSid); List<String> stringList = baseMapper.selectQKBusinessSid(userSid, useOrgSid);
stringList.removeAll(Collections.singleton(null)); stringList.removeAll(Collections.singleton(null));
List<String> busSids = new ArrayList<>(); List<String> busSids = new ArrayList<>();
for (String orderSid : stringList) { for (String orderSid : stringList) {
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetails(orderSid).getData(); SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetails(orderSid).getData();
if (solutionsDetailsVo != null){ if (solutionsDetailsVo != null) {
if ("02".equals(solutionsDetailsVo.getTypeKey())){ if ("02".equals(solutionsDetailsVo.getTypeKey())) {
busSids.add(orderSid); busSids.add(orderSid);
} }
} }

11
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java

@ -34,7 +34,6 @@ import com.yxt.anrui.base.api.basetrailer.TrailerVo;
import com.yxt.anrui.base.api.basetrailer.TraliveredVo; import com.yxt.anrui.base.api.basetrailer.TraliveredVo;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleQKKPVo;
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateFeign; import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateFeign;
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateVo; import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateVo;
import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstate; import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstate;
@ -377,6 +376,16 @@ public class BusSalesOrderVehicleService extends MybatisBaseService<BusSalesOrde
if (StringUtils.isNotBlank(params.getVinNo())) { if (StringUtils.isNotBlank(params.getVinNo())) {
qw.like("bv.linkNo", params.getVinNo()); qw.like("bv.linkNo", params.getVinNo());
} }
//查询已提交申请的欠款提车车辆
ResultBean<List<BaseVehicleTempstate>> resultBean = baseVehicleTempstateFeign.getList(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getCode());
if (!resultBean.getData().isEmpty()) {
resultBean.getData().removeAll(Collections.singleton(null));
List<String> vinSidList = resultBean.getData().stream().map(v -> v.getVehSid()).collect(Collectors.toList());
vinSidList.removeAll(Collections.singleton(null));
if (!vinSidList.isEmpty()) {
qw.notIn("bv.linkSid", vinSidList);
}
}
IPage<QCarVo> pagging = baseMapper.selectPageVo(page, qw); IPage<QCarVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<QCarVo> p = PagerUtil.pageToVo(pagging, null); PagerVo<QCarVo> p = PagerUtil.pageToVo(pagging, null);
List<QCarVo> list = pagging.getRecords(); List<QCarVo> list = pagging.getRecords();

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

@ -186,7 +186,7 @@ public interface FinBillApplicationFeign {
@PostMapping("/completeQKLP") @PostMapping("/completeQKLP")
public ResultBean completeQKLP(@Valid @RequestBody FinBillCompleteDto query); public ResultBean completeQKLP(@Valid @RequestBody FinBillCompleteDto query);
//欠款票销售内勤审批 //欠款票销售内勤审批
@ApiOperation(value = "办理(同意)") @ApiOperation(value = "办理(同意)")
@PostMapping("/completeByQKLP") @PostMapping("/completeByQKLP")
ResultBean completeByQKLP(@Valid @RequestBody FinBillCompleteDto query); ResultBean completeByQKLP(@Valid @RequestBody FinBillCompleteDto query);

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

@ -1,10 +1,12 @@
package com.yxt.anrui.fin.api.finbillapplication.flowable; package com.yxt.anrui.fin.api.finbillapplication.flowable;
import com.yxt.anrui.fin.api.finbillfile.FinBillFileDto;
import com.yxt.common.core.dto.Dto; import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -37,14 +39,14 @@ public class FinBillCompleteDto implements Dto {
@NotBlank(message = "参数错误:businessSid") @NotBlank(message = "参数错误:businessSid")
private String businessSid; private String businessSid;
@ApiModelProperty("附件") @ApiModelProperty("客户开票申请书附件信息")
private List<String> fjApplicationAppendxs; private List<FinBillFileDto> khkpsqsApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("款项确认书附件信息")
private List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("车辆登记合同附件信息")
private List<FinBillFileDto> cldjhtApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("证件") @ApiModelProperty("证件")
private List<String> idCardImages; private List<FinBillFileDto> zjApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("客户开票申请书") @ApiModelProperty("附件")
private List<String> customerInvoiceApplyImages; private List<FinBillFileDto> fjApplicationAppendxs = new ArrayList<>();
@ApiModelProperty("车辆登记合同")
private List<String> registerContractImages;
@ApiModelProperty("确认书")
private List<String> invoiceApplyConfirmImages;
} }

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

@ -242,7 +242,7 @@ public class FinBillApplicationRest implements FinBillApplicationFeign {
BusinessVariables bv=new BusinessVariables(); BusinessVariables bv=new BusinessVariables();
BeanUtil.copyProperties(query,bv); BeanUtil.copyProperties(query,bv);
bv.setModelId(ProcDefEnum.QKLPFINBILLAPPLICATION.getProDefId()); bv.setModelId(ProcDefEnum.QKLPFINBILLAPPLICATION.getProDefId());
return finBillApplicationService.completeByQKLP(bv); return finBillApplicationService.completeByQKLP(bv,query);
} }
@Override @Override

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

@ -415,7 +415,8 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finBillTrailerVo.setHgzImageUrl(hgzImageUrls); finBillTrailerVo.setHgzImageUrl(hgzImageUrls);
} }
vo.setFinBillTrailers(finBillTrailerVos); vo.setFinBillTrailers(finBillTrailerVos);
} else { }
/*else {
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) { for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(finBillVehicleVo.getVinNo(), entity.getUseOrgSid()).getData(); BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(finBillVehicleVo.getVinNo(), entity.getUseOrgSid()).getData();
TraliveredVo data = baseTrailerFeign.trailerList(baseVehicle.getSid(), entity.getContractNo()).getData(); TraliveredVo data = baseTrailerFeign.trailerList(baseVehicle.getSid(), entity.getContractNo()).getData();
@ -443,7 +444,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
} }
} }
vo.setFinBillTrailers(finBillTrailerVos); vo.setFinBillTrailers(finBillTrailerVos);
} }*/
List<FinBillFileVo> khkpsqsApplicationAppendxs = finBillFileService.fetchkhkpsqsBySid(sid); List<FinBillFileVo> khkpsqsApplicationAppendxs = finBillFileService.fetchkhkpsqsBySid(sid);
for (FinBillFileVo khkpsqsApplicationAppendx : khkpsqsApplicationAppendxs) { for (FinBillFileVo khkpsqsApplicationAppendx : khkpsqsApplicationAppendxs) {
String fileUrl = khkpsqsApplicationAppendx.getFileUrl(); String fileUrl = khkpsqsApplicationAppendx.getFileUrl();
@ -792,7 +793,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
for (FinBillApplicationDetailsVo finBillApplicationDetailsVo : finBillApplicationDetailsVos) { for (FinBillApplicationDetailsVo finBillApplicationDetailsVo : finBillApplicationDetailsVos) {
String nodeState = finBillApplicationDetailsVo.getNodeState(); String nodeState = finBillApplicationDetailsVo.getNodeState();
if (!"待提交".equals(nodeState) && !"已办结".equals(nodeState) && !"终止".equals(nodeState) && !"发起申请".equals(nodeState)) { if (!"待提交".equals(nodeState) && !"已办结".equals(nodeState) && !"终止".equals(nodeState) && !"发起申请".equals(nodeState)) {
return rb.setMsg("该合同已有开票/欠款开票申请正在审批中,不可提交"); return rb.setMsg("该合同已有开票/欠款开票/欠款领票申请正在审批中,不可提交");
} }
} }
} }
@ -1462,7 +1463,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
return rb.success().setMsg("修改成功").setData(dtoSid); return rb.success().setMsg("修改成功").setData(dtoSid);
} }
public ResultBean saveQKLP(FinBillApplicationDto dto) { public ResultBean<String> saveQKLP(FinBillApplicationDto dto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid(); String dtoSid = dto.getSid();
List<FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers(); List<FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers();
@ -1586,7 +1587,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
for (FinBillApplicationDetailsVo finBillApplicationDetailsVo : finBillApplicationDetailsVos) { for (FinBillApplicationDetailsVo finBillApplicationDetailsVo : finBillApplicationDetailsVos) {
String nodeState = finBillApplicationDetailsVo.getNodeState(); String nodeState = finBillApplicationDetailsVo.getNodeState();
if (!"待提交".equals(nodeState) && !"已办结".equals(nodeState) && !"终止".equals(nodeState) && !"发起申请".equals(nodeState)) { if (!"待提交".equals(nodeState) && !"已办结".equals(nodeState) && !"终止".equals(nodeState) && !"发起申请".equals(nodeState)) {
return rb.setMsg("该合同已有开票/欠款开票申请正在审批中,不可提交"); return rb.setMsg("该合同已有开票/欠款开票/欠款领票申请正在审批中,不可提交");
} }
} }
} }
@ -1724,14 +1725,14 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
public ResultBean completeBy(BusinessVariables bv, FinBillCompleteDto query) { public ResultBean completeBy(BusinessVariables bv, FinBillCompleteDto query) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid(); String businessSid = bv.getBusinessSid();
List<String> idCardImages = query.getIdCardImages(); List<FinBillFileDto> khkpsqsApplicationAppendxs = query.getKhkpsqsApplicationAppendxs();
List<String> customerInvoiceApplyImages = query.getCustomerInvoiceApplyImages();//客户开票申请书 List<FinBillFileDto> kpxxqrsApplicationAppendxs = query.getKpxxqrsApplicationAppendxs();
List<String> invoiceApplyConfirmImages = query.getInvoiceApplyConfirmImages();//开票信息确认书 List<FinBillFileDto> cldjhtApplicationAppendxs = query.getCldjhtApplicationAppendxs();
List<String> registerContractImages = query.getRegisterContractImages();//车辆登记合同 List<FinBillFileDto> zjApplicationAppendxs = query.getZjApplicationAppendxs();
if (idCardImages.size() == 0){ if (zjApplicationAppendxs.size() == 0){
return rb.setMsg("证件不能为空"); return rb.setMsg("证件不能为空");
} }
if (customerInvoiceApplyImages.size() == 0){ if (khkpsqsApplicationAppendxs.size() == 0){
return rb.setMsg("客户开票申请书不能为空"); return rb.setMsg("客户开票申请书不能为空");
} }
FinBillApplication finBillApplication = fetchBySid(businessSid); FinBillApplication finBillApplication = fetchBySid(businessSid);
@ -1753,9 +1754,9 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
//更新图片 //更新图片
finBillFileService.deleteByFinAppSid(businessSid); finBillFileService.deleteByFinAppSid(businessSid);
//附件信息 //附件信息
if (customerInvoiceApplyImages.size() > 0) { if (khkpsqsApplicationAppendxs.size() > 0) {
for (String filePath : customerInvoiceApplyImages) { for (FinBillFileDto finBillFileDto : khkpsqsApplicationAppendxs) {
FinBillFileDto finBillFileDto = new FinBillFileDto(); String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
} }
@ -1765,9 +1766,9 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finBillFileService.saveOrUpdateDto(finBillFileDto); finBillFileService.saveOrUpdateDto(finBillFileDto);
} }
} }
if (idCardImages.size() > 0) { if (zjApplicationAppendxs.size() > 0) {
for (String filePath : idCardImages) { for (FinBillFileDto finBillFileDto : zjApplicationAppendxs) {
FinBillFileDto finBillFileDto = new FinBillFileDto(); String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
} }
@ -1777,9 +1778,9 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finBillFileService.saveOrUpdateDto(finBillFileDto); finBillFileService.saveOrUpdateDto(finBillFileDto);
} }
} }
if (invoiceApplyConfirmImages.size() > 0) { if (kpxxqrsApplicationAppendxs.size() > 0) {
for (String filePath : invoiceApplyConfirmImages) { for (FinBillFileDto finBillFileDto : kpxxqrsApplicationAppendxs) {
FinBillFileDto finBillFileDto = new FinBillFileDto(); String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
} }
@ -1789,9 +1790,9 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finBillFileService.saveOrUpdateDto(finBillFileDto); finBillFileService.saveOrUpdateDto(finBillFileDto);
} }
} }
if (registerContractImages.size() > 0) { if (cldjhtApplicationAppendxs.size() > 0) {
for (String filePath : registerContractImages) { for (FinBillFileDto finBillFileDto : cldjhtApplicationAppendxs) {
FinBillFileDto finBillFileDto = new FinBillFileDto(); String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
} }
@ -2157,38 +2158,412 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
public ResultBean submitFinBillApplicationQKLP(SubmitFinBillApplicationDto dto) { public ResultBean submitFinBillApplicationQKLP(SubmitFinBillApplicationDto dto) {
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
FinBillApplication finBillApplication2 = fetchBySid(dtoSid);
if (!finBillApplication2.getNodeState().equals("已办结")){
return rb.setMsg("该申请仍在审核过程中,不可提交");
}
if (finBillApplication2.getIsLQOrigInvoice().equals("是")){
return rb.setMsg("该申请已领取过发票原件,请重新选择");
}
String contractNo = dto.getContractNo();
List<FinBillApplicationDetailsVo> finBillApplicationDetailsVos = baseMapper.selectByContractNo(contractNo);
if (finBillApplicationDetailsVos != null) {
for (FinBillApplicationDetailsVo finBillApplicationDetailsVo : finBillApplicationDetailsVos) {
String nodeState = finBillApplicationDetailsVo.getNodeState();
if (!"待提交".equals(nodeState) && !"已办结".equals(nodeState) && !"终止".equals(nodeState) && !"发起申请".equals(nodeState)) {
return rb.setMsg("该合同已有开票/欠款开票/欠款领票申请正在审批中,不可提交");
}
}
}
//用户的组织全路径
String orgSidPath = "";
if (StringUtils.isNotBlank(dto.getOrgSidPath())) {
orgSidPath = dto.getOrgSidPath();
} else {
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getCreateBySid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
}
dto.setOrgSidPath(orgSidPath);
finBillApplication2.setSid(null);
int r = submitBusinessDataPc(dto, finBillApplication2);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
dto.setIsLQOrigInvoice("是");
//新增修改保存
ResultBean<String> resultBean = saveQKLP(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
FinBillApplication finBillApplication1 = fetchBySid(businessSid);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
variables.put("isAdj", finBillApplication1.getIsLQOrigInvoice().equals("是"));
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getCreateBySid());
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.QKLPFINBILLAPPLICATION.getProDefId());
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("欠款领票");
messageFlowableQuery.setMsgContent(finBillApplication1.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("欠款领票");
messageFeign.pushMessage(messageFlowableQuery);
return voResultBean;
}
if (r == 2) {
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(finBillApplication1.getTaskId());
bv.setTaskDefKey(finBillApplication1.getNodeSid());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return null; return null;
} }
public ResultBean completeQKLP(BusinessVariables bv) { public ResultBean completeQKLP(BusinessVariables bv) {
return null; ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
FinBillApplication finBillApplication = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
bv.setFormVariables(variables);
bv.setOrgSidPath(finBillApplication.getOrgSidPath());
//判断是否领取发票原件,若是,则isTrue网关参数为true=============添加
variables.put("isAdj", finBillApplication.getIsLQOrigInvoice().equals("是"));
if (bv.getTaskId().equals(finBillApplication.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
} else {
//极光推送
finBillApplication = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcDefId(finBillApplication.getProcDefId());
ufVo.setProcInsId(finBillApplication.getProcInstSid());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("欠款领票");
messageFlowableQuery.setMsgContent(finBillApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("欠款领票");
messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
} }
public ResultBean completeByQKLP(BusinessVariables bv) { public ResultBean completeByQKLP(BusinessVariables bv,FinBillCompleteDto query) {
return null; ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
List<FinBillFileDto> fjApplicationAppendxs = query.getFjApplicationAppendxs();
if (fjApplicationAppendxs.size() == 0){
return rb.setMsg("附件不能为空");
}
FinBillApplication finBillApplication = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
bv.setFormVariables(variables);
bv.setOrgSidPath(finBillApplication.getOrgSidPath());
//判断是否领取发票原件,若是,则isTrue网关参数为true=============添加
variables.put("isAdj", finBillApplication.getIsLQOrigInvoice().equals("是"));
if (bv.getTaskId().equals(finBillApplication.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
//更新图片
finBillFileService.deleteByFinAppSid(businessSid);
//附件信息
if (fjApplicationAppendxs.size() > 0) {
for (FinBillFileDto finBillFileDto : fjApplicationAppendxs) {
String filePath = finBillFileDto.getFileUrl();
if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
}
finBillFileDto.setFileUrl(filePath);
finBillFileDto.setBillAppSid(businessSid);
finBillFileDto.setAttachType(FinAttachTypeEnum.FJ.getAttachType());
finBillFileService.saveOrUpdateDto(finBillFileDto);
}
}
//极光推送
finBillApplication = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcDefId(finBillApplication.getProcDefId());
ufVo.setProcInsId(finBillApplication.getProcInstSid());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("欠款领票");
messageFlowableQuery.setMsgContent(finBillApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("欠款领票");
messageFeign.pushMessage(messageFlowableQuery);
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
} }
public ResultBean companyToDivisionOperateQKLP(BusinessVariables bv) { public ResultBean companyToDivisionOperateQKLP(BusinessVariables bv) {
return null; ResultBean rb = ResultBean.fireFail();
FinBillApplication finBillApplication = fetchBySid(bv.getBusinessSid());
bv.setOrgSidPath(finBillApplication.getOrgSidPath());
//判断是否领取发票原件,若是,则isTrue网关参数为true=============添加
bv.getFormVariables().put("isAdj", finBillApplication.getIsLQOrigInvoice().equals("是"));
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
List<String> candidateGroups = voList.get(0).getCandidateGroups();
UserRoleQuery userRoleQuery = new UserRoleQuery();
userRoleQuery.setRoleSid(candidateGroups.get(0));
List<SysUserVo> sysUserVos = sysUserFeign.getOtherOrgRoleUser(userRoleQuery).getData();
StringBuilder nextNodeUserSids = new StringBuilder();
if (sysUserVos.size() > 0) {
for (SysUserVo sysUserVo : sysUserVos) {
String sid = sysUserVo.getSid();
nextNodeUserSids.append(sid).append(",");
}
}
if (StringUtils.isBlank(nextNodeUserSids)) {
return rb.setMsg("下一环节暂无操作人员");
}
String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
if (bv.getTaskId().equals(finBillApplication.getTaskId())) {
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", bv.getBusinessSid());
variables.put("app", appMap);
bv.setFormVariables(variables);
ResultBean<UpdateFlowFieldVo> resultBean1 = flowableFeign.handleProsess(bv);
if (!resultBean1.getSuccess()) {
return rb.setMsg(resultBean1.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean1.getData()));
//极光推送
UpdateFlowFieldVo ufVo = resultBean1.getData();
finBillApplication = fetchBySid(bv.getBusinessSid());
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowVo.setProcInsId(finBillApplication.getProcInstSid());
messageFlowVo.setProcDefId(finBillApplication.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(bv.getBusinessSid());
messageFlowableQuery.setModuleName("欠款领票");
messageFlowableQuery.setMsgContent(finBillApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("欠款领票");
messageFeign.pushMessage(messageFlowableQuery);
return rb.success().setData(resultBean1.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
} }
public ResultBean<List<FinBillNodeVo>> getPreviousNodesForRejectQKLP(FinBillNodeQuery query) { public ResultBean<List<FinBillNodeVo>> getPreviousNodesForRejectQKLP(FinBillNodeQuery query) {
return null; ResultBean<List<FinBillNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
bv.setFormVariables(variables);
//查询业务信息
FinBillApplication finBillApplication = fetchBySid(query.getBusinessSid());
bv.setModelId(ProcDefEnum.QKLPFINBILLAPPLICATION.getProDefId());
//判断是否领取发票原件,若是,则isTrue网关参数为true=============添加
variables.put("isAdj", finBillApplication.getIsLQOrigInvoice().equals("是"));
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<FinBillNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FinBillNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
} }
public ResultBean<List<FinBillNodeVo>> getNextNodesForSubmitQKLP(FinBillNodeQuery query) { public ResultBean<List<FinBillNodeVo>> getNextNodesForSubmitQKLP(FinBillNodeQuery query) {
return null; ResultBean<List<FinBillNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
bv.setFormVariables(variables);
//查询业务信息
FinBillApplication finBillApplication = fetchBySid(query.getBusinessSid());
bv.setModelId(ProcDefEnum.QKLPFINBILLAPPLICATION.getProDefId());
//判断是否领取发票原件,若是,则isTrue网关参数为true=============添加
variables.put("isAdj", finBillApplication.getIsLQOrigInvoice().equals("是"));
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<FinBillNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), FinBillNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
} }
public ResultBean rejectQKLP(FinBillTaskQuery query) { public ResultBean rejectQKLP(FinBillTaskQuery query) {
return null; ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
FinBillApplication finBillApplication = fetchBySid(businessSid);
if (finBillApplication == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = finBillApplication.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
//判断是否领取发票原件,若是,则isTrue网关参数为true=============添加
variables.put("isAdj", finBillApplication.getIsLQOrigInvoice().equals("是"));
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
finBillApplication = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = finBillApplication.getProcInstSid();
ufVo.setProcInsId(procId);
ufVo.setProcDefId(finBillApplication.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("欠款领票");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(finBillApplication.getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(finBillApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("欠款领票");
messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
} }
public ResultBean revokeProcessQKLP(FinBillTaskQuery query) { public ResultBean revokeProcessQKLP(FinBillTaskQuery query) {
return null; ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
FinBillApplication finBillApplication = fetchBySid(query.getBusinessSid());
String businessTaskId = finBillApplication.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败,提交的数据不一致!");
} }
public ResultBean breakProcessQKLP(FinBillTaskQuery query) { public ResultBean breakProcessQKLP(FinBillTaskQuery query) {
return null; ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
FinBillApplication finBillApplication = fetchBySid(query.getBusinessSid());
String businessTaskId = finBillApplication.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
finBillVehicleService.updateByMainSid(finBillApplication.getSid());
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
} }
} }

49
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeign.java

@ -106,6 +106,8 @@ public interface AppBusAdvanceGinvoiceapplyFeign {
@ResponseBody @ResponseBody
public ResultBean deleteAdvanceInvoice(@SpringQueryMap AdvanceInvoiceInfoQuery query); public ResultBean deleteAdvanceInvoice(@SpringQueryMap AdvanceInvoiceInfoQuery query);
/********************************************欠款开票流程*************************************************/
@ApiOperation("提交流程") @ApiOperation("提交流程")
@PostMapping("/submitAdvanceInvoiceInfo") @PostMapping("/submitAdvanceInvoiceInfo")
@ResponseBody @ResponseBody
@ -141,13 +143,50 @@ public interface AppBusAdvanceGinvoiceapplyFeign {
@ResponseBody @ResponseBody
ResultBean stopAdvanceInvoiceInfo(@RequestBody AdvanceInvoiceTaskQuery query); ResultBean stopAdvanceInvoiceInfo(@RequestBody AdvanceInvoiceTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap AdvanceInvoiceQuery query);
@ApiOperation("获取下一环节") @ApiOperation("获取下一环节")
@GetMapping("/getFlowOperateTitleBy") @GetMapping("/getFlowOperateTitleBy")
@ResponseBody @ResponseBody
ResultBean<qkkpFlowListVo> getFlowOperateTitleBy(@SpringQueryMap AdvanceInvoiceQuery query); ResultBean<qkkpFlowListVo> getFlowOperateTitleBy(@SpringQueryMap AdvanceInvoiceQuery query);
/********************************************欠款领票流程*************************************************/
@ApiOperation("提交流程")
@PostMapping("/submitAdvanceInvoiceInfoQKLP")
@ResponseBody
ResultBean submitAdvanceInvoiceInfoQKLP(@RequestBody SubmitAdvanceInvoiceDto dto);
@ApiOperation("办理")
@PutMapping("/agreeAdvanceInvoiceInfoQKLP")
@ResponseBody
ResultBean agreeAdvanceInvoiceInfoQKLP(@RequestBody CompleteAdvanceInvoiceDto dto);
@ApiOperation("办理")
@PutMapping("/completeByQKLP")
@ResponseBody
ResultBean agreeQKKPInfoByQKLP(@RequestBody qkkpDto dto);
@ApiOperation("办理 跨机构")
@PutMapping("/initiatorToAnswerInfoQKLP")
@ResponseBody
ResultBean initiatorToAnswerQKLP(@RequestBody CompleteAdvanceInvoiceDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectAdvanceInvoiceInfoQKLP")
@ResponseBody
ResultBean rejectAdvanceInvoiceInfoQKLP(@RequestBody AdvanceInvoiceTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallAdvanceInvoiceInfoQKLP")
@ResponseBody
ResultBean recallAdvanceInvoiceInfoQKLP(@RequestBody AdvanceInvoiceTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopAdvanceInvoiceInfoQKLP")
@ResponseBody
ResultBean stopAdvanceInvoiceInfoQKLP(@RequestBody AdvanceInvoiceTaskQuery query);
@ApiOperation("获取下一环节")
@GetMapping("/getFlowOperateTitleByQKLP")
@ResponseBody
ResultBean<qkkpFlowListVo> getFlowOperateTitleByQKLP(@SpringQueryMap AdvanceInvoiceQuery query);
} }

39
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeignFallback.java

@ -129,12 +129,47 @@ public class AppBusAdvanceGinvoiceapplyFeignFallback implements AppBusAdvanceGin
} }
@Override @Override
public ResultBean<String> getFlowOperateTitle(AdvanceInvoiceQuery query) { public ResultBean<qkkpFlowListVo> getFlowOperateTitleBy(AdvanceInvoiceQuery query) {
return null; return null;
} }
@Override @Override
public ResultBean<qkkpFlowListVo> getFlowOperateTitleBy(AdvanceInvoiceQuery query) { public ResultBean submitAdvanceInvoiceInfoQKLP(SubmitAdvanceInvoiceDto dto) {
return null;
}
@Override
public ResultBean agreeAdvanceInvoiceInfoQKLP(CompleteAdvanceInvoiceDto dto) {
return null;
}
@Override
public ResultBean agreeQKKPInfoByQKLP(qkkpDto dto) {
return null;
}
@Override
public ResultBean initiatorToAnswerQKLP(CompleteAdvanceInvoiceDto dto) {
return null;
}
@Override
public ResultBean rejectAdvanceInvoiceInfoQKLP(AdvanceInvoiceTaskQuery query) {
return null;
}
@Override
public ResultBean recallAdvanceInvoiceInfoQKLP(AdvanceInvoiceTaskQuery query) {
return null;
}
@Override
public ResultBean stopAdvanceInvoiceInfoQKLP(AdvanceInvoiceTaskQuery query) {
return null;
}
@Override
public ResultBean<qkkpFlowListVo> getFlowOperateTitleByQKLP(AdvanceInvoiceQuery query) {
return null; return null;
} }
} }

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

@ -36,6 +36,8 @@ public class qkkpDto implements Dto {
@NotBlank(message = "参数错误:taskDefKey") @NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey; private String taskDefKey;
@ApiModelProperty("附件")
private List<String> fjApplicationAppendxs;
@ApiModelProperty("证件") @ApiModelProperty("证件")
private List<String> idCardImages; private List<String> idCardImages;
@ApiModelProperty("客户开票申请书") @ApiModelProperty("客户开票申请书")

43
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyRest.java

@ -136,12 +136,47 @@ public class AppBusAdvanceGinvoiceapplyRest implements AppBusAdvanceGinvoiceappl
} }
@Override @Override
public ResultBean<String> getFlowOperateTitle(AdvanceInvoiceQuery query) { public ResultBean<qkkpFlowListVo> getFlowOperateTitleBy(AdvanceInvoiceQuery query) {
return appBusAdvanceGinvoiceapplyService.getFlowOperateTitle(query); return appBusAdvanceGinvoiceapplyService.getFlowOperateTitleBy(query);
} }
@Override @Override
public ResultBean<qkkpFlowListVo> getFlowOperateTitleBy(AdvanceInvoiceQuery query) { public ResultBean submitAdvanceInvoiceInfoQKLP(SubmitAdvanceInvoiceDto dto) {
return appBusAdvanceGinvoiceapplyService.getFlowOperateTitleBy(query); return appBusAdvanceGinvoiceapplyService.submitAdvanceInvoiceInfoQKLP(dto);
}
@Override
public ResultBean agreeAdvanceInvoiceInfoQKLP(CompleteAdvanceInvoiceDto dto) {
return appBusAdvanceGinvoiceapplyService.agreeAdvanceInvoiceInfoQKLP(dto);
}
@Override
public ResultBean agreeQKKPInfoByQKLP(qkkpDto dto) {
return appBusAdvanceGinvoiceapplyService.agreeQKKPInfoByQKLP(dto);
}
@Override
public ResultBean initiatorToAnswerQKLP(CompleteAdvanceInvoiceDto dto) {
return appBusAdvanceGinvoiceapplyService.initiatorToAnswerQKLP(dto);
}
@Override
public ResultBean rejectAdvanceInvoiceInfoQKLP(AdvanceInvoiceTaskQuery query) {
return appBusAdvanceGinvoiceapplyService.rejectAdvanceInvoiceInfoQKLP(query);
}
@Override
public ResultBean recallAdvanceInvoiceInfoQKLP(AdvanceInvoiceTaskQuery query) {
return appBusAdvanceGinvoiceapplyService.recallAdvanceInvoiceInfoQKLP(query);
}
@Override
public ResultBean stopAdvanceInvoiceInfoQKLP(AdvanceInvoiceTaskQuery query) {
return appBusAdvanceGinvoiceapplyService.stopAdvanceInvoiceInfoQKLP(query);
}
@Override
public ResultBean<qkkpFlowListVo> getFlowOperateTitleByQKLP(AdvanceInvoiceQuery query) {
return appBusAdvanceGinvoiceapplyService.getFlowOperateTitleByQKLP(query);
} }
} }

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

@ -684,8 +684,6 @@ public class AppBusAdvanceGinvoiceapplyService {
if (!staffOrgResultBean.getSuccess()) { if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg()); return rb.setMsg(staffOrgResultBean.getMsg());
} }
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
FinBillCompleteDto finBillCompleteDto = new FinBillCompleteDto(); FinBillCompleteDto finBillCompleteDto = new FinBillCompleteDto();
BeanUtil.copyProperties(dto, finBillCompleteDto); BeanUtil.copyProperties(dto, finBillCompleteDto);
ResultBean resultBean = finBillApplicationFeign.completeQK(finBillCompleteDto); ResultBean resultBean = finBillApplicationFeign.completeQK(finBillCompleteDto);
@ -707,8 +705,6 @@ public class AppBusAdvanceGinvoiceapplyService {
if (!staffOrgResultBean.getSuccess()) { if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg()); return rb.setMsg(staffOrgResultBean.getMsg());
} }
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
FinBillCompleteDto finBillCompleteDto = new FinBillCompleteDto(); FinBillCompleteDto finBillCompleteDto = new FinBillCompleteDto();
BeanUtil.copyProperties(dto, finBillCompleteDto); BeanUtil.copyProperties(dto, finBillCompleteDto);
ResultBean resultBean = finBillApplicationFeign.companyToDivisionOperateQK(finBillCompleteDto); ResultBean resultBean = finBillApplicationFeign.companyToDivisionOperateQK(finBillCompleteDto);
@ -751,35 +747,6 @@ public class AppBusAdvanceGinvoiceapplyService {
return rb.success().setData(resultBean.getData()); return rb.success().setData(resultBean.getData());
} }
public ResultBean<String> getFlowOperateTitle(AdvanceInvoiceQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
GetNodeQuery getNodeQuery = new GetNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<GetNodeVo>> getPreviousNodesForReject = busAdvanceGinvoiceapplyFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<GetNodeVo>> getNextNodesForSubmit = busAdvanceGinvoiceapplyFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
public ResultBean<AdvanceInvoiceInfoVo> detailAdvanceInvoice(String sid) { public ResultBean<AdvanceInvoiceInfoVo> detailAdvanceInvoice(String sid) {
ResultBean<AdvanceInvoiceInfoVo> rb = ResultBean.fireFail(); ResultBean<AdvanceInvoiceInfoVo> rb = ResultBean.fireFail();
AdvanceInvoiceInfoVo vo = new AdvanceInvoiceInfoVo(); AdvanceInvoiceInfoVo vo = new AdvanceInvoiceInfoVo();
@ -906,6 +873,47 @@ public class AppBusAdvanceGinvoiceapplyService {
} }
FinBillCompleteDto finBillCompleteDto = new FinBillCompleteDto(); FinBillCompleteDto finBillCompleteDto = new FinBillCompleteDto();
BeanUtil.copyProperties(dto, finBillCompleteDto); BeanUtil.copyProperties(dto, finBillCompleteDto);
//附件信息
List<String> customerInvoiceApplyImages = dto.getCustomerInvoiceApplyImages();//客户开票申请书
List<String> invoiceApplyConfirmImages = dto.getInvoiceApplyConfirmImages();//开票信息确认书
List<String> registerContractImages = dto.getRegisterContractImages();//车辆登记合同
List<String> idCardImages = dto.getIdCardImages();//证件
List<FinBillFileDto> khkpsqsApplicationAppendxs = new ArrayList<>(); // 客户开票申请书附件信息
List<FinBillFileDto> kpxxqrsApplicationAppendxs = new ArrayList<>(); // 开票信息确认书附件信息
List<FinBillFileDto> cldjhtApplicationAppendxs = new ArrayList<>(); // 车辆登记合同附件信息
List<FinBillFileDto> idCardImagesPC = new ArrayList<>();//证件
if (customerInvoiceApplyImages != null) {
for (String customerInvoiceApplyImage : customerInvoiceApplyImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(customerInvoiceApplyImage);
khkpsqsApplicationAppendxs.add(finBillFileDto);
}
}
if (invoiceApplyConfirmImages != null) {
for (String invoiceApplyConfirmImage : invoiceApplyConfirmImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(invoiceApplyConfirmImage);
kpxxqrsApplicationAppendxs.add(finBillFileDto);
}
}
if (registerContractImages != null) {
for (String registerContractImage : registerContractImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(registerContractImage);
cldjhtApplicationAppendxs.add(finBillFileDto);
}
}
if (idCardImages != null) {
for (String idCardImage : idCardImages) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(idCardImage);
idCardImagesPC.add(finBillFileDto);
}
}
finBillCompleteDto.setKhkpsqsApplicationAppendxs(khkpsqsApplicationAppendxs);
finBillCompleteDto.setKpxxqrsApplicationAppendxs(kpxxqrsApplicationAppendxs);
finBillCompleteDto.setCldjhtApplicationAppendxs(cldjhtApplicationAppendxs);
finBillCompleteDto.setZjApplicationAppendxs(idCardImagesPC);
finBillCompleteDto.setOrgSidPath(orgSidPath); finBillCompleteDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = finBillApplicationFeign.completeBy(finBillCompleteDto); ResultBean resultBean = finBillApplicationFeign.completeBy(finBillCompleteDto);
if (!resultBean.getSuccess()) { if (!resultBean.getSuccess()) {
@ -920,7 +928,7 @@ public class AppBusAdvanceGinvoiceapplyService {
FinBillNodeQuery getNodeQuery = new FinBillNodeQuery(); FinBillNodeQuery getNodeQuery = new FinBillNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery); BeanUtil.copyProperties(query, getNodeQuery);
String data = ""; String data = "";
ResultBean<List<FinBillNodeVo>> nextNodesForSubmit = finBillApplicationFeign.getNextNodesForSubmit(getNodeQuery); ResultBean<List<FinBillNodeVo>> nextNodesForSubmit = finBillApplicationFeign.getNextNodesForSubmitQK(getNodeQuery);
if (nextNodesForSubmit.getSuccess()) { if (nextNodesForSubmit.getSuccess()) {
nextNodesForSubmit.getData().removeAll(Collections.singleton(null)); nextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = nextNodesForSubmit.getData().get(0).getName(); data = nextNodesForSubmit.getData().get(0).getName();
@ -998,4 +1006,240 @@ public class AppBusAdvanceGinvoiceapplyService {
} }
return rb.success().setData(qkkpFlowListVo); return rb.success().setData(qkkpFlowListVo);
} }
public ResultBean submitAdvanceInvoiceInfoQKLP(SubmitAdvanceInvoiceDto dto) {
ResultBean rb = ResultBean.fireFail();
SubmitFinBillApplicationDto submitAdvanceInvoiceDto = new SubmitFinBillApplicationDto();
BeanUtil.copyProperties(dto, submitAdvanceInvoiceDto);
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
submitAdvanceInvoiceDto.setUseOrgSid(useOrgSid);
submitAdvanceInvoiceDto.setCreateBySid(dto.getUserSid());
submitAdvanceInvoiceDto.setArrearsMoney(dto.getInvoiceTotal());
submitAdvanceInvoiceDto.setReturnedMoneyDate(dto.getCollectionDate());
submitAdvanceInvoiceDto.setArrearsOpenYYKey(dto.getReasonKey());
submitAdvanceInvoiceDto.setArrearsOpenYYValue(dto.getReasonValue());
submitAdvanceInvoiceDto.setIsLQOrigInvoice(dto.getGetOriginalValue());
submitAdvanceInvoiceDto.setOrgSidPath(dto.getOrgPath());
submitAdvanceInvoiceDto.setSaleTypeValue(dto.getSaleType());
submitAdvanceInvoiceDto.setSaleDeptName(dto.getSellerName());
submitAdvanceInvoiceDto.setStaffName(dto.getSellerName());
submitAdvanceInvoiceDto.setOpenTickUnitName(dto.getOpenTickName());
submitAdvanceInvoiceDto.setCustomerName(dto.getName());
submitAdvanceInvoiceDto.setOneBillMoney(dto.getInvoiceMoney());
submitAdvanceInvoiceDto.setOpenTickSid(dto.getOpenTickSid());
submitAdvanceInvoiceDto.setOpenTickName(dto.getOpenTickName());
submitAdvanceInvoiceDto.setContractNo(dto.getContractId());
submitAdvanceInvoiceDto.setApplyDate(dto.getDate());
submitAdvanceInvoiceDto.setCreateBySid(dto.getUserSid());
submitAdvanceInvoiceDto.setNodeState(dto.getNodeState());
submitAdvanceInvoiceDto.setBillNo(dto.getBillNo());
submitAdvanceInvoiceDto.setModelSid(dto.getModelSid());
submitAdvanceInvoiceDto.setModelName(dto.getModelName());
String publishInfo = dto.getPublishInfo();
String[] split = publishInfo.split("-");
submitAdvanceInvoiceDto.setDeptName(split[0]);
submitAdvanceInvoiceDto.setCreateByName(split[1]);
//开票车辆信息
List<AppCarListDto> vinList = dto.getVinList();
List<FinBillVehicleDto> finBillVehicleDtos = new ArrayList<>();
for (AppCarListDto vinListDto : vinList) {
FinBillVehicleDto finBillVehicleDto = new FinBillVehicleDto();
finBillVehicleDto.setVinNo(vinListDto.getVin());
finBillVehicleDto.setVehSid(vinListDto.getVinSid());
finBillVehicleDto.setCertificateStateKey(vinListDto.getCertificateStateKey());
finBillVehicleDto.setCertificateStateValue(vinListDto.getCertificateState());
finBillVehicleDto.setBillTypeKey(vinListDto.getInvoiceTypeKey());
finBillVehicleDto.setBillTypeValue(vinListDto.getInvoiceType());
finBillVehicleDto.setOpenTickSid(vinListDto.getOpenTickSid());
finBillVehicleDto.setOpenTickName(vinListDto.getInvoiceName());
finBillVehicleDto.setOpenTickRemarks(vinListDto.getInvoiceInfo());
finBillVehicleDtos.add(finBillVehicleDto);
}
submitAdvanceInvoiceDto.setFinBillVehicles(finBillVehicleDtos);
//开票挂车信息
List<com.yxt.anrui.terminal.api.autoservice.advanceInvoice.FinBillTrailerDto> finBillTrailers = dto.getFinBillTrailers();
List<com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerDto> finBillTrailerDtos = new ArrayList<>();
if (finBillTrailers != null && finBillTrailers.size() > 0) {
for (com.yxt.anrui.terminal.api.autoservice.advanceInvoice.FinBillTrailerDto finBillTrailer : finBillTrailers) {
com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerDto finBillTrailerDto = new com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerDto();
BeanUtil.copyProperties(finBillTrailer, finBillTrailerDto);
finBillTrailerDtos.add(finBillTrailerDto);
}
}
submitAdvanceInvoiceDto.setFinBillTrailers(finBillTrailerDtos);
//附件信息
List<String> fjApplicationAppendxs = dto.getFjApplicationAppendxs();//附件
List<FinBillFileDto> fj = new ArrayList<>();//附件
if (fjApplicationAppendxs != null) {
for (String fjApplicationAppendx : fjApplicationAppendxs) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(fjApplicationAppendx);
fj.add(finBillFileDto);
}
}
submitAdvanceInvoiceDto.setFjApplicationAppendxs(fj);
ResultBean resultBean = finBillApplicationFeign.submitFinBillApplicationQKLP(submitAdvanceInvoiceDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
public ResultBean agreeAdvanceInvoiceInfoQKLP(CompleteAdvanceInvoiceDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
FinBillCompleteDto finBillCompleteDto = new FinBillCompleteDto();
BeanUtil.copyProperties(dto, finBillCompleteDto);
ResultBean resultBean = finBillApplicationFeign.completeQKLP(finBillCompleteDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean agreeQKKPInfoByQKLP(qkkpDto dto) {
ResultBean rb = ResultBean.fireFail();
String orgSidPath = "";
if (StringUtils.isNotBlank(dto.getOrgPath())) {
orgSidPath = dto.getOrgPath();
} else {
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
}
FinBillCompleteDto finBillCompleteDto = new FinBillCompleteDto();
BeanUtil.copyProperties(dto, finBillCompleteDto);
//附件信息
List<String> fjApplicationAppendxs = dto.getFjApplicationAppendxs();//附件
List<FinBillFileDto> fj = new ArrayList<>();//附件
if (fjApplicationAppendxs != null) {
for (String fjApplicationAppendx : fjApplicationAppendxs) {
FinBillFileDto finBillFileDto = new FinBillFileDto();
finBillFileDto.setFileUrl(fjApplicationAppendx);
fj.add(finBillFileDto);
}
}
finBillCompleteDto.setFjApplicationAppendxs(fj);
finBillCompleteDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = finBillApplicationFeign.completeByQKLP(finBillCompleteDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean initiatorToAnswerQKLP(CompleteAdvanceInvoiceDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
FinBillCompleteDto finBillCompleteDto = new FinBillCompleteDto();
BeanUtil.copyProperties(dto, finBillCompleteDto);
ResultBean resultBean = finBillApplicationFeign.companyToDivisionOperateQK(finBillCompleteDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectAdvanceInvoiceInfoQKLP(AdvanceInvoiceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
FinBillTaskQuery taskQuery = new FinBillTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = finBillApplicationFeign.rejectQKLP(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallAdvanceInvoiceInfoQKLP(AdvanceInvoiceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
FinBillTaskQuery taskQuery = new FinBillTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = finBillApplicationFeign.revokeProcessQKLP(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopAdvanceInvoiceInfoQKLP(AdvanceInvoiceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
FinBillTaskQuery taskQuery = new FinBillTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = finBillApplicationFeign.breakProcessQKLP(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<qkkpFlowListVo> getFlowOperateTitleByQKLP(AdvanceInvoiceQuery query) {
ResultBean<qkkpFlowListVo> rb = ResultBean.fireFail();
qkkpFlowListVo qkkpFlowListVo = new qkkpFlowListVo();
FinBillNodeQuery getNodeQuery = new FinBillNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
ResultBean<List<FinBillNodeVo>> nextNodesForSubmit = finBillApplicationFeign.getNextNodesForSubmitQKLP(getNodeQuery);
if (nextNodesForSubmit.getSuccess()) {
nextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = nextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(nextNodesForSubmit.getMsg());
}
qkkpFlowListVo.setTitle(data);
AppBillApplicationDetailsQKQuery appBillApplicationDetailsQKQuery = new AppBillApplicationDetailsQKQuery();
appBillApplicationDetailsQKQuery.setSid(query.getBusinessSid());
ResultBean<FinBillApplicationDetailsVo> resultBean = finBillApplicationFeign.appQKFetchDetailsBySid(appBillApplicationDetailsQKQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
FinBillApplicationDetailsVo finBillApplicationDetailsVo = resultBean.getData();
if (finBillApplicationDetailsVo != null) {
//附件信息
List<FinBillFileVo> fjApplicationAppendxs = finBillApplicationDetailsVo.getFjApplicationAppendxs();
List<String> fj = new ArrayList<>();
List<ItemEditTextInfo> itemEditTextInfos = new ArrayList<>();
if (fjApplicationAppendxs != null) {
for (FinBillFileVo fjApplicationAppendx : fjApplicationAppendxs) {
fj.add(fjApplicationAppendx.getFileUrl());
}
ItemEditTextInfo itemEditTextInfo = new ItemEditTextInfo();
itemEditTextInfo.setTitle("附件");
itemEditTextInfo.setType(1);
itemEditTextInfo.setNullAble(false);
itemEditTextInfo.setKey("fjApplicationAppendxs");
itemEditTextInfo.setFilesPath(fj);
itemEditTextInfos.add(itemEditTextInfo);
}
qkkpFlowListVo.setList(itemEditTextInfos);
}
return rb.success().setData(qkkpFlowListVo);
}
} }
Loading…
Cancel
Save