This commit is contained in:
pengjie 2024-07-16 15:24:03 +08:00
parent 84dd6f9212
commit 4d7b9b3c5a
13 changed files with 82 additions and 61 deletions

View File

@ -3,13 +3,13 @@ http.port=6023
server.port=6688
# 数据库配置
#182.90.224.147
spring.datasource.db1.jdbc-url=jdbc:mysql://139.9.66.234:3306/wisdomsitezw?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8
spring.datasource.db1.jdbc-url=jdbc:mysql://192.168.34.155:3306/wisdomsitezw?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8
spring.datasource.db1.driver-class-name=com.mysql.jdbc.Driver
# 数据库加密配置
#spring.datasource.username=ENC(XR4C/hvTYCUqudS49Wh/jA==)
#spring.datasource.password=ENC(hHkiHEc6vSWjqfOtg2/2Uiihs0vX3l7V)
spring.datasource.db1.username=root
spring.datasource.db1.password=JXJ@admin
spring.datasource.db1.password=root
#spring.datasource.db1.password=root
spring.datasource.db2.jdbc-url=jdbc:mysql://192.168.34.155:3306/wflow_pro?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false&serverTimezone=GMT%2B8

View File

@ -5,7 +5,7 @@
"groupId" : "b76810fe6da84d138b6bc227dd26b198",
"name" : "里程碑",
"createTime" : null,
"updateTime" : 1689834700688,
"updateTime" : 1718940039091,
"lock" : null,
"createBy" : null,
"updateBy" : "admin",
@ -22,4 +22,4 @@
"responseBodyDefinition" : null
}
================================
return db.select("SELECT name, state FROM project_sub_item WHERE parent_id = 0 AND engineering_sn = #{body.engineeringSn} ")
return db.select("SELECT et.* FROM engineering_stage et INNER JOIN engineering e ON et.id = e.stage_id WHERE e.engineering_sn = #{body.engineeringSn} ")

View File

@ -5,7 +5,7 @@
"groupId" : "1f3d3e5b9fe340bab84de67b0de08f44",
"name" : "在建项目指标",
"createTime" : null,
"updateTime" : 1706864647618,
"updateTime" : 1720428162509,
"lock" : null,
"createBy" : null,
"updateBy" : "admin",
@ -34,4 +34,8 @@
"responseBodyDefinition" : null
}
================================
return db.selectOne("SELECT COUNT( id ) num,SUM( engineering_cost ) cost,IFNULL( SUM( IF ( is_important = 1 AND examine_state = 3, 1, 0 )), 0 ) importance,IFNULL( SUM( IF ( engineering_type = 2, 1, 0 )), 0 ) bridge,IFNULL( SUM( IF ( engineering_type = 3, 1, 0 )), 0 ) tunnel,IFNULL( SUM( IF ( engineering_type = 4, 1, 0 )), 0 ) station,IFNULL( SUM( IF ( nature = 1, 1, 0 )), 0 ) newBuild, IFNULL( SUM( IF ( nature = 2, 1, 0 )), 0 ) reBuild,IFNULL( SUM( IF ( nature = 3, 1, 0 )), 0 ) extension,IFNULL( SUM( IF ( state = 4, 1, 0 )), 0 ) finished,IFNULL( SUM( IF ( state = 2, 1, 0 )), 0 ) building,IFNULL( SUM( IF ( state = 3, 1, 0 )), 0 ) shutdown FROM engineering WHERE #project ")
import java.math.BigDecimal
Map map = db.selectOne("SELECT COUNT( id ) num,SUM( engineering_cost ) cost,IFNULL( SUM( IF ( is_important = 1 AND examine_state = 3, 1, 0 )), 0 ) importance,IFNULL( SUM( IF ( engineering_type = 2, 1, 0 )), 0 ) bridge,IFNULL( SUM( IF ( engineering_type = 3, 1, 0 )), 0 ) tunnel,IFNULL( SUM( IF ( engineering_type = 4, 1, 0 )), 0 ) station,IFNULL( SUM( IF ( nature = 1, 1, 0 )), 0 ) newBuild, IFNULL( SUM( IF ( state = 1, 1, 0 )), 0 ) unStart, IFNULL( SUM( IF ( nature = 2, 1, 0 )), 0 ) reBuild,IFNULL( SUM( IF ( nature = 3, 1, 0 )), 0 ) extension,IFNULL( SUM( IF ( state = 4, 1, 0 )), 0 ) finished,IFNULL( SUM( IF ( state = 2, 1, 0 )), 0 ) building,IFNULL( SUM( IF ( state = 3, 1, 0 )), 0 ) shutdown FROM engineering WHERE #project ")
var cost = map.get("cost");
map.put("cost", new BigDecimal(cost).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP))
return map;

