Browse Source

Merge remote-tracking branch 'origin/master'

master
God 1 year ago
parent
commit
a04cb0b5f9
  1. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationService.java
  2. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/invoiceApply.ftl
  3. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  4. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  5. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.java
  6. 19
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.xml
  7. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyService.java
  8. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.java
  9. 20
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml
  10. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedService.java
  11. 7
      anrui-riskcenter-ui/src/api/monthlypayment/monthlypayment.js
  12. 73
      anrui-riskcenter-ui/src/views/monthlypayment/monthlypayment.vue
  13. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmortgageinformationtransact/LoanMortgageInformationTransact.java
  14. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmortgageinformationtransact/LoanMortgageInformationTransactDetailsVo.java
  15. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmortgageinformationtransact/LoanMortgageInformationTransactFeign.java
  16. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmortgageinformationtransact/LoanMortgageInformationTransactFeignFallback.java
  17. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmortgageinformationtransact/LoanMortgageInformationTransactVo.java
  18. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryFeign.java
  19. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryFeignFallback.java
  20. 16
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/NoImportQuery.java
  21. 16
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/NoImportVo.java
  22. 14
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/CheckPayStateVo.java
  23. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanRepaymentPlanDetails.java
  24. 10
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java
  25. 9
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmortgageinformationtransact/LoanMortgageInformationTransactMapper.xml
  26. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmortgageinformationtransact/LoanMortgageInformationTransactRest.java
  27. 14
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmortgageinformationtransact/LoanMortgageInformationTransactService.java
  28. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java
  29. 100
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml
  30. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryRest.java
  31. 86
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java
  32. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java
  33. 113
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml
  34. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java
  35. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/mortgage/AppMortgageInformationTransactDetailsVo.java
  36. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/mortgage/AppMortgageInformationTransactDto.java
  37. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/mortgage/AppMortgageInformationTransactVo.java
  38. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/mortgage/MortgageFeign.java
  39. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/mortgage/MortgageFeignFallback.java
  40. 4
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/mortgage/MortgageRest.java
  41. 4
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/mortgage/MortgageService.java
  42. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/AsServicePackageDetailsVo.java
  43. 15
      yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/AsServicePackageDto.java
  44. 10
      yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageAttachItemVo.java
  45. 15
      yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageGoodsQuery.java
  46. 37
      yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageGoodsVo.java
  47. 11
      yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageItemVo.java
  48. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackageaitem/AsServicePackageAitem.java
  49. 2
      yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackagegoods/AsServicePackageGoods.java
  50. 6
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.java
  51. 29
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.xml
  52. 38
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageRest.java
  53. 192
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageService.java
  54. 7
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackageaitem/AsServicePackageAitemMapper.java
  55. 10
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackageaitem/AsServicePackageAitemService.java
  56. 8
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackagegoods/AsServicePackageGoodsMapper.java
  57. 10
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackagegoods/AsServicePackageGoodsService.java
  58. 7
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackagesitem/AsServicePackageSitemMapper.java
  59. 9
      yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackagesitem/AsServicePackageSitemService.java
  60. 31
      yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsFeign.java
  61. 56
      yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsFeignFallback.java
  62. 15
      yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageQuery.java
  63. 48
      yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageVo.java

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busbillapplication/BusBillApplicationService.java

@ -1357,6 +1357,7 @@ public class BusBillApplicationService extends MybatisBaseService<BusBillApplica
List<BusBillVehicleDto> finBillVehicles = dto.getFinBillVehicles(); List<BusBillVehicleDto> finBillVehicles = dto.getFinBillVehicles();
for (BusBillVehicleDto v : finBillVehicles) { for (BusBillVehicleDto v : finBillVehicles) {
BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectByBorrowSid(dto.getContractNo(), v.getVehSid()); BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectByBorrowSid(dto.getContractNo(), v.getVehSid());
if(StringUtils.isNotBlank(busSalesOrderVehicle.getBorrowerSid())){
LoanNoGuaranteeCreditReviewDetailsVo loanNoGuaranteeCreditReviewDetailsVo = loanNoGuaranteeCreditReviewFeign.selByBorrSid(busSalesOrderVehicle.getBorrowerSid()).getData(); LoanNoGuaranteeCreditReviewDetailsVo loanNoGuaranteeCreditReviewDetailsVo = loanNoGuaranteeCreditReviewFeign.selByBorrSid(busSalesOrderVehicle.getBorrowerSid()).getData();
if ("2".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())) {//登记在挂靠公司 if ("2".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())) {//登记在挂靠公司
v.setOpenTickSid(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompanySid()); v.setOpenTickSid(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompanySid());
@ -1365,6 +1366,7 @@ public class BusBillApplicationService extends MybatisBaseService<BusBillApplica
v.setBillTypeValue(busSalesOrder.getBillingType()); v.setBillTypeValue(busSalesOrder.getBillingType());
} }
} }
}
//按开票名称sid分组 //按开票名称sid分组
Map<String, List<BusBillVehicleDto>> groupedByOpenTickSid = finBillVehicles.stream() Map<String, List<BusBillVehicleDto>> groupedByOpenTickSid = finBillVehicles.stream()
.collect(Collectors.groupingBy(BusBillVehicleDto::getOpenTickSid)); .collect(Collectors.groupingBy(BusBillVehicleDto::getOpenTickSid));

4
anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/invoiceApply.ftl

@ -998,7 +998,7 @@
<w:sz w:val="28"/> <w:sz w:val="28"/>
<w:sz-cs w:val="28"/> <w:sz-cs w:val="28"/>
</w:rPr> </w:rPr>
<w:t>数量</w:t> <w:t>车架号</w:t>
</w:r> </w:r>
</w:p> </w:p>
</w:tc> </w:tc>
@ -1194,7 +1194,7 @@
<w:kern w:val="0"/> <w:kern w:val="0"/>
<w:sz-cs w:val="21"/> <w:sz-cs w:val="21"/>
</w:rPr> </w:rPr>
<w:t>${car.num!}</w:t> <w:t>${car.vinNo!}</w:t>
</w:r> </w:r>
</w:p> </w:p>
</w:tc> </w:tc>

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

@ -1263,6 +1263,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
List<FinBillVehicleDto> finBillVehicles = dto.getFinBillVehicles(); List<FinBillVehicleDto> finBillVehicles = dto.getFinBillVehicles();
for (FinBillVehicleDto v : finBillVehicles) { for (FinBillVehicleDto v : finBillVehicles) {
BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectByBorrowSid(dto.getContractNo(), v.getVehSid()); BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectByBorrowSid(dto.getContractNo(), v.getVehSid());
if(StringUtils.isNotBlank(busSalesOrderVehicle.getBorrowerSid())){
LoanNoGuaranteeCreditReviewDetailsVo loanNoGuaranteeCreditReviewDetailsVo = loanNoGuaranteeCreditReviewFeign.selByBorrSid(busSalesOrderVehicle.getBorrowerSid()).getData(); LoanNoGuaranteeCreditReviewDetailsVo loanNoGuaranteeCreditReviewDetailsVo = loanNoGuaranteeCreditReviewFeign.selByBorrSid(busSalesOrderVehicle.getBorrowerSid()).getData();
if ("2".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())) {//登记在挂靠公司 if ("2".equals(loanNoGuaranteeCreditReviewDetailsVo.getType())) {//登记在挂靠公司
v.setOpenTickSid(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompanySid()); v.setOpenTickSid(loanNoGuaranteeCreditReviewDetailsVo.getAffiliatedCompanySid());
@ -1271,6 +1272,8 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
v.setBillTypeValue(busSalesOrder.getBillingType()); v.setBillTypeValue(busSalesOrder.getBillingType());
} }
} }
}
//按开票名称sid分组 //按开票名称sid分组
Map<String, List<FinBillVehicleDto>> groupedByOpenTickSid = finBillVehicles.stream() Map<String, List<FinBillVehicleDto>> groupedByOpenTickSid = finBillVehicles.stream()
.collect(Collectors.groupingBy(FinBillVehicleDto::getOpenTickSid)); .collect(Collectors.groupingBy(FinBillVehicleDto::getOpenTickSid));

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

@ -1624,12 +1624,14 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
//该合同编号下的该车架号的所有认款金额 //该合同编号下的该车架号的所有认款金额
if ("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) { if ("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) {
List<FinSelectedReceivablesDetailedVo> voList = finSelectedReceivablesDetailedService.selectListByVin1(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3); List<FinSelectedReceivablesDetailedVo> voList = finSelectedReceivablesDetailedService.selectListByVin1(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3);
List<FinSelectedReceivablesDetailedVo> voListD = finSelectedReceivablesDetailedService.selectListByVinD(v.getContractNo(), finUncollectedReceivablesDetailed.getBusVinSid(), 3);
BigDecimal bigDecimalVinAll = voList.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); 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<FinUncollectedReceivablesDetailed> unList = finUncollectedReceivablesDetailedService.selectListByBusVinSid1(finUncollectedReceivablesDetailed.getBusVinSid()); List<FinUncollectedReceivablesDetailed> unList = finUncollectedReceivablesDetailedService.selectListByBusVinSid1(finUncollectedReceivablesDetailed.getBusVinSid());
BigDecimal unDecimalVinAll = unList.stream().map(FinUncollectedReceivablesDetailed::getReveivableMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal unDecimalVinAll = unList.stream().map(FinUncollectedReceivablesDetailed::getReveivableMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
//查询该合同编号下的销售订单的单车成交价 //查询该合同编号下的销售订单的单车成交价
BigDecimal leftAll = unDecimalVinAll; BigDecimal leftAll = unDecimalVinAll;
BigDecimal rightAll = bigDecimalVinAll; BigDecimal rightAll = bigDecimalVinAll.add(bigDecimalVinAllD);
if (leftAll.compareTo(rightAll) <= 0) { if (leftAll.compareTo(rightAll) <= 0) {
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.FIN_RQ.getTypeKey()); baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.FIN_RQ.getTypeKey());

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.java

@ -79,4 +79,5 @@ public interface FinFundsCarriedForwardApplyMapper extends BaseMapper<FinFundsCa
String selectByBusSid(String busSid); String selectByBusSid(String busSid);
String selectByBusSid1(String busSid); String selectByBusSid1(String busSid);
String selectByBusSid1D(String busSid);
} }

