From ebf6117ccea680eae81a91f2fa355ce3a76eb621 Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期一, 15 九月 2025 18:00:37 +0800
Subject: [PATCH] 第二张报表导出0915
---
service-job/src/main/java/com/java110/job/importData/adapt/ImportHistoryFeeDetailQueueDataAdapt.java | 52 ++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 42 insertions(+), 10 deletions(-)
diff --git a/service-job/src/main/java/com/java110/job/importData/adapt/ImportHistoryFeeDetailQueueDataAdapt.java b/service-job/src/main/java/com/java110/job/importData/adapt/ImportHistoryFeeDetailQueueDataAdapt.java
index 739c657..593dbe3 100644
--- a/service-job/src/main/java/com/java110/job/importData/adapt/ImportHistoryFeeDetailQueueDataAdapt.java
+++ b/service-job/src/main/java/com/java110/job/importData/adapt/ImportHistoryFeeDetailQueueDataAdapt.java
@@ -161,13 +161,14 @@
List<String> carTypes = Arrays.asList("涓存椂鍋滆溅璐�", "涓氫富浜ф潈杩囬亾鍋滆溅璐�", "灏忎笟涓讳骇鏉冭溅杈嗙鐞嗚垂","鍦颁笅鍋滆溅璐�","鍦伴潰鍋滆溅璐�");
List<String> contractTypes = Arrays.asList("鍨冨溇娓呰繍璐�","鍏朵粬鏀跺叆","琛ヨ创璐圭敤","鍦哄湴浣跨敤璐�","鐢垫骞垮憡锛堜笟濮斾細锛�","蹇�掓煖","鐢垫骞垮憡锛堣仈璁級","鎴夸骇涓粙","闈炴満鍔ㄨ溅绠$悊璐�","鍏朵粬骞垮憡");
FeeConfigDto feeConfigDto = new FeeConfigDto();
- feeConfigDto.setFeeName(data.getString("secondaryFeeTypeCd"));
- feeConfigDto.setFeeTypeCds(new String[]{"630000007","630000017"});
+ feeConfigDto.setCommunityId(importRoomFee.getCommunityId());
+ feeConfigDto.setFeeNameEq(data.getString("secondaryFeeTypeCd"));
+// feeConfigDto.setFeeTypeCds(new String[]{"630000007","630000017"});
importRoomFee.setInvoiceNo(data.getString("invoiceReceiptNo"));
List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
if(feeConfigDtos.size() > 0){
for(FeeConfigDto feeConfigDto1 : feeConfigDtos){
- if(feeConfigDto1.getSecondaryFeeTypeCdName() != null && (feeConfigDto1.getSecondaryFeeTypeCdName().equals("鐢佃垂鍙婄鐞嗚垂-鍚堝悓") || feeConfigDto1.getSecondaryFeeTypeCdName().equals("浠f敹姘磋垂-鍚堝悓"))){
+ if(feeConfigDto1.getIsContractFee() != null && feeConfigDto1.getIsContractFee().equals("true")){
importRoomFee.setObjType("7777");
}
}
@@ -233,6 +234,9 @@
LocalDateTime startDate = LocalDateTime.parse(importRoomFee.getStartTime(), formatter);
LocalDateTime endDate = LocalDateTime.parse(importRoomFee.getEndTime(), formatter);
importRoomFee.setCycle(String.valueOf(ChronoUnit.MONTHS.between(startDate, endDate)));
+ if (new BigDecimal(importRoomFee.getAmount()).doubleValue() < 0){
+ importRoomFee.setCycle("-"+importRoomFee.getCycle());
+ }
// if(importRoomFee.getPayerObjName())
importCarFees.add(importRoomFee);
}
@@ -253,6 +257,9 @@
LocalDateTime startDate = LocalDateTime.parse(importRoomFee.getStartTime(), formatter);
LocalDateTime endDate = LocalDateTime.parse(importRoomFee.getEndTime(), formatter);
importRoomFee.setCycle(String.valueOf(ChronoUnit.MONTHS.between(startDate, endDate)));
+ if (new BigDecimal(importRoomFee.getAmount()).doubleValue() < 0){
+ importRoomFee.setCycle("-"+importRoomFee.getCycle());
+ }
importCarFees.add(importRoomFee);
}
else{
@@ -450,15 +457,21 @@
}
}
feeDto2.setCommunityId(importRoomFee.getCommunityId());
- feeDto2.setStatusCd("0");
- feeDto2.setUseStart(DateUtil.getDateFromStringA(importRoomFee.getStartTime()));
- feeDto2.setUseEnd(DateUtil.getDateFromStringA(importRoomFee.getEndTime()));
+ if (new BigDecimal(importRoomFee.getAmount()).doubleValue() >= 0){
+ feeDto2.setStatusCd("0");
+ feeDto2.setUseStart(DateUtil.getDateFromStringA(importRoomFee.getStartTime()));
+ feeDto2.setUseEnd(DateUtil.getDateFromStringA(importRoomFee.getEndTime()));
+ }
List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto2);
- feeDtos.removeIf(feeDto -> "2009001".equals(feeDto.getState()));
+ if (new BigDecimal(importRoomFee.getAmount()).doubleValue() >= 0) {
+ feeDtos.removeIf(feeDto -> "2009001".equals(feeDto.getState()));
+ }
if(feeDtos.size() == 0){
updateImportLogDetailState(importRoomFee.getDetailId(),new IllegalArgumentException("璐圭敤椤�"+importRoomFee.getFeeName()+"涓嶅瓨鍦�"));
throw new IllegalArgumentException("璐圭敤璁板綍"+importRoomFee.getFeeName()+"涓嶅瓨鍦�");
+ }else if(feeDtos.size() > 1){
+ throw new IllegalArgumentException("瀛樺湪澶氭潯璁板綍");
}
// if (ListUtil.isNull(feeDtos)) {
// throw new IllegalArgumentException("鏌ヨ涓嶅埌璇ヨ褰曠殑璐圭敤椤癸細"+importRoomFee.getFeeName());
@@ -534,6 +547,12 @@
PayFeeDetailPo payFeeDetailPo = new PayFeeDetailPo();
+ if(importRoomFee.getInvoiceNo() != null){
+ payFeeDetailPo.setInvoiceNo(importRoomFee.getInvoiceNo());
+ payFeeDetailPo.setOpenInvoice("Y");
+ }else{
+ payFeeDetailPo.setOpenInvoice("N");
+ }
payFeeDetailPo.setCommunityId(importRoomFee.getCommunityId());
payFeeDetailPo.setReceivedAmount(importRoomFee.getAmount());
payFeeDetailPo.setPrimeRate("1.0");
@@ -549,6 +568,11 @@
DateUtil.getDateFromStringA(payFeeDetailPo.getStartTime()),
DateUtil.getDateFromStringA(importRoomFee.getEndTime())
));
+
+ if (new BigDecimal(payFeeDetailPo.getReceivedAmount()).doubleValue() < 0){
+ cycle = cycle - cycle - cycle;
+ payFeeDetailPo.setState("1300");
+ }
int count = feeDetailInnerServiceSMOImpl.queryFeeDetailsCountByVo(payFeeDetailPo);
payFeeDetailPo.setPayableAmount(importRoomFee.getAmount());
@@ -561,6 +585,16 @@
throw new IllegalStateException("閲嶅鐨勭即璐硅褰�");
}
+
+ if (new BigDecimal(payFeeDetailPo.getPayableAmount()).doubleValue() < 0) {
+ payFeeDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
+ payFeeDetailPo.setReceivableAmount("-" + computeFeeByCycle(tmpFeeDto,importRoomFee)+"");
+ payFeeDetailPo.setDiscountAmount("0");
+ payFeeDetailPo.setState("1300");
+ int saved = feeDetailInnerServiceSMOImpl.saveFeeDetail(payFeeDetailPo);
+ return;
+ }
+
PayFeeDetailDiscountPo payFeeDetailDiscount = new PayFeeDetailDiscountPo();
try {
Map feePriceAll = computeFeeSMOImpl.getFeePrice(tmpFeeDto);
@@ -595,9 +629,6 @@
payFeeDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId));
- if(importRoomFee.getInvoiceNo() != null){
- payFeeDetailPo.setOpenInvoice(importRoomFee.getInvoiceNo());
- }
int saved = feeDetailInnerServiceSMOImpl.saveFeeDetail(payFeeDetailPo);
@@ -620,6 +651,7 @@
if (saved < 1) {
return;
}
+
FeeDto fee = new FeeDto();
fee.setFeeId(tmpFeeDto.getFeeId());
FeeDto feeInfo = feeInnerServiceSMOImpl.queryFees(fee).get(0);
--
Gitblit v1.8.0