diff --git a/DataBase/版本日志/SGGLDB_WH_2023-09-27.sql b/DataBase/版本日志/SGGLDB_WH_2023-09-27.sql index 426ff131..81a2ba2f 100644 Binary files a/DataBase/版本日志/SGGLDB_WH_2023-09-27.sql and b/DataBase/版本日志/SGGLDB_WH_2023-09-27.sql differ diff --git a/DataBase/版本日志/SGGLDB_WH_2023-09-30.sql b/DataBase/版本日志/SGGLDB_WH_2023-09-30.sql new file mode 100644 index 00000000..8c9b1c05 --- /dev/null +++ b/DataBase/版本日志/SGGLDB_WH_2023-09-30.sql @@ -0,0 +1,47 @@ +--ר¼ +alter table Check_CheckSpecial add ReceiveMan nvarchar(2000) null; + +--States0- 1-ύ 2-ͨ 3-ȷ + + +--޸רϸͼ +/****** Object: View [dbo].[View_CheckSpecialDetail] Script Date: 2023/9/30 11:19:54 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO +/*LEFT JOIN Sys_Const AS const ON const.ConstValue = detail.HandleStep and const.GroupId='HandleStep'*/ +ALTER VIEW [dbo].[View_CheckSpecialDetail] +AS +SELECT detail.CheckSpecialDetailId, detail.CheckSpecialId, detail.CheckItem, checkItemSet.CheckItemName, detail.Unqualified, + detail.SortIndex, detail.UnitId, detail.HandleStep, detail.CompleteStatus, + (CASE WHEN detail.CompleteStatus = 1 THEN 'ϸ' ELSE 'ϸ' END) AS CompleteStatusName, detail.LimitedDate, + detail.CompletedDate, detail.CheckContent, detail.CheckArea, + workArea.UnitWorkName + (CASE WHEN workArea.ProjectType = '1' THEN '()' WHEN workArea.ProjectType = '2' THEN '(װ)' + ELSE '' END) AS CheckAreaName, detail.DataId, detail.DataType, unit.UnitName, + dbo.GetConstTextByIds(detail.HandleStep) AS HandleStepStr, + (CASE WHEN detail.DataType LIKE '%1%' THEN '·ĵ:' + + (SELECT RectifyNoticesCode + FROM Check_RectifyNotices + WHERE detail.DataId LIKE '%' + RectifyNoticesId + '%') ELSE '' END) + + (CASE WHEN detail.DataType LIKE '%2%' THEN '·:' + + (SELECT PunishNoticeCode + FROM Check_PunishNotice + WHERE detail.DataId LIKE '%' + PunishNoticeId + '%') ELSE '' END) + + (CASE WHEN detail.DataType = '3' THEN '·ͣ:' + + (SELECT PauseNoticeCode + FROM Check_PauseNotice + WHERE detail.DataId LIKE '%' + PauseNoticeId + '%') ELSE '' END) AS HandleStepLink, detail.HiddenHazardType, + (CASE WHEN detail.HiddenHazardType = '3' THEN 'ش' WHEN detail.HiddenHazardType = '2' THEN 'ϴ' WHEN detail.HiddenHazardType + = '1' THEN 'һ' ELSE '' END) AS HiddenHazardTypeName, detail.CheckItemSetId, detail.CheckItemSetContent, + detail.Rectification_Date +FROM dbo.Check_CheckSpecialDetail AS detail LEFT OUTER JOIN + dbo.Technique_CheckItemSet AS checkItemSet ON checkItemSet.CheckItemSetId = detail.CheckItem LEFT OUTER JOIN + dbo.Base_Unit AS unit ON unit.UnitId = detail.UnitId LEFT OUTER JOIN + dbo.WBS_UnitWork AS workArea ON detail.CheckArea = workArea.UnitWorkId + + +GO + + diff --git a/DataBase/版本日志/SGGLDB_WH_2023-10-07.sql b/DataBase/版本日志/SGGLDB_WH_2023-10-07.sql new file mode 100644 index 00000000..990bad7f --- /dev/null +++ b/DataBase/版本日志/SGGLDB_WH_2023-10-07.sql @@ -0,0 +1,4 @@ +alter table Base_Project add ProjType nvarchar(50) null +GO +alter table Base_Project add ProjPhase nvarchar(50) null +GO \ No newline at end of file diff --git a/DataBase/版本日志/SGGLDB_WH_2023-10-08.sql b/DataBase/版本日志/SGGLDB_WH_2023-10-08.sql new file mode 100644 index 00000000..3b5aaea3 --- /dev/null +++ b/DataBase/版本日志/SGGLDB_WH_2023-10-08.sql @@ -0,0 +1,31 @@ +Create VIEW [dbo].[View_QualityAudit_GeneralEquipmentQuality] AS +/*豸Ϣбͼ*/ +SELECT equ.GeneralEquipmentQualityId + ,equ.ProjectId + ,equ.GeneralEquipmentQualityCode + ,equ.UnitId + ,Unit.UnitName + ,equ.SpecialEquipmentId + ,sp.SpecialEquipmentName + ,equ.[IsQualified] + ,equ.EquipmentCount + ,equ.InDate + ,equ.Remark + ,equ.CompileMan + ,U.UserName AS CompileManName + ,equ.CompileDate + ,equ.QRCodeAttachUrl + ,REPLACE(a.AttachUrl,'\', '/') AS AttachUrl +FROM QualityAudit_GeneralEquipmentQuality AS equ +LEFT JOIN Base_Unit AS Unit ON Unit.UnitId=equ.UnitId +LEFT JOIN Base_SpecialEquipment AS sp ON equ.SpecialEquipmentId = sp.SpecialEquipmentId +LEFT JOIN Sys_User AS U ON U.UserId = equ.CompileMan +LEFT JOIN AttachFile AS a ON a.ToKeyId = equ.GeneralEquipmentQualityId + + + +GO + + +update QualityAudit_GeneralEquipmentQuality set QRCodeAttachUrl =NULL +GO \ No newline at end of file diff --git a/SGGL/BLL/API/APIPersonService.cs b/SGGL/BLL/API/APIPersonService.cs index 7000b083..c89257b8 100644 --- a/SGGL/BLL/API/APIPersonService.cs +++ b/SGGL/BLL/API/APIPersonService.cs @@ -58,7 +58,7 @@ namespace BLL using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getPerson = from x in db.View_SitePerson_Person - where x.PersonId == personId || x.IdentityCard == personId + where (x.PersonId == personId || x.IdentityCard == personId) select new Model.PersonItem { PersonId = x.PersonId, @@ -1752,5 +1752,83 @@ namespace BLL return message; } + + #region 二维码扫码获取人员 + /// + /// 二维码扫码获取人员 + /// + /// + /// + public static Model.PersonItem getPersonByPersonIdQrcode(string personId) + { + using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) + { + var getPerson = from x in db.View_SitePerson_Person + where (x.PersonId == personId || x.IdentityCard == personId) && x.IsUsed == true + select new Model.PersonItem + { + PersonId = x.PersonId, + CardNo = x.CardNo, + PersonName = x.PersonName, + Sex = x.Sex, + SexName = x.SexName, + IdentityCard = x.IdentityCard, + Address = x.Address, + ProjectId = x.ProjectId, + ProjectCode = x.ProjectCode, + ProjectName = x.ProjectName, + UnitId = x.UnitId, + UnitCode = x.UnitCode, + UnitName = x.UnitName, + TeamGroupId = x.TeamGroupId, + TeamGroupName = x.TeamGroupName, + WorkPostId = x.WorkPostId, + WorkPostName = x.WorkPostName, + InTime = string.Format("{0:yyyy-MM-dd}", x.InTime), + OutTime = string.Format("{0:yyyy-MM-dd}", x.OutTime), + OutResult = x.OutResult, + Telephone = x.Telephone, + PhotoUrl = x.PhotoUrl, + DepartName = x.DepartName, + IsUsed = x.IsUsed, + IsUsedName = x.IsUsed == false ? "不启用" : "启用", + AuditorId = x.AuditorId, + AuditorName = db.Sys_User.First(z => z.UserId == x.AuditorId).UserName, + IsForeign = x.IsForeign.HasValue ? x.IsForeign : false, + IsOutside = x.IsOutside.HasValue ? x.IsOutside : false, + AuditorDate = string.Format("{0:yyyy-MM-dd}", x.AuditorDate), + AttachUrl1 = x.IDCardUrl == null ? APIUpLoadFileService.getFileUrl(personId + "#1", null) : x.IDCardUrl.Replace('\\', '/'), + AttachUrl2 = APIUpLoadFileService.getFileUrl(personId + "#2", null), + AttachUrl3 = APIUpLoadFileService.getFileUrl(personId + "#3", null), + AttachUrl4 = getAttachUrl4(x.PersonId), + AttachUrl5 = APIUpLoadFileService.getFileUrl(personId + "#5", null), + IdcardType = x.IdcardType, + IdcardTypeName = x.IdcardTypeName, + IdcardStartDate = string.Format("{0:yyyy-MM-dd}", x.IdcardStartDate), + IdcardEndDate = string.Format("{0:yyyy-MM-dd}", x.IdcardEndDate), + IdcardForever = x.IdcardForever, + IdcardForeverStr = x.IdcardForeverStr, + PoliticsStatus = x.PoliticsStatus, + PoliticsStatusName = x.PoliticsStatusName, + IdcardAddress = x.IdcardAddress, + Nation = x.Nation, + NationName = x.NationName, + EduLevel = x.EduLevel, + EduLevelName = x.EduLevelName, + MaritalStatus = x.MaritalStatus, + MaritalStatusName = x.MaritalStatusName, + CountryCode = x.CountryCode, + CountryName = x.CountryName, + ProvinceCode = x.ProvinceCode, + ProvinceName = x.ProvinceName, + MainCNProfessionalId = x.MainCNProfessionalId, + MainCNProfessionalName = x.MainCNProfessionalName, + ViceCNProfessionalId = x.ViceCNProfessionalId, + ViceCNProfessionalName = x.ViceCNProfessionalName + }; + return getPerson.FirstOrDefault(); + } + } + #endregion } } diff --git a/SGGL/BLL/API/HSSE/APICheckSpecialService.cs b/SGGL/BLL/API/HSSE/APICheckSpecialService.cs index 03c4a833..3c15b020 100644 --- a/SGGL/BLL/API/HSSE/APICheckSpecialService.cs +++ b/SGGL/BLL/API/HSSE/APICheckSpecialService.cs @@ -14,37 +14,96 @@ namespace BLL /// /// /// - public static Model.CheckSpecialItem getCheckSpecialById(string CheckSpecialId) + public static Model.CheckSpecialItem getCheckSpecialById(string CheckSpecialId,string state="0") { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { - var getInfo = from x in db.Check_CheckSpecial - where x.CheckSpecialId == CheckSpecialId - select new Model.CheckSpecialItem - { - CheckSpecialId = x.CheckSpecialId, - ProjectId = x.ProjectId, - CheckSpecialCode = x.CheckSpecialCode, - CheckTypeName = (x.CheckType == "1" ? "联合" : "专项"), - CheckType = x.CheckType, - CheckItemSetId = x.CheckItemSetId, - CheckItemSetName = db.Technique_CheckItemSet.First(y => y.CheckItemSetId == x.CheckItemSetId).CheckItemName, - CheckPersonId = x.CheckPerson, - CheckPersonName = db.Sys_User.First(u => u.UserId == x.CheckPerson).UserName, - CheckTime = string.Format("{0:yyyy-MM-dd}", x.CheckTime), - DaySummary = x.DaySummary, - PartInUnitIds = x.PartInUnits, - PartInUnitNames = UnitService.getUnitNamesUnitIds(x.PartInUnits), - PartInPersonIds = x.PartInPersonIds, - PartInPersonNames = UserService.getUserNamesUserIds(x.PartInPersonIds), - PartInPersonNames2 = x.PartInPersonNames, - CompileManId = x.CompileMan, - CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName, - States = x.States, - AttachUrl1 = APIUpLoadFileService.getFileUrl(x.CheckSpecialId, null), - CheckSpecialDetailItems = getCheckSpecialDetailList(x.CheckSpecialId), - }; - return getInfo.FirstOrDefault(); + if (state == "0") + { + //状态是0的时候查看所有 + var getInfo = from x in db.Check_CheckSpecial + where x.CheckSpecialId == CheckSpecialId + select new Model.CheckSpecialItem + { + CheckSpecialId = x.CheckSpecialId, + ProjectId = x.ProjectId, + CheckSpecialCode = x.CheckSpecialCode, + CheckTypeName = (x.CheckType == "1" ? "联合" : "专项"), + CheckType = x.CheckType, + CheckItemSetId = x.CheckItemSetId, + CheckItemSetName = db.Technique_CheckItemSet.First(y => y.CheckItemSetId == x.CheckItemSetId).CheckItemName, + CheckPersonId = x.CheckPerson, + CheckPersonName = db.Sys_User.First(u => u.UserId == x.CheckPerson).UserName, + CheckTime = string.Format("{0:yyyy-MM-dd}", x.CheckTime), + DaySummary = x.DaySummary, + PartInUnitIds = x.PartInUnits, + PartInUnitNames = UnitService.getUnitNamesUnitIds(x.PartInUnits), + PartInPersonIds = x.PartInPersonIds, + PartInPersonNames = UserService.getUserNamesUserIds(x.PartInPersonIds), + PartInPersonNames2 = x.PartInPersonNames, + CompileManId = x.CompileMan, + CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName, + States = x.States, + AttachUrl1 = APIUpLoadFileService.getFileUrl(x.CheckSpecialId, null), + CheckSpecialDetailItems = getCheckSpecialDetailList(x.CheckSpecialId,"0"), + + ResponsibleUnit = x.ResponsibleUnit, + ResponsibleUnitName = UnitService.GetUnitNameByUnitId(x.ResponsibleUnit), + WorkAreaId = x.WorkAreaId, + WorkAreaName = UnitWorkService.GetUnitWorkName(x.WorkAreaId), + QuestionType = x.QuestionType, + QuestionTypeName = UnitService.GetQuestionTypeId(x.QuestionType), + + ResponsibleMan = x.ResponsibleMan, + ReceiveMan = x.ReceiveMan, + ReceiveManName = UserService.getUserNamesUserIds(x.ReceiveMan) + + }; + return getInfo.FirstOrDefault(); + } + else { + //状态是1的时候查看不合格的子项 + var getInfo = from x in db.Check_CheckSpecial + where x.CheckSpecialId == CheckSpecialId + select new Model.CheckSpecialItem + { + CheckSpecialId = x.CheckSpecialId, + ProjectId = x.ProjectId, + CheckSpecialCode = x.CheckSpecialCode, + CheckTypeName = (x.CheckType == "1" ? "联合" : "专项"), + CheckType = x.CheckType, + CheckItemSetId = x.CheckItemSetId, + CheckItemSetName = db.Technique_CheckItemSet.First(y => y.CheckItemSetId == x.CheckItemSetId).CheckItemName, + CheckPersonId = x.CheckPerson, + CheckPersonName = db.Sys_User.First(u => u.UserId == x.CheckPerson).UserName, + CheckTime = string.Format("{0:yyyy-MM-dd}", x.CheckTime), + DaySummary = x.DaySummary, + PartInUnitIds = x.PartInUnits, + PartInUnitNames = UnitService.getUnitNamesUnitIds(x.PartInUnits), + PartInPersonIds = x.PartInPersonIds, + PartInPersonNames = UserService.getUserNamesUserIds(x.PartInPersonIds), + PartInPersonNames2 = x.PartInPersonNames, + CompileManId = x.CompileMan, + CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName, + States = x.States, + AttachUrl1 = APIUpLoadFileService.getFileUrl(x.CheckSpecialId, null), + CheckSpecialDetailItems = getCheckSpecialDetailList(x.CheckSpecialId,"1"), + + ResponsibleUnit = x.ResponsibleUnit, + ResponsibleUnitName = UnitService.GetUnitNameByUnitId(x.ResponsibleUnit), + WorkAreaId = x.WorkAreaId, + WorkAreaName = UnitWorkService.GetUnitWorkName(x.WorkAreaId), + QuestionType = x.QuestionType, + QuestionTypeName = UnitService.GetQuestionTypeId(x.QuestionType), + + ResponsibleMan = x.ResponsibleMan, + ReceiveMan = x.ReceiveMan, + ReceiveManName = UserService.getUserNamesUserIds(x.ReceiveMan) + + }; + return getInfo.FirstOrDefault(); + } + } } #endregion @@ -56,12 +115,14 @@ namespace BLL /// /// /// - public static List getCheckSpecialList(string projectId, string states) + public static List getCheckSpecialList(string projectId, string states,string userid) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { var getCheckSpecial = from x in db.Check_CheckSpecial where x.ProjectId == projectId && x.States ==states + //当前保存人、审核人、确认人能看到 + &&(x.CompileMan==userid || x.ResponsibleMan==userid || userid.Split(',').Contains(x.ReceiveMan)) orderby x.CheckSpecialCode descending select new Model.CheckSpecialItem { @@ -85,6 +146,8 @@ namespace BLL CompileManName = db.Sys_User.First(u => u.UserId == x.CompileMan).UserName, States = x.States, AttachUrl1 = APIUpLoadFileService.getFileUrl(x.CheckSpecialId, null), + ReceiveMan=x.ReceiveMan, + ReceiveManName= UserService.getUserNamesUserIds(x.ReceiveMan) }; return getCheckSpecial.ToList(); } @@ -117,18 +180,39 @@ namespace BLL PartInPersons = UserService.getUserNamesUserIds(newItem.PartInPersonIds), PartInPersonNames = newItem.PartInPersonNames2, CompileMan = newItem.CompileManId, - States = Const.State_0, + States = newItem.States, + + ResponsibleUnit=newItem.ResponsibleUnit, + WorkAreaId=newItem.WorkAreaId, + QuestionType=newItem.QuestionType, + //审核人 + ResponsibleMan=newItem.ResponsibleMan, + ReceiveMan=newItem.ReceiveMan }; //if (newItem.States != Const.State_1) //{ // newCheckSpecial.States = Const.State_0; //} - if (newItem.CheckSpecialDetailItems == null || newItem.CheckSpecialDetailItems.Count() == 0) + //if (newItem.CheckSpecialDetailItems == null || newItem.CheckSpecialDetailItems.Count() == 0) + //{ + // if (newItem.States == Const.State_1) + // { + // newCheckSpecial.States = Const.State_2; + // } + //} + + //如果审核状态不为空 + if (!string.IsNullOrEmpty(newItem.AuditState)) { - if (newItem.States == Const.State_1) + //不同意的话 + if (newItem.AuditState=="0") { - newCheckSpecial.States = Const.State_2; + newCheckSpecial.States = "0"; + } + else if (newItem.AuditState=="1") + { + newCheckSpecial.States = "2"; } } @@ -167,31 +251,32 @@ namespace BLL SaveCheckSpecialDetail(item); } //// 单据完成后 系统自动按照单位 整改要求生成隐患整改单 - if (newItem.States == Const.State_1) - { - var getC = newItem.CheckSpecialDetailItems.FirstOrDefault(x => x.CompleteStatus == false); - if (getC == null) - { - newCheckSpecial.States = Const.State_2; - Check_CheckSpecialService.UpdateCheckSpecial(newCheckSpecial); - } - else - { - var getNA = newItem.CheckSpecialDetailItems.FirstOrDefault(x => x.CompleteStatus == false && (x.HandleStep== null || x.HandleStep=="")); - if (getNA == null) - { - var detailLists = db.Check_CheckSpecialDetail.Where(x => x.CheckSpecialId == newCheckSpecial.CheckSpecialId && x.CompleteStatus == false); - if (detailLists.Count() > 0) - { - message = Check_CheckSpecialService.IssueRectification(detailLists.ToList(), newCheckSpecial); - } - } - else - { - message += "存在待整改,没有处理措施的记录!"; - } - } - } + ///五环不需要 + //if (newItem.States == Const.State_1) + //{ + // var getC = newItem.CheckSpecialDetailItems.FirstOrDefault(x => x.CompleteStatus == false); + // if (getC == null) + // { + // newCheckSpecial.States = Const.State_2; + // Check_CheckSpecialService.UpdateCheckSpecial(newCheckSpecial); + // } + // else + // { + // var getNA = newItem.CheckSpecialDetailItems.FirstOrDefault(x => x.CompleteStatus == false && (x.HandleStep== null || x.HandleStep=="")); + // if (getNA == null) + // { + // var detailLists = db.Check_CheckSpecialDetail.Where(x => x.CheckSpecialId == newCheckSpecial.CheckSpecialId && x.CompleteStatus == false); + // if (detailLists.Count() > 0) + // { + // message = Check_CheckSpecialService.IssueRectification(detailLists.ToList(), newCheckSpecial); + // } + // } + // else + // { + // message += "存在待整改,没有处理措施的记录!"; + // } + // } + //} } return message; } @@ -204,42 +289,83 @@ namespace BLL /// /// /// - public static List getCheckSpecialDetailList(string checkSpecialId) + public static List getCheckSpecialDetailList(string checkSpecialId,string CompleteStatus="0") { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { - var getInfo = from x in db.Check_CheckSpecialDetail - where x.CheckSpecialId == checkSpecialId - orderby x.SortIndex - select new Model.CheckSpecialDetailItem - { - CheckSpecialDetailId = x.CheckSpecialDetailId, - CheckSpecialId = x.CheckSpecialId, - CheckItemSetId = x.CheckItem, - CheckItemSetName = db.Technique_CheckItemSet.First(y => y.CheckItemSetId == x.CheckItem).CheckItemName, - CheckContent = x.CheckContent, - SortIndex = x.SortIndex, - Unqualified = x.Unqualified, - Suggestions = x.Suggestions, - WorkArea = db.WBS_UnitWork.First(y=>y.UnitWorkId ==x.CheckArea).UnitWorkName, - WorkAreaId=x.CheckArea, - UnitId = x.UnitId, - UnitName = db.Base_Unit.First(y => y.UnitId == x.UnitId).UnitName, - HandleStep = x.HandleStep, - HandleStepName = getNames(x.HandleStep), - HiddenHazardType = x.HiddenHazardType, - HiddenHazardTypeName = x.HiddenHazardType == "3" ? "重大" : (x.HiddenHazardType == "2" ? "较大" : "一般"), - LimitedDate = string.Format("{0:yyyy-MM-dd}", x.LimitedDate), - CompleteStatus = x.CompleteStatus, - CompleteStatusName = x.CompleteStatus == true ? "已整改" : "待整改", - CompletedDate = string.Format("{0:yyyy-MM-dd}", x.CompletedDate), - AttachUrl1 = APIUpLoadFileService.getFileUrl(x.CheckSpecialDetailId, null), + if (CompleteStatus == "0") + { + var getInfo = from x in db.Check_CheckSpecialDetail + where x.CheckSpecialId == checkSpecialId + orderby x.SortIndex + select new Model.CheckSpecialDetailItem + { + CheckSpecialDetailId = x.CheckSpecialDetailId, + CheckSpecialId = x.CheckSpecialId, + CheckItemSetId = x.CheckItem, + CheckItemSetName = db.Technique_CheckItemSet.First(y => y.CheckItemSetId == x.CheckItem).CheckItemName, + CheckContent = x.CheckContent, + SortIndex = x.SortIndex, + Unqualified = x.Unqualified, + Suggestions = x.Suggestions, + WorkArea = db.WBS_UnitWork.First(y => y.UnitWorkId == x.CheckArea).UnitWorkName, + WorkAreaId = x.CheckArea, + UnitId = x.UnitId, + UnitName = db.Base_Unit.First(y => y.UnitId == x.UnitId).UnitName, + HandleStep = x.HandleStep, + HandleStepName = getNames(x.HandleStep), + HiddenHazardType = x.HiddenHazardType, + HiddenHazardTypeName = x.HiddenHazardType == "3" ? "重大" : (x.HiddenHazardType == "2" ? "较大" : "一般"), + LimitedDate = string.Format("{0:yyyy-MM-dd}", x.LimitedDate), + CompleteStatus = x.CompleteStatus, + CompleteStatusName = x.CompleteStatus == true ? "已整改" : "待整改", + CompletedDate = string.Format("{0:yyyy-MM-dd}", x.CompletedDate), + AttachUrl1 = APIUpLoadFileService.getFileUrl(x.CheckSpecialDetailId, null), - CheckItemDetailSetId = x.CheckItemSetId, - CheckItemDetailContent = x.CheckItemSetContent, - Rectification_Date = string.Format("{0:yyyy-MM-dd}", x.Rectification_Date), - }; - return getInfo.ToList(); + CheckItemDetailSetId = x.CheckItemSetId, + CheckItemDetailContent = x.CheckItemSetContent, + Rectification_Date = string.Format("{0:yyyy-MM-dd}", x.Rectification_Date), + CheckOpinions = x.CheckOpinions, + }; + return getInfo.ToList(); + } + else { + //查询不合格子项 + var getInfo = from x in db.Check_CheckSpecialDetail + where x.CheckSpecialId == checkSpecialId && x.CompleteStatus==false + orderby x.SortIndex + select new Model.CheckSpecialDetailItem + { + CheckSpecialDetailId = x.CheckSpecialDetailId, + CheckSpecialId = x.CheckSpecialId, + CheckItemSetId = x.CheckItem, + CheckItemSetName = db.Technique_CheckItemSet.First(y => y.CheckItemSetId == x.CheckItem).CheckItemName, + CheckContent = x.CheckContent, + SortIndex = x.SortIndex, + Unqualified = x.Unqualified, + Suggestions = x.Suggestions, + WorkArea = db.WBS_UnitWork.First(y => y.UnitWorkId == x.CheckArea).UnitWorkName, + WorkAreaId = x.CheckArea, + UnitId = x.UnitId, + UnitName = db.Base_Unit.First(y => y.UnitId == x.UnitId).UnitName, + HandleStep = x.HandleStep, + HandleStepName = getNames(x.HandleStep), + HiddenHazardType = x.HiddenHazardType, + HiddenHazardTypeName = x.HiddenHazardType == "3" ? "重大" : (x.HiddenHazardType == "2" ? "较大" : "一般"), + LimitedDate = string.Format("{0:yyyy-MM-dd}", x.LimitedDate), + CompleteStatus = x.CompleteStatus, + CompleteStatusName = x.CompleteStatus == true ? "已整改" : "待整改", + CompletedDate = string.Format("{0:yyyy-MM-dd}", x.CompletedDate), + AttachUrl1 = APIUpLoadFileService.getFileUrl(x.CheckSpecialDetailId, null), + + CheckItemDetailSetId = x.CheckItemSetId, + CheckItemDetailContent = x.CheckItemSetContent, + Rectification_Date = string.Format("{0:yyyy-MM-dd}", x.Rectification_Date), + CheckOpinions = x.CheckOpinions, + }; + return getInfo.ToList(); + } + } } /// @@ -290,6 +416,7 @@ namespace BLL CheckItemDetailSetId=x.CheckItemSetId, CheckItemDetailContent=x.CheckItemSetContent, Rectification_Date= string.Format("{0:yyyy-MM-dd}", x.Rectification_Date), + CheckOpinions=x.CheckOpinions }; return getInfo.First(); } @@ -316,7 +443,7 @@ namespace BLL UnitId = newDetail.UnitId, HandleStep = newDetail.HandleStep, HiddenHazardType = newDetail.HiddenHazardType, - CompleteStatus = newDetail.CompleteStatus ?? false, + CompleteStatus = newDetail.CompleteStatus, RectifyNoticeId = newDetail.RectifyNoticeId, LimitedDate = Funs.GetNewDateTime(newDetail.LimitedDate), CompletedDate = Funs.GetNewDateTime(newDetail.CompletedDate), @@ -325,10 +452,11 @@ namespace BLL CheckArea = newDetail.WorkAreaId, CheckContent = newDetail.CheckContent, - //整改日期、检查内容、检查内容id + //整改日期、检查内容、检查内容id、处理意见 CheckItemSetId= newDetail.CheckItemDetailSetId, CheckItemSetContent= newDetail.CheckItemDetailContent, - Rectification_Date = Funs.GetNewDateTime(newDetail.Rectification_Date) + Rectification_Date = Funs.GetNewDateTime(newDetail.Rectification_Date), + CheckOpinions=newDetail.CheckOpinions, }; if (newCheckSpecialDetail.CompleteStatus == false && newCheckSpecialDetail.HandleStep.Contains("1") && string.IsNullOrEmpty(newCheckSpecialDetail.HiddenHazardType)) { @@ -371,10 +499,11 @@ namespace BLL updateDetail.CheckArea = newCheckSpecialDetail.CheckArea; updateDetail.CheckContent = newCheckSpecialDetail.CheckContent; - //整改日期、检查内容、检查内容id + //整改日期、检查内容、检查内容id、处理意见 updateDetail.CheckItemSetId = newDetail.CheckItemDetailSetId; updateDetail.CheckItemSetContent = newDetail.CheckItemDetailContent; updateDetail.Rectification_Date = Funs.GetNewDateTime(newDetail.Rectification_Date); + updateDetail.CheckOpinions = newDetail.CheckOpinions; db.SubmitChanges(); } ////保存附件 diff --git a/SGGL/BLL/API/HSSE/APIGeneralEquipmentQualityService.cs b/SGGL/BLL/API/HSSE/APIGeneralEquipmentQualityService.cs new file mode 100644 index 00000000..458e6492 --- /dev/null +++ b/SGGL/BLL/API/HSSE/APIGeneralEquipmentQualityService.cs @@ -0,0 +1,148 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using EmitMapper; + +namespace BLL +{ + public static class APIGeneralEquipmentQualityService + { + #region 根据equipmentQualityId获取机具设备信息 + /// + /// 根据equipmentQualityId获取机具设备信息 + /// + /// + /// + public static Model.EquipmentQualityItem getEquipmentQualityByEquipmentQualityIdFactoryCode(string equipmentQualityId) + { + using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) + { + var getEquipmentQuality = (from x in db.View_QualityAudit_GeneralEquipmentQuality + where x.GeneralEquipmentQualityId == equipmentQualityId + select new Model.EquipmentQualityItem + { + EquipmentQualityId = x.GeneralEquipmentQualityId, + ProjectId = x.ProjectId, + EquipmentQualityCode = x.GeneralEquipmentQualityCode, + EquipmentCount = x.EquipmentCount.HasValue? x.EquipmentCount.Value.ToString():"", + UnitId = x.UnitId, + IsQualified =x.IsQualified.HasValue? x.IsQualified.Value?"是":"否":"", + UnitName = x.UnitName, + SpecialEquipmentName = x.SpecialEquipmentName, + InDate = string.Format("{0:yyyy-MM-dd}", x.InDate), + Remark = x.Remark, + CompileManId = x.CompileMan, + CompileManName = x.CompileManName, + CompileDate = string.Format("{0:yyyy-MM-dd}", x.CompileDate), + AttachUrl = x.AttachUrl.Replace('\\', '/') + }); ; + return getEquipmentQuality.FirstOrDefault(); + } + } + #endregion + + #region 获取机具设备列表信息 + /// + /// 获取机具设备列表信息 + /// + /// + /// + /// + /// + public static List getEquipmentQualityList(string projectId, string unitId, string strParam) + { + using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) + { + var getEquipmentQuality = from x in db.View_QualityAudit_GeneralEquipmentQuality + where x.ProjectId == projectId && (x.UnitId == unitId || unitId == null) + && (strParam == null || x.SpecialEquipmentName.Contains(strParam) ) + orderby x.GeneralEquipmentQualityCode descending + select new Model.EquipmentQualityItem + { + EquipmentQualityId = x.GeneralEquipmentQualityId, + ProjectId = x.ProjectId, + EquipmentQualityCode = x.GeneralEquipmentQualityCode, + EquipmentCount = x.EquipmentCount.HasValue ? x.EquipmentCount.Value.ToString() : "", + UnitId = x.UnitId, + IsQualified = x.IsQualified.HasValue ? x.IsQualified.Value ? "是" : "否" : "", + UnitName = x.UnitName, + SpecialEquipmentName = x.SpecialEquipmentName, + InDate = string.Format("{0:yyyy-MM-dd}", x.InDate), + Remark = x.Remark, + CompileManId = x.CompileMan, + CompileManName = x.CompileManName, + CompileDate = string.Format("{0:yyyy-MM-dd}", x.CompileDate), + AttachUrl = x.AttachUrl.Replace('\\', '/') + }; + return getEquipmentQuality.ToList(); + } + } + #endregion + + #region 保存QualityAudit_EquipmentQuality + /// + /// 保存QualityAudit_EquipmentQuality + /// + /// 机具设备资质 + /// + public static void SaveEquipmentQuality(Model.EquipmentQualityItem newItem) + { + Model.SGGLDB db = Funs.DB; + Model.QualityAudit_GeneralEquipmentQuality newEquipmentQuality = new Model.QualityAudit_GeneralEquipmentQuality + { + GeneralEquipmentQualityId = newItem.EquipmentQualityId, + ProjectId = newItem.ProjectId, + GeneralEquipmentQualityCode = newItem.EquipmentQualityCode, + UnitId = newItem.UnitId, + SpecialEquipmentId = newItem.SpecialEquipmentId, + InDate = Funs.GetNewDateTime(newItem.InDate), + Remark = newItem.Remark, + CompileMan = newItem.CompileManId, + }; + if (!string.IsNullOrEmpty(newItem.IsQualified)) + { + if ("1".Equals(newItem.IsQualified)) + { + newEquipmentQuality.IsQualified = true; + } + else + { + newEquipmentQuality.IsQualified = false; + + } + } + if (!string.IsNullOrEmpty(newItem.EquipmentCount)) + { + try + { + newEquipmentQuality.EquipmentCount = int.Parse(newItem.EquipmentCount); + } + catch (Exception e) { } + } + var updateEquipmentQuality = db.QualityAudit_GeneralEquipmentQuality.FirstOrDefault(x => x.GeneralEquipmentQualityId == newItem.EquipmentQualityId); + if (updateEquipmentQuality == null) + { + newEquipmentQuality.CompileDate = DateTime.Now; + newEquipmentQuality.GeneralEquipmentQualityId = SQLHelper.GetNewID(); + newEquipmentQuality.GeneralEquipmentQualityCode = BLL.CodeRecordsService.ReturnCodeByMenuIdProjectId(BLL.Const.GeneralEquipmentQualityMenuId, newItem.ProjectId, newItem.UnitId); + GeneralEquipmentQualityService.AddGeneralEquipmentQuality(newEquipmentQuality); + } + else + { + GeneralEquipmentQualityService.UpdateGeneralEquipmentQuality(newEquipmentQuality); + } + if (!string.IsNullOrEmpty(newItem.AttachUrl)) + { + ////保存附件 + UploadFileService.SaveAttachUrl(UploadFileService.GetSourceByAttachUrl(newItem.AttachUrl, 10, null), newItem.AttachUrl, Const.GeneralEquipmentQualityMenuId, newEquipmentQuality.GeneralEquipmentQualityId); + } + else + { + CommonService.DeleteAttachFileById(newEquipmentQuality.GeneralEquipmentQualityId); + } + } + #endregion + } +} diff --git a/SGGL/BLL/API/HSSE/APIResourcesService.cs b/SGGL/BLL/API/HSSE/APIResourcesService.cs index 1aab6df0..21ccacce 100644 --- a/SGGL/BLL/API/HSSE/APIResourcesService.cs +++ b/SGGL/BLL/API/HSSE/APIResourcesService.cs @@ -357,22 +357,42 @@ namespace BLL /// /// 1-checkType;2-专项检查;3-综合检查 /// - public static List getCheckItemSetListBySupCheckItemId(string supTypeId, string checkType) + public static List getCheckItemSetListBySupCheckItemId(string supTypeId, string checkType,string supName="") { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { - var getDataLists = from x in db.Technique_CheckItemSet - where x.CheckType == checkType && (x.SupCheckItem == supTypeId || (supTypeId == null && x.SupCheckItem == "0")) - orderby x.SortIndex - select new Model.ResourcesItem - { - ResourcesId = x.CheckItemSetId, - ResourcesCode = x.MapCode, - ResourcesName = x.CheckItemName, - SupResourcesId = x.SupCheckItem, - IsEndLever = x.IsEndLever, - }; - return getDataLists.ToList(); + if (!string.IsNullOrEmpty(supName)) + { + var getDataLists = from x in db.Technique_CheckItemSet + where x.CheckType == checkType && (x.SupCheckItem == supTypeId || (supTypeId == null && x.SupCheckItem == "0")) + && x.CheckItemName.Contains(supName) + orderby x.SortIndex + select new Model.ResourcesItem + { + ResourcesId = x.CheckItemSetId, + ResourcesCode = x.MapCode, + ResourcesName = x.CheckItemName, + SupResourcesId = x.SupCheckItem, + IsEndLever = x.IsEndLever, + }; + return getDataLists.ToList(); + } + else { + var getDataLists = from x in db.Technique_CheckItemSet + where x.CheckType == checkType && (x.SupCheckItem == supTypeId || (supTypeId == null && x.SupCheckItem == "0")) + orderby x.SortIndex + select new Model.ResourcesItem + { + ResourcesId = x.CheckItemSetId, + ResourcesCode = x.MapCode, + ResourcesName = x.CheckItemName, + SupResourcesId = x.SupCheckItem, + IsEndLever = x.IsEndLever, + }; + return getDataLists.ToList(); + } + + } } diff --git a/SGGL/BLL/BLL.csproj b/SGGL/BLL/BLL.csproj index f8b66252..81372eff 100644 --- a/SGGL/BLL/BLL.csproj +++ b/SGGL/BLL/BLL.csproj @@ -103,6 +103,7 @@ + @@ -174,6 +175,7 @@ + diff --git a/SGGL/BLL/Common/NPOIExcel.cs b/SGGL/BLL/Common/NPOIExcel.cs new file mode 100644 index 00000000..62868551 --- /dev/null +++ b/SGGL/BLL/Common/NPOIExcel.cs @@ -0,0 +1,1559 @@ +using NPOI.HSSF.UserModel; +using NPOI.SS.UserModel; +using NPOI.SS.Util; +using NPOI.XSSF.UserModel; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.OleDb; +using System.IO; +using System.Linq; +using System.Text; + +namespace BLL.Common +{ + public class NPOIExcel + { + internal IWorkbook Book { get; set; } + + private int sheetID = 0; + /// + /// 当前活动的SheetID,所有的操作将指向这个Sheet + /// + public int ActiveSheetID + { + get + { + return sheetID; + } + set + { + sheetID = value; + } + } + + /// + /// 当前活动的SheetName,所有的操作将指向这个Sheet + /// + public String ActiveSheetName + { + get + { + return Book.GetSheetAt(sheetID).SheetName; + } + set + { + sheetID = Book.GetSheetIndex(value); + } + } + /// + /// 当前活动的Sheet,所有的操作将指向这个Sheet + /// + public ISheet ActiveSheet + { + get + { + return Book.GetSheetAt(sheetID); + } + } + + /// + /// 第一行非空行的行号 + /// + public int FirstRowNum + { + get + { + return Book.GetSheetAt(sheetID).FirstRowNum; + } + } + + /// + /// 最后一行非空行的行号 + /// + public int LastRostNum + { + get + { + return Book.GetSheetAt(sheetID).LastRowNum; + } + } + + /// + /// 无模板的Excel生成或操作 + /// + public NPOIExcel() + { + Book = new HSSFWorkbook(); + Book.CreateSheet(); + } + + public NPOIExcel(Stream fileStream, String fileName) + { + if (fileName.Substring(fileName.LastIndexOf(".")) == ".xls") + { + Book = new HSSFWorkbook(fileStream); + } + else + { + Book = new XSSFWorkbook(fileStream); + } + } + /// + /// 带模板或数据的Excel生成或操作 + /// + /// + public NPOIExcel(String fileName) + { + Book = CreateBook(fileName); + } + + /// + /// 创建Excel Book + /// + /// 模板文件名 + /// + private IWorkbook CreateBook(String fileName) + { + FileInfo file = new FileInfo(fileName); + if (!file.Exists) + { + File.Create(fileName).Close(); + } + FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); + IWorkbook book; + if (file.Extension == ".xls") + { + book = new HSSFWorkbook(fs); + } + else + { + book = new XSSFWorkbook(fs); + } + fs.Close(); + if (book.NumberOfSheets == 0) + { + book.CreateSheet(); + } + return book; + } + + /// + /// 新建Sheet + /// + /// 新建Sheet + public ISheet CreateSheet() + { + return Book.CreateSheet(); + } + + /// + /// 新建Sheet + /// + /// 新建Sheet的名称 + /// 新建Sheet + public ISheet CreateSheet(String sheetName) + { + return Book.CreateSheet(sheetName); + } + + /// + /// 设置行高 + /// 注:只对当前ActiveSheet有效 + /// + /// 行号 + /// 高度 + public void SetRowHeight(int rowIndex, float height) + { + IRow row = Book.GetSheetAt(sheetID).GetRow(rowIndex); + if (row == null) + { + row = Book.GetSheetAt(sheetID).CreateRow(rowIndex); + } + row.Height = (short)(height * 20); + } + + /// + /// 设置列宽 + /// 注:只对当前ActiveSheet有效 + /// + /// 列号 + /// 宽度 + public void SetColumnWidth(int columnIndex, short width) + { + Book.GetSheetAt(sheetID).SetColumnWidth(columnIndex, width * 256); + } + + /// + /// 获取或设置默认行高 + /// 注:只对当前ActiveSheet有效 + /// + public short DefaultRowHeight + { + get + { + return (short)(Book.GetSheetAt(sheetID).DefaultRowHeight / 20); + } + set + { + Book.GetSheetAt(sheetID).DefaultRowHeight = (short)(value * 20); + + } + } + + /// + /// 获取或设置默认列宽 + /// 注:只对当前ActiveSheet有效 + /// + public int DefaultColWidth + { + get + { + return Book.GetSheetAt(sheetID).DefaultColumnWidth; + } + set + { + Book.GetSheetAt(sheetID).DefaultColumnWidth = value; + } + } + + /// + /// 某一列的列宽自动调整大小 + /// 注:只对当前ActiveSheet有效 + /// + /// 列号 + public void AutoColWidth(int colIndex) + { + Book.GetSheetAt(sheetID).AutoSizeColumn(colIndex, true); + } + + /// + /// 隐藏一行 + /// 注:只对当前ActiveSheet有效 + /// + /// 行号 + public void HiddenRow(int rowIndex) + { + IRow row = Book.GetSheetAt(sheetID).GetRow(rowIndex); + if (row == null) + { + row = Book.GetSheetAt(sheetID).CreateRow(rowIndex); + } + row.ZeroHeight = true; + } + + /// + /// 删除一行 + /// 注:只对当前ActiveSheet有效 + /// + /// 行号 + public void RemoveRow(int rowIndex) + { + IRow row = Book.GetSheetAt(sheetID).GetRow(rowIndex); + if (row != null) + { + ActiveSheet.RemoveRow(row); + } + } + + /// + /// 读取单元格的值 + /// 注:只对当前ActiveSheet有效 + /// + /// 行号 + /// 列号 + /// 单元格的值 + public object ReadValue(int rowIndex, int columnIndex, bool? isDateTime = null) + { + try + { + ICell cell = Book.GetSheetAt(sheetID).GetRow(rowIndex).GetCell(columnIndex); + short df = cell.CellStyle.DataFormat; + + //return cell.ToString(); + switch (cell.CellType) + { + case CellType.Blank: + return null; + case CellType.Boolean: + return cell.BooleanCellValue; + case CellType.Error: + throw new Exception("Cell Value Error"); + case CellType.Formula: + { + switch (cell.CachedFormulaResultType) + { + case CellType.Blank: + return ""; + case CellType.Boolean: + return cell.BooleanCellValue; + case CellType.Error: + throw new Exception("Cell Value Error"); + case CellType.Formula: + throw new Exception("The Formula of this cell is too complex!"); + case CellType.Numeric: + if (isDateTime == null) + { + if (DateUtil.IsCellDateFormatted(cell)) + { + return cell.DateCellValue; + } + else + { + return cell.NumericCellValue; + } + } + else if (isDateTime == true) + { + return cell.DateCellValue; + } + else + { + return cell.NumericCellValue; + } + case CellType.String: + return cell.StringCellValue; + case CellType.Unknown: + return cell.ToString(); + default: + return cell.ToString(); + } + } + case CellType.Numeric: + { + if (isDateTime == null) + { + if (DateUtil.IsCellDateFormatted(cell)) + { + return cell.DateCellValue; + } + else + { + return cell.NumericCellValue; + } + } + else if (isDateTime == true) + { + return cell.DateCellValue; + } + else + { + return cell.NumericCellValue; + } + } + case CellType.String: + return cell.StringCellValue; + case CellType.Unknown: + return cell.ToString(); + default: + return cell.ToString(); + } + } + catch (System.NullReferenceException) + { + return null; + } + catch (Exception ex) + { + throw ex; + } + } + + /// + /// 设置单元格的值 + /// 注:只对当前ActiveSheet有效 + /// + /// 行号 + /// 列号 + /// 单元格的值 + public void SetValue(int rowIndex, int columnIndex, object value) + { + SetValue(rowIndex, columnIndex, value, false); + } + public void SetPicValue(int rowIndex, int columnIndex, string value) + { + byte[] bytes = System.IO.File.ReadAllBytes(value); + int pictureIdx = Book.AddPicture(bytes, PictureType.JPEG); + + // 第三步:创建画部 + IDrawing patriarch = ActiveSheet.CreateDrawingPatriarch(); + // 第四步:设置锚点 + int rowline = 1; // y方向 + // 参数说明:(在起始单元格的X坐标0-1023,Y的坐标0-255,在终止单元格的X坐标0-1023,Y的坐标0-255,起始单元格列数,行数,终止单元格列数,行数) + IClientAnchor anchor = patriarch.CreateAnchor(0, 0, 0, 0, columnIndex, rowIndex, columnIndex+1, rowIndex + 1); + // 第五步:把图片插到相应的位置+1 + IPicture pict = patriarch.CreatePicture(anchor, pictureIdx); + + + } + /// + /// 设置单元格的值 + /// 注:只对当前ActiveSheet有效 + /// + /// 行号 + /// 列号 + /// 单元格的值 + /// 是否是公式 + public void SetValue(int rowIndex, int columnIndex, object value, bool isFormula) + { + IRow row = Book.GetSheetAt(sheetID).GetRow(rowIndex); + if (row == null) + { + row = Book.GetSheetAt(sheetID).CreateRow(rowIndex); + } + ICell cell = row.GetCell(columnIndex); + if (cell == null) + { + cell = row.CreateCell(columnIndex); + } + if (value == null) + { + cell.SetCellValue(""); + } + if (isFormula) + { + cell.SetCellFormula(value.ToString()); + } + else + { + if (value is short) + { + cell.SetCellValue((short)value); + } + else if (value is int) + { + cell.SetCellValue((int)value); + } + else if (value is long) + { + cell.SetCellValue((long)value); + } + else if (value is float) + { + cell.SetCellValue((float)value); + } + else if (value is double) + { + cell.SetCellValue((double)value); + } + else if (value is bool) + { + cell.SetCellValue((bool)value); + } + else if (value is DateTime) + { + cell.SetCellValue((DateTime)value); + } + else if (value == null) + { + } + else + { + cell.SetCellValue(value.ToString()); + } + } + + } + + /// + /// 设置一个区域内的单元格的值范围 + /// 注:只对当前ActiveSheet有效 + /// + /// 开始行 + /// 结束行 + /// 开始列 + /// 结束列 + /// 验证类型 + /// 验证方式 + /// 最小值 + /// 最大值 + public void SetValueRange(int startRowIndex, int EndRowIndex, int startColInex, int endColIndex, NPOIDataType type, OperatorTypes operatorType, String minValue, String maxValue) + { + SetValueRange(startRowIndex, EndRowIndex, startColInex, endColIndex, type, operatorType, minValue, maxValue, "", ""); + } + + /// + /// 设置一个区域内的单元格的值范围 + /// 注:只对当前ActiveSheet有效 + /// + /// 开始行 + /// 结束行 + /// 开始列 + /// 结束列 + /// 验证类型 + /// 验证方式 + /// 最小值 + /// 最大值 + /// 数据格式 + public void SetValueRange(int startRowIndex, int EndRowIndex, int startColInex, int endColIndex, NPOIDataType type, OperatorTypes operatorType, String minValue, String maxValue, String formate) + { + SetValueRange(startRowIndex, EndRowIndex, startColInex, endColIndex, type, operatorType, minValue, maxValue, formate, ""); + } + + /// + /// 设置一个区域内的单元格的值范围 + /// 注:只对当前ActiveSheet有效 + /// + /// 开始行 + /// 结束行 + /// 开始列 + /// 结束列 + /// 验证类型 + /// 验证方式 + /// 最小值 + /// 最大值 + /// 数据格式 + /// 报错信息 + public void SetValueRange(int startRowIndex, int EndRowIndex, int startColInex, int endColIndex, NPOIDataType type, OperatorTypes operatorType, String minValue, String maxValue, String formate, String AlertMassage) + { + CellRangeAddressList regions = new CellRangeAddressList(startRowIndex, EndRowIndex, startColInex, endColIndex); + DVConstraint constraint = DVConstraint.CreateNumericConstraint(ValidationType.ANY, 0, null, null); + switch (type) + { + case NPOIDataType.Integer: + constraint = DVConstraint.CreateNumericConstraint(ValidationType.INTEGER, (int)operatorType, minValue, maxValue); + break; + case NPOIDataType.Float: + constraint = DVConstraint.CreateNumericConstraint(ValidationType.DECIMAL, (int)operatorType, minValue, maxValue); + break; + case NPOIDataType.Date: + if (formate == "") + { + formate = "yyyy/MM/dd"; + } + constraint = DVConstraint.CreateDateConstraint((int)operatorType, minValue, maxValue, formate); + break; + case NPOIDataType.Time: + constraint = DVConstraint.CreateTimeConstraint((int)operatorType, minValue, maxValue); + break; + case NPOIDataType.TextLength: + constraint = DVConstraint.CreateNumericConstraint(ValidationType.TEXT_LENGTH, (int)operatorType, minValue, maxValue); + break; + default: + break; + } + + HSSFDataValidation dataValidate1 = new HSSFDataValidation(regions, constraint); + if (!String.IsNullOrEmpty(AlertMassage)) + { + dataValidate1.CreateErrorBox("Error", AlertMassage); + } + ActiveSheet.AddValidationData(dataValidate1); + + } + + /// + /// 设置一个区域内的单元格的值范围 + /// 注:只对当前ActiveSheet有效 + /// + /// 开始行 + /// 结束行 + /// 开始列 + /// 结束列 + /// 值系列 + public void SetValueRange(int startRowIndex, int EndRowIndex, int startColInex, int endColIndex, String[] dataRange) + { + + SetValueRange(startRowIndex, EndRowIndex, startColInex, endColIndex, dataRange, ""); + } + + /// + /// 设置一个区域内的单元格的值范围 + /// 注:只对当前ActiveSheet有效 + /// + /// 开始行 + /// 结束行 + /// 开始列 + /// 结束列 + /// 值系列 + /// 报错信息 + public void SetValueRange(int startRowIndex, int endRowIndex, int startColInex, int endColIndex, String[] dataRange, String alertMassage) + { + ISheetConditionalFormatting hscf = ActiveSheet.SheetConditionalFormatting; + CellRangeAddress[] regions = { + new CellRangeAddress(startRowIndex, endRowIndex,startColInex,endColIndex) + }; + + CellRangeAddressList rangeList = new CellRangeAddressList(); + rangeList.AddCellRangeAddress(new CellRangeAddress(startRowIndex, endRowIndex, startColInex, endColIndex)); + DVConstraint dvconstraint = DVConstraint.CreateExplicitListConstraint(dataRange); + HSSFDataValidation dataValidation = new HSSFDataValidation(rangeList, dvconstraint); + + if (!String.IsNullOrEmpty(alertMassage)) + { + dataValidation.CreateErrorBox("Error", alertMassage); + } + + ActiveSheet.AddValidationData(dataValidation); + } + + /// + /// 设置一个区域内的单元格的值范围 + /// 注:只对当前ActiveSheet有效 + /// + /// 开始行 + /// 结束行 + /// 开始列 + /// 结束列 + /// 计算公式 + /// 报错信息 + public void SetValueRange(int startRowIndex, int endRowIndex, int startColInex, int endColIndex, String Formula, String alertMassage) + { + ISheetConditionalFormatting hscf = ActiveSheet.SheetConditionalFormatting; + CellRangeAddress[] regions = { + new CellRangeAddress(startRowIndex, endRowIndex,startColInex,endColIndex) + }; + + CellRangeAddressList rangeList = new CellRangeAddressList(); + rangeList.AddCellRangeAddress(new CellRangeAddress(startRowIndex, endRowIndex, startColInex, endColIndex)); + DVConstraint dvconstraint = DVConstraint.CreateFormulaListConstraint(Formula); + HSSFDataValidation dataValidation = new HSSFDataValidation(rangeList, dvconstraint); + + if (!String.IsNullOrEmpty(alertMassage)) + { + dataValidation.CreateErrorBox("Error", alertMassage); + } + + ActiveSheet.AddValidationData(dataValidation); + } + + /// + /// 设置一个区域内的单元格的值范围 + /// 注:只对当前ActiveSheet有效 + /// + /// 开始行 + /// 结束行 + /// 开始列 + /// 结束列 + /// 计算公式 + public void SetValueRange(int startRowIndex, int endRowIndex, int startColInex, int endColIndex, String Formula) + { + SetValueRange(startRowIndex, endColIndex, startRowIndex, endColIndex, Formula, ""); + } + + /// + /// 生成单元格样式 + /// + /// 与当前Excel相关的单元格样式 + public ICellStyle CreateCellStyle() + { + return Book.CreateCellStyle(); + } + + /// + /// 生成字体 + /// + /// 与当前Excel相关的字体 + public IFont CreateFont() + { + return Book.CreateFont(); + } + + /// + /// 设置单元格样式 + /// 注:只对当前ActiveSheet有效 + /// + /// 行号 + /// 列号 + /// 样式 + public void SetStyle(int rowIndex, int columnIndex, ICellStyle style) + { + IRow row = Book.GetSheetAt(sheetID).GetRow(rowIndex); + if (row == null) + { + row = Book.GetSheetAt(sheetID).CreateRow(rowIndex); + } + ICell cell = row.GetCell(columnIndex); + if (cell == null) + { + cell = row.CreateCell(columnIndex); + } + cell.CellStyle = style; + } + + /// + /// 合并单元格 + /// 注:只对当前ActiveSheet有效 + /// + /// 开始行号 + /// 开始列号 + /// 结束行号 + /// 结束列号 + public void MergeCells(int startRowIndex, int startColumnIndex, int endRowIndex, int endColumnIndex) + { + int Index = Book.GetSheetAt(sheetID).AddMergedRegion(new CellRangeAddress(startRowIndex, endRowIndex, startColumnIndex, endColumnIndex)); + } + + /// + /// 拆分单元格 + /// 注1:只对当前ActiveSheet有效 + /// 注2:只有合并的单元格才能拆分 + /// + /// 开始行号 + /// 开始列号 + public void UnMergeCells(int startRowIndex, int startColumnIndex) + { + int merges = Book.GetSheetAt(sheetID).NumMergedRegions; + CellRangeAddress merge; + for (int i = 0; i < merges; i++) + { + merge = Book.GetSheetAt(sheetID).GetMergedRegion(i); + if (merge.FirstRow == startRowIndex && merge.FirstColumn == startColumnIndex) + { + Book.GetSheetAt(sheetID).RemoveMergedRegion(i); + break; + } + } + } + + /// + /// 保存到文件 + /// 注:有模板的,文件扩展名与模板一样;没有模板的,文件扩展名为“.xls”; + /// + /// 保存文件名 + public void Save(String fileName) + { + FileStream file = new FileStream(fileName, FileMode.Create); + Book.Write(file); + file.Close(); + } + + /// + /// 保存到流 + /// 注:保存或下载时,有模板的,文件扩展名与模板一样;没有模板的,文件扩展名为“.xls”; + /// + /// 内存流 + public MemoryStream Save() + { + MemoryStream ms = new MemoryStream(); + Book.Write(ms); + return ms; + } + + /// + /// 把Excel读成DataSet + /// 注:必须是正规表格式 + /// + /// 读出的Excel + public DataSet ReadAsDataSet() + { + DataSet rtn = new DataSet(); + for (int i = 0; i < SheetCount; i++) + { + ISheet sheet = Book.GetSheetAt(i); + rtn.Tables.Add(GetDataTableBySheet(sheet)); + } + return rtn; + } + + private DataTable GetDataTableBySheet(ISheet sheet) + { + DataTable dt = new DataTable(sheet.SheetName); + int maxCols = 0; + object value; + while ((value = ReadValue(sheet, 0, maxCols)) != null) + { + dt.Columns.Add(value.ToString()); + maxCols++; + } + + int row = 1; + + bool emptyRow = false; + int emptyRowCount = 0; + while (emptyRowCount < 10) + { + emptyRow = true; + DataRow dr = dt.NewRow(); + for (int i = 0; i < maxCols; i++) + { + value = ReadValue(sheet, row, i); + if (value != null) + { + dr[i] = value; + emptyRow = false; + } + } + if (!emptyRow) + { + dt.Rows.Add(dr); + emptyRowCount = 0; + } + else + { + emptyRowCount++; + } + row++; + } + + return dt; + } + + /// + /// 根据SheetName导出数据为DataTable + /// + /// Sheet名称 + /// + public DataTable GetDataTableBySheet(String sheetName) + { + + ISheet sheet = Book.GetSheet(sheetName); + if (sheet != null) + { + return GetDataTableBySheet(sheet); + } + return null; + + } + + /// + /// 根据SheetName导出数据为DataTable + /// + /// Sheet编号 + /// + public DataTable GetDataTableBySheet(int sheetIndex) + { + + ISheet sheet = Book.GetSheetAt(sheetIndex); + if (sheet != null) + { + return GetDataTableBySheet(sheet); + } + return null; + + } + + /// + /// 写入表格 + /// + /// 表格数据 + /// 写入的起始列 + /// 写入的起始行 + /// 标题颜色 + /// 是否需要四周边框 + public void WriteDataTable(DataTable Data, int col = 1, int row = 1, short? titleColor = null, bool fullBorder = true) + { + if (Data == null) + { + return; + } + + var titleStyle = CreateCellStyle(); + var rowStyle = CreateCellStyle(); + if (titleColor != null) + titleStyle.FillForegroundColor = titleColor.Value; + + titleStyle.FillPattern = FillPattern.SolidForeground; + if (fullBorder) + { + titleStyle.BorderBottom = BorderStyle.Thin; + titleStyle.BorderLeft = BorderStyle.Thin; + titleStyle.BorderRight = BorderStyle.Thin; + titleStyle.BorderTop = BorderStyle.Thin; + titleStyle.BottomBorderColor = NPOIColor.BLACK; + titleStyle.LeftBorderColor = NPOIColor.BLACK; + titleStyle.RightBorderColor = NPOIColor.BLACK; + titleStyle.TopBorderColor = NPOIColor.BLACK; + rowStyle.BorderBottom = BorderStyle.Thin; + rowStyle.BorderLeft = BorderStyle.Thin; + rowStyle.BorderRight = BorderStyle.Thin; + rowStyle.BorderTop = BorderStyle.Thin; + rowStyle.BottomBorderColor = NPOIColor.BLACK; + rowStyle.LeftBorderColor = NPOIColor.BLACK; + rowStyle.RightBorderColor = NPOIColor.BLACK; + rowStyle.TopBorderColor = NPOIColor.BLACK; + } + + int iCol = 0, iRow = 1; + + foreach (DataColumn dc in Data.Columns) + { + SetValue(row, col + iCol, dc.ColumnName); + SetStyle(row, col + iCol, titleStyle); + iCol++; + } + + rowStyle.FillForegroundColor = NPOIColor.WHITE; + + foreach (DataRow dr in Data.Rows) + { + iCol = 0; + foreach (DataColumn dc in Data.Columns) + { + SetValue(row + iRow, col + iCol, dr[dc]); + SetStyle(row + iRow, col + iCol, rowStyle); + iCol++; + } + iRow++; + } + + for (int i = 0; i < iCol; i++) + { + this.AutoColWidth(i); + } + } + + /// + /// 读取单元格的值 + /// 注:只对当前ActiveSheet有效 + /// + /// 行号 + /// 列号 + /// 单元格的值 + public object ReadValue(ISheet sheet, int rowIndex, int columnIndex, bool? isDateTime = null) + { + try + { + ICell cell = sheet.GetRow(rowIndex).GetCell(columnIndex); + short df = cell.CellStyle.DataFormat; + + //return cell.ToString(); + switch (cell.CellType) + { + case CellType.Blank: + return null; + case CellType.Boolean: + return cell.BooleanCellValue; + case CellType.Error: + throw new Exception("Cell Value Error"); + case CellType.Formula: + { + switch (cell.CachedFormulaResultType) + { + case CellType.Blank: + return ""; + case CellType.Boolean: + return cell.BooleanCellValue; + case CellType.Error: + throw new Exception("Cell Value Error"); + case CellType.Formula: + throw new Exception("The Formula of this cell is too complex!"); + case CellType.Numeric: + if (isDateTime == null) + { + if (DateUtil.IsCellDateFormatted(cell)) + { + return cell.DateCellValue; + } + else + { + return cell.NumericCellValue; + } + } + else if (isDateTime == true) + { + return cell.DateCellValue; + } + else + { + return cell.NumericCellValue; + } + case CellType.String: + return cell.StringCellValue; + case CellType.Unknown: + return cell.ToString(); + default: + return cell.ToString(); + } + } + case CellType.Numeric: + { + if (isDateTime == null) + { + if (DateUtil.IsCellDateFormatted(cell)) + { + return cell.DateCellValue; + } + else + { + return cell.NumericCellValue; + } + } + else if (isDateTime == true) + { + return cell.DateCellValue; + } + else + { + return cell.NumericCellValue; + } + } + case CellType.String: + return cell.StringCellValue; + case CellType.Unknown: + return cell.ToString(); + default: + return cell.ToString(); + } + } + catch (System.NullReferenceException) + { + return null; + } + catch (Exception ex) + { + throw ex; + } + } + + public int SheetCount + { + get + { + return Book.NumberOfSheets; + } + } + + public String GetSheetName(int Index) + { + return Book.GetSheetName(Index); + } + + public void AddPicture(byte[] data, int row, int col) + { + int picIndex = Book.AddPicture(data, PictureType.PNG); + + IDrawing draw = ActiveSheet.CreateDrawingPatriarch(); + + IClientAnchor anchor = draw.CreateAnchor(0, 0, 255, 255, col, row, col + 5, col + 5); + IPicture pic = draw.CreatePicture(anchor, picIndex); + pic.Resize(); + } + } + + public enum OperatorTypes + { + /// + /// 介于最大值与小值之间 + /// + BETWEEN = OperatorType.BETWEEN, + /// + /// 等于最小值 + /// + EQUAL = OperatorType.EQUAL, + /// + /// 大于或等于最小值 + /// + GREATER_OR_EQUAL = OperatorType.GREATER_OR_EQUAL, + /// + /// 大于最小值 + /// + GREATER_THAN = OperatorType.GREATER_THAN, + /// + /// 忽略 + /// + NO_COMPARISON = OperatorType.IGNORED, + /// + /// 小于或等于最小值 + /// + LESS_OR_EQUAL = OperatorType.LESS_OR_EQUAL, + /// + /// 小于最小值 + /// + LESS_THAN = OperatorType.LESS_THAN, + /// + /// 不在最小值与最大值之间 + /// + NOT_BETWEEN = OperatorType.NOT_BETWEEN, + /// + /// 不等于最小值 + /// + NOT_EQUAL = OperatorType.NOT_EQUAL + } + + public enum NPOIDataType + { + /// + /// 验证整数 + /// + Integer, + /// + /// 验证符点数 + /// + Float, + /// + /// 验证日期 + /// + Date, + /// + /// 验证时间 + /// + Time, + /// + /// 验证字符长度 + /// + TextLength + } + + public static class NPOIColor + { + + /// + /// 红色 + /// + public static short RED { get { return NPOI.HSSF.Util.HSSFColor.Red.Index; } } + + /// + /// 蓝色 + /// + public static short BLUE { get { return NPOI.HSSF.Util.HSSFColor.Blue.Index; } } + + /// + /// 浅绿色 + /// + public static short AQUA { get { return NPOI.HSSF.Util.HSSFColor.Aqua.Index; } } + + /// + /// 自动 + /// + public static short AUTOMATIC { get { return NPOI.HSSF.Util.HSSFColor.Automatic.Index; } } + + /// + /// 黑色 + /// + public static short BLACK { get { return NPOI.HSSF.Util.HSSFColor.Black.Index; } } + + /// + /// 蓝灰色 + /// + public static short BLUE_GREY { get { return NPOI.HSSF.Util.HSSFColor.BlueGrey.Index; } } + + /// + /// 明绿色 + /// + public static short BRIGHT_GREEN { get { return NPOI.HSSF.Util.HSSFColor.BrightGreen.Index; } } + + /// + /// 棕色 + /// + public static short BROWN { get { return NPOI.HSSF.Util.HSSFColor.Brown.Index; } } + + /// + /// 正常 + /// + public static short COLOR_NORMAL { get { return NPOI.HSSF.Util.HSSFColor.COLOR_NORMAL; } } + + /// + /// 珊瑚色 + /// + public static short CORAL { get { return NPOI.HSSF.Util.HSSFColor.Coral.Index; } } + + /// + /// 亮蓝色 + /// + public static short CORNFLOWER_BLUE { get { return NPOI.HSSF.Util.HSSFColor.CornflowerBlue.Index; } } + + /// + /// 深蓝色 + /// + public static short DARK_BLUE { get { return NPOI.HSSF.Util.HSSFColor.DarkBlue.Index; } } + + /// + /// 深绿色 + /// + public static short DARK_GREEN { get { return NPOI.HSSF.Util.HSSFColor.DarkGreen.Index; } } + + /// + /// 深红色 + /// + public static short DARK_RED { get { return NPOI.HSSF.Util.HSSFColor.DarkRed.Index; } } + + /// + /// 深茶色 + /// + public static short DARK_TEAL { get { return NPOI.HSSF.Util.HSSFColor.DarkTeal.Index; } } + + /// + /// 深黄 + /// + public static short DARK_YELLOW { get { return NPOI.HSSF.Util.HSSFColor.DarkYellow.Index; } } + + /// + /// 金色 + /// + public static short GOLD { get { return NPOI.HSSF.Util.HSSFColor.Gold.Index; } } + + /// + /// 绿色 + /// + public static short GREEN { get { return NPOI.HSSF.Util.HSSFColor.Green.Index; } } + + /// + /// 25%灰色 + /// + public static short GREY_25_PERCENT { get { return NPOI.HSSF.Util.HSSFColor.Grey25Percent.Index; } } + + /// + /// 40%灰色 + /// + public static short GREY_40_PERCENT { get { return NPOI.HSSF.Util.HSSFColor.Grey40Percent.Index; } } + + /// + /// 50%灰色 + /// + public static short GREY_50_PERCENT { get { return NPOI.HSSF.Util.HSSFColor.Grey50Percent.Index; } } + + /// + /// 80%灰色 + /// + public static short GREY_80_PERCENT { get { return NPOI.HSSF.Util.HSSFColor.Grey80Percent.Index; } } + + /// + /// 靛蓝色 + /// + public static short INDIGO { get { return NPOI.HSSF.Util.HSSFColor.Indigo.Index; } } + + /// + /// 淡紫色 + /// + public static short LAVENDER { get { return NPOI.HSSF.Util.HSSFColor.Lavender.Index; } } + + /// + /// 粉黄色 + /// + public static short LEMON_CHIFFON { get { return NPOI.HSSF.Util.HSSFColor.LemonChiffon.Index; } } + + /// + /// 淡蓝色 + /// + public static short LIGHT_BLUE { get { return NPOI.HSSF.Util.HSSFColor.LightBlue.Index; } } + + /// + /// 淡亮蓝色 + /// + public static short LIGHT_CORNFLOWER_BLUE { get { return NPOI.HSSF.Util.HSSFColor.LightCornflowerBlue.Index; } } + + /// + /// 淡绿色 + /// + public static short LIGHT_GREEN { get { return NPOI.HSSF.Util.HSSFColor.LightGreen.Index; } } + + /// + /// 淡桔黄色 + /// + public static short LIGHT_ORANGE { get { return NPOI.HSSF.Util.HSSFColor.LightOrange.Index; } } + + /// + /// 淡蓝绿色 + /// + public static short LIGHT_TURQUOISE { get { return NPOI.HSSF.Util.HSSFColor.LightTurquoise.Index; } } + + /// + /// 淡黄色 + /// + public static short LIGHT_YELLOW { get { return NPOI.HSSF.Util.HSSFColor.LightYellow.Index; } } + + /// + /// 绿黄色 + /// + public static short LIME { get { return NPOI.HSSF.Util.HSSFColor.Lime.Index; } } + + /// + /// 栗色 + /// + public static short MAROON { get { return NPOI.HSSF.Util.HSSFColor.Maroon.Index; } } + + /// + /// 橄榄绿色 + /// + public static short OLIVE_GREEN { get { return NPOI.HSSF.Util.HSSFColor.OliveGreen.Index; } } + + /// + /// 桔色 + /// + public static short ORANGE { get { return NPOI.HSSF.Util.HSSFColor.Orange.Index; } } + + /// + /// 白灰蓝色 + /// + public static short PALE_BLUE { get { return NPOI.HSSF.Util.HSSFColor.PaleBlue.Index; } } + + /// + /// 粉红色 + /// + public static short PINK { get { return NPOI.HSSF.Util.HSSFColor.Pink.Index; } } + + /// + /// 紫红色 + /// + public static short PLUM { get { return NPOI.HSSF.Util.HSSFColor.Plum.Index; } } + + /// + /// 玫瑰红色 + /// + public static short ROSE { get { return NPOI.HSSF.Util.HSSFColor.Rose.Index; } } + + /// + /// 高贵蓝 + /// + public static short ROYAL_BLUE { get { return NPOI.HSSF.Util.HSSFColor.RoyalBlue.Index; } } + + /// + /// 海绿色 + /// + public static short SEA_GREEN { get { return NPOI.HSSF.Util.HSSFColor.SeaGreen.Index; } } + + /// + /// 天空蓝 + /// + public static short SKY_BLUE { get { return NPOI.HSSF.Util.HSSFColor.SkyBlue.Index; } } + + /// + /// 棕褐色 + /// + public static short TAN { get { return NPOI.HSSF.Util.HSSFColor.Tan.Index; } } + + /// + /// 茶色 + /// + public static short TEAL { get { return NPOI.HSSF.Util.HSSFColor.Teal.Index; } } + + /// + /// 蓝绿色 + /// + public static short TURQUOISE { get { return NPOI.HSSF.Util.HSSFColor.Turquoise.Index; } } + + /// + /// 紫色 + /// + public static short VIOLET { get { return NPOI.HSSF.Util.HSSFColor.Violet.Index; } } + + /// + /// 白色 + /// + public static short WHITE { get { return NPOI.HSSF.Util.HSSFColor.White.Index; } } + + /// + /// 黄色 + /// + public static short YELLOW { get { return NPOI.HSSF.Util.HSSFColor.Yellow.Index; } } + + } + + /// + /// 针对excel的Oledb + /// + public class OleDbExcel + { + /// + /// OLEDB连接 + /// + public OleDbConnection Connection + { + get; + set; + } + + /// + /// 用Oledb对Excel进行操作 + /// 注:必须是标准表形式Excel内容 + /// + /// Excel文件 + public OleDbExcel(String excelFile) + { + String conStr = String.Empty; + FileInfo file = new FileInfo(excelFile); + if (!file.Exists) { throw new Exception("文件不存在"); } + String extension = file.Extension; + switch (extension) + { + case ".xls": + conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelFile + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'"; + break; + case ".xlsx": + conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelFile + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=1;'"; + break; + default: + conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelFile + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'"; + break; + } + + //链接Excel + Connection = new OleDbConnection(conStr); + } + + private List tableNames; + + /// + /// 获取Excel内的Sheet名称 + /// + public List Sheets + { + get + { + if (tableNames == null) + { + try + { + tableNames = new List(); + //读取Excel里面的sheet名 + Connection.Open(); + + DataTable schemaTable = Connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); + + for (int i = 0; i < schemaTable.Rows.Count; i++) + { + DataRow dr = schemaTable.Rows[i]; + String tbName = dr["table_name"].ToString(); + if (tbName[tbName.Length - 1] == '$') + { + tableNames.Add(tbName); + } + } + Connection.Close(); + } + catch (Exception ex) + { + if (Connection.State != ConnectionState.Closed) + { + Connection.Close(); + } + throw new Exception(ex.Message, ex); + } + } + return tableNames; + } + } + + /// + /// 查询出所有数据 + /// + /// Sheet名称 + /// sheet内的所有数据 + public DataSet QueryAll(String tableName) + { + try + { + DataSet excelData = new DataSet(); + OleDbDataAdapter adapter = new OleDbDataAdapter(); + adapter.SelectCommand = new OleDbCommand(); + adapter.SelectCommand.Connection = Connection; + adapter.SelectCommand.CommandText = String.Format("SELECT * FROM {0}", "[" + tableName + "]"); + adapter.Fill(excelData); + return excelData; + } + catch (Exception ex) + { + if (Connection.State != ConnectionState.Closed) + { + Connection.Close(); + } + throw new Exception(ex.Message, ex); + } + } + + /// + /// 查询出所有数据 + /// + /// Sheet序号(从0开始) + /// sheet内的所有数据 + public DataSet QueryAll(int tableIndex) + { + return QueryAll(Sheets[tableIndex]); + } + + /// + /// 利用Sql进行查询 + /// + /// Sql语句 + /// 查询出的数据 + public DataSet Query(String sql) + { + try + { + DataSet excelData = new DataSet(); + OleDbDataAdapter adapter = new OleDbDataAdapter(sql, Connection); + adapter.Fill(excelData); + return excelData; + } + catch (Exception ex) + { + if (Connection.State != ConnectionState.Closed) + { + Connection.Close(); + } + throw new Exception(ex.Message, ex); + } + } + + /// + /// 利用Sql进行查询 + /// + /// Sql语句 + /// 查询参数 + /// 查询出的数据 + public DataSet Query(String sql, params OleDbParameter[] param) + { + try + { + DataSet excelData = new DataSet(); + OleDbDataAdapter adapter = new OleDbDataAdapter(sql, Connection); + adapter.SelectCommand.Parameters.AddRange(param); + adapter.Fill(excelData); + return excelData; + } + catch (Exception ex) + { + if (Connection.State != ConnectionState.Closed) + { + Connection.Close(); + } + throw new Exception(ex.Message, ex); + } + } + + /// + /// 利用Sql进行数据操作 + /// + /// sql语句 + /// 影响的行数 + public int ExecuteSql(String sql) + { + try + { + Connection.Open(); + OleDbCommand cmd = Connection.CreateCommand(); + cmd.CommandText = sql; + int rtn = cmd.ExecuteNonQuery(); + Connection.Close(); + return rtn; + } + catch (Exception ex) + { + if (Connection.State != ConnectionState.Closed) + { + Connection.Close(); + } + throw new Exception(ex.Message, ex); + } + } + + /// + /// 利用Sql进行数据操作 + /// + /// sql语句 + /// 执行参数 + /// 影响的行数 + public int ExecuteSql(String sql, params OleDbParameter[] param) + { + try + { + Connection.Open(); + OleDbCommand cmd = Connection.CreateCommand(); + cmd.CommandText = sql; + cmd.Parameters.AddRange(param); + int rtn = cmd.ExecuteNonQuery(); + Connection.Close(); + return rtn; + } + catch (Exception ex) + { + if (Connection.State != ConnectionState.Closed) + { + Connection.Close(); + } + throw new Exception(ex.Message, ex); + } + } + } +} \ No newline at end of file diff --git a/SGGL/BLL/HSSE/Check/Check_CheckSpecialService.cs b/SGGL/BLL/HSSE/Check/Check_CheckSpecialService.cs index f349d0ac..621af157 100644 --- a/SGGL/BLL/HSSE/Check/Check_CheckSpecialService.cs +++ b/SGGL/BLL/HSSE/Check/Check_CheckSpecialService.cs @@ -244,7 +244,8 @@ namespace BLL { Model.RectifyNoticesItemItem newRItem = new Model.RectifyNoticesItemItem { - WrongContent = item.Unqualified + //WrongContent = item.Unqualified + WrongContent = item.CheckItemSetContent }; if (string.IsNullOrEmpty(rectifyNotices.CheckSpecialDetailId)) { @@ -298,7 +299,8 @@ namespace BLL foreach (var item in getUnitDItem) { Model.PunishNoticeItemItem newPItem = new Model.PunishNoticeItemItem(); - newPItem.PunishContent = item.Unqualified; + //newPItem.PunishContent = item.Unqualified; + newPItem.PunishContent = item.CheckItemSetContent; newPItem.SortIndex = item.SortIndex; punishNotice.PunishNoticeItemItem.Add(newPItem); if (string.IsNullOrEmpty(punishNotice.CheckSpecialDetailId)) @@ -335,7 +337,8 @@ namespace BLL foreach (var item in getUnitDItem) { Model.RectifyNoticesItemItem newRItem = new Model.RectifyNoticesItemItem(); - pauseNotice.ThirdContent += item.Unqualified; + //pauseNotice.ThirdContent += item.Unqualified; + pauseNotice.ThirdContent += item.CheckItemSetContent; string checkAreaName= UnitWorkService.GetNameById(item.CheckArea); if (!string.IsNullOrEmpty(checkAreaName)) { diff --git a/SGGL/BLL/ProjectData/ProjectService.cs b/SGGL/BLL/ProjectData/ProjectService.cs index a7b50ff4..2db27732 100644 --- a/SGGL/BLL/ProjectData/ProjectService.cs +++ b/SGGL/BLL/ProjectData/ProjectService.cs @@ -138,6 +138,8 @@ HJProjectCode = project.HJProjectCode, KZProjectCode = project.KZProjectCode, Progress = project.Progress, + ProjType = project.ProjType, + ProjPhase = project.ProjPhase, }; db.Base_Project.InsertOnSubmit(newProject); db.SubmitChanges(); @@ -186,6 +188,8 @@ newProject.HJProjectCode = project.HJProjectCode; newProject.KZProjectCode = project.KZProjectCode; newProject.Progress = project.Progress; + newProject.ProjType = project.ProjType; + newProject.ProjPhase = project.ProjPhase; db.SubmitChanges(); HSEDataCollectService.ProjectHSEDataCollectSubmission(newProject); } diff --git a/SGGL/BLL/SysManage/UnitService.cs b/SGGL/BLL/SysManage/UnitService.cs index dbe2aed1..647c8449 100644 --- a/SGGL/BLL/SysManage/UnitService.cs +++ b/SGGL/BLL/SysManage/UnitService.cs @@ -761,5 +761,21 @@ namespace BLL return q; } } + + /// + /// 获取问题类型名称 + /// + /// + /// + public static string GetQuestionTypeId(string RegisterTypesId) + { + string name = string.Empty; + var unit = Funs.DB.HSSE_Hazard_HazardRegisterTypes.FirstOrDefault(x => x.RegisterTypesId == RegisterTypesId); + if (unit != null) + { + name = unit.RegisterTypesName; + } + return name; + } } } diff --git a/SGGL/FineUIPro.Web/ErrLog.txt b/SGGL/FineUIPro.Web/ErrLog.txt index 76e939ac..b012a6c2 100644 --- a/SGGL/FineUIPro.Web/ErrLog.txt +++ b/SGGL/FineUIPro.Web/ErrLog.txt @@ -3193,3 +3193,25 @@ IP地址:::1 出错时间:09/26/2023 18:55:14 + +错误信息开始=====> +错误类型:JsonReaderException +错误信息:Error reading JArray from JsonReader. Current JsonReader item is not an array: StartObject. Path '', line 1, position 1. +错误堆栈: + 在 Newtonsoft.Json.Linq.JArray.Load(JsonReader reader, JsonLoadSettings settings) + 在 Newtonsoft.Json.Linq.JArray.Parse(String json, JsonLoadSettings settings) + 在 Newtonsoft.Json.Linq.JArray.Parse(String json) + 在 FineUIPro.Web.ProjectData.Installation.btnMenuDown_Click(Object sender, EventArgs e) 位置 E:\工作\五环施工平台\SGGL_CWCEC\SGGL\FineUIPro.Web\ProjectData\Installation.aspx.cs:行号 257 + 在 FineUIPro.MenuButton.OnClick(EventArgs e) + 在 (MenuButton , EventArgs ) + 在 FineUIPro.MenuButton.RaisePostBackEvent(String eventArgument) + 在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) + 在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) + 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +出错时间:10/07/2023 16:42:46 +出错文件:http://localhost:8579/ProjectData/Installation.aspx +IP地址:::1 +操作人员:JT + +出错时间:10/07/2023 16:42:46 + diff --git a/SGGL/FineUIPro.Web/File/Word/HSSE/专项检查.doc b/SGGL/FineUIPro.Web/File/Word/HSSE/专项检查.doc index 84c6efe3..90ca6147 100644 --- a/SGGL/FineUIPro.Web/File/Word/HSSE/专项检查.doc +++ b/SGGL/FineUIPro.Web/File/Word/HSSE/专项检查.doc @@ -1,9 +0,0 @@ - - 专项检查 -项目名称: 编号: - -|检查类别 | |检查日期 | | -|参检人员 | | - - -序号 |单位工程 |受检单位 |问题描述 |问题类型 |处理结果 |隐患类别 | | diff --git a/SGGL/FineUIPro.Web/HSSE/Check/CheckSpecial.aspx.cs b/SGGL/FineUIPro.Web/HSSE/Check/CheckSpecial.aspx.cs index 29002a1c..c178df09 100644 --- a/SGGL/FineUIPro.Web/HSSE/Check/CheckSpecial.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/Check/CheckSpecial.aspx.cs @@ -1,4 +1,5 @@ using Aspose.Words; +using Aspose.Words.Tables; using BLL; using System; using System.Collections.Generic; @@ -45,7 +46,7 @@ namespace FineUIPro.Web.HSSE.Check Technique_CheckItemSetService.InitCheckItemSetDropDownList(this.drpSupCheckItemSet, "2", "0", true); ////权限按钮方法 this.GetButtonPower(); - btnNew.OnClientClick = Window1.GetShowReference("CheckSpecialEdit.aspx") + "return false;"; + //btnNew.OnClientClick = Window1.GetShowReference("CheckSpecialEdit.aspx") + "return false;"; ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); // 绑定表格 BindGrid(); @@ -203,7 +204,9 @@ namespace FineUIPro.Web.HSSE.Check } else { - PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckSpecialEdit.aspx?CheckSpecialId={0}", CheckSpecialId, "编辑 - "))); + //PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckSpecialEdit.aspx?CheckSpecialId={0}", CheckSpecialId, "编辑 - "))); + //pc端只有台账 + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckSpecialView.aspx?CheckSpecialId={0}", CheckSpecialId, "查看 - "))); } } } @@ -254,7 +257,7 @@ namespace FineUIPro.Web.HSSE.Check { if (buttonList.Contains(BLL.Const.BtnAdd)) { - this.btnNew.Hidden = false; + //this.btnNew.Hidden = false; } if (buttonList.Contains(BLL.Const.BtnModify)) { @@ -357,7 +360,7 @@ namespace FineUIPro.Web.HSSE.Check initTemplatePath = "File\\Word\\HSSE\\专项检查.doc"; uploadfilepath = rootPath + initTemplatePath; newUrl = uploadfilepath.Replace(".doc", string.Format("{0:yyyy-MM}", DateTime.Now) + ".doc"); - filePath = initTemplatePath.Replace(".doc", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf"); + //filePath = initTemplatePath.Replace(".doc", string.Format("{0:yyyy-MM}", DateTime.Now) + ".pdf"); if (File.Exists(newUrl)) { File.Delete(newUrl); } @@ -427,6 +430,65 @@ namespace FineUIPro.Web.HSSE.Check } } + Bookmark bookmarkWorkAreaName = doc.Range.Bookmarks["WorkAreaName"]; + if (bookmarkWorkAreaName != null) + { + if (checkSpecial != null) + { + if (!string.IsNullOrEmpty(checkSpecial.WorkAreaId)) + { + bookmarkWorkAreaName.Text = UnitWorkService.GetUnitWorkName(checkSpecial.WorkAreaId); + } + + } + + } + + Bookmark bookmarkResponsibleName = doc.Range.Bookmarks["ResponsibleName"]; + if (bookmarkResponsibleName != null) + { + if (checkSpecial != null) + { + if (!string.IsNullOrEmpty(checkSpecial.ResponsibleUnit)) + { + bookmarkResponsibleName.Text = UnitService.GetUnitNameByUnitId(checkSpecial.ResponsibleUnit); + } + + } + + } + + Bookmark bookmarkQuestionName = doc.Range.Bookmarks["QuestionName"]; + if (bookmarkQuestionName != null) + { + if (checkSpecial != null) + { + if (!string.IsNullOrEmpty(checkSpecial.QuestionType)) + { + bookmarkQuestionName.Text = UnitService.GetQuestionTypeId(checkSpecial.QuestionType); + } + + } + + } + + Bookmark bookmarkPartInPersonNames = doc.Range.Bookmarks["PartInPersonNames"]; + if (bookmarkPartInPersonNames != null) + { + if (checkSpecial != null) + { + if (!string.IsNullOrEmpty(checkSpecial.PartInPersonNames)) + { + bookmarkPartInPersonNames.Text = checkSpecial.PartInPersonNames; + } + + } + + } + //WorkAreaName + // ResponsibleName + // QuestionName + // PartInPersonNames //专项检查列表 Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc); builder.MoveToBookmark("tab"); @@ -443,6 +505,57 @@ namespace FineUIPro.Web.HSSE.Check orderby x.SortIndex select x).ToList(); int num = 1; + #region 插入表头 + builder.InsertCell(); + builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; + builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; + builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 + builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 + builder.CellFormat.Width = 40; + builder.Write("序号"); + + builder.InsertCell(); + builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; + builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; + builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 + builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 + builder.CellFormat.Width = 100; + builder.Write("问题描述"); + + builder.InsertCell(); + builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; + builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; + builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 + builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 + builder.CellFormat.Width = 250; + builder.CellFormat.WrapText = true; + builder.Write("检查内容"); + + //builder.InsertCell(); + //builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; + //builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; + //builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 + //builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 + //builder.CellFormat.Width = 60; + //builder.Write("处理结果"); + + builder.InsertCell(); + builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; + builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; + builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 + builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 + builder.CellFormat.Width = 60; + builder.Write("整改期限"); + + builder.InsertCell(); + builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; + builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; + builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 + builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 + builder.CellFormat.Width = 60; + builder.Write("处理措施"); + builder.EndRow(); + #endregion foreach (Model.View_CheckSpecialDetail detail in checkSpecialDetails) { //序号 @@ -451,80 +564,89 @@ namespace FineUIPro.Web.HSSE.Check builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 - builder.CellFormat.Width = 20; + builder.CellFormat.Width = 40; builder.Write(num.ToString()); - //单位工程 - builder.InsertCell(); - builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; - builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; - builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 - builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 - builder.CellFormat.Width = 55; - builder.Write(string.IsNullOrEmpty(detail.CheckAreaName) ? "" : detail.CheckAreaName); - //单位 - builder.InsertCell(); - builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; - builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; - builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 - builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 - builder.CellFormat.Width = 120; - builder.Write(string.IsNullOrEmpty(detail.UnitName) ? "" : detail.UnitName); + ////单位工程 + //builder.InsertCell(); + //builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; + //builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; + //builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 + //builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 + //builder.CellFormat.Width = 60; + //builder.Write(string.IsNullOrEmpty(detail.CheckAreaName) ? "" : detail.CheckAreaName); + ////单位 + //builder.InsertCell(); + //builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; + //builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; + //builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 + //builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 + //builder.CellFormat.Width = 120; + //builder.Write(string.IsNullOrEmpty(detail.UnitName) ? "" : detail.UnitName); //问题描述 builder.InsertCell(); builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 - builder.CellFormat.Width = 40; - builder.Write(string.IsNullOrEmpty(detail.Unqualified) ? "" : detail.Unqualified); - //问题类型 - builder.InsertCell(); - builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; - builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; - builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 - builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 builder.CellFormat.Width = 100; - builder.Write(string.IsNullOrEmpty(detail.CheckItemName)?"": detail.CheckItemName); + builder.Write(string.IsNullOrEmpty(detail.Unqualified) ? "" : detail.Unqualified); + //问题内容 + builder.InsertCell(); + builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; + builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; + builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 + builder.ParagraphFormat.Alignment = ParagraphAlignment.Left;//水平居中对齐 + builder.CellFormat.Width = 250; + builder.CellFormat.WrapText = true; + builder.Write(string.IsNullOrEmpty(detail.CheckItemSetContent)?"": detail.CheckItemSetContent); - //处理结果 + ////处理结果 + //builder.InsertCell(); + //builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; + //builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; + //builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 + //builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 + //builder.CellFormat.Width = 60; + //builder.Write(string.IsNullOrEmpty(detail.CompleteStatusName) ? "" : detail.CompleteStatusName); + //整改期限 builder.InsertCell(); builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 - builder.CellFormat.Width = 50; - builder.Write(string.IsNullOrEmpty(detail.CompleteStatusName) ? "" : detail.CompleteStatusName); + builder.CellFormat.Width = 60; + builder.Write(string.Format("{0:yyyy-MM-dd}", detail.Rectification_Date)); //隐患类别 builder.InsertCell(); builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None; builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First; builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐 builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐 - builder.CellFormat.Width = 50; - builder.Write(string.IsNullOrEmpty(detail.HiddenHazardTypeName) ? "" : detail.HiddenHazardTypeName); + builder.CellFormat.Width = 60; + builder.Write(string.IsNullOrEmpty(detail.HandleStepLink) ? "" : detail.HandleStepLink); builder.EndRow(); num++; } builder.EndTable(); doc.Save(newUrl); //生成PDF文件 - string pdfUrl = newUrl.Replace(".doc", ".pdf"); + //string pdfUrl = newUrl.Replace(".doc", ".pdf"); Document doc1 = new Aspose.Words.Document(newUrl); //验证参数 - if (doc1 == null) { throw new Exception("Word文件无效"); } - doc1.Save(pdfUrl, Aspose.Words.SaveFormat.Pdf);//还可以改成其它格式 - string fileName = Path.GetFileName(filePath); - FileInfo info = new FileInfo(pdfUrl); + //if (doc1 == null) { throw new Exception("Word文件无效"); } + //doc1.Save(pdfUrl, Aspose.Words.SaveFormat.Pdf);//还可以改成其它格式 + string fileName = Path.GetFileName(newUrl); + FileInfo info = new FileInfo(newUrl); long fileSize = info.Length; Response.Clear(); Response.ContentType = "application/x-zip-compressed"; Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); Response.AddHeader("Content-Length", fileSize.ToString()); - Response.TransmitFile(pdfUrl, 0, fileSize); + Response.TransmitFile(newUrl, 0, fileSize); Response.Flush(); Response.Close(); File.Delete(newUrl); - File.Delete(pdfUrl); + //File.Delete(pdfUrl); } #endregion } diff --git a/SGGL/FineUIPro.Web/HSSE/Check/CheckSpecialView.aspx b/SGGL/FineUIPro.Web/HSSE/Check/CheckSpecialView.aspx index 3e87226e..08a475e7 100644 --- a/SGGL/FineUIPro.Web/HSSE/Check/CheckSpecialView.aspx +++ b/SGGL/FineUIPro.Web/HSSE/Check/CheckSpecialView.aspx @@ -33,6 +33,18 @@ + + + + + + + + + + + + @@ -50,28 +62,28 @@ - - - --%> + <%-- - - --%> + - - - --%> + - - + //------------------------------------------------------------------------------ -namespace FineUIPro.Web.HSSE.Check { - - - public partial class CheckSpecialView { - +namespace FineUIPro.Web.HSSE.Check +{ + + + public partial class CheckSpecialView + { + /// /// form1 控件。 /// @@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.HtmlControls.HtmlForm form1; - + /// /// PageManager1 控件。 /// @@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.PageManager PageManager1; - + /// /// SimpleForm1 控件。 /// @@ -38,7 +40,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Form SimpleForm1; - + /// /// txtCheckSpecialCode 控件。 /// @@ -47,7 +49,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtCheckSpecialCode; - + /// /// rbType 控件。 /// @@ -56,7 +58,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.RadioButtonList rbType; - + /// /// txtSupCheckItemSet 控件。 /// @@ -65,7 +67,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtSupCheckItemSet; - + /// /// txtCheckDate 控件。 /// @@ -74,7 +76,34 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtCheckDate; - + + /// + /// txtResponsibleUnit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtResponsibleUnit; + + /// + /// txtWorkAreaId 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtWorkAreaId; + + /// + /// txtQuestionType 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtQuestionType; + /// /// txtPartInPersons 控件。 /// @@ -83,7 +112,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtPartInPersons; - + /// /// txtPartInPersonNames 控件。 /// @@ -92,7 +121,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtPartInPersonNames; - + /// /// Grid1 控件。 /// @@ -101,7 +130,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Grid Grid1; - + /// /// Toolbar1 控件。 /// @@ -110,7 +139,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Toolbar Toolbar1; - + /// /// lbTemp 控件。 /// @@ -119,7 +148,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Label lbTemp; - + /// /// btnAttachUrl 控件。 /// @@ -128,7 +157,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnAttachUrl; - + /// /// ToolbarFill1 控件。 /// @@ -137,7 +166,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.ToolbarFill ToolbarFill1; - + /// /// btnClose 控件。 /// @@ -146,7 +175,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnClose; - + /// /// hdId 控件。 /// @@ -155,7 +184,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.HiddenField hdId; - + /// /// hdAttachUrl 控件。 /// @@ -164,7 +193,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.HiddenField hdAttachUrl; - + /// /// WindowAtt 控件。 /// @@ -173,7 +202,7 @@ namespace FineUIPro.Web.HSSE.Check { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Window WindowAtt; - + /// /// Window1 控件。 /// diff --git a/SGGL/FineUIPro.Web/HSSE/InformationAnalysis/CheckAnalysis.aspx.cs b/SGGL/FineUIPro.Web/HSSE/InformationAnalysis/CheckAnalysis.aspx.cs index 7ca15220..e1888b58 100644 --- a/SGGL/FineUIPro.Web/HSSE/InformationAnalysis/CheckAnalysis.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/InformationAnalysis/CheckAnalysis.aspx.cs @@ -59,37 +59,66 @@ namespace FineUIPro.Web.HSSE.InformationAnalysis dtCheck.Columns.Add("检查类型", typeof(string)); dtCheck.Columns.Add("数量", typeof(string)); - List newCheckAnalyseView = new List(); - var checkAnalyseView = from x in Funs.DB.View_CheckAnalysis - where x.ProjectId == this.ProjectId - select x; - if (!string.IsNullOrEmpty(this.txtStarTime.Text)) - { - checkAnalyseView = checkAnalyseView.Where(x => x.CheckTime >= Funs.GetNewDateTime(this.txtStarTime.Text)); - } - if (!string.IsNullOrEmpty(this.txtEndTime.Text)) - { - checkAnalyseView = checkAnalyseView.Where(x => x.CheckTime <= Funs.GetNewDateTime(this.txtEndTime.Text)); - } - if (checkAnalyseView.Count() > 0) - { - foreach (var item in checkAnalyseView) - { - Model.SpResourceCollection view = new Model.SpResourceCollection - { - UnitName = BLL.Check_ProjectCheckItemSetService.ConvertCheckItemType(item.CheckItem), - TotalCount = 1 - }; - newCheckAnalyseView.Add(view); - } - } + //List newCheckAnalyseView = new List(); + //var checkAnalyseView = from x in Funs.DB.View_CheckAnalysis + // where x.ProjectId == this.ProjectId + // select x; + //if (!string.IsNullOrEmpty(this.txtStarTime.Text)) + //{ + // checkAnalyseView = checkAnalyseView.Where(x => x.CheckTime >= Funs.GetNewDateTime(this.txtStarTime.Text)); + //} + //if (!string.IsNullOrEmpty(this.txtEndTime.Text)) + //{ + // checkAnalyseView = checkAnalyseView.Where(x => x.CheckTime <= Funs.GetNewDateTime(this.txtEndTime.Text)); + //} + //if (checkAnalyseView.Count() > 0) + //{ + // foreach (var item in checkAnalyseView) + // { + // Model.SpResourceCollection view = new Model.SpResourceCollection + // { + // UnitName = BLL.Check_ProjectCheckItemSetService.ConvertCheckItemType(item.CheckItem), + // TotalCount = 1 + // }; + // newCheckAnalyseView.Add(view); + // } + //} - var checkType = newCheckAnalyseView.Select(x => x.UnitName).Distinct(); - foreach (var itemType in checkType) + //var checkType = newCheckAnalyseView.Select(x => x.UnitName).Distinct(); + string[] TypeArray = { "HSE巡检", "专项检查", "综合检查", "开工前检查", "季节性/节假日前检查" }; + #region 加载各项数据的子数据 + var count1 = Funs.DB.View_Hazard_HazardRegister.Where(x => x.ProjectId == this.ProjectId).ToList().Count(); + + var count2 = (from x in Funs.DB.Check_CheckSpecialDetail + join y in Funs.DB.Check_CheckSpecial on x.CheckSpecialId equals y.CheckSpecialId + select x).ToList().Count(); + + var count3 = (from x in Funs.DB.Check_CheckColligationDetail + join y in Funs.DB.Check_CheckColligation on x.CheckColligationId equals y.CheckColligationId + where y.ProjectId == this.ProjectId + select x).ToList().Count(); + + var count4 = (from x in Funs.DB.Check_CheckWorkDetail + join y in Funs.DB.Check_CheckWork on x.CheckWorkId equals y.CheckWorkId + where y.ProjectId == this.ProjectId + select x).ToList().Count; + + var count5 = (from x in Funs.DB.Check_CheckHolidayDetail + join y in Funs.DB.Check_CheckHoliday on x.CheckHolidayId equals y.CheckHolidayId + select x).ToList().Count(); + + List list = new List(); + list.Add(new CheckAnalysisModel() { itemType = TypeArray[0], count = count1 }); + list.Add(new CheckAnalysisModel() { itemType = TypeArray[1], count = count2 }); + list.Add(new CheckAnalysisModel() { itemType = TypeArray[2], count = count3 }); + list.Add(new CheckAnalysisModel() { itemType = TypeArray[3], count = count4 }); + list.Add(new CheckAnalysisModel() { itemType = TypeArray[4], count = count5 }); + #endregion + foreach (var itemType in list) { DataRow rowUnit = dtCheck.NewRow(); - rowUnit["检查类型"] = itemType; - rowUnit["数量"] = newCheckAnalyseView.Where(x => x.UnitName == itemType).Count(); + rowUnit["检查类型"] = itemType.itemType; + rowUnit["数量"] = itemType.count; dtCheck.Rows.Add(rowUnit); } @@ -97,6 +126,11 @@ namespace FineUIPro.Web.HSSE.InformationAnalysis this.gvCheck.DataBind(); this.ChartCostTime.CreateChart(BLL.ChartControlService.GetDataSourceChart(dtCheck, "危险因素分析", this.drpChartType.SelectedValue, 1150, 450, this.ckbShow.Checked)); } + + public class CheckAnalysisModel { + public string itemType { get; set; } + public int count { get; set; } + } #endregion #region 统计查询 diff --git a/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQuality.aspx b/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQuality.aspx index 9cf6fddb..08f3b06f 100644 --- a/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQuality.aspx +++ b/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQuality.aspx @@ -36,7 +36,8 @@ + + diff --git a/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQuality.aspx.cs b/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQuality.aspx.cs index 14616a04..6506bee0 100644 --- a/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQuality.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQuality.aspx.cs @@ -1,10 +1,13 @@ using BLL; +using BLL.Common; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; +using System.IO; using System.Linq; using System.Text; +using ThoughtWorks.QRCode.Codec; using AspNet = System.Web.UI.WebControls; namespace FineUIPro.Web.HSSE.QualityAudit @@ -294,5 +297,120 @@ namespace FineUIPro.Web.HSSE.QualityAudit } } #endregion + + protected void btnQR_Click(object sender, EventArgs e) + { + string strSql = @"SELECT EquipmentQuality.EquipmentQualityId, CodeRecords.Code AS EquipmentQualityCode, + EquipmentQuality.FactoryCode ,EquipmentQuality.QRCodeAttachUrl + FROM QualityAudit_EquipmentQuality AS EquipmentQuality + LEFT JOIN Sys_CodeRecords AS CodeRecords ON EquipmentQuality.EquipmentQualityId = CodeRecords.DataId + LEFT JOIN Base_SpecialEquipment AS SpecialEquipment ON SpecialEquipment.SpecialEquipmentId = EquipmentQuality.SpecialEquipmentId WHERE 1=1 "; + List listStr = new List(); + if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) + { + strSql += " AND EquipmentQuality.ProjectId = @ProjectId"; + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + } + if (!string.IsNullOrEmpty(this.txtEquipmentQualityCode.Text.Trim())) + { + strSql += " AND EquipmentQualityCode LIKE @EquipmentQualityCode"; + listStr.Add(new SqlParameter("@EquipmentQualityCode", "%" + this.txtEquipmentQualityCode.Text.Trim() + "%")); + } + if (this.drpUnitId.SelectedValue != BLL.Const._Null) + { + strSql += " AND EquipmentQuality.UnitId = @UnitId"; + listStr.Add(new SqlParameter("@UnitId", this.drpUnitId.SelectedValue.Trim())); + } + if (!string.IsNullOrEmpty(this.txtSpecialEquipmentName.Text.Trim())) + { + strSql += " AND SpecialEquipmentName LIKE @SpecialEquipmentName"; + listStr.Add(new SqlParameter("@SpecialEquipmentName", "%" + this.txtSpecialEquipmentName.Text.Trim() + "%")); + } + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + + NPOIExcel excel = new NPOIExcel(); + excel.SetColumnWidth(0, 50); + excel.SetColumnWidth(1, 50); + excel.SetColumnWidth(2, 50); + for (int i = 0; i < tb.Rows.Count; i++) + { + if (i % 3 == 0) + { + excel.SetRowHeight(2 * (int)(i / 3), 200); + } + string QRCodeAttachUrl = tb.Rows[i]["QRCodeAttachUrl"].ToString(); + string EquipmentQualityCode = tb.Rows[i]["EquipmentQualityCode"].ToString(); + if (string.IsNullOrEmpty(QRCodeAttachUrl)) + { + try + { + var equipmentQuality = Funs.DB.QualityAudit_EquipmentQuality.FirstOrDefault(x => x.EquipmentQualityId == tb.Rows[i]["EquipmentQualityId"].ToString()); + equipmentQuality.QRCodeAttachUrl = CreateCode_Simple("equipment$" + tb.Rows[i]["FactoryCode"].ToString()); + QRCodeAttachUrl = equipmentQuality.QRCodeAttachUrl; + Funs.DB.SubmitChanges(); + } + catch (Exception e1) { } + + } + //add picture data to this workbook. + excel.SetPicValue(2 * (int)(i / 3), i % 3, Server.MapPath("~/") + QRCodeAttachUrl); + excel.SetValue(2 * (int)(i / 3) + 1, i % 3, EquipmentQualityCode); + } + string initTemplatePath = Const.ExcelUrl + Funs.GetNewFileName() + ".xls"; + string uploadfilepath = Server.MapPath("~/") + initTemplatePath; + string fileName = Path.GetFileName(initTemplatePath); + excel.Save(uploadfilepath); + FileInfo info = new FileInfo(uploadfilepath); + + long fileSize = info.Length; + Response.ClearContent(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(uploadfilepath, 0, fileSize); + Response.Flush(); + Response.End(); + + + + } + + private string CreateCode_Simple(string nr) + { + try + { + string imageUrl = string.Empty; + QRCodeEncoder qrCodeEncoder = new QRCodeEncoder + { + QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE, + QRCodeScale = nr.Length, + QRCodeVersion = 0, + QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M + }; + System.Drawing.Image image = qrCodeEncoder.Encode(nr, Encoding.UTF8); + string filepath = Server.MapPath("~/") + UploadFileService.QRCodeImageFilePath; + //如果文件夹不存在,则创建 + if (!Directory.Exists(filepath)) + { + Directory.CreateDirectory(filepath); + } + string filename = DateTime.Now.ToString("yyyymmddhhmmssfff").ToString() + ".jpg"; + imageUrl = filepath + filename; + FileStream fs = new FileStream(imageUrl, FileMode.OpenOrCreate, FileAccess.Write); + image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg); + fs.Close(); + image.Dispose(); + return UploadFileService.QRCodeImageFilePath + filename; + } + + catch (Exception ex) + + { + } + return ""; + } + + } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQuality.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQuality.aspx.designer.cs index 1b1a9e21..d1027b11 100644 --- a/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQuality.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/HSSE/QualityAudit/EquipmentQuality.aspx.designer.cs @@ -7,11 +7,13 @@ // //------------------------------------------------------------------------------ -namespace FineUIPro.Web.HSSE.QualityAudit { - - - public partial class EquipmentQuality { - +namespace FineUIPro.Web.HSSE.QualityAudit +{ + + + public partial class EquipmentQuality + { + /// /// form1 控件。 /// @@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.HtmlControls.HtmlForm form1; - + /// /// PageManager1 控件。 /// @@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.PageManager PageManager1; - + /// /// Panel1 控件。 /// @@ -38,7 +40,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Panel Panel1; - + /// /// Grid1 控件。 /// @@ -47,7 +49,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Grid Grid1; - + /// /// Toolbar2 控件。 /// @@ -56,7 +58,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Toolbar Toolbar2; - + /// /// txtEquipmentQualityCode 控件。 /// @@ -65,7 +67,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtEquipmentQualityCode; - + /// /// drpUnitId 控件。 /// @@ -74,7 +76,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList drpUnitId; - + /// /// txtSpecialEquipmentName 控件。 /// @@ -83,7 +85,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtSpecialEquipmentName; - + /// /// ToolbarFill1 控件。 /// @@ -92,7 +94,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.ToolbarFill ToolbarFill1; - + /// /// btnNew 控件。 /// @@ -101,7 +103,16 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnNew; - + + /// + /// btnQR 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnQR; + /// /// btnOut 控件。 /// @@ -110,7 +121,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnOut; - + /// /// lblNumber 控件。 /// @@ -119,7 +130,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.WebControls.Label lblNumber; - + /// /// ToolbarSeparator1 控件。 /// @@ -128,7 +139,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; - + /// /// ToolbarText1 控件。 /// @@ -137,7 +148,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.ToolbarText ToolbarText1; - + /// /// ddlPageSize 控件。 /// @@ -146,7 +157,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList ddlPageSize; - + /// /// Window1 控件。 /// @@ -155,7 +166,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Window Window1; - + /// /// WindowAtt 控件。 /// @@ -164,7 +175,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Window WindowAtt; - + /// /// Menu1 控件。 /// @@ -173,7 +184,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Menu Menu1; - + /// /// btnMenuEdit 控件。 /// @@ -182,7 +193,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.MenuButton btnMenuEdit; - + /// /// btnMenuDelete 控件。 /// diff --git a/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQuality.aspx b/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQuality.aspx index 79b9f6df..015698e7 100644 --- a/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQuality.aspx +++ b/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQuality.aspx @@ -38,7 +38,8 @@ + + diff --git a/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQuality.aspx.cs b/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQuality.aspx.cs index 0532f26f..999410a1 100644 --- a/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQuality.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQuality.aspx.cs @@ -1,10 +1,13 @@ using BLL; +using BLL.Common; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; +using System.IO; using System.Linq; using System.Text; +using ThoughtWorks.QRCode.Codec; using AspNet = System.Web.UI.WebControls; namespace FineUIPro.Web.HSSE.QualityAudit @@ -50,7 +53,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit if (this.CurrUser != null && this.CurrUser.PageSize.HasValue) { Grid1.PageSize = this.CurrUser.PageSize.Value; - } + } this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); // 绑定表格 this.BindGrid(); @@ -109,7 +112,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; - + var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); @@ -265,11 +268,134 @@ namespace FineUIPro.Web.HSSE.QualityAudit Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("一般机具设备资质" + filename, System.Text.Encoding.UTF8) + ".xls"); Response.ContentType = "application/excel"; Response.ContentEncoding = System.Text.Encoding.UTF8; - this.Grid1.PageSize = this.Grid1.RecordCount; + this.Grid1.PageSize = this.Grid1.RecordCount; BindGrid(); Response.Write(GetGridTableHtml(Grid1)); Response.End(); } #endregion + + + + + + protected void btnQR_Click(object sender, EventArgs e) + { + string strSql = @"SELECT GeneralEquipmentQuality.GeneralEquipmentQualityId," + + @"CodeRecords.Code AS GeneralEquipmentQualityCode," + + @"GeneralEquipmentQuality.GeneralEquipmentQualityCode," + + @"GeneralEquipmentQuality.QRCodeAttachUrl," + + @"SpecialEquipment.SpecialEquipmentName" + + @" FROM QualityAudit_GeneralEquipmentQuality AS GeneralEquipmentQuality " + + @" LEFT JOIN Base_SpecialEquipment AS SpecialEquipment ON SpecialEquipment.SpecialEquipmentId = GeneralEquipmentQuality.SpecialEquipmentId " + + @" LEFT JOIN Sys_CodeRecords AS CodeRecords ON GeneralEquipmentQuality.GeneralEquipmentQualityId = CodeRecords.DataId WHERE 1=1 "; + List listStr = new List(); + if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) + { + strSql += " AND GeneralEquipmentQuality.ProjectId = @ProjectId"; + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + } + if (BLL.ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(this.ProjectId, this.CurrUser.UnitId)) + { + strSql += " AND GeneralEquipmentQuality.UnitId = @UnitId"; ///状态为已完成 + listStr.Add(new SqlParameter("@UnitId", this.CurrUser.UnitId)); + } + if (!string.IsNullOrEmpty(this.txtGeneralEquipmentQualityCode.Text.Trim())) + { + strSql += " AND GeneralEquipmentQualityCode LIKE @GeneralEquipmentQualityCode"; + listStr.Add(new SqlParameter("@GeneralEquipmentQualityCode", "%" + this.txtGeneralEquipmentQualityCode.Text.Trim() + "%")); + } + if (!string.IsNullOrEmpty(this.txtUnitName.Text.Trim())) + { + strSql += " AND UnitName LIKE @UnitName"; + listStr.Add(new SqlParameter("@UnitName", "%" + this.txtUnitName.Text.Trim() + "%")); + } + if (!string.IsNullOrEmpty(this.txtSpecialEquipmentName.Text.Trim())) + { + strSql += " AND SpecialEquipmentName LIKE @SpecialEquipmentName"; + listStr.Add(new SqlParameter("@SpecialEquipmentName", "%" + this.txtSpecialEquipmentName.Text.Trim() + "%")); + } + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + + NPOIExcel excel = new NPOIExcel(); + excel.SetColumnWidth(0, 50); + excel.SetColumnWidth(1, 50); + excel.SetColumnWidth(2, 50); + for (int i = 0; i < tb.Rows.Count; i++) + { + if (i % 3 == 0) + { + excel.SetRowHeight(2 * (int)(i / 3), 200); + } + string QRCodeAttachUrl = tb.Rows[i]["QRCodeAttachUrl"].ToString(); + string GeneralEquipmentQualityCode = tb.Rows[i]["GeneralEquipmentQualityCode"].ToString(); + if (string.IsNullOrEmpty(QRCodeAttachUrl)) + { + try + { + var equipmentQuality = Funs.DB.QualityAudit_GeneralEquipmentQuality.FirstOrDefault(x => x.GeneralEquipmentQualityId == tb.Rows[i]["GeneralEquipmentQualityId"].ToString()); + equipmentQuality.QRCodeAttachUrl = CreateCode_Simple("equipments$" + tb.Rows[i]["GeneralEquipmentQualityId"].ToString()); + QRCodeAttachUrl = equipmentQuality.QRCodeAttachUrl; + Funs.DB.SubmitChanges(); + } + catch (Exception e1) { } + } + //add picture data to this workbook. + excel.SetPicValue(2 * (int)(i / 3), i % 3, Server.MapPath("~/") + QRCodeAttachUrl); + excel.SetValue(2 * (int)(i / 3) + 1, i % 3, GeneralEquipmentQualityCode); + } + string initTemplatePath = Const.ExcelUrl + Funs.GetNewFileName() + ".xls"; + string uploadfilepath = Server.MapPath("~/") + initTemplatePath; + string fileName = Path.GetFileName(initTemplatePath); + excel.Save(uploadfilepath); + FileInfo info = new FileInfo(uploadfilepath); + + long fileSize = info.Length; + Response.ClearContent(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(uploadfilepath, 0, fileSize); + Response.Flush(); + Response.End(); + + + + } + private string CreateCode_Simple(string nr) + { + try + { + string imageUrl = string.Empty; + QRCodeEncoder qrCodeEncoder = new QRCodeEncoder + { + QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE, + QRCodeScale = nr.Length, + QRCodeVersion = 0, + QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M + }; + System.Drawing.Image image = qrCodeEncoder.Encode(nr, Encoding.UTF8); + string filepath = Server.MapPath("~/") + UploadFileService.QRCodeImageFilePath; + //如果文件夹不存在,则创建 + if (!Directory.Exists(filepath)) + { + Directory.CreateDirectory(filepath); + } + string filename = DateTime.Now.ToString("yyyymmddhhmmssfff").ToString() + ".jpg"; + imageUrl = filepath + filename; + FileStream fs = new FileStream(imageUrl, FileMode.OpenOrCreate, FileAccess.Write); + image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg); + fs.Close(); + image.Dispose(); + return UploadFileService.QRCodeImageFilePath + filename; + } + + catch (Exception ex) + + { + } + return ""; + } } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQuality.aspx.designer.cs b/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQuality.aspx.designer.cs index ec16217b..fcba2593 100644 --- a/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQuality.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQuality.aspx.designer.cs @@ -7,11 +7,13 @@ // //------------------------------------------------------------------------------ -namespace FineUIPro.Web.HSSE.QualityAudit { - - - public partial class GeneralEquipmentQuality { - +namespace FineUIPro.Web.HSSE.QualityAudit +{ + + + public partial class GeneralEquipmentQuality + { + /// /// form1 控件。 /// @@ -20,7 +22,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.HtmlControls.HtmlForm form1; - + /// /// PageManager1 控件。 /// @@ -29,7 +31,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.PageManager PageManager1; - + /// /// Panel1 控件。 /// @@ -38,7 +40,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Panel Panel1; - + /// /// Grid1 控件。 /// @@ -47,7 +49,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Grid Grid1; - + /// /// Toolbar2 控件。 /// @@ -56,7 +58,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Toolbar Toolbar2; - + /// /// txtGeneralEquipmentQualityCode 控件。 /// @@ -65,7 +67,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtGeneralEquipmentQualityCode; - + /// /// txtUnitName 控件。 /// @@ -74,7 +76,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtUnitName; - + /// /// txtSpecialEquipmentName 控件。 /// @@ -83,7 +85,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtSpecialEquipmentName; - + /// /// ToolbarFill1 控件。 /// @@ -92,7 +94,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.ToolbarFill ToolbarFill1; - + /// /// btnNew 控件。 /// @@ -101,7 +103,16 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnNew; - + + /// + /// btnQR 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnQR; + /// /// btnOut 控件。 /// @@ -110,7 +121,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnOut; - + /// /// lblNumber 控件。 /// @@ -119,7 +130,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.WebControls.Label lblNumber; - + /// /// ToolbarSeparator1 控件。 /// @@ -128,7 +139,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; - + /// /// ToolbarText1 控件。 /// @@ -137,7 +148,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.ToolbarText ToolbarText1; - + /// /// ddlPageSize 控件。 /// @@ -146,7 +157,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList ddlPageSize; - + /// /// Window1 控件。 /// @@ -155,7 +166,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Window Window1; - + /// /// WindowAtt 控件。 /// @@ -164,7 +175,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Window WindowAtt; - + /// /// Menu1 控件。 /// @@ -173,7 +184,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Menu Menu1; - + /// /// btnMenuEdit 控件。 /// @@ -182,7 +193,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit { /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.MenuButton btnMenuEdit; - + /// /// btnMenuDelete 控件。 /// diff --git a/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQualityEdit.aspx.cs b/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQualityEdit.aspx.cs index ffed5d21..ed67f390 100644 --- a/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQualityEdit.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/QualityAudit/GeneralEquipmentQualityEdit.aspx.cs @@ -215,7 +215,7 @@ namespace FineUIPro.Web.HSSE.QualityAudit this.SaveData(false); } - PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("~/Controls/SeeQRImage.aspx?GeneralEquipmentQualityId={0}&strCode={1}", this.GeneralEquipmentQualityId, "equipment$" + this.GeneralEquipmentQualityId), "二维码查看", 400, 400)); + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("~/Controls/SeeQRImage.aspx?GeneralEquipmentQualityId={0}&strCode={1}", this.GeneralEquipmentQualityId, "equipments$" + this.GeneralEquipmentQualityId), "二维码查看", 400, 400)); } } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/ProjectData/Installation.aspx.cs b/SGGL/FineUIPro.Web/ProjectData/Installation.aspx.cs index 14cc5194..2d7c855c 100644 --- a/SGGL/FineUIPro.Web/ProjectData/Installation.aspx.cs +++ b/SGGL/FineUIPro.Web/ProjectData/Installation.aspx.cs @@ -249,384 +249,401 @@ namespace FineUIPro.Web.ProjectData } Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); string contenttype = "application/json;charset=utf-8"; - var returndata = BLL.APIGetHttpService.ControlHttp(Funs.ControlApiUrl + "/Projects/GetConstructionWbsList?ProjId=" + project.KZProjectCode, "GET", contenttype, null, null); - if (!string.IsNullOrEmpty(returndata)) + var returndata0 = BLL.APIGetHttpService.ControlHttp(Funs.ControlApiUrl + "/Projects/GetProjectList?Code=" + project.KZProjectCode, "GET", contenttype, null, null); + //string returndata0 = "{'result':{'items':[{'code':'22373','name':'甘肃能化金昌能源化工开发有限公司低阶煤高效利用制氢及50万吨尿基复合肥项目','shortName':'金昌能化50万吨尿基复合肥项目','projTypeId':1,'projType':'工程咨询','projPhaseId':65,'projPhase':'工程咨询','ownerName':'甘肃能化金昌能源化工开发有限公司','address':'境内','nature':'新建','level':'3级','productId':0,'productName':'','productSize':'','initiationDate':'2023-01-19T00:00:00','planStart':'2023-01-19T00:00:00','planFinish':'2023-02-10T00:00:00','realStart':null,'realFinish':null,'contractAmount':0.0000,'contractNumber':'','basicProcess':'','remark':'','isFinished':false,'communityArea':'2亿Nm3/年氢气,30万吨/年合成氨,50万吨/年尿基复合肥','isBreakdown':false,'isSpecial':false,'isKey':false,'status':'COMPLETION','guid':'73c4f36d-1ed2-41ba-9c6e-04619de214de','createdAt':'2023-01-19T09:21:20.213','updatedAt':'2023-01-19T09:21:20.213','id':34961},{'code':'22373','name':'甘肃能化金昌能源化工开发有限公司低阶煤高效利用制氢及50万吨尿基复合肥项目','shortName':'低阶煤高效利用制氢及50 万吨/年高浓度尿基复合肥项目','projTypeId':5,'projType':'工程总承包','projPhaseId':14,'projPhase':'EPC','ownerName':'甘肃能化金昌能源化工开发有限公司','address':'境内','nature':'新建','level':'1级','productId':0,'productName':'合成氨、尿素(中间产品)、尿基复合肥、氢气','productSize':'合成氨40万吨/年; 尿素30万吨/年; 氢气2亿m3/年; 尿基复合肥50万吨/年','initiationDate':'2023-04-23T00:00:00','planStart':'2023-04-23T00:00:00','planFinish':'2025-06-30T00:00:00','realStart':null,'realFinish':null,'contractAmount':0.0000,'contractNumber':'','basicProcess':'氨合成采用南京聚拓专利,尿素装置采用中国五环自有尿素专利技术。','remark':'','isFinished':false,'communityArea':'1.总体院;\n2.40万吨/年合成氨装置:合成气压缩、冷冻、氨合成、氨回收、PSA制氢(2亿m3/年氢气)、尾气压缩、输煤CO2压缩、尿素CO2压缩;\n3.30万吨/年尿素装置:主装置、原料贮运、成品包装贮运;\n4.50万吨/年尿基复合肥装置;\n5.公用工程:循环水、脱盐水、污水、中水回用、零排放、变电所、机柜间、中控室、综合泵站、生产消防水池等;\n6.辅助生产设施:生产分析室、维修车间、综合仓库、危废暂存库、化学品库、火炬等;\n7.储运系统:液氨常压罐、事故甲醇罐、液氨球罐、装车栈台、泡沫站等。','isBreakdown':true,'isSpecial':false,'isKey':false,'status':'EXECUTION','guid':'10142090-f850-47ae-be6c-43597e6dc4d1','createdAt':'2023-04-23T14:39:53.98','updatedAt':'2023-08-16T18:45:05.997','id':35120},{'code':'22373','name':'甘肃能化金昌能源化工开发有限公司低阶煤高效利用制氢及50万吨尿基复合肥项目','shortName':'甘肃能化金昌能化阶煤高效利用制氢及尿基复合肥项目','projTypeId':6,'projType':'投标','projPhaseId':18,'projPhase':'EPC投标','ownerName':'甘肃能化金昌能源化工开发有限公司','address':'境内','nature':'新建','level':'','productId':0,'productName':'合成氨及尿基复合肥','productSize':'合成氨30万吨/年(其中17.4万吨生产尿素)、尿素30万吨/年(中间产品)、尿基复合肥50万吨/年','initiationDate':'2023-02-01T00:00:00','planStart':'2023-02-01T00:00:00','planFinish':'2023-04-15T00:00:00','realStart':null,'realFinish':null,'contractAmount':0.0000,'contractNumber':'','basicProcess':'合成氨采用国有专利,尿素采用五环公司高效合成、低能耗尿素工艺技术。\n','remark':'','isFinished':true,'communityArea':'一、气化采用航天粉煤气化技术,生产氢气2亿Nm3/年、合成氨30万吨/年(其中17.4万吨生产尿素)、尿素30万吨/年、尿基复合肥50万吨/年、硫磺2.24万吨/年。\n二、本次投标范围为:空分装置,净化装置,合成氨装置,罐区,尿素装置,尿基复合肥装置,硫回收装置,锅炉装置(2x220t/h循环流化床锅炉)、水处理系统装置等全厂公辅,全厂总图、外线、地管、道路、控制室、变电所等,总体院。','isBreakdown':false,'isSpecial':false,'isKey':false,'status':'COMPLETION','guid':'9ffcd266-7196-4df1-9432-b818a5c91a6f','createdAt':'2023-02-01T15:30:18.013','updatedAt':'2023-07-27T16:58:14.37','id':34964}]},'targetUrl':null,'success':true,'error':null,'unAuthorizedRequest':false,'__abp':true}"; + if (!string.IsNullOrEmpty(returndata0)) { - JObject obj = JObject.Parse(returndata); - JArray arr = JArray.Parse(obj["result"].ToString()); - Model.SGGLDB db = Funs.DB; - //专业 - var cnProfessionInits = from x in db.WBS_CnProfessionInit select x; - //单位工程及子单位工程 - var unitProjectInits = from x in db.Wbs_UnitProjectInit orderby x.SuperUnitProject select x; - //分部/子分部/分项/子分项 - var wbsSetInits = (from x in db.WBS_WbsSetInit orderby x.SuperWbsSetCode select x).ToList(); - //费用清单对应关系 - var wbsSetMatchCostControlInits = from x in db.WBS_WbsSetMatchCostControlInit orderby x.WbsSetCode select x; - //费用清单项 - var totalCostControlInits = from x in db.WBS_CostControlInit orderby x.CostControlInitCode select x; - string sgId = string.Empty; - foreach (var item in arr) + JObject obj0 = JObject.Parse(returndata0); + JArray arr0 = JArray.Parse(obj0["result"]["items"].ToString()); + string proId = string.Empty; + foreach (var item in arr0) { - string id = item["id"].ToString(); //记录Id,主键 - string parentId = item["parentId"].ToString(); //上一级记录Id - string code = item["code"].ToString(); //WBS编码 - string name = item["name"].ToString(); //WBS名称 - string level = item["level"].ToString(); //级别,0-7依次表示:项目、阶段(施工)、装置、工序、主项、专业、分部工程、分项工程 - string isLeaf = item["isLeaf"].ToString(); //是否末级 - string ppsId = item["ppsId"].ToString(); //阶段ID,3代表施工 - string projId = item["projId"].ToString(); //项目ID - string planStart = item["planStart"].ToString(); //计划开始日期 - string planFinish = item["planFinish"].ToString(); //计划完成日期 - string remark = item["remark"].ToString(); //备注 - if (level == "0" || level == "1" || level == "2" || level == "3" || level == "4") + string projType = item["projType"].ToString(); + string projPhase = item["projPhase"].ToString(); + if (project.ProjType == projType && project.ProjPhase == projPhase) { - Model.Project_Installation installation = new Model.Project_Installation(); - installation.InstallationId = id; - installation.ProjectId = this.CurrUser.LoginProjectId; - installation.InstallationCode = code; - installation.InstallationName = name; - installation.SuperInstallationId = parentId == "-1" ? "0" : parentId; - installation.StartDate = Funs.GetNewDateTime(planStart); - installation.EndDate = Funs.GetNewDateTime(planFinish); - installation.IsEnd = Convert.ToBoolean(isLeaf); - installation.Def = remark; - db.Project_Installation.InsertOnSubmit(installation); - db.SubmitChanges(); - if (name == "施工") - { - sgId = id; - } - } - else if (level == "5") - { - var cn = cnProfessionInits.FirstOrDefault(x => x.CnProfessionName.Contains(name.Substring(0, 2))); - //拷贝专业 - if (cn != null) - { - if (cn.CnProfessionName != "防腐绝热" && cn.CnProfessionName != "地勘" && cn.CnProfessionName != "全厂地下主管网" && cn.CnProfessionName != "临时设施" && cn.CnProfessionName != "总图") - { - Model.WBS_CnProfession cnProfession = new Model.WBS_CnProfession(); - cnProfession.CnProfessionId = id; - cnProfession.CnProfessionName = cn.CnProfessionName; - cnProfession.CnProfessionCode = cn.CnProfessionCode; - cnProfession.InstallationId = parentId; - cnProfession.ProjectId = this.CurrUser.LoginProjectId; - cnProfession.StartDate = Funs.GetNewDateTime(planStart); - cnProfession.EndDate = Funs.GetNewDateTime(planFinish); - cnProfession.OldId = cn.CnProfessionId; - db.WBS_CnProfession.InsertOnSubmit(cnProfession); - db.SubmitChanges(); - //单位工程 - var unitProjects = unitProjectInits.Where(x => x.CnProfessionId == cn.CnProfessionId); - foreach (var unitProjectInit in unitProjects) - { - Model.Wbs_UnitProject unitProject = new Model.Wbs_UnitProject(); - unitProject.UnitProjectId = SQLHelper.GetNewID(typeof(Model.Wbs_UnitProject)); - unitProject.UnitProjectCode = unitProjectInit.UnitProjectCode; - unitProject.UnitProjectName = unitProjectInit.UnitProjectName; - unitProject.InstallationId = parentId; - unitProject.SortIndex = unitProjectInit.SortIndex; - unitProject.SuperUnitProjectId = null; - unitProject.ProjectId = this.CurrUser.LoginProjectId; - unitProject.CnProfessionId = id; - unitProject.StartDate = Funs.GetNewDateTime(planStart); - unitProject.EndDate = Funs.GetNewDateTime(planFinish); - unitProject.Remark = unitProjectInit.Remark; - unitProject.IsIn = true; - db.Wbs_UnitProject.InsertOnSubmit(unitProject); - db.SubmitChanges(); - } - //分部分项 - var wbsSets = wbsSetInits.Where(x => x.CnProfessionId == cn.CnProfessionId); - foreach (var wbsSetInit in wbsSets) - { - Model.Wbs_WbsSet wbsSet = new Model.Wbs_WbsSet(); - wbsSet.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); - wbsSet.WbsSetCode = wbsSetInit.WbsSetCode; - wbsSet.WbsSetName = wbsSetInit.WbsSetName; - wbsSet.InstallationId = parentId; - wbsSet.CnProfessionId = id; - wbsSet.UnitProjectId = (from x in db.Wbs_UnitProject where x.UnitProjectCode == wbsSetInit.UnitProjectCode && x.CnProfessionId == id select x.UnitProjectId).FirstOrDefault(); - if (wbsSetInit.SuperWbsSetCode == null) - { - wbsSet.SuperWbsSetId = null; - } - else - { - wbsSet.SuperWbsSetId = (from x in db.Wbs_WbsSet - where x.WbsSetCode == wbsSetInit.SuperWbsSetCode && x.InstallationId == parentId && x.CnProfessionId == id - select x.WbsSetId).FirstOrDefault(); - } - wbsSet.ProjectId = this.CurrUser.LoginProjectId; - wbsSet.StartDate = Funs.GetNewDateTime(planStart); - wbsSet.EndDate = Funs.GetNewDateTime(planFinish); - wbsSet.Flag = wbsSetInit.Flag; - wbsSet.Way = wbsSetInit.Way; - wbsSet.Weights = wbsSetInit.Weights; - wbsSet.ControlItemDef = wbsSetInit.ControlItemDef; - wbsSet.ControlPoint = wbsSetInit.ControlPoint; - wbsSet.Remark = wbsSetInit.Remark; - wbsSet.IsIn = true; - db.Wbs_WbsSet.InsertOnSubmit(wbsSet); - db.SubmitChanges(); - var wbsSetMatchCostControls = wbsSetMatchCostControlInits.Where(x => x.WbsSetCode == wbsSetInit.WbsSetCode); - foreach (var wbsSetMatchCostControlInit in wbsSetMatchCostControls) - { - Model.WBS_WbsSetMatchCostControl wbsSetMatchCostControl = new Model.WBS_WbsSetMatchCostControl(); - wbsSetMatchCostControl.WbsSetMatchCostControlId = SQLHelper.GetNewID(); - wbsSetMatchCostControl.WbsSetId = wbsSet.WbsSetId; - wbsSetMatchCostControl.CostControlCode = wbsSetMatchCostControlInit.CostControlInitCode; - if (wbsSetMatchCostControl.WbsSetId != null) - { - db.WBS_WbsSetMatchCostControl.InsertOnSubmit(wbsSetMatchCostControl); - db.SubmitChanges(); - //拷贝费用清单项 - var costControlInits = from x in totalCostControlInits where x.CostControlInitCode == wbsSetMatchCostControlInit.CostControlInitCode orderby x.CostControlInitCode select x; - foreach (var costControlInit in costControlInits) - { - Model.WBS_CostControl costControl = new Model.WBS_CostControl(); - costControl.CostControlId = SQLHelper.GetNewID(); - costControl.ProjectId = this.CurrUser.LoginProjectId; - costControl.WbsSetId = wbsSetMatchCostControl.WbsSetId; - costControl.CostControlCode = costControlInit.CostControlInitCode; - costControl.CostControlName = costControlInit.CostControlInitName; - costControl.Unit = costControlInit.Unit; - db.WBS_CostControl.InsertOnSubmit(costControl); - db.SubmitChanges(); - } - } - } - } - } - else - { - var oldInstallation = Funs.DB.Project_Installation.FirstOrDefault(x => x.InstallationName == name); - if (oldInstallation == null) - { - Model.Project_Installation installation = new Model.Project_Installation(); - installation.InstallationId = id; - installation.ProjectId = this.CurrUser.LoginProjectId; - installation.InstallationCode = code; - installation.InstallationName = name; - installation.SuperInstallationId = sgId; - installation.StartDate = Funs.GetNewDateTime(planStart); - installation.EndDate = Funs.GetNewDateTime(planFinish); - installation.IsEnd = true; - installation.Def = remark; - db.Project_Installation.InsertOnSubmit(installation); - db.SubmitChanges(); - // 拷贝总图等专业下WBS内容 - //拷贝单位工程及子单位工程 - var unitProjects = unitProjectInits.Where(x => x.CnProfessionId == cn.CnProfessionId); - foreach (var unitProjectInit in unitProjects) - { - Model.Wbs_UnitProject unitProject = new Model.Wbs_UnitProject(); - unitProject.UnitProjectId = SQLHelper.GetNewID(typeof(Model.Wbs_UnitProject)); - unitProject.UnitProjectCode = unitProjectInit.UnitProjectCode; - unitProject.UnitProjectName = unitProjectInit.UnitProjectName; - if (unitProjectInit.SuperUnitProject == null) - { - unitProject.SuperUnitProjectId = null; - } - else - { - unitProject.SuperUnitProjectId = (from x in Funs.DB.Wbs_UnitProject - where x.UnitProjectCode == unitProjectInit.SuperUnitProject && x.InstallationId == id - select x.UnitProjectId).FirstOrDefault(); - } - unitProject.InstallationId = id; - unitProject.SortIndex = unitProjectInit.SortIndex; - unitProject.ProjectId = this.CurrUser.LoginProjectId; - unitProject.StartDate = Funs.GetNewDateTime(planStart); - unitProject.EndDate = Funs.GetNewDateTime(planFinish); - unitProject.Remark = unitProjectInit.Remark; - unitProject.IsIn = true; - db.Wbs_UnitProject.InsertOnSubmit(unitProject); - db.SubmitChanges(); - } - //拷贝分部/子分部/分项/子分项 - var wbsSets = wbsSetInits.Where(x => x.CnProfessionId == cn.CnProfessionId); - foreach (var wbsSetInit in wbsSets) - { - Model.Wbs_WbsSet wbsSet = new Model.Wbs_WbsSet(); - wbsSet.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); - wbsSet.WbsSetCode = wbsSetInit.WbsSetCode; - wbsSet.WbsSetName = wbsSetInit.WbsSetName; - wbsSet.InstallationId = id; - wbsSet.UnitProjectId = (from x in Funs.DB.Wbs_UnitProject where x.UnitProjectCode == wbsSetInit.UnitProjectCode && x.InstallationId == id select x.UnitProjectId).FirstOrDefault(); - if (wbsSetInit.SuperWbsSetCode == null) - { - wbsSet.SuperWbsSetId = null; - } - else - { - wbsSet.SuperWbsSetId = (from x in Funs.DB.Wbs_WbsSet - where x.WbsSetCode == wbsSetInit.SuperWbsSetCode && x.InstallationId == id - select x.WbsSetId).FirstOrDefault(); - } - wbsSet.ProjectId = this.CurrUser.LoginProjectId; - wbsSet.StartDate = Funs.GetNewDateTime(planStart); - wbsSet.EndDate = Funs.GetNewDateTime(planFinish); - wbsSet.Flag = wbsSetInit.Flag; - wbsSet.Way = wbsSetInit.Way; - wbsSet.Weights = wbsSetInit.Weights; - wbsSet.ControlItemDef = wbsSetInit.ControlItemDef; - wbsSet.ControlPoint = wbsSetInit.ControlPoint; - wbsSet.Remark = wbsSetInit.Remark; - wbsSet.IsIn = true; - db.Wbs_WbsSet.InsertOnSubmit(wbsSet); - db.SubmitChanges(); - var wbsSetMatchCostControls = wbsSetMatchCostControlInits.Where(x => x.WbsSetCode == wbsSetInit.WbsSetCode); - foreach (var wbsSetMatchCostControlInit in wbsSetMatchCostControls) - { - Model.WBS_WbsSetMatchCostControl wbsSetMatchCostControl = new Model.WBS_WbsSetMatchCostControl(); - wbsSetMatchCostControl.WbsSetMatchCostControlId = SQLHelper.GetNewID(); - wbsSetMatchCostControl.WbsSetId = wbsSet.WbsSetId; - wbsSetMatchCostControl.CostControlCode = wbsSetMatchCostControlInit.CostControlInitCode; - if (wbsSetMatchCostControl.WbsSetId != null) - { - db.WBS_WbsSetMatchCostControl.InsertOnSubmit(wbsSetMatchCostControl); - db.SubmitChanges(); - //拷贝费用清单项 - var costControlInits = from x in totalCostControlInits where x.CostControlInitCode == wbsSetMatchCostControlInit.CostControlInitCode orderby x.CostControlInitCode select x; - foreach (var costControlInit in costControlInits) - { - Model.WBS_CostControl costControl = new Model.WBS_CostControl(); - costControl.CostControlId = SQLHelper.GetNewID(); - costControl.ProjectId = this.CurrUser.LoginProjectId; - costControl.WbsSetId = wbsSetMatchCostControl.WbsSetId; - costControl.CostControlCode = costControlInit.CostControlInitCode; - costControl.CostControlName = costControlInit.CostControlInitName; - costControl.Unit = costControlInit.Unit; - db.WBS_CostControl.InsertOnSubmit(costControl); - db.SubmitChanges(); - } - } - } - } - } - } - } - } - else if (level == "6" || level == "7") - { - if (name.Contains("防腐绝热") || name.Contains("地勘") || name.Contains("全厂地下主管网") || name.Contains("临时设施") || name.Contains("总图")) - { - var cn = cnProfessionInits.FirstOrDefault(x => x.CnProfessionName.Contains(name.Substring(0, 2))); - if (cn != null) - { - var oldInstallation = Funs.DB.Project_Installation.FirstOrDefault(x => x.InstallationName == name); - if (oldInstallation == null) - { - Model.Project_Installation installation = new Model.Project_Installation(); - installation.InstallationId = id; - installation.ProjectId = this.CurrUser.LoginProjectId; - installation.InstallationCode = code; - installation.InstallationName = name; - installation.SuperInstallationId = sgId; - installation.StartDate = Funs.GetNewDateTime(planStart); - installation.EndDate = Funs.GetNewDateTime(planFinish); - installation.IsEnd = true; - installation.Def = remark; - db.Project_Installation.InsertOnSubmit(installation); - db.SubmitChanges(); - // 拷贝总图等专业下WBS内容 - //拷贝单位工程及子单位工程 - var unitProjects = unitProjectInits.Where(x => x.CnProfessionId == cn.CnProfessionId); - foreach (var unitProjectInit in unitProjects) - { - Model.Wbs_UnitProject unitProject = new Model.Wbs_UnitProject(); - unitProject.UnitProjectId = SQLHelper.GetNewID(typeof(Model.Wbs_UnitProject)); - unitProject.UnitProjectCode = unitProjectInit.UnitProjectCode; - unitProject.UnitProjectName = unitProjectInit.UnitProjectName; - if (unitProjectInit.SuperUnitProject == null) - { - unitProject.SuperUnitProjectId = null; - } - else - { - unitProject.SuperUnitProjectId = (from x in Funs.DB.Wbs_UnitProject - where x.UnitProjectCode == unitProjectInit.SuperUnitProject && x.InstallationId == id - select x.UnitProjectId).FirstOrDefault(); - } - unitProject.InstallationId = id; - unitProject.SortIndex = unitProjectInit.SortIndex; - unitProject.ProjectId = this.CurrUser.LoginProjectId; - unitProject.StartDate = Funs.GetNewDateTime(planStart); - unitProject.EndDate = Funs.GetNewDateTime(planFinish); - unitProject.Remark = unitProjectInit.Remark; - unitProject.IsIn = true; - db.Wbs_UnitProject.InsertOnSubmit(unitProject); - db.SubmitChanges(); - } - //拷贝分部/子分部/分项/子分项 - var wbsSets = wbsSetInits.Where(x => x.CnProfessionId == cn.CnProfessionId); - foreach (var wbsSetInit in wbsSets) - { - Model.Wbs_WbsSet wbsSet = new Model.Wbs_WbsSet(); - wbsSet.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); - wbsSet.WbsSetCode = wbsSetInit.WbsSetCode; - wbsSet.WbsSetName = wbsSetInit.WbsSetName; - wbsSet.InstallationId = id; - wbsSet.UnitProjectId = (from x in Funs.DB.Wbs_UnitProject where x.UnitProjectCode == wbsSetInit.UnitProjectCode && x.InstallationId == id select x.UnitProjectId).FirstOrDefault(); - if (wbsSetInit.SuperWbsSetCode == null) - { - wbsSet.SuperWbsSetId = null; - } - else - { - wbsSet.SuperWbsSetId = (from x in Funs.DB.Wbs_WbsSet - where x.WbsSetCode == wbsSetInit.SuperWbsSetCode && x.InstallationId == id - select x.WbsSetId).FirstOrDefault(); - } - wbsSet.ProjectId = this.CurrUser.LoginProjectId; - wbsSet.StartDate = Funs.GetNewDateTime(planStart); - wbsSet.EndDate = Funs.GetNewDateTime(planFinish); - wbsSet.Flag = wbsSetInit.Flag; - wbsSet.Way = wbsSetInit.Way; - wbsSet.Weights = wbsSetInit.Weights; - wbsSet.ControlItemDef = wbsSetInit.ControlItemDef; - wbsSet.ControlPoint = wbsSetInit.ControlPoint; - wbsSet.Remark = wbsSetInit.Remark; - wbsSet.IsIn = true; - db.Wbs_WbsSet.InsertOnSubmit(wbsSet); - db.SubmitChanges(); - var wbsSetMatchCostControls = wbsSetMatchCostControlInits.Where(x => x.WbsSetCode == wbsSetInit.WbsSetCode); - foreach (var wbsSetMatchCostControlInit in wbsSetMatchCostControls) - { - Model.WBS_WbsSetMatchCostControl wbsSetMatchCostControl = new Model.WBS_WbsSetMatchCostControl(); - wbsSetMatchCostControl.WbsSetMatchCostControlId = SQLHelper.GetNewID(); - wbsSetMatchCostControl.WbsSetId = wbsSet.WbsSetId; - wbsSetMatchCostControl.CostControlCode = wbsSetMatchCostControlInit.CostControlInitCode; - if (wbsSetMatchCostControl.WbsSetId != null) - { - db.WBS_WbsSetMatchCostControl.InsertOnSubmit(wbsSetMatchCostControl); - db.SubmitChanges(); - //拷贝费用清单项 - var costControlInits = from x in totalCostControlInits where x.CostControlInitCode == wbsSetMatchCostControlInit.CostControlInitCode orderby x.CostControlInitCode select x; - foreach (var costControlInit in costControlInits) - { - Model.WBS_CostControl costControl = new Model.WBS_CostControl(); - costControl.CostControlId = SQLHelper.GetNewID(); - costControl.ProjectId = this.CurrUser.LoginProjectId; - costControl.WbsSetId = wbsSetMatchCostControl.WbsSetId; - costControl.CostControlCode = costControlInit.CostControlInitCode; - costControl.CostControlName = costControlInit.CostControlInitName; - costControl.Unit = costControlInit.Unit; - db.WBS_CostControl.InsertOnSubmit(costControl); - db.SubmitChanges(); - } - } - } - } - } - } - } + proId= item["id"].ToString(); } } - ShowNotify("抽取成功!", MessageBoxIcon.Success); - InitTreeMenu(); + var returndata = BLL.APIGetHttpService.ControlHttp(Funs.ControlApiUrl + "/Projects/GetConstructionWbsList?ProjId=" + proId, "GET", contenttype, null, null); + if (!string.IsNullOrEmpty(returndata)) + { + JObject obj = JObject.Parse(returndata); + JArray arr = JArray.Parse(obj["result"].ToString()); + Model.SGGLDB db = Funs.DB; + //专业 + var cnProfessionInits = from x in db.WBS_CnProfessionInit select x; + //单位工程及子单位工程 + var unitProjectInits = from x in db.Wbs_UnitProjectInit orderby x.SuperUnitProject select x; + //分部/子分部/分项/子分项 + var wbsSetInits = (from x in db.WBS_WbsSetInit orderby x.SuperWbsSetCode select x).ToList(); + //费用清单对应关系 + var wbsSetMatchCostControlInits = from x in db.WBS_WbsSetMatchCostControlInit orderby x.WbsSetCode select x; + //费用清单项 + var totalCostControlInits = from x in db.WBS_CostControlInit orderby x.CostControlInitCode select x; + string sgId = string.Empty; + foreach (var item in arr) + { + string id = item["id"].ToString(); //记录Id,主键 + string parentId = item["parentId"].ToString(); //上一级记录Id + string code = item["code"].ToString(); //WBS编码 + string name = item["name"].ToString(); //WBS名称 + string level = item["level"].ToString(); //级别,0-7依次表示:项目、阶段(施工)、装置、工序、主项、专业、分部工程、分项工程 + string isLeaf = item["isLeaf"].ToString(); //是否末级 + string ppsId = item["ppsId"].ToString(); //阶段ID,3代表施工 + string projId = item["projId"].ToString(); //项目ID + string planStart = item["planStart"].ToString(); //计划开始日期 + string planFinish = item["planFinish"].ToString(); //计划完成日期 + string remark = item["remark"].ToString(); //备注 + if (level == "0" || level == "1" || level == "2" || level == "3" || level == "4") + { + Model.Project_Installation installation = new Model.Project_Installation(); + installation.InstallationId = id; + installation.ProjectId = this.CurrUser.LoginProjectId; + installation.InstallationCode = code; + installation.InstallationName = name; + installation.SuperInstallationId = parentId == "-1" ? "0" : parentId; + installation.StartDate = Funs.GetNewDateTime(planStart); + installation.EndDate = Funs.GetNewDateTime(planFinish); + installation.IsEnd = Convert.ToBoolean(isLeaf); + installation.Def = remark; + db.Project_Installation.InsertOnSubmit(installation); + db.SubmitChanges(); + if (name == "施工") + { + sgId = id; + } + } + else if (level == "5") + { + var cn = cnProfessionInits.FirstOrDefault(x => x.CnProfessionName.Contains(name.Substring(0, 2))); + //拷贝专业 + if (cn != null) + { + if (cn.CnProfessionName != "防腐绝热" && cn.CnProfessionName != "地勘" && cn.CnProfessionName != "全厂地下主管网" && cn.CnProfessionName != "临时设施" && cn.CnProfessionName != "总图") + { + Model.WBS_CnProfession cnProfession = new Model.WBS_CnProfession(); + cnProfession.CnProfessionId = id; + cnProfession.CnProfessionName = cn.CnProfessionName; + cnProfession.CnProfessionCode = cn.CnProfessionCode; + cnProfession.InstallationId = parentId; + cnProfession.ProjectId = this.CurrUser.LoginProjectId; + cnProfession.StartDate = Funs.GetNewDateTime(planStart); + cnProfession.EndDate = Funs.GetNewDateTime(planFinish); + cnProfession.OldId = cn.CnProfessionId; + db.WBS_CnProfession.InsertOnSubmit(cnProfession); + db.SubmitChanges(); + //单位工程 + var unitProjects = unitProjectInits.Where(x => x.CnProfessionId == cn.CnProfessionId); + foreach (var unitProjectInit in unitProjects) + { + Model.Wbs_UnitProject unitProject = new Model.Wbs_UnitProject(); + unitProject.UnitProjectId = SQLHelper.GetNewID(typeof(Model.Wbs_UnitProject)); + unitProject.UnitProjectCode = unitProjectInit.UnitProjectCode; + unitProject.UnitProjectName = unitProjectInit.UnitProjectName; + unitProject.InstallationId = parentId; + unitProject.SortIndex = unitProjectInit.SortIndex; + unitProject.SuperUnitProjectId = null; + unitProject.ProjectId = this.CurrUser.LoginProjectId; + unitProject.CnProfessionId = id; + unitProject.StartDate = Funs.GetNewDateTime(planStart); + unitProject.EndDate = Funs.GetNewDateTime(planFinish); + unitProject.Remark = unitProjectInit.Remark; + unitProject.IsIn = true; + db.Wbs_UnitProject.InsertOnSubmit(unitProject); + db.SubmitChanges(); + } + //分部分项 + var wbsSets = wbsSetInits.Where(x => x.CnProfessionId == cn.CnProfessionId); + foreach (var wbsSetInit in wbsSets) + { + Model.Wbs_WbsSet wbsSet = new Model.Wbs_WbsSet(); + wbsSet.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); + wbsSet.WbsSetCode = wbsSetInit.WbsSetCode; + wbsSet.WbsSetName = wbsSetInit.WbsSetName; + wbsSet.InstallationId = parentId; + wbsSet.CnProfessionId = id; + wbsSet.UnitProjectId = (from x in db.Wbs_UnitProject where x.UnitProjectCode == wbsSetInit.UnitProjectCode && x.CnProfessionId == id select x.UnitProjectId).FirstOrDefault(); + if (wbsSetInit.SuperWbsSetCode == null) + { + wbsSet.SuperWbsSetId = null; + } + else + { + wbsSet.SuperWbsSetId = (from x in db.Wbs_WbsSet + where x.WbsSetCode == wbsSetInit.SuperWbsSetCode && x.InstallationId == parentId && x.CnProfessionId == id + select x.WbsSetId).FirstOrDefault(); + } + wbsSet.ProjectId = this.CurrUser.LoginProjectId; + wbsSet.StartDate = Funs.GetNewDateTime(planStart); + wbsSet.EndDate = Funs.GetNewDateTime(planFinish); + wbsSet.Flag = wbsSetInit.Flag; + wbsSet.Way = wbsSetInit.Way; + wbsSet.Weights = wbsSetInit.Weights; + wbsSet.ControlItemDef = wbsSetInit.ControlItemDef; + wbsSet.ControlPoint = wbsSetInit.ControlPoint; + wbsSet.Remark = wbsSetInit.Remark; + wbsSet.IsIn = true; + db.Wbs_WbsSet.InsertOnSubmit(wbsSet); + db.SubmitChanges(); + var wbsSetMatchCostControls = wbsSetMatchCostControlInits.Where(x => x.WbsSetCode == wbsSetInit.WbsSetCode); + foreach (var wbsSetMatchCostControlInit in wbsSetMatchCostControls) + { + Model.WBS_WbsSetMatchCostControl wbsSetMatchCostControl = new Model.WBS_WbsSetMatchCostControl(); + wbsSetMatchCostControl.WbsSetMatchCostControlId = SQLHelper.GetNewID(); + wbsSetMatchCostControl.WbsSetId = wbsSet.WbsSetId; + wbsSetMatchCostControl.CostControlCode = wbsSetMatchCostControlInit.CostControlInitCode; + if (wbsSetMatchCostControl.WbsSetId != null) + { + db.WBS_WbsSetMatchCostControl.InsertOnSubmit(wbsSetMatchCostControl); + db.SubmitChanges(); + //拷贝费用清单项 + var costControlInits = from x in totalCostControlInits where x.CostControlInitCode == wbsSetMatchCostControlInit.CostControlInitCode orderby x.CostControlInitCode select x; + foreach (var costControlInit in costControlInits) + { + Model.WBS_CostControl costControl = new Model.WBS_CostControl(); + costControl.CostControlId = SQLHelper.GetNewID(); + costControl.ProjectId = this.CurrUser.LoginProjectId; + costControl.WbsSetId = wbsSetMatchCostControl.WbsSetId; + costControl.CostControlCode = costControlInit.CostControlInitCode; + costControl.CostControlName = costControlInit.CostControlInitName; + costControl.Unit = costControlInit.Unit; + db.WBS_CostControl.InsertOnSubmit(costControl); + db.SubmitChanges(); + } + } + } + } + } + else + { + var oldInstallation = Funs.DB.Project_Installation.FirstOrDefault(x => x.InstallationName == name); + if (oldInstallation == null) + { + Model.Project_Installation installation = new Model.Project_Installation(); + installation.InstallationId = id; + installation.ProjectId = this.CurrUser.LoginProjectId; + installation.InstallationCode = code; + installation.InstallationName = name; + installation.SuperInstallationId = sgId; + installation.StartDate = Funs.GetNewDateTime(planStart); + installation.EndDate = Funs.GetNewDateTime(planFinish); + installation.IsEnd = true; + installation.Def = remark; + db.Project_Installation.InsertOnSubmit(installation); + db.SubmitChanges(); + // 拷贝总图等专业下WBS内容 + //拷贝单位工程及子单位工程 + var unitProjects = unitProjectInits.Where(x => x.CnProfessionId == cn.CnProfessionId); + foreach (var unitProjectInit in unitProjects) + { + Model.Wbs_UnitProject unitProject = new Model.Wbs_UnitProject(); + unitProject.UnitProjectId = SQLHelper.GetNewID(typeof(Model.Wbs_UnitProject)); + unitProject.UnitProjectCode = unitProjectInit.UnitProjectCode; + unitProject.UnitProjectName = unitProjectInit.UnitProjectName; + if (unitProjectInit.SuperUnitProject == null) + { + unitProject.SuperUnitProjectId = null; + } + else + { + unitProject.SuperUnitProjectId = (from x in Funs.DB.Wbs_UnitProject + where x.UnitProjectCode == unitProjectInit.SuperUnitProject && x.InstallationId == id + select x.UnitProjectId).FirstOrDefault(); + } + unitProject.InstallationId = id; + unitProject.SortIndex = unitProjectInit.SortIndex; + unitProject.ProjectId = this.CurrUser.LoginProjectId; + unitProject.StartDate = Funs.GetNewDateTime(planStart); + unitProject.EndDate = Funs.GetNewDateTime(planFinish); + unitProject.Remark = unitProjectInit.Remark; + unitProject.IsIn = true; + db.Wbs_UnitProject.InsertOnSubmit(unitProject); + db.SubmitChanges(); + } + //拷贝分部/子分部/分项/子分项 + var wbsSets = wbsSetInits.Where(x => x.CnProfessionId == cn.CnProfessionId); + foreach (var wbsSetInit in wbsSets) + { + Model.Wbs_WbsSet wbsSet = new Model.Wbs_WbsSet(); + wbsSet.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); + wbsSet.WbsSetCode = wbsSetInit.WbsSetCode; + wbsSet.WbsSetName = wbsSetInit.WbsSetName; + wbsSet.InstallationId = id; + wbsSet.UnitProjectId = (from x in Funs.DB.Wbs_UnitProject where x.UnitProjectCode == wbsSetInit.UnitProjectCode && x.InstallationId == id select x.UnitProjectId).FirstOrDefault(); + if (wbsSetInit.SuperWbsSetCode == null) + { + wbsSet.SuperWbsSetId = null; + } + else + { + wbsSet.SuperWbsSetId = (from x in Funs.DB.Wbs_WbsSet + where x.WbsSetCode == wbsSetInit.SuperWbsSetCode && x.InstallationId == id + select x.WbsSetId).FirstOrDefault(); + } + wbsSet.ProjectId = this.CurrUser.LoginProjectId; + wbsSet.StartDate = Funs.GetNewDateTime(planStart); + wbsSet.EndDate = Funs.GetNewDateTime(planFinish); + wbsSet.Flag = wbsSetInit.Flag; + wbsSet.Way = wbsSetInit.Way; + wbsSet.Weights = wbsSetInit.Weights; + wbsSet.ControlItemDef = wbsSetInit.ControlItemDef; + wbsSet.ControlPoint = wbsSetInit.ControlPoint; + wbsSet.Remark = wbsSetInit.Remark; + wbsSet.IsIn = true; + db.Wbs_WbsSet.InsertOnSubmit(wbsSet); + db.SubmitChanges(); + var wbsSetMatchCostControls = wbsSetMatchCostControlInits.Where(x => x.WbsSetCode == wbsSetInit.WbsSetCode); + foreach (var wbsSetMatchCostControlInit in wbsSetMatchCostControls) + { + Model.WBS_WbsSetMatchCostControl wbsSetMatchCostControl = new Model.WBS_WbsSetMatchCostControl(); + wbsSetMatchCostControl.WbsSetMatchCostControlId = SQLHelper.GetNewID(); + wbsSetMatchCostControl.WbsSetId = wbsSet.WbsSetId; + wbsSetMatchCostControl.CostControlCode = wbsSetMatchCostControlInit.CostControlInitCode; + if (wbsSetMatchCostControl.WbsSetId != null) + { + db.WBS_WbsSetMatchCostControl.InsertOnSubmit(wbsSetMatchCostControl); + db.SubmitChanges(); + //拷贝费用清单项 + var costControlInits = from x in totalCostControlInits where x.CostControlInitCode == wbsSetMatchCostControlInit.CostControlInitCode orderby x.CostControlInitCode select x; + foreach (var costControlInit in costControlInits) + { + Model.WBS_CostControl costControl = new Model.WBS_CostControl(); + costControl.CostControlId = SQLHelper.GetNewID(); + costControl.ProjectId = this.CurrUser.LoginProjectId; + costControl.WbsSetId = wbsSetMatchCostControl.WbsSetId; + costControl.CostControlCode = costControlInit.CostControlInitCode; + costControl.CostControlName = costControlInit.CostControlInitName; + costControl.Unit = costControlInit.Unit; + db.WBS_CostControl.InsertOnSubmit(costControl); + db.SubmitChanges(); + } + } + } + } + } + } + } + } + else if (level == "6" || level == "7") + { + if (name.Contains("防腐绝热") || name.Contains("地勘") || name.Contains("全厂地下主管网") || name.Contains("临时设施") || name.Contains("总图")) + { + var cn = cnProfessionInits.FirstOrDefault(x => x.CnProfessionName.Contains(name.Substring(0, 2))); + if (cn != null) + { + var oldInstallation = Funs.DB.Project_Installation.FirstOrDefault(x => x.InstallationName == name); + if (oldInstallation == null) + { + Model.Project_Installation installation = new Model.Project_Installation(); + installation.InstallationId = id; + installation.ProjectId = this.CurrUser.LoginProjectId; + installation.InstallationCode = code; + installation.InstallationName = name; + installation.SuperInstallationId = sgId; + installation.StartDate = Funs.GetNewDateTime(planStart); + installation.EndDate = Funs.GetNewDateTime(planFinish); + installation.IsEnd = true; + installation.Def = remark; + db.Project_Installation.InsertOnSubmit(installation); + db.SubmitChanges(); + // 拷贝总图等专业下WBS内容 + //拷贝单位工程及子单位工程 + var unitProjects = unitProjectInits.Where(x => x.CnProfessionId == cn.CnProfessionId); + foreach (var unitProjectInit in unitProjects) + { + Model.Wbs_UnitProject unitProject = new Model.Wbs_UnitProject(); + unitProject.UnitProjectId = SQLHelper.GetNewID(typeof(Model.Wbs_UnitProject)); + unitProject.UnitProjectCode = unitProjectInit.UnitProjectCode; + unitProject.UnitProjectName = unitProjectInit.UnitProjectName; + if (unitProjectInit.SuperUnitProject == null) + { + unitProject.SuperUnitProjectId = null; + } + else + { + unitProject.SuperUnitProjectId = (from x in Funs.DB.Wbs_UnitProject + where x.UnitProjectCode == unitProjectInit.SuperUnitProject && x.InstallationId == id + select x.UnitProjectId).FirstOrDefault(); + } + unitProject.InstallationId = id; + unitProject.SortIndex = unitProjectInit.SortIndex; + unitProject.ProjectId = this.CurrUser.LoginProjectId; + unitProject.StartDate = Funs.GetNewDateTime(planStart); + unitProject.EndDate = Funs.GetNewDateTime(planFinish); + unitProject.Remark = unitProjectInit.Remark; + unitProject.IsIn = true; + db.Wbs_UnitProject.InsertOnSubmit(unitProject); + db.SubmitChanges(); + } + //拷贝分部/子分部/分项/子分项 + var wbsSets = wbsSetInits.Where(x => x.CnProfessionId == cn.CnProfessionId); + foreach (var wbsSetInit in wbsSets) + { + Model.Wbs_WbsSet wbsSet = new Model.Wbs_WbsSet(); + wbsSet.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); + wbsSet.WbsSetCode = wbsSetInit.WbsSetCode; + wbsSet.WbsSetName = wbsSetInit.WbsSetName; + wbsSet.InstallationId = id; + wbsSet.UnitProjectId = (from x in Funs.DB.Wbs_UnitProject where x.UnitProjectCode == wbsSetInit.UnitProjectCode && x.InstallationId == id select x.UnitProjectId).FirstOrDefault(); + if (wbsSetInit.SuperWbsSetCode == null) + { + wbsSet.SuperWbsSetId = null; + } + else + { + wbsSet.SuperWbsSetId = (from x in Funs.DB.Wbs_WbsSet + where x.WbsSetCode == wbsSetInit.SuperWbsSetCode && x.InstallationId == id + select x.WbsSetId).FirstOrDefault(); + } + wbsSet.ProjectId = this.CurrUser.LoginProjectId; + wbsSet.StartDate = Funs.GetNewDateTime(planStart); + wbsSet.EndDate = Funs.GetNewDateTime(planFinish); + wbsSet.Flag = wbsSetInit.Flag; + wbsSet.Way = wbsSetInit.Way; + wbsSet.Weights = wbsSetInit.Weights; + wbsSet.ControlItemDef = wbsSetInit.ControlItemDef; + wbsSet.ControlPoint = wbsSetInit.ControlPoint; + wbsSet.Remark = wbsSetInit.Remark; + wbsSet.IsIn = true; + db.Wbs_WbsSet.InsertOnSubmit(wbsSet); + db.SubmitChanges(); + var wbsSetMatchCostControls = wbsSetMatchCostControlInits.Where(x => x.WbsSetCode == wbsSetInit.WbsSetCode); + foreach (var wbsSetMatchCostControlInit in wbsSetMatchCostControls) + { + Model.WBS_WbsSetMatchCostControl wbsSetMatchCostControl = new Model.WBS_WbsSetMatchCostControl(); + wbsSetMatchCostControl.WbsSetMatchCostControlId = SQLHelper.GetNewID(); + wbsSetMatchCostControl.WbsSetId = wbsSet.WbsSetId; + wbsSetMatchCostControl.CostControlCode = wbsSetMatchCostControlInit.CostControlInitCode; + if (wbsSetMatchCostControl.WbsSetId != null) + { + db.WBS_WbsSetMatchCostControl.InsertOnSubmit(wbsSetMatchCostControl); + db.SubmitChanges(); + //拷贝费用清单项 + var costControlInits = from x in totalCostControlInits where x.CostControlInitCode == wbsSetMatchCostControlInit.CostControlInitCode orderby x.CostControlInitCode select x; + foreach (var costControlInit in costControlInits) + { + Model.WBS_CostControl costControl = new Model.WBS_CostControl(); + costControl.CostControlId = SQLHelper.GetNewID(); + costControl.ProjectId = this.CurrUser.LoginProjectId; + costControl.WbsSetId = wbsSetMatchCostControl.WbsSetId; + costControl.CostControlCode = costControlInit.CostControlInitCode; + costControl.CostControlName = costControlInit.CostControlInitName; + costControl.Unit = costControlInit.Unit; + db.WBS_CostControl.InsertOnSubmit(costControl); + db.SubmitChanges(); + } + } + } + } + } + } + } + } + } + ShowNotify("抽取成功!", MessageBoxIcon.Success); + InitTreeMenu(); + } } } else diff --git a/SGGL/FineUIPro.Web/ProjectData/ProjectSetSave.aspx b/SGGL/FineUIPro.Web/ProjectData/ProjectSetSave.aspx index 4e4516d0..5c73709e 100644 --- a/SGGL/FineUIPro.Web/ProjectData/ProjectSetSave.aspx +++ b/SGGL/FineUIPro.Web/ProjectData/ProjectSetSave.aspx @@ -147,6 +147,12 @@ + + + + + + diff --git a/SGGL/FineUIPro.Web/ProjectData/ProjectSetSave.aspx.cs b/SGGL/FineUIPro.Web/ProjectData/ProjectSetSave.aspx.cs index 871a857f..5d257036 100644 --- a/SGGL/FineUIPro.Web/ProjectData/ProjectSetSave.aspx.cs +++ b/SGGL/FineUIPro.Web/ProjectData/ProjectSetSave.aspx.cs @@ -168,6 +168,8 @@ namespace FineUIPro.Web.ProjectData this.txtEnglishRemark.Text = project.EnglishRemark; this.txtHJProjectCode.Text = project.HJProjectCode; this.txtKZProjectCode.Text = project.KZProjectCode; + this.txtProjType.Text = project.ProjType; + this.txtProjPhase.Text = project.ProjPhase; if (project.Progress != null) { this.txtProgress.Text = project.Progress.ToString(); @@ -209,6 +211,8 @@ namespace FineUIPro.Web.ProjectData City = this.txtCity.Text.Trim(), EnglishRemark = this.txtEnglishRemark.Text.Trim(), Progress = Funs.GetNewDecimal(this.txtProgress.Text), + ProjType = this.txtProjType.Text.Trim(), + ProjPhase = this.txtProjPhase.Text.Trim(), }; if (string.IsNullOrEmpty(project.JTProjectCode)) { diff --git a/SGGL/FineUIPro.Web/ProjectData/ProjectSetSave.aspx.designer.cs b/SGGL/FineUIPro.Web/ProjectData/ProjectSetSave.aspx.designer.cs index 0429f13e..feb4f79d 100644 --- a/SGGL/FineUIPro.Web/ProjectData/ProjectSetSave.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/ProjectData/ProjectSetSave.aspx.designer.cs @@ -7,13 +7,11 @@ // //------------------------------------------------------------------------------ -namespace FineUIPro.Web.ProjectData -{ - - - public partial class ProjectSetSave - { - +namespace FineUIPro.Web.ProjectData { + + + public partial class ProjectSetSave { + /// /// form1 控件。 /// @@ -22,7 +20,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::System.Web.UI.HtmlControls.HtmlForm form1; - + /// /// PageManager1 控件。 /// @@ -31,7 +29,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.PageManager PageManager1; - + /// /// SimpleForm1 控件。 /// @@ -40,7 +38,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Form SimpleForm1; - + /// /// txtProjectName 控件。 /// @@ -49,7 +47,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtProjectName; - + /// /// txtProjectCode 控件。 /// @@ -58,7 +56,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtProjectCode; - + /// /// txtShortName 控件。 /// @@ -67,7 +65,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtShortName; - + /// /// drpProjectType 控件。 /// @@ -76,7 +74,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList drpProjectType; - + /// /// drpProjectState 控件。 /// @@ -85,7 +83,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList drpProjectState; - + /// /// drpProjectState2 控件。 /// @@ -94,7 +92,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList drpProjectState2; - + /// /// txtStartDate 控件。 /// @@ -103,7 +101,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DatePicker txtStartDate; - + /// /// txtEndDate 控件。 /// @@ -112,7 +110,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DatePicker txtEndDate; - + /// /// txtContractNo 控件。 /// @@ -121,7 +119,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtContractNo; - + /// /// txtDuration 控件。 /// @@ -130,7 +128,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.NumberBox txtDuration; - + /// /// drpProjectManager 控件。 /// @@ -139,7 +137,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList drpProjectManager; - + /// /// drpConstructionManager 控件。 /// @@ -148,7 +146,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList drpConstructionManager; - + /// /// drpQAManager 控件。 /// @@ -157,7 +155,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList drpQAManager; - + /// /// drpHSSEManager 控件。 /// @@ -166,7 +164,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList drpHSSEManager; - + /// /// drpDriveManager 控件。 /// @@ -175,7 +173,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList drpDriveManager; - + /// /// drpUnit 控件。 /// @@ -184,7 +182,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList drpUnit; - + /// /// txtProjectAddress 控件。 /// @@ -193,7 +191,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtProjectAddress; - + /// /// txtJTProjectCode 控件。 /// @@ -202,7 +200,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtJTProjectCode; - + /// /// ckbIsForeign 控件。 /// @@ -211,7 +209,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.CheckBox ckbIsForeign; - + /// /// txtWorkRange 控件。 /// @@ -220,7 +218,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextArea txtWorkRange; - + /// /// txtRemark 控件。 /// @@ -229,7 +227,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextArea txtRemark; - + /// /// txtProjectMoney 控件。 /// @@ -238,7 +236,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.NumberBox txtProjectMoney; - + /// /// txtConstructionMoney 控件。 /// @@ -247,7 +245,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.NumberBox txtConstructionMoney; - + /// /// txtTelephone 控件。 /// @@ -256,7 +254,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtTelephone; - + /// /// drpCountry 控件。 /// @@ -265,7 +263,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList drpCountry; - + /// /// drpProvince 控件。 /// @@ -274,7 +272,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.DropDownList drpProvince; - + /// /// txtCity 控件。 /// @@ -283,7 +281,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtCity; - + /// /// txtMapCoordinates 控件。 /// @@ -292,7 +290,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtMapCoordinates; - + /// /// bottomPanel 控件。 /// @@ -301,7 +299,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.ContentPanel bottomPanel; - + /// /// txtEnglishRemark 控件。 /// @@ -310,7 +308,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtEnglishRemark; - + /// /// txtHJProjectCode 控件。 /// @@ -319,7 +317,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtHJProjectCode; - + /// /// txtKZProjectCode 控件。 /// @@ -328,7 +326,25 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.TextBox txtKZProjectCode; - + + /// + /// txtProjType 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtProjType; + + /// + /// txtProjPhase 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtProjPhase; + /// /// txtProgress 控件。 /// @@ -337,7 +353,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.NumberBox txtProgress; - + /// /// Toolbar1 控件。 /// @@ -346,7 +362,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Toolbar Toolbar1; - + /// /// ckIsUpTotalMonth 控件。 /// @@ -355,7 +371,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.CheckBox ckIsUpTotalMonth; - + /// /// btnAttachUrl 控件。 /// @@ -364,7 +380,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnAttachUrl; - + /// /// btnSave 控件。 /// @@ -373,7 +389,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnSave; - + /// /// btnClose 控件。 /// @@ -382,7 +398,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.Button btnClose; - + /// /// hdCompileMan 控件。 /// @@ -391,7 +407,7 @@ namespace FineUIPro.Web.ProjectData /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 /// protected global::FineUIPro.HiddenField hdCompileMan; - + /// /// WindowAtt 控件。 /// diff --git a/SGGL/FineUIPro.Web/ProjectData/ProjectSetView.aspx b/SGGL/FineUIPro.Web/ProjectData/ProjectSetView.aspx index 91db6d71..686dee6f 100644 --- a/SGGL/FineUIPro.Web/ProjectData/ProjectSetView.aspx +++ b/SGGL/FineUIPro.Web/ProjectData/ProjectSetView.aspx @@ -106,6 +106,12 @@ + + + + + + diff --git a/SGGL/FineUIPro.Web/ProjectData/ProjectSetView.aspx.cs b/SGGL/FineUIPro.Web/ProjectData/ProjectSetView.aspx.cs index a9b1e359..92b46111 100644 --- a/SGGL/FineUIPro.Web/ProjectData/ProjectSetView.aspx.cs +++ b/SGGL/FineUIPro.Web/ProjectData/ProjectSetView.aspx.cs @@ -102,6 +102,8 @@ namespace FineUIPro.Web.ProjectData this.txtEnglishRemark.Text = project.EnglishRemark; this.txtHJProjectCode.Text = project.HJProjectCode; this.txtKZProjectCode.Text = project.KZProjectCode; + this.txtProjType.Text = project.ProjType; + this.txtProjPhase.Text = project.ProjPhase; if (project.Progress != null) { this.txtProgress.Text = project.Progress.ToString(); diff --git a/SGGL/FineUIPro.Web/ProjectData/ProjectSetView.aspx.designer.cs b/SGGL/FineUIPro.Web/ProjectData/ProjectSetView.aspx.designer.cs index cbd49494..0dddc5da 100644 --- a/SGGL/FineUIPro.Web/ProjectData/ProjectSetView.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/ProjectData/ProjectSetView.aspx.designer.cs @@ -300,6 +300,24 @@ namespace FineUIPro.Web.ProjectData { /// protected global::FineUIPro.TextBox txtKZProjectCode; + /// + /// txtProjType 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtProjType; + + /// + /// txtProjPhase 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtProjPhase; + /// /// txtEnglishRemark 控件。 /// diff --git a/SGGL/Model/APIItem/HSSE/CheckSpecialDetailItem.cs b/SGGL/Model/APIItem/HSSE/CheckSpecialDetailItem.cs index b5539e84..8d6f8c13 100644 --- a/SGGL/Model/APIItem/HSSE/CheckSpecialDetailItem.cs +++ b/SGGL/Model/APIItem/HSSE/CheckSpecialDetailItem.cs @@ -203,5 +203,9 @@ namespace Model /// public string Rectification_Date { get; set; } + /// + /// 处理意见 + /// + public string CheckOpinions { get; set; } } } diff --git a/SGGL/Model/APIItem/HSSE/CheckSpecialItem.cs b/SGGL/Model/APIItem/HSSE/CheckSpecialItem.cs index 91f4f824..0bcae846 100644 --- a/SGGL/Model/APIItem/HSSE/CheckSpecialItem.cs +++ b/SGGL/Model/APIItem/HSSE/CheckSpecialItem.cs @@ -180,5 +180,71 @@ namespace Model get; set; } + + /// + /// 受检单位 + /// + public string ResponsibleUnit + { + get; + set; + } + /// + /// 受检单位 + /// + public string ResponsibleUnitName + { + get; + set; + } + /// + /// 单位工程ID + /// + public string WorkAreaId + { + get; + set; + } + /// + /// 单位工程ID + /// + public string WorkAreaName + { + get; + set; + } + /// + /// 问题类型 + /// + public string QuestionType + { + get; + set; + } + /// + /// 问题类型 + /// + public string QuestionTypeName + { + get; + set; + } + + /// + /// 审核人 + /// + public string ResponsibleMan { get; set; } + + /// + /// 审核状态 + /// + public string AuditState { get; set; } + + /// + /// 接收人 + /// + public string ReceiveMan { get; set; } + + public string ReceiveManName { get; set; } } } diff --git a/SGGL/Model/APIItem/HSSE/EquipmentQualityItem.cs b/SGGL/Model/APIItem/HSSE/EquipmentQualityItem.cs index 16689aae..8b1b84da 100644 --- a/SGGL/Model/APIItem/HSSE/EquipmentQualityItem.cs +++ b/SGGL/Model/APIItem/HSSE/EquipmentQualityItem.cs @@ -95,5 +95,13 @@ namespace Model /// 附件 /// public string AttachUrl { get; set; } + /// + /// 是否合格 + /// + public string IsQualified { get; set; } + /// + /// 数量 + /// + public string EquipmentCount { get; set; } } } diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs index f3139172..8db11614 100644 --- a/SGGL/Model/Model.cs +++ b/SGGL/Model/Model.cs @@ -9179,6 +9179,14 @@ namespace Model } } + public System.Data.Linq.Table View_QualityAudit_GeneralEquipmentQuality + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table View_QualityAudit_PersonQuality { get @@ -25021,6 +25029,10 @@ namespace Model private string _ProjectAttribute; + private string _ProjType; + + private string _ProjPhase; + private EntitySet _Accident_AccidentHandle; private EntitySet _Accident_AccidentPersonRecord; @@ -25675,6 +25687,10 @@ namespace Model partial void OnCLProjectCodeChanged(); partial void OnProjectAttributeChanging(string value); partial void OnProjectAttributeChanged(); + partial void OnProjTypeChanging(string value); + partial void OnProjTypeChanged(); + partial void OnProjPhaseChanging(string value); + partial void OnProjPhaseChanged(); #endregion public Base_Project() @@ -26699,6 +26715,46 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjType", DbType="NVarChar(50)")] + public string ProjType + { + get + { + return this._ProjType; + } + set + { + if ((this._ProjType != value)) + { + this.OnProjTypeChanging(value); + this.SendPropertyChanging(); + this._ProjType = value; + this.SendPropertyChanged("ProjType"); + this.OnProjTypeChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjPhase", DbType="NVarChar(50)")] + public string ProjPhase + { + get + { + return this._ProjPhase; + } + set + { + if ((this._ProjPhase != value)) + { + this.OnProjPhaseChanging(value); + this.SendPropertyChanging(); + this._ProjPhase = value; + this.SendPropertyChanged("ProjPhase"); + this.OnProjPhaseChanged(); + } + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Accident_AccidentHandle_Base_Project", Storage="_Accident_AccidentHandle", ThisKey="ProjectId", OtherKey="ProjectId", DeleteRule="NO ACTION")] public EntitySet Accident_AccidentHandle { @@ -59583,6 +59639,16 @@ namespace Model private string _CheckItemSetId; + private string _ResponsibleUnit; + + private string _WorkAreaId; + + private string _QuestionType; + + private string _ResponsibleMan; + + private string _ReceiveMan; + private EntityRef _Base_Project; private EntityRef _Technique_CheckItemSet; @@ -59623,6 +59689,16 @@ namespace Model partial void OnPartInPersonNamesChanged(); partial void OnCheckItemSetIdChanging(string value); partial void OnCheckItemSetIdChanged(); + partial void OnResponsibleUnitChanging(string value); + partial void OnResponsibleUnitChanged(); + partial void OnWorkAreaIdChanging(string value); + partial void OnWorkAreaIdChanged(); + partial void OnQuestionTypeChanging(string value); + partial void OnQuestionTypeChanged(); + partial void OnResponsibleManChanging(string value); + partial void OnResponsibleManChanged(); + partial void OnReceiveManChanging(string value); + partial void OnReceiveManChanged(); #endregion public Check_CheckSpecial() @@ -59960,6 +60036,106 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResponsibleUnit", DbType="NVarChar(50)")] + public string ResponsibleUnit + { + get + { + return this._ResponsibleUnit; + } + set + { + if ((this._ResponsibleUnit != value)) + { + this.OnResponsibleUnitChanging(value); + this.SendPropertyChanging(); + this._ResponsibleUnit = value; + this.SendPropertyChanged("ResponsibleUnit"); + this.OnResponsibleUnitChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkAreaId", DbType="NVarChar(50)")] + public string WorkAreaId + { + get + { + return this._WorkAreaId; + } + set + { + if ((this._WorkAreaId != value)) + { + this.OnWorkAreaIdChanging(value); + this.SendPropertyChanging(); + this._WorkAreaId = value; + this.SendPropertyChanged("WorkAreaId"); + this.OnWorkAreaIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_QuestionType", DbType="NVarChar(50)")] + public string QuestionType + { + get + { + return this._QuestionType; + } + set + { + if ((this._QuestionType != value)) + { + this.OnQuestionTypeChanging(value); + this.SendPropertyChanging(); + this._QuestionType = value; + this.SendPropertyChanged("QuestionType"); + this.OnQuestionTypeChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ResponsibleMan", DbType="NVarChar(50)")] + public string ResponsibleMan + { + get + { + return this._ResponsibleMan; + } + set + { + if ((this._ResponsibleMan != value)) + { + this.OnResponsibleManChanging(value); + this.SendPropertyChanging(); + this._ResponsibleMan = value; + this.SendPropertyChanged("ResponsibleMan"); + this.OnResponsibleManChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ReceiveMan", DbType="NVarChar(2000)")] + public string ReceiveMan + { + get + { + return this._ReceiveMan; + } + set + { + if ((this._ReceiveMan != value)) + { + this.OnReceiveManChanging(value); + this.SendPropertyChanging(); + this._ReceiveMan = value; + this.SendPropertyChanged("ReceiveMan"); + this.OnReceiveManChanged(); + } + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Check_CheckSpecial_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] public Base_Project Base_Project { @@ -60099,6 +60275,8 @@ namespace Model private System.Nullable _Rectification_Date; + private string _CheckOpinions; + private EntityRef _Base_Unit; private EntityRef _WBS_UnitWork; @@ -60151,6 +60329,8 @@ namespace Model partial void OnCheckItemSetContentChanged(); partial void OnRectification_DateChanging(System.Nullable value); partial void OnRectification_DateChanged(); + partial void OnCheckOpinionsChanging(string value); + partial void OnCheckOpinionsChanged(); #endregion public Check_CheckSpecialDetail() @@ -60608,6 +60788,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CheckOpinions", DbType="NVarChar(2000)")] + public string CheckOpinions + { + get + { + return this._CheckOpinions; + } + set + { + if ((this._CheckOpinions != value)) + { + this.OnCheckOpinionsChanging(value); + this.SendPropertyChanging(); + this._CheckOpinions = value; + this.SendPropertyChanged("CheckOpinions"); + this.OnCheckOpinionsChanged(); + } + } + } + [global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_Check_CheckSpecialDetail_Base_Unit", Storage="_Base_Unit", ThisKey="UnitId", OtherKey="UnitId", IsForeignKey=true)] public Base_Unit Base_Unit { @@ -392840,6 +393040,303 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_QualityAudit_GeneralEquipmentQuality")] + public partial class View_QualityAudit_GeneralEquipmentQuality + { + + private string _GeneralEquipmentQualityId; + + private string _ProjectId; + + private string _GeneralEquipmentQualityCode; + + private string _UnitId; + + private string _UnitName; + + private string _SpecialEquipmentId; + + private string _SpecialEquipmentName; + + private System.Nullable _IsQualified; + + private System.Nullable _EquipmentCount; + + private System.Nullable _InDate; + + private string _Remark; + + private string _CompileMan; + + private string _CompileManName; + + private System.Nullable _CompileDate; + + private string _QRCodeAttachUrl; + + private string _AttachUrl; + + public View_QualityAudit_GeneralEquipmentQuality() + { + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GeneralEquipmentQualityId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string GeneralEquipmentQualityId + { + get + { + return this._GeneralEquipmentQualityId; + } + set + { + if ((this._GeneralEquipmentQualityId != value)) + { + this._GeneralEquipmentQualityId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this._ProjectId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_GeneralEquipmentQualityCode", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string GeneralEquipmentQualityCode + { + get + { + return this._GeneralEquipmentQualityCode; + } + set + { + if ((this._GeneralEquipmentQualityCode != value)) + { + this._GeneralEquipmentQualityCode = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + this._UnitId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(200)")] + public string UnitName + { + get + { + return this._UnitName; + } + set + { + if ((this._UnitName != value)) + { + this._UnitName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SpecialEquipmentId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)] + public string SpecialEquipmentId + { + get + { + return this._SpecialEquipmentId; + } + set + { + if ((this._SpecialEquipmentId != value)) + { + this._SpecialEquipmentId = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SpecialEquipmentName", DbType="NVarChar(50)")] + public string SpecialEquipmentName + { + get + { + return this._SpecialEquipmentName; + } + set + { + if ((this._SpecialEquipmentName != value)) + { + this._SpecialEquipmentName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_IsQualified", DbType="Bit")] + public System.Nullable IsQualified + { + get + { + return this._IsQualified; + } + set + { + if ((this._IsQualified != value)) + { + this._IsQualified = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EquipmentCount", DbType="Int")] + public System.Nullable EquipmentCount + { + get + { + return this._EquipmentCount; + } + set + { + if ((this._EquipmentCount != value)) + { + this._EquipmentCount = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_InDate", DbType="DateTime")] + public System.Nullable InDate + { + get + { + return this._InDate; + } + set + { + if ((this._InDate != value)) + { + this._InDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remark", DbType="NVarChar(500)")] + public string Remark + { + get + { + return this._Remark; + } + set + { + if ((this._Remark != value)) + { + this._Remark = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + this._CompileMan = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileManName", DbType="NVarChar(50)")] + public string CompileManName + { + get + { + return this._CompileManName; + } + set + { + if ((this._CompileManName != value)) + { + this._CompileManName = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime")] + public System.Nullable CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this._CompileDate = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_QRCodeAttachUrl", DbType="NVarChar(200)")] + public string QRCodeAttachUrl + { + get + { + return this._QRCodeAttachUrl; + } + set + { + if ((this._QRCodeAttachUrl != value)) + { + this._QRCodeAttachUrl = value; + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AttachUrl", DbType="NVarChar(MAX)", UpdateCheck=UpdateCheck.Never)] + public string AttachUrl + { + get + { + return this._AttachUrl; + } + set + { + if ((this._AttachUrl != value)) + { + this._AttachUrl = value; + } + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_QualityAudit_PersonQuality")] public partial class View_QualityAudit_PersonQuality { diff --git a/SGGL/WebAPI/Controllers/HSSE/CheckSpecialController.cs b/SGGL/WebAPI/Controllers/HSSE/CheckSpecialController.cs index 98d016f0..66405e52 100644 --- a/SGGL/WebAPI/Controllers/HSSE/CheckSpecialController.cs +++ b/SGGL/WebAPI/Controllers/HSSE/CheckSpecialController.cs @@ -16,12 +16,12 @@ namespace WebAPI.Controllers /// /// /// - public Model.ResponeData getCheckSpecialById(string CheckSpecialId) + public Model.ResponeData getCheckSpecialById(string CheckSpecialId,string state="0") { var responeData = new Model.ResponeData(); try { - responeData.data = APICheckSpecialService.getCheckSpecialById(CheckSpecialId); + responeData.data = APICheckSpecialService.getCheckSpecialById(CheckSpecialId, state); } catch (Exception ex) { @@ -41,12 +41,12 @@ namespace WebAPI.Controllers /// /// /// - public Model.ResponeData getCheckSpecialList(string projectId, string states, int pageIndex) + public Model.ResponeData getCheckSpecialList(string projectId, string states, int pageIndex,string userid) { var responeData = new Model.ResponeData(); try { - var getDataList = APICheckSpecialService.getCheckSpecialList(projectId, states); + var getDataList = APICheckSpecialService.getCheckSpecialList(projectId, states, userid); int pageCount = getDataList.Count(); if (pageCount > 0 && pageIndex > 0) { @@ -133,5 +133,24 @@ namespace WebAPI.Controllers return responeData; } #endregion + + /// + /// 加载措施 + /// + /// + public Model.ResponeData getGroup_HandleStep() + { + var responeData = new Model.ResponeData(); + try + { + responeData.data = ConstValue.drpConstItemList(BLL.ConstValue.Group_HandleStep); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + return responeData; + } } } diff --git a/SGGL/WebAPI/Controllers/HSSE/GeneralEquipmentQualityController.cs b/SGGL/WebAPI/Controllers/HSSE/GeneralEquipmentQualityController.cs new file mode 100644 index 00000000..30335139 --- /dev/null +++ b/SGGL/WebAPI/Controllers/HSSE/GeneralEquipmentQualityController.cs @@ -0,0 +1,160 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Web.Http; +using BLL; + +namespace WebAPI.Controllers +{ + /// + /// 一般机具设备资质 + /// + public class GeneralEquipmentQualityController : ApiController + { + #region 根据equipmentQualityId获取机具设备资质信息 + /// + /// 根据equipmentQualityId获取机具设备资质信息 + /// + /// + /// + public Model.ResponeData getEquipmentQualityByEquipmentQualityId(string equipmentQualityId) + { + var responeData = new Model.ResponeData(); + try + { + responeData.data = APIGeneralEquipmentQualityService.getEquipmentQualityByEquipmentQualityIdFactoryCode(equipmentQualityId); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + + return responeData; + } + #endregion + + + + #region 根据projectId、unitid获取机具设备资质信息 + /// + /// 根据projectId、unitid获取机具设备资质信息 + /// + /// + /// + /// + /// + public Model.ResponeData getEquipmentQualityByProjectIdUnitId(string projectId, string unitId, int pageIndex) + { + var responeData = new Model.ResponeData(); + try + { + var getDataList = APIGeneralEquipmentQualityService.getEquipmentQualityList(projectId, unitId, null); + int pageCount = getDataList.Count(); + if (pageCount > 0 && pageIndex > 0) + { + getDataList = getDataList.Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList(); + } + responeData.data = new { pageCount, getDataList }; + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + return responeData; + } + #endregion + + #region 根据projectId、unitid获取机具设备资质信息-查询 + /// + /// 根据projectId、unitid获取机具设备资质信息 + /// + /// + /// + /// + /// 查询条件 + /// + public Model.ResponeData getEquipmentQualityByProjectIdUnitIdQuery(string projectId, string unitId, string strParam, int pageIndex) + { + var responeData = new Model.ResponeData(); + try + { + var getDataList = APIGeneralEquipmentQualityService.getEquipmentQualityList(projectId, unitId, strParam); + int pageCount = getDataList.Count(); + if (pageCount > 0 && pageIndex > 0) + { + getDataList = getDataList.Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList(); + } + responeData.data = new { pageCount, getDataList }; + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + return responeData; + } + #endregion + + #region 根据projectId、unitid获取特岗机具设备资质资质各状态数 + /// + /// 根据projectId、unitid获取特岗机具设备资质资质各状态数 + /// + /// + /// + /// + public Model.ResponeData getEquipmentQualityCount(string projectId, string unitId) + { + var responeData = new Model.ResponeData(); + try + { + var getDataList = new Model.SGGLDB(Funs.ConnString).QualityAudit_GeneralEquipmentQuality.Where(x => x.ProjectId == projectId); + if (ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(projectId, unitId)) + { + getDataList = getDataList.Where(x => x.UnitId == unitId); + } + ////总数 + int tatalCount = getDataList.Count(); + + responeData.data = new { tatalCount }; + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + + return responeData; + } + #endregion + + + + #region 保存QualityAudit_EquipmentQuality + /// + /// 保存QualityAudit_EquipmentQuality + /// + /// 机具设备资质 + /// + [HttpPost] + public Model.ResponeData SaveEquipmentQuality([FromBody] Model.EquipmentQualityItem newitem) + { + var responeData = new Model.ResponeData(); + try + { + APIGeneralEquipmentQualityService.SaveEquipmentQuality(newitem); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + + return responeData; + } + #endregion + } +} diff --git a/SGGL/WebAPI/Controllers/PersonController.cs b/SGGL/WebAPI/Controllers/PersonController.cs index 71118084..a146cd00 100644 --- a/SGGL/WebAPI/Controllers/PersonController.cs +++ b/SGGL/WebAPI/Controllers/PersonController.cs @@ -1083,5 +1083,28 @@ namespace WebAPI.Controllers return responeData; } #endregion + + #region 二维码扫码获取人员 + /// + /// 二维码扫码获取人员 + /// + /// + /// + public Model.ResponeData getPersonByPersonIdQrcode(string personId) + { + var responeData = new Model.ResponeData(); + try + { + responeData.data = APIPersonService.getPersonByPersonIdQrcode(personId); + } + catch (Exception ex) + { + responeData.code = 0; + responeData.message = ex.Message; + } + + return responeData; + } + #endregion } } \ No newline at end of file diff --git a/SGGL/WebAPI/WebAPI.csproj b/SGGL/WebAPI/WebAPI.csproj index 43dc784e..47f019c7 100644 --- a/SGGL/WebAPI/WebAPI.csproj +++ b/SGGL/WebAPI/WebAPI.csproj @@ -153,6 +153,7 @@ +