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