/// <summary> /// 加載對應的路由信息 /// </summary> /// <param name="DB"></param> public SKU LoadRoute(OleExec DB) { T_R_SKU_ROUTE table = null; List <R_SKU_ROUTE> mappings = new List <R_SKU_ROUTE>(); if (!this.SkuBase.ID.Equals("")) { if (this._DBType.Equals(DB_TYPE_ENUM.Oracle)) { table = new T_R_SKU_ROUTE(DB, this._DBType); if (this.SkuBase.ID != null && !string.IsNullOrEmpty(this.SkuBase.ID)) { mappings = table.GetMappingBySkuId(this.SkuBase.ID, DB); foreach (R_SKU_ROUTE mapping in mappings) { this.SkuRoutes.Add(new Route(mapping.ROUTE_ID, GetRouteType.ROUTEID, DB, this._DBType)); } } else { throw new MESReturnMessage("Please call this function by an instance of SKU class"); } } else { string errMsg = MESReturnMessage.GetMESReturnMessage("MES00000019", new string[] { _DBType.ToString() }); throw new MESReturnMessage(errMsg); } return(this); } else { throw new MESReturnMessage("Please ensure the C_SKU property is not null before using other methods."); } }
public void DeleteSkuRouteMapping(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { T_R_SKU_ROUTE table = null; OleExec sfcdb = null; string result = string.Empty; string MappingID = string.Empty; //MappingID = @"HWD000000000000000000000000000003"; try { if (Data["MappingID"] != null && !string.IsNullOrEmpty(Data["MappingID"].ToString())) { sfcdb = this.DBPools["SFCDB"].Borrow(); table = new T_R_SKU_ROUTE(sfcdb, DBTYPE); MappingID = Data["MappingID"].ToString(); result = table.DeleteMapping(MappingID, sfcdb); if (Int32.Parse(result) > 0) { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000035"; StationReturn.MessagePara.Add(result); StationReturn.Data = result; } else { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000036"; StationReturn.Data = result; } if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } } catch (Exception e) { if (!string.IsNullOrEmpty(result)) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000005"; StationReturn.Data = e.Message + ":" + result; } else { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000037"; StationReturn.MessagePara.Add(e.Message); StationReturn.Data = e.Message; } if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } throw e; } }
public void DeleteSkuRouteMapping(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { T_R_SKU_ROUTE table = null; OleExec sfcdb = null; try { sfcdb = this.DBPools["SFCDB"].Borrow(); JToken IDs = Data["MappingID"]; int counts = 0; for (int i = 0; i < IDs.Count(); i++) { string result = string.Empty; table = new T_R_SKU_ROUTE(sfcdb, DBTYPE); result = table.DeleteMapping(IDs[i].ToString(), sfcdb); if (Int32.Parse(result) > 0) { counts++; } } if (counts > 0) { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000035"; StationReturn.MessagePara.Add(counts); StationReturn.Data = counts; } else { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000036"; StationReturn.Data = counts; } if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } 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); } } }
public void GetRoutesBySkuId(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { List <SKU_ROUTE> Routes = new List <SKU_ROUTE>(); OleExec sfcdb = null; string SkuId = string.Empty; T_R_SKU_ROUTE table = null; try { if (Data["SkuId"] != null && !string.IsNullOrEmpty(Data["SkuId"].ToString())) { sfcdb = this.DBPools["SFCDB"].Borrow(); table = new T_R_SKU_ROUTE(sfcdb, DBTYPE); SkuId = Data["SkuId"].ToString(); Routes = table.GetBySKU(sfcdb, SkuId); if (Routes == null || Routes.Count() == 0) { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000034"; StationReturn.Data = new object(); } else { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000033"; StationReturn.MessagePara.Add(Routes.Count().ToString()); StationReturn.Data = Routes; } if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } } 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; } }
public void GetMappingsBySkuOrRoute(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { string sql = string.Empty; string SkuOrRoute = string.Empty; T_R_SKU_ROUTE table = null; OleExec sfcdb = null; List <R_SKU_ROUTE> mappings = new List <R_SKU_ROUTE>(); try { if (Data["SkuOrRoute"] != null && !string.IsNullOrEmpty(Data["SkuOrRoute"].ToString())) { sfcdb = this.DBPools["SFCDB"].Borrow(); table = new T_R_SKU_ROUTE(sfcdb, DBTYPE); SkuOrRoute = Data["SkuOrRoute"].ToString(); mappings = table.Get_SKU_ROUTE_Mappings(sfcdb, new string[] { SkuOrRoute }); if (mappings.Count() == 0) { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000034"; StationReturn.Data = new object(); } else { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000033"; StationReturn.MessagePara.Add(mappings.Count().ToString()); StationReturn.Data = mappings; } if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } } 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; } }
public void DeleteSkuRouteMappingByObject(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { T_R_SKU_ROUTE table = null; OleExec sfcdb = null; string result = string.Empty; R_SKU_ROUTE mapping = null; try { if (Data["MappingObject"] != null && !string.IsNullOrEmpty(Data["MappingObject"].ToString())) { sfcdb = this.DBPools["SFCDB"].Borrow(); table = new T_R_SKU_ROUTE(sfcdb, DBTYPE); mapping = (R_SKU_ROUTE)JsonConvert.Deserialize(Data["MappingObject"].ToString(), typeof(R_SKU_ROUTE)); result = table.DeleteMapping(mapping, sfcdb); if (Int32.Parse(result) > 0) { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000035"; StationReturn.MessagePara.Add(result); StationReturn.Data = result; } else { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000036"; StationReturn.Data = result; } if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } } 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; } }
public void GetSkuByRouteId(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { T_R_SKU_ROUTE table = null; OleExec sfcdb = null; string RouteId = string.Empty; List <C_SKU> SkuList = new List <C_SKU>(); try { sfcdb = this.DBPools["SFCDB"].Borrow(); table = new T_R_SKU_ROUTE(sfcdb, DBTYPE); RouteId = Data["RouteId"].ToString(); if (!string.IsNullOrEmpty(RouteId)) { SkuList = table.GetSkuListByMappingRouteID(RouteId, sfcdb); if (SkuList.Count() == 0) { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000034"; StationReturn.Data = new object(); } else { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000033"; StationReturn.MessagePara.Add(SkuList.Count().ToString()); StationReturn.Data = SkuList; } } if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } 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); } } }
public void GetAllMappings(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { List <R_SKU_ROUTE> mappings = new List <R_SKU_ROUTE>(); OleExec sfcdb = null; T_R_SKU_ROUTE table = null; try { sfcdb = this.DBPools["SFCDB"].Borrow(); table = new T_R_SKU_ROUTE(sfcdb, DBTYPE); mappings = table.Get_SKU_ROUTE_Mappings(sfcdb); if (mappings.Count() == 0) { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000034"; StationReturn.Data = new object(); } else { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000033"; StationReturn.MessagePara.Add(mappings.Count().ToString()); StationReturn.Data = mappings; } if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } 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; } }
public void UpdateSkuRouteMapping(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 = @"{ // 'ID': 'HWD000000000000000000000000000003', // 'DEFAULT_FLAG': 'Y', // 'SKU': { // 'ID': '111', // 'SKUNO': '222', // 'VERSION':'333' // }, // 'ROUTE': { // 'ID':'666', // 'ROUTE_NAME':'777' // }, // 'EDIT_TIME': '2017/12/21 17:13:21' //}"; 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)); result = table.UpdateMapping(mapping, sfcdb); if (Int32.Parse(result) > 0) { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000035"; StationReturn.MessagePara.Add(result); StationReturn.Data = result; } else { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000036"; StationReturn.Data = result; } if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } } catch (Exception e) { if (!string.IsNullOrEmpty(result)) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000005"; StationReturn.Data = e.Message + ":" + result; } else { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000037"; StationReturn.MessagePara.Add(e.Message); StationReturn.Data = e.Message; } if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } throw e; } }
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; } }
public void startWO(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec Sfcdb = this.DBPools["SFCDB"].Borrow(); string WO = Data["WO"].ToString(); T_R_SN t_r_sn = new T_R_SN(Sfcdb, this.DBTYPE); string id = t_r_sn.findOneSNByWO(WO, Sfcdb); if (!string.IsNullOrEmpty(id)) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Message = "工单已展开,不能重复展开"; return; } T_R_WO_HEADER_TJ t_R_WO_HEADER_TJ = new T_R_WO_HEADER_TJ(Sfcdb, this.DBTYPE); Row_R_WO_HEADER_TJ row_R_WO_HEADER = t_R_WO_HEADER_TJ.GetWo(WO, Sfcdb); T_C_SKU table_sku = new T_C_SKU(Sfcdb, this.DBTYPE); string user = this.LoginUser.EMP_NO; MESDataObject.Module.SkuObject SkuObject = table_sku.GetSkuBySkuno(row_R_WO_HEADER.MATNR, Sfcdb); float qty = float.Parse(row_R_WO_HEADER.GAMNG); qty = 5; //获取路由id T_R_SKU_ROUTE t_R_SKU_ROUTE = new T_R_SKU_ROUTE(Sfcdb, this.DBTYPE); string routeid = t_R_SKU_ROUTE.getRouteIdBySkuName(row_R_WO_HEADER.MATNR, Sfcdb); //获取keypartlistid T_C_KP_LIST t_C_KP_LIST = new T_C_KP_LIST(Sfcdb, this.DBTYPE); List <string> keypartlistids = t_C_KP_LIST.GetListIDBySkuno(row_R_WO_HEADER.MATNR, Sfcdb); if (keypartlistids.Count == 0) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Message = "未配置keypartlistid"; return; } //生成工单基础表 T_R_WO_BASE t_R_WO_BASE = new T_R_WO_BASE(Sfcdb, this.DBTYPE); t_R_WO_BASE.deleteWOByWo(WO, Sfcdb); t_R_WO_BASE.addWOByWOHeader(BU, user, routeid, row_R_WO_HEADER, Sfcdb); WorkOrder objWorkorder = new WorkOrder(); objWorkorder.Init(WO, Sfcdb); objWorkorder.WorkorderNo = WO; objWorkorder.KP_LIST_ID = keypartlistids[0].ToString(); objWorkorder.SkuNO = row_R_WO_HEADER.MATNR; //生成SN for (int i = 0; i < qty; i++) { String nextSN = SNmaker.GetNextSN(SkuObject.SnRule, Sfcdb, WO); Console.Out.WriteLine(nextSN); t_r_sn.addStartSNRecords(BU, user, WO, routeid, row_R_WO_HEADER, nextSN, Sfcdb); } //生成keypartlistid List <R_SN> r_sns = t_r_sn.GETSN(WO, Sfcdb); for (int i = 0; i < r_sns.Count; i++) { T_C_KP_LIST c_kp_list = new T_C_KP_LIST(Sfcdb, this.DBTYPE); if (objWorkorder.KP_LIST_ID != "" && c_kp_list.KpIDIsExist(objWorkorder.KP_LIST_ID, Sfcdb)) { SN snObject = new SN(); MESStationBase Station = new MESStationBase(); Station.BU = this.LoginUser.BU; Station.LoginUser = this.LoginUser; Station.SFCDB = Sfcdb; snObject.InsertR_SN_KP(objWorkorder, r_sns[i], Sfcdb, Station, this.DBTYPE); } } StationReturn.Data = qty; StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = MESReturnMessage.GetMESReturnMessage("MSGCODE20180801141046"); }
public void GetLockStation(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JToken Data, MESStationReturn StationReturn) { string lockType = Data["LockType"].ToString().Trim(); string lockData = Data["LockData"].ToString().Trim(); DataTable routeTable = new DataTable(); List <string> stationList = new List <string>(); OleExec sfcdb = null; try { sfcdb = this.DBPools["SFCDB"].Borrow(); T_C_ROUTE_DETAIL t_c_route_detail = new T_C_ROUTE_DETAIL(sfcdb, DBTYPE); if (lockType == "LockByWo") { T_R_WO_BASE t_r_wo_base = new T_R_WO_BASE(sfcdb, DBTYPE); R_WO_BASE r_wo_base = t_r_wo_base.GetWo(lockData, sfcdb).GetDataObject(); stationList = t_c_route_detail.GetByRouteIdOrderBySEQASC(r_wo_base.ROUTE_ID, sfcdb).Select(route => route.STATION_NAME).ToList(); } else if (lockType == "LockByLot") { T_R_LOT_STATUS t_r_lot_status = new T_R_LOT_STATUS(sfcdb, DBTYPE); Row_R_LOT_STATUS rowLotStatus = t_r_lot_status.GetByLotNo(lockData, sfcdb); if (rowLotStatus.ID == null) { throw new Exception(MESReturnMessage.GetMESReturnMessage("MES00000161", new string[] { })); } R_LOT_STATUS r_lot_status = rowLotStatus.GetDataObject(); T_C_SKU t_c_sku = new T_C_SKU(sfcdb, DBTYPE); C_SKU c_sku = t_c_sku.GetSku(r_lot_status.SKUNO, sfcdb, DBTYPE).GetDataObject(); T_R_SKU_ROUTE t_r_sku_route = new T_R_SKU_ROUTE(sfcdb, DBTYPE); List <R_SKU_ROUTE> r_sku_route_list = t_r_sku_route.GetMappingBySkuId(c_sku.ID, sfcdb); if (r_sku_route_list.Count > 0) { //t_c_route_detail.GetByRouteIdOrderBySEQASC(r_sku_route_list[0].ROUTE_ID, sfcdb); stationList = t_c_route_detail.GetByRouteIdOrderBySEQASC(r_sku_route_list[0].ROUTE_ID, sfcdb).Select(route => route.STATION_NAME).ToList(); } else { throw new Exception(MESReturnMessage.GetMESReturnMessage("MES00000179", new string[] { })); } } else { routeTable = t_c_route_detail.GetALLStation(sfcdb); foreach (DataRow row in routeTable.Rows) { stationList.Add(row["station_name"].ToString()); } stationList.Sort(); } this.DBPools["SFCDB"].Return(sfcdb); StationReturn.Data = stationList; StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000001"; } catch (Exception exception) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000037"; StationReturn.MessagePara.Add(exception.Message); StationReturn.Data = exception.Message; if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } }