Commit 59aade61 by 史文博

Merge branch 'feature/form_statistics_05' into 'develop'

综合BI:部分合同查询及部分销售查询

See merge request kunlun/xyst_dinas/xyst_dinas_backend!51
parents 41e87b1e 6f914e89
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>8e6dadc2-3915-4734-abf9-812635cd83d8</id>
<name>com.xyst.dinas.statistics.advanquery.ContractDinasTypeAmountStatisticsAdvQuery</name>
<title>合同金额</title>
<description>合同金额</description>
<define>advanced.query.template</define>
<define-version>1.0</define-version>
<content>
<template>
<sql-type>SQL</sql-type>
<sql>
SELECT
dinasType.type AS type ,
dinasType.dinasTypeName AS dinasTypeName,
SUM(contractAssociatedcontractDetail.amount) AS dinasAmount
FROM
ContractAssociatedcontractDetail AS contractAssociatedcontractDetail
LEFT JOIN DinasType AS dinasType ON contractAssociatedcontractDetail.dinasType = dinasType.id
LEFT JOIN Contract AS contract on contractAssociatedcontractDetail.master = contract.id
WHERE 1=1
AND contract.approveState = 2
AND contract.contractState &lt;&gt; 'MODIFIED'
AND contract.regionalCompany = :?regionalCompany
GROUP BY contractAssociatedcontractDetail.dinasType
</sql>
</template>
</content>
</metadata>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>2f8c5804-7af3-49b6-9f3e-f91c3fa03cab</id>
<name>com.xyst.dinas.statistics.advanquery.ContractDinasTypeAmountStatisticsQueryView</name>
<title>合同金额</title>
<description>合同金额</description>
<define>advanced.query.view</define>
<define-version>1.0</define-version>
<content>
<view>
{
"name": "合同金额",
"title": "合同金额",
"description": "合同金额",
"actions": [],
"scenes" : {
"isShowScenes" : true
},
"fuzzySearch": [
],
"isShowTabCountZero": true,
"groups": [
{
"name": "all",
"title": "全部",
"content": {
"datasource": "com.xyst.dinas.statistics.advanquery.ContractDinasTypeAmountStatisticsAdvQuery"
}
}
],
"content": {
"isShowView": "table",
"datasource": "com.xyst.dinas.statistics.advanquery.ContractDinasTypeAmountStatisticsAdvQuery",
"arguments": {
"items": [
]
},
"actions": [
],
"table": {
"selectType": "MULTI",
"serialNumber": "series",
"pageSize": 10,
"orders":[
],
"expand": false,
"columns": [
{
"type": "VALUE",
"title": "类型0砂1石",
"key": "type",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "砂石名称",
"key": "dinasTypeName",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "砂石金额",
"key": "dinasAmount",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
}
]
}
}
}
</view>
</content>
</metadata>
......@@ -14,11 +14,16 @@
SELECT
dinasType.type AS type ,
dinasType.dinasTypeName AS dinasTypeName,
contractAssociatedcontractDetail.purchaseAmount AS purchaseAmount
SUM(contractAssociatedcontractDetail.purchaseAmount) AS purchaseAmount
FROM
ContractAssociatedcontractDetail AS contractAssociatedcontractDetail
LEFT JOIN DinasType AS dinasType ON contractAssociatedcontractDetail.dinasType = dinasType.id
LEFT JOIN Contract AS contract on contractAssociatedcontractDetail.master = contract.id
WHERE WHERE 1=1
AND contract.approveState = 2
AND contract.contractState &lt;&gt; 'MODIFIED'
AND contract.regionalCompany = :?regionalCompany
GROUP BY contractAssociatedcontractDetail.dinasType
</sql>
</template>
......
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>65a97e30-cbe0-4910-a589-8fc9033f3530</id>
<name>com.xyst.dinas.statistics.advanquery.ContractNumberTrendStatisticsAdvQuery</name>
<title>合同登记趋势图</title>
<description>合同登记趋势图</description>
<define>advanced.query.template</define>
<define-version>1.0</define-version>
<content>
<template>
<sql-type>SQL</sql-type>
<sql>
SELECT
COUNT(1) AS contractNumber,
monthof(contract.createTime) AS createTime
FROM
Contract AS contract
WHERE 1=1
AND contract.approveState = 2
AND contract.createTime &gt;= :?startDate
AND contract.createTime &lt;= :?endDate
GROUP BY monthof(contract.createTime)
</sql>
</template>
</content>
</metadata>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>ae904a9b-6a7b-4bf6-8e72-6f98dd6d2c98</id>
<name>com.xyst.dinas.statistics.advanquery.ContractNumberTrendStatisticsQueryView</name>
<title>合同登记趋势图</title>
<description>合同登记趋势图</description>
<define>advanced.query.view</define>
<define-version>1.0</define-version>
<content>
<view>
{
"name": "合同登记趋势图",
"title": "合同登记趋势图",
"description": "合同登记趋势图",
"actions": [],
"scenes" : {
"isShowScenes" : true
},
"fuzzySearch": [
],
"isShowTabCountZero": true,
"groups": [
{
"name": "all",
"title": "全部",
"content": {
"datasource": "com.xyst.dinas.statistics.advanquery.ContractNumberTrendStatisticsAdvQuery"
}
}
],
"content": {
"isShowView": "table",
"datasource": "com.xyst.dinas.statistics.advanquery.ContractNumberTrendStatisticsAdvQuery",
"arguments": {
"items": [
]
},
"actions": [
],
"table": {
"selectType": "MULTI",
"serialNumber": "series",
"pageSize": 10,
"orders":[
],
"expand": false,
"columns": [
{
"type": "VALUE",
"title": "合同数量",
"key": "contractNumber",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "签订月份",
"key": "createTime",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
}
]
}
}
}
</view>
</content>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>31546a29-b71c-4d3b-96d0-e0f87533e2d2</id>
<name>com.xyst.dinas.statistics.advanquery.ContractTopDescStatisticsAdvQuery</name>
<title>TOP合同</title>
<description>TOP合同</description>
<define>advanced.query.template</define>
<define-version>1.0</define-version>
<content>
<template>
<sql-type>SQL</sql-type>
<sql>
SELECT
purchaseSandCompany.name AS name,
contract.amount AS amount ,
contract.dinasAmount AS dinasAmount
FROM
Contract AS contract
LEFT JOIN PurchaseSandCompany AS purchaseSandCompany on purchaseSandCompany.id = contract.purchaseSandUnit
where 1=1
AND contract.approveState = 2
AND contract.contractState &lt;&gt; 'MODIFIED'
AND contract.regionalCompany = :?regionalCompany
ORDER BY :?orderBy DESC
LIMIT :?limitNumber
</sql>
</template>
</content>
</metadata>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>019e9b8f-cf0f-40ee-a52b-a9e05e062e7a</id>
<name>com.xyst.dinas.statistics.advanquery.ContractTopDescStatisticsQueryView</name>
<title>TOP合同</title>
<description>TOP合同</description>
<define>advanced.query.view</define>
<define-version>1.0</define-version>
<content>
<view>
{
"name": "TOP合同",
"title": "TOP合同",
"description": "TOP合同",
"actions": [],
"scenes" : {
"isShowScenes" : true
},
"fuzzySearch": [
],
"isShowTabCountZero": true,
"groups": [
{
"name": "all",
"title": "全部",
"content": {
"datasource": "com.xyst.dinas.statistics.advanquery.ContractTopDescStatisticsAdvQuery"
}
}
],
"content": {
"isShowView": "table",
"datasource": "com.xyst.dinas.statistics.advanquery.ContractTopDescStatisticsAdvQuery",
"arguments": {
"items": [
]
},
"actions": [
],
"table": {
"selectType": "MULTI",
"serialNumber": "series",
"pageSize": 10,
"orders":[
],
"expand": false,
"columns": [
{
"type": "VALUE",
"title": "购砂单位",
"key": "name",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "砂石金额",
"key": "amount",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "砂石数量",
"key": "dinasAmount",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
}
]
}
}
}
</view>
</content>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>4bb21aa6-246e-4c5e-86b1-72cc0f1672d6</id>
<name>com.xyst.dinas.statistics.advanquery.SalesAmountByRegionalCompanyStatisticsAdvQuery</name>
<title>区域公司销售额统计</title>
<description>区域公司销售额统计</description>
<define>advanced.query.template</define>
<define-version>1.0</define-version>
<content>
<template>
<sql-type>SQL</sql-type>
<sql>
SELECT
results.regionalCompanyName AS regionalCompanyName,
SUM(results.amount) AS amount,
SUM(results.dealAmount) AS dealAmount,
results.regionalCompany AS regionalCompany
FROM
(
SELECT
xystOrganization.name AS regionalCompanyName,
salesRecord.regionalCompany AS regionalCompany,
salesRecord.amount AS amount,
salesRecord.deal_Amount AS dealAmount
FROM
SalesRecord AS salesRecord
LEFT JOIN xystOrganization AS xystOrganization on xystOrganization.id = salesRecord.regionalCompany
WHERE 1=1
AND salesRecord.syncTime &gt;= :?startDate
AND salesRecord.syncTime &lt;= :?endDate
AND salesRecord.regionalCompany = :?regionalCompany
AND salesRecord.regionalCompany IS NOT NULL
)AS results
GROUP BY results.regionalCompany
</sql>
</template>
</content>
</metadata>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>2d3a2235-6dab-414d-b5b9-b53a78bb9b9b</id>
<name>com.xyst.dinas.statistics.advanquery.SalesAmountByRegionalCompanyStatisticsQueryView</name>
<title>区域公司销售额统计</title>
<description>区域公司销售额统计</description>
<define>advanced.query.view</define>
<define-version>1.0</define-version>
<content>
<view>
{
"name": "区域公司销售额统计",
"title": "区域公司销售额统计",
"description": "区域公司销售额统计",
"actions": [],
"scenes" : {
"isShowScenes" : true
},
"fuzzySearch": [
],
"isShowTabCountZero": true,
"groups": [
{
"name": "all",
"title": "全部",
"content": {
"datasource": "com.xyst.dinas.statistics.advanquery.SalesAmountByRegionalCompanyStatisticsAdvQuery"
}
}
],
"content": {
"isShowView": "table",
"datasource": "com.xyst.dinas.statistics.advanquery.SalesAmountByRegionalCompanyStatisticsAdvQuery",
"arguments": {
"items": [
]
},
"actions": [
],
"table": {
"selectType": "MULTI",
"serialNumber": "series",
"pageSize": 10,
"orders":[
],
"expand": false,
"columns": [
{
"type": "VALUE",
"title": "区域公司名字",
"key": "regionalCompanyName",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "销售额",
"key": "amount",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "销售量",
"key": "dealAmount",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
}
,
{
"type": "VALUE",
"title": "区域公司",
"key": "regionalCompany",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
}
]
}
}
}
</view>
</content>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>a17c217b-d964-4385-b13c-1881cf232f41</id>
<name>com.xyst.dinas.statistics.advanquery.SalesAmountStatisticsAdvQuery</name>
<title>销售额统计</title>
<description>销售额统计</description>
<define>advanced.query.template</define>
<define-version>1.0</define-version>
<content>
<template>
<sql-type>SQL</sql-type>
<sql>
SELECT
SUM(results.amount) AS amount,
results.projectType AS projectType
FROM
(SELECT
salesRecord.amount as amount,
CASE
WHEN salesRecord.customerType = 'RetailInfo' THEN
'RetailInfo'
WHEN projectType.title = '重点项目' THEN 'keyProject'
WHEN projectType.title = '其他项目' THEN 'otherProject'
ELSE 'unknown'
END AS projectType
FROM
SalesRecord AS salesRecord
LEFT JOIN ProjectFiled as projectFiled on projectFiled.id = salesRecord.project
LEFT JOIN ProjectType AS projectType ON projectFiled.projectType = projectType.id
WHERE 1=1
AND salesRecord.syncTime &gt;= :?startDate
AND salesRecord.syncTime &lt;= :?endDate
AND salesRecord.regionalCompany = :?regionalCompany
)as results
GROUP BY results.projectType
</sql>
</template>
</content>
</metadata>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>07631306-5dbf-4760-9d75-77fedbd8805b</id>
<name>com.xyst.dinas.statistics.advanquery.SalesAmountStatisticsQueryView</name>
<title>销售额统计</title>
<description>销售额统计</description>
<define>advanced.query.view</define>
<define-version>1.0</define-version>
<content>
<view>
{
"name": "销售额统计",
"title": "销售额统计",
"description": "销售额统计",
"actions": [],
"scenes" : {
"isShowScenes" : true
},
"fuzzySearch": [
],
"isShowTabCountZero": true,
"groups": [
{
"name": "all",
"title": "全部",
"content": {
"datasource": "com.xyst.dinas.statistics.advanquery.SalesAmountStatisticsAdvQuery"
}
}
],
"content": {
"isShowView": "table",
"datasource": "com.xyst.dinas.statistics.advanquery.SalesAmountStatisticsAdvQuery",
"arguments": {
"items": [
]
},
"actions": [
],
"table": {
"selectType": "MULTI",
"serialNumber": "series",
"pageSize": 10,
"orders":[
],
"expand": false,
"columns": [
{
"type": "VALUE",
"title": "合同销售额",
"key": "amount",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "合同类型",
"key": "projectType",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
}
]
}
}
}
</view>
</content>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>615839f2-021e-42d9-993e-3bb5f1fa2c77</id>
<name>com.xyst.dinas.statistics.advanquery.SalesDinasTypeDealAmountStatisticsAdvQuery</name>
<title>销售砂石类型统计</title>
<description>销售砂石类型统计</description>
<define>advanced.query.template</define>
<define-version>1.0</define-version>
<content>
<template>
<sql-type>SQL</sql-type>
<sql>
SELECT
results.dinasTypeName AS dinasTypeName,
SUM(results.dealAmount) AS dealAmount,
SUM(results.amount) AS amount,
results.dinasType AS dinasType
FROM
(
SELECT
dinasType.dinasTypeName AS dinasTypeName,
salesRecord.dinasType AS dinasType,
salesRecord.dealAmount AS dealAmount,
salesRecord.amount AS amount
FROM
SalesRecord AS salesRecord
LEFT JOIN DinasType AS dinasType on dinasType.id = salesRecord.dinasType
WHERE 1=1
AND salesRecord.syncTime &gt;= :?startDate
AND salesRecord.syncTime &lt;= :?endDate
AND salesRecord.regionalCompany = :?regionalCompany
)AS results
GROUP BY results.dinasType
</sql>
</template>
</content>
</metadata>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>baca3279-53c1-48fd-89af-c0cdb00cdabd</id>
<name>com.xyst.dinas.statistics.advanquery.SalesDinasTypeDealAmountStatisticsQueryView</name>
<title>销售砂石类型统计</title>
<description>销售砂石类型统计</description>
<define>advanced.query.view</define>
<define-version>1.0</define-version>
<content>
<view>
{
"name": "销售砂石类型统计",
"title": "销售砂石类型统计",
"description": "销售砂石类型统计",
"actions": [],
"scenes" : {
"isShowScenes" : true
},
"fuzzySearch": [
],
"isShowTabCountZero": true,
"groups": [
{
"name": "all",
"title": "全部",
"content": {
"datasource": "com.xyst.dinas.statistics.advanquery.SalesDinasTypeDealAmountStatisticsAdvQuery"
}
}
],
"content": {
"isShowView": "table",
"datasource": "com.xyst.dinas.statistics.advanquery.SalesDinasTypeDealAmountStatisticsAdvQuery",
"arguments": {
"items": [
]
},
"actions": [
],
"table": {
"selectType": "MULTI",
"serialNumber": "series",
"pageSize": 10,
"orders":[
],
"expand": false,
"columns": [
{
"type": "VALUE",
"title": "砂石种类名称",
"key": "dinasTypeName",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "销售数量",
"key": "dealAmount",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "销售额",
"key": "amount",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "砂石类型",
"key": "dinasType",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
}
]
}
}
}
</view>
</content>
</metadata>
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>b400e3e5-0cb7-427f-8fc1-f52bc0cae727</id>
<name>com.xyst.dinas.statistics.advanquery.SalesProjectAmountTopStatisticsAdvQuery</name>
<title>销售项目前N名</title>
<description>销售项目前N名</description>
<define>advanced.query.template</define>
<define-version>1.0</define-version>
<content>
<template>
<sql-type>SQL</sql-type>
<sql>
SELECT
salesRecord.project AS project,
projectFiled.projectName AS projectName,
SUM(salesRecord.amount) AS amount
FROM
SalesRecord AS salesRecord
LEFT JOIN ProjectFiled as projectFiled on projectFiled.id = salesRecord.project
WHERE 1=1
AND salesRecord.syncTime &gt;= :?startDate
AND salesRecord.syncTime &lt;= :?endDate
AND salesRecord.regionalCompany = :?regionalCompany
GROUP BY salesRecord.project
ORDER BY salesRecord.amount DESC
LIMIT :?limitNum
</sql>
</template>
</content>
</metadata>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<metadata xmlns="http://www.beecode.cn/schema/amino-metadata">
<specification>1.0</specification>
<id>85135846-bc33-4d7e-8f3d-acc5efaa20b0</id>
<name>com.xyst.dinas.statistics.advanquery.SalesProjectAmountTopStatisticsQueryView</name>
<title>销售项目前N名</title>
<description>销售项目前N名</description>
<define>advanced.query.view</define>
<define-version>1.0</define-version>
<content>
<view>
{
"name": "销售项目前N名",
"title": "销售项目前N名",
"description": "销售项目前N名",
"actions": [],
"scenes" : {
"isShowScenes" : true
},
"fuzzySearch": [
],
"isShowTabCountZero": true,
"groups": [
{
"name": "all",
"title": "全部",
"content": {
"datasource": "com.xyst.dinas.statistics.advanquery.SalesProjectAmountTopStatisticsAdvQuery"
}
}
],
"content": {
"isShowView": "table",
"datasource": "com.xyst.dinas.statistics.advanquery.SalesProjectAmountTopStatisticsAdvQuery",
"arguments": {
"items": [
]
},
"actions": [
],
"table": {
"selectType": "MULTI",
"serialNumber": "series",
"pageSize": 10,
"orders":[
],
"expand": false,
"columns": [
{
"type": "VALUE",
"title": "项目名称",
"key": "projectName",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
},
{
"type": "VALUE",
"title": "销售额",
"key": "amount",
"columnType": {
"name": "select",
"data": {
"selected": true
}
}
}
]
}
}
}
</view>
</content>
</metadata>
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