| | |
| | | import com.java110.dto.fee.FeeConfigDto; |
| | | import com.java110.dto.fee.FeeDto; |
| | | import com.java110.dto.importFee.ImportFeeDto; |
| | | import com.java110.dto.owner.OwnerDto; |
| | | import com.java110.entity.assetImport.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; |
| | |
| | | @Autowired |
| | | private IImportFeeInnerServiceSMO importFeeInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl; |
| | | |
| | | /** |
| | | * 欠费缴费 |
| | | * |
| | |
| | | String feeTypeCd = reqJson.getString("feeTypeCd");//费用大类 |
| | | String storeId = reqJson.getString("storeId"); |
| | | String userId = reqJson.getString("userId"); |
| | | String feeName = reqJson.getString("feeName"); |
| | | |
| | | if (StringUtil.isEmpty(feeName)) { |
| | | feeName = IMPORT_FEE_NAME; |
| | | } |
| | | |
| | | FeeConfigDto feeConfigDto = new FeeConfigDto(); |
| | | feeConfigDto.setFeeTypeCd(feeTypeCd); |
| | | feeConfigDto.setFeeName(IMPORT_FEE_NAME); |
| | | feeConfigDto.setFeeName(feeName); |
| | | feeConfigDto.setCommunityId(communityId); |
| | | List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto); |
| | | // 根据费用大类 判断是否有存在 费用导入收入项 |
| | |
| | | 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) { |
| | | 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<>(); |
| | |
| | | feeAttrPo.setValue(importRoomFee.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(importRoomFee.getEndTime()); |
| | | 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.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)); |
| | | 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)); |
| | | 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.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_feeId)); |
| | | 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> 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"); |
| | | |
| | | if (StringUtil.isEmpty(feeName)) { |
| | | feeName = IMPORT_FEE_NAME; |
| | | } |
| | | FeeConfigDto feeConfigDto = new FeeConfigDto(); |
| | | feeConfigDto.setFeeTypeCd(feeTypeCd); |
| | | feeConfigDto.setFeeName(feeName); |
| | | 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()); |
| | | } |
| | | |
| | | |
| | | JSONArray importCarFees = reqJson.getJSONArray("importCarFees"); |
| | | |
| | | List<ImportRoomFee> tmpImportCarFees = importCarFees.toJavaList(ImportRoomFee.class); |
| | | |
| | | for (ImportRoomFee tmpImportCarFee : tmpImportCarFees) { |
| | | tmpImportCarFee.setCommunityId(communityId); |
| | | } |
| | | |
| | | Assert.isNotNull(tmpImportCarFees, "参数错误,未包含处理费用"); |
| | | |
| | | 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 importCarFee : tmpImportCarFees) { |
| | | if (StringUtil.isEmpty(importCarFee.getCarId()) || importCarFee.getCarId().startsWith("-") || |
| | | StringUtil.isEmpty(importCarFee.getCarNum()) || importCarFee.getCarNum().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.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(importCarFee.getAmount()); |
| | | //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)); |
| | | 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.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); |