| | |
| | | package org.jeecg.modules.mdc.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.jeecg.common.api.dto.message.MessageDTO; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.aspect.annotation.AutoLog; |
| | | import org.jeecg.common.system.api.ISysBaseAPI; |
| | | import org.jeecg.common.system.base.controller.JeecgController; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | import org.jeecg.common.system.vo.LoginUser; |
| | | import org.jeecg.modules.mdc.constant.MdcConstant; |
| | | import org.jeecg.modules.mdc.entity.MdcMessageApproval; |
| | | import org.jeecg.modules.mdc.service.IMdcMessageApprovalService; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description: mdc消息确认表 |
| | |
| | | |
| | | @Resource |
| | | private IMdcMessageApprovalService mdcMessageApprovalService; |
| | | |
| | | @Resource |
| | | private ISysBaseAPI sysBaseApi; |
| | | |
| | | /** |
| | | * 分页列表查询 |
| | |
| | | @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, |
| | | HttpServletRequest req) { |
| | | QueryWrapper<MdcMessageApproval> queryWrapper = QueryGenerator.initQueryWrapper(mdcMessageApproval, req.getParameterMap()); |
| | | LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | String userId = user.getId(); |
| | | Page<MdcMessageApproval> page = new Page<MdcMessageApproval>(pageNo, pageSize); |
| | | IPage<MdcMessageApproval> pageList = mdcMessageApprovalService.page(page, queryWrapper); |
| | | IPage<MdcMessageApproval> pageList = mdcMessageApprovalService.pageList(userId, page, mdcMessageApproval, req); |
| | | return Result.OK(pageList); |
| | | } |
| | | |
| | |
| | | @ApiOperation(value = "mdc消息确认表-添加", notes = "mdc消息确认表-添加") |
| | | @PostMapping(value = "/add") |
| | | public Result<?> add(@RequestBody MdcMessageApproval mdcMessageApproval) { |
| | | mdcMessageApprovalService.save(mdcMessageApproval); |
| | | if (StringUtils.isBlank(mdcMessageApproval.getEquipmentId())) { |
| | | return Result.error("未选择设备,请排查!"); |
| | | } |
| | | boolean result = mdcMessageApprovalService.add(mdcMessageApproval); |
| | | if (!result) { |
| | | return Result.error("添加失败!"); |
| | | } |
| | | return Result.OK("添加成功!"); |
| | | } |
| | | |
| | |
| | | return super.importExcel(request, response, MdcMessageApproval.class); |
| | | } |
| | | |
| | | /** |
| | | * 上报原因 |
| | | */ |
| | | @AutoLog(value = "mdc消息确认表-上报原因") |
| | | @ApiOperation(value = "mdc消息确认表-上报原因", notes = "mdc消息确认表-上报原因") |
| | | @RequestMapping(value = "/reportReason", method = {RequestMethod.PUT, RequestMethod.POST}) |
| | | public Result<?> reportReason(@RequestBody MdcMessageApproval mdcMessageApproval) { |
| | | mdcMessageApproval.setMsgStatus(MdcConstant.MSG_STATUS_1); |
| | | mdcMessageApprovalService.updateById(mdcMessageApproval); |
| | | List<String> approverIdList = Arrays.asList(mdcMessageApproval.getApproverIds().split(",")); |
| | | for (String approverId : approverIdList) { |
| | | //上报原因发送消息给确认人 |
| | | MessageDTO messageDTO = new MessageDTO(); |
| | | messageDTO.setTitle("设备状态长时间未变化原因上报确认!"); |
| | | messageDTO.setCategory("消息"); |
| | | LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); |
| | | messageDTO.setFromUser(user.getUsername()); |
| | | LoginUser userById = sysBaseApi.getUserById(approverId); |
| | | messageDTO.setToUser(userById.getUsername()); |
| | | messageDTO.setContent("设备编号为 [" + mdcMessageApproval.getEquipmentId() + "] 的设备状态长时间未变化原因上报待确认!"); |
| | | sysBaseApi.sendSysAnnouncement(messageDTO); |
| | | } |
| | | |
| | | return Result.OK("上报成功!"); |
| | | } |
| | | |
| | | /** |
| | | * 处理确认 |
| | | */ |
| | | @AutoLog(value = "mdc消息确认表-处理确认") |
| | | @ApiOperation(value = "mdc消息确认表-处理确认", notes = "mdc消息确认表-处理确认") |
| | | @RequestMapping(value = "/handleConfirm", method = {RequestMethod.PUT, RequestMethod.POST}) |
| | | public Result<?> handleConfirm(@RequestBody MdcMessageApproval mdcMessageApproval) { |
| | | if (mdcMessageApproval.getMsgStatus().equals(MdcConstant.MSG_STATUS_3)) { |
| | | //处理被拒绝,需重新上报原因 |
| | | //上报原因发送消息给确认人 |
| | | MessageDTO messageDTO = new MessageDTO(); |
| | | messageDTO.setTitle("设备状态消息!"); |
| | | messageDTO.setCategory("消息"); |
| | | messageDTO.setFromUser("admin"); |
| | | messageDTO.setToUser(mdcMessageApproval.getUpdateBy()); |
| | | messageDTO.setContent("您的设备编号为 [" + mdcMessageApproval.getEquipmentId() + "] 的设备状态长时间未变化上报已被设备超级管理员拒绝,请重新填写上报原因!"); |
| | | sysBaseApi.sendSysAnnouncement(messageDTO); |
| | | } |
| | | mdcMessageApprovalService.updateById(mdcMessageApproval); |
| | | |
| | | return Result.OK("成功!"); |
| | | } |
| | | |
| | | |
| | | |
| | | } |