Browse Source

[feat] 通用提醒模块

系统部门新增 根据部门编号查询部门方法
修改用户的查询所有用户的方法,去掉异常处理
新增仓库安全库存提醒方法,通过仓库库存查询传入的值,判断可用库存和安全库存数,如果可用库存小于安全库存数,就提醒整个仓库部门的所有人,提醒内容为指定的料号,物料名称;
dev
liuxiaoxu 2 months ago
parent
commit
49a85eb98d
  1. 39
      ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysRemindService.java
  2. 60
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysRemindServiceImpl.java
  3. 7
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
  4. 2
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
  5. 7
      ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
  6. 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
  7. 10
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
  8. 2
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
  9. 10
      ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml

39
ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysRemindService.java

@ -4,18 +4,18 @@ import java.util.List;
import java.util.Map;
import com.ruoyi.system.domain.SysRemind;
import com.ruoyi.warehouse.domain.WarehouseInventoryInquiry;
/**
* 系统提醒Service接口
*
*
* @author 刘晓旭
* @date 2024-12-20
*/
public interface ISysRemindService
{
public interface ISysRemindService {
/**
* 查询系统提醒
*
*
* @param remindId 系统提醒ID
* @return 系统提醒
*/
@ -23,7 +23,7 @@ public interface ISysRemindService
/**
* 查询系统提醒列表
*
*
* @param sysRemind 系统提醒
* @return 系统提醒集合
*/
@ -31,7 +31,7 @@ public interface ISysRemindService
/**
* 新增系统提醒
*
*
* @param sysRemind 系统提醒
* @return 结果
*/
@ -39,7 +39,7 @@ public interface ISysRemindService
/**
* 修改系统提醒
*
*
* @param sysRemind 系统提醒
* @return 结果
*/
@ -47,7 +47,7 @@ public interface ISysRemindService
/**
* 批量删除系统提醒
*
*
* @param ids 需要删除的数据ID
* @return 结果
*/
@ -55,7 +55,7 @@ public interface ISysRemindService
/**
* 删除系统提醒信息
*
*
* @param remindId 系统提醒ID
* @return 结果
*/
@ -63,6 +63,7 @@ public interface ISysRemindService
/**
* 作废系统提醒
*
* @param remindId 系统提醒ID
* @return
*/
@ -70,23 +71,31 @@ public interface ISysRemindService
/**
* 恢复系统提醒
*
* @param remindId 系统提醒ID
* @return
*/
int restoreSysRemindById(Long remindId);
/**
* 查询待处理的提醒项列表
* */
* 查询待处理的提醒项列表
*/
List<SysRemind> selectUnHandleSysRemindList(Map<String, Object> paraMap);
/**
* 通用保存系统提醒详情
* */
* 通用保存系统提醒详情
*/
int detailSysRemind(SysRemind sysRemind);
/**
* 手动处理系统提醒
* */
* 手动处理系统提醒
*/
int updateManualHandleSysRemind(SysRemind sysRemind);
/**
* 仓库安全库存提醒
* */
int warehouseSafetyStockRemind(WarehouseInventoryInquiry warehouseInventoryInquiry);
}

60
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysRemindServiceImpl.java

@ -1,10 +1,18 @@
package com.ruoyi.system.service.impl;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.ruoyi.common.constant.BusinessKeysConstants;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.BusinessException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.system.service.ISysDeptService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.warehouse.domain.WarehouseInventoryInquiry;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.SysRemindMapper;
@ -24,6 +32,12 @@ public class SysRemindServiceImpl implements ISysRemindService
@Autowired
private SysRemindMapper sysRemindMapper;
@Autowired
private ISysUserService sysUserService;
@Autowired
private ISysDeptService sysDeptService;
/**
* 查询系统提醒
*
@ -107,6 +121,8 @@ public class SysRemindServiceImpl implements ISysRemindService
return sysRemindMapper.updateSysRemind(sysRemind);
}
/**
* 通用保存系统详情
* */
@ -162,4 +178,48 @@ public class SysRemindServiceImpl implements ISysRemindService
{
return sysRemindMapper.restoreSysRemindById(remindId);
}
/**
* 仓库安全库存提醒
* */
@Override
public int warehouseSafetyStockRemind(WarehouseInventoryInquiry warehouseInventoryInquiry) {
int insertSysRemind = 0;
String deptNumber = "MFG";
SysDept sysDept = sysDeptService.selectDeptByDeptNumber(deptNumber);
Long deptId = sysDept.getDeptId();
List<SysUser> sysUsers = sysUserService.selectUserByDeptId(deptId);
Integer availableStockNum = warehouseInventoryInquiry.getAvailableStockNum();
Integer safetyStockNum = warehouseInventoryInquiry.getSafetyStockNum();
String materialNo = warehouseInventoryInquiry.getMaterialNo();
String materialName = warehouseInventoryInquiry.getMaterialName();
if (availableStockNum < safetyStockNum) {
for (SysUser sysUser : sysUsers) {
// 提醒
SysRemind sysRemind = new SysRemind();
sysRemind.setReceiverUserId(sysUser.getUserId());
sysRemind.setReceiverUser(sysUser.getLoginName());
sysRemind.setReceiverDeptId(deptId);
sysRemind.setRemindContent("物料编号:" + materialNo + "物料名称:" + materialName + "库存数量:" + availableStockNum + "安全库存数量:" + safetyStockNum + ",库存数量低于安全库存数量,请及时处理!");
sysRemind.setRemindTime(new Date());
sysRemind.setModule(BusinessKeysConstants.WAREHOUSE_INQUIRY);
sysRemind.setModuleUrl("warehouse/inventoryInquiry");
sysRemind.setIsView("0");
sysRemind.setIsHandle("0");
sysRemind.setCreateBy(ShiroUtils.getLoginName());
sysRemind.setCreateTime(DateUtils.getNowDate());
insertSysRemind += sysRemindMapper.insertSysRemind(sysRemind);
if (insertSysRemind <= 0) {
throw new BusinessException("插入系统提醒失败,未影响任何行");
}
}
}
return insertSysRemind;
}
}

