public Result Update(CashFlow cashFlow) { var result = new Result(); try { CashFlowService cashFlowService = new CashFlowService(); cashFlowService.Update(cashFlow); result.IsSuccess = true; } catch (Exception exception) { result.IsSuccess = false; result.ExceptionInfo = exception; } return(result); }
public void Execute() { //OA系统每天晚上23:55,准时发起,一个任务,就是点击缓存按钮的动作,这样我们可以获得 当天的数据的快速列表印象。 if (DateTime.Now.Hour == 22 && DateTime.Now.Minute == 00) { ServiceAppSetting.LoggerHander.Invoke(string.Format("执行-缓存! - {0}", DateTime.Now), ""); new JXC_REPORTService().CatchData(); ServiceAppSetting.LoggerHander.Invoke(string.Format("结束-缓存! - {0}", DateTime.Now), ""); } ServiceAppSetting.LoggerHander.Invoke(string.Format("do! {0}", DateTime.Now), ""); //每天早上1,2,3点处理最高值 if ((DateTime.Now.Hour == 1 || DateTime.Now.Hour == 2 || DateTime.Now.Hour == 3) && DateTime.Now.Minute == 0) { ServiceAppSetting.LoggerHander.Invoke(string.Format("执行-最高金额! - {0}", DateTime.Now), ""); CashFlowService cashFlowService = new CashFlowService(); List <CashFlow> cashFlowList = cashFlowService.GetListArray(" AND IsClose=0"); 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) { } } ServiceAppSetting.LoggerHander.Invoke(string.Format("结束-最高金额! - {0}", DateTime.Now), ""); } if (DateTime.Now.Hour == 23 && DateTime.Now.Minute <= 5) { ServiceAppSetting.LoggerHander.Invoke(string.Format("执行一次! - {0}", DateTime.Now), ""); 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(); ServiceAppSetting.LoggerHander.Invoke(string.Format("执行成功! - {0}", DateTime.Now), ""); } catch (Exception) { tan.Rollback(); ServiceAppSetting.LoggerHander.Invoke(string.Format("账期执行失败! - {0}", DateTime.Now), "Error"); } } } ////增加金蝶发票处理工具 //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 = KISService.KISDBConn.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 = KISService.KISDBConn.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(); //} }
public void Execute(IJobExecutionContext context) { lock (Tclock) { var content = DateTime.Now.ToString() + "do !\r\n"; //模拟运行该任务需要15秒 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) { DoGuestJob(DateTime.Now); // 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}' and SimpGuestName='苏州康代智能' ", 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(); // new JobInfoService().Add(new JobInfo // { // JobTime = DateTime.Now, // JobType = 1 // }); // 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) { } _logger.InfoFormat(content); _logger.InfoFormat("第2个Job:" + DateTime.Now.ToString()); } }