/// <summary> /// 获取账套信息 /// </summary> private void GetAccount() { string sql = string.Format("select FDBName,FacctName+'['+FDBName+']' as Name from [dbo].[t_ad_kdAccount_gl]"); var connString = new KISService().GetKISDBConn(); var getList = getDataSet(sql, connString); List <Account> names = new List <Account>(); using (SqlConnection conn = new SqlConnection(connString)) { conn.Open(); SqlCommand objCommand = new SqlCommand(sql, conn); using (SqlDataReader objReader = objCommand.ExecuteReader()) { while (objReader.Read()) { Account model = new Account(); model.Value = objReader["FDBName"].ToString(); model.Name = objReader["Name"].ToString(); names.Add(model); } objReader.Close(); } } ddlAccount.DataValueField = "Value"; ddlAccount.DataTextField = "Name"; ddlAccount.DataSource = names; ddlAccount.DataBind(); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GetAccount(); var kISModel = new KISService().GetKIS(); ddlAccount.Text = kISModel.AccountName; txtFrom.Text = kISModel.InvoiceFrom; txtTo.Text = kISModel.InvoiceTo; txtpayableFrom.Text = kISModel.PayableFrom; txtpayableTo.Text = kISModel.PayableTo; txtInvoiceDate.Text = kISModel.InvoiceDate; txtpayableDate.Text = kISModel.PayableDate; txtIP.Text = kISModel.IP; txtUserId.Text = kISModel.UserID; txtPwd.Text = kISModel.Pwd; if (VAN_OA.JXC.SysObj.NewShowAll_textName("金蝶发票处理工具", Session["currentUserId"], "修改时间") == false) { btnAdd.Visible = false; ddlAccount.Enabled = false; txtFrom.Enabled = false; txtTo.Enabled = false; txtpayableFrom.Enabled = false; txtpayableTo.Enabled = false; txtInvoiceDate.Enabled = false; txtpayableDate.Enabled = false; Image1.Visible = false; ImageButton1.Visible = false; ImageButton2.Visible = false; ImageButton3.Visible = false; } plConnString.Visible = VAN_OA.JXC.SysObj.NewShowAll_textName("金蝶发票处理工具", Session["currentUserId"], "可定义服务器"); } }
public void DoWork() { try { //获取选中的数据库连接 string newConn = new KISService().GetKISDBConn().Replace("AcctCtl", ddlAccount.SelectedValue); KISService.ExeCommand("Invoice_Proc", newConn, Convert.ToDateTime(txtFrom.Text), Convert.ToDateTime(txtTo.Text)); KISService.ExeCommand("Payable_Proc", newConn, Convert.ToDateTime(txtpayableFrom.Text), Convert.ToDateTime(txtpayableTo.Text)); lblMessage.Text = string.Format("执行成功!!!时间:{0}", DateTime.Now.ToString()); base.ClientScript.RegisterStartupScript(base.GetType(), null, "<script>alert('执行成功!');</script>"); } catch (Exception ex) { lblMessage.Text = "执行异常,请检查!错误信息:" + ex.Message; base.ClientScript.RegisterStartupScript(base.GetType(), null, "<script>alert('运行时间 格式错误!');</script>"); } }
protected void btnQuery_Click(object sender, EventArgs e) { if (Check() == false) { return; } Save(); //检查是否有重复的数据 var kisServer = new KISService(); var invoicesList = kisServer.GetInvoiceErrorInfo(ddlAccount.SelectedValue); var payableList = kisServer.GetPayaleErrorInfo(ddlAccount.SelectedValue); gvList.DataSource = invoicesList; gvList.DataBind(); gvPayable.DataSource = payableList; gvPayable.DataBind(); }
protected void btnUpdate_Click(object sender, EventArgs e) { if (Check() == false) { return; } Save(); //检查是否有重复的数据 var kisServer = new KISService(); var invoicesList = kisServer.GetInvoiceErrorInfo(ddlAccount.SelectedValue); var payableList = kisServer.GetPayaleErrorInfo(ddlAccount.SelectedValue); gvList.DataSource = invoicesList; gvList.DataBind(); gvPayable.DataSource = payableList; gvPayable.DataBind(); if (invoicesList.Count > 0 || payableList.Count > 0) { base.ClientScript.RegisterStartupScript(base.GetType(), null, "<script>alert('存在发票号重复数据,请检查!');</script>"); return; } DoWork(); }
public void Execute() { try { var dt = DateTime.Now; var content = DateTime.Now.ToString() + "do !\r\n"; lock (Tclock) { //增加金蝶发票处理工具 var kISModel = new KISService().GetKIS(); var invoiceDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + kISModel.InvoiceDate); var payableDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + kISModel.PayableDate); if (DateTime.Now.Hour == invoiceDate.Hour && DateTime.Now.Minute == invoiceDate.Minute) { var invoiceJob = new Thread(delegate() { try { ServiceAppSetting.LoggerHander.Invoke(string.Format("Invoice_Proc-开始! - {0}", DateTime.Now), ""); var kisServer = new KISService(); var invoicesList = kisServer.GetInvoiceErrorInfo(kISModel.AccountName); if (invoicesList.Count > 0) { ServiceAppSetting.LoggerHander.Invoke(string.Format("Invoice_Proc-存在重复发票号数据,JOB 停止!", DateTime.Now), ""); return; } //获取选中的数据库连接 string newConn = new KISService().GetKISDBConn().Replace("AcctCtl", kISModel.AccountName); KISService.ExeCommand("Invoice_Proc", newConn, Convert.ToDateTime(kISModel.InvoiceFrom), Convert.ToDateTime(kISModel.InvoiceTo)); ServiceAppSetting.LoggerHander.Invoke(string.Format("Invoice_Proc-结束! - {0}", DateTime.Now), ""); } catch (Exception ex) { ServiceAppSetting.LoggerHander.Invoke(string.Format("Invoice_Proc-结束! - {0},执行异常,请检查!错误信息:{1}", DateTime.Now, ex.Message), ""); } }) { IsBackground = true }; invoiceJob.Start(); } if (DateTime.Now.Hour == payableDate.Hour && DateTime.Now.Minute == payableDate.Minute) { var payableJob = new Thread(delegate() { try { var kisServer = new KISService(); var payableList = kisServer.GetPayaleErrorInfo(kISModel.AccountName); if (payableList.Count > 0) { ServiceAppSetting.LoggerHander.Invoke(string.Format("Payable_Proc-存在重复发票号数据,JOB 停止!", DateTime.Now), ""); return; } ServiceAppSetting.LoggerHander.Invoke(string.Format("Payable_Proc-开始! - {0}", DateTime.Now), ""); //获取选中的数据库连接 string newConn = new KISService().GetKISDBConn().Replace("AcctCtl", kISModel.AccountName); KISService.ExeCommand("Payable_Proc", newConn, Convert.ToDateTime(kISModel.PayableFrom), Convert.ToDateTime(kISModel.PayableTo)); ServiceAppSetting.LoggerHander.Invoke(string.Format("Payable_Proc-结束! - {0}", DateTime.Now), ""); } catch (Exception ex) { ServiceAppSetting.LoggerHander.Invoke(string.Format("Payable_Proc-结束! - {0},执行异常,请检查!错误信息:{1}", DateTime.Now, ex.Message), ""); } }) { IsBackground = true }; payableJob.Start(); } try { //OA系统每天晚上23:55,准时发起,一个任务,就是点击缓存按钮的动作,这样我们可以获得 当天的数据的快速列表印象。 if (DateTime.Now.Hour == 19 && DateTime.Now.Minute == 45) { ServiceAppSetting.LoggerHander.Invoke(string.Format("执行-缓存! 1- {0}", DateTime.Now), ""); new JXC_REPORTService().CatchData(); ServiceAppSetting.LoggerHander.Invoke(string.Format("结束-缓存! 1- {0}", DateTime.Now), ""); } //每天早上1,2,3点处理最高值 // if (DateTime.Now.Hour ==10 && DateTime.Now.Minute == 40) if (DateTime.Now.Hour == 2 && DateTime.Now.Minute == 00) { //ServiceAppSetting.LoggerHander.Invoke(string.Format("执行-最高金额! - {0}", DateTime.Now), ""); content += "执行最高金额"; CashFlowService cashFlowService = new CashFlowService(); //List<CashFlow> cashFlowList = cashFlowService.GetListArray(" and IsClose=0"); List <CashFlow> cashFlowList = cashFlowService.GetListArray(""); using (SqlConnection conn = DBHelp.getConn()) { conn.Open(); SqlCommand objCommand = conn.CreateCommand(); try { objCommand.Parameters.Clear(); foreach (var model in cashFlowList) { cashFlowService.Update(model, objCommand); } } catch (Exception) { content += "【异常】最高金额"; } } content += "结束-最高金额"; } if (DateTime.Now.Hour == 23 && DateTime.Now.Minute == 0) { content += "开始-客户联系跟踪表"; int currentYear = DateTime.Now.Year; int currentMonth = DateTime.Now.Month; int nextYear = DateTime.Now.AddMonths(1).Year; int nextMonth = DateTime.Now.AddMonths(1).Month; int currentZhangQi = GetZhouQi(currentMonth); int nextZhangQi = GetZhouQi(nextMonth); //if (currentZhangQi == nextZhangQi && currentYear == nextYear) //{ // return; //} List <GuestProBaseInfo> guestProBaseInfos = new GuestProBaseInfoService().GetListArray("GuestPro=1"); TB_GuestTrackService GuestTrackSer = new TB_GuestTrackService(); string sql = string.Format(" 1=1 and QuartNo='{1}' and YearNo='{0}' ", currentYear, currentZhangQi); sql += string.Format(@" and (TB_GuestTrack.id in (select allE_id from tb_EForm where proId in ( select pro_Id from A_ProInfo where pro_Type='客户联系跟踪表') and state='通过') or TB_GuestTrack.id not in (select allE_id from tb_EForm where proId in ( select pro_Id from A_ProInfo where pro_Type='客户联系跟踪表') ))"); List <TB_GuestTrack> GuestTracks = GuestTrackSer.GetListArray(sql); using (SqlConnection conn = DBHelp.getConn()) { conn.Open(); SqlTransaction tan = conn.BeginTransaction(); SqlCommand objCommand = conn.CreateCommand(); objCommand.Transaction = tan; try { objCommand.Parameters.Clear(); foreach (var model in GuestTracks) { //客户属性 每个季度需要复制到下一季度,但有一个是需要 特别关注的,就是每年的四季度 如果某个客户的客户属性是 自我开拓, //来年的一季度,这个客户的客户属性 必须变成 原有资源!!! //if (currentZhangQi == 4) //{ // if (model.MyGuestProString == "自我开拓") // { // model.MyGuestPro = 2; // } //} model.QuartNo = nextZhangQi.ToString(); model.YearNo = nextYear.ToString(); model.CreateTime = DateTime.Now; string secondUpdate = GuestTrackSer.UpdateToString(model, model.GuestId, nextYear.ToString(), nextZhangQi.ToString()); if (model.MyGuestProString == "自我开拓") { //我们的系统在每个季度的最后一天的晚上12点会自动同步客户信息到下一个季度,我们定义 //. 如该客户目前的属性是自我开拓,该客户从登记之日起,加上自我开拓的有效期月数数字对应的日期, //如小于(<) 新季度第一天,新季度的客户的属性变成 原有资源,否则 还是自我开拓 if (DateTime.Now.Month == 3 || DateTime.Now.Month == 6 || DateTime.Now.Month == 9 || DateTime.Now.Month == 12) { if (DateTime.Now.Day == DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month) && model.Time.AddMonths(guestProBaseInfos[0].GuestMonth) < Convert.ToDateTime(nextYear + "-" + nextMonth + "-01")) { model.MyGuestPro = 2; } } } string update = GuestTrackSer.AddToString(model); string updateSql = string.Format("if not exists(select id from TB_GuestTrack where guestId='{0}' and yearNo='{1}' and QuartNo='{2}')begin {3} end else begin {4} end", model.GuestId, nextYear.ToString(), nextZhangQi.ToString(), update, secondUpdate); objCommand.CommandText = updateSql; objCommand.ExecuteNonQuery(); } tan.Commit(); content += "结束-客户联系跟踪表"; //ServiceAppSetting.LoggerHander.Invoke(string.Format("执行成功! - {0}", DateTime.Now), ""); } catch (Exception) { tan.Rollback(); content += "【异常】账期执行失败"; //ServiceAppSetting.LoggerHander.Invoke(string.Format("账期执行失败! - {0}", DateTime.Now), "Error"); } } } } catch (Exception) { } } var filepath = HostingEnvironment.MapPath("~/Logs/"); var filename = filepath + "Job_" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt"; File.AppendAllText(filename, content); if ( File.Exists(filepath + "Job_" + DateTime.Now.AddMonths(-1).ToString() + ".txt")) { File.Delete(filepath + "Job_" + DateTime.Now.AddMonths(-1).ToString() + ".txt"); } } catch (Exception ex) { } }
public void Execute(IJobExecutionContext context) { lock (Tclock) { //模拟运行该任务需要15秒 //增加金蝶发票处理工具 var kISModel = new KISService().GetKIS(); var invoiceDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + kISModel.InvoiceDate); var payableDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + kISModel.PayableDate); if (DateTime.Now.Hour == invoiceDate.Hour && DateTime.Now.Minute == invoiceDate.Minute) { var invoiceJob = new Thread(delegate() { try { _logger.InfoFormat(string.Format("Invoice_Proc-开始! - {0}", DateTime.Now), ""); var kisServer = new KISService(); var invoicesList = kisServer.GetInvoiceErrorInfo(kISModel.AccountName); if (invoicesList.Count > 0) { _logger.InfoFormat(string.Format("Invoice_Proc-存在重复发票号数据,JOB 停止!", DateTime.Now), ""); return; } //获取选中的数据库连接 string newConn = new KISService().GetKISDBConn().Replace("AcctCtl", kISModel.AccountName); KISService.ExeCommand("Invoice_Proc", newConn, Convert.ToDateTime(kISModel.InvoiceFrom), Convert.ToDateTime(kISModel.InvoiceTo)); _logger.InfoFormat(string.Format("Invoice_Proc-结束! - {0}", DateTime.Now), ""); } catch (Exception ex) { _logger.InfoFormat(string.Format("Invoice_Proc-结束! - {0},执行异常,请检查!错误信息:{1}", DateTime.Now, ex.Message), ""); } }) { IsBackground = true }; invoiceJob.Start(); } if (DateTime.Now.Hour == payableDate.Hour && DateTime.Now.Minute == payableDate.Minute) { var payableJob = new Thread(delegate() { try { var kisServer = new KISService(); var payableList = kisServer.GetPayaleErrorInfo(kISModel.AccountName); if (payableList.Count > 0) { _logger.InfoFormat(string.Format("Payable_Proc-存在重复发票号数据,JOB 停止!", DateTime.Now), ""); return; } _logger.InfoFormat(string.Format("Payable_Proc-开始! - {0}", DateTime.Now), ""); //获取选中的数据库连接 string newConn = new KISService().GetKISDBConn().Replace("AcctCtl", kISModel.AccountName); KISService.ExeCommand("Payable_Proc", newConn, Convert.ToDateTime(kISModel.PayableFrom), Convert.ToDateTime(kISModel.PayableTo)); _logger.InfoFormat(string.Format("Payable_Proc-结束! - {0}", DateTime.Now), ""); } catch (Exception ex) { _logger.InfoFormat(string.Format("Payable_Proc-结束! - {0},执行异常,请检查!错误信息:{1}", DateTime.Now, ex.Message), ""); } }) { IsBackground = true }; payableJob.Start(); } _logger.InfoFormat("第1个Job:" + DateTime.Now.ToString()); //new Job2().Execute(context); } }