Commit fae55be2 authored by duanfuyao's avatar duanfuyao

风险评估消息推送

parent 9385711b
......@@ -9,9 +9,11 @@ import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.domain.BacklogInfo;
import com.ruoyi.system.domain.MessageInfo;
import com.ruoyi.system.service.IMessageInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
......@@ -38,7 +40,7 @@ public class BacklogInfoController extends BaseController {
/**
* 查询待办信息列表
*/
@PreAuthorize("@ss.hasPermi('system:backlogInfo:list')")
// @PreAuthorize("@ss.hasPermi('system:backlogInfo:list')")
@PostMapping("/list")
public TableDataInfo list(BacklogInfo backlogInfo) {
startPage();
......@@ -155,4 +157,16 @@ public class BacklogInfoController extends BaseController {
public AjaxResult remove(@PathVariable String[] ids) {
return toAjax(backlogInfoService.deleteBacklogInfoByIds(ids));
}
/**
* 未读改为已读
*/
@PostMapping("/changeRead")
@ResponseBody
@Transactional
public AjaxResult changeRead(BacklogInfo backlogInfo) {
backlogInfo.setStatus("1");
return toAjax(backlogInfoService.updateBacklogInfo(backlogInfo));
}
}
......@@ -11,15 +11,22 @@ import com.censoft.censoftrongtong.enums.RiskPlanStatusType;
import com.censoft.censoftrongtong.mapper.RiskPlanMapper;
import com.censoft.censoftrongtong.service.*;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.BacklogInfo;
import com.ruoyi.system.mapper.BacklogInfoMapper;
import com.ruoyi.system.mapper.SysDeptMapper;
import com.ruoyi.system.service.ISysUserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 风险计划Service业务层处理
......@@ -49,6 +56,15 @@ public class RiskPlanServiceImpl extends MPJBaseServiceImpl<RiskPlanMapper, Risk
@Resource
private SysDeptMapper sysDeptMapper;
@Resource
private ISysUserService userService;
@Resource
private ICommonMessageInfoService commonMessageInfoService;
@Resource
private BacklogInfoMapper backlogInfoMapper;
/**
* 查询风险计划
*
......@@ -164,6 +180,39 @@ public class RiskPlanServiceImpl extends MPJBaseServiceImpl<RiskPlanMapper, Risk
ledgerProject.setBusinessStatus(riskPlan.getBusinessStatus());
ledgerProject.setPropertyManagement(riskPlan.getPropertyManagement());
ledgerProjectService.updateLedgerProject(ledgerProject);
//TODO 创建之后待办推送
//获取创建人
SysUser createUser = userService.selectUserById(riskPlan.getCreateUserId());
//获取负责人
SysUser leaderUser = userService.selectUserById(riskPlan.getLeaderUserId());
//获取执行人员
String[] workUsers = riskPlan.getWorkUserIds().split(",");
String newUser = String.valueOf(riskPlan.getLeaderUserId());
//使用Stream.concat连接原始用户数组和新用户,然后转换回数组
workUsers = Stream.concat(Arrays.stream(workUsers), Stream.of(newUser))
.toArray(String[]::new);
//消息内容
String content = createUser.getNickName() + "创建了一条名为【" + riskPlan.getName() + "】的风险,请尽快处理!";
for (int j = 0; j < workUsers.length; j++) {
SysUser workUser = userService.selectUserById(Long.valueOf(workUsers[j]));
System.out.println("pid-->"+ riskPlan.getId() + ",manid-->" +riskPlan.getId() + ",backlog_by--?" + workUser.getUserName()
+ ",create_by-->" + createUser.getUserName()
);
commonMessageInfoService.insertBacklogInfo(String.valueOf(riskPlan.getId()), "risk_confirm_sub", String.valueOf(riskPlan.getId()),
"风险评估", "风险",
content, "0", workUser.getUserName(),
"风险评估", "riskTaskList" , "riskTaskList", createUser.getUserName());
//TODO 消息推送
commonMessageInfoService.insertMessageInfo(String.valueOf(riskPlan.getId()) + "", "risk_confirm_sub", "风险评估"
, content
, "0", workUser.getUserName(), "风险评估", "", "riskTaskList", createUser.getUserName());
}
return i;
}
......@@ -259,6 +308,7 @@ public class RiskPlanServiceImpl extends MPJBaseServiceImpl<RiskPlanMapper, Risk
//修改计划状态
riskPlan.setStatus(RiskPlanStatusType.WAIT_RETURN.getStatus());
updateRiskPlan(riskPlan);
}else if(riskPlan.getStatus().equals(RiskPlanStatusType.WAIT_APPROVE.getStatus())){
//插入任务表 已退回组长 风险评估
......@@ -292,6 +342,46 @@ public class RiskPlanServiceImpl extends MPJBaseServiceImpl<RiskPlanMapper, Risk
riskPlanTask1.setStartTime(new Date());
riskPlanTaskService.insertRiskPlanTask(riskPlanTask1);
//TODO 执行结束后 将该评估的待办变更为已读
//获取当前风险评估的ID 的待办信息
BacklogInfo backlogInfo = new BacklogInfo();
backlogInfo.setPid(String.valueOf(riskPlan.getId()));
backlogInfo.setStatus("0");
List<BacklogInfo> backlogInfos = backlogInfoMapper.selectBacklogInfoList(backlogInfo);
for (int i = 0; i < backlogInfos.size(); i++) {
BacklogInfo backlogInfo1 = new BacklogInfo();
backlogInfo1.setPid(String.valueOf(riskPlan.getId()));
backlogInfo1.setStatus("1");
int i1 = backlogInfoMapper.updateBacklogInfoByPid(backlogInfo1);
}
//TODO 审批阶段待办推送
//获取当前人员
LoginUser loginUser = SecurityUtils.getLoginUser();
//获取创建人
SysUser createUser = userService.selectUserById(riskPlan.getCreateUserId());
//获取负责人
SysUser leaderUser = userService.selectUserById(riskPlan.getLeaderUserId());
//消息内容
String content = loginUser.getUsername() + "给您发送了一条名为【" + riskPlan.getName() + "】的风险,请尽快处理!";
System.out.println("pid-->"+ riskPlan.getId() + ",manid-->" +riskPlan.getId() + ",backlog_by--?" + createUser.getUserName()
+ ",create_by-->" + loginUser.getUsername() + "content-->" + content
);
commonMessageInfoService.insertBacklogInfo(String.valueOf(riskPlan.getId()), "risk_confirm_sub", String.valueOf(riskPlan.getId()),
"风险审批", "风险",
content, "0", createUser.getUserName(),
"风险审批", "riskTaskList" , "riskTaskList", loginUser.getUsername());
//TODO 审批阶段消息推送
commonMessageInfoService.insertMessageInfo(String.valueOf(riskPlan.getId()) + "", "risk_confirm_sub", "风险评估"
, content
, "0", createUser.getUserName(), "风险评估", "", "riskTaskList",
loginUser.getUsername());
}else {
//修改计划状态
riskPlan.setStatus(RiskPlanStatusType.FINISH.getStatus());
......@@ -319,6 +409,40 @@ public class RiskPlanServiceImpl extends MPJBaseServiceImpl<RiskPlanMapper, Risk
riskPlanTask2.setApprovalUserId(appApproveDto.getUserId());
riskPlanTaskService.insertRiskPlanTask(riskPlanTask2);
//TODO 执行结束后 将该评估的待办变更为已读
//获取当前风险评估的ID 的待办信息
BacklogInfo backlogInfo = new BacklogInfo();
backlogInfo.setPid(String.valueOf(riskPlan.getId()));
backlogInfo.setStatus("0");
List<BacklogInfo> backlogInfos = backlogInfoMapper.selectBacklogInfoList(backlogInfo);
for (int i = 0; i < backlogInfos.size(); i++) {
BacklogInfo backlogInfo1 = new BacklogInfo();
backlogInfo1.setPid(String.valueOf(riskPlan.getId()));
backlogInfo1.setStatus("1");
int i1 = backlogInfoMapper.updateBacklogInfoByPid(backlogInfo1);
}
//TODO 审批完成消息推送
//获取当前人员
LoginUser loginUser = SecurityUtils.getLoginUser();
//获取负责人
SysUser leaderUser = userService.selectUserById(riskPlan.getLeaderUserId());
//获取执行人员
String[] workUsers = riskPlan.getWorkUserIds().split(",");
String newUser = String.valueOf(riskPlan.getLeaderUserId());
//使用Stream.concat连接原始用户数组和新用户,然后转换回数组
workUsers = Stream.concat(Arrays.stream(workUsers), Stream.of(newUser))
.toArray(String[]::new);
//消息内容
String content = "您有一条名为【" + riskPlan.getName() + "】的风险已完成评估!";
for (int i = 0; i < workUsers.length; i++) {
SysUser workUser = userService.selectUserById(Long.valueOf(workUsers[i]));
commonMessageInfoService.insertMessageInfo(String.valueOf(riskPlan.getId()) + "", "risk_confirm_sub",
"风险评估", content, "0", workUser.getUserName(), "风险评估",
"", "riskTaskList", loginUser.getUsername());
}
}
}
......
......@@ -8,10 +8,17 @@ import com.censoft.censoftrongtong.domain.dto.RiskPlanAppApproveBuildingDto;
import com.censoft.censoftrongtong.domain.dto.RiskPlanAppBuildingListDto;
import com.censoft.censoftrongtong.enums.RiskPlanStatusType;
import com.censoft.censoftrongtong.mapper.RiskPlanUserBuildingMapper;
import com.censoft.censoftrongtong.service.ICommonMessageInfoService;
import com.censoft.censoftrongtong.service.IRiskPlanService;
import com.censoft.censoftrongtong.service.IRiskPlanTaskService;
import com.censoft.censoftrongtong.service.IRiskPlanUserBuildingService;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.system.domain.BacklogInfo;
import com.ruoyi.system.mapper.BacklogInfoMapper;
import com.ruoyi.system.service.ISysUserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
......@@ -38,6 +45,15 @@ public class RiskPlanUserBuildingServiceImpl
@Resource
private IRiskPlanTaskService riskPlanTaskService;
@Resource
private ISysUserService userService;
@Resource
private ICommonMessageInfoService commonMessageInfoService;
@Resource
private BacklogInfoMapper backlogInfoMapper;
@Override
public Long countStatusByPlanIdAndStatus(Long planId, String status) {
......@@ -120,6 +136,44 @@ public class RiskPlanUserBuildingServiceImpl
riskPlanService.updateRiskPlan(riskPlan);
}
//TODO 执行结束后 将该评估的待办变更为已读
//获取当前风险评估的ID 的待办信息
BacklogInfo backlogInfo = new BacklogInfo();
backlogInfo.setPid(String.valueOf(riskPlan.getId()));
backlogInfo.setStatus("0");
List<BacklogInfo> backlogInfos = backlogInfoMapper.selectBacklogInfoList(backlogInfo);
for (int i = 0; i < backlogInfos.size(); i++) {
BacklogInfo backlogInfo1 = new BacklogInfo();
backlogInfo1.setPid(String.valueOf(riskPlan.getId()));
backlogInfo1.setStatus("1");
int i1 = backlogInfoMapper.updateBacklogInfoByPid(backlogInfo1);
}
//TODO 执行阶段待办推送
//获取当前人员
LoginUser loginUser = SecurityUtils.getLoginUser();
//获取创建人
SysUser createUser = userService.selectUserById(riskPlan.getCreateUserId());
//获取负责人
SysUser leaderUser = userService.selectUserById(riskPlan.getLeaderUserId());
//消息内容
String content = loginUser.getUsername() + "给您发送了一条名为【" + riskPlan.getName() + "】的风险,请尽快处理!";
System.out.println("pid-->"+ riskPlan.getId() + ",manid-->" +riskPlan.getId() + ",backlog_by--?" + leaderUser.getUserName()
+ ",create_by-->" + loginUser.getUsername()
);
commonMessageInfoService.insertBacklogInfo(String.valueOf(riskPlan.getId()), "risk_confirm_sub",
String.valueOf(riskPlan.getId()), "风险审批", "风险", content, "0", leaderUser.getUserName(),
"风险审批", "riskTaskList" , "riskTaskList", loginUser.getUsername());
//TODO 审批阶段消息推送
commonMessageInfoService.insertMessageInfo(String.valueOf(riskPlan.getId()) + "", "risk_confirm_sub", "风险评估"
, content, "0", leaderUser.getUserName(), "风险评估", "", "riskTaskList",
loginUser.getUsername());
return 1;
}
......
......@@ -111,7 +111,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
// 过滤请求
.authorizeRequests()
// 对于登录login 注册register 验证码captchaImage 允许匿名访问
.antMatchers("/login","/app-api/login", "/register", "/captchaImage").permitAll()
.antMatchers("/login","/app-api/login", "/register", "/captchaImage","/app-api/system/risk/plan/export/**","/system/risk/plan/export/**").permitAll()
// 静态资源,可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment