private void btnMapping_Click(object sender, EventArgs e) { try { FrmMapping FrmMapping = new FrmMapping(); FrmMapping.ShowDialog(); FrmMapping.Dispose(); GC.Collect(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
//匹配 private bool Mapping(string DeviceName) { string strsql = string.Empty; string rfid = txtRFID.Text; string mappingcode = txtMappingCode.Text; string roumap = txtRouMap.Text; //判断PDA的车间类型是否满足条件 DataTable workshop = FunPublic.GetDt("select WORKSHOP_CODE from dbo.Tm_Station t0 where ReaderCode = '" + DeviceName + @"' 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) { return(true); } if ("1007".Equals(workshop.Rows[0]["WORKSHOP_CODE"]))//收发室 1:主路线 5:内衬 { if (txtRouMapName.Text == "主路线") { strsql = "select *,roumapName= (select name from Tm_roumap where DocEntry = roumap) from Doc_WorkshopGR where NcMappingStatus ='N' AND STEPCode =(select value from Ts_Config where [KEY]='FMappinNC') AND MappingCode ='" + mappingcode + "' AND roumap ='5'"; } else if (txtRouMapName.Text == "内衬路线") { strsql = "select *,roumapName= (select name from Tm_roumap where DocEntry = roumap) from Doc_WorkshopGR where NcMappingStatus ='N' AND STEPCode =(select value from Ts_Config where [KEY]='FMappingMain') AND MappingCode ='" + mappingcode + "' AND roumap ='1'"; } else { return(false); } } else if ("1005".Equals(workshop.Rows[0]["WORKSHOP_CODE"]))//完成线 { if (txtRouMapName.Text == "主路线") { strsql = @"SELECT *,roumapName= (select name from Tm_roumap where DocEntry = roumap) FROM Doc_WorkshopGR WHERE MappingCode ='" + mappingcode + @"' AND ((MmMappingStatus ='N' AND STEPCode in(select value from Ts_Config where [KEY]='SMappingMM') AND roumap = 2) OR (HdMappingStatus ='N' AND STEPCode in(select value from Ts_Config where [KEY]='SMappingHD') AND roumap = 7))"; } else if (txtRouMapName.Text == "后带路线" || txtRouMapName.Text == "帽眉路线") { strsql = @"SELECT *,roumapName= (select name from Tm_roumap where DocEntry = roumap) FROM Doc_WorkshopGR WHERE MappingCode ='" + mappingcode + @"' AND roumap = 1 AND STEPCode in(select value from Ts_Config where [KEY]='SMappingMain') AND (MmMappingStatus ='N' OR HdMappingStatus ='N')"; } else { return(false); } } DataTable dt = FunPublic.GetDt(strsql); if (dt == null || dt.Rows.Count == 0) { return(false); } #region 关闭扫描 RFID_15693.freeMode(); CommonClass.SoftDecoding_Deinit(); #endregion FrmMapping FrmMapping = new FrmMapping(); FrmMapping.txtRFID1.Text = rfid; FrmMapping.txtRoumap1.Text = txtRouMapName.Text; FrmMapping.txtMappingCode.Text = mappingcode; FrmMapping.txtEBNum.Text = txtEBNum.Text; FrmMapping.txtPackageCode.Text = txtPackageCode.Text; FrmMapping.txtSN.Text = txtSN.Text; FrmMapping.txtQuantity.Text = txtQuantity.Text; FrmMapping.Text = "配货 -" + dt.Rows[0]["roumapName"].ToString(); FrmMapping.model = "弹窗"; FrmMapping.ShowDialog(); #region 开启扫描 CommonClass.SoftDecoding_Init(); CommonClass.SoftDecoding_Select_ScanMode(); CommonClass.CreaterDirectory(CommonClass.Path); CommonClass.Path += "\\2D_S_CodeType.txt";//把保存的文件存放在当前目录的前目录的File文件夹 RFID_15693.InitModule(); if (!System.IO.File.Exists(CommonClass.Path))//如果文件不存在,表示首次打开程序,将扫描头未开启的常用条码保存在文件里面 { List <string> listData = new List <string>(); for (int k = 0; k < CommonClass.strCodeType.Length / 3; k++) { if (CommonClass.strCodeType[k, 0, 0] != "Composite CC-A/B")//Composite CC-A/B默认不开启,所以不记录 { listData.Add(CommonClass.strCodeType[k, 0, 0] + "," + CommonClass.strCodeType[k, 0, 1] + ",1"); } } CommonClass.SaveFile(CommonClass.Path, listData); } byte[] by = new byte[6]; List <string> listCodeType = new List <string>();//得到上次保存的条码类型的数据 CommonClass.ReadFile(CommonClass.Path, ref listCodeType); for (int k = 0; k < listCodeType.Count; k++) { byte[] data = BitConverter.GetBytes(Int32.Parse(listCodeType[k].Split(',')[1])); for (int t = 0; t < data.Length; t++) { by[t] = data[t]; } by[4] = 1; by[5] = 1; CommonClass.SoftDecoding_BarcodeType_OnOff(by, by.Length); System.Threading.Thread.Sleep(10); } byte[] data2 = BitConverter.GetBytes(716); byte[] by2 = new byte[] { 0, 0, 0, 0, 1, 0 };//402,2开启 Array.Copy(data2, 0, by2, 0, 4); CommonClass.SoftDecoding_BarcodeType_OnOff(by2, by2.Length); #endregion return(true); }