old mode 100644
new mode 100755
| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.RoomDto; |
| | | import com.java110.dto.contractRoom.ContractRoomDto; |
| | | import com.java110.dto.fee.FeeAttrDto; |
| | | import com.java110.dto.fee.FeeConfigDto; |
| | | import com.java110.dto.fee.FeeDto; |
| | | import com.java110.dto.meterWater.ImportExportMeterWaterDto; |
| | | import com.java110.dto.meterWater.MeterWaterDto; |
| | | import com.java110.dto.owner.OwnerDto; |
| | | import com.java110.dto.parking.ParkingSpaceDto; |
| | | import com.java110.fee.bmo.meterWater.IQueryPreMeterWater; |
| | | import com.java110.intf.community.IParkingSpaceInnerServiceSMO; |
| | | import com.java110.intf.community.IRoomInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeAttrInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeInnerServiceSMO; |
| | | import com.java110.intf.fee.IMeterWaterInnerServiceSMO; |
| | | import com.java110.intf.store.IContractRoomInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerInnerServiceSMO; |
| | | import com.java110.po.fee.FeeAttrPo; |
| | | import com.java110.po.fee.PayFeePo; |
| | | import com.java110.po.meterWater.MeterWaterPo; |
| | | import com.java110.utils.util.Assert; |
| | |
| | | @Autowired |
| | | private IFeeInnerServiceSMO feeInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IContractRoomInnerServiceSMO contractRoomInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl; |
| | | |
| | | |
| | | @Override |
| | | public ResponseEntity<String> query(MeterWaterDto meterWaterDto, String roomNum) { |
| | |
| | | meterWaterDto.setMeterType(meterType); |
| | | meterWaterDto.setObjType(FeeDto.PAYER_OBJ_TYPE_ROOM); |
| | | meterWaterDto.setObjId(tmpRoomDto.getRoomId()); |
| | | meterWaterDto.setCommunityId(communityId); |
| | | List<MeterWaterDto> meterWaterDtos = meterWaterInnerServiceSMOImpl.queryMeterWaters(meterWaterDto); |
| | | importExportMeterWaterDto = BeanConvertUtil.covertBean(tmpRoomDto, ImportExportMeterWaterDto.class); |
| | | String preDegree = "0" ; |
| | | String preDegree = "0"; |
| | | String preReadTime = DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_B); |
| | | if(meterWaterDtos != null && meterWaterDtos.size()> 0){ |
| | | double price = 0; |
| | | if (meterWaterDtos != null && meterWaterDtos.size() > 0) { |
| | | preDegree = meterWaterDtos.get(0).getCurDegrees(); |
| | | preReadTime = DateUtil.dateTimeToDate(meterWaterDtos.get(0).getCurReadingTime()); |
| | | price = meterWaterDtos.get(0).getPrice(); |
| | | } |
| | | importExportMeterWaterDto.setPreDegrees(preDegree); |
| | | importExportMeterWaterDto.setPreReadingTime(preReadTime); |
| | | importExportMeterWaterDto.setPrice(price); |
| | | importExportMeterWaterDtos.add(importExportMeterWaterDto); |
| | | } |
| | | return ResultVo.createResponseEntity(1, importExportMeterWaterDtos.size(), importExportMeterWaterDtos); |
| | |
| | | |
| | | List<PayFeePo> fees = new ArrayList<>(); |
| | | List<MeterWaterPo> meterWaterPos = new ArrayList<>(); |
| | | List<FeeAttrPo> feeAttrPos = new ArrayList<>(); |
| | | for (int meteWaterIndex = 0; meteWaterIndex < importMeteWaterFees.size(); meteWaterIndex++) { |
| | | meteWaterJson = importMeteWaterFees.getJSONObject(meteWaterIndex); |
| | | |
| | |
| | | userId, |
| | | feeTypeCd, |
| | | fees, |
| | | meterWaterPos |
| | | meterWaterPos, |
| | | feeAttrPos |
| | | ); |
| | | } |
| | | |
| | |
| | | |
| | | feeInnerServiceSMOImpl.saveFee(fees); |
| | | |
| | | if (feeAttrPos.size() > 0) { |
| | | feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrPos); |
| | | } |
| | | |
| | | meterWaterInnerServiceSMOImpl.saveMeterWaters(meterWaterPos); |
| | | return ResultVo.success(); |
| | | } |
| | | |
| | | private void dealImportExportMeterWater(ImportExportMeterWaterDto importExportMeterWaterDto, String communityId, |
| | | String storeId, String configId, String userId, String feeTypeCd, |
| | | List<PayFeePo> fees, List<MeterWaterPo> meterWaterPos) { |
| | | List<PayFeePo> fees, List<MeterWaterPo> meterWaterPos, List<FeeAttrPo> feeAttrPos) { |
| | | |
| | | RoomDto roomDto = new RoomDto(); |
| | | roomDto.setCommunityId(communityId); |
| | |
| | | |
| | | if (FeeConfigDto.FEE_TYPE_CD_WATER.equals(feeTypeCd)) { |
| | | importExportMeterWaterDto.setMeterType("1010"); |
| | | } else if (FeeConfigDto.FEE_TYPE_CD_GAS.equals(feeTypeCd)) { |
| | | importExportMeterWaterDto.setMeterType("3030"); |
| | | } else { |
| | | importExportMeterWaterDto.setMeterType("2020"); |
| | | } |
| | | |
| | | //查询房屋是否有合同 |
| | | ContractRoomDto contractRoomDto = new ContractRoomDto(); |
| | | |
| | | contractRoomDto.setRoomId(roomDtos.get(0).getRoomId()); |
| | | |
| | | List<ContractRoomDto> contractRoomDtos = contractRoomInnerServiceSMOImpl.queryContractRooms(contractRoomDto); |
| | | |
| | | |
| | | PayFeePo payFeePo = new PayFeePo(); |
| | | payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId)); |
| | |
| | | payFeePo.setPayerObjId(roomDtos.get(0).getRoomId()); |
| | | //payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM); |
| | | payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM); |
| | | |
| | | if (contractRoomDtos != null && contractRoomDtos.size() > 0) { |
| | | payFeePo.setPayerObjId(contractRoomDtos.get(0).getContractId()); |
| | | //payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM); |
| | | payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_CONTRACT); |
| | | FeeAttrPo feeAttrPo = new FeeAttrPo(); |
| | | feeAttrPo.setCommunityId(communityId); |
| | | feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); |
| | | feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_IMPORT_FEE_NAME); |
| | | String feeName = importExportMeterWaterDto.getFloorNum() + "栋" + importExportMeterWaterDto.getUnitNum() + "单元" + importExportMeterWaterDto.getRoomNum() + "室"; |
| | | |
| | | if ("1010".equals(importExportMeterWaterDto.getMeterType())) { |
| | | feeName += "水费"; |
| | | } else if("2020".equals(importExportMeterWaterDto.getMeterType())) { |
| | | feeName += "电费"; |
| | | }else{ |
| | | feeName += "燃气费"; |
| | | } |
| | | feeAttrPo.setValue(feeName); |
| | | feeAttrPo.setFeeId(payFeePo.getFeeId()); |
| | | feeAttrPos.add(feeAttrPo); |
| | | } |
| | | |
| | | OwnerDto ownerDto = new OwnerDto(); |
| | | ownerDto.setCommunityId(communityId); |
| | | ownerDto.setRoomId(roomDtos.get(0).getRoomId()); |
| | | List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnersByRoom(ownerDto); |
| | | |
| | | if (ownerDtos != null && ownerDtos.size() > 0) { |
| | | FeeAttrPo feeAttrPo = new FeeAttrPo(); |
| | | feeAttrPo.setCommunityId(communityId); |
| | | feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID); |
| | | feeAttrPo.setValue(ownerDtos.get(0).getOwnerId()); |
| | | feeAttrPo.setFeeId(payFeePo.getFeeId()); |
| | | feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); |
| | | feeAttrPos.add(feeAttrPo); |
| | | |
| | | feeAttrPo = new FeeAttrPo(); |
| | | feeAttrPo.setCommunityId(communityId); |
| | | feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK); |
| | | feeAttrPo.setValue(ownerDtos.get(0).getLink()); |
| | | feeAttrPo.setFeeId(payFeePo.getFeeId()); |
| | | feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); |
| | | feeAttrPos.add(feeAttrPo); |
| | | |
| | | feeAttrPo = new FeeAttrPo(); |
| | | feeAttrPo.setCommunityId(communityId); |
| | | feeAttrPo.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME); |
| | | feeAttrPo.setValue(ownerDtos.get(0).getName()); |
| | | feeAttrPo.setFeeId(payFeePo.getFeeId()); |
| | | feeAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); |
| | | feeAttrPos.add(feeAttrPo); |
| | | |
| | | } |
| | | payFeePo.setFeeFlag(FeeDto.FEE_FLAG_ONCE); |
| | | payFeePo.setState(FeeDto.STATE_DOING); |
| | | payFeePo.setUserId(userId); |
| | |
| | | payFeePo.setCommunityId(communityId); |
| | | fees.add(payFeePo); |
| | | |
| | | |
| | | MeterWaterPo meterWaterPo = new MeterWaterPo(); |
| | | meterWaterPo.setCommunityId(communityId); |
| | | meterWaterPo.setCurDegrees(importExportMeterWaterDto.getCurDegrees()); |
| | |
| | | meterWaterPo.setFeeId(payFeePo.getFeeId()); |
| | | meterWaterPo.setMeterType(importExportMeterWaterDto.getMeterType()); |
| | | meterWaterPo.setObjId(roomDtos.get(0).getRoomId()); |
| | | meterWaterPo.setObjName(importExportMeterWaterDto.getFloorNum() + "栋" + importExportMeterWaterDto.getUnitNum() + "单元" + importExportMeterWaterDto.getRoomNum() + "室"); |
| | | meterWaterPo.setObjName(importExportMeterWaterDto.getFloorNum() + "-" + importExportMeterWaterDto.getUnitNum() + "-" + importExportMeterWaterDto.getRoomNum()); |
| | | meterWaterPo.setObjType(MeterWaterDto.OBJ_TYPE_ROOM); |
| | | meterWaterPo.setPreDegrees(importExportMeterWaterDto.getPreDegrees()); |
| | | meterWaterPo.setPreReadingTime(importExportMeterWaterDto.getPreReadingTime()); |
| | | meterWaterPo.setWaterId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_waterId)); |
| | | meterWaterPo.setRemark(importExportMeterWaterDto.getRemark()); |
| | | meterWaterPo.setPrice(importExportMeterWaterDto.getPrice()); |
| | | meterWaterPos.add(meterWaterPo); |
| | | } |
| | | |