Exemplo n.º 1
0
        /// <summary>
        /// 扫描响应事件
        /// </summary>
        /// <param name="DecodeText">扫描到的条码内容</param>
        private void scan_OnDecodeEvent(string DecodeText)
        {
            var cBarCode = DecodeText;

            if (!cBarCode.StartsWith("SF"))
            {
                MessageBox.Show("无效条码", "Error");
                return;
            }
            //产品序列号
            var cSerialNumber = cBarCode.Substring(0, 16);
            var cmd           = new SqlCommand("select * from View_ProductLabel where cBarCode=@cBarCode");

            cmd.Parameters.AddWithValue("@cBarCode", cSerialNumber);

            var con   = new SqlConnection(frmLogin.WmsCon);
            var dtRaw = PDAFunction.GetSqlTable(con, cmd);

            if (dtRaw != null && dtRaw.Rows.Count > 0)
            {
                lblcSerialNumber.Text = dtRaw.Rows[0]["cSerialNumber"].ToString();
                lbldDate.Text         = dtRaw.Rows[0]["dDate"].ToString();
                lblcInvCode.Text      = dtRaw.Rows[0]["cInvCode"].ToString();
                lblcInvName.Text      = dtRaw.Rows[0]["cInvName"].ToString();
                lblcLotNo.Text        = dtRaw.Rows[0]["FBatchNo"].ToString();
                lblcOrderNumber.Text  = dtRaw.Rows[0]["cOrderNumber"].ToString();
                lblcInvStd.Text       = dtRaw.Rows[0]["cInvStd"].ToString();
            }
            else
            {
                lblcSerialNumber.Text = "";
                lbldDate.Text         = "";
                lblcInvCode.Text      = "";
                lblcInvName.Text      = "";
                lblcLotNo.Text        = "";
                lblcOrderNumber.Text  = "";
                lblcInvStd.Text       = "";
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 是不可以满足下载出库通知单的条件
        /// </summary>
        /// <returns></returns>
        private bool BoolCanOkDownLoad()
        {
            if (string.IsNullOrEmpty(txtBarCode.Text))
            {
                return(true);
            }
            if (rds.RmPo.Rows.Count > 0)
            {
                MessageBox.Show(@"请先保存上一个采购订单!", @"Warning");
                return(true);
            }
            var bCmd = new SQLiteCommand("select * from RmPo where cOrderNumber=@cOrderNumber");

            bCmd.Parameters.AddWithValue("@cOrderNumber", txtBarCode.Text.ToUpper());
            if (PDAFunction.ExistSqlite(frmLogin.SqliteCon, bCmd))
            {
                MessageBox.Show(@"该采购订单已经下载过!", @"Warning");

                txtBarCode.Text = "";
                return(true);
            }
            return(false);
        }
Exemplo n.º 3
0
        private void dGridMain_DoubleClick(object sender, EventArgs e)
        {
            if (dGridMain.CurrentRowIndex <= -1)
            {
                return;
            }
            //if (!PDAFunction.IsCanCon())
            //{
            //    MessageBox.Show("无法连接到服务器");
            //}
            if (MessageBox.Show(@"确定删除当前行?", @"确定删除?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question,
                                MessageBoxDefaultButton.Button3) != DialogResult.Yes)
            {
                return;
            }
            var sqLiteCmd = new SQLiteCommand("Delete From ProStoreDetail where id=@id");

            sqLiteCmd.Parameters.AddWithValue("@id", prods.ProStoreDetail.Rows[dGridMain.CurrentRowIndex]["id"]);
            //执行删除
            PDAFunction.ExecSqLite(sqLiteCmd);

            RefreshGrid();
        }
Exemplo n.º 4
0
        private void dGridMain_DoubleClick(object sender, EventArgs e)
        {
            if (dGridMain.CurrentRowIndex <= -1)
            {
                return;
            }
            //if (!PDAFunction.IsCanCon())
            //{
            //    MessageBox.Show("无法连接到服务器");
            //}
            if (MessageBox.Show(@"确定删除当前行?", @"确定删除?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question,
                                MessageBoxDefaultButton.Button3) != DialogResult.Yes)
            {
                return;
            }
            var sqLiteCmd = new SQLiteCommand("Delete From RmProduceDetail where id=@id");

            sqLiteCmd.Parameters.AddWithValue("@id", rds.RmProduceDetail.Rows[dGridMain.CurrentRowIndex]["id"]);
            //执行删除
            PDAFunction.ExecSqLite(sqLiteCmd);


            var MinusCmd = new SQLiteCommand("update RmProduce set iScanQuantity=iScanQuantity-@iQuantity where cCode=@cCode and cInvCode=@cInvCode");

            MinusCmd.Parameters.AddWithValue("@cCode", lblOrderNumber.Text);
            MinusCmd.Parameters.AddWithValue("@cInvCode", rds.RmProduceDetail.Rows[dGridMain.CurrentRowIndex]["cInvCode"]);
            MinusCmd.Parameters.AddWithValue("@iQuantity", rds.RmProduceDetail.Rows[dGridMain.CurrentRowIndex]["iQuantity"]);
            PDAFunction.ExecSqLite(MinusCmd);

            rds.RmProduceDetail.Rows.RemoveAt(dGridMain.CurrentRowIndex);
            RefreshGrid();
            if (rds.RmProduceDetail.Rows.Count > 0)
            {
                dGridMain.CurrentRowIndex = 0;
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// 将拣货的主表也上传到服务器上
        /// </summary>
        /// <param name="cGuid"></param>
        private void UpLoadMain(string cGuid)
        {
            rds.RmStoreDetail.Rows.Clear();
            var Sqlitecmd = new SQLiteCommand("select * from RmPo where cOrderNumber=@cOrderNumber");

            Sqlitecmd.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text);
            PDAFunction.GetSqLiteTable(Sqlitecmd, rds.RmPo);
            for (var i = 0; i <= rds.RmPo.Rows.Count - 1; i++)
            {
                ExecUpLoad(i, cGuid);
            }

            //using (var con = new SqlConnection(frmLogin.WmsCon))
            //{
            //    using (var cmd = con.CreateCommand())
            //    {
            //        cmd.CommandText = "insert into ProDelivery(cCode,cGuid) values(@cCode,@cGuid)";
            //        cmd.Parameters.AddWithValue("@cCode", lblOwhNumber.Text);
            //        cmd.Parameters.AddWithValue("@cGuid", cGuid.ToString());
            //        con.Open();
            //        cmd.ExecuteNonQuery();
            //    }
            //}
        }
Exemplo n.º 6
0
        /// <summary>
        /// 执行导入SQL服务器操作
        /// </summary>
        /// <param name="iRowId">把当前行行入库</param>
        /// <param name="cGuid">当前Guid</param>
        private bool UpLoadDetail(string cGuid)
        {
            using (var con = new SqlConnection(frmLogin.WmsCon))
            {
                con.Open();
                var tran = con.BeginTransaction();
                using (var cmd = con.CreateCommand())
                {
                    cmd.CommandText = "Upload_RmProduceDetail";
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Transaction = tran;
                    for (var i = 0; i <= rds.RmProduceDetail.Rows.Count - 1; i++)
                    {
                        cmd.Parameters.Clear();
                        dGridMain.CurrentRowIndex = i;
                        cmd.Parameters.AddWithValue("@cGuid", cGuid);
                        cmd.Parameters.AddWithValue("@ID", rds.RmProduceDetail.Rows[i]["AutoID"]);
                        cmd.Parameters.AddWithValue("@FItemID", rds.RmProduceDetail.Rows[i]["FItemID"]);
                        cmd.Parameters.AddWithValue("@cBarCode", rds.RmProduceDetail.Rows[i]["cBarCode"]);
                        cmd.Parameters.AddWithValue("@cCode", rds.RmProduceDetail.Rows[i]["cCode"]);
                        cmd.Parameters.AddWithValue("@cLotNo", rds.RmProduceDetail.Rows[i]["cLotNo"]);
                        cmd.Parameters.AddWithValue("@cInvCode", rds.RmProduceDetail.Rows[i]["cInvCode"]);
                        cmd.Parameters.AddWithValue("@cInvName", rds.RmProduceDetail.Rows[i]["cInvName"]);
                        cmd.Parameters.AddWithValue("@iQuantity", rds.RmProduceDetail.Rows[i]["iQuantity"]);
                        cmd.Parameters.AddWithValue("@FSPNumber", rds.RmProduceDetail.Rows[i]["FSPNumber"]);
                        cmd.Parameters.AddWithValue("@dScanTime", rds.RmProduceDetail.Rows[i]["dAddTime"]);
                        cmd.Parameters.AddWithValue("@cBoxNumber", rds.RmProduceDetail.Rows[i]["cBoxNumber"]);
                        cmd.Parameters.AddWithValue("@cOperator", rds.RmProduceDetail.Rows[i]["cUser"]);
                        cmd.Parameters.AddWithValue("@cMemo", "");

                        try
                        {
                            var iTem = cmd.ExecuteNonQuery();
                        }

                        catch (Exception ex)
                        {
                            _sumException += 1;
                            tran.Rollback();
                            MessageBox.Show(@"无法连接到SQL服务器,请重试!
" + ex.Message, @"Warning");
                            return(false);
                        }
                    }
                    try
                    {
                        cmd.CommandText = "AddMidOrder";
                        cmd.Parameters.Clear();
                        cmd.Parameters.AddWithValue("@cGuid", cGuid);
                        cmd.Parameters.AddWithValue("@cType", "领料出库");
                        cmd.Parameters.AddWithValue("@cTable", "Rm_ProduceDetail");
                        cmd.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text);
                        cmd.ExecuteNonQuery();

                        tran.Commit();

                        var dSqliteCmd = new SQLiteCommand("Delete from RmProduceDetail where cCode=@cCode");
                        //成功后,删除离线出库数据中的表
                        dSqliteCmd.Parameters.AddWithValue("@cCode", lblOrderNumber.Text);
                        PDAFunction.ExecSqLite(dSqliteCmd);
                        return(true);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(@"无法连接到SQL服务器,请重试!
" + ex.Message, @"Warning");
                        return(false);
                    }
                }
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// 扫描响应事件
        /// </summary>
        /// <param name="DecodeText">扫描到的条码内容</param>
        private void scan_OnDecodeEvent(string DecodeText)
        {
            var cBarCode = DecodeText;


            if (string.IsNullOrEmpty(lblStockPlaceID.Text))
            {
                var cmd = new SqlCommand("select * from t_StockPlace where FNumber=@FNumber");
                cmd.Parameters.AddWithValue("@FNumber", cBarCode);

                if (PDAFunction.ExistSqlKis(cmd))
                {
                    lblStockPlaceID.Text = cBarCode;
                }
                else
                {
                    MessageBox.Show("请先扫描库位", "Error");
                }
                return;
            }


            if (!cBarCode.StartsWith("R*") || !cBarCode.Contains("*L*") || !cBarCode.Contains("*S*"))
            {
                MessageBox.Show("无效条码", "Error");
                return;
            }
            //物料编码
            var FItemID = cBarCode.Substring(2, cBarCode.IndexOf("*L*") - 2);
            //产品序列号
            var cLotNo = cBarCode.Substring(cBarCode.IndexOf("*L*") + 3, cBarCode.IndexOf("*S*") - cBarCode.IndexOf("*L*") - 3);

            //产品批号
            var cSerialNumber = cBarCode.Substring(cBarCode.IndexOf("*S*") + 3, cBarCode.Length - cBarCode.IndexOf("*S*") - 3);

            ////判断该产品序列号是否已经被扫描
            //if (!JudgeBarCode(cSerialNumber))
            //    return;

            //判断波次订单中是否存在此出库要求产品
            if (!JudgeInvCode(FItemID))
            {
                return;
            }

            //判断要拣货的产品是否已经全部拣完
            if (!OutAll(FItemID))
            {
                return;
            }

            using (var pgq = new PdaGetQuantity(_cInvCode, cInvName, cLotNo))
            {
                if (pgq.ShowDialog() != DialogResult.Yes)
                {
                    return;
                }
                //通过校验后进
                SaveOutWareHouse(cSerialNumber, _cInvCode, cInvName, pgq.IQuantity, cLotNo, FItemID);
            }
            lblStockPlaceID.Text = "";
        }
Exemplo n.º 8
0
        /// <summary>
        /// 处理条码扫描事件
        /// </summary>
        /// <param name="DecodeText"></param>
        private void scan_OnDecodeEvent(String DecodeText)
        {
            if (!DecodeText.Contains(";"))
            {
                MessageBox.Show(@"无效条码", @"Warning");
                return;
            }
            var cOrder = DecodeText.Split(';');


            txtBarCode.Text = cOrder[0];
            var cOrderNumber = cOrder[0];



            if (BoolCanOkDownLoad())
            {
                return;
            }


            //下载采购订单
            var cmd = new SqlCommand(@"select POInstock.FBillNo,t_Supplier.FName cVendor,POInstockEntry.FItemID,POInstockEntry.FEntryID,t_ICItem.FShortNumber cInvCode,
t_ICItem.FNumber,FModel,t_ICItem.FName cInvName,FQty 
from POInstock inner join POInstockEntry on POInstock.FInterID=POInstockEntry.FInterID  
inner join t_ICItem on POInstockEntry.FItemID=t_ICItem.FItemID 
inner join t_Supplier on POInstock.FSupplyID=t_Supplier.FItemID  
where POInstock.FInterID=@FinterID ");

            cmd.Parameters.AddWithValue("@FinterID", cOrder[1]);
            var       con    = new SqlConnection(frmLogin.KisCon);
            DataTable dtTemp = new DataTable("dtTemp");

            try
            {
                dtTemp = PDAFunction.GetSqlTable(con, cmd);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + cOrderNumber, @"Warning");
                return;
            }

            if (!PDAFunction.IsCanCon())
            {
                MessageBox.Show(@"无法连接到服务器", @"Warning");
                return;
            }

            if (dtTemp == null)
            {
                MessageBox.Show(@"下载出错,请联系管理员", @"Warning");
                return;
            }


            if (dtTemp.Rows.Count < 1)
            {
                MessageBox.Show(@"无此采购单号!", @"Warning");
                return;
            }

            lblSum.Text = dtTemp.Rows.Count.ToString(CultureInfo.CurrentCulture) + "行";

            //进行循环判断是否属于当前库区
            for (var i = 0; i < dtTemp.Rows.Count; i++)
            {
                var dr = rds.RmPo.NewRmPoRow();
                dr.cOrderNumber = cOrderNumber;
                dr.FItemID      = dtTemp.Rows[i]["FItemID"].ToString();
                dr.FEntryID     = dtTemp.Rows[i]["FEntryID"].ToString();
                dr.cInvCode     = dtTemp.Rows[i]["cInvCode"].ToString();
                dr.cInvName     = dtTemp.Rows[i]["cInvName"].ToString();
                dr.iQuantity    = dtTemp.Rows[i]["FQty"].ToString();
                dr.cVendor      = dtTemp.Rows[i]["cVendor"].ToString();
                dr.cMemo        = "";
                rds.RmPo.Rows.Add(dr);
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// 扫描响应事件
        /// </summary>
        /// <param name="DecodeText">扫描到的条码内容</param>
        private void scan_OnDecodeEvent(string DecodeText)
        {
            var cBarCode = DecodeText;

            if (string.IsNullOrEmpty(lblStockPlaceID.Text))
            {
                var cmd = new SqlCommand("select * from t_StockPlace where FNumber=@FNumber");
                cmd.Parameters.AddWithValue("@FNumber", cBarCode);

                if (PDAFunction.ExistSqlKis(cmd))
                {
                    lblStockPlaceID.Text = cBarCode;
                }
                else
                {
                    MessageBox.Show("请先扫描库位", "Error");
                }
                return;
            }

            if ((!cBarCode.StartsWith("P*") || !cBarCode.Contains("*L*") || !cBarCode.Contains("*S*")))
            {
                MessageBox.Show("无效条码", "Error");
                return;
            }

            cBarCode = cBarCode.Substring(cBarCode.IndexOf("*S*") + 3, 16);


            if (!JudgeBarCode(cBarCode))
            {
                return;
            }


            //if (!cBarCode.StartsWith("R*") || !cBarCode.Contains("*L*") || !cBarCode.Contains("*S*"))
            //{
            //    MessageBox.Show("无效条码", "Error");
            //    return;
            //}
            ////物料编码
            //var FitemID = cBarCode.Substring(2, cBarCode.IndexOf("*L*") - 2);
            ////产品序列号
            //var cLotNo = cBarCode.Substring(cBarCode.IndexOf("*L*") + 3, cBarCode.IndexOf("*S*") - cBarCode.IndexOf("*L*") - 3);

            ////产品批号
            //var cSerialNumber = cBarCode.Substring(cBarCode.IndexOf("*S*") + 3, cBarCode.Length - cBarCode.IndexOf("*S*") - 3);


            var cmdGetQuantity = new SqlCommand("select * from View_ProductLabel where cBarCode=@cBarCode");

            cmdGetQuantity.Parameters.AddWithValue("@cBarCode", cBarCode);

            decimal iQuantity = 0;
            string  cLotNo    = "";
            int     FitemID   = 1;
            var     dtTemp    = PDAFunction.GetSqlTable(cmdGetQuantity);

            if (dtTemp == null || dtTemp.Rows.Count < 1)
            {
                MessageBox.Show("无效条码,无打印记录", "Error");
                return;
            }
            try
            {
                iQuantity = decimal.Parse(dtTemp.Rows[0]["iQuantity"].ToString());
                cLotNo    = dtTemp.Rows[0]["FBatchNo"].ToString();
                FitemID   = int.Parse(dtTemp.Rows[0]["cFitemID"].ToString());
                _cInvCode = dtTemp.Rows[0]["cInvCode"].ToString();
                cInvName  = dtTemp.Rows[0]["cInvName"].ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show("数据异常," + ex.Message, "Error");
                return;
            }

            SaveOutWareHouse(cBarCode, _cInvCode, cInvName, iQuantity, cLotNo, FitemID);


            lblStockPlaceID.Text = "";
        }
Exemplo n.º 10
0
        /// <summary>
        /// 保存出库扫描,并重新进入出库单号的扫描获取
        /// </summary>
        private void SaveOutWareHouse(string cSerialNumber, string cInvCode, string cInvName, decimal iQuantity, string cLotNo, string FitemID)
        {
            var bInv = new SQLiteCommand("select iScanQuantity,iQuantity,FitemID,FEntryID from RmPo where cInvCode=@cInvCode  and cOrderNumber=@cOrderNumber");

            bInv.Parameters.AddWithValue("@cInvCode", cInvCode);
            bInv.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text);
            var dt = PDAFunction.GetSqLiteTable(bInv);

            if (dt == null || dt.Rows.Count < 1)
            {
                MessageBox.Show(@"获取数据出错!");
                return;
            }



            //var PlusCmd = new SQLiteCommand("update RmPo set iScanQuantity=ifnull(iScanQuantity,0)+@iQuantity where cOrderNumber=@cOrderNumber and cInvCode=@cInvCode ");
            //PlusCmd.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text);
            //PlusCmd.Parameters.AddWithValue("@iQuantity", iQuantity);
            //PlusCmd.Parameters.AddWithValue("@cInvCode", cInvCode);
            //PDAFunction.ExecSqLite(PlusCmd);

            decimal iFSQty = 0, iFQty = 0;

            for (var i = 0; i < dt.Rows.Count; i++)
            {
                try
                {
                    iFSQty = decimal.Parse(dt.Rows[i]["iScanQuantity"].ToString());
                    iFQty  = decimal.Parse(dt.Rows[i]["iQuantity"].ToString());
                }
                catch (Exception)
                {
                    MessageBox.Show("无法取得通知单内原料批号的数量");
                    return;
                }
                if ((iFSQty + iQuantity) <= iFQty)
                {
                    var sqLiteCmd = new SQLiteCommand("insert into RmStoreDetail(cSerialNumber,cOrderNumber,cLotNo,cInvCode,cInvName,iQuantity,cUser,FEntryID,FitemID,FSPNumber) " +
                                                      "values(@cSerialNumber,@cOrderNumber,@cLotNo,@cInvCode,@cInvName,@iQuantity,@cUser,@FEntryID,@FitemID,@FSPNumber)");
                    sqLiteCmd.Parameters.AddWithValue("@cSerialNumber", cSerialNumber);
                    sqLiteCmd.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text);
                    sqLiteCmd.Parameters.AddWithValue("@cLotNo", cLotNo);
                    sqLiteCmd.Parameters.AddWithValue("@cInvCode", cInvCode);
                    sqLiteCmd.Parameters.AddWithValue("@cInvName", cInvName);
                    sqLiteCmd.Parameters.AddWithValue("@iQuantity", iQuantity);
                    sqLiteCmd.Parameters.AddWithValue("@cUser", frmLogin.lUser);
                    sqLiteCmd.Parameters.AddWithValue("@FEntryID", dt.Rows[i]["FEntryID"].ToString());
                    sqLiteCmd.Parameters.AddWithValue("@FitemID", FitemID);
                    sqLiteCmd.Parameters.AddWithValue("@FSPNumber", lblStockPlaceID.Text);

                    PDAFunction.ExecSqLite(sqLiteCmd);

                    var PlusCmd = new SQLiteCommand("update RmPo set iScanQuantity=ifnull(iScanQuantity,0)+@iQuantity where cOrderNumber=@cOrderNumber and cInvCode=@cInvCode and FEntryID=@FEntryID");
                    PlusCmd.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text);
                    PlusCmd.Parameters.AddWithValue("@iQuantity", iQuantity);
                    PlusCmd.Parameters.AddWithValue("@cInvCode", cInvCode);
                    PlusCmd.Parameters.AddWithValue("@FEntryID", dt.Rows[i]["FEntryID"].ToString());
                    PDAFunction.ExecSqLite(PlusCmd);
                    txtBarCode.Text = "";
                    txtBarCode.Focus();
                    RefreshGrid();
                    return;
                }
                else
                {
                    var sqLiteCmd = new SQLiteCommand("insert into RmStoreDetail(cSerialNumber,cOrderNumber,cLotNo,cInvCode,cInvName,iQuantity,cUser,FEntryID,FitemID,FSPNumber) " +
                                                      "values(@cSerialNumber,@cOrderNumber,@cLotNo,@cInvCode,@cInvName,@iQuantity,@cUser,@FEntryID,@FitemID,@FSPNumber)");
                    sqLiteCmd.Parameters.AddWithValue("@cSerialNumber", cSerialNumber);
                    sqLiteCmd.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text);
                    sqLiteCmd.Parameters.AddWithValue("@cLotNo", cLotNo);
                    sqLiteCmd.Parameters.AddWithValue("@cInvCode", cInvCode);
                    sqLiteCmd.Parameters.AddWithValue("@cInvName", cInvName);
                    sqLiteCmd.Parameters.AddWithValue("@iQuantity", iQuantity);
                    sqLiteCmd.Parameters.AddWithValue("@cUser", frmLogin.lUser);
                    sqLiteCmd.Parameters.AddWithValue("@FEntryID", dt.Rows[i]["FEntryID"].ToString());
                    sqLiteCmd.Parameters.AddWithValue("@FitemID", FitemID);
                    sqLiteCmd.Parameters.AddWithValue("@FSPNumber", lblStockPlaceID.Text);

                    PDAFunction.ExecSqLite(sqLiteCmd);
                    var PlusCmd = new SQLiteCommand("update RmPo set iScanQuantity=ifnull(iScanQuantity,0)+@iQuantity where cOrderNumber=@cOrderNumber and cInvCode=@cInvCode and FEntryID=@FEntryID");
                    PlusCmd.Parameters.AddWithValue("@cOrderNumber", lblOrderNumber.Text);
                    PlusCmd.Parameters.AddWithValue("@iQuantity", iQuantity);
                    PlusCmd.Parameters.AddWithValue("@cInvCode", cInvCode);
                    PlusCmd.Parameters.AddWithValue("@FEntryID", dt.Rows[i]["FEntryID"].ToString());
                    PDAFunction.ExecSqLite(PlusCmd);
                    iQuantity = iQuantity + iFSQty - iFQty;
                }
            }
            txtBarCode.Text = "";
            txtBarCode.Focus();
            RefreshGrid();
        }
Exemplo n.º 11
0
        /// <summary>
        /// 扫描响应事件
        /// </summary>
        /// <param name="DecodeText">扫描到的条码内容</param>
        private void scan_OnDecodeEvent(string DecodeText)
        {
            var cBarCode = DecodeText;

            if ((!cBarCode.StartsWith("R*") || !cBarCode.Contains("*L*") || !cBarCode.Contains("*S*")))
            {
                if ((!cBarCode.StartsWith("P*") || !cBarCode.Contains("*L*") || !cBarCode.Contains("*S*")))
                {
                    MessageBox.Show("无效条码", "Error");
                    return;
                }
                //产品序列号
                var cSerialNumber = cBarCode.Substring(cBarCode.IndexOf("*S*") + 3, 16);

                var cmd = new SqlCommand("select * from View_ProductLabel where cBarCode=@cBarCode");
                cmd.Parameters.AddWithValue("@cBarCode", cSerialNumber);

                var con   = new SqlConnection(frmLogin.WmsCon);
                var dtRaw = PDAFunction.GetSqlTable(con, cmd);

                if (dtRaw != null && dtRaw.Rows.Count > 0)
                {
                    lblCompanyLot.Text = "制令单号";
                    lblcDefine1.Text   = dtRaw.Rows[0]["cSerialNumber"].ToString();
                    lbldDate.Text      = dtRaw.Rows[0]["dDate"].ToString();
                    lblcInvCode.Text   = dtRaw.Rows[0]["cInvCode"].ToString();
                    lblcInvName.Text   = dtRaw.Rows[0]["cInvName"].ToString();
                    lblcLotNo.Text     = dtRaw.Rows[0]["FBatchNo"].ToString();

                    lblCompany.Text = "客户订单";
                    lblcVendor.Text = dtRaw.Rows[0]["cOrderNumber"].ToString();

                    lblDate.Text  = "存货编码";
                    lbldDate.Text = dtRaw.Rows[0]["cInvStd"].ToString();
                    FitemID       = dtRaw.Rows[0]["cFitemID"].ToString();
                }
                else
                {
                    lblcDefine1.Text = "";
                    lblcDefine2.Text = "";
                    lblcInvCode.Text = "";
                    lblcInvName.Text = "";
                    lblcLotNo.Text   = "";
                    lblcVendor.Text  = "";
                    lbldDate.Text    = "";

                    lblQuantity.Text = "";
                    FitemID          = "";
                }
            }
            else
            {
                //产品序列号
                var cSerialNumber = cBarCode.Substring(cBarCode.IndexOf("*S*") + 3, 12);
                var cmd           = new SqlCommand("select * from RmLabel where cSerialNumber=@cSerialNumber");
                cmd.Parameters.AddWithValue("@cSerialNumber", cSerialNumber);

                var con   = new SqlConnection(frmLogin.WmsCon);
                var dtRaw = PDAFunction.GetSqlTable(con, cmd);

                if (dtRaw != null && dtRaw.Rows.Count > 0)
                {
                    lblCompanyLot.Text = "供应商批号";
                    lblCompany.Text    = "供应商";
                    lblDate.Text       = "进货日期";

                    lblcDefine1.Text = dtRaw.Rows[0]["cDefine1"].ToString();
                    lblcDefine2.Text = dtRaw.Rows[0]["cDefine2"].ToString();
                    lblcInvCode.Text = dtRaw.Rows[0]["cInvCode"].ToString();
                    lblcInvName.Text = dtRaw.Rows[0]["cInvName"].ToString();
                    lblcLotNo.Text   = dtRaw.Rows[0]["cLotNo"].ToString();
                    lblcVendor.Text  = dtRaw.Rows[0]["cVendor"].ToString();
                    lbldDate.Text    = dtRaw.Rows[0]["dDate"].ToString();
                    FitemID          = dtRaw.Rows[0]["FitemID"].ToString();
                }
                else
                {
                    lblcDefine1.Text = "";
                    lblcDefine2.Text = "";
                    lblcInvCode.Text = "";
                    lblcInvName.Text = "";
                    lblcLotNo.Text   = "";
                    lblcVendor.Text  = "";
                    lbldDate.Text    = "";
                    lblQuantity.Text = "";
                    FitemID          = "";
                }
            }
            if (string.IsNullOrEmpty(FitemID))
            {
                return;
            }


            var cmdAll = new SqlCommand("select sum(FQty) from ICInventory where FitemID=@FitemID");

            cmdAll.Parameters.AddWithValue("@FitemID", FitemID);
            var conAll = new SqlConnection(frmLogin.KisCon);

            lblQuantity.Text = PDAFunction.GetSqlSingle(conAll, cmdAll);
        }
Exemplo n.º 12
0
        /// <summary>
        /// 扫描响应事件
        /// </summary>
        /// <param name="DecodeText">扫描到的条码内容</param>
        private void scan_OnDecodeEvent(string DecodeText)
        {
            var cBarCode = DecodeText;

            if ((!cBarCode.StartsWith("R*") || !cBarCode.Contains("*L*") || !cBarCode.Contains("*S*")))
            {
                if ((!cBarCode.StartsWith("P*") || !cBarCode.Contains("*L*") || !cBarCode.Contains("*S*")))
                {
                    MessageBox.Show("无效条码", "Error");
                    return;
                }
                //产品序列号
                var cSerialNumber = cBarCode.Substring(cBarCode.IndexOf("*S*") + 3, 16);
                var cmd           = new SqlCommand("select * from View_ProductLabel where cBarCode=@cBarCode");
                cmd.Parameters.AddWithValue("@cBarCode", cSerialNumber);

                var con   = new SqlConnection(frmLogin.WmsCon);
                var dtRaw = PDAFunction.GetSqlTable(con, cmd);

                if (dtRaw != null && dtRaw.Rows.Count > 0)
                {
                    lblcInvCode.Text = dtRaw.Rows[0]["cInvCode"].ToString();
                    lblcInvName.Text = dtRaw.Rows[0]["cInvName"].ToString();
                    FitemID          = dtRaw.Rows[0]["cFitemID"].ToString();
                }
                else
                {
                    lblcInvCode.Text = "";
                    lblcInvName.Text = "";
                    lblQuantity.Text = "";
                    FitemID          = "";
                }
            }
            else
            {
                //产品序列号
                var cSerialNumber = cBarCode.Substring(cBarCode.IndexOf("*S*") + 3, 12);
                var cmd           = new SqlCommand("select * from RmLabel where cSerialNumber=@cSerialNumber");
                cmd.Parameters.AddWithValue("@cSerialNumber", cSerialNumber);

                var con   = new SqlConnection(frmLogin.WmsCon);
                var dtRaw = PDAFunction.GetSqlTable(con, cmd);

                if (dtRaw != null && dtRaw.Rows.Count > 0)
                {
                    lblcInvCode.Text = dtRaw.Rows[0]["cInvCode"].ToString();
                    lblcInvName.Text = dtRaw.Rows[0]["cInvName"].ToString();
                    FitemID          = dtRaw.Rows[0]["FitemID"].ToString();
                }
                else
                {
                    lblcInvCode.Text = "";
                    lblcInvName.Text = "";

                    lblQuantity.Text = "";
                    FitemID          = "";
                }
            }

            if (string.IsNullOrEmpty(FitemID))
            {
                return;
            }

            var cmdAll = new SqlCommand("select sum(FQty) from ICInventory where FitemID=@FitemID");

            cmdAll.Parameters.AddWithValue("@FitemID", FitemID);
            var conAll = new SqlConnection(frmLogin.KisCon);

            lblQuantity.Text = PDAFunction.GetSqlSingle(conAll, cmdAll);


            var cmdDetail = new SqlCommand(@"select a.FBatchNo,FQty,c.FName FStockName,d.FNumber FStockPlaceNumber,d.FName FStockPlaceName
from ICInventory a inner join t_ICItem b on a.FItemID=b.FItemID 
inner join t_Stock c on a.FStockID=c.FItemID inner join t_StockPlace d on a.FStockPlaceID=d.FSPID
where a.FQty>0 and a.FItemID =@FItemID  order by a.FItemID,a.FBatchNo,a.FStockID,a.FStockPlaceID");

            cmdDetail.Parameters.AddWithValue("@FitemID", FitemID);
            var conDetail = new SqlConnection(frmLogin.KisCon);
            var dtTemp    = PDAFunction.GetSqlTable(conDetail, cmdDetail);

            if (dtTemp == null)
            {
                return;
            }

            prods.StockDetail.Rows.Clear();
            for (var i = 0; i < dtTemp.Rows.Count; i++)
            {
                var dr = prods.StockDetail.NewStockDetailRow();
                dr.FBatchNo          = dtTemp.Rows[i]["FBatchNo"].ToString();
                dr.FQty              = dtTemp.Rows[i]["FQty"].ToString();
                dr.FStockName        = dtTemp.Rows[i]["FStockName"].ToString();
                dr.FStockPlaceNumber = dtTemp.Rows[i]["FStockPlaceNumber"].ToString();
                dr.FStockPlaceName   = dtTemp.Rows[i]["FStockPlaceName"].ToString();
                prods.StockDetail.Rows.Add(dr);
            }
        }
Exemplo n.º 13
0
        /// <summary>
        /// 处理条码扫描事件
        /// </summary>
        /// <param name="DecodeText"></param>
        private void scan_OnDecodeEvent(String DecodeText)
        {
            txtBarCode.Text = DecodeText;
            if (BoolCanOkDownLoad())
            {
                return;
            }



            var cmd = new SqlCommand(@"select * from View_ShiftBomDetail where cSerialNumber=@cSerialNumber");

            cmd.Parameters.AddWithValue("@cSerialNumber", txtBarCode.Text);
            var       con    = new SqlConnection(frmLogin.WmsCon);
            DataTable dtTemp = new DataTable("dtTemp");

            try
            {
                dtTemp = PDAFunction.GetSqlTable(con, cmd);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + DecodeText, @"Warning");
                return;
            }

            if (!PDAFunction.IsCanCon())
            {
                MessageBox.Show(@"无法连接到服务器", @"Warning");
                return;
            }

            if (dtTemp == null)
            {
                MessageBox.Show(@"下载出错,请联系管理员", @"Warning");
                return;
            }


            if (dtTemp.Rows.Count < 1)
            {
                MessageBox.Show(@"无此班次制令单!", @"Warning");
                return;
            }

            lblSum.Text = dtTemp.Rows.Count.ToString(CultureInfo.CurrentCulture) + "行";

            //进行循环判断是否属于当前库区
            for (var i = 0; i < dtTemp.Rows.Count; i++)
            {
                var dr = rds.RmProduce.NewRmProduceRow();
                dr.cCode     = DecodeText;
                dr.cInvCode  = dtTemp.Rows[i]["cInvCode"].ToString();
                dr.cInvName  = dtTemp.Rows[i]["cInvName"].ToString();
                dr.iQuantity = dtTemp.Rows[i]["iQuantity"].ToString();
                dr.cMemo     = dtTemp.Rows[i]["cMemo"].ToString();
                dr.FItemID   = dtTemp.Rows[i]["cFItemID"].ToString();
                dr.AutoID    = dtTemp.Rows[i]["AutoID"].ToString();
                rds.RmProduce.Rows.Add(dr);
            }
        }
Exemplo n.º 14
0
        private void LoginOk()
        {
            if (string.IsNullOrEmpty(txtName.Text))
            {
                MessageBox.Show("用户名必填");
                return;
            }


            WmsCon = PDAFunction.GetWmsConstring();
            KisCon = PDAFunction.GetKisConstring();
            lUser  = txtName.Text;

            if (!PDAFunction.IsCanCon())
            {
                MessageBox.Show(@"无法连接到SQL服务器,无法验证", @"Warning");
                return;
            }

            var strTemp = PDAFunction.GetServerTime();

            if (strTemp != null)
            {
                var dt    = DateTime.Parse(strTemp);
                var sysdt = new SystemTime
                {
                    wYear   = (short)dt.Year,
                    wMonth  = (short)dt.Month,
                    wDay    = (short)dt.Day,
                    wHour   = (short)dt.Hour,
                    wMinute = (short)dt.Minute,
                    wSecond = (short)dt.Second
                };
                Win32API.SetLocalTime(ref sysdt);
            }

            var con = new SqlConnection(WmsCon);
            var cmd = new SqlCommand
            {
                Connection  = con,
                CommandText =
                    "select uName,uRole from BUser where (uName=@uName or uCode=@uName) and uPassword=@uPassword"
            };

            cmd.Parameters.Clear();
            cmd.Parameters.AddWithValue("@uName", txtName.Text);
            cmd.Parameters.AddWithValue("@uPassword", PDAFunction.GetMd5Hash(txtPwd.Text));
            con.Open();
            var dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

            if (dr.Read())                      //直接登陆
            {
                lUser = dr["uName"].ToString(); //把登陆名和登陆服务器保存到静态变量中


                dr.Close();
                Hide();
                using (var fMain = new frmMain())
                {
                    fMain.ShowDialog();
                }
                Show();
            }
            else
            {
                MessageBox.Show(@"用户名或密码错误,请联系管理员!", @"Warning");
            }
        }
Exemplo n.º 15
0
        /// <summary>
        /// 处理条码扫描事件
        /// </summary>
        /// <param name="DecodeText"></param>
        private void scan_OnDecodeEvent(String DecodeText)
        {
            txtBarCode.Text = DecodeText;
            var cOrderNumber = DecodeText;



            if (BoolCanOkDownLoad())
            {
                return;
            }


            //下载采购订单
            var cmd = new SqlCommand(@"select * from ProDelivery where cCode=@cCode");

            cmd.Parameters.AddWithValue("@cCode", cOrderNumber);
            var       con    = new SqlConnection(frmLogin.WmsCon);
            DataTable dtTemp = new DataTable("dtTemp");

            try
            {
                dtTemp = PDAFunction.GetSqlTable(con, cmd);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message + cOrderNumber, @"Warning");
                return;
            }

            if (!PDAFunction.IsCanCon())
            {
                MessageBox.Show(@"无法连接到服务器", @"Warning");
                return;
            }

            if (dtTemp == null)
            {
                MessageBox.Show(@"下载出错,请联系管理员", @"Warning");
                return;
            }


            if (dtTemp.Rows.Count < 1)
            {
                MessageBox.Show(@"无此采购单号!", @"Warning");
                return;
            }

            lblSum.Text = dtTemp.Rows.Count.ToString(CultureInfo.CurrentCulture) + "行";


            for (var i = 0; i < dtTemp.Rows.Count; i++)
            {
                var dr = prods.ProDelivery.NewProDeliveryRow();
                dr.cCode        = cOrderNumber;
                dr.AutoID       = dtTemp.Rows[i]["AutoID"].ToString();
                dr.cCusCode     = dtTemp.Rows[i]["cCusCode"].ToString();
                dr.cCusName     = dtTemp.Rows[i]["cCusName"].ToString();
                dr.cMaker       = dtTemp.Rows[i]["cMaker"].ToString();
                dr.dMaketime    = dtTemp.Rows[i]["dMaketime"].ToString();
                dr.cDepCode     = dtTemp.Rows[i]["cDepCode"].ToString();
                dr.cDepName     = dtTemp.Rows[i]["cDepName"].ToString();
                dr.cMemo        = dtTemp.Rows[i]["cMemo"].ToString();
                dr.cVerifyState = dtTemp.Rows[i]["cVerifyState"].ToString();
                dr.cHandler     = dtTemp.Rows[i]["cHandler"].ToString();
                dr.dVeriDate    = dtTemp.Rows[i]["dVeriDate"].ToString();
                prods.ProDelivery.Rows.Add(dr);
            }
        }