From 49a85eb98d5555abd3eaa394d52102f900ecdd02 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Sat, 21 Dec 2024 15:20:36 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=20=E9=80=9A=E7=94=A8=E6=8F=90=E9=86=92?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=20=E7=B3=BB=E7=BB=9F=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E6=A0=B9=E6=8D=AE=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E7=BC=96=E5=8F=B7=E6=9F=A5=E8=AF=A2=E9=83=A8=E9=97=A8=E6=96=B9?= =?UTF-8?q?=E6=B3=95=20=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7=E7=9A=84?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=89=80=E6=9C=89=E7=94=A8=E6=88=B7=E7=9A=84?= =?UTF-8?q?=E6=96=B9=E6=B3=95=EF=BC=8C=E5=8E=BB=E6=8E=89=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=A4=84=E7=90=86=20=E6=96=B0=E5=A2=9E=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E5=AE=89=E5=85=A8=E5=BA=93=E5=AD=98=E6=8F=90=E9=86=92=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=8C=E9=80=9A=E8=BF=87=E4=BB=93=E5=BA=93=E5=BA=93?= =?UTF-8?q?=E5=AD=98=E6=9F=A5=E8=AF=A2=E4=BC=A0=E5=85=A5=E7=9A=84=E5=80=BC?= =?UTF-8?q?=EF=BC=8C=E5=88=A4=E6=96=AD=E5=8F=AF=E7=94=A8=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E5=92=8C=E5=AE=89=E5=85=A8=E5=BA=93=E5=AD=98=E6=95=B0=EF=BC=8C?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E5=8F=AF=E7=94=A8=E5=BA=93=E5=AD=98=E5=B0=8F?= =?UTF-8?q?=E4=BA=8E=E5=AE=89=E5=85=A8=E5=BA=93=E5=AD=98=E6=95=B0=EF=BC=8C?= =?UTF-8?q?=E5=B0=B1=E6=8F=90=E9=86=92=E6=95=B4=E4=B8=AA=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E7=9A=84=E6=89=80=E6=9C=89=E4=BA=BA=EF=BC=8C?= =?UTF-8?q?=E6=8F=90=E9=86=92=E5=86=85=E5=AE=B9=E4=B8=BA=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E7=9A=84=E6=96=99=E5=8F=B7=EF=BC=8C=E7=89=A9=E6=96=99=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/ISysRemindService.java | 39 +++++++----- .../service/impl/SysRemindServiceImpl.java | 60 +++++++++++++++++++ .../ruoyi/system/mapper/SysDeptMapper.java | 7 +++ .../ruoyi/system/mapper/SysUserMapper.java | 2 +- .../ruoyi/system/service/ISysDeptService.java | 7 +++ .../ruoyi/system/service/ISysUserService.java | 2 +- .../service/impl/SysDeptServiceImpl.java | 10 ++++ .../service/impl/SysUserServiceImpl.java | 2 +- .../resources/mapper/system/SysDeptMapper.xml | 10 +++- 9 files changed, 119 insertions(+), 20 deletions(-) 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,