| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  | using BLL; | 
					
						
							|  |  |  |  | using Model; | 
					
						
							|  |  |  |  | using System; | 
					
						
							|  |  |  |  | using System.Linq; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace FineUIPro.Web.JDGL.WBS | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  |     public partial class WBSSetEdit : PageBase | 
					
						
							|  |  |  |  |     { | 
					
						
							|  |  |  |  |         #region 加载 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 加载页面 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void Page_Load(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             if (!IsPostBack) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 LoadData(); | 
					
						
							|  |  |  |  |                 string id = Request.Params["Id"]; | 
					
						
							|  |  |  |  |                 string type = Request.Params["Type"]; | 
					
						
							|  |  |  |  |                 string operating = Request.Params["operating"]; | 
					
						
							|  |  |  |  |                 if (operating == "add") | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     int i = 0; | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                     if (type.Equals("cnProfession")) | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                     { | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                         //txtCode.Text = GetNewCode(id, i, "cnProfession"); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     else | 
					
						
							|  |  |  |  |                     { | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                         txtCode.Readonly = true; | 
					
						
							|  |  |  |  |                         this.trSortIndex.Hidden = true; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                         txtCode.Text = GetNewCode(id, i, "wbsSet"); | 
					
						
							|  |  |  |  |                         Model.WBS_WbsSetInit wbsSet = BLL.WbsSetInitService.GetWbsSetInitByWbsSetCode(id); | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                         this.trWeight.Hidden = false; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                         if (wbsSet != null) | 
					
						
							|  |  |  |  |                         { | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                             if (wbsSet.Weights != null) | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                             { | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                                 this.nbWeights.Text = wbsSet.Weights.ToString(); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                             } | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     if (type.Equals("unitProject")) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         Model.Wbs_UnitProjectInit unitProject = BLL.UnitProjectInitService.GetUnitProjectInitByUnitProjectCode(id); | 
					
						
							|  |  |  |  |                         if (unitProject != null) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             txtCode.Text = unitProject.UnitProjectCode; | 
					
						
							|  |  |  |  |                             txtName.Text = unitProject.UnitProjectName; | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                             if (unitProject.SortIndex != null) | 
					
						
							|  |  |  |  |                             { | 
					
						
							|  |  |  |  |                                 txtSortIndex.Text = unitProject.SortIndex.ToString(); | 
					
						
							|  |  |  |  |                             } | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     else | 
					
						
							|  |  |  |  |                     { | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                         txtCode.Readonly = true; | 
					
						
							|  |  |  |  |                         this.trSortIndex.Hidden = true; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                         Model.WBS_WbsSetInit wbsSet = BLL.WbsSetInitService.GetWbsSetInitByWbsSetCode(id); | 
					
						
							|  |  |  |  |                         if (wbsSet != null) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             if (BLL.WbsSetInitService.GetItemCount(id) == 0)  //末级节点 | 
					
						
							|  |  |  |  |                             { | 
					
						
							|  |  |  |  |                                 this.trWeight.Hidden = false; | 
					
						
							|  |  |  |  |                                 if (wbsSet.Weights != null) | 
					
						
							|  |  |  |  |                                 { | 
					
						
							|  |  |  |  |                                     this.nbWeights.Text = wbsSet.Weights.ToString(); | 
					
						
							|  |  |  |  |                                 } | 
					
						
							|  |  |  |  |                             } | 
					
						
							|  |  |  |  |                             txtCode.Text = wbsSet.WbsSetCode; | 
					
						
							|  |  |  |  |                             txtName.Text = wbsSet.WbsSetName; | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         private void LoadData() | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             btnClose.OnClientClick = ActiveWindow.GetHideReference(); | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 获取编号 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 获取编号 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="code"></param> | 
					
						
							|  |  |  |  |         /// <param name="i"></param> | 
					
						
							|  |  |  |  |         /// <param name="type"></param> | 
					
						
							|  |  |  |  |         /// <returns></returns> | 
					
						
							|  |  |  |  |         private string GetNewCode(string code, int i, string type) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string newCode = string.Empty; | 
					
						
							|  |  |  |  |             string testCode = string.Empty; | 
					
						
							|  |  |  |  |             string istr = string.Empty; | 
					
						
							|  |  |  |  |             i++; | 
					
						
							|  |  |  |  |             if (i < 10) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 istr = "0" + i.ToString(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 istr = i.ToString(); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             testCode = string.Empty; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |             if (type == "cnProfession" && !code.Contains('-')) | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 var cnProfess = CnProfessionInitService.GetCnProfessionInitByCnProfessionId(code); | 
					
						
							|  |  |  |  |                 var count = 0; | 
					
						
							|  |  |  |  |                 if (cnProfess != null) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     count = BLL.UnitProjectInitService.GetUnitProcountByCnProfessionId(System.Convert.ToInt32(code)); | 
					
						
							|  |  |  |  |                     testCode = cnProfess.CnProfessionCode + "-" + istr; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     count = BLL.UnitProjectInitService.GetUnitProjectInitcountByUnitProjectCode(code); | 
					
						
							|  |  |  |  |                     testCode = code + "-" + istr; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 if (count == 0) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     newCode = testCode; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     do | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         i++; | 
					
						
							|  |  |  |  |                         if (i < 10) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             istr = "0" + i.ToString(); | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                         else | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             istr = i.ToString(); | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                         if (cnProfess != null) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                             testCode = cnProfess.CnProfessionCode + "-" + istr; | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                         else | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             testCode = code + "-" + istr; | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                     } while (BLL.UnitProjectInitService.GetUnitProjectInitByUnitProjectCode(testCode) != null); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     newCode = testCode; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                 testCode = code + istr; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                 if (BLL.WbsSetInitService.GetWbsSetInitByWbsSetCode(testCode) == null) | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     newCode = testCode; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     do | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         i++; | 
					
						
							|  |  |  |  |                         if (i < 10) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             istr = "0" + i.ToString(); | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                         else | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             istr = i.ToString(); | 
					
						
							|  |  |  |  |                         } | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                         testCode = code + istr; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                     } while (BLL.WbsSetInitService.GetWbsSetInitByWbsSetCode(testCode) != null); | 
					
						
							|  |  |  |  |                     newCode = testCode; | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             return newCode; | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |         #region 保存 | 
					
						
							|  |  |  |  |         /// <summary> | 
					
						
							|  |  |  |  |         /// 保存按钮 | 
					
						
							|  |  |  |  |         /// </summary> | 
					
						
							|  |  |  |  |         /// <param name="sender"></param> | 
					
						
							|  |  |  |  |         /// <param name="e"></param> | 
					
						
							|  |  |  |  |         protected void btnSave_Click(object sender, EventArgs e) | 
					
						
							|  |  |  |  |         { | 
					
						
							|  |  |  |  |             string id = Request.Params["Id"]; | 
					
						
							|  |  |  |  |             string type = Request.Params["Type"]; | 
					
						
							|  |  |  |  |             string operating = Request.Params["operating"]; | 
					
						
							|  |  |  |  |             if (operating == "add") | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 if (type == "cnProfession") | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     Model.WBS_CnProfessionInit cnProfession = CnProfessionInitService.GetCnProfessionInitByCnProfessionId(id); | 
					
						
							|  |  |  |  |                     Model.Wbs_UnitProjectInit unitProject = new Wbs_UnitProjectInit(); | 
					
						
							|  |  |  |  |                     unitProject.UnitProjectCode = txtCode.Text.Trim(); | 
					
						
							|  |  |  |  |                     unitProject.UnitProjectName = txtName.Text.Trim(); | 
					
						
							|  |  |  |  |                     unitProject.CnProfessionId = cnProfession.CnProfessionId; | 
					
						
							|  |  |  |  |                     unitProject.IsIn = false; | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                     unitProject.SortIndex = Funs.GetNewIntOrZero(txtSortIndex.Text.Trim()); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                     BLL.UnitProjectInitService.AddUnitProjectInit(unitProject); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     Model.WBS_WbsSetInit oldWbsSet = BLL.WbsSetInitService.GetWbsSetInitByWbsSetCode(id); | 
					
						
							|  |  |  |  |                     Model.Wbs_UnitProjectInit oldUnitProject = BLL.UnitProjectInitService.GetUnitProjectInitByUnitProjectCode(id); | 
					
						
							|  |  |  |  |                     Model.WBS_WbsSetInit wbsSet = new WBS_WbsSetInit(); | 
					
						
							|  |  |  |  |                     wbsSet.WbsSetCode = txtCode.Text.Trim(); | 
					
						
							|  |  |  |  |                     wbsSet.WbsSetName = txtName.Text.Trim(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  |                     if (!string.IsNullOrEmpty(this.nbWeights.Text.Trim())) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         wbsSet.Weights = Funs.GetNewIntOrZero(this.nbWeights.Text.Trim()); | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     if (oldWbsSet == null) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         wbsSet.CnProfessionId = oldUnitProject.CnProfessionId; | 
					
						
							|  |  |  |  |                         wbsSet.UnitProjectCode = oldUnitProject.UnitProjectCode; | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                         wbsSet.SuperWbsSetCode = null; | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                     } | 
					
						
							|  |  |  |  |                     else | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         wbsSet.CnProfessionId = oldWbsSet.CnProfessionId; | 
					
						
							|  |  |  |  |                         wbsSet.UnitProjectCode = oldWbsSet.UnitProjectCode; | 
					
						
							|  |  |  |  |                         wbsSet.SuperWbsSetCode = oldWbsSet.WbsSetCode; | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                     wbsSet.IsIn = false; | 
					
						
							|  |  |  |  |                     BLL.WbsSetInitService.AddWbsSetInit(wbsSet); | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 BLL.LogService.AddSys_Log(this.CurrUser, id, id, BLL.Const.WBSSetMenuId, "增加WBS库单位、分部、分项工程!"); | 
					
						
							|  |  |  |  |                 PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(txtCode.Text.Trim()) + ActiveWindow.GetHidePostBackReference()); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |             else | 
					
						
							|  |  |  |  |             { | 
					
						
							|  |  |  |  |                 if (type == "unitProject") | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     Model.Wbs_UnitProjectInit unitProject = BLL.UnitProjectInitService.GetUnitProjectInitByUnitProjectCode(id); | 
					
						
							|  |  |  |  |                     if (unitProject != null) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         unitProject.UnitProjectCode = id; | 
					
						
							|  |  |  |  |                         unitProject.UnitProjectName = txtName.Text.Trim(); | 
					
						
							| 
									
										
										
										
											2021-08-13 11:15:59 +08:00
										 |  |  |  |                         unitProject.SortIndex = Funs.GetNewIntOrZero(txtSortIndex.Text.Trim()); | 
					
						
							| 
									
										
										
										
											2021-04-30 10:28:37 +08:00
										 |  |  |  |                         BLL.UnitProjectInitService.UpdateUnitProjectInit(unitProject); | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 else | 
					
						
							|  |  |  |  |                 { | 
					
						
							|  |  |  |  |                     Model.WBS_WbsSetInit wbsSet = BLL.WbsSetInitService.GetWbsSetInitByWbsSetCode(id); | 
					
						
							|  |  |  |  |                     if (wbsSet != null) | 
					
						
							|  |  |  |  |                     { | 
					
						
							|  |  |  |  |                         wbsSet.WbsSetCode = txtCode.Text.Trim(); | 
					
						
							|  |  |  |  |                         wbsSet.WbsSetName = txtName.Text.Trim(); | 
					
						
							|  |  |  |  |                         if (!string.IsNullOrEmpty(this.nbWeights.Text.Trim())) | 
					
						
							|  |  |  |  |                         { | 
					
						
							|  |  |  |  |                             wbsSet.Weights = Funs.GetNewIntOrZero(this.nbWeights.Text.Trim()); | 
					
						
							|  |  |  |  |                         } | 
					
						
							|  |  |  |  |                         BLL.WbsSetInitService.UpdateWbsSetInit(wbsSet); | 
					
						
							|  |  |  |  |                     } | 
					
						
							|  |  |  |  |                 } | 
					
						
							|  |  |  |  |                 BLL.LogService.AddSys_Log(this.CurrUser, id, id, BLL.Const.WBSSetMenuId, "修改WBS库单位、分部、分项工程!"); | 
					
						
							|  |  |  |  |                 PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); | 
					
						
							|  |  |  |  |             } | 
					
						
							|  |  |  |  |         } | 
					
						
							|  |  |  |  |         #endregion | 
					
						
							|  |  |  |  |     } | 
					
						
							|  |  |  |  | } |