| | |
| | | using cylsg.Model.utilityViewModel; |
| | | using ECTESTOA; |
| | | using Furion.LinqBuilder; |
| | | using Models; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | |
| | | /// 报销主管相关控制器 |
| | | /// </summary> |
| | | [Authorize] |
| | | [ApiDescriptionSettings("CYOA")] |
| | | public class CyOSBaoXiaoZHuGuanController: IDynamicApiController |
| | | { |
| | | private readonly IOAServices _OAServices; |
| | |
| | | _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> |
| | |
| | | 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.OaWorkPlanShenpis.Count(y => y.Buzhou == 1&& y.ApprovalStaffId != Permissions.MemberId) < 2);//只需要两个人审批 另外两个人审批了,不在显示 |
| | | //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); 部门筛选 |
| | | if (!string.IsNullOrEmpty(param.StaffName)) |
| | | { |
| | |
| | | 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()) |
| | | .Includes(x=>x.OaWorkPlanShenpis.Where(y=>y.Buzhou==1).ToList()) |
| | | .Where(SearchList).OrderByDescending(x => x.PlanStartTime).Mapper( |
| | | x => |
| | | { |
| | |
| | | { |
| | | throw Oops.Oh("报销单未提交不可审批"); |
| | | } |
| | | int shenpiCount = data.OaWorkPlanShenpis.Where(x => x.ApprovalStaffId != Permissions.MemberId && x.Buzhou == 1).Count(); |
| | | if(shenpiCount >= 2) |
| | | { |
| | | //两个人审批后。不可再审批 |
| | | throw Oops.Oh("已经已经结束"); |
| | | |
| | | } |
| | | OaWorkPlanShenpi shenpi = data.OaWorkPlanShenpis.Where(x => x.ApprovalStaffId == Permissions.MemberId&&x.Buzhou==1).FirstOrDefault(); |
| | | if (shenpi!=null) |
| | | { |
| | |
| | | data.Operator = Permissions.Name; |
| | | await _SugarClient.Updateable(data).ExecuteCommandAsync(); |
| | | |
| | | //设置设备weixiu状态为拒绝 |
| | | var shenpis = await _SugarClient.Queryable<OA_ShebeiWeixiu>().Where(x => x.FukuanShebeiId == data.Keyid).FirstAsync(); |
| | | if (shenpis != null) |
| | | { |
| | | shenpis.ApprovalStatus = (int )PlanStatusType.No; |
| | | |
| | | await _SugarClient.Updateable(shenpis).ExecuteCommandAsync(); |
| | | } |
| | | |
| | | } |
| | | |
| | | shenpi = new OaWorkPlanShenpi() |