sdf57 executor

This commit is contained in:
ialbert 2023-05-31 14:38:55 +03:00
parent e70cbc108d
commit 8255f4a1eb
2 changed files with 13 additions and 2 deletions

View file

@ -414,7 +414,9 @@ public class Registry extends BusinessObject implements Cloneable {
@Override
public Registry clone() {
try {
return (Registry) super.clone();
Registry clone = (Registry) super.clone();
clone.setId(null);
return clone;
} catch (CloneNotSupportedException e) {
throw new RuntimeException("never", e); // it is Cloneable
}

View file

@ -170,7 +170,16 @@ public class Sdf57Executor extends AbstractExecutor<SDf57> {
Registry registryUnitF = findRegByUnit(stmt, rgs, RegistryUnit.F).orElse(copyRegF(rgs, null)); //передаю null т.к. отнимется ниже по коду
registryUnitF.setBalance(rgs.getBalance().subtract(registryUnitB.getBalance()));
registryUnitF.setUpdated(Instant.now());
registryImdg.update(registryUnitF);
//registry F всегда меняется
if (registryUnitF.getId() == null) {
registryImdg.insert(registryUnitF);
} else {
registryImdg.update(registryUnitF);
}
//нужно сохранить registry B только если его не было
if (registryUnitB.getId() == null) {
registryImdg.insert(registryUnitB);
}
registryImdg.update(rgs);
};
Consumer<RegistryDesignation> create = (dsgn) -> {