From 988d168cbfe1b1dff116ab8b90f882e881dcdf95 Mon Sep 17 00:00:00 2001 From: gaofei1985 <181547018@qq.com> Date: Wed, 27 Sep 2023 09:59:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../版本日志/SGGLDB_WH_2023-09-27.sql | 39 ++++ SGGL/BLL/API/APIPersonService.cs | 80 ++++++- SGGL/BLL/API/HSSE/APICheckSpecialService.cs | 103 ++++++--- .../HSSE/Check/Check_CheckSpecialService.cs | 9 +- SGGL/BLL/SysManage/UnitService.cs | 16 ++ .../File/Word/HSSE/专项检查.doc | Bin 29184 -> 11684 bytes .../HSSE/Check/CheckSpecial.aspx.cs | 206 ++++++++++++++---- .../HSSE/Check/CheckSpecialView.aspx | 32 ++- .../HSSE/Check/CheckSpecialView.aspx.cs | 4 + .../Check/CheckSpecialView.aspx.designer.cs | 75 +++++-- .../InformationAnalysis/CheckAnalysis.aspx.cs | 90 +++++--- .../APIItem/HSSE/CheckSpecialDetailItem.cs | 4 + SGGL/Model/APIItem/HSSE/CheckSpecialItem.cs | 60 +++++ SGGL/Model/Model.cs | 120 ++++++++++ SGGL/WebAPI/Controllers/PersonController.cs | 23 ++ 15 files changed, 721 insertions(+), 140 deletions(-) create mode 100644 DataBase/版本日志/SGGLDB_WH_2023-09-27.sql diff --git a/DataBase/版本日志/SGGLDB_WH_2023-09-27.sql b/DataBase/版本日志/SGGLDB_WH_2023-09-27.sql new file mode 100644 index 00000000..e3bfcf70 --- /dev/null +++ b/DataBase/版本日志/SGGLDB_WH_2023-09-27.sql @@ -0,0 +1,39 @@ +--רܼ쵥λ +alter table Check_CheckSpecial add ResponsibleUnit nvarchar(50) null; +--λ +alter table Check_CheckSpecial add WorkAreaId nvarchar(50) null; +-- +alter table Check_CheckSpecial add QuestionType nvarchar(50) null; +-- +alter table Check_CheckSpecial add ResponsibleMan nvarchar(50) null; +--ӱӴֶ +alter table Check_CheckSpecialDetail add CheckOpinions nvarchar(2000) null; + +----------------------------------------------------------޸Ա״̬ + +--1.ô +alter table SitePerson_Person disable trigger SitePerson_Person_Bak_TRIGGER; + +--α +DECLARE @projectid nvarchar(50) -- + +DECLARE mycursor CURSOR FOR select projectid from base_project where ProjectState='3' --α + +OPEN mycursor --α + +FETCH NEXT FROM mycursor INTO @projectid + +WHILE(@@FETCH_STATUS = 0) --еݣ@@FETCH_STATUSֵΪ0ʾFETCHִгɹ +BEGIN + update SitePerson_Person set IsUsed=0 where ProjectId=@projectid;--޸ + FETCH NEXT FROM mycursor INTO @projectid --ȡһα +END + +CLOSE mycursor --رα + +DEALLOCATE mycursor --ɾα +GO + +--ô +alter table SitePerson_Person enable trigger SitePerson_Person_Bak_TRIGGER; + 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..09c6c784 100644 --- a/SGGL/BLL/API/HSSE/APICheckSpecialService.cs +++ b/SGGL/BLL/API/HSSE/APICheckSpecialService.cs @@ -43,6 +43,18 @@ namespace BLL States = x.States, AttachUrl1 = APIUpLoadFileService.getFileUrl(x.CheckSpecialId, null), CheckSpecialDetailItems = getCheckSpecialDetailList(x.CheckSpecialId), + + 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, + + + }; return getInfo.FirstOrDefault(); } @@ -117,18 +129,38 @@ 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 }; //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 +199,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; } @@ -238,6 +271,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.ToList(); } @@ -290,6 +324,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 +351,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 +360,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 +407,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/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/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/File/Word/HSSE/专项检查.doc b/SGGL/FineUIPro.Web/File/Word/HSSE/专项检查.doc index 84c6efe331fff65b4782a53368e0f2445f927b37..90ca6147444c181d9bd3db94f4f409aaffd0d7bd 100644 GIT binary patch literal 11684 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 E0S5Q9f&c&j literal 29184 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 C5Il$g 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..4eb70936 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/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..bda13b16 100644 --- a/SGGL/Model/APIItem/HSSE/CheckSpecialItem.cs +++ b/SGGL/Model/APIItem/HSSE/CheckSpecialItem.cs @@ -180,5 +180,65 @@ 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; } + } } diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs index f3139172..339bc509 100644 --- a/SGGL/Model/Model.cs +++ b/SGGL/Model/Model.cs @@ -59583,6 +59583,14 @@ namespace Model private string _CheckItemSetId; + private string _ResponsibleUnit; + + private string _WorkAreaId; + + private string _QuestionType; + + private string _ResponsibleMan; + private EntityRef _Base_Project; private EntityRef _Technique_CheckItemSet; @@ -59623,6 +59631,14 @@ 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(); #endregion public Check_CheckSpecial() @@ -59960,6 +59976,86 @@ 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.AssociationAttribute(Name="FK_Check_CheckSpecial_Base_Project", Storage="_Base_Project", ThisKey="ProjectId", OtherKey="ProjectId", IsForeignKey=true)] public Base_Project Base_Project { @@ -60099,6 +60195,8 @@ namespace Model private System.Nullable _Rectification_Date; + private string _CheckOpinions; + private EntityRef _Base_Unit; private EntityRef _WBS_UnitWork; @@ -60151,6 +60249,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 +60708,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 { 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