From 38aff235316e8d49bf3558bfaa44f4c6ab2b78a4 Mon Sep 17 00:00:00 2001 From: liaoxujun@qq.com <liaoxujun@qq.com> Date: 星期五, 15 九月 2023 17:26:58 +0800 Subject: [PATCH] 修改权限体系,增加标书信息管理权限分离,分为标书信息管理平台使用,和标书制作管理使用,修改权限表,订单表 --- DocumentServiceApi.InitQMessage/MessageReceive.cs | 297 ++++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 232 insertions(+), 65 deletions(-) diff --git a/DocumentServiceApi.InitQMessage/MessageReceive.cs b/DocumentServiceApi.InitQMessage/MessageReceive.cs index 272bf15..ddb76ff 100644 --- a/DocumentServiceApi.InitQMessage/MessageReceive.cs +++ b/DocumentServiceApi.InitQMessage/MessageReceive.cs @@ -78,20 +78,42 @@ }; - TenantPermissions permissions = new TenantPermissions() + TenantPermissions ? Mangerpermissions = null; + if (oder.HasManagePermission) { - CreatBy = "娑堟伅闃熷垪 InitTenantOder", - CreatTime = DateTime.Now, - Description = obj.Description, - EmployeeMaxCount = obj.EmployeeCount ?? 0, - UnitMaxCount = obj.UnitCount ?? 0, - - HasDocumentPermission=obj.HasDocumentPermission, - OverTime = DateTime.Now.AddMonths(obj.MonthCount ?? 0), + Mangerpermissions = new TenantPermissions() + { + CreatBy = "娑堟伅闃熷垪 InitTenantOder", + CreatTime = DateTime.Now, + Description = obj.Description, + EmployeeMaxCount = obj.EmployeeCount ?? 0, + UnitMaxCount = obj.UnitCount ?? 0, + + PermissionsType = TenantPermissionsType.Manage, + OverTime = DateTime.Now.AddMonths(obj.MonthCount ?? 0), - }; + }; + } + TenantPermissions? DocumentPermissions = null; + if (oder.HasDocumentPermission == true) + { + DocumentPermissions = new TenantPermissions() + { + CreatBy = "娑堟伅闃熷垪 InitTenantOder", + CreatTime = DateTime.Now, + Description = obj.Description, + EmployeeMaxCount = obj.EmployeeCount ?? 0, + UnitMaxCount = obj.UnitCount ?? 0, + + PermissionsType = TenantPermissionsType.Document, + OverTime = DateTime.Now.AddMonths(obj.MonthCount ?? 0), + + + + }; + } //鏂板缓绉熸埛鍛樺伐 Document_EmployeeInfo employeeInfo = new Document_EmployeeInfo() @@ -134,13 +156,22 @@ var id= await _db.Insertable(Tinfo).ExecuteReturnIdentityAsync(); var eid = await _db.Insertable(employeeInfo).ExecuteReturnIdentityAsync(); - permissions.TenantId = id; + if (Mangerpermissions != null) + { + Mangerpermissions.TenantId = id; + await _db.Insertable(Mangerpermissions).ExecuteCommandAsync(); + } + if (DocumentPermissions != null) + { + DocumentPermissions.TenantId = id; + await _db.Insertable(DocumentPermissions).ExecuteCommandAsync(); + } employeeAtTenant.TenantID = id; employeeAtTenant.EmployeeID = eid; tenderUnit.TenantId = id; await _db.Insertable(tenderUnit).ExecuteCommandAsync(); await _db.Insertable(employeeAtTenant).ExecuteCommandAsync(); - await _db.Insertable(permissions).ExecuteCommandAsync (); + await _db.Insertable(oder).ExecuteCommandAsync(); await _db.AsTenant().CommitTranAsync(); } @@ -165,72 +196,208 @@ Tinfo.UpdataTime = DateTime.Now; Tinfo.IsDel = false; Tinfo.IsEn = true; - - var tp= await _db.Queryable<TenantPermissions>().Where(x=>x.TenantId==Tinfo.Id).FirstAsync(); - - try + if (oder.HasManagePermission == true) { - await _db.AsTenant().BeginTranAsync(); - if (Tinfo.ItCode != obj.ITCode) + var tp = await _db.Queryable<TenantPermissions>().Where(x => x.TenantId == Tinfo.Id&&x.PermissionsType== TenantPermissionsType.Manage && x.IsEn == true && x.IsDel == false).FirstAsync(); + + try { - - await _db.Updateable(Tinfo).ExecuteCommandAsync(); - }; - if (tp == null) - { - tp = new TenantPermissions() + await _db.AsTenant().BeginTranAsync(); + if (Tinfo.ItCode != obj.ITCode) { - CreatBy = "娑堟伅闃熷垪 InitTenantOder", - CreatTime = DateTime.Now, - IsDel = false, - IsEn = true, - EmployeeMaxCount=obj.EmployeeCount??0, - UnitMaxCount=obj.UnitCount??0, - OverTime=DateTime.Now.AddMinutes(obj.MonthCount??0), - TenantId= Tinfo.Id, - + + await _db.Updateable(Tinfo).ExecuteCommandAsync(); }; - await _db.Insertable(tp).ExecuteCommandAsync(); + if (tp == null) + { + tp = new TenantPermissions() + { + CreatBy = "娑堟伅闃熷垪 InitTenantOder", + CreatTime = DateTime.Now, + IsDel = false, + IsEn = true, + EmployeeMaxCount = obj.EmployeeCount ?? 0, + UnitMaxCount = obj.UnitCount ?? 0, + OverTime = DateTime.Now.AddMinutes(obj.MonthCount ?? 0), + TenantId = Tinfo.Id, + PermissionsType= TenantPermissionsType.Manage, - + }; + await _db.Insertable(tp).ExecuteCommandAsync(); + + + } + else + { + tp.IsDel = false; + tp.IsEn = true; + tp.UnitMaxCount = obj.UnitCount ?? tp.UnitMaxCount; + tp.EmployeeMaxCount = obj.EmployeeCount ?? tp.EmployeeMaxCount; + tp.OverTime = tp.OverTime.AddMonths(obj.MonthCount ?? 0); + tp.UpdataBy = "娑堟伅闃熷垪 InitTenantOder"; + tp.UpdataTime = DateTime.Now; + + await _db.Updateable(tp).ExecuteCommandAsync(); + + } + if (obj.ITCode != Employee.UserName) + { + //濡傛灉鍙戠幇鐢ㄦ埛鍚嶅凡缁忔洿鏀癸紝鍒欒闆嗗洟鍛樺伐鐢ㄦ埛鍚嶈窡闅忔洿鏀� + Employee.UserName = obj.ITCode; + Employee.LastUpdateName = "娑堟伅闃熷垪 InitTenantOder"; + Employee.LastUpdateTime = DateTime.Now; + await _db.Updateable(Employee).ExecuteCommandAsync(); + } + await _db.Insertable(oder).ExecuteCommandAsync(); + await _db.AsTenant().CommitTranAsync(); + + + + + } - else + catch (Exception e) { - tp.IsDel = false; - tp.IsEn = true; - tp.UnitMaxCount = obj.UnitCount ?? tp.UnitMaxCount; - tp.EmployeeMaxCount = obj.EmployeeCount ?? tp.EmployeeMaxCount; - tp.OverTime = tp.OverTime.AddMonths(obj.MonthCount??0); - tp.UpdataBy = "娑堟伅闃熷垪 InitTenantOder"; - tp.UpdataTime = DateTime.Now; - await _db.Updateable(tp).ExecuteCommandAsync(); - + await _db.AsTenant().RollbackTranAsync(); + $"淇敼绉熸埛鏉冮檺澶辫触 msg:{msg},e:{e.ToString()} By锛氭秷鎭槦鍒� InitTenantOder".LogInformation<MessageReceive>(); + return; } - if (obj.ITCode != Employee.UserName) - { - //濡傛灉鍙戠幇鐢ㄦ埛鍚嶅凡缁忔洿鏀癸紝鍒欒闆嗗洟鍛樺伐鐢ㄦ埛鍚嶈窡闅忔洿鏀� - Employee.UserName = obj.ITCode; - Employee.LastUpdateName= "娑堟伅闃熷垪 InitTenantOder"; - Employee.LastUpdateTime = DateTime.Now; - await _db.Updateable(Employee).ExecuteCommandAsync(); - } - await _db.Insertable(oder).ExecuteCommandAsync(); - await _db.AsTenant().CommitTranAsync(); - - - - - } - catch (Exception e) + + + if (oder.HasDocumentPermission == true) { + var tp = await _db.Queryable<TenantPermissions>().Where(x => x.TenantId == Tinfo.Id && x.PermissionsType == TenantPermissionsType.Document && x.IsEn == true && x.IsDel == false).FirstAsync(); - await _db.AsTenant().RollbackTranAsync(); - $"淇敼绉熸埛鏉冮檺澶辫触 msg:{msg},e:{e.ToString()} By锛氭秷鎭槦鍒� InitTenantOder".LogInformation<MessageReceive>(); - return; + try + { + await _db.AsTenant().BeginTranAsync(); + if (Tinfo.ItCode != obj.ITCode) + { + + await _db.Updateable(Tinfo).ExecuteCommandAsync(); + }; + if (tp == null) + { + tp = new TenantPermissions() + { + CreatBy = "娑堟伅闃熷垪 InitTenantOder", + CreatTime = DateTime.Now, + IsDel = false, + IsEn = true, + EmployeeMaxCount = obj.EmployeeCount ?? 0, + UnitMaxCount = obj.UnitCount ?? 0, + OverTime = DateTime.Now.AddMinutes(obj.MonthCount ?? 0), + TenantId = Tinfo.Id, + PermissionsType = TenantPermissionsType.Document, + + }; + await _db.Insertable(tp).ExecuteCommandAsync(); + + + } + else + { + tp.IsDel = false; + tp.IsEn = true; + tp.UnitMaxCount = obj.UnitCount ?? tp.UnitMaxCount; + tp.EmployeeMaxCount = obj.EmployeeCount ?? tp.EmployeeMaxCount; + tp.OverTime = tp.OverTime.AddMonths(obj.MonthCount ?? 0); + tp.UpdataBy = "娑堟伅闃熷垪 InitTenantOder"; + tp.UpdataTime = DateTime.Now; + + await _db.Updateable(tp).ExecuteCommandAsync(); + + } + if (obj.ITCode != Employee.UserName) + { + //濡傛灉鍙戠幇鐢ㄦ埛鍚嶅凡缁忔洿鏀癸紝鍒欒闆嗗洟鍛樺伐鐢ㄦ埛鍚嶈窡闅忔洿鏀� + Employee.UserName = obj.ITCode; + Employee.LastUpdateName = "娑堟伅闃熷垪 InitTenantOder"; + Employee.LastUpdateTime = DateTime.Now; + await _db.Updateable(Employee).ExecuteCommandAsync(); + } + await _db.Insertable(oder).ExecuteCommandAsync(); + await _db.AsTenant().CommitTranAsync(); + + + + + + } + catch (Exception e) + { + + await _db.AsTenant().RollbackTranAsync(); + $"淇敼绉熸埛鏉冮檺澶辫触 msg:{msg},e:{e.ToString()} By锛氭秷鎭槦鍒� InitTenantOder".LogInformation<MessageReceive>(); + return; + } } - + + if(oder.HasDocumentPermission!=true&&oder.HasManagePermission!=true) + { + //濡傛灉涓や釜閮戒笉鏄紝name灏辨槸澧炲姞浜烘暟鎴栬�呭鍔犲叕鍙告暟閲忥紝鍙湁鍦ㄧ鐞嗙郴缁熶腑浜х敓 + + var tp = await _db.Queryable<TenantPermissions>().Where(x => x.TenantId == Tinfo.Id && x.PermissionsType == TenantPermissionsType.Manage&&x.IsEn==true&&x.IsDel==false).FirstAsync(); + + try + { + await _db.AsTenant().BeginTranAsync(); + if (Tinfo.ItCode != obj.ITCode) + { + + await _db.Updateable(Tinfo).ExecuteCommandAsync(); + }; + if (tp == null) + { + //娌℃湁TP 鍒欎笉鐩存帴澧炲姞 鎶ラ敊 + + + await _db.AsTenant().RollbackTranAsync(); + $"淇敼鍛樺伐浜烘暟锛屽叕鍙稿憳宸ユ潈闄愬け璐� 宸蹭涪寮冨鐞� msg:{msg} By锛氭秷鎭槦鍒� InitTenantOder".LogInformation<MessageReceive>(); + return; + + } + else + { + tp.IsDel = false; + tp.IsEn = true; + tp.UnitMaxCount = tp.UnitMaxCount+=(obj.UnitCount??0); + tp.EmployeeMaxCount = tp.UnitMaxCount += (obj.UnitCount ?? 0); + tp.OverTime = tp.OverTime.AddMonths(obj.MonthCount ?? 0); + tp.UpdataBy = "娑堟伅闃熷垪 InitTenantOder"; + tp.UpdataTime = DateTime.Now; + + await _db.Updateable(tp).ExecuteCommandAsync(); + + } + if (obj.ITCode != Employee.UserName) + { + //濡傛灉鍙戠幇鐢ㄦ埛鍚嶅凡缁忔洿鏀癸紝鍒欒闆嗗洟鍛樺伐鐢ㄦ埛鍚嶈窡闅忔洿鏀� + Employee.UserName = obj.ITCode; + Employee.LastUpdateName = "娑堟伅闃熷垪 InitTenantOder"; + Employee.LastUpdateTime = DateTime.Now; + await _db.Updateable(Employee).ExecuteCommandAsync(); + } + await _db.Insertable(oder).ExecuteCommandAsync(); + await _db.AsTenant().CommitTranAsync(); + + return; + + + + } + catch (Exception e) + { + + await _db.AsTenant().RollbackTranAsync(); + $"淇敼绉熸埛鏉冮檺澶辫触 msg:{msg},e:{e.ToString()} By锛氭秷鎭槦鍒� InitTenantOder".LogInformation<MessageReceive>(); + return; + } + + } + } -- Gitblit v1.9.1