View File

@ -5,7 +5,7 @@
"groupId" : "1f3d3e5b9fe340bab84de67b0de08f44",
"name" : "投资管理",
"createTime" : null,
"updateTime" : 1706587043096,
"updateTime" : 1719198279945,
"lock" : null,
"createBy" : "admin",
"updateBy" : "admin",
@ -36,21 +36,50 @@ BigDecimal realPayAmountByYear = db.selectValue("SELECT IFNULL(SUM(pay_amount),
BigDecimal applyAmountTotal = db.selectValue("SELECT IFNULL(SUM(apply_payment), 0) FROM investment_payment_stat WHERE #project")
BigDecimal paymentTotal = db.selectValue("SELECT IFNULL(SUM(payment), 0) FROM investment_payment_stat WHERE #project")
BigDecimal big = new BigDecimal(10000);
result.put("paymentByMonth", paymentByMonth.divide(big, 2, BigDecimal.ROUND_HALF_UP))
result.put("applyAmountByMonth", applyAmountByMonth.divide(big, 2, BigDecimal.ROUND_HALF_UP))
result.put("realPayAmountByMonth", realPayAmountByMonth.divide(big, 2, BigDecimal.ROUND_HALF_UP))
var unPayAmountByMonth = applyAmountByMonth.subtract(realPayAmountByMonth);
result.put("unPayAmountByMonth", unPayAmountByMonth > 0 ? unPayAmountByMonth.divide(big, 2, BigDecimal.ROUND_HALF_UP) : 0)
result.put("totalAmount", totalAmount.divide(big, 2, BigDecimal.ROUND_HALF_UP))
result.put("payRatio", realPayAmountTotal == 0 ? 0 : realPayAmountTotal.divide(totalAmount, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).doubleValue())
Map map = db.selectOne("SELECT SUM(engineering_cost) cost FROM engineering WHERE #project ")
var cost = map.get("cost");
BigDecimal costTotal = new BigDecimal(cost).divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP)
result.put("total", costTotal);
List list = db.select("SELECT * FROM investment_plan WHERE #project")
BigDecimal totalCost = db.selectValue("SELECT IFNULL(SUM( engineering_cost ),0) FROM engineering WHERE DATE_FORMAT(start_time, '%Y') = DATE_FORMAT(now(), '%Y') AND #project")
Map contractMap = db.selectOne("SELECT SUM(contract_amount) contractTotalAmount, SUM(settlement_amount) settlementAount FROM investment_contract WHERE #project")
Map payMap = db.selectOne("SELECT SUM(a.total_amount) payTotal, SUM(c.contract_amount) amountTotal FROM investment_payment a INNER JOIN (SELECT MAX(id) id FROM investment_payment GROUP BY contract_id) b on a.id = b.id LEFT JOIN investment_contract c on a.contract_id = c.id WHERE c.settlement_amount IS NOT NULL AND #projectalias")
BigDecimal big = new BigDecimal(10000);
let type = ["年初预算","年中调剂","上级补助资金","专项债券资金","三年滚动预算"]
for (item in type) {
BigDecimal total = new BigDecimal(0)
List amount = list.filter(l => l.funding_source.equals(item)).map(l => l.amount)
for (name in amount) {
total = total.add(new BigDecimal(name))
}
result.put(item, total.divide(big, 2, BigDecimal.ROUND_HALF_UP));
}
realPayAmountTotal = realPayAmountTotal.divide(big, 2, BigDecimal.ROUND_HALF_UP);
BigDecimal contractTotalAmount = contractMap.get("contractTotalAmount").divide(big, 2, BigDecimal.ROUND_HALF_UP)
BigDecimal settlementAount = contractMap.get("settlementAount").divide(big, 2, BigDecimal.ROUND_HALF_UP)
result.put("totalCost", new BigDecimal(totalCost).divide(big, 2, BigDecimal.ROUND_HALF_UP));
result.put("totalCostRatio", new BigDecimal(totalCost).divide(big, 2, BigDecimal.ROUND_HALF_UP).divide(costTotal, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).doubleValue());
result.put("contractTotalAmount", contractTotalAmount);
result.put("contractTotalAmountRatio", realPayAmountTotal.divide(contractTotalAmount, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).doubleValue());
result.put("settlementAount", settlementAount);
result.put("settlementAountRatio", realPayAmountTotal.divide(settlementAount, 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).doubleValue());
BigDecimal unPay = payMap.get("amountTotal").subtract(payMap.get("payTotal"));
result.put("unPay", unPay.divide(big, 2, BigDecimal.ROUND_HALF_UP));
// result.put("paymentByMonth", paymentByMonth.divide(big, 2, BigDecimal.ROUND_HALF_UP))
// result.put("applyAmountByMonth", applyAmountByMonth.divide(big, 2, BigDecimal.ROUND_HALF_UP))
// result.put("realPayAmountByMonth", realPayAmountByMonth.divide(big, 2, BigDecimal.ROUND_HALF_UP))
// var unPayAmountByMonth = applyAmountByMonth.subtract(realPayAmountByMonth);
// result.put("unPayAmountByMonth", unPayAmountByMonth > 0 ? unPayAmountByMonth.divide(big, 2, BigDecimal.ROUND_HALF_UP) : 0)
// result.put("totalAmount", totalAmount.divide(big, 2, BigDecimal.ROUND_HALF_UP))
// result.put("payRatio", realPayAmountTotal == 0 ? 0 : realPayAmountTotal.divide(totalAmount, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).doubleValue())
result.put("paymentTotal", paymentTotal.divide(big, 2, BigDecimal.ROUND_HALF_UP))
result.put("applyAmountTotal", applyAmountTotal.divide(big, 2, BigDecimal.ROUND_HALF_UP))
result.put("settlementAmount", settlementAmount.divide(big, 2, BigDecimal.ROUND_HALF_UP))
result.put("payRatio1", realPayAmountTotal == 0 ? 0 : realPayAmountTotal.divide(settlementAmount, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).doubleValue())
result.put("settlementAmountByYear", settlementAmountByYear.divide(big, 2, BigDecimal.ROUND_HALF_UP))
result.put("payRatio2", realPayAmountByYear == 0 ? 0 : realPayAmountByYear.divide(totalAmountByYear, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).doubleValue())
result.put("realPayAmountTotal", realPayAmountTotal.divide(big, 2, BigDecimal.ROUND_HALF_UP))
result.put("realPayAmountByYear", realPayAmountByYear.divide(big, 2, BigDecimal.ROUND_HALF_UP))
// result.put("applyAmountTotal", applyAmountTotal.divide(big, 2, BigDecimal.ROUND_HALF_UP))
// result.put("settlementAmount", settlementAmount.divide(big, 2, BigDecimal.ROUND_HALF_UP))
// result.put("payRatio1", realPayAmountTotal == 0 ? 0 : realPayAmountTotal.divide(settlementAmount, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).doubleValue())
// result.put("settlementAmountByYear", settlementAmountByYear.divide(big, 2, BigDecimal.ROUND_HALF_UP))
// result.put("payRatio2", realPayAmountByYear == 0 ? 0 : realPayAmountByYear.divide(totalAmountByYear, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).doubleValue())
result.put("realPayAmountTotal", realPayAmountTotal)
// result.put("realPayAmountByYear", realPayAmountByYear.divide(big, 2, BigDecimal.ROUND_HALF_UP))
return result

