123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712 |
- package com.welampiot.controller;
- import com.welampiot.common.BaseResult;
- import com.welampiot.common.InterfaceResultEnum;
- import com.welampiot.dto.*;
- import com.welampiot.service.*;
- import com.welampiot.utils.ToolUtils;
- import com.welampiot.vo.*;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.CrossOrigin;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import javax.servlet.http.HttpServletRequest;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.time.YearMonth;
- import java.util.*;
- import java.util.stream.Collectors;
- import java.util.stream.Stream;
- /**
- * ClassName: WorkManageController
- * Package: com.welampiot.controller
- * Description:
- *
- * @Author: zhj_Start
- * @Create: 2023/6/27 - 14:29
- * @Version: v1.0
- */
- @RestController
- @CrossOrigin
- @RequestMapping("/workManage")
- public class WorkManageController {
- @Autowired
- private AllAlarmInfoLogService allAlarmInfoLogService;
- @Autowired
- private ToolUtils toolUtils;
- @Autowired
- private RepairPersonnelService repairPersonnelService;
- @Autowired
- private WorkManageService workManageService;
- @Autowired
- private WorkManageFileService workManageFileService;
- @Autowired
- private WorkManageDescService workManageDescService;
- @Autowired
- private UserService userService;
- @Autowired
- private RepairProjectService repairProjectService;
- @Autowired
- private DefectManageService defectManageService;
- @Autowired
- private PatrolManageService patrolManageService;
- /**
- * 故障列表
- * @param request 分页、区域路段筛选、故障类型、设备类型
- * @return 故障列表
- */
- @RequestMapping(value = "/alarmList", method = RequestMethod.POST)
- public BaseResult<?> alarmList(HttpServletRequest request) {
- Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
- Integer areaId = (Integer) toolUtils.getRequestContent(request,"areaId",1);
- Integer sectionId = (Integer) toolUtils.getRequestContent(request,"sectionId",1);
- Integer provinceId = (Integer) toolUtils.getRequestContent(request,"provinceId",1);
- Integer cityId = (Integer) toolUtils.getRequestContent(request,"cityId",1);
- String alarmType = (String) toolUtils.getRequestContent(request,"alarmType",2);
- String type = request.getParameter("type") == null ? "" : request.getParameter("type");
- int page = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));
- int count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count"));
- AllAlarmInfoLogVO vo = new AllAlarmInfoLogVO();
- vo.setLimit(count * (page - 1));
- vo.setOffset(count);
- vo.setSectionId(sectionId);
- vo.setAreaId(areaId);
- vo.setCityId(cityId);
- vo.setProvinceId(provinceId);
- vo.setAlarmType(alarmType);
- vo.setVersion(version);
- vo.setSectionList(toolUtils.getSectionList(request));
- List<AllAlarmInfoLogDTO> alarmList;
- List<AllAlarmInfoLogDTO> list = new ArrayList<>();
- switch (type) {
- case "4":
- alarmList = allAlarmInfoLogService.getElectricBoxAlarmListByVO(vo);
- break;
- case "3":
- alarmList = allAlarmInfoLogService.getWaterImmersionAlarmListByVO(vo);
- break;
- case "1":
- alarmList = allAlarmInfoLogService.getLampPoleAlarmListByVO(vo);
- break;
- case "0":
- alarmList = allAlarmInfoLogService.getLampAlarmListByVO(vo);
- break;
- default:
- List<AllAlarmInfoLogDTO> eleBoxList = allAlarmInfoLogService.getElectricBoxAlarmListByVO(vo);
- List<AllAlarmInfoLogDTO> waterList = allAlarmInfoLogService.getWaterImmersionAlarmListByVO(vo);
- List<AllAlarmInfoLogDTO> lampPoleList = allAlarmInfoLogService.getLampPoleAlarmListByVO(vo);
- List<AllAlarmInfoLogDTO> lampList = allAlarmInfoLogService.getLampAlarmListByVO(vo);
- // 将配电箱、水浸、灯杆、路灯合并成一个列表
- alarmList = Stream.of(eleBoxList, waterList, lampPoleList, lampList)
- .flatMap(Collection::stream)
- .collect(Collectors.toList());
- break;
- }
- alarmList.forEach(dto -> {
- if (dto.getArea() == null) {
- dto.setArea("");
- }
- if (dto.getSection() == null) {
- dto.setSection("");
- }
- if (dto.getCity() == null) {
- dto.setCity("");
- }
- if (dto.getProvince() == null) {
- dto.setProvince("");
- }
- if (dto.getNumber() == null) {
- dto.setNumber("");
- }
- if (dto.getName() == null) {
- dto.setName("");
- }
- if (dto.getLongitude() == null) {
- dto.setLongitude("0");
- }
- if (dto.getLatitude() == null) {
- dto.setLatitude("0");
- }
- if (dto.getProvince().equals("") && dto.getCity().equals("") &&
- dto.getArea().equals("") && dto.getSection().equals("")) {
- dto.setAddr("");
- }
- dto.setAddr(dto.getProvince() + " " + dto.getCity() + " " +
- dto.getArea() + " " + dto.getSection());
- list.add(dto);
- });
- AllAlarmInfoLogVO allAlarmInfoLogVO = new AllAlarmInfoLogVO();
- allAlarmInfoLogVO.setList(list);
- return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,allAlarmInfoLogVO);
- }
- /**
- * 维修人员下拉列表
- * @param request 用户名
- * @return 下拉列表
- */
- @RequestMapping(value = "/alarmUserNav", method = RequestMethod.POST)
- public BaseResult<?> alarmUserNav(HttpServletRequest request) {
- Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
- String username = (String) toolUtils.getRequestContent(request,"username",2);
- if (username.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
- Integer userId = repairPersonnelService.getUserIdByUsername(username);
- if (userId == null || userId == 0) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
- RepairPersonnelVO repairPersonnel = repairPersonnelService.getRepairPersonnelDropDownListByDTO(userId);
- return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,repairPersonnel);
- }
- /**
- * 工单列表
- * @param request 分页、关键字搜索、区域路段筛选
- * @return 工单列表
- */
- @RequestMapping(value = "/alarmManageList", method = RequestMethod.POST)
- public BaseResult<?> alarmManageList(HttpServletRequest request) {
- Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
- Integer areaId = (Integer) toolUtils.getRequestContent(request,"areaId",1);
- Integer sectionId = (Integer) toolUtils.getRequestContent(request,"sectionId",1);
- Integer provinceId = (Integer) toolUtils.getRequestContent(request,"provinceId",1);
- Integer cityId = (Integer) toolUtils.getRequestContent(request,"cityId",1);
- Integer status = (Integer) toolUtils.getRequestContent(request,"status",1);
- String keyword = (String) toolUtils.getRequestContent(request,"keyword",2);
- int page = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));
- int count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count"));
- WorkManageVO vo = new WorkManageVO();
- vo.setPage(count * (page - 1));
- vo.setCount(count);
- vo.setSectionId(sectionId);
- vo.setAreaId(areaId);
- vo.setCityId(cityId);
- vo.setProvinceId(provinceId);
- vo.setKeyword(keyword);
- vo.setStatus(status);
- vo.setSectionList(toolUtils.getSectionList(request));
- List<WorkManageDTO> workManageList = workManageService.getWorkManageListByVO(vo);
- List<WorkManageDTO> list = new ArrayList<>();
- workManageList.forEach(workManageDTO -> {
- if (workManageDTO.getId() != null) {
- List<WorkManageFileDTO> fileList = workManageFileService.getWorkManageFileListById(workManageDTO.getId());
- workManageDTO.setFileList(fileList);
- }
- list.add(workManageDTO);
- });
- WorkManageVO workManageVO = new WorkManageVO();
- workManageVO.setList(list);
- workManageVO.setTotal(workManageService.getWorkManageTotal(vo));
- workManageVO.setTotal1(workManageService.getWorkManageTotal(vo));
- workManageVO.setTotal2(workManageService.getWorkManageTotal2(vo));
- workManageVO.setTotal3(workManageService.getWorkManageTotal3(vo));
- workManageVO.setTotal4(workManageService.getWorkManageTotal4(vo));
- workManageVO.setTotal5(workManageService.getWorkManageTotal5(vo));
- workManageVO.setTotal6(workManageService.getWorkManageTotal6(vo));
- return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,workManageVO);
- }
- /**
- * 工单详情
- * @param request 工单id
- * @return 工单详情
- */
- @RequestMapping(value = "/workManageInfo", method = RequestMethod.POST)
- public BaseResult<?> workManageInfo(HttpServletRequest request) {
- Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
- Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
- if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
- WorkManageDTO workManageDTO = workManageService.getWorkManageInfoById(id);
- if (workManageDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
- WorkManageInfoVO workManageInfoVO = new WorkManageInfoVO();
- BeanUtils.copyProperties(workManageDTO,workManageInfoVO);
- List<WorkManageFileDTO> fileList = workManageFileService.getWorkManageFileListById(workManageDTO.getId());
- List<WorkManageDescDTO> descList = workManageDescService.getWorkManageDescDetails(workManageDTO.getId());
- workManageInfoVO.setFileList(fileList);
- workManageInfoVO.setHistory(descList);
- return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,workManageInfoVO);
- }
- /**
- * 添加编辑工单
- * @param request 工单的属性
- * @return 更新工单数据
- */
- @RequestMapping(value = "/saveWorkManage", method = RequestMethod.POST)
- public BaseResult<?> saveWorkManage(HttpServletRequest request) {
- Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
- Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
- Integer sectionId = (Integer) toolUtils.getRequestContent(request,"sectionId",1);
- Integer alarmId = (Integer) toolUtils.getRequestContent(request,"alarmId",1);
- Integer devType = (Integer) toolUtils.getRequestContent(request,"devType",1);
- Integer level = (Integer) toolUtils.getRequestContent(request,"level",1);
- String openTime = (String) toolUtils.getRequestContent(request,"openTime",2);
- String location = (String) toolUtils.getRequestContent(request,"location",2);
- String devName = (String) toolUtils.getRequestContent(request,"devName",2);
- String script = (String) toolUtils.getRequestContent(request,"script",2);
- String longitude = (String) toolUtils.getRequestContent(request,"longitude",2);
- String latitude = (String) toolUtils.getRequestContent(request,"latitude",2);
- String username = (String) toolUtils.getRequestContent(request,"username",2);
- if (sectionId == 0)
- return toolUtils.response(InterfaceResultEnum.LACK_SECTION_ERROR,version);
- if (alarmId == 0)
- return toolUtils.response(InterfaceResultEnum.LACK_ALARM_ID_ERROR,version);
- if (String.valueOf(devType).length() == 0)
- return toolUtils.response(InterfaceResultEnum.LACK_LOOP_DEV_TYPE_ERROR,version);
- if (String.valueOf(level).length() == 0)
- return toolUtils.response(InterfaceResultEnum.LACK_LEVEL_ERROR,version);
- if (openTime.length() == 0)
- return toolUtils.response(InterfaceResultEnum.LACK_OPEN_TIME_ERROR,version);
- if (location.length() == 0)
- return toolUtils.response(InterfaceResultEnum.LACK_LOCATION_ERROR,version);
- if (devName.length() == 0)
- return toolUtils.response(InterfaceResultEnum.LACK_DEV_NAME_ERROR,version);
- if (script.length() == 0)
- return toolUtils.response(InterfaceResultEnum.LACK_SCRIPT_ERROR,version);
- if (longitude.length() == 0 || latitude.length() == 0)
- return toolUtils.response(InterfaceResultEnum.LACK_LOCATION_ERROR,version);
- WorkManageDTO workManageDTO = new WorkManageDTO();
- workManageDTO.setSectionId(sectionId);
- workManageDTO.setAlarmId(alarmId);
- workManageDTO.setDevType(devType);
- workManageDTO.setLevel(level);
- workManageDTO.setOpenTime(openTime);
- workManageDTO.setLocation(location);
- workManageDTO.setDevName(devName);
- workManageDTO.setScript(script);
- workManageDTO.setLongitude(longitude);
- workManageDTO.setLatitude(latitude);
- if (id == 0) { // 添加
- long l = System.currentTimeMillis();
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- workManageDTO.setCreateTime(simpleDateFormat.format(l));
- Integer userId = repairPersonnelService.getUserIdByUsername(username);
- workManageDTO.setUserid(userId);
- workManageService.addWorkManageData(workManageDTO);
- WorkManageDTO dto = workManageService.getAlarmIdAndUseridById(id);
- String name = userService.getNameByUserid(dto.getUserid());
- WorkManageDescDTO workManageDescDTO = new WorkManageDescDTO();
- workManageDescDTO.setWorkManageId(id);
- workManageDescDTO.setCreateTime(simpleDateFormat.format(l));
- workManageDescDTO.setDescribe(name + " 创建工单");
- workManageDescService.addWorkManageDescData(workManageDescDTO);
- } else { // 编辑
- workManageDTO.setId(id);
- workManageService.updateWorkManageData(workManageDTO);
- Integer fileId = (Integer) toolUtils.getRequestContent(request,"fileId",1);
- String name = (String) toolUtils.getRequestContent(request,"name",2);
- String url = (String) toolUtils.getRequestContent(request,"url",2);
- if (fileId == 0 || name.length() == 0 || url.length() == 0)
- return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
- WorkManageFileDTO workManageFileDTO = new WorkManageFileDTO();
- workManageFileDTO.setId(fileId);
- workManageFileDTO.setWorkManageId(id);
- workManageFileDTO.setName(name);
- workManageFileDTO.setUrl(url);
- workManageFileService.updateWorkManageFile(workManageFileDTO);
- }
- return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
- }
- /**
- * 派发工单
- * @param request 工单id,维修人员id
- * @return 派发工单
- */
- @RequestMapping(value = "/distributeWork", method = RequestMethod.POST)
- public BaseResult<?> distributeWork(HttpServletRequest request) {
- Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
- Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
- Integer workId = (Integer) toolUtils.getRequestContent(request,"workId",1);
- if (id == 0 || workId == 0)
- return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
- // 更新工单状态status为1(处理中)
- WorkManageDTO workManageDTO = new WorkManageDTO();
- workManageDTO.setId(id);
- workManageDTO.setStatus(1);
- workManageService.updateWorkStatus(workManageDTO);
- // 获取对应的故障id,并对应更新它的状态为处理中
- WorkManageDTO dto = workManageService.getAlarmIdAndUseridById(id);
- AllAlarmInfoLogDTO allAlarmInfoLogDTO = new AllAlarmInfoLogDTO();
- allAlarmInfoLogDTO.setId(dto.getAlarmId());
- allAlarmInfoLogDTO.setStatus(1);
- allAlarmInfoLogService.updateAlarmStatus(allAlarmInfoLogDTO);
- //记录工单的描述信息
- long l = System.currentTimeMillis();
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String format = simpleDateFormat.format(l);
- String name = userService.getNameByUserid(dto.getUserid());
- RepairPersonnelDetailsVO detailsVO = repairPersonnelService.getDetailsByRepairPersonnelDTO(workId);
- if (detailsVO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
- WorkManageDescDTO workManageDescDTO = new WorkManageDescDTO();
- workManageDescDTO.setWorkManageId(id);
- workManageDescDTO.setDescribe(name + " 派发工单-> " + detailsVO.getName());
- workManageDescDTO.setCreateTime(format);
- workManageDescService.addWorkManageDescData(workManageDescDTO);
- return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
- }
- /**
- * 设置工单状态
- * @param request 工单id,工单状态
- * @return 修改工单状态,记录工单信息
- */
- @RequestMapping(value = "/setWorkManageStatus", method = RequestMethod.POST)
- public BaseResult<?> setWorkManageStatus(HttpServletRequest request) {
- Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
- Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
- Integer status = (Integer) toolUtils.getRequestContent(request,"status",1);
- if (id == 0 || status == 0)
- return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
- // 更新工单状态
- WorkManageDTO workManageDTO = new WorkManageDTO();
- workManageDTO.setId(id);
- workManageDTO.setStatus(status);
- workManageService.updateWorkStatus(workManageDTO);
- // 如果status为3获取对应的故障id,并对应更新它的状态为已完成
- WorkManageDTO dto = workManageService.getAlarmIdAndUseridById(id);
- if (status == 3) {
- AllAlarmInfoLogDTO allAlarmInfoLogDTO = new AllAlarmInfoLogDTO();
- allAlarmInfoLogDTO.setId(dto.getAlarmId());
- allAlarmInfoLogDTO.setStatus(2);
- allAlarmInfoLogService.updateAlarmStatus(allAlarmInfoLogDTO);
- }
- //记录工单的描述信息
- long l = System.currentTimeMillis();
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String format = simpleDateFormat.format(l);
- String name = userService.getNameByUserid(dto.getUserid());
- WorkManageDescDTO workManageDescDTO = new WorkManageDescDTO();
- workManageDescDTO.setWorkManageId(id);
- if (status == 4) {
- workManageDescDTO.setDescribe(name + " 归档");
- } else if (status == 3) {
- workManageDescDTO.setDescribe(name + " 复核通过,已经结案");
- } else if (status == 2) {
- workManageDescDTO.setDescribe(name + " 标记处理,进入复核状态");
- } else if (status == 1) {
- workManageDescDTO.setDescribe(name + " 复核不通过,重新进入未处理");
- }
- workManageDescDTO.setCreateTime(format);
- workManageDescService.addWorkManageDescData(workManageDescDTO);
- return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
- }
- /**
- * 添加编辑维修项目
- * @param request 维修项目属性
- * @return 更新维修项目数据
- */
- @RequestMapping(value = "/saveRepairProject", method = RequestMethod.POST)
- public BaseResult<?> saveRepairProject(HttpServletRequest request) {
- Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
- Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
- Integer sectionId = (Integer) toolUtils.getRequestContent(request,"sectionId",1);
- Integer workId = (Integer) toolUtils.getRequestContent(request,"workId",1);
- Integer type = (Integer) toolUtils.getRequestContent(request,"type",1);
- String comTime = (String) toolUtils.getRequestContent(request,"comTime",2);
- String desc = (String) toolUtils.getRequestContent(request,"desc",2);
- String username = (String) toolUtils.getRequestContent(request,"username",2);
- if (sectionId == 0) return toolUtils.response(InterfaceResultEnum.LACK_SECTION_ERROR,version);
- if (workId == 0) return toolUtils.response(InterfaceResultEnum.LACK_WORK_ID_ERROR,version);
- if (desc.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_SCRIPT_ERROR,version);
- if (comTime.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_COM_TIME_ERROR,version);
- RepairProjectDTO repairProjectDTO = new RepairProjectDTO();
- repairProjectDTO.setSectionId(sectionId);
- repairProjectDTO.setWorkId(workId);
- repairProjectDTO.setType(type);
- repairProjectDTO.setComTime(comTime);
- repairProjectDTO.setDesc(desc);
- if (id == 0) { // 添加
- long l = System.currentTimeMillis();
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String format = simpleDateFormat.format(l);
- Integer userid = repairPersonnelService.getUserIdByUsername(username);
- repairProjectDTO.setUserid(userid);
- repairProjectDTO.setCreateTime(format);
- repairProjectService.addRepairProjectData(repairProjectDTO);
- } else { // 编辑
- repairProjectDTO.setId(id);
- repairProjectService.updateRepairProjectData(repairProjectDTO);
- }
- return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
- }
- /**
- * 项目维修列表
- * @param request 分页、关键字搜索、区域路段筛选
- * @return 项目维修列表
- */
- @RequestMapping(value = "/repairProjectList", method = RequestMethod.POST)
- public BaseResult<?> repairProjectList(HttpServletRequest request) {
- Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
- Integer areaId = (Integer) toolUtils.getRequestContent(request,"areaId",1);
- Integer sectionId = (Integer) toolUtils.getRequestContent(request,"sectionId",1);
- Integer provinceId = (Integer) toolUtils.getRequestContent(request,"provinceId",1);
- Integer cityId = (Integer) toolUtils.getRequestContent(request,"cityId",1);
- Integer type = (Integer) toolUtils.getRequestContent(request,"type",1);
- String keyword = (String) toolUtils.getRequestContent(request,"keyword",2);
- int page = request.getParameter("page") == null ? 1 : Integer.parseInt(request.getParameter("page"));
- int count = request.getParameter("count") == null ? 16 : Integer.parseInt(request.getParameter("count"));
- RepairProjectVO vo = new RepairProjectVO();
- vo.setPage(count * (page - 1));
- vo.setCount(count);
- vo.setSectionId(sectionId);
- vo.setAreaId(areaId);
- vo.setCityId(cityId);
- vo.setProvinceId(provinceId);
- vo.setKeyword(keyword);
- vo.setType(type);
- vo.setSectionList(toolUtils.getSectionList(request));
- List<RepairProjectDTO> repairProjectList = repairProjectService.getRepairProjectList(vo);
- RepairProjectVO repairProjectVO = new RepairProjectVO();
- repairProjectVO.setList(repairProjectList);
- repairProjectVO.setTotal(repairProjectService.getRepairProjectTotal(vo));
- repairProjectVO.setTotal1(repairProjectService.getRepairProjectTotal(vo));
- repairProjectVO.setTotal2(repairProjectService.getRepairProjectTotal2(vo));
- repairProjectVO.setTotal3(repairProjectService.getRepairProjectTotal3(vo));
- repairProjectVO.setTotal4(repairProjectService.getRepairProjectTotal4(vo));
- return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,repairProjectVO);
- }
- /**
- * 维修标记完成
- * @param request 维修项目id
- * @return 修改维修项目状态为完成
- */
- @RequestMapping(value = "/setRepairProjectStatus", method = RequestMethod.POST)
- public BaseResult<?> setRepairProjectStatus(HttpServletRequest request) {
- Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
- Integer id = (Integer) toolUtils.getRequestContent(request,"id",1);
- if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
- RepairProjectDTO repairProjectDTO = new RepairProjectDTO();
- repairProjectDTO.setId(id);
- repairProjectDTO.setStatus(2);
- repairProjectService.updateRepairProjectStatus(repairProjectDTO);
- return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
- }
- /**
- * 概览数据
- * @param request 时间筛选
- * @return 概览数据
- */
- @RequestMapping(value = "/operationData", method = RequestMethod.POST)
- public BaseResult<?> operationData(HttpServletRequest request) throws ParseException {
- Integer version = (Integer) toolUtils.getRequestContent(request, "version", 1);
- Integer dateType = (Integer) toolUtils.getRequestContent(request, "dateType", 1);
- long l = System.currentTimeMillis();
- Date date1 = new Date(l);
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(date1);
- int year = calendar.get(Calendar.YEAR); // 获取年份
- int month = calendar.get(Calendar.MONTH) + 1; // 获取月份
- long startTime,endTime;
- String startDate = "";
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
- String endDate = simpleDateFormat.format(l);
- if (dateType == 0) { // 当月
- if (month < 10) {
- startDate = year + "-0" + month + "-01";
- } else {
- startDate = year + "-" + month + "-01";
- }
- } else if (dateType == 1) { // 当年
- month = 1;
- startDate = year + "-0" + month + "-01";
- endDate = simpleDateFormat.format(l);
- } else if (dateType == 2) { // 全部
- endDate = simpleDateFormat.format(l);
- } else if (dateType == 3) { // 具体月份
- String date = (String) toolUtils.getRequestContent(request, "date", 2);
- if (date.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_DATE_ERROR, version);
- List<String> list = Arrays.asList(date.split("-"));
- int yearNum = Integer.parseInt(list.get(0));
- int monthNum = Integer.parseInt(list.get(1));
- int daysInMonth = YearMonth.of(yearNum, monthNum).lengthOfMonth();
- if (yearNum == year && monthNum == month) {
- if (month < 10) {
- startDate = year + "-" + "0" + month + "-01";
- } else {
- startDate = year + "-" + month + "-01";
- }
- } else if ((yearNum == year && monthNum > month) || (yearNum > year)) {
- return toolUtils.response(InterfaceResultEnum.DATE_CHOOSE_ERROR, version);
- } else {
- startTime = simpleDateFormat.parse(date + "-01").getTime();
- endTime = simpleDateFormat.parse(date + "-" + daysInMonth).getTime();
- startDate = simpleDateFormat.format(startTime);
- endDate = simpleDateFormat.format(endTime);
- }
- }
- OperationVO operationVO = new OperationVO();
- operationVO.setStartDate(startDate);
- operationVO.setEndDate(endDate);
- operationVO.setSectionList(toolUtils.getSectionList(request));
- List<Object> dateList = new ArrayList<>();
- List<Object> alarmList = new ArrayList<>();
- List<Object> workList = new ArrayList<>();
- List<Object> defectList = new ArrayList<>();
- List<Object> patrolList = new ArrayList<>();
- List<Object> projectList = new ArrayList<>();
- List<OperationDataDTO> dataList = new ArrayList<>();
- HashMap<String, Integer> objectObjectHashMap = new HashMap<>();
- long timeT = l - 29L * 3600 * 1000 * 24;
- int i = 0;
- while (timeT <= l) {
- objectObjectHashMap.put(simpleDateFormat.format(new Date(timeT)),i);
- dateList.add(simpleDateFormat.format(new Date(timeT)));
- alarmList.add(0);
- workList.add(0);
- defectList.add(0);
- patrolList.add(0);
- projectList.add(0);
- dataList.add(new OperationDataDTO(0,0,0,0,0,simpleDateFormat.format(new Date(timeT))));
- timeT += 3600 * 1000 * 24;
- i ++;
- }
- // 故障列表
- List<AllAlarmInfoLogDTO> alarmCountList = allAlarmInfoLogService.getAllAlarmCountOnMonth(operationVO);
- for (AllAlarmInfoLogDTO dto : alarmCountList) {
- Date date = new Date(simpleDateFormat.parse(dto.getUpdateTime()).getTime());
- String s = simpleDateFormat.format(date);
- Integer integer = null;
- if (objectObjectHashMap.containsKey(s)) {
- integer = objectObjectHashMap.get(s);
- }
- if (dto.getDayCount() != null && dto.getDayCount() != 0 && integer != null) {
- alarmList.set(integer, dto.getDayCount());
- }
- }
- // 工单列表
- List<WorkManageDTO> workCountList = workManageService.getWorkManageCountOnMonth(operationVO);
- for (WorkManageDTO dto : workCountList) {
- Date date = new Date(simpleDateFormat.parse(dto.getCreateTime()).getTime());
- String s = simpleDateFormat.format(date);
- Integer integer = null;
- if (objectObjectHashMap.containsKey(s)) {
- integer = objectObjectHashMap.get(s);
- }
- if (dto.getDayCount() != null && dto.getDayCount() != 0 && integer != null) {
- workList.set(integer, dto.getDayCount());
- }
- }
- // 缺陷列表
- List<DefectManageDTO> defectCountList = defectManageService.getDefectManageCountOnMonth(operationVO);
- for (DefectManageDTO dto : defectCountList) {
- Date date = new Date(simpleDateFormat.parse(dto.getCreateTime()).getTime());
- String s = simpleDateFormat.format(date);
- Integer integer = null;
- if (objectObjectHashMap.containsKey(s)) {
- integer = objectObjectHashMap.get(s);
- }
- if (dto.getDayCount() != null && dto.getDayCount() != 0 && integer != null) {
- defectList.set(integer, dto.getDayCount());
- }
- }
- // 巡视列表
- List<PatrolManageDTO> patrolCountList = patrolManageService.getPatrolManageCountOnMonth(operationVO);
- for (PatrolManageDTO dto : patrolCountList) {
- Date date = new Date(simpleDateFormat.parse(dto.getCreateTime()).getTime());
- String s = simpleDateFormat.format(date);
- Integer integer = null;
- if (objectObjectHashMap.containsKey(s)) {
- integer = objectObjectHashMap.get(s);
- }
- if (dto.getDayCount() != null && dto.getDayCount() != 0 && integer != null) {
- patrolList.set(integer, dto.getDayCount());
- }
- }
- // 维修项目列表
- List<RepairProjectDTO> repairCountList = repairProjectService.getRepairProjectCountOnMonth(operationVO);
- for (RepairProjectDTO dto : repairCountList) {
- Date date = new Date(simpleDateFormat.parse(dto.getCreateTime()).getTime());
- String s = simpleDateFormat.format(date);
- Integer integer = null;
- if (objectObjectHashMap.containsKey(s)) {
- integer = objectObjectHashMap.get(s);
- }
- if (dto.getDayCount() != null && dto.getDayCount() != 0 && integer != null) {
- projectList.set(integer, dto.getDayCount());
- }
- }
- // 列表数据
- for (OperationDataDTO dto : dataList) {
- alarmCountList.forEach(dto1 -> {
- if (dto1.getUpdateTime().equals(dto.getDate())) {
- dto.setAlarmCount(dto1.getDayCount());
- }
- });
- workCountList.forEach(dto1 -> {
- if (dto1.getCreateTime().equals(dto.getDate())) {
- dto.setWorkCount(dto1.getDayCount());
- }
- });
- defectCountList.forEach(dto1 -> {
- if (dto1.getCreateTime().equals(dto.getDate())) {
- dto.setDefectCount(dto1.getDayCount());
- }
- });
- patrolCountList.forEach(dto1 -> {
- if (dto1.getCreateTime().equals(dto.getDate())) {
- dto.setPatrolCount(dto1.getDayCount());
- }
- });
- repairCountList.forEach(dto1 -> {
- if (dto1.getCreateTime().equals(dto.getDate())) {
- dto.setProjectCount(dto1.getDayCount());
- }
- });
- }
- Integer allAlarmInfoLogCount = allAlarmInfoLogService.getAllAlarmInfoLogCount(operationVO);
- Integer workManageCount = workManageService.getWorkManageCount(operationVO);
- Integer defectManageCount = defectManageService.getDefectManageCount(operationVO);
- Integer patrolManageCount = patrolManageService.getPatrolManageCount1(operationVO);
- Integer repairProjectCount = repairProjectService.getRepairProjectCount(operationVO);
- OperationVO vo = new OperationVO();
- vo.setAlarmCount(allAlarmInfoLogCount);
- vo.setWorkCount(workManageCount);
- vo.setDefectCount(defectManageCount);
- vo.setPatrolCount(patrolManageCount);
- vo.setProjectCount(repairProjectCount);
- vo.setAlarmList(alarmList);
- vo.setWorkList(workList);
- vo.setDefectList(defectList);
- vo.setPatrolList(patrolList);
- vo.setProjectList(projectList);
- vo.setDateList(dateList);
- vo.setDataList(dataList);
- return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,vo);
- }
- }
|