From 09095d67f2e2acf45dcd55155da491e44206db4e Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 05 四月 2024 15:38:14 +0800
Subject: [PATCH] 修改时间 将时间修改 未23:59:59秒
---
service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java | 564 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 523 insertions(+), 41 deletions(-)
diff --git a/service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java b/service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java
old mode 100644
new mode 100755
index e8fc3e8..4c280d8
--- a/service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/bmo/impl/ImportRoomFeeImpl.java
@@ -7,24 +7,28 @@
import com.java110.dto.fee.FeeAttrDto;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.dto.fee.FeeDto;
-import com.java110.dto.importFee.ImportFeeDto;
-import com.java110.entity.assetImport.ImportRoomFee;
+import com.java110.dto.importData.ImportFeeDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.dto.importData.ImportRoomFee;
import com.java110.fee.bmo.IImportRoomFee;
-import com.java110.fee.listener.fee.UpdateFeeInfoListener;
import com.java110.intf.community.IRoomInnerServiceSMO;
-import com.java110.intf.fee.*;
+import com.java110.intf.fee.IFeeAttrInnerServiceSMO;
+import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
+import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
+import com.java110.intf.fee.IFeeInnerServiceSMO;
+import com.java110.intf.fee.IImportFeeDetailInnerServiceSMO;
+import com.java110.intf.fee.IImportFeeInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarInnerServiceSMO;
+import com.java110.intf.user.IOwnerInnerServiceSMO;
import com.java110.po.fee.FeeAttrPo;
import com.java110.po.fee.PayFeeConfigPo;
import com.java110.po.fee.PayFeePo;
import com.java110.po.importFee.ImportFeePo;
-import com.java110.po.importFeeDetail.ImportFeeDetailPo;
-import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
-import com.java110.utils.util.DateUtil;
-import com.java110.utils.util.StringUtil;
+import com.java110.po.importFee.ImportFeeDetailPo;
+import com.java110.utils.util.*;
import com.java110.vo.ResultVo;
import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
@@ -38,7 +42,7 @@
@Service
public class ImportRoomFeeImpl implements IImportRoomFee {
- private static Logger logger = LoggerFactory.getLogger(UpdateFeeInfoListener.class);
+ private static Logger logger = LoggerFactory.getLogger(ImportRoomFeeImpl.class);
private static final String IMPORT_FEE_NAME = "瀵煎叆璐圭敤";
@@ -66,6 +70,12 @@
@Autowired
private IImportFeeInnerServiceSMO importFeeInnerServiceSMOImpl;
+ @Autowired
+ private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
+
+ @Autowired
+ private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
+
/**
* 娆犺垂缂磋垂
*
@@ -85,10 +95,255 @@
String feeTypeCd = reqJson.getString("feeTypeCd");//璐圭敤澶х被
String storeId = reqJson.getString("storeId");
String userId = reqJson.getString("userId");
+ String feeName = reqJson.getString("feeName");
+ String batchId = reqJson.getString("batchId");
+
+
+ JSONArray importRoomFees = reqJson.getJSONArray("importRoomFees");
+
+ List<ImportRoomFee> tmpImportRoomFees = importRoomFees.toJavaList(ImportRoomFee.class);
+
+ if (ListUtil.isNull(tmpImportRoomFees)) {
+ throw new IllegalArgumentException("鏈寘鍚鍏ヨ垂鐢�");
+ }
+
+ if (StringUtil.isEmpty(feeName)) {
+ feeName = tmpImportRoomFees.get(0).getFeeName();
+ }
+
+ if (StringUtil.isEmpty(feeName)) {
+ feeName = IMPORT_FEE_NAME;
+ }
+
+ if (!StringUtil.isEmpty(feeName)) {
+ feeName = feeName.trim();
+ }
FeeConfigDto feeConfigDto = new FeeConfigDto();
feeConfigDto.setFeeTypeCd(feeTypeCd);
- feeConfigDto.setFeeName(IMPORT_FEE_NAME);
+ if (!StringUtil.isEmpty(tmpImportRoomFees.get(0).getConfigId())) {
+ feeConfigDto.setConfigId(tmpImportRoomFees.get(0).getConfigId());
+ } else {
+ feeConfigDto.setFeeNameEq(feeName);
+ }
+ feeConfigDto.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
+ feeConfigDto.setCommunityId(communityId);
+ List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
+ // 鏍规嵁璐圭敤澶х被 鍒ゆ柇鏄惁鏈夊瓨鍦� 璐圭敤瀵煎叆鏀跺叆椤�
+ if (ListUtil.isNull(feeConfigDtos)) {
+ throw new IllegalArgumentException("璐圭敤椤逛笉瀛樺湪");
+ }
+ feeConfigDto.setConfigId(feeConfigDtos.get(0).getConfigId());
+
+ for (ImportRoomFee tmpImportRoomFee : tmpImportRoomFees) {
+ tmpImportRoomFee.setCommunityId(communityId);
+ }
+
+ Assert.isNotNull(tmpImportRoomFees, "鍙傛暟閿欒锛屾湭鍖呭惈澶勭悊璐圭敤");
+
+ tmpImportRoomFees = roomInnerServiceSMOImpl.freshRoomIds(tmpImportRoomFees);
+
+ List<String> roomIds = new ArrayList<>();
+ for (ImportRoomFee importRoomFee : tmpImportRoomFees) {
+ roomIds.add(importRoomFee.getRoomId());
+ }
+ OwnerDto ownerDto = new OwnerDto();
+ ownerDto.setCommunityId(tmpImportRoomFees.get(0).getCommunityId());
+ ownerDto.setRoomIds(roomIds.toArray(new String[roomIds.size()]));
+ List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnersByRoom(ownerDto);
+ for (ImportRoomFee importRoomFee : tmpImportRoomFees) {
+ if (StringUtil.isEmpty(importRoomFee.getRoomId())) {
+ throw new IllegalArgumentException("鎴垮眿涓嶅瓨鍦紝" + importRoomFee.getFloorNum() + "-" + importRoomFee.getUnitNum() + "-" + importRoomFee.getRoomNum());
+ }
+ for (OwnerDto tmpOwnerDto : ownerDtos) {
+ if (importRoomFee.getRoomId().equals(tmpOwnerDto.getRoomId())) {
+ importRoomFee.setOwnerId(tmpOwnerDto.getOwnerId());
+ importRoomFee.setOwnerName(tmpOwnerDto.getName());
+ importRoomFee.setOwnerLink(tmpOwnerDto.getLink());
+ }
+ }
+ }
+
+ List<PayFeePo> payFeePos = new ArrayList<>();
+ List<FeeAttrPo> feeAttrPos = new ArrayList<>();
+ List<ImportFeeDetailPo> importFeeDetailPos = new ArrayList<>();
+ PayFeePo payFeePo = null;
+ ImportFeeDetailPo importFeeDetailPo = null;
+ String endTime = "";
+ for (ImportRoomFee importRoomFee : tmpImportRoomFees) {
+ if (StringUtil.isEmpty(importRoomFee.getRoomId()) || importRoomFee.getRoomId().startsWith("-") ||
+ StringUtil.isEmpty(importRoomFee.getFloorNum()) || importRoomFee.getFloorNum().startsWith("-") ||
+ StringUtil.isEmpty(importRoomFee.getUnitNum()) || importRoomFee.getUnitNum().startsWith("-")
+ ) {
+ errorCount++;
+ continue;
+ }
+ endTime = importRoomFee.getEndTime();
+ if(!endTime.contains(":")){
+ endTime += " 23:59:59";
+ }
+
+ successCount++;
+ payFeePo = new PayFeePo();
+ payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId, true));
+ payFeePo.setEndTime(importRoomFee.getStartTime());
+ payFeePo.setState(FeeDto.STATE_DOING);
+ payFeePo.setCommunityId(communityId);
+ payFeePo.setConfigId(feeConfigDto.getConfigId());
+ payFeePo.setPayerObjId(importRoomFee.getRoomId());
+ payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
+ payFeePo.setUserId(userId);
+ payFeePo.setIncomeObjId(storeId);
+ payFeePo.setFeeTypeCd(feeTypeCd);
+ payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
+ payFeePo.setAmount(importRoomFee.getAmount());
+ payFeePo.setBatchId(batchId);
+ //payFeePo.setStartTime(importRoomFee.getStartTime());
+ payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+
+ payFeePos.add(payFeePo);
+
+ FeeAttrPo feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_IMPORT_FEE_NAME);
+ feeAttrPo.setValue(importRoomFee.getFeeName());
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+
+ //todo 鎻掑叆鎴鏃堕棿
+ feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME);
+ feeAttrPo.setValue(endTime);
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+
+ //todo 璐圭敤瀵硅薄鍚嶇О
+ feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_PAY_OBJECT_NAME);
+ feeAttrPo.setValue(importRoomFee.getRoomName());
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+
+
+ if (!StringUtil.isEmpty(importRoomFee.getOwnerId())) {
+ feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID);
+ feeAttrPo.setValue(importRoomFee.getOwnerId());
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+
+ feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME);
+ feeAttrPo.setValue(importRoomFee.getOwnerName());
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+
+ feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK);
+ feeAttrPo.setValue(importRoomFee.getOwnerLink());
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+ }
+
+ importFeeDetailPo = new ImportFeeDetailPo();
+ importFeeDetailPo.setAmount(importRoomFee.getAmount());
+ importFeeDetailPo.setCommunityId(communityId);
+ importFeeDetailPo.setEndTime(importRoomFee.getEndTime());
+ importFeeDetailPo.setFeeId(payFeePo.getFeeId());
+ importFeeDetailPo.setFeeName(importRoomFee.getFeeName());
+ importFeeDetailPo.setFloorNum(importRoomFee.getFloorNum());
+ importFeeDetailPo.setUnitNum(importRoomFee.getUnitNum());
+ importFeeDetailPo.setRoomNum(importRoomFee.getRoomNum());
+ importFeeDetailPo.setRoomId(importRoomFee.getRoomId());
+ importFeeDetailPo.setObjId(importRoomFee.getRoomId());
+ importFeeDetailPo.setObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
+ importFeeDetailPo.setObjName(!"0".equals(importRoomFee.getUnitNum())
+ ? importRoomFee.getFloorNum() + "鏍�" + importRoomFee.getUnitNum() + "鍗曞厓" + importRoomFee.getRoomNum() + "瀹�" :
+ importRoomFee.getFloorNum() + "鏍�" + importRoomFee.getRoomNum() + "瀹�"
+ );
+ importFeeDetailPo.setStartTime(importRoomFee.getStartTime());
+ importFeeDetailPo.setIfdId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_IfdId, true));
+ importFeeDetailPo.setState("1000");
+ importFeeDetailPo.setImportFeeId(importFeeId);
+ importFeeDetailPos.add(importFeeDetailPo);
+ }
+
+ feeInnerServiceSMOImpl.saveFee(payFeePos);
+
+ feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrPos);
+
+ ImportFeeDto importFeeDto = new ImportFeeDto();
+ importFeeDto.setCommunityId(communityId);
+ importFeeDto.setImportFeeId(importFeeId);
+
+ List<ImportFeeDto> importRoomFeess = importFeeInnerServiceSMOImpl.queryImportFees(importFeeDto);
+
+ if (importRoomFeess == null || importRoomFeess.size() < 1) {
+ //淇濆瓨鏃ュ織
+ ImportFeePo importFeePo = new ImportFeePo();
+ importFeePo.setCommunityId(communityId);
+ importFeePo.setFeeTypeCd(feeTypeCd);
+ importFeePo.setImportFeeId(importFeeId);
+ importFeeInnerServiceSMOImpl.saveImportFee(importFeePo);
+ }
+
+
+ importFeeDetailInnerServiceSMOImpl.saveImportFeeDetails(importFeeDetailPos);
+
+
+ JSONObject data = new JSONObject();
+ data.put("successCount", successCount);
+ data.put("errorCount", errorCount);
+
+ return ResultVo.createResponseEntity(data);
+ }
+
+ /**
+ * 杞﹁締璐圭敤瀵煎叆
+ *
+ * @param reqJson
+ * @return
+ */
+ @Override
+ @Java110Transactional
+ public ResponseEntity<String> importCarFee(JSONObject reqJson) {
+
+ int successCount = 0;
+ int errorCount = 0;
+
+ //灏忓尯ID
+ String communityId = reqJson.getString("communityId");
+ String importFeeId = reqJson.getString("importFeeId");
+ String feeTypeCd = reqJson.getString("feeTypeCd");//璐圭敤澶х被
+ String storeId = reqJson.getString("storeId");
+ String userId = reqJson.getString("userId");
+ String feeName = reqJson.getString("feeName");
+ String batchId = reqJson.getString("batchId");
+ JSONArray importCarFees = reqJson.getJSONArray("importCarFees");
+
+ List<ImportRoomFee> tmpImportCarFees = importCarFees.toJavaList(ImportRoomFee.class);
+ if (StringUtil.isEmpty(feeName)) {
+ feeName = IMPORT_FEE_NAME;
+ }
+ FeeConfigDto feeConfigDto = new FeeConfigDto();
+ feeConfigDto.setFeeTypeCd(feeTypeCd);
+ if (!StringUtil.isEmpty(tmpImportCarFees.get(0).getConfigId())) {
+ feeConfigDto.setConfigId(tmpImportCarFees.get(0).getConfigId());
+ } else {
+ feeConfigDto.setFeeNameEq(feeName);
+ }
+ feeConfigDto.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
feeConfigDto.setCommunityId(communityId);
List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
// 鏍规嵁璐圭敤澶х被 鍒ゆ柇鏄惁鏈夊瓨鍦� 璐圭敤瀵煎叆鏀跺叆椤�
@@ -101,45 +356,46 @@
}
- JSONArray importRoomFees = reqJson.getJSONArray("importRoomFees");
-
- List<ImportRoomFee> tmpImportRoomFees = importRoomFees.toJavaList(ImportRoomFee.class);
-
- for (ImportRoomFee tmpImportRoomFee : tmpImportRoomFees) {
- tmpImportRoomFee.setCommunityId(communityId);
+ for (ImportRoomFee tmpImportCarFee : tmpImportCarFees) {
+ tmpImportCarFee.setCommunityId(communityId);
}
- Assert.isNotNull(tmpImportRoomFees, "鍙傛暟閿欒锛屾湭鍖呭惈澶勭悊璐圭敤");
+ Assert.isNotNull(tmpImportCarFees, "鍙傛暟閿欒锛屾湭鍖呭惈澶勭悊璐圭敤");
- tmpImportRoomFees = roomInnerServiceSMOImpl.freshRoomIds(tmpImportRoomFees);
+ tmpImportCarFees = ownerCarInnerServiceSMOImpl.freshCarIds(tmpImportCarFees);
List<PayFeePo> payFeePos = new ArrayList<>();
List<FeeAttrPo> feeAttrPos = new ArrayList<>();
List<ImportFeeDetailPo> importFeeDetailPos = new ArrayList<>();
PayFeePo payFeePo = null;
ImportFeeDetailPo importFeeDetailPo = null;
- for (ImportRoomFee importRoomFee : tmpImportRoomFees) {
- if (StringUtil.isEmpty(importRoomFee.getRoomId()) || importRoomFee.getRoomId().startsWith("-") ||
- StringUtil.isEmpty(importRoomFee.getFloorNum()) || importRoomFee.getFloorNum().startsWith("-") ||
- StringUtil.isEmpty(importRoomFee.getUnitNum()) || importRoomFee.getUnitNum().startsWith("-")
+ String endTime = "";
+ for (ImportRoomFee importCarFee : tmpImportCarFees) {
+ if (StringUtil.isEmpty(importCarFee.getCarId()) || importCarFee.getCarId().startsWith("-") ||
+ StringUtil.isEmpty(importCarFee.getCarNum()) || importCarFee.getCarNum().startsWith("-")
) {
errorCount++;
continue;
}
+ endTime = importCarFee.getEndTime();
+ if(!endTime.contains(":")){
+ endTime += " 23:59:59";
+ }
successCount++;
payFeePo = new PayFeePo();
payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
- payFeePo.setEndTime(importRoomFee.getStartTime());
+ payFeePo.setEndTime(importCarFee.getStartTime());
payFeePo.setState(FeeDto.STATE_DOING);
payFeePo.setCommunityId(communityId);
payFeePo.setConfigId(feeConfigDto.getConfigId());
- payFeePo.setPayerObjId(importRoomFee.getRoomId());
- payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM);
+ payFeePo.setPayerObjId(importCarFee.getCarId());
+ payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CAR);
payFeePo.setUserId(userId);
payFeePo.setIncomeObjId(storeId);
payFeePo.setFeeTypeCd(feeTypeCd);
payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
- payFeePo.setAmount(importRoomFee.getAmount());
+ payFeePo.setAmount(importCarFee.getAmount());
+ payFeePo.setBatchId(batchId);
//payFeePo.setStartTime(importRoomFee.getStartTime());
payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
@@ -149,21 +405,242 @@
feeAttrPo.setCommunityId(communityId);
feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_IMPORT_FEE_NAME);
- feeAttrPo.setValue(importRoomFee.getFeeName());
+ feeAttrPo.setValue(importCarFee.getFeeName());
feeAttrPo.setFeeId(payFeePo.getFeeId());
feeAttrPos.add(feeAttrPo);
+
+
+ feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME);
+ feeAttrPo.setValue(endTime);
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+
+
+ if (!StringUtil.isEmpty(importCarFee.getOwnerId())) {
+ feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID);
+ feeAttrPo.setValue(importCarFee.getOwnerId());
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+
+ feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME);
+ feeAttrPo.setValue(importCarFee.getOwnerName());
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+
+ feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK);
+ feeAttrPo.setValue(importCarFee.getOwnerLink());
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+ }
+
importFeeDetailPo = new ImportFeeDetailPo();
- importFeeDetailPo.setAmount(importRoomFee.getAmount());
+ importFeeDetailPo.setAmount(importCarFee.getAmount());
importFeeDetailPo.setCommunityId(communityId);
- importFeeDetailPo.setEndTime(importRoomFee.getEndTime());
+ importFeeDetailPo.setEndTime(importCarFee.getEndTime());
importFeeDetailPo.setFeeId(payFeePo.getFeeId());
- importFeeDetailPo.setFeeName(importRoomFee.getFeeName());
- importFeeDetailPo.setFloorNum(importRoomFee.getFloorNum());
- importFeeDetailPo.setUnitNum(importRoomFee.getUnitNum());
- importFeeDetailPo.setRoomNum(importRoomFee.getRoomNum());
- importFeeDetailPo.setRoomId(importRoomFee.getRoomId());
- importFeeDetailPo.setStartTime(importRoomFee.getStartTime());
- importFeeDetailPo.setIfdId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
+ importFeeDetailPo.setFeeName(importCarFee.getFeeName());
+ importFeeDetailPo.setFloorNum("-");
+ importFeeDetailPo.setUnitNum("-");
+ importFeeDetailPo.setRoomNum("-");
+ importFeeDetailPo.setRoomId("-");
+ importFeeDetailPo.setObjId(importCarFee.getCarId());
+ importFeeDetailPo.setObjType(FeeDto.PAYER_OBJ_TYPE_CAR);
+ importFeeDetailPo.setObjName(importCarFee.getCarNum());
+ importFeeDetailPo.setStartTime(importCarFee.getStartTime());
+ importFeeDetailPo.setIfdId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_IfdId));
+ importFeeDetailPo.setState("1000");
+ importFeeDetailPo.setImportFeeId(importFeeId);
+ importFeeDetailPos.add(importFeeDetailPo);
+ }
+
+ feeInnerServiceSMOImpl.saveFee(payFeePos);
+
+ feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrPos);
+
+ ImportFeeDto importFeeDto = new ImportFeeDto();
+ importFeeDto.setCommunityId(communityId);
+ importFeeDto.setImportFeeId(importFeeId);
+
+ List<ImportFeeDto> importRoomFeess = importFeeInnerServiceSMOImpl.queryImportFees(importFeeDto);
+
+ if (importRoomFeess == null || importRoomFeess.size() < 1) {
+ //淇濆瓨鏃ュ織
+ ImportFeePo importFeePo = new ImportFeePo();
+ importFeePo.setCommunityId(communityId);
+ importFeePo.setFeeTypeCd(feeTypeCd);
+ importFeePo.setImportFeeId(importFeeId);
+ importFeeInnerServiceSMOImpl.saveImportFee(importFeePo);
+ }
+
+
+ importFeeDetailInnerServiceSMOImpl.saveImportFeeDetails(importFeeDetailPos);
+
+
+ JSONObject data = new JSONObject();
+ data.put("successCount", successCount);
+ data.put("errorCount", errorCount);
+
+ return ResultVo.createResponseEntity(data);
+ }
+
+ /**
+ * 鍚堝悓璐圭敤瀵煎叆
+ *
+ * @param reqJson
+ * @return
+ */
+ @Override
+ @Java110Transactional
+ public ResponseEntity<String> importContractFees(JSONObject reqJson) {
+
+ int successCount = 0;
+ int errorCount = 0;
+
+ //灏忓尯ID
+ String communityId = reqJson.getString("communityId");
+ String importFeeId = reqJson.getString("importFeeId");
+ String feeTypeCd = reqJson.getString("feeTypeCd");//璐圭敤澶х被
+ String storeId = reqJson.getString("storeId");
+ String userId = reqJson.getString("userId");
+ String feeName = reqJson.getString("feeName");
+ String batchId = reqJson.getString("batchId");
+
+ JSONArray importCarFees = reqJson.getJSONArray("importRoomFees");
+
+ List<ImportRoomFee> tmpImportContractFees = importCarFees.toJavaList(ImportRoomFee.class);
+
+ if (StringUtil.isEmpty(feeName)) {
+ feeName = IMPORT_FEE_NAME;
+ }
+ FeeConfigDto feeConfigDto = new FeeConfigDto();
+ feeConfigDto.setFeeTypeCd(feeTypeCd);
+ //feeConfigDto.setFeeNameEq(feeName);
+ if (!StringUtil.isEmpty(tmpImportContractFees.get(0).getConfigId())) {
+ feeConfigDto.setConfigId(tmpImportContractFees.get(0).getConfigId());
+ } else {
+ feeConfigDto.setFeeNameEq(feeName);
+ }
+ feeConfigDto.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
+ feeConfigDto.setCommunityId(communityId);
+ List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
+ // 鏍规嵁璐圭敤澶х被 鍒ゆ柇鏄惁鏈夊瓨鍦� 璐圭敤瀵煎叆鏀跺叆椤�
+ if (feeConfigDtos == null || feeConfigDtos.size() < 1) {
+ //鐢熸垚瀵煎叆璐�
+ feeConfigDto.setConfigId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_configId));
+ saveFeeConfig(feeConfigDto);
+ } else {
+ feeConfigDto.setConfigId(feeConfigDtos.get(0).getConfigId());
+ }
+
+
+ for (ImportRoomFee tmpImportCarFee : tmpImportContractFees) {
+ tmpImportCarFee.setCommunityId(communityId);
+ }
+
+ Assert.isNotNull(tmpImportContractFees, "鍙傛暟閿欒锛屾湭鍖呭惈澶勭悊璐圭敤");
+
+ List<PayFeePo> payFeePos = new ArrayList<>();
+ List<FeeAttrPo> feeAttrPos = new ArrayList<>();
+ List<ImportFeeDetailPo> importFeeDetailPos = new ArrayList<>();
+ PayFeePo payFeePo = null;
+ ImportFeeDetailPo importFeeDetailPo = null;
+ for (ImportRoomFee importCarFee : tmpImportContractFees) {
+ if (StringUtil.isEmpty(importCarFee.getContractId()) || importCarFee.getContractId().startsWith("-")
+ ) {
+ errorCount++;
+ continue;
+ }
+ successCount++;
+ payFeePo = new PayFeePo();
+ payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId));
+ payFeePo.setEndTime(importCarFee.getStartTime());
+ payFeePo.setState(FeeDto.STATE_DOING);
+ payFeePo.setCommunityId(communityId);
+ payFeePo.setConfigId(feeConfigDto.getConfigId());
+ payFeePo.setPayerObjId(importCarFee.getContractId());
+ payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CONTRACT);
+ payFeePo.setUserId(userId);
+ payFeePo.setIncomeObjId(storeId);
+ payFeePo.setFeeTypeCd(feeTypeCd);
+ payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE);
+ payFeePo.setAmount(importCarFee.getAmount());
+ payFeePo.setStartTime(importCarFee.getStartTime());
+ payFeePo.setBatchId(batchId);
+ //payFeePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+
+ payFeePos.add(payFeePo);
+
+ FeeAttrPo feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_IMPORT_FEE_NAME);
+ feeAttrPo.setValue(importCarFee.getFeeName());
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+
+
+ feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME);
+ feeAttrPo.setValue(importCarFee.getEndTime());
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+
+
+ if (!StringUtil.isEmpty(importCarFee.getOwnerId())) {
+ feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID);
+ feeAttrPo.setValue(importCarFee.getOwnerId());
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+
+ feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME);
+ feeAttrPo.setValue(importCarFee.getOwnerName());
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+
+ feeAttrPo = new FeeAttrPo();
+ feeAttrPo.setCommunityId(communityId);
+ feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+ feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK);
+ feeAttrPo.setValue(importCarFee.getOwnerLink());
+ feeAttrPo.setFeeId(payFeePo.getFeeId());
+ feeAttrPos.add(feeAttrPo);
+ }
+
+ importFeeDetailPo = new ImportFeeDetailPo();
+ importFeeDetailPo.setAmount(importCarFee.getAmount());
+ importFeeDetailPo.setCommunityId(communityId);
+ importFeeDetailPo.setEndTime(importCarFee.getEndTime());
+ importFeeDetailPo.setFeeId(payFeePo.getFeeId());
+ importFeeDetailPo.setFeeName(importCarFee.getFeeName());
+ importFeeDetailPo.setFloorNum("-");
+ importFeeDetailPo.setUnitNum("-");
+ importFeeDetailPo.setRoomNum("-");
+ importFeeDetailPo.setRoomId("-");
+ importFeeDetailPo.setObjId(importCarFee.getContractId());
+ importFeeDetailPo.setObjType(FeeDto.PAYER_OBJ_TYPE_CONTRACT);
+ importFeeDetailPo.setObjName("鍚堝悓");
+ importFeeDetailPo.setStartTime(importCarFee.getStartTime());
+ importFeeDetailPo.setIfdId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_IfdId));
importFeeDetailPo.setState("1000");
importFeeDetailPo.setImportFeeId(importFeeId);
importFeeDetailPos.add(importFeeDetailPo);
@@ -209,15 +686,20 @@
PayFeeConfigPo payFeeConfigPo = BeanConvertUtil.covertBean(feeConfigDto, PayFeeConfigPo.class);
payFeeConfigPo.setAdditionalAmount("0");
payFeeConfigPo.setBillType(FeeConfigDto.BILL_TYPE_MONTH);
- payFeeConfigPo.setComputingFormula("4004");
+ payFeeConfigPo.setComputingFormula(FeeConfigDto.COMPUTING_FORMULA_DYNAMIC);
payFeeConfigPo.setEndTime(DateUtil.getLastTime());
payFeeConfigPo.setFeeFlag("2006012");
- payFeeConfigPo.setIsDefault("T");
+ payFeeConfigPo.setIsDefault("F");
payFeeConfigPo.setPaymentCd("2100");
- payFeeConfigPo.setFeeName(IMPORT_FEE_NAME);
+ payFeeConfigPo.setFeeName(feeConfigDto.getFeeNameEq());
payFeeConfigPo.setSquarePrice("0");
payFeeConfigPo.setPaymentCycle("1");
payFeeConfigPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
+ payFeeConfigPo.setDeductFrom(FeeConfigDto.DEDUCT_FROM_N);
+ payFeeConfigPo.setDecimalPlace("2");
+ payFeeConfigPo.setScale("1");
+ payFeeConfigPo.setUnits("鍏�");
+ payFeeConfigPo.setPayOnline("Y");
int saveFlag = feeConfigInnerServiceSMOImpl.saveFeeConfig(payFeeConfigPo);
if (saveFlag < 1) {
--
Gitblit v1.8.0