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