package com.gk.hotwork.Controller; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.fasterxml.jackson.annotation.JsonFormat; import com.gk.hotwork.Controller.Base.BaseController; import com.gk.hotwork.Domain.Enum.HiddenDangerApplyStatus; import com.gk.hotwork.Domain.Enum.HiddenDangerLevel; import com.gk.hotwork.Domain.Enum.HiddenDangerReportSource; import com.gk.hotwork.Domain.Enum.SourceType; import com.gk.hotwork.Domain.HiddenDanger; import com.gk.hotwork.Domain.Log.HiddenDangerLogAnno; import com.gk.hotwork.Domain.TaskInfo; import com.gk.hotwork.Domain.UserInfo; import com.gk.hotwork.Domain.Utils.*; import com.gk.hotwork.Domain.Vo.HiddenDangerAppVo; import com.gk.hotwork.Domain.Vo.HiddenDangerVo; import com.gk.hotwork.Domain.Vo.PageInfoExtension; import com.gk.hotwork.Service.CompanyService; import com.gk.hotwork.Service.HiddenDangerService; import com.gk.hotwork.Service.TaskService; import com.gk.hotwork.Service.UserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest; import java.util.HashMap; import java.util.List; import java.util.Map; @Api(tags = "隐患") @RestController @RequestMapping("hiddenDanger") public class HiddenDangerController extends BaseController { @Autowired private HiddenDangerService hiddenDangerService; @Autowired private TaskService taskService; @Autowired private UserService userService; @Autowired private CompanyService companyService; /** * @Description: 通用查询 * @date 2021/10/9 15:47 */ @ApiOperation(value = "查询分页",notes = "上报页") @ResponseBody @PostMapping(value = "/reportPage") @ApiImplicitParams({ @ApiImplicitParam(name = "code",value = "隐患等级"), @ApiImplicitParam(name = "status",value = "应还状态"), @ApiImplicitParam(name = "rectifymeasure",value = "整改措施"), @ApiImplicitParam(name = "rectifier",value = "整改人"), @ApiImplicitParam(name = "rectifierid",value = "整改人id"), @ApiImplicitParam(name = "note",value = "上报说明"), @ApiImplicitParam(name = "files",value = "文件"), }) public Object hiddenDangerReportPage(@RequestBody FilterObject filterObject) { Integer pageIndex = filterObject.getPageIndex(); Integer pageSize = filterObject.getPageSize(); IPage page = hiddenDangerService.selectReportPages(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); return success(page); } @ApiOperation(value = "查询分页",notes = "整改页") @ResponseBody @PostMapping("/rectifyPage") public Object hiddenDangerRectifyPage(@RequestBody FilterObject filterObject) { Integer pageIndex = filterObject.getPageIndex(); Integer pageSize = filterObject.getPageSize(); IPage page = hiddenDangerService.selectRectifyPages(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); return success(page); } @ApiOperation(value = "查询分页",notes = "验收页") @ResponseBody @PostMapping("/acceptPage") public Object hiddenDangerAcceptPage(@RequestBody FilterObject filterObject) { Integer pageIndex = filterObject.getPageIndex(); Integer pageSize = filterObject.getPageSize(); IPage page = hiddenDangerService.selectAcceptPages(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); return success(page); } @ApiOperation(value = "整改统计") @ResponseBody @PostMapping("/rectifyStatisticsPage") public Object hiddenDangerRectifyStatistics(@RequestBody FilterObject filterObject) { Integer pageIndex = filterObject.getPageIndex(); Integer pageSize = filterObject.getPageSize(); PageInfoExtension page = hiddenDangerService.selectRectifyStatisticsPages(new Page<>(pageIndex, pageSize), filterObject.getFilter(), getUser()); return success(page); } /** * @Description: 最近一周的作业 * @date 2021/10/11 15:07 */ @ApiOperation(value = "查询最近的作业") @ResponseBody @PostMapping("/taskInfo") public Object hiddenDangerPage(@RequestBody FilterObject filterObject) { Integer pageIndex = filterObject.getPageIndex(); Integer pageSize = filterObject.getPageSize(); IPage page = taskService.selectTaskInPeriod(new Page<>(pageIndex,pageSize),filterObject.getFilter(),getUser()); return success(page); } /** * @Description: web */ @ApiOperation(value = "web新增隐患") @ResponseBody @PostMapping("/report") @HiddenDangerLogAnno(operation = "上报", detail = "上报隐患") @ApiImplicitParams({ @ApiImplicitParam(name = "level",value = "隐患等级"), @ApiImplicitParam(name = "rectifydeadline",value = "整改截止时间(yyyy-MM-dd HH:mm)"), @ApiImplicitParam(name = "rectifymeasure",value = "整改措施"), @ApiImplicitParam(name = "rectifier",value = "整改人"), @ApiImplicitParam(name = "rectifierid",value = "整改人id"), @ApiImplicitParam(name = "note",value = "上报说明"), @ApiImplicitParam(name = "files",value = "文件"), }) public Object hiddenDangerReport(HiddenDangerVo hiddenDangerVo) { HiddenDanger hiddenDanger = hiddenDangerService.addReport(hiddenDangerVo, getUser(), HiddenDangerReportSource.NORMAL); return success(hiddenDanger); } @ApiOperation(value = "web隐患整改") @ResponseBody @PostMapping("/rectify") @HiddenDangerLogAnno(operation = "整改", detail = "整改隐患") @ApiImplicitParams({ @ApiImplicitParam(name = "id",value = "id"), @ApiImplicitParam(name = "note",value = "整改说明"), @ApiImplicitParam(name = "files",value = "文件"), }) public Object hiddenDangerRectify(HiddenDangerVo hiddenDangerVo) { HiddenDanger hiddenDanger = hiddenDangerService.hiddenDangerRectify(hiddenDangerVo); return success(hiddenDanger); } @ApiOperation(value = "web/app验收整改") @ResponseBody @PostMapping("/accept") @HiddenDangerLogAnno(operation = "验收", detail = "验收整改") @ApiImplicitParam(name = "id",value = "id") public Object hiddenDangerAccept(@RequestBody JSONObject jsonObject) { Long id = jsonObject.getLong("id"); HiddenDanger hiddenDanger = hiddenDangerService.acceptHiddenDanger(id, getUser()); return success(hiddenDanger); } @ApiOperation(value = "web/app驳回整改") @ResponseBody @PostMapping("/reject") @HiddenDangerLogAnno(operation = "驳回整改", detail = "驳回整改") @ApiImplicitParams({ @ApiImplicitParam(name = "id",value = "id"), @ApiImplicitParam(name = "rejectnote",value = "驳回说明"), }) public Object hiddenDangerReject(@RequestBody JSONObject jsonObject) { Long id = jsonObject.getLong("id"); String rejectNote = jsonObject.getString("rejectnote"); HiddenDanger hiddenDanger = hiddenDangerService.rejectHiddenDanger(id, rejectNote,getUser()); return success(hiddenDanger); } /** * @Description: app */ @ApiOperation(value = "上传图片",notes = "上传图片") @PostMapping("/uploadPic") @ResponseBody public Msg uploadPic(StandardMultipartHttpServletRequest req){ Msg msg = new Msg(); msg.setCode("200"); msg.setMessage("success"); MultiValueMap multipartFiles = req.getMultiFileMap(); MultipartFile picFile = multipartFiles.get("files").get(0); if (null == picFile){ msg.setCode("404"); msg.setMessage("上传文件为空"); }else { try { String picmame = UploadUtil.uploadFile(picFile, Properties.hiddenDangerPath); msg.setResult(Properties.hiddenDanger+picmame); }catch (Exception e){ e.printStackTrace(); msg.setCode("500"); msg.setMessage("上传失败"); } } return msg; } @ApiOperation(value = "app隐患上报") @ResponseBody @PostMapping("/app/report") @HiddenDangerLogAnno(operation = "上报", detail = "上报隐患",source = SourceType.APP) @ApiImplicitParams({ @ApiImplicitParam(name = "level",value = "隐患等级"), @ApiImplicitParam(name = "rectifydeadline",value = "整改截止时间(yyyy-MM-dd HH:mm)"), @ApiImplicitParam(name = "rectifymeasure",value = "整改措施"), @ApiImplicitParam(name = "rectifier",value = "整改人"), @ApiImplicitParam(name = "rectifierid",value = "整改人id"), @ApiImplicitParam(name = "note",value = "上报说明"), @ApiImplicitParam(name = "urls",value = "文件"), }) public Object hiddenDangerAppReport(@RequestBody HiddenDangerAppVo hiddenDangerAppVo) { HiddenDanger hiddenDanger = hiddenDangerService.addReportByApp(hiddenDangerAppVo, getUser()); return success(hiddenDanger); } @ApiOperation(value = "app隐患整改") @ResponseBody @PostMapping("/app/rectify") @ApiImplicitParams({ @ApiImplicitParam(name = "id",value = "id"), @ApiImplicitParam(name = "note",value = "整改说明"), @ApiImplicitParam(name = "files",value = "文件"), }) @HiddenDangerLogAnno(operation = "整改", detail = "整改隐患",source = SourceType.APP) public Object hiddenDangerAppRectify(@RequestBody HiddenDangerAppVo hiddenDangerAppVo) { HiddenDanger hiddenDanger = hiddenDangerService.rectifyHiddenDangerByApp(hiddenDangerAppVo, getUser()); return success(hiddenDanger); } @GetMapping("/statistics") @ApiOperation(value = "统计隐患数据",response = Msg.class) @ApiImplicitParams({ @ApiImplicitParam(name = "pageIndex",value = "当前页码"), @ApiImplicitParam(name = "pageSize",value = "每页行数"), @ApiImplicitParam(name = "sort",value = "排序规则"), @ApiImplicitParam(name = "order",value = "排序字段"), @ApiImplicitParam(name = "starttime",value = "开始时间"), @ApiImplicitParam(name = "endtime",value = "结束时间"), @ApiImplicitParam(name = "company",value = "单位"), }) public Msg getStatisticsInfo(@RequestParam(defaultValue = "0") Integer pageIndex, @RequestParam(defaultValue = "10") Integer pageSize, String sort,String order, String company, String starttime,String endtime){ PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order); HashMap condition = new HashMap<>(); if (StringUtils.isNotBlank(company)) { condition.put("company", company.trim()); } if (StringUtils.isNotBlank(starttime)) { condition.put("starttime", starttime.trim()); } if (StringUtils.isNotBlank(endtime)) { condition.put("endtime", endtime.trim()); } UserInfo userInfo = userService.selectByUser(getUser().getUsername()); if (!companyService.isMain(userInfo.getCompany())){ condition.put("company", userInfo.getCompany()); } pageInfo.setCondition(condition); hiddenDangerService.selectStatisticsData(pageInfo); return success(pageInfo); } @GetMapping("/info") @ApiOperation(value = "隐患数据详情",response = Msg.class) public Msg getHiddenDangerData(@RequestParam(defaultValue = "0") Integer pageIndex, @RequestParam(defaultValue = "10") Integer pageSize, String sort,String order, String company, String starttime,String endtime){ PageInfo pageInfo = new PageInfo(pageIndex, pageSize,sort,order); HashMap condition = new HashMap<>(); if (StringUtils.isNotBlank(company)) { condition.put("company", company.trim()); } if (StringUtils.isNotBlank(starttime)) { condition.put("starttime", starttime.trim()); } if (StringUtils.isNotBlank(endtime)) { condition.put("endtime", endtime.trim()); } UserInfo userInfo = userService.selectByUser(getUser().getUsername()); if (!companyService.isMain(userInfo.getCompany())){ condition.put("company", userInfo.getCompany()); } pageInfo.setCondition(condition); hiddenDangerService.selectDataGrid(pageInfo); return success(pageInfo); } @GetMapping("/app/analysis") public Msg getAnalysis() { Map result = hiddenDangerService.getAppAnalysis(getUser()); return success(result); } }