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);
|
}
|
}
|