Commit e27a7096 by Amelin Konstantin

Fix UTI. Add temporary party identifier rules.

parent 40caf52c
......@@ -83,7 +83,11 @@ object Main {
val sourceXml = XML.loadFile(f.toString)
val template = Template(sourceXml)
val outputXml = XML.loadString(p.format(template.render))
/* temporary */
val outputXml = XML.loadString(p.format(template.render)
.replace("RP0058900001", "MFBIM")
.replace("NDC000000000", "SPB01")
.replace("НКО АО НРД", "ПАО «Санкт-Петербургская биржа»"))
val sourceXmlValid = if (template.isStraight) nsdXmlValid else rtsXmlValid
val outputXmlValid = if (template.isStraight) rtsXmlValid else nsdXmlValid
......
......@@ -9,9 +9,13 @@ abstract class TradeTemplate(source: Node) extends RegiAmendTradeTemplate(source
<fpml:trade>
<fpml:tradeHeader>
{ /* Uses dictionary from PartyTemplate for identifier */ }
<fpml:partyTradeIdentifier>
<fpml:partyReference href={ parties("TradeRepository")._1 }/>
<fpml:tradeId tradeIdScheme={ "UTI" }>{ get((source \\ "trade" \ "tradeHeader" \ "partyTradeIdentifier").filter(_.child.filter(_.attributes.nonEmpty).head.attributes("href").text.mkString == "UTIGeneratingParty") \ "tradeId") }</fpml:tradeId>
</fpml:partyTradeIdentifier>
{ for { s <- source \\ "trade" \ "tradeHeader" \ "partyTradeIdentifier"
id = get(s \ "partyReference", "href").mkString
if id != "Sender" && id != "UTIGeneratingParty" } yield {
if id != "Sender" && id != "UTIGeneratingParty" && id != "TradeRepository"} yield {
<fpml:partyTradeIdentifier>
<fpml:partyReference href={ parties(id)._1 }/>
<fpml:tradeId tradeIdScheme={ get(s \ "tradeId", "tradeIdScheme") }>{ get(s \ "tradeId") }</fpml:tradeId>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment