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&amp;peoplecode={1}&amp;key={2}&amp;__bypagesize__=false&amp;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" />