private void FormEditStock_Load(object sender, EventArgs e) { textBox1.Text = stockList.StockID; textBox3.Text = stockList.RowNO; textBox4.Text = stockList.ColNO; textBox7.Text = stockList.StockLength; textBox8.Text = stockList.StockWidth; textBox9.Text = stockList.StockHeight; textBox10.Text = stockList.StockHor; textBox11.Text = stockList.StockVer; textBox5.Text = stockList.Stock_Hor_correct; textBox6.Text = stockList.Stock_Ver_correct; comboBox1.SelectedIndex = int.Parse(stockList.State); //读取back文件中水平和垂直偏移量 if (Convert.ToInt32(stockList.ColNO) < 60) { string readHor1 = NEIni.ReadValue(@"D:\equipment\script\back2.script", "param", "checkOffsetHor_1", ""); label13.Text = "默认值" + readHor1.Substring(1); } else { label13.Text = "默认值" + NEIni.ReadValue(@"D:\equipment\script\back2.script", "param", "checkOffsetHor_2", ""); } label14.Text = "默认值" + NEIni.ReadValue(@"D:\equipment\script\back2.script", "param", "checkOffsetVer_1", ""); }
private void timer1_Tick(object sender, EventArgs e) { timer1.Enabled = false; if (dataGridView2.RowCount == 0) { label7.Text = "此药品库位可能被锁定。无需要补药的库位"; return; } // 判断用哪一侧上药 side = 1; for (int i = 0; i < dataGridView2.RowCount; i++) { if (int.Parse(dataGridView2.Rows[i].Cells[2].Value.ToString()) > 60) { side = 2; break; } } string code = "$Q2012F1" + side + NEIni.ReadValue(".\\config.ini", "param", "check", "0"); code += string.Format("{0:D3}", int.Parse(drugInfo.PackageLength)); code += string.Format("{0:D3}", int.Parse(drugInfo.PackageWidth)); //code += string.Format("{0:D2}", int.Parse(drugInfo.StockLimit)); code += string.Format("{0:D2}", int.Parse(dataGridView2.Rows[0].Cells[9].Value.ToString())); int needQty = 0; // 药槽 for (int i = 0; i < dataGridView2.RowCount; i++) { code += string.Format("{0:D2}", int.Parse(dataGridView2.Rows[i].Cells[1].Value.ToString())); code += string.Format("{0:D3}", int.Parse(dataGridView2.Rows[i].Cells[2].Value.ToString())); code += string.Format("{0:D2}", int.Parse(dataGridView2.Rows[i].Cells[4].Value.ToString())); needQty += int.Parse(dataGridView2.Rows[i].Cells[4].Value.ToString()); if (side == 2 && int.Parse(dataGridView2.Rows[i].Cells[2].Value.ToString()) < 61) { int hor = int.Parse(dataGridView2.Rows[i].Cells[5].Value.ToString()) - offsetHor + int.Parse(dataGridView2.Rows[i].Cells[8].Value.ToString()); code += hor.ToString().Length; code += hor; } else { code += dataGridView2.Rows[i].Cells[5].Value.ToString().Length; code += dataGridView2.Rows[i].Cells[5].Value.ToString();//H } code += dataGridView2.Rows[i].Cells[6].Value.ToString().Length; code += dataGridView2.Rows[i].Cells[6].Value.ToString();//V code += string.Format("{0:D3}", int.Parse(dataGridView2.Rows[i].Cells[8].Value.ToString())); } code += Rand.Str(4) + "*"; // NELog.WriteLog(code); label2.Text = needQty.ToString(); dataGridView2.CurrentRow.Selected = true; label8.Text = dataGridView2.Rows[dataGridView2.CurrentCell.RowIndex].Cells[11].Value.ToString(); MachineFill.sendMsg(code); //获取补药及位置信息-完成初始化 }
private void sendMessage(string code) { try { code = "$" + DesCode.DESEncode(code.Substring(1, code.Length - 2), "YN200916") + "*"; byte[] sendbytes = Encoding.UTF8.GetBytes(code); IPEndPoint remoteIpep = new IPEndPoint(IPAddress.Parse(NEIni.ReadValue(".\\config.ini", "cfg", "equipmentip", "")), 7015); // 发送到的IP地址和端口号 NELog.WriteLog("Q-----------"); int i = udpcRecv.Send(sendbytes, sendbytes.Length, remoteIpep); } catch (System.Exception ex) { // } }
private void FillForm_Load(object sender, EventArgs e) { offsetHor = int.Parse(NEIni.ReadValue(".\\config.ini", "param", "offsetHor", "0")); label3.Text = drugInfo.DrugName; label4.Text = drugInfo.DrugSpec; label5.Text = drugInfo.Manufactory; //label8.Text = drugInfo; //读取已有批号 label7.Text = ""; label6.Text = "正在进行补药……"; label2.Text = ""; label8.Text = ""; dataGridView2.AlternatingRowsDefaultCellStyle.BackColor = Color.WhiteSmoke; dataGridView2.DataSource = new DrugFill().getStockList(drugInfo.DrugCode); for (int i = 0; i < 6; i++) { dataGridView2.Columns[i].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; } dataGridView2.Columns[5].Visible = false; dataGridView2.Columns[6].Visible = false; dataGridView2.Columns[7].Visible = false; dataGridView2.Columns[8].Visible = false; dataGridView2.Columns[9].Visible = false; dataGridView2.RowHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; dataGridView2.ClearSelection();//取消选中 //dataGridView2.CurrentRow.Selected = true; //label8.Text = dataGridView2.Rows[dataGridView2.CurrentCell.RowIndex].Cells[11].Value.ToString(); if (System.IO.File.Exists(@"./images/" + drugInfo.DrugCode + ".png")) { pictureBox1.Image = Image.FromFile(@"./images/" + drugInfo.DrugCode + ".png", false); } else { pictureBox1.Image = Image.FromFile(@"./images/warning.png", false); } timer1.Interval = 500; timer1.Enabled = true; timer2.Interval = 500; timer2.Enabled = true; }
public DataTable getChannelList(string h, string l) { DataTable table = new DataTable(); table.Columns.Add(" 药槽编码"); table.Columns.Add(" 设备编号"); table.Columns.Add(" 行号"); table.Columns.Add(" 列号"); table.Columns.Add(" 药槽长度"); table.Columns.Add(" 药槽宽度"); table.Columns.Add(" 药槽高度"); table.Columns.Add(" 上药横向坐标"); table.Columns.Add(" 上药纵向坐标"); table.Columns.Add(" 状态"); table.Columns.Add(" 备注"); table.Columns.Add(" 水平偏移"); table.Columns.Add(" 垂直偏移"); MySqlPool pool = MySqlPool.getInstance(); MySqlConnection conn = null; try { conn = pool.getConnection(); string sql = ""; if ("".Equals(h)) { sql = @"select Stock_ID,Eqp_ID,Row_NO,Col_NO,Stock_Length,Stock_Width,Stock_Height,Stock_Hor,Stock_Ver,State,Remark,Stock_Hor_correct,Stock_Ver_correct from Stock_list where Eqp_ID='" + NEIni.ReadValue("./config.ini", "params", "equipmentid", "F1") + "' and Col_NO=" + l; } else if ("".Equals(l)) { sql = @"select Stock_ID,Eqp_ID,Row_NO,Col_NO,Stock_Length,Stock_Width,Stock_Height,Stock_Hor,Stock_Ver,State,Remark,Stock_Hor_correct,Stock_Ver_correct from Stock_list where Eqp_ID='" + NEIni.ReadValue("./config.ini", "params", "equipmentid", "F1") + "' and Row_NO=" + h; } else if (!h.Equals("") && !l.Equals("") && !h.Equals("0") && !l.Equals("0")) { sql = @"select Stock_ID,Eqp_ID,Row_NO,Col_NO,Stock_Length,Stock_Width,Stock_Height,Stock_Hor,Stock_Ver,State,Remark,Stock_Hor_correct,Stock_Ver_correct from Stock_list where Eqp_ID='" + NEIni.ReadValue("./config.ini", "params", "equipmentid", "F1") + "' and Row_NO=" + h + " and Col_NO=" + l; } else if (h.Equals("0") && l.Equals("0")) { sql = @"select Stock_ID,Eqp_ID,Row_NO,Col_NO,Stock_Length,Stock_Width,Stock_Height,Stock_Hor,Stock_Ver,State,Remark,Stock_Hor_correct,Stock_Ver_correct from Stock_list where Eqp_ID='" + NEIni.ReadValue("./config.ini", "params", "equipmentid", "F1") + "' and state='2'"; } MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { DataRow row = table.NewRow(); row[" 药槽编码"] = dr.IsDBNull(0) ? "" : dr.GetString(0); row[" 设备编号"] = dr.IsDBNull(1) ? "" : dr.GetString(1); row[" 行号"] = dr.IsDBNull(2) ? "" : dr.GetString(2); row[" 列号"] = dr.IsDBNull(3) ? "" : dr.GetString(3); row[" 药槽长度"] = dr.IsDBNull(4) ? "" : dr.GetString(4); row[" 药槽宽度"] = dr.IsDBNull(5) ? "" : dr.GetString(5); row[" 药槽高度"] = dr.IsDBNull(6) ? "" : dr.GetString(6); row[" 上药横向坐标"] = dr.IsDBNull(7) ? "" : dr.GetString(7); row[" 上药纵向坐标"] = dr.IsDBNull(8) ? "" : dr.GetString(8); if (dr.GetString(9).Equals("2")) { row[" 状态"] = "已停用"; } else { row[" 状态"] = dr.IsDBNull(9) ? "" : dr.GetString(9); } row[" 备注"] = dr.IsDBNull(10) ? "" : dr.GetString(10); row[" 水平偏移"] = dr.IsDBNull(11) ? "" : dr.GetString(11); row[" 垂直偏移"] = dr.IsDBNull(12) ? "" : dr.GetString(12); table.Rows.Add(row); } dr.Close(); } catch (System.Exception ex) { // } finally { pool.releaseConnection(conn); } return(table); }
/// <summary> /// /// </summary> /// <param name="row"></param> /// <param name="col"></param> /// <param name="len"></param> /// <returns></returns> public VOStockList stockChecked(int row, int col, int checkqty, int len) { VOStockList stockList = null; //MySqlPool pool = MySqlPool.getInstance(); MySqlConnection conn = null; try { conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["strCon"].ToString());//pool.getConnection(); conn.Open(); string sql = "update stock_list set Check_Length=" + len + ",Check_Quantity=" + checkqty + ",Check_Time=now() where Eqp_ID='" + NEIni.ReadValue("./config.ini", "params", "equipmentid", "F1") + "' and row_no=" + row + " and col_no=" + col; new MySqlCommand(sql, conn).ExecuteNonQuery(); sql = "select ifnull(Check_Quantity,0),ifnull(sum(quantity),0) from stock_list a left join stock_detail b on a.Stock_ID=b.Stock_ID where a.Eqp_ID='" + NEIni.ReadValue("./config.ini", "params", "equipmentid", "F1") + "' and a.row_no=" + row + " and a.col_no=" + col; MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { if (dr.GetInt32(0) == dr.GetInt32(1)) { break; } stockList = new VOStockList(); stockList.Quantity = dr.GetString(1); stockList.CheckQuantity = dr.GetString(0); } dr.Close(); } catch (System.Exception ex) { // } finally { //pool.releaseConnection(conn); conn.Close(); } return(stockList); }
/// <summary> /// 通过药品包装尺寸检索合适的药槽 /// </summary> /// <param name="code">药品编码</param> /// <returns></returns> public DataTable getStockByPackage(bool used, VODrugInfo drugInfoVO) { DataTable table = new DataTable(); table.Columns.Add("库位编码"); table.Columns.Add("设备编号"); table.Columns.Add("行号"); table.Columns.Add("列号"); table.Columns.Add("库位宽度"); table.Columns.Add("药品宽度"); table.Columns.Add("宽度差"); table.Columns.Add("库位高度"); table.Columns.Add("药品高度"); table.Columns.Add("高度差"); table.Columns.Add("药品名称"); table.Columns.Add("规格"); table.Columns.Add("厂家"); //MySqlPool pool = MySqlPool.getInstance(); //MySqlConnection conn = null; MySqlConnection conn = null; try { //conn = pool.getConnection(); conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["strCon"].ToString()); conn.Open(); string sql = ""; if (used) { sql = @"select Stock_ID,Eqp_ID,Row_NO,Col_NO,Stock_Width,Stock_Height,Drug_Name,Drug_Spec,Manufactory from Stock_list a left join drug_list b on a.Drug_Code=b.Drug_Code where ((Stock_width>=(" + drugInfoVO.PackageWidth + "+" + NEIni.ReadValue("./config.ini", "params", "packagewidthlow", "2") + ") and " + " Stock_width<=(" + drugInfoVO.PackageWidth + "+" + NEIni.ReadValue("./config.ini", "params", "packagewidthupp", "10") + ") and " + " Stock_height>=(" + drugInfoVO.PackageHeight + "+" + NEIni.ReadValue("./config.ini", "params", "packageheightlow", "30") + ") and " + " Stock_height<=(" + drugInfoVO.PackageHeight + "+" + NEIni.ReadValue("./config.ini", "params", "packageheightupp", "100") + ") and " + "Drug_Name is null) or a.Drug_Code='" + drugInfoVO.DrugCode + "') and Eqp_ID='" + Paramters.G_EQP_ID + "' "; } else { sql = @"select Stock_ID,Eqp_ID,Row_NO,Col_NO,Stock_Width,Stock_Height,Drug_Name,Drug_Spec,Manufactory from Stock_list a left join drug_list b on a.Drug_Code=b.Drug_Code where ((Stock_width>=(" + drugInfoVO.PackageWidth + "+" + NEIni.ReadValue("./config.ini", "params", "packagewidthlow", "2") + ") and " + " Stock_width<=(" + drugInfoVO.PackageWidth + "+" + NEIni.ReadValue("./config.ini", "params", "packagewidthupp", "10") + ") and " + " Stock_height>=(" + drugInfoVO.PackageHeight + "+" + NEIni.ReadValue("./config.ini", "params", "packageheightlow", "30") + ") and " + " Stock_height<=(" + drugInfoVO.PackageHeight + "+" + NEIni.ReadValue("./config.ini", "params", "packageheightupp", "100") + ")) " + " or a.Drug_Code='" + drugInfoVO.DrugCode + "') and Eqp_ID='" + Paramters.G_EQP_ID + "' "; } MySqlCommand cmd = new MySqlCommand(sql, conn); MySqlDataReader dr = cmd.ExecuteReader(); while (dr.Read()) { DataRow row = table.NewRow(); row["库位编码"] = dr.IsDBNull(0) ? "" : dr.GetString(0); row["设备编号"] = dr.IsDBNull(1) ? "" : dr.GetString(1); row["行号"] = dr.IsDBNull(2) ? "" : dr.GetString(2); row["列号"] = dr.IsDBNull(3) ? "" : dr.GetString(3); row["库位宽度"] = dr.IsDBNull(4) ? "" : dr.GetString(4); row["药品宽度"] = drugInfoVO.PackageWidth; row["宽度差"] = (dr.IsDBNull(4) ? 0 : dr.GetInt32(4)) - int.Parse(drugInfoVO.PackageWidth); row["库位高度"] = dr.IsDBNull(5) ? "" : dr.GetString(5); row["药品高度"] = drugInfoVO.PackageHeight; row["高度差"] = (dr.IsDBNull(5) ? 0 : dr.GetInt32(5)) - int.Parse(drugInfoVO.PackageHeight); row["药品名称"] = dr.IsDBNull(6) ? "" : dr.GetString(6); row["规格"] = dr.IsDBNull(7) ? "" : dr.GetString(7); row["厂家"] = dr.IsDBNull(8) ? "" : dr.GetString(8); table.Rows.Add(row); } dr.Close(); } catch (System.Exception ex) { // } finally { //pool.releaseConnection(conn); conn.Close(); } return(table); }