예제 #1
0
        //刷卡
        private void Scan()
        {
            byte[] pszData = new byte[25];
            byte[] data    = new byte[1];

            if (RFID_15693.ScanSingleTag(ref data))
            {
            }
            else
            {
                throw new Exception("扫描失败,请确认是否是15693标签,并确认标签是否处于RFID感应区!");
            }

            string RFID_ID = RFID_15693.RFID_ID();

            if (RFID_ID == "")
            {
                throw new Exception("扫描失败,RFID号为空!");
            }
            int res = RFID_15693.RF_ISO15693_getSystemInformation(0, data, 0, pszData);

            if (res != 0)
            {
                throw new Exception("扫描失败,获取卡类型时出错!");
            }
            if (BitConverter.ToString(pszData, 11, 1) == "0B")//物料卡
            {
                txtRFID.Text = RFID_ID;
                if (!CommonClass.ValidateRFID(RFID_ID))
                {
                    throw new Exception("此卡已经被回收!");
                }
                string    DeviceName = FunPublic.GetDeviceName();
                DataTable dt         = FunPublic.GetDt("exec [PDA_WorkshopGRQuery] '" + RFID_ID + "','" + DeviceName.Substring(1, DeviceName.Length - 1) + "'");
                if (dt.Rows.Count > 0)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (FunPublic.GetDt(string.Format("select STEPCODE from Doc_prodcutPackage13 where EBDOC='{0}' and RFID_ID = '{1}' AND STEPSEQ <{2} ", dr["EBDOC"], RFID_ID, dr["STEPSEQ"])).Rows.Count > 1)
                        {
                            throw new Exception("此卡片还有没有完工的工序,不能收货!");
                        }
                        txtEBNum.Text       = dr["EBDOC"].ToString();
                        txtPackageCode.Text = dr["PackageCode"].ToString();
                        txtSN.Text          = dr["SN"].ToString();
                        txtQuantity.Text    = dr["QtyinPackage"].ToString();
                        cmbStep.Items.Add(dr["STEPCode"].ToString() + "-" + dr["STEPName"].ToString());
                        cmbStep.Text        = dr["STEPCode"].ToString() + "-" + dr["STEPName"].ToString();
                        txtMappingCode.Text = dr["MappingCode"].ToString();
                        txtRouMap.Text      = dr["roumap"].ToString();
                        txtRouMapName.Text  = dr["roumapName"].ToString();
                    }
                }
                else
                {
                    throw new Exception("此车间已收货!");
                }
            }
            else if (BitConverter.ToString(pszData, 11, 1) == "0D")//员工卡
            {
                txtStaff.Text = RFID_ID;
            }
            CommonClass.PlaySoundBeep();
        }
예제 #2
0
        private void btnScan_Click(object sender, EventArgs e)
        {
            byte[] pszData = new byte[25];
            byte[] data    = new byte[1];
            try
            {
                if (RFID_15693.ScanSingleTag(ref data))
                {
                    //CommonClass.PlaySound();
                }
                else
                {
                    MessageBox.Show("扫描失败,请确认是否是15693标签,并确认标签是否处于RFID感应区");
                    return;
                }

                string RFID_ID = RFID_15693.RFID_ID();

                if (RFID_ID == "")
                {
                    txtRFID.Text = "";
                    //cmbCardCode.Text = "";
                    txtEBNum.Text         = "";
                    txtPackageCode.Text   = "";
                    txtCSKU_CODE.Text     = "";
                    txtQuantity.Text      = "";
                    txtWORKSHOP_CODE.Text = "";
                    txtLastStep.Text      = "";
                    txtNextStep.Text      = "";
                    Type      = "";
                    BaseEntry = "";
                    MessageBox.Show("刷卡失败!");
                }
                else
                {
                    int res = RFID_15693.RF_ISO15693_getSystemInformation(0, data, 0, pszData);

                    if (res == 0)
                    {
                        if (BitConverter.ToString(pszData, 11, 1) == "0B")
                        {//物料卡
                            txtRFID.Text = RFID_ID;
                            if (!CommonClass.ValidateRFID(RFID_ID))
                            {
                                throw new Exception("此卡已经被回收!");
                            }
                            //查询13表
                            string    sql = @"SELECT  DocEntry,Doc1_LINE_ID,Doc11_LINE_ID,Doc12_LINE_ID,EBDOC,RFID_ID,MappingCode,PackageCode,PackagesQty,QtyinPackage,ProRtEntry,ProRtLine,SN,CSKU_CODE,CSKU_NAME,STEPCode,STEPName,Quantity,WORKSHOP_CODE,WORKSHOPSEQ,STEPSEQ,roumap,QtyofSize,Type,STEP_PRICE
FROM Doc_Prodcutpackage13 T WHERE T.RFID_ID='" + RFID_ID + "' order by STEPSEQ";
                            DataTable dt  = FunPublic.GetDt(sql);

                            if (dt.Rows.Count > 0)
                            {
                                Type      = dt.Rows[0]["Type"].ToString();
                                BaseEntry = dt.Rows[0]["DocEntry"].ToString();

                                txtEBNum.Text         = dt.Rows[0]["EBDOC"].ToString();
                                txtPackageCode.Text   = dt.Rows[0]["PackageCode"].ToString();
                                txtCSKU_CODE.Text     = dt.Rows[0]["CSKU_CODE"].ToString();
                                txtQuantity.Text      = dt.Rows[0]["QtyinPackage"].ToString();
                                txtWORKSHOP_CODE.Text = dt.Rows[0]["WORKSHOP_CODE"].ToString();
                                txtLastStep.Text      = dt.Rows[0]["STEPCode"].ToString();
                                DataTable dt1 = FunPublic.GetDt("select STEPCode from Doc_Prodcutpackage14 where RFID_ID='" + RFID_ID + "' and EBDOC = '" + dt.Rows[0]["EBDOC"].ToString() + "' and SN = '" + dt.Rows[0]["SN"].ToString() + "' order by STEPSEQ desc");
                                if (dt1.Rows.Count > 0)
                                {
                                    txtNextStep.Text = dt1.Rows[0]["STEPCode"].ToString();
                                }
                            }
                            else
                            {
                                txtEBNum.Text         = "";
                                txtPackageCode.Text   = "";
                                txtCSKU_CODE.Text     = "";
                                txtQuantity.Text      = "";
                                txtWORKSHOP_CODE.Text = "";
                                txtLastStep.Text      = "";
                                txtNextStep.Text      = "";
                                Type      = "";
                                BaseEntry = "";
                                MessageBox.Show("查不到明细!");
                                return;
                            }
                        }
                        else if (BitConverter.ToString(pszData, 11, 1) == "0D")
                        {//员工卡
                            MessageBox.Show("请刷物料卡!");
                            return;
                        }
                        CommonClass.PlaySoundBeep();
                    }
                    else
                    {
                        txtRFID.Text = "";
                        //cmbCardCode.Text = "";
                        txtEBNum.Text         = "";
                        txtPackageCode.Text   = "";
                        txtCSKU_CODE.Text     = "";
                        txtQuantity.Text      = "";
                        txtWORKSHOP_CODE.Text = "";
                        txtLastStep.Text      = "";
                        txtNextStep.Text      = "";
                        Type      = "";
                        BaseEntry = "";
                        MessageBox.Show("刷卡失败!");
                    }
                }
            }
            catch (Exception ex)
            {
                txtRFID.Text = "";
                //cmbCardCode.Text = "";
                txtEBNum.Text         = "";
                txtPackageCode.Text   = "";
                txtCSKU_CODE.Text     = "";
                txtQuantity.Text      = "";
                txtWORKSHOP_CODE.Text = "";
                txtLastStep.Text      = "";
                txtNextStep.Text      = "";
                Type      = "";
                BaseEntry = "";
                MessageBox.Show("刷卡失败!" + ex.Message);
            }
        }
