Beispiel #1
0
        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", "");
        }
Beispiel #2
0
        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);  //获取补药及位置信息-完成初始化
        }
Beispiel #3
0
        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)
            {
                //
            }
        }
Beispiel #4
0
        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;
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        /// <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);
        }
Beispiel #7
0
        /// <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);
        }