внутренний проход на обновление результатов анализа пакетов двм системы. пока только по заявкам, в обычной версии никому его не видно. Возможно и не понадобится больше.

This commit is contained in:
2025-02-12 22:49:20 +03:00
parent b80bea4c1b
commit 74fcc2150d
8 changed files with 145 additions and 28 deletions

View File

@@ -377,6 +377,10 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
Print("Получить финальные версии пакета тестирования SAPFOR");
JoinSapforPackageToGroup();
break;
case ReplaceDVMPackageResults:
Print("Заменить json DVM пакета");
ReplaceDVMPackageJson();
break;
default:
throw new RepositoryRefuseException("Неподдерживаемый код: " + code);
}
@@ -863,22 +867,18 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
}
//-"sh"
}
public void Patch(){
try {
db.BeginTransaction();
for (Test test : db.tests.Data.values()) {
if (test.sender_address.isEmpty()) {
Group group = db.groups.get(test.group_id);
test.sender_address = group.sender_address;
test.sender_name = group.sender_name;
db.Update(test);
}
}
db.Commit();
}
catch (Exception ex){
ex.printStackTrace();
}
private void ReplaceDVMPackageJson() throws Exception{
response= new ServerExchangeUnit_2021(ServerCode.OK);
Pair<DVMPackage, byte[]> p = (Pair<DVMPackage, byte[]>) request.object;
DVMPackage src = p.getKey();
byte[] packed_file = p.getValue();
//todo написать стандартное исключение на несуществование объекта с ключом
if (!db.dvmPackages.containsKey(src.id))
throw new RepositoryRefuseException("не существует пакета с ключом "+src.id);
DVMPackage dst = db.dvmPackages.get(src.id);
dst.SynchronizeFields(src);
db.Update(dst);
Utils_.bytesToFile(packed_file, dst.getJsonFile());
}
}