| 
 |||||||
| 
    Установка категории земельным участкам 
        
        
		  Время создания: 31.03.2020 23:15		  
		 
		
		 		
		
		 		
		
				  
		    Раздел: INFO - JOB - rtneo - Работа над задачами - Категоризация		   
		
		
		 		 
		  Запись: wwwlir/Tetra/master/base/15856677106159z2lu5h/text.html на raw.githubusercontent.com		  
		 
		
				   | 
 |||||||
| 
    | 
 |||||||
| 
    import com.groupstp.rtneo.entity.*; import com.haulmont.cuba.core.global.*; import com.groupstp.rtneo.service.*; import com.groupstp.rtneo.core.bean.*; import com.groupstp.rtneo.data.* import com.haulmont.cuba.core.global.ViewRepository; import com.groupstp.rtneo.core.bean.CategorizationWorker; import com.groupstp.rtneo.config.* CategorizationWorker worker = AppBeans.get(CategorizationWorker.NAME) View view = createView() _(new Date()) def count = 0 def CommitContext ctx = new CommitContext() def prevCategory = null def prevAddress = null RealEstateCategory category = null for(int i = 0; i<10; i++){ List<ContragentRealEstate> listCRE = dataManager.load(ContragentRealEstate.class) .query('select c from rtneo$ContragentRealEstate c where c.category is null and (lower(c.realEstate.address) like \'%%земельный%%\' or lower(c.realEstate.name) like \'%%земельный%%\' and not lower(c.realEstate.address) like \'%%гараж%%\' and lower(c.realEstate.address) like \'%% иркутск%%\') order by c.realEstate.address') .view("contragentRealEstate-contoller-interface") .firstResult(i*10) .maxResults(10) .list(); 
 for(ContragentRealEstate item : listCRE){ count++ _(item.getId()) if(item.getContragent() == null){ _("Contragent is null") continue } _(item.getRealEstate().getAddress()) if(item.getRealEstate().getAddress().equals(prevAddress)){ _("prev") category = prevCategory }else{ prevAddress = item.getRealEstate().getAddress() RealEstateIndicator indicator = dataManager.load(RealEstateIndicator.class) .query('select i from rtneo$RealEstateIndicator i where i.contragentRealEstate.id = :cre') .parameter("cre", item.getId()) .optional() .orElse(null) if(indicator != null){ dataManager.remove(indicator) _("Deleted indicator") } 
 category = worker.determineContragentRealEstateCategory(item) } 
 prevCategory = category 
 if(category == null){ _("Category is null") continue } 
 String typeId = null if(category.getIsLiving() != null && category.getIsLiving()){ typeId = "b3de9722-df73-5dbe-189f-d176ea1507c7" }else{ typeId = "a633833e-83bc-52b1-0aef-9898739f434f" } 
 type = dataManager.load(RealEstateType.class).id(UUID.fromString(typeId)).view("_minimal").one(); // _(category, "json") // _(type, "json") 
 item.setCategory(category); item.setType(type); 
 // dataManager.commit(item) ctx.addInstanceToCommit(item) if(count>=10){ count = 0 dataManager.commit(ctx) _("commit") ctx.getCommitInstances().clear(); } } } _(new Date()) def createView(){ ViewRepository vRep = AppBeans.get(ViewRepository.NAME) View view = vRep.getView(ContragentRealEstate.class, "_local").addProperty("category", vRep.getView(RealEstateCategory.class, "_local")).addProperty("type", vRep.getView(RealEstateType.class, "_local")) return view; } /** * Логирование */ import com.haulmont.cuba.core.app.serialization.EntitySerializationAPI; import com.groupstp.rtneo.util.JsonUtil; import java.text.DateFormat; import java.text.SimpleDateFormat; private _(Object obj, String... options){ if(obj == null){log("LOG.ERROR: Object is null!!!");return} if(options.size() == 0){log(obj)} for(def option : options){ if(option.equals("str")){log(obj)} if(option.equals("for")){obj.each({_(it)})} if(option.equals("json")){ EntitySerializationAPI entitySerializationAPI = AppBeans.get(EntitySerializationAPI.NAME) try{log(entitySerializationAPI.toJson(obj))} catch(Exception e){log("LOG.ERROR: JSON entity serialization failed")} } if(option.equals("objJson")){ JsonUtil jsonUtil = AppBeans.get(JsonUtil.NAME) try{log.(jsonUtil.toJson(obj))} catch(Exception e){log("LOG.ERROR: JSON object serialization failed")} } if(option.equals("date")){ DateFormat df = new SimpleDateFormat("dd.MM.yyyy"); try{log(df.format(obj))} catch(Exception e){log("LOG.ERROR: Failed date format")} } } } private log(Object obj){log.debug(obj)}  | 
 |||||||
| 
    
 
 Так же в этом разделе:
  
  
  | 
 |||||||
      
   | 
 |||||||
   
   
  | 
 |||||||
   
  |