using BLL; using BLL.Common; using System; using System.Linq; using System.Collections.Generic; using FineUIPro; using System.Text.RegularExpressions; namespace FineUIPro.Web.common.ProjectSet { public partial class ProjectSysSet : PageBase { /// /// 页面加载 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GetButtonPower(); Show(this.CurrUser.LoginProjectId); } } #region 判断按钮权限 /// /// 判断按钮权限 /// private void GetButtonPower() { if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, Const.CQMSSysSetMenuId, Const.BtnSave)) { this.btnSave.Hidden = false; } } #endregion /// /// 提交按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { string projectId = this.CurrUser.LoginProjectId; if (string.IsNullOrEmpty(projectId)) { ShowNotify("请选择项目!", MessageBoxIcon.Warning); return; } #region 焊接 // 焊接 Model.Project_Sys_Set dayReport = BLL.Project_SysSetService.GetSysSetBySetId("1", projectId); Model.Project_Sys_Set point = BLL.Project_SysSetService.GetSysSetBySetId("2", projectId); Model.Project_Sys_Set trust = BLL.Project_SysSetService.GetSysSetBySetId("3", projectId); Model.Project_Sys_Set pdms = BLL.Project_SysSetService.GetSysSetBySetId("4", projectId); Model.Project_Sys_Set batch = BLL.Project_SysSetService.GetSysSetBySetId("5", projectId); Model.Project_Sys_Set jointB = BLL.Project_SysSetService.GetSysSetBySetId("6", projectId); Model.Project_Sys_Set thickness = BLL.Project_SysSetService.GetSysSetBySetId("7", projectId); Model.Project_Sys_Set pressUnit = BLL.Project_SysSetService.GetSysSetBySetId("8", projectId); Model.Project_Sys_Set AvevaNetUrl = BLL.Project_SysSetService.GetSysSetBySetId("9", projectId); if (jointB != null) { if (this.ckbJointB.Checked) { jointB.IsAuto = true; } else { jointB.IsAuto = false; } BLL.Project_SysSetService.UpdateSet(jointB); } else { Model.Project_Sys_Set newJointB = new Model.Project_Sys_Set(); newJointB.SetId = "6"; newJointB.ProjectId = projectId; if (this.ckbJointB.Checked) { newJointB.IsAuto = true; } else { newJointB.IsAuto = false; } BLL.Project_SysSetService.AddSet(newJointB); } if (pressUnit != null) { pressUnit.SetValue = this.rblPressUnit.SelectedValue; BLL.Project_SysSetService.UpdateSet(pressUnit); } else { Model.Project_Sys_Set newPressUnit = new Model.Project_Sys_Set(); newPressUnit.SetId = "8"; newPressUnit.SetValue = this.rblPressUnit.SelectedValue; newPressUnit.ProjectId = projectId; BLL.Project_SysSetService.AddSet(newPressUnit); } if (AvevaNetUrl != null) { AvevaNetUrl.SetValue = this.AvevaNetUrl.Text.Trim(); BLL.Project_SysSetService.UpdateSet(AvevaNetUrl); } else { Model.Project_Sys_Set newAvevaNetUrl = new Model.Project_Sys_Set(); newAvevaNetUrl.SetId = "9"; newAvevaNetUrl.SetName = "AVEVA NET 地址"; newAvevaNetUrl.SetValue = this.AvevaNetUrl.Text.Trim(); newAvevaNetUrl.ProjectId = projectId; BLL.Project_SysSetService.AddSet(newAvevaNetUrl); } if (thickness != null) { if (this.ckbThickness.Checked) { thickness.IsAuto = true; } else { thickness.IsAuto = false; } BLL.Project_SysSetService.UpdateSet(thickness); } else { Model.Project_Sys_Set newThickness = new Model.Project_Sys_Set(); newThickness.SetId = "7"; newThickness.ProjectId = projectId; if (this.ckbThickness.Checked) { newThickness.IsAuto = true; } else { newThickness.IsAuto = false; } BLL.Project_SysSetService.AddSet(newThickness); } if (this.ckbPdms.Checked) { pdms.IsAuto = true; } else { pdms.IsAuto = false; } } private void SaveColorModelSettings(string projectId) { UpsertByName("管线未完成", projectId, this.txtPipelineNOComplete.Text.Trim()); UpsertByName("管线已完成", projectId, this.txtPipelineComplete.Text.Trim()); UpsertByName("焊口未完成", projectId, this.drpJointNOCompleteColor.SelectedValue.Trim()); UpsertByName("焊口已完成", projectId, this.drpJointCompleteColor.SelectedValue.Trim()); } private void SaveQualitySettings(string projectId) { UpsertByName("检试验设备到期提醒天数", projectId, this.txtRemindDay.Text.Trim()); UpsertByName("月报开始日期", projectId, this.txtStarTime.Text.Trim()); UpsertByName("月报结束日期", projectId, this.txtEndTime.Text.Trim()); } #endregion #region Upsert Helpers private void UpsertIsAutoById(string setId, string projectId, bool value) { var existing = BLL.Project_SysSetService.GetSysSetBySetId(setId, projectId); if (existing != null) { existing.IsAuto = value; BLL.Project_SysSetService.UpdateSet(existing); } else { var newSet = new Model.Project_Sys_Set { SetId = setId, ProjectId = projectId, IsAuto = value }; BLL.Project_SysSetService.AddSet(newSet); } } private void UpsertValueById(string setId, string projectId, string value, string setName = null) { if (string.IsNullOrEmpty(value)) return; var existing = BLL.Project_SysSetService.GetSysSetBySetId(setId, projectId); if (existing != null) { existing.SetValue = value; if (!string.IsNullOrEmpty(setName)) existing.SetName = setName; BLL.Project_SysSetService.UpdateSet(existing); } else { var newSet = new Model.Project_Sys_Set { SetId = setId, ProjectId = projectId, SetValue = value, SetName = setName }; BLL.Project_SysSetService.AddSet(newSet); } } private void UpsertByName(string setName, string projectId, string value) { if (string.IsNullOrEmpty(value)) return; var existing = BLL.Project_SysSetService.GetSysSetBySetName(setName, projectId); if (existing != null) { existing.SetValue = value; BLL.Project_SysSetService.UpdateSet(existing); } else { var newSet = new Model.Project_Sys_Set { SetId = SQLHelper.GetNewID(typeof(Model.Project_Sys_Set)), ProjectId = projectId, SetName = setName, SetValue = value }; BLL.Project_SysSetService.AddSet(newSet); } } private void UpsertTrustSetting(string setId, string projectId, string selectedValue) { var existing = BLL.Project_SysSetService.GetSysSetBySetId(setId, projectId); if (existing != null) { if (selectedValue == "1") { existing.IsAuto = true; existing.SetValue = null; } else if (selectedValue == "2") { existing.IsAuto = false; existing.SetValue = null; } else { existing.IsAuto = null; existing.SetValue = selectedValue; } BLL.Project_SysSetService.UpdateSet(existing); } else { var newSet = new Model.Project_Sys_Set { SetId = setId, ProjectId = projectId }; if (selectedValue == "1") { newSet.IsAuto = true; } else if (selectedValue == "2") { newSet.IsAuto = false; } else { newSet.IsAuto = null; newSet.SetValue = selectedValue; } BLL.Project_SysSetService.AddSet(newSet); } } private void UpsertBatchSetting(string setId, string projectId) { var items = new List(); if (cb1.Checked) items.Add("1"); if (cb2.Checked) items.Add("2"); if (cb3.Checked) items.Add("3"); if (cb4.Checked) items.Add("4"); if (cb5.Checked) items.Add("5"); if (cb6.Checked) items.Add("6"); if (cb7.Checked) items.Add("7"); if (items.Count == 0) return; var lists = string.Join("|", items); var existing = BLL.Project_SysSetService.GetSysSetBySetId(setId, projectId); if (existing != null) { existing.IsAuto = true; existing.SetValue = lists; BLL.Project_SysSetService.UpdateSet(existing); } else { var newSet = new Model.Project_Sys_Set { SetId = setId, ProjectId = projectId, IsAuto = true, SetValue = lists }; BLL.Project_SysSetService.AddSet(newSet); } } #endregion #region 页面呈现 /// /// 页面呈现 /// private void Show(string projectId) { var q = from x in Funs.DB.Project_Sys_Set where x.ProjectId == projectId select x; if (q.Any()) { var dict = q.ToDictionary(x => x.SetId, x => x); SetCheckFromDict(dict, "1", this.ckbDayReport); SetCheckFromDict(dict, "2", this.ckbPoint); SetRobStandardFromDict(dict, "3"); SetCheckFromDict(dict, "4", this.ckbPdms); SetBatchFromDict(dict, "5"); SetCheckFromDict(dict, "6", this.ckbJointB); SetCheckFromDict(dict, "7", this.ckbThickness); SetRadioValueFromDict(dict, "8", this.rblPressUnit, defaultValue: "2"); if (dict.ContainsKey("9")) this.AvevaNetUrl.Text = dict["9"].SetValue; SetCheckFromDict(dict, "10", this.ckPressMustCheckBItem); if (dict.ContainsKey("11")) this.rbMaterialColorAttribute.SelectedValue = dict["11"].SetValue == "1" ? "1" : "2"; } //颜色模型设置 var m1 = BLL.Project_SysSetService.GetSysSetBySetName("管线未完成", this.CurrUser.LoginProjectId); if (m1 != null) this.txtPipelineNOComplete.Text = m1.SetValue; var m2 = BLL.Project_SysSetService.GetSysSetBySetName("管线已完成", this.CurrUser.LoginProjectId); if (m2 != null) this.txtPipelineComplete.Text = m2.SetValue; var m3 = BLL.Project_SysSetService.GetSysSetBySetName("焊口未完成", this.CurrUser.LoginProjectId); if (m3 != null) this.drpJointNOCompleteColor.SelectedValue = m3.SetValue; var m4 = BLL.Project_SysSetService.GetSysSetBySetName("焊口已完成", this.CurrUser.LoginProjectId); if (m4 != null) this.drpJointCompleteColor.SelectedValue = m4.SetValue; ///质量页面呈现 var c1 = BLL.Project_SysSetService.GetSysSetBySetName("检试验设备到期提醒天数", this.CurrUser.LoginProjectId); if (c1 != null) this.txtRemindDay.Text = c1.SetValue; var c2 = BLL.Project_SysSetService.GetSysSetBySetName("月报开始日期", this.CurrUser.LoginProjectId); if (c2 != null) this.txtStarTime.Text = c2.SetValue; else this.txtStarTime.Text = "25"; var c3 = BLL.Project_SysSetService.GetSysSetBySetName("月报结束日期", this.CurrUser.LoginProjectId); if (c3 != null) this.txtEndTime.Text = c3.SetValue; else this.txtEndTime.Text = "24"; } private void SetCheckFromDict(Dictionary dict, string setId, CheckBox checkBox) { if (!dict.ContainsKey(setId)) return; var s = dict[setId]; checkBox.Checked = s.IsAuto == true; } private void SetRobStandardFromDict(Dictionary dict, string setId) { if (!dict.ContainsKey(setId)) return; var s = dict[setId]; if (s.IsAuto == true) this.robStandard.SelectedValue = "1"; else if (s.IsAuto == false) this.robStandard.SelectedValue = "2"; else if (s.SetValue == "3") this.robStandard.SelectedValue = "3"; else if (s.SetValue == "4") this.robStandard.SelectedValue = "4"; } private void SetBatchFromDict(Dictionary dict, string setId) { if (!dict.ContainsKey(setId)) return; // reset some checkboxes first cb1.Checked = cb2.Checked = cb3.Checked = cb4.Checked = cb5.Checked = cb6.Checked = cb7.Checked = false; var s = dict[setId]; if (string.IsNullOrEmpty(s.SetValue)) return; var items = s.SetValue.Split('|'); foreach (var item in items) { switch (item) { case "1": cb1.Checked = true; break; case "2": cb2.Checked = true; break; case "3": cb3.Checked = true; break; case "4": cb4.Checked = true; break; case "5": cb5.Checked = true; break; case "6": cb6.Checked = true; break; case "7": cb7.Checked = true; break; } } } private void SetRadioValueFromDict(Dictionary dict, string setId, RadioButtonList rbl, string defaultValue = null) { if (!dict.ContainsKey(setId)) { if (defaultValue != null) rbl.SelectedValue = defaultValue; return; } var s = dict[setId]; rbl.SelectedValue = s.SetValue ?? defaultValue; } #endregion } }