private void Fill() { string strSql = "SELECT a.*, b.NoAgent, b.NoCustomer, b.NoUnit, b.CaraBayar" + " FROM MS_KOMISI a" + " INNER JOIN MS_KONTRAK b ON a.NoKontrak = b.NoKontrak" + " WHERE a.NoKontrak = '" + NoKontrak + "'" + " AND a.NoAgent = " + NoAgent ; DataTable rs = Db.Rs(strSql); if (rs.Rows.Count == 0) Response.Redirect("/CustomError/Deleted.html"); else { lblNoKontrak.Text = rs.Rows[0]["NoKontrak"].ToString(); lblAgent.Text = Db.SingleString("SELECT Nama FROM MS_AGENT WHERE NoAgent = " + Cf.Pk(rs.Rows[0]["NoAgent"])); lblPrincipal.Text = Db.SingleString("SELECT Principal FROM MS_AGENT WHERE NoAgent = " + Cf.Pk(rs.Rows[0]["NoAgent"])); lblCustomer.Text = Db.SingleString("SELECT Nama FROM MS_CUSTOMER WHERE NoCustomer = " + Cf.Pk(rs.Rows[0]["NoCustomer"])); lblUnit.Text = rs.Rows[0]["NoUnit"].ToString(); if (cbStatus.Checked) { //tbNota.Text = rs.Rows[0]["NoNota"].ToString().PadLeft(7, '0'); tbTglBayar.Text = Cf.Day(rs.Rows[0]["TglBayar"]); tbNilai.Text = Cf.Num(rs.Rows[0]["NilaiBayar"]); //acc.Items.Add(new ListItem("Tidak berubah: " + rs.Rows[0]["AccKomisi"], rs.Rows[0]["AccKomisi"].ToString())); // acc.SelectedIndex = acc.Items.Count - 1; } else { int NoNota = Db.SingleInteger("SELECT ISNULL(MAX(NoNota), 0) FROM MS_KOMISI"); NoNota += 1; //tbNota.Text = NoNota.ToString().PadLeft(7, '0'); tbTglBayar.Text = Cf.Day(DateTime.Now); //tbNilai.Text = Cf.Num(rs.Rows[0]["NilaiKomisi"]); decimal nilaiKomisi = Convert.ToDecimal(rs.Rows[0]["NilaiKomisi"]); decimal closingFee = Convert.ToDecimal(rs.Rows[0]["ClosingFee"]); komisi40 = Convert.ToDecimal(rs.Rows[0]["Komisi40"]); komisi60 = Convert.ToDecimal(rs.Rows[0]["Komisi60"]); sisaKomisi = Convert.ToDecimal(rs.Rows[0]["SisaKomisi"]); for (int i = 0; i < rs.Rows.Count; i++) { btnid = BtnID.Substring(0, 6); if (btnid == "CAIR40") { if (Convert.ToDecimal(rs.Rows[i]["NilaiBayarKomisi40"]) == 0) { tbNilai.Text = Cf.Num(komisi40); } else { decimal nilaiCair = Convert.ToDecimal(rs.Rows[i]["Komisi40"]) - Convert.ToDecimal(rs.Rows[i]["NilaiBayarKomisi40"]); tbNilai.Text = Cf.Num(nilaiCair); } } else if (btnid == "CAIR60") { if (Convert.ToDecimal(rs.Rows[i]["NilaiBayarKomisi60"]) == 0) { tbNilai.Text = Cf.Num(komisi60); } else { decimal nilaiCair = Convert.ToDecimal(rs.Rows[i]["Komisi60"]) - Convert.ToDecimal(rs.Rows[i]["NilaiBayarKomisi60"]); tbNilai.Text = Cf.Num(nilaiCair); } } else if (btnid == "CAIRCF") { if (Convert.ToDecimal(rs.Rows[i]["NilaiBayarCF"]) == 0) { tbNilai.Text = Cf.Num(closingFee); } else { decimal nilaiCair = Convert.ToDecimal(rs.Rows[i]["ClosingFee"]) - Convert.ToDecimal(rs.Rows[i]["NilaiBayarCF"]); tbNilai.Text = Cf.Num(nilaiCair); } } else { if (Convert.ToDecimal(rs.Rows[i]["NilaiBayarSisaKomisi"]) == 0) { tbNilai.Text = Cf.Num(sisaKomisi); } else { decimal nilaiCair = Convert.ToDecimal(rs.Rows[i]["SisaKomisi"]) - Convert.ToDecimal(rs.Rows[i]["NilaiBayarSisaKomisi"]); tbNilai.Text = Cf.Num(nilaiCair); } } } } tbNilai.Attributes["onfocus"] = "tempnum=CalcFocus(this);"; tbNilai.Attributes["onkeyup"] = "CalcType(this,tempnum);"; tbNilai.Attributes["onblur"] = "CalcBlur(this);"; if (Convert.ToBoolean(rs.Rows[0]["FOBOKomisi"])) btnOK.Enabled = false; } }
//private void cekNilai() //{ //} //private bool isDuplikat() //{ // bool x = false; // string s = ""; // int intNoNota = Db.SingleInteger("SELECT NoNota FROM MS_KOMISI WHERE NoKontrak = '" + NoKontrak + "' AND NoAgent = " + NoAgent); //if (cbStatus.Checked && (Convert.ToInt32(tbNota.Text) != intNoNota)) //{ // if (Db.SingleInteger("SELECT COUNT(*) FROM MS_KOMISI WHERE NoNota = " + Convert.ToInt32(tbNota.Text)) > 0) // { // x = true; // if (s == "") // s = tbNota.ID; // lblNotac.Text = "Duplikat"; // } // else // lblNotac.Text = ""; //} //else if (!cbStatus.Checked) //{ // if (Db.SingleInteger("SELECT COUNT(*) FROM MS_KOMISI WHERE NoNota = " + Convert.ToInt32(tbNota.Text)) > 0) // { // x = true; // if (s == "") // s = tbNota.ID; // lblNotac.Text = "Duplikat"; // } // else // lblNotac.Text = ""; //} // if (x) // { // this.RegisterStartupScript( // "focusScript2" // , "<script language='javascript' type='text/javascript'>" // + "document.getElementById('" + s + "').focus();" // + "</script>" // ); // } // return x; //} private void Save() { DataTable rs = Db.Rs("SELECT " + " NoKontrak AS [No. Kontrak]" + ", NoUrut AS [No. Urut]" + ", Tipe" + ", NamaKomisi AS [Nama Komisi]" + ", Jadwal" + ", CaraBayar" + ", NilaiKomisi" + ", Komisi40" + ", Komisi60" + ", ClosingFee" + ", FlagCF" + ", NilaiBayarCF" + ", NilaiBayarKomisi40" + ", NilaiBayarKomisi60" + ", Kompensasi" + ", TermCair AS [Term Cair]" + ", NilaiKomisi AS [Nilai Komisi]" + ", CONVERT(VARCHAR, TglBolehBayar, 106) AS [Tgl. Boleh Bayar]" + " FROM MS_KOMISI" + " WHERE NoKontrak = '" + NoKontrak + "' AND NoAgent = " + NoAgent); //int NoNota = Convert.ToInt32(tbNota.Text); DateTime TglBayar; TglBayar = Convert.ToDateTime(tbTglBayar.Text); NilaiBayar = Convert.ToDecimal(tbNilai.Text); btnid = BtnID.Substring(0, 6); string strtgl, strBayarKomisi=""; decimal nilaiBayarKomisi= 0; if (btnid == "CAIR40") { strtgl = " TglBayar ="; strBayarKomisi = " NilaiBayarKomisi40 ="; nilaiBayarKomisi = Db.SingleDecimal("SELECT NilaiBayarKomisi40 FROM MS_KOMISI WHERE NoKontrak = '" + NoKontrak + "' AND NoAgent = '" + NoAgent + "'"); nilaiBayarKomisi += NilaiBayar; } else if (btnid == "CAIR60") { strtgl = " TglBayarKomisi60 ="; strBayarKomisi = " NilaiBayarKomisi60 ="; nilaiBayarKomisi = Db.SingleDecimal("SELECT NilaiBayarKomisi60 FROM MS_KOMISI WHERE NoKontrak = '" + NoKontrak + "' AND NoAgent = '" + NoAgent + "'"); nilaiBayarKomisi += NilaiBayar; } else if (btnid == "CAIRCF") { strtgl = " TglBayarCF ="; strBayarKomisi = " NilaiBayarCF ="; nilaiBayarKomisi = Db.SingleDecimal("SELECT NilaiBayarCF FROM MS_KOMISI WHERE NoKontrak = '" + NoKontrak + "' AND NoAgent = '" + NoAgent + "'"); nilaiBayarKomisi += NilaiBayar; } else { strtgl = " TglBayarSisaKomisi ="; strBayarKomisi = " NilaiBayarSisaKomisi ="; nilaiBayarKomisi = Db.SingleDecimal("SELECT NilaiBayarSisaKomisi FROM MS_KOMISI WHERE NoKontrak = '" + NoKontrak + "' AND NoAgent = '" + NoAgent + "'"); nilaiBayarKomisi += NilaiBayar; } DataTable rsBef = Db.Rs("SELECT " + " NoNota AS [No. Nota]" + ", CONVERT(VARCHAR, TglBayar, 106) AS [Tgl. Bayar]" + ", NilaiBayar AS [Nilai Bayar]" + ", AccKomisi AS [Rekening Bank]" + " FROM MS_KOMISI" + " WHERE NoKontrak = '" + NoKontrak + "' AND NoAgent = " + NoAgent); string strSql = "UPDATE MS_KOMISI" //+ " SET NoNota = " + NoNota + " SET " + strtgl + "'" + TglBayar + "'" + ", " + strBayarKomisi + "'" + nilaiBayarKomisi + "'" //+ ", NilaiBayar = " + akumulasiNilaiBayar //+ ", SudahBayar = 1" //+ ", AccKomisi = '" + acc.SelectedValue + "'" + " WHERE NoKontrak = '" + NoKontrak + "'" + " AND NoAgent = " + NoAgent ; Db.Execute(strSql); //Update FlagKomisi DataTable rs2 = Db.Rs("SELECT * FROM MS_KOMISI WHERE NoKontrak='"+NoKontrak+"' AND NoAgent='"+NoAgent+"'"); if (Convert.ToDecimal(rs2.Rows[0]["NilaiBayarKomisi40"]) == Convert.ToDecimal(rs2.Rows[0]["Komisi40"])) { Db.Execute("UPDATE MS_KOMISI SET FlagKomisi40=1 WHERE NoKontrak='" + NoKontrak + "' AND NoAgent='" + NoAgent + "'"); } if (Convert.ToDecimal(rs2.Rows[0]["NilaiBayarKomisi60"]) == Convert.ToDecimal(rs2.Rows[0]["Komisi60"])) { Db.Execute("UPDATE MS_KOMISI SET FlagKomisi60=1 WHERE NoKontrak='" + NoKontrak + "' AND NoAgent='" + NoAgent + "'"); } if (Convert.ToDecimal(rs2.Rows[0]["NilaiBayarCF"]) == Convert.ToDecimal(rs2.Rows[0]["ClosingFee"])) { Db.Execute("UPDATE MS_KOMISI SET FlagCF=1 WHERE NoKontrak='" + NoKontrak + "' AND NoAgent='" + NoAgent + "'"); } if (Convert.ToDecimal(rs2.Rows[0]["NilaiBayarSisaKomisi"]) == Convert.ToDecimal(rs2.Rows[0]["SisaKomisi"])) { Db.Execute("UPDATE MS_KOMISI SET FlagSisaKomisi=1 WHERE NoKontrak='" + NoKontrak + "' AND NoAgent='" + NoAgent + "'"); } DataTable rsAft = Db.Rs("SELECT " + " NoNota AS [No. Nota]" + ", CONVERT(VARCHAR, TglBayar, 106) AS [Tgl. Bayar]" + ", NilaiBayar AS [Nilai Bayar]" + ", AccKomisi AS [Rekening Bank]" + " FROM MS_KOMISI" + " WHERE NoKontrak = '" + NoKontrak + "' AND NoAgent = " + NoAgent); //Cek Cara Bayar //string caraBayar = rs.Rows[0]["CaraBayar"].ToString(); //string caraBayar2= Db.SingleString("SELECT CaraBayar FROM MS_KONTRAK WHERE NoKontrak='" + NoKontrak + "' AND NoAgent='" + NoAgent + "'"); //if (Convert.ToInt32(rs.Rows[0]["Kompensasi"]) == 0 ) //{ // if (caraBayar == "CASH KERAS") // { // if (caraBayar != caraBayar2) // { // if (caraBayar2 != "CASH KERAS") // { // decimal nilaikomisi = Convert.ToDecimal(rs.Rows[0]["NilaiKomisi"]); // decimal kompensasi = (decimal)0.015 * nilaikomisi; // Db.Execute("UPDATE MS_KOMISI SET Kompensasi='" + kompensasi + "' WHERE NoKontrak='" + NoKontrak + "' AND NoAgent='" + NoAgent + "'"); // } // } // } //} string Ket = ""; if (!cbStatus.Checked) { Ket = Cf.LogCapture(rs) + "<br>---BAYAR KOMISI---<br>" + Cf.LogCapture(rsAft) ; } else { Ket = Cf.LogCapture(rs) + "<br>---EDIT KOMISI---<br>" + Cf.LogCompare(rsBef, rsAft) ; } Db.Execute("EXEC spLogKontrak" + " 'EJK'" + ",'" + Act.UserID + "'" + ",'" + Act.IP + "'" + ",'" + Ket + "'" + ",'" + NoKontrak + "'" ); decimal LogID = Db.SingleDecimal("SELECT TOP 1 LogID FROM MS_KONTRAK_LOG ORDER BY LogID DESC"); string Project = Db.SingleString("SELECT Project FROM MS_KONTRAK WHERE NoKontrak = '" + NoKontrak + "'"); Db.Execute("UPDATE MS_KONTRAK_LOG SET Project = '" + Project + "' WHERE LogID = " + LogID); this.RegisterStartupScript( "closeScript" , "<script type='text/javascript'>" + "dialogArguments.location.href = 'AgentJadwalKomisi.aspx?NoAgent=" + NoAgent+"';" + "window.close();" + "</script>" ); }
protected void btnOK_Click(object sender, System.EventArgs e) { if (Valid()) { string btnid = BtnID.Substring(0, 6); decimal nilaiBayar = Convert.ToDecimal(tbNilai.Text); decimal nilaiBelumCair; DataTable rs2 = Db.Rs("SELECT * FROM MS_KOMISI WHERE NoKontrak='" + NoKontrak + "' AND NoAgent='" + NoAgent + "'"); if (btnid == "CAIR40") { if (nilaiBayar > (Convert.ToDecimal(rs2.Rows[0]["Komisi40"]) - Convert.ToDecimal(rs2.Rows[0]["NilaiBayarKomisi40"])) || nilaiBayar < (decimal)0) { if (Convert.ToDecimal(rs2.Rows[0]["NilaiBayarKomisi40"]) == 0) { Js.Alert( this , "Input Tidak Valid.\\n\\n" + "Nilai cair kurang / melebihi nilai komisi.\\n" , "document.getElementById('"+tbNilai.ClientID+"').focus();" ); tbNilai.Text = Cf.Num(Convert.ToDecimal(rs2.Rows[0]["Komisi40"])); } else { Js.Alert( this , "Input Tidak Valid.\\n\\n" + "Nilai cair kurang / melebihi nilai komisi.\\n" , "document.getElementById('" + tbNilai.ClientID + "').focus();" ); nilaiBelumCair = Convert.ToDecimal(rs2.Rows[0]["Komisi40"]) - Convert.ToDecimal(rs2.Rows[0]["NilaiBayarKomisi40"]); tbNilai.Text = Cf.Num(nilaiBelumCair); } } else { Save(); } } else if (btnid == "CAIR60") { if (nilaiBayar > (Convert.ToDecimal(rs2.Rows[0]["Komisi60"]) - Convert.ToDecimal(rs2.Rows[0]["NilaiBayarKomisi60"])) || nilaiBayar < (decimal)0) { if (Convert.ToDecimal(rs2.Rows[0]["NilaiBayarKomisi60"]) == 0) { Js.Alert( this , "Input Tidak Valid.\\n\\n" + "Nilai cair kurang / melebihi nilai komisi.\\n" , "document.getElementById('" + tbNilai.ClientID + "').focus();" ); tbNilai.Text = Cf.Num(Convert.ToDecimal(rs2.Rows[0]["Komisi60"])); } else { Js.Alert( this , "Input Tidak Valid.\\n\\n" + "Nilai cair kurang / melebihi nilai komisi.\\n" , "document.getElementById('" + tbNilai.ClientID + "').focus();" ); nilaiBelumCair = Convert.ToDecimal(rs2.Rows[0]["Komisi60"]) - Convert.ToDecimal(rs2.Rows[0]["NilaiBayarKomisi60"]); tbNilai.Text = Cf.Num(nilaiBelumCair); } } else { Save(); } } else if (btnid == "CAIRCF") { if (nilaiBayar > (Convert.ToDecimal(rs2.Rows[0]["ClosingFee"]) - Convert.ToDecimal(rs2.Rows[0]["NilaiBayarCF"])) || nilaiBayar < (decimal)0) { if (Convert.ToDecimal(rs2.Rows[0]["NilaiBayarCF"]) == 0) { Js.Alert( this , "Input Tidak Valid.\\n\\n" + "Nilai cair kurang / melebihi nilai komisi.\\n" , "document.getElementById('" + tbNilai.ClientID + "').focus();" ); tbNilai.Text = Cf.Num(Convert.ToDecimal(rs2.Rows[0]["ClosingFee"])); } else { Js.Alert( this , "Input Tidak Valid.\\n\\n" + "Nilai cair kurang / melebihi nilai komisi.\\n" , "document.getElementById('" + tbNilai.ClientID + "').focus();" ); nilaiBelumCair = Convert.ToDecimal(rs2.Rows[0]["ClosingFee"]) - Convert.ToDecimal(rs2.Rows[0]["NilaiBayarCF"]); tbNilai.Text = Cf.Num(nilaiBelumCair); } } else { Save(); } } else { if (nilaiBayar > (Convert.ToDecimal(rs2.Rows[0]["SisaKomisi"]) - Convert.ToDecimal(rs2.Rows[0]["NilaiBayarSisaKomisi"])) || nilaiBayar < (decimal)0) { if (Convert.ToDecimal(rs2.Rows[0]["NilaiBayarSisaKomisi"]) == 0) { Js.Alert( this , "Input Tidak Valid.\\n\\n" + "Nilai cair kurang / melebihi nilai komisi.\\n" , "document.getElementById('" + tbNilai.ClientID + "').focus();" ); tbNilai.Text = Cf.Num(Convert.ToDecimal(rs2.Rows[0]["SisaKomisi"])); } else { Js.Alert( this , "Input Tidak Valid.\\n\\n" + "Nilai cair kurang / melebihi nilai komisi.\\n" , "document.getElementById('" + tbNilai.ClientID + "').focus();" ); nilaiBelumCair = Convert.ToDecimal(rs2.Rows[0]["SisaKomisi"]) - Convert.ToDecimal(rs2.Rows[0]["NilaiBayarSisaKomisi"]); tbNilai.Text = Cf.Num(nilaiBelumCair); } } else { Save(); } } } }
private void HandleCallBoxRequest(object obj, CallBoxInfo CallBox) { try { //lock (HandCallBoxlockObj) //{ LogHelper.WriteCallBoxLog("接受到:" + CallBox.CallBoxID.ToString() + "号按钮盒信息"); NetEventArgs einfo = obj as NetEventArgs; if (einfo == null) { return; } LogHelper.WriteCallBoxLog("开始解析按钮值"); List <byte> Message = einfo.MesContent; AppSession ClientSession = einfo.Session; int CallBoxID = CallBox.CallBoxID; //本次被开的按钮 List <int> CallBoxBtnList = new List <int>(); //本次被关闭的按钮 List <int> CallBoxBtnCloseList = new List <int>(); //int ButID = (int)Message[3]; //if (ButID == 0) { return; } //CallBoxBtnList.Add(ButID); ////最多支持9个按键 //string BtnPortNextStr = Convert.ToString(Message[4], 2).PadLeft(8, '0'); //LogHelper.WriteCallBoxLog(BtnPortNextStr); //if (BtnPortNextStr.Substring(7, 1) == "1") //{ CallBoxBtnList.Add(9); } string BtnPortStr = Convert.ToString(Message[3], 2).PadLeft(8, '0'); if (BtnPortStr.Substring(0, 1) == "1") { CallBoxBtnList.Add(8); } else { CallBoxBtnCloseList.Add(8); } if (BtnPortStr.Substring(1, 1) == "1") { CallBoxBtnList.Add(7); } else { CallBoxBtnCloseList.Add(7); } if (BtnPortStr.Substring(2, 1) == "1") { CallBoxBtnList.Add(6); } else { CallBoxBtnCloseList.Add(6); } if (BtnPortStr.Substring(3, 1) == "1") { CallBoxBtnList.Add(5); } else { CallBoxBtnCloseList.Add(5); } if (BtnPortStr.Substring(4, 1) == "1") { CallBoxBtnList.Add(4); } else { CallBoxBtnCloseList.Add(4); } if (BtnPortStr.Substring(5, 1) == "1") { CallBoxBtnList.Add(3); } else { CallBoxBtnCloseList.Add(3); } if (BtnPortStr.Substring(6, 1) == "1") { CallBoxBtnList.Add(2); } else { CallBoxBtnCloseList.Add(2); } if (BtnPortStr.Substring(7, 1) == "1") { CallBoxBtnList.Add(1); } else { CallBoxBtnCloseList.Add(1); } //记忆上次被开的按钮 string OldCallBoxBtnList = CallBox.CallBoxBtnList; CallBox.CallBoxBtnList = string.Join(",", CallBoxBtnList.Select(p => p)); CallBoxInfo BoxInfo = AGVServerDAccess.LoadAllCallBoxByID(CallBoxID); IList <CallBoxDetail> BoxDetails = AGVServerDAccess.LoadCallBoxDetails(CallBoxID); //根据按钮盒信息处理业务逻辑 foreach (int BtnID in CallBoxBtnList) { CallBoxDetail CurrBoxDetail = BoxDetails.FirstOrDefault(p => p.CallBoxID == CallBoxID && p.ButtonID == BtnID); if (CurrBoxDetail.OperaType != 3) { LightContrl(ClientSession, BtnID, 1); } //抽取当前按钮盒当前按钮对应的操作类型 LogHelper.WriteCallBoxLog("接受到" + CallBox.CallBoxID + "号按钮盒按键" + BtnID); //处理按钮盒的过程为: //1.接受到按钮盒的请求后,产生任务后将对应的按钮灯点亮 //2.当有车领取了该任务后将按钮等熄灭 #region 根据配置生成任务 if (BoxInfo == null) { LogHelper.WriteCallBoxLog("未配置按钮盒" + CallBox.CallBoxID.ToString() + "档案信息"); Thread.Sleep(1000 * 3); LightContrl(ClientSession, BtnID, 0); continue; } if (BoxDetails == null || (BoxDetails != null && BoxDetails.Count <= 0)) { LogHelper.WriteCallBoxLog("未配置按钮盒" + CallBox.CallBoxID.ToString() + "明细档案信息1"); Thread.Sleep(1000 * 3); LightContrl(ClientSession, BtnID, 0); continue; } if (CurrBoxDetail == null) { LogHelper.WriteCallBoxLog("未配置按钮盒" + CallBox.CallBoxID.ToString() + "明细档案信息2"); Thread.Sleep(1000 * 3); LightContrl(ClientSession, BtnID, 0); continue; } if (CurrBoxDetail.OperaType == 0)//呼叫 { bool HandleCallResult = HandleCallBoxCall(CallBox, CurrBoxDetail, BtnID); if (!HandleCallResult) { Thread.Sleep(1000 * 3); LightContrl(ClientSession, BtnID, 0); continue; } else { Thread.Sleep(3000); LightContrl(ClientSession, BtnID, 0); } } else if (CurrBoxDetail.OperaType == 1)//监控 { bool HandleCallBoxMonitorResult = HandleCallBoxMonitor(CallBox, CurrBoxDetail, BtnID); if (!HandleCallBoxMonitorResult) { Thread.Sleep(1000 * 3); LightContrl(ClientSession, BtnID, 0); continue; } else { Thread.Sleep(3000); LightContrl(ClientSession, BtnID, 0); } } else if (CurrBoxDetail.OperaType == 3)//传感器监控 { if (string.IsNullOrEmpty(OldCallBoxBtnList) || (!string.IsNullOrEmpty(OldCallBoxBtnList) && !OldCallBoxBtnList.Contains(BtnID.ToString()))) { hs_PreReciveSensorTime[CurrBoxDetail.CallBoxID.ToString() + "," + CurrBoxDetail.ButtonID.ToString()] = DateTime.Now; } else { double FilterTime = 0; //传感器监控需要增加滤波功能 string FilterTimeStr = CoreData.SysParameter["FilterTime"].ToString(); if (!string.IsNullOrEmpty(FilterTimeStr)) { try { FilterTime = Convert.ToDouble(FilterTimeStr); } catch { } } ArrayList keyList = new ArrayList(hs_PreReciveSensorTime.Keys); if (!keyList.Contains(CurrBoxDetail.CallBoxID.ToString() + "," + CurrBoxDetail.ButtonID.ToString())) { hs_PreReciveSensorTime[CurrBoxDetail.CallBoxID.ToString() + "," + CurrBoxDetail.ButtonID.ToString()] = DateTime.Now; } else { DateTime PreReciveSensorTime = Convert.ToDateTime(hs_PreReciveSensorTime[CurrBoxDetail.CallBoxID.ToString() + "," + CurrBoxDetail.ButtonID.ToString()]); double SpanTime = (DateTime.Now - PreReciveSensorTime).TotalSeconds; if (FilterTime <= SpanTime) { HandleCallBoxMonitor(CallBox, CurrBoxDetail, BtnID); hs_PreReciveSensorTime[CurrBoxDetail.CallBoxID.ToString() + "," + CurrBoxDetail.ButtonID.ToString()] = DateTime.Now; } else { continue; } } } } else//确认放行 { bool HandleCallBoxReleaseResult = HandleCallBoxRelease(CallBox, CurrBoxDetail, BtnID); if (!HandleCallBoxReleaseResult) { Thread.Sleep(1000 * 3); LightContrl(ClientSession, BtnID, 0); continue; } else { Thread.Sleep(3000); LightContrl(ClientSession, BtnID, 0); } } #endregion //Thread.Sleep(3000); //LightContrl(ClientSession, BtnID, 0); } ///将传感器没有物品时需要将对应储位状态清空 foreach (int BtnID in CallBoxBtnCloseList) { if (BoxDetails == null || (BoxDetails != null && BoxDetails.Count <= 0)) { LogHelper.WriteCallBoxLog("未配置按钮盒" + CallBox.CallBoxID.ToString() + "明细档案信息4"); continue; } CallBoxDetail CurrBoxDetail = BoxDetails.FirstOrDefault(p => p.CallBoxID == CallBoxID && p.ButtonID == BtnID); if (CurrBoxDetail == null) { //LogHelper.WriteCallBoxLog("未配置按钮盒" + CallBox.CallBoxID.ToString() + "明细档案信息"); continue; } if (CurrBoxDetail.OperaType == 3)//传感器监控 { ArrayList keyList = new ArrayList(hs_PreReciveSensorTime.Keys); if (!keyList.Contains(CurrBoxDetail.CallBoxID.ToString() + "," + CurrBoxDetail.ButtonID.ToString())) { if (string.IsNullOrEmpty(OldCallBoxBtnList) || (!string.IsNullOrEmpty(OldCallBoxBtnList) && OldCallBoxBtnList.Contains(BtnID.ToString()))) { hs_PreReciveSensorTime[CurrBoxDetail.CallBoxID.ToString() + "," + CurrBoxDetail.ButtonID.ToString()] = DateTime.Now; } } else { double FilterTime = 0; //传感器监控需要增加滤波功能 string FilterTimeStr = CoreData.SysParameter["FilterTime"].ToString(); if (!string.IsNullOrEmpty(FilterTimeStr)) { try { FilterTime = Convert.ToDouble(FilterTimeStr); } catch { } } keyList = new ArrayList(hs_PreReciveSensorTime.Keys); if (!keyList.Contains(CurrBoxDetail.CallBoxID.ToString() + "," + CurrBoxDetail.ButtonID.ToString())) { hs_PreReciveSensorTime[CurrBoxDetail.CallBoxID.ToString() + "," + CurrBoxDetail.ButtonID.ToString()] = DateTime.Now; } else { DateTime PreReciveSensorTime = Convert.ToDateTime(hs_PreReciveSensorTime[CurrBoxDetail.CallBoxID.ToString() + "," + CurrBoxDetail.ButtonID.ToString()]); double SpanTime = (DateTime.Now - PreReciveSensorTime).TotalSeconds; if (FilterTime <= SpanTime) { CurrBoxDetail.LocationState = 0; HandleCallBoxMonitor(CallBox, CurrBoxDetail, BtnID); hs_PreReciveSensorTime[CurrBoxDetail.CallBoxID.ToString() + "," + CurrBoxDetail.ButtonID.ToString()] = DateTime.Now; } else { continue; } } } } } //} } catch (Exception ex) { LogHelper.WriteCallBoxLog("呼叫器处理异常:" + ex.Message); } }