View File

@ -5,7 +5,7 @@
"groupId" : "1f3d3e5b9fe340bab84de67b0de08f44",
"name" : "进度管理",
"createTime" : null,
"updateTime" : 1691140680204,
"updateTime" : 1718776895963,
"lock" : null,
"createBy" : null,
"updateBy" : "admin",
@ -23,7 +23,7 @@
}
================================
import java.math.BigDecimal
Map scheduleMap = db.selectOne("SELECT COUNT( * ) scheduleTotal, IFNULL(SUM(IF(state = 2, 1, 0)), 0) scheduleExecuting, IFNULL(SUM(IF(state = 3, 1, 0)), 0) scheduleCompleted, IFNULL(SUM(IF(state = 4, 1, 0)), 0) scheduleOverdue FROM project_sub_item WHERE parent_id = 0 AND #project ")
Map scheduleMap = db.selectOne("SELECT COUNT( * ) scheduleTotal, IFNULL( SUM( IF ( state = 1, 1, 0 )), 0 ) unStart, IFNULL(SUM(IF(state in (2, 4), 1, 0)), 0) scheduleExecuting, IFNULL(SUM(IF(state in (3, 6), 1, 0)), 0) scheduleCompleted, IFNULL(SUM(IF(state = 5, 1, 0)), 0) scheduleOverdue,IFNULL( SUM( IF ( state = 7, 1, 0 )), 0 ) stop FROM project_sub_item WHERE parent_id = 0 AND #project ")
var completed = scheduleMap.get("scheduleCompleted")::int
var total = scheduleMap.get("scheduleTotal")::int
BigDecimal completedNum = new BigDecimal(completed);

