lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcMessageApprovalController.java
@@ -1,15 +1,18 @@ 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.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.*; @@ -19,6 +22,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; import java.util.List; /** * @Description: mdc消息确认表 @@ -34,6 +38,9 @@ @Resource private IMdcMessageApprovalService mdcMessageApprovalService; @Resource private ISysBaseAPI sysBaseApi; /** * 分页列表查询 @@ -51,9 +58,10 @@ @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); } @@ -150,4 +158,55 @@ 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("成功!"); } } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcMessageApproval.java
@@ -1,5 +1,6 @@ package org.jeecg.modules.mdc.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -81,5 +82,16 @@ @Excel(name = "上报内容", width = 15) @ApiModelProperty(value = "上报内容") private String reportContent; /** * 处理按钮 */ @TableField(exist = false) @ApiModelProperty(value = "处理按钮") private Boolean hasProcess = false; /** * 确认按钮 */ @TableField(exist = false) @ApiModelProperty(value = "确认按钮") private Boolean hasConfirm = false; } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcMessageApprovalMapper.java
@@ -1,6 +1,9 @@ package org.jeecg.modules.mdc.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.mdc.entity.MdcMessageApproval; /** @@ -11,4 +14,9 @@ */ public interface MdcMessageApprovalMapper extends BaseMapper<MdcMessageApproval> { /** * 列表查询 */ IPage<MdcMessageApproval> pageList(@Param("userId") String userId, Page<MdcMessageApproval> page, @Param("mdcMessageApproval") MdcMessageApproval mdcMessageApproval); } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcMessageApprovalMapper.xml
@@ -2,4 +2,21 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.mdc.mapper.MdcMessageApprovalMapper"> <!--列表查询--> <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcMessageApproval"> SELECT * FROM mdc_message_approval <where> (sender_ids LIKE CONCAT(CONCAT('%',#{userId}),'%') OR approver_ids LIKE CONCAT(CONCAT('%',#{userId}),'%')) <if test="mdcMessageApproval.equipmentId != null and mdcMessageApproval.equipmentId != ''"> AND equipment_id = #{mdcMessageApproval.equipmentId} </if> <if test="mdcMessageApproval.msgStatus != null and mdcMessageApproval.msgStatus != ''"> AND msg_status = #{msgStatus} </if> </where> ORDER BY create_time DESC </select> </mapper> lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcMessageApprovalService.java
@@ -1,7 +1,11 @@ package org.jeecg.modules.mdc.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.mdc.entity.MdcMessageApproval; import javax.servlet.http.HttpServletRequest; /** * @Description: mdc消息确认表 @@ -11,4 +15,8 @@ */ public interface IMdcMessageApprovalService extends IService<MdcMessageApproval> { /** * 列表查询 */ IPage<MdcMessageApproval> pageList(String userId, Page<MdcMessageApproval> page, MdcMessageApproval mdcMessageApproval, HttpServletRequest req); } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcMessageApprovalServiceImpl.java
@@ -1,10 +1,16 @@ package org.jeecg.modules.mdc.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.modules.mdc.constant.MdcConstant; import org.jeecg.modules.mdc.entity.MdcMessageApproval; import org.jeecg.modules.mdc.mapper.MdcMessageApprovalMapper; import org.jeecg.modules.mdc.service.IMdcMessageApprovalService; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletRequest; import java.util.List; /** * @Description: mdc消息确认表 @@ -15,4 +21,23 @@ @Service public class MdcMessageApprovalServiceImpl extends ServiceImpl<MdcMessageApprovalMapper, MdcMessageApproval> implements IMdcMessageApprovalService { /** * 别表查询 */ @Override public IPage<MdcMessageApproval> pageList(String userId, Page<MdcMessageApproval> page, MdcMessageApproval mdcMessageApproval, HttpServletRequest req) { IPage<MdcMessageApproval> pageList = this.baseMapper.pageList(userId, page, mdcMessageApproval); List<MdcMessageApproval> mdcMessageApprovalList = pageList.getRecords(); if (mdcMessageApprovalList != null && !mdcMessageApprovalList.isEmpty()) { pageList.getRecords().forEach(item -> { if (item.getSenderIds().contains(userId) && (item.getMsgStatus().equals(MdcConstant.MSG_STATUS_0) || item.getMsgStatus().equals(MdcConstant.MSG_STATUS_3))) { item.setHasProcess(true); } if (item.getSenderIds().contains(userId) && item.getMsgStatus().equals(MdcConstant.MSG_STATUS_1)) { item.setHasConfirm(true); } }); } return pageList; } }