仓库管理修改

liweidong
wusiyu 1 day ago
parent 7f36905454
commit 82f351ba97
  1. 7
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/constant/BizTypeConstant.java
  2. 42
      blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StRealtimeStockServiceImpl.java

@ -20,4 +20,11 @@ public interface BizTypeConstant {
String SET_SUITE_FLOW = "齐套流转";
String INVENTORY_WRITE_OFF = "库存报废";
String LOW_STOCK_ALERT = "低库存预警";
String MOLD_LOW_STOCK_SUPPLEMENT = "模具低库存补制";
String GLASS_CAKE_LOW_STOCK_SUPPLEMENT = "玻璃饼低库存补制";
}

@ -15,12 +15,13 @@ import org.springblade.common.exception.BusinessException;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.desk.common.constant.BizTypeConstant;
import org.springblade.desk.common.feign.IMesNotifyMessageClient;
import org.springblade.desk.common.pojo.entity.MesNotifyMessageEntity;
import org.springblade.desk.order.feign.IMoldDemandClient;
import org.springblade.desk.order.feign.IOrderClient;
import org.springblade.desk.order.pojo.enums.MoldDemandEnum;
import org.springblade.system.feign.ISysClient;
import org.springblade.wms.excel.StRealtimeStockExcel;
import org.springblade.wms.mapper.*;
import org.springblade.wms.pojo.entity.*;
@ -81,6 +82,8 @@ public class StRealtimeStockServiceImpl extends BaseServiceImpl<StRealtimeStockM
@Resource
private IOrderClient orderClient;
@Resource
private ISysClient sysClient;
@Resource
private RedisTemplate<String, Object> redisTemplate;
// 7天过期时间(秒)
@ -608,8 +611,12 @@ public class StRealtimeStockServiceImpl extends BaseServiceImpl<StRealtimeStockM
log.info(warnMsg);
MesNotifyMessageEntity notifyMessage = new MesNotifyMessageEntity();
notifyMessage.setBizType(BizTypeConstant.LOW_STOCK_ALERT);
notifyMessage.setTitle("低库存预警");
notifyMessage.setContent(warnMsg);
notifyMessage.setReceiveUserId(AuthUtil.getUserId());
String roleId = sysClient.getRoleIds("000000","仓库保管员").getData();
notifyMessage.setReceiveRoleId(Long.valueOf(roleId));
notifyMessage.setReceiveRoleName("仓库保管员");
mesNotifyMessageClient.save(notifyMessage);
// 4.1 获取物料类别名称
// String goodsCategoryName = null;
@ -717,10 +724,7 @@ public class StRealtimeStockServiceImpl extends BaseServiceImpl<StRealtimeStockM
reissueMsg = String.format("物料编码:%s 名称:%s(类别:%s)触发【物料出库】补制!出库数量:%.2f,开始生成模具补制单",
stGoods.getGoodsCode(), stGoods.getGoodsName(), goodsCategoryName, outQuantity);
log.info(reissueMsg);
MesNotifyMessageEntity notifyMessage = new MesNotifyMessageEntity();
notifyMessage.setContent(reissueMsg);
notifyMessage.setReceiveUserId(AuthUtil.getUserId());
mesNotifyMessageClient.save(notifyMessage);
// 执行模具类物料出库补制
moldDemandClient.saveMoldDemand(stGoods.getGoodsCode(), MoldDemandEnum.BUSINESS_TYPE_INVENTORY_REPLENISH.getName(), MoldDemandEnum.MAF_TYPE_STORE.getCode());
@ -728,10 +732,7 @@ public class StRealtimeStockServiceImpl extends BaseServiceImpl<StRealtimeStockM
reissueMsg = String.format("物料编码:%s 名称:%s(类别:%s)触发【物料出库】补制!出库数量:%.2f,开始生成玻璃饼补制单",
stGoods.getGoodsCode(), stGoods.getGoodsName(), goodsCategoryName, outQuantity);
log.info(reissueMsg);
MesNotifyMessageEntity notifyMessage = new MesNotifyMessageEntity();
notifyMessage.setContent(reissueMsg);
notifyMessage.setReceiveUserId(AuthUtil.getUserId());
mesNotifyMessageClient.save(notifyMessage);
// 执行玻璃饼类物料出库补制
orderClient.createBlbYieldOrder(stGoods.getGoodsCode(),stGoods.getMinNum(),"仓库补制计划");
@ -739,10 +740,7 @@ public class StRealtimeStockServiceImpl extends BaseServiceImpl<StRealtimeStockM
reissueMsg = String.format("物料编码:%s 类别为%s,暂未配置【物料出库】补制逻辑,跳过补制",
stGoods.getGoodsCode(), goodsCategoryName);
log.info(reissueMsg);
MesNotifyMessageEntity notifyMessage = new MesNotifyMessageEntity();
notifyMessage.setContent(reissueMsg);
notifyMessage.setReceiveUserId(AuthUtil.getUserId());
mesNotifyMessageClient.save(notifyMessage);
}
return reissueMsg;
}
@ -768,12 +766,16 @@ public class StRealtimeStockServiceImpl extends BaseServiceImpl<StRealtimeStockM
// 按物料类别执行专属补制方法
if ("模具类".equals(goodsCategoryName)) {
String key = REDIS_KEY_MOLD + goodsCode;
reissueMsg = String.format("物料编码:%s 名称:%s(类别:%s)触发【最低库存】补制!当前库存:%.2f,最低库存:%.2f,开始生成模具采购计划",
reissueMsg = String.format("物料编码:%s 名称:%s(类别:%s)触发【最低库存】补制!生成模具采购计划",
goodsCode, stGoods.getGoodsName(), goodsCategoryName, currentStock, minStock);
log.info(reissueMsg);
MesNotifyMessageEntity notifyMessage = new MesNotifyMessageEntity();
notifyMessage.setBizType(BizTypeConstant.MOLD_LOW_STOCK_SUPPLEMENT);
notifyMessage.setTitle("模具低库存补制提醒");
notifyMessage.setContent(reissueMsg);
notifyMessage.setReceiveUserId(AuthUtil.getUserId());
String roleId = sysClient.getRoleIds("000000","烧结调度员").getData();
notifyMessage.setReceiveRoleId(Long.valueOf(roleId));
notifyMessage.setReceiveRoleName("烧结调度员");
mesNotifyMessageClient.save(notifyMessage);
// 执行模具类最低库存补制
moldDemandClient.saveMoldDemand(stGoods.getGoodsCode(), MoldDemandEnum.BUSINESS_TYPE_INVENTORY_REPLENISH.getName(), MoldDemandEnum.MAF_TYPE_STORE.getCode());
@ -782,12 +784,16 @@ public class StRealtimeStockServiceImpl extends BaseServiceImpl<StRealtimeStockM
} else if ("玻璃饼".equals(goodsCategoryName)) {
String key = REDIS_KEY_GLASS + goodsCode;
reissueMsg = String.format("物料编码:%s 名称:%s(类别:%s)触发【最低库存】补制!当前库存:%.2f,最低库存:%.2f,开始生成玻璃饼生产订单",
reissueMsg = String.format("物料编码:%s 名称:%s(类别:%s)触发【最低库存】补制!生成玻璃饼生产订单",
goodsCode, stGoods.getGoodsName(), goodsCategoryName, currentStock, minStock);
log.info(reissueMsg);
MesNotifyMessageEntity notifyMessage = new MesNotifyMessageEntity();
notifyMessage.setBizType(BizTypeConstant.GLASS_CAKE_LOW_STOCK_SUPPLEMENT);
notifyMessage.setTitle("玻璃饼低库存补制提醒");
notifyMessage.setContent(reissueMsg);
notifyMessage.setReceiveUserId(AuthUtil.getUserId());
String roleId = sysClient.getRoleIds("000000","烧结调度员").getData();
notifyMessage.setReceiveRoleId(Long.valueOf(roleId));
notifyMessage.setReceiveRoleName("烧结调度员");
mesNotifyMessageClient.save(notifyMessage);
// 执行玻璃饼类最低库存补制
orderClient.createBlbYieldOrder(goodsCode,stGoods.getMinNum(),"仓库补制计划");

Loading…
Cancel
Save