Pārlūkot izejas kodu

商邀流程 第五步 新增 是否参与默认显示及存储值

Lyyyi 1 nedēļu atpakaļ
vecāks
revīzija
fa8f67fde3

+ 4 - 5
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -1243,15 +1243,13 @@ namespace OASystem.API.Controllers
                     PageSize = 999999,
                     FieldWeights = new Dictionary<string, int>
                     {
-                        { "TeamName", 10 },
-                        //{ "ClientUnit", 8 },
-                        //{ "ClientName", 6 }
+                        { "TeamName", 10 }
                     },
                     Filters = new List<SearchFilter>()
                     {
                         new(){Field = "IsDel",Operator="eq",Value="0" }
                     },
-                    OrderBy = "TeamName",
+                    OrderBy = "VisitDate",
                     ReturnFields = new List<string>() { "TeamName", "ClientUnit", "ClientName" }
                 };
 
@@ -1277,7 +1275,8 @@ namespace OASystem.API.Controllers
                         {
                             item.Data.TeamName,
                             item.Data.ClientUnit,
-                            item.Data.ClientName
+                            item.Data.ClientName,
+                            //item.Data.VisitDate
                         });
                     }
                     

+ 6 - 1
OASystem/OASystem.Domain/Dtos/Groups/VisaProcessDtos.cs

@@ -84,10 +84,15 @@ namespace OASystem.Domain.Dtos.Groups
         public bool IsAssist { get; set; } = false;
 
         /// <summary>
-        /// 是否上传文件 (签证、机票、酒店、地接 流程结尾节点使用)
+        /// 是否文件 (签证、机票、酒店、地接 流程结尾节点使用)
         /// </summary>
         public bool IsFileUp { get; set; } = false;
 
+        /// <summary>
+        /// 是否参与 (商邀第五步节点使用)
+        /// </summary>
+        public bool IsPart { get; set; } = false;
+
         /// <summary>
         /// 实际完成时间
         /// 情况1:正常使用

+ 14 - 3
OASystem/OASystem.Domain/Entities/Groups/Grp_ProcessOverview.cs

@@ -161,6 +161,15 @@ namespace OASystem.Domain.Entities.Groups
         [DefaultValue(false)]
         public bool IsFileUp { get; set; }
 
+        /// <summary>
+        /// 是否参与
+        /// (商邀 第五步使用)
+        /// </summary>
+        [SugarColumn(ColumnName = "IsPart", ColumnDescription = "是否参与(商邀 第五步使用)", ColumnDataType = "bit")]
+        [DefaultValue(false)]
+        public bool IsPart { get; set; }
+
+
         public Grp_ProcessNode() { }
 
         /// <summary>
@@ -171,12 +180,13 @@ namespace OASystem.Domain.Entities.Groups
         /// <param name="nodeDescTips">描述提示</param>
         /// <param name="status">状态</param>
         /// <param name="isCurrent">是否是当前节点</param>
-        /// <param name="isAssist">控制启用 “是否协助”按钮</param>
-        /// <param name="isFileUp">控制启用 “是否上传文件”按钮</param>
+        /// <param name="isAssist">是否协助</param>
+        /// <param name="isFileUp">是否上传文件</param>
+        /// <param name="isPart">是否参与</param>
         /// <param name="currUserId">当前用户Id</param>
         /// <param name="remark">备注</param>
         /// <returns></returns>
