From c26e450d67e107023237910067babaac9c514e0e Mon Sep 17 00:00:00 2001 From: yhw0507 Date: Mon, 5 Sep 2022 17:20:50 +0800 Subject: [PATCH] 20220905 --- SGGL/BLL/HJGL/PersonManage/CheckerService.cs | 2 +- SGGL/BLL/HJGL/PersonManage/WelderService.cs | 2 +- .../SitePerson/SitePerson_PersonService.cs | 101 +++++++++++++++++- .../PersonManage/CheckerManageEdit.aspx.cs | 3 +- .../PersonManage/WelderManageEdit.aspx.cs | 5 +- .../CQMS/CQMSPersonManageController.cs | 82 ++++++++++++++ SGGL/WebAPI/WebAPI.csproj | 2 + 7 files changed, 190 insertions(+), 7 deletions(-) create mode 100644 SGGL/WebAPI/Controllers/CQMS/CQMSPersonManageController.cs diff --git a/SGGL/BLL/HJGL/PersonManage/CheckerService.cs b/SGGL/BLL/HJGL/PersonManage/CheckerService.cs index 420c63c1..5260326c 100644 --- a/SGGL/BLL/HJGL/PersonManage/CheckerService.cs +++ b/SGGL/BLL/HJGL/PersonManage/CheckerService.cs @@ -41,7 +41,7 @@ namespace BLL /// public static void UpdateChecker(Model.SitePerson_Person checker) { - Model.SitePerson_Person newChecker = Funs.DB.SitePerson_Person.FirstOrDefault(e => e.PersonId == checker.PersonId); + Model.SitePerson_Person newChecker = Funs.DB.SitePerson_Person.FirstOrDefault(e => e.PersonId == checker.PersonId && e.ProjectId == checker.ProjectId); if (newChecker != null) { newChecker.PersonId = checker.PersonId; diff --git a/SGGL/BLL/HJGL/PersonManage/WelderService.cs b/SGGL/BLL/HJGL/PersonManage/WelderService.cs index 52d4c6a6..937ad266 100644 --- a/SGGL/BLL/HJGL/PersonManage/WelderService.cs +++ b/SGGL/BLL/HJGL/PersonManage/WelderService.cs @@ -15,7 +15,7 @@ namespace BLL /// public static void UpdateWelder(Model.SitePerson_Person welder) { - Model.SitePerson_Person newWelder = Funs.DB.SitePerson_Person.FirstOrDefault(e => e.PersonId == welder.PersonId); + Model.SitePerson_Person newWelder = Funs.DB.SitePerson_Person.FirstOrDefault(e => e.PersonId == welder.PersonId && e.ProjectId == welder.ProjectId); if (newWelder != null) { newWelder.WelderCode = welder.WelderCode; diff --git a/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs b/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs index 7574857c..a5343ed0 100644 --- a/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs +++ b/SGGL/BLL/HSSE/SitePerson/SitePerson_PersonService.cs @@ -28,7 +28,7 @@ namespace BLL /// 定义变量 /// private static IQueryable getDataLists = from x in db.View_SitePerson_Person - select x; + select x; /// /// 数据列表 @@ -41,7 +41,7 @@ namespace BLL /// /// /// - public static IEnumerable getListData(string projetcId, string unitId, string workPostId, string name, string idCard, string states,string personType, Grid Grid1) + public static IEnumerable getListData(string projetcId, string unitId, string workPostId, string name, string idCard, string states, string personType, Grid Grid1) { IQueryable getDataList = getDataLists.OrderBy(x => x.ProjectId).ThenBy(x => x.UnitId); if (!string.IsNullOrEmpty(projetcId) && projetcId != Const._Null) @@ -1034,5 +1034,102 @@ namespace BLL } } #endregion + + #region 获取焊工信息列表 + public static List GetWelderListDataForApi(string unitId, string projectId, int index, int page) + { + using (var db = new Model.SGGLDB(Funs.ConnString)) + { + IQueryable q = db.SitePerson_Person; + List ids = new List(); + if (!string.IsNullOrEmpty(unitId)) + { + q = q.Where(e => e.UnitId == unitId); + } + if (!string.IsNullOrEmpty(projectId)) + { + q = q.Where(e => e.ProjectId == projectId); + } + var qq1 = from x in q + where x.WorkPostId == Const.WorkPost_Welder && x.States == Const.ProjectPersonStates_1 + orderby x.PersonName + select new + { + x.PersonId, + x.PersonName, + x.UnitId, + }; + var list = qq1.Skip(index * page).Take(page).ToList(); + + List listRes = new List(); + for (int i = 0; i < list.Count; i++) + { + Model.SitePerson_Person x = new Model.SitePerson_Person(); + x.PersonId = list[i].PersonId; + x.PersonName = list[i].PersonName; + x.UnitId = list[i].UnitId + "$" + UnitService.GetUnitNameByUnitId(list[i].UnitId); + listRes.Add(x); + } + return listRes; + } + } + #endregion + + #region 获取焊工信息 + public static Model.Person_Persons GetWelder(string projectId, string personId) + { + using (var db = new Model.SGGLDB(Funs.ConnString)) + { + Model.SitePerson_Person x = db.SitePerson_Person.FirstOrDefault(e => e.ProjectId == projectId && e.PersonId == personId); + Model.Person_Persons getPerson = db.Person_Persons.FirstOrDefault(e => e.PersonId == personId); + getPerson.Sex = getPerson.Sex == "1" ? "男" : "女"; + getPerson.Birthday = getPerson.Birthday; + getPerson.PhotoUrl = getPerson.PhotoUrl; + getPerson.QRCodeAttachUrl = getPerson.QRCodeAttachUrl; + getPerson.IdentityCard = x.IdentityCard; + getPerson.CertificateId = x.CertificateCode; //证书编号 + getPerson.EduLevel = x.WelderLevel; //焊工等级 + getPerson.RelativeTel = x.Remark; //备注 + getPerson.RoleIds = AttachFileService.getFileUrl(x.SitePersonId); //焊工证路径 + getPerson.DepartId = x.SitePersonId; //焊工SitePersonId + if (!string.IsNullOrEmpty(x.WelderCode)) + { + getPerson.JobNum = x.WelderCode; + } + else + { + var u = BLL.UnitService.GetUnitByUnitId(x.UnitId); + string prefix = BLL.ProjectService.GetProjectCodeByProjectId(projectId) + "-" + u.UnitCode + "-H"; + getPerson.JobNum = BLL.SQLHelper.RunProcNewId("SpGetThreeNumber", "SitePerson_Person", "WelderCode", projectId, prefix); + } + getPerson.PersonName = x.PersonName; + var unit = UnitService.GetUnitByUnitId(x.UnitId); + getPerson.UnitId = x.UnitId + "$" + unit.UnitName; + return getPerson; + } + } + #endregion + + public static void UpdateWelderForApi(Model.SitePerson_Person Welder) + { + + using (var db = new Model.SGGLDB(Funs.ConnString)) + { + Model.SitePerson_Person newWelder = db.SitePerson_Person.First(e => e.SitePersonId == Welder.SitePersonId); + if (!string.IsNullOrEmpty(Welder.WelderCode)) + newWelder.WelderCode = Welder.WelderCode; + if (!string.IsNullOrEmpty(Welder.CertificateCode)) + newWelder.CertificateCode = Welder.CertificateCode; + if (!string.IsNullOrEmpty(Welder.UnitId)) + newWelder.UnitId = Welder.UnitId; + if (!string.IsNullOrEmpty(Welder.WelderLevel)) + newWelder.WelderLevel = Welder.WelderLevel; + if (!string.IsNullOrEmpty(Welder.Remark)) + newWelder.Remark = Welder.Remark; + newWelder.Isprint = "0"; + + db.SubmitChanges(); + } + } } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/PersonManage/CheckerManageEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/PersonManage/CheckerManageEdit.aspx.cs index be841a5e..7e739099 100644 --- a/SGGL/FineUIPro.Web/CQMS/PersonManage/CheckerManageEdit.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/PersonManage/CheckerManageEdit.aspx.cs @@ -120,7 +120,8 @@ namespace FineUIPro.Web.CQMS.PersonManage { edit = "1"; } - PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/WelderManage&menuId={1}&edit={2}&strParam=4", PersonId, BLL.Const.WelderManageMenuId, edit))); + Model.SitePerson_Person Checker = BLL.CheckerService.GetCheckerById(PersonId); + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/WelderManage&menuId={1}&edit={2}&strParam=4", Checker.SitePersonId, BLL.Const.WelderManageMenuId, edit))); } #endregion } diff --git a/SGGL/FineUIPro.Web/CQMS/PersonManage/WelderManageEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/PersonManage/WelderManageEdit.aspx.cs index 3ab9117e..f54529fa 100644 --- a/SGGL/FineUIPro.Web/CQMS/PersonManage/WelderManageEdit.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/PersonManage/WelderManageEdit.aspx.cs @@ -109,7 +109,7 @@ namespace FineUIPro.Web.CQMS.PersonManage // this.txtCertificateLimitTime.Text = string.Format("{0:yyyy-MM-dd}", welder.CertificateLimitTime); //} this.txtWelderLevel.Text = welder.WelderLevel; - if (welder.States == Const.State_1) + if (welder.States == Const.ProjectPersonStates_1) { cbIsUsed.Checked = true; } @@ -244,7 +244,8 @@ namespace FineUIPro.Web.CQMS.PersonManage { edit = "1"; } - PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/WelderManage&menuId={1}&edit={2}&strParam=4", PersonId, BLL.Const.WelderManageMenuId, edit))); + var welder = BLL.SitePerson_PersonService.GetSitePersonByProjectIdPersonId(this.CurrUser.LoginProjectId, PersonId); + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/WelderManage&menuId={1}&edit={2}&strParam=4", welder.SitePersonId, BLL.Const.WelderManageMenuId, edit))); } #endregion diff --git a/SGGL/WebAPI/Controllers/CQMS/CQMSPersonManageController.cs b/SGGL/WebAPI/Controllers/CQMS/CQMSPersonManageController.cs new file mode 100644 index 00000000..523e419e --- /dev/null +++ b/SGGL/WebAPI/Controllers/CQMS/CQMSPersonManageController.cs @@ -0,0 +1,82 @@ +using BLL; +using Model; +using System; +using System.Collections.Generic; +using System.Web.Http; + +namespace Mvc.Controllers +{ + public class CQMSPersonManageController : ApiController + { + /// + /// 焊工列表 + /// + /// + /// + /// + /// + /// + [HttpGet] + public ResponseData> WelderIndex(string projectId, int index, int page, string unitId) + { + ResponseData> res = new ResponseData>(); + + res.successful = true; + res.resultValue = BLL.SitePerson_PersonService.GetWelderListDataForApi(unitId, projectId, index, page); + return res; + } + + /// + /// 根据personId获取焊工详情 + /// + /// + /// + /// + [HttpGet] + public ResponseData GetWelder(string projectId, string personId) + { + ResponseData res = new ResponseData(); + Person_Persons welder = BLL.SitePerson_PersonService.GetWelder(projectId, personId); + res.successful = true; + res.resultValue = BeanUtil.CopyOjbect(welder, true); + return res; + } + + /// + /// 保存焊工 + /// + /// + /// + [HttpPost] + public ResponseData SaveWelder([FromBody] Model.SitePerson_Person Welder) + { + ResponseData res = new ResponseData(); + try + { + BLL.SitePerson_PersonService.UpdateWelderForApi(Welder); + SaveAttachFile(Welder.SitePersonId, BLL.Const.WelderManageMenuId, Welder.RoleIds); + res.resultValue = Welder.PersonId; + + res.successful = true; + + } + catch (Exception e) + { + res.resultHint = e.StackTrace; + res.successful = false; + } + return res; + } + + public static void SaveAttachFile(string dataId, string menuId, string url) + { + Model.ToDoItem toDoItem = new Model.ToDoItem + { + MenuId = menuId, + DataId = dataId, + UrlStr = url, + }; + APIUpLoadFileService.SaveAttachUrl(toDoItem); + } + } +} \ No newline at end of file diff --git a/SGGL/WebAPI/WebAPI.csproj b/SGGL/WebAPI/WebAPI.csproj index 505b15ce..4b15f887 100644 --- a/SGGL/WebAPI/WebAPI.csproj +++ b/SGGL/WebAPI/WebAPI.csproj @@ -167,6 +167,7 @@ + @@ -290,6 +291,7 @@ +