| | |
| | | private List<String> repairChannels; |
| | | private String payType; |
| | | |
| | | private String doTime; |
| | | private String warningTime; |
| | | |
| | | private String timeout; |
| | | |
| | | private String timeoutFlag; |
| | | |
| | | private String finishTime; |
| | | |
| | | //业主上传维修图片 |
| | | private List<PhotoVo> repairPhotos; |
| | | //维修前图片 |
| | |
| | | private String endTime; |
| | | |
| | | private String notifyWay; |
| | | |
| | | private String submitHours; |
| | | |
| | | |
| | | public String getRepairName() { |
| | |
| | | public void setCommunityIds(String[] communityIds) { |
| | | this.communityIds = communityIds; |
| | | } |
| | | |
| | | public String getDoTime() { |
| | | return doTime; |
| | | } |
| | | |
| | | public void setDoTime(String doTime) { |
| | | this.doTime = doTime; |
| | | } |
| | | |
| | | public String getWarningTime() { |
| | | return warningTime; |
| | | } |
| | | |
| | | public void setWarningTime(String warningTime) { |
| | | this.warningTime = warningTime; |
| | | } |
| | | |
| | | public String getTimeout() { |
| | | return timeout; |
| | | } |
| | | |
| | | public void setTimeout(String timeout) { |
| | | this.timeout = timeout; |
| | | } |
| | | |
| | | public String getFinishTime() { |
| | | return finishTime; |
| | | } |
| | | |
| | | public void setFinishTime(String finishTime) { |
| | | this.finishTime = finishTime; |
| | | } |
| | | |
| | | public String getSubmitHours() { |
| | | return submitHours; |
| | | } |
| | | |
| | | public void setSubmitHours(String submitHours) { |
| | | this.submitHours = submitHours; |
| | | } |
| | | |
| | | public String getTimeoutFlag() { |
| | | return timeoutFlag; |
| | | } |
| | | |
| | | public void setTimeoutFlag(String timeoutFlag) { |
| | | this.timeoutFlag = timeoutFlag; |
| | | } |
| | | } |
| | |
| | | private String repairFee; |
| | | private String payType; |
| | | |
| | | private String timeout; |
| | | |
| | | private String finishTime; |
| | | |
| | | public String getRepairId() { |
| | | return repairId; |
| | | } |
| | |
| | | public void setPayType(String payType) { |
| | | this.payType = payType; |
| | | } |
| | | |
| | | public String getTimeout() { |
| | | return timeout; |
| | | } |
| | | |
| | | public void setTimeout(String timeout) { |
| | | this.timeout = timeout; |
| | | } |
| | | |
| | | public String getFinishTime() { |
| | | return finishTime; |
| | | } |
| | | |
| | | public void setFinishTime(String finishTime) { |
| | | this.finishTime = finishTime; |
| | | } |
| | | } |
| | |
| | | <!-- 保存费用明细信息 add by wuxw 2018-07-03 --> |
| | | <insert id="saveRepairPoolNewInfo" parameterType="Map"> |
| | | insert into r_repair_pool( |
| | | repair_type,repair_obj_type,repair_id,pay_type,repair_name,repair_obj_id,appointment_time,repair_fee,context,tel,repair_channel,repair_materials,state,community_id,maintenance_type,repair_obj_name |
| | | repair_type,repair_obj_type,repair_id,pay_type,repair_name,repair_obj_id,appointment_time,repair_fee,context, |
| | | tel,repair_channel,repair_materials,state,community_id,maintenance_type,repair_obj_name,timeout,finish_time |
| | | ) values ( |
| | | #{repairType},#{repairObjType},#{repairId},#{payType},#{repairName},#{repairObjId},#{appointmentTime},#{repairFee},#{context},#{tel},#{repairChannel},#{repairMaterials},#{state},#{communityId},#{maintenanceType},#{repairObjName} |
| | | #{repairType},#{repairObjType},#{repairId},#{payType},#{repairName},#{repairObjId},#{appointmentTime},#{repairFee},#{context}, |
| | | #{tel},#{repairChannel},#{repairMaterials},#{state},#{communityId},#{maintenanceType},#{repairObjName},#{timeout},#{finishTime} |
| | | ) |
| | | </insert> |
| | | |
| | |
| | | repairObjId,t.appointment_time,t.appointment_time appointmentTime,t.repair_fee,t.repair_fee |
| | | repairFee,t.context,t.tel,t.repair_channel,t.repair_channel repairChannel,t.repair_materials,t.repair_materials |
| | | repairMaterials,t.state,t.community_id,t.community_id communityId,t.maintenance_type,t.maintenance_type |
| | | maintenanceType,t.repair_obj_name,t.repair_obj_name repairObjName |
| | | maintenanceType,t.repair_obj_name,t.repair_obj_name repairObjName,t.timeout,t.finish_time finishTime |
| | | from r_repair_pool t |
| | | where 1 =1 |
| | | <if test="repairType !=null and repairType != ''"> |
| | |
| | | <if test="state !=null and state != ''"> |
| | | , t.state= #{state} |
| | | </if> |
| | | <if test="communityId !=null and communityId != ''"> |
| | | , t.community_id= #{communityId} |
| | | </if> |
| | | |
| | | <if test="maintenanceType !=null and maintenanceType != ''"> |
| | | , t.maintenance_type= #{maintenanceType} |
| | | </if> |
| | | <if test="repairObjName !=null and repairObjName != ''"> |
| | | , t.repair_obj_name= #{repairObjName} |
| | | </if> |
| | | <if test="finishTime !=null and finishTime != ''"> |
| | | , t.finish_time = #{finishTime} |
| | | </if> |
| | | where 1=1 |
| | | <if test="repairId !=null and repairId != ''"> |
| | | and t.repair_id= #{repairId} |
| | | </if> |
| | | <if test="communityId !=null and communityId != ''"> |
| | | and t.community_id= #{communityId} |
| | | </if> |
| | | |
| | | </update> |
| | | |
| | |
| | | t.repair_obj_type,t.repair_obj_id,t.repair_obj_name,t.repair_obj_type repairObjType,t.repair_obj_id repairObjId, |
| | | t.repair_obj_name repairObjName,rrv.visit_type visitType,rrv.context visitContext,a.appraise_score |
| | | appraiseScore, a.door_speed_score doorSpeedScore,a.repairman_service_score repairmanServiceScore, |
| | | t.pay_type,t.pay_type payType,rs.repair_setting_type repairSettingType,rs.notify_way notifyWay,d1.name repairSettingTypeName,t.create_time createTime |
| | | t.pay_type,t.pay_type payType,rs.repair_setting_type repairSettingType,rs.notify_way notifyWay, |
| | | rs.do_time doTime,rs.warning_time warningTime,d1.name repairSettingTypeName,t.create_time createTime, |
| | | t.timeout,t.finish_time finishTime |
| | | <if test="staffId != null and staffId != ''"> |
| | | ,rru.state repairDispatchState,rru.context repairDispatchContext,td.name repairDispatchStateName |
| | | </if> |
| | |
| | | </if> |
| | | <if test="endTime !=null and endTime != ''"> |
| | | and t.create_time <= #{startTime} |
| | | </if> |
| | | <if test="timeoutFlag !=null and timeoutFlag != ''"> |
| | | and t.timeout < now() |
| | | </if> |
| | | <if test="bId !=null and bId != ''"> |
| | | and t.b_id= #{bId} |
| | |
| | | <if test="endTime !=null and endTime != ''"> |
| | | and t.create_time <= #{endTime} |
| | | </if> |
| | | <if test="timeoutFlag !=null and timeoutFlag != ''"> |
| | | and t.timeout < now() |
| | | </if> |
| | | <if test="bId !=null and bId != ''"> |
| | | and t.b_id= #{bId} |
| | | </if> |
| | |
| | | repairObjId,t.repair_obj_name repairObjName,t.repair_channel repairChannel, |
| | | sru.ru_id startRuId,ru.ru_id ruId,ru.pre_ru_id preRuId,t.maintenance_type,t.maintenance_type maintenanceType, |
| | | t.repair_channel,t.repair_channel repairChannel,t.repair_materials,t.repair_materials repairMaterials, |
| | | t.repair_fee,t.repair_fee repairFee,t.pay_type,t.pay_type payType,t.create_time |
| | | t.repair_fee,t.repair_fee repairFee,t.pay_type,t.pay_type payType,t.create_time, |
| | | rs.do_time doTime,rs.warning_time warningTime,t.timeout,t.finish_time finishTime |
| | | from r_repair_pool t |
| | | left join t_dict d on t.state = d.status_cd and d.table_name = 'r_repair_pool' and d.table_columns = 'state' |
| | | left join r_repair_setting rs on rs.repair_type = t.repair_type and rs.status_cd = '0' |
| | |
| | | t.repair_obj_type,t.repair_obj_id,t.repair_obj_name,t.repair_obj_type repairObjType,t.repair_obj_id |
| | | repairObjId,t.repair_obj_name repairObjName,t.maintenance_type,t.maintenance_type maintenanceType, |
| | | t.repair_channel,t.repair_channel repairChannel,t.repair_materials,t.repair_materials repairMaterials, |
| | | t.repair_fee,t.repair_fee repairFee,t.pay_type,t.pay_type payType,t.create_time |
| | | t.repair_fee,t.repair_fee repairFee,t.pay_type,t.pay_type payType,t.create_time, |
| | | rs.do_time doTime,rs.warning_time warningTime,t.timeout,t.finish_time finishTime |
| | | from r_repair_pool t |
| | | left join t_dict d on t.state = d.status_cd and d.table_name = 'r_repair_pool' and d.table_columns = 'state' |
| | | left join r_repair_setting rs on rs.repair_type = t.repair_type and rs.status_cd = '0' |
| | |
| | | import java.text.DateFormat; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.Duration; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | public static String getPreSecTimeStr(Date time,int month) { |
| | | return getFormatTimeStringB(getPreSecTime(time,month)); |
| | | } |
| | | public static String calculateTimeDifference(Date start, Date end) { |
| | | Duration duration = Duration.between(start.toInstant(), end.toInstant()); |
| | | |
| | | long days = duration.toDays(); |
| | | long hours = duration.toHours() % 24; |
| | | long minutes = duration.toMinutes() % 60; |
| | | |
| | | StringBuilder result = new StringBuilder(); |
| | | |
| | | if (days > 0) { |
| | | result.append(days).append("天"); |
| | | } |
| | | |
| | | if (hours > 0) { |
| | | result.append(hours).append("时"); |
| | | } |
| | | |
| | | if (minutes > 0 || (days == 0 && hours == 0 && minutes == 0)) { |
| | | result.append(minutes).append("分"); |
| | | } |
| | | |
| | | return result.toString(); |
| | | } |
| | | } |
| | |
| | | import com.java110.utils.cache.MappingCache; |
| | | import com.java110.utils.constant.MappingConstant; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.utils.util.ListUtil; |
| | | import com.java110.utils.util.StringUtil; |
| | | import com.java110.utils.util.*; |
| | | import com.java110.vo.ResultVo; |
| | | import com.java110.vo.api.junkRequirement.PhotoVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import java.text.ParseException; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | @Java110Cmd(serviceCode = "ownerRepair.listAdminOwnerRepairs") |
| | |
| | | } |
| | | |
| | | int count = repairInnerServiceSMOImpl.queryRepairsCount(ownerRepairDto); |
| | | List<RepairDto> ownerRepairs = new ArrayList<>(); |
| | | List<RepairDto> repairDtos; |
| | | if (count > 0) { |
| | | List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(ownerRepairDto); |
| | | repairDtos = repairInnerServiceSMOImpl.queryRepairs(ownerRepairDto); |
| | | computeRepairScore(repairDtos); |
| | | refreshRepair(repairDtos); |
| | | |
| | | refreshCommunityName(repairDtos); |
| | | } else { |
| | | repairDtos = new ArrayList<>(); |
| | | } |
| | | ResponseEntity<String> responseEntity = ResultVo.createResponseEntity((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, repairDtos); |
| | | context.setResponseEntity(responseEntity); |
| | | } |
| | | |
| | | /** |
| | | * 计算评分 |
| | | * |
| | | * @param repairDtos |
| | | */ |
| | | private void computeRepairScore(List<RepairDto> repairDtos) { |
| | | if (ListUtil.isNull(repairDtos)) { |
| | | return; |
| | | } |
| | | Date finishTime = null; |
| | | String submitHour; |
| | | Date timeout = null; |
| | | for (RepairDto repairDto : repairDtos) { |
| | | //获取综合评价得分 |
| | | String appraiseScoreNumber = repairDto.getAppraiseScore(); |
| | |
| | | repairDto.setDoorSpeedScore(String.valueOf(doorSpeedScore)); |
| | | repairDto.setRepairmanServiceScore(String.valueOf(repairmanServiceScore)); |
| | | repairDto.setAverage(String.valueOf(average)); |
| | | ownerRepairs.add(repairDto); |
| | | } |
| | | refreshRepair(ownerRepairs); |
| | | |
| | | refreshCommunityName(ownerRepairs); |
| | | // 计算提单时长 |
| | | finishTime = DateUtil.getCurrentDate(); |
| | | if (!StringUtil.isEmpty(repairDto.getFinishTime())) { |
| | | finishTime = DateUtil.getDateFromStringA(repairDto.getFinishTime()); |
| | | } else { |
| | | ownerRepairs = new ArrayList<>(); |
| | | timeout = DateUtil.getDateFromStringA(repairDto.getTimeout()); |
| | | if (finishTime.getTime() > timeout.getTime()) { |
| | | repairDto.setStateName(repairDto.getStateName() + "(超时)"); |
| | | } |
| | | ResponseEntity<String> responseEntity = ResultVo.createResponseEntity((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, ownerRepairs); |
| | | context.setResponseEntity(responseEntity); |
| | | } |
| | | submitHour = DateUtil.calculateTimeDifference(repairDto.getCreateTime(), finishTime); |
| | | repairDto.setSubmitHours(submitHour); |
| | | |
| | | } |
| | | } |
| | | |
| | | private void refreshCommunityName(List<RepairDto> ownerRepairs) { |
| | |
| | | import com.java110.utils.cache.MappingCache; |
| | | import com.java110.utils.constant.MappingConstant; |
| | | import com.java110.utils.exception.CmdException; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.utils.util.StringUtil; |
| | | import com.java110.utils.util.*; |
| | | import com.java110.vo.ResultVo; |
| | | import com.java110.vo.api.junkRequirement.PhotoVo; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import java.text.ParseException; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | @Java110Cmd(serviceCode = "ownerRepair.listOwnerRepairs") |
| | |
| | | ownerRepairDto.setRoomIds(roomIds); |
| | | ownerRepairDto.setRoomId(""); |
| | | } |
| | | //todo PC电话报修、PC工单池、H5工单池 |
| | | //todo 手机端员工单工单池 只返回未处理状态的数据 |
| | | //todo 这个应该显示全部才对,之前的兄弟写的不合适 add by wuxw |
| | | // if (!StringUtil.isEmpty(ownerRepairDto.getReqSource()) && ownerRepairDto.getReqSource().equals("mobile")) { |
| | | // ownerRepairDto.setState(RepairDto.STATE_WAIT); |
| | | // } |
| | | |
| | | //todo pc电话报修模块 只返回PC员工登记和手机端员工登记的数据 |
| | | if (!StringUtil.isEmpty(ownerRepairDto.getReqSource()) && ownerRepairDto.getReqSource().equals("pc_mobile")) { |
| | | if ("pc_mobile".equals(ownerRepairDto.getReqSource())) { |
| | | String[] repair_channel = {RepairDto.REPAIR_CHANNEL_STAFF, RepairDto.REPAIR_CHANNEL_TEL}; |
| | | ownerRepairDto.setRepairChannels(Arrays.asList(repair_channel)); |
| | | } |
| | | int count = repairInnerServiceSMOImpl.queryRepairsCount(ownerRepairDto); |
| | | List<RepairDto> ownerRepairs = new ArrayList<>(); |
| | | List<RepairDto> repairDtos; |
| | | if (count > 0) { |
| | | List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(ownerRepairDto); |
| | | repairDtos = repairInnerServiceSMOImpl.queryRepairs(ownerRepairDto); |
| | | computeRepairScore(repairDtos); |
| | | refreshRepair(repairDtos); |
| | | |
| | | } else { |
| | | repairDtos = new ArrayList<>(); |
| | | } |
| | | ResponseEntity<String> responseEntity = ResultVo.createResponseEntity((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), |
| | | count, repairDtos); |
| | | context.setResponseEntity(responseEntity); |
| | | } |
| | | |
| | | /** |
| | | * 计算评分 |
| | | * |
| | | * @param repairDtos |
| | | */ |
| | | private void computeRepairScore(List<RepairDto> repairDtos) { |
| | | if (ListUtil.isNull(repairDtos)) { |
| | | return; |
| | | } |
| | | Date finishTime = null; |
| | | String submitHour; |
| | | Date timeout = null; |
| | | for (RepairDto repairDto : repairDtos) { |
| | | //获取综合评价得分 |
| | | String appraiseScoreNumber = repairDto.getAppraiseScore(); |
| | |
| | | repairDto.setDoorSpeedScore(String.valueOf(doorSpeedScore)); |
| | | repairDto.setRepairmanServiceScore(String.valueOf(repairmanServiceScore)); |
| | | repairDto.setAverage(String.valueOf(average)); |
| | | ownerRepairs.add(repairDto); |
| | | } |
| | | refreshRepair(ownerRepairs); |
| | | |
| | | // 计算提单时长 |
| | | finishTime = DateUtil.getCurrentDate(); |
| | | if (!StringUtil.isEmpty(repairDto.getFinishTime())) { |
| | | finishTime = DateUtil.getDateFromStringA(repairDto.getFinishTime()); |
| | | } else { |
| | | ownerRepairs = new ArrayList<>(); |
| | | timeout = DateUtil.getDateFromStringA(repairDto.getTimeout()); |
| | | if (finishTime.getTime() > timeout.getTime()) { |
| | | repairDto.setStateName(repairDto.getStateName() + "(超时)"); |
| | | } |
| | | ResponseEntity<String> responseEntity = ResultVo.createResponseEntity((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, ownerRepairs); |
| | | context.setResponseEntity(responseEntity); |
| | | } |
| | | submitHour = DateUtil.calculateTimeDifference(repairDto.getCreateTime(), finishTime); |
| | | repairDto.setSubmitHours(submitHour); |
| | | |
| | | } |
| | | } |
| | | |
| | | private void ifHasTime(RepairDto ownerRepairDto) { |
| | |
| | | } |
| | | |
| | | private void hasOwnerId(JSONObject reqJson) { |
| | | if (reqJson.containsKey("ownerId") && !StringUtil.isEmpty(reqJson.getString("ownerId"))) { |
| | | String ownerId = reqJson.getString("ownerId"); |
| | | if (StringUtil.isEmpty(ownerId)) { |
| | | return; |
| | | } |
| | | OwnerDto ownerDto = new OwnerDto(); |
| | | ownerDto.setMemberId(reqJson.getString("ownerId")); |
| | | ownerDto.setCommunityId(reqJson.getString("communityId")); |
| | | List<OwnerDto> ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto); |
| | | if (ownerDtos != null && ownerDtos.size() > 0) { |
| | | if (!ListUtil.isNull(ownerDtos)) { |
| | | reqJson.put("tel", ownerDtos.get(0).getLink()); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | private void refreshRepair(List<RepairDto> ownerRepairs) { |
| | | if (ListUtil.isNull(ownerRepairs)) { |
| | | return; |
| | | } |
| | | List<String> repairIds = new ArrayList<>(); |
| | | for (RepairDto apiOwnerRepairDataVo : ownerRepairs) { |
| | | repairIds.add(apiOwnerRepairDataVo.getRepairId()); |
| | | } |
| | | if (repairIds.size() < 1) { |
| | | if (ListUtil.isNull(repairIds)) { |
| | | return; |
| | | } |
| | | RepairUserDto repairUserDto = new RepairUserDto(); |
| | |
| | | JSONObject businessOwnerRepair = new JSONObject(); |
| | | businessOwnerRepair.putAll(BeanConvertUtil.beanCovertMap(repairDtos.get(0))); |
| | | businessOwnerRepair.put("state", state); |
| | | |
| | | //计算 应收金额 |
| | | RepairPoolPo repairPoolPo = BeanConvertUtil.covertBean(businessOwnerRepair, RepairPoolPo.class); |
| | | repairPoolPo.setFinishTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A)); |
| | | int flag = repairPoolV1InnerServiceSMOImpl.updateRepairPoolNew(repairPoolPo); |
| | | if (flag < 1) { |
| | | throw new CmdException("修改工单失败"); |
| | |
| | | businessOwnerRepair.put("maintenanceType", paramInJson.getString("maintenanceType")); |
| | | //计算 应收金额 |
| | | RepairPoolPo repairPoolPo = BeanConvertUtil.covertBean(businessOwnerRepair, RepairPoolPo.class); |
| | | repairPoolPo.setFinishTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A)); |
| | | int flag = repairPoolV1InnerServiceSMOImpl.updateRepairPoolNew(repairPoolPo); |
| | | if (flag < 1) { |
| | | throw new CmdException("修改工单失败"); |
| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.core.annotation.Java110Cmd; |
| | | import com.java110.core.annotation.Java110Transactional; |
| | | import com.java110.core.context.CmdContextUtils; |
| | | import com.java110.core.context.ICmdDataFlowContext; |
| | | import com.java110.core.event.cmd.Cmd; |
| | | import com.java110.core.event.cmd.CmdEvent; |
| | |
| | | import com.java110.dto.file.FileDto; |
| | | import com.java110.dto.file.FileRelDto; |
| | | import com.java110.dto.repair.RepairDto; |
| | | import com.java110.dto.repair.RepairSettingDto; |
| | | import com.java110.dto.repair.RepairUserDto; |
| | | import com.java110.dto.user.UserDto; |
| | | import com.java110.intf.common.IFileInnerServiceSMO; |
| | | import com.java110.intf.common.IFileRelInnerServiceSMO; |
| | | import com.java110.intf.community.IRepairPoolV1InnerServiceSMO; |
| | | import com.java110.intf.community.IRepairSettingV1InnerServiceSMO; |
| | | import com.java110.intf.community.IRepairUserV1InnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeConfigInnerServiceSMO; |
| | | import com.java110.intf.fee.IFeeInnerServiceSMO; |
| | |
| | | import com.java110.utils.constant.FeeTypeConstant; |
| | | import com.java110.utils.constant.MappingConstant; |
| | | import com.java110.utils.exception.CmdException; |
| | | 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.utils.util.*; |
| | | import com.java110.vo.ResultVo; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.ResponseEntity; |
| | | |
| | | import java.text.ParseException; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 业主提交报修 功能 |
| | | * 请求地址为/app/ownerRepair.saveOwnerRepair |
| | |
| | | @Autowired |
| | | private INotepadV1InnerServiceSMO notepadV1InnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IRepairSettingV1InnerServiceSMO repairSettingV1InnerServiceSMOImpl; |
| | | |
| | | //域 |
| | | public static final String DOMAIN_COMMON = "DOMAIN.COMMON"; |
| | | |
| | |
| | | Assert.hasKeyAndValue(reqJson, "context", "必填,请填写报修内容"); |
| | | Assert.hasKeyAndValue(reqJson, "communityId", "必填,请填写小区ID"); |
| | | |
| | | String userId = context.getReqHeaders().get("user-id"); |
| | | Assert.hasLength(userId, "请填写提交用户ID"); |
| | | String userId = CmdContextUtils.getUserId(context); |
| | | UserDto userDto = new UserDto(); |
| | | userDto.setUserId(userId); |
| | | userDto.setPage(1); |
| | |
| | | reqJson.put("userId", userDtos.get(0).getUserId()); |
| | | reqJson.put("userName", userDtos.get(0).getName()); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | @Java110Transactional |
| | | public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { |
| | | //获取当前小区id |
| | | String communityId = reqJson.getString("communityId"); |
| | | //查询默认费用项 |
| | | FeeConfigDto feeConfigDto = new FeeConfigDto(); |
| | | feeConfigDto.setCommunityId(communityId); |
| | | feeConfigDto.setCommunityId(reqJson.getString("communityId")); |
| | | feeConfigDto.setFeeTypeCd(FeeTypeConstant.FEE_TYPE_REPAIR); |
| | | feeConfigDto.setIsDefault(FeeConfigDto.DEFAULT_FEE_CONFIG); |
| | | List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto); |
| | | if (feeConfigDtos.size() != 1) { |
| | | ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "默认维修费用有多条或不存在!"); |
| | | context.setResponseEntity(responseEntity); |
| | | if (ListUtil.isNull(feeConfigDtos)) { |
| | | return; |
| | | } |
| | | FeeDto feeDto = new FeeDto(); |
| | |
| | | feeDto.setState(FeeDto.STATE_DOING); |
| | | //查询报修业主处理中的报修费 |
| | | List<FeeDto> feeDtos = feeInnerServiceSMOImpl.queryFees(feeDto); |
| | | //取出开关映射的值(报修业主未处理费用条数) |
| | | String repairFeeNumber = MappingCache.getValue(MappingConstant.REPAIR_DOMAIN, REPAIR_FEE_NUMBER); |
| | | if (feeDtos != null && StringUtil.isInteger(repairFeeNumber) && feeDtos.size() >= Integer.parseInt(repairFeeNumber)) { |
| | | ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "该房屋存在" + Integer.parseInt(repairFeeNumber) + "条未处理的费用,请缴费后再进行报修!"); |
| | | context.setResponseEntity(responseEntity); |
| | | if (ListUtil.isNull(feeDtos)) { |
| | | return; |
| | | } |
| | | JSONObject businessOwnerRepair = new JSONObject(); |
| | | businessOwnerRepair.putAll(reqJson); |
| | | businessOwnerRepair.put("repairId", GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_repairId)); |
| | | businessOwnerRepair.put("state", RepairDto.STATE_WAIT); |
| | | RepairPoolPo repairPoolPo = BeanConvertUtil.covertBean(businessOwnerRepair, RepairPoolPo.class); |
| | | //取出开关映射的值(报修业主未处理费用条数) |
| | | String repairFeeNumber = MappingCache.getValue(MappingConstant.REPAIR_DOMAIN, REPAIR_FEE_NUMBER); |
| | | if (!StringUtil.isInteger(repairFeeNumber)) { |
| | | return; |
| | | } |
| | | if (feeDtos.size() >= Integer.parseInt(repairFeeNumber)) { |
| | | throw new CmdException("该房屋存在" + Integer.parseInt(repairFeeNumber) + "条未处理的费用,请缴费后再进行报修!"); |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | @Java110Transactional |
| | | public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException { |
| | | |
| | | RepairSettingDto repairSettingDto = new RepairSettingDto(); |
| | | repairSettingDto.setCommunityId(reqJson.getString("communityId")); |
| | | repairSettingDto.setRepairType(reqJson.getString("repairType")); |
| | | List<RepairSettingDto> repairSettingDtos = repairSettingV1InnerServiceSMOImpl.queryRepairSettings(repairSettingDto); |
| | | if (ListUtil.isNull(repairSettingDtos)) { |
| | | throw new CmdException("报销刘类型不存在"); |
| | | } |
| | | |
| | | RepairPoolPo repairPoolPo = BeanConvertUtil.covertBean(reqJson, RepairPoolPo.class); |
| | | repairPoolPo.setRepairId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_repairId)); |
| | | repairPoolPo.setState(RepairDto.STATE_WAIT); |
| | | String appointmentTime = repairPoolPo.getAppointmentTime(); |
| | | Date sAppTime = DateUtil.getDateFromStringA(appointmentTime); |
| | | String timeout = DateUtil.getAddHoursStringA(sAppTime, repairSettingDtos.get(0).getDoTime()); |
| | | repairPoolPo.setTimeout(timeout); |
| | | int flag = repairPoolV1InnerServiceSMOImpl.saveRepairPoolNew(repairPoolPo); |
| | | if (flag < 1) { |
| | | throw new CmdException("修改失败"); |
| | |
| | | repairUserPo.setRepairEvent(RepairUserDto.REPAIR_EVENT_START_USER); |
| | | repairUserPo.setStaffId(reqJson.getString("userId")); |
| | | repairUserPo.setStaffName(reqJson.getString("userName")); |
| | | repairUserPo.setRepairId(businessOwnerRepair.getString("repairId")); |
| | | repairUserPo.setRepairId(repairPoolPo.getRepairId()); |
| | | repairUserPo.setState(RepairUserDto.STATE_SUBMIT); |
| | | repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A)); |
| | | repairUserPo.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId)); |
| | |
| | | if (flag < 1) { |
| | | throw new CmdException("修改用户失败"); |
| | | } |
| | | if (reqJson.containsKey("photos") && !StringUtils.isEmpty(reqJson.getString("photos"))) { |
| | | saveRepairPhoto(reqJson, repairPoolPo.getRepairId()); |
| | | |
| | | if (StringUtil.jsonHasKayAndValue(reqJson, "noteId")) { |
| | | NotepadPo notepadPo = new NotepadPo(); |
| | | notepadPo.setNoteId(reqJson.getString("noteId")); |
| | | notepadPo.setThridId(repairPoolPo.getRepairId()); |
| | | flag = notepadV1InnerServiceSMOImpl.updateNotepad(notepadPo); |
| | | if (flag < 1) { |
| | | throw new CmdException("修改业主反馈失败"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | private void saveRepairPhoto(JSONObject reqJson, String repairId) { |
| | | int flag; |
| | | JSONArray photos = reqJson.getJSONArray("photos"); |
| | | if (ListUtil.isNull(photos)) { |
| | | return; |
| | | } |
| | | for (int _photoIndex = 0; _photoIndex < photos.size(); _photoIndex++) { |
| | | String _photo = photos.getString(_photoIndex); |
| | | if(_photo.length()> 512){ |
| | |
| | | businessUnit.put("fileRelId", GenerateCodeFactory.getGeneratorId("12")); |
| | | businessUnit.put("relTypeCd", FileRelDto.REL_TYPE_CD_REPAIR); |
| | | businessUnit.put("saveWay", "ftp"); |
| | | businessUnit.put("objId", businessOwnerRepair.getString("repairId")); |
| | | businessUnit.put("objId", repairId); |
| | | businessUnit.put("fileRealName", _photo.toString()); |
| | | businessUnit.put("fileSaveName", _photo.toString()); |
| | | FileRelPo fileRelPo = BeanConvertUtil.covertBean(businessUnit, FileRelPo.class); |
| | |
| | | throw new CmdException("保存图片失败"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (StringUtil.jsonHasKayAndValue(reqJson, "noteId")) { |
| | | NotepadPo notepadPo = new NotepadPo(); |
| | | notepadPo.setNoteId(reqJson.getString("noteId")); |
| | | notepadPo.setThridId(repairPoolPo.getRepairId()); |
| | | flag = notepadV1InnerServiceSMOImpl.updateNotepad(notepadPo); |
| | | if (flag < 1) { |
| | | throw new CmdException("修改业主反馈失败"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | import com.java110.utils.constant.ResponseConstant; |
| | | import com.java110.utils.exception.DAOException; |
| | | import com.java110.utils.util.DateUtil; |
| | | import com.java110.utils.util.ListUtil; |
| | | import org.slf4j.Logger; |
| | | import com.java110.core.log.LoggerFactory; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | @Override |
| | | public List<Map> getBusinessRepairInfo(Map info) throws DAOException { |
| | | logger.debug("查询报修信息信息 入参 info : {}", info); |
| | | List<Map> businessRepairInfos = sqlSessionTemplate.selectList("repairServiceDaoImpl.getBusinessRepairInfo", info); |
| | | return businessRepairInfos; |
| | | List<Map> infos = sqlSessionTemplate.selectList("repairServiceDaoImpl.getBusinessRepairInfo", info); |
| | | return infos; |
| | | } |
| | | |
| | | /** |
| | |
| | | @Override |
| | | public int queryRepairsCount(Map info) { |
| | | logger.debug("查询报修信息数据 入参 info : {}", info); |
| | | List<Map> businessRepairInfos = sqlSessionTemplate.selectList("repairServiceDaoImpl.queryRepairsCount", info); |
| | | if (businessRepairInfos.size() < 1) { |
| | | List<Map> infos = sqlSessionTemplate.selectList("repairServiceDaoImpl.queryRepairsCount", info); |
| | | if (ListUtil.isNull(infos)) { |
| | | return 0; |
| | | } |
| | | return Integer.parseInt(businessRepairInfos.get(0).get("count").toString()); |
| | | return Integer.parseInt(infos.get(0).get("count").toString()); |
| | | } |
| | | |
| | | @Override |
| | | public List<Map> getStaffRepairInfo(Map info) throws DAOException { |
| | | logger.debug("查询报修信息信息 入参 info : {}", info); |
| | | List<Map> businessRepairInfos = sqlSessionTemplate.selectList("repairServiceDaoImpl.getStaffRepairInfo", info); |
| | | return businessRepairInfos; |
| | | List<Map> infos = sqlSessionTemplate.selectList("repairServiceDaoImpl.getStaffRepairInfo", info); |
| | | return infos; |
| | | } |
| | | |
| | | @Override |
| | | public int queryStaffRepairsCount(Map info) { |
| | | logger.debug("查询报修信息数据 入参 info : {}", info); |
| | | List<Map> businessRepairInfos = sqlSessionTemplate.selectList("repairServiceDaoImpl.queryStaffRepairsCount", info); |
| | | if (businessRepairInfos.size() < 1) { |
| | | List<Map> infos = sqlSessionTemplate.selectList("repairServiceDaoImpl.queryStaffRepairsCount", info); |
| | | if (ListUtil.isNull(infos)) { |
| | | return 0; |
| | | } |
| | | return Integer.parseInt(businessRepairInfos.get(0).get("count").toString()); |
| | | return Integer.parseInt(infos.get(0).get("count").toString()); |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public List<Map> getStaffFinishRepairInfo(Map info) throws DAOException { |
| | | logger.debug("查询报修信息信息 入参 info : {}", info); |
| | | List<Map> businessRepairInfos = sqlSessionTemplate.selectList("repairServiceDaoImpl.getStaffFinishRepairInfo", info); |
| | | return businessRepairInfos; |
| | | List<Map> infos = sqlSessionTemplate.selectList("repairServiceDaoImpl.getStaffFinishRepairInfo", info); |
| | | return infos; |
| | | } |
| | | |
| | | @Override |
| | | public int queryStaffFinishRepairsCount(Map info) { |
| | | logger.debug("查询报修信息数据 入参 info : {}", info); |
| | | List<Map> businessRepairInfos = sqlSessionTemplate.selectList("repairServiceDaoImpl.queryStaffFinishRepairsCount", info); |
| | | if (businessRepairInfos.size() < 1) { |
| | | List<Map> infos = sqlSessionTemplate.selectList("repairServiceDaoImpl.queryStaffFinishRepairsCount", info); |
| | | if (ListUtil.isNull(infos)) { |
| | | return 0; |
| | | } |
| | | return Integer.parseInt(businessRepairInfos.get(0).get("count").toString()); |
| | | return Integer.parseInt(infos.get(0).get("count").toString()); |
| | | } |
| | | } |