public void OnLoadGroup() { this.cblist.BeginInvoke(new Action(() => { cblist.Items.Clear(); List <PokeGroupUIModel> _pokeList = ProducePokeService.GetGroupNo().Select(s => new PokeGroupUIModel { GroupKind = "1", GroupNum = s.GROUPNO.ToString(), GroupDesc = s.GROUPNO + "正常烟", ConfigKey = "1" + s.GROUPNO.ToString(), }).OrderBy(o => o.GroupNum).ToList(); List <PokeGroupUIModel> _unpokeList = UnPokeService.GetLinenum().Select(s => new PokeGroupUIModel { GroupKind = "2", GroupNum = s.LINENUM, GroupDesc = s.LINENUM + "(异)", ConfigKey = "2" + s.LINENUM.ToString(), }).OrderBy(o => o.GroupNum).ToList(); _unionAllPokeGroupList = _pokeList.Union(_unpokeList).ToList(); cblist.DataSource = _unionAllPokeGroupList; cblist.ValueMember = "GroupNum"; cblist.DisplayMember = "GroupDesc"; for (int i = 0; i < cblist.Items.Count; i++) { cblist.SetItemChecked(i, true); } })); }
public void startAutoUnNormalBuHuo() { while (isRunUnnormalBuHuo) { UnPokeService.PreUpdateInOut(isSanpan); Thread.Sleep(scanTime * 1000); } }
private void Bind() { List <TaskDetail> list; if (!string.IsNullOrWhiteSpace(textBox3.Text)) { list = UnPokeService.getData(decimal.Parse(textBox3.Text)); } else { list = UnPokeService.getDataAll(); } task_data.Rows.Clear(); try { String status = ""; foreach (var item in list) { DataGridViewCellStyle dgvStyle = new DataGridViewCellStyle(); dgvStyle.BackColor = Color.LightGreen; // 存了状态值 int index = this.task_data.Rows.Add(); this.task_data.Rows[index].Cells[0].Value = item.SortNum; //分拣任务号 this.task_data.Rows[index].Cells[1].Value = item.SENDTASKNUM; //发送包号 this.task_data.Rows[index].Cells[2].Value = item.Billcode; //订单号 this.task_data.Rows[index].Cells[3].Value = item.CIGARETTDECODE; //香烟编号 this.task_data.Rows[index].Cells[4].Value = item.CIGARETTDENAME; //香烟名称 this.task_data.Rows[index].Cells[5].Value = item.LINENUM; //分拣线 this.task_data.Rows[index].Cells[6].Value = item.POKENUM; //抓烟数量 this.task_data.Rows[index].Cells[7].Value = item.PACKAGEMACHINE; //包装机 // this.task_data.Rows[index].Cells[8].Value = item.STATUS; if (item.STATUS == 10) { status = "新增"; } else if (item.STATUS == 15) { status = "已发送"; } else { status = "完成"; } this.task_data.Rows[index].Cells[8].Value = status;//状态位 if (status == "完成") { this.task_data.Rows[index].Cells[8].Style = dgvStyle; } } } finally { } }
private void button7_Click(object sender, EventArgs e) { //UnPokeService.getName(); if (statusGroup2 != null) { statusGroup2.SyncWrite(UnPokeService.getCode()); statusGroup3.SyncWrite(UnPokeService.getName()); } else { MessageBox.Show("连接未建立,请稍后同步!"); } }
/// <summary> /// 烟柜1线(B)订单信息 /// </summary> void sendSixCabine1BtTask() { try { issendsixone = false; string OutStr = ""; int flag = SendTaskStatesGroup.ReadD(3).CastTo <int>(-1); writeLog.Write("烟柜一线发送数据前读标志位:" + flag); if (flag == 2) { // string linenum = UnPokeService.getSixCabinetLineNum();//烟柜分拣线 object[] datas = UnPokeService.getSixCabinetTask(25, "1", out listSix1B, out OutStr); if (int.Parse(datas[0].ToString()) == 0) { updateListBox("烟柜一线分拣数据发送完毕"); return; } //string logstr = ""; //for (int i = 0; i < datas.Length; i++) //{ // logstr += i + ":" + datas[i] + ";"; //} writeLog.Write("烟柜一线分拣发送数据:" + OutStr); updateListBox("烟柜一线分拣发送数据:" + OutStr); //写电控 SixCabinetGroup1B.SyncWrite(datas); //读电控 //String p1 = ""; //for (int i = 0; i <= 225; i = i + 9) //{ // p1 += SixCabinetGroup1B.ReadD(i).ToString() + ";";//pokeid //} //writeLog.Write("读出烟柜一线电控写入值:" + p1); } } catch (Exception ex) { writeLog.Write(ex.Message); updateListBox(ex.Message); Thread.Sleep(10000); if (ex.InnerException != null && ex.InnerException.Message != null) { writeLog.Write(ex.InnerException.Message); updateListBox(ex.InnerException.Message); } sendSixCabine1BtTask();//异常后重新发送 } }
/// <summary> /// 第一组 /// </summary> void sendTask1() { try { issendone = true; int flag = SendTaskStatesGroup.ReadD(0).CastTo <int>(-1); writeLog.Write("烟仓一线发送数据前读标志位:" + flag); if (flag == 2) { string OutStr = ""; object[] datas = UnPokeService.getTask(25, "1", out list, out OutStr); if (int.Parse(datas[0].ToString()) == 0) { updateListBox("烟仓一线分拣数据发送完毕"); return; } //string logstr = ""; //for (int i = 0; i < datas.Length; i++) //{ // logstr += i + ":" + datas[i] + ";"; //} writeLog.Write("分拣烟仓一线:" + OutStr); updateListBox("分拣烟仓一线:" + OutStr); taskgroup1.SyncWrite(datas); //写完db块后,再读出来 //String p1 = ""; //for (int i = 0; i <= 225; i = i + 9) //{ // p1 += taskgroup1.ReadD(i).ToString() + ";";//pokeid //} //writeLog.Write("读出烟仓一线电控写入值:" + p1); } } catch (Exception ex) { writeLog.Write(ex.Message); updateListBox(ex.Message); Thread.Sleep(10000); if (ex.InnerException != null && ex.InnerException.Message != null) { writeLog.Write(ex.InnerException.Message); updateListBox(ex.InnerException.Message); } sendTask1();//异常后重新发送 } }
private void FetchUnPokeData(PokeGroupUIModel model, String seq) { List <T_UN_POKE> _unpokeList = UnPokeService.FetchUnPokeList(model.GroupNum); if (_unpokeList.Count == 0) { return; } StringBuilder info = new StringBuilder(); foreach (var item in _unpokeList) { info.AppendFormat("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15};\r\n", item.TASKNUM, "123456789123", "测试客户", "430189", "芙蓉王", item.POKENUM, "1", "1", "0201", "xianluyi", "2018-03-07", "2018-03-09", "01", "1", "", ""); } ExpToZipFile(info.ToString(), model); }
void ThreadFuntion() { while (true) { for (int i = 1; i <= 8; i++) { T_UN_CACHE cache = ProduceCacheService.GetUnCache(i); string lblName = "lblPm" + i; Control contr = (Label)Controls.Find(lblName, true)[0]; if (UnPokeService.checkExist(i)) { decimal sortnum = listPM[i - 1].ReadD(2).CastTo <decimal>(-1);//任务号 if (sortnum == -1) { string str = i + "号包装机连接异常!"; updateLabel(str, (Label)contr); } else { decimal?cacheSize = 0; decimal xynum = listPM[i - 1].ReadD(3).CastTo <decimal>(-1);//以包数量 if (i >= 1 && i <= 4) { cacheSize = cache.CACHESIZE - UnPokeService.GetCacheCount((decimal)i, sortnum, xynum, (cache.CACHESIZE ?? 0), "1");//可容纳烟条大小 } else { cacheSize = cache.CACHESIZE - UnPokeService.GetCacheCount((decimal)i, sortnum, xynum, (cache.CACHESIZE ?? 0), "2");//可容纳烟条大小 } if (cacheSize < 0) { cacheSize = 0; } string str = i + "号包装机常规烟任务:" + listPM[i - 1].ReadD(0) + ",常规烟已包数量:" + listPM[i - 1].ReadD(1) + "\r\n" + i + "号包装机异形烟任务号:" + sortnum + ",异形烟已包数量:" + xynum + "\r\n当前缓存量:" + cacheSize; updateLabel(str, (Label)contr); } } else { string str = i + "号包装机的未排程数据!"; updateLabel(str, (Label)contr); } } Thread.Sleep(500); } }
private void cmbLineNo_SelectedIndexChanged(object sender, EventArgs e) { try { cmbPM.Items.Clear(); foreach (var item in UnPokeService.GetCmbPackageMachine(cmbLineNo.Items[cmbLineNo.SelectedIndex].ToString())) { cmbPM.Items.Add(item); } cmbPM.SelectedIndex = 0; } catch (Exception ex) { MessageBox.Show("数据库连接失败,请检查网络!"); Close(); } }
private void StatusManager_Load(object sender, EventArgs e) { cmbLineNo.Items.Clear(); cmbPM.Items.Clear(); try { foreach (var item in UnPokeService.GetCmbLinenNum()) { cmbLineNo.Items.Add(item); } if (cmbPM.Items.Count > 0) { cmbPM.SelectedIndex = 0; } } catch (Exception ex) { MessageBox.Show("数据库连接失败,请检查网络!"); Close(); } }
/// <summary> ///特异形烟1线 /// </summary> void sendSSTask1() { try { issendone = true; int flag = SpyBiaozhiGroup.ReadD(1).CastTo <int>(-1);//发送数据前读标志位 writeLog.Write("1线特异形烟发送数据前读标志位:" + flag); if (flag == 0) { string OutStr = ""; object[] datas = UnPokeService.GetSpecialSmokeData(10, "1", out listSS1B, out OutStr);//获取可发送任务 if (int.Parse(datas[0].ToString()) == 0) { updateListBox("1线特异形烟分拣数据发送完毕"); return; } writeLog.Write("1线特异形烟分拣线:" + OutStr); updateListBox("1线特异形烟分拣线:" + OutStr); SpecialSmokeGroup1.SyncWrite(datas); } else { writeLog.Write("1线特异形烟标志位读取到异常:" + flag); updateListBox("1线特异形烟标志位读取到异常:" + flag); } } catch (Exception ex) { writeLog.Write(ex.Message); updateListBox(ex.Message); Thread.Sleep(10000); if (ex.InnerException != null && ex.InnerException.Message != null) { writeLog.Write(ex.InnerException.Message); updateListBox(ex.InnerException.Message); } sendSSTask1();//异常后重新发送 } }
void AutoFinishTask() { try { for (int i = 0; i < FinishOnlyGoroup1.GetGroupItemLength(); i++) { int tempvalue = int.Parse(FinishOnlyGoroup1.Read(i).ToString()); if (tempvalue >= 1)//分拣完成 { try { if (tempvalue != 0) { writeLog.Write(ListLineNum[0] + "线从电控读取出口号:" + i + 1 + ";任务号:" + tempvalue); UnPokeService.UpdateunTask(tempvalue, 20);//根据异形烟整包任务号更新poke表中状态 writeLog.Write(ListLineNum[0] + "线烟仓任务号" + tempvalue + "数据库更新完成"); updateListBox(ListLineNum[0] + "线烟仓:" + tempvalue + "号任务已完成"); writeLog.Write(ListLineNum[0] + "线烟仓:" + tempvalue + "号任务已完成"); } } catch (Exception ex) { writeLog.Write("连接服务器失败!" + ex.Message); updateListBox("连接服务器失败!" + ex.Message); return; } FinishOnlyGoroup1.Write(0, i); } } } catch (Exception ex) { writeLog.Write("自动更新任务失败!" + ex.Message); updateListBox("自动更新任务失败!" + ex.Message); } }
/// <summary> /// 一组交互 /// </summary> void sendOnlyTask() { try { issendone = true; int flag = SpyBiaozhiGroup.ReadD(0).CastTo <int>(-1); writeLog.Write("烟仓烟柜发送数据前读标志位:" + flag); if (flag == 0) { #region //int pcgm = 4; //while (!UnPokeService.CheckExistPreSendTask("1", 1, 12) && UnPokeService.CheckExistCanSendPackeMachine("1", 1)) //{ // decimal sortnum, xyqty; // for (int i = 1; i <= 8; i++) // { // try // { // sortnum = 0; // xyqty = 0; // } // catch // { // sortnum = 0; // xyqty = 0; // } // if (!UnPokeService.CheckExistTaskNo(sortnum)) // { // xyqty = 0; // } // sortNumList.Add(sortnum); // zqNumList.Add(xyqty); // } // decimal DISPATCHESIZE = 0; // pcgm = UnPokeService.GetSendPackageMachineYC(1, sortNumList, zqNumList, out DISPATCHESIZE);//获取包装机 // if (packagemachine > 0) // { // UnPokeService.UpdateSendtasknumByPM(pcgm, (int)DISPATCHESIZE);//计算可发送任务 // } // if (pcgm - 1 > 0) // { // pcgm -= 1; // } // else // { // pcgm = 4; // } // Thread.Sleep(100); //} #endregion string OutStr = ""; object[] datas = UnPokeService.getAllLineTask(10, out listOnly, out OutStr);//获取可发送任务 if (int.Parse(datas[0].ToString()) == 0) { updateListBox("烟仓烟柜分拣数据发送完毕"); return; } writeLog.Write("烟仓烟柜分拣线:" + OutStr); updateListBox("烟仓烟柜分拣线:" + OutStr); OnlyTaskGorup.SyncWrite(datas); } } catch (Exception ex) { writeLog.Write(ex.Message); updateListBox(ex.Message); Thread.Sleep(10000); if (ex.InnerException != null && ex.InnerException.Message != null) { writeLog.Write(ex.InnerException.Message); updateListBox(ex.InnerException.Message); } sendOnlyTask();//异常后重新发送 } }
private void Bind() { List <TaskDetail> list; if (!string.IsNullOrWhiteSpace(textBox3.Text) && !string.IsNullOrWhiteSpace(txtregioncode.Text)) { list = UnPokeService.getDataAll().Where(a => a.REGIONCODE == txtregioncode.Text && a.SortNum == decimal.Parse(textBox3.Text)).OrderBy(a => a.SortNum).ToList(); WriteLog.GetLog().Write("进行分拣任务号和车组号查询"); } else if (!string.IsNullOrWhiteSpace(textBox3.Text)) { list = UnPokeService.getDataAll().Where(a => a.SortNum == decimal.Parse(textBox3.Text)).ToList(); WriteLog.GetLog().Write("进行分拣任务号查询"); } else if (!string.IsNullOrWhiteSpace(txtregioncode.Text)) { list = UnPokeService.getDataAll().Where(a => a.REGIONCODE == txtregioncode.Text).OrderBy(a => a.SortNum).ToList(); WriteLog.GetLog().Write("进行车组号查询"); } else { list = UnPokeService.getDataAll(); WriteLog.GetLog().Write("进行所有任务查询"); } task_data.Rows.Clear(); try { String status = ""; foreach (var item in list) { DataGridViewCellStyle dgvStyle = new DataGridViewCellStyle(); dgvStyle.BackColor = Color.LightGreen; // 存了状态值 int index = this.task_data.Rows.Add(); this.task_data.Rows[index].Cells[0].Value = item.SORTSEQ; //户序 this.task_data.Rows[index].Cells[1].Value = item.SortNum; //分拣任务号 this.task_data.Rows[index].Cells[2].Value = item.SENDTASKNUM; //发送包号 this.task_data.Rows[index].Cells[3].Value = item.REGIONCODE; //香烟编号 this.task_data.Rows[index].Cells[4].Value = item.CUSTOMERNAME; //客户名称 this.task_data.Rows[index].Cells[5].Value = item.CIGARETTDECODE; //香烟编号 this.task_data.Rows[index].Cells[6].Value = item.CIGARETTDENAME; //香烟名称 this.task_data.Rows[index].Cells[7].Value = item.LINENUM; //分拣线 this.task_data.Rows[index].Cells[8].Value = item.POKENUM; //抓烟数量 this.task_data.Rows[index].Cells[9].Value = item.STATUS; //状态位 this.task_data.Rows[index].Cells[10].Value = item.Machineseq; //物理通道号 this.task_data.Rows[index].Cells[11].Value = item.PACKAGEMACHINE; //包装机 this.task_data.Rows[index].Cells[12].Value = item.Billcode; //订单号 if (item.STATUS == 10) { status = "新增"; } else if (item.STATUS == 12) { status = "已计算"; } else if (item.STATUS == 15) { status = "已发送"; } else { status = "完成"; } this.task_data.Rows[index].Cells[9].Value = status;//状态位 if (status == "完成") { this.task_data.Rows[index].Cells[9].Style = dgvStyle; } } } finally { } }
private void button2_Click(object sender, EventArgs e) { try { if (string.IsNullOrWhiteSpace(cmbLineNo.Text)) { MessageBox.Show("请选择分拣线"); return; } if (string.IsNullOrWhiteSpace(cmbPM.Text)) { MessageBox.Show("请选择包装机"); return; } if (string.IsNullOrWhiteSpace(txtFrom.Text) && string.IsNullOrWhiteSpace(txtTo.Text)) { MessageBox.Show("请输入分拣任务号"); return; } DialogResult MsgBoxResult = MessageBox.Show("确定要更新任务?", //对话框的显示内容 "操作提示", //对话框的标题 MessageBoxButtons.YesNo, //定义对话框的按钮,这里定义了YSE和NO两个按钮 MessageBoxIcon.Question, //定义对话框内的图表式样,这里是一个黄色三角型内加一个感叹号 MessageBoxDefaultButton.Button2); //定义对话框的按钮式样 if (MsgBoxResult == DialogResult.Yes) { string from = txtFrom.Text; string to = txtTo.Text; int status = 10; decimal packagemachine1 = Convert.ToDecimal(cmbPM.SelectedItem.ToString().Substring(0, 1)); decimal packagemachine2 = packagemachine1 + 1; string linenum = cmbLineNo.SelectedItem.ToString(); if (string.IsNullOrWhiteSpace(txtTo.Text))//如果只输入第一个任号务 则其修改 { to = from; } else if (string.IsNullOrWhiteSpace(txtFrom.Text))//如果只输入第一个任号务 则其修改 { from = to; } else if (Convert.ToDecimal(txtFrom.Text) > Convert.ToDecimal(txtTo.Text)) //防止任务号输反 { from = to; } if (radioButton1.Checked)//新增 { status = 10; } else if (radioButton2.Checked)//已发送 { status = 15; } else if (radioButton3.Checked)//完成 { status = 20; } UnPokeService.UpdateTask(decimal.Parse(from), decimal.Parse(to), status, packagemachine1, packagemachine2, linenum); WriteLog.GetLog().Write("任务号从:" + from + "任务号到:" + to + ",修改状态为:" + status + ",修改包装机为" + packagemachine1 + "号," + packagemachine2 + "号包装机," + linenum + "线" + ",任务更新完成!"); button1_Click(null, null); } } catch (Exception ex) { MessageBox.Show("任务更新失败,详情请看日志:" + ex.Message); WriteLog.GetLog().Write("任务更新失败:" + ex.Message); } }
/// <summary> /// 任务交互 /// </summary> void sendOnlyTask1() { try { issendone = true; List <decimal> sortNumList = new List <decimal>(); //当前任务号集合 List <decimal> xyNumList = new List <decimal>(); //当前吸烟数量集合 int flag = SpyBiaozhiGroup.ReadD(0).CastTo <int>(-1); writeLog.Write(ListLineNum[0] + "线烟仓发送数据前读标志位:" + flag); if (flag == 0) { while (!UnPokeService.CheckExistCanSendTask(12, ListLineNum[0]) && UnPokeService.CheckExistCanSendTask(10, ListLineNum[0])) { sortNumList.Clear(); xyNumList.Clear(); decimal sortNum, xyNum; decimal packagemachine = 0; if (SendWay == 2) { for (int i = ListPackge[0]; i <= ListPackge[1]; i++) { try { if (UnPokeService.checkExist(i, ListLineNum[0])) { sortNum = listPM[i - 1].ReadD(2).CastTo <decimal>(-1); //包装机读取出来的任务号 xyNum = listPM[i - 1].ReadD(3).CastTo <decimal>(-1); //包装机读取出来的数量 } else { sortNum = 0; xyNum = 0; } } catch { sortNum = 0; //读取出错的情况下 默认为0 xyNum = 0; } writeLog.Write(ListLineNum[0] + "线plc地址:S7:[PackageMachine" + i + "]DB1,D506" + " ,包装机:" + i + "号, 包装机读取任务号:" + sortNum + " ,包装机读取抓取数量:" + xyNum); updateListBox(ListLineNum[0] + "线plc地址:S7:[PackageMachine" + i + "]DB1,D506" + " ,包装机:" + i + " 号,包装机读取任务号:" + sortNum + ", 包装机读取抓取数量:" + xyNum); sortNumList.Add(sortNum); xyNumList.Add(xyNum); } } else { for (int i = 0; i < 2; i++) { sortNumList.Add(0); xyNumList.Add(0); } } // decimal DISPATCHESIZE = 0; packagemachine = UnPokeService.GetSendPackageMachine_New(sortNumList, xyNumList, SendWay, ListLineNum[0]); if (packagemachine > 0) { UnPokeService.UpdateTaskByPackMachine(packagemachine); } Thread.Sleep(100); } string OutStr = ""; object[] datas = UnPokeService.getOneDateBaseTask(12, ListLineNum[0], out OutStr);//获取可发送任务 if (int.Parse(datas[0].ToString()) == 0) { updateListBox(ListLineNum[0] + "线烟仓烟柜分拣数据发送完毕"); return; } writeLog.Write(ListLineNum[0] + "线烟仓烟柜分拣线:" + OutStr); updateListBox(ListLineNum[0] + "线烟仓烟柜分拣线:" + OutStr); OnlyTaskGorup1.SyncWrite(datas); } } catch (Exception ex) { writeLog.Write(ex.Message); updateListBox(ex.Message); Thread.Sleep(10000); if (ex.InnerException != null && ex.InnerException.Message != null) { writeLog.Write(ex.InnerException.Message); updateListBox(ex.InnerException.Message); } sendOnlyTask1();//异常后重新发送 } issendone = false; }
private void button2_Click(object sender, EventArgs e) { DialogResult MsgBoxResult = MessageBox.Show("确定要更新任务?", //对话框的显示内容 "操作提示", //对话框的标题 MessageBoxButtons.YesNo, //定义对话框的按钮,这里定义了YSE和NO两个按钮 MessageBoxIcon.Question, //定义对话框内的图表式样,这里是一个黄色三角型内加一个感叹号 MessageBoxDefaultButton.Button2); //定义对话框的按钮式样 if (MsgBoxResult == DialogResult.Yes) { if (string.IsNullOrWhiteSpace(txtFrom.Text)) { MessageBox.Show("请输入分拣任务号"); return; } else { string from = txtFrom.Text; string to = txtTo.Text; int status = 10; if (string.IsNullOrWhiteSpace(txtTo.Text))//如果只输入第一个任号务 则其修改 { to = from; } if (Convert.ToDecimal(txtFrom.Text) < Convert.ToDecimal(txtTo.Text)) //防止任务号输反 { from = to; } if (radioButton2.Checked)//已发送 { status = 15; } else if (radioButton3.Checked)//完成 { status = 20; } if (status == 20) { UnPokeService.UpdateStroageInout(UnPokeService.GetListByBillCode(decimal.Parse(from), decimal.Parse(to))); } //UnPokeService.UpdateTask(decimal.Parse(from), decimal.Parse(to), status); } /////////////////////////////////////////////////////////////////之前机制 //if (task_data.SelectedRows == null || task_data.SelectedRows.Count <= 0) //{ // MessageBox.Show("请选择一行更新"); // return; //} //else //{ // decimal taskState = 10; // if (radioButton2.Checked) // { // taskState = 15; // } // else if (radioButton3.Checked) // { // taskState = 20; // } // if (taskState != 10) // { // UnPokeService.UpdateStroageInout(UnPokeService.GetListByBillCode(decimal.Parse(txtFrom.Text),decimal.Parse(txtTo.Text))); // } // UnPokeService.UpdateTask(decimal.Parse(txtFrom.Text), decimal.Parse(txtTo.Text), taskState); //} //////////////////////////////////////////////////////////////////// button1_Click(null, null); } }
public void OnDataChange(int group, int[] clientId, object[] values) { if (group == 5) //1线完成信号 { for (int i = 0; i < clientId.Length; i++) //"出口号:" + clientId[i] + ";任务号:" + taskno { int tempvalue = int.Parse((values[i].ToString())); if (tempvalue >= 1) //分拣完成 { try { if (tempvalue != 0) { writeLog.Write(ListLineNum[0] + "线从电控读取出口号:" + clientId[i] + ";任务号:" + tempvalue); UnPokeService.UpdateunTask(tempvalue, 20); //根据异形烟整包任务号更新poke表中状态 writeLog.Write(ListLineNum[0] + "线烟仓任务号" + tempvalue + "数据库更新完成"); updateListBox(ListLineNum[0] + "线烟仓:" + tempvalue + "号任务已完成"); writeLog.Write(ListLineNum[0] + "线烟仓:" + tempvalue + "号任务已完成"); } } catch (Exception ex) { writeLog.Write("服务器连接失败" + ex.Message); updateListBox("服务器连接失败" + ex.Message); return; } } FinishOnlyGoroup1.Write(0, clientId[i] - 1); } } else if (group == 9)//接收标志 { for (int i = 0; i < clientId.Length; i++) { if (clientId[i] == 1)//一线任务 { try { if (values[i] != null && int.Parse(values[i].ToString()) == 0) { while (!isInit) { Thread.Sleep(100); } int receivePackage = int.Parse(OnlyTaskGorup1.ReadD(1).ToString()); if (receivePackage != 0) { writeLog.Write(ListLineNum[0] + "线烟仓任务包号:" + receivePackage + "已接收"); updateListBox(ListLineNum[0] + "线烟仓任务包号:" + receivePackage + "已接收"); UnPokeService.UpdateTask(receivePackage, 15); } if (issendone)//如果任务已经在发送中则返回 { return; } //if (!issendone) //{ //sendOnlyTask(); delSendTask task = sendOnlyTask1; task.BeginInvoke(null, null); //} } else { if (values[i] != null && int.Parse(values[i].ToString()) != 0) { writeLog.Write(ListLineNum[0] + "线烟仓读到标志位:" + values[i]); } } } catch (Exception ex) { WriteLog.GetLog().Write(ListLineNum[1] + "线烟仓异常信息" + ex.Message); } } } } }
public void OnDataChange(int group, int[] clientId, object[] values) { #region // if (group == 4)//第一组烟仓完成信号 // { // for (int i = 0; i < clientId.Length; i++)//"出口号:" + clientId[i] + ";任务号:" + taskno // { // int tempvalue = int.Parse((values[i].ToString())); // if (tempvalue >= 1)//分拣完成 // { // TaskFinishGroup1.Write(1, clientId[i] - 1); // writeLog.Write("从电控读取第一组出口号:" + clientId[i] + ";任务号:" + tempvalue); // UnPokeService.UpdateunTask(tempvalue, 20);//根据异形烟整包任务号更新poke表中状态 // writeLog.Write("任务号" + tempvalue + "数据库更新完成"); // if (tempvalue != 0) // { // updateListBox("第一组:" + tempvalue + "号任务已完成"); // writeLog.Write("第一组:" + tempvalue + "号任务已完成"); // } // // this.task_data.BeginInvoke(new Action(() => { initdata(); }));//异步调用,刷新分拣页面的分拣进度 // } // else // { // TaskFinishGroup1.Write(0, clientId[i] - 1); // } // } // } // else if (group == 5)//第二组烟仓完成信号 // { // for (int i = 0; i < clientId.Length; i++)//"出口号:" + clientId[i] + ";任务号:" + taskno // { // int tempvalue = int.Parse((values[i].ToString())); // if (tempvalue >= 1)//分拣完成 // { // TaskFinishGroup2.Write(1, clientId[i] - 1); // writeLog.Write("从电控读取第二组出口号:" + clientId[i] + ";任务号:" + tempvalue); // UnPokeService.UpdateunTask(tempvalue, 20);//根据异形烟整包任务号更新poke表中状态 // writeLog.Write("任务号" + tempvalue + "数据库更新完成"); // if (tempvalue != 0) // { // updateListBox("第二组:" + tempvalue + "号任务已完成"); // writeLog.Write("第二组:" + tempvalue + "号任务已完成"); // } // //this.task_data.BeginInvoke(new Action(() => { initdata(); }));//异步调用,刷新分拣页面的分拣进度 // } // else // { // TaskFinishGroup2.Write(0, clientId[i] - 1); // } // } // } // else if (group == 6)//烟柜完成信号 // { // for (int i = 0; i < clientId.Length; i++)//"出口号:" + clientId[i] + ";任务号:" + taskno // { // int tempvalue = int.Parse((values[i].ToString())); // if (tempvalue >= 1)//分拣完成 // { // CabinetFinishTaskGroup.Write(1, clientId[i] - 1); // writeLog.Write("从电控读取异形烟烟柜出口号:" + clientId[i] + ";任务号:" + tempvalue); // UnPokeService.UpdateunTask(tempvalue, 20);//根据异形烟整包任务号更新poke表中状态 // writeLog.Write("任务号" + tempvalue + "数据库更新完成"); // if (tempvalue != 0) // { // //try // //{ // // PreSortInfoService.Add((decimal)tempvalue, sortgroupno2); // //} // //catch (Exception ex) // //{ } // updateListBox("异形烟烟柜:" + tempvalue + "号任务已完成"); // writeLog.Write("异形烟烟柜:" + tempvalue + "号任务已完成"); // } // // this.task_data.BeginInvoke(new Action(() => { initdata(); }));//异步调用,刷新分拣页面的分拣进度 // } // else // { // CabinetFinishTaskGroup.Write(0, clientId[i] - 1); // } // } // } // else if (group == 7)//合流完成信号 // { // for (int i = 0; i < clientId.Length; i++)//"出口号:" + clientId[i] + ";任务号:" + taskno // { // int tempvalue = int.Parse((values[i].ToString())); // if (tempvalue >= 1)//分拣完成 // { // UnionTaskFinishGroup.Write(1, clientId[i] - 1); // writeLog.Write("从电控读取第一组出口号:" + clientId[i] + ";任务号:" + tempvalue); // UnPokeService.UpdateUnionTask(listUnion,20); // writeLog.Write("任务号" + tempvalue + "合流数据数据库更新完成"); // if (tempvalue != 0) // { // updateListBox("合流数据:" + tempvalue + "号任务已完成"); // writeLog.Write("合流数据:" + tempvalue + "号任务已完成"); // } // //this.task_data.BeginInvoke(new Action(() => { initdata(); }));//异步调用,刷新分拣页面的分拣进度 // } // else // { // UnionTaskFinishGroup.Write(0, clientId[i] - 1); // } // } // } //else if (group == 8) //监控标志位 // { // for (int i = 0; i < clientId.Length; i++) // { // if (clientId[i] ==1)//一组烟仓 // { // if (values[i] != null && int.Parse(values[i].ToString()) == 0) // { // while (!isInit) // { // Thread.Sleep(100); // } // String logstr = ""; // foreach (var item in list1) // { // logstr += item.POKEID + ";"; // } // if (logstr != null && logstr.Length > 0) // { // writeLog.Write("第一组烟仓任务号:" + logstr + "已接收"); // updateListBox("第一组烟仓任务号:" + logstr + "已接收"); // UnPokeService.UpdateTask(list1, 15); // // UnPokeService.UpdateStroageInout(list1); // } // sendTask1(); // //delSendTask task = sendTask1; // //task.BeginInvoke(null, null); // } // break; // } // if (clientId[i] == 2)//二组烟仓 // { // if (values[i] != null && int.Parse(values[i].ToString()) == 0) // { // while (!isInit) // { // Thread.Sleep(100); // } // String logstr = ""; // foreach (var item in list2) // { // logstr += item.POKEID + ";"; // } // if (logstr != null && logstr.Length > 0) // { // writeLog.Write("第二组烟仓任务号:" + logstr + "已接收"); // updateListBox("第二组烟仓任务号:" + logstr + "已接收"); // UnPokeService.UpdateTask(list1, 15); // //UnPokeService.UpdateStroageInout(list1); // } // sendTask2(); // //delSendTask task = sendTask2; // //task.BeginInvoke(null, null); // } // break; // } // if (clientId[i] == 3)//烟柜 // { // if (values[i] != null && int.Parse(values[i].ToString()) == 0) // { // while (!isInit) // { // Thread.Sleep(100); // } // String logstr = ""; // foreach (var item in listCabinet) // { // logstr += item.POKEID + ";"; // } // if (logstr != null && logstr.Length > 0) // { // writeLog.Write("烟柜数据任务号:" + logstr + "已接收"); // updateListBox("烟柜数据任务号:" + logstr + "已接收"); // UnPokeService.UpdateTask(list1, 15); // // UnPokeService.UpdateStroageInout(list1); // } // sendSixCabineTask(); // //delSendTask task = sendSixCabineTask; // //task.BeginInvoke(null, null); // } // break; // } // if (clientId[i] == 4)//合流 // { // if (values[i] != null && int.Parse(values[i].ToString()) == 0) // { // while (!isInit) // { // Thread.Sleep(100); // } // String logstr = ""; // foreach (var item in listUnion) // { // logstr += item.POKEID + ";"; // } // if (logstr != null && logstr.Length > 0) // { // writeLog.Write("合流数据:" + logstr + "已接收"); // updateListBox("合流数据:" + logstr + "已接收"); // } // UnPokeService.UpdateUnionTask(listUnion, 15); // sendUnionTask(); // //delSendTask task = sendUnionTask; // //task.BeginInvoke(null, null); // } // break; // } // } // } //else #endregion if (group == 2) //完成信号 { for (int i = 0; i < clientId.Length; i++) //"出口号:" + clientId[i] + ";任务号:" + taskno { try { int tempvalue = int.Parse((values[i].ToString())); if (tempvalue >= 1) //分拣完成 { writeLog.Write("从电控读取出口号:" + clientId[i] + ";任务号:" + tempvalue); UnPokeService.UpdateunTask(tempvalue, 20); //根据异形烟整包任务号更新poke表中状态 writeLog.Write("烟仓烟柜任务号" + tempvalue + "数据库更新完成"); if (tempvalue != 0) { updateListBox(" :" + tempvalue + "号任务已完成"); writeLog.Write(" :" + tempvalue + "号任务已完成"); } FinishOnlyGoroup.Write(0, clientId[i] - 1); // this.task_data.BeginInvoke(new Action(() => { initdata(); }));//异步调用,刷新分拣页面的分拣进度 } } catch (NullReferenceException nullex) { writeLog.Write("空引用异常:" + nullex.Message); } catch (Exception ex) { writeLog.Write("集成错误 :" + ex.Message); } } } else if (group == 3)//接收标志 { for (int i = 0; i < clientId.Length; i++) { if (clientId[i] == 1) { try { if (values[i] != null && int.Parse(values[i].ToString()) == 0) { while (!isInit) { Thread.Sleep(100); } String logstr = ""; var list = listOnly.FirstOrDefault(); if (list != null) { logstr += list.SORTNUM + ";"; } if (logstr != null && logstr.Length > 0) { writeLog.Write("烟仓烟柜任务号:" + logstr + "已接收"); updateListBox("烟仓烟柜任务号:" + logstr + "已接收"); UnPokeService.UpdateTask(listOnly, 15); } sendOnlyTask(); //delSendTask task = sendOnlyTask; //task.BeginInvoke(null, null); } } catch (Exception ex) { WriteLog.GetLog().Write("烟仓烟柜异常信息" + ex.Message); } } if (clientId[i] == 2)//特异形烟 61,62道 { try { if (values[i] != null && int.Parse(values[i].ToString()) == 0) { while (!isInit) { Thread.Sleep(100); } string STR = ""; foreach (var item in listSS1B) { STR += item.POKEID + ","; } if (STR != null && STR.Length > 0) { writeLog.Write("1线61,62特异形烟任务号:" + STR + "已接收"); updateListBox("1线61,62特异形烟:" + STR + "已接收"); UnPokeService.UpdateSSTask(listSS1B, 15); } sendSSTask1(); //delSendTask task = sendSSTask1; //task.BeginInvoke(null, null); } } catch (Exception ex) { WriteLog.GetLog().Write("1线61,62特异形烟异常信息" + ex.Message); } } if (clientId[i] == 3)//特异形烟 63,64道 { try { if (values[i] != null && int.Parse(values[i].ToString()) == 0) { while (!isInit) { Thread.Sleep(100); } string STR = ""; foreach (var item in listSS2A) { STR += item.POKEID + ","; } if (STR != null && STR.Length > 0) { writeLog.Write("2线63,64特异形烟任务号:" + STR + "已接收"); updateListBox("2线63,64特异形烟:" + STR + "已接收"); UnPokeService.UpdateSSTask(listSS2A, 15); } sendSSTask2(); //delSendTask task = sendSSTask2; //task.BeginInvoke(null, null); } } catch (Exception ex) { WriteLog.GetLog().Write("2线63,64特异形烟异常信息" + ex.Message); } } } } }
public void OnDataChange(int group, int[] clientId, object[] values) { if (group == 1)// 暂时没用 被监控标志取代 { for (int i = 0; i < clientId.Length; i++) { if (clientId[i] == 226) { if (values[i] != null && int.Parse(values[i].ToString()) == 2) { while (!isInit) { Thread.Sleep(100); } String logstr = ""; foreach (var item in list) { logstr += item.POKEID + ";"; } if (logstr != null && logstr.Length > 0) { writeLog.Write("第一组任务号:" + logstr + "已接收"); updateListBox("第一组任务号:" + logstr + "已接收"); UnPokeService.UpdateTask(list, 15); UnPokeService.UpdateStroageInout(list); } sendTask1(); } break; } } } else if (group == 2)// 暂时没用 被监控标志取代 { for (int i = 0; i < clientId.Length; i++) { if (clientId[i] == 226) { if (values[i] != null && int.Parse(values[i].ToString()) == 2) { while (!isInit) { Thread.Sleep(100); } String logstr = ""; foreach (var item in list1) { logstr += item.POKEID + ";"; } if (logstr != null && logstr.Length > 0) { writeLog.Write("第二组任务号:" + logstr + "已接收"); updateListBox("第二组任务号:" + logstr + "已接收"); UnPokeService.UpdateTask(list1, 15); UnPokeService.UpdateStroageInout(list1); } sendTask2(); } break; } } } else if (group == 5) { for (int i = 0; i < clientId.Length; i++) { // clientId[i]//序号 // values[i]//值 lock (lockFlag) { if (values[i] != null) { stateManager.WriteErrWithCheck(Math.Abs(int.Parse(values[i].ToString())).ToString(), clientId[i].ToString(), lineNum); stateManager.AlarmsHandler += (obj) => { updateListBox(string.Format("{0}号设备发生故障,故障名称{1}", obj.DeviceNo, obj.ErrInfo), listError); }; } } } } else if (group == 6)//六组烟柜 暂时没用 被监控标志取代 { for (int i = 0; i < clientId.Length; i++) { if (clientId[i] == 226)//一个任务 { if (values[i] != null && int.Parse(values[i].ToString()) == 2) { while (!isInit) { Thread.Sleep(100); } String logstr = ""; foreach (var item in listSix2A) { logstr += item.POKEID + ";"; } if (logstr != null && logstr.Length > 0) { writeLog.Write("烟柜任务号:" + logstr + "已接收"); updateListBox("烟柜任务号:" + logstr + "已接收"); UnPokeService.UpdateTask(listSix2A, 15); // UnPokeService.UpdateStroageInout(listSix); } sendSixCabine2AtTask(); } break; } } } else if (group == 7)//完成任务号处理 { for (int i = 0; i < clientId.Length; i++) { int tempvalue = int.Parse((values[i].ToString())); if (tempvalue >= 1) { writeLog.Write("从异形烟线:" + clientId[i] + "获取到完成任务号:" + tempvalue); try { UnPokeService.UpdateunTask(tempvalue, 20);//根据异形烟整包任务号更新poke表中状态 writeLog.Write("任务号" + tempvalue + "数据库更新完成"); } catch (Exception ex) { writeLog.Write("任务号" + tempvalue + ";数据库更新异形烟完成状态位失败: " + ex.Message); updateListBox("任务号" + tempvalue + ";数据库更新异形烟完成状态位失败: " + ex.Message); } if (tempvalue != 0) { updateListBox("异形烟线:" + clientId[i] + " 任务号:" + tempvalue + "数据库状态已置完成"); writeLog.Write("异形烟线:" + clientId[i] + " 任务号:" + tempvalue + "数据库状态已置完成"); } FinishSignalGroup.Write(0, clientId[i] - 1); //removeKey(clientId[i]); // this.task_data.BeginInvoke(new Action(() => { initdata(); })); //} } } } else if (group == 8)//监控发送状态位 1为上位写 2为电控已接收 { for (int i = 0; i < clientId.Length; i++) { if (clientId[i] == 1)//烟仓第一线 { if (values[i] != null && int.Parse(values[i].ToString()) == 2) { while (!isInit) { Thread.Sleep(100); } String logstr = ""; foreach (var item in list) { logstr += item.POKEID + ";"; } if (logstr != null && logstr.Length > 0) { writeLog.Write("烟仓一线任务号:" + logstr + "已接收"); updateListBox("烟仓一线任务号:" + logstr + "已接收"); UnPokeService.UpdateTask(list, 15); UnPokeService.UpdateStroageInout(list); } sendTask1(); } } if (clientId[i] == 2)//烟仓第二线 { if (values[i] != null && int.Parse(values[i].ToString()) == 2) { while (!isInit) { Thread.Sleep(100); } String logstr = ""; foreach (var item in list1) { logstr += item.POKEID + ";"; } if (logstr != null && logstr.Length > 0) { writeLog.Write("烟仓二线任务号:" + logstr + "已接收"); updateListBox("烟仓二线任务号:" + logstr + "已接收"); UnPokeService.UpdateTask(list1, 15); UnPokeService.UpdateStroageInout(list1); } sendTask2(); } } if (clientId[i] == 3)//烟柜2线(A)订单信息 { if (values[i] != null && int.Parse(values[i].ToString()) == 2) { while (!isInit) { Thread.Sleep(100); } String logstr = ""; foreach (var item in listSix2A) { logstr += item.POKEID + ";"; } if (logstr != null && logstr.Length > 0) { writeLog.Write("烟柜二线(A)烟柜任务号:" + logstr + "已接收"); updateListBox("烟柜二线(A)烟柜任务号:" + logstr + "已接收"); UnPokeService.UpdateTask(listSix2A, 15); UnPokeService.UpdateStroageInout(listSix2A); } sendSixCabine2AtTask(); } } if (clientId[i] == 4)//烟柜1线(B)订单信息 { if (values[i] != null && int.Parse(values[i].ToString()) == 2) { while (!isInit) { Thread.Sleep(100); } String logstr = ""; foreach (var item in listSix1B) { logstr += item.POKEID + ";"; } if (logstr != null && logstr.Length > 0) { writeLog.Write("烟柜一线(B)烟柜任务号:" + logstr + "已接收"); updateListBox("烟柜一线(B)烟柜任务号:" + logstr + "已接收"); UnPokeService.UpdateTask(listSix1B, 15); UnPokeService.UpdateStroageInout(listSix1B); } sendSixCabine1BtTask(); } } } } }