/// <summary> /// 根據機種返回路由描述信息 /// </summary> /// <param name="requestValue"></param> /// <param name="Data"></param> /// <param name="StationReturn"></param> public void GetRouteDesc(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string RouteName = Data["ROUTE_NAME"].ToString(); DataTable dt = new DataTable(); try { sfcdb = this.DBPools["SFCDB"].Borrow(); T_C_ROUTE table = new T_C_ROUTE(sfcdb, DBType); dt = table.GetByRouteName(RouteName, sfcdb); ConstructReturnValue(StationReturn, dt); } catch (Exception e) { ConstructReturnValue(StationReturn, e); } finally { this.DBPools["SFCDB"].Return(sfcdb); } }
public void AddSKuRouteMapping(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { T_R_SKU_ROUTE table = null; R_SKU_ROUTE mapping = null; OleExec sfcdb = null; string result = string.Empty; string MappingObject = string.Empty; //MappingObject = @"{ // 'DEFAULT_FLAG': 'Y', // 'SKU': { // 'ID': '111', // 'SKUNO': '222', // 'VERSION':'333' // }, // 'ROUTE': { // 'ID':'HWD00000000000000000000000000001X', // 'ROUTE_NAME':'555' // } //}"; try { if (Data["MappingObject"] != null && !string.IsNullOrEmpty(Data["MappingObject"].ToString())) { sfcdb = this.DBPools["SFCDB"].Borrow(); table = new T_R_SKU_ROUTE(sfcdb, DBTYPE); MappingObject = Data["MappingObject"].ToString(); mapping = (R_SKU_ROUTE)JsonConvert.Deserialize(MappingObject, typeof(R_SKU_ROUTE)); if (mapping.ROUTE_ID != null) { T_C_ROUTE ROUTE = new T_C_ROUTE(sfcdb, DBTYPE); C_ROUTE C_ROUTE = ROUTE.GetByRouteName(mapping.ROUTE_ID, sfcdb); mapping.ROUTE_ID = C_ROUTE.ID; mapping.EDIT_EMP = LoginUser.EMP_NO; mapping.EDIT_TIME = GetDBDateTime(); result = table.AddMapping(mapping, BU, sfcdb); if (Int32.Parse(result) > 0) { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000035"; StationReturn.MessagePara.Add(result); StationReturn.Data = result; //throw } else { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000036"; StationReturn.Data = result; } if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } else { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000204"; StationReturn.Data = result; } } } catch (Exception e) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000037"; StationReturn.MessagePara.Add(e.Message); StationReturn.Data = e.Message; if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } //throw e; } }
private void getByIdOrRouteName(string parametName, string parametValue, OleExec sfcdb, MESDataObject.DB_TYPE_ENUM dbtype) { try { T_C_ROUTE TC_ROUTE = new T_C_ROUTE(sfcdb, dbtype); T_C_ROUTE_DETAIL TC_ROUTE_DETAIL = new T_C_ROUTE_DETAIL(sfcdb, dbtype); C_ROUTE getRoute = new C_ROUTE(); List <C_ROUTE_DETAIL> getRouteDetail = new List <C_ROUTE_DETAIL>(); // List<RouteDetail> RouteDetailList = new List<RouteDetail>(); //T_C_ROUTE_DETAIL_DIRECTLINK TC_ROUTE_DETAIL_DIRECTLINK = new T_C_ROUTE_DETAIL_DIRECTLINK(sfcdb, dbtype); //T_C_ROUTE_DETAIL_RETURN TC_ROUTE_DETAIL_RETURN = new T_C_ROUTE_DETAIL_RETURN(sfcdb, dbtype); //List<C_ROUTE_DETAIL_RETURN> getDetailReturn = new List<C_ROUTE_DETAIL_RETURN>(); //List<C_ROUTE_DETAIL_DIRECTLINK> getDetailDirectLink = new List<C_ROUTE_DETAIL_DIRECTLINK>(); if (parametName.Trim() == "ID") { getRoute = TC_ROUTE.GetById(parametValue.Trim(), sfcdb); } else if (parametName.Trim() == "ROUTENAME") { getRoute = TC_ROUTE.GetByRouteName(parametValue.Trim(), sfcdb); } else { throw new Exception(MESReturnMessage.GetMESReturnMessage("MES00000007", new string[] { "getByIdOrRouteName:" + parametName })); } if (getRoute != null) { this._ID = getRoute.ID; this._ROUTE_NAME = getRoute.ROUTE_NAME; this._DEFAULT_SKUNO = getRoute.DEFAULT_SKUNO; this._ROUTE_TYPE = getRoute.ROUTE_TYPE; getRouteDetail = TC_ROUTE_DETAIL.GetByRouteIdOrderBySEQASC(getRoute.ID, sfcdb); if (getRouteDetail != null && getRouteDetail.Count > 0) { this._DETAIL = new List <RouteDetail>(); for (int i = 0; i < getRouteDetail.Count; i++) { RouteDetail newRouteDetail = new RouteDetail(getRouteDetail[i].ID, sfcdb, dbtype); #region 寫法一 /* * RouteDetail newRouteDetail = new RouteDetail(); * newRouteDetail.ID = getRouteDetail[i].ID; * newRouteDetail.SEQ_NO = getRouteDetail[i].SEQ_NO; * newRouteDetail.ROUTE_ID = getRouteDetail[i].ROUTE_ID; * newRouteDetail.STATION_NAME = getRouteDetail[i].STATION_NAME; * newRouteDetail.STATION_TYPE = getRouteDetail[i].STATION_TYPE; * newRouteDetail.RETURN_FLAG = getRouteDetail[i].RETURN_FLAG; * if (getRouteDetail[i].RETURN_FLAG == "Y") * { * getDetailReturn = TC_ROUTE_DETAIL_RETURN.GetByRoute_DetailId(newRouteDetail.ID, sfcdb); * if (getDetailReturn != null && getDetailReturn.Count > 0) * { * List<C_ROUTE_DETAIL> newReturnList = new List<C_ROUTE_DETAIL>(); * for (int j = 0; j < getDetailReturn.Count; j++) * { * newReturnList.Add(TC_ROUTE_DETAIL.GetById(getDetailReturn[j].RETURN_ROUTE_DETAIL_ID, sfcdb)); * } * newRouteDetail.RETURNLIST = newReturnList; * } * } * else * { * newRouteDetail.RETURNLIST = null; * } * getDetailDirectLink = TC_ROUTE_DETAIL_DIRECTLINK.GetByDetailId(newRouteDetail.ID, sfcdb); * if (getDetailDirectLink != null && getDetailDirectLink.Count > 0) * { * List<C_ROUTE_DETAIL> newDirectLinkList = new List<C_ROUTE_DETAIL>(); * for (int n = 0; n < getDetailDirectLink.Count; n++) * { * newDirectLinkList.Add(TC_ROUTE_DETAIL.GetById(getDetailDirectLink[n].DIRECTLINK_ROUTE_DETAIL_ID, sfcdb)); * } * newRouteDetail.DIRECTLINKLIST = newDirectLinkList; * } * else * { * newRouteDetail.DIRECTLINKLIST = null; * } * if (this.DETAIL == null) * { * this.DETAIL = new List<RouteDetail>(); * }*/ #endregion 寫法一 end this._DETAIL.Add(newRouteDetail); } } else { this._DETAIL = null; } } else { this._ID = ""; this._ROUTE_NAME = ""; this._DEFAULT_SKUNO = ""; this._ROUTE_TYPE = ""; this._DETAIL = null; throw new Exception(MESReturnMessage.GetMESReturnMessage("MES00000007", new string[] { "Route_" + parametName + ":" + parametValue })); } } catch (Exception ex) { throw ex; } }