7
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java

@ -114,4 +114,11 @@ public interface SysDeptMapper
* @return 子部门数
*/
public int selectNormalChildrenDeptById(Long deptId);
/**
* 根据部门编号查询部门
* @param deptNumber 部门编号
* @return 部门信息
*/
SysDept selectDeptByDeptNumber(String deptNumber);
}

2
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java

@ -170,7 +170,7 @@ public interface SysUserMapper
* */
String selectLoginNameByUserName(String businessMembers);
List<SysUser> selectUserAll() throws Exception;
List<SysUser> selectUserAll();
/**
* 通过部门id查询该部门下的所有用户

7
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java

@ -107,4 +107,11 @@ public interface ISysDeptService
* @return 结果
*/
public String checkDeptNameUnique(SysDept dept);
/**
* 根据部门编号查询部门
* @param deptNumber 部门编号
* @return 部门信息
*/
SysDept selectDeptByDeptNumber(String deptNumber);
}

2
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java

@ -220,7 +220,7 @@ public interface ISysUserService
List<SysUser> selectRoleToUserList(String roleKeys);
public List<SysUser> selectUserAll() throws Exception;
public List<SysUser> selectUserAll();
/**
* 通过部门id查询该部门下的所有用户

10
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java

@ -311,4 +311,14 @@ public class SysDeptServiceImpl implements ISysDeptService
}
return UserConstants.DEPT_NAME_UNIQUE;
}
/**
* 根据部门编号查询部门
* @param deptNumber 部门编号
* @return 部门信息
*/
@Override
public SysDept selectDeptByDeptNumber(String deptNumber) {
return deptMapper.selectDeptByDeptNumber(deptNumber);
}
}

2
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@ -547,7 +547,7 @@ public class SysUserServiceImpl implements ISysUserService
return userMapper.selectRoleToUserList(Convert.toStrArray(roleKeys));
}
@Override
public List<SysUser> selectUserAll() throws Exception {
public List<SysUser> selectUserAll(){
return userMapper.selectUserAll();
}

10
ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml

@ -83,8 +83,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectNormalChildrenDeptById" parameterType="Long" resultType="int">
select count(*) from sys_dept where status = 0 and del_flag = '0' and find_in_set(#{deptId}, ancestors)
</select>
<insert id="insertDept" parameterType="SysDept">
<select id="selectDeptByDeptNumber" parameterType="String" resultMap="SysDeptResult">
<include refid="selectDeptVo"/>
where d.dept_number=#{deptNumber} and d.del_flag = '0'
</select>
<insert id="insertDept" parameterType="SysDept">
insert into sys_dept(
<if test="deptId != null and deptId != 0">dept_id,</if>
<if test="parentId != null and parentId != 0">parent_id,</if>

Loading…
Cancel
Save