diff --git a/SGGL/BLL/API/HSSE/APIHazardRegisterService.cs b/SGGL/BLL/API/HSSE/APIHazardRegisterService.cs index 565c5768..79bc863d 100644 --- a/SGGL/BLL/API/HSSE/APIHazardRegisterService.cs +++ b/SGGL/BLL/API/HSSE/APIHazardRegisterService.cs @@ -30,7 +30,7 @@ namespace BLL /// /// /// - public static List getHazardRegisterByProjectIdStates(string projectId, string states, int type ,int pageIndex) + public static List getHazardRegisterByProjectIdStates(string projectId, string states, int type, int pageIndex) { using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString)) { @@ -82,7 +82,8 @@ namespace BLL Requirements = hazardRegister.Requirements, Risk_Level = hazardRegister.Risk_Level, - HiddenType= hazardRegister.HiddenType + PunishPerson = hazardRegister.PunishPerson, + HiddenType = hazardRegister.HiddenType }; var RegisterTypesDt = db.HSSE_Hazard_HazardRegisterTypes.FirstOrDefault(x => x.RegisterTypesId == newHazardRegister.RegisterTypesId); @@ -91,7 +92,7 @@ namespace BLL newHazardRegister.Type = 1; //常规巡检 } else - { + { newHazardRegister.Type = 0; //日常巡检 } var isUpdate = db.HSSE_Hazard_HazardRegister.FirstOrDefault(x => x.HazardRegisterId == newHazardRegister.HazardRegisterId); @@ -103,7 +104,7 @@ namespace BLL { newHazardRegister.HazardRegisterId = SQLHelper.GetNewID(); } - db.HSSE_Hazard_HazardRegister.InsertOnSubmit(newHazardRegister); + db.HSSE_Hazard_HazardRegister.InsertOnSubmit(newHazardRegister); } else { @@ -132,6 +133,43 @@ namespace BLL else if (hazardRegister.States == Const.State_2) { APICommonService.SendSubscribeMessage(hazardRegister.CheckManId, "安全巡检待复查验收", hazardRegister.ResponsibilityManName, string.Format("{0:yyyy-MM-dd HH:mm:ss}", hazardRegister.RectificationTime)); + //推送总包 + var porject = BLL.ProjectService.GetProjectByProjectId(hazardRegister.ProjectId); + if (!string.IsNullOrWhiteSpace(porject.SubjectUnit) && !string.IsNullOrWhiteSpace(porject.SubjectProject)) + { + var register = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(hazardRegister.HazardRegisterId); + if (register != null) + { + if (register.DataSource == "1") + { + //推送到总包 + APIHazardRegisterSyncService.pushHazardRegisterLists(register.ProjectId, register.HazardRegisterId); + } + } + } + } + else if (hazardRegister.States == Const.State_3) + { + //闭环后通过的并且有处罚人的数据添加到奖罚管理中 + if (!string.IsNullOrEmpty(hazardRegister.PunishPerson)) + { + Model.Check_RewardAndPunish RewardAndPunish = new Model.Check_RewardAndPunish(); + RewardAndPunish.RewardAndPunishID = SQLHelper.GetNewID(typeof(Model.Check_RewardAndPunish)); + RewardAndPunish.ProjectId = hazardRegister.ProjectId; + RewardAndPunish.Type = 2; + RewardAndPunish.ResponseUnit = hazardRegister.ResponsibleUnit; + RewardAndPunish.Date = hazardRegister.CheckTime; + RewardAndPunish.Description = hazardRegister.RegisterDef; + RewardAndPunish.CreateMan = hazardRegister.CheckManId; + RewardAndPunish.RewardAndPunishCode = BLL.RewardAndPunishService.getCode("1", "CF"); + RewardAndPunish.RewardAndPunishMan = hazardRegister.PunishPerson; + RewardAndPunish.TeamGroupId = + BLL.PersonService.GetPersonById(hazardRegister.PunishPerson).TeamGroupId; + RewardAndPunish.DataSource = "1"; + RewardAndPunish.SysTemType = "1"; + RewardAndPunish.HazardRegisterId = hazardRegister.HazardRegisterId; + BLL.RewardAndPunishService.AddRewardAndPunish(RewardAndPunish); + } } } } @@ -177,7 +215,7 @@ namespace BLL ResponsibilityManName = db.Sys_User.First(User => x.ResponsibleMan == User.UserId).UserName, RectificationTime = x.RectificationTime, Risk_Level = x.Risk_Level, - HiddenType=x.HiddenType + HiddenType = x.HiddenType }).OrderBy(x => x.CheckTime).Skip(Funs.PageSize * (pageIndex - 1)).Take(Funs.PageSize).ToList(); return hazardRegisters; diff --git a/SGGL/BLL/API/HSSE/APIMeetingService.cs b/SGGL/BLL/API/HSSE/APIMeetingService.cs index c7006564..d74732d5 100644 --- a/SGGL/BLL/API/HSSE/APIMeetingService.cs +++ b/SGGL/BLL/API/HSSE/APIMeetingService.cs @@ -408,7 +408,12 @@ namespace BLL { CommonService.btnSaveData(meeting.ProjectId, Const.ProjectClassMeetingMenuId, newClassMeeting.ClassMeetingId, newClassMeeting.CompileMan, true, newClassMeeting.ClassMeetingName, "../Meeting/ClassMeetingView.aspx?ClassMeetingId={0}"); } - + //班前会小程序新增推送到总包 + var porject = BLL.ProjectService.GetProjectByProjectId(newClassMeeting.ProjectId); + if (!string.IsNullOrWhiteSpace(porject.SubjectUnit) && !string.IsNullOrWhiteSpace(porject.SubjectProject)) + {//项目关联了总包单位项目,保存成功后自动推送至总包单位 + APIMeetingSyncService.PushClassMeetingLists(newClassMeeting.ProjectId, newClassMeeting.ClassMeetingId); + } menuId = Const.ProjectClassMeetingMenuId; } else if (meeting.MeetingType == "W") diff --git a/SGGL/BLL/CQMS/Check/RewardAndPunishService.cs b/SGGL/BLL/CQMS/Check/RewardAndPunishService.cs index 83e001c7..ef11298f 100644 --- a/SGGL/BLL/CQMS/Check/RewardAndPunishService.cs +++ b/SGGL/BLL/CQMS/Check/RewardAndPunishService.cs @@ -120,7 +120,32 @@ namespace BLL db.SubmitChanges(); } } - + + /// + /// 获取最大编号 + /// + /// + /// + /// + public static string getCode(string SysTemType, string type) + { + var maxCode = Funs.DB.Check_RewardAndPunish + .Where(x => x.SysTemType == SysTemType && x.RewardAndPunishCode.Contains(type)) + .Max(x => x.RewardAndPunishCode); + if (maxCode != null) + { + //取最后5 位 + var code = maxCode.Substring(maxCode.Length - 5); + var codeNum = int.Parse(code); + codeNum++; + return $"{type}{codeNum:D5}"; + } + else + { + return $"{type}00001"; + } + } + } } diff --git a/SGGL/FineUIPro.Web/CQMS/Check/RewardAndPunishEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Check/RewardAndPunishEdit.aspx.cs index 9365504a..b29ebfc7 100644 --- a/SGGL/FineUIPro.Web/CQMS/Check/RewardAndPunishEdit.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Check/RewardAndPunishEdit.aspx.cs @@ -55,7 +55,6 @@ namespace FineUIPro.Web.CQMS.Check Model.Check_RewardAndPunish RewardAndPunish = BLL.RewardAndPunishService.GetRewardAndPunishById(RewardAndPunishID); if (RewardAndPunish != null) { - //this.CurrUser.LoginProjectId = RewardAndPunish.ProjectId; this.drpRewardAndPunishType.SelectedValue = RewardAndPunish.RewardAndPunishType; @@ -169,7 +168,19 @@ namespace FineUIPro.Web.CQMS.Check RewardAndPunish.Type = int.Parse(this.drpType.SelectedValue); RewardAndPunish.ResponseUnit = this.drpResponseUnit.SelectedValue; // RewardAndPunish.NoticeUnit = this.drpNoticeUnit.SelectedValue; - RewardAndPunish.Money = Decimal.Parse(this.txtMoney.Text); + if (!string.IsNullOrWhiteSpace(this.txtMoney.Text)) + { + decimal moneyValue; + if (decimal.TryParse(this.txtMoney.Text.Trim(), out moneyValue)) + { + RewardAndPunish.Money = moneyValue; + } + else + { + Alert.ShowInTop("金额必须为有效数字!", MessageBoxIcon.Warning); + return; + } + } RewardAndPunish.Date = Convert.ToDateTime(this.dpDate.Text.Trim()); RewardAndPunish.Description = this.txtDescription.Text; RewardAndPunish.CreateMan = this.CurrUser.UserId; @@ -231,17 +242,36 @@ namespace FineUIPro.Web.CQMS.Check { if (this.drpType.SelectedValue == "1") { - this.txtRewardAndPunishCode.Text = BLL.SQLHelper.RunProcNewId("SpGetNewCode5", - "Check_RewardAndPunish", "RewardAndPunishCode", $"JL"); + // this.txtRewardAndPunishCode.Text = BLL.SQLHelper.RunProcNewId("SpGetNewCode5", + // "Check_RewardAndPunish", "RewardAndPunishCode", $"JL"); + this.txtRewardAndPunishCode.Text = BLL.RewardAndPunishService.getCode(SysTemType,"JL"); } else { - this.txtRewardAndPunishCode.Text = BLL.SQLHelper.RunProcNewId("SpGetNewCode5", - "Check_RewardAndPunish", "RewardAndPunishCode", $"CF"); + // this.txtRewardAndPunishCode.Text = BLL.SQLHelper.RunProcNewId("SpGetNewCode5", + // "Check_RewardAndPunish", "RewardAndPunishCode", $"CF"); + this.txtRewardAndPunishCode.Text = BLL.RewardAndPunishService.getCode(SysTemType,"CF"); } drpRewardAndPunishType_Click(sender, e); } - + protected void getCode(string type) + { + var maxCode = Funs.DB.Check_RewardAndPunish + .Where(x => x.SysTemType == SysTemType && x.RewardAndPunishCode.Contains(type)) + .Max(x => x.RewardAndPunishCode); + if (maxCode != null) + { + //取最后5 位 + var code = maxCode.Substring(maxCode.Length - 5); + var codeNum = int.Parse(code); + codeNum++; + this.txtRewardAndPunishCode.Text = $"{type}{codeNum:D5}"; + } + else + { + this.txtRewardAndPunishCode.Text = $"{type}00001"; + } + } protected void drpRewardAndPunishType_Click(object sender, EventArgs e) { diff --git a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx.cs b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx.cs index d9278edd..097e8b5b 100644 --- a/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx.cs +++ b/SGGL/FineUIPro.Web/HSSE/HiddenInspection/HiddenRectificationConfirm.aspx.cs @@ -185,9 +185,8 @@ namespace FineUIPro.Web.HSSE.HiddenInspection RewardAndPunish.ResponseUnit = register.ResponsibleUnit; RewardAndPunish.Date = register.CheckTime; RewardAndPunish.Description = register.RegisterDef; - RewardAndPunish.CreateMan = register.CheckManId; - RewardAndPunish.RewardAndPunishCode = BLL.SQLHelper.RunProcNewId("SpGetNewCode5", - "Check_RewardAndPunish", "RewardAndPunishCode", $"CF"); + RewardAndPunish.CreateMan = register.CheckManId; + RewardAndPunish.RewardAndPunishCode = BLL.RewardAndPunishService.getCode("1", "CF");//接口获取的编号 RewardAndPunish.RewardAndPunishMan = register.PunishPerson; RewardAndPunish.TeamGroupId = BLL.PersonService.GetPersonById(register.PunishPerson).TeamGroupId; RewardAndPunish.DataSource = "1"; diff --git a/SGGL/Model/APIItem/HSSE/HazardRegisterItem.cs b/SGGL/Model/APIItem/HSSE/HazardRegisterItem.cs index 50a19d15..39fc6941 100644 --- a/SGGL/Model/APIItem/HSSE/HazardRegisterItem.cs +++ b/SGGL/Model/APIItem/HSSE/HazardRegisterItem.cs @@ -368,7 +368,15 @@ namespace Model get; set; } - + /// + /// 惩罚人 + /// + public string PunishPerson + { + get; + set; + } + /// /// 隐患类型 /// diff --git a/SGGL/WebAPI/Controllers/DataShare/HSSE/HazardRegisterSyncController.cs b/SGGL/WebAPI/Controllers/DataShare/HSSE/HazardRegisterSyncController.cs index 73f8ef8a..ec44ffd6 100644 --- a/SGGL/WebAPI/Controllers/DataShare/HSSE/HazardRegisterSyncController.cs +++ b/SGGL/WebAPI/Controllers/DataShare/HSSE/HazardRegisterSyncController.cs @@ -14,13 +14,13 @@ namespace WebAPI.Controllers /// 拉取项目安全检查数据 /// /// - public Model.ResponeData getHazardRegisterLists() + public Model.ResponeData getHazardRegisterLists(string projectId = "") { var responeData = new Model.ResponeData(); try { responeData.code = 1; - responeData.data = APIHazardRegisterSyncService.getHazardRegisterLists(); + responeData.data = APIHazardRegisterSyncService.getHazardRegisterLists(projectId); } catch (Exception ex) { diff --git a/SGGL/WebAPI/WebAPI.csproj.user b/SGGL/WebAPI/WebAPI.csproj.user index 252faead..377acc13 100644 --- a/SGGL/WebAPI/WebAPI.csproj.user +++ b/SGGL/WebAPI/WebAPI.csproj.user @@ -1,7 +1,7 @@ - Release|Any CPU + Debug|Any CPU true