• 某企业生产工厂【防窜货】程序实现过程


    方案规划

    第一方案A工序 程序界面

    第一方案 A工序代码

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Net;
    using System.Data.Sql;
    using System.Data.SqlClient;
    
    namespace 防窜货系统
    {
        public partial class F_Master : Form
        {
            public F_Master()
            {
                InitializeComponent();
            }
    
            SqlConnection con = new SqlConnection("server = 172.168.0.15;database = factory ;uid= sa ;pwd= 123456789");
            string invcode = "";
            #region 装箱
            private void TsmZX_Click(object sender, EventArgs e)
            {
                panelMaster.Visible = true;
                tbInvcode.Focus();
                tbBoxCode.Enabled = false;
                try
                {
                    con.Open();
                    if (con.State == ConnectionState.Open)
                    {
    
                        labMessage.Text = "系统准备就绪!";
    
                    }
                    else
                    {
    
                        labMessage.Text = "数据库连接错误,请检查网络设置或联系开发人员!";
                        labMessage.ForeColor = Color.Red;
    
    
    
                    }
    
                    con.Close();
                }
                catch
                {
    
                    labMessage.Text = "数据库连接错误,请检查网络设置或联系开发人员!";
                    labMessage.ForeColor = Color.Red;
    
                }
    
    
    
            }
            #endregion
    
    
    
            #region 拆箱
            private void tsmCX_Click(object sender, EventArgs e)
            {
                F_Del f = new F_Del(this);
                this.Enabled = false;
                f.ShowDialog(this);
            }
    
    
            #endregion
    
    
            #region 程序载入
            private void F_Master_Load(object sender, EventArgs e)
            {
                tbMcode.Text = Dns.GetHostName();
    
    
            }
    
            #endregion
    
    
            #region  扫入产品码
            private void tbInvcode_KeyDown(object sender, KeyEventArgs e)
            {
                con.Open();
                if (e.KeyCode == Keys.Enter)
                {
                   
    
    
                    if (tbInvcode.Text != "")
                    {
    
                        labBoxcodeMsg.Text = "";
                        labInvcodeMsg.Text = "";
                        labMessage.Text = "";
                        string selectInvcode = "select * from SuporMaster where invcode = '" + tbInvcode.Text.ToString().Trim() + "' ";
                        SqlCommand cmd = new SqlCommand(selectInvcode, con);
                        SqlDataAdapter sda = new SqlDataAdapter(cmd);
                        DataSet ds = new DataSet();
                        sda.Fill(ds);
    
    
                        
                        
                        if (ds.Tables[0].Rows.Count==0)
                        {
    
                           
                            invcode = tbInvcode.Text.ToString();
                            tbBoxCode.Text = "";
                            tbBoxCode.Enabled = true;
                            tbBoxCode.Focus();
                            tbInvcode.Enabled = false;
                        }
    
                        else
                        {
                            labInvcodeMsg.Text = "产品:" + tbInvcode.Text.ToString();
                            labMessage.Text = "已存在装箱记录,不能重复装箱,请检查!";
                            labMessage.ForeColor = Color.Red;
                            labInvcodeMsg.ForeColor = Color.Red;
                            tbInvcode.Text = "";
                        
                        }
                    }
    
                    else
                    {
                        labMessage.Text = "产品码不能为空!";
                        labMessage.ForeColor = Color.Red;
    
                    }
    
                   
    
                }
                con.Close();
            }
            #endregion
    
    
            #region 扫入箱码
            private void tbBoxCode_KeyDown(object sender, KeyEventArgs e)
            {
                con.Open();
                if (e.KeyCode == Keys.Enter)
                {
                    if (tbBoxCode.Text != "")
                    {
                        string selectBoxCode = "select * from SuporMaster where boxnum = '" + tbBoxCode.Text.ToString().Trim() + "'";
                        SqlCommand cmdA = new SqlCommand(selectBoxCode, con);
                        SqlDataAdapter sda = new SqlDataAdapter(cmdA);
                        DataSet ds = new DataSet();
                        sda.Fill(ds);
    
                        if (ds.Tables[0].Rows.Count==0)
                        {
                            tbInvcode.Enabled = true;
                            tbInvcode.Text = "";
                            tbInvcode.Focus();
                            string productid = tbBoxCode.Text + invcode;
                            string str = " insert into SuporMaster (ProductNum,BoxNum,Invcode,date,Mcode,OutsideBox) values ('" + productid + "','" + tbBoxCode.Text.ToString() + "','" + invcode + "' ,'" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + tbMcode.Text.ToString() + "' ,'1')";
    
                            try
                            {
    
                                if (con.State == ConnectionState.Open)
                                {
                                    SqlCommand cmd = new SqlCommand(str, con);
    
                                    try
                                    {
                                        cmd.ExecuteNonQuery();
                                        labInvcodeMsg.Text = "产品:" + invcode;
                                        labBoxcodeMsg.Text = "彩箱:" + tbBoxCode.Text.ToString();
                                        labMessage.Text = "装箱成功!";
                                        labInvcodeMsg.ForeColor = Color.Green;
                                        labBoxcodeMsg.ForeColor = Color.Green;
                                        labMessage.ForeColor = Color.Green;
                                    }
                                    catch
                                    {
                                        labMessage.Text = "装箱失败!";
                                        labMessage.ForeColor = Color.Red;
    
    
                                    }
    
                                }
    
    
                                tbBoxCode.Enabled = false;
                                tbBoxCode.Text = "";
    
                            }
                            catch
                            {
    
                                labMessage.Text = "数据库连接错误,请检查网络设置或联系开发人员!";
                                labMessage.ForeColor = Color.Red;
    
    
    
                            }
    
                        }
                        else
                        {
    
                            labBoxcodeMsg.Text = "彩箱:" + tbBoxCode.Text.ToString();
                            labMessage.Text = "已存在装箱记录,不能重复装箱,请检查!";
                            labMessage.ForeColor = Color.Red;
                            labBoxcodeMsg.ForeColor = Color.Red;
                            tbBoxCode.Text = "";
    
                        }
    
    
                        }
                        else
                        {
    
                            labMessage.Text = "彩箱码不能为空!";
                            labMessage.ForeColor = Color.Red;
    
    
                        }
                   
                    
                }
    
                con.Close();
    
            }
    
            #endregion
    
    
    
    
    
    
    
        }
    }

    第一方案 B工序程序界面

    第一方案B工序代码

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Net;
    using System.Data.Sql;
    using System.Data.SqlClient;
    
    namespace 防窜货系统
    {
        public partial class F_Master : Form
        {
            public F_Master()
            {
                InitializeComponent();
            }
    
            SqlConnection con = new SqlConnection("server = 172.168.0.15;database = factory ;uid= sa ;pwd= 12346789");
            string oldMcode = "";     //存之前的机号
            string boxNum = "";       //存彩箱号
            string strOutsideBox = "";//存数据库中现有的外箱码
            #region 装箱
            private void TsmZX_Click(object sender, EventArgs e)
            {
                panelMaster.Visible = true;
                tbBoxCode.Focus();
                tbOutsideBox.Enabled = false;
                try
                {
                    con.Open();
                    if (con.State == ConnectionState.Open)
                    {
    
                        labMessage.Text = "系统准备就绪!";
    
                    }
                    else
                    {
    
                        labMessage.Text = "数据库连接错误,请检查网络设置或联系开发人员!";
                        labMessage.ForeColor = Color.Red;
    
    
    
                    }
    
                    con.Close();
                }
                catch
                {
    
                    labMessage.Text = "数据库连接错误,请检查网络设置或联系开发人员!";
                    labMessage.ForeColor = Color.Red;
    
                }
    
    
    
            }
            #endregion
    
    
    
            #region 拆箱
            private void tsmCX_Click(object sender, EventArgs e)
            {
                F_Del f = new F_Del(this);
                this.Enabled = false;
                f.ShowDialog(this);
            }
    
    
            #endregion
    
    
            #region 程序载入
            private void F_Master_Load(object sender, EventArgs e)
            {
                tbMcode.Text = Dns.GetHostName();
    
    
            }
    
            #endregion
    
    
            #region  扫入彩箱码
            private void tbInvcode_KeyDown(object sender, KeyEventArgs e)
            {
                con.Open();
                if (e.KeyCode == Keys.Enter)
                {
    
    
    
                    if (tbBoxCode.Text != "")
                    {
    
                        labOutsideMsg.Text = "";
                        labBoxcodeMsg.Text = "";
                        labMessage.Text = "";
                        string selectBOXcode = "select * from SuporMaster where BoxNum = '" + tbBoxCode.Text.ToString().Trim() + "' ";
                        SqlCommand cmd = new SqlCommand(selectBOXcode, con);
                        SqlDataAdapter sda = new SqlDataAdapter(cmd);
                        DataSet ds = new DataSet();
                        sda.Fill(ds);
    
    
    
    
                        if (ds.Tables[0].Rows.Count != 0)
                        {
    
                            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                            {
                                oldMcode = ds.Tables[0].Rows[i]["Mcode"].ToString();
                                strOutsideBox = ds.Tables[0].Rows[i]["OutsideBox"].ToString();
                            }
    
                            boxNum = tbBoxCode.Text;   //将彩箱码赋于变量boxnum
    
    
                            if (strOutsideBox != "1")
                            {
    
                                labBoxcodeMsg.ForeColor = Color.Red;
                                labOutsideMsg.ForeColor = Color.Red;
                                labMessage.ForeColor = Color.Red;
                                labBoxcodeMsg.Text = "彩箱:<" + boxNum + ">已经与";
                                labOutsideMsg.Text = "外箱:<" + strOutsideBox + ">装过箱";
                                labMessage.Text = "请检查!";
                                // tbOutsideBox.Text = "";
                                tbBoxCode.Text = "";
                                tbBoxCode.Enabled = true;
                                tbBoxCode.Focus();
    
                            }
                            else
                            {
    
                                tbOutsideBox.Text = "";    //将外箱码置空
                                tbOutsideBox.Enabled = true;   //外箱码激活
                                tbOutsideBox.Focus();         //外箱码获取焦点
                                tbBoxCode.Enabled = false;     // 彩箱码锁定
    
    
    
                            }
    
    
    
                        }
    
                        else
                        {
                            labBoxcodeMsg.Text = "彩箱:<" + tbBoxCode.Text.ToString() + ">";
                            labMessage.Text = "不存在产品装箱记录,请检查!";
                            labMessage.ForeColor = Color.Red;
                            labBoxcodeMsg.ForeColor = Color.Red;
                            tbBoxCode.Text = "";
    
                        }
                    }
    
                    else
                    {
                        labMessage.Text = "彩箱码不能为空!";
                        labMessage.ForeColor = Color.Red;
    
                    }
    
    
    
                }
                con.Close();
            }
            #endregion
    
    
            #region 扫入外箱码
            private void tbBoxCode_KeyDown(object sender, KeyEventArgs e)
            {
                con.Open();
                string strBoxCode = ""; //存数据库中现在有彩箱码
    
                if (e.KeyCode == Keys.Enter)
                {
                    if (tbOutsideBox.Text != "" && tbBoxCode.Text != "")
                    {
                        string selectBoxCode = "select * from SuporMaster where   OutsideBox ='" + tbOutsideBox.Text.ToString().Trim() + "'";
                        SqlCommand cmdA = new SqlCommand(selectBoxCode, con);
                        SqlDataAdapter sda = new SqlDataAdapter(cmdA);
                        DataSet ds = new DataSet();
                        sda.Fill(ds);
    
                        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                        {
                            strBoxCode = ds.Tables[0].Rows[i]["BoxNum"].ToString();
                            strOutsideBox = ds.Tables[0].Rows[i]["OutsideBox"].ToString();
    
                        }
                        if (strOutsideBox == "1" && tbOutsideBox.Text.ToString() != strOutsideBox)
                        {
    
                            tbBoxCode.Enabled = true;
                            tbBoxCode.Text = "";
                            tbBoxCode.Focus();
                            string mcode = oldMcode + "|" + Dns.GetHostName(); //拼接原机号和现机号
                            //更新外箱号和机号
                            string str = " update SuporMaster set outsidebox ='" + tbOutsideBox.Text.ToString().Trim() + "', Mcode='" + mcode + "'  where BoxNum='" + boxNum + "'";
    
                            try
                            {
    
                                if (con.State == ConnectionState.Open)
                                {
                                    SqlCommand cmd = new SqlCommand(str, con);
    
                                    try
                                    {
                                        cmd.ExecuteNonQuery();
                                        labBoxcodeMsg.Text = "彩箱:" + boxNum; ;
                                        labOutsideMsg.Text = "外箱:" + tbOutsideBox.Text.ToString();
                                        labMessage.Text = "装箱成功!";
                                        labBoxcodeMsg.ForeColor = Color.Green;
                                        labOutsideMsg.ForeColor = Color.Green;
                                        labMessage.ForeColor = Color.Green;
                                    }
                                    catch
                                    {
                                        labMessage.Text = "装箱失败!";
                                        labMessage.ForeColor = Color.Red;
    
    
                                    }
    
                                }
    
    
                                tbOutsideBox.Enabled = false;
                                tbOutsideBox.Text = "";
    
                            }
                            catch
                            {
    
                                labMessage.Text = "数据库连接错误,请检查网络设置或联系开发人员!";
                                labMessage.ForeColor = Color.Red;
    
    
    
                            }
    
    
                        }
    
                        else
                        {
                            labBoxcodeMsg.ForeColor = Color.Red;
                            labOutsideMsg.ForeColor = Color.Red;
                            labMessage.ForeColor = Color.Red;
                            labBoxcodeMsg.Text = "外箱:<" + strOutsideBox + ">已经与";
                            labOutsideMsg.Text = "彩箱:<" + strBoxCode + ">装过箱";
                            labMessage.Text = "请检查!";
                            // tbOutsideBox.Text = "";
                            tbBoxCode.Text = "";
                            tbBoxCode.Enabled = true;
                            tbBoxCode.Focus();
    
                        }
    
    
    
    
                    }
                    else
                    {
    
                        labMessage.Text = "彩箱码或者外箱码为空,请检查!";
                        labMessage.ForeColor = Color.Red;
    
    
                    }
    
    
                }
    
                con.Close();
    
            }
    
            #endregion
    
    
    
    
    
    
    
        }
    }

    第二方案 A工序 程序界面

    第二方案 A工序代码

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Net;
    using System.Data.Sql;
    using System.Data.SqlClient;
    
    namespace 防窜货系统
    {
        public partial class F_Master : Form
        {
            public F_Master()
            {
                InitializeComponent();
            }
    
            SqlConnection con = new SqlConnection("server = 172.168.0.15;database = factory ;uid= sa ;pwd= 123456789");
           
    
           
            #region 程序载入
            private void F_Master_Load(object sender, EventArgs e)
            {
                tbMcode.Text = Dns.GetHostName();
    
                try
                {
                    con.Open();
                    if (con.State == ConnectionState.Open)
                    {
    
                        labMessage.Text = "系统准备就绪!";
                        labMessage.ForeColor = Color.Green;
    
                    }
                    else
                    {
    
                        labMessage.Text = "数据库连接错误,请检查网络设置或联系开发人员!";
                        labMessage.ForeColor = Color.Red;
    
    
    
                    }
    
                    con.Close();
                }
                catch
                {
    
                    labMessage.Text = "数据库连接错误,请检查网络设置或联系开发人员!";
                    labMessage.ForeColor = Color.Red;
    
                }
    
    
            }
    
            #endregion
    
    
            #region  扫入产品码
            private void tbInvcode_KeyDown(object sender, KeyEventArgs e)
            {
                
                if (e.KeyCode == Keys.Enter)
                {
                    if (tbInvcode.Text != "")
                    {
    
                        if (falg() == true)
                        {
                            con.Open();
                            string str = "insert into SuporFCH(invcode,McodeA,DateA)values('" + tbInvcode.Text.ToString().Trim() + "','" + tbMcode.Text.ToString().Trim() + "','" + DateTime.Now.ToString() + "') ";
    
                            try
                            {
                                if (con.State == ConnectionState.Open)
                                {
    
                                    SqlCommand cmd = new SqlCommand(str, con);
    
                                    try
                                    {
    
                                        cmd.ExecuteNonQuery();
                                        labMessage.Text = tbInvcode.Text.ToString().Trim() + "扫码成功!";
                                        labMessage.ForeColor = Color.Green;
    
    
                                    }
                                    catch
                                    {
    
                                        labMessage.Text = "装箱失败!";
                                        labMessage.ForeColor = Color.Red;
    
                                    }
    
    
                                }
    
                            }
                            catch
                            {
                                labMessage.Text = "数据库连接错误,请检查网络连接!";
    
                            }
    
                            con.Close();
                        }
                        else
                        {
    
                            labMessage.Text = tbInvcode.Text.ToString().Trim()+"重复,请检查!";
                            labMessage.ForeColor = Color.Red;
                        
                        }
                        
    
                    }
                    else
                    {
    
                        labMessage.Text = "产品码不能为空,请检查!";
                        labMessage.ForeColor = Color.Red;               
                    
                    
                    }
    
    
                    tbInvcode.Text = "";
    
                }
           
            }
            #endregion
    
    
    
            //判断产品码是否重复
            private bool falg()
            {
                con.Open();
                string str ="select * from SuporFCH where invcode='"+tbInvcode.Text.ToString().Trim()+"'" ;
    
                SqlCommand cmd = new SqlCommand(str, con);
                SqlDataAdapter sda = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                sda.Fill(ds);
                con.Close();
                if (ds.Tables[0].Rows.Count == 0)
                {
    
                    return true;
    
                }
                else
                {
                   return false;
                
                }
                          
        
            }
    
        }
    }

    第二方案 B工序界面

    第二方案 B工序代码

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Net;
    using System.Data.Sql;
    using System.Data.SqlClient;
    
    namespace 防窜货系统
    {
        public partial class F_Master : Form
        {
            public F_Master()
            {
                InitializeComponent();
            }
    
            SqlConnection con = new SqlConnection("server = 172.168.0.15;database = factory ;uid= sa ;pwd= 123456789");        
          
    
            #region 程序载入
            private void F_Master_Load(object sender, EventArgs e)
            {
                tbMcode.Text = Dns.GetHostName();
                selectFalg();
                selectAll();
    
                try
                {
                    con.Open();
                    if (con.State == ConnectionState.Open)
                    {
    
                        labMessage.Text = "系统准备就绪!";
                        labMessage.ForeColor = Color.Green;
    
                    }
                    else
                    {
    
                        labMessage.Text = "数据库连接错误,请检查网络设置或联系开发人员!";
                        labMessage.ForeColor = Color.Red;
    
    
    
                    }
    
                    con.Close();
                }
                catch
                {
    
                    labMessage.Text = "数据库连接错误,请检查网络设置或联系开发人员!";
                    labMessage.ForeColor = Color.Red;
    
                }
    
    
            }
    
            #endregion
    
    
            #region  扫入外箱码
            private void tbInvcode_KeyDown(object sender, KeyEventArgs e)
            {
                
                if (e.KeyCode == Keys.Enter)
                {
                    
    
    
                    if (tbBoxCode.Text != "")
                    {
                        if (flag() == true)
                        {
                            con.Open();
                            string str = " update SuporFCH  set boxcode = '"+tbBoxCode.Text.ToString().Trim()+"',mcodeB='"+tbMcode.Text.ToString().Trim()+"',dateb='"+DateTime.Now.ToString()+"'  where ID=(select MIN(id) as id from SuporFCH where boxcode is null)";
                            SqlCommand cmd = new SqlCommand(str, con);
    
                            try
                            {
                                cmd.ExecuteNonQuery();
                                labMessage.Text = "<" + tbBoxCode.Text.ToString().Trim() + ">装箱成功,请检查!";
                                labMessage.ForeColor = Color.Green;
                            }
                            catch
                            {
                                labMessage.Text = "<" + tbBoxCode.Text.ToString().Trim() + ">装箱失败,请检查!";
                                labMessage.ForeColor = Color.Red;
    
                            
                            }
                            con.Close();
                        }
    
                        else
                        {
    
                            labMessage.Text = "外箱码<" + tbBoxCode.Text.ToString().Trim() + ">重复,请检查!";
                            labMessage.ForeColor = Color.Red;
                        
                        }
                        
                        
                      
                        selectFalg();
    
                        selectAll();
    
                    }
    
                    else
                    {
                        labMessage.Text = "彩箱码不能为空!";
                        labMessage.ForeColor = Color.Red;
    
                    }
    
                    tbBoxCode.Text = "";
    
                }
               
            }
            #endregion
    
    
            //显示产品码
            private void selectFalg()
            {
                con.Open();
                string str = "  select ID as 流水号,invcode as 产品码 from suporfch where boxcode is null order by id";
                try 
                {
                    if (con.State == ConnectionState.Open)
                    {
                        SqlDataAdapter sda = new SqlDataAdapter(str, con);
                        DataSet ds = new DataSet();
                        sda.Fill(ds);
                        dataGridView1.DataSource = ds.Tables[0];
                    }
                                 
                         
                
                }
                catch
                
                {
    
                    labMessage.Text = "数据库连接出错,请检查网络!";
                    labMessage.ForeColor = Color.Red;           
                
                
                }
    
                con.Close();
            
            
            }
    
    
            //判断箱码是否重复
            private bool flag()
            {
                con.Open();
    
                string str = " select * from  SuporFCH where boxcode='" + tbBoxCode.Text.ToString().Trim() + "' ";
                SqlCommand cmd = new SqlCommand(str, con);
                SqlDataAdapter sda = new SqlDataAdapter(cmd);
                DataSet ds = new DataSet();
                sda.Fill(ds);
                con.Close();
                if (ds.Tables[0].Rows.Count == 0)
                {
    
                    return true;
    
    
                }
                else
                {
    
                    return false;
                }
    
                
    
            }
    
    
    
    
            //显示扫入的外箱码
            private void selectAll()
            {
    
                con.Open();
                string str = "select top 100 ID as 流水号,invcode as 产品码,boxcode as 外箱码 from suporfch where boxcode is not null order by ID desc";
                try
                {
                    if (con.State == ConnectionState.Open)
                    {
                        SqlDataAdapter sda = new SqlDataAdapter(str, con);
                        DataSet ds = new DataSet();
                        sda.Fill(ds);
                        dataGridView2.DataSource = ds.Tables[0];
                    }
    
    
    
                }
                catch
                {
    
                    labMessage.Text = "数据库连接出错,请检查网络!";
                    labMessage.ForeColor = Color.Red;
    
    
                }
    
                con.Close();
            
            }
    
    
            //拆箱
            private void butCX_Click(object sender, EventArgs e)
            {
                F_Del f = new F_Del(this);
                this.Enabled = false;
                f.ShowDialog(this);
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                selectFalg();
            }
    
    
    
        }
    }
  • 相关阅读:
    Activity 与ListActivity的区别
    自定义标题栏
    解决小程序无法触发SESSION问题
    js数组与字符串经常用的几种简单的方法
    python程序与进制的执行过程
    常问的 web前端 问题
    如何判断页面滑到了屏幕最底部
    http请求状态保持的四种方法
    vue知识点归纳与总结(笔记)
    Nginx常用命令及使用场景
  • 原文地址:https://www.cnblogs.com/hobe6699/p/5619455.html
Copyright © 2020-2023  润新知