-        public static Grp_ProcessNode Create(int nodeOrder, string nodeName, string nodeDescTips,ProcessStatus status, bool isCurrent, bool isAssist, bool isFileUp, int currUserId, string remark=null)
+        public static Grp_ProcessNode Create(int nodeOrder, string nodeName, string nodeDescTips,ProcessStatus status, bool isCurrent, bool isAssist, bool isFileUp,bool isPart, int currUserId, string remark=null)
         {
             return new Grp_ProcessNode
             {
@@ -187,6 +197,7 @@ namespace OASystem.Domain.Entities.Groups
                 IsCurrent = isCurrent,
                 IsAssist = isAssist,
                 IsFileUp = isFileUp,
+                IsPart = isPart,
                 CreateUserId = currUserId,
                 Remark = remark
             };

+ 42 - 35
OASystem/OASystem.Infrastructure/Repositories/Groups/ProcessOverviewRepository.cs

@@ -58,13 +58,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 Grp_ProcessOverview.Create(groupId, 1, GroupProcessType.Invitation, ProcessStatus.InProgress, currUserId,
                 new List<Grp_ProcessNode>()
                     {
-                        Grp_ProcessNode.Create(1, "报批基础资料准备","更新报批行程和请示,提供其他报批所需材料,4个工作日内完成。",ProcessStatus.InProgress, true,false,false,currUserId),
-                        Grp_ProcessNode.Create(2, "报批邀请函资料准备",oaNode2Tips, ProcessStatus.InProgress, false,false,false,currUserId),
-                        Grp_ProcessNode.Create(3, "获得批件","提供完整的报批全套资源。",ProcessStatus.InProgress, false,false,false, currUserId ),
-                        Grp_ProcessNode.Create(4, "对接公务",oaNode4Tips,ProcessStatus.InProgress, false,false,false, currUserId),
-                        Grp_ProcessNode.Create(5, "参与翻译对接","",ProcessStatus.InProgress, false,false,true, currUserId),
-                        Grp_ProcessNode.Create(6, "商邀文案配合","",ProcessStatus.InProgress, false,false,false, currUserId),
-                        Grp_ProcessNode.Create(7, "票据上传(相关票据)",oaNode7Tips,ProcessStatus.InProgress, false,false,true, currUserId),
+                        Grp_ProcessNode.Create(1, "报批基础资料准备","更新报批行程和请示,提供其他报批所需材料,4个工作日内完成。",ProcessStatus.InProgress, true,false,false,false,currUserId),
+                        Grp_ProcessNode.Create(2, "报批邀请函资料准备",oaNode2Tips, ProcessStatus.InProgress, false,false,false,false,currUserId),
+                        Grp_ProcessNode.Create(3, "获得批件","提供完整的报批全套资源。",ProcessStatus.InProgress, false,false,false,false, currUserId ),
+                        Grp_ProcessNode.Create(4, "对接公务",oaNode4Tips,ProcessStatus.InProgress, false,false,false,false, currUserId),
+                        Grp_ProcessNode.Create(5, "参与翻译对接","",ProcessStatus.InProgress, false,false,true,true, currUserId),
+                        Grp_ProcessNode.Create(6, "商邀文案配合","",ProcessStatus.InProgress, false,false,false,false, currUserId),
+                        Grp_ProcessNode.Create(7, "票据上传(相关票据)",oaNode7Tips,ProcessStatus.InProgress, false,false,true,false, currUserId),
                     }));
             #endregion
 
@@ -82,8 +82,8 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 }
 
                 var visaNode2Tips = $"请于{groupInfo.VisitDate:yyyy年MM月dd日}内完成该项工作(按进度实际签证办理落实情况,团组出发前上传票据。)";
-                visaNodes.Add(Grp_ProcessNode.Create(1, "签证信息", "", ProcessStatus.InProgress, true, false, false, currUserId, JsonConvert.SerializeObject(visaDefualtNodes)));
-                visaNodes.Add(Grp_ProcessNode.Create(2, "票据上传(明细表、费用票据、保单及超支费用账单)", visaNode2Tips, ProcessStatus.InProgress, true, false, true, currUserId));
+                visaNodes.Add(Grp_ProcessNode.Create(1, "签证信息", "", ProcessStatus.InProgress, true, false, false, false, currUserId, JsonConvert.SerializeObject(visaDefualtNodes)));
+                visaNodes.Add(Grp_ProcessNode.Create(2, "票据上传(明细表、费用票据、保单及超支费用账单)", visaNode2Tips, ProcessStatus.InProgress, false, false, true, false, currUserId));
             }
 
             processs.Add(Grp_ProcessOverview.Create(groupId, 2, GroupProcessType.Visa, ProcessStatus.UnStarted, currUserId, visaNodes));
