PDA物流配送系统项目实战

作者:袖梨 2022-06-26
根据客户实际要求 出了WINCE版本和MOBILE版本
结合条码技术,实现物流配送移动信息化
1、 条码采集
在仓库找出商品,并输入对应规格型号,对未登记的条码进行扫描登记条码,条码必须是唯一的,不能重复,可以一个商品对应多个条码,不能一个条码对应多个商品。
2、 库存查询
通过扫描条码、输入商品编码、规格型号,查询商品的库存情况。
3、 出入库管理
通过扫描单据条码或输入单据号,查询商品的出入库信息(商品编码、名称+规格型号、数量),通过扫描条码或输入商品编码、规格型号进行数量校对,校对完后进行确认。
4、 预收退货管理
当供应商货到后或和与供应商确定退货商品后,新建预收退货单(单头包含:部门、供应商、入库或退库、制单人、备注),逐一扫描指定商品、确定数量,核定无误后保存、审核单据。
5、 物流派工管理
扫描指定要派工单据并同时显示指定单据的商品编码、规格型号、数量,逐一扫描完后指定发货人、送货车辆、司机、线路,保存生成派工单、并审核。
6、 物流签收管理
送货司机持单据送货到顾客家,顾客签收后,司机扫描或输入相应单据并显示本单商品,在系统中进行签收处理。
7、 盘点管理
刷新预定义的盘点单据,输入或选择要盘点的单据,逐一扫描盘点单上的商品、确定数量,保存即可。
8、 费用报批审批
刷新指定时段的费用报批单,进行签字确认。
 支持无线可移动,并可实时与物流配送系统数据库对接
具体部分模块界面
 
 代码如下 复制代码
  public void NewRecord()
        {
            IsGetData = true;
            try
            {
                Cursor.Current = Cursors.WaitCursor;
                string strSQL = "";
                //m_State = 0;
                this.tb_storeTableAdapter.Connection.ConnectionString = GlobalVariable.m_Conn;
                if (GlobalVariable.Conn.State == ConnectionState.Closed) GlobalVariable.Conn.Open();
                SqlCommand cmd = GlobalVariable.Conn.CreateCommand();
                System.Data.SqlClient.SqlDataAdapter da = null;
                DataSet ds = new DataSet();
                string ls_gcode="";
                this.LblGCode.Text = "";
                this.LblName.Text = "";
                this.LblModel.Text = "";
                if (this.hHDataSet.Tables["tb_store"] != null)
                {
                    this.hHDataSet.Tables["tb_store"].Clear();
                }
                if (this.TxtBarcode.Text.Trim().Length < 10)
                {
                    strSQL = "Select c_gcode from tb_gds (nolock) " +
                        " where c_gcode='" + this.TxtBarcode.Text.Trim() + "'";
                    cmd.CommandText = strSQL;
                    cmd.CommandType = CommandType.Text;
                    da = new SqlDataAdapter(cmd);
                    da.Fill(ds, "tb_gds");
                    if (ds.Tables["tb_gds"].Rows.Count > 0)
                    {
                        ls_gcode = ds.Tables["tb_gds"].Rows[0]["c_gcode"].ToString();
                    }
                    if (ls_gcode.Length <= 0)
                    {
                        //this.LblName.Text = "扫描的商品未找到!";
                        if (this.TxtBarcode.Text.Length > 0)
                            MessageBox.Show("扫描的商品未找到!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                    }
                }
                else
                {
                    strSQL = "Select c_gcode from tb_barcode (nolock) " +
                        " where c_barcode='" + this.TxtBarcode.Text.Trim() + "'";
                    cmd.CommandText = strSQL;
                    cmd.CommandType = CommandType.Text;
                    da = new SqlDataAdapter(cmd);
                    da.Fill(ds, "c_barcode");
                    if (ds.Tables["c_barcode"].Rows.Count > 0)
                    {
                        ls_gcode = ds.Tables["c_barcode"].Rows[0]["c_gcode"].ToString();
                    }
                    if (ls_gcode.Length <= 0)
                    {
                        //this.LblName.Text = "扫描的商品未找到!";
                        if (this.TxtBarcode.Text.Length > 0)
                            MessageBox.Show("扫描的商品未找到!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
                    }
                }
                strSQL = "Select a.c_gcode,a.c_name,a.c_model,b.c_number,b.c_move_in_number,b.c_move_out_number,b.c_onway_sale_number,b.c_onway_w_number " +
                    " from tb_gds a (nolock),tb_gdsadno b(nolock) " +
                    " where a.c_gcode=b.c_gcode and b.c_gcode='" + ls_gcode + "' and b.c_store_id='" + GlobalVariable.m_CompID + "' ";
                cmd.CommandText = strSQL;
                cmd.CommandType = CommandType.Text;
                da = new SqlDataAdapter(cmd);
                if (this.hHDataSet.Tables["tb_store"] != null)
                {
                    this.hHDataSet.Tables["tb_store"].Clear();
                }
                da.Fill(this.hHDataSet, "tb_store");
                GetDataList();
                SumTotal();
                da.Dispose();
                ds.Dispose();
                cmd.Dispose();
            }
            catch (Exception ex)
            {
                MessageBox.Show("数据库连接失败! " + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1);
            }
            IsGetData = false;
            Cursor.Current = Cursors.Default;
        }

相关文章

精彩推荐