liusheng
2023-05-25 bed24ea3fdeee959b85b699a82d53c5112adb219
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
package com.ruoyi.web.controller.smartor;
 
import java.util.List;
import javax.servlet.http.HttpServletResponse;
 
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.ReportReqVo;
import com.ruoyi.system.service.IBaseUserInfoService;
import com.smartor.domain.DingTalkReqVo;
import com.smartor.service.DingTalkService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.Equipmentinfo;
import com.ruoyi.system.service.IEquipmentinfoService;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
 
/**
 * 【请填写功能名称】Controller
 *
 * @author ruoyi
 * @date 2023-05-25
 */
@RestController
@RequestMapping("/system/equipmentinfo")
public class EquipmentinfoController extends BaseController {
    @Autowired
    private IEquipmentinfoService equipmentinfoService;
    @Autowired
    private DingTalkService dingTalkService;
 
 
    /**
     * 查询【请填写功能名称】列表
     */
    @PreAuthorize("@ss.hasPermi('system:equipmentinfo:list')")
    @GetMapping("/list")
    public TableDataInfo list(Equipmentinfo equipmentinfo) {
        startPage();
        List<Equipmentinfo> list = equipmentinfoService.selectEquipmentinfoList(equipmentinfo);
        return getDataTable(list);
    }
 
    /**
     * 导出【请填写功能名称】列表
     */
    @PreAuthorize("@ss.hasPermi('system:equipmentinfo:export')")
    @Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, Equipmentinfo equipmentinfo) {
        List<Equipmentinfo> list = equipmentinfoService.selectEquipmentinfoList(equipmentinfo);
        ExcelUtil<Equipmentinfo> util = new ExcelUtil<Equipmentinfo>(Equipmentinfo.class);
        util.exportExcel(response, list, "【请填写功能名称】数据");
    }
 
    /**
     * 获取【请填写功能名称】详细信息
     */
    @PreAuthorize("@ss.hasPermi('system:equipmentinfo:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return success(equipmentinfoService.selectEquipmentinfoById(id));
    }
 
    /**
     * 新增【请填写功能名称】
     */
    @PreAuthorize("@ss.hasPermi('system:equipmentinfo:add')")
    @Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody Equipmentinfo equipmentinfo) {
        return toAjax(equipmentinfoService.insertEquipmentinfo(equipmentinfo));
    }
 
    /**
     * 修改【请填写功能名称】
     */
    @PreAuthorize("@ss.hasPermi('system:equipmentinfo:edit')")
    @Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody Equipmentinfo equipmentinfo) {
        return toAjax(equipmentinfoService.updateEquipmentinfo(equipmentinfo));
    }
 
    /**
     * 删除【请填写功能名称】
     */
    @PreAuthorize("@ss.hasPermi('system:equipmentinfo:remove')")
    @Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(equipmentinfoService.deleteEquipmentinfoByIds(ids));
    }
 
 
    /**
     * 问题上报
     */
 
    @RequestMapping("/reportContent")
    public AjaxResult reportContent(@RequestBody ReportReqVo reportReqVo) {
        if (StringUtils.isEmpty(reportReqVo.getDealDept()) && StringUtils.isEmpty(reportReqVo.getDealPersionNO())) {
            return error("处理人和处理部门不能同时为空!");
        }
        Boolean aBoolean = false;
        //1.判断处理人的工号是否为空,如果不为空,获取用户的的联系方式
        if (StringUtils.isNotEmpty(reportReqVo.getDealPersionNO())) {
 
            //2.如何处理人不为空,根据通知方式,调用对应的接口,将上报问题发出
            if (reportReqVo.getNoticeWay() == "钉钉") {
                //调用钉钉接口,进行消息发送
            } else if (reportReqVo.getNoticeWay() == "微信") {
                //需要企业微信,后期再做
            } else if (reportReqVo.getNoticeWay() == "电话") {
                //调用电话的接口
            }
        }
 
        //3.获取处理部门,调用钉钉接口,将上报问题发出
        if (StringUtils.isNotEmpty(reportReqVo.getDealDept())) {
            DingTalkReqVo dingTalkReqVo = new DingTalkReqVo();
            //设置发送内容
            dingTalkReqVo.setContents(null);
            dingTalkReqVo.setDeptId(reportReqVo.getDealDeptID());
            dingTalkReqVo.setUserId(reportReqVo.getDealPersionDingNO());
            aBoolean = dingTalkService.sendNotification(dingTalkReqVo);
        }
 
        // 将工作流推至下一节点
 
        //返回结果
        return toAjax(aBoolean);
    }
}