| | |
| | | import com.java110.core.annotation.Java110Listener; |
| | | import com.java110.core.context.DataFlowContext; |
| | | import com.java110.core.event.service.api.ServiceDataFlowEvent; |
| | | import com.java110.dto.user.UserDto; |
| | | import com.java110.intf.community.IRepairInnerServiceSMO; |
| | | import com.java110.intf.community.IRepairUserInnerServiceSMO; |
| | | import com.java110.dto.repair.RepairDto; |
| | | import com.java110.dto.repair.RepairUserDto; |
| | | import com.java110.intf.user.IUserInnerServiceSMO; |
| | | import com.java110.utils.constant.ServiceCodeOwnerRepairConstant; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | |
| | | /** |
| | | * 查询小区侦听类 |
| | | */ |
| | |
| | | @Autowired |
| | | private IRepairInnerServiceSMO repairInnerServiceSMOImpl; |
| | | |
| | | |
| | | @Autowired |
| | | private IRepairUserInnerServiceSMO repairUserInnerServiceSMOImpl; |
| | | |
| | | @Autowired |
| | | private IUserInnerServiceSMO userInnerServiceSMO; |
| | | |
| | | @Override |
| | | public String getServiceCode() { |
| | |
| | | return HttpMethod.GET; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int getOrder() { |
| | | return DEFAULT_ORDER; |
| | | } |
| | | |
| | | |
| | | public IRepairInnerServiceSMO getRepairInnerServiceSMOImpl() { |
| | | return repairInnerServiceSMOImpl; |
| | |
| | | super.validatePageInfo(reqJson); |
| | | Assert.hasKeyAndValue(reqJson, "communityId", "请求中未包含小区ID"); |
| | | Assert.hasKeyAndValue(reqJson, "userId", "请求中未包含员工信息"); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) { |
| | | |
| | | RepairDto ownerRepairDto = BeanConvertUtil.covertBean(reqJson, RepairDto.class); |
| | | ownerRepairDto.setStaffId(reqJson.getString("userId")); |
| | | |
| | | if(reqJson.containsKey("repairStates")){ |
| | | String userId = reqJson.getString("userId"); |
| | | UserDto userDto = new UserDto(); |
| | | userDto.setUserId(userId); |
| | | //查询用户信息 |
| | | List<UserDto> users = userInnerServiceSMO.getUsers(userDto); |
| | | Assert.listOnlyOne(users, "数据异常未找到用户信息"); |
| | | if (!users.get(0).getLevelCd().equals("00")) { //当前用户不是管理员时放入staffId的值 |
| | | ownerRepairDto.setStaffId(reqJson.getString("userId")); |
| | | } |
| | | if (reqJson.containsKey("repairStates")) { |
| | | String[] states = reqJson.getString("repairStates").split(","); |
| | | ownerRepairDto.setStates(Arrays.asList(states)); |
| | | }else{ |
| | | //Pc WEB维修已办 |
| | | String[] states={RepairDto.STATE_BACK, RepairDto.STATE_TRANSFER, RepairDto.STATE_PAY_ERROR, RepairDto.STATE_APPRAISE, RepairDto.STATE_RETURN_VISIT, RepairDto.STATE_COMPLATE}; |
| | | ownerRepairDto.setStates(Arrays.asList(states)); |
| | | } |
| | | |
| | | int count = repairInnerServiceSMOImpl.queryStaffFinishRepairsCount(ownerRepairDto); |
| | | |
| | | |
| | | List<RepairDto> ownerRepairs = null; |
| | | if (count > 0) { |
| | | ownerRepairs = repairInnerServiceSMOImpl.queryStaffFinishRepairs(ownerRepairDto); |
| | | |
| | | //refreshStaffName(ownerRepairs); |
| | | } else { |
| | | ownerRepairs = new ArrayList<>(); |
| | | } |
| | | |
| | | ResponseEntity<String> responseEntity = ResultVo.createResponseEntity((int) Math.ceil((double) count / (double) reqJson.getInteger("row")), count, ownerRepairs); |
| | | |
| | | |
| | | context.setResponseEntity(responseEntity); |
| | | |
| | | } |
| | | |
| | | private void refreshStaffName(List<RepairDto> ownerRepairs) { |
| | | |
| | | List<String> repairIds = new ArrayList<>(); |
| | | for (RepairDto apiOwnerRepairDataVo : ownerRepairs) { |
| | | repairIds.add(apiOwnerRepairDataVo.getRepairId()); |
| | | } |
| | | |
| | | if (repairIds.size() < 1) { |
| | | return; |
| | | } |
| | | RepairUserDto repairUserDto = new RepairUserDto(); |
| | | repairUserDto.setRepairIds(repairIds.toArray(new String[repairIds.size()])); |
| | | List<RepairUserDto> repairUserDtos = repairUserInnerServiceSMOImpl.queryRepairUsers(repairUserDto); |
| | | |
| | | for (RepairUserDto tmpRepairUserDto : repairUserDtos) { |
| | | for (RepairDto apiOwnerRepairDataVo : ownerRepairs) { |
| | | if (tmpRepairUserDto.getRepairId().equals(apiOwnerRepairDataVo.getRepairId())) { |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |