wujian
2024-03-29 8241ddde076c3418f359e48009585a2d9aae7ed7
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
package com.jcdm.main.em.inspectionPlanItemsProject.controller;
 
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
 
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jcdm.framework.websocket.WebSocketUsers;
import com.jcdm.main.em.inspectionPlanTask.domain.EmInspectionPlanTask;
import com.jcdm.main.em.inspectionPlanTask.service.IEmInspectionPlanTaskService;
import org.aspectj.weaver.loadtime.Aj;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.jcdm.common.annotation.Log;
import com.jcdm.common.core.controller.BaseController;
import com.jcdm.common.core.domain.AjaxResult;
import com.jcdm.common.enums.BusinessType;
import com.jcdm.main.em.inspectionPlanItemsProject.domain.EmInspectionPlanItemsProject;
import com.jcdm.main.em.inspectionPlanItemsProject.service.IEmInspectionPlanItemsProjectService;
import com.jcdm.common.utils.poi.ExcelUtil;
import com.jcdm.common.core.page.TableDataInfo;
 
/**
 * 点检任务-项目Controller
 * 
 * @author Yi
 * @date 2024-03-23
 */
@RestController
@RequestMapping("/em/inspectionPlanItemsProject")
public class EmInspectionPlanItemsProjectController extends BaseController
{
    @Autowired
    private IEmInspectionPlanItemsProjectService emInspectionPlanItemsProjectService;
 
    @Autowired
    private IEmInspectionPlanTaskService emInspectionPlanTaskService;
 
    @GetMapping("/findPlanItemsProjectByPlanId")
    public AjaxResult list2(EmInspectionPlanItemsProject emInspectionPlanItemsProject)
    {
        EmInspectionPlanTask byId = emInspectionPlanTaskService.getById(emInspectionPlanItemsProject.getPlanTaskId());
 
        List<EmInspectionPlanItemsProject> planTaskIdList = emInspectionPlanItemsProjectService
                .list(new LambdaQueryWrapper<EmInspectionPlanItemsProject>()
                        .eq(EmInspectionPlanItemsProject::getPlanTaskId,emInspectionPlanItemsProject.getPlanTaskId())
                        .eq(EmInspectionPlanItemsProject::getItemsType,emInspectionPlanItemsProject.getItemsType()));
 
        Map<String,Object> resultMap = new HashMap<>();
        resultMap.put("planItemsProject", planTaskIdList);
        resultMap.put("planTask",byId);
        return AjaxResult.success(resultMap);
    }
 
    @PostMapping("/updateItemsProjectResults")
    public AjaxResult updateItemsProjectResults(@RequestBody EmInspectionPlanItemsProject emInspectionPlanItemsProject)
    {
        EmInspectionPlanItemsProject itemsProject = emInspectionPlanItemsProjectService.getById(emInspectionPlanItemsProject.getId());
        itemsProject.setResults(emInspectionPlanItemsProject.getResults());
        emInspectionPlanItemsProjectService.saveOrUpdate(itemsProject);
 
        List<EmInspectionPlanItemsProject> list = emInspectionPlanItemsProjectService.list(new LambdaQueryWrapper<EmInspectionPlanItemsProject>()
                .eq(EmInspectionPlanItemsProject::getPlanTaskId, itemsProject.getPlanTaskId()));
 
        List<String> collect = list.stream()
                .map(EmInspectionPlanItemsProject::getResults)
                .filter(x-> !"1".equals(x)).collect(Collectors.toList());
        if(CollUtil.isEmpty(collect)){
            EmInspectionPlanTask planTaskById = emInspectionPlanTaskService.getById(itemsProject.getPlanTaskId());
            planTaskById.setState("1");
            emInspectionPlanTaskService.saveOrUpdate(planTaskById);
        }
        return AjaxResult.success();
    }
 
 
 
    /**
     * 查询点检任务-项目列表
     */
    @PreAuthorize("@ss.hasPermi('em:inspectionPlanItemsProject:list')")
    @GetMapping("/list")
    public TableDataInfo list(EmInspectionPlanItemsProject emInspectionPlanItemsProject)
    {
        startPage();
        List<EmInspectionPlanItemsProject> list = emInspectionPlanItemsProjectService.selectEmInspectionPlanItemsProjectList(emInspectionPlanItemsProject);
        return getDataTable(list);
    }
 
    /**
     * 导出点检任务-项目列表
     */
    @PreAuthorize("@ss.hasPermi('em:inspectionPlanItemsProject:export')")
    @Log(title = "点检任务-项目", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, EmInspectionPlanItemsProject emInspectionPlanItemsProject)
    {
        List<EmInspectionPlanItemsProject> list = emInspectionPlanItemsProjectService.selectEmInspectionPlanItemsProjectList(emInspectionPlanItemsProject);
        ExcelUtil<EmInspectionPlanItemsProject> util = new ExcelUtil<EmInspectionPlanItemsProject>(EmInspectionPlanItemsProject.class);
        util.exportExcel(response, list, "点检任务-项目数据");
    }
 
    /**
     * 获取点检任务-项目详细信息
     */
    @PreAuthorize("@ss.hasPermi('em:inspectionPlanItemsProject:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return success(emInspectionPlanItemsProjectService.selectEmInspectionPlanItemsProjectById(id));
    }
 
    /**
     * 新增点检任务-项目
     */
    @PreAuthorize("@ss.hasPermi('em:inspectionPlanItemsProject:add')")
    @Log(title = "点检任务-项目", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody EmInspectionPlanItemsProject emInspectionPlanItemsProject)
    {
        return toAjax(emInspectionPlanItemsProjectService.insertEmInspectionPlanItemsProject(emInspectionPlanItemsProject));
    }
 
    /**
     * 修改点检任务-项目
     */
    @PreAuthorize("@ss.hasPermi('em:inspectionPlanItemsProject:edit')")
    @Log(title = "点检任务-项目", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody EmInspectionPlanItemsProject emInspectionPlanItemsProject)
    {
        return toAjax(emInspectionPlanItemsProjectService.updateEmInspectionPlanItemsProject(emInspectionPlanItemsProject));
    }
 
    /**
     * 删除点检任务-项目
     */
    @PreAuthorize("@ss.hasPermi('em:inspectionPlanItemsProject:remove')")
    @Log(title = "点检任务-项目", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(emInspectionPlanItemsProjectService.deleteEmInspectionPlanItemsProjectByIds(ids));
    }
}