| | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.fastjson.parser.Feature; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.constant.CommonConstant; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.common.util.DateUtils; |
| | | import org.jeecg.common.util.TranslateDictTextUtils; |
| | | import org.jeecg.modules.eam.constant.EquipmentMaintenanceStatus; |
| | | import org.jeecg.modules.eam.constant.EquipmentRepairStatus; |
| | | import org.jeecg.modules.eam.constant.*; |
| | | import org.jeecg.modules.eam.entity.EamEquipment; |
| | | import org.jeecg.modules.eam.entity.EamInspectionOrder; |
| | | import org.jeecg.modules.eam.entity.EamRepairOrder; |
| | | import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrder; |
| | | import org.jeecg.modules.eam.service.*; |
| | | import org.jeecg.modules.eam.vo.*; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | @GetMapping(value = "/repairList") |
| | | public Result<?> repairList() { |
| | | List<EquipmentRepairListVO> list = reportRepairService.repairList(); |
| | | if(CollectionUtil.isEmpty(list)) { |
| | | if (CollectionUtil.isEmpty(list)) { |
| | | return Result.ok(Collections.emptyList()); |
| | | } |
| | | List<JSONObject> items = new ArrayList<>(); |
| | | try { |
| | | for(EquipmentRepairListVO vo : list) { |
| | | for (EquipmentRepairListVO vo : list) { |
| | | String json = objectMapper.writeValueAsString(vo); |
| | | JSONObject item = JSONObject.parseObject(json, Feature.OrderedField); |
| | | translateDictTextUtils.translateField("reportOperator", vo.getReportOperator(), item, "sys_user,realname,username"); |
| | |
| | | items.add(item); |
| | | } |
| | | return Result.OK(items); |
| | | }catch (Exception e) { |
| | | } catch (Exception e) { |
| | | return Result.error("数据转译失败!"); |
| | | } |
| | | } |
| | |
| | | LocalDate start = today.minusDays(30); |
| | | //只取前7名 |
| | | List<RepairmanRankingVO> list = repairOrderService.repairmanRanking(start.toString(), end.toString()); |
| | | if(CollectionUtil.isEmpty(list)) { |
| | | if (CollectionUtil.isEmpty(list)) { |
| | | return Result.ok(Collections.emptyList()); |
| | | } |
| | | if(list.size() > 7) { |
| | | if (list.size() > 7) { |
| | | list = list.subList(0, 7); |
| | | } |
| | | List<JSONObject> items = new ArrayList<>(); |
| | | try { |
| | | for(RepairmanRankingVO vo : list) { |
| | | for (RepairmanRankingVO vo : list) { |
| | | String json = objectMapper.writeValueAsString(vo); |
| | | JSONObject item = JSONObject.parseObject(json, Feature.OrderedField); |
| | | translateDictTextUtils.translateField("repairer", vo.getRepairer(), item, "sys_user,realname,username"); |
| | | items.add(item); |
| | | } |
| | | return Result.OK(items); |
| | | }catch (Exception e) { |
| | | } catch (Exception e) { |
| | | return Result.error("数据转译失败!"); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "维修看板-故障类型统计", notes = "维修看板-故障类型统计") |
| | | @GetMapping(value = "/faultTypeStatistics") |
| | | public Result<?> faultTypeStatistics() { |
| | | //统计今年来故障分类情况 |
| | | LocalDate today = LocalDate.now(); |
| | | LocalDate end = today.plusDays(1); |
| | | //今年第一天 |
| | | LocalDate start = today.withDayOfYear(1); |
| | | // 统计个数 |
| | | List<FaultTypeStatisticsVO> list = reportRepairService.faultTypeStatistics(start.toString(), end.toString()); |
| | | if (CollectionUtil.isEmpty(list)) { |
| | | return Result.ok(Collections.emptyList()); |
| | | } |
| | | List<JSONObject> items = new ArrayList<>(); |
| | | try { |
| | | for (FaultTypeStatisticsVO vo : list) { |
| | | String json = objectMapper.writeValueAsString(vo); |
| | | JSONObject item = JSONObject.parseObject(json, Feature.OrderedField); |
| | | translateDictTextUtils.translateField("faultType", vo.getFaultType(), item, "fault_reason_category"); |
| | | if (item.get("faultType" + CommonConstant.DICT_TEXT_SUFFIX) != null) { |
| | | items.add(item); |
| | | } |
| | | } |
| | | return Result.OK(items); |
| | | } catch (Exception e) { |
| | | return Result.error("数据转译失败!"); |
| | | } |
| | | } |
| | | |
| | | @ApiOperation(value = "H5首页-待执行工单数量统计", notes = "H5首页-待执行工单数量统计") |
| | | @GetMapping(value = "/pendingExecOrderCountBySelf") |
| | | public Result<?> pendingExecOrderCountBySelf() { |
| | | LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | String post = user.getPost(); |
| | | Map<String, Integer> countMap = CollectionUtil.newHashMap(); |
| | | if (BusinessCodeConst.PCR0001.equals(post)) { |
| | | //是操作工,查询待点检工单、待周保工单 |
| | | List<EamInspectionOrder> unExecInspectionOrderList = inspectionOrderService.list(new LambdaQueryWrapper<EamInspectionOrder>() |
| | | .eq(EamInspectionOrder::getOperator, user.getUsername()) |
| | | .eq(EamInspectionOrder::getInspectionStatus, InspectionStatus.UNDER_INSPECTION.name()) |
| | | .eq(EamInspectionOrder::getDelFlag, CommonConstant.DEL_FLAG_0)); |
| | | List<EamWeekMaintenanceOrder> unExecMaintenanceOrderList = weekMaintenanceOrderService.list(new LambdaQueryWrapper<EamWeekMaintenanceOrder>() |
| | | .eq(EamWeekMaintenanceOrder::getOperator, user.getUsername()) |
| | | .eq(EamWeekMaintenanceOrder::getMaintenanceStatus, WeekMaintenanceStatusEnum.UNDER_MAINTENANCE.name()) |
| | | .eq(EamWeekMaintenanceOrder::getDelFlag, CommonConstant.DEL_FLAG_0)); |
| | | countMap.put("unExecInspectionOrderCount", unExecInspectionOrderList.size()); |
| | | countMap.put("unExecMaintenanceOrderCount", unExecMaintenanceOrderList.size()); |
| | | countMap.put("unExecRepairOrderCount", 0); |
| | | } else if (BusinessCodeConst.PCR0002.equals(post)) { |
| | | //是维修工,查询待维修工单 |
| | | List<EamRepairOrder> unExecRepairOrderList = repairOrderService.list(new LambdaQueryWrapper<EamRepairOrder>() |
| | | .eq(EamRepairOrder::getRepairer, user.getUsername()) |
| | | .eq(EamRepairOrder::getRepairStatus, EquipmentRepairStatus.UNDER_REPAIR.name()) |
| | | .eq(EamRepairOrder::getDelFlag, CommonConstant.DEL_FLAG_0)); |
| | | countMap.put("unExecInspectionOrderCount", 0); |
| | | countMap.put("unExecMaintenanceOrderCount", 0); |
| | | countMap.put("unExecRepairOrderCount", unExecRepairOrderList.size()); |
| | | } else { |
| | | countMap.put("unExecInspectionOrderCount", 0); |
| | | countMap.put("unExecMaintenanceOrderCount", 0); |
| | | countMap.put("unExecRepairOrderCount", 0); |
| | | } |
| | | return Result.OK(countMap); |
| | | } |
| | | } |