19
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finfundscarriedforwardapply/FinFundsCarriedForwardApplyMapper.xml

@ -105,4 +105,23 @@
and ff.busVinSid = #{busVinSid} and ff.receivablesName = '首付款及费用' and ff.busVinSid = #{busVinSid} and ff.receivablesName = '首付款及费用'
GROUP BY d.`sid`) d GROUP BY d.`sid`) d
</select> </select>
<select id="selectByBusSid1D" resultType="java.lang.String">
select ifnull(sum(dbalance), 0) as subscriptionMoney
from (SELECT
cast((
d.`subscriptionMoney` - COALESCE(SUM(f.`thisUseMoney`), 0) ) AS DECIMAL(10, 2)) AS dbalance
FROM fin_selected_receivables_detailed d
left join fin_uncollected_receivables_detailed ff on ff.sid = d.receivablesSid
LEFT JOIN (
SELECT f.busSid,
f.thisUseMoney
FROM fin_funds_carried_forward_veh f
JOIN `fin_funds_carried_forward_apply` fa ON f.mainSid = fa.sid
WHERE fa.`nodeState` != '终止'
) f ON f.`busSid` = d.`sid`
WHERE d.auditState = 3
and ff.busVinSid = #{busVinSid} and ff.receivablesName = '订金'
GROUP BY d.`sid`) d
</select>
</mapper> </mapper>

4
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<FinFu
//查询该车是否是贷款 //查询该车是否是贷款
if("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())){ if("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())){
String subscribute = baseMapper.selectByBusSid1(finUncollectedReceivablesDetailed.getBusVinSid()); String subscribute = baseMapper.selectByBusSid1(finUncollectedReceivablesDetailed.getBusVinSid());
String subscributeD = baseMapper.selectByBusSid1D(finUncollectedReceivablesDetailed.getBusVinSid());
String receiableMoney = finUncollectedReceivablesDetailedService.selectByBusVinSid1(finUncollectedReceivablesDetailed.getBusVinSid()); String receiableMoney = finUncollectedReceivablesDetailedService.selectByBusVinSid1(finUncollectedReceivablesDetailed.getBusVinSid());
if (new BigDecimal(subscribute).compareTo(new BigDecimal(receiableMoney)) >= 0) { BigDecimal subscributeAll = new BigDecimal(subscribute).add(new BigDecimal(subscributeD));
if (subscributeAll.compareTo(new BigDecimal(receiableMoney)) >= 0) {
//已认款完成 //已认款完成
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto(); BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.FIN_RQ.getTypeKey()); baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.FIN_RQ.getTypeKey());

1
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<FinSele
List<FinSelectedReceivablesDetailedVo> selectListByVin(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state); List<FinSelectedReceivablesDetailedVo> selectListByVin(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state);
List<FinSelectedReceivablesDetailedVo> selectListByVin1(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state); List<FinSelectedReceivablesDetailedVo> selectListByVin1(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state);
List<FinSelectedReceivablesDetailedVo> selectListByVinD(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state);
List<FinSelectedReceivablesDetailedVo> selectListByVin2(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state); List<FinSelectedReceivablesDetailedVo> selectListByVin2(@Param("contractNo") String contractNo, @Param("busVinSid") String busVinSid, @Param("state") int state);
List<FinSelectedReceivablesDetailed> getList(@Param("list") List<String> sidsList); List<FinSelectedReceivablesDetailed> getList(@Param("list") List<String> sidsList);

20
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finselectedreceivablesdetailed/FinSelectedReceivablesDetailedMapper.xml

@ -209,6 +209,26 @@
and ff.receivablesName = '首付款及费用' and ff.receivablesName = '首付款及费用'
GROUP BY d.`sid`) d GROUP BY d.`sid`) d
</select> </select>
<select id="selectListByVinD"
resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo">
select ifnull(sum(dbalance), 0) as subscriptionMoney
from (SELECT cast((
d.`subscriptionMoney` - COALESCE(SUM(f.`thisUseMoney`), 0)) AS DECIMAL(10, 2)) AS dbalance
FROM fin_selected_receivables_detailed d
left join fin_uncollected_receivables_detailed ff on ff.sid = d.receivablesSid
LEFT JOIN (
SELECT f.busSid,
f.thisUseMoney
FROM fin_funds_carried_forward_veh f
JOIN `fin_funds_carried_forward_apply` fa ON f.mainSid = fa.sid
WHERE fa.`nodeState` != '终止'
) f ON f.`busSid` = d.`sid`
WHERE d.auditState = #{state}
and ff.busVinSid = #{busVinSid}
and d.contractNo = #{contractNo}
and ff.receivablesName = '订金'
GROUP BY d.`sid`) d
</select>
<select id="selectListByVin2" <select id="selectListByVin2"
resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo"> resultType="com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedVo">

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

@ -285,6 +285,10 @@ public class FinSelectedReceivablesDetailedService extends MybatisBaseService<Fi
return baseMapper.selectListByVin1(contractNo, busVinSid, state); return baseMapper.selectListByVin1(contractNo, busVinSid, state);
} }
public List<FinSelectedReceivablesDetailedVo> selectListByVinD(String contractNo, String busVinSid, int state) {
return baseMapper.selectListByVinD(contractNo, busVinSid, state);
}
public List<FinSelectedReceivablesDetailedVo> selectListByVin2(String contractNo, String busVinSid, int state) { public List<FinSelectedReceivablesDetailedVo> selectListByVin2(String contractNo, String busVinSid, int state) {
return baseMapper.selectListByVin2(contractNo, busVinSid, state); return baseMapper.selectListByVin2(contractNo, busVinSid, state);
} }

7
anrui-riskcenter-ui/src/api/monthlypayment/monthlypayment.js

