diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationRest.java index 629d28a828..ef3f016ca9 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationRest.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationRest.java @@ -54,7 +54,11 @@ public class BusBillApplicationRest implements BusBillApplicationFeign { @Override public ResultBean save(@RequestBody BusBillApplicationDto dto) { - return busBillApplicationService.saveOrUpdateDto(dto); + ResultBean rb = ResultBean.fireFail(); + ResultBean resultBean = busBillApplicationService.saveOrUpdateDto(dto); + DownloanVoUrl downloanVoUrl = resultBean.getData(); + return rb.success().setData(downloanVoUrl.getSid()); +// return busBillApplicationService.saveOrUpdateDto(dto); } @Override diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationService.java index 0a73762354..f1ab8db949 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationService.java @@ -69,6 +69,7 @@ import com.yxt.anrui.fin.api.finbillapplication.FinBillApplication; import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationDto; import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerDto; import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDto; +import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo; import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicing; import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo; import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign; @@ -129,7 +130,8 @@ public class BusBillApplicationService extends MybatisBaseService saveOrUpdateDto(BusBillApplicationDto dto) { + public ResultBean saveOrUpdateDto(BusBillApplicationDto dto) { + DownloanVoUrl downloanVoUrl = new DownloanVoUrl(); ResultBean rb = ResultBean.fireFail(); String dtoSid = dto.getSid(); List busBillTrailers = dto.getFinBillTrailers(); @@ -151,9 +153,11 @@ public class BusBillApplicationService extends MybatisBaseService(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); - Future future1 = pool.submit(() -> { - String fileUrl = getFileUrl(dto); - }); - } catch (Exception e) { - e.printStackTrace(); - log.error("生成文件失败:==========================" + e.getMessage()); - }*/ -// String fileUrl = getFileUrlNew(dto); - String fileUrl = ""; - return fileUrl; + String allDownloadUrl = ""; + boolean showNotice = false;//是否需要生成合同 + //根据合同号查询销售订单数据 + BusSalesOrder busSalesOrder = baseMapper.selectByContract(dto.getContractNo()); + SolutionsDetailsVo loanSolutions = loanSolutionsFeign.selectDetailss(busSalesOrder.getSid()).getData(); + BusSalesOrderModel busSalesOrderModel = baseMapper.selectByOrderSid(busSalesOrder.getSid()); + BusSalesOrderPrice busSalesOrderPrice = baseMapper.selectByPrices(busSalesOrder.getSid()); + int contractBts = 0; + if("1".equals(busSalesOrder.getPayTypeKey())){ + contractBts = 1; + }else{ + if(StringUtils.isNotBlank(loanSolutions.getTypeKey())){ + contractBts = 2; + } + } + if(StringUtils.isBlank(dto.getSid())){//新增的,与销售订单数据作对比 + switch (contractBts){ + case 1: + //全款,与销售订单的价格不一样,就notice + if(StringUtils.isNotBlank(dto.getOneBillMoney()) && new BigDecimal(dto.getOneBillMoney()).compareTo(busSalesOrderPrice.getSingleFinalPrice()) !=0){ + showNotice = true; + }else{ + //与销售订单的价格一致,判断是否与销售订单的开票名称不一致的情况 + List finBillVehicleDtoList = dto.getFinBillVehicles(); + finBillVehicleDtoList = finBillVehicleDtoList.stream().filter(v->!v.getOpenTickSid().equals(busSalesOrder.getAffiliatedCompanySid())).collect(Collectors.toList()); + finBillVehicleDtoList.removeAll(Collections.singleton(null)); + showNotice = finBillVehicleDtoList.size()>0; + } + break; + + case 2: + showNotice = dto.getFinBillVehicles().size()>0; + break; + } + + }else{//若是修改的话,且生成过合同的情况下,则与旧数据作对比 + BusBillApplication finBillApplication = fetchBySid(dto.getSid()); + if(StringUtils.isBlank(finBillApplication.getFileUrl())){ + switch (contractBts){ + case 1: + //全款,与销售订单的价格不一样,就notice + if(StringUtils.isNotBlank(dto.getOneBillMoney()) && new BigDecimal(dto.getOneBillMoney()).compareTo(busSalesOrderPrice.getSingleFinalPrice()) !=0){ + showNotice = true; + }else{ + //与销售订单的价格一致,判断是否与销售订单的开票名称不一致的情况 + List finBillVehicleDtoList = dto.getFinBillVehicles(); + finBillVehicleDtoList = finBillVehicleDtoList.stream().filter(v->!v.getOpenTickSid().equals(busSalesOrder.getAffiliatedCompanySid())).collect(Collectors.toList()); + finBillVehicleDtoList.removeAll(Collections.singleton(null)); + showNotice = finBillVehicleDtoList.size()>0; + } + break; + + case 2: + showNotice = dto.getFinBillVehicles().size()>0; + break; + } + }else{ + //若有合同,则与旧数据作对比 + boolean isTrue = false; + List finBillVehicleVos = busBillVehicleService.fetchByMainSid(dto.getSid()); + List finBillVehicleVosNew = dto.getFinBillVehicles(); + switch (contractBts){ + case 1: + //全款,与销售订单的价格不一样,则与旧数据作对比 + if(new BigDecimal(dto.getOneBillMoney()).compareTo(busSalesOrderPrice.getSingleFinalPrice()) != 0){ + isTrue = true; + }else{ + //与销售订单的价格一致,判断是否与销售订单的开票名称不一致的情况,若有不一致的情况,则与旧数据作对比 + finBillVehicleVosNew = finBillVehicleVosNew.stream().filter(v->!v.getOpenTickSid().equals(busSalesOrder.getAffiliatedCompanySid())).collect(Collectors.toList()); + finBillVehicleVosNew.removeAll(Collections.singleton(null)); + isTrue = finBillVehicleVosNew.size()>0; + } + if(isTrue){ + if(new BigDecimal(dto.getOneBillMoney()).compareTo(finBillApplication.getOneBillMoney()) != 0){ + showNotice = true; + }else{ + //如果数量发生变化,则生成合同 + if(finBillVehicleVos.size() != finBillVehicleVosNew.size()){ + showNotice = true; + }else{//数量没发生变化,车辆发生变化,则生成合同 + List stringList1 = finBillVehicleVos.stream().map(BusBillVehicleVo::getVehSid).collect(Collectors.toList()); + List stringList2 = finBillVehicleVosNew.stream().map(BusBillVehicleDto::getVehSid).collect(Collectors.toList()); + Set stringSet3 = new HashSet<>(); + stringSet3.addAll(stringList1); + stringSet3.addAll(stringList2); + if(stringSet3.size() != stringList1.size()){ + showNotice = true; + }else{ + //车辆没发生变化,查询开票信息是否发生变化 + for (int i = 0; i < finBillVehicleVos.size(); i++) { + String vehSid = finBillVehicleVos.get(i).getVehSid(); + String openTickSid = finBillVehicleVos.get(i).getOpenTickSid(); + String openTickSidNew = finBillVehicleVosNew.stream().filter(vv->vehSid.equals(vv.getVehSid())).collect(Collectors.toList()).get(0).getOpenTickSid(); + if(!openTickSid.equals(openTickSidNew)){ + showNotice = true; + break; + } + } + } + } + } + } + break; + + case 2: + //车辆数量发生变化, + if(finBillVehicleVos.size() != finBillVehicleVosNew.size()){ + showNotice = true; + }else{ + List stringList1 = finBillVehicleVos.stream().map(BusBillVehicleVo::getVehSid).collect(Collectors.toList()); + List stringList2 = finBillVehicleVosNew.stream().map(BusBillVehicleDto::getVehSid).collect(Collectors.toList()); + Set stringSet3 = new HashSet<>(); + stringSet3.addAll(stringList1); + stringSet3.addAll(stringList2); + if(stringSet3.size() != stringList1.size()){ + showNotice = true; + } + } + break; + } + if(!showNotice && !isTrue){ + allDownloadUrl = finBillApplication.getFileUrl(); + } + } + } + if(showNotice){ +// allDownloadUrl = getFileUrlNew(dto); + } + return allDownloadUrl; } public String getFileUrlNew(BusBillApplicationDto dto) { @@ -1357,12 +1504,14 @@ public class BusBillApplicationService extends MybatisBaseService finBillVehicles = dto.getFinBillVehicles(); for (BusBillVehicleDto v : finBillVehicles) { BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectByBorrowSid(dto.getContractNo(), v.getVehSid()); - LoanNoGuaranteeCreditReviewDetailsVo loanNoGuaranteeCreditReviewDetailsVo = loanNoGuaranteeCreditReviewFeign.selByBorrSid(busSalesOrderVehicle.getBorrowerSid()).getData(); - if ("2".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())) {//登记在挂靠公司 - v.setOpenTickSid(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompanySid()); - v.setOpenTickName(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompany()); - v.setBillTypeKey(busSalesOrder.getBillingTypeKey()); - v.setBillTypeValue(busSalesOrder.getBillingType()); + if(StringUtils.isNotBlank(busSalesOrderVehicle.getBorrowerSid())){ + LoanNoGuaranteeCreditReviewDetailsVo loanNoGuaranteeCreditReviewDetailsVo = loanNoGuaranteeCreditReviewFeign.selByBorrSid(busSalesOrderVehicle.getBorrowerSid()).getData(); + if ("2".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())) {//登记在挂靠公司 + v.setOpenTickSid(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompanySid()); + v.setOpenTickName(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompany()); + v.setBillTypeKey(busSalesOrder.getBillingTypeKey()); + v.setBillTypeValue(busSalesOrder.getBillingType()); + } } } //按开票名称sid分组 @@ -1523,10 +1672,12 @@ public class BusBillApplicationService extends MybatisBaseService saveInvoicedApplyInfo2Pdf(BusBillApplicationDto dto) { ResultBean rb = ResultBean.fireFail(); DownloanVoUrl downloanVoUrl = new DownloanVoUrl(); - ResultBean resultBean = saveOrUpdateDto(dto); - String contractNo = createContractNo(dto); - downloanVoUrl.setAllDownloadUrl(docPdfComponent.getPrefixTemplateUrl()+contractNo); - downloanVoUrl.setSid(resultBean.getData()); + ResultBean resultBean = saveOrUpdateDto(dto); + String allDownloadUrl = resultBean.getData().getAllDownloadUrl(); + if(StringUtils.isNotBlank(allDownloadUrl)){ + downloanVoUrl.setAllDownloadUrl(docPdfComponent.getPrefixTemplateUrl()+allDownloadUrl); + } + downloanVoUrl.setSid(resultBean.getData().getSid()); return rb.success().setData(downloanVoUrl); } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/invoiceApply.ftl b/anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/invoiceApply.ftl index b0c8d38a94..9ed854be92 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/invoiceApply.ftl +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/invoiceApply.ftl @@ -998,7 +998,7 @@ - 数量 + 车架号 @@ -1194,7 +1194,7 @@ - ${car.num!} + ${car.vinNo!} diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeign.java index c12e5870d5..407aee36d8 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeign.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeign.java @@ -279,4 +279,9 @@ public interface FinBillApplicationFeign { @PostMapping("/saveInvoicedApplyInfoPdf") @ResponseBody public ResultBean saveInvoicedApplyInfoPdf(@RequestBody FinBillApplicationDto dto); + + @ApiOperation("欠款点击生成附件") + @PostMapping("/saveInvoicedApplyInfoPdfQk") + @ResponseBody + public ResultBean saveInvoicedApplyInfoPdfQk(@RequestBody FinBillApplicationDto dto); } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeignFallback.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeignFallback.java index b60a612990..b26fcf6a69 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeignFallback.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeignFallback.java @@ -291,4 +291,9 @@ public class FinBillApplicationFeignFallback implements FinBillApplicationFeign public ResultBean saveInvoicedApplyInfoPdf(FinBillApplicationDto dto) { return null; } + + @Override + public ResultBean saveInvoicedApplyInfoPdfQk(FinBillApplicationDto dto) { + return null; + } } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDetailsVo.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDetailsVo.java index e8d537266b..87481002b4 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDetailsVo.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDetailsVo.java @@ -54,6 +54,8 @@ public class FinCompanyInvoicingDetailsVo implements Vo { private String sid; // sid + @ApiModelProperty("1个人 2企业") + private String customTypeKey; @ApiModelProperty("银行账号") private String bankAccount; // 银行账号 @ApiModelProperty("开户行") diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationRest.java index 0366086c4e..601c48d575 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationRest.java @@ -106,12 +106,20 @@ public class FinBillApplicationRest implements FinBillApplicationFeign { @ApiOperation("新增或修改") @PostMapping("/save") public ResultBean save(@RequestBody FinBillApplicationDto dto) { - return finBillApplicationService.saveOrUpdateDto(dto); + ResultBean rb = ResultBean.fireFail(); + ResultBean resultBean = finBillApplicationService.saveOrUpdateDto(dto); + DownloanVoUrl downloanVoUrl = resultBean.getData(); + return rb.success().setData(downloanVoUrl.getSid()); +// return finBillApplicationService.saveOrUpdateDto(dto); } @Override public ResultBean saveQK(FinBillApplicationDto dto) { - return finBillApplicationService.saveOrUpdateDtoQK(dto); + ResultBean rb = ResultBean.fireFail(); + ResultBean resultBean = finBillApplicationService.saveOrUpdateDtoQK(dto); + DownloanVoUrl downloanVoUrl = resultBean.getData(); + return rb.success().setData(downloanVoUrl.getSid()); +// return finBillApplicationService.saveOrUpdateDtoQK(dto); } @Override @@ -350,4 +358,9 @@ public class FinBillApplicationRest implements FinBillApplicationFeign { public ResultBean saveInvoicedApplyInfoPdf(FinBillApplicationDto dto) { return finBillApplicationService.saveInvoicedApplyInfoPdf(dto); } + + @Override + public ResultBean saveInvoicedApplyInfoPdfQk(FinBillApplicationDto dto) { + return finBillApplicationService.saveInvoicedApplyInfoPdfQk(dto); + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java index 5513f1009c..8f18b31c45 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java @@ -566,8 +566,9 @@ public class FinBillApplicationService extends MybatisBaseService saveOrUpdateDto(FinBillApplicationDto dto) { + public ResultBean saveOrUpdateDto(FinBillApplicationDto dto) { ResultBean rb = ResultBean.fireFail(); + DownloanVoUrl downloanVoUrl = new DownloanVoUrl(); String dtoSid = dto.getSid(); List finBillTrailers = dto.getFinBillTrailers(); List finBillVehicles = dto.getFinBillVehicles(); @@ -593,9 +594,11 @@ public class FinBillApplicationService extends MybatisBaseService resultBean = saveOrUpdateDto(dto); + ResultBean resultBean = saveOrUpdateDto(dto); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } - String businessSid = resultBean.getData(); + String businessSid = resultBean.getData().getSid(); finBillApplication = fetchBySid(businessSid); //创建BusinessVariables实体对象 BusinessVariables bv = new BusinessVariables(); @@ -2892,7 +2895,8 @@ public class FinBillApplicationService extends MybatisBaseService saveOrUpdateDtoQK(FinBillApplicationDto dto) { + DownloanVoUrl downloanVoUrl = new DownloanVoUrl(); ResultBean rb = ResultBean.fireFail(); String dtoSid = dto.getSid(); List finBillTrailers = dto.getFinBillTrailers(); @@ -2955,9 +2959,11 @@ public class FinBillApplicationService extends MybatisBaseService 0) { @@ -3211,7 +3222,7 @@ public class FinBillApplicationService extends MybatisBaseService saveQKLP(FinBillApplicationDto dto) { @@ -3479,11 +3490,11 @@ public class FinBillApplicationService extends MybatisBaseService resultBean = saveOrUpdateDtoQK(dto); + ResultBean resultBean = saveOrUpdateDtoQK(dto); if (!resultBean.getSuccess()) { return rb.setMsg(resultBean.getMsg()); } - String businessSid = resultBean.getData(); + String businessSid = resultBean.getData().getSid(); finBillApplication = fetchBySid(businessSid); //创建BusinessVariables实体对象 BusinessVariables bv = new BusinessVariables(); @@ -4653,6 +4664,30 @@ public class FinBillApplicationService extends MybatisBaseService finBillVehicleDtoList = dto.getFinBillVehicles(); + finBillVehicleDtoList = finBillVehicleDtoList.stream().filter(v->!v.getOpenTickSid().equals(busSalesOrder.getAffiliatedCompanySid())).collect(Collectors.toList()); + finBillVehicleDtoList.removeAll(Collections.singleton(null)); + showNotice = finBillVehicleDtoList.size()>0; + } + break; + + case 2: + showNotice = dto.getFinBillVehicles().size()>0; + break; + } + + }else{//若是修改的话,且生成过合同的情况下,则与旧数据作对比 + FinBillApplication finBillApplication = fetchBySid(dto.getSid()); + if(StringUtils.isBlank(finBillApplication.getFileUrl())){ + switch (contractBts){ + case 1: + //全款,与销售订单的价格不一样,就notice + if(StringUtils.isNotBlank(dto.getOneBillMoney()) && new BigDecimal(dto.getOneBillMoney()).compareTo(busSalesOrderPrice.getSingleFinalPrice()) !=0){ + showNotice = true; + }else{ + //与销售订单的价格一致,判断是否与销售订单的开票名称不一致的情况 + List finBillVehicleDtoList = dto.getFinBillVehicles(); + finBillVehicleDtoList = finBillVehicleDtoList.stream().filter(v->!v.getOpenTickSid().equals(busSalesOrder.getAffiliatedCompanySid())).collect(Collectors.toList()); + finBillVehicleDtoList.removeAll(Collections.singleton(null)); + showNotice = finBillVehicleDtoList.size()>0; + } + break; + + case 2: + showNotice = dto.getFinBillVehicles().size()>0; + break; + } + }else{ + //若有合同,则与旧数据作对比 + boolean isTrue = false; + List finBillVehicleVos = finBillVehicleService.fetchByMainSid(dto.getSid()); + List finBillVehicleVosNew = dto.getFinBillVehicles(); + switch (contractBts){ + case 1: + //全款,与销售订单的价格不一样,则与旧数据作对比 + if(new BigDecimal(dto.getOneBillMoney()).compareTo(busSalesOrderPrice.getSingleFinalPrice()) != 0){ + isTrue = true; + }else{ + //与销售订单的价格一致,判断是否与销售订单的开票名称不一致的情况,若有不一致的情况,则与旧数据作对比 + finBillVehicleVosNew = finBillVehicleVosNew.stream().filter(v->!v.getOpenTickSid().equals(busSalesOrder.getAffiliatedCompanySid())).collect(Collectors.toList()); + finBillVehicleVosNew.removeAll(Collections.singleton(null)); + isTrue = finBillVehicleVosNew.size()>0; + } + if(isTrue){ + if(new BigDecimal(dto.getOneBillMoney()).compareTo(finBillApplication.getOneBillMoney()) != 0){ + showNotice = true; + }else{ + //如果数量发生变化,则生成合同 + if(finBillVehicleVos.size() != finBillVehicleVosNew.size()){ + showNotice = true; + }else{//数量没发生变化,车辆发生变化,则生成合同 + List stringList1 = finBillVehicleVos.stream().map(FinBillVehicleVo::getVehSid).collect(Collectors.toList()); + List stringList2 = finBillVehicleVosNew.stream().map(FinBillVehicleDto::getVehSid).collect(Collectors.toList()); + Set stringSet3 = new HashSet<>(); + stringSet3.addAll(stringList1); + stringSet3.addAll(stringList2); + if(stringSet3.size() != stringList1.size()){ + showNotice = true; + }else{ + //车辆没发生变化,查询开票信息是否发生变化 + for (int i = 0; i < finBillVehicleVos.size(); i++) { + String vehSid = finBillVehicleVos.get(i).getVehSid(); + String openTickSid = finBillVehicleVos.get(i).getOpenTickSid(); + String openTickSidNew = finBillVehicleVosNew.stream().filter(vv->vehSid.equals(vv.getVehSid())).collect(Collectors.toList()).get(0).getOpenTickSid(); + if(!openTickSid.equals(openTickSidNew)){ + showNotice = true; + break; + } + } + } + } + } + } + break; + + case 2: + //车辆数量发生变化, + if(finBillVehicleVos.size() != finBillVehicleVosNew.size()){ + showNotice = true; + }else{ + List stringList1 = finBillVehicleVos.stream().map(FinBillVehicleVo::getVehSid).collect(Collectors.toList()); + List stringList2 = finBillVehicleVosNew.stream().map(FinBillVehicleDto::getVehSid).collect(Collectors.toList()); + Set stringSet3 = new HashSet<>(); + stringSet3.addAll(stringList1); + stringSet3.addAll(stringList2); + if(stringSet3.size() != stringList1.size()){ + showNotice = true; + } + } + break; + } + if(!showNotice && !isTrue){ + allDownloadUrl = finBillApplication.getFileUrl(); + } + } + } + if(showNotice){ + allDownloadUrl = getFileUrlNew(dto); + } + return allDownloadUrl; } public List castList(Object obj, Class clazz){ @@ -5898,10 +6059,24 @@ public class FinBillApplicationService extends MybatisBaseService saveInvoicedApplyInfoPdf(FinBillApplicationDto dto) { ResultBean rb = ResultBean.fireFail(); DownloanVoUrl downloanVoUrl = new DownloanVoUrl(); - ResultBean resultBean = saveOrUpdateDto(dto); - String contractNo = createContractNo(dto); - downloanVoUrl.setAllDownloadUrl(docPdfComponent.getPrefixTemplateUrl()+contractNo); - downloanVoUrl.setSid(resultBean.getData()); + ResultBean resultBean = saveOrUpdateDto(dto); + String allDownloadUrl = resultBean.getData().getAllDownloadUrl(); + if(StringUtils.isNotBlank(allDownloadUrl)){ + downloanVoUrl.setAllDownloadUrl(docPdfComponent.getPrefixTemplateUrl()+allDownloadUrl); + } + downloanVoUrl.setSid(resultBean.getData().getSid()); + return rb.success().setData(downloanVoUrl); + } + + public ResultBean saveInvoicedApplyInfoPdfQk(FinBillApplicationDto dto) { + ResultBean rb = ResultBean.fireFail(); + DownloanVoUrl downloanVoUrl = new DownloanVoUrl(); + ResultBean resultBean = saveOrUpdateDtoQK(dto); + String allDownloadUrl = resultBean.getData().getAllDownloadUrl(); + if(StringUtils.isNotBlank(allDownloadUrl)){ + downloanVoUrl.setAllDownloadUrl(docPdfComponent.getPrefixTemplateUrl()+allDownloadUrl); + } + downloanVoUrl.setSid(resultBean.getData().getSid()); return rb.success().setData(downloanVoUrl); } } \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java index 281f753dc7..23cc4b4d7f 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java @@ -236,11 +236,11 @@ public class FinCollectionConfirmationService extends MybatisBaseService voList = finSelectedReceivablesDetailedService.selectListByVin1(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3); + List voListD = finSelectedReceivablesDetailedService.selectListByVinD(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3); BigDecimal bigDecimalVinAll = voList.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); + BigDecimal bigDecimalVinAllD = voListD.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); List unList = finUncollectedReceivablesDetailedService.selectListByBusVinSid1(finUncollectedReceivablesDetailed.getBusVinSid()); BigDecimal unDecimalVinAll = unList.stream().map(FinUncollectedReceivablesDetailed::getReveivableMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); //查询该合同编号下的销售订单的单车成交价 BigDecimal leftAll = unDecimalVinAll; - BigDecimal rightAll = bigDecimalVinAll; + BigDecimal rightAll = bigDecimalVinAll.add(bigDecimalVinAllD); if (leftAll.compareTo(rightAll) <= 0) { BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.FIN_RQ.getTypeKey()); @@ -3586,7 +3588,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy()); //推送资金占用费收款凭证 + Future future1 = pool.submit(() -> { + pushFundVoucher(v, sid); + }); + //推送资金占用费收款凭证 Future future = pool.submit(() -> { pushFeeVoucher(v, sid); }); @@ -3915,22 +3910,22 @@ public class FinCollectionConfirmationService extends MybatisBaseService stringList = baseMapper.selectBys(loanRepaymentPlanDetails.getBusVinSid()); BigDecimal a3 = baseMapper.selectA3(stringList); @@ -3959,7 +3954,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService=0){ + if (yAll.compareTo(unall) >= 0) { LoanSettleApply loanSettleApply = baseMapper.selectApply(busVinSid); LoanSettleBankCost loanSettleBankCost = baseMapper.selectMainSid(loanSettleApply.getSid()); LoanFinBank loanFinBank = baseMapper.selectByBanks(loanSettleApply.getSaleOrderSid()); @@ -3994,8 +3989,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService + + \ No newline at end of file diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java index c1f0d39068..4102cfe25e 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java @@ -1576,8 +1576,10 @@ public class FinFundsCarriedForwardApplyService extends MybatisBaseService= 0) { + BigDecimal subscributeAll = new BigDecimal(subscribute).add(new BigDecimal(subscributeD)); + if (subscributeAll.compareTo(new BigDecimal(receiableMoney)) >= 0) { //已认款完成 BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.FIN_RQ.getTypeKey()); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java index c84621f71b..ea44f45527 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java @@ -98,6 +98,7 @@ public interface FinSelectedReceivablesDetailedMapper extends BaseMapper selectListByVin(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state); List selectListByVin1(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state); + List selectListByVinD(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state); List selectListByVin2(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state); List getList(@Param("list") List sidsList); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml index 270a1330c3..e81df75b91 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml @@ -209,6 +209,26 @@ and ff.receivablesName = '首付款及费用' GROUP BY d.`sid`) d + - SELECT - b.repaidMoney AS actualMoney, - CASE + SELECT b.repaidMoney AS actualMoney, + CASE - WHEN ( b.outstandingMoney + b.bankBeInter + b.fund ) > 0 THEN - '0' - WHEN ( b.outstandingMoney + b.bankBeInter + b.fund ) <= 0 THEN - '1' - END AS checkState - FROM - ( - SELECT - a.*, - IFNULL(( - SELECT - ( fjj.reveivableMoney - fjj.m ) - FROM - ( - SELECT - IFNULL(( - SELECT - SUM( subscriptionMoney ) - FROM - anrui_fin.fin_selected_receivables_detailed AS s - WHERE - s.auditState = '3' - AND s.receivablesSid = fj.sid - ), - 0 - ) AS m, - fj.* - FROM - ( SELECT j.busSid, j.sid, j.reveivableMoney FROM anrui_fin.fin_uncollected_receivables_detailed_jr AS j WHERE j.payCostTitleKey = '006' ) AS fj - ) AS fjj - WHERE - fjj.busSid = a.sid - ), - 0 - ) AS fund - FROM - ( - SELECT - pd.dueDate, - pd.useOrgSid, - pd.sid, - pd.dueMoney, - pd.overdue, - t.repaidMoney, - t.outstandingMoney, - IFNULL( pd.paymentInterest, 0 ) AS bankBeInter, - pd.overdue AS dueOverdue, - pd.updateTime AS updateDate - FROM - loan_repayment_plan_details AS pd - LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid - LEFT JOIN ( - SELECT - p.sid, - IFNULL(( - SELECT - SUM( - IFNULL( h.actualMoney, 0 )) - FROM - loan_repayment_history AS h - WHERE - h.planDetailSid = p.sid - AND h.updateState = '1' - ), - 0 - ) AS repaidMoney, - IFNULL( - ( - p.dueMoney - IFNULL(( - SELECT - SUM( - IFNULL( h.actualMoney, 0 )) - FROM - loan_repayment_history AS h - WHERE - h.planDetailSid = p.sid - AND h.updateState = '1' - ), - 0 - )), - 0 - ) AS outstandingMoney - FROM - loan_repayment_plan_details AS p - ) AS t ON pd.sid = t.sid - ) AS a - WHERE - a.dueDate <= a.updateDate - AND a.sid = #{pSid} - ) AS b + WHEN (b.outstandingMoney + b.bankBeInter + b.fund) > 0 THEN + '0' + WHEN (b.outstandingMoney + b.bankBeInter + b.fund) <= 0 THEN + '1' + END AS checkState + FROM ( + SELECT a.*, + IFNULL(( + SELECT (fjj.reveivableMoney - fjj.m) + FROM ( + SELECT IFNULL(( + SELECT SUM(subscriptionMoney) + FROM anrui_fin.fin_selected_receivables_detailed AS s + WHERE s.auditState = '3' + AND s.receivablesSid = fj.sid + ), + 0 + ) AS m, + fj.* + FROM (SELECT j.busSid, j.sid, j.reveivableMoney + FROM anrui_fin.fin_uncollected_receivables_detailed_jr AS j + WHERE j.payCostTitleKey = '006') AS fj + ) AS fjj + WHERE fjj.busSid = a.sid + ), + 0 + ) AS fund + FROM ( + SELECT pd.dueDate, + pd.useOrgSid, + pd.sid, + pd.dueMoney, + pd.overdue, + t.repaidMoney, + t.outstandingMoney, + IFNULL(pd.paymentInterest, 0) AS bankBeInter, + pd.overdue AS dueOverdue, + pd.updateTime AS updateDate + FROM loan_repayment_plan_details AS pd + LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid + LEFT JOIN ( + SELECT p.sid, + IFNULL(( + SELECT SUM( + IFNULL(h.actualMoney, 0)) + FROM loan_repayment_history AS h + WHERE h.planDetailSid = p.sid + AND h.updateState = '1' + ), + 0 + ) AS repaidMoney, + IFNULL( + ( + p.dueMoney - IFNULL(( + SELECT SUM( + IFNULL(h.actualMoney, 0)) + FROM loan_repayment_history AS h + WHERE h.planDetailSid = p.sid + AND h.updateState = '1' + ), + 0 + )), + 0 + ) AS outstandingMoney + FROM loan_repayment_plan_details AS p + ) AS t ON pd.sid = t.sid + ) AS a + WHERE a.dueDate <= a.updateDate + AND a.sid = #{pSid} + ) AS b + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsRest.java index 2a8cb3f282..abcfa08c4d 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsRest.java @@ -70,4 +70,9 @@ public class LoanRepaymentPlanDetailsRest implements LoanRepaymentPlanDetailsFei loanRepaymentPlanDetailsService.updateVehSidAndPeriod(busVinSid, period, paymentMoney, paymentInterest); return rb.success(); } + + @Override + public ResultBean pushFund(String sid) { + return loanRepaymentPlanDetailsService.pushFund(sid); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java index b1d716032c..34a7e9e3a3 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java @@ -1,62 +1,39 @@ package com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.date.DateUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.google.common.util.concurrent.ThreadFactoryBuilder; +import cn.hutool.core.date.DateTime; +import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo; +import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; + import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; -import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontractDetailsVo; -import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontractFeign; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; -import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; -import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo; +import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; +import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; +import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; -import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; -import com.yxt.anrui.portal.api.sysuser.SysUserFeign; -import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.riskcenter.api.loanpushfundhistory.LoanPushFundHistory; import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.DifferenceVo; import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.HistoryOverDueVo; -import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryDto; + import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.*; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.*; -import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; -import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; -import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicy; -import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformation; + +import com.yxt.anrui.riskcenter.biz.loanpushfundhistory.LoanPushFundHistoryService; import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService; import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleService; -import com.yxt.anrui.riskcenter.biz.loansolutions.LoanSolutionsService; -import com.yxt.anrui.riskcenter.biz.loansolutionsotherpolicy.LoanSolutionsOtherpolicyService; -import com.yxt.anrui.riskcenter.biz.loanwarrantinformation.LoanWarrantInformationService; -import com.yxt.common.base.config.component.DocPdfComponent; + import com.yxt.common.base.service.MybatisBaseService; -import com.yxt.common.base.utils.MsgWs; -import com.yxt.common.base.utils.PagerUtil; -import com.yxt.common.base.utils.StringUtils; -import com.yxt.common.base.utils.WordConvertUtils; -import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; -import com.yxt.common.core.vo.PagerVo; -import com.yxt.messagecenter.api.message.MessageFeign; -import com.yxt.messagecenter.api.message.MessagePushTransferDto; -import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.io.File; -import java.io.InputStream; -import java.math.BigDecimal; -import java.text.ParseException; -import java.text.SimpleDateFormat; import java.util.*; -import java.util.concurrent.*; -import java.util.stream.Collectors; /** @@ -67,11 +44,25 @@ import java.util.stream.Collectors; @Service public class LoanRepaymentPlanDetailsService extends MybatisBaseService { - + @Autowired + private BusSalesOrderFeign busSalesOrderFeign; + @Autowired + private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign; @Autowired private LoanRepaymentHistoryService loanRepaymentHistoryService; @Autowired private LoanRepaymentScheduleService loanRepaymentScheduleService; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private FinKingDeeFeign finKingDeeFeign; + @Autowired + private BusSalesOrderBorrowerFeign busSalesOrderBorrowerFeign; + @Autowired + private BasePurchaseSystemFeign basePurchaseSystemFeign; + @Autowired + private LoanPushFundHistoryService loanPushFundHistoryService; + @Transactional(rollbackFor = Exception.class) public ResultBean savePlanDetails(LoanRepaymentPlanDetailsDto dto) { @@ -194,7 +185,7 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService selUseOrgSidListForFundVoucher() { - return baseMapper.selUseOrgSidListForFundVoucher(); + return baseMapper.selUseOrgSidListForFundVoucher(); } public List getFundForVoucher(String u) { @@ -206,10 +197,105 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService fundHistoryList = new ArrayList<>(); + LoanRepaymentPlanDetails planDetails = fetchBySid(sid); + GeneralVoucher generalVoucher = new GeneralVoucher(); + List voucherDetails = new ArrayList<>(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(planDetails.getUseOrgSid()).getData(); + if (null != organizationVo) { + generalVoucher.setUseOrgCode(organizationVo.getOrgCode()); + } + GeneralVoucher.GeneralVoucherDetail voucherDetail1 = new GeneralVoucher.GeneralVoucherDetail(); + voucherDetail1.setSceneCode("贷方"); + voucherDetail1.setDataTime(new DateTime()); + voucherDetail1.setAmount(v.getDuePushMoney()); + List deptVo = sysOrganizationFeign.selectChildrenListBySid(planDetails.getUseOrgSid()).getData(); + if (!deptVo.isEmpty()) { + deptVo.stream().forEach(d -> { + if (d.getName().equals("金融服务部")) { + voucherDetail1.setDeptCode(d.getOrgCode()); + } + }); + } + voucherDetails.add(voucherDetail1); + BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(v.getBusVinSid()).getData(); + if (null != busSalesOrderVehicle) { + BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(busSalesOrderVehicle.getSalesOrderSid()).getData(); + String deptSid = salesOrder.getOrgSid(); + GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); + voucherDetail.setSceneCode("借方"); + voucherDetail.setDataTime(new DateTime()); + SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData(); + if (null != organizationDeptVo) { + voucherDetail.setDeptCode(organizationDeptVo.getOrgCode()); + } + if (null != salesOrder) { + if (null != busSalesOrderVehicle) { + String customerNumber = ""; + //判断财务系统是否有客户 + Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData(); + String linkNo = ""; + BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData(); + if (!aBoolean) { + // List bdCustomers = new ArrayList<>(); + BdCustomer bdCustomer = new BdCustomer(); + bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo()); + bdCustomer.setFShortName(salesOrder.getContractNo()); + BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData(); + bdCustomer.setTOrgIds(data.getOrgCode()); + if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { + String vinNo = busSalesOrderVehicle.getLinkNo(); + if (vinNo.length() > 8) { + linkNo = vinNo.substring(vinNo.length() - 8); + } else { + linkNo = busSalesOrderVehicle.getLinkNo(); + } + if (null != borrowerDetailsVo) { + bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo); + } + } else { + if (null != borrowerDetailsVo) { + bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo()); + } + } + // bdCustomers.add(bdCustomer); + ResultBean resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer); + if (resultBean.getSuccess()) { + customerNumber = bdCustomer.getFNumber(); + } + } else { + customerNumber = busSalesOrderVehicle.getTemporaryNo(); + } + voucherDetail.setCustomerCode(customerNumber); + } + } + voucherDetail.setAmount(v.getDuePushMoney()); + voucherDetails.add(voucherDetail); + } + LoanPushFundHistory loanPushFundHistory = new LoanPushFundHistory(); + BeanUtil.copyProperties(v, loanPushFundHistory, "id", "sid", "fund"); + if (null != v.getDuePushMoney()) { + loanPushFundHistory.setFund(v.getDuePushMoney()); + } + fundHistoryList.add(loanPushFundHistory); + generalVoucher.setVoucherDetails(voucherDetails); + finKingDeeFeign.saveFundVoucher(generalVoucher); + // 生成推送资金占用费历史记录 + if (!fundHistoryList.isEmpty()) { + loanPushFundHistoryService.saveLists(fundHistoryList); + } + } + return rb.success(); + } } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceInfoVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceInfoVo.java index 821b8afe29..2b9f3e92b4 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceInfoVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceInfoVo.java @@ -112,4 +112,13 @@ public class AdvanceInvoiceInfoVo implements Vo { private String saleSid; @ApiModelProperty("是否显示价值客户") private Boolean showValueCustomer; + + // 下载地址 + private String allDownloadUrl; + // 显示生成合同 下载合同按钮 全款/非耽误为true + private int contractBtns; + // 销售订单开票名称 + private String orderInvoiceSid; + // 销售订单开票价格 + private String orderInvoicePrice; } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeign.java index e1aafe5675..eac5646227 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeign.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeign.java @@ -91,6 +91,11 @@ public interface AppBusAdvanceGinvoiceapplyFeign { @ResponseBody public ResultBean saveAdvanceInvoice(@Valid @RequestBody AdvanceInvoiceDto dto); + @ApiOperation("移动端-欠款开票点击生成附件合同") + @PostMapping("/saveAdvanceInvoicePdf") + @ResponseBody + public ResultBean saveAdvanceInvoicePdf(@Valid @RequestBody AdvanceInvoiceDto dto); + @ApiOperation("移动端-保存欠款领票申请") @PostMapping("/saveAdvanceInvoiceLP") @ResponseBody diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeignFallback.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeignFallback.java index 3edfac35f2..c90c3abd9c 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeignFallback.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeignFallback.java @@ -78,6 +78,11 @@ public class AppBusAdvanceGinvoiceapplyFeignFallback implements AppBusAdvanceGin return null; } + @Override + public ResultBean saveAdvanceInvoicePdf(AdvanceInvoiceDto dto) { + return null; + } + @Override public ResultBean saveAdvanceInvoiceLP(AdvanceInvoiceDto dto) { return null; diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyRest.java index 71d8519e21..b447da584a 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyRest.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyRest.java @@ -85,6 +85,11 @@ public class AppBusAdvanceGinvoiceapplyRest implements AppBusAdvanceGinvoiceappl return appBusAdvanceGinvoiceapplyService.saveAdvanceInvoice(dto); } + @Override + public ResultBean saveAdvanceInvoicePdf(AdvanceInvoiceDto dto) { + return appBusAdvanceGinvoiceapplyService.saveAdvanceInvoicePdf(dto); + } + @Override public ResultBean saveAdvanceInvoiceLP(AdvanceInvoiceDto dto) { return appBusAdvanceGinvoiceapplyService.saveAdvanceInvoiceLP(dto); diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java index 3e03eb4f4d..9598cc56e6 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java @@ -1707,4 +1707,156 @@ public class AppBusAdvanceGinvoiceapplyService { } return rb; } + + public ResultBean saveAdvanceInvoicePdf(AdvanceInvoiceDto dto) { + //开票车辆信息 + List vinList = dto.getVinList(); + if (vinList.isEmpty()) { + return new ResultBean().fail().setMsg("请选择车辆信息"); + } + FinBillApplicationDto finBillApplicationDto = new FinBillApplicationDto(); + BeanUtil.copyProperties(dto, finBillApplicationDto, "arrearsCollectionAppendxs"); + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); + finBillApplicationDto.setUseOrgSid(useOrgSid); + finBillApplicationDto.setCreateBySid(dto.getUserSid()); + finBillApplicationDto.setArrearsMoney(dto.getInvoiceTotal()); + finBillApplicationDto.setReturnedMoneyDate(dto.getCollectionDate()); + finBillApplicationDto.setArrearsOpenYYKey(dto.getReasonKey()); + finBillApplicationDto.setArrearsOpenYYValue(dto.getReasonValue()); + finBillApplicationDto.setIsLQOrigInvoice(dto.getGetOriginalValue()); + finBillApplicationDto.setOrgSidPath(dto.getOrgPath()); + finBillApplicationDto.setSaleTypeValue(dto.getSaleType()); + finBillApplicationDto.setSaleDeptName(dto.getSellerName()); + finBillApplicationDto.setStaffName(dto.getSellerName()); + finBillApplicationDto.setOpenTickUnitName(dto.getInvoicingUnit()); + finBillApplicationDto.setCustomerName(dto.getName()); + finBillApplicationDto.setOneBillMoney(dto.getInvoiceMoney()); + finBillApplicationDto.setOpenTickName(dto.getOpenTickName()); + finBillApplicationDto.setContractNo(dto.getContractId()); + finBillApplicationDto.setApplyDate(dto.getDate()); + finBillApplicationDto.setCreateBySid(dto.getUserSid()); + finBillApplicationDto.setNodeState(dto.getNodeState()); + finBillApplicationDto.setBillNo(dto.getBillNo()); + finBillApplicationDto.setModelSid(dto.getModelSid()); + finBillApplicationDto.setModelName(dto.getModelName()); + finBillApplicationDto.setOpenTickTypeKey(dto.getOpenTickTypeKey()); + finBillApplicationDto.setOpenTickTypeValue(dto.getOpenTickTypeValue()); + String publishInfo = dto.getPublishInfo(); + String[] split = publishInfo.split("-"); + finBillApplicationDto.setDeptName(split[0]); + finBillApplicationDto.setCreateByName(split[1]); + //开票车辆信息 + List finBillVehicleDtos = new ArrayList<>(); + for (AppCarListDto vinListDto : vinList) { + if (StringUtils.isBlank(vinListDto.getInvoiceInfo())){ + return new ResultBean().fail().setMsg("开票信息不能为空"); + } + 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); + } + finBillApplicationDto.setFinBillVehicles(finBillVehicleDtos); + //开票挂车信息 + List finBillTrailers = dto.getFinBillTrailers(); + List 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); + } + } + finBillApplicationDto.setFinBillTrailers(finBillTrailerDtos); + //附件信息 + List customerInvoiceApplyImages = dto.getCustomerInvoiceApplyImages();//客户开票申请书 + List invoiceApplyConfirmImages = dto.getInvoiceApplyConfirmImages();//开票信息确认书 + List registerContractImages = dto.getRegisterContractImages();//车辆登记合同 + List idCardImages = dto.getIdCardImages();//证件 + List arrearsCollectionAppendxs = dto.getArrearsCollectionAppendxs(); + List gsgdhdwdbjy = dto.getGsgdhdwdbjy(); + List zrrdbcns = dto.getZrrdbcns(); + List zfxsjt = dto.getZfxsjt(); + List khkpsqsApplicationAppendxs = new ArrayList<>(); // 客户开票申请书附件信息 + List kpxxqrsApplicationAppendxs = new ArrayList<>(); // 开票信息确认书附件信息 + List cldjhtApplicationAppendxs = new ArrayList<>(); // 车辆登记合同附件信息 + List idCardImagesPC = new ArrayList<>();//证件 + List qklpfjImages = new ArrayList<>(); + List pcgsgdhdwdbjy = new ArrayList<>(); + List pczrrdbcns = new ArrayList<>(); + List pczfxsjt = 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); + } + } + if (arrearsCollectionAppendxs != null) { + for (String arrearsCollectionAppendx : arrearsCollectionAppendxs) { + FinBillFileDto finBillFileDto = new FinBillFileDto(); + finBillFileDto.setFileUrl(arrearsCollectionAppendx); + qklpfjImages.add(finBillFileDto); + } + } + if (gsgdhdwdbjy != null) { + for (String gsgdhdwdb : gsgdhdwdbjy) { + FinBillFileDto finBillFileDto = new FinBillFileDto(); + finBillFileDto.setFileUrl(gsgdhdwdb); + pcgsgdhdwdbjy.add(finBillFileDto); + } + } + if (zrrdbcns != null) { + for (String zrrdbcn : zrrdbcns) { + FinBillFileDto finBillFileDto = new FinBillFileDto(); + finBillFileDto.setFileUrl(zrrdbcn); + pczrrdbcns.add(finBillFileDto); + } + } + if (zfxsjt != null) { + for (String zfxs : zfxsjt) { + FinBillFileDto finBillFileDto = new FinBillFileDto(); + finBillFileDto.setFileUrl(zfxs); + pczfxsjt.add(finBillFileDto); + } + } + finBillApplicationDto.setKhkpsqsApplicationAppendxs(khkpsqsApplicationAppendxs); + finBillApplicationDto.setKpxxqrsApplicationAppendxs(kpxxqrsApplicationAppendxs); + finBillApplicationDto.setCldjhtApplicationAppendxs(cldjhtApplicationAppendxs); + finBillApplicationDto.setZjApplicationAppendxs(idCardImagesPC); + finBillApplicationDto.setArrearsCollectionAppendxs(qklpfjImages); + finBillApplicationDto.setPcgsgdhdwdbjy(pcgsgdhdwdbjy); + finBillApplicationDto.setPczrrdbcns(pczrrdbcns); + finBillApplicationDto.setPczfxsjt(pczfxsjt); + ResultBean resultBean = finBillApplicationFeign.saveInvoicedApplyInfoPdfQk(finBillApplicationDto); + return resultBean; + } } \ No newline at end of file diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemVo.java index 697ea7467a..631cd34264 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemVo.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asserviceitem/AsServiceItemVo.java @@ -57,6 +57,8 @@ public class AsServiceItemVo implements Vo { private String sitemCode; @ApiModelProperty("工种(分类)") private String serviceType; + @ApiModelProperty("工种sid(分类)") + private String serviceTypeSid; @ApiModelProperty("车型") private String goodsModel; @ApiModelProperty("备注") diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/GoodsListVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/GoodsListVo.java new file mode 100644 index 0000000000..eefa6e40f0 --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/GoodsListVo.java @@ -0,0 +1,44 @@ +package com.yxt.anrui.as.api.asservicepackage; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/3/13 10:55 + */ +@Data +public class GoodsListVo { + + @ApiModelProperty("商品sid") + private String goodsSid; // 商品sid + @ApiModelProperty("商品名称") + private String goodsName; // 商品名称 + @ApiModelProperty("商品编码(图号)") + private String goodsCode; // 商品编码(图号) + @ApiModelProperty("车型sid") + private String goodsModelSid; // 车型sid + @ApiModelProperty("车型") + private String goodsModel; // 车型 + @ApiModelProperty("单位") + private String unit; // 单位 + @ApiModelProperty("规格") + private String specification; // 规格 + @ApiModelProperty("数量") + private String count; // 数量 + @ApiModelProperty("销售价") + private String price; // 销售价 + @ApiModelProperty("仓库名称") + private String warehouse; // 仓库名称 + @ApiModelProperty("仓库sid") + private String warehouseSid; // 仓库sid + @ApiModelProperty("货位") + private String warehouseArea; + @ApiModelProperty("备注") + private String remarks; // 备注 + @ApiModelProperty("三包价") + private String freePrice; // 三包价 + @ApiModelProperty("商品分类") + private String goodsTypeName; +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageGoodsQuery.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageGoodsQuery.java index ca66c94e01..5510d4e516 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageGoodsQuery.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageGoodsQuery.java @@ -1,6 +1,7 @@ package com.yxt.anrui.as.api.asservicepackage; import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -11,5 +12,17 @@ import lombok.Data; @Data public class PackageGoodsQuery implements Query { private String orgPath; - private String goodsName; + @ApiModelProperty("商品名称") + private String goodsName; // 商品名称 + @ApiModelProperty("零件号") + private String goodsCode; // 商品编码(图号) + @ApiModelProperty("库存") + private String kuCun; + @ApiModelProperty("仓库名称") + private String warehouse; // 仓库名称 + @ApiModelProperty("货位") + private String warehouseArea; + @ApiModelProperty("商品分类") + private String goodsTypeName; + private String name; } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageItemVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageItemVo.java index d3276310de..4db7450a10 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageItemVo.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageItemVo.java @@ -30,8 +30,8 @@ public class PackageItemVo { private String price; @ApiModelProperty("科目sid") private String subjectSid; - @ApiModelProperty("科目名称") - private String subjectName; + @ApiModelProperty("科目") + private String subject; // 科目 @ApiModelProperty("折扣(0-10,0免费,10不打折)") private String discount; // 折扣(0-10,0免费,10不打折) @ApiModelProperty("优惠金额(=销售价*(折扣*0.1))") diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/SubjectVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/SubjectVo.java new file mode 100644 index 0000000000..0a4014a8a4 --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/SubjectVo.java @@ -0,0 +1,17 @@ +package com.yxt.anrui.as.api.asservicepackage; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/3/13 14:31 + */ +@Data +public class SubjectVo { + @ApiModelProperty("科目sid") + private String subjectSid; + @ApiModelProperty("科目") + private String subject; // 科目 +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.java index 35a474a6de..f95c4c72d8 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.java @@ -29,13 +29,10 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.toolkit.Constants; -import com.yxt.anrui.as.api.asservicepackage.PackageAttachItemVo; -import com.yxt.anrui.as.api.asservicepackage.PackageItemVo; +import com.yxt.anrui.as.api.asservicepackage.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; -import com.yxt.anrui.as.api.asservicepackage.AsServicePackage; -import com.yxt.anrui.as.api.asservicepackage.AsServicePackageVo; import java.util.List; @@ -68,4 +65,6 @@ public interface AsServicePackageMapper extends BaseMapper { List selItemInfo(@Param("useOrgSid") String useOrgSid); List selAttItemInfo(@Param("useOrgSid") String useOrgSid); + + List selSubjectInfo(@Param("useOrgSid") String useOrgSid); } \ No newline at end of file diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.xml index fd0a5d0c29..2ec3e239cd 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.xml +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.xml @@ -31,4 +31,13 @@ FROM as_service_attachitem WHERE createOrgSid = #{useOrgSid} + \ No newline at end of file diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageRest.java index 6a98e364ac..604f3b6228 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageRest.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageRest.java @@ -107,11 +107,18 @@ public class AsServicePackageRest { List voList = asServicePackageService.selAttItemInfo(orgPath); return rb.success().setData(voList); } + @ApiOperation("查询分公司科目") + @GetMapping("/selSubjectInfo") + public ResultBean> selSubjectInfo(@RequestParam("orgPath") String orgPath){ + ResultBean rb = ResultBean.fireFail(); + List voList = asServicePackageService.selSubjectInfo(orgPath); + return rb.success().setData(voList); + } @ApiOperation("查询分公司商品信息") @PostMapping("/selGoodsInfo") - public ResultBean> selGoodsInfo(@RequestBody PagerQuery pq){ + public ResultBean> selGoodsInfo(@RequestBody PagerQuery pq){ ResultBean rb = ResultBean.fireFail(); - PagerVo pagerVo = asServicePackageService.selGoodsInfo(pq); + PagerVo pagerVo = asServicePackageService.selGoodsInfo(pq); return rb.success().setData(pagerVo); } } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageService.java index 0b34b55f15..fc426b7986 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageService.java @@ -193,8 +193,8 @@ public class AsServicePackageService extends MybatisBaseService selGoodsInfo(PagerQuery pq) { + public PagerVo selGoodsInfo(PagerQuery pq) { PagerQuery query = new PagerQuery<>(); BeanUtil.copyProperties(pq, query); - AsServicePackageQuery params = pq.getParams(); - ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(params.getOrgPath()); - if (orgSidByPath.getSuccess()) { - String useOrgSid = orgSidByPath.getData(); - WmsGoodsPackageQuery queryParams = query.getParams(); - queryParams.setUseOrgSid(useOrgSid); - } + PackageGoodsQuery params = pq.getParams(); +// ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(params.getOrgPath()); +// if (orgSidByPath.getSuccess()) { +// String useOrgSid = orgSidByPath.getData(); +// WmsGoodsPackageQuery queryParams = query.getParams(); +// queryParams.setUseOrgSid(useOrgSid); +// } ResultBean> voResultBean = wmsGoodsFeign.getPackageGoodsVo(query); - PagerVo vo = new PagerVo<>(); + PagerVo vo = new PagerVo<>(); if (voResultBean.getSuccess()) { PagerVo data = voResultBean.getData(); BeanUtil.copyProperties(data, vo); } return vo; } + + public List selSubjectInfo(String orgPath) { + List list = new ArrayList<>(); + ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); + if (orgSidByPath.getSuccess()) { + String useOrgSid = orgSidByPath.getData(); + list = baseMapper.selSubjectInfo(useOrgSid); + } + return list; + } } \ No newline at end of file diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageQuery.java b/yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageQuery.java index c2c09c86dd..dbf97c55fd 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageQuery.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageQuery.java @@ -1,6 +1,7 @@ package com.yxt.anrui.as.feign.wms.wmsgoods; import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -11,5 +12,17 @@ import lombok.Data; @Data public class WmsGoodsPackageQuery implements Query { private String useOrgSid; - private String goodsName; + @ApiModelProperty("商品名称") + private String goodsName; // 商品名称 + @ApiModelProperty("零件号") + private String goodsCode; // 商品编码(图号) + @ApiModelProperty("库存") + private String kuCun; + @ApiModelProperty("仓库名称") + private String warehouse; // 仓库名称 + @ApiModelProperty("货位") + private String warehouseArea; + @ApiModelProperty("商品分类") + private String goodsTypeName; + private String name; } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageVo.java index 4f8c00fe3c..9813f3bc60 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageVo.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageVo.java @@ -25,24 +25,22 @@ public class WmsGoodsPackageVo { private String goodsModel; // 车型 @ApiModelProperty("单位") private String unit; // 单位 -// @ApiModelProperty("仓库sid") -// private String warehouseSid; // 仓库sid -// @ApiModelProperty("仓库名称") -// private String warehouse; // 仓库名称 -// @ApiModelProperty("科目sid") -// private String subjectSid; // 科目sid -// @ApiModelProperty("科目") -// private String subject; // 科目 -// @ApiModelProperty("销售价") -// private String price; // 销售价 -// @ApiModelProperty("数量") -// private String count; // 数量 -// @ApiModelProperty("折扣(0-10,0免费,10不打折)") -// private String discount; // 折扣(0-10,0免费,10不打折) -// @ApiModelProperty("优惠金额(=销售价*(折扣*0.1))") -// private String discountAmount; // 优惠金额(=销售价*(折扣*0.1)) -// @ApiModelProperty("金额(销售价-优惠金额)") -// private String amount; // 金额(销售价-优惠金额) @ApiModelProperty("规格") private String specification; // 规格 + @ApiModelProperty("数量") + private String count; // 数量 + @ApiModelProperty("销售价") + private String price; // 销售价 + @ApiModelProperty("仓库名称") + private String warehouse; // 仓库名称 + @ApiModelProperty("仓库sid") + private String warehouseSid; // 仓库sid + @ApiModelProperty("货位") + private String warehouseArea; + @ApiModelProperty("备注") + private String remarks; // 备注 + @ApiModelProperty("三包价") + private String freePrice; // 三包价 + @ApiModelProperty("商品分类") + private String goodsTypeName; }