/// <summary> /// 刪除角色ID信息刪除C_ROLE表,C_ROLE_PRIVILEGE ,C_USER_ROLE /// </summary> public void DeleteRole(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string DeleteSql = ""; string strid = ""; T_C_ROLE GetRoleInformation; T_C_ROLE_PRIVILEGE GetRolePrivilegeInfo; try { sfcdb = this.DBPools["SFCDB"].Borrow(); sfcdb.BeginTrain(); GetRoleInformation = new T_C_ROLE(sfcdb, DBTYPE); GetRolePrivilegeInfo = new T_C_ROLE_PRIVILEGE(sfcdb, DBTYPE); foreach (string item in Data["ID"]) { strid = item.Trim('\'').Trim('\"'); if (GetRoleInformation.CheckRole(strid, sfcdb)) { Row_C_ROLE row = (Row_C_ROLE)GetRoleInformation.GetObjByID(strid, sfcdb); DeleteSql += row.GetDeleteString(DBTYPE) + ";\n"; if (!GetRolePrivilegeInfo.CheckRolePrivilege(strid, sfcdb)) //檢查C_ROLE_PRIVILEGE是否有添加角色權限,如果存在就刪除 { Row_C_PRIVILEGE PrivilegeRow = (Row_C_PRIVILEGE)GetRolePrivilegeInfo.GetObjByRoleID(strid, sfcdb); DeleteSql += PrivilegeRow.GetDeleteString(DBTYPE) + ";\n"; } } else { sfcdb.RollbackTrain(); StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Message = "該角色已被賦予用戶使用,不能刪除"; StationReturn.Data = ""; this.DBPools["SFCDB"].Return(sfcdb); return; } } DeleteSql = "BEGIN\n" + DeleteSql + "END;"; sfcdb.ExecSQL(DeleteSql); sfcdb.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "刪除成功"; sfcdb.CommitTrain(); this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { sfcdb.RollbackTrain(); this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
/// <summary> /// 刪除用戶信息 /// </summary> public void DeleteInformation(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string DeleteSql = ""; string strid = ""; T_c_user DeleteInformation; Newtonsoft.Json.Linq.JArray ID = (Newtonsoft.Json.Linq.JArray)Data["ID"]; try { sfcdb = this.DBPools["SFCDB"].Borrow(); sfcdb.BeginTrain(); DeleteInformation = new T_c_user(sfcdb, DBTYPE); for (int i = 0; i < ID.Count; i++) { strid = ID[i].ToString(); Row_c_user row = (Row_c_user)DeleteInformation.GetObjByID(strid, sfcdb); DeleteSql += row.GetDeleteString(DBTYPE) + ";\n"; } DeleteSql = "begin\n" + DeleteSql + "end;"; sfcdb.ExecSQL(DeleteSql); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000004"; sfcdb.CommitTrain(); this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { sfcdb.RollbackTrain(); this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
public void DeleteByActionID(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string StrID = ""; T_C_ACTION_PARA actionpara; Newtonsoft.Json.Linq.JArray ID = (Newtonsoft.Json.Linq.JArray)Data["StationActionID"]; try { sfcdb = this.DBPools["SFCDB"].Borrow(); sfcdb.BeginTrain(); actionpara = new T_C_ACTION_PARA(sfcdb, DBTYPE); for (int i = 0; i < ID.Count; i++) { StrID = ID[i].ToString(); actionpara.DeleteByActionID(StrID, sfcdb); } sfcdb.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000004"; this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
public void DeleteDepartment(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string DeleteSql = ""; string StrID = ""; T_C_DEPARTMENT department; // string[] ID = Newtonsoft.Json.Linq.JArray(Data["ID"].); Newtonsoft.Json.Linq.JArray ID = (Newtonsoft.Json.Linq.JArray)Data["ID"]; try { sfcdb = this.DBPools["SFCDB"].Borrow(); sfcdb.BeginTrain(); department = new T_C_DEPARTMENT(sfcdb, DBTYPE); for (int i = 0; i < ID.Count; i++) { StrID = ID[i].ToString(); Row_C_DEPARTMENT row = (Row_C_DEPARTMENT)department.GetObjByID(StrID, sfcdb); DeleteSql = row.GetDeleteString(DBTYPE); sfcdb.ExecSQL(DeleteSql); } sfcdb.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000004"; this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
public void DeleteCKpCheck(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { string RWOKPREPLACEIDS = Data["IDS"].ToString().Trim(); ArrayList DelIds = new ArrayList(RWOKPREPLACEIDS.Split(',')); DelIds.Remove(""); OleExec oleDB = null; T_C_KP_Check cKpCheck = null; try { oleDB = this.DBPools["SFCDB"].Borrow(); cKpCheck = new T_C_KP_Check(oleDB, DBTYPE); oleDB.BeginTrain(); foreach (var VARIABLE in (string[])DelIds.ToArray(typeof(string))) { oleDB.ThrowSqlExeception = true; Row_C_KP_Check row = (Row_C_KP_Check)cKpCheck.GetObjByID(VARIABLE, oleDB, DBTYPE); oleDB.ExecSQL(row.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 DeleteLine(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; T_C_LINE line; C_LINE checkLine; string deleteid = ""; Newtonsoft.Json.Linq.JArray ID = (Newtonsoft.Json.Linq.JArray)Data["ID"]; try { sfcdb = this.DBPools["SFCDB"].Borrow(); line = new T_C_LINE(sfcdb, DBTYPE); bool isallOK = true; sfcdb.BeginTrain(); for (int i = 0; i < ID.Count; i++) { deleteid = ID[i].ToString(); checkLine = line.GetLineById(deleteid, sfcdb); if (checkLine == null) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000007"; StationReturn.MessagePara.Add("Line Id:" + deleteid); isallOK = false; break; } else { int result = line.deleteById(deleteid, sfcdb); if (result <= 0) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000023"; StationReturn.MessagePara.Add("Line Id:" + deleteid); isallOK = false; break; } } } if (isallOK) { sfcdb.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000001"; } else { sfcdb.RollbackTrain(); } this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } throw e; } }
public void DeleteInputActionByInputID(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string StrID = ""; T_R_Input_Action inputaction; // string[] ID = Newtonsoft.Json.Linq.JArray(Data["ID"].); Newtonsoft.Json.Linq.JArray ID = (Newtonsoft.Json.Linq.JArray)Data["InputID"]; try { sfcdb = this.DBPools["SFCDB"].Borrow(); sfcdb.BeginTrain(); inputaction = new T_R_Input_Action(sfcdb, DBTYPE); for (int i = 0; i < ID.Count; i++) { StrID = ID[i].ToString(); inputaction.DeleteInputActionByInputID(StrID, sfcdb); } sfcdb.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000004"; this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
public void DeleteInputRuleList(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string DeleteSql = ""; string StrID = ""; T_C_INPUT_RULE inputrule; string[] ID = Data["ID"].ToString().Split(','); try { sfcdb = this.DBPools["SFCDB"].Borrow(); inputrule = new T_C_INPUT_RULE(sfcdb, DBTYPE); sfcdb.BeginTrain(); for (int i = 0; i < ID.Length; i++) { StrID = ID[i].ToString(); Row_C_INPUT_RULE row = (Row_C_INPUT_RULE)inputrule.GetObjByID(StrID, sfcdb); DeleteSql = row.GetDeleteString(DBTYPE); sfcdb.ExecSQL(DeleteSql); } sfcdb.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000004"; this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { sfcdb.RollbackTrain(); this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
public void GetBackFlustData() { SFCDB.BeginTrain(); try { C_CONTROL control = t_c_control.GetControlByName("HWD_STOCKIN_TIME", SFCDB); if (control.CONTROL_VALUE == "" && string.IsNullOrEmpty(control.CONTROL_VALUE)) { throw new Exception("Get last run time fail "); } startTime = Convert.ToDateTime(control.CONTROL_VALUE); endTime = InterfacePublicValues.GetDBDateTime(SFCDB, DB_TYPE_ENUM.Oracle); stockInTable = t_r_sn_station_detail.GetStockInQtyByTime(startTime, endTime, SFCDB); if (stockInTable != null) { foreach (DataRow dr in stockInTable.Rows) { r_sap_temp = (Row_R_SAP_TEMP)t_r_sap_temp.NewRow(); r_sap_temp.ID = t_r_sap_temp.GetNewID(BU, SFCDB); r_sap_temp.SKUNO = dr["skuno"].ToString(); r_sap_temp.TYPE = "011G To 016G"; r_sap_temp.QTY = double.Parse(dr["qty"].ToString()); r_sap_temp.FROM_STORAGE = "011G"; r_sap_temp.TO_STORAGE = "016G"; r_sap_temp.SAP_FLAG = "0"; r_sap_temp.FAIL_COUNT = 0; r_sap_temp.EDIT_EMP = "interface"; r_sap_temp.EDIT_TIME = endTime; SFCDB.ExecSQL(r_sap_temp.GetInsertString(DB_TYPE_ENUM.Oracle)); } } Row_C_CONTROL rowControl = (Row_C_CONTROL)t_c_control.GetObjByID(control.ID, SFCDB); rowControl.CONTROL_VALUE = endTime.ToString("yyyy/MM/dd HH: mm: ss"); rowControl.EDIT_EMP = "intrerface"; rowControl.EDIT_TIME = endTime; SFCDB.ExecSQL(rowControl.GetUpdateString(DB_TYPE_ENUM.Oracle)); SFCDB.CommitTrain(); } catch (Exception exception) { SFCDB.RollbackTrain(); WriteLog.WriteIntoMESLog(SFCDB, BU, "MESInterface", "MESInterface.HWD.StockInBackFlush", "GetBackFlustData", ip + ";" + exception.Message, "", "interface"); StockInBackFlush_UI.OutPutMessage("", exception.Message, false); } }
/// <summary> /// 依據ID清單Approve稱重工站 /// </summary> /// <param name="requestValue"></param> /// <param name="Data"></param> /// <param name="StationReturn"></param> public void ApproveWTByID(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; T_C_WT_CONFIG TCWT = null; Row_C_WT_CONFIG RCWT = null; string sql = ""; string strReturn = ""; try { sfcdb = this.DBPools["SFCDB"].Borrow(); sfcdb.BeginTrain(); TCWT = new T_C_WT_CONFIG(sfcdb, this.DBTYPE); RCWT = (Row_C_WT_CONFIG)TCWT.NewRow(); foreach (string item in Data["IDList"]) { string strID = item.Trim('\'').Trim('\"'); RCWT = (Row_C_WT_CONFIG)TCWT.GetObjByID(strID, sfcdb); RCWT.APPROVE_EMP = (string)Data["LoginUserEmp"]; RCWT.APPROVE_TIME = GetDBDateTime(); sql += RCWT.GetUpdateString(this.DBTYPE) + ";\n"; } strReturn = sfcdb.ExecSQL("Begin\n" + sql + "End;"); WriteIntoMESLog(sfcdb, BU, "WTConfig", "MESStation.Config.WTConfig", "ApproveWT", "簽核稱重記錄", sql.Substring(0, sql.Length - 1 > 900 ? 900 : sql.Length - 1), LoginUser.EMP_NO); //如果數據更新成功,則返回數據更新的記錄數,如果為Begn...END返回為-1,可被 Int32.Parse 方法轉換成 int if (Int32.Parse(strReturn) > -2) { StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "Approve成功!"; } else { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Message = "Approve 數據更新失敗!"; StationReturn.Data = strReturn; } sfcdb.CommitTrain(); }catch (Exception e) { sfcdb.RollbackTrain(); StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Message = "Approve失敗或該記錄已經不存在!"; StationReturn.Data = e.Message; } finally { if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } } }
/// <summary> /// DonwLoad WO From SAP /// </summary> /// <param name="requestValue"></param> /// <param name="Data"></param> /// <param name="StationReturn"></param> public void Download_WO(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec Sfcdb = this.DBPools["SFCDB"].Borrow(); string WO = Data["WO"].ToString(); string PLANT = Data["PLANT"].ToString(); Sfcdb.BeginTrain(); Download(WO, PLANT); DownloadDetail(WO, PLANT); Sfcdb.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = MESReturnMessage.GetMESReturnMessage("MES00000102"); }
public override void Start() { //base.Start(); IsRuning = synLock.IsLock("HWD_WOToMRBBackFlush", SFCDB, DB_TYPE_ENUM.Oracle, out lockIp); if (IsRuning) { throw new Exception("HWD WOToMRBBackFlush interface is running on " + lockIp + ",Please try again later"); } try { synLock.SYNC_Lock(BU, ip, "HWD_WOToMRBBackFlush", "HWD_WOToMRBBackFlush", "interface", SFCDB, DB_TYPE_ENUM.Oracle); SFCDB.CommitTrain(); DoMrbBackFlush(); } catch (Exception ex) { SFCDB.RollbackTrain(); throw new Exception("Start MrbBackFlush Fail" + ex.Message); } synLock.SYNC_UnLock(BU, ip, "HWD_WOToMRBBackFlush", "HWD_WOToMRBBackFlush", "interface", SFCDB, DB_TYPE_ENUM.Oracle); SFCDB.CommitTrain(); }
public void DeleteById(JObject requestValue, JToken Data, MESStationReturn StationReturn) { string id = Data["ID"].ToString(); if (string.IsNullOrEmpty(id)) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000006"; StationReturn.MessagePara = new List <Object>() { "Reason Code ID" }; StationReturn.Data = null; return; } OleExec sfcdb = DBPools["SFCDB"].Borrow(); string[] ids = id.Split(','); Row_C_REASON_CODE row_reason_code = (Row_C_REASON_CODE) new T_C_REASON_CODE(sfcdb, DB_TYPE_ENUM.Oracle).NewRow(); try { string deleteString = null; sfcdb.BeginTrain(); foreach (string deleteID in ids) { deleteString = row_reason_code.GetDeleteString(DB_TYPE_ENUM.Oracle, deleteID); sfcdb.ExecuteNonQuery(deleteString, CommandType.Text, null); } sfcdb.CommitTrain(); } catch (Exception ex) { sfcdb.RollbackTrain(); if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } throw ex; } StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000004"; StationReturn.Data = ""; if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } }
/// <summary> ///刪除用戶添加角色 DELETE C_USER_ROLE /// </summary> public void DeleteUserRolePrivilege(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string DeleteSql = ""; T_c_user_role GetUserRole; string EMP_NO = Data["EMP_NO"].ToString(); // string[] ROLE_ID = Data["ROLE_ID"].ToString().Split(','); try { sfcdb = this.DBPools["SFCDB"].Borrow(); GetUserRole = new T_c_user_role(sfcdb, DBTYPE); string USER_ID = GetUserRole.GetUserID(EMP_NO, sfcdb); sfcdb.BeginTrain(); foreach (string item in Data["ROLE_ID"]) { string strroleid = item.Trim('\'').Trim('\"'); Row_c_user_role row = (Row_c_user_role)GetUserRole.GetObjByUserIDRoleID(USER_ID, strroleid, sfcdb, this.DBTYPE); DeleteSql += row.GetDeleteString(DBTYPE) + ";\n"; } DeleteSql = "begin\n" + DeleteSql + "end;"; sfcdb.ExecSQL(DeleteSql); sfcdb.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "刪除成功"; sfcdb.CommitTrain(); this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { sfcdb.RollbackTrain(); this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
public void DeleteCStationAcation(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string DeleteSql = ""; string StrID = ""; T_c_station_action stationaction; T_R_Station_Action saction; Newtonsoft.Json.Linq.JArray ID = (Newtonsoft.Json.Linq.JArray)Data["ID"]; try { sfcdb = this.DBPools["SFCDB"].Borrow(); sfcdb.BeginTrain(); stationaction = new T_c_station_action(sfcdb, DBTYPE); saction = new T_R_Station_Action(sfcdb, DBTYPE); for (int i = 0; i < ID.Count; i++) { StrID = ID[i].ToString(); if (saction.CheckExistByCSActionID(StrID, sfcdb)) { Row_c_station_action row = (Row_c_station_action)stationaction.GetObjByID(StrID, sfcdb); DeleteSql = row.GetDeleteString(DBTYPE); sfcdb.ExecSQL(DeleteSql); } else { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000113"; sfcdb.RollbackTrain(); this.DBPools["SFCDB"].Return(sfcdb); return; } } sfcdb.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000004"; this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { sfcdb.RollbackTrain(); this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
public void DeleteWorkClass(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { //string id = Data["CLASS_ID"].ToString().Trim(); Newtonsoft.Json.Linq.JArray idArray = (Newtonsoft.Json.Linq.JArray)Data["CLASS_ID"]; OleExec oleDB = null; T_C_WORK_CLASS workClass = null; Row_C_WORK_CLASS workClassRow; if (idArray.Count == 0) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000006"; StationReturn.MessagePara.Add("CLASS ID"); StationReturn.Data = ""; return; } try { oleDB = this.DBPools["SFCDB"].Borrow(); oleDB.ThrowSqlExeception = true; oleDB.BeginTrain(); workClass = new T_C_WORK_CLASS(oleDB, DBTYPE); for (int i = 0; i < idArray.Count; i++) { workClassRow = (Row_C_WORK_CLASS)workClass.GetObjByID(idArray[i].ToString(), oleDB, DBTYPE); oleDB.ExecSQL(workClassRow.GetDeleteString(DBTYPE)); } oleDB.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "MES00000004"; StationReturn.Data = ""; this.DBPools["SFCDB"].Return(oleDB); } catch (Exception exception) { oleDB.RollbackTrain(); this.DBPools["SFCDB"].Return(oleDB); throw exception; } }
/// <summary> /// Update Class Time /// </summary> /// <param name="requestValue"></param> /// <param name="Data"></param> /// <param name="StationReturn"></param> public void UpdateClassTime(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { string strRet = ""; OleExec sfcdb = this.DBPools["SFCDB"].Borrow(); T_C_CLASS_TIME classTime = new T_C_CLASS_TIME(sfcdb, DB_TYPE_ENUM.Oracle); Row_C_CLASS_TIME row = (Row_C_CLASS_TIME)classTime.NewRow(); row = (Row_C_CLASS_TIME)classTime.GetObjByID(Data["ID"].ToString().Trim(), sfcdb, DB_TYPE_ENUM.Oracle); row.WORK_SECTION = Data["WORK_SECTION"].ToString().Trim(); row.START_TIME = Data["START_TIME"].ToString().Trim(); row.END_TIME = Data["END_TIME"].ToString().Trim(); if (Data["DAY_DISTINCT"].ToString().Trim() == ("Shift1")) { row.WORK_CLASS = ((int)WORK_CLASS.Shift1).ToString(); row.DAY_DISTINCT = WORK_CLASS.Shift1.ToString(); } else { row.WORK_CLASS = ((int)WORK_CLASS.Shift2).ToString(); row.DAY_DISTINCT = WORK_CLASS.Shift2.ToString(); } row.EDIT_EMP = this.LoginUser; row.EDIT_TIME = DateTime.Now; strRet = sfcdb.ExecSQL(row.GetUpdateString(DB_TYPE_ENUM.Oracle)); try { int rows = int.Parse(strRet); sfcdb.CommitTrain(); StationReturn.Status = "PASS"; StationReturn.Message = "OK,Update Class Time OK!"; StationReturn.data = rows; } catch { sfcdb.RollbackTrain(); StationReturn.Status = "FAIL"; StationReturn.Message = strRet; StationReturn.data = ""; } this.DBPools["SFCDB"].Return(sfcdb); }
public void DeteleCustomer(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { string strbu = BU; Newtonsoft.Json.Linq.JArray idArray = (Newtonsoft.Json.Linq.JArray)Data["CUSTOMER_ID"]; OleExec oleDB = null; T_C_CUSTOMER customer = null; Row_C_CUSTOMER customerRow = null; if (idArray.Count == 0) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000006"; StationReturn.MessagePara.Add("CUSTOMER ID"); StationReturn.Data = ""; return; } try { oleDB = this.DBPools["SFCDB"].Borrow(); customer = new T_C_CUSTOMER(oleDB, DBTYPE); oleDB.ThrowSqlExeception = true; oleDB.BeginTrain(); for (int i = 0; i < idArray.Count; i++) { customerRow = (Row_C_CUSTOMER)customer.GetObjByID(idArray[i].ToString(), oleDB, DBTYPE); oleDB.ExecSQL(customerRow.GetDeleteString(DBTYPE)); } oleDB.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000004"; StationReturn.Data = ""; this.DBPools["SFCDB"].Return(oleDB); } catch (Exception exception) { oleDB.RollbackTrain(); this.DBPools["SFCDB"].Return(oleDB); throw exception; } }
public override void Start() { IsRuning = synLock.IsLock("TJL5_DownLoadWO", SFCDB, DB_TYPE_ENUM.Oracle, out lockIp); if (IsRuning) { throw new Exception("TJL5 DownLoadWO interface is running on " + lockIp + ",Please try again later"); } try { synLock.SYNC_Lock(BU, ip, "TJL5_DownLoadWO", "TJL5_DownLoadWO", "interface", SFCDB, DB_TYPE_ENUM.Oracle); SFCDB.CommitTrain(); CallRFC(); } catch (Exception ex) { SFCDB.RollbackTrain(); throw new Exception("Start DownLoadWO Fail" + ex.Message); } synLock.SYNC_UnLock(BU, ip, "TJL5_DownLoadWO", "TJL5_DownLoadWO", "interface", SFCDB, DB_TYPE_ENUM.Oracle); SFCDB.CommitTrain(); }
public void DeleteKeyPart(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; T_C_KEYPART ketpart; Row_C_KEYPART newketpart; string[] ids = Data["ID"].ToString().Trim().Split(','); string SQL = ""; sfcdb = this.DBPools["SFCDB"].Borrow(); sfcdb.BeginTrain(); try { foreach (string id in ids) { ketpart = new T_C_KEYPART(sfcdb, DBTYPE); newketpart = (Row_C_KEYPART)ketpart.GetObjByID(id, sfcdb); SQL += newketpart.GetDeleteString(DB_TYPE_ENUM.Oracle) + ";\n"; } sfcdb.ExecSQL("Begin\n" + SQL + "End;"); sfcdb.CommitTrain(); this.DBPools["SFCDB"].Return(sfcdb); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "刪除成功!!"; this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { sfcdb.RollbackTrain(); StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "刪除失敗!!"; if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } throw e; } }
public override void Start() { //判斷當前任務是否正在被執行:SELECT * From R_SYNC_LOCK where Lock_Name='{Section}' IsRuning = synLock.IsLock(Section, SFCDB, DB_TYPE_ENUM.Oracle, out lockIp); if (IsRuning) { throw new Exception(Section + " interface is running on " + lockIp + ",Please try again later"); } try { //TEST(); //寫一筆正在執行的記錄 synLock.SYNC_Lock(BU, ip, Section, Section, "interface", SFCDB, DB_TYPE_ENUM.Oracle); SFCDB.CommitTrain(); CallRFC(); } catch (Exception ex) { SFCDB.RollbackTrain(); throw new Exception("Start DownLoadWO Fail" + ex.Message); } synLock.SYNC_UnLock(BU, ip, Section, Section, "interface", SFCDB, DB_TYPE_ENUM.Oracle); SFCDB.CommitTrain(); }
public override void Start() { string oldSql = ""; string newSql = ""; string runSql = ""; string codeName = ""; string codeValue = ""; string description = ""; string route = ""; DataTable dtNew = new DataTable(); DataTable dtOld = new DataTable(); DataTable dtRoute = new DataTable(); try { newSFCDB = new OleExec("HWDMES", false); oldSFCDB = new OleExec("HWD_OLD_SFCDB", false); newSFCDB.ThrowSqlExeception = true; oldSFCDB.ThrowSqlExeception = true; if (updateDate != "") { newSql = $@"select * from c_sku where to_date(to_char(edit_time,'yyyy/mm/dd'),'yyyy/mm/dd') =to_date('{updateDate}','yyyy/mm/dd')"; } else { newSql = "select * from c_sku where edit_time>sysdate-1"; } dtNew = newSFCDB.ExecSelect(newSql).Tables[0]; //WriteLog.WriteIntoMESLog(newSFCDB, "HWD", "MESInterface", "MESInterface.HWD.CopySkuTypeToOld", "CopySkuTypeToOld", ip + ";" + dtNew.Rows.Count + "; Copy sku type to old DB fail," , "", "interface"); //newSFCDB.CommitTrain(); foreach (DataRow row in dtNew.Rows) { if (row["SKUNO"].ToString() != "") { try { runSql = $@"select c.* from r_sku_route a,c_sku b,c_route c where a.sku_id=b.id and c.id=a.route_id and b.skuno='{row["SKUNO"].ToString()}'"; dtRoute = newSFCDB.ExecSelect(runSql).Tables[0]; if (dtRoute.Rows.Count == 0) { throw new Exception(row["SKUNO"].ToString() + " can't setting route!"); } route = dtRoute.Rows[0]["ROUTE_NAME"].ToString(); oldSql = $@"select * from sfccodelike where skuno='{row["SKUNO"].ToString()}'"; dtOld = oldSFCDB.ExecSelect(oldSql).Tables[0]; runSql = ""; if (dtOld.Rows.Count > 0) { if (row["SKU_TYPE"].ToString() != "" && dtOld.Rows[0]["CATEGORY"].ToString() != row["SKU_TYPE"].ToString()) { runSql = $@" update sfccodelike set category='{row["SKU_TYPE"].ToString()}' where skuno='{row["SKUNO"].ToString()}'"; } } else { if (row["SKU_NAME"].ToString() != "") { codeName = row["SKU_NAME"].ToString(); codeValue = row["SKU_NAME"].ToString(); } else { codeName = row["SKUNO"].ToString(); codeValue = row["SKUNO"].ToString(); } if (row["DESCRIPTION"].ToString() != "") { description = row["DESCRIPTION"].ToString(); } else { description = row["SKUNO"].ToString(); } if (row["VERSION"].ToString() == "") { throw new Exception(row["SKUNO"].ToString() + " the version is null!"); } if (row["SKU_TYPE"].ToString() != "") { runSql = $@"insert into sfccodelike (category,codename,codevalue,skuno,version,custpartno,sfcroute,createby,createdate,series,ctntype,pltype,description) values ('{row["SKU_TYPE"].ToString()}', '{codeName}', '{codeValue}', '{row["SKUNO"].ToString()}', '{row["VERSION"].ToString()}', '{row["CUST_PARTNO"].ToString()}', '{route}', '{row["EDIT_EMP"].ToString()}', sysdate, 'HWD','C','PL','{description}')"; } else { throw new Exception(row["SKUNO"].ToString() + " can't setting sku type!"); } } //WriteLog.WriteIntoMESLog(newSFCDB, "HWD", "MESInterface", "MESInterface.HWD.CopySkuTypeToOld", "CopySkuTypeToOld", ip + ";" + row["SKUNO"].ToString() + "; Copy sku type to old DB fail,", runSql, "interface"); //newSFCDB.CommitTrain(); if (runSql != "") { oldSFCDB.ExecSQL(runSql); oldSFCDB.CommitTrain(); } } catch (Exception ex) { WriteLog.WriteIntoMESLog(newSFCDB, "HWD", "MESInterface", "MESInterface.HWD.CopySkuTypeToOld", "CopySkuTypeToOld", ip + ";" + row["SKUNO"].ToString() + ";" + ex.Message.ToString(), "", "interface"); newSFCDB.CommitTrain(); } } } } catch (Exception ex) { throw new Exception("Start CopySkuTypeToOld Fail" + ex.Message); //WriteLog.WriteIntoMESLog(newSFCDB, "HWD", "MESInterface", "MESInterface.HWD.CopySkuTypeToOld", "CopySkuTypeToOld", ip + ";Copy sku type to old DB fail," + ex.Message.ToString(), "", "interface"); } }
/// <summary> /// 刪除角色權限 /// </summary> public void DeleteRolePrivilege(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = this.DBPools["SFCDB"].Borrow(); string DeleteSql = "", P_code = ""; string strid = ""; string MenuID = ""; T_C_PRIVILEGE CheckExistMenuID = new T_C_PRIVILEGE(sfcdb, DBTYPE); Row_C_PRIVILEGE ChRow = (Row_C_PRIVILEGE)CheckExistMenuID.NewRow(); T_C_MENU tcm = new T_C_MENU(sfcdb, DBTYPE); DataTable rcm = new DataTable(); DataTable TTcm = new DataTable(); List <c_role_privilegeinfobyemp> RolePrivilegeList = new List <c_role_privilegeinfobyemp>(); List <string> DeletePrivilege = new List <string>(); List <MENUS> GetMenuList = new List <MENUS>(); T_C_ROLE_PRIVILEGE tcup = new T_C_ROLE_PRIVILEGE(sfcdb, DBTYPE); Row_C_ROLE_PRIVILEGE rcup = (Row_C_ROLE_PRIVILEGE)tcup.NewRow(); T_C_MENU Tmenu = new T_C_MENU(sfcdb, DBTYPE); string ROLE_ID = Data["ROLE_ID"].ToString(); try { //sfcdb.BeginTrain(); //foreach (string item in Data["PRIVILEGE_ID"]) //{ // DeletePrivilege.Add(item.Trim('\'').Trim('\"')); //} foreach (string item in Data["PRIVILEGE_ID"]) { string PRIVILEGE_ID = item.Trim('\'').Trim('\"'); //RolePrivilegeList = tcup.QueryRolePrivilege(ROLE_ID, sfcdb); //ChRow = (Row_C_PRIVILEGE)CheckExistMenuID.getC_PrivilegebyID(PRIVILEGE_ID, sfcdb); //if (ChRow.MENU_ID != null && ChRow.MENU_ID != "N/A") //{ // if (!Tmenu.Check_PARENT(ChRow.MENU_ID,sfcdb)) //CHECK刪除的權限是否存在下級權限 // { // GetMenuList = Tmenu.GetMenuNextID("PARENT_CODE", ChRow.MENU_ID, sfcdb); // if (GetMenuList!=null) // { // for (int i = 0; i < GetMenuList.Count-1; i++) // { // ChRow = (Row_C_PRIVILEGE)CheckExistMenuID.getC_PrivilegebyMenuID(GetMenuList[i].ID.ToString(), sfcdb); // c_role_privilegeinfobyemp h = RolePrivilegeList.Find(s=>s.PRIVILEGE_ID== ChRow.ID); // if (h != null) // { // string u = DeletePrivilege.Find(t => t == ChRow.ID); // if (u == null || u == "") // { // StationReturn.Status = StationReturnStatusValue.Fail; // StationReturn.Message = "要刪除的權限存在下級權限,無法越級刪除"; // StationReturn.Data = ChRow.PRIVILEGE_NAME; // this.DBPools["SFCDB"].Return(sfcdb); // return; // } // } // } // } // } // rcup = tcup.GetC_Role_Privilege_ID(ROLE_ID, PRIVILEGE_ID, sfcdb); // strid = rcup.ID.ToString(); // rcup = (Row_C_ROLE_PRIVILEGE)tcup.GetObjByID(strid, sfcdb); // DeleteSql += rcup.GetDeleteString(DBTYPE) + ";\n"; //} //else //{ // rcup = tcup.GetC_Role_Privilege_ID(ROLE_ID, PRIVILEGE_ID, sfcdb); // strid = rcup.ID.ToString(); // rcup = (Row_C_ROLE_PRIVILEGE)tcup.GetObjByID(strid, sfcdb); // DeleteSql += rcup.GetDeleteString(DBTYPE) + ";\n"; //} // by SDL CHECK要刪除的權限要是存在下級菜單則不允許刪除 rcup = tcup.GetC_Role_Privilege_ID(ROLE_ID, PRIVILEGE_ID, sfcdb); strid = rcup.ID.ToString(); rcup = (Row_C_ROLE_PRIVILEGE)tcup.GetObjByID(strid, sfcdb); DeleteSql += rcup.GetDeleteString(DBTYPE) + ";\n"; ChRow = (Row_C_PRIVILEGE)CheckExistMenuID.getC_PrivilegebyID(PRIVILEGE_ID, sfcdb); if (ChRow.MENU_ID != null || ChRow.MENU_ID != "N/A") { rcm = tcm.getC_MenubyPARENT_CODE(ChRow.MENU_ID, sfcdb); if (rcm.Rows.Count != 0) { for (int i = 0; i < rcm.Rows.Count - 1; i++) { MenuID = rcm.Rows[i]["ID"].ToString(); ChRow = (Row_C_PRIVILEGE)CheckExistMenuID.getC_PrivilegebyMenuID(MenuID, sfcdb); rcup = (Row_C_ROLE_PRIVILEGE)tcup.GetC_Role_Privilege_ID(ROLE_ID, ChRow.ID, sfcdb); if (P_code.IndexOf(MenuID) < 0 && rcup != null) { rcup = (Row_C_ROLE_PRIVILEGE)tcup.GetObjByID(rcup.ID, sfcdb); DeleteSql += rcup.GetDeleteString(DBTYPE) + ";\n"; P_code += MenuID + ","; } TTcm = tcm.getC_MenubyPARENT_CODE(MenuID, sfcdb); if (TTcm.Rows.Count != 0) { for (int j = 0; j < TTcm.Rows.Count - 1; j++) { MenuID = TTcm.Rows[j]["ID"].ToString(); ChRow = (Row_C_PRIVILEGE)CheckExistMenuID.getC_PrivilegebyMenuID(MenuID, sfcdb); if (ChRow != null) { rcup = (Row_C_ROLE_PRIVILEGE)tcup.GetC_Role_Privilege_ID(ROLE_ID, ChRow.ID, sfcdb); if (P_code.IndexOf(MenuID) < 0 && rcup != null) { rcup = (Row_C_ROLE_PRIVILEGE)tcup.GetObjByID(rcup.ID, sfcdb); DeleteSql += rcup.GetDeleteString(DBTYPE) + ";\n"; P_code += MenuID + ","; } } DataTable HHcm = tcm.getC_MenubyPARENT_CODE(MenuID, sfcdb); if (HHcm.Rows.Count != 0) { for (int z = 0; z < HHcm.Rows.Count - 1; z++) { MenuID = HHcm.Rows[z]["ID"].ToString(); ChRow = (Row_C_PRIVILEGE)CheckExistMenuID.getC_PrivilegebyMenuID(MenuID, sfcdb); if (ChRow != null) { rcup = (Row_C_ROLE_PRIVILEGE)tcup.GetC_Role_Privilege_ID(ROLE_ID, ChRow.ID, sfcdb); if (P_code.IndexOf(MenuID) < 0 && rcup != null) { rcup = (Row_C_ROLE_PRIVILEGE)tcup.GetObjByID(rcup.ID, sfcdb); DeleteSql += rcup.GetDeleteString(DBTYPE) + ";\n"; P_code += MenuID + ","; } } } } } } } } } } DeleteSql = "begin\n" + DeleteSql + "end;"; sfcdb.ExecSQL(DeleteSql); sfcdb.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "刪除成功"; sfcdb.CommitTrain(); this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { sfcdb.RollbackTrain(); this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
/// <summary> ///給用戶添加角色 INSERT C_USER_ROLE,并更新C_USER LEVEL_FLAG欄位的值 0表示普通用戶,1表示普通管理員,9 IT所有 /// </summary> public void AddUserRolePrivilege(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string InsertSql = "", UpdateSql = ""; T_c_user_role UserRoler; T_c_user EmpLevel; string EMP_NO = Data["EMP_NO"].ToString(); string LEVEL_FLAG = Data["LEVEL_FLAG"].ToString(); // string[] ROLE_ID = Data["ROLE_ID"].ToString().Trim('[').Trim(']').Split(','); try { sfcdb = this.DBPools["SFCDB"].Borrow(); sfcdb.BeginTrain(); UserRoler = new T_c_user_role(sfcdb, DBTYPE); EmpLevel = new T_c_user(sfcdb, DBTYPE); string USER_ID = UserRoler.GetUserID(EMP_NO, sfcdb); foreach (string item in Data["ROLE_ID"]) { string strroleid = item.Trim('\'').Trim('\"'); if (UserRoler.CheckUserRole(USER_ID, strroleid, sfcdb)) { Row_c_user_role row = (Row_c_user_role)UserRoler.NewRow(); row.ID = UserRoler.GetNewID(BU, sfcdb); row.USER_ID = USER_ID; row.ROLE_ID = strroleid; row.EDIT_EMP = LoginUser.EMP_NO; row.SYSTEM_NAME = SystemName; row.EDIT_TIME = GetDBDateTime(); InsertSql += row.GetInsertString(DBTYPE) + ";\n"; } else { sfcdb.RollbackTrain(); StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.Message = "該用戶已擁有該角色"; StationReturn.Data = ""; this.DBPools["SFCDB"].Return(sfcdb); return; } } InsertSql = "begin\n" + InsertSql + "end;"; sfcdb.ExecSQL(InsertSql); if (EmpLevel.CheckEmpLevel(USER_ID, LEVEL_FLAG, sfcdb)) { Row_c_user RowLevel = (Row_c_user)EmpLevel.GetObjByID(USER_ID, sfcdb); RowLevel.ID = USER_ID; RowLevel.EMP_LEVEL = LEVEL_FLAG; RowLevel.EDIT_EMP = LoginUser.EMP_NO; RowLevel.EDIT_TIME = GetDBDateTime(); UpdateSql = RowLevel.GetUpdateString(DBTYPE); sfcdb.ExecSQL(UpdateSql); } sfcdb.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "添加成功"; sfcdb.CommitTrain(); this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { sfcdb.RollbackTrain(); this.DBPools["SFCDB"].Return(sfcdb); throw e; } }
/// <summary> /// Deploy New Class Time Row /// </summary> /// <param name="requestValue"></param> /// <param name="Data"></param> /// <param name="StationReturn"></param> public void DeployNewClassTime(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { MESException exception = new MESException(""); string[] msg = new string[1]; if (string.IsNullOrEmpty(Data["WORK_SECTION"].ToString())) { //msg[0] = "Please Input Work Section"; //throw exception.GetMESException("", "", msg); throw new Exception("Please Input Work Section"); } if (string.IsNullOrEmpty(Data["START_TIME"].ToString())) { throw new Exception("Please Input Start Time"); } if (string.IsNullOrEmpty(Data["END_TIME"].ToString())) { throw new Exception("Please Input End Time"); } if (string.IsNullOrEmpty(Data["DAY_DISTINCT"].ToString())) { throw new Exception("Please Input Day Distinct"); } string strRet = ""; OleExec sfcdb = this.DBPools["SFCDB"].Borrow(); T_C_CLASS_TIME classTime = new T_C_CLASS_TIME(sfcdb, DB_TYPE_ENUM.Oracle); Row_C_CLASS_TIME r = (Row_C_CLASS_TIME)classTime.NewRow(); //r.ID = classTime.GetNewID(this.BU,sfcdb,DB_TYPE_ENUM.Oracle); r.ID = classTime.GetNewID("HWD", sfcdb, DB_TYPE_ENUM.Oracle); r.SEQ_NO = classTime.GetTotalRows(sfcdb) + 1; r.WORK_SECTION = Data["WORK_SECTION"].ToString().Trim(); r.START_TIME = Data["START_TIME"].ToString().Trim(); r.END_TIME = Data["END_TIME"].ToString().Trim(); if (Data["DAY_DISTINCT"].ToString().Trim() == "Shift1") { r.WORK_CLASS = ((int)WORK_CLASS.Shift1).ToString(); r.DAY_DISTINCT = WORK_CLASS.Shift1.ToString(); } else { r.WORK_CLASS = ((int)WORK_CLASS.Shift2).ToString(); r.DAY_DISTINCT = WORK_CLASS.Shift2.ToString(); } r.EDIT_EMP = this.LoginUser; r.EDIT_TIME = DateTime.Now; strRet = sfcdb.ExecSQL(r.GetInsertString(DB_TYPE_ENUM.Oracle)); try { int rows = int.Parse(strRet); sfcdb.CommitTrain(); StationReturn.Status = "PASS"; StationReturn.Message = "OK,Deploy New Class Time OK!"; StationReturn.data = rows; } catch { sfcdb.RollbackTrain(); StationReturn.Status = "FAIL"; StationReturn.Message = strRet; StationReturn.data = ""; } this.DBPools["SFCDB"].Return(sfcdb); }
public void DeleteSeriesById(JObject requestValue, JToken Data, MESStationReturn StationReturn) { OleExec sfcdb = null; string DeleteSql = ""; string strid = ""; T_C_SERIES DeleteInformation; Newtonsoft.Json.Linq.JArray seriesId = (Newtonsoft.Json.Linq.JArray)Data["ID"]; try { sfcdb = this.DBPools["SFCDB"].Borrow(); sfcdb.BeginTrain(); DeleteInformation = new T_C_SERIES(sfcdb, DBTYPE); for (int i = 0; i < seriesId.Count; i++) { strid = seriesId[i].ToString(); Row_C_SERIES row = (Row_C_SERIES)DeleteInformation.GetObjByID(strid, sfcdb); DeleteSql += row.GetDeleteString(DBTYPE) + ";\n"; } DeleteSql = "begin\n" + DeleteSql + "end;"; sfcdb.ExecSQL(DeleteSql); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000004"; sfcdb.CommitTrain(); this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception e) { sfcdb.RollbackTrain(); this.DBPools["SFCDB"].Return(sfcdb); throw e; } //string seriesId = Data["SeriesId"].ToString(); //if (string.IsNullOrEmpty(seriesId)) //{ // StationReturn.Status = StationReturnStatusValue.Fail; // StationReturn.MessageCode = "MES00000006"; // StationReturn.MessagePara = new List<Object>() { "Series" }; // StationReturn.Data = null; // return; //} //OleExec sfcdb = DBPools["SFCDB"].Borrow(); //Row_C_SERIES c_series = (Row_C_SERIES) new T_C_SERIES(sfcdb, DB_TYPE_ENUM.Oracle).NewRow(); //string[] ids = seriesId.Split(','); //try //{ // sfcdb.BeginTrain(); // string deleteString = null; // foreach (string id in ids) // { // deleteString = c_series.GetDeleteString(DB_TYPE_ENUM.Oracle, id); // sfcdb.ExecuteNonQuery(deleteString, CommandType.Text, null); // } // sfcdb.CommitTrain(); //} //catch (Exception ex) //{ // sfcdb.RollbackTrain(); // if (sfcdb != null) this.DBPools["SFCDB"].Return(sfcdb); // throw ex; //} //StationReturn.Status = StationReturnStatusValue.Pass; //StationReturn.MessageCode = "MES00000004"; //StationReturn.Data = ""; //if (sfcdb != null) this.DBPools["SFCDB"].Return(sfcdb); }
public void AddLink(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { System.Web.Script.Serialization.JavaScriptSerializer JsonConvert = new System.Web.Script.Serialization.JavaScriptSerializer(); OleExec sfcdb = this.DBPools["SFCDB"].Borrow(); T_C_KEYPART ketpart; Row_C_KEYPART newketpart; string KeyPartId = Data["KEYPART_ID"].ToString().Trim(); string StationName = Data["STATION_NAME"].ToString().Trim(); string Skuno = Data["SKUNO"].ToString().Trim(); string SkunoVer = Data["SKUNO_VER"].ToString().Trim(); //string SEQ = Data["SEQ"].ToString().Trim(); string SQL = ""; sfcdb.BeginTrain(); try { if (KeyPartId.Length <= 0) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000006"; StationReturn.MessagePara.Add("KEYPART_ID"); return; } if (StationName.Length <= 0) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000006"; StationReturn.MessagePara.Add("STAION_NAME"); return; } if (Skuno.Length <= 0) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000006"; StationReturn.MessagePara.Add("SKUNO"); return; } if (SkunoVer.Length <= 0) { StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000006"; StationReturn.MessagePara.Add("SKUNO_VER"); return; } KEYPARTLIST list = new KEYPARTLIST(); foreach (Newtonsoft.Json.Linq.JToken s in Data["KEYPARTLIST"]) { int i = 10; list = (KEYPARTLIST)JsonConvert.Deserialize(s.ToString(), typeof(KEYPARTLIST)); ketpart = new T_C_KEYPART(sfcdb, DBTYPE); newketpart = (Row_C_KEYPART)ketpart.NewRow(); newketpart.ID = ketpart.GetNewID(BU, sfcdb); newketpart.KEYPART_ID = KeyPartId; newketpart.SEQ_NO = list.SEQ; newketpart.PART_NO = list.PART_NO; newketpart.PART_NO_VER = list.PART_NO_VER; newketpart.QTY = Convert.ToDouble(list.QTY); newketpart.STATION_NAME = StationName; newketpart.CATEGORY = list.CATEGORY; newketpart.CATEGORY_NAME = list.CATEGORY_NAME; newketpart.SKUNO = Skuno; newketpart.SKUNO_VER = SkunoVer; newketpart.EDIT_EMP = LoginUser.EMP_NO; newketpart.EDIT_TIME = GetDBDateTime(); i += 10; SQL += newketpart.GetInsertString(DB_TYPE_ENUM.Oracle) + ";\n"; } sfcdb.ExecSQL("Begin\n" + SQL + "End;"); sfcdb.CommitTrain(); this.DBPools["SFCDB"].Return(sfcdb); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.Message = "添加成功!!"; } catch (Exception e) { sfcdb.RollbackTrain(); StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "添加失敗!!"; if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } throw e; } }
public void DeleteByIdArray(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JToken Data, MESStationReturn StationReturn) { OleExec sfcdb = null; try { sfcdb = this.DBPools["SFCDB"].Borrow(); T_C_STORAGE_CODE TC_STORAGE_CODE = new T_C_STORAGE_CODE(sfcdb, MESDataObject.DB_TYPE_ENUM.Oracle); C_STORAGE_CODE GetC_STORAGE_CODE = new C_STORAGE_CODE(); string strIdArray = Data["IdArray"].ToString().Trim(); strIdArray = strIdArray.Replace("[", "").Replace("]", ""); strIdArray = strIdArray.Replace("\"", ""); string[] IdArray = strIdArray.Replace("\r\n", "").Split(','); bool isError = false; if (IdArray == null || IdArray.Length <= 0) { StationReturn.Data = ""; StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000006"; StationReturn.MessagePara.Add("IdArray"); } else { isError = false; sfcdb.BeginTrain(); for (int i = 0; i < IdArray.Length; i++) { GetC_STORAGE_CODE = TC_STORAGE_CODE.GetById(IdArray[i].Trim(), sfcdb); if (GetC_STORAGE_CODE != null) { int result = TC_STORAGE_CODE.DeleteById(IdArray[i].Trim(), sfcdb); if (result <= 0) { StationReturn.Data = IdArray[i].Trim(); StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000023"; StationReturn.MessagePara.Add("C_STORAGE_CODE"); isError = true; break; } } else { StationReturn.Data = ""; StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000007"; StationReturn.MessagePara.Add("Id:" + IdArray[i].Trim()); isError = true; break; } } if (isError) { sfcdb.RollbackTrain(); } else { sfcdb.CommitTrain(); StationReturn.Data = ""; StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000001"; } } this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception ex) { if (sfcdb != null) { this.DBPools["SFCDB"].Return(sfcdb); } StationReturn.Data = ""; StationReturn.Status = StationReturnStatusValue.Fail; StationReturn.MessageCode = "MES00000037"; StationReturn.MessagePara.Add(ex.Message); } }
public static void SNFailAction_Old(MESStation.BaseClass.MESStationBase Station, MESStation.BaseClass.MESStationInput Input, List <R_Station_Action_Para> Paras) { string R_SN_STATION_DETAIL_ID = ""; if (Paras.Count == 0) { throw new Exception(MESReturnMessage.GetMESReturnMessage("MES00000050")); } MESStationSession SNLoadPoint = Station.StationSession.Find(t => t.MESDataType == Paras[0].SESSION_TYPE && t.SessionKey == Paras[0].SESSION_KEY); if (SNLoadPoint == null) { SNLoadPoint = new MESStationSession() { MESDataType = "SN", InputValue = Input.Value.ToString(), SessionKey = "1", ResetInput = Input }; Station.StationSession.Add(SNLoadPoint); } //獲取頁面傳過來的數據 string failCode = Station.Inputs.Find(s => s.DisplayName == "Fail_Code").Value.ToString(); string failLocation = Station.Inputs.Find(s => s.DisplayName == "Fail_Location").Value.ToString(); string failProcess = Station.Inputs.Find(s => s.DisplayName == "Fail_Process").Value.ToString(); string failDescription = Station.Inputs.Find(s => s.DisplayName == "Description").Value.ToString(); string strSn = Input.Value.ToString(); OleExec oleDB = null; oleDB = Station.SFCDB; //oleDB = this.DBPools["SFCDB"].Borrow(); oleDB.BeginTrain(); //以下執行 要么全成功,要么全失敗 //更新R_SN REPAIR_FAILED_FLAG=’1’ T_R_SN rSn = new T_R_SN(Station.SFCDB, DB_TYPE_ENUM.Oracle); Row_R_SN rrSn = (Row_R_SN)rSn.NewRow(); R_SN r = rSn.GetDetailBySN(strSn, Station.SFCDB); rrSn = (Row_R_SN)rSn.GetObjByID(r.ID, Station.SFCDB); rrSn.REPAIR_FAILED_FLAG = "1"; string strRet = (Station.SFCDB).ExecSQL(rrSn.GetUpdateString(DB_TYPE_ENUM.Oracle)); if (!(Convert.ToInt32(strRet) > 0)) { throw new Exception("update repair failed flag error!"); } //新增一筆FAIL記錄到R_SN_STATION_DETAIL T_R_SN_STATION_DETAIL rSnStationDetail = new T_R_SN_STATION_DETAIL(Station.SFCDB, DB_TYPE_ENUM.Oracle); R_SN_STATION_DETAIL_ID = rSnStationDetail.GetNewID(Station.BU, Station.SFCDB); string detailResult = rSnStationDetail.AddDetailToRSnStationDetail(R_SN_STATION_DETAIL_ID, rrSn.GetDataObject(), Station.Line, Station.StationName, Station.StationName, Station.SFCDB); if (!(Convert.ToInt32(detailResult) > 0)) { throw new Exception("Insert sn station detail error!"); } //新增一筆到R_REPAIR_MAIN T_R_REPAIR_MAIN tRepairMain = new T_R_REPAIR_MAIN(Station.SFCDB, DB_TYPE_ENUM.Oracle); Row_R_REPAIR_MAIN rRepairMain = (Row_R_REPAIR_MAIN)tRepairMain.NewRow(); rRepairMain.ID = tRepairMain.GetNewID(Station.BU, Station.SFCDB); rRepairMain.SN = strSn; rRepairMain.WORKORDERNO = rrSn.WORKORDERNO; rRepairMain.SKUNO = rrSn.SKUNO; rRepairMain.FAIL_LINE = Station.Line; rRepairMain.FAIL_STATION = Station.StationName; rRepairMain.FAIL_EMP = Station.User.EMP_NO; rRepairMain.FAIL_TIME = Station.GetDBDateTime(); rRepairMain.CLOSED_FLAG = "0"; string insertResult = (Station.SFCDB).ExecSQL(rRepairMain.GetInsertString(DB_TYPE_ENUM.Oracle)); if (!(Convert.ToInt32(insertResult) > 0)) { throw new Exception("Insert repair main error!"); } //新增一筆到R_REPAIR_FAILCODE T_R_REPAIR_FAILCODE tRepairFailCode = new T_R_REPAIR_FAILCODE(Station.SFCDB, DB_TYPE_ENUM.Oracle); Row_R_REPAIR_FAILCODE rRepairFailCode = (Row_R_REPAIR_FAILCODE)tRepairFailCode.NewRow(); rRepairFailCode.ID = tRepairFailCode.GetNewID(Station.BU, Station.SFCDB); rRepairFailCode.REPAIR_MAIN_ID = rRepairMain.ID; rRepairFailCode.SN = strSn; rRepairFailCode.FAIL_CODE = failCode; rRepairFailCode.FAIL_EMP = Station.User.EMP_NO; rRepairFailCode.FAIL_TIME = DateTime.Now; rRepairFailCode.FAIL_CATEGORY = "SYMPTON"; rRepairFailCode.FAIL_LOCATION = failLocation; rRepairFailCode.FAIL_PROCESS = failProcess; rRepairFailCode.DESCRIPTION = failDescription; rRepairFailCode.REPAIR_FLAG = "0"; string strResult = (Station.SFCDB).ExecSQL(rRepairFailCode.GetInsertString(DB_TYPE_ENUM.Oracle)); if (!(Convert.ToInt32(strResult) > 0)) { throw new Exception("Insert repair failcode error!"); } oleDB.CommitTrain(); Station.AddMessage("MES00000001", new string[] { }, MESReturnView.Station.StationMessageState.Pass); }
/// <summary> /// 保存工站信息 /// </summary> /// <param name="requestValue"></param> /// <param name="Data"></param> /// <param name="StationReturn"></param> public void SaveStation(Newtonsoft.Json.Linq.JObject requestValue, Newtonsoft.Json.Linq.JObject Data, MESStationReturn StationReturn) { string DisplayName = Data["Station"]["DISPLAY_STATION_NAME"]?.ToString(); string StationName = Data["Station"]["STATION_NAME"]?.ToString(); string FailStationID = Data["Station"]["FAIL_STATION_ID"]?.ToString(); double FailStationFlag = Convert.ToDouble(Data["Station"]["FAIL_STATION_FLAG"]); try { FailStationFlag = Convert.ToDouble(Data["Station"]["FAIL_STATION_FLAG"]); } catch { } string StationID = Data["Station"]["ID"]?.ToString(); OleExec sfcdb = this.DBPools["SFCDB"].Borrow(); try { sfcdb.BeginTrain(); ByIDDeleteStationID(StationID, sfcdb);//刪除整下工站 AddStation(DisplayName, StationName, FailStationID, FailStationFlag, StationID, sfcdb); //插入R_Station_Output表 for (int i = 0; i < Data["Station"]["OutputList"].Count(); i++) { JToken output = Data["Station"]["OutputList"][i]; AddStationOutput(output, sfcdb); } //插入 R_Station_Input 表 for (int i = 0; i < Data["Station"]["InputList"].Count(); i++) { //插入 R_Station_Input 表 JToken input = Data["Station"]["InputList"][i]; AddInput(input, sfcdb); ////插入 R_Input_Action 表 //for (int j = 0; j < input["InputActionList"].Count(); j++) //{ // JToken iaction = input["InputActionList"][j]; // AddInputActionS(iaction, sfcdb); // for (int k = 0; k < iaction["ParaSA"].Count(); k++) //插入R_Station_Action_Para表 // { // AddStationActionPara(iaction["ParaSA"][k], sfcdb); // } //} //插入 R_Station_Action 表 for (int j = 0; j < input["StationActionList"].Count(); j++) { JToken saction = input["StationActionList"][j]; AddStationAction(saction, sfcdb); for (int k = 0; k < saction["ParaSA"].Count(); k++) //插入R_Station_Action_Para表 { AddStationActionPara(saction["ParaSA"][k], sfcdb); } } } sfcdb.CommitTrain(); StationReturn.Status = StationReturnStatusValue.Pass; StationReturn.MessageCode = "MES00000001"; this.DBPools["SFCDB"].Return(sfcdb); } catch (Exception ee) { sfcdb.RollbackTrain(); this.DBPools["SFCDB"].Return(sfcdb); throw ee; } }