@ -25,6 +25,13 @@ export default {
params: data params: data
}) })
}, },
noImportUpdate: function(data) {
return request({
url: '/riskcenter/v1/loanrepaymenthistory/noImportUpdate',
method: 'post',
params: data
})
},
deleteBySids: function(data) { deleteBySids: function(data) {
return request({ return request({
url: '/riskcenter/v1/loanrepaymenthistory/deleteBySids', url: '/riskcenter/v1/loanrepaymenthistory/deleteBySids',

73
anrui-riskcenter-ui/src/views/monthlypayment/monthlypayment.vue

@ -142,6 +142,25 @@
<el-button size="small" @click="dialogVisible = false">取消</el-button> <el-button size="small" @click="dialogVisible = false">取消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 非导入数据更新选择资方 -->
<el-dialog :visible.sync="bankVisible" width="40%" :show-close="false">
<el-form class="formaddcopy02">
<el-row style="border-top: 1px solid #E0E3EB">
<el-col :span="24">
<div class="span-sty">资方</div>
<el-form-item>
<el-select class="addinputInfo" v-model="bankSid" placeholder="请选择" clearable filterable>
<el-option v-for="item in bankShort_list" :key="item.sid" :label="item.name" :value="item.sid"></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer" style="text-align: center">
<el-button type="primary" size="small" @click="bankConfirm">确定</el-button>
<el-button size="small" @click="bankVisible = false">取消</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
@ -150,7 +169,7 @@ import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar' import ButtonBar from '@/components/ButtonBar'
import req from '@/api/monthlypayment/monthlypayment' import req from '@/api/monthlypayment/monthlypayment'
import { typeValues, getButtonPermissions } from '@/api/Common/dictcommons' import {typeValues, getButtonPermissions, selectListByOrgPath} from '@/api/Common/dictcommons'
import adjust from './adjust' import adjust from './adjust'
import deductAdd from '../deduct/deductAdd' import deductAdd from '../deduct/deductAdd'
@ -165,6 +184,9 @@ export default {
}, },
data() { data() {
return { return {
bankVisible: false,
bankSid: '',
bankShort_list: [],
btndisabled: false, btndisabled: false,
dialogVisible: false, dialogVisible: false,
updateAction: process.env.VUE_APP_BASE_API + '/riskcenter/v1/loanrepaymenthistory/getExcelInfo', updateAction: process.env.VUE_APP_BASE_API + '/riskcenter/v1/loanrepaymenthistory/getExcelInfo',
@ -192,6 +214,13 @@ export default {
btnKey: 'toEdit', btnKey: 'toEdit',
btnLabel: '调整' btnLabel: '调整'
}, },
{
type: 'primary',
size: 'small',
icon: '',
btnKey: 'toNotByUpdate',
btnLabel: '非导入数据更新'
},
{ {
type: 'primary', type: 'primary',
size: 'small', size: 'small',
@ -303,6 +332,11 @@ export default {
this.returnWay_list = resp.data this.returnWay_list = resp.data
} }
}) })
selectListByOrgPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
if (res.success) {
this.bankShort_list = res.data
}
})
}, },
// //
clicksearchShow() { clicksearchShow() {
@ -325,6 +359,9 @@ export default {
case 'toDeduct': case 'toDeduct':
this.toDeduct() this.toDeduct()
break break
case 'toNotByUpdate':
this.toNotByUpdate()
break
case 'toUpdate': case 'toUpdate':
this.toUpdate() this.toUpdate()
break break
@ -488,6 +525,40 @@ export default {
this.$message({ showClose: true, type: 'error', message: '资方划扣还款明细列表数据为空,无需执行划扣操作' }) this.$message({ showClose: true, type: 'error', message: '资方划扣还款明细列表数据为空,无需执行划扣操作' })
} }
}, },
toNotByUpdate() {
this.bankVisible = true
this.bankSid = ''
},
//
bankConfirm() {
if (this.bankSid === '') {
this.$message({ showClose: true, type: 'error', message: '请选择资方' })
return
}
const tip = '资方无还款记录时,人工设置更新日期,是否更新?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.noImportUpdate({ bankSid: this.bankSid, orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((resp) => {
if (resp.success) {
this.bankVisible = false
this.$message({ type: 'success', message: resp.msg, showClose: true })
}
loading.close()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
// //
toUpdate() { toUpdate() {
if (this.list.length > 0) { if (this.list.length > 0) {

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmortgageinformationtransact/LoanMortgageInformationTransact.java

@ -43,5 +43,8 @@ public class LoanMortgageInformationTransact extends BaseEntity {
private String staffSid; //销售专员sid private String staffSid; //销售专员sid
private String borrowerName; //贷款人 private String borrowerName; //贷款人
private String borrowerSid; //贷款人sid private String borrowerSid; //贷款人sid
private String auditName; //审核人
private String auditSid; //审核人sid
private Date auditDate; //审核日期
} }

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmortgageinformationtransact/LoanMortgageInformationTransactDetailsVo.java

@ -36,4 +36,7 @@ public class LoanMortgageInformationTransactDetailsVo implements Vo {
private List<String> taxiFiles = new ArrayList<>(); private List<String> taxiFiles = new ArrayList<>();
@ApiModelProperty("行驶证") @ApiModelProperty("行驶证")
private List<String> drivingFiles = new ArrayList<>(); private List<String> drivingFiles = new ArrayList<>();
private String auditName; //审核人
private String auditSid; //审核人sid
private String auditDate; //审核日期
} }

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmortgageinformationtransact/LoanMortgageInformationTransactFeign.java

@ -62,7 +62,7 @@ public interface LoanMortgageInformationTransactFeign {
@ApiOperation("初始化详情") @ApiOperation("初始化详情")
@GetMapping("/getMortgageInfo") @GetMapping("/getMortgageInfo")
@ResponseBody @ResponseBody
public ResultBean<LoanMortgageInformationTransactDetailsVo> getMortgageInfo(@RequestParam("busVinSid") String busVinSid); public ResultBean<LoanMortgageInformationTransactDetailsVo> getMortgageInfo(@RequestParam("busVinSid") String busVinSid,@RequestParam("userSid") String userSid);
@ApiOperation("手机端-查询本分公司下代办数量:切换机构") @ApiOperation("手机端-查询本分公司下代办数量:切换机构")

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmortgageinformationtransact/LoanMortgageInformationTransactFeignFallback.java

@ -30,7 +30,7 @@ public class LoanMortgageInformationTransactFeignFallback implements LoanMortgag
} }
@Override @Override
public ResultBean<LoanMortgageInformationTransactDetailsVo> getMortgageInfo(String busVinSid) { public ResultBean<LoanMortgageInformationTransactDetailsVo> getMortgageInfo(String busVinSid,String userSid) {
return null; return null;
} }

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmortgageinformationtransact/LoanMortgageInformationTransactVo.java

@ -40,4 +40,8 @@ public class LoanMortgageInformationTransactVo implements Vo {
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime; private Date createTime;
private boolean showHandleBtn; private boolean showHandleBtn;
@ApiModelProperty("审核人")
private String auditName;
@ApiModelProperty("审核日期")
private String auditDate;
} }

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryFeign.java

@ -84,6 +84,12 @@ public interface LoanRepaymentHistoryFeign {
@ResponseBody @ResponseBody
public ResultBean updateState(@RequestParam("orgPath") String orgPath); public ResultBean updateState(@RequestParam("orgPath") String orgPath);
@ApiOperation("非导入数据更新")
@PostMapping("/noImportUpdate")
@ResponseBody
public ResultBean noImportUpdate(@RequestBody NoImportQuery query);
@ApiOperation("划扣申请初始化") @ApiOperation("划扣申请初始化")
@GetMapping("/buckleNewInit") @GetMapping("/buckleNewInit")
@ResponseBody @ResponseBody

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryFeignFallback.java

@ -76,6 +76,11 @@ public class LoanRepaymentHistoryFeignFallback implements LoanRepaymentHistoryFe
return null; return null;
} }
@Override
public ResultBean noImportUpdate(NoImportQuery query) {
return null;
}
@Override @Override
public ResultBean<LoanBuckleApplyInit> buckleNewInit(String orgPath) { public ResultBean<LoanBuckleApplyInit> buckleNewInit(String orgPath) {
return null; return null;

16
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/NoImportQuery.java

@ -0,0 +1,16 @@
package com.yxt.anrui.riskcenter.api.loanrepaymenthistory;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/3/12 14:14
*/
@Data
public class NoImportQuery {
private String bankSid;
private String orgPath;
}

16
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/NoImportVo.java

@ -0,0 +1,16 @@
package com.yxt.anrui.riskcenter.api.loanrepaymenthistory;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/3/12 14:17
*/
@Data
public class NoImportVo {
private String sid;
private String bankSid;
private String bankShortName;
private String useOrgSid;
}

14
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/CheckPayStateVo.java

@ -0,0 +1,14 @@
package com.yxt.anrui.riskcenter.api.loanrepaymentplandetails;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/3/12 16:16
*/
@Data
public class CheckPayStateVo {
private String actualMoney;
private String checkState;
}

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentplandetails/LoanRepaymentPlanDetails.java

@ -78,6 +78,7 @@ public class LoanRepaymentPlanDetails extends BaseEntity {
private BigDecimal fund; //资金占用费 private BigDecimal fund; //资金占用费
private Integer overdue; //是否曾逾期(0是,1否) private Integer overdue; //是否曾逾期(0是,1否)
private Integer oweState; //是否转累欠状态(0是,1否) private Integer oweState; //是否转累欠状态(0是,1否)
private Integer payState; //还款状态(0正常还款,1逾期还款)
private Date updateTime; //更新日期 private Date updateTime; //更新日期
} }

10
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java

@ -694,12 +694,18 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail(); GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
String state = loanRepaymentPlanDetailsService.selForPushBuckleVoucher(v.getRepaymentHistorySid()); String state = loanRepaymentPlanDetailsService.selForPushBuckleVoucher(v.getRepaymentHistorySid());
if (StringUtils.isNotBlank(state)) { if (StringUtils.isNotBlank(state)) {
if (state.equals("2")) {
voucherDetail.setSceneCode("01");
} else {
if (planDetails.getPayState() == 1) {
voucherDetail.setSceneCode("01");
} else {
if (state.equals("0")) { if (state.equals("0")) {
voucherDetail.setSceneCode("03"); voucherDetail.setSceneCode("03");
} else if (state.equals("1")) { } else if (state.equals("1")) {
voucherDetail.setSceneCode("02"); voucherDetail.setSceneCode("02");
} else if (state.equals("2")) { }
voucherDetail.setSceneCode("01"); }
} }
} }
String bankName = loanRepaymentPlanDetailsService.getBankNameByMainOrOtherPolicy(planDetails); String bankName = loanRepaymentPlanDetailsService.getBankNameByMainOrOtherPolicy(planDetails);

9
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmortgageinformationtransact/LoanMortgageInformationTransactMapper.xml

@ -15,7 +15,9 @@
useOrgName as company, useOrgName as company,
staff as salesman, staff as salesman,
borrowerName as lenderName, borrowerName as lenderName,
loanContractNo as contractId loanContractNo as contractId,
auditName,
date_format (auditDate,'%Y-%m-%d') as auditDate
FROM loan_mortgage_information_transact FROM loan_mortgage_information_transact
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
@ -47,7 +49,10 @@
date_format(mortgageDate, '%Y-%m-%d') as mortgageDate, date_format(mortgageDate, '%Y-%m-%d') as mortgageDate,
borrowerName as borrowerName, borrowerName as borrowerName,
vinNo, vinNo,
loanContractNo as contractId loanContractNo as contractId,
auditName,
auditSid,
date_format(auditDate, '%Y-%m-%d') as auditDate
from loan_mortgage_information_transact from loan_mortgage_information_transact
where busVinSid = #{busVinSid} where busVinSid = #{busVinSid}
</select> </select>

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmortgageinformationtransact/LoanMortgageInformationTransactRest.java

@ -43,8 +43,8 @@ public class LoanMortgageInformationTransactRest implements LoanMortgageInformat
} }
@Override @Override
public ResultBean<LoanMortgageInformationTransactDetailsVo> getMortgageInfo(String busVinSid) { public ResultBean<LoanMortgageInformationTransactDetailsVo> getMortgageInfo(String busVinSid,String userSid) {
return loanMortgageInformationTransactService.getMortgageInfo(busVinSid); return loanMortgageInformationTransactService.getMortgageInfo(busVinSid,userSid);
} }
@Override @Override

14
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmortgageinformationtransact/LoanMortgageInformationTransactService.java

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.biz.loanmortgageinformationtransact; package com.yxt.anrui.riskcenter.biz.loanmortgageinformationtransact;
import cn.hutool.core.bean.BeanUtil; 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.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleState; import com.yxt.anrui.base.api.basevehiclestate.BaseVehicleState;
@ -19,6 +20,7 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loancustomerrecord.LoanCustomerRecord; import com.yxt.anrui.riskcenter.api.loancustomerrecord.LoanCustomerRecord;
import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordQuery; import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordQuery;
import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordVo; import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.AppCustomerRecordVo;
@ -620,9 +622,19 @@ public class LoanMortgageInformationTransactService extends MybatisBaseService<L
return rb.success().setData(dto.getBusVinSid()); return rb.success().setData(dto.getBusVinSid());
} }
public ResultBean<LoanMortgageInformationTransactDetailsVo> getMortgageInfo(String busVinSid) { public ResultBean<LoanMortgageInformationTransactDetailsVo> getMortgageInfo(String busVinSid, String userSid) {
ResultBean<LoanMortgageInformationTransactDetailsVo> rb = ResultBean.fireFail(); ResultBean<LoanMortgageInformationTransactDetailsVo> rb = ResultBean.fireFail();
LoanMortgageInformationTransactDetailsVo vo = baseMapper.getMortgageInfo(busVinSid); LoanMortgageInformationTransactDetailsVo vo = baseMapper.getMortgageInfo(busVinSid);
if (null != vo) {
if (StringUtils.isNotBlank(vo.getAuditSid())) {
vo.setAuditDate(DateUtil.today());
vo.setAuditSid(userSid);
SysUserVo userVo = sysUserFeign.fetchBySid(userSid).getData();
if (null != userVo) {
vo.setAuditName(userVo.getName());
}
}
}
//登记证 1-2页 //登记证 1-2页
List<LoanFile> fileList = loanFileService.selectByLinkSid(busVinSid, LoanFileEnum.REGISTRATION_FILES_ONE.getAttachType()); List<LoanFile> fileList = loanFileService.selectByLinkSid(busVinSid, LoanFileEnum.REGISTRATION_FILES_ONE.getAttachType());
fileList.removeAll(Collections.singleton(null)); fileList.removeAll(Collections.singleton(null));

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java

@ -54,5 +54,9 @@ public interface LoanRepaymentHistoryMapper extends BaseMapper<LoanRepaymentHist
TransferRecordVo selTransferRecord(@Param("sid") String sid); TransferRecordVo selTransferRecord(@Param("sid") String sid);
String getUpdateMoneyBySid(@Param("pSid") String pSid,@Param("histories") List<String> histories); String getUpdateMoneyBySid(@Param("pSid") String pSid, @Param("histories") List<String> histories);
List<NoImportVo> selPlanDetailsByBank(@Param("bankSid") String bankSid, @Param("useOrgSid") String useOrgSid);
int updateTimeByPlanSids(@Param("stringList") List<String> stringList, @Param("formatDate") String formatDate);
} }

