old mode 100644
new mode 100755
| | |
| | | import com.java110.community.bmo.roomRenovationRecord.ISaveRoomRenovationRecordBMO; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.RoomDto; |
| | | import com.java110.dto.communitySetting.CommunitySettingDto; |
| | | import com.java110.dto.fee.FeeAttrDto; |
| | | import com.java110.dto.fee.FeeConfigDto; |
| | | import com.java110.dto.fee.FeeDto; |
| | | import com.java110.dto.file.FileDto; |
| | | import com.java110.dto.file.FileRelDto; |
| | | import com.java110.dto.owner.OwnerRoomRelDto; |
| | | import com.java110.dto.roomRenovation.RoomRenovationDto; |
| | | import com.java110.dto.roomRenovationDetail.RoomRenovationDetailDto; |
| | | import com.java110.dto.user.UserDto; |
| | | import com.java110.intf.IRoomRenovationInnerServiceSMO; |
| | | import com.java110.intf.common.IFileInnerServiceSMO; |
| | | import com.java110.intf.common.IFileRelInnerServiceSMO; |
| | | import com.java110.intf.community.ICommunitySettingInnerServiceSMO; |
| | | import com.java110.intf.community.IRoomRenovationInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeAttrInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeConfigInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeInnerServiceSMO; |
| | | import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO; |
| | | import com.java110.intf.user.IUserInnerServiceSMO; |
| | | import com.java110.po.fee.FeeAttrPo; |
| | | import com.java110.po.fee.PayFeePo; |
| | | import com.java110.po.file.FileRelPo; |
| | | import com.java110.po.roomRenovation.RoomRenovationPo; |
| | | import com.java110.po.roomRenovationDetail.RoomRenovationDetailPo; |
| | |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.utils.util.StringUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | |
| | | @RestController |
| | | @RequestMapping(value = "/roomRenovation") |
| | |
| | | @Autowired |
| | | private IDeleteRoomRenovationRecordBMO deleteRoomRenovationRecordBMOImpl; |
| | | |
| | | @Autowired |
| | | private ICommunitySettingInnerServiceSMO communitySettingInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IFeeConfigInnerServiceSMO feeConfigInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IFeeInnerServiceSMO feeInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IFeeAttrInnerServiceSMO feeAttrInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl; |
| | | |
| | | /** |
| | | * 微信保存消息模板 |
| | | * |
| | |
| | | * @path /app/roomRenovation/saveRoomRenovation |
| | | */ |
| | | @RequestMapping(value = "/saveRoomRenovation", method = RequestMethod.POST) |
| | | public ResponseEntity<String> saveRoomRenovation(@RequestBody JSONObject reqJson) { |
| | | public ResponseEntity<String> saveRoomRenovation(@RequestBody JSONObject reqJson, |
| | | @RequestHeader(value = "store-id") String storeId, |
| | | @RequestHeader(value = "user-id") String userId) throws ParseException { |
| | | |
| | | Assert.hasKeyAndValue(reqJson, "roomId", "请求报文中未包含roomId"); |
| | | Assert.hasKeyAndValue(reqJson, "roomName", "请求报文中未包含roomName"); |
| | |
| | | Assert.hasKeyAndValue(reqJson, "personTel", "请求报文中未包含personTel"); |
| | | //Assert.hasKeyAndValue(reqJson, "isViolation", "请求报文中未包含isViolation"); |
| | | |
| | | //获取开始时间 |
| | | String startTime = reqJson.getString("startTime") + " 00:00:00"; |
| | | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | Date timeOne = format.parse(startTime); |
| | | Calendar now = Calendar.getInstance(); |
| | | String newTime = now.get(Calendar.YEAR) + "-" + (now.get(Calendar.MONTH) + 1) + "-" + now.get(Calendar.DAY_OF_MONTH) + " 00:00:00"; |
| | | Date timeTwo = format.parse(newTime); |
| | | if (timeOne.getTime() < timeTwo.getTime()) { |
| | | return ResultVo.error("装修时间不能小于当前时间!"); |
| | | } |
| | | RoomRenovationPo roomRenovationPo = BeanConvertUtil.covertBean(reqJson, RoomRenovationPo.class); |
| | | |
| | | //判断是否已经存在该房屋的装修记录了 |
| | |
| | | roomRenovationPo.setIsViolation("N"); |
| | | roomRenovationPo.setStartTime(reqJson.getString("startTime") + " 00:00:00"); |
| | | roomRenovationPo.setEndTime(reqJson.getString("endTime") + " 23:59:59"); |
| | | //生成装修费用 |
| | | CommunitySettingDto communitySettingDto = new CommunitySettingDto(); |
| | | communitySettingDto.setSettingKey("REPAIR_CONFIG_FEE"); |
| | | communitySettingDto.setCommunityId(reqJson.getString("communityId")); |
| | | //查询小区配置 |
| | | List<CommunitySettingDto> communitySettingDtos = communitySettingInnerServiceSMOImpl.queryCommunitySettings(communitySettingDto); |
| | | String settingValue = null; |
| | | if (communitySettingDtos != null && communitySettingDtos.size() > 0) { |
| | | //获取小区设置值 |
| | | settingValue = communitySettingDtos.get(0).getSettingValue(); |
| | | } |
| | | //获取房屋id |
| | | String roomId = reqJson.getString("roomId"); |
| | | OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto(); |
| | | ownerRoomRelDto.setRoomId(roomId); |
| | | //查询业主房屋关系表 |
| | | List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto); |
| | | Assert.listOnlyOne(ownerRoomRelDtos, "查询业主房屋关系表错误!"); |
| | | //获取业主id |
| | | String ownerId = ownerRoomRelDtos.get(0).getOwnerId(); |
| | | if (!StringUtil.isEmpty(settingValue)) { |
| | | String[] settingValues = settingValue.split(","); |
| | | List<PayFeePo> payFeePos = new ArrayList<>(); |
| | | List<FeeAttrPo> feeAttrOwnerIdPos = new ArrayList<>(); |
| | | List<FeeAttrPo> feeAttrOwnerNamePos = new ArrayList<>(); |
| | | List<FeeAttrPo> feeAttrOwnerLinkPos = new ArrayList<>(); |
| | | List<FeeAttrPo> feeAttrOwnerTimePos = new ArrayList<>(); |
| | | for (int i = 0; i < settingValues.length; i++) { |
| | | String configId = settingValues[i]; |
| | | FeeConfigDto feeConfigDto = new FeeConfigDto(); |
| | | feeConfigDto.setConfigId(configId); |
| | | //查询费用项 |
| | | List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto); |
| | | Assert.listOnlyOne(feeConfigDtos, "查询费用项错误!"); |
| | | PayFeePo payFeePo = new PayFeePo(); |
| | | payFeePo.setAmount(feeConfigDtos.get(0).getAdditionalAmount()); |
| | | if (!StringUtil.isEmpty(storeId)) { |
| | | payFeePo.setIncomeObjId(storeId); |
| | | } else { |
| | | payFeePo.setIncomeObjId(reqJson.getString("storeId")); |
| | | } |
| | | payFeePo.setFeeTypeCd(feeConfigDtos.get(0).getFeeTypeCd()); |
| | | payFeePo.setStartTime(newTime); |
| | | payFeePo.setEndTime(format.format(System.currentTimeMillis())); |
| | | payFeePo.setCommunityId(reqJson.getString("communityId")); |
| | | payFeePo.setFeeId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_feeId)); |
| | | payFeePo.setUserId(userId); |
| | | payFeePo.setPayerObjId(reqJson.getString("roomId")); |
| | | payFeePo.setFeeFlag(feeConfigDtos.get(0).getFeeFlag()); |
| | | payFeePo.setState(FeeDto.STATE_DOING); |
| | | payFeePo.setConfigId(configId); |
| | | payFeePo.setPayerObjType(FeeDto.PAYER_OBJ_TYPE_ROOM); |
| | | payFeePo.setBatchId("-1"); |
| | | payFeePos.add(payFeePo); |
| | | FeeAttrPo feeAttrPo1 = new FeeAttrPo(); |
| | | feeAttrPo1.setFeeId(payFeePo.getFeeId()); |
| | | feeAttrPo1.setCommunityId(reqJson.getString("communityId")); |
| | | feeAttrPo1.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); |
| | | feeAttrPo1.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_ID); //业主id |
| | | feeAttrPo1.setValue(ownerId); |
| | | feeAttrOwnerIdPos.add(feeAttrPo1); |
| | | FeeAttrPo feeAttrPo2 = new FeeAttrPo(); |
| | | feeAttrPo2.setFeeId(payFeePo.getFeeId()); |
| | | feeAttrPo2.setCommunityId(reqJson.getString("communityId")); |
| | | feeAttrPo2.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); |
| | | feeAttrPo2.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_NAME); //业主名称 |
| | | feeAttrPo2.setValue(reqJson.getString("personName")); |
| | | feeAttrOwnerNamePos.add(feeAttrPo2); |
| | | FeeAttrPo feeAttrPo3 = new FeeAttrPo(); |
| | | feeAttrPo3.setFeeId(payFeePo.getFeeId()); |
| | | feeAttrPo3.setCommunityId(reqJson.getString("communityId")); |
| | | feeAttrPo3.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); |
| | | feeAttrPo3.setSpecCd(FeeAttrDto.SPEC_CD_OWNER_LINK); //联系方式 |
| | | feeAttrPo3.setValue(reqJson.getString("personTel")); |
| | | feeAttrOwnerLinkPos.add(feeAttrPo3); |
| | | if (FeeDto.FEE_FLAG_ONCE.equals(feeConfigDtos.get(0).getFeeFlag())) {//一次性费用 |
| | | FeeAttrPo feeAttrPo4 = new FeeAttrPo(); |
| | | feeAttrPo4.setFeeId(payFeePo.getFeeId()); |
| | | feeAttrPo4.setCommunityId(reqJson.getString("communityId")); |
| | | feeAttrPo4.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId)); |
| | | feeAttrPo4.setSpecCd(FeeAttrDto.SPEC_CD_ONCE_FEE_DEADLINE_TIME); //结束时间 |
| | | feeAttrPo4.setValue(reqJson.getString("startTime")); |
| | | feeAttrOwnerTimePos.add(feeAttrPo4); |
| | | } |
| | | } |
| | | //生成费用 |
| | | feeInnerServiceSMOImpl.saveFee(payFeePos); |
| | | //插入费用属性(业主id) |
| | | feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrOwnerIdPos); |
| | | //插入费用属性(业主姓名) |
| | | feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrOwnerNamePos); |
| | | //插入费用属性(业主联系方式) |
| | | feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrOwnerLinkPos); |
| | | //插入费用属性(费用截止时间) |
| | | feeAttrInnerServiceSMOImpl.saveFeeAttrs(feeAttrOwnerTimePos); |
| | | } |
| | | return saveRoomRenovationBMOImpl.save(roomRenovationPo); |
| | | } |
| | | |
| | |
| | | String rId = roomRenovationPo.getrId(); |
| | | //状态 |
| | | String state = roomRenovationPo.getState(); |
| | | //是否违规 |
| | | String isTrue = roomRenovationPo.getIsTrue(); |
| | | //查询当前用户信息 |
| | | UserDto userDto = new UserDto(); |
| | | userDto.setUserId(userId); |
| | |
| | | roomRenovationRecordPo.setCreateTime(format.format(new Date())); |
| | | roomRenovationRecordPo.setStaffId(userId); |
| | | roomRenovationRecordPo.setStaffName(users.get(0).getName()); |
| | | roomRenovationRecordPo.setIsTrue(isTrue); |
| | | saveRoomRenovationRecordBMO.saveRecord(roomRenovationRecordPo); |
| | | FileRelPo fileRelPo = new FileRelPo(); |
| | | fileRelPo.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId)); |
| | |
| | | @RequestParam(value = "roomName", required = false) String roomName, |
| | | @RequestParam(value = "personName", required = false) String personName, |
| | | @RequestParam(value = "personTel", required = false) String personTel, |
| | | @RequestParam(value = "state", required = false) String state, |
| | | @RequestParam(value = "isPostpone", required = false) String isPostpone, |
| | | @RequestParam(value = "renovationTime", required = false) String renovationTime, |
| | | @RequestParam(value = "renovationStartTime", required = false) String renovationStartTime, |
| | | @RequestParam(value = "renovationEndTime", required = false) String renovationEndTime, |
| | | @RequestHeader(value = "user-id") String userId, |
| | | @RequestParam(value = "page", required = false) int page, |
| | | @RequestParam(value = "row", required = false) int row) { |
| | |
| | | roomRenovationDto.setRoomName(roomName); |
| | | roomRenovationDto.setPersonName(personName); |
| | | roomRenovationDto.setPersonTel(personTel); |
| | | roomRenovationDto.setState(state); |
| | | roomRenovationDto.setUserId(userId); |
| | | roomRenovationDto.setIsPostpone(isPostpone); |
| | | roomRenovationDto.setRenovationTime(renovationTime); |
| | | roomRenovationDto.setRenovationStartTime(renovationStartTime); |
| | | roomRenovationDto.setRenovationEndTime(renovationEndTime); |
| | | return getRoomRenovationBMOImpl.get(roomRenovationDto); |
| | | } |
| | | |
| | |
| | | roomDto.setRoomId(reqJson.getString("roomId")); |
| | | //状态变为已装修 |
| | | roomDto.setState("2005"); |
| | | //验收成功 |
| | | roomRenovationDetailPo.setState("3000"); |
| | | saveRoomRenovationDetailBMOImpl.save(roomRenovationDetailPo); |
| | | return updateRoomRenovationBMOImpl.updateRoom(roomDto); |
| | | } else if (roomRenovationDetailPo.getState().equals("6000")) { |
| | | RoomDto roomDto = new RoomDto(); |
| | | roomDto.setRoomId(reqJson.getString("roomId")); |
| | | //状态变为已交房 |
| | | roomDto.setState("2003"); |
| | | saveRoomRenovationDetailBMOImpl.save(roomRenovationDetailPo); |
| | | return updateRoomRenovationBMOImpl.updateRoom(roomDto); |
| | | } else if (roomRenovationDetailPo.getState().equals("6000")) { //验收失败装修状态变为装修中 |
| | | RoomRenovationPo roomRenovation = new RoomRenovationPo(); |
| | | roomRenovation.setrId(roomRenovationDetailPo.getrId()); |
| | | roomRenovation.setState("3000"); |
| | | //验收失败把房屋状态变为装修中,让业主装修整改 |
| | | updateRoomRenovationBMOImpl.update(roomRenovation); |
| | | //验收失败 |
| | | roomRenovationDetailPo.setState("4000"); |
| | | return saveRoomRenovationDetailBMOImpl.save(roomRenovationDetailPo); |
| | | } else { |
| | | return saveRoomRenovationDetailBMOImpl.save(roomRenovationDetailPo); |
| | | } |