diff --git a/MsgPushRuleLib/MsgPushRuleSiva.cs b/MsgPushRuleLib/MsgPushRuleSiva.cs index d72cca3e5e4b1b1ab11c1546d74af6ff32a46449..db5b1e7771cc486151c58f4ef0d1e6878ea48e68 100644 --- a/MsgPushRuleLib/MsgPushRuleSiva.cs +++ b/MsgPushRuleLib/MsgPushRuleSiva.cs @@ -1,286 +1,315 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Configuration; -using WeChat.PubLib.Core; -using System.Data.SqlClient; -using System.Data; - -namespace MsgPushRuleLib -{ - /// <summary> - /// 涓婃捣瑙嗚鑹烘湳 - /// </summary> - public class MsgPushRuleSiva : IMsgPushRule - { - static log4net.ILog log = log4net.LogManager.GetLogger("Log.Logging");//鑾峰彇涓€涓棩蹇楄褰曞櫒 - string connStr = ConfigurationManager.AppSettings["sqlConn"].ToString(); - - DateTime startDate = DateTime.Parse(ConfigurationManager.AppSettings["startDate"].ToString()); - - string sign = ConfigurationManager.AppSettings["sign"].ToString(); - static PubCore core; - - /// <summary> - /// 瀛︾敓鏀惰垂搴旂敤缂栫爜 - /// </summary> - private const string ChargeCode = "b5c7898cd9b04a168b067a884d734222"; - - /// <summary> - /// 娲ヨˉ璐村簲鐢ㄧ紪鐮� - /// </summary> - private const string StuCode = "cd7edc2c9fd4463495682a1c009476d9"; - - - /// <summary> - /// 鐢靛瓙鍙戠エ寮€鍏锋垚鍔熼€氱煡 - /// </summary> - private const string BillTemp = "002568dd126c4c8b8e1352ccfd3a2bd1"; - - /// <summary> - /// 缂磋垂鎴愬姛閫氱煡 - /// </summary> - private const string ChargeTemp = "004981593d444081814f263189b35d7c"; - - /// <summary> - /// 瀛︾敓琛ュ姪鍒拌处鎻愰啋 - /// </summary> - private const string StuTemp = "0032f2eba2af4faa873b4fd3a331ccf1"; - - /// <summary> - /// 鏁欏笀鎶ラ攢涓氬姟鍙楃悊閫氱煡 - /// </summary> - private const string ClaimTemp = "0037ff89670f4aad96ed9234cfdd18b2"; - - - - public void MsgPushRuleMethod() - { - DateTime now = DateTime.Now; - try - { - if (DateTime.Compare(startDate, now) < 0) - { - #region ///鎶ラ攢锛堟帴鍗曘€侀┏鍥炪€佸埗鍗曪級 - string sql = string.Format("select * from [Mid_O_ClaimsOrder] where Sendstate=0 and datediff(day,Operationtime,'{0}')<=0", startDate); - using (SqlConnection conn = new SqlConnection(connStr)) - { - conn.Open(); - SqlCommand cmd = new SqlCommand(sql, conn); - SqlDataAdapter sda = new SqlDataAdapter(cmd); - DataTable dt = new DataTable(); - - sda.Fill(dt); - foreach (DataRow item in dt.Rows) - { - string param = string.Empty; - - if ("椹冲洖".Equals(item["Field2"].ToString())) - param = string.Format("{0}鑰佸笀锛屾偍鐨勬姤閿€鍗曞凡浜巤1}椹冲洖銆�&&{2}&&{3}&&{4}&&椹冲洖鐞嗙敱锛歿5}璇峰敖蹇嚦璐㈠姟澶勯鍥炲崟鎹慨鏀广€傚鏈夌枒闂紝璇蜂笌璐㈠姟澶勮仈绯汇€�", - item["First"].ToString().Trim(), - item["Field7"].ToString(), - item["Field1"].ToString(), - item["Remark"].ToString(), - Convert.ToDecimal(item["Field8"].ToString()).ToString("n"), - item["Field3"].ToString()); - else if ("宸插埗鍗�".Equals(item["Field2"].ToString())) - param = string.Format("{0}鑰佸笀锛屾偍鐨勬姤閿€鍗曞凡浜巤1}瀹屾垚銆�&&{2}&&{3}&&{4}&&濡傛湁鐤戦棶锛岃涓庤储鍔″鑱旂郴銆�", - item["First"].ToString().Trim(), - item["Field7"].ToString(), - item["Field1"].ToString(), - item["Remark"].ToString(), - Convert.ToDecimal(item["Field8"].ToString()).ToString("n")); - else if ("宸插鏍�".Equals(item["Field2"].ToString())) - param = string.Format("{0}鑰佸笀锛屾偍鐨勬姤閿€鍗曞凡浜巤1}鎺ユ敹銆�&&{2}&&{3}&&{4}&&濡傛湁鐤戦棶锛岃涓庤储鍔″鑱旂郴銆�", - item["First"].ToString().Trim(), - item["Field7"].ToString(), - item["Field1"].ToString(), - item["Remark"].ToString(), - Convert.ToDecimal(item["Field8"].ToString()).ToString("n")); - - - if (sendTemp(StuCode, ClaimTemp, item["Touser"].ToString(), string.Empty, param)) - { - cmd.CommandText = string.Format("update [Mid_O_ClaimsOrder] set Sendstate=1,Sendtime='{0}' where id={1}", now, item["ID"].ToString()); - if (cmd.ExecuteNonQuery() != 1) - { - log.Info(string.Format("鏁欏笀鎶ラ攢鎺ㄩ€佺姸鎬佷慨鏀瑰け璐ワ細{0}", item["Touser"].ToString())); - cmd.CommandText = string.Format("update [Mid_O_ClaimsOrder] set Sendstate=2,Sendtime='{0}' where Id={1}", now, item["Id"].ToString()); - cmd.ExecuteNonQuery(); - } - } - else - { - log.Info(string.Format("鏁欏笀鎶ラ攢鎺ㄩ€佸け璐ワ細{0}鈥斺€攞1}", item["Touser"].ToString(), now)); - cmd.CommandText = string.Format("update [Mid_O_ClaimsOrder] set Sendstate=3,Sendtime='{0}' where Id={1}", now, item["Id"].ToString()); - cmd.ExecuteNonQuery(); - } - } - - conn.Close(); - } - #endregion - - #region 鍙戠エ - string billsql = string.Format("select * from Mid_O_ChargeInvoiceDetail where Sendstate=0 and datediff(day,Operationtime,'{0}')<=0", startDate); - using (SqlConnection conn = new SqlConnection(connStr)) - { - conn.Open(); - SqlCommand cmd = new SqlCommand(billsql, conn); - SqlDataAdapter sda = new SqlDataAdapter(cmd); - DataTable dt = new DataTable(); - - sda.Fill(dt); - foreach (DataRow item in dt.Rows) - { - string param = string.Format("{0} {1}鍚屽锛岀數瀛愬彂绁ㄥ凡鎴愬姛寮€鍏枫€�&&{2}&&{3}&&{4}&&鏌ョ湅鍙戠エ璇︽儏", //鏌ョ湅鍙戠エ璇︽儏&&{5} - item["PayerCode"].ToString().Trim(), - item["PayerName"].ToString().Trim(), - item["PayerName"].ToString().Trim(), - Convert.ToDecimal(item["InvoiceAmount"].ToString()).ToString("n"), - Convert.ToDateTime(item["KPSJ"].ToString()).ToString("yyyy-MM-dd")); - - if (sendTemp(ChargeCode, BillTemp, item["Touser"].ToString(), item["URL"].ToString(), param)) - { - cmd.CommandText = string.Format("update Mid_O_ChargeInvoiceDetail set Sendstate=1,Sendtime='{0}' where id={1}", now, item["ID"].ToString()); - if (cmd.ExecuteNonQuery() != 1) - { - log.Info(string.Format("鏇存敼鎴愬姛鎺ㄩ€佺數瀛愬彂绁ㄧ姸鎬佸け璐ワ細{0}", item["Touser"].ToString())); - cmd.CommandText = string.Format("update Mid_O_ChargeInvoiceDetail set Sendstate=2,Sendtime='{0}' where id={1}", now, item["id"].ToString()); - cmd.ExecuteNonQuery(); - } - } - else - { - log.Info(string.Format("鎺ㄩ€佺數瀛愬彂绁ㄥけ璐ワ細{0}鈥斺€攞1}", item["Touser"].ToString(), now)); - cmd.CommandText = string.Format("update Mid_O_ChargeInvoiceDetail set Sendstate=3,Sendtime='{0}' where id={1}", now, item["id"].ToString()); - cmd.ExecuteNonQuery(); - } - } - - conn.Close(); - } - #endregion - - #region 缂磋垂 - string Charesql = string.Format("select * from Mid_O_ChargeRealQuery where Sendstate=0 and datediff(day,Operationtime,'{0}')<=0", startDate); - using (SqlConnection conn = new SqlConnection(connStr)) - { - conn.Open(); - SqlCommand cmd = new SqlCommand(Charesql, conn); - SqlDataAdapter sda = new SqlDataAdapter(cmd); - DataTable dt = new DataTable(); - - sda.Fill(dt); - foreach (DataRow item in dt.Rows) - { - string param = string.Format("{0} {1}鍚屽锛屾偍宸叉垚鍔熺即璐广€�&&{2}&&{3}&&{4}&&濡傛湁鐤戦棶锛岃涓庤储鍔″鑱旂郴銆�", - item["StudentCode"].ToString().Trim(), - item["StudentName"].ToString().Trim(), - item["OrderCode"].ToString().Trim(), - Convert.ToDecimal(item["OrderCode"].ToString() == string.Empty ? item["RealAmount"].ToString() : item["OrderAmount"].ToString()).ToString("n"), - item["ChargeDate"].ToString()); - - if (Convert.ToDecimal(item["RealAmount"].ToString()) < 0) - continue; - - if (sendTemp(ChargeCode, ChargeTemp, item["Touser"].ToString(), string.Empty, param)) - { - cmd.CommandText = string.Format("update Mid_O_ChargeRealQuery set Sendstate=1,Sendtime='{0}' where id={1}", now, item["ID"].ToString()); - if (cmd.ExecuteNonQuery() != 1) - { - log.Info(string.Format("淇敼缂磋垂鎴愬姛閫氱煡鐘舵€侊細{0}", item["Touser"].ToString())); - cmd.CommandText = string.Format("update Mid_O_ChargeRealQuery set Sendstate=2,Sendtime='{0}' where id={1}", now, item["id"].ToString()); - cmd.ExecuteNonQuery(); - } - } - else - { - log.Info(string.Format("缂磋垂鎴愬姛閫氱煡澶辫触锛歿0}鈥斺€攞1}", item["Touser"].ToString(), now)); - cmd.CommandText = string.Format("update Mid_O_ChargeRealQuery set Sendstate=3,Sendtime='{0}' where id={1}", now, item["id"].ToString()); - cmd.ExecuteNonQuery(); - } - } - - conn.Close(); - } - #endregion - - #region 瀛︾敓娲ヨˉ璐� - if (DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() == "1336") - {//'2019010' c.employeecode employeecode='2007141138' - string ReceTime = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"); - string Stusql = string.Format(@" -select b.ReceiveDetailID,m.BankName,c.employeecode,c.employeename,ReceiveDate,e.Salaryyear,e.SalaryMonth,d.SlatoryName,b.BankAmount,b.BankCard -from StudentSalary.dbo.FI_SalaryReceive a -join StudentSalary.dbo.FI_SalaryReceiveDetail b on a.receivecode=b.receivecode -join StudentSalary.dbo.MD_Bemployee c on c.employeecode=b.peoplecode -join StudentSalary.dbo.HR_BSalaryLatory d on d.SLatoryCode=a.SLatroyCode -join StudentSalary.dbo.MD_MBank m on m.BankCode=a.BankCode -join StudentSalary.dbo.FI_SLatoryCtrl e on e.Slatoryctrlid=a.SlatoryCtrlid - where ReceiveDate='{0}' and ReceState=0 -order by employeecode", ReceTime); - using (SqlConnection conn = new SqlConnection(connStr)) - { - conn.Open(); - SqlCommand cmd = new SqlCommand(Stusql, conn); - SqlDataAdapter sda = new SqlDataAdapter(cmd); - DataTable dt = new DataTable(); - - sda.Fill(dt); - foreach (DataRow item in dt.Rows) - { - string param = string.Format("{0} {1}鍚屽锛屼綘{2}骞磠3}鏈堝姪瀛﹂噾鍗冲皢鍒拌处&&{4}&&{5}&&{6}&&灞婃椂灏嗘墦鍏ヤ綘鐨剓8}灏惧彿涓簕7}鍗′腑锛岃娉ㄦ剰鏌ユ敹銆�", - item["EmployeeCode"].ToString(), - item["EmployeeName"].ToString(), - item["Salaryyear"].ToString(), - item["SalaryMonth"].ToString(), - item["SlatoryName"].ToString(), - Convert.ToDecimal(item["BankAmount"].ToString()).ToString("n"), - Convert.ToDateTime(item["ReceiveDate"].ToString()).ToString("yyyy-MM-dd"), - item["BankCard"].ToString().Substring(item["BankCard"].ToString().Length - 4, 4), - item["BankName"].ToString()); - - if (!sendTemp(StuCode, StuTemp, item["EmployeeCode"].ToString(), string.Empty, param)) - { - log.Info(string.Format("瀛︾敓娲ヨˉ璐翠俊鎭帹閫佸け璐ワ細{0}鈥斺€攞1}", item["EmployeeCode"].ToString(), now)); - cmd.CommandText = string.Format("update StudentSalary.dbo.FI_SalaryReceiveDetail set ReceState=3 where ReceiveDetailID={0}", item["ReceiveDetailID"].ToString()); - cmd.ExecuteNonQuery(); - } - else - { - log.Info(string.Format("瀛︾敓娲ヨˉ璐翠俊鎭帹閫佹垚鍔燂細{0}鈥斺€攞1}", item["EmployeeCode"].ToString(), now)); - cmd.CommandText = string.Format("update StudentSalary.dbo.FI_SalaryReceiveDetail set ReceState=1 where ReceiveDetailID={0}", item["ReceiveDetailID"].ToString()); - cmd.ExecuteNonQuery(); - } - } - conn.Close(); - } - } - #endregion - } - } - catch (Exception ex) - { - log.Error("瑙嗚鑹烘湳鎺ㄩ€佷俊鎭紓甯�:", ex); - } - } - - - private bool sendTemp(string applicationCode, string templateCode, string receiveid, string url, string param) - { - string PostUrl = "https://wxuis.siva.edu.cn/wechat-message/api/wechat_msg_send/create"; - string JsonString = "{\"applicationId\":\"" + applicationCode + "\",\"templateId\":\"" + templateCode + "\",\"receiveId\":\"" + receiveid + "\",\"url\":\"" + url + "\",\"params\":\"" + param + "\"}"; - - - string result = HTTPHelper.PostRequest(PostUrl, DataTypeEnum.json, JsonString); - //log.Info(string.Format("鍙戠エresult锛歿0}", result)); - if (result.Contains("200")) - return true; - else - return false; - } - - } -} +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Configuration; +using WeChat.PubLib.Core; +using System.Data.SqlClient; +using System.Data; + +namespace MsgPushRuleLib +{ + /// <summary> + /// 涓婃捣瑙嗚鑹烘湳 + /// </summary> + public class MsgPushRuleSiva : IMsgPushRule + { + static log4net.ILog log = log4net.LogManager.GetLogger("Log.Logging");//鑾峰彇涓€涓棩蹇楄褰曞櫒 + string connStr = ConfigurationManager.AppSettings["sqlConn"].ToString(); + + DateTime startDate = DateTime.Parse(ConfigurationManager.AppSettings["startDate"].ToString()); + + string sign = ConfigurationManager.AppSettings["sign"].ToString(); + static PubCore core; + + /// <summary> + /// 瀛︾敓鏀惰垂搴旂敤缂栫爜 + /// </summary> + private const string ChargeCode = "b5c7898cd9b04a168b067a884d734222"; + + /// <summary> + /// 娲ヨˉ璐村簲鐢ㄧ紪鐮� + /// </summary> + private const string StuCode = "cd7edc2c9fd4463495682a1c009476d9"; + + + /// <summary> + /// 鐢靛瓙鍙戠エ寮€鍏锋垚鍔熼€氱煡 + /// </summary> + private const string BillTemp = "002568dd126c4c8b8e1352ccfd3a2bd1"; + + /// <summary> + /// 缂磋垂鎴愬姛閫氱煡 + /// </summary> + private const string ChargeTemp = "004981593d444081814f263189b35d7c"; + + /// <summary> + /// 瀛︾敓琛ュ姪鍒拌处鎻愰啋 + /// </summary> + private const string StuTemp = "0032f2eba2af4faa873b4fd3a331ccf1"; + + /// <summary> + /// 鏁欏笀鎶ラ攢涓氬姟鍙楃悊閫氱煡 + /// </summary> + private const string ClaimTemp = "0037ff89670f4aad96ed9234cfdd18b2"; + + + + public void MsgPushRuleMethod() + { + DateTime now = DateTime.Now; + try + { + if (DateTime.Compare(startDate, now) < 0) + { + #region 鎶ラ攢锛堟帴鍗曘€侀┏鍥炪€佸埗鍗曪級 + string sql = string.Format("select * from [Mid_O_ClaimsOrder] where Sendstate=0 and datediff(day,Operationtime,'{0}')<=0", startDate); + using (SqlConnection conn = new SqlConnection(connStr)) + { + conn.Open(); + SqlCommand cmd = new SqlCommand(sql, conn); + SqlDataAdapter sda = new SqlDataAdapter(cmd); + DataTable dt = new DataTable(); + + sda.Fill(dt); + foreach (DataRow item in dt.Rows) + { + string param = string.Empty; + + if ("椹冲洖".Equals(item["Field2"].ToString())) + param = string.Format("{0}鑰佸笀锛屾偍鐨勬姤閿€鍗曞凡浜巤1}椹冲洖銆�&&{2}&&{3}&&{4}&&椹冲洖鐞嗙敱锛歿5}璇峰敖蹇嚦璐㈠姟澶勯鍥炲崟鎹慨鏀广€傚鏈夌枒闂紝璇蜂笌璐㈠姟澶勮仈绯汇€�", + item["First"].ToString().Trim(), + item["Field7"].ToString(), + item["Field1"].ToString(), + item["Remark"].ToString(), + Convert.ToDecimal(item["Field8"].ToString()).ToString("n"), + item["Field3"].ToString()); + else if ("宸插埗鍗�".Equals(item["Field2"].ToString())) + param = string.Format("{0}鑰佸笀锛屾偍鐨勬姤閿€鍗曞凡浜巤1}瀹屾垚銆�&&{2}&&{3}&&{4}&&濡傛湁鐤戦棶锛岃涓庤储鍔″鑱旂郴銆�", + item["First"].ToString().Trim(), + item["Field7"].ToString(), + item["Field1"].ToString(), + item["Remark"].ToString(), + Convert.ToDecimal(item["Field8"].ToString()).ToString("n")); + else if ("宸插鏍�".Equals(item["Field2"].ToString())) + param = string.Format("{0}鑰佸笀锛屾偍鐨勬姤閿€鍗曞凡浜巤1}鎺ユ敹銆�&&{2}&&{3}&&{4}&&濡傛湁鐤戦棶锛岃涓庤储鍔″鑱旂郴銆�", + item["First"].ToString().Trim(), + item["Field7"].ToString(), + item["Field1"].ToString(), + item["Remark"].ToString(), + Convert.ToDecimal(item["Field8"].ToString()).ToString("n")); + + + if (sendTemp(StuCode, ClaimTemp, item["Touser"].ToString(), string.Empty, param)) + { + cmd.CommandText = string.Format("update [Mid_O_ClaimsOrder] set Sendstate=1,Sendtime='{0}' where id={1}", DateTime.Now, item["ID"].ToString()); + + if (cmd.ExecuteNonQuery() != 1) + { + log.Info(string.Format("鏁欏笀鎶ラ攢鎺ㄩ€佺姸鎬佷慨鏀瑰け璐ワ細{0}", item["Touser"].ToString())); + cmd.CommandText = string.Format("update [Mid_O_ClaimsOrder] set Sendstate=2,Sendtime='{0}' where Id={1}", DateTime.Now, item["Id"].ToString()); + cmd.ExecuteNonQuery(); + } + else + { + log.Info(string.Format("鏁欏笀鎶ラ攢鎺ㄩ€佺姸鎬佷慨鏀规垚鍔燂細{0}", item["Touser"].ToString())); + } + } + else + { + log.Info(string.Format("鏁欏笀鎶ラ攢鎺ㄩ€佸け璐ワ細{0}鈥斺€攞1}", item["Touser"].ToString(), DateTime.Now)); + cmd.CommandText = string.Format("update [Mid_O_ClaimsOrder] set Sendstate=3,Sendtime='{0}' where Id={1}", DateTime.Now, item["Id"].ToString()); + cmd.ExecuteNonQuery(); + } + } + + conn.Close(); + conn.Dispose(); + } + #endregion + + #region 鍙戠エ + string billsql = string.Format("select * from Mid_O_ChargeInvoiceDetail where Sendstate=0 and datediff(day,Operationtime,'{0}')<=0", startDate); + using (SqlConnection conn = new SqlConnection(connStr)) + { + conn.Open(); + SqlCommand cmd = new SqlCommand(billsql, conn); + SqlDataAdapter sda = new SqlDataAdapter(cmd); + DataTable dt = new DataTable(); + + sda.Fill(dt); + foreach (DataRow item in dt.Rows) + { + string param = string.Format("{0} {1}鍚屽锛岀數瀛愬彂绁ㄥ凡鎴愬姛寮€鍏枫€�&&{2}&&{3}&&{4}&&鏌ョ湅鍙戠エ璇︽儏", //鏌ョ湅鍙戠エ璇︽儏&&{5} + item["PayerCode"].ToString().Trim(), + item["PayerName"].ToString().Trim(), + item["PayerName"].ToString().Trim(), + Convert.ToDecimal(item["InvoiceAmount"].ToString()).ToString("n"), + Convert.ToDateTime(item["KPSJ"].ToString()).ToString("yyyy-MM-dd")); + + if (sendTemp(ChargeCode, BillTemp, item["Touser"].ToString(), item["URL"].ToString(), param)) + { + cmd.CommandText = string.Format("update Mid_O_ChargeInvoiceDetail set Sendstate=1,Sendtime='{0}' where id={1}", DateTime.Now, item["ID"].ToString()); + if (cmd.ExecuteNonQuery() != 1) + { + log.Info(string.Format("鏇存敼鎴愬姛鎺ㄩ€佺數瀛愬彂绁ㄧ姸鎬佸け璐ワ細{0}", item["Touser"].ToString())); + cmd.CommandText = string.Format("update Mid_O_ChargeInvoiceDetail set Sendstate=2,Sendtime='{0}' where id={1}", DateTime.Now, item["id"].ToString()); + cmd.ExecuteNonQuery(); + } + else + { + log.Info(string.Format("鏇存敼鎴愬姛鎺ㄩ€佺數瀛愬彂绁ㄧ姸鎬佹垚鍔燂細{0}", item["Touser"].ToString())); + } + } + else + { + log.Info(string.Format("鎺ㄩ€佺數瀛愬彂绁ㄥけ璐ワ細{0}鈥斺€攞1}", item["Touser"].ToString(), DateTime.Now)); + cmd.CommandText = string.Format("update Mid_O_ChargeInvoiceDetail set Sendstate=3,Sendtime='{0}' where id={1}", DateTime.Now, item["id"].ToString()); + cmd.ExecuteNonQuery(); + } + } + + conn.Close(); + conn.Dispose(); + } + #endregion + + #region 缂磋垂 + log.Info(string.Format("杩涘叆瀛︾敓缂磋垂淇℃伅鎺ㄩ€佹搷浣溾€斺€攞0}", DateTime.Now)); + string Charesql = string.Format("select * from Mid_O_ChargeRealQuery where Sendstate=0 and datediff(day,Operationtime,'{0}')<=0", startDate); + using (SqlConnection conn = new SqlConnection(connStr)) + { + conn.Open(); + SqlCommand cmd = new SqlCommand(Charesql, conn); + SqlDataAdapter sda = new SqlDataAdapter(cmd); + DataTable dt = new DataTable(); + + sda.Fill(dt); + log.Info(string.Format("鍚屾瀛︾敓鏉℃暟锛歿0}鈥斺€攞1}", dt.Rows.Count, DateTime.Now)); + foreach (DataRow item in dt.Rows) + { + string param = string.Format("{0} {1}鍚屽锛屾偍宸叉垚鍔熺即璐广€�&&{2}&&{3}&&{4}&&濡傛湁鐤戦棶锛岃涓庤储鍔″鑱旂郴銆�", + item["StudentCode"].ToString().Trim(), + item["StudentName"].ToString().Trim(), + item["OrderCode"].ToString().Trim(), + Convert.ToDecimal(item["OrderCode"].ToString() == string.Empty ? item["RealAmount"].ToString() : item["OrderAmount"].ToString()).ToString("n"), + item["ChargeDate"].ToString()); + + if (Convert.ToDecimal(item["RealAmount"].ToString()) < 0) + continue; + + ////////////sendTemp(ChargeCode, ChargeTemp, item["Touser"].ToString(), string.Empty, param); + + ////////////cmd.CommandText = string.Format("update Mid_O_ChargeRealQuery set Sendstate=1,Sendtime='{0}' where id={1}", DateTime.Now, item["ID"].ToString()); + + ////////////cmd.ExecuteNonQuery(); + + ////////////log.Info(string.Format("淇敼缂磋垂鎴愬姛閫氱煡鐘舵€佹垚鍔燂細{0}鈥斺€攞1}", item["Touser"].ToString(), DateTime.Now)); + + + if (sendTemp(ChargeCode, ChargeTemp, item["Touser"].ToString(), string.Empty, param)) + { + cmd.CommandText = string.Format("update Mid_O_ChargeRealQuery set Sendstate=1,Sendtime='{0}' where id={1}", DateTime.Now, item["ID"].ToString()); + + if (cmd.ExecuteNonQuery() != 1) + { + log.Info(string.Format("淇敼缂磋垂鎴愬姛閫氱煡鐘舵€佸け璐ワ細{0}", item["Touser"].ToString())); + cmd.CommandText = string.Format("update Mid_O_ChargeRealQuery set Sendstate=2,Sendtime='{0}' where id={1}", DateTime.Now, item["id"].ToString()); + cmd.ExecuteNonQuery(); + } + else + { + log.Info(string.Format("淇敼缂磋垂鎴愬姛閫氱煡鐘舵€佹垚鍔燂細{0}鈥斺€攞1}", item["Touser"].ToString(), DateTime.Now)); + } + } + else + { + log.Info(string.Format("缂磋垂鎴愬姛閫氱煡澶辫触锛歿0}鈥斺€攞1}", item["Touser"].ToString(), DateTime.Now)); + cmd.CommandText = string.Format("update Mid_O_ChargeRealQuery set Sendstate=3,Sendtime='{0}' where id={1}", DateTime.Now, item["id"].ToString()); + cmd.ExecuteNonQuery(); + } + } + + conn.Close(); + conn.Dispose(); + } + #endregion + + #region 瀛︾敓娲ヨˉ璐� + if (DateTime.Now.Hour.ToString() + DateTime.Now.Minute.ToString() == "1336") + {//'2019010' c.employeecode employeecode='2007141138' + string ReceTime = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"); + string Stusql = string.Format(@" + select b.ReceiveDetailID,m.BankName,c.employeecode,c.employeename,ReceiveDate,e.Salaryyear,e.SalaryMonth,d.SlatoryName,b.BankAmount,b.BankCard + from StudentSalary.dbo.FI_SalaryReceive a + join StudentSalary.dbo.FI_SalaryReceiveDetail b on a.receivecode=b.receivecode + join StudentSalary.dbo.MD_Bemployee c on c.employeecode=b.peoplecode + join StudentSalary.dbo.HR_BSalaryLatory d on d.SLatoryCode=a.SLatroyCode + join StudentSalary.dbo.MD_MBank m on m.BankCode=a.BankCode + join StudentSalary.dbo.FI_SLatoryCtrl e on e.Slatoryctrlid=a.SlatoryCtrlid + where ReceiveDate='{0}' and ReceState=0 + order by employeecode", ReceTime); + using (SqlConnection conn = new SqlConnection(connStr)) + { + conn.Open(); + SqlCommand cmd = new SqlCommand(Stusql, conn); + SqlDataAdapter sda = new SqlDataAdapter(cmd); + DataTable dt = new DataTable(); + + sda.Fill(dt); + foreach (DataRow item in dt.Rows) + { + string param = string.Format("{0} {1}鍚屽锛屼綘{2}骞磠3}鏈堝姪瀛﹂噾鍗冲皢鍒拌处&&{4}&&{5}&&{6}&&灞婃椂灏嗘墦鍏ヤ綘鐨剓8}灏惧彿涓簕7}鍗′腑锛岃娉ㄦ剰鏌ユ敹銆�", + item["EmployeeCode"].ToString(), + item["EmployeeName"].ToString(), + item["Salaryyear"].ToString(), + item["SalaryMonth"].ToString(), + item["SlatoryName"].ToString(), + Convert.ToDecimal(item["BankAmount"].ToString()).ToString("n"), + Convert.ToDateTime(item["ReceiveDate"].ToString()).ToString("yyyy-MM-dd"), + item["BankCard"].ToString().Substring(item["BankCard"].ToString().Length - 4, 4), + item["BankName"].ToString()); + + if (!sendTemp(StuCode, StuTemp, item["EmployeeCode"].ToString(), string.Empty, param)) + { + log.Info(string.Format("瀛︾敓娲ヨˉ璐翠俊鎭帹閫佸け璐ワ細{0}鈥斺€攞1}", item["EmployeeCode"].ToString(), DateTime.Now)); + cmd.CommandText = string.Format("update StudentSalary.dbo.FI_SalaryReceiveDetail set ReceState=3 where ReceiveDetailID={0}", item["ReceiveDetailID"].ToString()); + cmd.ExecuteNonQuery(); + } + else + { + log.Info(string.Format("瀛︾敓娲ヨˉ璐翠俊鎭帹閫佹垚鍔燂細{0}鈥斺€攞1}", item["EmployeeCode"].ToString(), DateTime.Now)); + cmd.CommandText = string.Format("update StudentSalary.dbo.FI_SalaryReceiveDetail set ReceState=1 where ReceiveDetailID={0}", item["ReceiveDetailID"].ToString()); + cmd.ExecuteNonQuery(); + } + } + conn.Close(); + conn.Dispose(); + } + } + #endregion + } + } + catch (Exception ex) + { + log.Error("瑙嗚鑹烘湳鎺ㄩ€佷俊鎭紓甯�:", ex); + } + } + + + private bool sendTemp(string applicationCode, string templateCode, string receiveid, string url, string param) + { + string PostUrl = "https://wxuis.siva.edu.cn/wechat-message/api/wechat_msg_send/create"; + string JsonString = "{\"applicationId\":\"" + applicationCode + "\",\"templateId\":\"" + templateCode + "\",\"receiveId\":\"" + receiveid + "\",\"url\":\"" + url + "\",\"params\":\"" + param + "\"}"; + + + string result = HTTPHelper.PostRequest(PostUrl, DataTypeEnum.json, JsonString); + log.Info(string.Format("SendTemp receiveid锛歿0}----Result:{1}-----param:{2}-------{3}", receiveid, result, param, DateTime.Now)); + if (result.Contains("200")) + return true; + else + return false; + } + + } +} diff --git a/WeChat.WebApp/Properties/PublishProfiles/FolderProfile.pubxml b/WeChat.WebApp/Properties/PublishProfiles/FolderProfile.pubxml index ea4c766550b1bbd9461909890984501cd0e1d6dc..d61d5559c2cdcf4b6f4fa8d967b508c5266b8c80 100644 --- a/WeChat.WebApp/Properties/PublishProfiles/FolderProfile.pubxml +++ b/WeChat.WebApp/Properties/PublishProfiles/FolderProfile.pubxml @@ -12,7 +12,7 @@ <SiteUrlToLaunchAfterPublish /> <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish> <ExcludeApp_Data>False</ExcludeApp_Data> - <publishUrl>C:\Users\Len\Desktop\WebApp</publishUrl> + <publishUrl>F:\Desktop\WebApp</publishUrl> <DeleteExistingFiles>False</DeleteExistingFiles> </PropertyGroup> </Project> \ No newline at end of file diff --git a/WeChat.WebApp/PubWeChatCzzx.ashx.cs b/WeChat.WebApp/PubWeChatCzzx.ashx.cs index 31a17870f6c35463fea2a85c6c77fe03f5eb5fbc..2dfad3d39e2fb63a1ab46243c3432ad71d1234f9 100644 --- a/WeChat.WebApp/PubWeChatCzzx.ashx.cs +++ b/WeChat.WebApp/PubWeChatCzzx.ashx.cs @@ -25,7 +25,7 @@ namespace WeChat.WebApp static PubWeChatCzzx() { - pubCoreCzzx = new PubCore("Czzx"); + pubCoreCzzx = new PubCore("Czzx"); PubClickCzzx.OnEventClick += DoClick; PubTextCzzx.OnMsgText += DoMsgText; PubSubscribeCzzx.OnEventSubscribe += DoSubscribe; @@ -34,15 +34,17 @@ namespace WeChat.WebApp private static string DoScan(PubRecEventScan<PubScanCzzx> instanse) { - PubSendMsgText msg = new PubSendMsgText("**********************\r\n璇风偣鍑讳笅闈㈣繛鎺ヨ繘鍏ヤ細璁鍒扮晫闈細\r\n" + instanse.EventKey, instanse.FromUserName); + PubSendMsgText msg = new PubSendMsgText("<a href='"+ instanse.EventKey + "'>杩涘叆浼氳绛惧埌鐣岄潰</a>" , instanse.FromUserName); pubCoreCzzx.SendMsg(msg); + log.Debug("DoScan:" + instanse.EventKey + "__" + instanse.FromUserName); return "success"; } public static string DoSubscribe(PubRecEventSubscribe<PubSubscribeCzzx> instanse) { - PubSendMsgText msg = new PubSendMsgText("**********************\r\n璇风偣鍑讳笅闈㈣繛鎺ヨ繘鍏ヤ細璁鍒扮晫闈細\r\n" + instanse.EventKey.Split('_')[1], instanse.FromUserName); + PubSendMsgText msg = new PubSendMsgText("<a href='"+ instanse.EventKey.Split('_')[1] + "'>杩涘叆浼氳绛惧埌鐣岄潰</a>" , instanse.FromUserName); pubCoreCzzx.SendMsg(msg); + log.Debug("DoSubscribe:" + instanse.EventKey.Split('_')[1] + "__" + instanse.FromUserName); return "success"; } @@ -70,10 +72,10 @@ namespace WeChat.WebApp ////PostInfo postInfo = new PostInfo(); ////postInfo.systemID = SystemID; ////postInfo.token = Token; - + string flag = HTTPHelper.GetRequest(logoutURL + "?openid=" + instanse.FromUserName + "&signComp=Czzx"); - log.Error("瑙i櫎缁戝畾"+ flag); + log.Error("瑙i櫎缁戝畾" + flag); if (bool.Parse(flag)) { PubSendMsgText msg = new PubSendMsgText("瑙i櫎缁戝畾鎴愬姛锛�", instanse.FromUserName); diff --git a/WeChat.WebPage/BLL/FundBLL.cs b/WeChat.WebPage/BLL/FundBLL.cs index 5bb3c885a750ccb46fd8ad3764fb2a9849b57c9b..0fd6c124d7283db69433b9a2dbabab21a62146f9 100644 --- a/WeChat.WebPage/BLL/FundBLL.cs +++ b/WeChat.WebPage/BLL/FundBLL.cs @@ -10,7 +10,7 @@ namespace WeChat.WebPage.BLL public class FundBLL { string Adunit = ConfigurationManager.AppSettings["adunit"].ToString(); - public DataTable selectDboMain(int year,string key,string peopleCode) + public DataTable selectDboMain(int year, string key, string peopleCode) { string sql = string.Format(@" select distinct ACCOUNTYEAR,ACCOUNTDBNAME from [SeaskyFI_Main].[dbo].[TB_S_ACCOUNTDB] where ADUNIT='{1}' and ACCOUNTYEAR ='{0}'", year, Adunit); @@ -22,9 +22,9 @@ namespace WeChat.WebPage.BLL return new SqlHelperFund().GetDataTable(sql); } - public DataTable selectDepartItemCtrlYear(int year, string DerptName, string ProjectName,string key ,string peopleCode) + public DataTable selectDepartItemCtrlYear(int year, string DerptName, string ProjectName, string key, string peopleCode) { - DataTable dt = selectDboMain(year,key,peopleCode); + DataTable dt = selectDboMain(year, key, peopleCode); if (dt.Rows.Count > 0) { string str = dt.Rows[0]["ACCOUNTDBNAME"].ToString(); @@ -51,7 +51,7 @@ namespace WeChat.WebPage.BLL sql += string.Format(@" and '{0}' in (select * from [SeaskyFI_Main].dbo.fn_GetMD5List('{1}')) and A.EmpCode='{1}' ", key, peopleCode); } - if(string.IsNullOrEmpty(key)) + if (string.IsNullOrEmpty(key)) { sql += string.Format(@" and A.EmpCode = ( select Loginno from [WechatDB].[dbo].[T_User] where @@ -78,6 +78,151 @@ namespace WeChat.WebPage.BLL } sql += string.Format(@" order by VchDate,VchCode"); return new SqlHelperFund().GetDataTable(sql); + } + + + #region 璐㈣祫涓績 + public DataTable GetFundYear() + { + string sql = @" + select distinct FUndYear from tb_Budget_Fund + order by FundYear desc + "; + return new SqlHelperFund().GetDataTable(sql); } + + public DataTable GetFundDt(string Year,string peopleCode,string key) + { + string sqlwhere = string.Empty; + //if (!string.IsNullOrEmpty(Name)) + // sqlwhere += "and ProjectName like '%" + Name + "%'"; + //if (!string.IsNullOrEmpty(Code)) + // sqlwhere += "and ProjectCode like '%" + Code + "%'"; + + if (!string.IsNullOrEmpty(key)) + { + sqlwhere += string.Format(@" and '{0}' in (select * from dbo.fn_GetMD5List('{1}'))", key, peopleCode); + } + + string sql = string.Format(@" + + select a.ProjectCode,a.ProjectName,a.ValidDate,BegBalance,ApproveIn,SR,ZC,JK,(BegBalance-BegTranpayout+ApproveIn+SR-ZC-JK) as YE,(convert(decimal(18,2),(ZC+JK)/(BegBalance+ApproveIn+SR-BegTranpayout)))*100 as SYV from + ( + select YearId,ProjectCode,ProjectName,t1.validDate, +isnull(PreviousAmount+BegAdjustAmount,0) as BegBalance,isnull(PreviousLoanAmount,0) as BegTranpayout,AppropAmount+ChangeAppropAmount as ApproveIn +from tb_Budget_Project t1 +left join tb_Budget_ProjectBalance t2 on t1.ProjectID = t2.ProjectID +LEFT JOIN tb_Budget_Fund T3 ON t1.FundID=T3.FundID +where YearID = '{1}' +and isnull(appropAmount+PreviousAmount+BegAdjustAmount+PreviousLoanAmount+[OccurIncomeDeAmount]+[OccurIncomeCrAmount]+[OccurExpendDeAmount]+[OccurExpendCrAmount]+[OccurLoanDeAmount]+[OccurLoanCrAmount],0)!=0 +and ProjectCode in +( + select tb2.ProjectCode from tb_Budget_ProFundAuthorize tb1 + left join tb_Budget_Project tb2 + on tb1.ProjectID=tb2.ProjectID + where BeAuthorizePersonNo='{2}' +) +{0} +)a +join +( + select ProjectCode,ProjectName,sum(case when BudType=3 then BudMoney else 0 end )as SR,sum(case when BudType=2 then BudMoney else 0 end) as ZC,sum(case when BudType=1 then BudMoney else 0 end) as JK from +( +select t1.Year,t1.Period as VchMonth,t1.VoucherFenNo as VchCode,t2.[LineNo] as RowNum,t1.VoucherDate as VchDate + ,isnull(t5.DepartmentCode,'') as DepartCode,t5.DepartmentName,isnull(t6.ProjectCode,'') as ProjectCode,ProjectName,t3.AccountCode + ,case t2.Deorcr when 1 then t2.Amount else 0 end as Demoney,case t2.Deorcr when -1 then t2.Amount else 0 end as Crmoney + ,t2.VouSummary as Summary,case isnull(t4.ControlType,0) when 1 then 3 when 3 then 1 else isnull(t4.ControlType,0) end as BudType + ,isnull(t4.Amount,0) * t2.Deorcr * t3.Deorcr as budMoney,t1.InvoiceNumber as [Attach],t1.VoucherNo as VchIntCode,t1.EntryType as inputKind +from tb_Ledger_PostVoucherHeader t1 +inner join tb_Ledger_PostVoucherDetail t2 on t1.PostVoucherHeaderID = t2.PostVoucherHeaderID +inner join tb_Ledger_HisAccounts t3 on t2.AccountsID= t3.AccountsID and t1.Year=t3.Year +left join tb_Ledger_PostVouBudget t4 on t4.PostVoucherDetailID = t2.PostVoucherDetailID +left join tb_Ledger_Department t5 on t5.DepartmentID = t4.DepartID +left join tb_Budget_Project t6 on t6.ProjectID = t4.ProjectID +where t1.ValidStatus = 1 and t1.[Year]='{1}' +union all +select t1.Year,t1.Period as VchMonth,t1.VoucherFenNo as VchCode,t2.[LineNo] as RowNum,t1.VoucherDate as VchDate + ,isnull(t5.DepartmentCode,'') as DepartCode,t5.DepartmentName,isnull(t6.ProjectCode,'') as ProjectCode,ProjectName,t3.AccountCode + ,case t2.Deorcr when 1 then t2.Amount else 0 end as Demoney,case t2.Deorcr when -1 then t2.Amount else 0 end as Crmoney + ,t2.VouSummary as Summary,case isnull(t4.ControlType,0) when 1 then 3 when 3 then 1 else isnull(t4.ControlType,0) end as BudType + ,isnull(t4.Amount,0) * t2.Deorcr * t3.Deorcr as budMoney,t1.InvoiceNumber as [Attach],t1.VoucherFenNo as VchIntCode,t1.EntryType as inputKind +from tb_Ledger_UnpostVoucherHeader t1 +inner join tb_Ledger_UnpostVoucherDetail t2 on t1.UnpostVoucherHeaderID = t2.UnpostVoucherHeaderID +inner join tb_Ledger_HisAccounts t3 on t2.AccountsID= t3.AccountsID and t1.Year=t3.Year +left join tb_Ledger_UnpostVouBudget t4 on t4.UnpostVoucherDetailID = t2.UnpostVoucherDetailID +left join tb_Ledger_Department t5 on t5.DepartmentID = t4.DepartID +left join tb_Budget_Project t6 on t6.ProjectID = t4.ProjectID +where t1.ValidStatus = 1 and t1.[Year]='{1}' +)g where 1=1 and ProjectCode in +( + select tb2.ProjectCode from tb_Budget_ProFundAuthorize tb1 + left join tb_Budget_Project tb2 + on tb1.ProjectID=tb2.ProjectID + where BeAuthorizePersonNo='{2}' +) +{0} +group by ProjectCode,ProjectName,BudType +)b on a.ProjectCode=b.ProjectCode +order by a.ProjectCode +", sqlwhere, Year, peopleCode); + return new SqlHelperFund().GetDataTable(sql); + } + + + public DataTable GetFundDetail(string Year,string PeopleCode,string ProjectCode,string Key) + { + string sqlwhere = string.Format(@" and '{0}' in (select * from dbo.fn_GetMD5List('{1}'))", Key, PeopleCode); + string sql = string.Format(@" +select *, case when BudType=99 then BudMoney else 0 end as BK,case when BudType=3 then BudMoney else 0 end as SR, case when BudType=2 then BudMoney else 0 end as ZC, case when BudType=1 then BudMoney else 0 end as JK from +( +select t3.Accountcode,t3.accountname,t1.VoucherFenNo as VchCode,t1.VoucherDate as VchDate + ,isnull(t5.DepartmentCode,'') as DepartCode,isnull(t6.ProjectCode,'') as ProjectCode + ,t2.VouSummary as Summary,case isnull(t4.ControlType,0) when 1 then 3 when 3 then 1 else isnull(t4.ControlType,0) end as BudType + ,isnull(t4.Amount,0) * t2.Deorcr * t3.Deorcr as budMoney +from tb_Ledger_PostVoucherHeader t1 +inner join tb_Ledger_PostVoucherDetail t2 on t1.PostVoucherHeaderID = t2.PostVoucherHeaderID +inner join tb_Ledger_HisAccounts t3 on t2.AccountsID= t3.AccountsID and t1.Year=t3.Year +left join tb_Ledger_PostVouBudget t4 on t4.PostVoucherDetailID = t2.PostVoucherDetailID +left join tb_Ledger_Department t5 on t5.DepartmentID = t4.DepartID +left join tb_Budget_Project t6 on t6.ProjectID = t4.ProjectID +left join tb_Budget_ProFundAuthorize t7 on t6.ProjectID=t7.ProjectID +where t1.ValidStatus = 1 and t4.Amount!=0 and t1.[Year]='{0}' +and t7.BeAuthorizePersonNo='{1}' +and t6.ProjectCode='{2}' {3} +union all +select t3.Accountcode,t3.accountname,t1.VoucherFenNo as VchCode,t1.VoucherDate as VchDate + ,isnull(t5.DepartmentCode,'') as DepartCode,isnull(t6.ProjectCode,'') as ProjectCode + ,t2.VouSummary as Summary,case isnull(t4.ControlType,0) when 1 then 3 when 3 then 1 else isnull(t4.ControlType,0) end as BudType + ,isnull(t4.Amount,0) * t2.Deorcr * t3.Deorcr as budMoney +from tb_Ledger_UnpostVoucherHeader t1 +inner join tb_Ledger_UnpostVoucherDetail t2 on t1.UnpostVoucherHeaderID = t2.UnpostVoucherHeaderID +inner join tb_Ledger_HisAccounts t3 on t2.AccountsID= t3.AccountsID and t1.Year=t3.Year +left join tb_Ledger_UnpostVouBudget t4 on t4.UnpostVoucherDetailID = t2.UnpostVoucherDetailID +left join tb_Ledger_Department t5 on t5.DepartmentID = t4.DepartID +left join tb_Budget_Project t6 on t6.ProjectID = t4.ProjectID +left join tb_Budget_ProFundAuthorize t7 on t6.ProjectID=t7.ProjectID +where t1.ValidStatus = 1 and t4.Amount!=0 and t1.[Year]='{0}' +and t7.BeAuthorizePersonNo='{1}' +and t6.ProjectCode='{2}' {3} +)g + +union all +select '' as Accountcode,'' as accountname,VoucherNo as VchCode,VoucherDate as VchDate,'' as DepartCode,'' as ProjectCode,a.Remark as Summary,99 as BudType,ProjectAmount as budMoney , +ProjectAmount as BK, +0 as SR, +0 as ZC, +0 as JK +from tb_Budget_ProjectInfoDetail a +inner JOIN tb_Budget_ProjectInfo b on a.ProjectInfoID=b.ProjectInfoID +left join tb_Budget_ProFundAuthorize c on a.ProjectID=c.ProjectID +left join tb_Budget_Project d on d.ProjectID = a.ProjectID +where [Year] ='{0}' and d.ProjectCode='{2}' +and BeAuthorizePersonNo='{1}' {3} +order by g.VchDate,g.VchCode,ProjectCode asc +", Year,PeopleCode,ProjectCode, sqlwhere); + return new SqlHelperFund().GetDataTable(sql); + } + #endregion + } } \ No newline at end of file diff --git a/WeChat.WebPage/Controllers/BudgetController.cs b/WeChat.WebPage/Controllers/BudgetController.cs new file mode 100644 index 0000000000000000000000000000000000000000..6b66f1729fb8fecbafb43e93fd6e3eb328172d16 --- /dev/null +++ b/WeChat.WebPage/Controllers/BudgetController.cs @@ -0,0 +1,125 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Configuration; +using System.Linq; +using System.Net; +using System.Web.Mvc; + +namespace WeChat.WebPage.Controllers +{ + public class BudgetController : Controller + { + //#region 骞冲彴钖祫鏌ヨ + //static log4net.ILog log = log4net.LogManager.GetLogger("Log.Logging");//鑾峰彇涓€涓棩蹇楄褰曞櫒 + + //static string WebRoot = ConfigurationManager.AppSettings["WebRoot"].ToString(); + + //public ActionResult BudgetSearch()//string key, string peopleCode + //{ + + // //log.Debug("Enter FinSalarySearch"); + // List<string> ctrlDt = GetCtrlList(); + + // ViewData["SelBegTime"] = ctrlDt[0].ToString(); + // ViewData["SelEndTime"] = ctrlDt[0].ToString(); + + // string jsonStr = JsonConvert.SerializeObject(ctrlDt); + // ViewData["CtrlList"] = jsonStr; + // return View(); + //} + + //public ActionResult Ctrl_BudgetSearchList(string code, string BegYear, string EndYear) + //{ + // try + // { + // //log.Debug("Enter Ctrl_FinSalarySearchList"); + + // if (Session["DingUserCode"] == null) + // { + // log.Debug("Enter FinIndex code" + code); + // if (string.IsNullOrEmpty(code)) + // return new RedirectResult(string.Format("{0}://{1}{2}/Error.htm", Request.Url.Scheme, Request.Url.Authority.ToString(), WebRoot)); + + // CorpCore corp = new CorpCore("CZZXDing", CorpCore.ServerType.LocalServer); + + // string accessToken = corp.sAccessToken; + // log.Debug("Enter FinIndex accessToken" + accessToken); + + // Users userId = corp.GetUserId(accessToken, code); + // log.Debug("Enter FinIndex userId" + userId.errcode + "__" + userId.errmsg + "___" + userId.userid); + + // Users UserCode = corp.GetUserDetail(accessToken, userId.userid); + // log.Debug("Enter FinIndex userId" + UserCode.errcode + "__" + UserCode.errmsg + "___" + UserCode.jobnumber); + + // if (string.IsNullOrEmpty(UserCode.jobnumber)) + // return new RedirectResult(string.Format("{0}://{1}{2}/Error.htm", Request.Url.Scheme, Request.Url.Authority.ToString(), WebRoot)); + + // Session["DingUserCode"] = UserCode.jobnumber; + // } + + // string PeopleCode = Session["DingUserCode"].ToString(); + + // string key = PeopleCode + "SeaskyHR" + DateTime.Now.ToString("yyyyMMddHHmm"); + + // MD5 sha1Hash = MD5.Create(); + // byte[] data = sha1Hash.ComputeHash(Encoding.UTF8.GetBytes(key)); + // StringBuilder sBuilder = new StringBuilder(); + // for (int i = 0; i < data.Length; i++) + // { + // sBuilder.Append(data[i].ToString("x2")); + // } + // key = sBuilder.ToString(); + + // DataTable RealAmountDt = bll.GetTotaolRealAmount(BegYear, EndYear, key, PeopleCode); + + // ViewBag.TotalRealAmount = Convert.ToDecimal(RealAmountDt.Rows[0]["realamount"].ToString() == string.Empty ? "0" : RealAmountDt.Rows[0]["realamount"].ToString()).ToString("N"); + // ViewBag.dt = bll.FinselectSumSearchDetail(BegYear, EndYear, key, PeopleCode); + // ViewBag.key = key; + + + // ViewBag.BegYear = BegYear; + // ViewBag.EndYear = EndYear; + + // BegYear = BegYear.Replace("-", "骞�"); + // EndYear = EndYear.Replace("-", "骞�"); + // ViewBag.CtrlStr = BegYear + "鏈堚€�" + EndYear + "鏈�"; + + // return PartialView(); + // } + // catch (Exception ex) + // { + // log.Debug("Enter Ctrl_FinSalarySearchList Error" + ex.Message); + // return new RedirectResult(string.Format("{0}://{1}{2}/Error.htm", Request.Url.Scheme, Request.Url.Authority.ToString(), WebRoot)); + // } + + //} + + + + //public ActionResult BudgetIndex(string QJ1, string QJ2, string key, string ZT, string name) + //{ + // try + // { + // if (Session["DingUserCode"] == null) + // return new RedirectResult(string.Format("{0}://{1}{2}/Error.htm", Request.Url.Scheme, Request.Url.Authority.ToString(), WebRoot)); + + // string PeopleCode = Session["DingUserCode"].ToString(); + + // DataTable Amountdt = bll.FinselectSumSearchDetail(QJ1, QJ2, key, PeopleCode, Guid.Parse(ZT)); + + // DataTable ItemDt = bll.FInItemDt(Guid.Parse(ZT), key, PeopleCode); + + // ViewBag.Amountdt = Amountdt; + // ViewBag.ItemDt = ItemDt; + // ViewBag.ShowName = name; + // return View(); + // } + // catch (Exception ex) + // { + // log.Debug("Enter FinIndex Error" + ex.Message); + // return new RedirectResult(string.Format("{0}://{1}{2}/Error.htm", Request.Url.Scheme, Request.Url.Authority.ToString(), WebRoot)); + // } + //} + // #endregion + } +} diff --git a/WeChat.WebPage/Controllers/FundController.cs b/WeChat.WebPage/Controllers/FundController.cs index 97cb76b16b11d8bcb9837a3adf7510489b78138e..0afb02337ab78dfd334d6c3132e3938555d46282 100644 --- a/WeChat.WebPage/Controllers/FundController.cs +++ b/WeChat.WebPage/Controllers/FundController.cs @@ -7,16 +7,19 @@ using WeChat.WebPage.BLL; using System.Data; using System.Security.Cryptography; using System.Text; - +using Newtonsoft.Json; +using Ding.CorpLib; +using System.Configuration; + namespace WeChat.WebPage.Controllers { /// <summary> /// 缁忚垂 /// </summary> public class FundController : Controller - { - // - // GET: /Fund/ + { + + // GET: /Fund/ FundBLL bll = new FundBLL(); public ActionResult Index(int year, string DerptName, string ProjectName, string key, string peopleCode) { @@ -31,7 +34,7 @@ namespace WeChat.WebPage.Controllers // sBuilder.Append(data[i].ToString("x2")); //} //key = sBuilder.ToString(); - DataTable dt = bll.selectDepartItemCtrlYear(year, DerptName, ProjectName, key,peopleCode); + DataTable dt = bll.selectDepartItemCtrlYear(year, DerptName, ProjectName, key, peopleCode); decimal Begbalance = 0; decimal Approin = 0; decimal Income = 0; @@ -67,10 +70,10 @@ namespace WeChat.WebPage.Controllers return View(); } - public ActionResult FundSearch(string key,string peopleCode) + public ActionResult FundSearch(string key, string peopleCode) { ViewData["key"] = key == null ? "" : key; - ViewData["peopleCode"] = peopleCode == null ? "" : peopleCode; + ViewData["peopleCode"] = "057";//peopleCode == null ? "" : peopleCode; return View(); } @@ -86,7 +89,7 @@ namespace WeChat.WebPage.Controllers } arr = arr.Substring(0, arr.Length - 1); } - DataTable dt = bll.selectDepartItemCtrlDetail(ItemId, DepartId, arr, year,key,peopleCode); + DataTable dt = bll.selectDepartItemCtrlDetail(ItemId, DepartId, arr, year, key, peopleCode); decimal Approin = 0;//鎷ㄦ decimal Income = 0;//鏀跺叆 decimal Payout = 0;//鏀嚭 @@ -104,7 +107,127 @@ namespace WeChat.WebPage.Controllers ViewBag.Tranpayout = Tranpayout; ViewBag.dt = dt; return View(); + } + + #region 璐㈣祫涓績 + static log4net.ILog log = log4net.LogManager.GetLogger("Log.Logging");//鑾峰彇涓€涓棩蹇楄褰曞櫒 + + static string WebRoot = ConfigurationManager.AppSettings["WebRoot"].ToString(); + + public ActionResult NewIndex() + { + List<string> ctrlDt = GetCtrlList(); + + ViewData["SelBegTime"] = ctrlDt[0].ToString(); + + string jsonStr = JsonConvert.SerializeObject(ctrlDt); + ViewData["CtrlList"] = jsonStr; + return View(); + } + + private List<string> GetCtrlList() + { + List<string> bankList = new List<string>(); + DataTable dt = bll.GetFundYear(); + foreach (DataRow rows in dt.Rows) + bankList.Add(rows["FundYear"].ToString()); + return bankList; + } + + public ActionResult NewIndexDetail(string code, string BegYear) + { + try + { + //log.Debug("Enter Ctrl_FinSalarySearchList"); + + if (Session["DingFundUserCode"] == null) + { + log.Debug("Enter NewFundIndex code" + code); + if (string.IsNullOrEmpty(code)) + return new RedirectResult(string.Format("{0}://{1}{2}/Error.htm", Request.Url.Scheme, Request.Url.Authority.ToString(), WebRoot)); + + CorpCore corp = new CorpCore("CZZXDingFund", CorpCore.ServerType.LocalServer); + + string accessToken = corp.sAccessToken; + log.Debug("Enter NewFundIndex accessToken" + accessToken); + + Users userId = corp.GetUserId(accessToken, code); + log.Debug("Enter NewFundIndex userId" + userId.errcode + "__" + userId.errmsg + "___" + userId.userid); + + Users UserCode = corp.GetUserDetail(accessToken, userId.userid); + log.Debug("Enter NewFundIndex UserCode" + UserCode.errcode + "__" + UserCode.errmsg + "___" + UserCode.jobnumber); + + if (string.IsNullOrEmpty(UserCode.jobnumber)) + return new RedirectResult(string.Format("{0}://{1}{2}/Error.htm", Request.Url.Scheme, Request.Url.Authority.ToString(), WebRoot)); + + Session["DingFundUserCode"] = UserCode.jobnumber; + } + + string PeopleCode = Session["DingFundUserCode"].ToString(); //"057"; + + string key = PeopleCode + "SeaskyHR" + DateTime.Now.ToString("yyyyMMddHHmm"); + + MD5 sha1Hash = MD5.Create(); + byte[] data = sha1Hash.ComputeHash(Encoding.UTF8.GetBytes(key)); + StringBuilder sBuilder = new StringBuilder(); + for (int i = 0; i < data.Length; i++) + { + sBuilder.Append(data[i].ToString("x2")); + } + key = sBuilder.ToString(); + + DataTable RealAmountDt = bll.GetFundDt(BegYear, PeopleCode, key); + ViewBag.dt = RealAmountDt; + ViewBag.key = key; + ViewBag.Yaer = BegYear; + return PartialView(); + } + catch (Exception ex) + { + log.Debug("Enter NewIndexDetail Error" + ex.Message); + return new RedirectResult(string.Format("{0}://{1}{2}/Error.htm", Request.Url.Scheme, Request.Url.Authority.ToString(), WebRoot)); + } } + public ActionResult NewDetailIndex(string key, string Year, string ProjectCode) + { + + try + { + if (Session["DingFundUserCode"] == null) + return new RedirectResult(string.Format("{0}://{1}{2}/Error.htm", Request.Url.Scheme, Request.Url.Authority.ToString(), WebRoot)); + + string PeopleCode = Session["DingFundUserCode"].ToString();//"057"; + + DataTable Amountdt = bll.GetFundDetail(Year, PeopleCode, ProjectCode, key); + decimal BK = 0; + decimal SR = 0; + decimal ZC = 0; + decimal JK = 0; + decimal YE = 0; + if (Amountdt.Rows.Count != 0) + { + BK = Convert.ToDecimal(Amountdt.Compute("SUM(BK)", "")); + SR = Convert.ToDecimal(Amountdt.Compute("SUM(SR)", "")); + ZC = Convert.ToDecimal(Amountdt.Compute("SUM(ZC)", "")); + JK = Convert.ToDecimal(Amountdt.Compute("SUM(JK)", "")); + YE = BK + SR - ZC - JK; + //decimal = Amountdt.AsEnumerable().Select(d => Convert.ToDecimal(d.Field<string>("JK"))).Sum(); + } + ViewBag.BK = BK; + ViewBag.SR = SR; + ViewBag.ZC = ZC; + ViewBag.JK = JK; + ViewBag.YE = YE; + ViewBag.Amountdt = Amountdt; + return View(); + } + catch (Exception ex) + { + log.Debug("Enter FinIndex Error" + ex.Message); + return new RedirectResult(string.Format("{0}://{1}{2}/Error.htm", Request.Url.Scheme, Request.Url.Authority.ToString(), WebRoot)); + } + } + #endregion } } diff --git a/WeChat.WebPage/Views/Budget/BudgetSearch.cshtml b/WeChat.WebPage/Views/Budget/BudgetSearch.cshtml new file mode 100644 index 0000000000000000000000000000000000000000..25d11000331ad23f127ef30a9c19be127f8785c6 --- /dev/null +++ b/WeChat.WebPage/Views/Budget/BudgetSearch.cshtml @@ -0,0 +1,5 @@ +锘緻{ + ViewBag.title = "棰勭畻鏌ヨ"; + Layout = null; +} + \ No newline at end of file diff --git a/WeChat.WebPage/Views/Fund/NewDetailIndex.cshtml b/WeChat.WebPage/Views/Fund/NewDetailIndex.cshtml new file mode 100644 index 0000000000000000000000000000000000000000..e8e5bf32c24dc225de074ab35b164f98acfa576a --- /dev/null +++ b/WeChat.WebPage/Views/Fund/NewDetailIndex.cshtml @@ -0,0 +1,269 @@ +锘緻{ + Layout = null; + +} + +<!DOCTYPE html> + +<html> +<head> + @*<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />*@ + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <title>椤圭洰鏄庣粏</title> + <link href="@Url.Content("~/jquery-weui-build/dist/lib/weui.min.css")" rel="stylesheet" /> + <link href="@Url.Content("~/jquery-weui-build/dist/css/jquery-weui.css")" rel="stylesheet" /> + <link href="@Url.Content("~/jquery-weui-build/dist/demos/css/demos.css")" rel="stylesheet" /> + + <script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script> + <script src="@Url.Content("~/Scripts/dingtalk.open.js")"></script> + <script src="@Url.Content("~/jquery-weui-build/dist/js/jquery-weui.js")"></script> + + <style type="text/css"> + .gridtable { + font-family: verdana,arial,sans-serif; + font-size: 11px; + color: #333333; + border-width: 1px; + border-color: #666666; + border-collapse: collapse; + width: 100%; + } + + .gridtable th { + border-width: 1px; + padding: 8px; + border-style: solid; + border-color: #666666; + background-color: #dedede; + } + + .gridtable td { + border-width: 1px; + padding: 8px; + border-style: solid; + border-color: #666666; + background-color: #ffffff; + } + </style> +</head> +<body style="background-color:#F6F6F6;"> + @{ + System.Data.DataTable dt = ViewBag.Amountdt; + } + @if (dt.Rows.Count == 0) + { + <div class="icon-box" style="text-align:center;margin-top:50px;color:#999;"> + <i class="weui-icon-warn weui-icon_msg"></i> + <div class="icon-box__ctn"> + </div> + <div>鏆傛棤椤圭洰鏄庣粏淇℃伅</div> + </div> + } + else + { + decimal YE = 0; + + decimal totalbk = 0; + decimal totalzc = 0; + + <table class="gridtable"> + <tr> + <th> + 鍑瘉鏃ユ湡 + + </th> + <th> + 鍑瘉鍙� + + </th> + <th> + 绉戠洰 + + </th> + <th> + 鎽樿 + + </th> + <th> + 鎷ㄦ + + </th> + <th> + 鏀嚭 + + </th> + <th> + 浣欓 + </th> + </tr> + + @foreach (System.Data.DataRow rows in dt.Rows) + { + <tr> + <td>@Convert.ToDateTime(rows["VchDate"].ToString()).ToString("yyyy-MM-dd")</td> + <td>@rows["VchCode"].ToString()</td> + <td> + @if (!string.IsNullOrEmpty(rows["Accountcode"].ToString())) + { + @(rows["Accountcode"].ToString() + "-" + rows["accountname"].ToString()) + } + </td> + <td>@rows["Summary"].ToString()</td> + <td style="text-align:right;"> + @Convert.ToDecimal(rows["BK"].ToString()).ToString("N") + @{ + totalbk += Convert.ToDecimal(rows["BK"].ToString()); + } + </td> + <td style="text-align:right;"> + @Convert.ToDecimal(rows["ZC"].ToString()).ToString("N") + @{ + totalzc += Convert.ToDecimal(rows["ZC"].ToString()); + } + </td> + <td style="text-align:right;"> + @if (string.IsNullOrEmpty(rows["ProjectCode"].ToString())) + { + YE = Convert.ToDecimal(rows["BK"].ToString()) + Convert.ToDecimal(rows["SR"].ToString()) - Convert.ToDecimal(rows["ZC"].ToString()) - Convert.ToDecimal(rows["JK"].ToString()); + } + else + { + YE = YE + Convert.ToDecimal(rows["BK"].ToString()) + Convert.ToDecimal(rows["SR"].ToString()) - Convert.ToDecimal(rows["ZC"].ToString()) - Convert.ToDecimal(rows["JK"].ToString()); + } + @YE.ToString("N") + + </td> + </tr> + } + <tr> + <td style="text-align:center;" colspan="4">鍚堣</td> + <td style="text-align:right;">@totalbk.ToString("N")</td> + <td style="text-align:right;">@totalzc.ToString("N")</td> + <td style="text-align:right;">@YE.ToString("N")</td> + </tr> + </table> + } +</body> +</html> + + +@*<header class='demos-header' style="background-image:url(../jquery-weui-build/dist/demos/css/bg.png);margin-bottom:10px;"> + <div style="color:white;text-align: center;">鏄庣粏鍚堣</div> + <div style="color:white;text-align: left;"> + 鎷ㄦ锛欯ViewBag.BK.ToString("N") + </div> + <div style="color:white;text-align: left;"> + 鏀跺叆锛欯ViewBag.SR.ToString("N") + </div> + <div style="color:white;text-align: left;"> + 鏀嚭锛欯ViewBag.ZC.ToString("N") + </div> + <div style="color:white;text-align: left;"> + 鍊熸锛欯ViewBag.JK.ToString("N") + </div> + <div style="color:white;text-align: left;"> + 浣欓锛欯ViewBag.YE.ToString("N") + </div> + </header> + <div class="page__bd"> + @{ + System.Data.DataTable dt = ViewBag.Amountdt; + } + + @if (dt.Rows.Count == 0) + { + <div class="icon-box" style="text-align:center;margin-top:50px;color:#999;"> + <i class="weui-icon-warn weui-icon_msg"></i> + <div class="icon-box__ctn"> + </div> + <div>鏆傛棤椤圭洰鏄庣粏淇℃伅</div> + </div> + } + else + { + decimal YE = 0; + foreach (System.Data.DataRow rows in dt.Rows) + { + + <div class="weui-panel weui-panel_access"> + <div class="weui-panel__ft"> + <div class="weui-cell weui-cell_access weui-cell_link" style="border-bottom:1px solid #EBEBEB;"> + + <div class="weui-cell__bd" style="color: #3B8FED;font-size:12px">@rows["VchCode"].ToString()-@rows["Summary"].ToString()</div> + + </div> + </div> + <div class="weui-panel__bd"> + <div class="weui-media-box weui-media-box_appmsg" style="border-bottom:1px solid #EBEBEB;padding:0;"> + <div class="weui-media-box__bd" style="text-align:left;font-size:12px;"> + <div class="weui-cell"> + <div class="weui-cell__bd"> + <p>鍑瘉鏃ユ湡锛�</p> + </div> + <div class="weui-cell__ft" style="color:#000000;">@Convert.ToDateTime(rows["VchDate"].ToString()).ToString("yyyy-MM-dd")</div> + </div> + @if (Convert.ToDecimal(rows["BK"]) > 0) + { + <div class="weui-cell"> + <div class="weui-cell__bd"> + <p>鎷ㄦ锛�</p> + </div> + <div class="weui-cell__ft" style="color:#000000;">@Convert.ToDecimal(rows["BK"].ToString()).ToString("N")</div> + </div> + } + @if (Convert.ToDecimal(rows["SR"]) > 0) + { + <div class="weui-cell"> + <div class="weui-cell__bd"> + <p>鏀跺叆锛�</p> + </div> + <div class="weui-cell__ft" style="color:#000000;">@Convert.ToDecimal(rows["SR"].ToString()).ToString("N")</div> + </div> + } + @if (Convert.ToDecimal(rows["ZC"]) > 0) + { + <div class="weui-cell"> + <div class="weui-cell__bd"> + <p>鏀嚭锛�</p> + </div> + <div class="weui-cell__ft" style="color:#000000;">@Convert.ToDecimal(rows["ZC"].ToString()).ToString("N")</div> + </div> + } + @if (Convert.ToDecimal(rows["JK"]) > 0) + { + <div class="weui-cell"> + <div class="weui-cell__bd"> + <p>鍊熸锛�</p> + </div> + <div class="weui-cell__ft" style="color:#000000;">@Convert.ToDecimal(rows["JK"].ToString()).ToString("N")</div> + </div> + } + + <div class="weui-cell"> + <div class="weui-cell__bd"> + <p>浣欓锛�</p> + </div> + <div class="weui-cell__ft" style="color:#000000;"> + + @if (string.IsNullOrEmpty(rows["ProjectCode"].ToString())) + { + YE = Convert.ToDecimal(rows["BK"].ToString()) + Convert.ToDecimal(rows["SR"].ToString()) - Convert.ToDecimal(rows["ZC"].ToString()) - Convert.ToDecimal(rows["JK"].ToString()); + } + else + { + YE = YE + Convert.ToDecimal(rows["BK"].ToString()) + Convert.ToDecimal(rows["SR"].ToString()) - Convert.ToDecimal(rows["ZC"].ToString()) - Convert.ToDecimal(rows["JK"].ToString()); + } + @YE.ToString("N") + </div> + </div> + </div> + + </div> + + </div> + + </div> + } + } + </div>*@ + diff --git a/WeChat.WebPage/Views/Fund/NewIndex.cshtml b/WeChat.WebPage/Views/Fund/NewIndex.cshtml new file mode 100644 index 0000000000000000000000000000000000000000..2932a4105a090d120a7075909bff55e3250367cd --- /dev/null +++ b/WeChat.WebPage/Views/Fund/NewIndex.cshtml @@ -0,0 +1,115 @@ +锘緻{ + Layout = null; + + string ctrljson = ViewData["CtrlList"].ToString(); + string SelBegTime = ViewData["SelBegTime"].ToString(); +} + +<!DOCTYPE html> + +<html> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <title>椤圭洰鏌ヨ</title> + <link href="@Url.Content("~/jquery-weui-build/dist/lib/weui.min.css")" rel="stylesheet" /> + <link href="@Url.Content("~/jquery-weui-build/dist/css/jquery-weui.css")" rel="stylesheet" /> + <link href="@Url.Content("~/jquery-weui-build/dist/demos/css/demos.css")" rel="stylesheet" /> + + <script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script> + <script src="@Url.Content("~/Scripts/dingtalk.open.js")"></script> + <script src="@Url.Content("~/jquery-weui-build/dist/js/jquery-weui.js")"></script> + <script src="@Url.Content("~/Scripts/My97DatePicker/4.8/WdatePicker.js")" type="text/javascript"></script> + <style type="text/css"> + .gridtable { + font-family: verdana,arial,sans-serif; + font-size: 11px; + color: #333333; + border-width: 1px; + border-color: #666666; + border-collapse: collapse; + width: 100%; + } + + .gridtable th { + border-width: 1px; + padding: 8px; + border-style: solid; + border-color: #666666; + background-color: #dedede; + } + + .gridtable td { + border-width: 1px; + padding: 8px; + border-style: solid; + border-color: #666666; + background-color: #ffffff; + } + </style> +</head> +<body style="background-color:#F6F6F6;"> + <header class='demos-header' style="background-image:url(../jquery-weui-build/dist/demos/css/bg.png);margin-bottom:10px;padding-bottom:10px;"> + <div style="color:white;text-align: center;"> + 骞翠唤: + <input onchange="OnSearch();" class="weui-input" id="BegTime" onfocus="WdatePicker({dateFmt:'yyyy'})" type="text" value="" style="width: 80px;background: url(../jquery-weui-build/dist/demos/css/Data.png) no-repeat 60px 3px;background-size:1em;" /> + @*<input onchange="OnSearch();" class="weui-input" id="BegTime" type="text" value="" style="width: 80px;background: url(../jquery-weui-build/dist/demos/css/Data.png) no-repeat 60px 3px;background-size:1em;" />*@ + @*椤圭洰缂栧彿锛�<input class="weui-input" id="fundcode" type="text" value="" style="width: 70%; border: 1px solid #ffffff; border-radius: 3px 3px 3px 3px; " /><br /> + 椤圭洰鍚嶇О锛�<input class="weui-input" id="fundname" type="text" value="" style="width: 70%; border: 1px solid #ffffff; border-radius: 3px 3px 3px 3px; " />*@ + + @*<a href="javascript:;" id="BtnSerch" class="weui-btn weui-btn_disabled weui-btn_default" style="margin-top:20px;">鏌ヨ</a>*@ + </div> + </header> + + <div class="page__bd"> + <div id="Ctrl_NewIndexDetail"> + + </div> + </div> +</body> +</html> +<script type="text/javascript"> + dd.ready(function () { + dd.runtime.permission.requestAuthCode({ + corpId: 'ding7c84ac0578e7257235c2f4657eb6378f', // 浼佷笟id + onSuccess: function (info) { + //alert(info.code); // 閫氳繃璇ュ厤鐧绘巿鏉冪爜鍙互鑾峰彇鐢ㄦ埛韬唤 + $.post("@Url.Content("~/Fund/NewIndexDetail?code=")" + info.code + "&BegYear=" + $("#BegTime").val(), function (data) { //+ "&fundcode=" + $("#fundcode").val() + "&fundname=" + $("#fundname").val() + $("#Ctrl_NewIndexDetail").empty().html(data); + }) + } + }); + }); + + + $(function () { + var BegTimevalue = sessionStorage.getItem("BegTime"); + + if(BegTimevalue==null) + { + $("#BegTime").val('@SelBegTime.ToString()'); + sessionStorage.setItem("BegTime", '@SelBegTime.ToString()'); + } + else + { + $("#BegTime").val(BegTimevalue); + } + @*$("#BegTime").select({ + title: "寮€濮嬫棩鏈�", + items:@Html.Raw(ctrljson), + onClose: function () { + sessionStorage.setItem("BegTime", $("#BegTime").val()); + OnSearch(); + } + });*@ + + //$("#BtnSerch").click(function () { + // OnSearch(); + //}); + }); + + function OnSearch() { + $.post("@Url.Content("~/Fund/NewIndexDetail?code=")" + "" + "&BegYear=" + $("#BegTime").val(), function (data) { + $("#Ctrl_NewIndexDetail").empty().html(data); + }) + } +</script> \ No newline at end of file diff --git a/WeChat.WebPage/Views/Fund/NewIndexDetail.cshtml b/WeChat.WebPage/Views/Fund/NewIndexDetail.cshtml new file mode 100644 index 0000000000000000000000000000000000000000..394fd16237f8662d96d37c36e00740ad41da3c7b --- /dev/null +++ b/WeChat.WebPage/Views/Fund/NewIndexDetail.cshtml @@ -0,0 +1,146 @@ +锘緻{ + System.Data.DataTable dt = ViewBag.dt; + string key = ViewBag.key; +} + +@if (dt.Rows.Count == 0) +{ + <div class="icon-box" style="text-align:center;margin-top:50px;color:#999;"> + <i class="weui-icon-warn weui-icon_msg"></i> + <div class="icon-box__ctn"> + </div> + <div>褰撳墠鏃犻」鐩俊鎭�</div> + </div> +} +else +{ + <table class="gridtable"> + <tr> + <th> + 椤圭洰缂栧彿 + </th> + <th> + 椤圭洰鍚嶇О + </th> + <th> + 鏈勾鎷ㄦ + </th> + <th> + 鏈勾鏀嚭 + </th> + <th> + 浣欓 + </th> + <th> + 鎵ц杩涘害 + </th> + <th>鎿嶄綔</th> + </tr> + @{ + decimal totalbk = 0; + decimal totalzc = 0; + decimal totalye = 0; + } + @foreach (System.Data.DataRow rows in dt.Rows) + { + <tr> + <td>@rows["ProjectCode"].ToString()</td> + <td>@rows["ProjectName"].ToString()</td> + <td style="text-align:right;"> + @Convert.ToDecimal(rows["ApproveIn"].ToString()).ToString("N") + @{ + totalbk += Convert.ToDecimal(rows["ApproveIn"].ToString()); + } + </td> + <td style="text-align:right;"> + @Convert.ToDecimal(rows["ZC"].ToString()).ToString("N") + @{ + totalzc += Convert.ToDecimal(rows["ZC"].ToString()); + } + </td> + <td style="text-align:right;"> + @Convert.ToDecimal(rows["YE"].ToString()).ToString("N") + @{ + totalye += Convert.ToDecimal(rows["YE"].ToString()); + } + </td> + <td>@rows["SYV"].ToString()%</td> + <td style="text-align:center;"><a href="@Url.Action("NewDetailIndex", "Fund")?key=@key&Year=@ViewBag.Yaer&ProjectCode=@rows["ProjectCode"].ToString()">鏄庣粏</a></td> + </tr> + + } + <tr> + <td colspan="2" style="text-align:center;">鍚堣</td> + <td style="text-align:right;">@totalbk.ToString("N")</td> + <td style="text-align:right;">@totalzc.ToString("N")</td> + <td style="text-align:right;">@totalye.ToString("N")</td> + <td></td> + <td></td> + </tr> + </table> +} +@Html.Hidden("key", key) + +@*<div class="weui-panel weui-panel_access"> + <div class="weui-panel__ft"> + <a href="@Url.Action("NewDetailIndex", "Fund")?key=@key&Year=@ViewBag.Yaer&ProjectCode=@rows["ProjectCode"].ToString()" class="weui-cell weui-cell_access weui-cell_link" style="border-bottom:1px solid #EBEBEB;"> + <div class="weui-cell__bd" style="color: #3B8FED;font-size:12px">@rows["ProjectCode"].ToString()-@rows["ProjectName"].ToString()</div> + <span class="weui-cell__ft" style="color:#5A97E0;font-size:12px;">鏄庣粏</span> + </a> + </div> + <div class="weui-panel__bd"> + <div class="weui-media-box weui-media-box_appmsg" style="border-bottom:1px solid #EBEBEB;padding:0;"> + <div class="weui-media-box__bd" style="text-align:left;font-size:12px;"> + + <div class="weui-cell"> + <div class="weui-cell__bd"> + <p>鏈夋晥鏃堕棿锛�</p> + </div> + <div class="weui-cell__ft" style="color:#000000;">@Convert.ToDateTime(rows["validDate"].ToString()).ToString("yyyy-MM-dd")</div> + </div> + <div class="weui-cell"> + <div class="weui-cell__bd"> + <p>鏈勾鏈熷垵锛�</p> + </div> + <div class="weui-cell__ft" style="color:#000000;">@Convert.ToDecimal(rows["BegBalance"].ToString()).ToString("N")</div> + </div> + <div class="weui-cell"> + <div class="weui-cell__bd"> + <p>鏈勾鎷ㄦ锛�</p> + </div> + <div class="weui-cell__ft" style="color:#000000;">@Convert.ToDecimal(rows["ApproveIn"].ToString()).ToString("N")</div> + </div> + <div class="weui-cell"> + <div class="weui-cell__bd"> + <p>鏀跺叆閲戦锛�</p> + </div> + <div class="weui-cell__ft" style="color:#000000;">@Convert.ToDecimal(rows["SR"].ToString()).ToString("N")</div> + </div> + <div class="weui-cell"> + <div class="weui-cell__bd"> + <p>鏀嚭閲戦锛�</p> + </div> + <div class="weui-cell__ft" style="color:#000000;">@Convert.ToDecimal(rows["ZC"].ToString()).ToString("N")</div> + </div> + <div class="weui-cell"> + <div class="weui-cell__bd"> + <p>鍊熸锛�</p> + </div> + <div class="weui-cell__ft" style="color:#000000;">@Convert.ToDecimal(rows["JK"].ToString()).ToString("N")</div> + </div> + <div class="weui-cell"> + <div class="weui-cell__bd"> + <p>浣欓</p> + </div> + <div class="weui-cell__ft" style="color:#000000;">@Convert.ToDecimal(rows["YE"].ToString()).ToString("N")</div> + </div> + <div class="weui-cell"> + <div class="weui-cell__bd"> + <p>鎵ц鐜囷細</p> + </div> + <div class="weui-cell__ft" style="color:#000000;">@rows["SYV"].ToString()%</div> + </div> + </div> + </div> + </div> + </div>*@ \ No newline at end of file diff --git a/WeChat.WebPage/WeChat.WebPage.csproj b/WeChat.WebPage/WeChat.WebPage.csproj index 9407f299df414bb8e1c8d74415328d9dc0cdb798..ddd05a344c3aff175b33894f295506e75c5c2852 100644 --- a/WeChat.WebPage/WeChat.WebPage.csproj +++ b/WeChat.WebPage/WeChat.WebPage.csproj @@ -119,6 +119,7 @@ <Compile Include="BLL\SalaryBLL.cs" /> <Compile Include="BLL\SqlHelper.cs" /> <Compile Include="BLL\SqlHelperFund.cs" /> + <Compile Include="Controllers\BudgetController.cs" /> <Compile Include="Controllers\CorpController.cs" /> <Compile Include="Controllers\FundController.cs" /> <Compile Include="Controllers\IndexController.cs" /> @@ -291,6 +292,10 @@ <Content Include="Views\Salary\FinSalarySearch.cshtml" /> <Content Include="Views\Salary\FinIndex.cshtml" /> <Content Include="Views\Salary\Ctrl_FinSalarySearchList.cshtml" /> + <Content Include="Views\Budget\BudgetSearch.cshtml" /> + <Content Include="Views\Fund\NewIndex.cshtml" /> + <Content Include="Views\Fund\NewIndexDetail.cshtml" /> + <Content Include="Views\Fund\NewDetailIndex.cshtml" /> </ItemGroup> <PropertyGroup> <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion> diff --git a/WeChat.WebPage/Web.config b/WeChat.WebPage/Web.config index 718558ae8cc946028d501ab5071bd0fac302e4e5..b17a9dd8fd637e81137996d1a7e8fa52a5dbc064 100644 --- a/WeChat.WebPage/Web.config +++ b/WeChat.WebPage/Web.config @@ -50,7 +50,7 @@ <add key="fr_baseURL" value="http://localhost:8080/WebReport/ReportServer?reportlet=Wechat/{0}.cpt&peoplecode={1}&key={2}&__bypagesize__=false&op=h5" /> <!--闈炴姤琛ㄧ増--> <add key="SalarycConn" value="server=192.168.1.33;uid=sa;password=123456;database=SFP_Main_CZZX;" /> - <add key="FundConn" value="server=192.168.1.212;uid=sa;password=123456;database=SeaskyFI_Main;" /> + <add key="FundConn" value="server=192.168.1.33;uid=sa;password=123456;database=SFP_Main_CZZX;" /> <add key="webpages:Version" value="2.0.0.0" /> <add key="webpages:Enabled" value="false" />