diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysRemindService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysRemindService.java index f226c6bf..64c1435a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/ISysRemindService.java +++ b/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 selectUnHandleSysRemindList(Map paraMap); /** - * 通用保存系统提醒详情 - * */ + * 通用保存系统提醒详情 + */ int detailSysRemind(SysRemind sysRemind); /** - * 手动处理系统提醒 - * */ + * 手动处理系统提醒 + */ int updateManualHandleSysRemind(SysRemind sysRemind); + + /** + * 仓库安全库存提醒 + * */ + int warehouseSafetyStockRemind(WarehouseInventoryInquiry warehouseInventoryInquiry); + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysRemindServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysRemindServiceImpl.java index 0e0871bc..01594b21 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/SysRemindServiceImpl.java +++ b/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 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; + } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java index 93b063d7..fe854196 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java +++ b/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); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java index 30684951..01fc93f2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java @@ -170,7 +170,7 @@ public interface SysUserMapper * */ String selectLoginNameByUserName(String businessMembers); - List selectUserAll() throws Exception; + List selectUserAll(); /** * 通过部门id查询该部门下的所有用户 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java index e034ce43..a5e0cc76 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java +++ b/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); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index 1a8d3ddc..8f9e4d73 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -220,7 +220,7 @@ public interface ISysUserService List selectRoleToUserList(String roleKeys); - public List selectUserAll() throws Exception; + public List selectUserAll(); /** * 通过部门id查询该部门下的所有用户 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java index 08765bd9..c9cab7a7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java +++ b/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); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 5347e490..e71d4ffc 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/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 selectUserAll() throws Exception { + public List selectUserAll(){ return userMapper.selectUserAll(); } diff --git a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml index 475cb9f2..45f66250 100644 --- a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -83,8 +83,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - + + + + + insert into sys_dept( dept_id, parent_id,