285 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			285 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | 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; | |||
|  |                     if (type.Equals("cnProfession") || type.Equals("unitProject")) | |||
|  |                     { | |||
|  |                         txtCode.Text = GetNewCode(id, i, "cnProfession"); | |||
|  | 
 | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         txtCode.Text = GetNewCode(id, i, "wbsSet"); | |||
|  |                         Model.WBS_WbsSetInit wbsSet = BLL.WbsSetInitService.GetWbsSetInitByWbsSetCode(id); | |||
|  |                         if (wbsSet != null) | |||
|  |                         { | |||
|  |                             if (BLL.WbsSetInitService.GetItemCount(id) == 0)  //末级节点 | |||
|  |                             { | |||
|  |                                 this.trWbsSet2.Hidden = false; | |||
|  |                                 this.trWeight.Hidden = false; | |||
|  |                                 if (wbsSet.Weights != null) | |||
|  |                                 { | |||
|  |                                     this.nbWeights.Text = wbsSet.Weights.ToString(); | |||
|  |                                 } | |||
|  |                             } | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     if (type.Equals("unitProject")) | |||
|  |                     { | |||
|  |                         Model.Wbs_UnitProjectInit unitProject = BLL.UnitProjectInitService.GetUnitProjectInitByUnitProjectCode(id); | |||
|  |                         if (unitProject != null) | |||
|  |                         { | |||
|  |                             txtCode.Text = unitProject.UnitProjectCode; | |||
|  |                             txtName.Text = unitProject.UnitProjectName; | |||
|  |                             txtRemark.Text = unitProject.Remark; | |||
|  |                         } | |||
|  | 
 | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         Model.WBS_WbsSetInit wbsSet = BLL.WbsSetInitService.GetWbsSetInitByWbsSetCode(id); | |||
|  |                         if (wbsSet != null) | |||
|  |                         { | |||
|  |                             if (BLL.WbsSetInitService.GetItemCount(id) == 0)  //末级节点 | |||
|  |                             { | |||
|  |                                 this.trWbsSet2.Hidden = false; | |||
|  |                                 this.trWeight.Hidden = false; | |||
|  |                                 if (wbsSet.Weights != null) | |||
|  |                                 { | |||
|  |                                     this.nbWeights.Text = wbsSet.Weights.ToString(); | |||
|  |                                 } | |||
|  |                                 txtControlItemDef.Text = wbsSet.ControlItemDef; | |||
|  |                             } | |||
|  |                             txtCode.Text = wbsSet.WbsSetCode; | |||
|  |                             txtName.Text = wbsSet.WbsSetName; | |||
|  |                             txtRemark.Text = wbsSet.Remark; | |||
|  |                         } | |||
|  |                     } | |||
|  | 
 | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         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 | |||
|  |             { | |||
|  |                 testCode = code + "-" + istr; | |||
|  |                 if (BLL.WbsSetInitService.GetWbsSetInitByWbsSetCode(testCode) == null) | |||
|  |                 { | |||
|  |                     newCode = testCode; | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     do | |||
|  |                     { | |||
|  |                         i++; | |||
|  |                         if (i < 10) | |||
|  |                         { | |||
|  |                             istr = "0" + i.ToString(); | |||
|  |                         } | |||
|  |                         else | |||
|  |                         { | |||
|  |                             istr = i.ToString(); | |||
|  |                         } | |||
|  |                         testCode = code + "-" + istr; | |||
|  |                     } 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; | |||
|  |                     unitProject.Remark = txtRemark.Text.Trim(); | |||
|  |                     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.Flag = 1; | |||
|  |                         wbsSet.CnProfessionId = oldUnitProject.CnProfessionId; | |||
|  |                         wbsSet.UnitProjectCode = oldUnitProject.UnitProjectCode; | |||
|  |                         wbsSet.SuperWbsSetCode = oldUnitProject.UnitProjectCode; | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         wbsSet.Flag++; | |||
|  |                         wbsSet.CnProfessionId = oldWbsSet.CnProfessionId; | |||
|  |                         wbsSet.UnitProjectCode = oldWbsSet.UnitProjectCode; | |||
|  |                         wbsSet.SuperWbsSetCode = oldWbsSet.WbsSetCode; | |||
|  |                     } | |||
|  |                     wbsSet.ControlItemDef = this.txtControlItemDef.Text.Trim(); | |||
|  |                     wbsSet.IsIn = false; | |||
|  |                     wbsSet.Remark = txtRemark.Text.Trim(); | |||
|  |                     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(); | |||
|  |                         unitProject.Remark = txtRemark.Text.Trim(); | |||
|  |                         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()); | |||
|  |                         } | |||
|  |                         wbsSet.ControlItemDef = this.txtControlItemDef.Text.Trim(); | |||
|  |                         wbsSet.Remark = txtRemark.Text.Trim(); | |||
|  |                         BLL.WbsSetInitService.UpdateWbsSetInit(wbsSet); | |||
|  |                     } | |||
|  |                 } | |||
|  |                 BLL.LogService.AddSys_Log(this.CurrUser, id, id, BLL.Const.WBSSetMenuId, "修改WBS库单位、分部、分项工程!"); | |||
|  |                 PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  |     } | |||
|  | } |