protected void btnquery_Click(object sender, EventArgs e) { string query = @"SELECT L.Account_Receivable_List_No,L.Charge_Date,L.Re,Charge_Date_Str=CASE RTRIM(SUBSTRING(L.Charge_Date,5,2)) WHEN 0 THEN (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年') WHEN 1 THEN (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年上学期') ELSE (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年下学期') END,DESex=CASE WHEN S.Sex=0 THEN '男' ELSE '女' END,E.Authorize_No,E.Charge_Standard,R.Residence_Item_Name,L.Charge_Item_Code,I.Charge_Item_Name,L.Accounts,S.Advice_Note,S.Name,S.Sex,C.Class_Code,C.Class_Name,L.Account_Receivable_Amount,L.Derate_Amount,L.Abate_Amount,L.Refund_Amount,L.Fact_Amount,(L.Account_Receivable_Amount-L.Derate_Amount-L.Abate_Amount-L.Refund_Amount-L.Fact_Amount) AS Arrearage_Amount FROM Account_Receivable_List L,Charge_Item I,Charge_Icence E,Residence_Item R,Student S,Class C ,Specialty P WHERE (L.Charge_Icence_No IS NOT NULL AND L.Charge_Icence_No<>0) AND (L.Residence_Item_No IS NOT NULL AND L.Residence_Item_No<>0) AND L.Charge_Icence_No=E.Charge_Icence_No AND L.Residence_Item_No=R.Residence_Item_No AND SUBSTRING(L.Charge_Date,1,4)='"+txttime.Text.Replace("'","\"")+"' AND L.Charge_Item_Code=I.Charge_Item_Code AND L.Accounts=S.Accounts AND" ; query=query +" "+ @"S.Class_No=C.Class_No AND C.Specialty_No=P.Specialty_No AND P.Department_No ='"+DropDownListDep.SelectedValue.ToString()+"' UNION ALL "; query =query +" "+@"SELECT L.Account_Receivable_List_No,L.Charge_Date,L.Re,Charge_Date_Str=CASE RTRIM(SUBSTRING(L.Charge_Date,5,2)) WHEN 0 THEN (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年') WHEN 1 THEN (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年上学期') ELSE (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年下学期') END,DESex=CASE WHEN S.Sex=0 THEN '男' ELSE '女' END,E.Authorize_No,E.Charge_Standard,' ' AS Residence_Item_Name,L.Charge_Item_Code,I.Charge_Item_Name,L.Accounts,S.Advice_Note,S.Name,S.Sex,C.Class_Code,C.Class_Name,L.Account_Receivable_Amount,L.Derate_Amount,L.Abate_Amount,L.Refund_Amount,L.Fact_Amount,(L.Account_Receivable_Amount-L.Derate_Amount-L.Abate_Amount-L.Refund_Amount-L.Fact_Amount) AS Arrearage_Amount FROM Account_Receivable_List L,Charge_Item I,Charge_Icence E,Student S,Class C ,Specialty P WHERE (L.Charge_Icence_No IS NOT NULL AND L.Charge_Icence_No<>0) AND (L.Residence_Item_No IS NULL OR L.Residence_Item_No=0) AND L.Charge_Icence_No=E.Charge_Icence_No AND SUBSTRING(L.Charge_Date,1,4)='"+txttime.Text.Replace("'","\"")+"' AND L.Charge_Item_Code=I.Charge_Item_Code AND L.Accounts=S.Accounts AND S.Class_No=C.Class_No AND C.Specialty_No=P.Specialty_No AND P.Department_No ='"+DropDownListDep.SelectedValue.ToString()+"' UNION ALL" ; query =query +" " +@"SELECT L.Account_Receivable_List_No,L.Charge_Date,L.Re,Charge_Date_Str=CASE RTRIM(SUBSTRING(L.Charge_Date,5,2)) WHEN 0 THEN (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年') WHEN 1 THEN (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年上学期') ELSE (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年下学期') END,DESex=CASE WHEN S.Sex=0 THEN '男' ELSE '女' END,' ' AS Authorize_No,0 AS Charge_Standard,R.Residence_Item_Name,L.Charge_Item_Code,I.Charge_Item_Name,L.Accounts,S.Advice_Note,S.Name,S.Sex,C.Class_Code,C.Class_Name,L.Account_Receivable_Amount,L.Derate_Amount,L.Abate_Amount,L.Refund_Amount,L.Fact_Amount,(L.Account_Receivable_Amount-L.Derate_Amount-L.Abate_Amount-L.Refund_Amount-L.Fact_Amount) AS Arrearage_Amount FROM Account_Receivable_List L,Charge_Item I,Residence_Item R,Student S,Class C ,Specialty P WHERE (L.Charge_Icence_No IS NULL OR L.Charge_Icence_No=0) AND (L.Residence_Item_No IS NOT NULL AND L.Residence_Item_No<>0) AND L.Residence_Item_No=R.Residence_Item_No AND SUBSTRING(L.Charge_Date,1,4)='"+txttime.Text.Replace("'","\"")+"' AND L.Charge_Item_Code=I.Charge_Item_Code AND L.Accounts=S.Accounts AND S.Class_No=C.Class_No AND C.Specialty_No=P.Specialty_No AND P.Department_No='"+DropDownListDep.SelectedValue.ToString()+"' UNION ALL"; query =query +" "+@"SELECT L.Account_Receivable_List_No,L.Charge_Date,L.Re,Charge_Date_Str=CASE RTRIM(SUBSTRING(L.Charge_Date,5,2)) WHEN 0 THEN (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年') WHEN 1 THEN (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年上学期') ELSE (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年下学期') END,DESex=CASE WHEN S.Sex=0 THEN '男' ELSE '女' END,' ' AS Authorize_No,0 AS Charge_Standard,' ' AS Residence_Item_Name,L.Charge_Item_Code,I.Charge_Item_Name,L.Accounts,S.Advice_Note,S.Name,S.Sex,C.Class_Code,C.Class_Name,L.Account_Receivable_Amount,L.Derate_Amount,L.Abate_Amount,L.Refund_Amount,L.Fact_Amount,(L.Account_Receivable_Amount-L.Derate_Amount-L.Abate_Amount-L.Refund_Amount-L.Fact_Amount) AS Arrearage_Amount FROM Account_Receivable_List L,Charge_Item I,Student S,Class C ,Specialty P WHERE (L.Charge_Icence_No IS NULL OR L.Charge_Icence_No=0) AND (L.Residence_Item_No IS NULL OR L.Residence_Item_No=0) AND SUBSTRING(L.Charge_Date,1,4)='"+txttime.Text.Replace("'","\"")+"' AND L.Charge_Item_Code=I.Charge_Item_Code AND L.Accounts=S.Accounts AND S.Class_No=C.Class_No AND C.Specialty_No=P.Specialty_No AND P.Department_No='"+DropDownListDep.SelectedValue.ToString()+"'"; DataSet ds = new DataSet(); DataSet dscountAmount =new DataSet (); DataSet dscountman = new DataSet(); string countman = "select COUNT(*) AS 已缴费人数 from(" + query + ")TT where (TT.Account_Receivable_Amount-TT.Derate_Amount-TT.Abate_Amount-TT.Refund_Amount-TT.Fact_Amount)=0"; string countAmount = @"select COUNT(*) AS 总人数, SUM(TT.Account_Receivable_Amount) as 应缴总额, SUM(TT.Fact_Amount) as 实缴总额 ,SUM(TT.Account_Receivable_Amount)-SUM(TT.Fact_Amount) as 欠缴总额 from(" + query + ")TT"; dscountAmount = Method.getDataSetBySQL(countAmount,"SQL"); dscountman = Method.getDataSetBySQL(countman,"SQL"); ds = Method.getDataSetBySQL(query,"SQL"); if (ds.Tables[0].Rows.Count != 0 && dscountman.Tables[0].Rows.Count!=0&&dscountAmount.Tables[0].Rows.Count!=0) { totalperson.Text = "应缴款人数:" + dscountAmount.Tables[0].Rows[0].ItemArray[0].ToString(); fact.Text = "实缴款人数:" + dscountman.Tables[0].Rows[0].ItemArray[0].ToString(); totalamount.Text = "应缴款合计:" + dscountAmount.Tables[0].Rows[0].ItemArray[1].ToString(); factamount.Text = "实缴款合计:"+dscountAmount.Tables [0].Rows[0].ItemArray[2].ToString(); borrowamount.Text = "欠缴款合计:" + dscountAmount.Tables[0].Rows[0].ItemArray[3].ToString(); int totalint = Int32.Parse(dscountAmount.Tables[0].Rows[0].ItemArray[0].ToString()); int factint = Int32.Parse(dscountman.Tables[0].Rows[0].ItemArray[0].ToString()); int borrowint = totalint - factint; double ratedouble = borrowint * 1.0 / totalint; rate.Text = "欠费比例为:" + ratedouble.ToString(); Method.DataBinder(dlsingledepcharge, ds); } else { Response.Write("<script>alert('提示:无数据记录');location.href='SingleDepCharge.aspx';</script>"); } } }
protected void btnquery_Click(object sender, EventArgs e)
{
string query = @"SELECT L.Account_Receivable_List_No,L.Charge_Date,L.Re,Charge_Date_Str=CASE RTRIM(SUBSTRING(L.Charge_Date,5,2)) WHEN 0 THEN (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年') WHEN 1 THEN (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年上学期')
ELSE (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年下学期') END,DESex=CASE WHEN S.Sex=0 THEN '男' ELSE '女'
END,E.Authorize_No,E.Charge_Standard,R.Residence_Item_Name,L.Charge_Item_Code,I.Charge_Item_Name,L.Accounts,S.Advice_Note,S.Name,S.Sex,C.Class_Code,C.Class_Name,L.Account_Receivable_Amount,L.Derate_Amount,L.Abate_Amount,L.Refund_Amount,L.Fact_Amount,(L.Account_Receivable_Amount-L.Derate_Amount-L.Abate_Amount-L.Refund_Amount-L.Fact_Amount)
AS Arrearage_Amount
FROM
Account_Receivable_List L,Charge_Item I,Charge_Icence E,Residence_Item R,Student S,Class C ,Specialty P
WHERE
(L.Charge_Icence_No IS NOT NULL AND L.Charge_Icence_No<>0) AND (L.Residence_Item_No IS NOT NULL AND
L.Residence_Item_No<>0) AND L.Charge_Icence_No=E.Charge_Icence_No AND L.Residence_Item_No=R.Residence_Item_No AND SUBSTRING(L.Charge_Date,1,4)='"+txttime.Text.Replace("'","\"")+"' AND L.Charge_Item_Code=I.Charge_Item_Code AND L.Accounts=S.Accounts AND" ;
query=query +" "+ @"S.Class_No=C.Class_No AND C.Specialty_No=P.Specialty_No AND P.Department_No ='"+DropDownListDep.SelectedValue.ToString()+"' UNION ALL ";
query =query +" "+@"SELECT L.Account_Receivable_List_No,L.Charge_Date,L.Re,Charge_Date_Str=CASE RTRIM(SUBSTRING(L.Charge_Date,5,2)) WHEN 0 THEN
(RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年') WHEN 1 THEN (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年上学期') ELSE (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年下学期') END,DESex=CASE WHEN S.Sex=0 THEN '男' ELSE '女'
END,E.Authorize_No,E.Charge_Standard,' ' AS
Residence_Item_Name,L.Charge_Item_Code,I.Charge_Item_Name,L.Accounts,S.Advice_Note,S.Name,S.Sex,C.Class_Code,C.Class_Name,L.Account_Receivable_Amount,L.Derate_Amount,L.Abate_Amount,L.Refund_Amount,L.Fact_Amount,(L.Account_Receivable_Amount-L.Derate_Amount-L.Abate_Amount-L.Refund_Amount-L.Fact_Amount)
AS Arrearage_Amount FROM Account_Receivable_List L,Charge_Item I,Charge_Icence E,Student S,Class C ,Specialty P WHERE (L.Charge_Icence_No IS NOT NULL AND L.Charge_Icence_No<>0) AND (L.Residence_Item_No IS NULL OR L.Residence_Item_No=0)
AND L.Charge_Icence_No=E.Charge_Icence_No AND SUBSTRING(L.Charge_Date,1,4)='"+txttime.Text.Replace("'","\"")+"' AND L.Charge_Item_Code=I.Charge_Item_Code AND L.Accounts=S.Accounts AND S.Class_No=C.Class_No AND C.Specialty_No=P.Specialty_No AND P.Department_No ='"+DropDownListDep.SelectedValue.ToString()+"' UNION ALL" ;
query =query +" " +@"SELECT L.Account_Receivable_List_No,L.Charge_Date,L.Re,Charge_Date_Str=CASE RTRIM(SUBSTRING(L.Charge_Date,5,2)) WHEN 0 THEN (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年') WHEN 1 THEN
(RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年上学期') ELSE (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年下学期') END,DESex=CASE WHEN S.Sex=0 THEN '男' ELSE '女' END,' ' AS Authorize_No,0 AS
Charge_Standard,R.Residence_Item_Name,L.Charge_Item_Code,I.Charge_Item_Name,L.Accounts,S.Advice_Note,S.Name,S.Sex,C.Class_Code,C.Class_Name,L.Account_Receivable_Amount,L.Derate_Amount,L.Abate_Amount,L.Refund_Amount,L.Fact_Amount,(L.Account_Receivable_Amount-L.Derate_Amount-L.Abate_Amount-L.Refund_Amount-L.Fact_Amount)
AS Arrearage_Amount
FROM
Account_Receivable_List L,Charge_Item I,Residence_Item R,Student S,Class C ,Specialty P
WHERE
(L.Charge_Icence_No IS NULL OR L.Charge_Icence_No=0) AND (L.Residence_Item_No IS NOT NULL AND
L.Residence_Item_No<>0) AND L.Residence_Item_No=R.Residence_Item_No AND SUBSTRING(L.Charge_Date,1,4)='"+txttime.Text.Replace("'","\"")+"' AND L.Charge_Item_Code=I.Charge_Item_Code AND L.Accounts=S.Accounts AND S.Class_No=C.Class_No AND C.Specialty_No=P.Specialty_No AND P.Department_No='"+DropDownListDep.SelectedValue.ToString()+"' UNION ALL";
query =query +" "+@"SELECT L.Account_Receivable_List_No,L.Charge_Date,L.Re,Charge_Date_Str=CASE RTRIM(SUBSTRING(L.Charge_Date,5,2)) WHEN 0 THEN (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年') WHEN 1 THEN
(RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年上学期') ELSE (RTRIM(SUBSTRING(L.Charge_Date,1,4))+'年下学期') END,DESex=CASE WHEN S.Sex=0 THEN '男' ELSE '女' END,' ' AS Authorize_No,0 AS Charge_Standard,' ' AS
Residence_Item_Name,L.Charge_Item_Code,I.Charge_Item_Name,L.Accounts,S.Advice_Note,S.Name,S.Sex,C.Class_Code,C.Class_Name,L.Account_Receivable_Amount,L.Derate_Amount,L.Abate_Amount,L.Refund_Amount,L.Fact_Amount,(L.Account_Receivable_Amount-L.Derate_Amount-L.Abate_Amount-L.Refund_Amount-L.Fact_Amount)
AS Arrearage_Amount
FROM
Account_Receivable_List L,Charge_Item I,Student S,Class C ,Specialty P
WHERE
(L.Charge_Icence_No IS NULL OR L.Charge_Icence_No=0) AND (L.Residence_Item_No IS NULL OR L.Residence_Item_No=0) AND
SUBSTRING(L.Charge_Date,1,4)='"+txttime.Text.Replace("'","\"")+"' AND L.Charge_Item_Code=I.Charge_Item_Code AND L.Accounts=S.Accounts AND S.Class_No=C.Class_No AND C.Specialty_No=P.Specialty_No AND P.Department_No='"+DropDownListDep.SelectedValue.ToString()+"'";
DataSet ds = new DataSet();
DataSet dscountAmount =new DataSet ();
DataSet dscountman = new DataSet();
string countman = "select COUNT(*) AS 已缴费人数 from(" + query + ")TT where (TT.Account_Receivable_Amount-TT.Derate_Amount-TT.Abate_Amount-TT.Refund_Amount-TT.Fact_Amount)=0";
string countAmount = @"select COUNT(*) AS 总人数, SUM(TT.Account_Receivable_Amount) as 应缴总额, SUM(TT.Fact_Amount) as 实缴总额 ,SUM(TT.Account_Receivable_Amount)-SUM(TT.Fact_Amount) as 欠缴总额 from(" + query + ")TT";
dscountAmount = Method.getDataSetBySQL(countAmount,"SQL");
dscountman = Method.getDataSetBySQL(countman,"SQL");
ds = Method.getDataSetBySQL(query,"SQL");
if (ds.Tables[0].Rows.Count != 0 && dscountman.Tables[0].Rows.Count!=0&&dscountAmount.Tables[0].Rows.Count!=0)
{
totalperson.Text = "应缴款人数:" + dscountAmount.Tables[0].Rows[0].ItemArray[0].ToString();
fact.Text = "实缴款人数:" + dscountman.Tables[0].Rows[0].ItemArray[0].ToString();
totalamount.Text = "应缴款合计:" + dscountAmount.Tables[0].Rows[0].ItemArray[1].ToString();
factamount.Text = "实缴款合计:"+dscountAmount.Tables [0].Rows[0].ItemArray[2].ToString();
borrowamount.Text = "欠缴款合计:" + dscountAmount.Tables[0].Rows[0].ItemArray[3].ToString();
int totalint = Int32.Parse(dscountAmount.Tables[0].Rows[0].ItemArray[0].ToString());
int factint = Int32.Parse(dscountman.Tables[0].Rows[0].ItemArray[0].ToString());
int borrowint = totalint - factint;
double ratedouble = borrowint * 1.0 / totalint;
rate.Text = "欠费比例为:" + ratedouble.ToString();
Method.DataBinder(dlsingledepcharge, ds);
}
else
{
Response.Write("<script>alert('提示:无数据记录');location.href='SingleDepCharge.aspx';</script>");
}
}
}