View File

@ -5,7 +5,7 @@
"groupId" : "485e36d471af4f809398babc4abadafe",
"name" : "企业资质统计",
"createTime" : null,
"updateTime" : 1712567948590,
"updateTime" : 1716214741977,
"lock" : null,
"createBy" : null,
"updateBy" : "admin",
@ -34,7 +34,7 @@
"responseBodyDefinition" : null
}
================================
List list = db.select("SELECT REPLACE(d.dict_value, '单位', '') dict_value, COUNT(m.id) num FROM wisdomsitezw.enterprise a LEFT JOIN wisdomsitezw.enterprise_main m ON m.enterprise_sn = a.enterprise_sn LEFT JOIN wisdomsitezw.system_dict_data d ON m.main_type = d.dict_label AND d.dict_type = 'enterprise_main' WHERE a.state = 1 AND #govalias GROUP BY d.dict_value")
List list = db.select("SELECT REPLACE(d.dict_value, '单位', '') dict_value, COUNT(m.id) num FROM enterprise a LEFT JOIN enterprise_main m ON m.enterprise_sn = a.enterprise_sn LEFT JOIN system_dict_data d ON m.main_type = d.dict_label AND d.dict_type = 'enterprise_main' WHERE a.state = 1 AND #govalias GROUP BY d.dict_value")
List dict = Arrays.asList("勘察", "建设", "施工", "监理", "设计");
Integer other = 0;

View File

@ -5,7 +5,7 @@
"groupId" : "485e36d471af4f809398babc4abadafe",
"name" : "实名制信息统计",
"createTime" : null,
"updateTime" : 1712567953141,
"updateTime" : 1716214746934,
"lock" : null,
"createBy" : null,
"updateBy" : "admin",
@ -35,7 +35,7 @@
}
================================
import java.math.BigDecimal
Map map = db.selectOne("SELECT COUNT(id) total,IFNULL(SUM(IF(person_type = 1, 1, 0)),0) manager,IFNULL(SUM(IF(person_type = 2, 1, 0)),0) worker FROM wisdomsitezw.worker_info WHERE #project")
Map map = db.selectOne("SELECT COUNT(id) total,IFNULL(SUM(IF(person_type = 1, 1, 0)),0) manager,IFNULL(SUM(IF(person_type = 2, 1, 0)),0) worker FROM worker_info WHERE #project")
var total = map.get("total")::int
var manager = map.get("manager")::int
var worker = map.get("worker")::int

View File

