CZT
2023-11-27 c206acfaedc69c390fb67daa81bc686f58a212ef
igds-core/src/main/java/com/ld/igds/view/service/BuildingService.java
@@ -9,7 +9,6 @@
import org.hibernate.Session;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.bstek.bdf2.core.orm.hibernate.HibernateDao;
import com.bstek.dorado.data.entity.EntityState;
import com.bstek.dorado.data.entity.EntityUtils;
@@ -26,6 +25,8 @@
@Component
public class BuildingService extends HibernateDao {
   String BEAN_ID = "core.buildingService";
   @Autowired
    private RedisUtil redisUtil;
@@ -34,7 +35,7 @@
      String hql = " from " + Building.class.getName()
            + " where companyId=:companyId ";
      if (null == parameter) {
         parameter = new HashMap<String, Object>();
         parameter = new HashMap<>();
      }
      
      String companyId = (String) parameter.get("companyId");
@@ -44,7 +45,7 @@
      parameter.put("companyId", companyId);
      
      String deptId = (String) parameter.get("deptId");
      if(StringUtils.isNoneEmpty(deptId)){
      if(StringUtils.isNotEmpty(deptId)){
         hql += " and deptId=:deptId ";
         parameter.put("deptId", deptId);
      }
@@ -111,7 +112,7 @@
   }
   @SuppressWarnings("unchecked")
   public List<Building> getCacheBuilding(String companyId,String deptId) {
   public List<Building> getCacheBuilding(String companyId, String deptId) {
      if(StringUtils.isEmpty(companyId)){
         companyId = ContextUtil.getCompanyId();
      }
@@ -127,10 +128,31 @@
      }
      if(null == deptId) return result;
      return result.stream().filter(item -> item.getDeptId().equals(deptId))
            .collect(Collectors.toList());
   }
   @SuppressWarnings("unchecked")
   public Building getCacheBuilding(String companyId, String deptId, String buildingId) {
      if(StringUtils.isEmpty(companyId)){
         companyId = ContextUtil.getCompanyId();
      }
      List<Building> result = getCacheBuilding(companyId, deptId);
      if (null == result) {
         refreshCache(companyId);
         return null;
      }
      for (Building building : result) {
         if(buildingId.equals(building.getId())){
            return building;
         }
      }
      return null;
   }
   
   
   public void refreshCache(String companyId) {