From dc00dcd986589c2f19160e711b819f1080576344 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期三, 05 六月 2024 14:14:35 +0800 Subject: [PATCH] 登录更新 --- Tiger.Api/Controllers/SYS/SYSController.Org.cs | 12 +++ Tiger.Business/SYS/Biz.SYS_BS_LOGIN.cs | 111 +++++++++++++++------------ Tiger.Model.Net/Entitys/SYS/USER.cs | 1 Tiger.Model.Net/Entitys/BAS/BAS_ITEM.cs | 5 - Tiger.Model.Net/Entitys/SYS/RoleListItem.cs | 1 Tiger.Business/SYS/Biz.SYS_ORGANIZATION.cs | 47 +++++++++++ Tiger.IBusiness/Common/ISystem.cs | 5 + Tiger.Business/SYS/Biz.SYS_ROLE.cs | 37 +++++++++ 8 files changed, 164 insertions(+), 55 deletions(-) diff --git a/Tiger.Api/Controllers/SYS/SYSController.Org.cs b/Tiger.Api/Controllers/SYS/SYSController.Org.cs index 32b92bd..028aaf9 100644 --- a/Tiger.Api/Controllers/SYS/SYSController.Org.cs +++ b/Tiger.Api/Controllers/SYS/SYSController.Org.cs @@ -22,5 +22,17 @@ { return Ok(await DI.Resolve<ISystem>().getOrgTreeList(deptName, status)); } + + /// <summary> + /// 鑾峰彇宸ュ巶鏍戝舰鍒楄〃 + /// </summary> + /// <param name="deptName"></param> + /// <param name="status"></param> + /// <returns></returns> + [HttpGet] + public async Task<IActionResult> getProdTreeList(string deptName) + { + return Ok(await DI.Resolve<ISystem>().getProdTreeList(deptName)); + } } } diff --git a/Tiger.Business/SYS/Biz.SYS_BS_LOGIN.cs b/Tiger.Business/SYS/Biz.SYS_BS_LOGIN.cs index b8e77c3..9c0263f 100644 --- a/Tiger.Business/SYS/Biz.SYS_BS_LOGIN.cs +++ b/Tiger.Business/SYS/Biz.SYS_BS_LOGIN.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; using Rhea.Common; using Tiger.IBusiness; +using Dm.filter.log; namespace Tiger.Business { @@ -81,63 +82,73 @@ { if (user.STATUS_CODE == "ENABLE") { - var org_code=Db.Queryable<V_USER_ORG>().Where(q=>q.USER_ID == userInfo.USER_CODE && q.ORG_CODE==userInfo.ORG_CODE).First(); - if (org_code !=null) + var fty = userInfo.FTY_CODE ?? "QXXC"; + MES_FACTORY _factory = Db.Queryable<MES_FACTORY>() + .Where(x => x.FTY_CODE == fty) + .ToList()[0]; + + SYS_BS_LOGIN logininfo = new SYS_BS_LOGIN { - var fty = userInfo.FTY_CODE ?? "QXXC"; - MES_FACTORY _factory = Db.Queryable<MES_FACTORY>() - .Where(x => x.FTY_CODE == fty) - .ToList()[0]; - - SYS_BS_LOGIN logininfo = new SYS_BS_LOGIN - { - USER_ID = user.USER_ID, - USER_NAME = user.USER_NAME, - LAST_ACCESS = DateTime.Now, - CREATE_TIME = DateTime.Now, - STATUS_CODE = user.STATUS_CODE, - CLIENT_IP = userInfo?.ip, - FTY_CODE = _factory.FTY_CODE, - FTY_NAME = _factory.FTY_NAME, - TOKEN = userInfo.Token ?? Guid.NewGuid().ToString("N"), - ID = Guid.NewGuid().ToString("N"), - ACCOUNT_TYPE = 0, - ORG_CODE = userInfo.ORG_CODE - }; - LOG_BS_LOGIN loginlog = new() - { - //FACTORY = _factory.FTY_CODE, - USER_ID = user.USER_ID, - LOGIN_FROM = $"{userInfo?.ad_info?.nation}->{userInfo?.ad_info?.province}->{userInfo?.ad_info?.city};IP:{userInfo?.ip}", - LOGIN_TIME = DateTime.Now - - }; - //淇濆瓨鐧诲綍鏃ュ織 - var db = Business.Biz.Db; - var dbTran = db.UseTran(() => - { - db.Insertable(loginlog).ExecuteCommand(); - - if (logininfo != null) - { - var deres = db.Storageable(logininfo).ExecuteCommand(); - } - res.Data = logininfo; - }); - if (!dbTran.IsSuccess) - { - res.IsSuccessed = false; - res.Data = null; - res.LocaleMsg = L("SYS.Login.dbTranError"); - } - res.Data = logininfo; + USER_ID = user.USER_ID, + USER_NAME = user.USER_NAME, + LAST_ACCESS = DateTime.Now, + CREATE_TIME = DateTime.Now, + STATUS_CODE = user.STATUS_CODE, + CLIENT_IP = userInfo?.ip, + FTY_CODE = _factory.FTY_CODE, + FTY_NAME = _factory.FTY_NAME, + TOKEN = userInfo.Token ?? Guid.NewGuid().ToString("N"), + ID = Guid.NewGuid().ToString("N"), + ACCOUNT_TYPE = 0, + ORG_CODE = userInfo.ORG_CODE + }; + var org_code=Db.Queryable<V_USER_ORG>().Where(q=>q.USER_ID == userInfo.USER_CODE && q.ORG_CODE==userInfo.ORG_CODE).First(); + if (org_code != null) + { + logininfo.ORG_CODE = org_code.ORG_CODE; } else { + var prod_code = Db.Queryable<V_USER_PROD>().Where(q => q.USER_ID == userInfo.USER_CODE && q.PROD_CODE == userInfo.PROD_CODE).First(); + if (prod_code != null) + { + logininfo.FTY_CODE = prod_code.PROD_CODE; + logininfo.FTY_NAME = prod_code.PROD_NAME; + } + else + { + res.IsSuccessed = false; + res.Data = null; + res.LocaleMsg = L("SYS.Login.isNotOrgCode");//鐢ㄦ埛娌℃湁璇ユ嵁鐐圭殑鏉冮檺 } + } + } + LOG_BS_LOGIN loginlog = new() + { + //FACTORY = _factory.FTY_CODE, + USER_ID = user.USER_ID, + LOGIN_FROM = $"{userInfo?.ad_info?.nation}->{userInfo?.ad_info?.province}->{userInfo?.ad_info?.city};IP:{userInfo?.ip}", + LOGIN_TIME = DateTime.Now + + }; + //淇濆瓨鐧诲綍鏃ュ織 + var db = Business.Biz.Db; + var dbTran = db.UseTran(() => + { + db.Insertable(loginlog).ExecuteCommand(); + + if (logininfo != null) + { + var deres = db.Storageable(logininfo).ExecuteCommand(); + } + res.Data = logininfo; + }); + if (!dbTran.IsSuccess) + { res.IsSuccessed = false; res.Data = null; - res.LocaleMsg = L("SYS.Login.isNotOrgCode");//鐢ㄦ埛娌℃湁璇ユ嵁鐐圭殑鏉冮檺 + res.LocaleMsg = L("SYS.Login.dbTranError"); } + res.Data = logininfo; } else { diff --git a/Tiger.Business/SYS/Biz.SYS_ORGANIZATION.cs b/Tiger.Business/SYS/Biz.SYS_ORGANIZATION.cs index 534c15a..0a903c6 100644 --- a/Tiger.Business/SYS/Biz.SYS_ORGANIZATION.cs +++ b/Tiger.Business/SYS/Biz.SYS_ORGANIZATION.cs @@ -98,9 +98,56 @@ } } + public async Task<string> getProdTreeList(string prodName) + { + var data = new List<OrgItem>(); + MES_FACTORY func = null; + if (!string.IsNullOrEmpty(prodName)) + { + func = Biz.Db.Queryable<MES_FACTORY>().Where(x => x.FTY_CODE == prodName).First(); + } + var items = await Biz.Db.Queryable<MES_FACTORY>() + .Distinct().ToListAsync(); + //娌℃湁鏌ヨ鐨勬椂鍊� + if (func == null) + { + int i = 0; + foreach (var item in items) + { + OrgItem deptItem = new(); + deptItem.id = item.ID; + deptItem.deptCode = item.FTY_CODE; + deptItem.deptName = item.FTY_NAME; + deptItem.PARENT = ""; + deptItem.createTime = item.CREATE_TIME.ToString("yyyy-MM-dd mm:dd:ss"); + deptItem.status = 0; + deptItem.remark = item.REMARK; + deptItem.orderNo = i++; + deptItem.children = new(); + deptItem.DefaultApi = ""; + data.Add(deptItem); + } + } + //鏈夋煡璇㈡潯浠剁殑鏃跺�� + else + { + + } + + //string where = page.sqlcmd; + //action.Data = isAsync ? await Db.Queryable<T>().Where(where).ToPageAsync(page.pageIndex, page.pageSize) : Db.Queryable<T>().Where(where).ToPage(page.pageIndex, page.pageSize); + //action.Data.draw = page.draw; + //action.Message = $"Query {typeof(T).Name} entity page from database success"; + + //杞崲Json鏃讹紝鍘婚櫎鍊间负null鐨勫睘鎬� + var jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; + var json = JsonConvert.SerializeObject(data, Formatting.Indented, jsonSetting); + return json; + } } + /// <summary> /// 閮ㄩ棬鏍戝舰鍒楄〃 /// </summary> diff --git a/Tiger.Business/SYS/Biz.SYS_ROLE.cs b/Tiger.Business/SYS/Biz.SYS_ROLE.cs index 52c6484..71f431e 100644 --- a/Tiger.Business/SYS/Biz.SYS_ROLE.cs +++ b/Tiger.Business/SYS/Biz.SYS_ROLE.cs @@ -128,6 +128,35 @@ } } + //淇濆瓨瑙掕壊宸ュ巶 + List<SYS_ROLE_PROD> rolePrdList = new List<SYS_ROLE_PROD>(); + if (data.fty.Checked != null) + { + foreach (var item in data.fty.Checked) + { + SYS_ROLE_PROD roleFty = new() + { + ROLE_CODE = func.ID, + PROD_CODE = item, + HALF_CHECK = "N" + }; + rolePrdList.Add(roleFty); + } + } + if (data.fty.halfChecked != null) + { + foreach (var item in data.fty.halfChecked) + { + SYS_ROLE_PROD roleFty = new() + { + ROLE_CODE = func.ID, + PROD_CODE = item, + HALF_CHECK = "Y" + }; + rolePrdList.Add(roleFty); + } + } + //淇濆瓨鍒版暟鎹簱 var db = Business.Biz.Db; var dbTran = db.UseTran(() => @@ -159,6 +188,14 @@ } db.Storageable(roleOrgList, "system").ExecuteCommand(); } + if (rolePrdList.Count > 0) + { + if (!string.IsNullOrEmpty(data.ID)) + { + db.Deleteable<SYS_ROLE_PROD>().Where(x => x.ROLE_CODE == data.ID).ExecuteCommand(); + } + db.Storageable(rolePrdList, "system").ExecuteCommand(); + } if (roleWhList.Count > 0) { if (!string.IsNullOrEmpty(data.ID)) diff --git a/Tiger.IBusiness/Common/ISystem.cs b/Tiger.IBusiness/Common/ISystem.cs index f5e3fe2..d149fbf 100644 --- a/Tiger.IBusiness/Common/ISystem.cs +++ b/Tiger.IBusiness/Common/ISystem.cs @@ -40,6 +40,11 @@ /// <returns></returns> public Task<string> getOrgTreeList(string orgName, string status); /// <summary> + /// 鑾峰彇鎵�鏈夊伐鍘傚垪琛� + /// </summary> + /// <returns></returns> + public Task<string> getProdTreeList(string orgName); + /// <summary> /// 鑾峰彇鑿滃崟鍒楄〃 /// </summary> /// <param name="userid"></param> diff --git a/Tiger.Model.Net/Entitys/BAS/BAS_ITEM.cs b/Tiger.Model.Net/Entitys/BAS/BAS_ITEM.cs index f530d9e..08d0d85 100644 --- a/Tiger.Model.Net/Entitys/BAS/BAS_ITEM.cs +++ b/Tiger.Model.Net/Entitys/BAS/BAS_ITEM.cs @@ -104,11 +104,6 @@ /// </summary> public string REMARK { get; set; } - /// <summary> - /// 棰勫瓨澶╂暟 - /// </summary> - public decimal DepositDays { get; set; } - #endregion 鍏叡灞炴�� #region 铏氭嫙灞炴�� diff --git a/Tiger.Model.Net/Entitys/SYS/RoleListItem.cs b/Tiger.Model.Net/Entitys/SYS/RoleListItem.cs index 489f8ed..8c9508a 100644 --- a/Tiger.Model.Net/Entitys/SYS/RoleListItem.cs +++ b/Tiger.Model.Net/Entitys/SYS/RoleListItem.cs @@ -35,6 +35,7 @@ public string IS_ACTIVE { get; set; } public checkedMenu menu { get; set; } public checkedMenu org { get; set; } + public checkedMenu fty { get; set; } public checkedMenu wh { get; set; } public bool isUpdate { get; set; } } diff --git a/Tiger.Model.Net/Entitys/SYS/USER.cs b/Tiger.Model.Net/Entitys/SYS/USER.cs index 18bc603..47710e1 100644 --- a/Tiger.Model.Net/Entitys/SYS/USER.cs +++ b/Tiger.Model.Net/Entitys/SYS/USER.cs @@ -23,6 +23,7 @@ public string ORG_CODE { get; set; } public string FTY_CODE { get; set; } + public string PROD_CODE { get; set; } public string Token { get; set; } } -- Gitblit v1.9.3