| | |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.stockwarning.vo.MesWmStockWarningRulePageReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.stockwarning.vo.MesWmStockWarningRuleRespVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.stockwarning.vo.MesWmStockWarningRuleSaveReqVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.mdm.MesMdmItemDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.stockwarning.MesWmStockWarningRuleDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseDO; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.wm.stockwarning.MesWmStockWarningRuleMapper; |
| | | import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService; |
| | | import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService; |
| | | import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseService; |
| | | import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi; |
| | |
| | | private MesWmStockWarningRuleMapper ruleMapper; |
| | | @Resource |
| | | private MesMdmItemService mdmItemService; |
| | | @Resource |
| | | private MesMdUnitMeasureService unitMeasureService; |
| | | @Resource |
| | | private MesWmWarehouseService warehouseService; |
| | | @Resource |
| | |
| | | // 3. 逐条规则判断是否预警 |
| | | Map<Long, MesMdmItemDO> itemMap = mdmItemService.getItemMap( |
| | | convertSet(rules, MesWmStockWarningRuleDO::getItemId)); |
| | | // 物料单位来自计量单位表,缺失时前端会显示「--」,这里补齐便于仓管直接判断缺口大小 |
| | | Map<Long, MesMdUnitMeasureDO> unitMap = unitMeasureService.getUnitMeasureMap( |
| | | convertSet(itemMap.values(), MesMdmItemDO::getUnitMeasureId)); |
| | | Map<Long, MesWmWarehouseDO> warehouseMap = warehouseService.getWarehouseMap( |
| | | convertSet(rules, MesWmStockWarningRuleDO::getWarehouseId)); |
| | | List<MesWmStockWarningAlertRespVO> alertList = new ArrayList<>(); |
| | |
| | | if (item != null) { |
| | | alert.setItemCode(item.getCode()); |
| | | alert.setItemName(item.getName()); |
| | | MesMdUnitMeasureDO unit = unitMap.get(item.getUnitMeasureId()); |
| | | if (unit != null) { |
| | | alert.setUnitName(unit.getName()); |
| | | } |
| | | } |
| | | MesWmWarehouseDO warehouse = warehouseMap.get(rule.getWarehouseId()); |
| | | if (warehouse != null) { |