Browse Source

款项结转加装配置手续费、销售出库单推送其他应收单

master
God 2 years ago
parent
commit
40657abeb7
  1. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java
  2. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXVo.java
  3. 237
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  4. 7
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java
  5. 255
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java

1
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java

@ -1689,6 +1689,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
}
//推送其他应收单
for (BaseVehicleZSOutDto zcDto : zcDtos) {
zcDto.setCwCustomerNo(salOutStock.getFCustomerID());
OtherReceivable otherReceivable = createZSOtherReceivableQKC(baseVehicleOutApply, zcDto);
if (otherReceivable != null) {
finKingDeeFeign.draftOtherReceivableBill(otherReceivable);

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finfundscarriedforwardapply/AppFinFundsCarriedForwardYXYSKXVo.java

@ -61,7 +61,7 @@ public class AppFinFundsCarriedForwardYXYSKXVo implements Dto {
private String projectName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("应收金额")
@ApiModelProperty("当前应收金额")
private String receivable;
@ApiModelProperty("认款金额")
private String confirmMoney;

237
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -167,14 +167,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
@Autowired
private BaseVehicleTempstateFeign baseVehicleTempstateFeign;
@Autowired
private BaseVehicleFeign baseVehicleFeign;
@Autowired
private BaseTrailerFeign baseTrailerFeign;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private BusDeliveredFeign busDeliveredFeign;
@Autowired
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
@Autowired
private ArReceivebillService arReceivebillService;
@ -187,35 +179,9 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
@Autowired
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private LoanSolutionsFeign loanSolutionsFeign;
@Autowired
private FinKingDeeService finKingDeeService;
@Autowired
private FinFundsCarriedForwardVehService finFundsCarriedForwardVehService;
@Autowired
private BaseVehicleStateFeign baseVehicleStateFeign;
@Autowired
private ReceivableBillService receivableBillService;
@Autowired
private BusValcustFilingFeign busValcustFilingFeign;
@Autowired
private FinBillApplicationService finBillApplicationService;
@Autowired
private FinBillVehicleService finBillVehicleService;
@Autowired
private FinBillTrailerService finBillTrailerService;
@Autowired
private FinVehicleInvoiceService finVehicleInvoiceService;
@Autowired
private BusArrearsCarryVehicleApplyFeign busArrearsCarryVehicleApplyFeign;
@Autowired
private FinCompanyInvoicingService finCompanyInvoicingService;
@Autowired
private BusBillApplicationFeign busBillApplicationFeign;
@Autowired
private BusBillVehicleFeign busBillVehicleFeign;
@Autowired
private BusBillTrailerFeign busBillTrailerFeign;
private QueryWrapper<FinCollectionConfirmation> createQueryWrapper(FinCollectionConfirmationQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -1600,6 +1566,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
//更新审核时间
finSelectedReceivablesDetailed.setAuditDate(DateUtil.today());
finSelectedReceivablesDetailedService.updateById(finSelectedReceivablesDetailed);
//加装配置手续费推送开票管理
finSelectedReceivablesDetailedService.tskpgl(v);
//ToDo:查询是否符合待出库的条件
//该合同编号下的该车架号的所有认款金额
List<FinSelectedReceivablesDetailedVo> voList = finSelectedReceivablesDetailedService.selectListByVin(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3);
@ -1635,8 +1603,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} catch (Exception e) {
e.printStackTrace();
}
//查询该申请所有的款项明细
finSelectedReceivablesDetailedVos = finSelectedReceivablesDetailedService.fetchByAuditState(sid, 3);
confirmation = fetchBySid(sid);
/* //与收款金额作比较:更新认款状态 1未认款/2部分认款/3已认款
confirmation.setPaymentState(confirmation.getCollectionMoney().compareTo(subscriptionMoneyAll) <= 0 ? 3 : subscriptionMoneyAll.compareTo(BigDecimal.ZERO) == 0 ? 1 : 2);*/
@ -1653,205 +1619,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
baseMapper.updateById(confirmation);
//删除临时表的数据
ResultBean deleteResult = baseVehicleTempstateFeign.delByBusSid(sid);
//判断加装配置手续费推送应收单
for (FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo : finSelectedReceivablesDetailedVos) {
if ("加装配置手续费".equals(finSelectedReceivablesDetailedVo.getReceivablesName())) {
BusValcustFiling busValcustFiling = busValcustFilingFeign.selectByContractNoAndVinNo(finSelectedReceivablesDetailedVo.getContractNo(), finSelectedReceivablesDetailedVo.getVIN()).getData();
if (busValcustFiling.getBusSource().equals("0")) {//单独开票
FinBillApplication finBillApplication = finBillApplicationService.fetchBySid(busValcustFiling.getBusSid());
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchVehBySid(finBillApplication.getSid());
List<FinBillTrailerVo> finBillTrailerVos = finBillTrailerService.fetchByMainSid(finBillApplication.getSid());
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
if (finSelectedReceivablesDetailedVo.getVIN().substring(finSelectedReceivablesDetailedVo.getVIN().length() - 8).equals(finBillVehicleVo.getVinNo().substring(finBillVehicleVo.getVinNo().length() - 8))) {
int count = finVehicleInvoiceService.selectCountByVinSid(finBillVehicleVo.getVehSid());
if (count == 0) {
FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto();
finVehicleInvoiceDto.setInvoiceTitle(finBillApplication.getOpenTickUnitName());
finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo());
finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName());
finVehicleInvoiceDto.setVehicleSid(finBillVehicleVo.getVehSid());
finVehicleInvoiceDto.setVIN(finBillVehicleVo.getVinNo());
finVehicleInvoiceDto.setInvoiceTypeKey(finBillVehicleVo.getBillTypeKey());
finVehicleInvoiceDto.setInvoiceType(finBillVehicleVo.getBillTypeValue());
finVehicleInvoiceDto.setInvoiceAmount(finBillApplication.getOneBillMoney());
finVehicleInvoiceDto.setBillingStateKey("001");
finVehicleInvoiceDto.setBillingState("未开票");
finVehicleInvoiceDto.setTransferStateKey("001");
finVehicleInvoiceDto.setTransferState("未移交");
finVehicleInvoiceDto.setVehicleType("主车");
finVehicleInvoiceDto.setBillingSid(finBillApplication.getSid());
finVehicleInvoiceDto.setInvoicingName(finBillVehicleVo.getOpenTickName());
finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid());
BusArrearsCarryVehicleApplyVo busArrearsCarryVehicleApplyVo = busArrearsCarryVehicleApplyFeign.selComByVehSid(finBillVehicleVo.getVehSid()).getData();
if (busArrearsCarryVehicleApplyVo == null) {
finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey());
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue());
} else {
finVehicleInvoiceDto.setBusinessStateKey("005");
finVehicleInvoiceDto.setBusinessState("欠款提车");
}
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid());
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) {
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName());
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
} else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillVehicleVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
}
finVehicleInvoiceDto.setIsTakeTicket("是");
finVehicleInvoiceService.mySave(finVehicleInvoiceDto);
}
}
}
if (finBillTrailerVos != null) {
for (FinBillTrailerVo finBillTrailerVo : finBillTrailerVos) {
if (finSelectedReceivablesDetailedVo.getVIN().substring(finSelectedReceivablesDetailedVo.getVIN().length() - 8).equals(finBillTrailerVo.getVinNo().substring(finBillTrailerVo.getVinNo().length() - 8))) {
String gcVinNo = finBillTrailerVo.getGcVinNo();
BaseTrailerDetailsVo baseTrailerDetailsVo = baseTrailerFeign.fetchByGcVinNo(gcVinNo).getData();
int count = finVehicleInvoiceService.selectCountByVinSid(baseTrailerDetailsVo.getSid());
if (count == 0) {
FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto();
finVehicleInvoiceDto.setInvoiceTitle(finBillApplication.getOpenTickUnitName());
finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo());
finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName());
finVehicleInvoiceDto.setVehicleSid(baseTrailerDetailsVo.getSid());
finVehicleInvoiceDto.setVIN(gcVinNo);
finVehicleInvoiceDto.setInvoiceTypeKey(finBillTrailerVo.getBillTypeKey());
finVehicleInvoiceDto.setInvoiceType(finBillTrailerVo.getBillTypeValue());
finVehicleInvoiceDto.setInvoiceAmount(new BigDecimal(finBillTrailerVo.getOneBillMoney()));
finVehicleInvoiceDto.setBillingStateKey("001");
finVehicleInvoiceDto.setBillingState("未开票");
finVehicleInvoiceDto.setTransferStateKey("001");
finVehicleInvoiceDto.setTransferState("未移交");
finVehicleInvoiceDto.setVehicleType("挂车");
finVehicleInvoiceDto.setBillingSid(finBillApplication.getSid());
finVehicleInvoiceDto.setInvoicingName(finBillTrailerVo.getOpenTickName());
finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid());
finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey());
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue());
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid());
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) {
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName());
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
} else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillTrailerVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
}
finVehicleInvoiceDto.setIsTakeTicket("是");
finVehicleInvoiceService.mySave(finVehicleInvoiceDto);
}
}
}
}
} else {//出库开票申请
BusBillApplication busBillApplication = busBillApplicationFeign.fetchBySid(busValcustFiling.getBusSid()).getData();
List<BusBillVehicleVo> busBillVehicleVos = busBillVehicleFeign.fetchVehBySid(busBillApplication.getSid()).getData();
List<BusBillTrailerVo> busBillTrailerVos = busBillTrailerFeign.fetchByMainSid(busBillApplication.getSid()).getData();
for (BusBillVehicleVo busBillVehicleVo : busBillVehicleVos) {
if (finSelectedReceivablesDetailedVo.getVIN().substring(finSelectedReceivablesDetailedVo.getVIN().length() - 8).equals(busBillVehicleVo.getVinNo().substring(busBillVehicleVo.getVinNo().length() - 8))) {
int count = finVehicleInvoiceService.selectCountByVinSid(busBillVehicleVo.getVehSid());
if (count == 0) {
FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto();
finVehicleInvoiceDto.setInvoiceTitle(busBillApplication.getOpenTickUnitName());
finVehicleInvoiceDto.setContractNo(busBillApplication.getContractNo());
finVehicleInvoiceDto.setCustomerName(busBillApplication.getCustomerName());
finVehicleInvoiceDto.setVehicleSid(busBillVehicleVo.getVehSid());
finVehicleInvoiceDto.setVIN(busBillVehicleVo.getVinNo());
finVehicleInvoiceDto.setInvoiceTypeKey(busBillVehicleVo.getBillTypeKey());
finVehicleInvoiceDto.setInvoiceType(busBillVehicleVo.getBillTypeValue());
finVehicleInvoiceDto.setInvoiceAmount(busBillApplication.getOneBillMoney());
finVehicleInvoiceDto.setBillingStateKey("001");
finVehicleInvoiceDto.setBillingState("未开票");
finVehicleInvoiceDto.setTransferStateKey("001");
finVehicleInvoiceDto.setTransferState("未移交");
finVehicleInvoiceDto.setVehicleType("主车");
finVehicleInvoiceDto.setBillingSid(busBillApplication.getSid());
finVehicleInvoiceDto.setInvoicingName(busBillVehicleVo.getOpenTickName());
finVehicleInvoiceDto.setCreateBySid(busBillApplication.getCreateBySid());
BusArrearsCarryVehicleApplyVo busArrearsCarryVehicleApplyVo = busArrearsCarryVehicleApplyFeign.selComByVehSid(busBillVehicleVo.getVehSid()).getData();
if (busArrearsCarryVehicleApplyVo == null) {
finVehicleInvoiceDto.setBusinessStateKey(busBillApplication.getBillStateKey());
finVehicleInvoiceDto.setBusinessState(busBillApplication.getBillStateValue());
} else {
finVehicleInvoiceDto.setBusinessStateKey("005");
finVehicleInvoiceDto.setBusinessState("欠款提车");
}
finVehicleInvoiceDto.setUseOrgSid(busBillApplication.getUseOrgSid());
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(busBillVehicleVo.getOpenTickSid());
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) {
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName());
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
} else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(busBillVehicleVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
}
finVehicleInvoiceDto.setIsTakeTicket("是");
finVehicleInvoiceService.mySave(finVehicleInvoiceDto);
}
}
}
if (busBillTrailerVos != null) {
for (BusBillTrailerVo busBillTrailerVo : busBillTrailerVos) {
if (finSelectedReceivablesDetailedVo.getVIN().substring(finSelectedReceivablesDetailedVo.getVIN().length() - 8).equals(busBillTrailerVo.getVinNo().substring(busBillTrailerVo.getVinNo().length() - 8))) {
String gcVinNo = busBillTrailerVo.getGcVinNo();
BaseTrailerDetailsVo baseTrailerDetailsVo = baseTrailerFeign.fetchByGcVinNo(gcVinNo).getData();
int count = finVehicleInvoiceService.selectCountByVinSid(baseTrailerDetailsVo.getSid());
if (count == 0) {
FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto();
finVehicleInvoiceDto.setInvoiceTitle(busBillApplication.getOpenTickUnitName());
finVehicleInvoiceDto.setContractNo(busBillApplication.getContractNo());
finVehicleInvoiceDto.setCustomerName(busBillApplication.getCustomerName());
finVehicleInvoiceDto.setVehicleSid(baseTrailerDetailsVo.getSid());
finVehicleInvoiceDto.setVIN(gcVinNo);
finVehicleInvoiceDto.setInvoiceTypeKey(busBillTrailerVo.getBillTypeKey());
finVehicleInvoiceDto.setInvoiceType(busBillTrailerVo.getBillTypeValue());
finVehicleInvoiceDto.setInvoiceAmount(new BigDecimal(busBillTrailerVo.getOneBillMoney()));
finVehicleInvoiceDto.setBillingStateKey("001");
finVehicleInvoiceDto.setBillingState("未开票");
finVehicleInvoiceDto.setTransferStateKey("001");
finVehicleInvoiceDto.setTransferState("未移交");
finVehicleInvoiceDto.setVehicleType("挂车");
finVehicleInvoiceDto.setBillingSid(busBillApplication.getSid());
finVehicleInvoiceDto.setInvoicingName(busBillTrailerVo.getOpenTickName());
finVehicleInvoiceDto.setCreateBySid(busBillApplication.getCreateBySid());
finVehicleInvoiceDto.setBusinessStateKey(busBillApplication.getBillStateKey());
finVehicleInvoiceDto.setBusinessState(busBillApplication.getBillStateValue());
finVehicleInvoiceDto.setUseOrgSid(busBillApplication.getUseOrgSid());
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(busBillTrailerVo.getOpenTickSid());
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) {
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName());
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
} else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(busBillTrailerVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
}
finVehicleInvoiceDto.setIsTakeTicket("是");
finVehicleInvoiceService.mySave(finVehicleInvoiceDto);
}
}
}
}
}
}
}
return rb.success().setMsg("款项确认成功");
}

