逐级短信审批催办
This commit is contained in:
parent
2b20d72d13
commit
2e6db070e9
|
|
@ -1,6 +1,8 @@
|
|||
package com.bonus.sgzb.system.api;
|
||||
|
||||
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.sgzb.system.api.domain.SysUser;
|
||||
import com.bonus.sgzb.system.api.domain.UrgentProcessingUser;
|
||||
import com.bonus.sgzb.system.api.factory.RemoteUserFallbackFactory;
|
||||
import com.bonus.sgzb.system.api.model.LoginUser;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
|
|
@ -84,4 +86,13 @@ public interface RemoteUserService
|
|||
*/
|
||||
@GetMapping("/user/getUserList")
|
||||
public R<List<SysUser>> getUserList(@RequestBody SysUser sysUser, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
||||
|
||||
/**
|
||||
* 通过任务状态获取下一级审批人的信息
|
||||
*
|
||||
* @param urgentProcessingUser
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/urgentProcessingUser")
|
||||
public AjaxResult urgentProcessingUser(@RequestBody UrgentProcessingUser urgentProcessingUser);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package com.bonus.sgzb.system.domain.po;
|
||||
package com.bonus.sgzb.system.api.domain;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
|
|
@ -5,8 +5,8 @@ import cn.hutool.core.convert.Convert;
|
|||
import cn.hutool.core.util.PhoneUtil;
|
||||
import com.bonus.sgzb.app.domain.*;
|
||||
import com.bonus.sgzb.app.service.*;
|
||||
import com.bonus.sgzb.base.api.domain.MaType;
|
||||
import com.bonus.sgzb.base.service.ITypeService;
|
||||
import com.bonus.sgzb.common.core.enums.TaskStatusEnum;
|
||||
import com.bonus.sgzb.common.core.utils.ListPagingUtil;
|
||||
import com.bonus.sgzb.common.core.utils.ServletUtils;
|
||||
import com.bonus.sgzb.common.core.utils.StringUtils;
|
||||
|
|
@ -17,17 +17,20 @@ import com.bonus.sgzb.common.core.web.page.TableDataInfo;
|
|||
import com.bonus.sgzb.common.log.annotation.Log;
|
||||
import com.bonus.sgzb.common.log.enums.BusinessType;
|
||||
import com.bonus.sgzb.common.security.utils.SecurityUtils;
|
||||
import com.bonus.sgzb.system.api.RemoteUserService;
|
||||
import com.bonus.sgzb.system.api.domain.SysUser;
|
||||
import com.bonus.sgzb.system.api.domain.UrgentProcessingUser;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static com.bonus.sgzb.common.core.web.page.TableSupport.PAGE_NUM;
|
||||
import static com.bonus.sgzb.common.core.web.page.TableSupport.PAGE_SIZE;
|
||||
|
|
@ -39,6 +42,7 @@ import static com.bonus.sgzb.common.core.web.page.TableSupport.PAGE_SIZE;
|
|||
*/
|
||||
@RestController
|
||||
@RequestMapping("/tm_task")
|
||||
@Slf4j
|
||||
public class TmTaskController extends BaseController {
|
||||
|
||||
/**
|
||||
|
|
@ -62,6 +66,9 @@ public class TmTaskController extends BaseController {
|
|||
@Resource
|
||||
private ITypeService iTypeService;
|
||||
|
||||
@Resource
|
||||
private RemoteUserService remoteUserService;
|
||||
|
||||
|
||||
/**
|
||||
* 领料审核通过,分公司,分管,机具分公司统一接口
|
||||
|
|
@ -263,6 +270,37 @@ public class TmTaskController extends BaseController {
|
|||
} else {
|
||||
return AjaxResult.error("创建任务失败");
|
||||
}
|
||||
UrgentProcessingUser urgentProcessingUser = new UrgentProcessingUser();
|
||||
urgentProcessingUser.setCompanyId(Long.valueOf(task.getCompanyId()));
|
||||
urgentProcessingUser.setTaskTypeId(task.getTaskType());
|
||||
urgentProcessingUser.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
|
||||
switch (task.getTaskStatus()) {
|
||||
case 30:
|
||||
urgentProcessingUser.setTaskStatus(TaskStatusEnum.STAY_BRANCH_AUDIT.getInfo());
|
||||
break;
|
||||
case 31:
|
||||
urgentProcessingUser.setTaskStatus(TaskStatusEnum.STAY_RESPONSIBLE_DEPARTMENT_AUDIT.getInfo());
|
||||
break;
|
||||
case 32:
|
||||
urgentProcessingUser.setTaskStatus(TaskStatusEnum.STAY_INTERNAL_AUDIT.getInfo());
|
||||
break;
|
||||
}
|
||||
AjaxResult ajaxResult = remoteUserService.urgentProcessingUser(urgentProcessingUser);
|
||||
if (ajaxResult.isSuccess()) {
|
||||
List<SysUser> userList = (List<SysUser>) ajaxResult.get("data");
|
||||
String message ="尊敬的用户,宁夏智慧仓储管理系统提醒您:您有一个领料单号为:"+ code +"的领料申请待处理,请及时查看";
|
||||
if (CollectionUtils.isNotEmpty(userList)) {
|
||||
for (SysUser sysUser : userList) {
|
||||
if (StringUtils.isNotBlank(sysUser.getPhonenumber())) {
|
||||
try {
|
||||
remoteUserService.send(sysUser.getPhonenumber(), message);
|
||||
} catch (Exception e) {
|
||||
log.info("手机号为:{}, 发送短信失败", sysUser.getPhonenumber());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return AjaxResult.success("任务创建成功");
|
||||
} catch (Exception e) {
|
||||
return AjaxResult.error("创建任务失败," + e.getCause().toString() + "," + e.getMessage());
|
||||
|
|
|
|||
|
|
@ -13,12 +13,16 @@ import com.bonus.sgzb.base.api.domain.BmFlowRecord;
|
|||
import com.bonus.sgzb.base.api.domain.BmFlowRelation;
|
||||
import com.bonus.sgzb.common.core.constant.Constants;
|
||||
import com.bonus.sgzb.common.core.domain.R;
|
||||
import com.bonus.sgzb.common.core.enums.TaskStatusEnum;
|
||||
import com.bonus.sgzb.common.core.utils.DateUtils;
|
||||
import com.bonus.sgzb.common.core.utils.StringUtils;
|
||||
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.sgzb.common.security.utils.SecurityUtils;
|
||||
import com.bonus.sgzb.system.api.RemoteUserService;
|
||||
import com.bonus.sgzb.system.api.domain.SysUser;
|
||||
import com.bonus.sgzb.system.api.domain.UrgentProcessingUser;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
|
@ -191,6 +195,7 @@ public class TmTaskServiceImpl implements TmTaskService {
|
|||
}
|
||||
}
|
||||
}
|
||||
sendMessageToLeader(record);
|
||||
} else {
|
||||
// 先审核任务表
|
||||
result += tmTaskMapper.updateTmTaskAuditStatus(record);
|
||||
|
|
@ -214,6 +219,7 @@ public class TmTaskServiceImpl implements TmTaskService {
|
|||
}
|
||||
}
|
||||
}
|
||||
sendMessageToLeader(record);
|
||||
}
|
||||
} else {
|
||||
return 0;
|
||||
|
|
@ -222,6 +228,45 @@ public class TmTaskServiceImpl implements TmTaskService {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* 领料申请审批逐级发送短信通知相关人员审核方法抽取
|
||||
* @param record
|
||||
*/
|
||||
private void sendMessageToLeader(TmTask record) {
|
||||
UrgentProcessingUser urgentProcessingUser = new UrgentProcessingUser();
|
||||
urgentProcessingUser.setCompanyId(Long.valueOf(record.getCompanyId()));
|
||||
urgentProcessingUser.setDeptId(SecurityUtils.getLoginUser().getSysUser().getDeptId());
|
||||
urgentProcessingUser.setTaskTypeId(record.getTaskType());
|
||||
switch (record.getTaskStatus()) {
|
||||
case 30:
|
||||
urgentProcessingUser.setTaskStatus(TaskStatusEnum.STAY_BRANCH_AUDIT.getInfo());
|
||||
break;
|
||||
case 31:
|
||||
urgentProcessingUser.setTaskStatus(TaskStatusEnum.STAY_RESPONSIBLE_DEPARTMENT_AUDIT.getInfo());
|
||||
break;
|
||||
case 32:
|
||||
urgentProcessingUser.setTaskStatus(TaskStatusEnum.STAY_INTERNAL_AUDIT.getInfo());
|
||||
break;
|
||||
}
|
||||
AjaxResult ajaxResult = remoteUserService.urgentProcessingUser(urgentProcessingUser);
|
||||
if (ajaxResult.isSuccess()) {
|
||||
List<SysUser> userList = (List<SysUser>) ajaxResult.get("data");
|
||||
log.info("查询到待发送短信人员信息为:{}", userList);
|
||||
String message ="尊敬的用户,宁夏智慧仓储管理系统提醒您:您有一个领料单号为:"+ record.getCode() +"的领料申请待处理,请及时查看";
|
||||
if (CollectionUtils.isNotEmpty(userList)) {
|
||||
for (SysUser sysUser : userList) {
|
||||
if (StringUtils.isNotBlank(sysUser.getPhonenumber())) {
|
||||
try {
|
||||
remoteUserService.send(sysUser.getPhonenumber(), message);
|
||||
} catch (Exception e) {
|
||||
log.info("手机号为:{}, 发送短信失败", sysUser.getPhonenumber());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void smsNotification(LeaseApplyDetails details, String code) {
|
||||
TmTask tmTask = new TmTask();
|
||||
tmTask.setId(details.getParenntId().toString());
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import com.bonus.sgzb.system.api.domain.SysRole;
|
|||
import com.bonus.sgzb.system.api.domain.SysUser;
|
||||
import com.bonus.sgzb.system.api.model.LoginUser;
|
||||
import com.bonus.sgzb.system.config.RsaUtil;
|
||||
import com.bonus.sgzb.system.domain.po.UrgentProcessingUser;
|
||||
import com.bonus.sgzb.system.api.domain.UrgentProcessingUser;
|
||||
import com.bonus.sgzb.system.service.*;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
|
|
|||
|
|
@ -4,9 +4,8 @@ import java.util.List;
|
|||
|
||||
import com.bonus.sgzb.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.sgzb.system.api.domain.SysUser;
|
||||
import com.bonus.sgzb.system.domain.po.UrgentProcessingUser;
|
||||
import com.bonus.sgzb.system.api.domain.UrgentProcessingUser;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* 用户 业务层
|
||||
|
|
|
|||
|
|
@ -1,9 +1,7 @@
|
|||
package com.bonus.sgzb.system.service.impl;
|
||||
|
||||
import com.bonus.sgzb.common.core.constant.UserConstants;
|
||||
import com.bonus.sgzb.common.core.enums.RoleEnum;
|
||||
import com.bonus.sgzb.common.core.enums.TaskStatusEnum;
|
||||
import com.bonus.sgzb.common.core.enums.TaskTypeEnum;
|
||||
import com.bonus.sgzb.common.core.exception.ServiceException;
|
||||
import com.bonus.sgzb.common.core.utils.SpringUtils;
|
||||
import com.bonus.sgzb.common.core.utils.StringUtils;
|
||||
|
|
@ -17,14 +15,13 @@ import com.bonus.sgzb.system.api.domain.SysUser;
|
|||
import com.bonus.sgzb.system.domain.SysPost;
|
||||
import com.bonus.sgzb.system.domain.SysUserPost;
|
||||
import com.bonus.sgzb.system.domain.SysUserRole;
|
||||
import com.bonus.sgzb.system.domain.po.UrgentProcessingUser;
|
||||
import com.bonus.sgzb.system.api.domain.UrgentProcessingUser;
|
||||
import com.bonus.sgzb.system.exception.SystemException;
|
||||
import com.bonus.sgzb.system.mapper.*;
|
||||
import com.bonus.sgzb.system.service.ISysConfigService;
|
||||
import com.bonus.sgzb.system.service.ISysUserService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
|
@ -32,7 +29,6 @@ import org.springframework.util.CollectionUtils;
|
|||
import javax.annotation.Resource;
|
||||
import javax.validation.Validator;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
|
@ -565,13 +561,13 @@ public class SysUserServiceImpl implements ISysUserService {
|
|||
@Override
|
||||
public AjaxResult urgentProcessingUser(UrgentProcessingUser urgentProcessingUser) {
|
||||
log.info("ToDoServiceImpl urgentProcessingUser {} begin" ,urgentProcessingUser);
|
||||
List<SysUser> userList = new ArrayList<>();
|
||||
SysUser sysUser = new SysUser();
|
||||
sysUser.setDeptId(urgentProcessingUser.getDeptId());
|
||||
// 验证是否为空
|
||||
if (urgentProcessingUser == null || urgentProcessingUser.getTaskStatus() == null) {
|
||||
throw new ServiceException(SystemException.TASK_ID_IS_EMPTY_MSG,SystemException.TASK_ID_IS_EMPTY);
|
||||
}
|
||||
List<SysUser> userList = new ArrayList<>();
|
||||
SysUser sysUser = new SysUser();
|
||||
sysUser.setDeptId(urgentProcessingUser.getDeptId());
|
||||
switch (urgentProcessingUser.getTaskTypeId()){
|
||||
//领料任务
|
||||
case 29:
|
||||
|
|
|
|||
Loading…
Reference in New Issue