|
|||||||
Скрипт переноса арендаторов(Простой)
Время создания: 03.02.2020 15:37
Раздел: INFO - JOB - rtneo - Работа над задачами - Управление
Запись: wwwlir/Tetra/master/base/1580715432zoe2yqe6p2/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
import com.groupstp.rtneo.entity.* import com.haulmont.cuba.core.global.* import org.apache.commons.collections4.*; //ID объекта недвижимости String creOwnerId = "25b56190-9876-12a4-21f4-48ab68b5b38e" //ЛС управляшки String pa = "ААА3810320910" /** * */ CommitContext ctx = new CommitContext() ContragentRealEstate creOwner = dataManager.load(ContragentRealEstate.class) .id(UUID.fromString(creOwnerId)).view("contragentRealEstate-calc").one() RealEstateRenter reRenterOwner = null Contragent manager = dataManager.load(Contragent.class) .query('select c from rtneo$Contragent c where c.personalAccount = :pa').parameter("pa", pa).view("contragent-create-contract").optional().orElse(null); ContragentRealEstate creManager = null if(creOwner == null || manager == null)return log.debug("OK") reRenterOwner = createRERenter(manager, creOwner, ctx) log.debug(reRenterOwner) ctx.addInstanceToCommit(reRenterOwner) dataManager.commit(ctx) ctx.getCommitInstances().clear() //Получаем всех арендаторов владельца(кроме управлчшки) List<RealEstateRenter> listRR = dataManager.load(RealEstateRenter) .query('select r from rtneo$RealEstateRenter r where r.contragentRealEstate.id = :id and not r.id = :upr') .parameter("id", creOwner.getId()) .parameter("upr", reRenterOwner.getId()) .view("realEstateRenter-edit") .list(); creManager = reRenterOwner.getRenterRecord() for(def item : listRR){ item.setContragentRealEstate(creManager) item.setPayOwner(true) log.debug(item) ctx.addInstanceToCommit(item) } dataManager.commit(ctx) log.debug("_____________________") /** * * * * * */ private RealEstateRenter createRERenter(Contragent manager, ContragentRealEstate cre, CommitContext ctx){ RealEstateRenter renter = findRenter(cre); if (renter != null) { log.debug("Renter creOwner not is null!!!") return; } BigDecimal area = BigDecimal.ZERO; // area = cre.getCalculationAmount() if(cre.getShare() != null){ area = cre.getRealEstate().getArea()*cre.getShare() }else{ area = cre.getRealEstate().getArea() }
List<ContragentRealEstate> realEstates = manager.getRealEstates(); //Проверяем что у управляшки еще нет этого объекта // ContragentRealEstate contragentRealEstate = CollectionUtils.isEmpty(realEstates) ? null : realEstates.stream() // .filter({e -> Objects.equals(e.getRealEstate(), cre.getRealEstate())}) // .findFirst() // .orElse(null); // if (contragentRealEstate == null) { contragentRealEstate = dataManager.create(ContragentRealEstate.class); contragentRealEstate.setContragent(manager); // contragentRealEstate.setShare(BigDecimal.ONE); contragentRealEstate.setShare(cre.getShare()); contragentRealEstate.setRealEstate(cre.getRealEstate()); contragentRealEstate.setCategory(cre.getCategory()); contragentRealEstate.setType(cre.getType()); // contragentRealEstate.setCalculationAmount(getCalculationAmount(cre)); contragentRealEstate.setCalculationAmount(area); contragentRealEstate.setAreaInRent(area) contragentRealEstate.setOwnType(TypeOwnership.MANAGEMENT) contragentRealEstate.setLandlord(cre.getContragent()) ctx.addInstanceToCommit(contragentRealEstate)
// }else{ // log.debug("У управляшки уже существует этот объект") // return // }
renter = dataManager.create(RealEstateRenter.class); // renter = em.merge(renter); renter.setContragentRealEstate(cre); renter.setContragent(manager); // renter.setAreaInRent(cre.getAreaInRent()); //Нужно брать из объекта недвижимости, умножая на долю renter.setAreaInRent(area); renter.setCategory(cre.getCategory()); // renter.setContractFile(cre.getRentContract().getFile()); renter.setRenterRecord(contragentRealEstate); ctx.addInstanceToCommit(renter) // dataManager.commit(ctx) return renter; } private RealEstateRenter findRenter(ContragentRealEstate cre) { RealEstateRenter rr = dataManager.load(RealEstateRenter.class) .query('select e from rtneo$RealEstateRenter e where e.renterRecord.id =:id') .parameter("id", cre.getId()) .view("_local") .optional() .orElse(null);
return rr; } |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|