@@ -106,14 +106,14 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 Grp_ProcessOverview.Create(groupId, 3, GroupProcessType.AirTicket, ProcessStatus.InProgress, currUserId,
                 new List<Grp_ProcessNode>()
                     {
-                        Grp_ProcessNode.Create(1, "初步拟定航程方案及价格",   airNode1Tips, ProcessStatus.InProgress, true,false,false,currUserId ),
-                        Grp_ProcessNode.Create(2, "机票占位、续位",   "", ProcessStatus.UnStarted, false,false,false,currUserId ),
-                        Grp_ProcessNode.Create(3, "完成机票采购确认(含预算核对、出票确认等)",  "", ProcessStatus.UnStarted,false,false,false,currUserId),
-                        Grp_ProcessNode.Create(4, "进行出票操作并核查信息", "", ProcessStatus.UnStarted, false,false,false, currUserId),
-                        Grp_ProcessNode.Create(5, "机票已出",  airNode5Tips, ProcessStatus.UnStarted, false,false,false, currUserId),
-                        Grp_ProcessNode.Create(6, "完成机票选座", "", ProcessStatus.UnStarted, false,false,false,currUserId),
-                        Grp_ProcessNode.Create(7, "票据上传(机票超支费用账单)", airNode7Tips, ProcessStatus.UnStarted, false,false,true,currUserId),
-                        Grp_ProcessNode.Create(8, "票据上传(机票报销蓝联、行程单及机票说明)", airNode8Tips, ProcessStatus.UnStarted, false,false,true,currUserId)
+                        Grp_ProcessNode.Create(1, "初步拟定航程方案及价格",   airNode1Tips, ProcessStatus.InProgress, true,false,false,false, currUserId ),
+                        Grp_ProcessNode.Create(2, "机票占位、续位",   "", ProcessStatus.UnStarted, false,false,false,false,currUserId ),
+                        Grp_ProcessNode.Create(3, "完成机票采购确认(含预算核对、出票确认等)",  "", ProcessStatus.UnStarted,false,false,false,false, currUserId),
+                        Grp_ProcessNode.Create(4, "进行出票操作并核查信息", "", ProcessStatus.UnStarted, false,false,false,false, currUserId),
+                        Grp_ProcessNode.Create(5, "机票已出",  airNode5Tips, ProcessStatus.UnStarted, false,false,false,false, currUserId),
+                        Grp_ProcessNode.Create(6, "完成机票选座", "", ProcessStatus.UnStarted, false,false,false,false,currUserId),
+                        Grp_ProcessNode.Create(7, "票据上传(机票超支费用账单)", airNode7Tips, ProcessStatus.UnStarted, false,false,true,false, currUserId),
+                        Grp_ProcessNode.Create(8, "票据上传(机票报销蓝联、行程单及机票说明)", airNode8Tips, ProcessStatus.UnStarted, false,false,true,false, currUserId)
                     }
                 )
              );
