| | |
| | | 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("代收水费-合同"))){ |
| | | if(feeConfigDto1.getIsContractFee() != null && feeConfigDto1.getIsContractFee().equals("true")){ |
| | | importRoomFee.setObjType("7777"); |
| | | } |
| | | } |
| | |
| | | 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); |
| | | } |
| | |
| | | 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{ |
| | |
| | | } |
| | | } |
| | | 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()); |
| | |
| | | |
| | | |
| | | 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"); |
| | |
| | | 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()); |
| | |
| | | |
| | | 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); |
| | |
| | | |
| | | |
| | | payFeeDetailPo.setDetailId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_detailId)); |
| | | if(importRoomFee.getInvoiceNo() != null){ |
| | | payFeeDetailPo.setOpenInvoice(importRoomFee.getInvoiceNo()); |
| | | } |
| | | int saved = feeDetailInnerServiceSMOImpl.saveFeeDetail(payFeeDetailPo); |
| | | |
| | | |
| | |
| | | if (saved < 1) { |
| | | return; |
| | | } |
| | | |
| | | FeeDto fee = new FeeDto(); |
| | | fee.setFeeId(tmpFeeDto.getFeeId()); |
| | | FeeDto feeInfo = feeInnerServiceSMOImpl.queryFees(fee).get(0); |