qushaowei
2024-03-13 c127accdddb76d11847f41b5685f5ef5e9e988d7
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/MaintenanceStandardController.java
@@ -13,6 +13,7 @@
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xwpf.usermodel.*;
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.constant.CommonConstant;
@@ -23,6 +24,8 @@
import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.model.MaintenanceCycleVo;
import org.jeecg.modules.eam.service.*;
import org.jeecg.modules.system.entity.*;
import org.jeecg.modules.system.service.*;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
@@ -32,6 +35,7 @@
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@@ -96,6 +100,16 @@
//    private IUploadService uploadService;
    @Autowired
    private ISysBaseAPI sysBaseApi;
    @Autowired
    private ISysUserService sysUserService;
    @Resource
    private ISysRoleService sysRoleService;
    @Resource
    private ISysDictService sysDictService;
    @Resource
    private ISysDictItemService sysDictItemService;
    @Resource
    private ISysUserRoleService sysUserRoleService;
    /**
     * 分页列表查询
@@ -196,6 +210,11 @@
            maintenanceStandardDetail.setPhoto(maintenanceStandardDetail.getPhoto());
            maintenanceStandardDetailService.saveOrUpdate(maintenanceStandardDetail);
        }
        if("2".equals(maintenanceType)){
            this.maintenance2StandardAlert(maintenanceStandard.getApprovalStatus(),maintenanceStandard.getNum());
        }else{
            this.maintenance3StandardAlert(maintenanceStandard.getApprovalStatus(),maintenanceStandard.getNum());
        }
        return Result.OK("添加成功!");
    }
@@ -228,6 +247,11 @@
            }
            maintenanceStandardDetail.setMaintenanceStandardId(maintenanceStandard.getId());
            maintenanceStandardDetailService.saveOrUpdate(maintenanceStandardDetail);
        }
        if("2".equals(maintenanceStandard.getMaintenanceType())){
            this.maintenance2StandardAlert(maintenanceStandard.getApprovalStatus(),maintenanceStandard.getNum());
        }else{
            this.maintenance3StandardAlert(maintenanceStandard.getApprovalStatus(),maintenanceStandard.getNum());
        }
        return Result.OK("编辑成功!");
    }
@@ -704,11 +728,133 @@
        }
        boolean b = maintenanceStandardService.updateById(maintenanceStandard);
        if (b){
            //签审流程消息通知
            if(!"5".equals(approvalStatus)){//已编制
                if("2".equals(maintenanceStandard.getMaintenanceType())){
                    this.maintenance2StandardAlert(approvalStatus,maintenanceStandard.getNum());
                }else{
                    this.maintenance3StandardAlert(approvalStatus,maintenanceStandard.getNum());
                }
            }
            return Result.OK("审核成功!");
        }else{
            return Result.error("审核失败!");
        }
    }
    /**
     *二级保养标准签审流程消息提醒
     * qsw 2024-3-11
     */
    void maintenance2StandardAlert(String approvalStatus,String standardNum){
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false);
        SysDictItem sysDictItem = null;
        String roleDictItem = "";
        if("1".equals(approvalStatus)){//已编制
            roleDictItem = "二级保养标准审核";
            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
                    .eq("item_text","二级保养标准审核")
                    .eq("dict_id",sysDict.getId()),false);
        }else if("2".equals(approvalStatus)){//驳回编制
            roleDictItem = "二级保养标准编制";
            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
                    .eq("item_text","二级保养标准编制")
                    .eq("dict_id",sysDict.getId()),false);
        }else if("3".equals(approvalStatus)){//已审核
            roleDictItem = "二级保养标准审批";
            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
                    .eq("item_text","二级保养标准审批")
                    .eq("dict_id",sysDict.getId()),false);
        }else if("4".equals(approvalStatus)){//驳回审核
            roleDictItem = "二级保养标准审核";
            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
                    .eq("item_text","二级保养标准审核")
                    .eq("dict_id",sysDict.getId()),false);
        }
        String roleCode = sysDictItem.getItemValue();
        SysRole sysRole = sysRoleService.getOne(new QueryWrapper<SysRole>().eq("role_code",roleCode),false);
        List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().eq("role_id",sysRole.getId()));
        for(SysUserRole sysUserRole:sysUserRoles){
            SysUser user = sysUserService.getById(sysUserRole.getUserId());
            String msg = "";
            if("1".equals(approvalStatus)){
                msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的二级保养标准编制成功,请到二级保养标准页面审核!";
            }else if("2".equals(approvalStatus)){
                msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的二级保养标准已驳回,请到二级保养标准页面查看!";
            }else if("3".equals(approvalStatus)){
                msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的二级保养标准审核通过,请到二级保养标准页面审批!";
            }else if("4".equals(approvalStatus)){
                msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的二级保养标准已驳回,请到二级保养标准页面查看!";
            }
            MessageDTO messageDTO = new MessageDTO();
            messageDTO.setTitle("二级保养标准签审消息提醒!");
            messageDTO.setContent(msg);
            messageDTO.setCategory(roleDictItem);
            messageDTO.setFromUser("二级保养标准签审消息提醒提醒小助手");
            messageDTO.setToUser(user.getUsername());
            sysBaseApi.sendSysAnnouncement(messageDTO);
        }
    }
    /**
     *三级保养标准签审流程消息提醒
     * qsw 2024-3-11
     */
    void maintenance3StandardAlert(String approvalStatus,String standardNum){
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false);
        SysDictItem sysDictItem = null;
        String roleDictItem = "";
        if("1".equals(approvalStatus)){//已编制
            roleDictItem = "三级保养标准审核";
            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
                    .eq("item_text","三级保养标准审核")
                    .eq("dict_id",sysDict.getId()),false);
        }else if("2".equals(approvalStatus)){//驳回编制
            roleDictItem = "三级保养标准编制";
            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
                    .eq("item_text","三级保养标准编制")
                    .eq("dict_id",sysDict.getId()),false);
        }else if("3".equals(approvalStatus)){//已审核
            roleDictItem = "三级保养标准审批";
            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
                    .eq("item_text","三级保养标准审批")
                    .eq("dict_id",sysDict.getId()),false);
        }else if("4".equals(approvalStatus)){//驳回审核
            roleDictItem = "三级保养标准审核";
            sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
                    .eq("item_text","三级保养标准审核")
                    .eq("dict_id",sysDict.getId()),false);
        }
        String roleCode = sysDictItem.getItemValue();
        SysRole sysRole = sysRoleService.getOne(new QueryWrapper<SysRole>().eq("role_code",roleCode),false);
        List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().eq("role_id",sysRole.getId()));
        for(SysUserRole sysUserRole:sysUserRoles){
            SysUser user = sysUserService.getById(sysUserRole.getUserId());
            String msg = "";
            if("1".equals(approvalStatus)){
                msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的三级保养标准编制成功,请到三级保养标准页面审核!";
            }else if("2".equals(approvalStatus)){
                msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的三级保养标准已驳回,请到三级保养标准页面查看!";
            }else if("3".equals(approvalStatus)){
                msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的三级保养标准审核通过,请到三级保养标准页面审批!";
            }else if("4".equals(approvalStatus)){
                msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的三级保养标准已驳回,请到三级保养标准页面查看!";
            }
            MessageDTO messageDTO = new MessageDTO();
            messageDTO.setTitle("三级保养标准签审消息提醒!");
            messageDTO.setContent(msg);
            messageDTO.setCategory(roleDictItem);
            messageDTO.setFromUser("三级保养标准签审消息提醒提醒小助手");
            messageDTO.setToUser(user.getUsername());
            sysBaseApi.sendSysAnnouncement(messageDTO);
        }
    }
    // 获取合并单元格的值
    private  String getMergedCellValue(XWPFTableCell cell) {
        // 对于合并单元格,获取第一个段落的文本作为合并单元格的值