/// <summary> /// 查询队列中未办结的记录 /// </summary> /// <param name="BussinesID"></param> /// <returns></returns> public List<QueueInfoOR> selectBussinessQueues(string BussinesID) { string sql = string.Format(@"select * from t_queueinfo where BussinessId='{0}' and status < 3 and prillbilltime>'{1}' order by prillbilltime ", BussinesID,DateTime.Now.ToString("yyyy-MM-dd")); DataTable dt = null; try { dt = dbMySql.ExecuteQuery(sql); } catch (Exception ex) { throw ex; } if (dt == null) { return null; } List<QueueInfoOR> listBuss = new List<QueueInfoOR>(); foreach (DataRow dr in dt.Rows) { QueueInfoOR obj = new QueueInfoOR(dr); listBuss.Add(obj); } return listBuss; }
private CommandList UpdateQueue(QueueInfoOR queueInfo) { string sql = @"update t_QueueInfo set BillNo = @BillNo,TransferDestWin = @TransferDestWin, DelayNum = @DelayNum, DelayTime = @DelayTime, CallTime = @CallTime, ProcessTime = @ProcessTime, FinishTime = @FinishTime, WindowNo = @WindowNo, EmployNo = @EmployNo, EmployName = @EmployName,Judge = @Judge, WaitInterval = @WaitInterval, ProcessInterval = @ProcessInterval, CustemClass = @CustemClass, Description = @Description, Status = @Staus where Id = @Id"; SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@Id", SqlDbType.Char, 36, ParameterDirection.Input, false, 0, 0, "Id", DataRowVersion.Default, queueInfo.Id), new SqlParameter("@BillNo", SqlDbType.VarChar, 50, ParameterDirection.Input, false, 0, 0, "BillNo", DataRowVersion.Default, queueInfo.Billno), new SqlParameter("@TransferDestWin", SqlDbType.VarChar, 20, ParameterDirection.Input, false, 0, 0, "TransferDestWin", DataRowVersion.Default, queueInfo.Transferdestwin), new SqlParameter("@DelayNum", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "DelayNum", DataRowVersion.Default, queueInfo.Delaynum), new SqlParameter("@DelayTime", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "DelayTime", DataRowVersion.Default, queueInfo.Delaytime), new SqlParameter("@CallTime", SqlDbType.DateTime, 8, ParameterDirection.Input, false, 0, 0, "CallTime", DataRowVersion.Default, queueInfo.Calltime), new SqlParameter("@ProcessTime", SqlDbType.DateTime, 8, ParameterDirection.Input, false, 0, 0, "ProcessTime", DataRowVersion.Default, queueInfo.Processtime), new SqlParameter("@FinishTime", SqlDbType.DateTime, 8, ParameterDirection.Input, false, 0, 0, "FinishTime", DataRowVersion.Default, queueInfo.Finishtime), new SqlParameter("@WindowNo", SqlDbType.Char, 36, ParameterDirection.Input, false, 0, 0, "WindowNo", DataRowVersion.Default, queueInfo.Windowno), new SqlParameter("@EmployNo", SqlDbType.Char, 36, ParameterDirection.Input, false, 0, 0, "EmployNo", DataRowVersion.Default, queueInfo.Employno), new SqlParameter("@EmployName", SqlDbType.VarChar, 50, ParameterDirection.Input, false, 0, 0, "EmployName", DataRowVersion.Default, queueInfo.Employname), //new SqlParameter("@CardNo", SqlDbType.VarChar, 50, ParameterDirection.Input, false, 0, 0, "CardNo", DataRowVersion.Default, queueInfo.Cardno), new SqlParameter("@Judge", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "Judge", DataRowVersion.Default, queueInfo.Judge), new SqlParameter("@WaitInterval", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "WaitInterval", DataRowVersion.Default, queueInfo.Waitinterval), new SqlParameter("@ProcessInterval", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "ProcessInterval", DataRowVersion.Default, queueInfo.Processinterval), new SqlParameter("@CustemClass", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "CustemClass", DataRowVersion.Default, queueInfo.Custemclass), new SqlParameter("@Description", SqlDbType.VarChar, 100, ParameterDirection.Input, false, 0, 0, "Description", DataRowVersion.Default, queueInfo.Description), new SqlParameter("@Staus", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "Status", DataRowVersion.Default, queueInfo.Status) }; return new CommandList(sql, parameters); }
private CommandList Insert(QueueInfoOR queueInfo) { string sql = @"insert into t_QueueInfo (Id, BankNo, BillNo, BussinessId, PrillBillTime, TransferDestWin, DelayNum, DelayTime, CallTime, ProcessTime, FinishTime, WindowNo, EmployNo, EmployName, CardNo, Judge, WaitInterval, ProcessInterval, WaitPeopleBusssiness, WaitPeopleBank, CustemClass, Description, Status) values (@Id, @BankNo, @BillNo, @BussinessId, @PrillBillTime, @TransferDestWin, @DelayNum, @DelayTime, @CallTime, @ProcessTime, @FinishTime, @WindowNo, @EmployNo, @EmployName, @CardNo, @Judge, @WaitInterval, @ProcessInterval, @WaitPeopleBusssiness, @WaitPeopleBank, @CustemClass, @Description, @Staus)"; SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@Id", SqlDbType.Char, 36, ParameterDirection.Input, false, 0, 0, "Id", DataRowVersion.Default, queueInfo.Id), new SqlParameter("@BankNo", SqlDbType.VarChar, 20, ParameterDirection.Input, false, 0, 0, "BankNo", DataRowVersion.Default, queueInfo.Bankno), new SqlParameter("@BillNo", SqlDbType.VarChar, 50, ParameterDirection.Input, false, 0, 0, "BillNo", DataRowVersion.Default, queueInfo.Billno), new SqlParameter("@BussinessId", SqlDbType.Char, 36, ParameterDirection.Input, false, 0, 0, "BussinessId", DataRowVersion.Default, queueInfo.Bussinessid), new SqlParameter("@PrillBillTime", SqlDbType.DateTime, 8, ParameterDirection.Input, false, 0, 0, "PrillBillTime", DataRowVersion.Default, queueInfo.Prillbilltime), new SqlParameter("@TransferDestWin", SqlDbType.VarChar, 20, ParameterDirection.Input, false, 0, 0, "TransferDestWin", DataRowVersion.Default, queueInfo.Transferdestwin), new SqlParameter("@DelayNum", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "DelayNum", DataRowVersion.Default, queueInfo.Delaynum), new SqlParameter("@DelayTime", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "DelayTime", DataRowVersion.Default, queueInfo.Delaytime), new SqlParameter("@CallTime", SqlDbType.DateTime, 8, ParameterDirection.Input, false, 0, 0, "CallTime", DataRowVersion.Default, queueInfo.Calltime), new SqlParameter("@ProcessTime", SqlDbType.DateTime, 8, ParameterDirection.Input, false, 0, 0, "ProcessTime", DataRowVersion.Default, queueInfo.Processtime), new SqlParameter("@FinishTime", SqlDbType.DateTime, 8, ParameterDirection.Input, false, 0, 0, "FinishTime", DataRowVersion.Default, queueInfo.Finishtime), new SqlParameter("@WindowNo", SqlDbType.Char, 36, ParameterDirection.Input, false, 0, 0, "WindowNo", DataRowVersion.Default, queueInfo.Windowno), new SqlParameter("@EmployNo", SqlDbType.Char, 36, ParameterDirection.Input, false, 0, 0, "EmployNo", DataRowVersion.Default, queueInfo.Employno), new SqlParameter("@EmployName", SqlDbType.VarChar, 50, ParameterDirection.Input, false, 0, 0, "EmployName", DataRowVersion.Default, queueInfo.Employname), new SqlParameter("@CardNo", SqlDbType.VarChar, 50, ParameterDirection.Input, false, 0, 0, "CardNo", DataRowVersion.Default, queueInfo.Cardno), new SqlParameter("@Judge", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "Judge", DataRowVersion.Default, queueInfo.Judge), new SqlParameter("@WaitInterval", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "WaitInterval", DataRowVersion.Default, queueInfo.Waitinterval), new SqlParameter("@ProcessInterval", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "ProcessInterval", DataRowVersion.Default, queueInfo.Processinterval), new SqlParameter("@WaitPeopleBusssiness", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "WaitPeopleBusssiness", DataRowVersion.Default, queueInfo.Waitpeoplebusssiness), new SqlParameter("@WaitPeopleBank", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "WaitPeopleBank", DataRowVersion.Default, queueInfo.Waitpeoplebank), new SqlParameter("@CustemClass", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "CustemClass", DataRowVersion.Default, queueInfo.Custemclass), new SqlParameter("@Description", SqlDbType.VarChar, 100, ParameterDirection.Input, false, 0, 0, "Description", DataRowVersion.Default, queueInfo.Description), new SqlParameter("@Staus", SqlDbType.Int, 4, ParameterDirection.Input, false, 0, 0, "Staus", DataRowVersion.Default, queueInfo.Status) }; return new CommandList(sql, parameters); }
/// <summary> /// 取号,返回票号 /// </summary> /// <param name="bussinessID"></param> /// <param name="mCardno"></param> /// <returns></returns> public string QH(string mbussinessID, string mCardno) { BussinessQueueOR _CurentBuss = GetBussiness(mbussinessID); if (_CurentBuss == null) { throw new Exception("获取业务队列失败!,无法取号。"); } //这里需要处理:取号类型(直接,刷卡、直接刷卡) 办理时间 string mErrorMsg = string.Empty; if (!CheckBussinessTime(_CurentBuss,out mErrorMsg)) { return mErrorMsg; } StringBuilder sbLog = new StringBuilder(); sbLog.AppendLine(string.Format("开始时间:{0}",DateTime.Now.ToString("dd HH:mm:ss:fff"))); try { string _BillNo = _CurentBuss.Prefix + GetBillNo(mbussinessID); sbLog.AppendLine(string.Format("时间:{0} ,编号:{1}", DateTime.Now.ToString("dd HH:mm:ss:fff"), _BillNo)); int mWaitpeoplebusssiness = 0; int mWaitpeoplebank = 0; //int mCustemclass = 0; GetWaitPeople(mbussinessID, out mWaitpeoplebusssiness, out mWaitpeoplebank); QueueInfoOR _qhOR = new QueueInfoOR(BankNo, _BillNo, mbussinessID, mCardno , mWaitpeoplebusssiness, mWaitpeoplebank);//初使化取号 _qhOR.VipFirstTime = 0; //处理vip优先时间 if (!string.IsNullOrEmpty(mCardno)) { _qhOR.VipFirstTime = VipCardHeadObj.GetFirstTime(mCardno); } _QueueDA.QH(_qhOR);//将取号插入到数据库 //插入到当前队列 _CurentBuss.BussQueues.Add(_qhOR); //票号#业务名称#当前业务人数#当前网点人数 string result= string.Format("{0}#{1}#{2}#{3}", _BillNo, _CurentBuss.Name,mWaitpeoplebusssiness,mWaitpeoplebank); sbLog.AppendLine(string.Format("入库完成到打印:{0} ", DateTime.Now.ToString("dd HH:mm:ss:fff"))); if (HDDA.Instance.PrintSlip(result)) { } sbLog.AppendLine(string.Format("打印结束:{0} \r\n", DateTime.Now.ToString("dd HH:mm:ss:fff"))); ErrorLog.WriteLog("时间测试: ", sbLog.ToString()); return result; } catch (Exception ex) { return ex.Message; } }
/// <summary> /// 查询需要同步的数据 /// </summary> /// <returns></returns> public List<QueueInfoOR> SelectUpdata() { string sql = "select * from t_queueinfo where status != upstatus order by status"; DataTable dt = null; try { dt = dbMySql.ExecuteQuery(sql); } catch (Exception ex) { throw ex; } if (dt == null) { return null; } List<QueueInfoOR> listQue = new List<QueueInfoOR>(); foreach (DataRow dr in dt.Rows) { QueueInfoOR obj = new QueueInfoOR(dr); listQue.Add(obj); } return listQue; }
/// <summary> /// 取号 /// </summary> /// <param name="_Qh"></param> /// <returns></returns> public bool QH(QueueInfoOR _Qh) { string sql = GetQHInsertSQL(_Qh); dbMySql.ExecuteNoQuery(sql); return true; }
/// <summary> /// 更新欢迎状态 /// </summary> /// <param name="obj"></param> /// <returns></returns> public bool UpdateWelcome(QueueInfoOR obj) { string sql = @"update t_queueinfo set status=2,ProcessTime=now(),Waitinterval='@Waitinterval' where ID='@ID' "; sql = sql.Replace("@Waitinterval", obj.Waitinterval.ToString()); //sql = sql.Replace("@Waitinterval", obj.Waitinterval.ToString()); //sql = sql.Replace("@ProcessTime", obj.Processtime.ToString("yyyy-MM-dd HH:mm:ss")); //sql = sql.Replace("@PrillBillTime", DateTime.Now.ToString("yyyy-MM-dd")); sql = sql.Replace("@ID", obj.Id); return dbMySql.ExecuteNoQuery(sql) > 0; }
private string GetQHInsertSQL(QueueInfoOR queueInfo) { string sql = @"insert into t_QueueInfo (Id, BankNo, BillNo, BussinessId, PrillBillTime, TransferDestWin, DelayNum, DelayTime, CallTime, ProcessTime, FinishTime, WindowNo, EmployNo, EmployName, CardNo, Judge, WaitInterval, ProcessInterval, WaitPeopleBusssiness, WaitPeopleBank, CustemClass, Description, Status) values ('@Id', '@BankNo', '@BillNo', '@BussinessId', '@PrillBillTime', '@TransferDestWin', @DelayNum, @DelayTime,'@CallTime', '@ProcessTime', '@FinishTime', '@WindowNo', '@EmployNo', '@EmployName', '@CardNo', @Judge, @WaitInterval, @ProcessInterval, @WaitPeopleBusssiness, @WaitPeopleBank, @CustemClass, '@Description', @Status)"; sql = sql.Replace("@Id", queueInfo.Id); sql = sql.Replace("@BankNo", queueInfo.Bankno); sql = sql.Replace("@BillNo", queueInfo.Billno); sql = sql.Replace("@BussinessId", queueInfo.Bussinessid); sql = sql.Replace("@PrillBillTime", queueInfo.Prillbilltime.ToString("yyyy-MM-dd HH:mm:ss")); sql = sql.Replace("@TransferDestWin", queueInfo.Transferdestwin.ToString()); sql = sql.Replace("@DelayNum", queueInfo.Delaynum.ToString()); sql = sql.Replace("@DelayTime", queueInfo.Delaytime.ToString()); sql = sql.Replace("@CallTime", queueInfo.Calltime.ToString("yyyy-MM-dd HH:mm:ss")); sql = sql.Replace("@ProcessTime", queueInfo.Processtime.ToString("yyyy-MM-dd HH:mm:ss")); sql = sql.Replace("@FinishTime", queueInfo.Finishtime.ToString("yyyy-MM-dd HH:mm:ss")); sql = sql.Replace("@WindowNo", queueInfo.Windowno); sql = sql.Replace("@EmployNo", queueInfo.Employno); sql = sql.Replace("@EmployName", queueInfo.Employname); sql = sql.Replace("@CardNo", queueInfo.Cardno); sql = sql.Replace("@Judge", queueInfo.Judge.ToString()); sql = sql.Replace("@WaitInterval", queueInfo.Waitinterval.ToString()); sql = sql.Replace("@ProcessInterval", queueInfo.Processinterval.ToString()); sql = sql.Replace("@WaitPeopleBusssiness", queueInfo.Waitpeoplebusssiness.ToString()); sql = sql.Replace("@WaitPeopleBank", queueInfo.Waitpeoplebank.ToString()); sql = sql.Replace("@CustemClass", queueInfo.Custemclass.ToString()); sql = sql.Replace("@Description", queueInfo.Description.ToString()); sql = sql.Replace("@Status", queueInfo.Status.ToString()); return sql; }
/// <summary> /// 转移窗口 /// </summary> /// <param name="obj"></param> /// <returns></returns> public bool UpdateTransfer(QueueInfoOR obj) { string sql = @"update t_queueinfo set TransferDestWin='@TransferDestWin',Employno='' ,Employname='',Windowno='',Status=@Status where ID='@ID' "; sql = sql.Replace("@TransferDestWin", obj.Transferdestwin.ToString()); sql = sql.Replace("@ID", obj.Id); sql = sql.Replace("@status", obj.Status.ToString()); return dbMySql.ExecuteNoQuery(sql) > 0; }
/// <summary> /// 两次重呼,弃号 /// </summary> /// <param name="obj"></param> /// <returns></returns> public bool UpdateRecallEnd(QueueInfoOR obj) { obj.Status = 3; string sql = @"update t_queueinfo set status=@status where ID='@ID' "; sql = sql.Replace("@status", obj.Status.ToString()); sql = sql.Replace("@ID", obj.Id); return dbMySql.ExecuteNoQuery(sql) > 0; }
/// <summary> /// 延后 /// </summary> /// <param name="obj"></param> /// <returns></returns> public bool UpdateDelayTimer(QueueInfoOR obj) { string sql = @"update t_queueinfo set DelayTime=@DelayTime,status=@status where ID='@ID' "; sql = sql.Replace("@DelayTime", obj.Delaytime.ToString()); sql = sql.Replace("@status", obj.Status.ToString()); sql = sql.Replace("@ID", obj.Id); return dbMySql.ExecuteNoQuery(sql) > 0; }
public bool UpdateCallJudge(QueueInfoOR obj) { string sql = @"update t_queueinfo set status=3,FinishTime=now(), Processinterval=@Processinterval where ID='@ID' "; sql = sql.Replace("@Processinterval", obj.Processinterval.ToString()); //sql = sql.Replace("@ProcessTime", obj.Finishtime.ToString("yyyy-MM-dd HH:mm:ss")); //sql = sql.Replace("@PrillBillTime", DateTime.Now.ToString("yyyy-MM-dd")); sql = sql.Replace("@ID", obj.Id); return dbMySql.ExecuteNoQuery(sql) > 0; }
/// <summary> /// 叫号 /// </summary> /// <returns></returns> public bool UpdateCall( QueueInfoOR obj) { string sql = @"update t_queueinfo set CallTime=now(),status=1, Windowno='@Windowno',Employno='@Employno',Employname='@Employname' where ID='@ID' "; sql = sql.Replace("@Windowno", obj.Windowno); sql = sql.Replace("@Employno", obj.Employno); sql=sql.Replace("@Employname",obj.Employname); sql = sql.Replace("@ID", obj.Id); return dbMySql.ExecuteNoQuery(sql) > 0; }