예제 #1
0
        /// <summary>
        /// 扫描条码
        /// </summary>
        private void BarCode_Scan()
        {
            try
            {
                string RFID_ID = Barcode.scan();

                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
                {
                    if (RFID_ID.Substring(0, 1) == "2")
                    {//物料卡
                        txtRFID.Text = RFID_ID;
                        //查询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 (RFID_ID.Substring(0, 1) == "1")
                    {//员工卡
                        MessageBox.Show("请刷物料卡!");
                        return;
                    }
                    CommonClass.PlaySoundBeep();
                }
            }
            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);
            }
        }
예제 #2
0
        /// <summary>
        /// 扫描条码
        /// </summary>
        private void BarCode_Scan()
        {
            try
            {
                string RFID_ID = Barcode.scan();

                if (RFID_ID == "")
                {
                    txtMappingCode.Text = "";
                    txtEBNum.Text       = "";
                    txtPackageCode.Text = "";
                    txtSN.Text          = "";
                    txtQuantity.Text    = "";
                    MessageBox.Show("扫描失败!");
                }
                else
                {
                    if (RFID_ID.Substring(0, 1) == "2")
                    {//物料卡
                        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();
                                        return;
                                    }
                                }
                                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 (RFID_ID.Substring(0, 1) == "1")
                    {//员工卡
                        MessageBox.Show("请刷物料卡!");
                        return;
                    }
                    CommonClass.PlaySoundBeep();
                }
            }
            catch (Exception ex)
            {
                txtRFID2.Text       = "";
                txtMappingCode.Text = "";
                txtEBNum.Text       = "";
                txtPackageCode.Text = "";
                txtSN.Text          = "";
                txtQuantity.Text    = "";
                MessageBox.Show("扫描失败!" + ex.Message);
            }
        }
예제 #3
0
        /// <summary>
        /// 扫描条码
        /// </summary>
        private void BarCode_Scan()
        {
            try
            {
                string RFID_ID = Barcode.scan();

                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
                {
                    if (RFID_ID.Substring(0, 1) == "2")
                    {//物料卡
                        txtRFID.Text = RFID_ID;
                        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 (RFID_ID.Substring(0, 1) == "1")
                    {//员工卡
                        MessageBox.Show("请刷物料卡!");
                        return;
                    }
                    CommonClass.PlaySoundBeep();
                }
            }
            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);
            }
        }
예제 #4
0
        /// <summary>
        /// 扫描条码
        /// </summary>
        private void BarCode_Scan()
        {
            try
            {
                string RFID_ID = Barcode.scan();

                if (RFID_ID == "")
                {
                    txtRFID.Text        = "";
                    txtEBNum.Text       = "";
                    txtPackageCode.Text = "";
                    txtSN.Text          = "";
                    txtQuantity.Text    = "";
                    cmbStep.Items.Clear();
                    cmbStep.Text = "";
                    MessageBox.Show("扫描失败!");
                }
                else
                {
                    if (RFID_ID.Substring(0, 1) == "2")
                    {//物料卡
                        txtRFID.Text = RFID_ID;
                        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 (RFID_ID.Substring(0, 1) == "1")
                    {//员工卡
                        txtStaff.Text = RFID_ID;
                    }
                    CommonClass.PlaySoundBeep();
                }
            }
            catch (Exception ex)
            {
                txtRFID.Text        = "";
                txtEBNum.Text       = "";
                txtPackageCode.Text = "";
                txtSN.Text          = "";
                txtQuantity.Text    = "";
                cmbStep.Items.Clear();
                cmbStep.Text = "";
                MessageBox.Show("扫描失败!" + ex.Message);
            }
        }
예제 #5
0
        /// <summary>
        /// 扫描条码
        /// </summary>
        private void BarCode_Scan()
        {
            if (cmbCardCode.Text == "")
            {
                MessageBox.Show("请先选择供应商!");
                return;
            }
            try
            {
                string RFID_ID = Barcode.scan();

                if (RFID_ID == "")
                {
                    txtRFID.Text = "";
                    //cmbCardCode.Text = "";
                    txtEBNum.Text       = "";
                    txtPackageCode.Text = "";
                    txtSN.Text          = "";
                    txtQuantity.Text    = "";
                    MessageBox.Show("扫描失败!");
                }
                else
                {
                    if (RFID_ID.Substring(0, 1) == "2")
                    {//物料卡
                        txtRFID.Text = RFID_ID;
                        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 (RFID_ID.Substring(0, 1) == "1")
                    {//员工卡
                        MessageBox.Show("请刷物料卡!");
                        return;
                    }
                    CommonClass.PlaySoundBeep();
                }
            }
            catch (Exception ex)
            {
                txtRFID.Text = "";
                //cmbCardCode.Text = "";
                txtEBNum.Text       = "";
                txtPackageCode.Text = "";
                txtSN.Text          = "";
                txtQuantity.Text    = "";
                MessageBox.Show("扫描失败!" + ex.Message);
            }
        }
예제 #6
0
        // 扫描条码
        private void BarCode_Scan()
        {
            try
            {
                string RFID_ID = Barcode.scan();

                if (RFID_ID == "")
                {
                    throw new Exception("扫描失败,RFID号为空!");
                }
                if (RFID_ID.Substring(0, 1) == "2")//物料卡
                {
                    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 (RFID_ID.Substring(0, 1) == "1")//员工卡
                {
                    throw new Exception("请刷物料卡!");
                }
                CommonClass.PlaySoundBeep();
            }
            catch (Exception ex)
            {
                txtRFID1.Text       = "";
                txtRFID2.Text       = "";
                txtRoumap1.Text     = "";
                txtRoumap2.Text     = "";
                txtMappingCode.Text = "";
                txtEBNum.Text       = "";
                txtPackageCode.Text = "";
                txtSN.Text          = "";
                txtQuantity.Text    = "";
                MessageBox.Show("刷卡失败!" + ex.Message);
            }
        }
예제 #7
0
        /// <summary>
        /// 扫描条码
        /// </summary>
        private void BarCode_Scan()
        {
            try
            {
                string RFID_ID = Barcode.scan();

                if (txtRFID_New.Focused == true)
                {//刷新卡
                    if (RFID_ID == "")
                    {
                        txtRFID_New.Text = "";
                        MessageBox.Show("扫描失败!");
                    }
                    else
                    {
                        if (RFID_ID.Substring(0, 1) == "2")
                        {//物料卡
                         //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)
                 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() + "')");
                                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)
                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() + "')");
                            }
                            //更新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 (RFID_ID.Substring(0, 1) == "1")
                        {//员工卡
                            MessageBox.Show("请刷物料卡!");
                            return;
                        }
                        CommonClass.PlaySoundBeep();
                    }
                }
                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();

                        if (RFID_ID.Substring(0, 1) == "2")
                        {//物料卡
                            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 (RFID_ID.Substring(0, 1) == "1")
                        {//员工卡
                            MessageBox.Show("请刷物料卡!");
                            return;
                        }
                        CommonClass.PlaySoundBeep();
                    }
                }
            }
            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 + System.Environment.NewLine + ex.StackTrace);
            }
        }