|
@ -1,4 +1,44 @@
|
|
|
package com.yihu.jw.service.device;
|
|
|
|
|
|
import com.yihu.iot.dao.message.IotMessageDao;
|
|
|
import com.yihu.jw.entity.iot.message.IotMessageDO;
|
|
|
import io.swagger.models.auth.In;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
/*
|
|
|
* 库存预警提醒相关逻辑
|
|
|
* create by hmf on 2020/5/13
|
|
|
*/
|
|
|
@Service
|
|
|
public class InventoryWarningService {
|
|
|
@Autowired
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
@Autowired
|
|
|
private IotMessageDao iotMessageDao;
|
|
|
|
|
|
public void remind() {
|
|
|
String sql = "select d.product_id,d.`name`,d.category_code,d.category_name,d.manufacturer_id,d.manufacturer_name,d.hospital,d.hospital_name,count(d.id) inventoryCount ,p.inventory_floor,p.inventory_upper " +
|
|
|
"FROM `iot_device` d LEFT JOIN iot_product_base_info p on d.product_id = p.id and p.del = 1 where p.del=1 and is_grant=0 GROUP BY d.product_id, d.manufacturer_id, d.hospital, d.category_code ";
|
|
|
List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
for (Map<String, Object> map : list){
|
|
|
Integer inventoryCount = map.get("inventoryCount") == null ? 0: Integer.parseInt(map.get("inventoryCount") + "");
|
|
|
Integer inventoryFloor = map.get("inventory_floor") == null ? 0: Integer.parseInt(map.get("inventory_floor") + "");
|
|
|
Integer inventoryUpper = map.get("inventory_upper") == null ? 0: Integer.parseInt(map.get("inventory_upper") + "");
|
|
|
if(inventoryCount < inventoryFloor || inventoryCount > inventoryUpper){
|
|
|
IotMessageDO iotMessageDO = new IotMessageDO();
|
|
|
iotMessageDO.setTitle("库存预警提醒");
|
|
|
iotMessageDO.setContent("您的库存" + map.get("name") + "设备已达到预警数量,当前数量为:" + inventoryCount + "台,请及时维护库存。");
|
|
|
iotMessageDO.setReadMsg("0");
|
|
|
iotMessageDO.setDel("0");
|
|
|
iotMessageDO.setType("2");
|
|
|
iotMessageDao.save(iotMessageDO);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|