7
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java

@ -1263,6 +1263,13 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService<FinFu
List<AppFinFundsCarriedForwardYXYSKXVo> yxysFinFundsCarriedForwardYXYSKXVos = data.getYxysFinFundsCarriedForwardYXYSKXVos();
for (AppFinFundsCarriedForwardYXYSKXVo appFinFundsCarriedForwardYXYSKXVo : yxysFinFundsCarriedForwardYXYSKXVos) {
finSelectedReceivablesDetailedService.updateAuditStateBySid(3, appFinFundsCarriedForwardYXYSKXVo.getSid());
FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo = new FinSelectedReceivablesDetailedVo();
finSelectedReceivablesDetailedVo.setReceivablesName(appFinFundsCarriedForwardYXYSKXVo.getProjectName());
finSelectedReceivablesDetailedVo.setCurrentReceivableMoney(appFinFundsCarriedForwardYXYSKXVo.getReceivable());
finSelectedReceivablesDetailedVo.setSubscriptionMoney(appFinFundsCarriedForwardYXYSKXVo.getConfirmMoney());
finSelectedReceivablesDetailedVo.setContractNo(appFinFundsCarriedForwardYXYSKXVo.getContractId());
finSelectedReceivablesDetailedVo.setVIN(appFinFundsCarriedForwardYXYSKXVo.getVin());
finSelectedReceivablesDetailedService.tskpgl(finSelectedReceivablesDetailedVo);
}
jzComplete(businessSid);
tsqtysd(businessSid);

