using BLL; using FineUIPro.Web.SmartSite; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Linq; namespace FineUIPro.Web.HSSE.CostGoods { public partial class CostManageAudit : 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 /// /// 当前办理步骤 /// private static Model.CostGoods_CostManageFlowOperate NowFlow = new Model.CostGoods_CostManageFlowOperate(); /// /// 下一步办理步骤 /// private static Model.CostGoods_CostManageFlowOperate NextFlow = new Model.CostGoods_CostManageFlowOperate(); #region 加载 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.btnClose.OnClientClick = ActiveWindow.GetHideRefreshReference(); this.ProjectId = this.CurrUser.LoginProjectId; this.CostManageId = Request.Params["CostManageId"]; var costManage = BLL.CostManageService.GetCostManageById(this.CostManageId); if (costManage != null) { this.ProjectId = costManage.ProjectId; this.drpUnit.Text = UnitService.GetUnitNameByUnitId(costManage.UnitId); this.txtContractNum.Text = costManage.ContractNum; this.txtCostManageDate.Text = string.Format("{0:yyyy-MM-dd}", costManage.CostManageDate); BindGrid(); this.txtProjectName.Text = ProjectService.GetProjectNameByProjectId(this.ProjectId); this.txtHseCost.Text = ProjectUnitService.GetSumHSECost(this.ProjectId, costManage.UnitId).ToString(); this.txtGetCost.Text = CostManageService.GetSumHSECost(this.ProjectId, costManage.UnitId, this.CostManageId).ToString(); NowFlow = CostManageService.getNowCostManageFlowOperateList(costManage.CostManageId); if (NowFlow != null) { this.txtOpinion.Text = NowFlow.Opinion; } NextFlow = CostManageService.getNextCostManageFlowOperateList(costManage.CostManageId, this.CurrUser.PersonId); if (NextFlow != null) { Person_PersonsService.InitFlowOperateControlUserDropDownList(this.drpNextMan, this.ProjectId, NextFlow.UnitId, true); this.drpNextMan.Label = NextFlow.AuditFlowName; if (!string.IsNullOrEmpty(NextFlow.OperaterId)) { this.drpNextMan.SelectedValue = NextFlow.OperaterId; } } else { this.Label1.Text = "审核完成"; this.drpNextMan.Hidden = true; } 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 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.PageIndex = 0; this.Grid2.DataBind(); } #endregion #region 提交 /// /// 提交按钮 /// /// /// protected void btnSubmit_Click(object sender, EventArgs e) { if (this.drpNextMan.SelectedValue == BLL.Const._Null && this.rblIsAgree.SelectedValue == "1" && NextFlow != null) { Alert.ShowInTop("请选择" + this.drpNextMan.Label + "!", MessageBoxIcon.Warning); return; } this.SaveData(); } /// /// 保存数据 /// /// private void SaveData() { var getCost = CostManageService.GetCostManageById(this.CostManageId); if (getCost != null) { bool isAgree = true; if (this.rblIsAgree.SelectedValue == "0") ///不同意 直接打回编制人 { isAgree = false; NowFlow.Opinion = this.rblIsAgree.SelectedItem.Text + "," + this.txtOpinion.Text; getCost.States = BLL.Const.State_0; getCost.NextManId = getCost.CompileMan; BLL.CostManageService.UpdateCostManage(getCost); CostManageService.updateOpenCostManageFlowOperate(this.CostManageId); } else { NowFlow.Opinion = this.rblIsAgree.SelectedItem.Text + "。"; NowFlow.IsClosed = true; if (NextFlow != null) { NextFlow.OperaterId = this.drpNextMan.SelectedValue; BLL.CostManageService.updateCostManageFlowOperate(NextFlow); getCost.NextManId = this.drpNextMan.SelectedValue; BLL.CostManageService.UpdateCostManage(getCost); } else { getCost.NextManId = null; getCost.States = BLL.Const.State_2; BLL.CostManageService.UpdateCostManage(getCost); string messaage = CostManageService.PushDataToHSE(this.CurrUser.LoginProjectId, getCost.ContractNum, getCost.CostManageId); if (string.IsNullOrEmpty(messaage)) { Alert.ShowInTop("推送成功!", MessageBoxIcon.Success); } else { Alert.ShowInTop(messaage, MessageBoxIcon.Warning); } } } NowFlow.IsAgree = isAgree; NowFlow.OperaterTime = DateTime.Now; BLL.CostManageService.updateCostManageFlowOperate(NowFlow); } PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } #endregion #region 附件上传 /// /// 上传附件 /// /// /// protected void btnAttachUrl_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(this.CostManageId)) { PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/CostManageAttachUrl&menuId={1}&type=-1", this.CostManageId, BLL.Const.ProjectCostManageMenuId))); } } #endregion /// /// 是否同意 /// /// /// protected void rblIsAgree_SelectedIndexChanged(object sender, EventArgs e) { if (this.rblIsAgree.SelectedValue == "1") { this.trO.Hidden = true; this.trN.Hidden = false; } else { this.trO.Hidden = false; this.trN.Hidden = true; } if (NextFlow == null) { this.Label1.Text = "审核完成"; this.drpNextMan.Hidden = true; } } } }