郑永安
2023-06-19 7a6abd05683528032687c75e80e0bd2030a3e46c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
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<List<WorkPageRespDTO>> workPageList(@RequestBody PageQuery<WorkPageQuery> pageQuery) {
        PageUtils.checkCheck(pageQuery);
        return workService.listWorkByPage(pageQuery);
 
    }
 
    /**
     * @Description: [作业人] 可见 我的作业
     */
    @RequestMapping(value = "/page/my-ref/list", method = RequestMethod.POST)
    public ResultVO<List<WorkMyRefPageRespDTO>> myWork(@RequestBody PageQuery<WorkMyRefPageQuery> pageQuery) {
        PageUtils.checkCheck(pageQuery);
        return workService.listWorkMyRefByPage(pageQuery);
    }
 
    /**
     * @Description: [分析人]
     * 待分析作业
     */
    @RequestMapping(value = "/analyst/analysis/page/list",method = RequestMethod.POST)
    public ResultVO<List<WorkAnalysisPageRespDTO>> analysisList(@RequestBody PageQuery<WorkAnalysisPageQuery> pageQuery) {
        PageUtils.checkCheck(pageQuery);
        return workService.listWorkAnalysisByPage(pageQuery);
    }
 
    /**
     * @Description: [分析人]
     * 根据作业获取作业的分析项
     */
    @RequestMapping(value = "/analyst/analysisItem/get",method = RequestMethod.POST)
    public ResultVO<List<WorkInvolvedAnalysisItemRespDTO>> getAnalysisItem(@RequestBody JSONObject jsonObject) {
        Long workId = jsonObject.getLong("workId");
        List<WorkInvolvedAnalysisItemRespDTO> data = workService.listWorkAnalysisItem(workId);
        return new ResultVO<>(ResultCodes.OK, data);
    }
 
 
 
 
    /**
     * @Description: [监护人]
     * 待开始页面
     * 可视范围 [监护人]
     */
    @RequestMapping(value = "/guardian/start/page/list",method = RequestMethod.POST)
    public ResultVO<List<WorkGuardianPageRespDTO>> guardianWorkList(@RequestBody PageQuery<WorkGuardianPageQuery> pageQuery) {
        PageUtils.checkCheck(pageQuery);
        return workService.listWorkGuardianByPage(pageQuery);
    }
 
    /**
     * @Description: [作业所处部门下的所有人]
     * 待验收页面
     * 可视范围 [作业所处部门下的所有人]
     */
    @RequestMapping(value = "/dep/accept/page/list",method = RequestMethod.POST)
    public ResultVO<List<WorkAcceptPageRespDTO>> acceptWorkList(@RequestBody PageQuery<WorkAcceptPageQuery> pageQuery) {
        PageUtils.checkCheck(pageQuery);
        return workService.listWorkAcceptByPage(pageQuery);
    }
 
 
    /**
    * @Description: 查看作业的分析记录
    */
    @RequestMapping(value = "/page/analysis-record",method = RequestMethod.POST)
    public ResultVO<List<WorkAnalysisRecordRespDTO>> analysisDetail(@RequestBody PageQuery<WorkAnalysisRecordPageQuery> pageQuery) {
        PageUtils.checkCheck(pageQuery);
        return workService.listWorkAnalysisRecordByPage(pageQuery);
    }
 
    /**
     * @Description: 查看分析记录的 具体提交数据
     */
    @RequestMapping(value = "/analysis-data",method = RequestMethod.POST)
    public ResultVO<WorkAnalysisRecordDetailRespDTO> 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<String> workFinish(@RequestBody WorkFinishReqDTO reqDTO) {
        workService.finishWork(reqDTO);
        return new ResultVO<>(ResultCodes.OK);
    }
 
 
    /**
     * @Description: [监护人]作业开始
     */
    @RequestMapping(value = "/start", method = RequestMethod.POST)
    public ResultVO<String> workStart(@RequestBody WorkStartReqDTO reqDTO) {
        workService.startWork(reqDTO);
        return new ResultVO<>(ResultCodes.OK);
    }
 
 
    /**
     * @Description: [监护人]作业中止
     */
    @RequestMapping(value = "/abort", method = RequestMethod.POST)
    public ResultVO<String> workAbort(@RequestBody WorkAbortReqDTO reqDTO) {
        workService.abortWork(reqDTO);
        return new ResultVO<>(ResultCodes.OK);
    }
 
 
    /**
     * @Description: [监护人]作业验收
     */
    @RequestMapping(value = "/accept", method = RequestMethod.POST)
    public ResultVO<String> workAccept(@RequestBody WorkAcceptReqDTO reqDTO) {
        workService.acceptWork(reqDTO);
        return new ResultVO<>(ResultCodes.OK);
    }
 
 
    /**
    * @Description: [分析人]分析数据上报
    */
    @RequestMapping(value = "/analysis",method = RequestMethod.POST)
    public ResultVO<String> workAnalysis(@RequestBody WorkAnalysisReqDTO reqDTO) {
        workService.analysisWork(reqDTO);
        return new ResultVO<>(ResultCodes.OK);
    }
 
}