| | |
| | | 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.dto.importData.ImportFeeDto; |
| | | import com.java110.dto.owner.OwnerDto; |
| | | import com.java110.entity.assetImport.ImportRoomFee; |
| | | 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.IFeeAttrInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeConfigInnerServiceSMO; |
| | |
| | | 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 com.java110.core.log.LoggerFactory; |
| | |
| | | @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 = "导入费用"; |
| | |
| | | |
| | | List<ImportRoomFee> tmpImportRoomFees = importRoomFees.toJavaList(ImportRoomFee.class); |
| | | |
| | | if (tmpImportRoomFees == null || tmpImportRoomFees.size() < 1) { |
| | | if (ListUtil.isNull(tmpImportRoomFees)) { |
| | | throw new IllegalArgumentException("未包含导入费用"); |
| | | } |
| | | |
| | |
| | | feeName = IMPORT_FEE_NAME; |
| | | } |
| | | |
| | | if (!StringUtil.isEmpty(feeName)) { |
| | | feeName = feeName.trim(); |
| | | } |
| | | |
| | | FeeConfigDto feeConfigDto = new FeeConfigDto(); |
| | | feeConfigDto.setFeeTypeCd(feeTypeCd); |
| | | feeConfigDto.setFeeName(feeName); |
| | | 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 (feeConfigDtos == null || feeConfigDtos.size() < 1) { |
| | | //生成导入费 |
| | | feeConfigDto.setConfigId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_configId)); |
| | | saveFeeConfig(feeConfigDto); |
| | | } else { |
| | | feeConfigDto.setConfigId(feeConfigDtos.get(0).getConfigId()); |
| | | if (ListUtil.isNull(feeConfigDtos)) { |
| | | throw new IllegalArgumentException("费用项不存在"); |
| | | } |
| | | feeConfigDto.setConfigId(feeConfigDtos.get(0).getConfigId()); |
| | | |
| | | for (ImportRoomFee tmpImportRoomFee : tmpImportRoomFees) { |
| | | tmpImportRoomFee.setCommunityId(communityId); |
| | |
| | | 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()); |
| | | if (StringUtil.isEmpty(importRoomFee.getRoomId())) { |
| | | throw new IllegalArgumentException("房屋不存在," + importRoomFee.getFloorNum() + "-" + importRoomFee.getUnitNum() + "-" + importRoomFee.getRoomNum()); |
| | | } |
| | | for (OwnerDto tmpOwnerDto : ownerDtos) { |
| | | if (importRoomFee.getRoomId().equals(tmpOwnerDto.getRoomId())) { |
| | |
| | | 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("-") || |
| | |
| | | errorCount++; |
| | | continue; |
| | | } |
| | | endTime = importRoomFee.getEndTime(); |
| | | if(!endTime.contains(":")){ |
| | | endTime += " 23:59:59"; |
| | | } |
| | | |
| | | successCount++; |
| | | payFeePo = new PayFeePo(); |
| | | payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId)); |
| | | payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId, true)); |
| | | payFeePo.setEndTime(importRoomFee.getStartTime()); |
| | | payFeePo.setState(FeeDto.STATE_DOING); |
| | | payFeePo.setCommunityId(communityId); |
| | |
| | | |
| | | FeeAttrPo feeAttrPo = new FeeAttrPo(); |
| | | feeAttrPo.setCommunityId(communityId); |
| | | feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); |
| | | 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)); |
| | | feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true)); |
| | | feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME); |
| | | feeAttrPo.setValue(importRoomFee.getEndTime()); |
| | | 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)); |
| | | feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true)); |
| | | feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID); |
| | | feeAttrPo.setValue(importRoomFee.getOwnerId()); |
| | | feeAttrPo.setFeeId(payFeePo.getFeeId()); |
| | |
| | | |
| | | feeAttrPo = new FeeAttrPo(); |
| | | feeAttrPo.setCommunityId(communityId); |
| | | feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); |
| | | feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true)); |
| | | feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME); |
| | | feeAttrPo.setValue(importRoomFee.getOwnerName()); |
| | | feeAttrPo.setFeeId(payFeePo.getFeeId()); |
| | |
| | | |
| | | feeAttrPo = new FeeAttrPo(); |
| | | feeAttrPo.setCommunityId(communityId); |
| | | feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); |
| | | feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId, true)); |
| | | feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK); |
| | | feeAttrPo.setValue(importRoomFee.getOwnerLink()); |
| | | feeAttrPo.setFeeId(payFeePo.getFeeId()); |
| | |
| | | importRoomFee.getFloorNum() + "栋" + importRoomFee.getRoomNum() + "室" |
| | | ); |
| | | importFeeDetailPo.setStartTime(importRoomFee.getStartTime()); |
| | | importFeeDetailPo.setIfdId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_IfdId)); |
| | | importFeeDetailPo.setIfdId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_IfdId, true)); |
| | | importFeeDetailPo.setState("1000"); |
| | | importFeeDetailPo.setImportFeeId(importFeeId); |
| | | importFeeDetailPos.add(importFeeDetailPo); |
| | |
| | | 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); |
| | | feeConfigDto.setFeeName(feeName); |
| | | 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); |
| | | // 根据费用大类 判断是否有存在 费用导入收入项 |
| | |
| | | feeConfigDto.setConfigId(feeConfigDtos.get(0).getConfigId()); |
| | | } |
| | | |
| | | |
| | | JSONArray importCarFees = reqJson.getJSONArray("importCarFees"); |
| | | |
| | | List<ImportRoomFee> tmpImportCarFees = importCarFees.toJavaList(ImportRoomFee.class); |
| | | |
| | | for (ImportRoomFee tmpImportCarFee : tmpImportCarFees) { |
| | | tmpImportCarFee.setCommunityId(communityId); |
| | |
| | | List<ImportFeeDetailPo> importFeeDetailPos = new ArrayList<>(); |
| | | PayFeePo payFeePo = null; |
| | | ImportFeeDetailPo importFeeDetailPo = null; |
| | | 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(); |
| | |
| | | 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.setValue(endTime); |
| | | feeAttrPo.setFeeId(payFeePo.getFeeId()); |
| | | feeAttrPos.add(feeAttrPo); |
| | | |
| | |
| | | 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.setFeeName(feeName); |
| | | //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); |
| | | // 根据费用大类 判断是否有存在 费用导入收入项 |
| | |
| | | feeConfigDto.setConfigId(feeConfigDtos.get(0).getConfigId()); |
| | | } |
| | | |
| | | |
| | | JSONArray importCarFees = reqJson.getJSONArray("importRoomFees"); |
| | | |
| | | List<ImportRoomFee> tmpImportContractFees = importCarFees.toJavaList(ImportRoomFee.class); |
| | | |
| | | for (ImportRoomFee tmpImportCarFee : tmpImportContractFees) { |
| | | tmpImportCarFee.setCommunityId(communityId); |
| | |
| | | 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("F"); |
| | | payFeeConfigPo.setPaymentCd("2100"); |
| | | payFeeConfigPo.setFeeName(feeConfigDto.getFeeName()); |
| | | 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) { |