protected override DataRow GetGridRow(object obj) { SMTFeederMaterial item = (SMTFeederMaterial)obj; //return new Infragistics.WebUI.UltraWebGrid.UltraGridRow( // new object[]{ // "", // item.ProductCode, // item.StepSequenceCode, // item.MachineCode, // item.MachineStationCode, // item.SourceMaterialCode, // item.MaterialCode, // item.FeederSpecCode, // item.Qty, // item.TableGroup // }); DataRow row = this.DtSource.NewRow(); row["ProductCode"] = item.ProductCode; row["sscode"] = item.StepSequenceCode; row["MachineCode"] = item.MachineCode; row["MachineItemCode"] = item.MachineStationCode; row["SourceMaterialCode"] = item.SourceMaterialCode; row["MaterialCode"] = item.MaterialCode; row["FeederSpecCode"] = item.FeederSpecCode; row["Qty"] = item.Qty; row["Table"] = item.TableGroup; return(row); }
private ArrayList CheckItem(object obj) { DBDateTime dbDateTime = FormatHelper.GetNowDBDateTime(this.DataProvider); ArrayList itemFeeder = new ArrayList(); try { SMTFeederMaterial item = (SMTFeederMaterial)obj; item.ProductCode = item.ProductCode.ToUpper(); item.StepSequenceCode = item.StepSequenceCode.ToUpper(); item.MachineCode = item.MachineCode.ToUpper(); item.SourceMaterialCode = item.SourceMaterialCode.ToUpper(); item.MachineStationCode = item.MachineStationCode.ToUpper(); item.MaterialCode = item.MaterialCode.ToUpper(); item.FeederSpecCode = item.FeederSpecCode.ToUpper(); item.TableGroup = item.TableGroup.ToUpper(); item.MaintainDate = dbDateTime.DBDate; item.MaintainTime = dbDateTime.DBTime; item.MaintainUser = this.GetUserCode(); item.EAttribute1 = "True"; if (item.TableGroup == string.Empty) { item.TableGroup = "A"; } itemFeeder.Add(item); CheckImportResult(itemFeeder); } catch (Exception ex) { } return(itemFeeder); }
protected override void SetEditObject(object obj) { if (obj == null) { this.DropDownListFeederSpecCodeEdit.SelectedValue = ""; this.txtItemCodeEdit.Text = ""; this.txtQtyEdit.Text = "0"; //this.txtTableEdit.Text = ""; this.txtMachineCodeEdit.Text = ""; this.txtMachineStationCodeEdit.Text = ""; this.txtMaterialCodeEdit.Text = ""; this.txtSourceMaterialCodeEdit.Text = ""; this.txtSSCodeEdit.Text = ""; return; } SMTFeederMaterial smtFeederMaterial = (SMTFeederMaterial)obj; this.DropDownListFeederSpecCodeEdit.SelectedValue = smtFeederMaterial.FeederSpecCode; this.txtItemCodeEdit.Text = smtFeederMaterial.ProductCode; this.txtQtyEdit.Text = smtFeederMaterial.Qty.ToString(); this.txtTableEdit.Text = smtFeederMaterial.TableGroup; this.txtMachineCodeEdit.Text = smtFeederMaterial.MaterialCode; this.txtMachineStationCodeEdit.Text = smtFeederMaterial.MachineStationCode; this.txtMaterialCodeEdit.Text = smtFeederMaterial.MaterialCode; this.txtSourceMaterialCodeEdit.Text = smtFeederMaterial.SourceMaterialCode; this.txtSSCodeEdit.Text = smtFeederMaterial.StepSequenceCode; }
protected override DataRow GetGridRow(object obj) { SMTFeederMaterial item = (SMTFeederMaterial)obj; //return new Infragistics.WebUI.UltraWebGrid.UltraGridRow( // new object[]{ // //getItemNameByCode(item.ProductCode), // item.ProductCode, // item.StepSequenceCode, // item.MachineCode, // item.MachineStationCode, // item.SourceMaterialCode, // item.MaterialCode, // item.FeederSpecCode, // item.Qty, // item.TableGroup, // item.EAttribute2, // FormartErrorMessage(item.EAttribute1) // //(item.EAttribute1.IndexOf(":") > 0 ? item.EAttribute1.Substring(0, item.EAttribute1.IndexOf(":")) : item.EAttribute1), // //(item.EAttribute1.IndexOf(":") > 0 ? item.EAttribute1.Substring(item.EAttribute1.IndexOf(":") + 1) : string.Empty) // }); DataRow row = this.DtSource.NewRow(); row["ProductCode"] = item.ProductCode; row["sscode"] = item.StepSequenceCode; row["MachineCode"] = item.MachineCode; row["MachineItemCode"] = item.MachineStationCode; row["SourceMaterialCode"] = item.SourceMaterialCode; row["MaterialCode"] = item.MaterialCode; row["FeederSpecCode"] = item.FeederSpecCode; row["Qty"] = item.Qty; row["Table"] = item.TableGroup; row["IsAllow"] = item.EAttribute2; row["Memo"] = FormartErrorMessage(item.EAttribute1); return(row); }
protected override string[] FormatExportRecord(object obj) { SMTFeederMaterial item = (SMTFeederMaterial)obj; return(new string[] { item.ProductCode, item.StepSequenceCode, item.MachineCode, item.MachineStationCode, item.SourceMaterialCode, item.MaterialCode, item.FeederSpecCode, item.Qty.ToString(), item.TableGroup }); }
protected void cmdView_ServerClick(object sender, System.EventArgs e) { string fileName = FileLoadProcess.UploadFile2ServerUploadFolder(this.Page, this.fileInit, null); if (fileName == null) { BenQGuru.eMES.Common.ExceptionManager.Raise(this.GetType().BaseType, "$Error_UploadFileIsEmpty"); } if (!(fileName.ToLower().EndsWith(".xls") || fileName.ToLower().EndsWith(".xlsx"))) { BenQGuru.eMES.Common.ExceptionManager.Raise(this.GetType().BaseType, "$Error_UploadFileTypeError_XLS"); } this.ViewState.Add("UploadedFileName", fileName); this.cmdQuery_Click(null, null); /* * if (this.gridWebGrid.Rows.Count > 0) * { * this.cmdImport.Disabled = false; * } */ this.cmdEnter.Disabled = false; if (this.items != null) { for (int i = 0; i < this.items.Length; i++) { SMTFeederMaterial item = (SMTFeederMaterial)items[i]; if (item.EAttribute2 == "false") // if (item.EAttribute1.StartsWith(false.ToString()) == true) { this.cmdEnter.Disabled = true; break; } } } }
protected override object GetEditObject() { if (_facade == null) { _facade = new SMTFacadeFactory(base.DataProvider).Create(); } SMTFeederMaterial smtFeederMaterial = this._facade.CreateNewSMTFeederMaterial(); smtFeederMaterial.MaterialCode = FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtMaterialCodeEdit.Text)); smtFeederMaterial.ProductCode = FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtItemCodeEdit.Text)); smtFeederMaterial.StepSequenceCode = FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtSSCodeEdit.Text)); smtFeederMaterial.MachineCode = FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtMachineCodeEdit.Text)); smtFeederMaterial.MachineStationCode = this.txtMachineStationCodeEdit.Text; smtFeederMaterial.Qty = int.Parse(this.txtQtyEdit.Text); smtFeederMaterial.SourceMaterialCode = this.txtSourceMaterialCodeEdit.Text; smtFeederMaterial.TableGroup = this.txtTableEdit.Text; smtFeederMaterial.FeederSpecCode = this.DropDownListFeederSpecCodeEdit.SelectedValue; smtFeederMaterial.MaintainUser = this.GetUserCode(); smtFeederMaterial.MaintainDate = FormatHelper.TODateInt(DateTime.Today); smtFeederMaterial.MaintainTime = FormatHelper.TOTimeInt(DateTime.Now); return(smtFeederMaterial); }
private void CheckImportResult(ArrayList items) { BenQGuru.eMES.MOModel.ItemFacade itemFacade = new BenQGuru.eMES.MOModel.ItemFacade(base.DataProvider); BenQGuru.eMES.BaseSetting.BaseModelFacade modelFacade = new BenQGuru.eMES.BaseSetting.BaseModelFacade(this.DataProvider); if (_facade == null) { _facade = new SMTFacade(base.DataProvider); } ArrayList checkedSpec = new ArrayList(); ArrayList checkedProduct = new ArrayList(); ArrayList checkedSSCode = new ArrayList(); for (int i = 0; i < items.Count; i++) { SMTFeederMaterial item = (SMTFeederMaterial)items[i]; item.EAttribute1 = true.ToString(); if (item.ProductCode == string.Empty || item.StepSequenceCode == string.Empty || item.MachineCode == string.Empty || item.MachineStationCode == string.Empty || item.MaterialCode == string.Empty) { item.EAttribute1 = false.ToString() + ":" + languageComponent1.GetString("$Error_Input_Empty"); continue; } if (checkedProduct.Contains(item.ProductCode) == false) { object obj = itemFacade.GetItem(item.ProductCode, GlobalVariables.CurrentOrganizations.First().OrganizationID); if (obj == null) { item.EAttribute1 = false.ToString() + ":" + languageComponent1.GetString("$Error_ItemCode_NotExist"); continue; } else { checkedProduct.Add(item.ProductCode); } } if (checkedSSCode.Contains(item.StepSequenceCode) == false) { object obj = modelFacade.GetStepSequence(item.StepSequenceCode); if (obj == null) { item.EAttribute1 = false.ToString() + ":" + languageComponent1.GetString("$Error_SSCode_NotExist"); continue; } else { checkedSSCode.Add(item.StepSequenceCode); } } if (item.FeederSpecCode == string.Empty || item.Qty == 0) { if (item.SourceMaterialCode == string.Empty || i == 0) { item.EAttribute1 = false.ToString() + ":" + languageComponent1.GetString("$MaterialCode_Not_Exist"); continue; } for (int n = 0; n < items.Count; n++) { SMTFeederMaterial item1 = (SMTFeederMaterial)items[n]; if (item1.MaterialCode == item.SourceMaterialCode) { if (item.FeederSpecCode == string.Empty) { item.FeederSpecCode = item1.FeederSpecCode; } if (item.Qty == 0) { item.Qty = item1.Qty; } break; } } if (item.FeederSpecCode == string.Empty) { item.EAttribute1 = false.ToString() + ":" + languageComponent1.GetString("$FeederSpec_Not_Exist"); continue; } } if (checkedSpec.Contains(item.FeederSpecCode) == false) { object obj = _facade.GetFeederSpec(item.FeederSpecCode); if (obj == null) { item.EAttribute1 = false.ToString() + ":" + languageComponent1.GetString("$FeederSpec_Not_Exist"); continue; } else { checkedSpec.Add(item.FeederSpecCode); } } } }
protected override void AddDomainObject(object domainObject) { if (_facade == null) { _facade = new SMTFacadeFactory(base.DataProvider).Create(); } DBDateTime dbDateTime = FormatHelper.GetNowDBDateTime(this.DataProvider); try { //判断数据的合法性 ArrayList list = CheckItem(domainObject); if (list.Count == 0) { WebInfoPublish.Publish(this, "$Error_DataMaterial_Right", this.languageComponent1); return; } SMTFeederMaterial item = list[0] as SMTFeederMaterial; if (item.EAttribute1 != "True") { WebInfoPublish.Publish(this, item.EAttribute1, this.languageComponent1); return; } this.DataProvider.BeginTransaction(); //根据产品代码+产线代码得到TBLSMTFEEDERMATERIALIMPLOG最大logno object obj = _facade.GetSMTFeederMaterialOfMaxLogNo((domainObject as SMTFeederMaterial).ProductCode, (domainObject as SMTFeederMaterial).StepSequenceCode); if (obj == null || (obj as SMTFeederMaterialImportLog).LOGNO < 1) { _facade.UpdateMachineFeeder(item.ProductCode, item.StepSequenceCode); _facade.AddSMTFeederMaterial(item); decimal logNo = 1; object objMaxLotNo = _facade.GetMaxLotNoSmtFeedermateriaLog(); if (objMaxLotNo != null) { logNo = (objMaxLotNo as SMTFeederMaterialImportLog).LOGNO + 1; } //_facade.ImportSMTFeederMaterial(new object[] { domainObject }, this.GetUserCode()); // 加入Log SMTFeederMaterialImportLog log = new SMTFeederMaterialImportLog(); log.LOGNO = logNo; log.Sequence = 1; log.ImportUser = this.GetUserCode(); log.ImportDate = dbDateTime.DBDate; log.ImportTime = dbDateTime.DBTime; log.CheckResult = FormatHelper.BooleanToString(true); if (Convert.ToBoolean(item.EAttribute1.Split(':')[0]) == false) { log.CheckResult = FormatHelper.BooleanToString(false); log.CheckDescription = item.EAttribute1.Split(':')[1]; } log.MachineCode = item.MachineCode; log.MachineStationCode = item.MachineStationCode; log.ProductCode = item.ProductCode; log.StepSequenceCode = item.StepSequenceCode; log.MaterialCode = item.MaterialCode; log.SourceMaterialCode = item.SourceMaterialCode; log.FeederSpecCode = item.FeederSpecCode; log.Qty = item.Qty; log.TableGroup = item.TableGroup; log.MaintainUser = item.MaintainUser; log.MaintainDate = item.MaintainDate; log.MaintainTime = item.MaintainTime; _facade.AddSMTFeederMaterialImportLog(log); } else { object[] objs = _facade.QuerySMTFeederMaterialImportLog((obj as SMTFeederMaterialImportLog).LOGNO, item.ProductCode, item.StepSequenceCode, item.MachineCode, item.MachineStationCode); if (objs != null && objs.Length > 0) { this.DataProvider.RollbackTransaction(); WebInfoPublish.Publish(this, "$Message_FeederMaterialData_Exist", this.languageComponent1); return; } else { _facade.UpdateMachineFeeder(item.ProductCode, item.StepSequenceCode); _facade.AddSMTFeederMaterial(item); //_facade.ImportSMTFeederMaterial(new object[] { domainObject }, this.GetUserCode()); // 加入Log decimal sequence = 1; object objMaxSeq = _facade.GetMaxSeqSmtFeederMaterialLog((obj as SMTFeederMaterialImportLog).LOGNO); if (objMaxSeq != null) { sequence = (objMaxSeq as SMTFeederMaterialImportLog).Sequence + 1; } SMTFeederMaterialImportLog log = new SMTFeederMaterialImportLog(); log.LOGNO = (obj as SMTFeederMaterialImportLog).LOGNO; log.Sequence = sequence; log.ImportUser = this.GetUserCode(); log.ImportDate = dbDateTime.DBDate; log.ImportTime = dbDateTime.DBTime; log.CheckResult = FormatHelper.BooleanToString(true); if (Convert.ToBoolean(item.EAttribute1.Split(':')[0]) == false) { log.CheckResult = FormatHelper.BooleanToString(false); log.CheckDescription = item.EAttribute1.Split(':')[1]; } log.MachineCode = item.MachineCode; log.MachineStationCode = item.MachineStationCode; log.ProductCode = item.ProductCode; log.StepSequenceCode = item.StepSequenceCode; log.MaterialCode = item.MaterialCode; log.SourceMaterialCode = item.SourceMaterialCode; log.FeederSpecCode = item.FeederSpecCode; log.Qty = item.Qty; log.TableGroup = item.TableGroup; log.MaintainUser = item.MaintainUser; log.MaintainDate = item.MaintainDate; log.MaintainTime = item.MaintainTime; _facade.AddSMTFeederMaterialImportLog(log); } } this.DataProvider.CommitTransaction(); } catch (Exception ex) { this.DataProvider.RollbackTransaction(); WebInfoPublish.Publish(this, "$Error_Add_FeederMaterial", this.languageComponent1); } }
private object[] GetAllItem() { try { string fileName = string.Empty; if (this.ViewState["UploadedFileName"] == null) { BenQGuru.eMES.Common.ExceptionManager.Raise(this.GetType().BaseType, "$Error_UploadFileIsEmpty"); } fileName = this.ViewState["UploadedFileName"].ToString(); //原来的逻辑,读取CSV文件 //string configFile = this.getParseConfigFileName(); //BenQGuru.eMES.Web.Helper.DataFileParser parser = new BenQGuru.eMES.Web.Helper.DataFileParser(); //parser.FormatName = "SMTFeederMaterial"; //parser.ConfigFile = configFile; //items = parser.Parse(fileName); ArrayList columnList = new ArrayList(); //定义变量,用来取多语言 string sscode = string.Empty; // 产线代码 string itemcode = string.Empty; // 产品代码 string machine = string.Empty; // 机台代码 string machineStation = string.Empty; //站位 string sourceMaterial = string.Empty; // 首选料 string materialCode = string.Empty; // 物料代码 string feeder = string.Empty; // Feeder规格编码 string qty = string.Empty; string table = string.Empty; //读取XML文件取出字段键值对 string xmlPath = this.Request.MapPath("") + @"\ImportSMTReelData.xml"; string dataType = "ImportSMTReel"; ArrayList lineValues = new ArrayList(); lineValues = GetXMLHeader(xmlPath, dataType); for (int i = 0; i < lineValues.Count; i++) { DictionaryEntry dictonary = new DictionaryEntry(); dictonary = (DictionaryEntry)lineValues[i]; if (dictonary.Key.ToString().ToUpper().Equals("SSCODE")) { sscode = dictonary.Value.ToString().ToUpper(); columnList.Add(sscode); } if (dictonary.Key.ToString().ToUpper().Equals("ITEMCODE")) { itemcode = dictonary.Value.ToString().ToUpper(); columnList.Add(itemcode); } if (dictonary.Key.ToString().ToUpper().Equals("MACHINECODE")) { machine = dictonary.Value.ToString().ToUpper(); columnList.Add(machine); } if (dictonary.Key.ToString().ToUpper().Equals("MACHINESTATIONCODE")) { machineStation = dictonary.Value.ToString().ToUpper(); columnList.Add(machineStation); } if (dictonary.Key.ToString().ToUpper().Equals("SOURCEMATERIALCODE")) { sourceMaterial = dictonary.Value.ToString().ToUpper(); columnList.Add(sourceMaterial); } if (dictonary.Key.ToString().ToUpper().Equals("MATERIALCODE")) { materialCode = dictonary.Value.ToString().ToUpper(); columnList.Add(materialCode); } if (dictonary.Key.ToString().ToUpper().Equals("FEEDERSPECCODE")) { feeder = dictonary.Value.ToString().ToUpper(); columnList.Add(feeder); } if (dictonary.Key.ToString().ToUpper().Equals("QTY")) { qty = dictonary.Value.ToString().ToUpper(); columnList.Add(qty); } if (dictonary.Key.ToString().ToUpper().Equals("PCBTABLE")) { table = dictonary.Value.ToString().ToUpper(); columnList.Add(table); } } ////读取EXCEL格式文件 //System.Data.DataTable dt = new DataTable(); //try //{ // dt = GetExcelData(fileName); //} //catch (Exception) //{ // ExceptionManager.Raise(this.GetType().BaseType, "$GetExcelDataFiledCheckTemplate"); //} //读取EXCEL格式文件 System.Data.DataTable dt = new DataTable(); try { ImportXMLHelper xmlHelper = new ImportXMLHelper(xmlPath, dataType); ArrayList gridBuilder = new ArrayList(); ArrayList notAllowNullField = new ArrayList(); gridBuilder = xmlHelper.GetGridBuilder(this.languageComponent1, dataType); notAllowNullField = xmlHelper.GetNotAllowNullField(this.languageComponent1); ImportExcel imXls = new ImportExcel(fileName, dataType, gridBuilder, notAllowNullField); dt = imXls.XlaDataTable; // dt = GetExcelData(fileName); } catch (Exception) { ExceptionManager.Raise(this.GetType().BaseType, "$GetExcelDataFiledCheckTemplate"); } //检查当前读入字段格式是否与当前登录语言相同 CheckTemplateRight(dt, columnList); if ((dt != null) && (dt.Rows.Count > 0)) { for (int h = 0; h < dt.Rows.Count; h++) { //modified by kathy @20130813 产品代码缺少输入也要提示 //if (dt.Rows[h][itemcode].ToString() != string.Empty) //{ SMTFeederMaterial material = new SMTFeederMaterial(); material.ProductCode = dt.Rows[h][itemcode].ToString().ToUpper(); material.StepSequenceCode = dt.Rows[h][sscode].ToString().ToUpper(); material.MachineCode = dt.Rows[h][machine].ToString().ToUpper(); material.SourceMaterialCode = dt.Rows[h][sourceMaterial].ToString().ToUpper(); material.MachineStationCode = dt.Rows[h][machineStation].ToString().ToUpper(); material.MaterialCode = dt.Rows[h][materialCode].ToString().ToUpper(); material.FeederSpecCode = dt.Rows[h][feeder].ToString().ToUpper(); if (dt.Rows[h][qty].ToString() != string.Empty) { material.Qty = Decimal.Parse(dt.Rows[h][qty].ToString()); } material.TableGroup = dt.Rows[h][table].ToString().ToUpper(); if (material.TableGroup == string.Empty) { material.TableGroup = "A"; } list.Add(material); //} } } items = (SMTFeederMaterial[])list.ToArray(typeof(SMTFeederMaterial)); CheckImportResult(items); ////原来的逻辑 //if (items != null) //{ // for (int i = 0; i < items.Length; i++) // { // SMTFeederMaterial item = (SMTFeederMaterial)items[i]; // item.ProductCode = item.ProductCode.ToUpper(); // item.StepSequenceCode = item.StepSequenceCode.ToUpper(); // item.MachineCode = item.MachineCode.ToUpper(); // item.SourceMaterialCode = item.SourceMaterialCode.ToUpper(); // item.MachineStationCode = item.MachineStationCode.ToUpper(); // item.MaterialCode = item.MaterialCode.ToUpper(); // item.FeederSpecCode = item.FeederSpecCode.ToUpper(); // item.TableGroup = item.TableGroup.ToUpper(); // if (item.TableGroup == string.Empty) // item.TableGroup = "A"; // } // CheckImportResult(items); //} } catch (Exception e) { throw e; } return(items); }