Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 40.13 KB | None | 0 0
  1. package org.igov.service.business.object;
  2.  
  3. import com.google.gson.JsonArray;
  4. import com.google.gson.JsonObject;
  5. import org.icore.model.core.AbstractEntity;
  6. import org.igov.model.action.event.ActionEvent;
  7. import org.igov.model.action.event.ActionEventChangeStockPaper;
  8. import org.igov.model.action.event.ActionEventReportStockPaper;
  9. import org.igov.model.core.json.ActionEventTypeJson;
  10. import org.igov.model.dictionary.Dictionary;
  11. import org.igov.model.document.DocumentNSSMC;
  12. import org.igov.model.object.*;
  13. import org.igov.model.registry.nssmc.RegistryNSSMC;
  14. import org.igov.model.registry.nssmc.RegistryNSSMCDao;
  15. import org.icore.model.subject.organ.SubjectOrgan;
  16. import org.igov.service.business.action.event.ActionEventChangeStockPaperService;
  17. import org.igov.service.business.action.event.ActionEventReportStockPaperService;
  18. import org.igov.service.business.registry.ModelBuilder;
  19. import org.igov.service.business.registry.TableFieldPublicService;
  20. import org.igov.service.business.registry.data.RegistryDataDaoFactory;
  21. import org.slf4j.Logger;
  22. import org.slf4j.LoggerFactory;
  23. import org.springframework.beans.factory.annotation.Autowired;
  24. import org.springframework.stereotype.Service;
  25.  
  26. import java.util.*;
  27. import java.util.stream.Collectors;
  28.  
  29. import org.igov.model.action.event.ActionEventType;
  30. import org.igov.model.subject.stock.paper.SubjectStockPaperInvestmentInstitutions;
  31.  
  32. import static org.igov.service.business.action.task.systemtask.nssmc.stock.paper.ConstantStockPaperNSSMC.*;
  33. import static org.igov.service.business.date.DateParser.formatDateByPattern;
  34.  
  35. import org.joda.time.DateTime;
  36.  
  37. /**
  38.  * @author alex
  39.  */
  40. @Service
  41. public class ObjectStockPaperService extends ObjectStockPaperGeneralService {
  42.  
  43.     private final static Logger LOG = LoggerFactory.getLogger(ObjectStockPaperService.class);
  44.  
  45.     @Autowired
  46.     private RegistryNSSMCDao registryNSSMCDao;
  47.     @Autowired
  48.     private RegistryDataDaoFactory registryDataDaoFactory;
  49.     @Autowired
  50.     private ActionEventChangeStockPaperService actionEventChangeStockPaperService;
  51.     @Autowired
  52.     private ActionEventReportStockPaperService actionEventReportStockPaperService;
  53.     @Autowired
  54.     private TableFieldPublicService tableFieldPublicService;
  55.  
  56.     public AbstractEntity getIssueStockPaper_New(Long nID_Issue, String sID_Registry) {
  57.         return registryDataDaoFactory.daoActionStockPaperFactory(sID_Registry).findByObjectStockPaperID(nID_Issue);
  58.     }
  59.  
  60.     public JsonObject getIssueStockPaper(Long nID_Issue, String sID_Registry) {
  61.  
  62.         ObjectStockPaper oObjectStockPaper
  63.                 = (ObjectStockPaper) registryDataDaoFactory.daoFactory(sID_Registry).findByIdExpected(nID_Issue);
  64.  
  65.         JsonObject oObjectStockPaperModel;
  66.         if (OBJECT_STOCK_PAPER_INVESTMENT_CERTIFICATE.equalsIgnoreCase(sID_Registry)) {
  67.             oObjectStockPaperModel = addISIData(((ObjectStockPaperInvestmentCertificate) oObjectStockPaper).getoSubjectStockPaperInvestmentInstitutions());
  68.         } else {
  69.             oObjectStockPaperModel = addSubjectOrganData(oObjectStockPaper.getoSubjectOrgan());
  70.         }
  71.  
  72.         List<ObjectStockPaper> aoObjectStockPaper
  73.                 = (List<ObjectStockPaper>) registryDataDaoFactory.daoFactory(sID_Registry).findAllBy("oActionEvent_Issue", oObjectStockPaper.getoActionEvent_Issue());
  74.         List<ActionEvent> aoActionEvent_Derived = aoObjectStockPaper
  75.                 .stream()
  76.                 .map(entity -> entity.getoActionEvent_Derived())
  77.                 .filter(Objects::nonNull)
  78.                 .collect(Collectors.toList());
  79.  
  80.         Map<String, String> mPropertyNameRelation = tableFieldPublicService.getPropertyNameRelations("ObjectStockPaper");
  81.  
  82.         oObjectStockPaperModel.add("oCommonIssue", createCommonIssue(oObjectStockPaper, sID_Registry));
  83.         oObjectStockPaperModel.add("oCertificate", createCertificateJson(oObjectStockPaper, aoActionEvent_Derived, mPropertyNameRelation));
  84.         oObjectStockPaperModel.add("oTemporaryCertificate", createTemporaryCertificateJson(oObjectStockPaper, mPropertyNameRelation));
  85.         oObjectStockPaperModel.add("aoActionEventDerived", getDerivedActionEvents(oObjectStockPaper, aoActionEvent_Derived, mPropertyNameRelation));
  86.  
  87.         return oObjectStockPaperModel;
  88.     }
  89.  
  90.  
  91.     private JsonObject addISIData(SubjectStockPaperInvestmentInstitutions oISI) {
  92.         JsonObject oObjectStockPaperModel = new JsonObject();
  93.         oObjectStockPaperModel.addProperty("nEDRISI", oISI.getnEDRISI());
  94.         oObjectStockPaperModel.addProperty("sNameFull", oISI.getoSubject().getsLabel());
  95.         return oObjectStockPaperModel;
  96.     }
  97.  
  98.     private JsonObject createCommonIssue(ObjectStockPaper oObjectStockPaper, String sID_Registry) {
  99.         RegistryNSSMC oRegistry = registryNSSMCDao.findByExpected("sID_Registry", sID_Registry);
  100.         /*DocumentNSSMC oDocumentNSSMC = oObjectStockPaper.getoDocumentNSSMC();*/
  101.         JsonObject oResultJson = new JsonObject();
  102.         oResultJson.addProperty("IDRegistry", oRegistry.getsID_Registry());
  103.         oResultJson.addProperty("sTypeStockPaper", oRegistry.getsName());
  104.         /*oResultJson.addProperty("sID_Order", getID_Order(oDocumentNSSMC));
  105.         DocumentNSSMCJson.create(oDocumentNSSMC, oResultJson)
  106.                 .addDateDocument()
  107.                 .addCustomSeries()
  108.                 .addCustomNumber()
  109.                 .asJson();*/
  110.         oResultJson.add("aField", fillStockPaperFieldsData(oObjectStockPaper, sID_Registry));
  111.         if (oObjectStockPaper instanceof ObjectStockPaperShare) {
  112.             oResultJson.add("oActionEventIssue", createActionEventIssueJson((ObjectStockPaperShare) oObjectStockPaper));
  113.         }
  114.         return oResultJson;
  115.     }
  116.  
  117.     private JsonObject createActionEventIssueJson(ObjectStockPaperShare oObjectStockPaper) {
  118.         ActionEvent oActionEventIssue = oObjectStockPaper.getoActionEvent_Issue();
  119.         if (oActionEventIssue == null) {
  120.             return null;
  121.         }
  122.         JsonObject oResultJson = new JsonObject();
  123.         oResultJson.addProperty("sRegistrationOrgan", oActionEventIssue.getoSubjectOrgan_Author().getName());
  124.         oResultJson.addProperty("sDateRegistrationIssue", formatDateByPattern(oActionEventIssue.getsDate()));
  125.         DocumentNSSMC oDocument = oActionEventIssue.getoDocumentNSSMC();
  126.         if (oDocument != null) {
  127.             oResultJson.addProperty("sNumberDocument", oDocument.getsCustomNumber());
  128.         }
  129.         return oResultJson;
  130.     }
  131.  
  132.     private JsonObject createCertificateJson(ObjectStockPaper oObjectStockPaper, List<ActionEvent> aoActionEvent_Derived, Map<String, String> mPropertyNameRelation) {
  133.         JsonObject oResultJson = new JsonObject();
  134.         List<JsonObject> aoFieldJson = new ArrayList<>();
  135.         ActionEventReportStockPaper oActionEventReportStockPaper = actionEventReportStockPaperService
  136.                 .getByActionEvent_Derived(aoActionEvent_Derived).orNull();
  137.         if (oActionEventReportStockPaper != null) {
  138.             aoFieldJson.add(fillFieldModel("nEmissionVolume", ModelBuilder.getEmissionVolume(oObjectStockPaper), mPropertyNameRelation));
  139.             aoFieldJson.addAll(createGeneralCertificateJsonFields(oActionEventReportStockPaper.getoDocumentNSSMC(), mPropertyNameRelation));
  140.             aoFieldJson.add(fillFieldModel("nQuantity", oActionEventReportStockPaper.getnQuantityIPO(), mPropertyNameRelation));
  141.             aoFieldJson.add(fillFieldModel("nSizeCharterCapital", oActionEventReportStockPaper.getnSizeCharterCapitalIPO(), mPropertyNameRelation));
  142.         }
  143.         oResultJson.add("aField", addOrder(aoFieldJson));
  144.         return oResultJson;
  145.     }
  146.  
  147.     private JsonObject createTemporaryCertificateJson(ObjectStockPaper oObjectStockPaper, Map<String, String> mPropertyNameRelation) {
  148.         JsonObject oResultJson = new JsonObject();
  149.         List<JsonObject> aoFieldJson = new ArrayList<>();
  150.         /*aoFieldJson.addAll(createGeneralCertificateJsonFields(oObjectStockPaper.getoDocumentNSSMC(), mPropertyNameRelation));*/
  151.         aoFieldJson.add(fillFieldModel("sNameDocumentAuthor", getSubjectOrgan_Author(oObjectStockPaper), mPropertyNameRelation));
  152.         if (!(oObjectStockPaper instanceof ObjectStockPaperOptionCertificate)) {
  153.             aoFieldJson.add(fillFieldModel("nQuantity", oObjectStockPaper.getnQuantity(), mPropertyNameRelation));
  154.         }
  155.         if (oObjectStockPaper instanceof ObjectStockPaperShare) {
  156.             aoFieldJson.add(fillFieldModel("nSizeCharterCapital", ((ObjectStockPaperShare) oObjectStockPaper).getnSizeCharterCapitalIssuance(), mPropertyNameRelation));
  157.         }
  158.         oResultJson.add("aField", addOrder(aoFieldJson));
  159.         return oResultJson;
  160.     }
  161.  
  162.     private List<JsonObject> createGeneralCertificateJsonFields(DocumentNSSMC oDocumentNSSMC, Map<String, String> mPropertyNameRelation) {
  163.         List<JsonObject> aoFieldJson = new ArrayList<>();
  164.  
  165.         aoFieldJson.add(fillFieldModel("sRegistrationNumber", ModelBuilder.getsRegistrationNumber(oDocumentNSSMC), mPropertyNameRelation));
  166.         aoFieldJson.add(fillFieldModel("sCertificateState", ModelBuilder.getDocumentStateType(oDocumentNSSMC), mPropertyNameRelation));
  167.         aoFieldJson.add(fillFieldModel("sDateCertificate", ModelBuilder.getDocumentDate(oDocumentNSSMC), mPropertyNameRelation));
  168.         aoFieldJson.add(fillFieldModel("sID_Order", getID_Order(oDocumentNSSMC), mPropertyNameRelation));
  169.         return aoFieldJson;
  170.     }
  171.  
  172.     private String getSubjectOrgan_Author(ObjectStockPaper oObjectStockPaper) {
  173.         SubjectOrgan oSubjectOrgan_Author;
  174.         if (Objects.nonNull(oObjectStockPaper.getoActionEvent_Derived())) {
  175.             oSubjectOrgan_Author = oObjectStockPaper.getoActionEvent_Derived().getoSubjectOrgan_Author();
  176.         } else {
  177.             oSubjectOrgan_Author = oObjectStockPaper.getoActionEvent_Issue().getoSubjectOrgan_Author();
  178.         }
  179.         return getAuthorName(oSubjectOrgan_Author);
  180.     }
  181.  
  182.     private String getAuthorName(SubjectOrgan oSubjectOrgan_Author) {
  183.         String sName = "";
  184.         if (Objects.nonNull(oSubjectOrgan_Author.getName())) {
  185.             sName = oSubjectOrgan_Author.getName();
  186.         } else {
  187.             sName = oSubjectOrgan_Author.getsNameFull();
  188.         }
  189.         return sName;
  190.     }
  191.  
  192.     private JsonObject getDerivedActionEvents(ObjectStockPaper oEntity, List<ActionEvent> aoActionEvent_Derived, Map<String, String> mPropertyNameRelation) {
  193.         JsonObject oResultJson = new JsonObject();
  194.         oResultJson.add("aoActionEventDerivedChange", getChangeDerivedActionEvents(aoActionEvent_Derived, mPropertyNameRelation));
  195.         oResultJson.add("oActionEventDerivedReport", getReportDerivedActionEventOrNull(aoActionEvent_Derived, mPropertyNameRelation));
  196.         oResultJson.add("aoActionEventDerivedOther", getOtherDerivedActionEvents(aoActionEvent_Derived, mPropertyNameRelation));
  197.         return oResultJson;
  198.     }
  199.  
  200.     private JsonArray getChangeDerivedActionEvents(List<ActionEvent> aoActionEvent, Map<String, String> mPropertyNameRelation) {
  201.         List<JsonObject> aoJson = actionEventChangeStockPaperService
  202.                 .getByActionEvent(aoActionEvent)
  203.                 .stream()
  204.                 .map(oEntity -> create(oEntity, mPropertyNameRelation))
  205.                 .collect(Collectors.toList());
  206.         JsonArray aoResultJson = new JsonArray();
  207.         aoJson.forEach(aoResultJson::add);
  208.         return aoResultJson;
  209.     }
  210.  
  211.     private JsonObject create(ActionEventChangeStockPaper oEntity, Map<String, String> mPropertyNameRelation) {
  212.         ActionEvent oActionEvent = oEntity.getoActionEvent();
  213.         JsonObject oJsonResult = ActionEventTypeJson
  214.                 .create(oActionEvent.getoActionEventType())
  215.                 .addnID()
  216.                 .addsName()
  217.                 .asJson();
  218.         List<JsonObject> aoField = new ArrayList<>();
  219.         aoField.add(fillFieldModel("sActionEventDate", formatDateByPattern(oActionEvent.getsDate()), mPropertyNameRelation));
  220.         aoField.add(fillFieldModel("sCharacterChanges", ModelBuilder.getChangeTypeName(oEntity.getoChangeType()), mPropertyNameRelation));
  221.         aoField.add(fillFieldModel("sValueChanges", oEntity.getsValueChanges(), mPropertyNameRelation));
  222.         aoField.add(fillFieldModel("sID_Order", getID_Order(oActionEvent.getoDocumentNSSMC()), mPropertyNameRelation));
  223.         oJsonResult.add("aField", addOrder(aoField));
  224.  
  225.         return oJsonResult;
  226.     }
  227.  
  228.     private JsonObject getReportDerivedActionEventOrNull(List<ActionEvent> aoActionEvent, Map<String, String> mPropertyNameRelation) {
  229.         return actionEventReportStockPaperService
  230.                 .getByActionEvent_Derived(aoActionEvent)
  231.                 .transform(oEntity -> create(oEntity, mPropertyNameRelation))
  232.                 .orNull();
  233.     }
  234.  
  235.     private JsonObject create(ActionEventReportStockPaper oEntity, Map<String, String> mPropertyNameRelation) {
  236.         ActionEvent oActionEvent = oEntity.getoActionEvent();
  237.         JsonObject oJsonResult = ActionEventTypeJson
  238.                 .create(oActionEvent.getoActionEventType())
  239.                 .addnID()
  240.                 .addsName()
  241.                 .asJson();
  242.         List<JsonObject> aoField = new ArrayList<>();
  243.         aoField.add(fillFieldModel("sActionEventDate", ModelBuilder.dateToString(oActionEvent.getsDate()), mPropertyNameRelation));
  244.         aoField.add(fillFieldModel("sDateBeginIPO", ModelBuilder.dateToString(oEntity.getsDateBeginIPO()), mPropertyNameRelation));
  245.         aoField.add(fillFieldModel("sDateEndIPO", ModelBuilder.dateToString(oEntity.getsDateEndIPO()), mPropertyNameRelation));
  246.         aoField.add(fillFieldModel("nCommonDenominationIPO", oEntity.getnCommonDenominationIPO(), mPropertyNameRelation));
  247.         aoField.add(fillFieldModel("nQuantityIPO", oEntity.getnQuantityIPO(), mPropertyNameRelation));
  248.         aoField.add(fillFieldModel("sDateReportSubmissionIPO", ModelBuilder.dateToString(oEntity.getsDateReportSubmissionIPO()), mPropertyNameRelation));
  249.  
  250.         JsonObject oCharterCapitalModel = fillFieldModel("nSizeCharterCapitalIPO", oEntity.getnSizeCharterCapitalIPO(), mPropertyNameRelation);
  251.         oCharterCapitalModel.addProperty("hint", "з урахуванням останнього випуску ЦП, щодо якого зареєстровано звіт про результати розміщення");
  252.         aoField.add(oCharterCapitalModel);
  253.  
  254.         aoField.addAll(createGeneralCertificateJsonFields(oEntity.getoDocumentNSSMC(), mPropertyNameRelation));
  255.  
  256.         oJsonResult.add("aField", addOrder(aoField));
  257.         return oJsonResult;
  258.     }
  259.  
  260.     private JsonArray getOtherDerivedActionEvents(List<ActionEvent> aoActionEvent_Derived, Map<String, String> mPropertyNameRelation) {
  261.         if (aoActionEvent_Derived.isEmpty()) {
  262.             return null;
  263.         }
  264.         return aoActionEvent_Derived
  265.                 .stream()
  266.                 .filter(oActionEvent -> {
  267.                     if (Objects.nonNull(oActionEvent)
  268.                             && !"Change".equals(oActionEvent.getoActionEventType().getsID())
  269.                             && !"Report".equals(oActionEvent.getoActionEventType().getsID())) {
  270.                         return true;
  271.                     }
  272.                     return false;
  273.                 })
  274.                 .map(oEntity -> create(oEntity, mPropertyNameRelation))
  275.                 .collect(JsonArray::new, JsonArray::add, JsonArray::addAll);
  276.     }
  277.  
  278.     private JsonObject create(ActionEvent oActionEvent, Map<String, String> mPropertyNameRelation) {
  279.         ActionEventType oActionEventType = oActionEvent.getoActionEventType();
  280.         JsonObject oJsonResult = ActionEventTypeJson
  281.                 .create(oActionEventType)
  282.                 .addnID()
  283.                 .addsName()
  284.                 .asJson();
  285.         List<JsonObject> aoField = new ArrayList<>();
  286.         aoField.add(fillFieldModel("sActionEventDate", formatDateByPattern(oActionEvent.getsDate()), mPropertyNameRelation));
  287.         aoField.add(fillFieldModel("sID_Order", getID_Order(oActionEvent.getoDocumentNSSMC()), mPropertyNameRelation));
  288.         aoField.add(fillFieldModel("oSubjectOrgan_Author", oActionEvent.getoSubjectOrgan_Author().getsNameFull(), mPropertyNameRelation));
  289.         oJsonResult.add("aField", addOrder(aoField));
  290.  
  291.         return oJsonResult;
  292.     }
  293.  
  294.     private JsonArray fillStockPaperFieldsData(ObjectStockPaper oObjectStockPaper, String sID_Registry) {
  295.         Map<String, String> aPropertyNameRelations = tableFieldPublicService.getPropertyNameRelations(sID_Registry);
  296.  
  297.         JsonArray aField = new JsonArray();
  298.         if (OBJECT_STOCK_PAPER_SHARE.equalsIgnoreCase(sID_Registry)) {
  299.             aField = getShareFieldsData((ObjectStockPaperShare) oObjectStockPaper, aPropertyNameRelations);
  300.         } else if (OBJECT_STOCK_PAPER_BOND.equalsIgnoreCase(sID_Registry)) {
  301.             aField = getBondFieldsData((ObjectStockPaperBond) oObjectStockPaper, aPropertyNameRelations);
  302.         } else if (OBJECT_STOCK_PAPER_FON.equalsIgnoreCase(sID_Registry)) {
  303.             aField = getFONFieldsData((ObjectStockPaperFON) oObjectStockPaper, aPropertyNameRelations);
  304.         } else if (OBJECT_STOCK_PAPER_INVESTMENT_CERTIFICATE.equalsIgnoreCase(sID_Registry)) {
  305.             aField = getInvestmentCertificateFieldsData((ObjectStockPaperInvestmentCertificate) oObjectStockPaper, aPropertyNameRelations);
  306.         } else if (OBJECT_STOCK_PAPER_MORTGAGE_BOND.equalsIgnoreCase(sID_Registry)) {
  307.             aField = getMortgageBondFieldsData((ObjectStockPaperMortgageBond) oObjectStockPaper, aPropertyNameRelations);
  308.         } else if (OBJECT_STOCK_PAPER_MORTGAGE_CERTIFICATE.equalsIgnoreCase(sID_Registry)) {
  309.             aField = getMortgageCertificateFieldsData((ObjectStockPaperMortgageCertificate) oObjectStockPaper, aPropertyNameRelations);
  310.         } else if (OBJECT_STOCK_PAPER_OPTION_CERTIFICATE.equalsIgnoreCase(sID_Registry)) {
  311.             aField = getOptionCertificateFieldsData((ObjectStockPaperOptionCertificate) oObjectStockPaper, aPropertyNameRelations);
  312.         }
  313.         return aField;
  314.     }
  315.  
  316.     private JsonArray getShareFieldsData(ObjectStockPaperShare oObjectStockPaper, Map<String, String> aPropertyNameRelations) {
  317.         ArrayList<JsonObject> aJsonArray = new ArrayList();
  318.         aJsonArray.add(fillFieldModel("nDenomination", oObjectStockPaper.getnDenomination(), aPropertyNameRelations));
  319.         aJsonArray.add(fillFieldModel("nCommonDenomination", oObjectStockPaper.getnCommonDenomination(), aPropertyNameRelations));
  320.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_FormExistenceShare", oObjectStockPaper.getoDictionary_FormExistenceShare(), aPropertyNameRelations));
  321.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_TypeShare", oObjectStockPaper.getoDictionary_TypeShare(), aPropertyNameRelations));
  322.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_ReasonRegisteringIssuanceShare", oObjectStockPaper.getoDictionary_ReasonRegisteringIssuanceShare(), aPropertyNameRelations));
  323.         aJsonArray.add(fillFieldModel("nPaidStateFee", oObjectStockPaper.getnPaidStateFee(), aPropertyNameRelations));
  324.         aJsonArray.add(fillFieldModel("bFictitious", oObjectStockPaper.isbFictitious(), aPropertyNameRelations));
  325.         aJsonArray.add(fillFieldModel("bShareKIF", oObjectStockPaper.isbShareKIF(), aPropertyNameRelations));
  326.         aJsonArray.add(fillFieldModel("nSizeCharterCapitalIssuance", oObjectStockPaper.getnSizeCharterCapitalIssuance(), aPropertyNameRelations));
  327.         aJsonArray.add(fillFieldModel("nSizeCharterCapitalDelta", oObjectStockPaper.getnSizeCharterCapitalDelta(), aPropertyNameRelations));
  328.         aJsonArray.add(fillFieldModel("nQuantity", oObjectStockPaper.getnQuantity(), aPropertyNameRelations));
  329.         aJsonArray.add(fillDictionaryFieldModel("sTypePlacementShare", oObjectStockPaper.getoDictionary_TypePlacementShare(), aPropertyNameRelations));
  330.         aJsonArray.add(fillFieldModel("bReorganization", oObjectStockPaper.isbReorganization(), aPropertyNameRelations));
  331.         aJsonArray.add(fillFieldModel("sComment", oObjectStockPaper.getsComment(), aPropertyNameRelations));
  332.         aJsonArray.add(fillSubjectOrganFieldModel("SubjectOrgan_Reorganization", oObjectStockPaper.getoSubjectOrgan_EmitenteReorganization(), aPropertyNameRelations));
  333.         ActionEvent oActionEvent = oObjectStockPaper.getoActionEvent_Issue();
  334.         DateTime oDateTime = oActionEvent.getsDate();
  335.         if (oDateTime != null) {
  336.             aJsonArray.add(fillFieldModel("sRegistrationDate", formatDateByPattern(oDateTime), aPropertyNameRelations));
  337.         } else {
  338.             aJsonArray.add(fillFieldModel("sRegistrationDate", null, aPropertyNameRelations));
  339.         }
  340.         return addOrder(aJsonArray);
  341.     }
  342.  
  343.     private JsonArray getBondFieldsData(ObjectStockPaperBond oObjectStockPaper, Map<String, String> aPropertyNameRelations) {
  344.         ArrayList<JsonObject> aJsonArray = new ArrayList();
  345.         aJsonArray.add(fillFieldModel("sSeries", oObjectStockPaper.getsSeries(), aPropertyNameRelations));
  346.         aJsonArray.add(fillFieldModel("nCommonDenomination", oObjectStockPaper.getnCommonDenomination(), aPropertyNameRelations));
  347.         aJsonArray.add(fillFieldModel("nQuantity", oObjectStockPaper.getnQuantity(), aPropertyNameRelations));
  348.         aJsonArray.add(fillFieldModel("nDenomination", oObjectStockPaper.getnDenomination(), aPropertyNameRelations));
  349.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_GuarantorBond", oObjectStockPaper.getoDictionary_GuarantorBond(), aPropertyNameRelations));
  350.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_TypeBond", oObjectStockPaper.getoDictionary_TypeBond(), aPropertyNameRelations));
  351.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_TypeIssuanceBond", oObjectStockPaper.getoDictionary_TypeIssuanceBond(), aPropertyNameRelations));
  352.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_TypeSecuredBond", oObjectStockPaper.getoDictionary_TypeSecuredBond(), aPropertyNameRelations));
  353.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_FormExistenceBond", oObjectStockPaper.getoDictionary_FormExistenceBond(), aPropertyNameRelations));
  354.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_TypePlacementBond", oObjectStockPaper.getoDictionary_TypePlacementBond(), aPropertyNameRelations));
  355.         aJsonArray.add(fillFieldModel("nPaidStateFee", oObjectStockPaper.getnPaidStateFee(), aPropertyNameRelations));
  356.         aJsonArray.add(fillFieldModel("nInterestRate", oObjectStockPaper.getnInterestRate(), aPropertyNameRelations));
  357.         aJsonArray.add(fillFieldModel("sDateBeginRepayment", formatDateByPattern(oObjectStockPaper.getsDateBeginRepayment()), aPropertyNameRelations));
  358.         aJsonArray.add(fillFieldModel("sDateEndRepayment", formatDateByPattern(oObjectStockPaper.getsDateEndRepayment()), aPropertyNameRelations));
  359.         aJsonArray.add(fillFieldModel("bFictitious", oObjectStockPaper.isbFictitious(), aPropertyNameRelations));
  360.         aJsonArray.add(fillFieldModel("bLoanBonds", oObjectStockPaper.isbLoanBonds(), aPropertyNameRelations));
  361.         aJsonArray.add(fillFieldModel("nSizeCharterCapitalIssuance", oObjectStockPaper.getnSizeCharterCapitalIssuance(), aPropertyNameRelations));
  362.         aJsonArray.add(fillFieldModel("nSizeCharterCapitalDelta", oObjectStockPaper.getnSizeCharterCapitalDelta(), aPropertyNameRelations));
  363.         aJsonArray.add(fillSubjectOrganFieldModel("SubjectOrgan.nSizeCharterCapital", oObjectStockPaper.getoSubjectOrgan_GuarantorBond(), aPropertyNameRelations));
  364.         aJsonArray.add(fillSubjectOrganSizeCharterCapitalFieldModel("SubjectOrgan_GuarantorBond.sNameFull", oObjectStockPaper.getoSubjectOrgan(), aPropertyNameRelations));
  365.         aJsonArray.add(fillSubjectOrganOKPOFieldModel("SubjectOrgan_GuarantorBond.sOKPO", oObjectStockPaper.getoSubjectOrgan_GuarantorBond(), aPropertyNameRelations));
  366.         return addOrder(aJsonArray);
  367.     }
  368.  
  369.  
  370.     private JsonArray getFONFieldsData(ObjectStockPaperFON oObjectStockPaper, Map<String, String> aPropertyNameRelations) {
  371.         ArrayList<JsonObject> aJsonArray = new ArrayList();
  372.         aJsonArray.add(fillFieldModel("nSizeCharterCapitalIssuance", oObjectStockPaper.getnSizeCharterCapitalIssuance(), aPropertyNameRelations));
  373.         aJsonArray.add(fillSubjectOrganFieldModel("oSubjectOrgan_Auditor.sNameFull", oObjectStockPaper.getoSubjectOrgan_Auditor(), aPropertyNameRelations));
  374.         aJsonArray.add(fillSubjectOrganOKPOFieldModel("oSubjectOrgan_Auditor.sOKPO", oObjectStockPaper.getoSubjectOrgan_Auditor(), aPropertyNameRelations));
  375.         aJsonArray.add(fillFieldModel("nCommonDenomination", oObjectStockPaper.getnCommonDenomination(), aPropertyNameRelations));
  376.         aJsonArray.add(fillFieldModel("nQuantity", oObjectStockPaper.getnQuantity(), aPropertyNameRelations));
  377.         aJsonArray.add(fillFieldModel("nDenomination", oObjectStockPaper.getnDenomination(), aPropertyNameRelations));
  378.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_FormExistenceFON", oObjectStockPaper.getoDictionary_FormExistenceFON(), aPropertyNameRelations));
  379.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_TypeIssuanceFON", oObjectStockPaper.getoDictionary_TypeIssuanceFON(), aPropertyNameRelations));
  380.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_TypeIssuanceFON", oObjectStockPaper.getoDictionary_TypePlacementFON(), aPropertyNameRelations));
  381.         aJsonArray.add(fillFieldModel("nPaidStateFee", oObjectStockPaper.getnPaidStateFee(), aPropertyNameRelations));
  382.         aJsonArray.add(fillFieldModel("sDateBeginRepayment", formatDateByPattern(oObjectStockPaper.getsDateBeginRepayment()), aPropertyNameRelations));
  383.         aJsonArray.add(fillFieldModel("sDateEndRepayment", formatDateByPattern(oObjectStockPaper.getsDateEndRepayment()), aPropertyNameRelations));
  384.         aJsonArray.add(fillFieldModel("bFictitious", oObjectStockPaper.isbFictitious(), aPropertyNameRelations));
  385.         aJsonArray.add(fillFieldModel("sSeries", oObjectStockPaper.getsSeries(), aPropertyNameRelations));
  386.         return addOrder(aJsonArray);
  387.     }
  388.  
  389.     private JsonArray getInvestmentCertificateFieldsData(ObjectStockPaperInvestmentCertificate oObjectStockPaper, Map<String, String> aPropertyNameRelations) {
  390.         ArrayList<JsonObject> aJsonArray = new ArrayList();
  391.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_TypeInvestmentCertificate", oObjectStockPaper.getoDictionary_TypeInvestmentCertificate(), aPropertyNameRelations));
  392.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_FormExistenceInvestmentCertificate", oObjectStockPaper.getoDictionary_FormExistenceInvestmentCertificate(), aPropertyNameRelations));
  393.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_TypePlacementInvestmentCertificate", oObjectStockPaper.getoDictionary_TypePlacementInvestmentCertificate(), aPropertyNameRelations));
  394.         aJsonArray.add(fillFieldModel("nQuantity", oObjectStockPaper.getnQuantity(), aPropertyNameRelations));
  395.  
  396.         String sDateEndIPO = actionEventReportStockPaperService
  397.                 .getByActionEvent(oObjectStockPaper.getoActionEvent_Issue())
  398.                 .transform(ActionEventReportStockPaper::getsDateEndIPO)
  399.                 .transform(sDate -> formatDateByPattern(sDate))
  400.                 .orNull();
  401.         aJsonArray.add(fillFieldModel("sDateEndIPO", sDateEndIPO, aPropertyNameRelations));
  402.         SubjectStockPaperInvestmentInstitutions oEntity = oObjectStockPaper.getoSubjectStockPaperInvestmentInstitutions();
  403.         String sNameFull = "";
  404.         if (Objects.nonNull(oEntity)) {
  405.             sNameFull = oEntity.getoSubject().getsLabel();
  406.         }
  407.         aJsonArray.add(fillFieldModel("oSubjectStockPaperInvestmentInstitutions.sNameFull", sNameFull, aPropertyNameRelations));
  408.         aJsonArray.add(fillFieldModel("nPaidStateFee", oObjectStockPaper.getnPaidStateFee(), aPropertyNameRelations));
  409.         aJsonArray.add(fillFieldModel("bFictitious", oObjectStockPaper.isbFictitious(), aPropertyNameRelations));
  410.         aJsonArray.add(fillFieldModel("nSizeCharterCapitalIssuance", oObjectStockPaper.getnSizeCharterCapitalIssuance(), aPropertyNameRelations));
  411.         aJsonArray.add(fillFieldModel("nSizeCharterCapitalDelta", oObjectStockPaper.getnSizeCharterCapitalDelta(), aPropertyNameRelations));
  412.         aJsonArray.add(fillFieldModel("nCommonDenomination", oObjectStockPaper.getnCommonDenomination(), aPropertyNameRelations));
  413.         aJsonArray.add(fillFieldModel("nDenomination", oObjectStockPaper.getnDenomination(), aPropertyNameRelations));
  414.         aJsonArray.add(fillFieldModel("sEmissionProspectDate", oObjectStockPaper.getsEmissionProspectDate(), aPropertyNameRelations));
  415.         aJsonArray.add(fillFieldModel("sEmissionStartDate", oObjectStockPaper.getsEmissionStartDate(), aPropertyNameRelations));
  416.         aJsonArray.add(fillFieldModel("sEmissionStartNote", oObjectStockPaper.getsEmissionStartNote(), aPropertyNameRelations));
  417.         aJsonArray.add(fillFieldModel("sEmissionEndDate", oObjectStockPaper.getsEmissionEndDate(), aPropertyNameRelations));
  418.         aJsonArray.add(fillFieldModel("sEmissionEndNote", oObjectStockPaper.getsEmissionEndNote(), aPropertyNameRelations));
  419.         aJsonArray.add(fillFieldModel("sStateFeeNumber", oObjectStockPaper.getsStateFeeNumber(), aPropertyNameRelations));
  420.         aJsonArray.add(fillFieldModel("sStateFeeDate", oObjectStockPaper.getsStateFeeDate(), aPropertyNameRelations));
  421.         aJsonArray.add(fillFieldModel("sPaymentDate", oObjectStockPaper.getsPaymentDate(), aPropertyNameRelations));
  422.         aJsonArray.add(fillFieldModel("sPaymentNote", oObjectStockPaper.getsPaymentNote(), aPropertyNameRelations));
  423.         aJsonArray.add(fillFieldModel("sComment", oObjectStockPaper.getsComment(), aPropertyNameRelations));
  424.         return addOrder(aJsonArray);
  425.     }
  426.  
  427.     private JsonArray getMortgageBondFieldsData(ObjectStockPaperMortgageBond oObjectStockPaper, Map<String, String> aPropertyNameRelations) {
  428.         ArrayList<JsonObject> aJsonArray = new ArrayList();
  429.         aJsonArray.add(fillFieldModel("sSeries", oObjectStockPaper.getsSeries(), aPropertyNameRelations));
  430.         aJsonArray.add(fillFieldModel("nCommonDenomination", oObjectStockPaper.getnCommonDenomination(), aPropertyNameRelations));
  431.         aJsonArray.add(fillFieldModel("nQuantity", oObjectStockPaper.getnQuantity(), aPropertyNameRelations));
  432.         aJsonArray.add(fillFieldModel("nDenomination", oObjectStockPaper.getnDenomination(), aPropertyNameRelations));
  433.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_TypeMortgageBond", oObjectStockPaper.getoDictionary_TypeMortgageBond(), aPropertyNameRelations));
  434.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_FormExistenceMortgageBond", oObjectStockPaper.getoDictionary_FormExistenceMortgageBond(), aPropertyNameRelations));
  435.         aJsonArray.add(fillFieldModel("nPaidStateFee", oObjectStockPaper.getnPaidStateFee(), aPropertyNameRelations));
  436.         aJsonArray.add(fillFieldModel("sMortgageCoverageSize", oObjectStockPaper.getsMortgageCoverageSize(), aPropertyNameRelations));
  437.         aJsonArray.add(fillFieldModel("sDateBeginRepayment", formatDateByPattern(oObjectStockPaper.getsDateBeginRepayment()), aPropertyNameRelations));
  438.         aJsonArray.add(fillFieldModel("sDateEndRepayment", formatDateByPattern(oObjectStockPaper.getsDateEndRepayment()), aPropertyNameRelations));
  439.         aJsonArray.add(fillFieldModel("bFictitious", oObjectStockPaper.isbFictitious(), aPropertyNameRelations));
  440.         aJsonArray.add(fillFieldModel("sPercentage", oObjectStockPaper.getsPercentage(), aPropertyNameRelations));
  441.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_TypePlacementMortgageBond", oObjectStockPaper.getoDictionary_TypePlacementMortgageBond(), aPropertyNameRelations));
  442.         aJsonArray.add(fillFieldModel("oSubjectOrgan_Auditor", oObjectStockPaper.getoSubjectOrgan_Auditor(), aPropertyNameRelations));
  443.         aJsonArray.add(fillFieldModel("nSizeCharterCapitalIssuance", oObjectStockPaper.getnSizeCharterCapitalIssuance(), aPropertyNameRelations));
  444.         aJsonArray.add(fillFieldModel("nSizeCharterCapitalDelta", oObjectStockPaper.getnSizeCharterCapitalDelta(), aPropertyNameRelations));
  445.         aJsonArray.add(fillFieldModel("sTypePlacementMortgageBond", oObjectStockPaper.getoDictionary_TypePlacementMortgageBond(), aPropertyNameRelations));
  446.         aJsonArray.add(fillDictionaryFieldModel("sFormExistenceMortgageBond", oObjectStockPaper.getoDictionary_FormExistenceMortgageBond(), aPropertyNameRelations));
  447.         return addOrder(aJsonArray);
  448.     }
  449.  
  450.  
  451.  
  452.     private JsonArray getMortgageCertificateFieldsData(ObjectStockPaperMortgageCertificate oObjectStockPaper, Map<String, String> aPropertyNameRelations) {
  453.         ArrayList<JsonObject> aJsonArray = new ArrayList();
  454.         aJsonArray.add(fillFieldModel("nCommonDenomination", oObjectStockPaper.getnCommonDenomination(), aPropertyNameRelations));
  455.         aJsonArray.add(fillFieldModel("nQuantity", oObjectStockPaper.getnQuantity(), aPropertyNameRelations));
  456.         aJsonArray.add(fillFieldModel("nDenomination", oObjectStockPaper.getnDenomination(), aPropertyNameRelations));
  457.         aJsonArray.add(fillDictionaryFieldModel("FormExistenceMortgageCertificate", oObjectStockPaper.getoDictionary_FormExistenceMortgageCertificate(), aPropertyNameRelations));
  458.         aJsonArray.add(fillDictionaryFieldModel("TypeMortgageCertificate", oObjectStockPaper.getoDictionary_TypeMortgageCertificate(), aPropertyNameRelations));
  459.         aJsonArray.add(fillDictionaryFieldModel("TypePlacementMortgageCertificate", oObjectStockPaper.getoDictionary_TypePlacementMortgageCertificate(), aPropertyNameRelations));
  460.         aJsonArray.add(fillFieldModel("nPaidStateFee", oObjectStockPaper.getnPaidStateFee(), aPropertyNameRelations));
  461.         aJsonArray.add(fillFieldModel("sDateEndTurnover", formatDateByPattern(oObjectStockPaper.getsDateEndTurnover()), aPropertyNameRelations));
  462.         aJsonArray.add(fillFieldModel("sDateBeginRepayment", formatDateByPattern(oObjectStockPaper.getsDateBeginRepayment()), aPropertyNameRelations));
  463.         aJsonArray.add(fillFieldModel("sDateEndRepayment", formatDateByPattern(oObjectStockPaper.getsDateEndRepayment()), aPropertyNameRelations));
  464.         aJsonArray.add(fillSubjectOrganFieldModel("oSubjectOrgan_Depository/sNameFull", oObjectStockPaper.getoSubjectOrgan_Depository(), aPropertyNameRelations));
  465.         aJsonArray.add(fillSubjectOrganFieldModel("oSubjectOrgan_Manager/sNameFull", oObjectStockPaper.getoSubjectOrgan_Manager(), aPropertyNameRelations));
  466.         aJsonArray.add(fillSubjectOrganFieldModel("oSubjectOrgan_MortgageManager/sNameFull", oObjectStockPaper.getoSubjectOrgan_MortgageManager(), aPropertyNameRelations));
  467.         return addOrder(aJsonArray);
  468.     }
  469.  
  470.     private JsonArray getOptionCertificateFieldsData(ObjectStockPaperOptionCertificate oObjectStockPaper, Map<String, String> aPropertyNameRelations) {
  471.         ArrayList<JsonObject> aJsonArray = new ArrayList();
  472.         aJsonArray.add(fillFieldModel("nCommonDenomination", oObjectStockPaper.getnCommonDenomination(), aPropertyNameRelations));
  473.         aJsonArray.add(fillFieldModel("nQuantity", oObjectStockPaper.getnQuantity(), aPropertyNameRelations));
  474.         aJsonArray.add(fillFieldModel("nDenomination", oObjectStockPaper.getnDenomination(), aPropertyNameRelations));
  475.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_TypeOptionCertificate", oObjectStockPaper.getoDictionary_TypeOptionCertificate(), aPropertyNameRelations));
  476.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_VarietyOptionCertificate", oObjectStockPaper.getoDictionary_VarietyOptionCertificate(), aPropertyNameRelations));
  477.         aJsonArray.add(fillDictionaryFieldModel("oDictionary_FormExistence", oObjectStockPaper.getOnDictionary_FormExistence(), aPropertyNameRelations));
  478.         aJsonArray.add(fillFieldModel("sTerm", oObjectStockPaper.getsTerm(), aPropertyNameRelations));
  479.         aJsonArray.add(fillFieldModel("bFictitious", oObjectStockPaper.isbFictitious(), aPropertyNameRelations));
  480.         aJsonArray.add(fillFieldModel("nSizeCharterCapitalIssuance", oObjectStockPaper.getnSizeCharterCapitalIssuance(), aPropertyNameRelations));
  481.         aJsonArray.add(fillFieldModel("nSizeCharterCapitalDelta", oObjectStockPaper.getnSizeCharterCapitalDelta(), aPropertyNameRelations));
  482.         aJsonArray.add(fillFieldModel("nPaidStateFee", oObjectStockPaper.getnPaidStateFee(), aPropertyNameRelations));
  483.         aJsonArray.add(fillFieldModel("sSeries", oObjectStockPaper.getsSeries(), aPropertyNameRelations));
  484.         aJsonArray.add(fillFieldModel("sRegion", oObjectStockPaper.getsRegion(), aPropertyNameRelations));
  485.         aJsonArray.add(fillFieldModel("sTermTurnover", oObjectStockPaper.getsTermTurnover(), aPropertyNameRelations));
  486.         aJsonArray.add(fillSubjectOrganFieldModel("oSubjectOrgan_Auditor.sNameFull", oObjectStockPaper.getoSubjectOrgan_Auditor(), aPropertyNameRelations));
  487.         aJsonArray.add(fillSubjectOrganOKPOFieldModel("oSubjectOrgan_Auditor.sOKPO", oObjectStockPaper.getoSubjectOrgan_Auditor(), aPropertyNameRelations));
  488.         aJsonArray.add(fillSubjectOrganFormPrivacyFieldModel("SubjectOrgan.sFormPrivacy", oObjectStockPaper.getoSubjectOrgan(), aPropertyNameRelations));
  489.         return addOrder(aJsonArray);
  490.     }
  491.  
  492.     public JsonObject fillFieldModel(String sParameter, Object oValue, Map<String, String> aPropertyNameRelations) {
  493.         JsonObject oJsonObject = new JsonObject();
  494.         oJsonObject.addProperty("id", sParameter);
  495.         oJsonObject.addProperty("name", tableFieldPublicService.getName_UA_Contains(sParameter, aPropertyNameRelations));
  496.         if (oValue != null) {
  497.             oJsonObject.addProperty("value", oValue.toString());
  498.         } else {
  499.             oJsonObject.add("value", null);
  500.         }
  501.         return oJsonObject;
  502.     }
  503.  
  504.     private JsonObject fillFieldModel(String sParameter, Double oValue, Map<String, String> aPropertyNameRelations) {
  505.         JsonObject oJsonObject = new JsonObject();
  506.         oJsonObject.addProperty("id", sParameter);
  507.         oJsonObject.addProperty("name", tableFieldPublicService.getName_UA_Contains(sParameter, aPropertyNameRelations));
  508.         if (oValue != null) {
  509.             oJsonObject.addProperty("value", oValue);
  510.         } else {
  511.             oJsonObject.add("value", null);
  512.         }
  513.         return oJsonObject;
  514.     }
  515.  
  516.     private JsonObject fillDictionaryFieldModel(String sParameter, Dictionary oDictionary, Map<String, String> aPropertyNameRelations) {
  517.         String sValue = null;
  518.         if (Objects.nonNull(oDictionary)) {
  519.             sValue = oDictionary.getsValue();
  520.         }
  521.         return fillFieldModel(sParameter, sValue, aPropertyNameRelations);
  522.     }
  523.  
  524.     private JsonObject fillSubjectOrganOKPOFieldModel(String sParameter, SubjectOrgan oSubjectOrgan, Map<String, String> aPropertyNameRelations) {
  525.         String sValue = null;
  526.         if (Objects.nonNull(oSubjectOrgan)) {
  527.             sValue = oSubjectOrgan.getsOKPO();
  528.         }
  529.         return fillFieldModel(sParameter, sValue, aPropertyNameRelations);
  530.     }
  531.  
  532.     private JsonObject fillSubjectOrganSizeCharterCapitalFieldModel(String sParameter, SubjectOrgan oSubjectOrgan, Map<String, String> aPropertyNameRelations) {
  533.         String sValue = null;
  534.         if (Objects.nonNull(oSubjectOrgan)) {
  535.             sValue = String.valueOf(oSubjectOrgan.getnSizeCharterCapital());
  536.         }
  537.         return fillFieldModel(sParameter, sValue, aPropertyNameRelations);
  538.     }
  539.  
  540.     private JsonObject fillSubjectOrganFieldModel(String sParameter, SubjectOrgan oSubjectOrgan, Map<String, String> aPropertyNameRelations) {
  541.         String sValue = null;
  542.         if (Objects.nonNull(oSubjectOrgan)) {
  543.             sValue = oSubjectOrgan.getsNameFull();
  544.         }
  545.         return fillFieldModel(sParameter, sValue, aPropertyNameRelations);
  546.     }
  547.  
  548.     private JsonObject fillSubjectOrganFormPrivacyFieldModel(String sParameter, SubjectOrgan oSubjectOrgan, Map<String, String> aPropertyNameRelations) {
  549.         String sValue = null;
  550.         if (Objects.nonNull(oSubjectOrgan)) {
  551.             sValue = oSubjectOrgan.getsFormPrivacy();
  552.         }
  553.         return fillFieldModel(sParameter, sValue, aPropertyNameRelations);
  554.     }
  555.  
  556.     private JsonArray addOrder(List<JsonObject> aJsonArray) {
  557.         JsonArray aoJsonArray = new JsonArray();
  558.         int nOrder = 1;
  559.         for (JsonObject oJsonObject : aJsonArray) {
  560.             oJsonObject.addProperty("order", nOrder++);
  561.             aoJsonArray.add(oJsonObject);
  562.         }
  563.         return aoJsonArray;
  564.     }
  565.  
  566. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement