package com.gkhy.safePlatform.specialWork.controller; import com.alibaba.fastjson.JSONObject; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.query.PageQuery; import com.gkhy.safePlatform.commons.utils.PageUtils; import com.gkhy.safePlatform.commons.vo.ResultVO; import com.gkhy.safePlatform.specialWork.model.dto.req.*; import com.gkhy.safePlatform.specialWork.model.dto.resp.*; import com.gkhy.safePlatform.specialWork.model.query.*; import com.gkhy.safePlatform.specialWork.service.WorkService; import com.google.gson.JsonObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.security.core.Authentication; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.function.ServerResponse; import java.util.ArrayList; import java.util.List; @RestController @RequestMapping("/work") public class WorkController { @Autowired private WorkService workService; /** * @Description: 特殊作业首页作业信息展示 本部门可见 管理员可见所有 * 该接口页面 开放给 单独角色 仅给有权限人观看 */ @RequestMapping(value = "/page/my-dep/list", method = RequestMethod.POST) public ResultVO> workPageList(@RequestBody PageQuery pageQuery) { PageUtils.checkCheck(pageQuery); return workService.listWorkByPage(pageQuery); } /** * @Description: [作业人] 可见 我的作业 */ @RequestMapping(value = "/page/my-ref/list", method = RequestMethod.POST) public ResultVO> myWork(@RequestBody PageQuery pageQuery) { PageUtils.checkCheck(pageQuery); return workService.listWorkMyRefByPage(pageQuery); } /** * @Description: [分析人] * 待分析作业 */ @RequestMapping(value = "/analyst/analysis/page/list",method = RequestMethod.POST) public ResultVO> analysisList(@RequestBody PageQuery pageQuery) { PageUtils.checkCheck(pageQuery); return workService.listWorkAnalysisByPage(pageQuery); } /** * @Description: [分析人] * 根据作业获取作业的分析项 */ @RequestMapping(value = "/analyst/analysisItem/get",method = RequestMethod.POST) public ResultVO> getAnalysisItem(@RequestBody JSONObject jsonObject) { Long workId = jsonObject.getLong("workId"); List data = workService.listWorkAnalysisItem(workId); return new ResultVO<>(ResultCodes.OK, data); } /** * @Description: [监护人] * 待开始页面 * 可视范围 [监护人] */ @RequestMapping(value = "/guardian/start/page/list",method = RequestMethod.POST) public ResultVO> guardianWorkList(@RequestBody PageQuery pageQuery) { PageUtils.checkCheck(pageQuery); return workService.listWorkGuardianByPage(pageQuery); } /** * @Description: [作业所处部门下的所有人] * 待验收页面 * 可视范围 [作业所处部门下的所有人] */ @RequestMapping(value = "/dep/accept/page/list",method = RequestMethod.POST) public ResultVO> acceptWorkList(@RequestBody PageQuery pageQuery) { PageUtils.checkCheck(pageQuery); return workService.listWorkAcceptByPage(pageQuery); } /** * @Description: 查看作业的分析记录 */ @RequestMapping(value = "/page/analysis-record",method = RequestMethod.POST) public ResultVO> analysisDetail(@RequestBody PageQuery pageQuery) { PageUtils.checkCheck(pageQuery); return workService.listWorkAnalysisRecordByPage(pageQuery); } /** * @Description: 查看分析记录的 具体提交数据 */ @RequestMapping(value = "/analysis-data",method = RequestMethod.POST) public ResultVO analysisData(@RequestBody JSONObject json) { Long workAnalysisRecordId = json.getLong("workAnalysisRecordId"); WorkAnalysisRecordDetailRespDTO result = workService.listAnalysisDataByRecordId(workAnalysisRecordId); return new ResultVO<>(ResultCodes.OK, result); } /** * @Description: 作业结束 */ @RequestMapping(value = "/finish", method = RequestMethod.POST) public ResultVO workFinish(@RequestBody WorkFinishReqDTO reqDTO) { workService.finishWork(reqDTO); return new ResultVO<>(ResultCodes.OK); } /** * @Description: [监护人]作业开始 */ @RequestMapping(value = "/start", method = RequestMethod.POST) public ResultVO workStart(@RequestBody WorkStartReqDTO reqDTO) { workService.startWork(reqDTO); return new ResultVO<>(ResultCodes.OK); } /** * @Description: [监护人]作业中止 */ @RequestMapping(value = "/abort", method = RequestMethod.POST) public ResultVO workAbort(@RequestBody WorkAbortReqDTO reqDTO) { workService.abortWork(reqDTO); return new ResultVO<>(ResultCodes.OK); } /** * @Description: [监护人]作业验收 */ @RequestMapping(value = "/accept", method = RequestMethod.POST) public ResultVO workAccept(@RequestBody WorkAcceptReqDTO reqDTO) { workService.acceptWork(reqDTO); return new ResultVO<>(ResultCodes.OK); } /** * @Description: [分析人]分析数据上报 */ @RequestMapping(value = "/analysis",method = RequestMethod.POST) public ResultVO workAnalysis(@RequestBody WorkAnalysisReqDTO reqDTO) { workService.analysisWork(reqDTO); return new ResultVO<>(ResultCodes.OK); } }