예제 #3
0
        private void btnScan_Click(object sender, EventArgs e)
        {
            byte[] pszData = new byte[25];
            byte[] data    = new byte[1];
            try
            {
                if (RFID_15693.ScanSingleTag(ref data))
                {
                    //CommonClass.PlaySound();
                }
                else
                {
                    MessageBox.Show("扫描失败,请确认是否是15693标签,并确认标签是否处于RFID感应区");
                    return;
                }

                string RFID_ID = RFID_15693.RFID_ID();

                if (RFID_ID == "")
                {
                    txtMappingCode.Text = "";
                    txtEBNum.Text       = "";
                    txtPackageCode.Text = "";
                    txtSN.Text          = "";
                    txtQuantity.Text    = "";
                    MessageBox.Show("刷卡失败!");
                }
                else
                {
                    int res = RFID_15693.RF_ISO15693_getSystemInformation(0, data, 0, pszData);

                    if (res == 0)
                    {
                        if (BitConverter.ToString(pszData, 11, 1) == "0B")
                        {//物料卡
                            if (!CommonClass.ValidateRFID(RFID_ID))
                            {
                                throw new Exception("此卡已经被回收!");
                            }
                            if (txtRFID1.Focused)
                            {
                                DataTable dt = FunPublic.GetDt("exec [PDA_MappingQuery] '" + RFID_ID + "','4','',''");
                                if (dt.Rows.Count > 0)
                                {
                                    DataRow[] dr = dt.Select("MappingCode='" + txtMappingCode.Text + "'");
                                    if (dr.Length > 0)
                                    {
                                        txtRFID1.Text = RFID_ID;
                                        if (txtRFID2.Text != "")
                                        {
                                            this.panel1.Visible = true;
                                        }
                                        else
                                        {
                                            txtRFID2.Focus();
                                            return;
                                        }
                                    }
                                    else if (dr.Length == 0 && txtMappingCode.Text == "")
                                    {
                                        txtRFID1.Text       = RFID_ID;
                                        txtMappingCode.Text = dt.Rows[0]["MappingCode"].ToString();
                                        txtEBNum.Text       = dt.Rows[0]["EBDOC"].ToString();
                                        txtPackageCode.Text = dt.Rows[0]["PackageCode"].ToString();
                                        txtSN.Text          = dt.Rows[0]["SN"].ToString();
                                        txtQuantity.Text    = dt.Rows[0]["Quantity"].ToString();
                                        if (txtRFID2.Text != "")
                                        {
                                            this.panel1.Visible = true;
                                        }
                                        else
                                        {
                                            txtRFID2.Focus();
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("无匹配!");
                                        return;
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("未做收货!");
                                    return;
                                }
                            }
                            if (txtRFID2.Focused)
                            {
                                DataTable dt = FunPublic.GetDt("exec [PDA_MappingQuery] '" + RFID_ID + "','5','',''");
                                if (dt.Rows.Count > 0)
                                {
                                    DataRow[] dr = dt.Select("MappingCode='" + txtMappingCode.Text + "'");
                                    if (dr.Length > 0)
                                    {
                                        txtRFID2.Text = RFID_ID;
                                        if (txtRFID1.Text != "")
                                        {
                                            this.panel1.Visible = true;
                                        }
                                        else
                                        {
                                            txtRFID1.Focus();
                                        }
                                    }
                                    else if (dr.Length == 0 && txtMappingCode.Text == "")
                                    {
                                        txtRFID2.Text       = RFID_ID;
                                        txtMappingCode.Text = dt.Rows[0]["MappingCode"].ToString();
                                        txtEBNum.Text       = dt.Rows[0]["EBDOC"].ToString();
                                        txtPackageCode.Text = dt.Rows[0]["PackageCode"].ToString();
                                        txtSN.Text          = dt.Rows[0]["SN"].ToString();
                                        txtQuantity.Text    = dt.Rows[0]["Quantity"].ToString();
                                        if (txtRFID1.Text != "")
                                        {
                                            this.panel1.Visible = true;
                                        }
                                        else
                                        {
                                            txtRFID1.Focus();
                                            return;
                                        }
                                    }
                                    else
                                    {
                                        MessageBox.Show("无匹配!");
                                        return;
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("未做收货!");
                                    return;
                                }
                            }
                        }
                        else if (BitConverter.ToString(pszData, 11, 1) == "0D")
                        {//员工卡
                            MessageBox.Show("请刷物料卡!");
                            return;
                        }
                        CommonClass.PlaySoundBeep();
                    }
                    else
                    {
                        txtRFID2.Text       = "";
                        txtMappingCode.Text = "";
                        txtEBNum.Text       = "";
                        txtPackageCode.Text = "";
                        txtSN.Text          = "";
                        txtQuantity.Text    = "";
                        MessageBox.Show("刷卡失败!");
                    }
                }
            }
            catch (Exception ex)
            {
                txtRFID2.Text       = "";
                txtMappingCode.Text = "";
                txtEBNum.Text       = "";
                txtPackageCode.Text = "";
                txtSN.Text          = "";
                txtQuantity.Text    = "";
                MessageBox.Show("刷卡失败!" + ex.Message);
            }
        }
예제 #4
0
        private void btnScan_Click(object sender, EventArgs e)
        {
            byte[] pszData = new byte[25];
            byte[] data    = new byte[1];
            try
            {
                if (RFID_15693.ScanSingleTag(ref data))
                {
                    //CommonClass.PlaySound();
                }
                else
                {
                    MessageBox.Show("扫描失败,请确认是否是15693标签,并确认标签是否处于RFID感应区");
                    return;
                }

                string RFID_ID = RFID_15693.RFID_ID();

                if (RFID_ID == "")
                {
                    txtWORKSHOP_CODE.Text = "";
                    txtRFID.Text          = "";
                    //cmbCardCode.Text = "";
                    txtEBNum.Text       = "";
                    txtPackageCode.Text = "";
                    txtCSKU_CODE.Text   = "";
                    txtQuantity.Text    = "";
                    txtLastStep.Text    = "";
                    txtNextStep.Text    = "";
                    MessageBox.Show("刷卡失败!");
                }
                else
                {
                    int res = RFID_15693.RF_ISO15693_getSystemInformation(0, data, 0, pszData);

                    if (res == 0)
                    {
                        if (BitConverter.ToString(pszData, 11, 1) == "0B")
                        {//物料卡
                            txtRFID.Text = RFID_ID;
                            if (!CommonClass.ValidateRFID(RFID_ID))
                            {
                                throw new Exception("此卡已经被回收!");
                            }
                            string    DeviceName = FunPublic.GetDeviceName();
                            DataTable dt         = FunPublic.GetDt("exec [PDA_SearchPDAQuery] '" + RFID_ID + "'");
                            if (dt.Rows.Count > 0)
                            {
                                foreach (DataRow dr in dt.Rows)
                                {
                                    txtWORKSHOP_CODE.Text = dr["roumap"].ToString();
                                    txtEBNum.Text         = dr["EBDOC"].ToString();
                                    txtPackageCode.Text   = dr["PackageCode"].ToString();
                                    txtCSKU_CODE.Text     = dr["CSKU_CODE"].ToString();
                                    txtQuantity.Text      = dr["QtyinPackage"].ToString();
                                    txtLastStep.Text      = dr["txtLastStep"].ToString();
                                    txtNextStep.Text      = dr["txtNextStep"].ToString();
                                }
                            }
                            else
                            {
                                txtWORKSHOP_CODE.Text = "";
                                txtEBNum.Text         = "";
                                txtPackageCode.Text   = "";
                                txtCSKU_CODE.Text     = "";
                                txtQuantity.Text      = "";
                                txtLastStep.Text      = "";
                                txtNextStep.Text      = "";
                                //MessageBox.Show("此车间上无此包收货!");
                            }
                        }
                        else if (BitConverter.ToString(pszData, 11, 1) == "0D")
                        {//员工卡
                            MessageBox.Show("请刷物料卡!");
                            return;
                        }
                        CommonClass.PlaySoundBeep();
                    }
                    else
                    {
                        txtWORKSHOP_CODE.Text = "";
                        txtRFID.Text          = "";
                        //cmbCardCode.Text = "";
                        txtEBNum.Text       = "";
                        txtPackageCode.Text = "";
                        txtCSKU_CODE.Text   = "";
                        txtQuantity.Text    = "";
                        txtLastStep.Text    = "";
                        txtNextStep.Text    = "";
                        MessageBox.Show("刷卡失败!");
                    }
                }
            }
            catch (Exception ex)
            {
                txtWORKSHOP_CODE.Text = "";
                txtRFID.Text          = "";
                //cmbCardCode.Text = "";
                txtEBNum.Text       = "";
                txtPackageCode.Text = "";
                txtCSKU_CODE.Text   = "";
                txtQuantity.Text    = "";
                txtLastStep.Text    = "";
                txtNextStep.Text    = "";
                MessageBox.Show("刷卡失败!" + ex.Message);
            }
        }
예제 #5
0
        private void btnScan_Click(object sender, EventArgs e)
        {
            byte[] pszData = new byte[25];
            byte[] data    = new byte[1];
            try
            {
                if (RFID_15693.ScanSingleTag(ref data))
                {
                    //CommonClass.PlaySound();
                }
                else
                {
                    MessageBox.Show("扫描失败,请确认是否是15693标签,并确认标签是否处于RFID感应区");
                    return;
                }

                string RFID_ID = RFID_15693.RFID_ID();

                if (RFID_ID == "")
                {
                    txtRFID.Text        = "";
                    txtEBNum.Text       = "";
                    txtPackageCode.Text = "";
                    txtSN.Text          = "";
                    txtQuantity.Text    = "";
                    cmbStep.Items.Clear();
                    cmbStep.Text = "";
                    MessageBox.Show("刷卡失败!");
                }
                else
                {
                    int res = RFID_15693.RF_ISO15693_getSystemInformation(0, data, 0, pszData);

                    if (res == 0)
                    {
                        if (BitConverter.ToString(pszData, 11, 1) == "0B")
                        {//物料卡
                            txtRFID.Text = RFID_ID;
                            if (!CommonClass.ValidateRFID(RFID_ID))
                            {
                                throw new Exception("此卡已经被回收!");
                            }
                            if (Convert.ToInt32(FunPublic.GetDt("select COUNT(distinct EBDOC) from Doc_Prodcutpackage13 where RFID_ID='" + RFID_ID + "'").Rows[0][0]) > 1)
                            {
                                MessageBox.Show("此卡存在多个EB单号,不能刷卡!");
                                return;
                            }
                            string    DeviceName = FunPublic.GetDeviceName();
                            DataTable dt         = FunPublic.GetDt("exec [PDA_DailyReportQuery] '" + RFID_ID + "','" + DeviceName.Substring(1, DeviceName.Length - 1) + "'");
                            if (dt.Rows.Count > 0)
                            {
                                cmbStep.Items.Clear();
                                foreach (DataRow dr in dt.Rows)
                                {
                                    txtEBNum.Text       = dr["EBDOC"].ToString();
                                    txtPackageCode.Text = dr["PackageCode"].ToString();
                                    txtSN.Text          = dr["SN"].ToString();
                                    txtQuantity.Text    = dr["QtyinPackage"].ToString();
                                    cmbStep.Items.Add(dr["STEPCode"].ToString() + "-" + dr["STEPName"].ToString());
                                    cmbStep.Text = dr["STEPCode"].ToString() + "-" + dr["STEPName"].ToString();
                                }
                            }
                            else
                            {
                                MessageBox.Show("此设备上无可选工序!");
                            }
                        }
                        else if (BitConverter.ToString(pszData, 11, 1) == "0D")
                        {//员工卡
                            txtStaff.Text = RFID_ID;
                        }
                        CommonClass.PlaySoundBeep();
                    }
                    else
                    {
                        txtRFID.Text        = "";
                        txtEBNum.Text       = "";
                        txtPackageCode.Text = "";
                        txtSN.Text          = "";
                        txtQuantity.Text    = "";
                        cmbStep.Items.Clear();
                        cmbStep.Text = "";
                        MessageBox.Show("刷卡失败!");
                    }
                }
            }
            catch (Exception ex)
            {
                txtRFID.Text        = "";
                txtEBNum.Text       = "";
                txtPackageCode.Text = "";
                txtSN.Text          = "";
                txtQuantity.Text    = "";
                cmbStep.Items.Clear();
                cmbStep.Text = "";
                MessageBox.Show("刷卡失败!" + ex.Message);
            }
        }
예제 #6
0
        private void btnScan_Click(object sender, EventArgs e)
        {
            if (cmbCardCode.Text == "")
            {
                MessageBox.Show("请先选择供应商!");
                return;
            }
            byte[] pszData = new byte[25];
            byte[] data    = new byte[1];
            try
            {
                if (RFID_15693.ScanSingleTag(ref data))
                {
                    //CommonClass.PlaySound();
                }
                else
                {
                    MessageBox.Show("扫描失败,请确认是否是15693标签,并确认标签是否处于RFID感应区");
                    return;
                }

                string RFID_ID = RFID_15693.RFID_ID();

                if (RFID_ID == "")
                {
                    txtRFID.Text = "";
                    //cmbCardCode.Text = "";
                    txtEBNum.Text       = "";
                    txtPackageCode.Text = "";
                    txtSN.Text          = "";
                    txtQuantity.Text    = "";
                    MessageBox.Show("刷卡失败!");
                }
                else
                {
                    int res = RFID_15693.RF_ISO15693_getSystemInformation(0, data, 0, pszData);

                    if (res == 0)
                    {
                        if (BitConverter.ToString(pszData, 11, 1) == "0B")
                        {//物料卡
                            txtRFID.Text = RFID_ID;
                            if (!CommonClass.ValidateRFID(RFID_ID))
                            {
                                throw new Exception("此卡已经被回收!");
                            }
                            string    DeviceName = FunPublic.GetDeviceName();
                            DataTable dt         = FunPublic.GetDt("exec [PDA_OSGoodsIssuQuery] 'RFID','" + RFID_ID + "','" + cmbCardCode.Text.Substring(0, cmbCardCode.Text.IndexOf('-')) + "',''");
                            if (dt.Rows.Count > 0)
                            {
                                foreach (DataRow dr in dt.Rows)
                                {
                                    txtEBNum.Text       = dr["EBDOC"].ToString();
                                    txtPackageCode.Text = dr["PackageCode"].ToString();
                                    txtSN.Text          = dr["SN"].ToString();
                                    txtQuantity.Text    = dr["QtyinPackage"].ToString();
                                }
                            }
                            else
                            {
                                txtEBNum.Text       = "";
                                txtPackageCode.Text = "";
                                txtSN.Text          = "";
                                txtQuantity.Text    = "";
                                MessageBox.Show("此供应商下无此包外发!");
                            }
                        }
                        else if (BitConverter.ToString(pszData, 11, 1) == "0D")
                        {//员工卡
                            MessageBox.Show("请刷物料卡!");
                            return;
                        }
                        CommonClass.PlaySoundBeep();
                    }
                    else
                    {
                        txtRFID.Text = "";
                        //cmbCardCode.Text = "";
                        txtEBNum.Text       = "";
                        txtPackageCode.Text = "";
                        txtSN.Text          = "";
                        txtQuantity.Text    = "";
                        MessageBox.Show("刷卡失败!");
                    }
                }
            }
            catch (Exception ex)
            {
                txtRFID.Text = "";
                //cmbCardCode.Text = "";
                txtEBNum.Text       = "";
                txtPackageCode.Text = "";
                txtSN.Text          = "";
                txtQuantity.Text    = "";
                MessageBox.Show("刷卡失败!" + ex.Message);
            }
        }
예제 #7
0
        //刷卡
        private void Scan()
        {
            byte[] pszData = new byte[25];
            byte[] data    = new byte[1];

            if (RFID_15693.ScanSingleTag(ref data))
            {
                //CommonClass.PlaySound();
            }
            else
            {
                throw new Exception("扫描失败,请确认是否是15693标签,并确认标签是否处于RFID感应区!");
            }
            string RFID_ID = RFID_15693.RFID_ID();

            if (RFID_ID == "")
            {
                throw new Exception("扫描失败,RFID号为空!");
            }
            int res = RFID_15693.RF_ISO15693_getSystemInformation(0, data, 0, pszData);

            if (res != 0)
            {
                throw new Exception("扫描失败,获取卡类型时出错!");
            }

            if (BitConverter.ToString(pszData, 11, 1) == "0B")//物料卡
            {
                if (!CommonClass.ValidateRFID(RFID_ID))
                {
                    throw new Exception("此卡已经被回收!");
                }
                string DeviceName = FunPublic.GetDeviceName();
                //判断PDA的车间类型是否满足条件
                DataTable workshop = FunPublic.GetDt("select WORKSHOP_CODE from dbo.Tm_Station t0 where ReaderCode = '" + DeviceName.Substring(1, DeviceName.Length - 1) + @"' and  TYPE ='P' AND WORKSHOP_CODE in (select * from dbo.Fun_SplitStr((select value from Ts_Config where [key] = 'MapingWorkShop'),'#'))");
                if (workshop.Rows.Count == 0)
                {
                    throw new Exception("车间不符,无法匹配");
                }
                if (txtRFID1.Text == "")
                {
                    txtRFID1.Text = RFID_ID;
                    DataTable dt = FunPublic.GetDt("exec [PDA_MappingQuery] '" + RFID_ID + "','1','',''");

                    if (dt.Rows.Count > 0)
                    {
                        foreach (DataRow dr in dt.Rows)
                        {
                            txtRoumap1.Text     = dr["roumap"].ToString();
                            txtMappingCode.Text = dr["MappingCode"].ToString();
                            txtEBNum.Text       = dr["EBDOC"].ToString();
                            txtPackageCode.Text = dr["PackageCode"].ToString();
                            txtSN.Text          = dr["SN"].ToString();
                            txtQuantity.Text    = dr["QtyinPackage"].ToString();
                        }
                    }
                    else
                    {
                        throw new Exception("卡片没有可匹配的工序!");
                    }
                }
                else
                {
                    txtRFID2.Text = RFID_ID;
                    if (txtRFID1.Text == txtRFID2.Text)
                    {
                        txtRFID2.Text = "";
                        MessageBox.Show("相同卡不能匹配!");
                        return;
                    }
                    Mapping(DeviceName.Substring(1, DeviceName.Length - 1));
                }
            }
            else if (BitConverter.ToString(pszData, 11, 1) == "0D")//员工卡
            {
                throw new Exception("请刷物料卡!");
            }
            CommonClass.PlaySoundBeep();
        }
예제 #8
0
        private void btnScan_Click(object sender, EventArgs e)
        {
            byte[] pszData = new byte[25];
            byte[] data    = new byte[1];
            try
            {
                if (RFID_15693.ScanSingleTag(ref data))
                {
                    //CommonClass.PlaySound();
                }
                else
                {
                    MessageBox.Show("扫描失败,请确认是否是15693标签,并确认标签是否处于RFID感应区");
                    return;
                }

                string RFID_ID = RFID_15693.RFID_ID();

                if (txtRFID_New.Focused == true)
                {//刷新卡
                    if (RFID_ID == "")
                    {
                        txtRFID_New.Text = "";
                        MessageBox.Show("刷卡失败!");
                    }
                    else
                    {
                        int res = RFID_15693.RF_ISO15693_getSystemInformation(0, data, 0, pszData);

                        if (res == 0)
                        {
                            if (BitConverter.ToString(pszData, 11, 1) == "0B")
                            {//物料卡
                             //txtRFID_New.Text = RFID_ID;

                                DataTable dt = FunPublic.GetDt("select * from Tm_RFID WHERE RFIDLUN = '" + RFID_ID + "' and STATUS = 'O'");
                                if (dt.Rows.Count == 0)
                                {
                                    MessageBox.Show("物料卡" + RFID_ID + "状态错误,请换一张卡!", "提示");
                                    return;
                                }

                                string DocEntry = FunPublic.GetDt("select isnull(max(DocEntry)+1,1) DocEntry from Doc_RejectPackage").Rows[0][0].ToString();

                                DataTable dt1 = new DataTable();
                                if ("B".Equals(cmbType.Text.Substring(0, 1)))
                                {
                                    dt1 = FunPublic.GetDt("select * from Doc_Prodcutpackage14 where RFID_ID = '" + txtRFID.Text + "' and EBDOC = '" + txtEBNum.Text + "' and CSKU_CODE = '" + txtCSKU_CODE.Text + "'");
                                }
                                else if ("A".Equals(cmbType.Text.Substring(0, 1)))
                                {
                                    dt1 = FunPublic.GetDt("select * from Doc_Prodcutpackage14 where RFID_ID = '" + txtRFID.Text + "' and EBDOC = '" + txtEBNum.Text + "' and CSKU_CODE = '" + txtCSKU_CODE.Text + @"' and STEPSEQ >= (
select STEPSEQ from Doc_Prodcutpackage14 where RFID_ID = '" + txtRFID.Text + "' and EBDOC = '" + txtEBNum.Text + "' and CSKU_CODE = '" + txtCSKU_CODE.Text + @"' and STEPCode = '" + cmbRejectStationf.Text.Substring(0, cmbRejectStationf.Text.IndexOf('-')) + "')");
                                }

                                List <string> sqlstrs = new List <string>();
                                sqlstrs.Add(@"INSERT INTO [Doc_RejectPackage]
           ([DocEntry],[DOC_DATE],[CREATED],[RFID_ID],[PackageCode],[CSKU_CODE],[CSKU_NAME],[QtyofReject],[RejectStation],[free],[RejectStationf],[Type],[RejectStaffCo],[RejectReson],[FACTORY_CODE],[EBDOC],[BaseEntry],[RFID_ID1],[STATUS]) VALUES(" + DocEntry + ",getdate(),'" + FunPublic.CurrentUser + "','" + txtRFID.Text + "','" + txtPackageCode.Text + "','" + txtCSKU_CODE.Text + "',''," + txtQuantity.Text + ",'" + cmbRejectStation.Text.Substring(0, cmbRejectStation.Text.IndexOf('-')) + "','" + cmbfree.Text.Substring(0, cmbfree.Text.IndexOf('-')) + "','" + cmbRejectStationf.Text.Substring(0, cmbRejectStationf.Text.IndexOf('-')) + "','" + cmbType.Text.Substring(0, cmbType.Text.IndexOf('-')) + "','','" + cmbReason.Text.Substring(0, cmbReason.Text.IndexOf('-')) + "',(select FACTORY_CODE from Tm_Station where ReaderCode = '" + FunPublic.GetDeviceName() + "'),'" + txtEBNum.Text + "',null,'" + RFID_ID + "','O')");

                                for (int i = 0; i < dt1.Rows.Count; i++)
                                {
                                    ListViewItem ListViewItem = listView1.Items[i];

                                    sqlstrs.Add(@"INSERT INTO [Doc_RejectPackage1]([DocEntry],[LINE_ID],[STEPCode],[STEPName],[STEP_PRICE],[STEP_PRICE_H],[Quantity],[WORKSHOP_CODE],[STEPSEQ],[IsFinish]) VALUES(" + DocEntry + "," + i + ",'" + ListViewItem.SubItems[2].Text + "','" + ListViewItem.SubItems[3].Text + "','" + ListViewItem.SubItems[7].Text + "','" + ListViewItem.SubItems[8].Text + "','" + ListViewItem.SubItems[4].Text + "','" + ListViewItem.SubItems[5].Text + "','" + ListViewItem.SubItems[6].Text + "','" + ListViewItem.SubItems[9].Text + "')");

                                    sqlstrs.Add(@"INSERT INTO [Doc_Prodcutpackage13]
                                                   ([DocEntry]
                                                   ,[Doc1_LINE_ID]
                                                   ,[Doc11_LINE_ID]
                                                   ,[Doc12_LINE_ID]
                                                   ,[RFID_ID]
                                                   ,[MappingCode]
                                                   ,[PackageCode]
                                                   ,[PackagesQty]
                                                   ,[QtyinPackage]
                                                   ,[ProRtEntry]
                                                   ,[ProRtLine]
                                                   ,[SN]
                                                   ,[CSKU_CODE]
                                                   ,[CSKU_NAME]
                                                   ,[STEPCode]
                                                   ,[STEPName]
                                                   ,[Quantity]
                                                   ,[WORKSHOP_CODE]
                                                   ,[WORKSHOPSEQ]
                                                   ,[STEPSEQ]
                                                   ,[roumap]
                                                   ,[EBDOC]
                                                   ,[QtyofSize],STEP_PRICE,Type,PLEntry,FACTORY_CODE,MODEL,C_COLOUR,B_COLOUR,QtyofSizePackage,ISFREESTEP,ISOPTION,KEYVALUE,EXPLAIN1,EXPLAIN)
                 VALUES('" + DocEntry + "','" + (i + 1) + "','','','" + RFID_ID + "','" + dt1.Rows[i]["MappingCode"].ToString() + "','" + dt1.Rows[i]["PackageCode"].ToString() + "'," + dt1.Rows[i]["PackagesQty"].ToString() + "," + dt1.Rows[i]["QtyinPackage"].ToString() + ",'" + dt1.Rows[i]["ProRtEntry"].ToString() + "','" + dt1.Rows[i]["ProRtLine"].ToString() + "'," + dt1.Rows[i]["SN"].ToString() + ",'" + dt1.Rows[i]["CSKU_CODE"].ToString() + "','" + dt1.Rows[i]["CSKU_NAME"].ToString() + "','" + dt1.Rows[i]["STEPCode"].ToString() + "','" + dt1.Rows[i]["STEPName"].ToString() + "'," + txtQuantity.Text + ",'" + dt1.Rows[i]["WORKSHOP_CODE"].ToString() + "'," + dt1.Rows[i]["WORKSHOPSEQ"].ToString() + "," + dt1.Rows[i]["STEPSEQ"].ToString() + ",'" + dt1.Rows[i]["roumap"].ToString() + "','" + dt1.Rows[i]["EBDOC"].ToString() + "','" + dt1.Rows[i]["QtyofSize"].ToString() + "'," + ListViewItem.SubItems[7].Text + ",(case when '" + dt1.Rows[i]["Type"].ToString() + "' = 'P' then 'RP' when '" + dt1.Rows[i]["Type"].ToString() + "' = 'S' then 'RS' end),'" + dt1.Rows[i]["PLEntry"].ToString() + "','" + dt1.Rows[i]["FACTORY_CODE"].ToString() + "','" + dt1.Rows[i]["MODEL"].ToString() + "','" + dt1.Rows[i]["C_COLOUR"].ToString() + "','" + dt1.Rows[i]["B_COLOUR"].ToString() + "','" + dt1.Rows[i]["QtyofSizePackage"].ToString() + "','" + dt1.Rows[i]["ISFREESTEP"].ToString() + "','" + dt1.Rows[i]["ISOPTION"].ToString() + "','" + dt1.Rows[i]["KEYVALUE"].ToString() + "','" + dt1.Rows[i]["EXPLAIN1"].ToString() + "','" + dt1.Rows[i]["EXPLAIN"].ToString() + "')");
                                    sqlstrs.Add(@"INSERT INTO [Doc_Prodcutpackage14]
                                                   ([DocEntry]
                                                   ,[Doc1_LINE_ID]
                                                   ,[Doc11_LINE_ID]
                                                   ,[Doc12_LINE_ID]
                                                   ,[RFID_ID]
                                                   ,[MappingCode]
                                                   ,[PackageCode]
                                                   ,[PackagesQty]
                                                   ,[QtyinPackage]
                                                   ,[ProRtEntry]
                                                   ,[ProRtLine]
                                                   ,[SN]
                                                   ,[CSKU_CODE]
                                                   ,[CSKU_NAME]
                                                   ,[STEPCode]
                                                   ,[STEPName]
                                                   ,[Quantity]
                                                   ,[WORKSHOP_CODE]
                                                   ,[WORKSHOPSEQ]
                                                   ,[STEPSEQ]
                                                   ,[roumap]
                                                   ,[EBDOC]
                                                   ,[QtyofSize],STEP_PRICE,Type,PLEntry,FACTORY_CODE,MODEL,C_COLOUR,B_COLOUR,QtyofSizePackage,ISFREESTEP,ISOPTION,KEYVALUE,EXPLAIN1,EXPLAIN)
                VALUES('" + DocEntry + "','" + (i + 1) + "','','','" + RFID_ID + "','" + dt1.Rows[i]["MappingCode"].ToString() + "','" + dt1.Rows[i]["PackageCode"].ToString() + "'," + dt1.Rows[i]["PackagesQty"].ToString() + "," + dt1.Rows[i]["QtyinPackage"].ToString() + ",'" + dt1.Rows[i]["ProRtEntry"].ToString() + "','" + dt1.Rows[i]["ProRtLine"].ToString() + "'," + dt1.Rows[i]["SN"].ToString() + ",'" + dt1.Rows[i]["CSKU_CODE"].ToString() + "','" + dt1.Rows[i]["CSKU_NAME"].ToString() + "','" + dt1.Rows[i]["STEPCode"].ToString() + "','" + dt1.Rows[i]["STEPName"].ToString() + "'," + txtQuantity.Text + ",'" + dt1.Rows[i]["WORKSHOP_CODE"].ToString() + "'," + dt1.Rows[i]["WORKSHOPSEQ"].ToString() + "," + dt1.Rows[i]["STEPSEQ"].ToString() + ",'" + dt1.Rows[i]["roumap"].ToString() + "','" + dt1.Rows[i]["EBDOC"].ToString() + "','" + dt1.Rows[i]["QtyofSize"].ToString() + "'," + ListViewItem.SubItems[7].Text + ",(case when '" + dt1.Rows[i]["Type"].ToString() + "' = 'P' then 'RP' when '" + dt1.Rows[i]["Type"].ToString() + "' = 'S' then 'RS' end),'" + dt1.Rows[i]["PLEntry"].ToString() + "','" + dt1.Rows[i]["FACTORY_CODE"].ToString() + "','" + dt1.Rows[i]["MODEL"].ToString() + "','" + dt1.Rows[i]["C_COLOUR"].ToString() + "','" + dt1.Rows[i]["B_COLOUR"].ToString() + "','" + dt1.Rows[i]["QtyofSizePackage"].ToString() + "','" + dt1.Rows[i]["ISFREESTEP"].ToString() + "','" + dt1.Rows[i]["ISOPTION"].ToString() + "','" + dt1.Rows[i]["KEYVALUE"].ToString() + "','" + dt1.Rows[i]["EXPLAIN1"].ToString() + "','" + dt1.Rows[i]["EXPLAIN"].ToString() + "')");
                                }
                                //更新RFID卡状态
                                sqlstrs.Add("update Tm_RFID set STATUS = 'F' where RFIDLUN = '" + RFID_ID + "' ");
                                sqlstrs.Add("update dbo.Doc_RejectPackage set RFID_ID1 = '" + RFID_ID + "',STATUS = 'T' where DocEntry = '" + DocEntry + "'");

                                //更新原来卡数量
                                sqlstrs.Add("update Doc_Prodcutpackage13 set QtyinPackage = QtyinPackage - " + txtQuantity.Text + " where RFID_ID = '" + txtRFID.Text + "' and EBDOC = '" + txtEBNum.Text + "' and CSKU_CODE = '" + txtCSKU_CODE.Text + "'");
                                sqlstrs.Add("delete from Doc_Prodcutpackage13 where RFID_ID = '" + txtRFID.Text + "' and EBDOC = '" + txtEBNum.Text + "' and CSKU_CODE = '" + txtCSKU_CODE.Text + "' and QtyinPackage = 0");
                                sqlstrs.Add("update Doc_Prodcutpackage14 set QtyinPackage = QtyinPackage - " + txtQuantity.Text + " where cast(DocEntry as nvarchar)+'#'+cast(Doc1_LINE_ID as nvarchar)+'#'+cast(Doc11_LINE_ID as nvarchar)+'#'+cast(Doc12_LINE_ID as nvarchar)+'#'+Type in (select cast(DocEntry as nvarchar)+'#'+cast(Doc1_LINE_ID as nvarchar)+'#'+cast(Doc11_LINE_ID as nvarchar)+'#'+cast(Doc12_LINE_ID as nvarchar)+'#'+Type from Doc_Prodcutpackage13 where RFID_ID = '" + txtRFID.Text + "' and EBDOC = '" + txtEBNum.Text + "' and CSKU_CODE = '" + txtCSKU_CODE.Text + "')");

                                result = FunPublic.RunSqls(sqlstrs);
                                if (result.Status == 1)
                                {
                                    //lueSTATUS.EditValue = "T";
                                    txtRFID_New.Text = RFID_ID;
                                }
                                else
                                {
                                    MessageBox.Show(result.Message, "提示");
                                }
                            }
                            else if (BitConverter.ToString(pszData, 11, 1) == "0D")
                            {//员工卡
                                MessageBox.Show("请刷物料卡!");
                                return;
                            }
                            CommonClass.PlaySoundBeep();
                        }
                        else
                        {
                            txtRFID_New.Text = "";
                            MessageBox.Show("刷卡失败!");
                        }
                    }
                }
                else
                {//刷旧卡
                    if (RFID_ID == "")
                    {
                        txtRFID.Text     = "";
                        cmbType.Text     = "";
                        txtQuantity.Text = "";
                        cmbfree.Text     = "";
                        cmbRejectStation.Items.Clear();
                        cmbRejectStation.Text = "";
                        cmbRejectStationf.Items.Clear();
                        cmbRejectStationf.Text = "";
                        cmbReason.Text         = "";
                        txtEBNum.Text          = "";
                        txtCSKU_CODE.Text      = "";
                        txtPackageCode.Text    = "";
                        listView1.Items.Clear();
                        MessageBox.Show("刷卡失败!");
                    }
                    else
                    {
                        txtRFID.Text     = "";
                        cmbType.Text     = "";
                        txtQuantity.Text = "";
                        cmbfree.Text     = "";
                        cmbRejectStation.Items.Clear();
                        cmbRejectStation.Text = "";
                        cmbRejectStationf.Items.Clear();
                        cmbRejectStationf.Text = "";
                        cmbReason.Text         = "";
                        txtEBNum.Text          = "";
                        txtCSKU_CODE.Text      = "";
                        txtPackageCode.Text    = "";
                        listView1.Items.Clear();

                        int res = RFID_15693.RF_ISO15693_getSystemInformation(0, data, 0, pszData);

                        if (res == 0)
                        {
                            if (BitConverter.ToString(pszData, 11, 1) == "0B")
                            {//物料卡
                                txtRFID.Text = RFID_ID;
                                string    DeviceName = FunPublic.GetDeviceName();
                                DataTable dt         = FunPublic.GetDt("select top 1 * from Doc_DailyReport where RFID_ID = '" + RFID_ID + "' and DOC_DATE >= DATEADD(YEAR,-1,GETDATE()) order by DOC_DATE desc");
                                if (dt.Rows.Count > 0)
                                {
                                    DataTable dt1 = FunPublic.GetDt("select STEPCode cd,STEPName nm,ID,StaffCode from Doc_DailyReport where RFID_ID = '" + RFID_ID + "' and EBDOC = '" + dt.Rows[0]["EBDOC"].ToString() + "' and SN = '" + dt.Rows[0]["SN"].ToString() + "' and PackageCode = '" + dt.Rows[0]["PackageCode"].ToString() + "'");

                                    for (int i = 0; i < dt1.Rows.Count; i++)
                                    {
                                        cmbRejectStation.Items.Add(dt1.Rows[i]["cd"].ToString() + "-" + dt1.Rows[i]["nm"].ToString());
                                        cmbRejectStationf.Items.Add(dt1.Rows[i]["cd"].ToString() + "-" + dt1.Rows[i]["nm"].ToString());
                                    }

                                    txtPackageCode.Text = dt.Rows[0]["PackageCode"].ToString();
                                    txtCSKU_CODE.Text   = dt.Rows[0]["CSKU_CODE"].ToString();
                                    txtEBNum.Text       = dt.Rows[0]["EBDOC"].ToString();
                                }
                                else
                                {
                                    MessageBox.Show("此包还没有完工工序!", "提示");
                                }
                            }
                            else if (BitConverter.ToString(pszData, 11, 1) == "0D")
                            {//员工卡
                                MessageBox.Show("请刷物料卡!");
                                return;
                            }
                            CommonClass.PlaySoundBeep();
                        }
                        else
                        {
                            txtRFID.Text     = "";
                            cmbType.Text     = "";
                            txtQuantity.Text = "";
                            cmbfree.Text     = "";
                            cmbRejectStation.Items.Clear();
                            cmbRejectStation.Text = "";
                            cmbRejectStationf.Items.Clear();
                            cmbRejectStationf.Text = "";
                            cmbReason.Text         = "";
                            txtEBNum.Text          = "";
                            txtCSKU_CODE.Text      = "";
                            txtPackageCode.Text    = "";
                            listView1.Items.Clear();
                            MessageBox.Show("刷卡失败!");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                txtRFID.Text     = "";
                cmbType.Text     = "";
                txtQuantity.Text = "";
                cmbfree.Text     = "";
                cmbRejectStation.Items.Clear();
                cmbRejectStation.Text = "";
                cmbRejectStationf.Items.Clear();
                cmbRejectStationf.Text = "";
                cmbReason.Text         = "";
                txtEBNum.Text          = "";
                txtCSKU_CODE.Text      = "";
                txtPackageCode.Text    = "";
                listView1.Items.Clear();
                MessageBox.Show("刷卡失败!" + ex.Message);
            }
        }