24 lines
1.3 KiB
Python
24 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
import io, sys, pymysql
|
|
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
|
|
conn = pymysql.connect(host='192.168.1.161', user='devgps', password='dev@2021GPS',
|
|
database='zentao_dev_2026', charset='utf8mb4')
|
|
cur = conn.cursor()
|
|
def q(sql):
|
|
cur.execute(sql); return cur.fetchall()
|
|
|
|
prods = [r[0] for r in q("SELECT id FROM zt_product WHERE program=139")]
|
|
prod_in = ','.join(map(str, prods))
|
|
stories = q(f"SELECT id FROM zt_story WHERE product IN ({prod_in}) AND releaseddate>='2026-06-01' AND releaseddate<'2026-07-01' AND deleted='0'")
|
|
sids = [s[0] for s in stories]
|
|
print(f"139产品={prods} 6月上线需求={len(sids)}个")
|
|
sid_in = ','.join(map(str, sids)) or '0'
|
|
r = q(f"SELECT COUNT(*), SUM(estimate) FROM zt_task WHERE story IN ({sid_in}) AND type='devel' AND deleted='0' AND status NOT IN ('cancel','closed')")[0]
|
|
print(f"devel任务(排除cancel/closed): {r[0]}个 Σestimate={r[1]}")
|
|
print("按状态分布:")
|
|
for row in q(f"SELECT status, COUNT(*), IFNULL(SUM(estimate),0) FROM zt_task WHERE story IN ({sid_in}) AND type='devel' AND deleted='0' GROUP BY status"):
|
|
print(" ", row)
|
|
# 含所有状态
|
|
r2 = q(f"SELECT COUNT(*), SUM(estimate) FROM zt_task WHERE story IN ({sid_in}) AND type='devel' AND deleted='0'")[0]
|
|
print(f"devel任务(全部状态): {r2[0]}个 Σestimate={r2[1]}")
|