验收修改

This commit is contained in:
pengjie 2024-06-21 17:11:30 +08:00
parent f4d36e6180
commit ef4cd77a21
3 changed files with 48 additions and 19 deletions

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" : 1706587043096,
"updateTime" : 1718961018857,
"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 SUM(engineering_cost) 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" : 1718709176045,
"updateTime" : 1718776895963,
"lock" : null,
"createBy" : null,
"updateBy" : "admin",