public T_R_MRB(OleExec DB, DB_TYPE_ENUM DBType) { RowType = typeof(Row_R_MRB); TableName = "R_MRB".ToUpper(); DataInfo = GetDataObjectInfo(TableName, DB, DBType); }
public T_R_Input_Action(OleExec DB, DB_TYPE_ENUM DBType) { RowType = typeof(Row_R_Input_Action); TableName = "R_Input_Action".ToUpper(); DataInfo = GetDataObjectInfo(TableName, DB, DBType); }
/// <summary> /// BIP FAIL R_SN_STATION_DETAIL REPAIR_FAILED_FLAG=1 /// </summary> /// <param name="SNDetailID"></param> /// <param name="SN"></param> /// <param name="Line"></param> /// <param name="StationName"></param> /// <param name="DeviceName"></param> /// <param name="DB"></param> /// <param name="Fail_Flag"></param> /// <returns></returns> public string AddDetailToBipStationFailDetail(string SNDetailID, R_SN SN, string Line, string StationName, string DeviceName, OleExec DB, string Fail_Flag) { string result = string.Empty; string sql = string.Empty; T_R_SN_STATION_DETAIL Table_R_Sn_Station_Detail = new T_R_SN_STATION_DETAIL(DB, DBType); Row_R_SN_STATION_DETAIL row = null; if (SN != null && !string.IsNullOrEmpty(SN.ID)) { row = (Row_R_SN_STATION_DETAIL)ConstructRow(SN); row.ID = SNDetailID; row.R_SN_ID = SN.ID; row.CLASS_NAME = GetWorkClass(DB); row.LINE = Line; row.REPAIR_FAILED_FLAG = Fail_Flag; row.STATION_NAME = StationName; row.DEVICE_NAME = DeviceName; //row.EDIT_TIME = GetDBDateTime(DB); if (this.DBType == DB_TYPE_ENUM.Oracle) { sql = row.GetInsertString(this.DBType); result = DB.ExecSQL(sql); return(result); } else { string errMsg = MESReturnMessage.GetMESReturnMessage("MES00000019", new string[] { DBType.ToString() }); throw new MESReturnMessage(errMsg); } } return(result); }
public void UpdateFactory(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec oleDB = null; T_C_FACTORY Table = null; string ID = string.Empty; string FACTORY_CODE = string.Empty; string FACTORY_NAME = string.Empty; string FACTORY_ADDRESS = string.Empty; string DESCRIPTION = string.Empty; string EDIT_EMP = string.Empty; int result; try { oleDB = this.DBPools["SFCDB"].Borrow(); Table = new T_C_FACTORY(oleDB, DBTYPE); ID = Data["ID"].ToString().Trim(); FACTORY_CODE = Data["FACTORY_CODE"].ToString().Trim().ToUpper(); FACTORY_NAME = Data["FACTORY_NAME"].ToString().Trim().ToUpper(); FACTORY_ADDRESS = Data["FACTORY_ADDRESS"].ToString().Trim().ToUpper(); DESCRIPTION = Data["DESCRIPTION"].ToString().Trim(); EDIT_EMP = LoginUser.EMP_NO.Trim(); result = Table.Update(ID, FACTORY_CODE, FACTORY_NAME, FACTORY_ADDRESS, DESCRIPTION, EDIT_EMP, oleDB); if (result == 0) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "Update fail ID not exist"; StationReturn.Data = new object(); } else if (result == 1) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "Update fail Factorycode, Factoryname, Factoryaddress existed "; StationReturn.Data = new object(); } else if (result == 2) { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "Update success"; StationReturn.Data = new object(); } else if (result == 3) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "Update fail"; StationReturn.Data = new object(); } else if (result == 4) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000037"; StationReturn.Data = new object(); } if (oleDB != null) { this.DBPools["SFCDB"].Return(oleDB); } } catch (Exception e) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000037"; StationReturn.MessagePara.Add(e.Message); StationReturn.Data = e.Message; if (oleDB != null) { this.DBPools["SFCDB"].Return(oleDB); } } }
public T_C_KP_Replace(OleExec DB, DB_TYPE_ENUM DBType) { RowType = typeof(Row_C_KP_Replace); TableName = "C_KP_Replace".ToUpper(); DataInfo = GetDataObjectInfo(TableName, DB, DBType); }
public T_R_SN_STATION_DETAIL(OleExec DB, DB_TYPE_ENUM DBType) { RowType = typeof(Row_R_SN_STATION_DETAIL); TableName = "R_SN_STATION_DETAIL".ToUpper(); DataInfo = GetDataObjectInfo(TableName, DB, DBType); }
public T_R_TEST_DETAIL_VERTIV(string _TableName, OleExec DB, DB_TYPE_ENUM DBType) : base(_TableName, DB, DBType) { }
public override void Run() { DateTime dateFrom = DateTime.Now; DateTime dateTO = DateTime.Now; DataTable dtFailCode = new DataTable(); DataTable loadTable = new DataTable(); DataTable linkTable = new DataTable(); DataRow loadTitleRow = null; DataRow loadDataRow = null; DataRow linkTitleRow = null; DataRow linkDataRow = null; string failCode = ""; int col = 0; string sqlRun = ""; if (SelectBy.Value.ToString() == "日期段" && !string.IsNullOrEmpty(SelectBy.Value.ToString())) { dateFrom = (DateTime)startTime.Value; dateTO = (DateTime)endTime.Value; } else if (SelectBy.Value.ToString() == "月" && !string.IsNullOrEmpty(SelectBy.Value.ToString())) { if (string.IsNullOrEmpty(month.Value.ToString())) { throw new Exception("Please input month"); } dateFrom = DateTime.Parse(DateTime.Now.Year.ToString() + "-" + month.Value + "-" + "01 08:00:00"); dateTO = DateTime.Parse(DateTime.Now.Year.ToString() + "-" + month.Value + "-" + "01 08:00:00").AddMonths(1); } else if (SelectBy.Value.ToString() == "周" && !string.IsNullOrEmpty(SelectBy.Value.ToString())) { if (string.IsNullOrEmpty(week.Value.ToString())) { throw new Exception("Please input week"); } dateFrom = ConverDate.GetWeekStartDate(Convert.ToInt32(week.Value.ToString())); dateTO = dateFrom.AddDays(7); } sqlRun = $@"select c.fail_code, d.sku_name , count(1) count from r_repair_main a inner join r_sn b on a.sn = b.sn inner join r_repair_failcode c on c.sn = a.sn and c.create_time = a.create_time inner join c_sku d on d.skuno = b.skuno where a.closed_flag = 1 and a.edit_time between to_date('{dateFrom.ToString("yyyy-MM-dd HH-mm-ss")}', 'yyyy-MM-dd hh24:mi:ss') and to_date('{dateTO.ToString("yyyy-MM-dd HH-mm-ss")}', 'yyyy-MM-dd hh24:mi:ss') and c.fail_category = 'DEFECT' group by d.sku_name, c.fail_code order by c.fail_code, count(1) desc"; #region 原報表查詢語句 //select c.failcode, d.codename , count(1) count // from sfcrepairmain A // inner join mfworkstatus B // on a.sysserialno = b.sysserialno // inner join sfcrepairfailcode C // on C.SYSSERIALNO = a.sysserialno // and c.createdate = a.createdate // inner join sfccodelike d // on d.skuno = b.skuno // where a.repaired = 1 // and a.lasteditdt between // to_date('', 'yyyy-MM-dd hh24:mi:ss') and // to_date('', 'yyyy-MM-dd hh24:mi:ss') // and C.failcategory = 'DEFECT' // group by d.codename, c.failcode // order by c.failcode, count(1) desc #endregion RunSqls.Add(sqlRun); OleExec SFCDB = DBPools["SFCDB"].Borrow(); try { dtFailCode = SFCDB.RunSelect(sqlRun).Tables[0]; for (int top = 0; top <= 11; top++) { if (top == 0) { loadTable.Columns.Add("FAIL_CODE"); linkTable.Columns.Add("FAIL_CODE"); } else if (top == 1) { loadTable.Columns.Add("TOTAL"); linkTable.Columns.Add("TOTAL"); } else { loadTable.Columns.Add("TOP" + (top - 1).ToString()); linkTable.Columns.Add("TOP" + (top - 1).ToString()); } } for (int i = 0; i < dtFailCode.Rows.Count; i++) { if (failCode != dtFailCode.Rows[i]["fail_code"].ToString()) { failCode = dtFailCode.Rows[i]["fail_code"].ToString(); loadTitleRow = loadTable.NewRow(); loadDataRow = loadTable.NewRow(); linkTitleRow = linkTable.NewRow(); linkDataRow = linkTable.NewRow(); loadTitleRow["FAIL_CODE"] = failCode; col = 0; loadTable.Rows.Add(loadTitleRow); loadTable.Rows.Add(loadDataRow); linkTable.Rows.Add(linkTitleRow); linkTable.Rows.Add(linkDataRow); loadDataRow["TOTAL"] = 0; linkTitleRow["FAIL_CODE"] = "MESReport.BaseReport.RepairFailCodeDetail"; } col++; if (col > 10) { continue; } loadTitleRow[col + 1] = dtFailCode.Rows[i]["sku_name"].ToString(); loadDataRow[col + 1] = dtFailCode.Rows[i]["count"].ToString(); loadDataRow["TOTAL"] = (Int32.Parse(loadDataRow["TOTAL"].ToString())) + Int32.Parse(dtFailCode.Rows[i]["count"].ToString()); } ReportTable reportTable = new ReportTable(); reportTable.LoadData(loadTable, linkTable); reportTable.Tittle = "RepairTopByFailTable"; Outputs.Add(reportTable); DBPools["SFCDB"].Return(SFCDB); } catch (Exception exception) { DBPools["SFCDB"].Return(SFCDB); throw exception; } }
public T_C_CODE_MAPPING(string _TableName, OleExec DB, DB_TYPE_ENUM DBType) : base(_TableName, DB, DBType) { }
public DataTable CheckPrivilegeID(string PRIVILEGE_ID, string PRIVILEGE_NAME, OleExec DB, DB_TYPE_ENUM DBType) { string strSql = $@" select * from c_privilege where PRIVILEGE_ID='{PRIVILEGE_ID}' or PRIVILEGE_NAME='{PRIVILEGE_NAME}' "; DataTable res = DB.ExecSelect(strSql).Tables[0]; return(res); }
public List <DataRow> C_Product_Config_GetBYSkuAndVerson(string skuno, string skuverson, OleExec DB) { List <DataRow> datarowlist = new List <DataRow>(); string strSql = $@"select * from mes1.c_product_config where p_no=:sku and p_version=:skuverson"; OleDbParameter[] paramet = new OleDbParameter[] { new OleDbParameter(":sku", skuno), new OleDbParameter(":skuverson", skuverson) }; DataTable res = DB.ExecuteDataTable(strSql, CommandType.Text, paramet); if (res.Rows.Count > 0) { for (int i = 0; i < res.Rows.Count; i++) { datarowlist.Add(res.Rows[i]); } } return(datarowlist); }
public T_C_PRIVILEGE(OleExec DB, DB_TYPE_ENUM DBType) { RowType = typeof(Row_C_PRIVILEGE); TableName = "C_PRIVILEGE".ToUpper(); DataInfo = GetDataObjectInfo(TableName, DB, DBType); }
public T_C_PRIVILEGE(string _TableName, OleExec DB, DB_TYPE_ENUM DBType) : base(_TableName, DB, DBType) { }
public T_C_MODEL_TYPE(string _TableName, OleExec DB, DB_TYPE_ENUM DBType) : base(_TableName, DB, DBType) { }
public static string GetNextSN(string RuleName, OleExec DB) { return(GetNextSN(RuleName, DB, "")); }
public T_C_CODE_MAPPING(OleExec DB, DB_TYPE_ENUM DBType) { RowType = typeof(Row_C_CODE_MAPPING); TableName = "C_CODE_MAPPING".ToUpper(); DataInfo = GetDataObjectInfo(TableName, DB, DBType); }
public static string GetNextSN(string RuleName, OleExec DB, string WO) { Row_C_SN_RULE root = null; List <Row_C_SN_RULE_DETAIL> detail = null; if (_Root.ContainsKey(RuleName)) { root = _Root[RuleName]; } else { T_C_SN_RULE TCSR = new T_C_SN_RULE(DB, MESDataObject.DB_TYPE_ENUM.Oracle); root = TCSR.GetDataByName(RuleName, DB); _Root.Add(RuleName, root); } if (_Detail.ContainsKey(RuleName)) { detail = _Detail[RuleName]; } else { T_C_SN_RULE_DETAIL TCSRD = new T_C_SN_RULE_DETAIL(DB, MESDataObject.DB_TYPE_ENUM.Oracle); detail = TCSRD.GetDataByRuleID(root.ID, DB); _Detail.Add(RuleName, detail); } string SN = ""; bool ResetFlag = false; for (int i = 0; i < detail.Count; i++) { detail[i].LockMe(DB); if (detail[i].INPUTTYPE == "PREFIX") { SN += detail[i].CURVALUE; } else if (detail[i].INPUTTYPE == "YYYY" || detail[i].INPUTTYPE == "MM" || detail[i].INPUTTYPE == "DD") { string codeType = detail[i].CODETYPE; List <Row_C_CODE_MAPPING> CodeMapping = null; if (_CodeMapping.ContainsKey(codeType)) { CodeMapping = _CodeMapping[codeType]; } else { T_C_CODE_MAPPING TCCM = new T_C_CODE_MAPPING(DB, DB_TYPE_ENUM.Oracle); CodeMapping = TCCM.GetDataByName(codeType, DB); if (CodeMapping != null) { _CodeMapping.Add(codeType, CodeMapping); } } string VALUE = null; switch (detail[i].INPUTTYPE) { case "YYYY": VALUE = DateTime.Now.Year.ToString(); break; case "MM": VALUE = DateTime.Now.Month.ToString(); break; case "DD": VALUE = DateTime.Now.Day.ToString(); break; } Row_C_CODE_MAPPING TAG = CodeMapping.Find(T => T.VALUE == VALUE); if (detail[i].CURVALUE != TAG.CODEVALUE) { detail[i].CURVALUE = TAG.CODEVALUE; if (detail[i].RESETSN_FLAG == 1) { ResetFlag = true; } } SN += detail[i].CURVALUE; } else if (detail[i].INPUTTYPE == "WK") { string wk = detail[i].CODETYPE; string sql = $@"SELECT TO_CHAR(SYSDATE,'{wk}') FROM DUAL"; string currentWK = (string)DB.ExecSelectOneValue(sql); SN += currentWK; } else if (detail[i].INPUTTYPE == "SQL") { string sql = detail[i].CURVALUE; sql = sql.Replace("{WO}", WO); string value = (string)DB.ExecSelectOneValue(sql); SN += value; } else if (detail[i].INPUTTYPE == "SN") { if (ResetFlag) { detail[i].VALUE10 = detail[i].RESETVALUE; } string codeType = detail[i].CODETYPE; List <Row_C_CODE_MAPPING> CodeMapping = null; if (_CodeMapping.ContainsKey(codeType)) { CodeMapping = _CodeMapping[codeType]; } else { T_C_CODE_MAPPING TCCM = new T_C_CODE_MAPPING(DB, DB_TYPE_ENUM.Oracle); CodeMapping = TCCM.GetDataByName(codeType, DB); if (CodeMapping != null) { _CodeMapping.Add(codeType, CodeMapping); } } int curValue = int.Parse(detail[i].VALUE10); curValue++; detail[i].VALUE10 = curValue.ToString(); int T = CodeMapping.Count; string sn = ""; while (curValue / T != 0) { int R = curValue % T; sn = CodeMapping[R].CODEVALUE + sn; curValue = curValue / T; } sn = CodeMapping[curValue].CODEVALUE + sn; if (sn.Length < detail[i].CURVALUE.Length) { for (int k = 0; detail[i].CURVALUE.Length != sn.Length; k++) { sn = "0" + sn; } } if (sn.Length > detail[i].CURVALUE.Length) { throw new Exception("生成的SN超過最大值!"); } detail[i].CURVALUE = sn; SN += detail[i].CURVALUE; } int T1 = 0; detail[i].EDIT_TIME = DateTime.Now; string ret = DB.ExecSQL(detail[i].GetUpdateString(DB_TYPE_ENUM.Oracle)); if (!Int32.TryParse(ret, out T1)) { throw new Exception("更新序列值出錯!" + ret); } } int T2 = 0; root.CURVALUE = SN; string ret1 = DB.ExecSQL(root.GetUpdateString(DB_TYPE_ENUM.Oracle)); if (!Int32.TryParse(ret1, out T2)) { throw new Exception("更新序列值出錯!" + ret1); } return(SN); }
public void QueryAllWoRange(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = this.DBPools["SFCDB"].Borrow(); try { string searchType = Data["SearchType"].ToString(); string strWorkOrder = Data["WorkorderNo"] == null?"":Data["WorkorderNo"].ToString().Trim().ToUpper(); int intCurrentPage = Convert.ToInt32(Data["PageNumber"] == null?"1": Data["PageNumber"].ToString().Trim()); int intPageSize = Convert.ToInt32(Data["PageSize"] == null?"20": Data["PageSize"].ToString().Trim()); int intTotal = 0; WoRangeMainPage WoRangePage = new WoRangeMainPage(); sfcdb = this.DBPools["SFCDB"].Borrow(); T_R_WO_REGION TC_RANGE = new T_R_WO_REGION(sfcdb, MESDataObject.DB_TYPE_ENUM.Oracle); List <R_WO_REGION> getWoRangeData = new List <R_WO_REGION>(); if (searchType == "WO") { getWoRangeData = TC_RANGE.ShowAllDataAndShowPage(sfcdb, strWorkOrder, intCurrentPage, intPageSize, out intTotal); } else { getWoRangeData = TC_RANGE.ShowWORegionBySN(strWorkOrder, sfcdb); intTotal = getWoRangeData.Count; } if (getWoRangeData != null && getWoRangeData.Count > 0) { if (WoRangePage.WoRangeData == null) { WoRangePage.WoRangeData = new List <R_WO_REGION>(); } foreach (var item in getWoRangeData) { WoRangePage.WoRangeData.Add(item); } } WoRangePage.Total = intTotal; WoRangePage.CurrentPage = intCurrentPage; WoRangePage.PageSize = intPageSize; if (intPageSize != 0) { double doubleTotal = intTotal; double Countpage = doubleTotal / intPageSize; WoRangePage.CountPage = Convert.ToInt32(Math.Ceiling(Countpage)); } StationReturn.Data = WoRangePage; StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000001"; this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception ex) { if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000037"; StationReturn.MessagePara.Add(ex.Message); } //try //{ // T_R_WO_REGION rWo = new T_R_WO_REGION(sfcdb, DB_TYPE_ENUM.Oracle); // List<R_WO_REGION> list = new List<R_WO_REGION>(); // string r = Data["PageRow"].ToString() == "" ? "10" : Data["PageRow"].ToString(); // string i = Data["PageCount"].ToString() == "" ? "1" : Data["PageCount"].ToString(); // int PageRow = Convert.ToInt32(r == "0" ? "10" : r); // int PageCount = Convert.ToInt32(i == "0" ? "1" : i); // int MaxPage; // try // { // MaxPage = rWo.CheckWoRangeMaxPage(PageRow, sfcdb); // if (MaxPage >= PageCount) // { // list = rWo.ShowAllDataAndShowPage(PageRow, PageCount, sfcdb); // if (list.Count > 0) // { // StationReturn.Data = list; // StationReturn.Status = StationReturnStatusValue.Pass; // StationReturn.MessageCode = "MES00000001"; // this.DBPools["SFCDB"].Return(sfcdb); // } // else // { // StationReturn.Status = StationReturnStatusValue.Fail; // StationReturn.MessageCode = "MES00000034"; // StationReturn.Data = ""; // this.DBPools["SFCDB"].Return(sfcdb); // } // } // else // { // StationReturn.Status = StationReturnStatusValue.Fail; // StationReturn.MessageCode = "MES00000018"; // StationReturn.MessagePara.Add(PageCount); // StationReturn.MessagePara.Add(MaxPage); // this.DBPools["SFCDB"].Return(sfcdb); // } // } // catch (Exception e) // { // this.DBPools["SFCDB"].Return(sfcdb); // throw e; // } //} //catch (Exception e) //{ // this.DBPools["SFCDB"].Return(sfcdb); // throw e; //} }
public int GetCountByWOAndStationNotContailFail(string strWo, string stationname, OleExec DB) { string strSql = $@"select count(distinct m.sn) from r_sn_station_detail m where workorderno=:strWo and station_name=:stationname and REPAIR_FAILED_FLAG<>1"; OleDbParameter[] paramet = new OleDbParameter[2]; paramet[0] = new OleDbParameter(":strWo", strWo); paramet[1] = new OleDbParameter(":stationname", stationname); int result = Convert.ToInt32(DB.ExecuteScalar(strSql, CommandType.Text, paramet)); return(result); }
public void ModifyWORange(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { T_R_WO_REGION rWo = null; OleExec sfcdb = null; try { sfcdb = this.DBPools["SFCDB"].Borrow(); rWo = new T_R_WO_REGION(sfcdb, DB_TYPE_ENUM.Oracle); Row_R_WO_REGION r = (Row_R_WO_REGION)rWo.NewRow(); T_R_WO_BASE StWoBase = new T_R_WO_BASE(sfcdb, DB_TYPE_ENUM.Oracle); T_C_SKU t_c_sku = new T_C_SKU(sfcdb, DB_TYPE_ENUM.Oracle); Row_R_WO_BASE RowWoBase = null; RowWoBase = StWoBase.GetWo((Data["WORKORDERNO"].ToString()).Trim(), sfcdb); string minSN = (Data["MIN_SN"].ToString()).Trim(); string maxSN = (Data["MAX_SN"].ToString()).Trim(); string checkOut = ""; if (!rWo.InputIsStringOrNum(minSN, out checkOut)) { StationReturn.MessageCode = "MES00000258"; StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Data = ""; return; } if (!rWo.InputIsStringOrNum(maxSN, out checkOut)) { StationReturn.MessageCode = "MES00000258"; StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Data = ""; return; } C_SKU objectSku = t_c_sku.GetSku(RowWoBase.SKUNO, sfcdb, DB_TYPE_ENUM.Oracle).GetDataObject(); if (!rWo.InputIsMatchSkuRule(minSN, objectSku)) { StationReturn.MessageCode = "MES00000259"; StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Data = ""; return; } if (!rWo.InputIsMatchSkuRule(maxSN, objectSku)) { StationReturn.MessageCode = "MES00000259"; StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Data = ""; return; } r = (Row_R_WO_REGION)rWo.GetObjByID(Data["ID"].ToString(), sfcdb, DB_TYPE_ENUM.Oracle); r.ID = (Data["ID"].ToString()).Trim(); r.WORKORDERNO = (Data["WORKORDERNO"].ToString()).Trim(); r.SKUNO = RowWoBase.SKUNO; r.QTY = RowWoBase.WORKORDER_QTY; //r.SKUNO = (Data["SKUNO"].ToString()).Trim(); //r.QTY = int.Parse(Data["QTY"].ToString()); r.MIN_SN = minSN; r.MAX_SN = maxSN; r.EDIT_EMP = LoginUser.EMP_NO; r.EDIT_TIME = GetDBDateTime(); string strRet = sfcdb.ExecSQL(r.GetUpdateString(DB_TYPE_ENUM.Oracle)); if (Convert.ToInt32(strRet) > 0) { StationReturn.MessageCode = "MES00000003"; StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Data = ""; } else { StationReturn.MessageCode = "MES00000036"; StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Data = ""; } this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
public T_R_TEST_DETAIL_VERTIV(OleExec DB, DB_TYPE_ENUM DBType) { RowType = typeof(Row_R_TEST_DETAIL_VERTIV); TableName = "R_TEST_DETAIL_VERTIV".ToUpper(); DataInfo = GetDataObjectInfo(TableName, DB, DBType); }
public MESStationReturn InitStation(MESPubLab.MESStation.MESStationReturn StationReturn, StationPara sp) { MESReturnMessage.SetSFCDBPool(this.DBPools["SFCDB"]); //string Token = requestValue["Token"]?.ToString(); OleExec SFCDB = this.DBPools["SFCDB"].Borrow(); //OleExec SFCDB = new OleExec("VERTIVTESTDB", true); try { MESStationBase retStation = retStation = new MESStationBase(); retStation.StationOutputs.Clear(); retStation.StationMessages.Clear(); retStation.StationSession.Clear(); retStation.DisplayOutput.Clear(); retStation.Inputs.Clear(); retStation.IP = this.IP; //add by 張官軍 2018-1-4 不添加的話,後面獲取該信息的時候回傳空 User User = new User(); User.EMP_NO = "Webservice"; User.EMP_NAME = "Webservice"; retStation.LoginUser = User; //給工站對象賦公共值 retStation.Init(sp.Station, sp.Line, sp.Bu, SFCDB); MESPubLab.MESStation.MESReturnView.Station.CallStationReturn ret = new MESPubLab.MESStation.MESReturnView.Station.CallStationReturn(); ret.Station = retStation; //用以執行InitInput.Run() 2018/01/30 SDL retStation.SFCDB = SFCDB; //調用工站初始配置 MESStationInput InitInput = retStation.Inputs.Find(t => t.Name == "StationINIT"); if (InitInput != null) { InitInput.Run(); retStation.Inputs.Remove(InitInput); } if (retStation.FailStation != null) { InitInput = null; InitInput = retStation.FailStation.Inputs.Find(t => t.Name == "StationINIT"); if (InitInput != null) { InitInput.Run(); retStation.FailStation.Inputs.Remove(InitInput); } } StationReturn.Data = ret; StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "Station '" + sp.Station + "'Init successfull."; } catch (Exception ee) { StationReturn.Data = null; StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Message = "Station '" + sp.Station + "'Init Fail! " + ee.Message; throw ee; } finally { this.DBPools["SFCDB"].Return(SFCDB); } return(StationReturn); }
public T_C_KP_Replace(string _TableName, OleExec DB, DB_TYPE_ENUM DBType) : base(_TableName, DB, DBType) { }
public void StationInput(MESStationReturn StationReturn, string CurrScanType, string InputName) { MESStationInput CurrInput = null; OleExec SFCDB = this.DBPools["SFCDB"].Borrow(); OleExec APDB = this.DBPools["APDB"].Borrow(); MESPubLab.MESStation.MESReturnView.Station.CallStationReturn ret = (MESPubLab.MESStation.MESReturnView.Station.CallStationReturn)StationReturn.Data; MESStationBase Station = ret.Station; Station.StationMessages.Clear(); Station.NextInput = null; Station.SFCDB = SFCDB; Station.APDB = APDB; Station.ScanKP.Clear(); try { CurrInput = Station.Inputs.Find(t => t.DisplayName == InputName); //if (Station.FailStation != null) //{ // //2018/02/05 肖倫 failStation的db以及dbPool為空的情況 Begin // Station.FailStation.DBS = Station.DBS; // Station.FailStation.SFCDB = SFCDB; // Station.FailStation.APDB = APDB; // //2018/02/05 肖倫 failStation的db以及dbPool為空的情況 End // for (int i = 0; i < Data["Station"]["FailStation"]["Inputs"].Count(); i++) // { // JToken rinput = Data["Station"]["FailStation"]["Inputs"][i]; // MESStationInput input = Station.FailStation.Inputs.Find(t => t.DisplayName == rinput["DisplayName"].ToString()); // if (input == null) // { // continue; // } // input.Value = rinput["Value"].ToString(); // if (Data["ScanType"].ToString() == "Fail" && input.DisplayName == RCurrInput["DisplayName"].ToString()) // { // CurrInput = input; // } // } //} ret = new MESPubLab.MESStation.MESReturnView.Station.CallStationReturn(); ret.ScanType = CurrScanType; //add by ZGJ 2018-03-19 清空之前的輸入動作執行後輸出到前台的消息 CurrInput.Station.StationMessages.Clear(); //調用處理邏輯 CurrInput.Run(); Station.MakeOutput(); if (ret.ScanType.ToUpper() == "PASS") { if (Station.NextInput == null) { for (int i = 0; i < Station.Inputs.Count; i++) { if (Station.Inputs[i] == CurrInput) { if (i != Station.Inputs.Count - 1) { ret.NextInput = Station.Inputs[i + 1]; } else { ret.NextInput = Station.Inputs[0]; } } } } else { ret.NextInput = Station.NextInput; } } else if (Station.FailStation != null) { if (Station.FailStation.NextInput == null) { for (int i = 0; i < Station.FailStation.Inputs.Count; i++) { if (Station.FailStation.Inputs[i] == CurrInput) { if (i != Station.FailStation.Inputs.Count - 1) { ret.NextInput = Station.FailStation.Inputs[i + 1]; } else { ret.NextInput = Station.FailStation.Inputs[0]; } } } } else { ret.NextInput = Station.FailStation.NextInput; } } //2018/02/05 肖倫 failStation的db以及dbPool為空的情況 Begin if (Station.FailStation != null) { Station.FailStation.DBS = null; Station.FailStation.SFCDB = null; } Station.SFCDB = null; Station.APDB = null; ret.Station = Station; StationReturn.Data = ret; StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "Station '" + Station.DisplayName + "' Input successfull."; } catch (Exception ee) { Station.MakeOutput(); Station.SFCDB = null; Station.APDB = null; ret = new MESPubLab.MESStation.MESReturnView.Station.CallStationReturn(); ret.Station = Station; Station.StationMessages.Add(new StationMessage() { Message = ee.Message, State = StationMessageState.Fail }); Station.NextInput = CurrInput; StationReturn.Data = ret; StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "Station '" + Station.DisplayName + "' Input not successfull."; } finally { this.DBPools["SFCDB"].Return(SFCDB); this.DBPools["SFCDB"].Return(APDB); } }
public T_R_Input_Action(string _TableName, OleExec DB, DB_TYPE_ENUM DBType) : base(_TableName, DB, DBType) { }
public T_R_BACKFLUSH_CHECK(string _TableName, OleExec DB, DB_TYPE_ENUM DBType) : base(_TableName, DB, DBType) { }
public List <R_Input_Action> QueryInput(string ID, string InputID, string StationActionID, OleExec DB) { string sql = string.Empty; DataTable dt = new DataTable(); List <R_Input_Action> inputaction = new List <R_Input_Action>(); sql = $@"SELECT * FROM R_Input_Action where 1=1 "; if (ID != "") { sql = sql + $@" AND ID = '{ID}'"; } if (InputID != "") { sql = sql + $@" AND INPUT_ID = '{InputID}'"; } if (StationActionID != "") { sql = sql + $@" AND C_STATION_ACTION_ID = '{StationActionID}'"; } dt = DB.ExecSelect(sql).Tables[0]; foreach (DataRow dr in dt.Rows) { inputaction.Add(CreateInputActionClass(dr)); } return(inputaction); }
public T_R_BACKFLUSH_CHECK(OleExec DB, DB_TYPE_ENUM DBType) { RowType = typeof(Row_R_BACKFLUSH_CHECK); TableName = "R_BACKFLUSH_CHECK".ToUpper(); DataInfo = GetDataObjectInfo(TableName, DB, DBType); }
public T_R_SN_STATION_DETAIL(string _TableName, OleExec DB, DB_TYPE_ENUM DBType) : base(_TableName, DB, DBType) { }
public T_H_WO_TEXT(OleExec DB, DB_TYPE_ENUM DBType) { RowType = typeof(Row_H_WO_TEXT); TableName = "H_WO_TEXT".ToUpper(); DataInfo = GetDataObjectInfo(TableName, DB, DBType); }