@ -5,7 +5,7 @@
"groupId" : "485e36d471af4f809398babc4abadafe",
"name" : "扬尘报警类型统计",
"createTime" : null,
"updateTime" : 1712567966222,
"updateTime" : 1716214850727,
"lock" : null,
"createBy" : null,
"updateBy" : "admin",
@ -83,9 +83,9 @@
}
================================
import java.math.BigDecimal
List list = db.select("SELECT d.dict_value as type, COUNT(a.id) num FROM wisdomsitezw.system_dict_data d LEFT JOIN wisdomsitezw.environment_alarm a ON d.dict_value = a.type AND TO_DAYS(a.create_time) = TO_DAYS(NOW()) AND #project WHERE d.dict_type = 'environment_alarm_type' GROUP BY d.dict_value")
List list = db.select("SELECT d.dict_value as type, COUNT(a.id) num FROM system_dict_data d LEFT JOIN environment_alarm a ON d.dict_value = a.type AND TO_DAYS(a.create_time) = TO_DAYS(NOW()) AND #project WHERE d.dict_type = 'environment_alarm_type' GROUP BY d.dict_value")
Map totalMap = db.selectOne("SELECT COUNT( id ) num FROM wisdomsitezw.environment_alarm WHERE TO_DAYS( create_time ) = TO_DAYS(NOW()) AND #project")
Map totalMap = db.selectOne("SELECT COUNT( id ) num FROM environment_alarm WHERE TO_DAYS( create_time ) = TO_DAYS(NOW()) AND #project")
String total = totalMap.get("num")::int
for (item in list) {
Map map = item;

View File

@ -5,7 +5,7 @@
"groupId" : "485e36d471af4f809398babc4abadafe",
"name" : "查询工程分类统计",
"createTime" : null,
"updateTime" : 1712567831373,
"updateTime" : 1718610473884,
"lock" : null,
"createBy" : null,
"updateBy" : "admin",
@ -83,11 +83,11 @@
}
================================
import java.math.BigDecimal
List list = db.select("SELECT d.dict_value, COUNT( a.id ) num FROM wisdomsitezw.engineering a RIGHT JOIN wisdomsitezw.system_dict_data d ON a.engineering_type = d.dict_label AND #projectalias WHERE a.examine_state = 3 AND d.dict_type = 'engineering_type' GROUP BY d.dict_value ORDER BY d.dict_sort")
List list = db.select("SELECT d.dict_value, COUNT( a.id ) num FROM engineering a RIGHT JOIN system_dict_data d ON a.engineering_type = d.dict_label AND #projectalias WHERE a.examine_state = 3 AND d.dict_type = 'engineering_type' GROUP BY d.dict_value ORDER BY d.dict_sort")
List dictList = db.select("SELECT dict_value, dict_label num FROM wisdomsitezw.system_dict_data where dict_type = 'engineering_type' ORDER BY dict_sort")
List dictList = db.select("SELECT dict_value, dict_label num FROM system_dict_data where dict_type = 'engineering_type' and status = 1 ORDER BY dict_sort")
Map totalMap = db.selectOne("SELECT COUNT(id) num FROM wisdomsitezw.engineering WHERE examine_state = 3 AND #project")
Map totalMap = db.selectOne("SELECT COUNT(id) num FROM engineering WHERE examine_state = 3 AND #project")
String total = totalMap.get("num")
List result = new ArrayList();
Integer other = 0;
@ -97,23 +97,11 @@ for (item in dictList) {
var dict_value = map.get("dict_value")
var num = list.filter(item => item.dict_value.equals(dict_value)).size()
Map resultMap = new HashMap();
if (index < 2){
resultMap.put("dict_value" ,dict_value)
resultMap.put("num" ,num)
BigDecimal totalNum = new BigDecimal(total);
BigDecimal typeNum = new BigDecimal(num);
resultMap.put("ratio", typeNum == 0 ? 0 : typeNum.divide(totalNum, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).doubleValue())
result.add(resultMap);
} else {
other = other + num;
}
index = index + 1
}
Map otherMap = new HashMap();
otherMap.put("dict_value" , "其他")
otherMap.put("num" ,other)
BigDecimal totalNum = new BigDecimal(total);
BigDecimal typeNum = new BigDecimal(other);
otherMap.put("ratio", typeNum == 0 ? 0 : typeNum.divide(totalNum, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100")).doubleValue())
result.add(otherMap)
return result

View File

@ -5,7 +5,7 @@
"groupId" : "485e36d471af4f809398babc4abadafe",
"name" : "查询工程详细信息",
"createTime" : null,
"updateTime" : 1712567922984,
"updateTime" : 1716214719556,
"lock" : null,
"createBy" : null,
"updateBy" : "admin",
@ -34,4 +34,4 @@
"responseBodyDefinition" : null
}
================================
return db.select("SELECT e.*, ent.enterprise_name FROM wisdomsitezw.engineering e LEFT JOIN wisdomsitezw.engineering_main m ON e.engineering_sn = m.engineering_sn LEFT JOIN wisdomsitezw.enterprise ent ON m.enterprise_sn = ent.enterprise_sn WHERE examine_state = 3 AND m.type = 1 AND #project")
return db.select("SELECT e.*, ent.enterprise_name FROM engineering e LEFT JOIN engineering_main m ON e.engineering_sn = m.engineering_sn LEFT JOIN enterprise ent ON m.enterprise_sn = ent.enterprise_sn WHERE examine_state = 3 AND m.type = 1 AND #project")

View File

@ -5,7 +5,7 @@
"groupId" : "485e36d471af4f809398babc4abadafe",
"name" : "查询所有项目数",
"createTime" : null,
"updateTime" : 1712567927180,
"updateTime" : 1716214724052,
"lock" : null,
"createBy" : null,
"updateBy" : "admin",
@ -34,6 +34,6 @@
"responseBodyDefinition" : null
}
================================
Map map = db.selectOne("SELECT COUNT(project_id) as total FROM wisdomsitezw.project WHERE state = 1 AND #gov")
Map map = db.selectOne("SELECT COUNT(project_id) as total FROM project WHERE state = 1 AND #gov")
map.put("total", map.get("total")::int)
return map

