zss
2024-08-29 1bc536c54fc1c2f25a4cff4b162cfa6979604fff
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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
package com.yuanchu.mom.controller;
 
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.annotation.ValueClassify;
import com.yuanchu.mom.dto.InsOrderPlanDTO;
import com.yuanchu.mom.dto.InsProductDto;
import com.yuanchu.mom.pojo.InsOrderFile;
import com.yuanchu.mom.pojo.InsOrderState;
import com.yuanchu.mom.service.InsOrderFileService;
import com.yuanchu.mom.service.InsOrderPlanService;
import com.yuanchu.mom.service.InsOrderStateService;
import com.yuanchu.mom.service.InsProductService;
import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
 
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
/**
 * 检验任务-控制层
 */
@RestController
@RequestMapping("/insOrderPlan")
@Api(tags = "检验任务")
@AllArgsConstructor
public class InsOrderPlanController {
 
    private InsOrderPlanService insOrderPlanService;
 
    private InsOrderFileService insOrderFileService;
 
    private InsProductService insProductService;
    private InsOrderStateService insOrderStateService;
 
    @ValueClassify("检验任务")
    @ApiOperation(value = "获取检验任务列表")
    @PostMapping("/selectInsOrderPlanList")
    public Result selectInsOrderPlanList(@RequestBody Map<String, Object> data) throws Exception {
        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
        page.setOptimizeCountSql(false);
        InsOrderPlanDTO insOrderPlanDTO = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), InsOrderPlanDTO.class);
        return Result.success(insOrderPlanService.selectInsOrderPlanList(page, insOrderPlanDTO));
    }
 
    @ValueAuth
    @ApiOperation(value = "检验单详情-任务切换")
    @PostMapping("/inspectionOrderDetailsTaskSwitching")
    public Result inspectionOrderDetailsTaskSwitching(@RequestBody Map<String, Object> data) throws Exception {
        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
        page.setOptimizeCountSql(false);
        InsOrderPlanDTO insOrderPlanDTO = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), InsOrderPlanDTO.class);
        return Result.success(insOrderPlanService.inspectionOrderDetailsTaskSwitching(page, insOrderPlanDTO));
    }
 
    @ValueClassify("检验任务")
    @ApiOperation(value = "认领任务计划")
    @PostMapping("/claimInsOrderPlan")
    public Result claimInsOrderPlan(@RequestBody InsOrderPlanDTO data) {
        return Result.success(insOrderPlanService.claimInsOrderPlan(data));
    }
 
    @ValueClassify("检验任务")
    @ApiOperation(value = "执行检验操作")
    @PostMapping("/doInsOrder")
    public Result<?> doInsOrder(Integer id, String laboratory) {
        return Result.success(insOrderPlanService.doInsOrder(id, laboratory));
    }
 
    @ApiOperation(value = "切换套管/光纤/光纤带记录模版查询检验内容")
    @PostMapping("/getReportModel")
    @ValueAuth
    public Result<?> getReportModel(Integer sampleId) {
        return Result.success(insOrderPlanService.getReportModel(sampleId));
    }
 
    @ValueAuth
    @PostMapping("/getInsProduct")
    @ApiOperation("获取检验项目和模板内容")
    public Result<?> getInsProduct(Integer id, Integer type, String laboratory, HttpServletRequest request) {
        return Result.success(insOrderPlanService.getInsProduct(id, type, laboratory, request));
    }
 
    @ValueClassify("检验任务")
    @ApiOperation(value = "任务交接")
    @PostMapping("/upPlanUser")
    public Result<?> upPlanUser(Integer userId, Integer orderId,String sonLaboratory) {
        return Result.success(insOrderPlanService.upPlanUser(userId, orderId, sonLaboratory));
    }
 
    @ValueAuth
    @ApiOperation(value = "判断交接的试验室")
    @PostMapping("/upPlanUser2")
    public Result<?> upPlanUser2(Integer orderId) {
        return Result.success(insOrderPlanService.upPlanUser2(orderId));
    }
 
    @ValueClassify("检验任务")
    @ApiOperation(value = "复核检验任务")
    @PostMapping("/verifyPlan")
    public Result<?> verifyPlan(Integer orderId, String laboratory, Integer type, String tell) {
        return Result.success(insOrderPlanService.verifyPlan(orderId, laboratory, type, tell));
    }
 
    @ValueAuth
    @ApiOperation(value = "校验检验任务提交")
    @PostMapping("/checkSubmitPlan")
    public Result<?> checkSubmitPlan(Integer orderId, String laboratory) {
        return Result.success(insOrderPlanService.checkSubmitPlan(orderId, laboratory));
    }
 
    @ValueClassify("检验任务")
    @ApiOperation(value = "检验任务提交")
    @PostMapping("/submitPlan")
    public Result<?> submitPlan(Integer orderId,String laboratory, Integer verifyUser, String entrustCode) {
        int num = insOrderPlanService.submitPlan(orderId, laboratory, verifyUser, entrustCode);
        return num == 1 ? Result.success() : Result.fail("提交失败,部分项目还未进行检验");
    }
 
    @ValueClassify("设备")
    @ApiOperation(value = "是否允许修改采集值")
    @DeleteMapping("/isItAllowedToModifyTheCollectedValues")
    public Result<?> isItAllowedToModifyTheCollectedValues() {
        return Result.success();
    }
 
    @ApiOperation(value = "保存检验内容")
    @PostMapping("/saveInsContext")
    @ValueAuth
    public Result<?> saveInsContext(String param) {
        Map<String, Object> param2 = JSON.parseObject(param, Map.class);
        insOrderPlanService.saveInsContext(param2);
        return Result.success();
    }
 
    @ValueAuth
    @ApiOperation(value = "查看检验单下的附件列表")
    @PostMapping("/getFileList")
    public Result<?> getFileList(@RequestBody Map<String, Object> data) throws Exception {
        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
        page.setOptimizeCountSql(false);
        InsOrderFile insOrderFile = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), InsOrderFile.class);
        return Result.success(insOrderPlanService.getFileList(page, insOrderFile));
    }
 
    @ValueClassify("检验任务")
    @ApiOperation(value = "上传附件")
    @PostMapping("/uploadFile")
    public Result<?> uploadFile(Integer orderId, MultipartFile file) {
        return Result.success(insOrderPlanService.uploadFile(orderId, file));
    }
 
    @ValueClassify("检验任务")
    @ApiOperation(value = "删除附件")
    @PostMapping("/delfile")
    public Result<?> delfile(Integer id) {
        return Result.success(insOrderFileService.removeById(id));
    }
 
    @ValueAuth
    @ValueClassify("检验任务")
    @ApiOperation(value = "下载附件")
    @PostMapping("/downFile")
    public Result<?> downFile(Integer id) {
        InsOrderFile insOrderFile = insOrderFileService.getById(id);
        HashMap<String, Object> map = new HashMap<>();
        map.put("type", insOrderFile.getType());
        map.put("fileUrl", insOrderFile.getFileUrl());
        return Result.success(map);
    }
 
    @ApiOperation(value = "填写温度与湿度")
    @PostMapping("/write")
    @ValueAuth
    public Result<?> write(@RequestBody InsProductDto insProductDto) {
        return Result.success(insProductService.write(insProductDto));
    }
 
    @ValueAuth
    @ApiOperation(value = "温度循环查看列表数据(包括通过样品id,循环次数,温度,循环次数进行筛选)")
    @PostMapping("/temCycle")
    public Result<?> temCycle(Integer sampleId, String inspectionItem, String inspectionItemSubclass) {
        return Result.success(insOrderPlanService.temCycle(sampleId, inspectionItem, inspectionItemSubclass));
    }
 
    @ValueClassify("检验任务")
    @ApiOperation(value = "插队操作")
    @PostMapping("/jumpTeam")
    public Result<?> jumpTeam(@RequestBody List<InsOrderState> insOrderStates) {
        return Result.success(insOrderStateService.updateBatchById(insOrderStates));
    }
}