From 17cc5a434d6acc39eeddfd913f0f0d39edd20e9e Mon Sep 17 00:00:00 2001
From: chengf <2156125618@qq.com>
Date: 星期四, 14 八月 2025 19:38:25 +0800
Subject: [PATCH] 合同费用导入2025/08/14
---
service-api/src/main/java/com/java110/api/importData/adapt/ImportRoomFeeDataCleaningAdapt.java | 22 +++++++----
service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomFeeQueueDataAdapt.java | 59 ++++++++++++++++++++++++++++-
springboot/src/main/resources/application.yml | 2
3 files changed, 72 insertions(+), 11 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/importData/adapt/ImportRoomFeeDataCleaningAdapt.java b/service-api/src/main/java/com/java110/api/importData/adapt/ImportRoomFeeDataCleaningAdapt.java
index 3e95a0d..0de6bb7 100644
--- a/service-api/src/main/java/com/java110/api/importData/adapt/ImportRoomFeeDataCleaningAdapt.java
+++ b/service-api/src/main/java/com/java110/api/importData/adapt/ImportRoomFeeDataCleaningAdapt.java
@@ -83,11 +83,14 @@
if (osIndex == 0 || osIndex == 1) { // 绗竴琛屾槸 澶撮儴淇℃伅 鐩存帴璺宠繃
continue;
}
- if (os == null ||(os[0] == null && os[1] == null && os[2] == null)) {
+ if((os[0] == null && os[2] == null && os[1] == null)){
break;
}
- String startTime = handleExcelDateString(os[4].toString());
- String endTime = handleExcelDateString(os[5].toString());
+ if (os == null ||(os[0] == null && os[1] == null)|| (os[0] == null && os[2] == null)) {
+ throw new IllegalArgumentException("璇烽�夋嫨璐圭敤涓讳綋+杞︾墝鍙锋垨璐圭敤涓讳綋+鍚堝悓缂栧彿");
+ }
+ String startTime = handleExcelDateString(os[5].toString());
+ String endTime = handleExcelDateString(os[6].toString());
Assert.isDate(startTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "琛屽紑濮嬫椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY/MM/DD 鏂囨湰鏍煎紡");
Assert.isDate(endTime, DateUtil.DATE_FORMATE_STRING_B, (osIndex + 1) + "琛岀粨鏉熸椂闂存牸寮忛敊璇� 璇峰~鍐橸YYY/MM/DD 鏂囨湰鏍煎紡");
@@ -95,8 +98,11 @@
importRoomFee = new ImportRoomFee();
importRoomFee.setPayerObjName(os[0] == null || (os[0] != null && os[1] != null)?os[1].toString():os[0].toString());
importRoomFee.setObjType(os[0] == null || (os[0] != null && os[1] != null) ? "6666" : "3333");
- importRoomFee.setFeeTypeCd(os[2] == null ? null : os[2].toString());
- importRoomFee.setFeeName(os[3] == null ? null : os[3].toString());
+ importRoomFee.setIsContractFee(os[0] != null && os[1] ==null && os[2] != null ? "O" : null);
+ importRoomFee.setObjType(os[0] != null && os[1] ==null && os[2] != null ? "7777" : null);
+ importRoomFee.setContractId(os[0] != null && os[1] ==null && os[2] != null ? os[2].toString() : null);
+ importRoomFee.setFeeTypeCd(os[3] == null ? null : os[3].toString());
+ importRoomFee.setFeeName(os[4] == null ? null : os[4].toString());
importRoomFee.setExpenseSubject(os[0] == null || (os[0] != null && os[1] != null)?os[1].toString():os[0].toString());
if(startTime != null){
importRoomFee.setStartTime(startTime);
@@ -104,9 +110,9 @@
if(endTime != null){
importRoomFee.setEndTime(endTime);
}
- if (os.length > 6){
- importRoomFee.setCreateTime(os[7] == null ? null : excelDoubleToDate(os[7].toString()));
- importRoomFee.setAmount(os[6] == null ? null : os[6].toString());
+ if (os.length > 7){
+ importRoomFee.setCreateTime(os[8] == null ? null : excelDoubleToDate(os[8].toString()));
+ importRoomFee.setAmount(os[7] == null ? null : os[7].toString());
}else{
importRoomFee.setCreateTime(null);
importRoomFee.setAmount("0");
diff --git a/service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomFeeQueueDataAdapt.java b/service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomFeeQueueDataAdapt.java
index 19f73c7..9dc1f30 100644
--- a/service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomFeeQueueDataAdapt.java
+++ b/service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomFeeQueueDataAdapt.java
@@ -2,6 +2,9 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.account.AccountDto;
+import com.java110.dto.contract.ContractDto;
+import com.java110.dto.contract.ContractPartyaDto;
import com.java110.dto.dict.DictDto;
import com.java110.dto.fee.FeeAttrDto;
import com.java110.dto.fee.FeeConfigDto;
@@ -18,9 +21,12 @@
import com.java110.dto.room.RoomDto;
import com.java110.dto.user.UserDto;
import com.java110.fee.cmd.fee.SaveRoomCreateFeeCmd;
+import com.java110.intf.acct.IAccountInnerServiceSMO;
import com.java110.intf.community.IRoomInnerServiceSMO;
import com.java110.intf.dev.IDictV1InnerServiceSMO;
import com.java110.intf.fee.*;
+import com.java110.intf.store.IContractInnerServiceSMO;
+import com.java110.intf.store.IContractPartyaInnerServiceSMO;
import com.java110.intf.user.IMenuUserV1InnerServiceSMO;
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
import com.java110.intf.user.IOwnerInnerServiceSMO;
@@ -78,9 +84,17 @@
@Autowired
private IDictV1InnerServiceSMO iDictV1InnerServiceSMO;
+ @Autowired
+ private IAccountInnerServiceSMO accountInnerServiceSMOImpl;
+
+ @Autowired
+ private IContractPartyaInnerServiceSMO iContractPartyaInnerServiceSMO;
@Autowired
private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IContractInnerServiceSMO iContractInnerServiceSMO;
// @Autowired
// private IPayFeeMonth payFeeMonthImpl;
@Override
@@ -107,7 +121,7 @@
doImportRoomCreateFee(importRoomFee, batchId);
doImportCarCreateFee(importRoomFee, batchId);
-
+ doImportContractFee(importRoomFee, batchId);
}
@@ -176,6 +190,29 @@
* @param batchId
*/
private void doImportCarCreateFee(ImportRoomFee importRoomFee, String batchId) {
+ if (!FeeDto.PAYER_OBJ_TYPE_CONTRACT.equals(importRoomFee.getObjType())) {
+ return;
+ }
+ List<ImportRoomFee> cars = new ArrayList<>();
+ importRoomFee.setCarNum(importRoomFee.getPayerObjName());
+ cars.add(importRoomFee);
+
+
+ List<ImportRoomFee> importRoomFees = ownerCarInnerServiceSMOImpl.freshCarIds(cars);
+ for (ImportRoomFee tmpImportRoomFee : importRoomFees) {
+ if (StringUtil.isEmpty(tmpImportRoomFee.getPayerObjName())) {
+ throw new IllegalArgumentException(tmpImportRoomFee.getCarNum() + "涓嶅瓨鍦�");
+ }
+ }
+ doCreateFeeAndAttrs(importRoomFees.get(0), batchId);
+ }
+ /**
+ * 鍒涘缓杞﹁締璐圭敤
+ *
+ * @param importRoomFee
+ * @param batchId
+ */
+ private void doImportContractFee(ImportRoomFee importRoomFee, String batchId) {
if (!FeeDto.PAYER_OBJ_TYPE_CAR.equals(importRoomFee.getObjType())) {
return;
}
@@ -223,8 +260,26 @@
payFeePo.setCommunityId(importRoomFee.getCommunityId());
payFeePo.setConfigId(feeConfigDtos.get(0).getConfigId());
if (FeeDto.PAYER_OBJ_TYPE_CONTRACT.equals(importRoomFee.getObjType())) {
- payFeePo.setPayerObjId(importRoomFee.getContractId());
+ ContractDto contractDto = new ContractDto();
+ contractDto.setContractCode(importRoomFee.getContractId());
+ List<ContractDto> contractDtos = iContractInnerServiceSMO.queryContracts(contractDto);
+ if(contractDtos.size() == 0){
+ throw new IllegalArgumentException("涓嶅瓨鍦ㄥ悎鍚岀紪鍙蜂负"+importRoomFee.getContractId()+"鐨勫悎鍚�");
+ }
+ importRoomFee.setFeeTypeCd(feeConfigDtos.get(0).getFeeTypeCd());
+ payFeePo.setFeeTypeCd(feeConfigDtos.get(0).getFeeTypeCd());
+ payFeePo.setContractFee(importRoomFee.getContractId());
+ ContractPartyaDto contractPartyaDto = new ContractPartyaDto();
+ contractPartyaDto.setPartyA(importRoomFee.getPayerObjName());
+ List<ContractPartyaDto> contractPartyaDtos = iContractPartyaInnerServiceSMO.queryContractPartyas(contractPartyaDto);
+ if (ListUtil.isNull(contractPartyaDtos)) {
+ throw new IllegalArgumentException("涓嶅瓨鍦ㄥ悎鍚屼富浣擄細"+importRoomFee.getPayerObjName());
+ }else if (contractPartyaDtos.size() > 1){
+ throw new IllegalArgumentException("鍚堝悓涓讳綋"+importRoomFee.getPayerObjName()+"瀛樺湪閲嶅悕");
+ }
+ payFeePo.setPayerObjId(contractPartyaDtos.get(0).getPartyaId());
payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CONTRACT);
+ payFeePo.setIsContractFee("O");
} else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(importRoomFee.getObjType())) {
payFeePo.setPayerObjId(importRoomFee.getCarId());
payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CAR);
diff --git a/springboot/src/main/resources/application.yml b/springboot/src/main/resources/application.yml
index bb0552f..d404ca8 100644
--- a/springboot/src/main/resources/application.yml
+++ b/springboot/src/main/resources/application.yml
@@ -1,6 +1,6 @@
spring:
profiles:
- active: debug
+ active: dev
# docker build -t lx .
#
--
Gitblit v1.8.0