255
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java

@ -30,14 +30,38 @@ import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo;
import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyFeign;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyVo;
import com.yxt.anrui.buscenter.api.busbillapplication.BusBillApplication;
import com.yxt.anrui.buscenter.api.busbillapplication.BusBillApplicationFeign;
import com.yxt.anrui.buscenter.api.busbilltrailer.BusBillTrailerFeign;
import com.yxt.anrui.buscenter.api.busbilltrailer.BusBillTrailerVo;
import com.yxt.anrui.buscenter.api.busbillvehicle.BusBillVehicleFeign;
import com.yxt.anrui.buscenter.api.busbillvehicle.BusBillVehicleVo;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.buscenter.api.busvalcustfiling.BusValcustFiling;
import com.yxt.anrui.buscenter.api.busvalcustfiling.BusValcustFilingFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplication;
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo;
import com.yxt.anrui.fin.api.fincollectionconfirmation.AppFinSelectedReceivablesPaymentDetailsQuery;
import com.yxt.anrui.fin.api.fincollectionconfirmation.AppFinSelectedReceivablesPaymentDetailsVo;
import com.yxt.anrui.fin.api.fincollectionconfirmation.app.AppBusArrearsCarryMoneyVo;
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo;
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.*;
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.AppFinUncollectedReceivablesDetailedVo;
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto;
import com.yxt.anrui.fin.biz.finbillapplication.FinBillApplicationService;
import com.yxt.anrui.fin.biz.finbilltrailer.FinBillTrailerService;
import com.yxt.anrui.fin.biz.finbillvehicle.FinBillVehicleService;
import com.yxt.anrui.fin.biz.fincompanyinvoicing.FinCompanyInvoicingService;
import com.yxt.anrui.fin.biz.finvehicleinvoice.FinVehicleInvoiceService;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
@ -79,6 +103,30 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
private SysUserFeign sysUserFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private BusValcustFilingFeign busValcustFilingFeign;
@Autowired
private FinBillApplicationService finBillApplicationService;
@Autowired
private FinBillVehicleService finBillVehicleService;
@Autowired
private FinBillTrailerService finBillTrailerService;
@Autowired
private FinVehicleInvoiceService finVehicleInvoiceService;
@Autowired
private BusArrearsCarryVehicleApplyFeign busArrearsCarryVehicleApplyFeign;
@Autowired
private FinCompanyInvoicingService finCompanyInvoicingService;
@Autowired
private BusBillApplicationFeign busBillApplicationFeign;
@Autowired
private BusBillVehicleFeign busBillVehicleFeign;
@Autowired
private BusBillTrailerFeign busBillTrailerFeign;
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired
private BaseTrailerFeign baseTrailerFeign;
public PagerVo<FinSelectedReceivablesDetailed> listPage(PagerQuery<FinSelectedReceivablesDetailedQuery> pq) {
FinSelectedReceivablesDetailedQuery query = pq.getParams();
@ -609,4 +657,211 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
public String getBalance(String busSid) {
return baseMapper.getBalance(busSid);
}
/*
* 判断应收款项名称为加装配置手续费并且当前应收余额当前应收金额减去认款金额小于等于0
* */
public void tskpgl(FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo){
if ("加装配置手续费".equals(finSelectedReceivablesDetailedVo.getReceivablesName())) {
BigDecimal currMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getCurrentReceivableMoney());
BigDecimal subMoney = new BigDecimal(finSelectedReceivablesDetailedVo.getSubscriptionMoney());
//判断当前应收余额(当前应收金额减去认款金额)是否小于等于0
if (currMoney.subtract(subMoney).compareTo(BigDecimal.ZERO) != 1){
BusValcustFiling busValcustFiling = busValcustFilingFeign.selectByContractNoAndVinNo(finSelectedReceivablesDetailedVo.getContractNo(), finSelectedReceivablesDetailedVo.getVIN()).getData();
if (busValcustFiling.getBusSource().equals("0")) {//单独开票
FinBillApplication finBillApplication = finBillApplicationService.fetchBySid(busValcustFiling.getBusSid());
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchVehBySid(finBillApplication.getSid());
List<FinBillTrailerVo> finBillTrailerVos = finBillTrailerService.fetchByMainSid(finBillApplication.getSid());
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
if (finSelectedReceivablesDetailedVo.getVIN().substring(finSelectedReceivablesDetailedVo.getVIN().length() - 8).equals(finBillVehicleVo.getVinNo().substring(finBillVehicleVo.getVinNo().length() - 8))) {
int count = finVehicleInvoiceService.selectCountByVinSid(finBillVehicleVo.getVehSid());
if (count == 0) {
FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto();
finVehicleInvoiceDto.setInvoiceTitle(finBillApplication.getOpenTickUnitName());
finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo());
finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName());
finVehicleInvoiceDto.setVehicleSid(finBillVehicleVo.getVehSid());
finVehicleInvoiceDto.setVIN(finBillVehicleVo.getVinNo());
finVehicleInvoiceDto.setInvoiceTypeKey(finBillVehicleVo.getBillTypeKey());
finVehicleInvoiceDto.setInvoiceType(finBillVehicleVo.getBillTypeValue());
finVehicleInvoiceDto.setInvoiceAmount(finBillApplication.getOneBillMoney());
finVehicleInvoiceDto.setBillingStateKey("001");
finVehicleInvoiceDto.setBillingState("未开票");
finVehicleInvoiceDto.setTransferStateKey("001");
finVehicleInvoiceDto.setTransferState("未移交");
finVehicleInvoiceDto.setVehicleType("主车");
finVehicleInvoiceDto.setBillingSid(finBillApplication.getSid());
finVehicleInvoiceDto.setInvoicingName(finBillVehicleVo.getOpenTickName());
finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid());
BusArrearsCarryVehicleApplyVo busArrearsCarryVehicleApplyVo = busArrearsCarryVehicleApplyFeign.selComByVehSid(finBillVehicleVo.getVehSid()).getData();
if (busArrearsCarryVehicleApplyVo == null) {
finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey());
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue());
} else {
finVehicleInvoiceDto.setBusinessStateKey("005");
finVehicleInvoiceDto.setBusinessState("欠款提车");
}
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillVehicleVo.getOpenTickSid());
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) {
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName());
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
} else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillVehicleVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
}
finVehicleInvoiceDto.setIsTakeTicket("是");
finVehicleInvoiceService.mySave(finVehicleInvoiceDto);
}
}
}
if (finBillTrailerVos != null) {
for (FinBillTrailerVo finBillTrailerVo : finBillTrailerVos) {
if (finSelectedReceivablesDetailedVo.getVIN().substring(finSelectedReceivablesDetailedVo.getVIN().length() - 8).equals(finBillTrailerVo.getVinNo().substring(finBillTrailerVo.getVinNo().length() - 8))) {
String gcVinNo = finBillTrailerVo.getGcVinNo();
BaseTrailerDetailsVo baseTrailerDetailsVo = baseTrailerFeign.fetchByGcVinNo(gcVinNo).getData();
int count = finVehicleInvoiceService.selectCountByVinSid(baseTrailerDetailsVo.getSid());
if (count == 0) {
FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto();
finVehicleInvoiceDto.setInvoiceTitle(finBillApplication.getOpenTickUnitName());
finVehicleInvoiceDto.setContractNo(finBillApplication.getContractNo());
finVehicleInvoiceDto.setCustomerName(finBillApplication.getCustomerName());
finVehicleInvoiceDto.setVehicleSid(baseTrailerDetailsVo.getSid());
finVehicleInvoiceDto.setVIN(gcVinNo);
finVehicleInvoiceDto.setInvoiceTypeKey(finBillTrailerVo.getBillTypeKey());
finVehicleInvoiceDto.setInvoiceType(finBillTrailerVo.getBillTypeValue());
finVehicleInvoiceDto.setInvoiceAmount(new BigDecimal(finBillTrailerVo.getOneBillMoney()));
finVehicleInvoiceDto.setBillingStateKey("001");
finVehicleInvoiceDto.setBillingState("未开票");
finVehicleInvoiceDto.setTransferStateKey("001");
finVehicleInvoiceDto.setTransferState("未移交");
finVehicleInvoiceDto.setVehicleType("挂车");
finVehicleInvoiceDto.setBillingSid(finBillApplication.getSid());
finVehicleInvoiceDto.setInvoicingName(finBillTrailerVo.getOpenTickName());
finVehicleInvoiceDto.setCreateBySid(finBillApplication.getCreateBySid());
finVehicleInvoiceDto.setBusinessStateKey(finBillApplication.getBillStateKey());
finVehicleInvoiceDto.setBusinessState(finBillApplication.getBillStateValue());
finVehicleInvoiceDto.setUseOrgSid(finBillApplication.getUseOrgSid());
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(finBillTrailerVo.getOpenTickSid());
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) {
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName());
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
} else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(finBillTrailerVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
}
finVehicleInvoiceDto.setIsTakeTicket("是");
finVehicleInvoiceService.mySave(finVehicleInvoiceDto);
}
}
}
}
} else {//出库开票申请
BusBillApplication busBillApplication = busBillApplicationFeign.fetchBySid(busValcustFiling.getBusSid()).getData();
List<BusBillVehicleVo> busBillVehicleVos = busBillVehicleFeign.fetchVehBySid(busBillApplication.getSid()).getData();
List<BusBillTrailerVo> busBillTrailerVos = busBillTrailerFeign.fetchByMainSid(busBillApplication.getSid()).getData();
for (BusBillVehicleVo busBillVehicleVo : busBillVehicleVos) {
if (finSelectedReceivablesDetailedVo.getVIN().substring(finSelectedReceivablesDetailedVo.getVIN().length() - 8).equals(busBillVehicleVo.getVinNo().substring(busBillVehicleVo.getVinNo().length() - 8))) {
int count = finVehicleInvoiceService.selectCountByVinSid(busBillVehicleVo.getVehSid());
if (count == 0) {
FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto();
finVehicleInvoiceDto.setInvoiceTitle(busBillApplication.getOpenTickUnitName());
finVehicleInvoiceDto.setContractNo(busBillApplication.getContractNo());
finVehicleInvoiceDto.setCustomerName(busBillApplication.getCustomerName());
finVehicleInvoiceDto.setVehicleSid(busBillVehicleVo.getVehSid());
finVehicleInvoiceDto.setVIN(busBillVehicleVo.getVinNo());
finVehicleInvoiceDto.setInvoiceTypeKey(busBillVehicleVo.getBillTypeKey());
finVehicleInvoiceDto.setInvoiceType(busBillVehicleVo.getBillTypeValue());
finVehicleInvoiceDto.setInvoiceAmount(busBillApplication.getOneBillMoney());
finVehicleInvoiceDto.setBillingStateKey("001");
finVehicleInvoiceDto.setBillingState("未开票");
finVehicleInvoiceDto.setTransferStateKey("001");
finVehicleInvoiceDto.setTransferState("未移交");
finVehicleInvoiceDto.setVehicleType("主车");
finVehicleInvoiceDto.setBillingSid(busBillApplication.getSid());
finVehicleInvoiceDto.setInvoicingName(busBillVehicleVo.getOpenTickName());
finVehicleInvoiceDto.setCreateBySid(busBillApplication.getCreateBySid());
BusArrearsCarryVehicleApplyVo busArrearsCarryVehicleApplyVo = busArrearsCarryVehicleApplyFeign.selComByVehSid(busBillVehicleVo.getVehSid()).getData();
if (busArrearsCarryVehicleApplyVo == null) {
finVehicleInvoiceDto.setBusinessStateKey(busBillApplication.getBillStateKey());
finVehicleInvoiceDto.setBusinessState(busBillApplication.getBillStateValue());
} else {
finVehicleInvoiceDto.setBusinessStateKey("005");
finVehicleInvoiceDto.setBusinessState("欠款提车");
}
finVehicleInvoiceDto.setUseOrgSid(busBillApplication.getUseOrgSid());
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(busBillVehicleVo.getOpenTickSid());
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) {
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName());
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
} else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(busBillVehicleVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
}
finVehicleInvoiceDto.setIsTakeTicket("是");
finVehicleInvoiceService.mySave(finVehicleInvoiceDto);
}
}
}
if (busBillTrailerVos != null) {
for (BusBillTrailerVo busBillTrailerVo : busBillTrailerVos) {
if (finSelectedReceivablesDetailedVo.getVIN().substring(finSelectedReceivablesDetailedVo.getVIN().length() - 8).equals(busBillTrailerVo.getVinNo().substring(busBillTrailerVo.getVinNo().length() - 8))) {
String gcVinNo = busBillTrailerVo.getGcVinNo();
BaseTrailerDetailsVo baseTrailerDetailsVo = baseTrailerFeign.fetchByGcVinNo(gcVinNo).getData();
int count = finVehicleInvoiceService.selectCountByVinSid(baseTrailerDetailsVo.getSid());
if (count == 0) {
FinVehicleInvoiceDto finVehicleInvoiceDto = new FinVehicleInvoiceDto();
finVehicleInvoiceDto.setInvoiceTitle(busBillApplication.getOpenTickUnitName());
finVehicleInvoiceDto.setContractNo(busBillApplication.getContractNo());
finVehicleInvoiceDto.setCustomerName(busBillApplication.getCustomerName());
finVehicleInvoiceDto.setVehicleSid(baseTrailerDetailsVo.getSid());
finVehicleInvoiceDto.setVIN(gcVinNo);
finVehicleInvoiceDto.setInvoiceTypeKey(busBillTrailerVo.getBillTypeKey());
finVehicleInvoiceDto.setInvoiceType(busBillTrailerVo.getBillTypeValue());
finVehicleInvoiceDto.setInvoiceAmount(new BigDecimal(busBillTrailerVo.getOneBillMoney()));
finVehicleInvoiceDto.setBillingStateKey("001");
finVehicleInvoiceDto.setBillingState("未开票");
finVehicleInvoiceDto.setTransferStateKey("001");
finVehicleInvoiceDto.setTransferState("未移交");
finVehicleInvoiceDto.setVehicleType("挂车");
finVehicleInvoiceDto.setBillingSid(busBillApplication.getSid());
finVehicleInvoiceDto.setInvoicingName(busBillTrailerVo.getOpenTickName());
finVehicleInvoiceDto.setCreateBySid(busBillApplication.getCreateBySid());
finVehicleInvoiceDto.setBusinessStateKey(busBillApplication.getBillStateKey());
finVehicleInvoiceDto.setBusinessState(busBillApplication.getBillStateValue());
finVehicleInvoiceDto.setUseOrgSid(busBillApplication.getUseOrgSid());
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = finCompanyInvoicingService.fetchDetailsVoBySid(busBillTrailerVo.getOpenTickSid());
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getBankAccount())) {
finVehicleInvoiceDto.setAddress(finCompanyInvoicingDetailsVo.getAddress());
finVehicleInvoiceDto.setTelPhone(finCompanyInvoicingDetailsVo.getPhone());
finVehicleInvoiceDto.setOpeningBank(finCompanyInvoicingDetailsVo.getBankName());
finVehicleInvoiceDto.setBankNum(finCompanyInvoicingDetailsVo.getBankAccount());
finVehicleInvoiceDto.setTaxpayerNo(finCompanyInvoicingDetailsVo.getTaxpayerNo());
} else {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(busBillTrailerVo.getOpenTickSid()).getData();
finVehicleInvoiceDto.setTelPhone(crmCustomerTempVo.getMobile());
finVehicleInvoiceDto.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
}
finVehicleInvoiceDto.setIsTakeTicket("是");
finVehicleInvoiceService.mySave(finVehicleInvoiceDto);
}
}
}
}
}
}
}
}
}
Loading…
Cancel
Save