@@ -137,11 +137,11 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 Grp_ProcessOverview.Create(groupId, 4, GroupProcessType.Hotel, ProcessStatus.InProgress, currUserId,
                      new List<Grp_ProcessNode>()
                     {
-                        Grp_ProcessNode.Create(1, "筛选并按照预算标准,对目标酒店进行询价、比价、谈价", hotelNode1Tips, ProcessStatus.InProgress, true, false, false, currUserId),
-                        Grp_ProcessNode.Create(2, "获取酒店确认函与入住名单核对", "", ProcessStatus.UnStarted, false, false, false, currUserId ),
-                        Grp_ProcessNode.Create(3, "预订酒店并录入OA",  "", ProcessStatus.UnStarted,false, false, false,currUserId ),
-                        Grp_ProcessNode.Create(4, "行前再次确认酒店订单、付款状态及入住安排",  hotelNode4Tips,ProcessStatus.UnStarted, false, false, false,currUserId ),
-                        Grp_ProcessNode.Create(5, "行程结束后整理酒店发票(含超支费用发票)与结算",  hotelNode5Tips, ProcessStatus.UnStarted, false, false, true, currUserId ),
+                        Grp_ProcessNode.Create(1, "筛选并按照预算标准,对目标酒店进行询价、比价、谈价", hotelNode1Tips, ProcessStatus.InProgress, true, false, false, false, currUserId),
+                        Grp_ProcessNode.Create(2, "获取酒店确认函与入住名单核对", "", ProcessStatus.UnStarted, false, false, false,false, currUserId ),
+                        Grp_ProcessNode.Create(3, "预订酒店并录入OA",  "", ProcessStatus.UnStarted,false, false, false,false,currUserId ),
+                        Grp_ProcessNode.Create(4, "行前再次确认酒店订单、付款状态及入住安排",  hotelNode4Tips,ProcessStatus.UnStarted, false, false, false,false,currUserId ),
+                        Grp_ProcessNode.Create(5, "行程结束后整理酒店发票(含超支费用发票)与结算",  hotelNode5Tips, ProcessStatus.UnStarted, false, false, true,false, currUserId ),
                     }
                 )
             );
@@ -177,13 +177,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 Grp_ProcessOverview.Create(groupId, 5, GroupProcessType.LocalGuide, ProcessStatus.InProgress, currUserId,
                      new List<Grp_ProcessNode>()
                     {
-                        Grp_ProcessNode.Create(1,"根据机票方案出框架行程", opNode1Tips,ProcessStatus.InProgress, true, false, false, currUserId ),
-                        Grp_ProcessNode.Create(2,"联系并询价地接、餐厅、用车、景点等供应商", opNode2Tips,ProcessStatus.UnStarted, false, false, false, currUserId ),
-                        Grp_ProcessNode.Create(3,"提交供应商报价及比价表", opNode3Tips, ProcessStatus.UnStarted, false, false, false, currUserId),
-                        Grp_ProcessNode.Create(4,"执行采购流程", opNode4Tips, ProcessStatus.UnStarted, false, false, false, currUserId),
-                        Grp_ProcessNode.Create(5,"制定最终《行程表》及《出行手册》", opNode5Tips, ProcessStatus.UnStarted, false, false, false, currUserId ),
-                        Grp_ProcessNode.Create(6,"送机", "", ProcessStatus.UnStarted, false, false, false, currUserId ),
-                        Grp_ProcessNode.Create(7,"最终版报批行程、票据上传", opNode7Tips, ProcessStatus.UnStarted, false, false, true, currUserId )
+                        Grp_ProcessNode.Create(1,"根据机票方案出框架行程", opNode1Tips,ProcessStatus.InProgress, true, false, false,false,currUserId ),
+                        Grp_ProcessNode.Create(2,"联系并询价地接、餐厅、用车、景点等供应商", opNode2Tips,ProcessStatus.UnStarted, false, false, false,false, currUserId ),
+                        Grp_ProcessNode.Create(3,"提交供应商报价及比价表", opNode3Tips, ProcessStatus.UnStarted, false, false, false, false,currUserId),
+                        Grp_ProcessNode.Create(4,"执行采购流程", opNode4Tips, ProcessStatus.UnStarted, false, false, false,false, currUserId),
+                        Grp_ProcessNode.Create(5,"制定最终《行程表》及《出行手册》", opNode5Tips, ProcessStatus.UnStarted, false, false, false,false, currUserId ),
+                        Grp_ProcessNode.Create(6,"送机", "", ProcessStatus.UnStarted, false, false, false,false, currUserId ),
+                        Grp_ProcessNode.Create(7,"最终版报批行程、票据上传", opNode7Tips, ProcessStatus.UnStarted, false, false, true, false,currUserId )
                     }
                 )
             );
