/** * 異動角色檔 **/ public void updateRole(RoleMgrModel roleMgrModel, CODE_ROLE codeRoleO, SqlConnection conn, SqlTransaction transaction) { try { CodeRoleDao codeRoleDao = new CodeRoleDao(); //新增LOG Log log = new Log(); log.CFUNCTION = "角色管理-修改"; log.CACTION = "U"; log.CCONTENT = codeRoleDao.roleLogContent(codeRoleO); LogDao.Insert(log, Session["UserID"].ToString()); //異動角色檔 codeRoleO.DATA_STATUS = "2"; codeRoleO.LAST_UPDATE_UID = Session["UserID"].ToString(); codeRoleO.LAST_UPDATE_DT = DateTime.Now; codeRoleO.FREEZE_UID = Session["UserID"].ToString(); codeRoleO.FREEZE_DT = DateTime.Now; int cnt = codeRoleDao.Update(codeRoleO, conn, transaction); } catch (Exception e) { logger.Error("[updateRole]其它錯誤:" + e.ToString()); throw e; //新增角色檔失敗 // return Json(new { success = false, errors = e.ToString() }, JsonRequestBehavior.AllowGet); } }
/** * 查詢角色檔(以"角色編號"為鍵項) **/ public CODE_ROLE qryRoleByKey(String roleId) { using (new TransactionScope( TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted })) { using (dbTreasuryEntities db = new dbTreasuryEntities()) { CODE_ROLE codeRole = db.CODE_ROLE.Where(x => x.ROLE_ID == roleId).FirstOrDefault <CODE_ROLE>(); return(codeRole); } } }
public bool dupRoleName(string roleId, string authType, string roleName) { bool bDup = false; using (new TransactionScope( TransactionScopeOption.Required, new TransactionOptions { IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted })) { using (dbTreasuryEntities db = new dbTreasuryEntities()) { CODE_ROLE role = db.CODE_ROLE .Where(x => x.ROLE_ID != roleId && x.ROLE_AUTH_TYPE == authType && x.ROLE_NAME == roleName.Trim()) .FirstOrDefault(); if (role != null) { if (!"".Equals(StringUtil.toString(role.ROLE_ID))) { bDup = true; } } if (!bDup) { string roleH = (from roleHis in db.CODE_ROLE_HIS join aply in db.AUTH_APPR.Where(x => x.AUTH_APLY_TYPE == "R" & x.APPR_STATUS == "1") on roleHis.ROLE_ID equals aply.APPR_MAPPING_KEY where roleHis.ROLE_ID != roleId & roleHis.ROLE_AUTH_TYPE == authType & roleHis.ROLE_NAME == roleName.Trim() select roleHis.ROLE_ID).FirstOrDefault(); if (!"".Equals(StringUtil.toString(roleH))) { bDup = true; } } } } return(bDup); }
public ActionResult roleHis(String cRoleID) { /*---畫面下拉選單初始值---*/ SysCodeDao sysCodeDao = new SysCodeDao(); //覆核狀態 var apprStatusList = sysCodeDao.loadSelectList("APPR_STATUS"); apprStatusList = new SelectList(apprStatusList .Where(x => x.Value != "4") .ToList(), "Value", "Text"); ViewBag.apprStatusList = apprStatusList; //角色群組 var roleAuthTypeList = sysCodeDao.loadSelectList("ROLE_AUTH_TYPE"); ViewBag.roleAuthTypeList = roleAuthTypeList; RoleMgrHisModel roleMgrHisModel = new RoleMgrHisModel(); if (!"".Equals(StringUtil.toString(cRoleID))) { CodeRoleDao codeRoleDao = new CodeRoleDao(); CODE_ROLE codeRole = new CODE_ROLE(); codeRole = codeRoleDao.qryRoleByKey(cRoleID); roleMgrHisModel.cRoleID = StringUtil.toString(codeRole.ROLE_ID); roleMgrHisModel.cRoleName = StringUtil.toString(codeRole.ROLE_NAME); roleMgrHisModel.roleAuthType = StringUtil.toString(codeRole.ROLE_AUTH_TYPE); ViewBag.cRoleID = cRoleID; return(View(roleMgrHisModel)); } else { return(View()); } }
/** * 將角色檔的各欄位組成一字串,for Log **/ public String roleLogContent(CODE_ROLE codeRole) { String content = ""; content += StringUtil.toString(codeRole.ROLE_ID) + "|"; content += StringUtil.toString(codeRole.ROLE_NAME) + "|"; content += StringUtil.toString(codeRole.ROLE_AUTH_TYPE) + "|"; content += StringUtil.toString(codeRole.IS_DISABLED) + "|"; content += StringUtil.toString(codeRole.MEMO) + "|"; content += StringUtil.toString(codeRole.DATA_STATUS) + "|"; content += StringUtil.toString(codeRole.CREATE_UID) + "|"; content += codeRole.CREATE_DT == null ? "|" : codeRole.CREATE_DT + "|"; content += StringUtil.toString(codeRole.LAST_UPDATE_UID) + "|"; content += codeRole.LAST_UPDATE_DT == null ? "|" : codeRole.LAST_UPDATE_DT + "|"; content += StringUtil.toString(codeRole.APPR_UID) + "|"; content += codeRole.APPR_DT == null ? "|" : codeRole.APPR_DT + "|"; content += StringUtil.toString(codeRole.FREEZE_UID) + "|"; content += codeRole.FREEZE_DT == null ? "|" : codeRole.FREEZE_DT + "|"; return(content); }
/// <summary> /// 新增稽核軌跡 /// </summary> /// <param name="codeUserDao"></param> /// <param name="codeUser"></param> /// <param name="conn"></param> /// <param name="transaction"></param> public void procTrackLog(string type, CodeRoleDao codeUserDao, CODE_ROLE codeRole, SqlConnection conn, SqlTransaction transaction) { PIA_LOG_MAIN piaLog = new PIA_LOG_MAIN(); piaLog.TRACKING_TYPE = "C"; piaLog.ACCESS_ACCOUNT = Session["UserID"].ToString(); piaLog.ACCOUNT_NAME = Session["UserName"].ToString(); piaLog.PROGFUN_NAME = "RoleReview"; piaLog.ACCESSOBJ_NAME = "CodeRole"; piaLog.EXECUTION_TYPE = type; piaLog.EXECUTION_CONTENT = codeUserDao.RoleLogContent(codeRole); piaLog.AFFECT_ROWS = 1; piaLog.PIA_OWNER1 = codeRole.CREATE_UID; piaLog.PIA_OWNER2 = ""; piaLog.PIA_TYPE = "0000000000"; PiaLogMainDao piaLogMainDao = new PiaLogMainDao(); piaLogMainDao.Insert(piaLog, conn, transaction); }
/** * 異動角色: * 1.查詢角色檔資料 * 2.異動流水號檔 * 3.新增資料至角色檔 **/ public int Update(CODE_ROLE cODEROLE, SqlConnection conn, SqlTransaction transaction) { // string strConn = DbUtil.GetDBAccountConnStr(); string sql = @"update CODE_ROLE set ROLE_NAME = @ROLE_NAME ,IS_DISABLED = @IS_DISABLED ,MEMO = @MEMO ,DATA_STATUS = @DATA_STATUS ,CREATE_UID = @CREATE_UID ,CREATE_DT = @CREATE_DT ,LAST_UPDATE_UID = @LAST_UPDATE_UID ,LAST_UPDATE_DT = @LAST_UPDATE_DT ,APPR_UID = @APPR_UID ,APPR_DT = @APPR_DT ,FREEZE_UID = @FREEZE_UID ,FREEZE_DT = @FREEZE_DT where 1=1 and ROLE_ID = @ROLE_ID "; SqlCommand command = conn.CreateCommand(); command.Connection = conn; command.Transaction = transaction; try { command.CommandText = sql; command.Parameters.AddWithValue("@ROLE_ID", StringUtil.toString(cODEROLE.ROLE_ID)); command.Parameters.AddWithValue("@ROLE_NAME", StringUtil.toString(cODEROLE.ROLE_NAME)); command.Parameters.AddWithValue("@IS_DISABLED", StringUtil.toString(cODEROLE.IS_DISABLED)); command.Parameters.AddWithValue("@MEMO", StringUtil.toString(cODEROLE.MEMO)); command.Parameters.AddWithValue("@DATA_STATUS", StringUtil.toString(cODEROLE.DATA_STATUS)); command.Parameters.AddWithValue("@CREATE_UID", StringUtil.toString(cODEROLE.CREATE_UID)); command.Parameters.Add("@CREATE_DT", System.Data.SqlDbType.DateTime).Value = (System.Object)cODEROLE.CREATE_DT ?? System.DBNull.Value; command.Parameters.AddWithValue("@LAST_UPDATE_UID", StringUtil.toString(cODEROLE.LAST_UPDATE_UID)); command.Parameters.Add("@LAST_UPDATE_DT", System.Data.SqlDbType.DateTime).Value = (System.Object)cODEROLE.LAST_UPDATE_DT ?? System.DBNull.Value; command.Parameters.AddWithValue("@APPR_UID", StringUtil.toString(cODEROLE.APPR_UID)); command.Parameters.Add("@APPR_DT", System.Data.SqlDbType.DateTime).Value = (System.Object)cODEROLE.APPR_DT ?? System.DBNull.Value; command.Parameters.AddWithValue("@FREEZE_UID", StringUtil.toString(cODEROLE.FREEZE_UID)); command.Parameters.Add("@FREEZE_DT", System.Data.SqlDbType.DateTime).Value = (System.Object)cODEROLE.FREEZE_DT ?? System.DBNull.Value; int cnt = command.ExecuteNonQuery(); return(cnt); } catch (Exception e) { throw e; } }
/** * 新增角色: **/ public int Create(CODE_ROLE cODEROLE, SqlConnection conn, SqlTransaction transaction) { // string strConn = DbUtil.GetDBAccountConnStr(); string sql = @" INSERT INTO [dbo].[CODE_ROLE] ([ROLE_ID] ,[ROLE_NAME] ,[ROLE_AUTH_TYPE] ,[IS_DISABLED] ,[MEMO] ,[DATA_STATUS] ,[CREATE_UID] ,[CREATE_DT] ,[LAST_UPDATE_UID] ,[LAST_UPDATE_DT] ,[APPR_UID] ,[APPR_DT] ) VALUES ( @ROLE_ID ,@ROLE_NAME ,@ROLE_AUTH_TYPE ,@IS_DISABLED ,@MEMO ,@DATA_STATUS ,@CREATE_UID ,@CREATE_DT ,@LAST_UPDATE_UID ,@LAST_UPDATE_DT ,@APPR_UID ,@APPR_DT )"; SqlCommand command = conn.CreateCommand(); command.Connection = conn; command.Transaction = transaction; try { command.CommandText = sql; command.Parameters.AddWithValue("@ROLE_ID", StringUtil.toString(cODEROLE.ROLE_ID)); command.Parameters.AddWithValue("@ROLE_NAME", StringUtil.toString(cODEROLE.ROLE_NAME)); command.Parameters.AddWithValue("@ROLE_AUTH_TYPE", StringUtil.toString(cODEROLE.ROLE_AUTH_TYPE)); command.Parameters.AddWithValue("@IS_DISABLED", StringUtil.toString(cODEROLE.IS_DISABLED)); command.Parameters.AddWithValue("@MEMO", StringUtil.toString(cODEROLE.MEMO)); command.Parameters.AddWithValue("@DATA_STATUS", StringUtil.toString(cODEROLE.DATA_STATUS)); command.Parameters.AddWithValue("@CREATE_UID", StringUtil.toString(cODEROLE.CREATE_UID)); command.Parameters.Add("@CREATE_DT", System.Data.SqlDbType.DateTime).Value = (System.Object)cODEROLE.CREATE_DT ?? System.DBNull.Value; command.Parameters.AddWithValue("@LAST_UPDATE_UID", StringUtil.toString(cODEROLE.LAST_UPDATE_UID)); command.Parameters.Add("@LAST_UPDATE_DT", System.Data.SqlDbType.DateTime).Value = (System.Object)cODEROLE.LAST_UPDATE_DT ?? System.DBNull.Value; command.Parameters.AddWithValue("@APPR_UID", StringUtil.toString(cODEROLE.APPR_UID)); command.Parameters.Add("@APPR_DT", System.Data.SqlDbType.DateTime).Value = (System.Object)cODEROLE.APPR_DT ?? System.DBNull.Value; int cnt = command.ExecuteNonQuery(); return(cnt); } catch (Exception e) { throw e; } }
public ActionResult Index(String cRoleID) { UserAuthUtil authUtil = new UserAuthUtil(); String opScope = ""; String roleId = ""; String funcType = ""; String[] roleInfo = authUtil.chkUserFuncAuth(Session["UserID"].ToString(), "~/RoleMgr/"); if (roleInfo != null && roleInfo.Length == 1) { opScope = "1"; //roleId = roleInfo[1]; //funcType = roleInfo[2]; } ViewBag.opScope = opScope; /*---畫面下拉選單初始值---*/ SysCodeDao sysCodeDao = new SysCodeDao(); //啟用狀態 var isDisabledList = sysCodeDao.loadSelectList("IS_DISABLED"); ViewBag.isDisabledList = isDisabledList; //角色群組 var roleAuthTypeList = sysCodeDao.loadSelectList("ROLE_AUTH_TYPE"); ViewBag.roleAuthTypeList = roleAuthTypeList; //角色名稱 CodeRoleDao codeRoleDao = new CodeRoleDao(); var CodeRoleList = codeRoleDao.loadSelectList(); ViewBag.CodeRoleList = CodeRoleList; //異動人員 CodeUserDao codeUserDao = new CodeUserDao(); var CodeUserList = codeUserDao.loadSelectList(); ViewBag.CodeUserList = CodeUserList; RoleMgrModel roleMgrModel = new RoleMgrModel(); if (!"".Equals(StringUtil.toString(cRoleID))) { CODE_ROLE codeRole = new CODE_ROLE(); codeRole = codeRoleDao.qryRoleByKey(cRoleID); roleMgrModel.cRoleID = StringUtil.toString(codeRole.ROLE_ID); roleMgrModel.cRoleName = StringUtil.toString(codeRole.ROLE_NAME); roleMgrModel.roleAuthType = StringUtil.toString(codeRole.ROLE_AUTH_TYPE); roleMgrModel.isDisabled = StringUtil.toString(codeRole.IS_DISABLED); roleMgrModel.vMemo = StringUtil.toString(codeRole.MEMO); roleMgrModel.cUpdUserID = StringUtil.toString(codeRole.LAST_UPDATE_UID); ViewBag.cRoleID = cRoleID; return(View(roleMgrModel)); } else { return(View()); } }
/** * 角色資訊(含功能授權) **/ public ActionResult detailRole(string cRoleId, string execType) { /*---畫面下拉選單初始值---*/ //金庫設備 TreaEquipDao treaEquipDao = new TreaEquipDao(); ViewBag.equipList = treaEquipDao.jqgridSelect(); //存取項目 TreaItemDao treaItemDao = new TreaItemDao(); ViewBag.itemList = treaItemDao.jqgridSelect(""); SysCodeDao sysCodeDao = new SysCodeDao(); //停用註記 var isDisabledList = sysCodeDao.loadSelectList("IS_DISABLED"); ViewBag.isDisabledList = isDisabledList; //角色群組 var roleAuthTypeList = sysCodeDao.loadSelectList("ROLE_AUTH_TYPE"); ViewBag.roleAuthTypeList = roleAuthTypeList; //控管模式 var controlList = sysCodeDao.loadSelectList("CONTROL_MODE"); ViewBag.controlList = controlList; //ViewBag.controlList = sysCodeDao.jqGridList("CONTROL_MODE"); //控管方式 var custodyList = sysCodeDao.loadSelectList("CUSTODY_MODE"); ViewBag.custodyList = custodyList; //ViewBag.custodyList = sysCodeDao.jqGridList("CUSTODY_MODE"); //入庫作業類型 ViewBag.itemOpTypeList = sysCodeDao.jqGridList("ITEM_OP_TYPE"); //覆核狀態 add by daiyu 20180214 Dictionary <string, string> dicReview = sysCodeDao.qryByTypeDic("DATA_STATUS"); //查詢角色資訊 CodeRoleDao codeRoleDao = new CodeRoleDao(); CODE_ROLE codeRole = new CODE_ROLE(); if (cRoleId != null) { codeRole = codeRoleDao.qryRoleByKey(cRoleId); } //將值搬給畫面欄位 RoleMgrModel roleMgrModel = new RoleMgrModel(); qryUserFunc(cRoleId); //取得已授權、未授權功能清單 if (!"".Equals(StringUtil.toString(codeRole.ROLE_ID))) { roleMgrModel.cRoleID = StringUtil.toString(codeRole.ROLE_ID); roleMgrModel.cRoleName = StringUtil.toString(codeRole.ROLE_NAME); roleMgrModel.roleAuthType = StringUtil.toString(codeRole.ROLE_AUTH_TYPE); roleMgrModel.isDisabled = StringUtil.toString(codeRole.IS_DISABLED); roleMgrModel.vMemo = StringUtil.toString(codeRole.MEMO); roleMgrModel.dataStatus = StringUtil.toString(codeRole.DATA_STATUS) == "" ? "" : codeRole.DATA_STATUS + "." + dicReview[codeRole.DATA_STATUS]; roleMgrModel.cCrtDateTime = codeRole.CREATE_DT == null ? "" : DateUtil.DatetimeToString(codeRole.CREATE_DT, ""); roleMgrModel.cUpdDateTime = codeRole.LAST_UPDATE_DT == null ? "" : DateUtil.DatetimeToString(codeRole.LAST_UPDATE_DT, ""); OaEmpDao oaEmpDao = new OaEmpDao(); using (DB_INTRAEntities dbIntra = new DB_INTRAEntities()) { try { roleMgrModel.cCrtUserID = codeRole.CREATE_UID == null ? "" : StringUtil.toString(oaEmpDao.qryByUsrId(codeRole.CREATE_UID, dbIntra).EMP_NAME); } catch (Exception e) { } try { roleMgrModel.cUpdUserID = codeRole.LAST_UPDATE_UID == null ? "" : StringUtil.toString(oaEmpDao.qryByUsrId(codeRole.LAST_UPDATE_UID, dbIntra).EMP_NAME); } catch (Exception e) { } } roleMgrModel.Categories = ViewBag.funcList; ViewBag.bHaveData = "Y"; //return RedirectToAction("Index", "Home"); return(View(roleMgrModel)); } else { if ("A".Equals(execType)) { qryUserFunc(""); //取得已授權、未授權功能清單 roleMgrModel.cRoleID = ""; roleMgrModel.cRoleName = ""; roleMgrModel.isDisabled = "N"; roleMgrModel.vMemo = ""; roleMgrModel.cCrtUserID = ""; roleMgrModel.cCrtDateTime = ""; roleMgrModel.cUpdUserID = ""; roleMgrModel.cUpdDateTime = ""; roleMgrModel.dataStatus = ""; roleMgrModel.Categories = ViewBag.funcList; ViewBag.bHaveData = "Y"; return(View(roleMgrModel)); } else { ViewBag.bHaveData = "N"; return(View("detailRole")); } } }
public ActionResult updateRole(RoleMgrModel roleMgrModel, String authFunc , List <CodeRoleEquipModel> equipData, List <CodeRoleItemModel> itemData, List <CodeRoleItemModel> formAplyData) { string roleId = StringUtil.toString(roleMgrModel.cRoleID); bool bChgRole = false; bool bChgFunc = false; bool bChgEquip = false; bool bChgItem = false; bool bChgFormAply = false; bool bNewRole = false; CodeRoleDao codeRoleDao = new CodeRoleDao(); CODE_ROLE codeRoleO = new CODE_ROLE(); bool bDupRoleName = codeRoleDao.dupRoleName(StringUtil.toString(roleMgrModel.cRoleID), StringUtil.toString(roleMgrModel.roleAuthType), StringUtil.toString(roleMgrModel.cRoleName)); if (bDupRoleName) { return(Json(new { success = false, errors = "相同角色群組下,不能建置相同的角色名稱!!" }, JsonRequestBehavior.AllowGet)); } //比對是否有異動"角色資訊" if ("".Equals(roleId)) { bNewRole = true; bChgRole = true; SysSeqDao sysSeqDao = new SysSeqDao(); var cId = sysSeqDao.qrySeqNo("F1", "").ToString(); roleId = "F1" + cId.ToString().PadLeft(8, '0'); } else { codeRoleO = codeRoleDao.qryRoleByKey(roleId); if (!( StringUtil.toString(roleMgrModel.cRoleName).Equals(StringUtil.toString(codeRoleO.ROLE_NAME)) && StringUtil.toString(roleMgrModel.isDisabled).Equals(StringUtil.toString(codeRoleO.IS_DISABLED)) && StringUtil.toString(roleMgrModel.vMemo).Equals(StringUtil.toString(codeRoleO.MEMO)) )) { bChgRole = true; } } //比對是否有異動"授權功能" List <FuncRoleModel> funcList = new List <FuncRoleModel>(); string[] funcData = authFunc.Split('|'); if ("F".Equals(roleMgrModel.roleAuthType)) { CodeRoleFunctionDao CodeRoleFunctionDao = new CodeRoleFunctionDao(); List <FuncRoleModel> roleFuncListO = CodeRoleFunctionDao.qryForRoleMgr(roleId); foreach (string item in funcData) { if (!"".Equals(StringUtil.toString(item))) { FuncRoleModel funcRoleModel = new FuncRoleModel(); funcRoleModel.cRoleId = roleId; funcRoleModel.cFunctionID = item; if (roleFuncListO.Exists(x => x.cFunctionID == item)) { funcRoleModel.execAction = ""; } else { bChgFunc = true; funcRoleModel.execAction = "A"; } funcList.Add(funcRoleModel); } } foreach (FuncRoleModel oItem in roleFuncListO) { if (!funcList.Exists(x => x.cFunctionID == oItem.cFunctionID)) { bChgFunc = true; FuncRoleModel funcRoleModel = new FuncRoleModel(); funcRoleModel.cRoleId = roleId; funcRoleModel.cFunctionID = oItem.cFunctionID; funcRoleModel.execAction = "D"; funcList.Add(funcRoleModel); } } } //比對是否有異動"金庫設備權限" List <CodeRoleEquipModel> equipList = new List <CodeRoleEquipModel>(); CodeRoleTreaItemDao codeRoleTreaItemDao = new CodeRoleTreaItemDao(); if ("E".Equals(roleMgrModel.roleAuthType)) { List <CodeRoleEquipModel> roleEquipListO = codeRoleTreaItemDao.qryForRoleMgr(roleId); if (equipData != null) { foreach (CodeRoleEquipModel item in equipData) { CodeRoleEquipModel codeRoleEquipModel = new CodeRoleEquipModel(); codeRoleEquipModel.roleId = roleId; codeRoleEquipModel.treaEquipId = StringUtil.toString(item.treaEquipId); //codeRoleEquipModel.controlMode = StringUtil.toString(item.controlMode); codeRoleEquipModel.custodyMode = StringUtil.toString(item.custodyMode); codeRoleEquipModel.custodyOrder = StringUtil.toString(item.custodyOrder); codeRoleEquipModel.custodyModeB = ""; codeRoleEquipModel.custodyOrderB = ""; codeRoleEquipModel.execAction = ""; if (roleEquipListO.Exists(x => x.treaEquipId == item.treaEquipId)) { CodeRoleEquipModel itemO = roleEquipListO.Find(x => x.treaEquipId == item.treaEquipId); if (!( //item.controlMode.Equals(itemO.controlMode) && item.custodyMode.Equals(itemO.custodyMode) && item.custodyOrder.Equals(itemO.custodyOrder))) { codeRoleEquipModel.execAction = "U"; codeRoleEquipModel.custodyModeB = itemO.custodyMode; codeRoleEquipModel.custodyOrderB = itemO.custodyOrder; bChgEquip = true; } } else { codeRoleEquipModel.execAction = "A"; bChgEquip = true; } equipList.Add(codeRoleEquipModel); } } foreach (CodeRoleEquipModel oItem in roleEquipListO) { if (equipList != null) { if (!equipList.Exists(x => x.treaEquipId == oItem.treaEquipId)) { bChgEquip = true; CodeRoleEquipModel codeRoleEquipModel = new CodeRoleEquipModel(); codeRoleEquipModel.roleId = roleId; codeRoleEquipModel.treaEquipId = StringUtil.toString(oItem.treaEquipId); codeRoleEquipModel.controlMode = StringUtil.toString(oItem.controlMode); codeRoleEquipModel.custodyMode = StringUtil.toString(oItem.custodyMode); codeRoleEquipModel.custodyOrder = StringUtil.toString(oItem.custodyOrder); codeRoleEquipModel.execAction = "D"; equipList.Add(codeRoleEquipModel); } } else { bChgEquip = true; CodeRoleEquipModel codeRoleEquipModel = new CodeRoleEquipModel(); codeRoleEquipModel.roleId = roleId; codeRoleEquipModel.treaEquipId = StringUtil.toString(oItem.treaEquipId); codeRoleEquipModel.controlMode = StringUtil.toString(oItem.controlMode); codeRoleEquipModel.custodyMode = StringUtil.toString(oItem.custodyMode); codeRoleEquipModel.custodyOrder = StringUtil.toString(oItem.custodyOrder); codeRoleEquipModel.execAction = "D"; equipList.Add(codeRoleEquipModel); } } } //比對是否有異動"存取項目權限" CodeRoleItemDao codeRoleItemDao = new CodeRoleItemDao(); List <CodeRoleItemModel> itemList = new List <CodeRoleItemModel>(); if ("I".Equals(roleMgrModel.roleAuthType)) { List <CodeRoleItemModel> itemDataO = codeRoleItemDao.qryForRoleMgr(roleId, "1"); if (itemData != null) { foreach (CodeRoleItemModel item in itemData) { CodeRoleItemModel codeRoleItemModel = new CodeRoleItemModel(); codeRoleItemModel.roleId = roleId; codeRoleItemModel.itemId = StringUtil.toString(item.itemId); codeRoleItemModel.authType = "1"; if (itemDataO.Exists(x => x.itemId == item.itemId)) { codeRoleItemModel.execAction = ""; } else { bChgItem = true; codeRoleItemModel.execAction = "A"; } itemList.Add(codeRoleItemModel); } } foreach (CodeRoleItemModel oItem in itemDataO) { if (itemList != null) { if (!itemList.Exists(x => x.itemId == oItem.itemId)) { bChgItem = true; CodeRoleItemModel codeRoleItemModel = new CodeRoleItemModel(); codeRoleItemModel.roleId = roleId; codeRoleItemModel.itemId = StringUtil.toString(oItem.itemId); codeRoleItemModel.authType = "1"; codeRoleItemModel.execAction = "D"; itemList.Add(codeRoleItemModel); } } else { bChgItem = true; CodeRoleItemModel codeRoleItemModel = new CodeRoleItemModel(); codeRoleItemModel.roleId = roleId; codeRoleItemModel.itemId = StringUtil.toString(oItem.itemId); codeRoleItemModel.authType = "1"; codeRoleItemModel.execAction = "D"; itemList.Add(codeRoleItemModel); } } } //比對是否有異動"表單申請權限" List <CodeRoleItemModel> formAplyList = new List <CodeRoleItemModel>(); if ("A".Equals(roleMgrModel.roleAuthType)) { List <CodeRoleItemModel> formAplyDataO = codeRoleItemDao.qryForRoleMgr(roleId, "2"); if (formAplyData != null) { foreach (CodeRoleItemModel item in formAplyData) { CodeRoleItemModel codeRoleItemModel = new CodeRoleItemModel(); codeRoleItemModel.roleId = roleId; codeRoleItemModel.itemId = StringUtil.toString(item.itemId); codeRoleItemModel.authType = "2"; if (formAplyDataO.Exists(x => x.itemId == item.itemId)) { codeRoleItemModel.execAction = ""; } else { bChgFormAply = true; codeRoleItemModel.execAction = "A"; } formAplyList.Add(codeRoleItemModel); } } foreach (CodeRoleItemModel oItem in formAplyDataO) { if (formAplyList != null) { if (!formAplyList.Exists(x => x.itemId == oItem.itemId)) { bChgFormAply = true; CodeRoleItemModel codeRoleItemModel = new CodeRoleItemModel(); codeRoleItemModel.roleId = roleId; codeRoleItemModel.itemId = StringUtil.toString(oItem.itemId); codeRoleItemModel.authType = "2"; codeRoleItemModel.execAction = "D"; formAplyList.Add(codeRoleItemModel); } } else { bChgFormAply = true; CodeRoleItemModel codeRoleItemModel = new CodeRoleItemModel(); codeRoleItemModel.roleId = roleId; codeRoleItemModel.itemId = StringUtil.toString(oItem.itemId); codeRoleItemModel.authType = "2"; codeRoleItemModel.execAction = "D"; formAplyList.Add(codeRoleItemModel); } } } if (bChgRole == false && bChgFunc == false && bChgEquip == false && bChgItem == false && bChgFormAply == false) { return(Json(new { success = false, errors = "未異動畫面資料,將不進行修改覆核作業!!" }, JsonRequestBehavior.AllowGet)); } /*------------------ DB處理 begin------------------*/ string strConn = DbUtil.GetDBTreasuryConnStr(); using (SqlConnection conn = new SqlConnection(strConn)) { conn.Open(); SqlTransaction transaction = conn.BeginTransaction("Transaction"); try { roleMgrModel.cRoleID = roleId; AuthApprDao authApprDao = new AuthApprDao(); AUTH_APPR authAppr = new AUTH_APPR(); authAppr.AUTH_APLY_TYPE = "R"; authAppr.APPR_STATUS = "1"; authAppr.APPR_MAPPING_KEY = roleId; authAppr.CREATE_UID = Session["UserID"].ToString(); //新增"覆核資料檔" string aplyNo = authApprDao.insert(authAppr, conn, transaction); //異動"角色資料檔"覆核狀態 if (bNewRole == false) { updateRole(roleMgrModel, codeRoleO, conn, transaction); } //處理角色資料檔的異動 if (bChgRole) { //新增"角色資料異動檔" CodeRoleHisDao codeRoleHisDao = new CodeRoleHisDao(); CODE_ROLE_HIS codeRoleHis = new CODE_ROLE_HIS(); codeRoleHis.APLY_NO = aplyNo; codeRoleHis.ROLE_ID = StringUtil.toString(roleMgrModel.cRoleID); codeRoleHis.ROLE_NAME = StringUtil.toString(roleMgrModel.cRoleName); codeRoleHis.ROLE_AUTH_TYPE = StringUtil.toString(roleMgrModel.roleAuthType); codeRoleHis.IS_DISABLED = StringUtil.toString(roleMgrModel.isDisabled); codeRoleHis.MEMO = StringUtil.toString(roleMgrModel.vMemo); if (codeRoleO != null) { codeRoleHis.ROLE_NAME_B = StringUtil.toString(codeRoleO.ROLE_NAME); codeRoleHis.IS_DISABLED_B = StringUtil.toString(codeRoleO.IS_DISABLED); codeRoleHis.MEMO_B = StringUtil.toString(codeRoleO.MEMO); } else { codeRoleHis.ROLE_NAME_B = ""; codeRoleHis.IS_DISABLED_B = ""; codeRoleHis.MEMO_B = ""; } if (bNewRole) { codeRoleHis.EXEC_ACTION = "A"; } else { codeRoleHis.EXEC_ACTION = "U"; } codeRoleHisDao.insert(codeRoleHis, conn, transaction); } //處理功能角色資料檔的異動 if (bChgFunc) { CodeRoleFuncHisDao codeRoleFuncHisDao = new CodeRoleFuncHisDao(); foreach (FuncRoleModel func in funcList) { codeRoleFuncHisDao.insert(aplyNo, "Treasury", func, conn, transaction); //if (!"".Equals(func.execAction)) { // codeRoleFuncHisDao.insert(aplyNo, "Treasury", func, conn, transaction); //} } } //處理角色金庫設備資料檔的異動 if (bChgEquip) { CodeRoleTreaItemHisDao codeRoleTreaItemHisDao = new CodeRoleTreaItemHisDao(); foreach (CodeRoleEquipModel equip in equipList) { codeRoleTreaItemHisDao.insert(aplyNo, equip, conn, transaction); //if (!"".Equals(equip.execAction)) //{ // codeRoleTreaItemHisDao.insert(aplyNo, equip, conn, transaction); //} } } //處理角色存取項目資料檔的異動(存取項目) if (bChgItem) { CodeRoleItemHisDao codeRoleItemHisDao = new CodeRoleItemHisDao(); foreach (CodeRoleItemModel item in itemList) { codeRoleItemHisDao.insert(aplyNo, item, conn, transaction); //if (!"".Equals(item.execAction)) //{ // codeRoleItemHisDao.insert(aplyNo, item, conn, transaction); //} } } //處理角色存取項目資料檔的異動(表單申請) if (bChgFormAply) { CodeRoleItemHisDao codeRoleItemHisDao = new CodeRoleItemHisDao(); foreach (CodeRoleItemModel item in formAplyList) { codeRoleItemHisDao.insert(aplyNo, item, conn, transaction); //if (!"".Equals(item.execAction)) //{ // codeRoleItemHisDao.insert(aplyNo, item, conn, transaction); //} } } transaction.Commit(); /*------------------ DB處理 end------------------*/ return(Json(new { success = true, aplyNo = aplyNo })); } catch (Exception e) { transaction.Rollback(); logger.Error("[updateRole]其它錯誤:" + e.ToString()); return(Json(new { success = false, errors = "其它錯誤,請洽系統管理員!!" }, JsonRequestBehavior.AllowGet)); } } }
public JsonResult execReviewR(string aplyNo, string roleId, string apprStatus) { string strConn = DbUtil.GetDBTreasuryConnStr(); using (SqlConnection conn = new SqlConnection(strConn)) { conn.Open(); SqlTransaction transaction = conn.BeginTransaction("Transaction"); try { AuthApprDao AuthApprDao = new AuthApprDao(); AUTH_APPR authAppr = AuthApprDao.qryByKey(aplyNo); if (StringUtil.toString(authAppr.CREATE_UID).Equals(Session["UserID"].ToString())) { return(Json(new { success = false, errors = "覆核人員與申請人員相同,不可執行覆核作業!!" }, JsonRequestBehavior.AllowGet)); } //異動角色資料檔 string cExecType = ""; CodeRoleHisDao codeRoleHisDao = new CodeRoleHisDao(); CodeRoleDao codeRoleDao = new CodeRoleDao(); CODE_ROLE cODEROLEO = new CODE_ROLE(); CODE_ROLE_HIS codeRoleHis = codeRoleHisDao.qryByAplyNo(aplyNo); string execAction = ""; if (codeRoleHis != null) { execAction = StringUtil.toString(codeRoleHis.EXEC_ACTION); } if ("A".Equals(execAction)) //新增角色 { } else { //異動角色 cODEROLEO = codeRoleDao.qryRoleByKey(roleId); } if ("A".Equals(execAction)) { if ("2".Equals(apprStatus)) { cODEROLEO.ROLE_ID = StringUtil.toString(codeRoleHis.ROLE_ID); cODEROLEO.ROLE_NAME = StringUtil.toString(codeRoleHis.ROLE_NAME); cODEROLEO.ROLE_AUTH_TYPE = StringUtil.toString(codeRoleHis.ROLE_AUTH_TYPE); cODEROLEO.IS_DISABLED = codeRoleHis.IS_DISABLED; cODEROLEO.MEMO = StringUtil.toString(codeRoleHis.MEMO); cODEROLEO.DATA_STATUS = "1"; cODEROLEO.CREATE_UID = authAppr.CREATE_UID; cODEROLEO.CREATE_DT = authAppr.CREATE_DT; cODEROLEO.LAST_UPDATE_UID = StringUtil.toString(authAppr.CREATE_UID); cODEROLEO.LAST_UPDATE_DT = authAppr.CREATE_DT; cODEROLEO.APPR_UID = Session["UserID"].ToString(); cODEROLEO.APPR_DT = DateTime.Now; int cnt = codeRoleDao.Create(cODEROLEO, conn, transaction); //新增LOG Log log = new Log(); log.CFUNCTION = "角色管理-新增"; log.CACTION = "A"; log.CCONTENT = codeRoleDao.roleLogContent(cODEROLEO); LogDao.Insert(log, Session["UserID"].ToString()); //20190418 201904160117-00 Bianco 新增稽核軌跡 procTrackLog("A", codeRoleDao, cODEROLEO, conn, transaction); } } else { //新增LOG Log log = new Log(); log.CFUNCTION = "角色管理-修改"; log.CACTION = "U"; log.CCONTENT = codeRoleDao.roleLogContent(cODEROLEO); LogDao.Insert(log, Session["UserID"].ToString()); cODEROLEO.DATA_STATUS = "1"; cODEROLEO.LAST_UPDATE_UID = StringUtil.toString(authAppr.CREATE_UID); cODEROLEO.LAST_UPDATE_DT = authAppr.CREATE_DT; cODEROLEO.APPR_UID = Session["UserID"].ToString(); cODEROLEO.APPR_DT = DateTime.Now; cODEROLEO.FREEZE_DT = null; cODEROLEO.FREEZE_UID = ""; if ("U".Equals(execAction) && "2".Equals(apprStatus)) { cODEROLEO.ROLE_NAME = StringUtil.toString(codeRoleHis.ROLE_NAME); cODEROLEO.IS_DISABLED = codeRoleHis.IS_DISABLED; cODEROLEO.MEMO = StringUtil.toString(codeRoleHis.MEMO); } int cnt = codeRoleDao.Update(cODEROLEO, conn, transaction); //20190418 201904160117-00 Bianco 修改稽核軌跡 procTrackLog("E", codeRoleDao, cODEROLEO, conn, transaction); } //覆核狀態=核可時 if ("2".Equals(apprStatus)) { procRoleFuncHis(roleId, aplyNo, conn, transaction); //異動角色功能 procRoleEquipHis(roleId, aplyNo, conn, transaction); //異動角色設備功能 procRoleItemHis(roleId, aplyNo, conn, transaction); //異動存取項目、表單申請權限 } //異動覆核資料檔 procAuthAppr(aplyNo, apprStatus, conn, transaction); transaction.Commit(); return(Json(new { success = true })); } catch (Exception e) { transaction.Rollback(); logger.Error("[execReviewR]其它錯誤:" + e.ToString()); return(Json(new { success = false, errors = "其它錯誤,請洽系統管理員!!" }, JsonRequestBehavior.AllowGet)); } } }
/// <summary> /// 開啟角色修改明細畫面 /// </summary> /// <param name="aplyNo"></param> /// <returns></returns> public ActionResult detailRole(string aplyNo, string roleId) { try { string execAction = ""; AuthApprDao AuthApprDao = new AuthApprDao(); AUTH_APPR authAppr = new AUTH_APPR(); if (!"".Equals(StringUtil.toString(aplyNo))) { authAppr = AuthApprDao.qryByKey(aplyNo); ViewBag.bView = "N"; } else { authAppr = AuthApprDao.qryByFreeRole(roleId); if (authAppr != null) { aplyNo = StringUtil.toString(authAppr.APLY_NO); } ViewBag.bView = "Y"; } AuthReviewRoleModel roleData = new AuthReviewRoleModel(); roleData.aplyNo = aplyNo; roleData.createUid = authAppr.CREATE_UID; OaEmpDao oaEmpDao = new OaEmpDao(); using (DB_INTRAEntities dbIntra = new DB_INTRAEntities()) { try { roleData.createUid = roleData.createUid == null ? "" : StringUtil.toString(oaEmpDao.qryByUsrId(roleData.createUid, dbIntra).EMP_NAME); } catch (Exception e) { } } roleData.createDt = authAppr.CREATE_DT.ToString(); roleData.roleName = ""; roleData.isDisabled = ""; roleData.memo = ""; roleData.roleNameB = ""; roleData.isDisabledB = ""; roleData.memoB = ""; CodeRoleHisDao CodeRoleHisDao = new CodeRoleHisDao(); CODE_ROLE_HIS codeRoleHis = CodeRoleHisDao.qryByAplyNo(aplyNo); if (codeRoleHis != null) { execAction = StringUtil.toString(codeRoleHis.EXEC_ACTION); } if ("".Equals(execAction)) { CodeRoleDao CodeRoleDao = new CodeRoleDao(); CODE_ROLE codeRole = new CODE_ROLE(); codeRole = CodeRoleDao.qryRoleByKey(authAppr.APPR_MAPPING_KEY); roleData.roleId = StringUtil.toString(codeRole.ROLE_ID); roleData.roleAuthType = StringUtil.toString(codeRole.ROLE_AUTH_TYPE); roleData.roleNameB = StringUtil.toString(codeRole.ROLE_NAME); roleData.isDisabledB = StringUtil.toString(codeRole.IS_DISABLED); roleData.memoB = StringUtil.toString(codeRole.MEMO); } else { roleData.roleId = StringUtil.toString(codeRoleHis.ROLE_ID); roleData.roleAuthType = StringUtil.toString(codeRoleHis.ROLE_AUTH_TYPE); if ("A".Equals(execAction)) { roleData.roleName = StringUtil.toString(codeRoleHis.ROLE_NAME); roleData.isDisabled = StringUtil.toString(codeRoleHis.IS_DISABLED); roleData.memo = StringUtil.toString(codeRoleHis.MEMO); } else { roleData.roleName = StringUtil.toString(codeRoleHis.ROLE_NAME); roleData.isDisabled = StringUtil.toString(codeRoleHis.IS_DISABLED); roleData.memo = StringUtil.toString(codeRoleHis.MEMO); roleData.roleNameB = StringUtil.toString(codeRoleHis.ROLE_NAME_B); roleData.isDisabledB = StringUtil.toString(codeRoleHis.IS_DISABLED_B); roleData.memoB = StringUtil.toString(codeRoleHis.MEMO_B); } } SysCodeDao sysCodeDao = new SysCodeDao(); SYS_CODE sysCode = new SYS_CODE(); sysCode = sysCodeDao.qryByKey("ROLE_AUTH_TYPE", StringUtil.toString(roleData.roleAuthType)); if (sysCode != null) { roleData.roleAuthTypeDesc = StringUtil.toString(sysCode.CODE_VALUE); } sysCode = sysCodeDao.qryByKey("IS_DISABLED", StringUtil.toString(roleData.isDisabledB)); if (sysCode != null) { roleData.isDisabledB = StringUtil.toString(sysCode.CODE_VALUE); } sysCode = sysCodeDao.qryByKey("IS_DISABLED", StringUtil.toString(roleData.isDisabled)); if (sysCode != null) { roleData.isDisabled = StringUtil.toString(sysCode.CODE_VALUE); } ViewBag.bHaveData = "Y"; ViewBag.aplyNo = aplyNo; return(View(roleData)); } catch (Exception e) { ViewBag.bHaveData = "N"; return(View()); } }