100
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml

@ -1,6 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryMapper"> <mapper namespace="com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryMapper">
<update id="updateTimeByPlanSids">
update loan_repayment_plan_details
set updateTime = #{formatDate},
where sid in
<foreach item="sid" collection="stringList" open="(" separator="," close=")">
#{sid}
</foreach>
</update>
<select id="updateRecordInfo" <select id="updateRecordInfo"
@ -96,31 +104,31 @@
FROM FROM
loan_repayment_plan_details AS p loan_repayment_plan_details AS p
) AS t ON p.sid = t.sid) as m ) AS t ON p.sid = t.sid) as m
-- SELECT -- SELECT
-- h.sid, -- h.sid,
-- p.loanContractNo, -- p.loanContractNo,
-- p.vinNo, -- p.vinNo,
-- p.bankContractNo, -- p.bankContractNo,
-- p.bankName, -- p.bankName,
-- p.customer, -- p.customer,
-- p.period, -- p.period,
-- p.borrowerName, -- p.borrowerName,
-- p.dueDate, -- p.dueDate,
-- p.dueMoney, -- p.dueMoney,
-- h.actualDate, -- h.actualDate,
-- date_format(h.dataTime, '%Y-%m-%d') as dataTime, -- date_format(h.dataTime, '%Y-%m-%d') as dataTime,
-- h.actualMoney, -- h.actualMoney,
-- h.buckle, -- h.buckle,
-- h.returnWay, -- h.returnWay,
-- h.planDetailSid, -- h.planDetailSid,
-- CASE h.updateState -- CASE h.updateState
-- WHEN '0' THEN '未更新' -- WHEN '0' THEN '未更新'
-- WHEN '1' THEN '已更新' -- WHEN '1' THEN '已更新'
-- END AS updateState, -- END AS updateState,
-- date_format(h.updateTime, '%Y-%m-%d') as updateTime -- date_format(h.updateTime, '%Y-%m-%d') as updateTime
-- FROM -- FROM
-- loan_repayment_history AS h -- loan_repayment_history AS h
-- LEFT JOIN loan_repayment_plan_details AS p ON h.planDetailSid = p.sid -- LEFT JOIN loan_repayment_plan_details AS p ON h.planDetailSid = p.sid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -457,5 +465,47 @@
#{histories} #{histories}
</foreach> </foreach>
</select> </select>
<select id="selPlanDetailsByBank"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.NoImportVo">
SELECT DISTINCT *
FROM (
SELECT p.sid,
po.bankSid,
po.bankShortName,
p.useOrgSid
FROM loan_repayment_plan_details AS p
LEFT JOIN loan_solutions AS s ON p.salesOrderSid = s.salesOrderSid
LEFT JOIN loan_fin_policy AS po ON s.policySid = po.sid
WHERE s.isDelete = 0
AND p.policyOrOther = 0
UNION ALL
SELECT p.sid,
po.bankSid,
po.bankShortName,
p.useOrgSid
FROM loan_repayment_plan_details AS p
LEFT JOIN loan_solutions AS s ON p.salesOrderSid = s.salesOrderSid
LEFT JOIN loan_fin_policy AS po ON s.policySid = po.sid
LEFT JOIN loan_repayment_schedule AS sd ON p.scheduleSid = sd.sid
WHERE s.isDelete = 0
AND p.policyOrOther = 1
AND sd.sameBank = 1
UNION ALL
SELECT p.sid,
po.bankSid,
po.bankShortName,
p.useOrgSid
FROM loan_repayment_plan_details AS p
LEFT JOIN loan_solutions AS s ON p.salesOrderSid = s.salesOrderSid
LEFT JOIN loan_solutions_otherpolicy AS o ON s.sid = o.solutionsSid
LEFT JOIN loan_fin_otherpolicy AS po ON po.sid = o.otherPolicySid
LEFT JOIN loan_repayment_schedule AS sd ON p.scheduleSid = sd.sid
WHERE s.isDelete = 0
AND p.policyOrOther = 1
AND sd.sameBank = 0
) a
WHERE a.bankSid = #{bankSid}
AND a.useOrgSid = #{useOrgSid}
</select>
</mapper> </mapper>

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryRest.java

@ -102,6 +102,11 @@ public class LoanRepaymentHistoryRest implements LoanRepaymentHistoryFeign {
return loanRepaymentHistoryService.updateState(orgPath); return loanRepaymentHistoryService.updateState(orgPath);
} }
@Override
public ResultBean noImportUpdate(NoImportQuery query) {
return loanRepaymentHistoryService.noImportUpdate(query);
}
@Override @Override
public ResultBean<LoanBuckleApplyInit> buckleNewInit(String orgPath) { public ResultBean<LoanBuckleApplyInit> buckleNewInit(String orgPath) {
return loanRepaymentHistoryService.buckleNewInit(orgPath); return loanRepaymentHistoryService.buckleNewInit(orgPath);

86
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java

@ -41,6 +41,7 @@ import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterQuery;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo; import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.*; import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.*;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.utils.CollectorsUtil; import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.utils.CollectorsUtil;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.CheckPayStateVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForLateVoucher; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForLateVoucher;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsDto; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsDto;
@ -72,6 +73,8 @@ import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.concurrent.*; import java.util.concurrent.*;
import java.util.function.Predicate; import java.util.function.Predicate;
@ -758,6 +761,22 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
//对当前涉及的还款计划是否为中车类是否有垫款 //对当前涉及的还款计划是否为中车类是否有垫款
if (!pSids.isEmpty()) { if (!pSids.isEmpty()) {
for (String pSid : pSids) { for (String pSid : pSids) {
//判断当前期数是正常还款还是逾期还款
LoanRepaymentPlanDetails details = loanRepaymentPlanDetailsService.fetchBySid(pSid);
if (null != details) {
if (details.getPayState() == 0) {
CheckPayStateVo checkPayStateVo = loanRepaymentPlanDetailsService.checkPayState(pSid);
if (null != checkPayStateVo) {
if (checkPayStateVo.getCheckState().equals("0")) {
BigDecimal money = new BigDecimal(checkPayStateVo.getActualMoney());
if (money.compareTo(BigDecimal.ZERO) > 0) {
details.setPayState(1);
loanRepaymentPlanDetailsService.updateById(details);
}
}
}
}
}
String reAdvances = loanRepaymentPlanDetailsService.reAdvancesOrPaymentMoney(pSid); String reAdvances = loanRepaymentPlanDetailsService.reAdvancesOrPaymentMoney(pSid);
if (StringUtils.isNotBlank(reAdvances)) { if (StringUtils.isNotBlank(reAdvances)) {
if (reAdvances.equals("0")) { if (reAdvances.equals("0")) {
@ -767,7 +786,7 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
BigDecimal amount = new BigDecimal(difference.getDifference()); BigDecimal amount = new BigDecimal(difference.getDifference());
if (amount.compareTo(BigDecimal.ZERO) > 0) { if (amount.compareTo(BigDecimal.ZERO) > 0) {
//查询更新金额 //查询更新金额
String money = baseMapper.getUpdateMoneyBySid(pSid,histories); String money = baseMapper.getUpdateMoneyBySid(pSid, histories);
BigDecimal decimalMoney = new BigDecimal(money); BigDecimal decimalMoney = new BigDecimal(money);
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(pSid); LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(pSid);
BigDecimal paymentMoney = planDetails.getPaymentMoney(); BigDecimal paymentMoney = planDetails.getPaymentMoney();
@ -796,21 +815,7 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
} }
} }
pushLateVoucher(pushUseOrgSid); pushLateVoucher(pushUseOrgSid);
// try {
// ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
// .setNameFormat("demo-pool-%d").build();
// ExecutorService pool = new org.apache.tomcat.util.threads.ThreadPoolExecutor(1, 10,
// 1000, TimeUnit.MILLISECONDS,
// new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new org.apache.tomcat.util.threads.ThreadPoolExecutor.AbortPolicy());
// //推送财务当月逾期转累欠凭证
// Future future = pool.submit(() -> {
// pushLateVoucher(pushUseOrgSid);
// });
// } catch (Exception e) {
// e.printStackTrace();
// log.error("推送数据失败=========================" + e.getMessage());
// return rb.setMsg("推送数据失败");
// }
} else { } else {
return rb.setMsg("暂无可更新的还款记录"); return rb.setMsg("暂无可更新的还款记录");
} }
@ -1632,4 +1637,53 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
} }
return records; return records;
} }
public ResultBean noImportUpdate(NoImportQuery query) {
ResultBean rb = ResultBean.fireFail();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath());
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
List<NoImportVo> voList = baseMapper.selPlanDetailsByBank(query.getBankSid(), useOrgSid);
if (!voList.isEmpty()) {
List<String> stringList =
voList.stream().map(NoImportVo::getSid).collect(Collectors.toList());
LocalDate localDate = LocalDate.now().minusDays(1);
String formatDate = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
int i = baseMapper.updateTimeByPlanSids(stringList, formatDate);
for (String pSid : stringList) {
//判断当前期数是正常还款还是逾期还款
LoanRepaymentPlanDetails details = loanRepaymentPlanDetailsService.fetchBySid(pSid);
if (null != details) {
if (details.getPayState() == 0) {
CheckPayStateVo checkPayStateVo = loanRepaymentPlanDetailsService.checkPayState(pSid);
if (null != checkPayStateVo) {
if (checkPayStateVo.getCheckState().equals("0")) {
BigDecimal money = new BigDecimal(checkPayStateVo.getActualMoney());
if (money.compareTo(BigDecimal.ZERO) > 0) {
details.setPayState(1);
loanRepaymentPlanDetailsService.updateById(details);
}
}
}
}
}
}
}
//判断当期是否逾期
List<HistoryOverDueVo> overDueVoList = loanRepaymentPlanDetailsService.overDueVoList(useOrgSid);
if (!overDueVoList.isEmpty()) {
List<String> planSids = new ArrayList<>();
overDueVoList.stream().forEach(v -> {
if (v.getOverdueState().equals("0")) {
planSids.add(v.getPlanSid());
}
});
if (!planSids.isEmpty()) {
int i = loanRepaymentPlanDetailsService.updateOverDueState(planSids);
}
}
pushLateVoucher(useOrgSid);
}
return rb.success();
}
} }

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java

