Commit 7b9d0601 authored by pborate's avatar pborate

sales order and sales person wise sale order dashboard metadata and sql

git-svn-id: http://15.206.35.175/svn/proteus/business-java/trunk@191142 ce508802-f39f-4f6c-b175-0d175dae99d5
parent 148858c6
Insert into DASHBOARD_COMP (USER_ID,PAGE_ID,COMP_ID,TITLE,URI,WIDTH,HEIGHT,ROW_NO,COLUMN_NO,COMP_TYPE,COMP_NAME,ENTITY_TYPE,ENTITY_CODE,DBR_RESOURCE,DATA_MODEL) +
values ('SALES ',3,1,'Sales Order',null,350,0,0,1,'ANG','ANG','F','SALES ','salesOrder',null);
Insert into DASHBOARD_PAGES (USER_ID,PAGE_ID,TITLE,URI,IMAGE_URI,PAGE_TYPE,ENTITY_TYPE,ENTITY_CODE,CHG_USER,CHG_TERM,CHG_DATE,COMP_TYPE,DATA_MODEL,DBR_RESOURCE,COMP_NAME)
values ('SALES ',3,'Sales Order',null,null,'T','F','SALES ','SYSTEM ','SYSTEM',sysdate,'ANG ',null,null,'ANG');
Insert into DASHBOARD_COMP (USER_ID,PAGE_ID,COMP_ID,TITLE,URI,WIDTH,HEIGHT,ROW_NO,COLUMN_NO,COMP_TYPE,COMP_NAME,ENTITY_TYPE,ENTITY_CODE,DBR_RESOURCE,DATA_MODEL)
values ('SALES ',4,1,'Sales Person Wise Sale Order',null,350,0,0,1,'ANG','ANG','F','SALES ','sprsSalesOrder',null);
Insert into DASHBOARD_PAGES (USER_ID,PAGE_ID,TITLE,URI,IMAGE_URI,PAGE_TYPE,ENTITY_TYPE,ENTITY_CODE,CHG_USER,CHG_TERM,CHG_DATE,COMP_TYPE,DATA_MODEL,DBR_RESOURCE,COMP_NAME)
values ('SALES ',4,'Sales Person Wise Sale Order',null,null,'T','F','SALES ','SYSTEM ','SYSTEM',sysdate,'ANG ',null,null,'ANG');
Insert into DATA_MODEL (DATA_MODEL,DESCR,DATA_SOURCE,SOURCE_DET,SOURCE_INPUT,FORMAT,CHG_DATE,CHG_USER,CHG_TERM,VALID_DAYS,SCOPE_NAME,SYNC_DATA_MODEL)
values ('SALEORDER','SALEORDER DATA','S','SELECT
SOF.TRAN_ID AS TRAN_ID,
SOF.ORDER_DATE AS ORDER_DATE,
SOF.CUST_CODE AS CUST_CODE,
(SELECT CUST_NAME FROM CUSTOMER WHERE CUST_CODE = SOF.CUST_CODE) AS CUST_NAME,
SOF.CUST_CODE__BIL AS CUST_CODE__BIL,
(SELECT CUST_NAME FROM CUSTOMER WHERE CUST_CODE = SOF.CUST_CODE__BIL) AS CUST_NAME__BIL,
SO.SALE_ORDER AS SALE_ORDER,
CASE WHEN ( SOF.DLV_STAT = 1) THEN ''S3''
WHEN ( SOF.DLV_STAT = 2 ) THEN ''S4''
ELSE ''NA'' END AS STATUS,
CASE WHEN ( SOF.DLV_STAT = 1) THEN ''Not-Receipt''
WHEN ( SOF.DLV_STAT = 2 ) THEN ''Receipt''
ELSE ''NA'' END AS STAT_DESCR,
ITEM.ITEM_CODE,
ITEM.DESCR,
IAI.QUANTITY,
IAI.RECEIPT_QTY,
IAI.REJECTED_QTY
FROM
SORDFORM SOF
LEFT OUTER JOIN SORDER SO ON SO.UDF__STR1 = SOF.TRAN_ID
LEFT OUTER JOIN INV_ACKW_HDR IAH ON ( IAH.SALE_ORDER = SO.SALE_ORDER )
LEFT OUTER JOIN INV_ACKW_ITEMS IAI ON ( IAI.TRAN_ID = IAH.TRAN_ID )
LEFT OUTER JOIN ITEM ITEM ON ITEM.ITEM_CODE = IAI.ITEM_CODE
WHERE (SOF.CUST_CODE = ? OR SOF.CUST_CODE__BIL = ? )
AND SOF.ORDER_DATE BETWEEN ? AND ?
AND SOF.DLV_STAT IS NOT NULL
UNION ALL
SELECT
SOF.TRAN_ID AS TRAN_ID,
SOF.ORDER_DATE AS ORDER_DATE,
SOF.CUST_CODE AS CUST_CODE,
(SELECT CUST_NAME FROM CUSTOMER WHERE CUST_CODE = SOF.CUST_CODE) AS CUST_NAME,
SOF.CUST_CODE__BIL AS CUST_CODE__BIL,
(SELECT CUST_NAME FROM CUSTOMER WHERE CUST_CODE = SOF.CUST_CODE__BIL) AS CUST_NAME__BIL,
'''' AS SALE_ORDER,
CASE WHEN ( SOF.STATUS = ''N'') THEN ''S1''
WHEN ( SOF.STATUS = ''B'') THEN ''S2''
WHEN ( SOF.STATUS = ''S'') THEN ''S5''
WHEN ( SOF.STATUS = ''R'') THEN ''S6''
ELSE ''NA'' END AS STATUS,
CASE WHEN ( SOF.STATUS = ''N'') THEN ''Draft''
WHEN ( SOF.STATUS = ''B'') THEN ''Approval Pending''
WHEN ( SOF.STATUS = ''S'') THEN ''Approved''
WHEN ( SOF.STATUS = ''R'') THEN ''Rejected''
ELSE ''NA'' END AS STAT_DESCR,
ITEM.ITEM_CODE,
ITEM.DESCR,
SOFDET.QTY_1 AS QUANTITY,
0 AS RECEIPT_QTY,
0 AS REJECTED_QTY
FROM
SORDFORM SOF
LEFT OUTER JOIN SORDFORMDET SOFDET ON SOFDET.TRAN_ID = SOF.TRAN_ID
LEFT OUTER JOIN ITEM ITEM ON ITEM.ITEM_CODE = SOFDET.ITEM_CODE
WHERE (SOF.CUST_CODE = ? OR SOF.CUST_CODE__BIL = ? )
AND SOF.ORDER_DATE BETWEEN ? AND ?
AND SOF.DLV_STAT IS NULL
ORDER BY ORDER_DATE, STATUS',':entityCode,:entityCode,:from_date,:to_date,:entityCode,:entityCode,:from_date,:to_date','json',sysdate,'Base ','Base ',null,'to_date'||'&'||'from_date',null);
Insert into DATA_MODEL (DATA_MODEL,DESCR,DATA_SOURCE,SOURCE_DET,SOURCE_INPUT,FORMAT,CHG_DATE,CHG_USER,CHG_TERM,VALID_DAYS,SCOPE_NAME,SYNC_DATA_MODEL)
values ('SPRS_SALEORDER','SALES PERSON WISE SALEORDER DATA','S','SELECT
SOF.TRAN_ID AS TRAN_ID,
SOF.ORDER_DATE AS ORDER_DATE,
SOF.CUST_CODE AS CUST_CODE,
(SELECT CUST_NAME FROM CUSTOMER WHERE CUST_CODE = SOF.CUST_CODE) AS CUST_NAME,
SOF.CUST_CODE__BIL AS CUST_CODE__BIL,
(SELECT CUST_NAME FROM CUSTOMER WHERE CUST_CODE = SOF.CUST_CODE__BIL) AS CUST_NAME__BIL,
SO.SALE_ORDER AS SALE_ORDER,
CASE WHEN ( SOF.STATUS = ''S'' AND SOF.DLV_STAT IS NULL) THEN ''S3''
WHEN ( SOF.STATUS = ''R'' AND SOF.DLV_STAT IS NULL) THEN ''S4''
WHEN ( SOF.DLV_STAT = 1) THEN ''S5''
WHEN ( SOF.DLV_STAT = 2 ) THEN ''S6''
ELSE ''NA'' END AS STATUS,
CASE WHEN ( SOF.STATUS = ''S'' AND SOF.DLV_STAT IS NULL) THEN ''Approved''
WHEN ( SOF.STATUS = ''R'' AND SOF.DLV_STAT IS NULL) THEN ''Rejected''
WHEN ( SOF.DLV_STAT = 1) THEN ''Not-Receipt''
WHEN ( SOF.DLV_STAT = 2 ) THEN ''Receipt''
ELSE ''NA'' END AS STAT_DESCR,
SOFDET.ITEM_SER__PROM,
ITEM.ITEM_CODE,
ITEM.DESCR,
IAI.QUANTITY,
IAI.RECEIPT_QTY,
IAI.REJECTED_QTY
FROM
SORDFORM SOF
LEFT OUTER JOIN SORDER SO ON SO.UDF__STR1 = SOF.TRAN_ID
LEFT OUTER JOIN INV_ACKW_HDR IAH ON ( IAH.SALE_ORDER = SO.SALE_ORDER )
LEFT OUTER JOIN INV_ACKW_ITEMS IAI ON ( IAI.TRAN_ID = IAH.TRAN_ID )
LEFT OUTER JOIN SORDFORMDET SOFDET ON SOFDET.TRAN_ID = SOF.TRAN_ID
LEFT OUTER JOIN ITEM ITEM ON ITEM.ITEM_CODE = SOFDET.ITEM_CODE
WHERE SOFDET.ITEM_SER__PROM = ITEM.ITEM_SER
AND IAI.ITEM_CODE = SOFDET.ITEM_CODE
AND (SOFDET.ITEM_SER__PROM IN ( SELECT ITEM_SER FROM CUSTOMER_SERIES WHERE SALES_PERS = ? and CUST_CODE =SOF.CUST_CODE))
AND SOF.ORDER_DATE BETWEEN ? AND ?
AND SOF.STATUS IN( ''S'',''R'')
UNION ALL
SELECT
SOF.TRAN_ID AS TRAN_ID,
SOF.ORDER_DATE AS ORDER_DATE,
SOF.CUST_CODE AS CUST_CODE,
(SELECT CUST_NAME FROM CUSTOMER WHERE CUST_CODE = SOF.CUST_CODE) AS CUST_NAME,
SOF.CUST_CODE__BIL AS CUST_CODE__BIL,
(SELECT CUST_NAME FROM CUSTOMER WHERE CUST_CODE = SOF.CUST_CODE__BIL) AS CUST_NAME__BIL,
'''' AS SALE_ORDER,
CASE WHEN ( SOF.STATUS = ''N'') THEN ''S1''
WHEN ( SOF.STATUS = ''B'') THEN ''S2''
ELSE ''NA'' END AS STATUS,
CASE WHEN ( SOF.STATUS = ''N'') THEN ''Draft''
WHEN ( SOF.STATUS = ''B'') THEN ''Approval Pending''
ELSE ''NA'' END AS STAT_DESCR,
SOFDET.ITEM_SER__PROM,
ITEM.ITEM_CODE,
ITEM.DESCR,
SOFDET.QTY_1 AS QUANTITY,
0 AS RECEIPT_QTY,
0 AS REJECTED_QTY
FROM
SORDFORM SOF
LEFT OUTER JOIN SORDFORMDET SOFDET ON SOFDET.TRAN_ID = SOF.TRAN_ID
LEFT OUTER JOIN ITEM ITEM ON ITEM.ITEM_CODE = SOFDET.ITEM_CODE
WHERE SOFDET.ITEM_SER__PROM = ITEM.ITEM_SER
AND (SOFDET.ITEM_SER__PROM IN ( SELECT ITEM_SER FROM CUSTOMER_SERIES WHERE SALES_PERS = ? AND CUST_CODE =SOF.CUST_CODE))
AND SOF.ORDER_DATE BETWEEN ? AND ?
AND SOF.DLV_STAT IS NULL
AND SOF.STATUS IN( ''N'',''B'')
ORDER BY ORDER_DATE, STATUS',':entityCode,:from_date,:to_date,:entityCode,:from_date,:to_date','json',sysdate,'Base ','Base ',null,'to_date'||'&'||'from_date',null);
<?xml version='1.0'?>
<Root>
<filters display='Y'>
<filter type='4'>
<default_value><![CDATA[LAST('0','M')]]>
</default_value>
<col_name><![CDATA[from_date]]></col_name>
<col_descr><![CDATA[From date]]></col_descr>
<col_id><![CDATA[from_date]]></col_id>
<field_name><![CDATA[]]></field_name>
<mod_name><![CDATA[]]></mod_name>
<show_ontitle><![CDATA[1]]></show_ontitle>
<mandatory><![CDATA[Y]]></mandatory>
</filter>
<filter type='4'>
<default_value><![CDATA[NEXT('0','M')]]>
</default_value>
<col_name><![CDATA[to_date]]></col_name>
<col_descr><![CDATA[To date]]></col_descr>
<col_id><![CDATA[to_date]]></col_id>
<field_name><![CDATA[]]></field_name>
<mod_name><![CDATA[]]></mod_name>
<show_ontitle><![CDATA[1]]></show_ontitle>
<mandatory><![CDATA[Y]]></mandatory>
</filter>
</filters>
<page_title><![CDATA[Sales's Order]]></page_title>
<datasource id ='1' driverName='DriverITM' dataSourceType = 'dataModel'><![CDATA[SALEORDER]]></datasource>
<view id='1' name='SalesOrder'>
<component datasource='1' id='1' type='CHART'>
<component_icon><![CDATA[salesOrdersSummary.svg]]></component_icon>
<ComponentTitle><![CDATA[Sales Order Summery]]></ComponentTitle>
<ComponentName><![CDATA[chart-component]]></ComponentName>
<component_css><![CDATA[db-col-2]]></component_css>
<obj_name><![CDATA[sordform_status]]></obj_name>
<component_descr><![CDATA[]]></component_descr>
<height><![CDATA[]]></height>
<chart_properties id='1' chartProvider='chartjs'>
<chart_type id='doughnut'><![CDATA[doughnut]]></chart_type>
<height><![CDATA[270px]]></height>
<width><![CDATA[]]></width>
<colors>
<color id="Draft"><![CDATA[207,207,207]]></color>
<color id="Approval Pending"><![CDATA[248,227,89]]></color>
<color id="Approved"><![CDATA[72,213,75]]></color>
<color id="Rejected"><![CDATA[251,127,127]]></color>
<color id="Not-Receipt"><![CDATA[252,179,93]]></color>
<color id="Receipt"><![CDATA[125,161,254]]></color>
</colors>
</chart_properties>
<column_group id='x_axis'>
<columns>
<column id='1' type='string' aggFunction='GROUP_BY'><![CDATA[STAT_DESCR]]></column>
</columns>
</column_group>
<column_group id='2'>
<columns>
<column id='1' type='string' aggFunction='COUNT'><![CDATA[TRAN_ID]]></column>
</columns>
</column_group>
<!-- <column_group id='x_axis'>
<col_group_title><![CDATA[]]></col_group_title>
<columns>
<column id='OVERALLSTAT' ><![CDATA[OVERALLSTAT]]></column>
</columns>
</column_group>
<column_group id='y_axis'>
<col_group_title><![CDATA[]]></col_group_title>
<columns>
<column id='count' aggregate='sum' ><![CDATA[count]]></column>
</columns>
</column_group>
-->
</component>
<component datasource='1' id='2' type='FEED'>
<component_icon><![CDATA[salesOrders.svg]]></component_icon>
<ComponentTitle><![CDATA[Sales Orders]]></ComponentTitle>
<ComponentName><![CDATA[feed-component]]></ComponentName>
<component_css><![CDATA[db-col-2]]></component_css>
<component_descr><![CDATA[]]></component_descr>
<obj_name><![CDATA[sordform_status]]></obj_name>
<height><![CDATA[]]></height>
<layout protoType='card'>
<html><![CDATA[
<details *ngFor = "let ctx of context; let i = index">
<summary *ngIf="ctx && ctx.objects && ctx.objects.length > 0" style="width: 100%;">
<ng-container *ngTemplateOutlet=" parentTemplate; context:{ $implicit: ctx.objects[0] }" ></ng-container>
<div class="timeline-expand-icon"></div>
</summary>
<div *ngIf="ctx && ctx.objects && ctx.objects.length > 0">
<div *ngFor="let childData of ctx.objects ">
<ng-container *ngTemplateOutlet=" childTemplate; context:{ $implicit: childData }" ></ng-container>
</div>
</div>
</details>
<ng-template #parentTemplate let-parentData >
<div class = "tree-row" >
<div class = "tree-row-img">
<span class = "img-text-view">{{parentData.CUST_NAME?.charAt(0)}}</span>
</div>
<div class="tree-row-content">
<span class="tree-row-singleline">{{parentData.TRAN_ID}} - {{parentData.CUST_NAME}}</span>
<div class = "tree-row-status">
<span class= "order-date" style="float:right;"> {{parentData.ORDER_DATE | date : 'dd/MM/yy'}}</span>
<span *ngIf="parentData.STATUS=='S1'" class= "order-stat" style="background-color: rgba(207,207,207,0.6);"></span>
<span *ngIf="parentData.STATUS=='S2'" class= "order-stat" style="background-color: rgba(248,227,89,0.6);"></span>
<span *ngIf="parentData.STATUS=='S3'" class= "order-stat" style="background-color: rgba(252,179,93,0.6); "></span>
<span *ngIf="parentData.STATUS=='S4'" class= "order-stat" style="background-color: rgba(125,161,254,0.6) ;"></span>
<span *ngIf="parentData.STATUS=='S5'" class= "order-stat" style="background-color: rgba(72,213,75,0.6) ;"></span>
<span *ngIf="parentData.STATUS=='S6'" class= "order-stat" style="background-color: rgba(251,127,127,0.6) ;"></span>
</div>
<div class = "tree-row2">
<span *ngIf="parentData.STAT_DESCR" class= "order-status" >{{parentData.STAT_DESCR}}</span>
</div>
</div>
</div>
</ng-template>
<ng-template #childTemplate let-childData >
<div *ngIf="childData.ITEM_CODE" class = "tree-row-child" >
<div class = "tree-row-img">
<span class = "img-text-view">{{childData.DESCR?.charAt(0)}}</span>
</div>
<div class="tree-row-content">
<div class = "tree-row1">
<span> {{childData.DESCR}} </span>
</div>
<div class = "tree-row2">
<span> Order Qty:{{childData.QUANTITY || '0'}} Rejected Qty: {{childData.REJECTED_QTY || '0'}}</span>
</div>
</div>
</div>
</ng-template>
]]></html>
</layout>
<column_group id='1'>
<columns>
<column id='1' type='string' aggFunction='GROUP_BY'><![CDATA[TRAN_ID]]></column>
</columns>
</column_group>
</component>
</view>
</Root>
<?xml version='1.0'?>
<Root>
<filters display='Y'>
<filter type='4'>
<default_value><![CDATA[LAST('0','M')]]>
</default_value>
<col_name><![CDATA[from_date]]></col_name>
<col_descr><![CDATA[From date]]></col_descr>
<col_id><![CDATA[from_date]]></col_id>
<field_name><![CDATA[]]></field_name>
<mod_name><![CDATA[]]></mod_name>
<show_ontitle><![CDATA[1]]></show_ontitle>
<mandatory><![CDATA[Y]]></mandatory>
</filter>
<filter type='4'>
<default_value><![CDATA[NEXT('0','M')]]>
</default_value>
<col_name><![CDATA[to_date]]></col_name>
<col_descr><![CDATA[To date]]></col_descr>
<col_id><![CDATA[to_date]]></col_id>
<field_name><![CDATA[]]></field_name>
<mod_name><![CDATA[]]></mod_name>
<show_ontitle><![CDATA[1]]></show_ontitle>
<mandatory><![CDATA[Y]]></mandatory>
</filter>
</filters>
<page_title><![CDATA[Sales's Person wise Sale Order]]></page_title>
<datasource id ='1' driverName='DriverITM' dataSourceType = 'dataModel'><![CDATA[SPRS_SALEORDER]]></datasource>
<view id='1' name='SalesOrder'>
<component datasource='1' id='1' type='CHART'>
<component_icon><![CDATA[salesOrdersSummary.svg]]></component_icon>
<ComponentTitle><![CDATA[Sales Order Summery]]></ComponentTitle>
<ComponentName><![CDATA[chart-component]]></ComponentName>
<component_css><![CDATA[db-col-2]]></component_css>
<component_descr><![CDATA[]]></component_descr>
<height><![CDATA[]]></height>
<chart_properties id='1' chartProvider='chartjs'>
<chart_type id='doughnut'><![CDATA[doughnut]]></chart_type>
<height><![CDATA[270px]]></height>
<width><![CDATA[]]></width>
<colors>
<color id="Draft"><![CDATA[207,207,207]]></color>
<color id="Approval Pending"><![CDATA[248,227,89]]></color>
<color id="Approved"><![CDATA[72,213,75]]></color>
<color id="Rejected"><![CDATA[251,127,127]]></color>
<color id="Not-Receipt"><![CDATA[252,179,93]]></color>
<color id="Receipt"><![CDATA[125,161,254]]></color>
</colors>
</chart_properties>
<!-- <column_group id='x_axis'>
<col_group_title><![CDATA[]]></col_group_title>
<columns>
<column id='OVERALLSTAT' ><![CDATA[OVERALLSTAT]]></column>
</columns>
</column_group>
<column_group id='y_axis'>
<col_group_title><![CDATA[]]></col_group_title>
<columns>
<column id='count' aggregate='sum' ><![CDATA[count]]></column>
</columns>
</column_group>
-->
</component>
<component datasource='1' id='2' type='FEED'>
<component_icon><![CDATA[salesOrders.svg]]></component_icon>
<ComponentTitle><![CDATA[Sales Orders]]></ComponentTitle>
<ComponentName><![CDATA[feed-component]]></ComponentName>
<component_css><![CDATA[db-col-2]]></component_css>
<component_descr><![CDATA[]]></component_descr>
<height><![CDATA[]]></height>
<layout protoType='card'>
<html><![CDATA[
<details *ngFor = "let ctx of context; let i = index">
<summary *ngIf="ctx && ctx.objects && ctx.objects.length > 0" style="width: 100%;">
<ng-container *ngTemplateOutlet=" parentTemplate; context:{ $implicit: ctx.objects[0] }" ></ng-container>
<div class="timeline-expand-icon"></div>
</summary>
<div *ngIf="ctx && ctx.objects && ctx.objects.length > 0">
<div *ngFor="let childData of ctx.objects ">
<ng-container *ngTemplateOutlet=" childTemplate; context:{ $implicit: childData }" ></ng-container>
</div>
</div>
</details>
<ng-template #parentTemplate let-parentData >
<div class = "tree-row" >
<div class = "tree-row-img">
<span class = "img-text-view">{{parentData.CUST_CODE?.charAt(0)}}</span>
</div>
<div class="tree-row-content">
<span class="tree-row-singleline">{{parentData.TRAN_ID}} - {{parentData.CUST_NAME}}</span>
<div class = "tree-row-status">
<span class= "order-date" style="float:right;"> {{parentData.ORDER_DATE | date : 'dd/MM/yy'}}</span>
<span *ngIf="parentData.STATUS=='S1'" class= "order-stat" style="background-color: rgba(207,207,207,0.6);"></span>
<span *ngIf="parentData.STATUS=='S2'" class= "order-stat" style="background-color: rgba(248,227,89,0.6);"></span>
<span *ngIf="parentData.STATUS=='S3'" class= "order-stat" style="background-color: rgba(72,213,75,0.6); "></span>
<span *ngIf="parentData.STATUS=='S4'" class= "order-stat" style="background-color: rgba(251,127,127,0.6) ;"></span>
<span *ngIf="parentData.STATUS=='S5'" class= "order-stat" style="background-color: rgba(252,179,93,0.6) ;"></span>
<span *ngIf="parentData.STATUS=='S6'" class= "order-stat" style="background-color: rgba(125,161,254,0.6) ;"></span>
</div>
<div class = "tree-row2">
<span *ngIf="parentData.STAT_DESCR" class= "order-status" >{{parentData.STAT_DESCR}}</span>
</div>
</div>
</div>
</ng-template>
<ng-template #childTemplate let-childData >
<div *ngIf="childData.ITEM_CODE" class = "tree-row-child" >
<div class = "tree-row-img">
<span class = "img-text-view">{{childData.ITEM_CODE?.charAt(0)}}</span>
</div>
<div class="tree-row-content">
<div class = "tree-row1">
<span> {{childData.DESCR}} </span> :
</div>
<div class = "tree-row2">
<span> Order Qty:{{childData.QUANTITY || '0'}} Rejected Qty: {{childData.REJECTED_QTY || '0'}}</span>
</div>
</div>
</div>
</ng-template>
]]></html>
</layout>
<column_group id='1'>
<columns>
<column id='1' type='string' aggFunction='GROUP_BY'><![CDATA[TRAN_ID]]></column>
</columns>
</column_group>
</component>
</view>
</Root>
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