static void cleanTaxDocument(Args _args)
{
TaxDocument taxDocumentTobeDeleted;
TaxDocumentJson jsonToBeDelete;
tableid transTableId = /*TableId*/1425;
RefRecId transRecId = /*RecId*/999999999999;
TaxDocumentTransitRelation taxDocumentTransitRelation;
TaxDocumentTransitDocument taxDocumentTransitDocument;
TaxDocumentJson json;
TaxDocument taxDocument = TaxDocumentUtils::getTaxDocumentBySource(transTableId, transRecId);
json = TaxDocumentJson::find(taxDocument.TaxDocumentJson);
ttsBegin;
while select forUpdate taxDocumentTobeDeleted
where taxDocumentTobeDeleted.RecId != taxDocument.RecId
exists join taxDocumentTransitDocument
where taxDocumentTobeDeleted.GUID == taxDocumentTransitDocument.TaxDocument
&& taxDocumentTobeDeleted.OriginSourceTableId == transTableId
&& taxDocumentTobeDeleted.OriginSourceRecId == transRecId
exists join taxDocumentTransitRelation
where taxDocumentTransitDocument.RecId == taxDocumentTransitRelation.TransitDocumentRecId
&& taxDocumentTransitRelation.TransactionType == transTableId
&& taxDocumentTransitRelation.TransactionRecId == transRecId
{
jsonToBeDelete = TaxDocumentJson::find(taxDocumentTobeDeleted.TaxDocumentJson, true);
if (jsonToBeDelete.JSON != json.JSON)
{
info(strFmt("different taxdocument: %1", taxDocumentTobeDeleted.RecId));
}
else{
taxDocumentTobeDeleted.delete();
jsonToBeDelete.delete();
}
}
ttsCommit;
info("done");
}
Comments
Post a Comment