using System; using System.Collections.Generic; using System.Data; using SuperMap.RealEstate.ServiceModel; using Business = SuperMap.RealEstate.FrameWork.Platform.Business; using HCC = HZQR.Common.Common; using HZQR.Common; namespace EShang.Common.GeneralMethod { /// /// 业务审批记录表相关方法 /// 2024/11/4 12:02:19自动生成 /// public class BUSINESSAPPROVALHelper { #region 获取业务审批记录表列表 /// /// 获取业务审批记录表列表 /// /// 事务管理器 /// 查询结果总数 /// 查询条件对象 public static List GetBUSINESSAPPROVALList(Transaction transaction, ref int TotalCount, Model.SearchModel searchModel) { List BUSINESSAPPROVALList = new List(); string WhereSQL = "", RowFilterSQL = ""; if (searchModel.SearchParameter != null) { WhereSQL = OperationDataHelper.GetWhereSQL(searchModel.SearchParameter, searchModel.QueryType, "", "OPERATION_TYPES", "SERVERPART_IDS", "BUSINESS_STARTDATE_Start", "BUSINESS_STARTDATE_End", "BUSINESS_ENDDATE_Start", "BUSINESS_ENDDATE_End", "BUSINESSAPPROVAL_STATES", "EFFECTIVE_DATE_Start", "EFFECTIVE_DATE_End"); if (WhereSQL != "") { WhereSQL = " WHERE " + WhereSQL; } //查询业务类型(1:新增账户;2:模块权限变更;3:流程权限变更;4:门店权限变更;5:服务区权限变更;6:商品审批) if (searchModel.SearchParameter.OPERATION_TYPES.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "OPERATION_TYPE IN (" + searchModel.SearchParameter.OPERATION_TYPES + ")"; } //查询服务区内码 if (searchModel.SearchParameter.SERVERPART_IDS.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SERVERPART_ID IN (" + searchModel.SearchParameter.SERVERPART_IDS + ")"; } //查询业务开始时间 if (searchModel.SearchParameter.BUSINESS_STARTDATE_Start.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(BUSINESS_STARTDATE,1,8) >= " + DateTime.Parse(searchModel.SearchParameter.BUSINESS_STARTDATE_Start).ToString("yyyyMMdd"); } if (searchModel.SearchParameter.BUSINESS_STARTDATE_End.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(BUSINESS_STARTDATE,1,8) <= " + DateTime.Parse(searchModel.SearchParameter.BUSINESS_STARTDATE_End).ToString("yyyyMMdd"); } //查询业务办结时间 if (searchModel.SearchParameter.BUSINESS_ENDDATE_Start.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(BUSINESS_ENDDATE,1,8) >= " + DateTime.Parse(searchModel.SearchParameter.BUSINESS_ENDDATE_Start).ToString("yyyyMMdd"); } if (searchModel.SearchParameter.BUSINESS_ENDDATE_End.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(BUSINESS_ENDDATE,1,8) <= " + DateTime.Parse(searchModel.SearchParameter.BUSINESS_ENDDATE_End).ToString("yyyyMMdd"); } //查询业务状态(1000:待提交;2000:审核中;3000:已驳回;9000:已审结) if (searchModel.SearchParameter.BUSINESSAPPROVAL_STATES.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "BUSINESSAPPROVAL_STATE IN (" + searchModel.SearchParameter.BUSINESSAPPROVAL_STATES + ")"; } //查询生效时间 if (searchModel.SearchParameter.EFFECTIVE_DATE_Start.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(EFFECTIVE_DATE,1,8) >= " + DateTime.Parse(searchModel.SearchParameter.EFFECTIVE_DATE_Start).ToString("yyyyMMdd"); } if (searchModel.SearchParameter.EFFECTIVE_DATE_End.TryParseToString() != "") { WhereSQL += (WhereSQL == "" ? " WHERE " : " AND ") + "SUBSTR(EFFECTIVE_DATE,1,8) <= " + DateTime.Parse(searchModel.SearchParameter.EFFECTIVE_DATE_End).ToString("yyyyMMdd"); } } DataTable dtBUSINESSAPPROVAL = new Business.PERMISSIONAPPLY(transaction).ExecuteDataTable( "SELECT * FROM PLATFORM_FRAMEWORK.T_BUSINESSAPPROVAL" + WhereSQL); //增加组合查询条件 if (searchModel.keyWord != null && !string.IsNullOrWhiteSpace(searchModel.keyWord.Key)) { foreach (string KeyName in searchModel.keyWord.Key.Split(',')) { RowFilterSQL += (RowFilterSQL == "" ? "" : " or ") + KeyName + " like '%" + searchModel.keyWord.Value + "%'"; } } if (RowFilterSQL != "") { dtBUSINESSAPPROVAL.DefaultView.RowFilter = RowFilterSQL; } //排序: dtBUSINESSAPPROVAL.DefaultView.Sort = searchModel.SortStr; dtBUSINESSAPPROVAL = dtBUSINESSAPPROVAL.DefaultView.ToTable(); //获取查询结果总记录条数 TotalCount = dtBUSINESSAPPROVAL.Rows.Count; //根据传入的页码和每页显示条数返回结果 dtBUSINESSAPPROVAL = CommonHelper.GetDataTableWithPageSize(dtBUSINESSAPPROVAL, searchModel.PageSize, searchModel.PageIndex); foreach (DataRow drBUSINESSAPPROVAL in dtBUSINESSAPPROVAL.Rows) { Model.BUSINESSAPPROVALModel businessapprovalModel = new Model.BUSINESSAPPROVALModel(); //绑定业务审批记录表数据对象 BindDataRowToModel(drBUSINESSAPPROVAL, businessapprovalModel); BUSINESSAPPROVALList.Add(businessapprovalModel); } return BUSINESSAPPROVALList; } #region 绑定model /// /// 绑定model /// /// datarow数据源 /// model对象 public static void BindDataRowToModel(DataRow drBUSINESSAPPROVAL, Model.BUSINESSAPPROVALModel businessapprovalModel) { if (drBUSINESSAPPROVAL["BUSINESSAPPROVAL_ID"].ToString() != "") { businessapprovalModel.BUSINESSAPPROVAL_ID = drBUSINESSAPPROVAL["BUSINESSAPPROVAL_ID"].TryParseToInt(); //业务审批记录内码 } if (drBUSINESSAPPROVAL["OPERATION_TYPE"].ToString() != "") { businessapprovalModel.OPERATION_TYPE = drBUSINESSAPPROVAL["OPERATION_TYPE"].TryParseToInt(); //业务类型(1:新增账户;2:模块权限变更;3:流程权限变更;4:门店权限变更;5:服务区权限变更;6:商品审批) } if (drBUSINESSAPPROVAL["BUSINESSPROCESS_ID"].ToString() != "") { businessapprovalModel.BUSINESSPROCESS_ID = drBUSINESSAPPROVAL["BUSINESSPROCESS_ID"].TryParseToInt(); //业务内码 } businessapprovalModel.BUSINESSPROCESS_NAME = drBUSINESSAPPROVAL["BUSINESSPROCESS_NAME"].ToString(); //业务名称 if (drBUSINESSAPPROVAL["PROINST_ID"].ToString() != "") { businessapprovalModel.PROINST_ID = drBUSINESSAPPROVAL["PROINST_ID"].TryParseToInt(); //工作流内码 } businessapprovalModel.ACCEPT_CODE = drBUSINESSAPPROVAL["ACCEPT_CODE"].ToString(); //业务编码 if (drBUSINESSAPPROVAL["SERVERPART_ID"].ToString() != "") { businessapprovalModel.SERVERPART_ID = drBUSINESSAPPROVAL["SERVERPART_ID"].TryParseToInt(); //服务区内码 } businessapprovalModel.SERVERPART_NAME = drBUSINESSAPPROVAL["SERVERPART_NAME"].ToString(); //服务区名称 if (drBUSINESSAPPROVAL["STAFF_ID"].ToString() != "") { businessapprovalModel.STAFF_ID = drBUSINESSAPPROVAL["STAFF_ID"].TryParseToInt(); //经办人内码 } businessapprovalModel.STAFF_NAME = drBUSINESSAPPROVAL["STAFF_NAME"].ToString(); //经办人名称 businessapprovalModel.REJECTSTAFF_NAME = drBUSINESSAPPROVAL["REJECTSTAFF_NAME"].ToString(); //驳回人员 businessapprovalModel.REJECT_INFO = drBUSINESSAPPROVAL["REJECT_INFO"].ToString(); //驳回意见 if (!string.IsNullOrWhiteSpace(drBUSINESSAPPROVAL["BUSINESS_STARTDATE"].ToString())) { //业务开始时间 businessapprovalModel.BUSINESS_STARTDATE = HCC.Common.TranslateDateTime(drBUSINESSAPPROVAL["BUSINESS_STARTDATE"].ToString()); } if (!string.IsNullOrWhiteSpace(drBUSINESSAPPROVAL["BUSINESS_ENDDATE"].ToString())) { //业务办结时间 businessapprovalModel.BUSINESS_ENDDATE = HCC.Common.TranslateDateTime(drBUSINESSAPPROVAL["BUSINESS_ENDDATE"].ToString()); } if (drBUSINESSAPPROVAL["BUSINESSAPPROVAL_STATE"].ToString() != "") { businessapprovalModel.BUSINESSAPPROVAL_STATE = drBUSINESSAPPROVAL["BUSINESSAPPROVAL_STATE"].TryParseToInt(); //业务状态(1000:待提交;2000:审核中;3000:已驳回;9000:已审结) } businessapprovalModel.BUSINESSAPPROVAL_DESC = drBUSINESSAPPROVAL["BUSINESSAPPROVAL_DESC"].ToString(); //备注说明 businessapprovalModel.SERVERPART_IDS = drBUSINESSAPPROVAL["SERVERPART_IDS"].ToString(); //服务区内码集合 businessapprovalModel.APPOVED_NAME = drBUSINESSAPPROVAL["APPOVED_NAME"].ToString(); //审批人员 if (!string.IsNullOrWhiteSpace(drBUSINESSAPPROVAL["EFFECTIVE_DATE"].ToString())) { //生效时间 businessapprovalModel.EFFECTIVE_DATE = HCC.Common.TranslateDateTime(drBUSINESSAPPROVAL["EFFECTIVE_DATE"].ToString()); } businessapprovalModel.SERVERPARTSHOP_ID = drBUSINESSAPPROVAL["SERVERPARTSHOP_ID"].ToString(); //经营门店内码 businessapprovalModel.SERVERPARTSHOP_NAME = drBUSINESSAPPROVAL["SERVERPARTSHOP_NAME"].ToString(); //经营门店名称 businessapprovalModel.APPOVED_IDS = drBUSINESSAPPROVAL["APPOVED_IDS"].ToString(); //审批人内码 if (drBUSINESSAPPROVAL["REJECT_TYPE"].ToString() != "") { businessapprovalModel.REJECT_TYPE = drBUSINESSAPPROVAL["REJECT_TYPE"].TryParseToShort(); //回退类型(1:正常退回;2:原路返回) } } #endregion #endregion #region 获取业务审批记录表明细 /// /// 获取业务审批记录表明细 /// /// 事务管理器 /// 业务审批记录表内码 public static Model.BUSINESSAPPROVALModel GetBUSINESSAPPROVALDetail(Transaction transaction, int BUSINESSAPPROVALId) { Model.BUSINESSAPPROVALModel businessapprovalModel = new Model.BUSINESSAPPROVALModel(); string WhereSQL = "WHERE BUSINESSAPPROVAL_ID = " + BUSINESSAPPROVALId; //查询明细数据 DataTable dtBUSINESSAPPROVAL = new Business.PERMISSIONAPPLY(transaction).ExecuteDataTable( "SELECT * FROM PLATFORM_FRAMEWORK.T_BUSINESSAPPROVAL " + WhereSQL); if (dtBUSINESSAPPROVAL.Rows.Count > 0) { //绑定业务审批记录表数据对象 BindDataRowToModel(dtBUSINESSAPPROVAL.Rows[0], businessapprovalModel); } return businessapprovalModel; } #endregion #region 同步业务审批记录表 /// /// 赋值业务审批记录表数据对象 /// /// 事务管理器 /// 业务审批记录表数据对象 public static bool SynchroBUSINESSAPPROVAL(Transaction transaction, Model.BUSINESSAPPROVALModel businessapprovalModel) { bool SynchroFlag = true; string SQLString; List excludeField = new List(); Dictionary dateFieldList = new Dictionary(); string tableName = "PLATFORM_FRAMEWORK.T_BUSINESSAPPROVAL", keyField = "BUSINESSAPPROVAL_ID", seqName = "SEQ_BUSINESSAPPROVAL"; Business.PERMISSIONAPPLY _PERMISSIONAPPLY = new Business.PERMISSIONAPPLY(transaction); #region 添加SQL语句中需要排除在外的字段 excludeField.Add("OPERATION_TYPES"); excludeField.Add("SERVERPART_IDS"); excludeField.Add("BUSINESS_STARTDATE_Start"); excludeField.Add("BUSINESS_STARTDATE_End"); excludeField.Add("BUSINESS_ENDDATE_Start"); excludeField.Add("BUSINESS_ENDDATE_End"); excludeField.Add("BUSINESSAPPROVAL_STATES"); excludeField.Add("EFFECTIVE_DATE_Start"); excludeField.Add("EFFECTIVE_DATE_End"); #endregion #region 添加SQL语句中日期相关字段的执行语句 //业务开始时间 if (!string.IsNullOrWhiteSpace(businessapprovalModel.BUSINESS_STARTDATE)) { dateFieldList.Add("BUSINESS_STARTDATE", DateTime.Parse( businessapprovalModel.BUSINESS_STARTDATE).ToString("yyyyMMddHHmmss")); } else { dateFieldList.Add("BUSINESS_STARTDATE", "NULL"); } //业务办结时间 if (!string.IsNullOrWhiteSpace(businessapprovalModel.BUSINESS_ENDDATE)) { dateFieldList.Add("BUSINESS_ENDDATE", DateTime.Parse( businessapprovalModel.BUSINESS_ENDDATE).ToString("yyyyMMddHHmmss")); } else { dateFieldList.Add("BUSINESS_ENDDATE", "NULL"); } //生效时间 if (!string.IsNullOrWhiteSpace(businessapprovalModel.EFFECTIVE_DATE)) { dateFieldList.Add("EFFECTIVE_DATE", DateTime.Parse( businessapprovalModel.EFFECTIVE_DATE).ToString("yyyyMMddHHmmss")); } else { dateFieldList.Add("EFFECTIVE_DATE", "NULL"); } #endregion if (businessapprovalModel.BUSINESSAPPROVAL_ID != null) { string WhereSQL = " WHERE BUSINESSAPPROVAL_ID = " + businessapprovalModel.BUSINESSAPPROVAL_ID; DataTable dtBUSINESSAPPROVAL = _PERMISSIONAPPLY.ExecuteDataTable( "SELECT * FROM PLATFORM_FRAMEWORK.T_BUSINESSAPPROVAL" + WhereSQL); if (dtBUSINESSAPPROVAL.Rows.Count > 0) { SQLString = OperationDataHelper.GetTableExcuteSQL( businessapprovalModel, 1, tableName, keyField, seqName, dateFieldList, excludeField, WhereSQL); } else { return false; } } else { DataTable dtBUSINESSAPPROVAL = _PERMISSIONAPPLY.ExecuteDataTable( "SELECT " + seqName + ".NEXTVAL FROM DUAL"); businessapprovalModel.BUSINESSAPPROVAL_ID = dtBUSINESSAPPROVAL.Rows[0][0].TryParseToInt(); SQLString = OperationDataHelper.GetTableExcuteSQL( businessapprovalModel, 0, tableName, keyField, seqName, dateFieldList, excludeField); } _PERMISSIONAPPLY.ExecuteNonQuery(SQLString, null); return SynchroFlag; } #endregion #region 删除业务审批记录表 /// /// 删除业务审批记录表 /// /// 事务管理器 /// 业务审批记录表内码 public static bool DeleteBUSINESSAPPROVAL(Transaction transaction, int? BUSINESSAPPROVALId) { bool DeleteFlag = false; if (BUSINESSAPPROVALId != null) { string SQLString = "UPDATE PLATFORM_FRAMEWORK.T_BUSINESSAPPROVAL SET BUSINESSAPPROVAL_STATE = 0 WHERE BUSINESSAPPROVAL_ID = " + BUSINESSAPPROVALId; int ExcuteCount = new Business.PERMISSIONAPPLY(transaction).ExecuteNonQuery(SQLString, null); if (ExcuteCount > 0) { DeleteFlag = true; } } return DeleteFlag; } #endregion } }