@@ -196,10 +196,10 @@ namespace OASystem.Infrastructure.Repositories.Groups
                 Grp_ProcessOverview.Create(groupId, 6, GroupProcessType.FeeSettle, ProcessStatus.InProgress, currUserId,
                     new List<Grp_ProcessNode>()
                     {
-                        Grp_ProcessNode.Create(1, "城市间交通报批金额核定", "团组报批前", ProcessStatus.InProgress, true, true, false,currUserId ),
-                        Grp_ProcessNode.Create(2, "团组全程各段机票打票金额的核定", "团组报批后、订票前", ProcessStatus.UnStarted, false, false, false,currUserId ),
-                        Grp_ProcessNode.Create(3, "整理统计团组超支费用、三公报销资料给到各单位", feeNode3Tips, ProcessStatus.UnStarted, false, false, false,currUserId ),
-                        Grp_ProcessNode.Create(4, "费用结算完毕", "", ProcessStatus.UnStarted, false, false, false,currUserId ),
+                        Grp_ProcessNode.Create(1, "城市间交通报批金额核定", "团组报批前", ProcessStatus.InProgress, true, true, false,false,currUserId ),
+                        Grp_ProcessNode.Create(2, "团组全程各段机票打票金额的核定", "团组报批后、订票前", ProcessStatus.UnStarted, false, false, false,false,currUserId ),
+                        Grp_ProcessNode.Create(3, "整理统计团组超支费用、三公报销资料给到各单位", feeNode3Tips, ProcessStatus.UnStarted, false, false, false,false,currUserId ),
+                        Grp_ProcessNode.Create(4, "费用结算完毕", "", ProcessStatus.UnStarted, false, false, false,false, currUserId ),
                     }
                 )
             );
@@ -345,11 +345,13 @@ namespace OASystem.Infrastructure.Repositories.Groups
 
                         // 文件上传按钮启用规则
                         bool isEnaFileUpBtn = false;
+                        // 是否参与按钮启用
+                        bool isEnaPartBtn = false;
 
-                        // 规则1:商邀流程第5步启用上传按钮
+                        // 规则1:商邀流程第五步启用参与按钮
                         if (p.ProcessType == GroupProcessType.Invitation && isFifthStep)
                         {
-                            isEnaFileUpBtn = true;
+                            isEnaPartBtn = true;
                         }
                         // 规则2:机票流程倒数第二步启用上传按钮
                         else if (p.ProcessType == GroupProcessType.AirTicket && isSecondLastNode)
@@ -393,6 +395,8 @@ namespace OASystem.Infrastructure.Repositories.Groups
                             n.IsAssist,      // 财务流程首节点 存储值
                             isEnaFileUpBtn,  // 是否启用上传文件按钮
                             n.IsFileUp,      // 票据上传节点 存储值
+                            isEnaPartBtn,    // 是否启用参与按钮
+                            n.IsPart,        // 参与按钮 存储值
                             visaSubNodes     // 签证节点类型使用
                         };
                     }).ToList()
@@ -763,6 +767,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
             int currUserId = dto.CurrUserId;
             bool isAssist = dto.IsAssist;
             bool isFileUp = dto.IsFileUp;
+            bool isPart = dto.IsPart;
 
             // 1. 获取并验证节点和流程
             var node = await _sqlSugar.Queryable<Grp_ProcessNode>()
@@ -789,6 +794,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
             node.ActualDone = dt;
             node.IsAssist = isAssist;
             node.IsFileUp = isFileUp;
+            node.IsPart = isPart;
 
             // 3. 保存节点更新
             await _sqlSugar.Updateable(node)
@@ -797,6 +803,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
                     n.ActualDone,
                     n.IsAssist,
                     n.IsFileUp,
+                    n.IsPart,
                 })
                 .ExecuteCommandAsync();
             //记录节点日志