领料催办任务

This commit is contained in:
15856 2024-06-14 17:33:27 +08:00
parent c03ce8ee88
commit 21b5304490
9 changed files with 215 additions and 12 deletions

View File

@ -13,10 +13,40 @@ public enum TaskTypeEnum {
* 退料待报废
*/
REPAIR_TO_BE_SCRAPPED(21, "维修待报废"),
/**
*新购任务
*/
NEW_PURCHASE_TASK(23, "新购任务"),
/**
*领料任务
*/
MATERIAL_REQUISITION_TASK(29, "领料任务"),
/**
*退料任务
*/
MATERIAL_RETURN_TASK(36, "退料任务"),
/**
*维修任务
*/
MAINTENANCE_TASK(41, "维修任务"),
/**
*维修审核
*/
MAINTENANCE_REVIEW(45, "维修审核"),
/**
*修试后入库任务
*/
INVENTORY_TASK(50, "修试后入库任务"),
/**
*新购配件任务
*/
NEW_ACCESSORY_PURCHASE_TASK(67, "新购配件任务"),
/**
* 报废任务
*/

View File

@ -4,6 +4,7 @@ import com.bonus.sgzb.common.core.annotation.Excel;
import com.bonus.sgzb.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.models.auth.In;
import lombok.Data;
import java.util.Date;
@ -73,4 +74,9 @@ public class ToDoBean extends BaseEntity {
*/
private String endTime;
/**
* 数据所属组织
*/
private Integer companyId;
}

View File

@ -85,7 +85,6 @@ public class ToDoServiceImpl implements ToDoService {
for (BmNoticeInfo bmNoticeInfo : bmNoticeInfoList) {
bmNoticeInfo.setContent(message);
bmNoticeInfo.setTaskId(taskId);
bmNoticeInfo.setModelName(bmNoticeInfo.getModelName());
bmNoticeInfo.setCreateTime(new Date());
String phone = bmNoticeInfo.getPhone();
try {

View File

@ -13,6 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
sd.`name` as taskEvent,
us.user_name as createName,
tt.create_by as createBy,
tt.company_id as companyId,
tt.create_time as createTime
FROM
tm_task tt

View File

@ -9,4 +9,24 @@ public class UrgentProcessingUser {
* 任务状态
*/
private String taskStatus;
/**
* 任务类型
*/
private Integer taskTypeId;
/**
* 创建人
*/
private Long createBy;
/**
* 数据所属组织
*/
private Long companyId;
/**
* 部门id
*/
private Long deptId;
}

View File

@ -132,4 +132,12 @@ public interface SysUserMapper
* @return 结果
*/
List<SysUser> selectUserByRole(SysUser sysUser);
List<SysUser> selectUserByDeptId(SysUser sysUser);
List<SysUser> selectUserBySgb();
List<SysUser> selectUserByEm();
List<SysUser> selectUserByDm();
}

View File

@ -118,7 +118,7 @@ public class SysSmsServiceImpl implements ISysSmsService {
// String URL = "http://106.ihuyi.common/webservice/sms.php?method=Submit";
String content = URL + "&mobile=" + phone + "&content=【智慧仓储】" + msg + "";
String body = HttpRequest.post(content).execute(false).body();
System.out.println("发送手机号码:" + phone + ",内容:" + msg + ",返回结果:" + body);
// System.out.println("发送手机号码:" + phone + ",内容:" + msg + ",返回结果:" + body);
if (body == null || !body.contains(GlobalConstants.STRING_OK)) {
return AjaxResult.error("发送失败");
}

View File

@ -3,6 +3,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;
@ -565,21 +566,53 @@ public class SysUserServiceImpl implements ISysUserService {
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);
}
//判断当前催办任务的状态获取需要催办人的信息
if(TaskStatusEnum.STAY_BRANCH_AUDIT.getInfo().equals(urgentProcessingUser.getTaskStatus())){//待分公司审核
sysUser.setRoleId(RoleEnum.BRANCH_OFFICES.getCode());
//TODO 后期逻辑需要待确认
}else if (TaskStatusEnum.STAY_RESPONSIBLE_DEPARTMENT_AUDIT.getInfo().equals(urgentProcessingUser.getTaskStatus())) {//待分管部门审核
sysUser.setRoleId(RoleEnum.CONSTRUCTION_MANAGEMENT_DEPARTMENT.getCode());
}else if (TaskStatusEnum.STAY_INTERNAL_AUDIT.getInfo().equals(urgentProcessingUser.getTaskStatus())) {//待内部审核
sysUser.setRoleId(RoleEnum.MACHINERY_BRANCH.getCode());
switch (urgentProcessingUser.getTaskTypeId()){
//领料任务
case 29:
userList = materialRequisitionTask(urgentProcessingUser,sysUser);
break;
}
userList = userMapper.selectUserByRole(sysUser);
log.info("ToDoServiceImpl urgentProcessingUser {} end" ,urgentProcessingUser);
log.info("ToDoServiceImpl urgentProcessingUser end !");
return success(userList);
}
/**
* 领料任务催办
* @param urgentProcessingUser
* @param sysUser
* @return
*/
private List<SysUser> materialRequisitionTask(UrgentProcessingUser urgentProcessingUser,SysUser sysUser) {
List<SysUser> userList = new ArrayList<>();
//判断当前设备是否是机具设备101机具设备102调试设备
if (urgentProcessingUser.getCompanyId().equals(101L)){
//判断当前审批阶段获取下一阶段需要催办的人员信息
if(TaskStatusEnum.STAY_BRANCH_AUDIT.getInfo().equals(urgentProcessingUser.getTaskStatus())){
//获取创建人同一公司经理信息
userList = userMapper.selectUserByDeptId(sysUser);
}else if (TaskStatusEnum.STAY_RESPONSIBLE_DEPARTMENT_AUDIT.getInfo().equals(urgentProcessingUser.getTaskStatus())) {
//获取施管部经理信息
userList = userMapper.selectUserBySgb();
}else if (TaskStatusEnum.STAY_INTERNAL_AUDIT.getInfo().equals(urgentProcessingUser.getTaskStatus())) {
//获取机具经理和机具副经理的信息
userList = userMapper.selectUserByEm();
}
//当为调试设备时只需要分公司审核和内部审核
} else if (urgentProcessingUser.getCompanyId().equals(102L)) {
if(TaskStatusEnum.STAY_BRANCH_AUDIT.getInfo().equals(urgentProcessingUser.getTaskStatus())){
//获取创建人同一公司经理信息
userList = userMapper.selectUserByDeptId(sysUser);
}else if (TaskStatusEnum.STAY_INTERNAL_AUDIT.getInfo().equals(urgentProcessingUser.getTaskStatus())) {
//获取调试经理和机具副经理的信息
userList = userMapper.selectUserByDm();
}
}
return userList;
}
}

View File

@ -168,7 +168,113 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND u.del_flag = '0'
AND sur.role_id IN (133,134)
</select>
<select id="selectUserByDeptId" resultType="com.bonus.sgzb.system.api.domain.SysUser">
SELECT DISTINCT
u.user_id,
u.dept_id,
u.nick_name as userName,
u.email,
u.avatar,
u.phonenumber,
u.sex,
u.STATUS,
u.del_flag,
u.login_ip,
u.login_date,
u.create_by,
u.create_time,
u.remark
FROM
sys_user u
LEFT JOIN sys_user_role sur ON u.user_id = sur.user_id
left join sys_role sr on sur.role_id = sr.role_id
WHERE
u.STATUS = '0'
AND u.del_flag = '0'
AND u.dept_id = #{deptId}
AND sr.role_id IN (127,128,135,138,147,149)
</select>
<select id="selectUserBySgb" resultType="com.bonus.sgzb.system.api.domain.SysUser">
SELECT DISTINCT
u.user_id,
u.dept_id,
u.nick_name as userName,
u.email,
u.avatar,
u.phonenumber,
u.sex,
u.STATUS,
u.del_flag,
u.login_ip,
u.login_date,
u.create_by,
u.create_time,
u.remark
FROM
sys_user u
LEFT JOIN sys_user_role sur ON u.user_id = sur.user_id
left join sys_role sr on sur.role_id = sr.role_id
WHERE
u.STATUS = '0'
AND u.del_flag = '0'
AND sr.role_id ='147'
</select>
<select id="selectUserByEm" resultType="com.bonus.sgzb.system.api.domain.SysUser">
SELECT DISTINCT
u.user_id,
u.dept_id,
u.nick_name as userName,
u.email,
u.avatar,
u.phonenumber,
u.sex,
u.STATUS,
u.del_flag,
u.login_ip,
u.login_date,
u.create_by,
u.create_time,
u.remark
FROM
sys_user u
LEFT JOIN sys_user_role sur ON u.user_id = sur.user_id
left join sys_role sr on sur.role_id = sr.role_id
WHERE
u.STATUS = '0'
AND u.del_flag = '0'
AND sr.role_id IN (127,128)
</select>
<select id="selectUserByDm" resultType="com.bonus.sgzb.system.api.domain.SysUser">
SELECT DISTINCT
u.user_id,
u.dept_id,
u.nick_name as userName,
u.email,
u.avatar,
u.phonenumber,
u.sex,
u.STATUS,
u.del_flag,
u.login_ip,
u.login_date,
u.create_by,
u.create_time,
u.remark
FROM
sys_user u
LEFT JOIN sys_user_role sur ON u.user_id = sur.user_id
left join sys_role sr on sur.role_id = sr.role_id
WHERE
u.STATUS = '0'
AND u.del_flag = '0'
AND sr.role_id IN (135,136)
</select>
<insert id="insertUser" parameterType="com.bonus.sgzb.system.api.domain.SysUser" useGeneratedKeys="true" keyProperty="userId">
insert into sys_user(
<if test="userId != null and userId != 0">user_id,</if>