View File

@ -5,7 +5,7 @@
"groupId" : "485e36d471af4f809398babc4abadafe",
"name" : "查询项目详细信息",
"createTime" : null,
"updateTime" : 1712567931221,
"updateTime" : 1716214727894,
"lock" : null,
"createBy" : null,
"updateBy" : "admin",
@ -22,4 +22,4 @@
"responseBodyDefinition" : null
}
================================
return db.select("SELECT * FROM wisdomsitezw.project WHERE state = 1 AND #gov")
return db.select("SELECT * FROM project WHERE state = 1 AND #gov")

View File

@ -5,7 +5,7 @@
"groupId" : "485e36d471af4f809398babc4abadafe",
"name" : "顶部查询工程统计信息",
"createTime" : null,
"updateTime" : 1712567936389,
"updateTime" : 1718603379594,
"lock" : null,
"createBy" : null,
"updateBy" : "admin",
@ -34,4 +34,4 @@
"responseBodyDefinition" : null
}
================================
return db.selectOne("SELECT IFNULL(SUM(IF(examine_state = 3, 1, 0)),0) total,IFNULL(SUM(IF(YEAR(start_time) = YEAR(NOW()) AND state > 1, 1, 0)),0) newBuild,IFNULL(SUM(IF(YEAR(start_time) = YEAR(NOW()) AND state = 7, 1, 0)),0) finish,IFNULL(SUM(IF(is_important = 1 AND state > 1, 1, 0)),0) important,IFNULL( SUM( IF ( examine_state = 3 AND state = 1, 1, 0 )), 0 ) unStart,IFNULL( SUM( IF ( examine_state = 3 AND state = 2, 1, 0 )), 0 ) building,IFNULL( SUM( IF ( examine_state = 3 AND state = 4, 1, 0 )), 0 ) complete FROM wisdomsitezw.engineering WHERE #project")
return db.selectOne("SELECT IFNULL(SUM(IF(examine_state = 3, 1, 0)),0) total,IFNULL(SUM(IF(YEAR(start_time) = YEAR(NOW()) AND state > 1, 1, 0)),0) newBuild,IFNULL(SUM(IF(YEAR(start_time) = YEAR(NOW()) AND state = 7, 1, 0)),0) finish,IFNULL(SUM(IF(is_important = 1 AND state > 1, 1, 0)),0) important,IFNULL( SUM( IF ( examine_state = 3 AND state = 1, 1, 0 )), 0 ) unStart,IFNULL( SUM( IF ( examine_state = 3 AND state = 2, 1, 0 )), 0 ) building,IFNULL( SUM( IF ( examine_state = 3 AND state = 4, 1, 0 )), 0 ) complete,IFNULL( SUM( IF ( examine_state = 3 AND state = 3, 1, 0 )), 0 ) shutdown FROM engineering WHERE #project")