From ff0dfaa6f8067c22e5651c181da8c404ef951867 Mon Sep 17 00:00:00 2001 From: wyw <571921741@qq.com> Date: Thu, 20 Jun 2024 14:56:48 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9A=90=E6=82=A3=E4=B8=8A=E6=8A=A5=E9=A9=B3?= =?UTF-8?q?=E5=9B=9E=20=E6=9F=A5=E7=9C=8B=20=E6=A3=80=E6=9F=A5=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=88=B6=E5=AE=9A=20=E8=8E=B7=E5=8F=96=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E4=BF=AE=E5=99=B6=20=E5=AE=89=E5=85=A8=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=E6=B1=87=E6=80=BB=20=E6=94=B9=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/BSRiskSubmitController.cs | 18 +- .../Controllers/Api/BSSafeCheckController.cs | 465 ++++++------------ 2 files changed, 171 insertions(+), 312 deletions(-) diff --git a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSRiskSubmitController.cs b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSRiskSubmitController.cs index 8cb7bc8..6b4b2c9 100644 --- a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSRiskSubmitController.cs +++ b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSRiskSubmitController.cs @@ -519,6 +519,7 @@ namespace APT.BS.WebApi.Controllers.Api var submitID = Guid.Empty; if (listSubContent != null && listSubContent.Any()) { + //这个方法在什么时候用? var list = listSubContent.ToList(); submitID = list[0].RISK_SUBMIT_ID.Value; result = GetEntity(submitID, "Nav_Check", "Nav_Check", "Nav_CheckTypeLevel.Nav_Enums", "Nav_Files.Nav_ImgFile.Nav_File"); @@ -530,9 +531,24 @@ namespace APT.BS.WebApi.Controllers.Api } catch { } } - result.Nav_ListRiskSubmitContent = list; } + else + { + //(驳回)X类隐患上报 + var notice = GetEntity(guid); + if (notice != null && notice.RISK_SUBMIT_ID.HasValue) + { + result = GetEntity(notice.RISK_SUBMIT_ID.Value, "Nav_Check", "Nav_Check", "Nav_CheckTypeLevel.Nav_Enums", "Nav_Files.Nav_ImgFile.Nav_File"); + listSubContent = GetEntities(e => e.RISK_SUBMIT_ID == notice.RISK_SUBMIT_ID.Value, null, "Nav_SafeCheckDetail", "Nav_ListRiskQuestionReason.Nav_RiskReason", "Nav_User", "Nav_Department", "Nav_Files.Nav_ImgFile.Nav_File", "Nav_DepartmentDeal", "Nav_UserDeal", "Nav_UserCheck"); + foreach (var item in listSubContent) + { + item.QUESTION_LEVEL_SHOW = ((BSQuestionLevelEnum)item.QUESTION_LEVEL).GetDescription(); + item.APPROVE_ID = notice.APPROVE_ID;//传到前端,不然审批驳回获取不到信息 + } + result.Nav_ListRiskSubmitContent = listSubContent.ToList(); + } + } return result; }); } diff --git a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSSafeCheckController.cs b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSSafeCheckController.cs index e637418..2bbb0f3 100644 --- a/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSSafeCheckController.cs +++ b/APT.MicroApi/APT.BS.WebApi/Controllers/Api/BSSafeCheckController.cs @@ -260,7 +260,16 @@ namespace APT.BS.WebApi.Controllers.Api IEnumerable listMainLaw = null; if (listMainID != null && listMainID.Any()) { - listMainLaw = GetEntities(e => listMainID.Contains(e.CHECK_MAIN_ID), null, "Nav_Standard"); + //listMainLaw = GetEntities(e => listMainID.Contains(e.CHECK_MAIN_ID), null, "Nav_Standard"); + var listAllLaw = GetEntities(e => true, null, "Nav_Standard"); + if (listAllLaw != null && listAllLaw.Any()) + { + listMainLaw = listAllLaw.Where(e => listMainID.Contains(e.CHECK_MAIN_ID)); + } + else + { + listMainLaw = new List(); + } } IEnumerable listMainLawCheck = null; @@ -7070,7 +7079,6 @@ namespace APT.BS.WebApi.Controllers.Api { departmentIds = new List() { APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID.Value }; DepartmentService.GetDepartmentIds(pageFilter.OrgId.Value, new List() { APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID.Value }, ref departmentIds); - } string CODE = string.Empty; @@ -7186,18 +7194,9 @@ namespace APT.BS.WebApi.Controllers.Api } } - ////加快查询速度 前端优化 - //if (string.IsNullOrEmpty(CHECK_TYPE_NAME) && string.IsNullOrEmpty(CHECK_TYPE_LEVEL) && string.IsNullOrEmpty(CHECK_USER) && CHECK_ST == null && CHECK_ET == null) - //{ - // CHECK_ST = Convert.ToDateTime(DateTime.Now.Year + "-01-01 00:00:00"); - //} - Expression> expressionCheck = e => !e.IS_DELETED && e.STATUSPLAN > 0 && e.ENABLE_STATUS == 0; - #region expressionCheck 完善 - - if (CODE != string.Empty) { expressionCheck = expressionCheck.And(e => e.CODE.Contains(CODE)); @@ -7233,14 +7232,22 @@ namespace APT.BS.WebApi.Controllers.Api if (stateMake.HasValue) { - if (stateMake == 30)//手动上报 - { - expressionCheck = expressionCheck.And(e => 1 != 1); - } - else if (stateMake == 0 || stateMake == 20) + if (stateMake == 0)//草稿 { expressionCheck = expressionCheck.And(e => e.STATUSPLAN == stateMake); } + else if (stateMake == 10)//处理中 + { + expressionCheck = expressionCheck.And(e => (e.STATUSPLAN > 0 && e.STATUSPLAN != 20 && e.STATECHECK != STATECHECK.Sign && e.STATECHECK != STATECHECK.Approving && e.STATECHECK != STATECHECK.Archived && e.STATECHECK != STATECHECK.Rejected)); + } + else if (stateMake == 20)//已归档 + { + expressionCheck = expressionCheck.And(e => e.STATUSPLAN == stateMake || e.STATECHECK == STATECHECK.Sign || e.STATECHECK == STATECHECK.Approving || e.STATECHECK == STATECHECK.Archived || e.STATECHECK == STATECHECK.Rejected); + } + else if (stateMake == 30)//手动上报 + { + expressionCheck = expressionCheck.And(e => 1 != 1); + } else { expressionCheck = expressionCheck.And(e => e.STATUSPLAN > 0 && e.STATUSPLAN != 20); @@ -7264,8 +7271,7 @@ namespace APT.BS.WebApi.Controllers.Api } #endregion - Expression> expressionSubmit = e => !e.IS_DELETED && e.SUBMIT_STATUS.HasValue && (e.SUBMIT_TYPE == 10 || (e.SUBMIT_TYPE == 20 && e.SUBMIT_STATUS.Value > 5)); // && e.SUBMIT_TYPE == 20 SUBMIT_STATUS - + Expression> expressionSubmit = e => !e.IS_DELETED && e.SUBMIT_STATUS.HasValue && (e.SUBMIT_TYPE == 10 || (e.SUBMIT_TYPE == 20 && e.SUBMIT_STATUS.Value > 5)); #region expressionSubmit 完善 if (CODE != string.Empty) @@ -7326,258 +7332,149 @@ namespace APT.BS.WebApi.Controllers.Api } //(sub != null) ? (sub.ISORDEREND ? "已归档" : ((sub.SUBMIT_STATUS.HasValue && sub.SUBMIT_STATUS.Value < 20) ? "草稿" : "处理中")) : "", + //隐患整改状态 1 无需整改 5 草稿 10 处理中 30 已归档 + Func func = null; if (stateSubmit.HasValue) { - if (stateSubmit.Value == 30) + switch (stateSubmit) { - expressionSubmit = expressionSubmit.And(e => e.ISORDEREND); - } - else if (stateSubmit.Value == 5) - { - expressionSubmit = expressionSubmit.And(e => e.SUBMIT_STATUS.HasValue && e.SUBMIT_STATUS.Value == stateSubmit); - } - else - { - expressionSubmit = expressionSubmit.And(e => !e.ISORDEREND && e.SUBMIT_STATUS.HasValue && e.SUBMIT_STATUS.Value >= 20); + case null: + break; + case 1://1 无需整改 + //expressionCheck = expressionCheck.And(e => (!e.ISNEEDTOUP.HasValue || (e.ISNEEDTOUP.HasValue && !e.ISNEEDTOUP.Value))); + expressionSubmit = expressionSubmit.And(e => e.SUBMIT_TYPE == 10); + func = new Func(e => !e.SUBMITID.HasValue);//无需整改(包含 未检查完成的) + break; + case 5://5 草稿 + expressionCheck = expressionCheck.And(e => e.STATECHECK == STATECHECK.Archived); + //expressionSubmit = expressionSubmit.And(e => !e.ISORDEREND && (!e.SUBMIT_STATUS.HasValue || e.SUBMIT_STATUS < 20));//草稿 + expressionSubmit = expressionSubmit.And(e => (!e.SUBMIT_STATUS.HasValue || e.SUBMIT_STATUS < 20));//草稿 + func = new Func(e => e.SUBMITID.HasValue); + break; + case 10://10 处理中 + expressionCheck = expressionCheck.And(e => e.STATECHECK == STATECHECK.Archived);//.And(e => e.ISNEEDTOUP.HasValue && e.ISNEEDTOUP.Value); + expressionSubmit = expressionSubmit.And(e => (e.SUBMIT_STATUS.HasValue && ((e.SUBMIT_STATUS.Value >= 20 || e.SUBMIT_STATUS.Value == 50) && e.SUBMIT_STATUS.Value != 40)));//处理中 + func = new Func(e => e.SUBMITID.HasValue); + break; + case 30:// 30 已归档 + expressionCheck = expressionCheck.And(e => e.STATECHECK == STATECHECK.Archived);//.And(e => e.ISNEEDTOUP.HasValue && e.ISNEEDTOUP.Value); + expressionSubmit = expressionSubmit.And(e => e.SUBMIT_STATUS.HasValue && e.SUBMIT_STATUS.Value == 40);//已归档 + func = new Func(e => e.SUBMITID.HasValue); + break; + default: + break; } } #endregion - //隐患整改状态 1 无需整改 5 草稿 10 处理中 30 已归档 - switch (stateSubmit) - { - case null: - break; - case 1: - expressionCheck = expressionCheck.And(e => e.ISNEEDTOUP.HasValue && !e.ISNEEDTOUP.Value); - expressionSubmit = expressionSubmit.And(e => false); - break; - case 5: - expressionCheck = expressionCheck.And(e => e.ISNEEDTOUP.HasValue && e.ISNEEDTOUP.Value); - expressionSubmit = expressionSubmit.And(e => !e.ISORDEREND && (!e.SUBMIT_STATUS.HasValue || e.SUBMIT_STATUS < 20)); - break; - case 10: - expressionCheck = expressionCheck.And(e => e.ISNEEDTOUP.HasValue && e.ISNEEDTOUP.Value); - expressionSubmit = expressionSubmit.And(e => !e.ISORDEREND && e.SUBMIT_STATUS.HasValue && e.SUBMIT_STATUS.Value >= 20); - break; - case 30: - expressionCheck = expressionCheck.And(e => e.ISNEEDTOUP.HasValue && e.ISNEEDTOUP.Value); - expressionSubmit = expressionSubmit.And(e => e.ISORDEREND && e.SUBMIT_STATUS.HasValue && e.SUBMIT_STATUS.Value >= 40); - break; - default: - break; - } - - - //var iListCheck = GetEntities(expressionCheck, null, "Nav_Department", "Nav_CheckType", "Nav_CheckTypeLevel.Nav_Enums").Select(e => new T_BS_SAFE_CHECK_SUM() - //{ - // ID = e.ID.ToString() + "_", - // CHECKID = e.ID, - // SUBMITID = null, - // CHECKOBJECT = e.CHECKOBJECT.HasValue ? (BSMineTypeEnum)e.CHECKOBJECT.Value : null, - // DEPARTMENT_NAME = e.Nav_Department?.NAME, - // CHECK_TYPE_NAME = e.Nav_CheckType?.NAME, - // CHECK_TYPE_LEVEL_NAME = e.Nav_CheckTypeLevel?.Nav_Enums?.NAME, - // CHECKTIME = e.CHECKTIME, - // CheckUsers = e.CheckUsers, - // stateMake = e.STATUSPLAN == 0 ? "草稿" : (e.STATUSPLAN == 20 ? "已归档" : "处理中"),//HMAuditStatusEnmu - // stateCheck = e.STATECHECK.GetDescription(),//STATECHECK - // stateSubmit = "", - // SUBMIT_TYPE = SUBMIT_TYPE.Check, - // CREATE_TIME = e.CREATE_TIME - //}); - - //expressionSubmit = expressionSubmit.And(e => e.SUBMIT_TYPE == 20); - //var iListSub = GetEntities(expressionSubmit, null, "Nav_Department", "Nav_CheckType", "Nav_CheckTypeLevel.Nav_Enums", "Nav_User").Select(e => new T_BS_SAFE_CHECK_SUM() - //{ - // ID = "_" + e.ID.ToString(), - // CHECKID = null, - // SUBMITID = e.ID, - // CHECKOBJECT = null,// e.CHECKOBJECT.HasValue ? (BSMineTypeEnum)e.CHECKOBJECT.Value : null, - // DEPARTMENT_NAME = e.Nav_Department.NAME, - // CHECK_TYPE_NAME = e.Nav_CheckType?.NAME, - // CHECK_TYPE_LEVEL_NAME = e.Nav_CheckTypeLevel?.Nav_Enums?.NAME, - // CHECKTIME = e.CHECKTIME, - // CheckUsers = e.Nav_User?.NAME, - // stateMake = "手动上报", - // stateCheck = "手动上报", - // stateSubmit = "", - // SUBMIT_TYPE = SUBMIT_TYPE.User, - // CREATE_TIME = e.CREATE_TIME, - // Nav_Submit = e - //}); - - //var iListResult = (iListSub.Union(iListCheck)).OrderByDescending(e => e.CREATE_TIME).ThenBy(e => e.CHECKOBJECT).ThenBy(e => e.stateMake); - //var listResult = iListResult.Skip((pageFilter.PageIndex - 1) * pageFilter.Limit).Take(pageFilter.Limit).ToList(); - - //#region 数据填充 - - ////ID、隐患整改状态 赋值 - //var iListCheckID = iListCheck.Where(e => e.CHECKID.HasValue).Select(e => e.CHECKID.Value); - //if (iListCheckID != null && iListCheckID.Any()) - //{ - // var CheckSubmit = GetEntities(e => e.CHECK_ID.HasValue && iListCheckID.Contains(e.CHECK_ID.Value), null, null); - // foreach (var item in listResult) - // { - // if (item.SUBMIT_TYPE == SUBMIT_TYPE.Check) - // { - // var checkSub = CheckSubmit.FirstOrDefault(e => e.CHECK_ID.HasValue && e.CHECK_ID == item.CHECKID.Value); - // item.Nav_Submit = checkSub; - // } - // } - //} - - //#endregion - - //#region ID 隐患整改状态 处理 - - //foreach (var item in listResult) - //{ - // if (item.Nav_Submit != null) - // { - // if (item.SUBMIT_TYPE == SUBMIT_TYPE.Check) - // { - // item.ID += item.Nav_Submit.ID.ToString(); - // } - - // if (item.Nav_Submit.ISORDEREND) - // { - // item.stateSubmit = "已归档";//未上报 - // } - // else if (!item.Nav_Submit.SUBMIT_STATUS.HasValue && item.Nav_Submit.SUBMIT_STATUS.Value < 20) - // { - // item.stateSubmit = "草稿";//未上报 - // } - // else - // { - // item.stateSubmit = "处理中"; - // } - // } - // else - // { - // if (item.stateCheck == "已归档") - // { - // if (item.SUBMIT_TYPE == SUBMIT_TYPE.Check && item.Nav_Submit == null) - // { - // item.stateSubmit = "无需整改"; - // } - // else - // { - // item.stateSubmit = "草稿"; - // } - // } - // else - // { - // item.stateSubmit = "";//未上报 - // } - // } - //} - - ////如果 item.stateSubmit == "无需整改" 查看是否有检查有问题的检查 - //var checkIDs = listResult.Where(e => e.CHECKID.HasValue && e.stateCheck == "已归档" && e.stateSubmit == "无需整改").Select(e => e.CHECKID.Value); - - //if (checkIDs != null && checkIDs.Any()) - //{ - // Guid guidWu = new Guid("55555555-5555-5555-5555-555555555555"); - // var listQuestions = GetEntities(e => checkIDs.Contains(e.SAFE_CHECK_ID) && e.SAFE_CHECK_QUESTION_ID.HasValue && e.SAFE_CHECK_QUESTION_ID != guidWu, null, null); - // if (listQuestions != null && listQuestions.Any()) - // { - // foreach (var item in listResult) - // { - // if (item.stateCheck == "已归档" && item.stateSubmit == "无需整改" && item.CHECKID.HasValue) - // { - // var q = listQuestions.FirstOrDefault(e => e.SAFE_CHECK_ID == item.CHECKID.Value); - // if (q != null) - // { - // item.stateSubmit = "草稿"; - // } - // } - // } - // } - //} - - //#endregion - //两种处理结果可能不完全一样 CHECK_ID 99c132ee-9f9c-4533-988e-f96069d18509 - - var iListCheck2 = GetEntities(expressionCheck, null, "Nav_Department", "Nav_CheckType", "Nav_CheckTypeLevel.Nav_Enums"); - var iListSub2 = GetEntities(expressionSubmit, null, "Nav_Department", "Nav_CheckType", "Nav_CheckTypeLevel.Nav_Enums", "Nav_User"); - //var query = from check in iListCheck2 - // join sub1 in iListSub2 on check.ID equals sub1.CHECK_ID into temp - // from sub in temp.DefaultIfEmpty() - //外加 手动上报 + var iListCheck = GetEntities(expressionCheck, null, "Nav_Department", "Nav_CheckType", "Nav_CheckTypeLevel.Nav_Enums"); + var iListSub = GetEntities(expressionSubmit, null, "Nav_Department", "Nav_CheckType", "Nav_CheckTypeLevel.Nav_Enums", "Nav_User").ToList(); + var iListSubSys = iListSub.Where(e => e.CHECK_ID.HasValue);//检查上报 + var iListSubHand = iListSub.Where(e => !e.CHECK_ID.HasValue);//手动隐患上报 //stateSubmit 安全检查 是否需要整改 ISNEEDTOUP - var query = (from check in iListCheck2 - join sub1 in iListSub2 on check.ID equals sub1.CHECK_ID into temp - from sub in temp.DefaultIfEmpty() - select new T_BS_SAFE_CHECK_SUM - { - ID = (check == null ? "" : check.ID.ToString()) + "_" + (sub == null ? "" : sub.ID.ToString()), - CODE = check != null ? check.CODE : sub.CODE, - CHECKID = check == null ? null : check.ID, - SUBMITID = sub == null ? null : sub.ID, - CHECKOBJECT = (check == null || !check.CHECKOBJECT.HasValue) ? null : (BSMineTypeEnum)check.CHECKOBJECT.Value, - DEPARTMENT_NAME = (check != null) ? (check.Nav_Department?.NAME) : (sub != null ? sub.Nav_Department.NAME : ""), - CHECK_TYPE_NAME = (check != null) ? (check.Nav_CheckType?.NAME) : (sub != null ? sub.Nav_CheckType.NAME : ""), - CHECK_TYPE_LEVEL_NAME = (check != null) ? (check.Nav_CheckTypeLevel?.Nav_Enums?.NAME) : (sub != null ? sub.Nav_CheckTypeLevel?.Nav_Enums?.NAME : ""), - CHECKTIME = (check != null) ? check.CHECKTIME : (sub != null ? sub.CREATE_TIME : null), - CheckUsers = (check != null) ? check.CheckUsers : (sub != null ? sub.Nav_User?.NAME : null), - stateMake = (check != null) ? (check.STATUSPLAN == 0 ? "草稿" : (check.STATUSPLAN == 20 ? "已归档" : "处理中")) : "手动上报",//HMAuditStatusEnmu - stateCheck = (check != null) ? check.STATECHECK.GetDescription() : "手动上报",// e.STATECHECK.GetDescription(),//STATECHECK - stateSubmit = check.ISNEEDTOUP == null ? "" : (!check.ISNEEDTOUP.Value ? "无需整改" : ((sub != null) ? (sub.ISORDEREND ? "已归档" : ((sub.SUBMIT_STATUS.HasValue && sub.SUBMIT_STATUS.Value < 20) ? "草稿" : "处理中")) : "草稿")), - //stateSubmit = (sub != null) ? (sub.ISORDEREND ? "已归档" : ((sub.SUBMIT_STATUS.HasValue && sub.SUBMIT_STATUS.Value < 20) ? "草稿" : "处理中")) : "", - SUBMIT_TYPE = (check != null) ? SUBMIT_TYPE.Check : SUBMIT_TYPE.User, - CREATE_TIME = (check != null) ? check.CREATE_TIME : (sub != null ? sub.CREATE_TIME : null), - Nav_Submit = sub - } - ).Union( - from subn in iListSub2 - where subn.CHECK_ID is null - select new T_BS_SAFE_CHECK_SUM - { - ID = "_" + subn.ID.ToString(), - CODE = subn.CODE, - CHECKID = null, - SUBMITID = subn.ID, - CHECKOBJECT = null, - DEPARTMENT_NAME = subn.Nav_Department.NAME, - CHECK_TYPE_NAME = subn.Nav_CheckType?.NAME, - CHECK_TYPE_LEVEL_NAME = subn.Nav_CheckTypeLevel?.Nav_Enums?.NAME, - CHECKTIME = subn.CREATE_TIME, - CheckUsers = subn.Nav_User?.NAME, - stateMake = "手动上报",//HMAuditStatusEnmu - stateCheck = "手动上报",// e.STATECHECK.GetDescription(),//STATECHECK - stateSubmit = subn.ISORDEREND ? "已归档" : ((subn.SUBMIT_STATUS.HasValue && subn.SUBMIT_STATUS.Value < 20) ? "草稿" : "处理中"), - SUBMIT_TYPE = SUBMIT_TYPE.User, - CREATE_TIME = subn.CREATE_TIME, - Nav_Submit = subn - }); + var queryCheck = from check in iListCheck + join sub1 in iListSubSys on check.ID equals sub1.CHECK_ID into temp + from sub in temp.DefaultIfEmpty() + select new T_BS_SAFE_CHECK_SUM + { + ID = (check == null ? "" : check.ID.ToString()) + "_" + (sub == null ? "" : sub.ID.ToString()), + CODE = check != null ? check.CODE : sub.CODE, + CHECKID = check == null ? null : check.ID, + SUBMITID = sub == null ? null : sub.ID, + CHECKOBJECT = (check == null || !check.CHECKOBJECT.HasValue) ? null : (BSMineTypeEnum)check.CHECKOBJECT.Value, + DEPARTMENT_NAME = (check != null) ? (check.Nav_Department?.NAME) : (sub != null ? sub.Nav_Department.NAME : ""), + CHECK_TYPE_NAME = (check != null) ? (check.Nav_CheckType?.NAME) : (sub != null ? sub.Nav_CheckType.NAME : ""), + CHECK_TYPE_LEVEL_NAME = (check != null) ? (check.Nav_CheckTypeLevel?.Nav_Enums?.NAME) : (sub != null ? sub.Nav_CheckTypeLevel?.Nav_Enums?.NAME : ""), + CHECKTIME = (check != null) ? check.CHECKTIME : (sub != null ? sub.CREATE_TIME : null), + CheckUsers = (check != null) ? check.CheckUsers : (sub != null ? sub.Nav_User?.NAME : null), + stateMake = (check != null) ? (check.STATUSPLAN == 0 ? "草稿" : ((check.STATUSPLAN == 20 || check.STATECHECK == STATECHECK.Sign || check.STATECHECK == STATECHECK.Approving || check.STATECHECK == STATECHECK.Archived || check.STATECHECK == STATECHECK.Rejected) ? "已归档" : "处理中")) : "手动上报",//HMAuditStatusEnmu 添加检查记录状态 STATECHECK 处理偶发数据状态问题 + stateCheck = (check != null) ? check.STATECHECK.GetDescription() : "手动上报",// e.STATECHECK.GetDescription(),//STATECHECK + stateSubmit = (sub != null) ? (sub.ISORDEREND ? "已归档" : ((sub.SUBMIT_STATUS.HasValue && sub.SUBMIT_STATUS.Value < 20) ? "草稿" : "处理中")) : (check.STATECHECK == STATECHECK.Archived ? "无需整改" : ""), + //check.ISNEEDTOUP == null ? "" : (!check.ISNEEDTOUP.Value ? "无需整改" : ((sub != null) ? (sub.ISORDEREND ? "已归档" : ((sub.SUBMIT_STATUS.HasValue && sub.SUBMIT_STATUS.Value < 20) ? "草稿" : "处理中")) : "草稿")), + //stateSubmit = (sub != null) ? (sub.ISORDEREND ? "已归档" : ((sub.SUBMIT_STATUS.HasValue && sub.SUBMIT_STATUS.Value < 20) ? "草稿" : "处理中")) : "", - //var query = from check in iListCheck2 - // join sub1 in iListSub2 on new { key1 = check.ID, key2 = check.ID } equals new { key1 = sub1.CHECK_ID , key2 =Guid.Empty } into temp - // //join sub1 in iListSub2 on check.ID equals sub1.CHECK_ID into temp - // from sub in temp.DefaultIfEmpty() - // select new T_BS_SAFE_CHECK_SUM - // { - // ID = (check == null ? "" : check.ID.ToString()) + "_" + (sub == null ? "" : sub.ID.ToString()), - // CHECKID = check == null ? null : check.ID, - // SUBMITID = sub == null ? null : sub.ID, - // CHECKOBJECT = (check == null || !check.CHECKOBJECT.HasValue) ? null : (BSMineTypeEnum)check.CHECKOBJECT.Value, - // DEPARTMENT_NAME = (check != null) ? (check.Nav_Department?.NAME) : (sub != null ? sub.Nav_Department.NAME : ""), - // CHECK_TYPE_NAME = (check != null) ? (check.Nav_CheckType?.NAME) : (sub != null ? sub.Nav_CheckType.NAME : ""), - // CHECK_TYPE_LEVEL_NAME = (check != null) ? (check.Nav_CheckTypeLevel?.Nav_Enums?.NAME) : (sub != null ? sub.Nav_CheckTypeLevel?.Nav_Enums?.NAME : ""), - // CHECKTIME = (check != null) ? check.CHECKTIME : (sub != null ? sub.CREATE_TIME : null), - // CheckUsers = (check != null) ? check.CheckUsers : (sub != null ? sub.Nav_User?.NAME : null), - // stateMake = (check != null) ? (check.STATUSPLAN == 0 ? "草稿" : (check.STATUSPLAN == 20 ? "已归档" : "处理中")) : "",//HMAuditStatusEnmu - // stateCheck = (check != null) ? check.STATECHECK.GetDescription() : "手动上报",// e.STATECHECK.GetDescription(),//STATECHECK - // stateSubmit = (sub != null) ? (sub.ISORDEREND ? "已归档" : ((sub.SUBMIT_STATUS.HasValue && sub.SUBMIT_STATUS.Value < 20) ? "草稿" : "处理中")) : "", - // SUBMIT_TYPE = (check != null) ? SUBMIT_TYPE.Check : SUBMIT_TYPE.User, - // CREATE_TIME = (check != null) ? check.CREATE_TIME : (sub != null ? sub.CREATE_TIME : null), - // Nav_Submit = sub - // }; + SUBMIT_TYPE = (check != null) ? SUBMIT_TYPE.Check : SUBMIT_TYPE.User, + CREATE_TIME = (check != null) ? check.CREATE_TIME : (sub != null ? sub.CREATE_TIME : null), + Nav_Submit = sub + }; + if (func != null) + { + queryCheck = queryCheck.Where(func); + } + + var query = queryCheck.Union( + from subn in iListSubHand + select new T_BS_SAFE_CHECK_SUM + { + ID = "_" + subn.ID.ToString(), + CODE = subn.CODE, + CHECKID = null, + SUBMITID = subn.ID, + CHECKOBJECT = null, + DEPARTMENT_NAME = subn.Nav_Department.NAME, + CHECK_TYPE_NAME = subn.Nav_CheckType?.NAME, + CHECK_TYPE_LEVEL_NAME = subn.Nav_CheckTypeLevel?.Nav_Enums?.NAME, + CHECKTIME = subn.CREATE_TIME, + CheckUsers = subn.Nav_User?.NAME, + stateMake = "手动上报",//HMAuditStatusEnmu + stateCheck = "手动上报",// e.STATECHECK.GetDescription(),//STATECHECK + stateSubmit = subn.ISORDEREND ? "已归档" : ((subn.SUBMIT_STATUS.HasValue && subn.SUBMIT_STATUS.Value < 20) ? "草稿" : "处理中"), + SUBMIT_TYPE = SUBMIT_TYPE.User, + CREATE_TIME = subn.CREATE_TIME, + Nav_Submit = subn + }); + + //var query = (from check in iListCheck + // join sub1 in iListSubSys on check.ID equals sub1.CHECK_ID into temp + // from sub in temp.DefaultIfEmpty() + // //where sub.ID is null + // select new T_BS_SAFE_CHECK_SUM + // { + // ID = (check == null ? "" : check.ID.ToString()) + "_" + (sub == null ? "" : sub.ID.ToString()), + // CODE = check != null ? check.CODE : sub.CODE, + // CHECKID = check == null ? null : check.ID, + // SUBMITID = sub == null ? null : sub.ID, + // CHECKOBJECT = (check == null || !check.CHECKOBJECT.HasValue) ? null : (BSMineTypeEnum)check.CHECKOBJECT.Value, + // DEPARTMENT_NAME = (check != null) ? (check.Nav_Department?.NAME) : (sub != null ? sub.Nav_Department.NAME : ""), + // CHECK_TYPE_NAME = (check != null) ? (check.Nav_CheckType?.NAME) : (sub != null ? sub.Nav_CheckType.NAME : ""), + // CHECK_TYPE_LEVEL_NAME = (check != null) ? (check.Nav_CheckTypeLevel?.Nav_Enums?.NAME) : (sub != null ? sub.Nav_CheckTypeLevel?.Nav_Enums?.NAME : ""), + // CHECKTIME = (check != null) ? check.CHECKTIME : (sub != null ? sub.CREATE_TIME : null), + // CheckUsers = (check != null) ? check.CheckUsers : (sub != null ? sub.Nav_User?.NAME : null), + // stateMake = (check != null) ? (check.STATUSPLAN == 0 ? "草稿" : ((check.STATUSPLAN == 20 || check.STATECHECK == STATECHECK.Sign || check.STATECHECK == STATECHECK.Approving || check.STATECHECK == STATECHECK.Archived || check.STATECHECK == STATECHECK.Rejected) ? "已归档" : "处理中")) : "手动上报",//HMAuditStatusEnmu 添加检查记录状态 STATECHECK 处理偶发数据状态问题 + // stateCheck = (check != null) ? check.STATECHECK.GetDescription() : "手动上报",// e.STATECHECK.GetDescription(),//STATECHECK + // stateSubmit = (sub != null) ? (sub.ISORDEREND ? "已归档" : ((sub.SUBMIT_STATUS.HasValue && sub.SUBMIT_STATUS.Value < 20) ? "草稿" : "处理中")) : (check.STATECHECK == STATECHECK.Archived ? "无需整改" : ""), + // //check.ISNEEDTOUP == null ? "" : (!check.ISNEEDTOUP.Value ? "无需整改" : ((sub != null) ? (sub.ISORDEREND ? "已归档" : ((sub.SUBMIT_STATUS.HasValue && sub.SUBMIT_STATUS.Value < 20) ? "草稿" : "处理中")) : "草稿")), + // //stateSubmit = (sub != null) ? (sub.ISORDEREND ? "已归档" : ((sub.SUBMIT_STATUS.HasValue && sub.SUBMIT_STATUS.Value < 20) ? "草稿" : "处理中")) : "", + + // SUBMIT_TYPE = (check != null) ? SUBMIT_TYPE.Check : SUBMIT_TYPE.User, + // CREATE_TIME = (check != null) ? check.CREATE_TIME : (sub != null ? sub.CREATE_TIME : null), + // Nav_Submit = sub + // } + // ).Union( + // from subn in iListSubHand + // select new T_BS_SAFE_CHECK_SUM + // { + // ID = "_" + subn.ID.ToString(), + // CODE = subn.CODE, + // CHECKID = null, + // SUBMITID = subn.ID, + // CHECKOBJECT = null, + // DEPARTMENT_NAME = subn.Nav_Department.NAME, + // CHECK_TYPE_NAME = subn.Nav_CheckType?.NAME, + // CHECK_TYPE_LEVEL_NAME = subn.Nav_CheckTypeLevel?.Nav_Enums?.NAME, + // CHECKTIME = subn.CREATE_TIME, + // CheckUsers = subn.Nav_User?.NAME, + // stateMake = "手动上报",//HMAuditStatusEnmu + // stateCheck = "手动上报",// e.STATECHECK.GetDescription(),//STATECHECK + // stateSubmit = subn.ISORDEREND ? "已归档" : ((subn.SUBMIT_STATUS.HasValue && subn.SUBMIT_STATUS.Value < 20) ? "草稿" : "处理中"), + // SUBMIT_TYPE = SUBMIT_TYPE.User, + // CREATE_TIME = subn.CREATE_TIME, + // Nav_Submit = subn + // }); if (stateSubmit == 30) { @@ -7587,65 +7484,11 @@ namespace APT.BS.WebApi.Controllers.Api var iListResult = query.OrderByDescending(e => e.CREATE_TIME).ThenBy(e => e.CHECKOBJECT).ThenBy(e => e.stateMake); var listResult = iListResult.Skip((pageFilter.PageIndex - 1) * pageFilter.Limit).Take(pageFilter.Limit).ToList(); - - //SUBMITID 重新赋值 - var listChickID2 = iListResult.Where(e => e.CHECKID.HasValue && !e.SUBMITID.HasValue && e.stateCheck == "已归档").Select(e => e.CHECKID.Value); - var subCheck = GetEntities(e => e.CHECK_ID.HasValue && listChickID2.Contains(e.CHECK_ID.Value), null, null); - if (subCheck != null && subCheck.Any()) - { - foreach (var item in subCheck) - { - var sub2 = listResult.FirstOrDefault(e => e.CHECKID == item.CHECK_ID.Value); - if (sub2 != null) - { - sub2.SUBMITID = item.ID; - sub2.Nav_Submit = item; - sub2.stateSubmit = item.ISORDEREND ? "已归档" : (item.SUBMIT_STATUS.HasValue && item.SUBMIT_STATUS.Value < 20) ? "草稿" : "处理中"; - } - } - } - - var checkIDs = listResult.Where(e => e.CHECKID.HasValue && e.stateCheck == "已归档" && e.stateSubmit == "").Select(e => e.CHECKID.Value);//&& !e.SUBMITID.HasValue - if (checkIDs != null && checkIDs.Any()) - { - Guid guidWu = new Guid("55555555-5555-5555-5555-555555555555"); - var listQuestions = GetEntities(e => checkIDs.Contains(e.SAFE_CHECK_ID) && e.SAFE_CHECK_QUESTION_ID.HasValue && e.SAFE_CHECK_QUESTION_ID != guidWu, null, null); - if (listQuestions != null && listQuestions.Any()) - { - foreach (var item in listResult) - { - if (item.stateCheck == "已归档" && item.stateSubmit == "" && item.CHECKID.HasValue && !item.SUBMITID.HasValue) - { - var q = listQuestions.FirstOrDefault(e => e.SAFE_CHECK_ID == item.CHECKID.Value); - if (q != null) - { - item.stateSubmit = "草稿"; - } - else - { - item.stateSubmit = "无需整改"; - } - } - } - } - else - { - foreach (var item in listResult) - { - if (item.stateCheck == "已归档" && item.stateSubmit == "" && item.CHECKID.HasValue && !item.SUBMITID.HasValue) - { - item.stateSubmit = "无需整改"; - } - } - } - } - result.Data = listResult; result.TotalCount = iListResult.Count(); }); } - /// /// 获得单条实体数据 ///