@ -71,4 +71,6 @@ public interface LoanRepaymentPlanDetailsMapper extends BaseMapper<LoanRepayment
List<String> selUseOrgSidListForLateVoucher(); List<String> selUseOrgSidListForLateVoucher();
LoanRepaymentPlanDetails selOneByBankNoAndBusVinSid(@Param("bankContractNo") String bankContractNo,@Param("saleVehSid") String saleVehSid); LoanRepaymentPlanDetails selOneByBankNoAndBusVinSid(@Param("bankContractNo") String bankContractNo,@Param("saleVehSid") String saleVehSid);
CheckPayStateVo checkPayState(@Param("pSid") String pSid);
} }

113
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml

@ -142,7 +142,7 @@
END AS overdueState END AS overdueState
FROM ( FROM (
SELECT a.*, SELECT a.*,
(SELECT (fjj.reveivableMoney - fjj.m) IFNULL((SELECT (fjj.reveivableMoney - fjj.m)
FROM (SELECT IFNULL((SELECT SUM(subscriptionMoney) FROM (SELECT IFNULL((SELECT SUM(subscriptionMoney)
FROM anrui_fin.fin_selected_receivables_detailed as s FROM anrui_fin.fin_selected_receivables_detailed as s
WHERE s.auditState = '3' WHERE s.auditState = '3'
@ -151,7 +151,7 @@
FROM (SELECT j.busSid, j.sid, j.reveivableMoney FROM (SELECT j.busSid, j.sid, j.reveivableMoney
FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
WHERE j.payCostTitleKey = '006') as fj) as fjj WHERE j.payCostTitleKey = '006') as fj) as fjj
WHERE fjj.busSid = a.sid) as fund WHERE fjj.busSid = a.sid),0) as fund
FROM ( FROM (
SELECT pd.dueDate, SELECT pd.dueDate,
pd.useOrgSid, pd.useOrgSid,
@ -270,7 +270,7 @@
b.salesOrderSid b.salesOrderSid
FROM ( FROM (
SELECT a.*, SELECT a.*,
(SELECT (fjj.reveivableMoney - fjj.m) IFNULL((SELECT (fjj.reveivableMoney - fjj.m)
FROM (SELECT IFNULL((SELECT SUM(subscriptionMoney) FROM (SELECT IFNULL((SELECT SUM(subscriptionMoney)
FROM anrui_fin.fin_selected_receivables_detailed as s FROM anrui_fin.fin_selected_receivables_detailed as s
WHERE s.auditState = '3' WHERE s.auditState = '3'
@ -279,7 +279,7 @@
FROM (SELECT j.busSid, j.sid, j.reveivableMoney FROM (SELECT j.busSid, j.sid, j.reveivableMoney
FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
WHERE j.payCostTitleKey = '006') as fj) as fjj WHERE j.payCostTitleKey = '006') as fj) as fjj
WHERE fjj.busSid = a.sid) as fund WHERE fjj.busSid = a.sid),0) as fund
FROM ( FROM (
SELECT pd.loanContractNo, SELECT pd.loanContractNo,
pd.oweState, pd.oweState,
@ -357,7 +357,7 @@
b.salesOrderSid b.salesOrderSid
FROM ( FROM (
SELECT a.*, SELECT a.*,
(SELECT (fjj.reveivableMoney - fjj.m) IFNULL((SELECT (fjj.reveivableMoney - fjj.m)
FROM (SELECT IFNULL((SELECT SUM(subscriptionMoney) FROM (SELECT IFNULL((SELECT SUM(subscriptionMoney)
FROM anrui_fin.fin_selected_receivables_detailed as s FROM anrui_fin.fin_selected_receivables_detailed as s
WHERE s.auditState = '3' WHERE s.auditState = '3'
@ -366,7 +366,7 @@
FROM (SELECT j.busSid, j.sid, j.reveivableMoney FROM (SELECT j.busSid, j.sid, j.reveivableMoney
FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
WHERE j.payCostTitleKey = '006') as fj) as fjj WHERE j.payCostTitleKey = '006') as fj) as fjj
WHERE fjj.busSid = a.sid) as fund WHERE fjj.busSid = a.sid),0) as fund
FROM ( FROM (
SELECT pd.paymentMoney, SELECT pd.paymentMoney,
pd.oweState, pd.oweState,
@ -457,7 +457,7 @@
b.salesOrderSid b.salesOrderSid
FROM ( FROM (
SELECT a.*, SELECT a.*,
(SELECT (fjj.reveivableMoney - fjj.m) IFNULL((SELECT (fjj.reveivableMoney - fjj.m)
FROM (SELECT IFNULL((SELECT SUM(subscriptionMoney) FROM (SELECT IFNULL((SELECT SUM(subscriptionMoney)
FROM anrui_fin.fin_selected_receivables_detailed as s FROM anrui_fin.fin_selected_receivables_detailed as s
WHERE s.auditState = '3' WHERE s.auditState = '3'
@ -466,7 +466,7 @@
FROM (SELECT j.busSid, j.sid, j.reveivableMoney FROM (SELECT j.busSid, j.sid, j.reveivableMoney
FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
WHERE j.payCostTitleKey = '006') as fj) as fjj WHERE j.payCostTitleKey = '006') as fj) as fjj
WHERE fjj.busSid = a.sid) as fund WHERE fjj.busSid = a.sid),0) as fund
FROM ( FROM (
SELECT pd.paymentMoney, SELECT pd.paymentMoney,
pd.oweState, pd.oweState,
@ -578,4 +578,101 @@
WHERE bankContractNo = #{bankContractNo} WHERE bankContractNo = #{bankContractNo}
AND busVinSid = #{saleVehSid} LIMIT 1 AND busVinSid = #{saleVehSid} LIMIT 1
</select> </select>
<select id="checkPayState"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.CheckPayStateVo">
SELECT
b.repaidMoney AS actualMoney,
CASE
WHEN ( b.outstandingMoney + b.bankBeInter + b.fund ) > 0 THEN
'0'
WHEN ( b.outstandingMoney + b.bankBeInter + b.fund ) &lt;= 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 &lt;= a.updateDate
AND a.sid = #{pSid}
) AS b
</select>
</mapper> </mapper>

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java

@ -208,4 +208,8 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService<LoanRepa
public LoanRepaymentPlanDetails selOneByBankNoAndBusVinSid(String bankContractNo, String saleVehSid) { public LoanRepaymentPlanDetails selOneByBankNoAndBusVinSid(String bankContractNo, String saleVehSid) {
return baseMapper.selOneByBankNoAndBusVinSid(bankContractNo,saleVehSid); return baseMapper.selOneByBankNoAndBusVinSid(bankContractNo,saleVehSid);
} }
public CheckPayStateVo checkPayState(String pSid) {
return baseMapper.checkPayState(pSid);
}
} }

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/mortgage/AppMortgageInformationTransactDetailsVo.java

@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -39,4 +40,7 @@ public class AppMortgageInformationTransactDetailsVo implements Vo {
private List<String> taxiFiles = new ArrayList<>(); private List<String> taxiFiles = new ArrayList<>();
@ApiModelProperty("行驶证") @ApiModelProperty("行驶证")
private List<String> drivingFiles = new ArrayList<>(); private List<String> drivingFiles = new ArrayList<>();
private String auditName; //审核人
private String auditSid; //审核人sid
private String auditDate; //审核日期
} }

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/mortgage/AppMortgageInformationTransactDto.java

@ -32,4 +32,7 @@ public class AppMortgageInformationTransactDto implements Dto {
private List<String> taxiFiles = new ArrayList<>(); private List<String> taxiFiles = new ArrayList<>();
@ApiModelProperty("行驶证") @ApiModelProperty("行驶证")
private List<String> drivingFiles = new ArrayList<>(); private List<String> drivingFiles = new ArrayList<>();
private String auditName; //审核人
private String auditSid; //审核人sid
private String auditDate; //审核日期
} }

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/mortgage/AppMortgageInformationTransactVo.java

@ -31,4 +31,8 @@ public class AppMortgageInformationTransactVo implements Vo {
@ApiModelProperty("资方") @ApiModelProperty("资方")
private String bankName; private String bankName;
private boolean showHandleBtn; private boolean showHandleBtn;
@ApiModelProperty("审核人")
private String auditName;
@ApiModelProperty("审核日期")
private String auditDate;
} }

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/mortgage/MortgageFeign.java

@ -62,5 +62,5 @@ public interface MortgageFeign {
@ApiOperation("初始化详情") @ApiOperation("初始化详情")
@GetMapping("/getMortgageInfo") @GetMapping("/getMortgageInfo")
@ResponseBody @ResponseBody
public ResultBean<AppMortgageInformationTransactDetailsVo> getMortgageInfo(@RequestParam("sid") String sid); public ResultBean<AppMortgageInformationTransactDetailsVo> getMortgageInfo(@RequestParam("sid") String sid, @RequestParam("userSid") String userSid);
} }

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/mortgage/MortgageFeignFallback.java

@ -29,7 +29,7 @@ public class MortgageFeignFallback implements MortgageFeign {
} }
@Override @Override
public ResultBean<AppMortgageInformationTransactDetailsVo> getMortgageInfo(String busVinSid) { public ResultBean<AppMortgageInformationTransactDetailsVo> getMortgageInfo(String busVinSid,String userSid) {
return null; return null;
} }
} }

4
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/mortgage/MortgageRest.java

@ -39,7 +39,7 @@ public class MortgageRest implements MortgageFeign {
} }
@Override @Override
public ResultBean<AppMortgageInformationTransactDetailsVo> getMortgageInfo(String sid) { public ResultBean<AppMortgageInformationTransactDetailsVo> getMortgageInfo(String sid,String userSid) {
return mortgageService.getMortgageInfo(sid); return mortgageService.getMortgageInfo(sid,userSid);
} }
} }

4
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/mortgage/MortgageService.java

@ -58,10 +58,10 @@ public class MortgageService {
return rb.success(); return rb.success();
} }
public ResultBean<AppMortgageInformationTransactDetailsVo> getMortgageInfo(String sid) { public ResultBean<AppMortgageInformationTransactDetailsVo> getMortgageInfo(String sid,String userSid) {
ResultBean<AppMortgageInformationTransactDetailsVo> rb = ResultBean.fireFail(); ResultBean<AppMortgageInformationTransactDetailsVo> rb = ResultBean.fireFail();
AppMortgageInformationTransactDetailsVo vo = new AppMortgageInformationTransactDetailsVo(); AppMortgageInformationTransactDetailsVo vo = new AppMortgageInformationTransactDetailsVo();
ResultBean<LoanMortgageInformationTransactDetailsVo> resultBean = loanMortgageInformationTransactFeign.getMortgageInfo(sid); ResultBean<LoanMortgageInformationTransactDetailsVo> resultBean = loanMortgageInformationTransactFeign.getMortgageInfo(sid,userSid);
if (!resultBean.getSuccess()) { if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg()); return rb.setMsg(resultBean.getMsg());
} }

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/AsServicePackageDetailsVo.java

@ -53,7 +53,7 @@ import java.util.List;
public class AsServicePackageDetailsVo implements Vo { public class AsServicePackageDetailsVo implements Vo {
private String sid; // sid private String sid; // sid
private String createBySid;
@ApiModelProperty("套餐名称") @ApiModelProperty("套餐名称")
private String packageName; // 套餐名称 private String packageName; // 套餐名称
@ApiModelProperty("备注") @ApiModelProperty("备注")

15
yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/AsServicePackageDto.java

@ -32,6 +32,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/** /**
* Project: yxt-as(售后服务) <br/> * Project: yxt-as(售后服务) <br/>
* File: AsServicePackageDto.java <br/> * File: AsServicePackageDto.java <br/>
@ -50,16 +53,18 @@ import lombok.Data;
public class AsServicePackageDto implements Dto { public class AsServicePackageDto implements Dto {
private String sid; // sid private String sid; // sid
private String createBySid;
@ApiModelProperty("套餐名称") @ApiModelProperty("套餐名称")
private String packageName; // 套餐名称 private String packageName; // 套餐名称
@ApiModelProperty("套餐编码") @ApiModelProperty("备注")
private String packageCode; // 套餐编码 private String remarks; // 备注
@ApiModelProperty("排序号")
private Integer sortNo; // 排序号
@ApiModelProperty("使用组织sid") @ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid") @ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid private String createOrgSid; // 创建组织sid
private String orgPath;
private List<PackageItemVo> itemVos = new ArrayList<>();
private List<PackageGoodsVo> goodsVos = new ArrayList<>();
private List<PackageAttachItemVo> attachItemVos = new ArrayList<>();
} }

10
yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageAttachItemVo.java

@ -1,7 +1,10 @@
package com.yxt.anrui.as.api.asservicepackage; package com.yxt.anrui.as.api.asservicepackage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
/** /**
* @author Fan * @author Fan
* @description * @description
@ -10,6 +13,11 @@ import lombok.Data;
@Data @Data
public class PackageAttachItemVo { public class PackageAttachItemVo {
@ApiModelProperty("附加项目sid")
private String aitemSid; // 附加项目sid
@ApiModelProperty("附加项目名称")
private String aitemName; // 附加项目名称
@ApiModelProperty("销售价")
private String price; // 销售价
} }

15
yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageGoodsQuery.java

@ -0,0 +1,15 @@
package com.yxt.anrui.as.api.asservicepackage;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/3/12 15:41
*/
@Data
public class PackageGoodsQuery implements Query {
private String orgPath;
private String goodsName;
}

37
yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageGoodsVo.java

@ -1,7 +1,10 @@
package com.yxt.anrui.as.api.asservicepackage; package com.yxt.anrui.as.api.asservicepackage;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
/** /**
* @author Fan * @author Fan
* @description * @description
@ -10,6 +13,36 @@ import lombok.Data;
@Data @Data
public class PackageGoodsVo { public class PackageGoodsVo {
@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("仓库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; // 规格
} }

11
yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackage/PackageItemVo.java

@ -16,8 +16,6 @@ public class PackageItemVo {
private String sitemSid; private String sitemSid;
@ApiModelProperty("项目名称") @ApiModelProperty("项目名称")
private String sitemName; private String sitemName;
@ApiModelProperty("项目名称")
private String sitemCode;
@ApiModelProperty("工种sid(分类)") @ApiModelProperty("工种sid(分类)")
private String serviceTypeSid; private String serviceTypeSid;
@ApiModelProperty("工种(分类)") @ApiModelProperty("工种(分类)")
@ -26,11 +24,18 @@ public class PackageItemVo {
private String hourPrice; private String hourPrice;
@ApiModelProperty("工时数") @ApiModelProperty("工时数")
private String hours; private String hours;
@ApiModelProperty("考核工时(考核价)")
private String examineHourPrice; // 考核工时(考核价)
@ApiModelProperty("销售价(工时费)=工时单价*工时数") @ApiModelProperty("销售价(工时费)=工时单价*工时数")
private String price; private String price;
@ApiModelProperty("科目sid") @ApiModelProperty("科目sid")
private String subjectSid; private String subjectSid;
@ApiModelProperty("科目名称") @ApiModelProperty("科目名称")
private String subjectName; private String subjectName;
@ApiModelProperty("折扣(0-10,0免费,10不打折)")
private String discount; // 折扣(0-10,0免费,10不打折)
@ApiModelProperty("优惠金额(=销售价*(折扣*0.1))")
private String discountAmount; // 优惠金额(=销售价*(折扣*0.1))
@ApiModelProperty("金额(销售价-优惠金额)")
private String amount; // 金额(销售价-优惠金额)
} }

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackageaitem/AsServicePackageAitem.java

@ -57,7 +57,7 @@ public class AsServicePackageAitem extends BaseEntity {
@ApiModelProperty("附加项目sid") @ApiModelProperty("附加项目sid")
private String aitemSid; // 附加项目sid private String aitemSid; // 附加项目sid
@ApiModelProperty("附加项目名称") @ApiModelProperty("附加项目名称")
private String aitmeName; // 附加项目名称 private String aitemName; // 附加项目名称
@ApiModelProperty("销售价") @ApiModelProperty("销售价")
private BigDecimal price; // 销售价 private BigDecimal price; // 销售价

2
yxt-as/src/main/java/com/yxt/anrui/as/api/asservicepackagegoods/AsServicePackageGoods.java

@ -84,5 +84,7 @@ public class AsServicePackageGoods extends BaseEntity {
private BigDecimal discountAmount; // 优惠金额(=销售价*(折扣*0.1)) private BigDecimal discountAmount; // 优惠金额(=销售价*(折扣*0.1))
@ApiModelProperty("金额(销售价-优惠金额)") @ApiModelProperty("金额(销售价-优惠金额)")
private BigDecimal amount; // 金额(销售价-优惠金额) private BigDecimal amount; // 金额(销售价-优惠金额)
@ApiModelProperty("规格")
private String specification; // 规格
} }

6
yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.java

@ -29,6 +29,8 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.as.api.asservicepackage.PackageAttachItemVo;
import com.yxt.anrui.as.api.asservicepackage.PackageItemVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
@ -62,4 +64,8 @@ public interface AsServicePackageMapper extends BaseMapper<AsServicePackage> {
@Select("select * from as_service_package") @Select("select * from as_service_package")
List<AsServicePackageVo> selectListVo(); List<AsServicePackageVo> selectListVo();
List<PackageItemVo> selItemInfo(@Param("useOrgSid") String useOrgSid);
List<PackageAttachItemVo> selAttItemInfo(@Param("useOrgSid") String useOrgSid);
} }

29
yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageMapper.xml

@ -1,13 +1,34 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.as.biz.asservicepackage.AsServicePackageMapper"> <mapper namespace="com.yxt.anrui.as.biz.asservicepackage.AsServicePackageMapper">
<!-- <where> ${ew.sqlSegment} </where>--> <!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} --> <!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.as.api.asservicepackage.AsServicePackageVo"> <select id="selectPageVo" resultType="com.yxt.anrui.as.api.asservicepackage.AsServicePackageVo">
SELECT * FROM as_service_package <where> ${ew.sqlSegment} </where> SELECT * FROM as_service_package
<where>${ew.sqlSegment}</where>
</select> </select>
<select id="selectListAllVo" resultType="com.yxt.anrui.as.api.asservicepackage.AsServicePackageVo"> <select id="selectListAllVo" resultType="com.yxt.anrui.as.api.asservicepackage.AsServicePackageVo">
SELECT * FROM as_service_package <where> ${ew.sqlSegment} </where> SELECT * FROM as_service_package
<where>${ew.sqlSegment}</where>
</select>
<select id="selItemInfo" resultType="com.yxt.anrui.as.api.asservicepackage.PackageItemVo">
SELECT sid sitemSid,
sitemName,
serviceTypeSid,
serviceType,
hourPrice,
hours,
examineHourPrice,
price
FROM as_service_item
WHERE createOrgSid = #{useOrgSid}
</select>
<select id="selAttItemInfo" resultType="com.yxt.anrui.as.api.asservicepackage.PackageAttachItemVo">
SELECT sid aitemSid,
aitemName,
price
FROM as_service_attachitem
WHERE createOrgSid = #{useOrgSid}
</select> </select>
</mapper> </mapper>

38
yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageRest.java

@ -25,6 +25,7 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.as.biz.asservicepackage; package com.yxt.anrui.as.biz.asservicepackage;
import com.yxt.anrui.as.api.asservicepackage.*;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
@ -33,10 +34,7 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.yxt.anrui.as.api.asservicepackage.AsServicePackageQuery; import java.util.List;
import com.yxt.anrui.as.api.asservicepackage.AsServicePackageVo;
import com.yxt.anrui.as.api.asservicepackage.AsServicePackageDetailsVo;
import com.yxt.anrui.as.api.asservicepackage.AsServicePackageDto;
/** /**
* Project: yxt-as(售后服务) <br/> * Project: yxt-as(售后服务) <br/>
@ -59,7 +57,6 @@ public class AsServicePackageRest {
@Autowired @Autowired
private AsServicePackageService asServicePackageService; private AsServicePackageService asServicePackageService;
@ApiOperation("根据条件分页查询数据的列表") @ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage") @PostMapping("/listPage")
public ResultBean<PagerVo<AsServicePackageVo>> listPage(@RequestBody PagerQuery<AsServicePackageQuery> pq){ public ResultBean<PagerVo<AsServicePackageVo>> listPage(@RequestBody PagerQuery<AsServicePackageQuery> pq){
@ -70,19 +67,20 @@ public class AsServicePackageRest {
@ApiOperation("新增或修改") @ApiOperation("新增或修改")
@PostMapping("/save") @PostMapping("/savePackage")
public ResultBean save(@RequestBody AsServicePackageDto dto){ public ResultBean savePackage(@RequestBody AsServicePackageDto dto){
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
asServicePackageService.saveOrUpdateDto(dto); asServicePackageService.savePackage(dto);
return rb.success(); return rb.success();
} }
@ApiOperation("根据sid批量删除") @ApiOperation("根据sid批量删除")
@PostMapping("/delBySids") @DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){ public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
asServicePackageService.delBySids(sids); asServicePackageService.delBySids(sids);
asServicePackageService.delOtherInfo(sids);
return rb.success(); return rb.success();
} }
@ -94,4 +92,26 @@ public class AsServicePackageRest {
AsServicePackageDetailsVo vo = asServicePackageService.fetchDetailsVoBySid(sid); AsServicePackageDetailsVo vo = asServicePackageService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo); return rb.success().setData(vo);
} }
@ApiOperation("查询分公司服务项目")
@GetMapping("/selItemInfo")
public ResultBean<List<PackageItemVo>> selItemInfo(@RequestParam("orgPath") String orgPath){
ResultBean rb = ResultBean.fireFail();
List<PackageItemVo> voList = asServicePackageService.selItemInfo(orgPath);
return rb.success().setData(voList);
}
@ApiOperation("查询分公司附加项目")
@GetMapping("/selAttItemInfo")
public ResultBean<List<PackageAttachItemVo>> selAttItemInfo(@RequestParam("orgPath") String orgPath){
ResultBean rb = ResultBean.fireFail();
List<PackageAttachItemVo> voList = asServicePackageService.selAttItemInfo(orgPath);
return rb.success().setData(voList);
}
@ApiOperation("查询分公司商品信息")
@PostMapping("/selGoodsInfo")
public ResultBean<PagerVo<PackageGoodsVo>> selGoodsInfo(@RequestBody PagerQuery<AsServicePackageQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<PackageGoodsVo> pagerVo = asServicePackageService.selGoodsInfo(pq);
return rb.success().setData(pagerVo);
}
} }

192
yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackage/AsServicePackageService.java

@ -28,21 +28,31 @@ package com.yxt.anrui.as.biz.asservicepackage;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.as.api.asservicepackage.*;
import com.yxt.anrui.as.api.asservicepackageaitem.AsServicePackageAitem;
import com.yxt.anrui.as.api.asservicepackagegoods.AsServicePackageGoods;
import com.yxt.anrui.as.api.asservicepackagesitem.AsServicePackageSitem;
import com.yxt.anrui.as.biz.asservicepackageaitem.AsServicePackageAitemService;
import com.yxt.anrui.as.biz.asservicepackagegoods.AsServicePackageGoodsService;
import com.yxt.anrui.as.biz.asservicepackagesitem.AsServicePackageSitemService;
import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.as.feign.wms.wmsgoods.WmsGoodsFeign;
import com.yxt.anrui.as.feign.wms.wmsgoods.WmsGoodsPackageQuery;
import com.yxt.anrui.as.feign.wms.wmsgoods.WmsGoodsPackageVo;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import com.yxt.anrui.as.api.asservicepackage.AsServicePackage;
import com.yxt.anrui.as.api.asservicepackage.AsServicePackageQuery;
import com.yxt.anrui.as.api.asservicepackage.AsServicePackageVo;
import com.yxt.anrui.as.api.asservicepackage.AsServicePackageDetailsVo;
import com.yxt.anrui.as.api.asservicepackage.AsServicePackageDto;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/** /**
* Project: yxt-as(售后服务) <br/> * Project: yxt-as(售后服务) <br/>
@ -61,6 +71,14 @@ import org.springframework.stereotype.Service;
public class AsServicePackageService extends MybatisBaseService<AsServicePackageMapper, AsServicePackage> { public class AsServicePackageService extends MybatisBaseService<AsServicePackageMapper, AsServicePackage> {
@Autowired @Autowired
private SysStaffOrgFeign sysStaffOrgFeign; private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private AsServicePackageGoodsService asServicePackageGoodsService;
@Autowired
private AsServicePackageAitemService asServicePackageAitemService;
@Autowired
private AsServicePackageSitemService asServicePackageSitemService;
@Resource
private WmsGoodsFeign wmsGoodsFeign;
private QueryWrapper<AsServicePackage> createQueryWrapper(AsServicePackageQuery query) { private QueryWrapper<AsServicePackage> createQueryWrapper(AsServicePackageQuery query) {
// todo: 这里根据具体业务调整查询条件 // todo: 这里根据具体业务调整查询条件
@ -73,6 +91,7 @@ public class AsServicePackageService extends MybatisBaseService<AsServicePackage
if (StringUtils.isNotBlank(query.getPackageName())) { if (StringUtils.isNotBlank(query.getPackageName())) {
qw.like("packageName", query.getPackageName()); qw.like("packageName", query.getPackageName());
} }
qw.eq("1", "1");
qw.orderByDesc("createTime"); qw.orderByDesc("createTime");
return qw; return qw;
} }
@ -115,6 +134,169 @@ public class AsServicePackageService extends MybatisBaseService<AsServicePackage
AsServicePackage entity = fetchBySid(sid); AsServicePackage entity = fetchBySid(sid);
AsServicePackageDetailsVo vo = new AsServicePackageDetailsVo(); AsServicePackageDetailsVo vo = new AsServicePackageDetailsVo();
BeanUtil.copyProperties(entity, vo); BeanUtil.copyProperties(entity, vo);
List<PackageItemVo> itemVos = new ArrayList<>();
List<PackageGoodsVo> goodsVos = new ArrayList<>();
List<PackageAttachItemVo> attachItemVos = new ArrayList<>();
List<AsServicePackageSitem> sitemList = asServicePackageSitemService.getByMainSid(sid);
List<AsServicePackageGoods> goodsList = asServicePackageGoodsService.getByMainSid(sid);
List<AsServicePackageAitem> asList = asServicePackageAitemService.getByMainSid(sid);
if (!sitemList.isEmpty()) {
for (AsServicePackageSitem packageSitem : sitemList) {
PackageItemVo itemVo = new PackageItemVo();
BeanUtil.copyProperties(packageSitem, itemVo);
itemVos.add(itemVo);
}
vo.setItemVos(itemVos);
}
if (!goodsList.isEmpty()) {
for (AsServicePackageGoods goods : goodsList) {
PackageGoodsVo goodsVo = new PackageGoodsVo();
BeanUtil.copyProperties(goods, goodsVo);
goodsVos.add(goodsVo);
}
vo.setGoodsVos(goodsVos);
}
if (!asList.isEmpty()) {
for (AsServicePackageAitem aitem : asList) {
PackageAttachItemVo attachItemVo = new PackageAttachItemVo();
BeanUtil.copyProperties(aitem, attachItemVo);
attachItemVos.add(attachItemVo);
}
vo.setAttachItemVos(attachItemVos);
}
return vo;
}
@Transactional(rollbackFor = Exception.class)
public void savePackage(AsServicePackageDto dto) {
String orgPath = dto.getOrgPath();
if (StringUtils.isNotBlank(dto.getSid())) {
String sid = dto.getSid();
AsServicePackage asServicePackage = fetchBySid(sid);
BeanUtil.copyProperties(dto, asServicePackage, "id", "sid");
baseMapper.updateById(asServicePackage);
asServicePackageAitemService.delByMainSid(sid);
asServicePackageSitemService.delByMainSid(sid);
asServicePackageGoodsService.delByMainSid(sid);
//保存服务项目信息
List<PackageItemVo> itemVos = dto.getItemVos();
if (!itemVos.isEmpty()) {
for (PackageItemVo itemVo : itemVos) {
AsServicePackageSitem packageSitem = new AsServicePackageSitem();
packageSitem.setPackageSid(sid);
BeanUtil.copyProperties(itemVo, packageSitem, "id", "sid");
asServicePackageSitemService.insert(packageSitem);
}
}
//保存商品信息
List<PackageGoodsVo> goodsVos = dto.getGoodsVos();
if (!goodsVos.isEmpty()) {
for (PackageGoodsVo goodsVo : goodsVos) {
AsServicePackageGoods goods = new AsServicePackageGoods();
goods.setPackageSid(sid);
BeanUtil.copyProperties(goodsVo, goods, "id", "sid");
asServicePackageGoodsService.insert(goods);
}
}
//保存附加项目
List<PackageAttachItemVo> attachItemVos = dto.getAttachItemVos();
if (!attachItemVos.isEmpty()) {
for (PackageAttachItemVo attachItemVo : attachItemVos) {
AsServicePackageAitem aitem = new AsServicePackageAitem();
aitem.setPackageSid(sid);
BeanUtil.copyProperties(attachItemVo, aitem, "id", "sid");
asServicePackageAitemService.insert(aitem);
}
}
} else {
//保存套餐信息
AsServicePackage entity = new AsServicePackage();
BeanUtil.copyProperties(dto, entity, "id", "sid");
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
entity.setUseOrgSid(useOrgSid);
entity.setCreateOrgSid(useOrgSid);
}
baseMapper.insert(entity);
//保存服务项目信息
List<PackageItemVo> itemVos = dto.getItemVos();
if (!itemVos.isEmpty()) {
for (PackageItemVo itemVo : itemVos) {
AsServicePackageSitem packageSitem = new AsServicePackageSitem();
packageSitem.setPackageSid(entity.getSid());
BeanUtil.copyProperties(itemVo, packageSitem, "id", "sid");
asServicePackageSitemService.insert(packageSitem);
}
}
//保存商品信息
List<PackageGoodsVo> goodsVos = dto.getGoodsVos();
if (!goodsVos.isEmpty()) {
for (PackageGoodsVo goodsVo : goodsVos) {
AsServicePackageGoods goods = new AsServicePackageGoods();
goods.setPackageSid(entity.getSid());
BeanUtil.copyProperties(goodsVo, goods, "id", "sid");
asServicePackageGoodsService.insert(goods);
}
}
//保存附加项目
List<PackageAttachItemVo> attachItemVos = dto.getAttachItemVos();
if (!attachItemVos.isEmpty()) {
for (PackageAttachItemVo attachItemVo : attachItemVos) {
AsServicePackageAitem aitem = new AsServicePackageAitem();
aitem.setPackageSid(entity.getSid());
BeanUtil.copyProperties(attachItemVo, aitem, "id", "sid");
asServicePackageAitemService.insert(aitem);
}
}
}
}
public void delOtherInfo(String[] sids) {
for (String sid : sids) {
asServicePackageAitemService.delByMainSid(sid);
asServicePackageSitemService.delByMainSid(sid);
asServicePackageGoodsService.delByMainSid(sid);
}
}
public List<PackageItemVo> selItemInfo(String orgPath) {
List<PackageItemVo> list = new ArrayList<>();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
list = baseMapper.selItemInfo(useOrgSid);
}
return list;
}
public List<PackageAttachItemVo> selAttItemInfo(String orgPath) {
List<PackageAttachItemVo> list = new ArrayList<>();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
list = baseMapper.selAttItemInfo(useOrgSid);
}
return list;
}
public PagerVo<PackageGoodsVo> selGoodsInfo(PagerQuery<AsServicePackageQuery> pq) {
PagerQuery<WmsGoodsPackageQuery> query = new PagerQuery<>();
BeanUtil.copyProperties(pq, query);
AsServicePackageQuery params = pq.getParams();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(params.getOrgPath());
if (orgSidByPath.getSuccess()) {
String useOrgSid = orgSidByPath.getData();
WmsGoodsPackageQuery queryParams = query.getParams();
queryParams.setUseOrgSid(useOrgSid);
}
ResultBean<PagerVo<WmsGoodsPackageVo>> voResultBean = wmsGoodsFeign.getPackageGoodsVo(query);
PagerVo<PackageGoodsVo> vo = new PagerVo<>();
if (voResultBean.getSuccess()) {
PagerVo<WmsGoodsPackageVo> data = voResultBean.getData();
BeanUtil.copyProperties(data, vo);
}
return vo; return vo;
} }
} }

7
yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackageaitem/AsServicePackageAitemMapper.java

@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
@ -62,4 +63,10 @@ public interface AsServicePackageAitemMapper extends BaseMapper<AsServicePackage
@Select("select * from as_service_package_aitem") @Select("select * from as_service_package_aitem")
List<AsServicePackageAitemVo> selectListVo(); List<AsServicePackageAitemVo> selectListVo();
@Delete("DELETE FROM as_service_package_aitem WHERE packageSid = #{sid}")
void delByMainSid(String sid);
@Select("select * from as_service_package_aitem WHERE packageSid = #{sid}")
List<AsServicePackageAitem> getByMainSid(String sid);
} }

10
yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackageaitem/AsServicePackageAitemService.java

@ -41,6 +41,8 @@ import com.yxt.anrui.as.api.asservicepackageaitem.AsServicePackageAitemDto;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* Project: yxt-as(售后服务) <br/> * Project: yxt-as(售后服务) <br/>
* File: AsServicePackageAitemService.java <br/> * File: AsServicePackageAitemService.java <br/>
@ -63,6 +65,10 @@ public class AsServicePackageAitemService extends MybatisBaseService<AsServicePa
return qw; return qw;
} }
public void delByMainSid(String sid) {
baseMapper.delByMainSid(sid);
}
public PagerVo<AsServicePackageAitemVo> listPageVo(PagerQuery<AsServicePackageAitemQuery> pq) { public PagerVo<AsServicePackageAitemVo> listPageVo(PagerQuery<AsServicePackageAitemQuery> pq) {
AsServicePackageAitemQuery query = pq.getParams(); AsServicePackageAitemQuery query = pq.getParams();
QueryWrapper<AsServicePackageAitem> qw = createQueryWrapper(query); QueryWrapper<AsServicePackageAitem> qw = createQueryWrapper(query);
@ -103,4 +109,8 @@ public class AsServicePackageAitemService extends MybatisBaseService<AsServicePa
BeanUtil.copyProperties(entity, vo); BeanUtil.copyProperties(entity, vo);
return vo; return vo;
} }
public List<AsServicePackageAitem> getByMainSid(String sid) {
return baseMapper.getByMainSid(sid);
}
} }

8
yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackagegoods/AsServicePackageGoodsMapper.java

@ -29,11 +29,13 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.as.api.asservicepackagegoods.AsServicePackageGoods; import com.yxt.anrui.as.api.asservicepackagegoods.AsServicePackageGoods;
import com.yxt.anrui.as.api.asservicepackagegoods.AsServicePackageGoodsVo; import com.yxt.anrui.as.api.asservicepackagegoods.AsServicePackageGoodsVo;
import org.springframework.web.bind.annotation.DeleteMapping;
import java.util.List; import java.util.List;
@ -62,4 +64,10 @@ public interface AsServicePackageGoodsMapper extends BaseMapper<AsServicePackage
@Select("select * from as_service_package_goods") @Select("select * from as_service_package_goods")
List<AsServicePackageGoodsVo> selectListVo(); List<AsServicePackageGoodsVo> selectListVo();
@Delete("DELETE FROM as_service_package_goods WHERE packageSid = #{sid}")
void delByMainSid(@Param("sid") String sid);
@Select("select * from as_service_package_goods WHERE packageSid = #{sid}")
List<AsServicePackageGoods> getByMainSid(String sid);
} }

10
yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackagegoods/AsServicePackageGoodsService.java

@ -41,6 +41,8 @@ import com.yxt.anrui.as.api.asservicepackagegoods.AsServicePackageGoodsDto;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* Project: yxt-as(售后服务) <br/> * Project: yxt-as(售后服务) <br/>
* File: AsServicePackageGoodsService.java <br/> * File: AsServicePackageGoodsService.java <br/>
@ -103,4 +105,12 @@ public class AsServicePackageGoodsService extends MybatisBaseService<AsServicePa
BeanUtil.copyProperties(entity, vo); BeanUtil.copyProperties(entity, vo);
return vo; return vo;
} }
public void delByMainSid(String sid) {
baseMapper.delByMainSid(sid);
}
public List<AsServicePackageGoods> getByMainSid(String sid) {
return baseMapper.getByMainSid(sid);
}
} }

7
yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackagesitem/AsServicePackageSitemMapper.java

@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
@ -62,4 +63,10 @@ public interface AsServicePackageSitemMapper extends BaseMapper<AsServicePackage
@Select("select * from as_service_package_sitem") @Select("select * from as_service_package_sitem")
List<AsServicePackageSitemVo> selectListVo(); List<AsServicePackageSitemVo> selectListVo();
@Delete("DELETE FROM as_service_package_sitem WHERE packageSid = #{sid}")
void delByMainSid(String sid);
@Select("select * from as_service_package_sitem WHERE packageSid = #{sid}")
List<AsServicePackageSitem> getByMainSid(String sid);
} }

9
yxt-as/src/main/java/com/yxt/anrui/as/biz/asservicepackagesitem/AsServicePackageSitemService.java

@ -41,6 +41,8 @@ import com.yxt.anrui.as.api.asservicepackagesitem.AsServicePackageSitemDto;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* Project: yxt-as(售后服务) <br/> * Project: yxt-as(售后服务) <br/>
* File: AsServicePackageSitemService.java <br/> * File: AsServicePackageSitemService.java <br/>
@ -103,4 +105,11 @@ public class AsServicePackageSitemService extends MybatisBaseService<AsServicePa
BeanUtil.copyProperties(entity, vo); BeanUtil.copyProperties(entity, vo);
return vo; return vo;
} }
public void delByMainSid(String sid) {
baseMapper.delByMainSid(sid);
}
public List<AsServicePackageSitem> getByMainSid(String sid) {
return baseMapper.getByMainSid(sid);
}
} }

31
yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsFeign.java

@ -0,0 +1,31 @@
package com.yxt.anrui.as.feign.wms.wmsgoods;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* @description: 商品基础信息
* @author: fzz
* @date: 2024/3/7
**/
@FeignClient(
contextId = "yxt-wms-WmsGoods",
name = "yxt-wms",
path = "apiadmin/base/wmsgoods",
fallback = WmsGoodsFeignFallback.class
)
public interface WmsGoodsFeign {
@ApiOperation("查询分公司下所有的商品信息")
@PostMapping("/getPackageGoodsVo")
public ResultBean<PagerVo<WmsGoodsPackageVo>> getPackageGoodsVo(@RequestBody PagerQuery<WmsGoodsPackageQuery> pq);
}

56
yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsFeignFallback.java

@ -0,0 +1,56 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.as.feign.wms.wmsgoods;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* Project: anrui-fin(安瑞财务) <br/>
* File: FinManufacturerBankFeignFallback.java <br/>
* Class: com.yxt.anrui.fin.api.finmanufacturerbank.FinManufacturerBankFeignFallback <br/>
* Description: 公司开户账号表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-08-03 15:00:11 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class WmsGoodsFeignFallback implements WmsGoodsFeign {
@Override
public ResultBean<PagerVo<WmsGoodsPackageVo>> getPackageGoodsVo(PagerQuery<WmsGoodsPackageQuery> pq) {
return null;
}
}

15
yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageQuery.java

@ -0,0 +1,15 @@
package com.yxt.anrui.as.feign.wms.wmsgoods;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/3/12 15:33
*/
@Data
public class WmsGoodsPackageQuery implements Query {
private String useOrgSid;
private String goodsName;
}

48
yxt-as/src/main/java/com/yxt/anrui/as/feign/wms/wmsgoods/WmsGoodsPackageVo.java

@ -0,0 +1,48 @@
package com.yxt.anrui.as.feign.wms.wmsgoods;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author Fan
* @description
* @date 2024/3/7 14:29
*/
@Data
public class WmsGoodsPackageVo {
@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("仓库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; // 规格
}
Loading…
Cancel
Save