From a247547df86f0fad8f03aebb91de68d3f2bc7918 Mon Sep 17 00:00:00 2001
From: 移动系统liao <liaoxujun@qq.com>
Date: 星期四, 01 五月 2025 10:16:52 +0800
Subject: [PATCH] 修正sugsql导航更新加配置的bug

---
 cylsg/cylsg.Application/CyOS/CyOSBaoXiaoZHuGuanController.cs |   55 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 50 insertions(+), 5 deletions(-)

diff --git a/cylsg/cylsg.Application/CyOS/CyOSBaoXiaoZHuGuanController.cs b/cylsg/cylsg.Application/CyOS/CyOSBaoXiaoZHuGuanController.cs
index d255339..18dd22f 100644
--- a/cylsg/cylsg.Application/CyOS/CyOSBaoXiaoZHuGuanController.cs
+++ b/cylsg/cylsg.Application/CyOS/CyOSBaoXiaoZHuGuanController.cs
@@ -15,6 +15,7 @@
     /// 鎶ラ攢涓荤鐩稿叧鎺у埗鍣�
     /// </summary>
     [Authorize]
+    [ApiDescriptionSettings("CYOA")]
     public class CyOSBaoXiaoZHuGuanController: IDynamicApiController
     {
         private readonly IOAServices _OAServices;
@@ -25,8 +26,29 @@
             _OAServices = oaservices;
             _SugarClient = sugarClient.AsTenant().GetConnection("ECTESTOADB");
         }
+        /// <summary>
+        /// 鏌ヨ
+        /// </summary>
+        /// <returns></returns>
+        [HttpGet]
+        [AllowAnonymous]
+        public async Task<List<OaWorkPlan>> gettest()
+        {
+            var datal = await _SugarClient.Queryable<OaWorkPlan>().Where(x=>x.PlanType==3&&x.PlanDataType==17)
+         .Select(x => new OaWorkPlan
+         {
+             OaWorkPlanShenpi = SqlFunc.Subqueryable<OaWorkPlanShenpi>().Where(y => y.OA_WorkPlanId == x.Keyid).First()
+         }, true).MergeTable()
+         .OrderBy(z => z.OaWorkPlanShenpi.ApprovalTime).ToListAsync();
+            return datal;
+            var data2 = await _SugarClient.Queryable<OaWorkPlan>()
+                .Select(x => new OaWorkPlan
+                {
+                    SentStaff = SqlFunc.Subqueryable<OaStaff>().Where(y => y.MemberId == x.SentStaffId).First()
+                }, true).MergeTable()
+                .OrderBy(y => y.SentStaff.MemberId).ToListAsync();
 
-
+        }
         /// <summary>
         ///  鏌ヨ
         /// </summary>
@@ -41,12 +63,13 @@
             Expression<Func<OaWorkPlan, bool>> SearchList = (x) => true;
 
             //宸濆嵃宸ヤ綔鍗�
+            SearchList = SearchList.And(x => x.ApprovalStatus != PlanStatusType.Uncommitted);
             SearchList = SearchList.And(x => x.MemberId == _OAServices.firmId);
             SearchList = SearchList.And(x => x.PlanType == 3);
             SearchList = SearchList.And(x => x.PlanDataType == 17);
             //SearchList = SearchList.And(x =>  x.ApprovalStatus == PlanStatusType.unApproval);
             //SearchList = SearchList.And(x =>  x.OaWorkPlanShenpis.Where(y => y.Buzhou == 1 && y.ApprovalStaffId == Permissions.MemberId).Count()<=0);
-            SearchList = SearchList.And(x => x.DepartId == Permissions.DepartId);
+            //SearchList = SearchList.And(x => x.DepartId == Permissions.DepartId); 閮ㄩ棬绛涢��
             if (!string.IsNullOrEmpty(param.StaffName))
             {
                 SearchList = SearchList.And(x => x.SentStaff.Name.Contains(param.StaffName));
@@ -90,7 +113,7 @@
             RefAsync<int> totle = 0;
 
             //寮哄埗澧炲姞鍛樺伐杩囨护
-
+   
             var data = await _SugarClient.Queryable<OaWorkPlan>().Includes(x=>x.Depart)
                     .Includes(x=>x.OaWorkPlanShenpis.Where(y=>y.ApprovalStaffId==Permissions.MemberId&&y.Buzhou==1).ToList())
                     .Where(SearchList).OrderByDescending(x => x.PlanStartTime).Mapper(
@@ -135,7 +158,18 @@
             {
                 throw Oops.Oh("娌℃湁鏉冮檺");
             }
-            return await _SugarClient.Queryable<OaWorkPlan>().Includes(x => x.OaWorkPlanShenpis.Where(y => y.Buzhou == 1).ToList(), y => y.ApprovalStaff).Includes(x => x.SentStaff).Includes(x => x.Depart).Includes(x => x.WorkPlanAttachments).Where(x=>x.Keyid==id).FirstAsync();
+            return await _SugarClient.Queryable<OaWorkPlan>().Includes(x => x.OaWorkPlanShenpis.Where(y => y.Buzhou == 1).ToList(), y => y.ApprovalStaff).Includes(x => x.SentStaff).Includes(x => x.Depart).Includes(x => x.WorkPlanAttachments).Where(x=>x.Keyid==id).Mapper(x=>
+            {
+                if (x.ApprovalStatus == PlanStatusType.unApproval)
+                {
+                    var oashenpi = x.OaWorkPlanShenpis?.Where(x=>x.ApprovalStaffId==Permissions.MemberId).FirstOrDefault();
+                    if (oashenpi != null)
+                        x.ApprovalStatus = oashenpi.ApprovalStatus;
+
+
+                }
+                            ;
+            }).FirstAsync();
         }
 
         /// <summary>
@@ -157,6 +191,10 @@
                 throw Oops.Oh("娌℃湁鎵惧埌鎶ラ攢鍗�");
             if (data.ApprovalStatus != null && data.ApprovalStatus != PlanStatusType.unApproval)
                 throw Oops.Oh("鎶ラ攢鍗曞凡缁忔壒澶嶅畬姣�");
+            if(data.ApprovalStatus== PlanStatusType.Uncommitted)
+            {
+                throw Oops.Oh("鎶ラ攢鍗曟湭鎻愪氦涓嶅彲瀹℃壒");
+            }
             OaWorkPlanShenpi shenpi = data.OaWorkPlanShenpis.Where(x => x.ApprovalStaffId == Permissions.MemberId&&x.Buzhou==1).FirstOrDefault();
              if (shenpi!=null)
             {
@@ -167,7 +205,14 @@
             }
              else
             {
-              await   _SugarClient.AsTenant().BeginTranAsync();
+    
+
+                data.RewardResult = param.RewardResult;
+                data.PlanContent = param.PlanContent;
+                if (param.PlanMoney > 0 && param.PlanMoney <= data.PlanMoney)
+                    data.PlanMoney = param.PlanMoney;
+
+                await   _SugarClient.AsTenant().BeginTranAsync();
                 try
                 {
                     if (param.ApprovalStatus == PlanStatusType.No)

--
Gitblit v1.9.1