|
|||||||
Тест метода отображения актуальных начислений
Время создания: 06.06.2020 11:24
Раздел: INFO - JOB - rtneo - Рефакторинг
Запись: wwwlir/Tetra/master/base/159141386147nzxlr7e4/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
import java.util.* import com.haulmont.cuba.core.global.* import com.haulmont.cuba.core.entity.*; import com.groupstp.rtneo.entity.* import java.text.SimpleDateFormat Contragent contragent = dataManager.load(Contragent.class) .query('select c from rtneo$Contragent c where c.personalAccount = :pa') .parameter("pa", "ААА3812525543") .view("_minimal") .one() long st = System.currentTimeMillis(); _(getContragentBills(contragent.getId())) long end = System.currentTimeMillis(); _(end-st); public List<Accrual> getContragentBills(UUID contragentID) { String sqlQuery = 'select e from rtneo$Accrual e where 1=0'; List<Accrual> accruals = new ArrayList<Accrual>(); List<Contract> contracts = dataManager.load(Contract.class) .query('select e from rtneo$Contract e where e.contragent.id = :contragent and e.accepted =true order by e.createTs desc') // .query("select e from rtneo$Contract e where e.contragent.id = :contragent and e.accepted ='true' order by e.date desc") .parameter("contragent", contragentID) .view("contract-edit") .list(); if (contracts.size() > 0) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Contract lastContract = null; for (Contract contract : contracts) { if (lastContract == null) { lastContract = contract; sqlQuery = 'cast(a.contractPosition.contract.id text)=\'' + contract.getId().toString() + '\' '; } else { if (contract.getFrom().before(lastContract.getFrom())) { sqlQuery = sqlQuery + ' or (cast(a.contractPosition.contract.id text)=\'' + contract.getId().toString() + '\' and a.period < \'' + sdf.format(lastContract.getFrom()) + '\' )'; lastContract = contract; } } } sqlQuery = 'select a from rtneo$Accrual a where a.contragent.id = :contragentID and (' + sqlQuery + ') order by a.period'; // List<RealEstateRenter> payOwnerList = dataManager.load(RealEstateRenter.class) // .query("select s from rtneo$RealEstateRenter s where s.contragent.id = :contragentID and s.payOwner='true'") // .parameter("contragentID", contragentID) // .view("realEstateRenter-changeQueryControl") // .list(); log.debug(sqlQuery)
accruals = dataManager.load(Accrual.class) .query(sqlQuery) .parameter("contragentID", contragentID) .view("accrual-full") .list(); // for (int h = 0; h < payOwnerList.size(); h++) { // for (int y = 0; y < accruals.size(); y++) { // try { // if (payOwnerList.get(h).getRenterRecord().getId().equals(accruals.get(y).getContractPosition().getContragentRealEstate().getId())) { // accruals.remove(y); // y = y - 1; // } // } catch (Exception e) { // } // } // } } return accruals; } public List<Accrual> getContragentBillsLight(UUID contragentID) { String sqlQuery = 'select e from rtneo$Accrual e where 1=0'; List<Accrual> accruals = new ArrayList<Accrual>(); List<Contract> contracts = dataManager.load(Contract.class) .query('select e from rtneo$Contract e where e.contragent.id = :contragent and e.accepted =true order by e.createTs desc') // .query("select e from rtneo$Contract e where e.contragent.id = :contragent and e.accepted ='true' order by e.date desc") .parameter("contragent", contragentID) .view("contract-edit") .list(); if (contracts.size() > 0) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Contract lastContract = null; for (Contract contract : contracts) { if (lastContract == null) { lastContract = contract; sqlQuery = 'cast(a.contractPosition.contract.id text)=\'' + contract.getId().toString() + '\' '; } else { if (contract.getFrom().before(lastContract.getFrom())) { sqlQuery = sqlQuery + ' or (cast(a.contractPosition.contract.id text)=\'' + contract.getId().toString() + '\' and a.period < \'' + sdf.format(lastContract.getFrom()) + '\' )'; lastContract = contract; } } } sqlQuery = 'select a from rtneo$Accrual a where a.contragent.id = :contragentID and (' + sqlQuery + ') order by a.period'; // List<RealEstateRenter> payOwnerList = dataManager.load(RealEstateRenter.class) // .query("select s from rtneo$RealEstateRenter s where s.contragent.id = :contragentID and s.payOwner='true'") // .parameter("contragentID", contragentID) // .view("realEstateRenter-changeQueryControl") // .list(); log.debug(sqlQuery)
accruals = dataManager.load(Accrual.class) .query(sqlQuery) .parameter("contragentID", contragentID) .view("accrual-full") .list(); // for (int h = 0; h < payOwnerList.size(); h++) { // for (int y = 0; y < accruals.size(); y++) { // try { // if (payOwnerList.get(h).getRenterRecord().getId().equals(accruals.get(y).getContractPosition().getContragentRealEstate().getId())) { // accruals.remove(y); // y = y - 1; // } // } catch (Exception e) { // } // } // } } return accruals; } /** * Логирование */ 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)} |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|