/// <summary> /// 更新设备组数据。 /// </summary> /// <param name="dsParams">包含设备组数据的数据集对象。</param> /// <returns>包含执行结果的数据集对象。</returns> public DataSet UpdateEquipmentGroups(DataSet dsParams) { DataSet resDS = new DataSet(); try { if (dsParams != null && dsParams.Tables.Contains(EMS_EQUIPMENT_GROUPS_FIELDS.DATABASE_TABLE_NAME) && dsParams.Tables.Contains(PARAMETERS_INPUT.DATABASE_TABLE_NAME)) { DataTable equipmentGroupsDataTable = dsParams.Tables[EMS_EQUIPMENT_GROUPS_FIELDS.DATABASE_TABLE_NAME]; DataTable inputParamDataTable = dsParams.Tables[PARAMETERS_INPUT.DATABASE_TABLE_NAME]; #region Build Conditions List List <Conditions> conditionsList = new List <Conditions>(); foreach (DataRow row in inputParamDataTable.Rows) { Conditions conditions = new Conditions(); Condition keyCondition; if (row[PARAMETERS_INPUT.FIELD_KEY] != null && row[PARAMETERS_INPUT.FIELD_KEY] != DBNull.Value) { keyCondition = new Condition(DatabaseLogicOperator.And, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EQUIPMENT_GROUP_KEY, DatabaseCompareOperator.Equal, row[PARAMETERS_INPUT.FIELD_KEY].ToString()); } else { keyCondition = new Condition(DatabaseLogicOperator.And, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EQUIPMENT_GROUP_KEY, DatabaseCompareOperator.Null, string.Empty); } conditions.Add(keyCondition); Condition editorCondition; if (row[PARAMETERS_INPUT.FIELD_EDITOR] != null && row[PARAMETERS_INPUT.FIELD_EDITOR] != DBNull.Value) { editorCondition = new Condition(DatabaseLogicOperator.And, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EDITOR, DatabaseCompareOperator.Equal, row[PARAMETERS_INPUT.FIELD_EDITOR].ToString()); } else { editorCondition = new Condition(DatabaseLogicOperator.And, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EDITOR, DatabaseCompareOperator.Null, string.Empty); } conditions.Add(editorCondition); Condition editTimeCondition; if (row[PARAMETERS_INPUT.FIELD_EDIT_TIME] != null && row[PARAMETERS_INPUT.FIELD_EDIT_TIME] != DBNull.Value) { editTimeCondition = new Condition(DatabaseLogicOperator.And, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EDIT_TIME, DatabaseCompareOperator.Equal, row[PARAMETERS_INPUT.FIELD_EDIT_TIME].ToString()); } else { editTimeCondition = new Condition(DatabaseLogicOperator.And, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EDIT_TIME, DatabaseCompareOperator.Null, string.Empty); } conditions.Add(editTimeCondition); conditionsList.Add(conditions); } #endregion EMS_EQUIPMENT_GROUPS_FIELDS equipmentGroupsFields = new EMS_EQUIPMENT_GROUPS_FIELDS(); List <string> sqlStringList = DatabaseTable.BuildUpdateSqlStatements(equipmentGroupsFields, equipmentGroupsDataTable, conditionsList); string equipmentGroupKey = string.Empty; string equipmentGroupName = string.Empty; string sqlString = string.Empty; string editTime = string.Empty; if (sqlStringList.Count > 0 && inputParamDataTable.Rows.Count > 0 && equipmentGroupsDataTable.Rows.Count > 0) { equipmentGroupKey = inputParamDataTable.Rows[0][PARAMETERS_INPUT.FIELD_KEY].ToString(); equipmentGroupName = equipmentGroupsDataTable.Rows[0][EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EQUIPMENT_GROUP_NAME].ToString(); sqlString = sqlStringList[0]; } using (DbConnection connection = db.CreateConnection()) { connection.Open(); using (DbTransaction transaction = connection.BeginTransaction()) { try { #region Check Equipment Group Name if (!string.IsNullOrEmpty(equipmentGroupName)) { Conditions conditions = new Conditions(); conditions.Add(DatabaseLogicOperator.And, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EQUIPMENT_GROUP_NAME, DatabaseCompareOperator.Equal, equipmentGroupName); conditions.Add(DatabaseLogicOperator.And, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EQUIPMENT_GROUP_KEY, DatabaseCompareOperator.NotEqual, equipmentGroupKey); string returnData = AllCommonFunctions.GetSpecifyTableColumnData(equipmentGroupsFields, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EQUIPMENT_GROUP_NAME, conditions, transaction); if (!string.IsNullOrEmpty(returnData)) { throw new Exception("${res:FanHai.Hemera.Modules.EMS.EquipmentGroups.M0001}"); } } #endregion if (db.ExecuteNonQuery(transaction, CommandType.Text, sqlString) > 0) { editTime = AllCommonFunctions.GetSpecifyTableColumnData(equipmentGroupsFields, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EDIT_TIME, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EQUIPMENT_GROUP_KEY, equipmentGroupKey, transaction); } else { throw new Exception("${res:FanHai.Hemera.Module.Common.M0002}"); } transaction.Commit(); } catch (Exception ex) { LogService.LogError("UpdateEquipmentGroups Error: " + ex.Message); transaction.Rollback(); throw; } finally { connection.Close(); } } } FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(resDS, string.Empty, editTime); } else { FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(resDS, "${res:FanHai.Hemera.Module.Common.M0001}"); } } catch (Exception ex) { FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(resDS, ex.Message); LogService.LogError("UpdateEquipmentGroups Error: " + ex.Message); } return(resDS); }
public DataSet UpdateCheckListJob(DataSet reqDS) { DataSet resDS = new DataSet(); if (reqDS != null && reqDS.Tables.Contains(EMS_CHECKLIST_JOBS_FIELDS.DATABASE_TABLE_NAME) && reqDS.ExtendedProperties.ContainsKey(PARAMETERS.INPUT_KEY) && reqDS.ExtendedProperties.ContainsKey(PARAMETERS.INPUT_EDITOR) && reqDS.ExtendedProperties.ContainsKey(PARAMETERS.INPUT_EDIT_TIME)) { DataTable checkListJobsDataTable = reqDS.Tables[EMS_CHECKLIST_JOBS_FIELDS.DATABASE_TABLE_NAME]; string checkListJobKey = reqDS.ExtendedProperties[PARAMETERS.INPUT_KEY].ToString(); string editor = reqDS.ExtendedProperties[PARAMETERS.INPUT_EDITOR].ToString(); string editTime = reqDS.ExtendedProperties[PARAMETERS.INPUT_EDIT_TIME].ToString(); try { EMS_CHECKLIST_JOBS_FIELDS checkListJobsFields = new EMS_CHECKLIST_JOBS_FIELDS(); #region Build Update SQL Conditions Conditions conditions = new Conditions(); Condition condition; if (string.IsNullOrEmpty(checkListJobKey)) { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_CHECKLIST_JOBS_FIELDS.FIELD_CHECKLIST_JOB_KEY, GlobalEnums.DatabaseCompareOperator.Null, string.Empty); } else { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_CHECKLIST_JOBS_FIELDS.FIELD_CHECKLIST_JOB_KEY, GlobalEnums.DatabaseCompareOperator.Equal, checkListJobKey); } conditions.Add(condition); if (string.IsNullOrEmpty(editor)) { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_CHECKLIST_JOBS_FIELDS.FIELD_EDITOR, GlobalEnums.DatabaseCompareOperator.Null, string.Empty); } else { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_CHECKLIST_JOBS_FIELDS.FIELD_EDITOR, GlobalEnums.DatabaseCompareOperator.Equal, editor); } conditions.Add(condition); if (string.IsNullOrEmpty(editTime)) { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_CHECKLIST_JOBS_FIELDS.FIELD_EDIT_TIME, GlobalEnums.DatabaseCompareOperator.Null, string.Empty); } else { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_CHECKLIST_JOBS_FIELDS.FIELD_EDIT_TIME, GlobalEnums.DatabaseCompareOperator.Equal, editTime); } conditions.Add(condition); List <Conditions> conditionsList = new List <Conditions>() { conditions }; #endregion List <string> sqlStringList = DatabaseTable.BuildUpdateSqlStatements(checkListJobsFields, checkListJobsDataTable, conditionsList); string sqlString = string.Empty; if (sqlStringList.Count > 0 && checkListJobsDataTable.Rows.Count > 0) { sqlString = sqlStringList[0]; } using (DbConnection connection = db.CreateConnection()) { connection.Open(); using (DbTransaction transaction = connection.BeginTransaction()) { try { #region Update Check List Job Data if (db.ExecuteNonQuery(transaction, CommandType.Text, sqlString) > 0) { editTime = AllCommonFunctions.GetSpecifyTableColumnData(checkListJobsFields, EMS_CHECKLIST_JOBS_FIELDS.FIELD_EDIT_TIME, EMS_CHECKLIST_JOBS_FIELDS.FIELD_CHECKLIST_JOB_KEY, checkListJobKey, transaction); } else { throw new Exception("数据处理失败,请重新刷新数据后再提交!"); } #endregion transaction.Commit(); } catch { transaction.Rollback(); throw; } finally { connection.Close(); } } } resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, string.Empty); resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_EDIT_TIME, editTime); } catch (Exception ex) { resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, ex.Message); LogService.LogError("UpdateCheckListJob Error: " + ex.Message); } } else { resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, "提交数据不存在,请重新提交!"); } return(resDS); }
/// <summary> /// 新增设备组。 /// </summary> /// <param name="dsParams">包含设备组数据的数据集对象。</param> /// <returns>包含执行结果的数据集对象。</returns> public DataSet InsertEquipmentGroups(DataSet dsParams) { DataSet resDS = new DataSet(); try { if (dsParams != null && dsParams.Tables.Contains(EMS_EQUIPMENT_GROUPS_FIELDS.DATABASE_TABLE_NAME) && dsParams.Tables.Contains(PARAMETERS_INPUT.DATABASE_TABLE_NAME)) { DataTable equipmentGroupsDataTable = dsParams.Tables[EMS_EQUIPMENT_GROUPS_FIELDS.DATABASE_TABLE_NAME]; DataTable inputParamDataTable = dsParams.Tables[PARAMETERS_INPUT.DATABASE_TABLE_NAME]; EMS_EQUIPMENT_GROUPS_FIELDS equipmentGroupsFields = new EMS_EQUIPMENT_GROUPS_FIELDS(); List <string> sqlStringList = DatabaseTable.BuildInsertSqlStatements(equipmentGroupsFields, equipmentGroupsDataTable); string equipmentGroupKey = string.Empty; string equipmentGroupName = string.Empty; string sqlString = string.Empty; string createTime = string.Empty; if (sqlStringList.Count > 0 && inputParamDataTable.Rows.Count > 0 && equipmentGroupsDataTable.Rows.Count > 0) { equipmentGroupKey = inputParamDataTable.Rows[0][PARAMETERS_INPUT.FIELD_KEY].ToString(); equipmentGroupName = equipmentGroupsDataTable.Rows[0][EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EQUIPMENT_GROUP_NAME].ToString(); sqlString = sqlStringList[0]; } using (DbConnection connection = db.CreateConnection()) { connection.Open(); using (DbTransaction transaction = connection.BeginTransaction()) { try { #region Check Equipment Group Name string returnData = AllCommonFunctions.GetSpecifyTableColumnData(equipmentGroupsFields, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EQUIPMENT_GROUP_NAME, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EQUIPMENT_GROUP_NAME, equipmentGroupName, transaction); if (!string.IsNullOrEmpty(returnData)) { throw new Exception("${res:FanHai.Hemera.Modules.EMS.EquipmentGroups.M0001}"); } #endregion if (db.ExecuteNonQuery(transaction, CommandType.Text, sqlString) > 0) { createTime = AllCommonFunctions.GetSpecifyTableColumnData(equipmentGroupsFields, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_CREATE_TIME, EMS_EQUIPMENT_GROUPS_FIELDS.FIELD_EQUIPMENT_GROUP_KEY, equipmentGroupKey, transaction); } else { throw new Exception("${res:FanHai.Hemera.Module.Common.M0002}"); } transaction.Commit(); } catch (Exception ex) { LogService.LogError("InsertEquipmentGroups Error: " + ex.Message); transaction.Rollback(); throw; } finally { connection.Close(); } } } FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(resDS, string.Empty, createTime); } else { FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(resDS, "${res:FanHai.Hemera.Module.Common.M0001}"); } } catch (Exception ex) { FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(resDS, ex.Message); LogService.LogError("InsertEquipmentGroups Error: " + ex.Message); } return(resDS); }
public DataSet UpdateSchedulePM(DataSet reqDS) { DataSet resDS = new DataSet(); if (reqDS != null && reqDS.Tables.Contains(EMS_PM_SCHEDULE_FIELDS.DATABASE_TABLE_NAME) && reqDS.ExtendedProperties.ContainsKey(PARAMETERS.INPUT_KEY) && reqDS.ExtendedProperties.ContainsKey(PARAMETERS.INPUT_EDITOR) && reqDS.ExtendedProperties.ContainsKey(PARAMETERS.INPUT_EDIT_TIME)) { DataTable schedulePMDataTable = reqDS.Tables[EMS_PM_SCHEDULE_FIELDS.DATABASE_TABLE_NAME]; string scheduleKey = reqDS.ExtendedProperties[PARAMETERS.INPUT_KEY].ToString(); string editor = reqDS.ExtendedProperties[PARAMETERS.INPUT_EDITOR].ToString(); string editTime = reqDS.ExtendedProperties[PARAMETERS.INPUT_EDIT_TIME].ToString(); try { EMS_PM_SCHEDULE_FIELDS schedulePMFields = new EMS_PM_SCHEDULE_FIELDS(); #region Build Update SQL Conditions Conditions conditions = new Conditions(); Condition condition; if (string.IsNullOrEmpty(scheduleKey)) { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_PM_SCHEDULE_FIELDS.FIELD_SCHEDULE_KEY, GlobalEnums.DatabaseCompareOperator.Null, string.Empty); } else { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_PM_SCHEDULE_FIELDS.FIELD_SCHEDULE_KEY, GlobalEnums.DatabaseCompareOperator.Equal, scheduleKey); } conditions.Add(condition); if (string.IsNullOrEmpty(editor)) { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_PM_SCHEDULE_FIELDS.FIELD_EDITOR, GlobalEnums.DatabaseCompareOperator.Null, string.Empty); } else { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_PM_SCHEDULE_FIELDS.FIELD_EDITOR, GlobalEnums.DatabaseCompareOperator.Equal, editor); } conditions.Add(condition); if (string.IsNullOrEmpty(editTime)) { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_PM_SCHEDULE_FIELDS.FIELD_EDIT_TIME, GlobalEnums.DatabaseCompareOperator.Null, string.Empty); } else { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_PM_SCHEDULE_FIELDS.FIELD_EDIT_TIME, GlobalEnums.DatabaseCompareOperator.Equal, editTime); } conditions.Add(condition); List <Conditions> conditionsList = new List <Conditions>() { conditions }; #endregion List <string> sqlStringList = DatabaseTable.BuildUpdateSqlStatements(schedulePMFields, schedulePMDataTable, conditionsList); if (sqlStringList.Count > 0 && schedulePMDataTable.Rows.Count > 0) { string scheduleName = schedulePMDataTable.Rows[0][EMS_PM_SCHEDULE_FIELDS.FIELD_SCHEDULE_NAME].ToString(); string frequence = schedulePMDataTable.Rows[0][EMS_PM_SCHEDULE_FIELDS.FIELD_FREQUENCE].ToString(); string frequenceUnit = schedulePMDataTable.Rows[0][EMS_PM_SCHEDULE_FIELDS.FIELD_FREQUENCE_UNIT].ToString(); string nextEventTime = string.Empty; string sqlString = sqlStringList[0]; using (DbConnection connection = db.CreateConnection()) { connection.Open(); using (DbTransaction transaction = connection.BeginTransaction()) { try { #region Validate Schedule PM Name if (!string.IsNullOrEmpty(scheduleName)) { conditions = new Conditions(); conditions.Add(GlobalEnums.DatabaseLogicOperator.And, EMS_PM_SCHEDULE_FIELDS.FIELD_SCHEDULE_NAME, GlobalEnums.DatabaseCompareOperator.Equal, scheduleName); conditions.Add(GlobalEnums.DatabaseLogicOperator.And, EMS_PM_SCHEDULE_FIELDS.FIELD_SCHEDULE_KEY, GlobalEnums.DatabaseCompareOperator.NotEqual, scheduleKey); string returnData = AllCommonFunctions.GetSpecifyTableColumnData(schedulePMFields, EMS_PM_SCHEDULE_FIELDS.FIELD_SCHEDULE_NAME, conditions, transaction); if (!string.IsNullOrEmpty(returnData)) { throw new Exception("计划PM名称已存在!"); } } #endregion #region Update Schedule PM Data if (db.ExecuteNonQuery(transaction, CommandType.Text, sqlString) > 0) { if (string.IsNullOrEmpty(frequence) && string.IsNullOrEmpty(frequenceUnit)) { editTime = AllCommonFunctions.GetSpecifyTableColumnData(schedulePMFields, EMS_PM_SCHEDULE_FIELDS.FIELD_EDIT_TIME, EMS_PM_SCHEDULE_FIELDS.FIELD_SCHEDULE_KEY, scheduleKey, transaction); } else { #region Calculate Schedule PM Next Event Time sqlString = string.Format(@"UPDATE EMS_PM_SCHEDULE SET NEXT_EVENT_TIME = CASE FREQUENCE_UNIT WHEN '小时' THEN SYSDATE + FREQUENCE * INTERVAL '1' HOUR WHEN '天' THEN SYSDATE + FREQUENCE * INTERVAL '1' DAY WHEN '周' THEN SYSDATE + FREQUENCE * INTERVAL '7' DAY WHEN '月' THEN SYSDATE + FREQUENCE * INTERVAL '1' MONTH WHEN '年' THEN SYSDATE + FREQUENCE * INTERVAL '1' YEAR ELSE SYSDATE + FREQUENCE * INTERVAL '1' HOUR END WHERE SCHEDULE_KEY = '{0}'", scheduleKey); if (db.ExecuteNonQuery(transaction, CommandType.Text, sqlString) > 0) { #region Get Next Event Time And Edit Time List <string> interestFields = new List <string>(); interestFields.Add(EMS_PM_SCHEDULE_FIELDS.FIELD_NEXT_EVENT_TIME); interestFields.Add(EMS_PM_SCHEDULE_FIELDS.FIELD_EDIT_TIME); conditions = new Conditions(); conditions.Add(GlobalEnums.DatabaseLogicOperator.And, EMS_PM_SCHEDULE_FIELDS.FIELD_SCHEDULE_KEY, GlobalEnums.DatabaseCompareOperator.Equal, scheduleKey); sqlString = DatabaseTable.BuildQuerySqlStatement(schedulePMFields, interestFields, conditions); using (IDataReader dataReader = db.ExecuteReader(transaction, CommandType.Text, sqlString)) { if (dataReader.Read()) { nextEventTime = dataReader.GetDateTime(0).ToString(); editTime = dataReader.GetDateTime(1).ToString(); } dataReader.Close(); } #endregion } else { throw new Exception("计算下次PM时间出错!"); } #endregion } } else { throw new Exception("数据处理失败,请重新刷新数据后再提交!"); } #endregion transaction.Commit(); } catch { transaction.Rollback(); throw; } finally { connection.Close(); } } } resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, string.Empty); resDS.ExtendedProperties.Add(EMS_PM_SCHEDULE_FIELDS.FIELD_NEXT_EVENT_TIME, nextEventTime); resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_EDIT_TIME, editTime); } else { resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, "提交数据不存在,请重新提交!"); } } catch (Exception ex) { resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, ex.Message); LogService.LogError("UpdateSchedulePM Error: " + ex.Message); } } else { resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, "提交数据不存在,请重新提交!"); } return(resDS); }
public DataSet InsertPart(DataSet reqDS) { DataSet resDS = new DataSet(); if (reqDS != null && reqDS.Tables.Contains(EMS_EQUIPMENT_PARTS_FIELDS.DATABASE_TABLE_NAME)) { DataTable partsDataTable = reqDS.Tables[EMS_EQUIPMENT_PARTS_FIELDS.DATABASE_TABLE_NAME]; if (partsDataTable.Rows.Count > 0) { try { EMS_EQUIPMENT_PARTS_FIELDS partsFields = new EMS_EQUIPMENT_PARTS_FIELDS(); List <string> sqlStringList = DatabaseTable.BuildInsertSqlStatements(partsFields, partsDataTable); string partKey = partsDataTable.Rows[0][EMS_EQUIPMENT_PARTS_FIELDS.FIELD_EQUIPMENT_PART_KEY].ToString(); string partName = partsDataTable.Rows[0][EMS_EQUIPMENT_PARTS_FIELDS.FIELD_EQUIPMENT_PART_NAME].ToString(); string createTime = string.Empty; string sqlString = string.Empty; if (sqlStringList.Count > 0) { sqlString = sqlStringList[0]; } using (DbConnection connection = db.CreateConnection()) { connection.Open(); using (DbTransaction transaction = connection.BeginTransaction()) { try { #region Validate Part Name string returnData = AllCommonFunctions.GetSpecifyTableColumnData(partsFields, EMS_EQUIPMENT_PARTS_FIELDS.FIELD_EQUIPMENT_PART_NAME, EMS_EQUIPMENT_PARTS_FIELDS.FIELD_EQUIPMENT_PART_NAME, partName, transaction); if (!string.IsNullOrEmpty(returnData)) { throw new Exception("备件名称已存在!"); } #endregion #region Insert Part Data if (db.ExecuteNonQuery(transaction, CommandType.Text, sqlString) > 0) { createTime = AllCommonFunctions.GetSpecifyTableColumnData(partsFields, EMS_EQUIPMENT_PARTS_FIELDS.FIELD_CREATE_TIME, EMS_EQUIPMENT_PARTS_FIELDS.FIELD_EQUIPMENT_PART_KEY, partKey, transaction); } else { throw new Exception("数据处理失败,请重新刷新数据后再提交!"); } #endregion transaction.Commit(); } catch { transaction.Rollback(); throw; } finally { connection.Close(); } } } resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, string.Empty); resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_EDIT_TIME, createTime); } catch (Exception ex) { resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, ex.Message); LogService.LogError("InsertPart Error: " + ex.Message); } } else { resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, "提交数据不存在,请重新提交!"); } } else { resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, "提交数据不存在,请重新提交!"); } return(resDS); }
public DataSet UpdateCheckList(DataSet reqDS) { DataSet resDS = new DataSet(); if (reqDS != null && reqDS.Tables.Contains(EMS_CHECKLIST_FIELDS.DATABASE_TABLE_NAME) && reqDS.ExtendedProperties.ContainsKey(PARAMETERS.INPUT_KEY) && reqDS.ExtendedProperties.ContainsKey(PARAMETERS.INPUT_EDITOR) && reqDS.ExtendedProperties.ContainsKey(PARAMETERS.INPUT_EDIT_TIME)) { DataTable checkListDataTable = reqDS.Tables[EMS_CHECKLIST_FIELDS.DATABASE_TABLE_NAME]; string checkListKey = reqDS.ExtendedProperties[PARAMETERS.INPUT_KEY].ToString(); string editor = reqDS.ExtendedProperties[PARAMETERS.INPUT_EDITOR].ToString(); string editTime = reqDS.ExtendedProperties[PARAMETERS.INPUT_EDIT_TIME].ToString(); try { EMS_CHECKLIST_FIELDS checkListFields = new EMS_CHECKLIST_FIELDS(); #region Build Update SQL Conditions Conditions conditions = new Conditions(); Condition condition; if (string.IsNullOrEmpty(checkListKey)) { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_CHECKLIST_FIELDS.FIELD_CHECKLIST_KEY, GlobalEnums.DatabaseCompareOperator.Null, string.Empty); } else { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_CHECKLIST_FIELDS.FIELD_CHECKLIST_KEY, GlobalEnums.DatabaseCompareOperator.Equal, checkListKey); } conditions.Add(condition); if (string.IsNullOrEmpty(editor)) { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_CHECKLIST_FIELDS.FIELD_EDITOR, GlobalEnums.DatabaseCompareOperator.Null, string.Empty); } else { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_CHECKLIST_FIELDS.FIELD_EDITOR, GlobalEnums.DatabaseCompareOperator.Equal, editor); } conditions.Add(condition); if (string.IsNullOrEmpty(editTime)) { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_CHECKLIST_FIELDS.FIELD_EDIT_TIME, GlobalEnums.DatabaseCompareOperator.Null, string.Empty); } else { condition = new Condition(GlobalEnums.DatabaseLogicOperator.And, EMS_CHECKLIST_FIELDS.FIELD_EDIT_TIME, GlobalEnums.DatabaseCompareOperator.Equal, editTime); } conditions.Add(condition); List <Conditions> conditionsList = new List <Conditions>() { conditions }; #endregion List <string> sqlStringList = DatabaseTable.BuildUpdateSqlStatements(checkListFields, checkListDataTable, conditionsList); string checkListName = string.Empty; string sqlString = string.Empty; if (sqlStringList.Count > 0 && checkListDataTable.Rows.Count > 0) { checkListName = checkListDataTable.Rows[0][EMS_CHECKLIST_FIELDS.FIELD_CHECKLIST_NAME].ToString(); sqlString = sqlStringList[0]; } using (DbConnection connection = db.CreateConnection()) { connection.Open(); using (DbTransaction transaction = connection.BeginTransaction()) { try { #region Validate Check List Name if (!string.IsNullOrEmpty(checkListName)) { conditions = new Conditions(); conditions.Add(GlobalEnums.DatabaseLogicOperator.And, EMS_CHECKLIST_FIELDS.FIELD_CHECKLIST_NAME, GlobalEnums.DatabaseCompareOperator.Equal, checkListName); conditions.Add(GlobalEnums.DatabaseLogicOperator.And, EMS_CHECKLIST_FIELDS.FIELD_CHECKLIST_KEY, GlobalEnums.DatabaseCompareOperator.NotEqual, checkListKey); string returnData = AllCommonFunctions.GetSpecifyTableColumnData(checkListFields, EMS_CHECKLIST_FIELDS.FIELD_CHECKLIST_NAME, conditions, transaction); if (!string.IsNullOrEmpty(returnData)) { throw new Exception("检查表单名称已存在!"); } } #endregion #region Update Check List Data if (db.ExecuteNonQuery(transaction, CommandType.Text, sqlString) > 0) { editTime = AllCommonFunctions.GetSpecifyTableColumnData(checkListFields, EMS_CHECKLIST_FIELDS.FIELD_EDIT_TIME, EMS_CHECKLIST_FIELDS.FIELD_CHECKLIST_KEY, checkListKey, transaction); } else { throw new Exception("数据处理失败,请重新刷新数据后再提交!"); } #endregion #region Insert Check List Items Data if (reqDS.Tables[EMS_CHECKLIST_ITEM_FIELDS.DATABASE_TABLE_NAME] != null && reqDS.Tables[EMS_CHECKLIST_ITEM_FIELDS.DATABASE_TABLE_NAME].Rows.Count > 0) { #region Delete Check List Items Data sqlString = string.Format("DELETE EMS_CHECKLIST_ITEM WHERE CHECKLIST_KEY = '{0}'", checkListKey); db.ExecuteNonQuery(transaction, CommandType.Text, sqlString); #endregion DbCommand insertCommand = connection.CreateCommand(); insertCommand.CommandType = CommandType.Text; insertCommand.CommandText = @"INSERT INTO EMS_CHECKLIST_ITEM (CHECKLIST_KEY, CHECKITEM_KEY, SEQUENCE, STANDARD, OPTIONAL) VALUES (:P1, :P2, :P3, :P4, :P5)"; db.AddInParameter(insertCommand, "P1", DbType.String, checkListKey); db.AddInParameter(insertCommand, "P2", DbType.String, EMS_CHECKLIST_ITEM_FIELDS.FIELD_CHECKITEM_KEY, DataRowVersion.Current); db.AddInParameter(insertCommand, "P3", DbType.Int32, EMS_CHECKLIST_ITEM_FIELDS.FIELD_SEQUENCE, DataRowVersion.Current); db.AddInParameter(insertCommand, "P4", DbType.String, EMS_CHECKLIST_ITEM_FIELDS.FIELD_STANDARD, DataRowVersion.Current); db.AddInParameter(insertCommand, "P5", DbType.Int32, EMS_CHECKLIST_ITEM_FIELDS.FIELD_OPTIONAL, DataRowVersion.Current); if (db.UpdateDataSet(reqDS, EMS_CHECKLIST_ITEM_FIELDS.DATABASE_TABLE_NAME, insertCommand, null, null, transaction) <= 0) { throw new Exception("数据处理失败,请重新刷新数据后再提交!"); } } #endregion transaction.Commit(); } catch { transaction.Rollback(); throw; } finally { connection.Close(); } } } resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, string.Empty); resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_EDIT_TIME, editTime); } catch (Exception ex) { resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, ex.Message); LogService.LogError("UpdateCheckList Error: " + ex.Message); } } else { resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, "提交数据不存在,请重新提交!"); } return(resDS); }
public DataSet InsertCheckList(DataSet reqDS) { DataSet resDS = new DataSet(); if (reqDS != null && reqDS.Tables.Contains(EMS_CHECKLIST_FIELDS.DATABASE_TABLE_NAME)) { DataTable checkListDataTable = reqDS.Tables[EMS_CHECKLIST_FIELDS.DATABASE_TABLE_NAME]; try { EMS_CHECKLIST_FIELDS checkListFields = new EMS_CHECKLIST_FIELDS(); List <string> sqlStringList = DatabaseTable.BuildInsertSqlStatements(checkListFields, checkListDataTable); string checkListKey = string.Empty; string checkListName = string.Empty; string createTime = string.Empty; string sqlString = string.Empty; if (sqlStringList.Count > 0 && checkListDataTable.Rows.Count > 0) { checkListKey = checkListDataTable.Rows[0][EMS_CHECKLIST_FIELDS.FIELD_CHECKLIST_KEY].ToString(); checkListName = checkListDataTable.Rows[0][EMS_CHECKLIST_FIELDS.FIELD_CHECKLIST_NAME].ToString(); sqlString = sqlStringList[0]; } using (DbConnection connection = db.CreateConnection()) { connection.Open(); using (DbTransaction transaction = connection.BeginTransaction()) { try { #region Validate Check List Name string returnData = AllCommonFunctions.GetSpecifyTableColumnData(checkListFields, EMS_CHECKLIST_FIELDS.FIELD_CHECKLIST_NAME, EMS_CHECKLIST_FIELDS.FIELD_CHECKLIST_NAME, checkListName, transaction); if (!string.IsNullOrEmpty(returnData)) { throw new Exception("检查表单名称已存在!"); } #endregion #region Insert Check List Data if (db.ExecuteNonQuery(transaction, CommandType.Text, sqlString) > 0) { createTime = AllCommonFunctions.GetSpecifyTableColumnData(checkListFields, EMS_CHECKLIST_FIELDS.FIELD_CREATE_TIME, EMS_CHECKLIST_FIELDS.FIELD_CHECKLIST_KEY, checkListKey, transaction); } else { throw new Exception("数据处理失败,请重新刷新数据后再提交!"); } #endregion #region Insert Check List Items Data if (reqDS.Tables[EMS_CHECKLIST_ITEM_FIELDS.DATABASE_TABLE_NAME] != null && reqDS.Tables[EMS_CHECKLIST_ITEM_FIELDS.DATABASE_TABLE_NAME].Rows.Count > 0) { DbCommand insertCommand = connection.CreateCommand(); insertCommand.CommandType = CommandType.Text; insertCommand.CommandText = @"INSERT INTO EMS_CHECKLIST_ITEM (CHECKLIST_KEY, CHECKITEM_KEY, SEQUENCE, STANDARD, OPTIONAL) VALUES (:P1, :P2, :P3, :P4, :P5)"; db.AddInParameter(insertCommand, "P1", DbType.String, checkListKey); db.AddInParameter(insertCommand, "P2", DbType.String, EMS_CHECKLIST_ITEM_FIELDS.FIELD_CHECKITEM_KEY, DataRowVersion.Current); db.AddInParameter(insertCommand, "P3", DbType.Int32, EMS_CHECKLIST_ITEM_FIELDS.FIELD_SEQUENCE, DataRowVersion.Current); db.AddInParameter(insertCommand, "P4", DbType.String, EMS_CHECKLIST_ITEM_FIELDS.FIELD_STANDARD, DataRowVersion.Current); db.AddInParameter(insertCommand, "P5", DbType.Int32, EMS_CHECKLIST_ITEM_FIELDS.FIELD_OPTIONAL, DataRowVersion.Current); if (db.UpdateDataSet(reqDS, EMS_CHECKLIST_ITEM_FIELDS.DATABASE_TABLE_NAME, insertCommand, null, null, transaction) <= 0) { throw new Exception("数据处理失败,请重新刷新数据后再提交!"); } } #endregion transaction.Commit(); } catch { transaction.Rollback(); throw; } finally { connection.Close(); } } } resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, string.Empty); resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_EDIT_TIME, createTime); } catch (Exception ex) { resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, ex.Message); LogService.LogError("InsertCheckList Error: " + ex.Message); } } else { resDS.ExtendedProperties.Add(PARAMETERS.OUTPUT_MESSAGE, "提交数据不存在,请重新提交!"); } return(resDS); }
/// <summary> /// 新增设备状态。 /// </summary> /// <param name="dsParams">包含设备状态的数据集对象。</param> /// <returns>包含执行结果的数据集对象。</returns> public DataSet InsertEquipmentStates(DataSet dsParams) { DataSet dsReturn = new DataSet(); try { if (dsParams != null && dsParams.Tables.Contains(EMS_EQUIPMENT_STATES_FIELDS.DATABASE_TABLE_NAME) && dsParams.Tables.Contains(PARAMETERS_INPUT.DATABASE_TABLE_NAME)) {//判定数据集是否存在表EMS_EQUIPMENT_STATES,INPUT_PARAM_TABLE DataTable equipmentStateDataTable = dsParams.Tables[EMS_EQUIPMENT_STATES_FIELDS.DATABASE_TABLE_NAME]; DataTable inputParamDataTable = dsParams.Tables[PARAMETERS_INPUT.DATABASE_TABLE_NAME]; EMS_EQUIPMENT_STATES_FIELDS equipmentStatesFields = new EMS_EQUIPMENT_STATES_FIELDS(); List <string> sqlStringList = DatabaseTable.BuildInsertSqlStatements(equipmentStatesFields, equipmentStateDataTable); string equipmentStateKey = string.Empty; string equipmentStateName = string.Empty; string sqlString = string.Empty; string createTime = string.Empty; if (sqlStringList.Count > 0 && inputParamDataTable.Rows.Count > 0 && equipmentStateDataTable.Rows.Count > 0) { equipmentStateKey = Convert.ToString(inputParamDataTable.Rows[0][PARAMETERS_INPUT.FIELD_KEY]); equipmentStateName = Convert.ToString(equipmentStateDataTable.Rows[0][EMS_EQUIPMENT_STATES_FIELDS.FIELD_EQUIPMENT_STATE_NAME]); sqlString = sqlStringList[0]; } using (DbConnection dbConn = db.CreateConnection()) { dbConn.Open(); using (DbTransaction dbTrans = dbConn.BeginTransaction()) { try { #region 检查设备状态名称。 string returnData = AllCommonFunctions.GetSpecifyTableColumnData(equipmentStatesFields, EMS_EQUIPMENT_STATES_FIELDS.FIELD_EQUIPMENT_STATE_NAME, EMS_EQUIPMENT_STATES_FIELDS.FIELD_EQUIPMENT_STATE_NAME, equipmentStateName, dbTrans); if (!string.IsNullOrEmpty(returnData)) { throw new Exception("${res:FanHai.Hemera.Modules.EMS.EquipmentStates.M0001}"); } #endregion if (db.ExecuteNonQuery(dbTrans, CommandType.Text, sqlString) > 0) { createTime = AllCommonFunctions.GetSpecifyTableColumnData(equipmentStatesFields, EMS_EQUIPMENT_STATES_FIELDS.FIELD_CREATE_TIME, EMS_EQUIPMENT_STATES_FIELDS.FIELD_EQUIPMENT_STATE_KEY, equipmentStateKey, dbTrans); } else { throw new Exception("${res:FanHai.Hemera.Module.Common.M0002}"); } dbTrans.Commit(); } catch (Exception ex) { LogService.LogError("InsertEquipmentStates Error: " + ex.Message); dbTrans.Rollback(); throw; } finally { dbConn.Close(); } } } FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, string.Empty, createTime); } else { FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, "${res:FanHai.Hemera.Module.Common.M0001}"); } } catch (Exception ex) { FanHai.Hemera.Share.Common.ReturnMessageUtils.AddServerReturnMessage(dsReturn, ex.Message); LogService.LogError("InsertEquipmentStates Error: " + ex.Message); } return(dsReturn); }