using BLL; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Linq; namespace FineUIPro.Web.HSSE.CostGoods { public partial class CostManageEdit : PageBase { #region 定义项 /// /// 主键 /// private string CostManageId { get { return (string)ViewState["CostManageId"]; } set { ViewState["CostManageId"] = value; } } /// /// 项目主键 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } #endregion #region 加载 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.btnClose.OnClientClick = ActiveWindow.GetHideRefreshReference(); this.ProjectId = this.CurrUser.LoginProjectId; BLL.UnitService.InitUnitDropDownList(this.drpUnit, this.ProjectId, false); this.CostManageId = Request.Params["CostManageId"] ?? SQLHelper.GetNewID(); var costManage = BLL.CostManageService.GetCostManageById(this.CostManageId); if (costManage != null) { this.ProjectId = costManage.ProjectId; if (this.ProjectId != this.CurrUser.LoginProjectId) { BLL.UnitService.InitUnitDropDownList(this.drpUnit, this.ProjectId, false); } if (!string.IsNullOrEmpty(costManage.UnitId)) { this.drpUnit.SelectedValue = costManage.UnitId; } this.txtContractNum.Text = costManage.ContractNum; this.txtCostManageDate.Text = string.Format("{0:yyyy-MM-dd}", costManage.CostManageDate); } else { this.drpUnit.SelectedValue = this.CurrUser.UnitId ?? Const.UnitId_SEDIN; this.txtCostManageDate.Text = string.Format("{0:yyyy-MM-dd}", System.DateTime.Now); } if (BLL.ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(this.ProjectId, this.CurrUser.UnitId)) { this.drpUnit.Readonly = true; } BindGrid(); this.txtProjectName.Text = ProjectService.GetProjectNameByProjectId(this.ProjectId); this.txtHseCost.Text = ProjectUnitService.GetSumHSECost(this.ProjectId, this.drpUnit.SelectedValue).ToString(); this.txtGetCost.Text = CostManageService.GetSumHSECost(this.ProjectId, this.drpUnit.SelectedValue, this.CostManageId).ToString(); Person_PersonsService.InitFlowOperateControlUserDropDownList(this.drpNextMan, this.ProjectId, this.drpUnit.SelectedValue, true); if (ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(this.ProjectId, this.drpUnit.SelectedValue)) { this.drpNextMan.Label = "分包单位项目经理审批"; } else { this.drpNextMan.Label = "安全经理审核"; } BindGrid2(); } } #endregion #region 绑定Grid /// /// 绑定Grid /// private void BindGrid() { var costManageItems = BLL.CostManageItemService.GetCostManageItemByCostManageId(this.CostManageId); this.Grid1.DataSource = costManageItems; this.Grid1.PageIndex = 0; this.Grid1.DataBind(); OutputSummaryData(costManageItems); } private void OutputSummaryData(List getItem) { JObject summary = new JObject(); summary.Add("InvestCostProject", "本次申请合计金额(元)"); summary.Add("PriceMoney", getItem.Sum(x=>x.PriceMoney ?? 0)); Grid1.SummaryData = summary; } /// /// 关闭弹出窗口 /// /// /// protected void Window1_Close(object sender, EventArgs e) { BindGrid(); } #endregion #region 新增费用申请情况 /// /// 新增费用申请情况 /// /// /// protected void btnNew_Click(object sender, EventArgs e) { if (this.drpUnit.SelectedValue == BLL.Const._Null && !string.IsNullOrEmpty(this.drpUnit.SelectedValue)) { Alert.ShowInTop("请选择分包商!", MessageBoxIcon.Warning); return; } var getCost = CostManageService.GetCostManageById(this.CostManageId); if (getCost == null) { SaveData(Const.BtnSave); } PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CostManageItemEdit.aspx?CostManageId={0}", this.CostManageId, "编辑 - "))); } /// /// 编辑 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { this.Edit(); } /// /// 编辑 /// /// /// protected void btnMenuEdit_Click(object sender, EventArgs e) { this.Edit(); } private void Edit() { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string id = Grid1.SelectedRowID; PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CostManageItemEdit.aspx?CostManageItemId={0}", id, "编辑 - "))); } /// /// 删除 /// /// /// protected void btnMenuDelete_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); Delete(rowID); } } } /// /// /// /// /// protected void gvMonthPlan_RowCommand(object sender, GridCommandEventArgs e) { string rowID = this.Grid1.DataKeys[e.RowIndex][0].ToString(); if (e.CommandName == "Delete") { Delete(rowID); } } /// /// /// /// private void Delete(string rowId) { BLL.CostManageItemService.DeleteCostManageItemById(rowId); this.BindGrid(); ShowNotify("删除数据成功!", MessageBoxIcon.Success); } #endregion #region BindGrid2 /// /// 绑定Grid /// private void BindGrid2() { var FlowOperates = from x in Funs.DB.CostGoods_CostManageFlowOperate where x.CostManageId == this.CostManageId select new { x.FlowOperateId, x.CostManageId, x.AuditFlowName, x.SortIndex, x.UnitId, UnitName=Funs.DB.Base_Unit.First(u=>u.UnitId == x.UnitId).UnitName, x.OperaterId, OperaterName= Funs.DB.Person_Persons.First(u => u.PersonId == x.OperaterId).PersonName, x.OperaterTime, x.IsAgree, x.Opinion, x.IsClosed }; this.Grid2.DataSource = FlowOperates.OrderByDescending(x=>x.SortIndex); this.Grid2.DataBind(); } #endregion #region 保存 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { this.SaveData(BLL.Const.BtnSave); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } /// /// 提交按钮 /// /// /// protected void btnSubmit_Click(object sender, EventArgs e) { if (this.drpNextMan.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择" + this.drpNextMan.Label + "!", MessageBoxIcon.Warning); return; } this.SaveData(BLL.Const.BtnSubmit); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } /// /// 保存数据 /// /// private void SaveData(string type) { if (this.drpUnit.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请选择单位!", MessageBoxIcon.Warning); return; } Model.CostGoods_CostManage costManage = new Model.CostGoods_CostManage { ProjectId = this.ProjectId, UnitId = this.drpUnit.SelectedValue == Const._Null ? null : this.drpUnit.SelectedValue, ContractNum = this.txtContractNum.Text.Trim(), CostManageDate = Funs.GetNewDateTime(this.txtCostManageDate.Text.Trim()), States = BLL.Const.State_0, CompileMan = this.CurrUser.PersonId, CompileDate = DateTime.Now, }; if (type == Const.BtnSubmit) { costManage.States = BLL.Const.State_1; costManage.NextManId = this.drpNextMan.SelectedValue; } else { costManage.NextManId = costManage.CompileMan; } var getCost= CostManageService.GetCostManageById(this.CostManageId); if (getCost != null) { costManage.CostManageId = this.CostManageId; BLL.CostManageService.UpdateCostManage(costManage); BLL.LogService.AddSys_Log(this.CurrUser, costManage.CostManageCode, costManage.CostManageId, BLL.Const.ProjectCostManageMenuId, BLL.Const.BtnModify); } else { costManage.CostManageCode = Funs.GetNewFileName(); costManage.CostManageId = this.CostManageId; BLL.CostManageService.AddCostManage(costManage); BLL.LogService.AddSys_Log(this.CurrUser, costManage.CostManageCode, costManage.CostManageId, BLL.Const.ProjectCostManageMenuId, BLL.Const.BtnAdd); } if (type == Const.BtnSubmit) { var getNext=CostManageService.getNextCostManageFlowOperateList(this.CostManageId, this.CurrUser.PersonId); if(getNext != null) { getNext.OperaterId = this.drpNextMan.SelectedValue ; CostManageService.updateCostManageFlowOperate(getNext); } } } #endregion #region 附件上传 /// /// 上传附件 /// /// /// protected void btnAttachUrl_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.CostManageId)) { this.SaveData(BLL.Const.BtnSave); } PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/CostManageAttachUrl&menuId={1}", this.CostManageId, BLL.Const.ProjectCostManageMenuId))); } #endregion } }