public void DeleteWoReplaceKpWithSku(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { string RWOKPREPLACEIDS = Data["RWOKPREPLACEIDS"].ToString().Trim(); ArrayList DelIds = new ArrayList(RWOKPREPLACEIDS.Split(',')); DelIds.Remove(""); OleExec oleDB = null; T_R_WO_KP_Repalce rWoKpRepalce = null; try { oleDB = this.DBPools["SFCDB"].Borrow(); rWoKpRepalce = new T_R_WO_KP_Repalce(oleDB, DBTYPE); oleDB.BeginTrain(); foreach (var VARIABLE in (string[])DelIds.ToArray(typeof(string))) { oleDB.ThrowSqlExeception = true; Row_R_WO_KP_Repalce rowCSkuMpn = (Row_R_WO_KP_Repalce)rWoKpRepalce.GetObjByID(VARIABLE, oleDB, DBTYPE); oleDB.ExecSQL(rowCSkuMpn.GetDeleteString(DBTYPE)); } oleDB.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000004"; } catch (Exception e) { oleDB.RollbackTrain(); throw e; } finally { this.DBPools["SFCDB"].Return(oleDB); } }
public void SetWoReplaceKpWithSku(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { string Wo = Data["WO"].ToString().Trim(), PartNo = Data["PARTNO"].ToString().Trim(), ReplacePartno = Data["REPLACEPARTNO"].ToString().Trim(), Sku = Data["SKUNO"].ToString().Trim(); OleExec oleDB = null; T_R_WO_KP_Repalce rWoKpReplace = null; T_C_SKU cSku = null; T_R_WO_BASE rWoBase = null; try { oleDB = this.DBPools["SFCDB"].Borrow(); rWoKpReplace = new T_R_WO_KP_Repalce(oleDB, DBTYPE); cSku = new T_C_SKU(oleDB, DBTYPE); rWoBase = new T_R_WO_BASE(oleDB, DBTYPE); if (!cSku.SkuIsExist(Sku, oleDB)) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000245"; StationReturn.MessagePara = new List <object>() { Sku }; } else if (rWoBase.CheckDataExist(Wo, Sku, oleDB)) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000245"; StationReturn.Data = ""; } else if (rWoKpReplace.CheckDataExist(Wo, PartNo, ReplacePartno, oleDB)) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000005"; StationReturn.Data = ""; } else { Row_R_WO_KP_Repalce rowRWoKpReplace = (Row_R_WO_KP_Repalce)rWoKpReplace.NewRow(); rowRWoKpReplace.ID = rWoKpReplace.GetNewID(this.BU, oleDB, DBTYPE); rowRWoKpReplace.WO = Wo; rowRWoKpReplace.PARTNO = PartNo; rowRWoKpReplace.REPALCEPARTNO = ReplacePartno; rowRWoKpReplace.EDIT_EMP = this.LoginUser.EMP_NO; rowRWoKpReplace.EDIT_TIME = GetDBDateTime();; oleDB.ThrowSqlExeception = true; oleDB.ExecSQL(rowRWoKpReplace.GetInsertString(DBTYPE)); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000002"; StationReturn.Data = ""; } } catch (Exception e) { throw e; } finally { this.DBPools["SFCDB"].Return(oleDB); } }
public void GetWoReplaceKpWithSku(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { string PartNo = Data["PARTNO"].ToString().Trim(), ReplacePartno = Data["REPLACEPARTNO"].ToString().Trim(), Sku = Data["SKUNO"].ToString().Trim(); OleExec oleDB = oleDB = this.DBPools["SFCDB"].Borrow();; T_R_WO_KP_Repalce rWoKpReplace = null; T_R_WO_BASE rWoBase = null; try { rWoKpReplace = new T_R_WO_KP_Repalce(oleDB, DBTYPE); List <R_WO_KP_Repalce> rWoKpRepalceList = rWoKpReplace.GetWoRepalceKpBySkuPartno(Sku, PartNo, ReplacePartno, oleDB); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000002"; StationReturn.Data = rWoKpRepalceList; } catch (Exception e) { throw e; } finally { this.DBPools["SFCDB"].Return(oleDB); } }
public SN_KP(List <R_SN_KP> _Value, string Wo, string Skuno, OleExec SFCDB) { KPS = _Value; T_C_SKU_MPN TCSM = new T_C_SKU_MPN(SFCDB, DB_TYPE_ENUM.Oracle); MPNs = TCSM.GetMpnBySku(SFCDB, Skuno); T_R_WO_KP_Repalce TRWKR = new T_R_WO_KP_Repalce(SFCDB, DB_TYPE_ENUM.Oracle); List <R_WO_KP_Repalce> Repalce1 = TRWKR.GetWoRepalceKP(Wo, SFCDB); T_C_KP_Rule TCKR = new T_C_KP_Rule(SFCDB, DB_TYPE_ENUM.Oracle); KPRule = TCKR.GetDataBySkuWo(Wo, Skuno, SFCDB); for (int i = 0; i < Repalce1.Count; i++) { if (!Repalce.ContainsKey(Repalce1[i].PARTNO)) { Repalce.Add(Repalce1[i].PARTNO, new List <R_WO_KP_Repalce>()); } Repalce[Repalce1[i].PARTNO].Add(Repalce1[i]); } for (int i = 0; i < KPS.Count; i++) { if (KPS[i].VALUE == "" || KPS[i].VALUE == null) { C_KP_Rule rule = KPRule.Find(T => T.PARTNO == KPS[i].PARTNO && T.SCANTYPE == KPS[i].SCANTYPE); if (rule == null) { List <R_WO_KP_Repalce> rep = null; try { rep = Repalce[KPS[i].PARTNO]; } catch { } if (rep != null) { for (int j = 0; j < rep.Count; j++) { rule = KPRule.Find(T => T.PARTNO == rep[j].REPALCEPARTNO && T.SCANTYPE == KPS[i].SCANTYPE); if (rule == null) { continue; } else { break; } } if (rule == null) { throw new Exception(KPS[i].PARTNO + "的替代料" + rep[i].REPALCEPARTNO + "," + KPS[i].SCANTYPE + "未配置規則!"); } } throw new Exception(KPS[i].PARTNO + "," + KPS[i].SCANTYPE + "未配置規則!"); } } } }