using BLL; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Runtime.CompilerServices; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using AspNet = System.Web.UI.WebControls; namespace FineUIPro.Web.CQMS.Information { public partial class CostReportEdit : PageBase { #region 定义变量 /// /// 方案审查主键 /// public string CostReportId { get { return (string)ViewState["CostReportId"]; } set { ViewState["CostReportId"] = value; } } #endregion #region 定义集合 /// /// 定义会签意见集合 /// public static List approves = new List(); #endregion public int ContactImg { get { return Convert.ToInt32(ViewState["ContactImg"]); } set { ViewState["ContactImg"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BLL.SecretLevelService.InitSecretLevelDropDownList(drpSecretLevel, true); UnitService.InitUnitByProjectIdUnitTypeDropDownList(drpUnit, CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, true); ContactImg = 0; //CommonService.GetAllButtonList(CurrUser.LoginProjectId, CurrUser.UserId, Const.CostReportMenuId); txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); CostReportId = Request.Params["costReportId"]; if (!string.IsNullOrWhiteSpace(CostReportId)) { HFCostReportId.Text = CostReportId; Model.CQMS_CostReport costReport = CostReportService.GetCostReportByCostReportId(CostReportId); txtCostReportCode.Text = costReport.CostReportCode; if (!string.IsNullOrEmpty(costReport.SecretLevelId)) { drpSecretLevel.SelectedValue = costReport.SecretLevelId; } if (!string.IsNullOrEmpty(costReport.UnitId)) { drpUnit.SelectedValue = costReport.UnitId; } if (!string.IsNullOrEmpty(costReport.ConfirmFormIds)) { string[] strs = costReport.ConfirmFormIds.Split(','); List list = new List(); foreach (var item in strs) { Model.CQMS_ConfirmForm confirmForm = BLL.ConfirmFormService.GetConfirmFormByConfirmFormId(item); if (confirmForm != null) { list.Add(confirmForm); } } drpConfirmFormIds.DataValueField = "ConfirmFormId"; drpConfirmFormIds.DataTextField = "ConfirmFormCode"; drpConfirmFormIds.DataSource = list; drpConfirmFormIds.DataBind(); this.drpConfirmFormIds.SelectedValueArray = strs; } this.txtContractNo.Text = costReport.ContractNo; this.txtContractContent.Text = costReport.ContractContent; if (costReport.CompileDate != null) { txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", costReport.CompileDate); } if (costReport.Edition != null) { txtEdition.Text = costReport.Edition.ToString(); } this.Grid1.DataSource = BLL.CostReportDetailService.GetViewLists(CostReportId); this.Grid1.DataBind(); bindApprove(); if (costReport.State == Const.CostReport_Compile) { agree.Hidden = true; options.Hidden = true; optio.Hidden = true; CostReportService.Init(drpHandleType, Const.CostReport_Compile, false); UserService.InitUserProjectIdUnitTypeDropDownList(drpHandleMan, CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_1, false); } else if (costReport.State == Const.CostReport_ReCompile) { this.trNext.Hidden = true; agree.Hidden = true; options.Hidden = true; optio.Hidden = true; if (costReport.PlanCost != null) { this.txtPlanCost.Text = costReport.PlanCost.ToString(); } } else if (costReport.State == Const.CostReport_Audit1) { NoEdit(); this.trNext.Hidden = true; this.trPlanCost.Hidden = false; if (costReport.PlanCost != null) { this.txtPlanCost.Text = costReport.PlanCost.ToString(); } } else if (costReport.State == Const.CostReport_Audit2 || costReport.State == Const.CostReport_Audit3) { NoEdit(); this.trNext.Hidden = true; this.trPlanCost.Hidden = false; if (costReport.PlanCost != null) { this.txtPlanCost.Text = costReport.PlanCost.ToString(); } this.txtPlanCost.Enabled = false; this.trAuditCost.Hidden = false; if (costReport.AuditCost != null) { this.txtAuditCost.Text = costReport.AuditCost.ToString(); } } else if (costReport.State == Const.CostReport_Audit4) { NoEdit(); this.trNext.Hidden = true; this.trPlanCost.Hidden = false; if (costReport.PlanCost != null) { this.txtPlanCost.Text = costReport.PlanCost.ToString(); } this.txtPlanCost.Enabled = false; this.trAuditCost.Hidden = false; if (costReport.AuditCost != null) { this.txtAuditCost.Text = costReport.AuditCost.ToString(); } this.txtAuditCost.Enabled = false; this.trRealCost.Hidden = false; if (costReport.RealCost != null) { this.txtRealCost.Text = costReport.RealCost.ToString(); } } } else { agree.Hidden = true; txtEdition.Text = "0"; options.Hidden = true; optio.Hidden = true; plApprove2.Hidden = true; CostReportService.Init(drpHandleType, Const.CostReport_Compile, false); //UserService.InitUserProjectIdUnitTypeDropDownList(drpHandleMan, CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_1, false); //txtCostReportCode.Text = SQLHelper.RunProcNewId2("SpGetNewCode3ByProjectId", "dbo.CQMS_CostReport", "Code", CurrUser.LoginProjectId); } } else { if (GetRequestEventArgument() == "UPDATE_SUMMARY") { // 页面要求重新计算合计行的值 OutputSummaryData(); } } } private void NoEdit() { txtCostReportCode.Enabled = false; drpSecretLevel.Enabled = false; drpUnit.Enabled = false; txtContractNo.Enabled = false; drpConfirmFormIds.Enabled = false; txtContractContent.Enabled = false; txtCompileDate.Enabled = false; txtEdition.Enabled = false; ContactImg = -1; } #region 计算合计 /// /// 计算合计 /// private void OutputSummaryData() { decimal totalPlanCost = 0; int i = 0; JArray mergedData = Grid1.GetMergedData(); if (mergedData.Count > 0) { foreach (JObject mergedRow in mergedData) { JObject values = mergedRow.Value("values"); if (!string.IsNullOrEmpty(values.Value("RealCost"))) { totalPlanCost += Funs.GetNewDecimalOrZero(values.Value("RealCost")); } else { totalPlanCost += 0; } } this.txtPlanCost.Text = totalPlanCost.ToString(); } } #endregion /// /// 审批列表 /// private void bindApprove() { var list = CostReportApproveService.getListData(CostReportId); gvApprove.DataSource = list; gvApprove.DataBind(); } public string man(Object man) { string appman = string.Empty; if (UserService.GetUserByUserId(man.ToString()) != null) { appman = UserService.GetUserByUserId(man.ToString()).UserName; } return appman; } #region 保存/提交 protected void btnSave_Click(object sender, EventArgs e) { //validate(Const.BtnSave, "save"); if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.UserId, Const.CostReportMenuId, Const.BtnSave)) { SaveCostReport("save"); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); Alert.ShowInTop("保存成功!", MessageBoxIcon.Success); } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); } } protected void btnSubmit_Click(object sender, EventArgs e) { validate(Const.BtnSubmit, "submmit"); } /// /// 保存验证 /// /// /// public void validate(string buttonName, string tip) { if (CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, CurrUser.UserId, Const.CostReportMenuId, buttonName)) { string err = string.Empty; if (this.drpSecretLevel.SelectedValue == BLL.Const._Null) { err += "请选择密级,"; } if (this.drpUnit.SelectedValue == BLL.Const._Null) { err += "请选择分包单位,"; } if (this.trPlanCost.Hidden == false && string.IsNullOrEmpty(this.txtPlanCost.Text.Trim()) && this.rblIsAgree.SelectedValue == "true") { err += "请输入申报签证费用,"; } if (this.trAuditCost.Hidden == false && string.IsNullOrEmpty(this.txtAuditCost.Text.Trim()) && this.rblIsAgree.SelectedValue == "true") { err += "请输入确认签证费用,"; } if (this.trRealCost.Hidden == false && string.IsNullOrEmpty(this.txtRealCost.Text.Trim()) && this.rblIsAgree.SelectedValue == "true") { err += "请输入同意签证费用,"; } //if (!AttachFileService.Getfile(HFCostReportId.Text, Const.CostReportMenuId)) //{ // err += "请上传附件,"; //} //if (trOne.Nodes[0].Nodes.Count == 0 && trTwo.Nodes.Count == 0 && trThree.Nodes.Count == 0 && // trFour.Nodes.Count == 0 && trFive.Nodes.Count == 0 && trSixe.Nodes.Count == 0) //{ // err += "请选择总包会签人员,"; //} if (!string.IsNullOrWhiteSpace(err)) { err = err.Substring(0, err.LastIndexOf(",")); err += "!"; } if (!string.IsNullOrWhiteSpace(err)) { Alert.ShowInTop(err, MessageBoxIcon.Warning); return; } if (!string.IsNullOrWhiteSpace(CostReportId)) {//更新时操作 if (tip == "save") { EditConstructSol("save"); } else { EditConstructSol("submit"); } } else { if (tip == "save") { SaveCostReport("save"); } else { SaveCostReport("submit"); } //添加时操作 } PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); if (tip == "save") { tip = "保存成功!"; } else { tip = "提交成功!"; } Alert.ShowInTop(tip, MessageBoxIcon.Success); } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); } } /// /// 编辑时候保存 /// private void EditConstructSol(string saveType) { Model.CQMS_CostReport costReport = new Model.CQMS_CostReport(); costReport.CostReportCode = txtCostReportCode.Text.Trim(); costReport.SecretLevelId = this.drpSecretLevel.SelectedValue; costReport.ProjectId = CurrUser.LoginProjectId; costReport.UnitId = this.drpUnit.SelectedValue; costReport.ContractNo = this.txtContractNo.Text.Trim(); costReport.ContractContent = this.txtContractContent.Text.Trim(); if (!string.IsNullOrEmpty(this.drpConfirmFormIds.SelectedValue)) { string str = string.Empty; foreach (var item in this.drpConfirmFormIds.SelectedValueArray) { str += item + ","; } if (!string.IsNullOrEmpty(str)) { str = str.Substring(0, str.Length - 1); } costReport.ConfirmFormIds = str; } int edtion = Convert.ToInt32(txtEdition.Text); costReport.Edition = edtion; if (!string.IsNullOrEmpty(txtCompileDate.Text.Trim())) { costReport.CompileDate = Convert.ToDateTime(txtCompileDate.Text.Trim()); } if (!string.IsNullOrEmpty(CostReportId)) { costReport.CostReportId = CostReportId; Model.CQMS_CostReport costReport1 = CostReportService.GetCostReportByCostReportId(CostReportId); BLL.CostReportDetailService.DeleteCostReportDetailByCostReportId(costReport.CostReportId); var details = GetDetails(); foreach (var item in details) { item.CostReportId = costReport.CostReportId; BLL.CostReportDetailService.AddCostReportDetail(item); } if (saveType == "submit") { Model.CQMS_CostReportApprove approve = CostReportApproveService.GetConstructSoluAppByApproveMan(CostReportId, CurrUser.UserId, Convert.ToInt32(costReport1.Edition)); if (approve != null) { approve.IsAgree = Convert.ToBoolean(this.rblIsAgree.SelectedValue); approve.ApproveIdea = this.txtOptions.Text.Trim(); approve.ApproveDate = DateTime.Now; CostReportApproveService.UpdateCostReportApprove(approve); } if (costReport1.State == BLL.Const.CostReport_Compile) { costReport.PlanCost = Funs.GetNewDecimalOrZero(this.txtPlanCost.Text.Trim()); costReport.State = this.drpHandleType.SelectedValue; Model.CQMS_CostReportApprove reApprove = new Model.CQMS_CostReportApprove(); reApprove.CostReportId = costReport.CostReportId; reApprove.ApproveMan = this.drpHandleMan.SelectedValue; reApprove.ApproveType = this.drpHandleType.SelectedValue; reApprove.Edition = edtion; CostReportApproveService.AddCostReportApprove(reApprove); } else if (costReport1.State == BLL.Const.CostReport_ReCompile) { //获取上个版次不同意的审批记录 List lastNotAggreeApproves = BLL.CostReportApproveService.GetNotAggreeApprovesByCostReportIdAndEdtion(CostReportId, costReport1.Edition.Value - 1); costReport.PlanCost = costReport1.PlanCost; costReport.AuditCost = costReport1.AuditCost; costReport.RealCost = costReport1.RealCost; costReport.State = lastNotAggreeApproves[0].ApproveType; foreach (var item in lastNotAggreeApproves) { Model.CQMS_CostReportApprove reApprove = new Model.CQMS_CostReportApprove(); reApprove.CostReportId = costReport.CostReportId; reApprove.ApproveMan = item.ApproveMan; reApprove.ApproveType = item.ApproveType; reApprove.Edition = edtion; CostReportApproveService.AddCostReportApprove(reApprove); } } else if (costReport1.State == BLL.Const.CostReport_Audit1) { if (this.rblIsAgree.SelectedValue == "true") //同意 { costReport.PlanCost = Funs.GetNewDecimalOrZero(this.txtPlanCost.Text.Trim()); costReport.State = BLL.Const.CostReport_Audit2; Model.CQMS_CostReportApprove reApprove = new Model.CQMS_CostReportApprove(); reApprove.CostReportId = costReport.CostReportId; var users = (from x in Funs.DB.Sys_User join y in Funs.DB.Project_ProjectUnit on x.UnitId equals y.UnitId join p in Funs.DB.Project_ProjectUser on x.UserId equals p.UserId where p.RoleId.Contains(Const.ControlEngineer) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId select x).ToList(); if (users.Count() > 0) { reApprove.ApproveMan = users[0].UserId; } reApprove.ApproveType = BLL.Const.CostReport_Audit2; reApprove.Edition = edtion; CostReportApproveService.AddCostReportApprove(reApprove); } else //不同意 { if (!string.IsNullOrEmpty(this.txtPlanCost.Text.Trim())) { costReport.PlanCost = Funs.GetNewDecimalOrZero(this.txtPlanCost.Text.Trim()); } costReport.State = Const.Statement_ReCompile; costReport.Edition = edtion + 1; Model.CQMS_CostReportApprove reApprove = new Model.CQMS_CostReportApprove(); reApprove.CostReportId = costReport.CostReportId; reApprove.ApproveMan = costReport1.CompileMan; reApprove.ApproveType = Const.CostReport_ReCompile; reApprove.Edition = edtion + 1; CostReportApproveService.AddCostReportApprove(reApprove); } } else if (costReport1.State == BLL.Const.CostReport_Audit2) { if (this.rblIsAgree.SelectedValue == "true") //同意 { costReport.PlanCost = Funs.GetNewDecimalOrZero(this.txtPlanCost.Text.Trim()); costReport.AuditCost = Funs.GetNewDecimalOrZero(this.txtAuditCost.Text.Trim()); costReport.State = BLL.Const.CostReport_Audit3; Model.CQMS_CostReportApprove reApprove = new Model.CQMS_CostReportApprove(); reApprove.CostReportId = costReport.CostReportId; var users = (from x in Funs.DB.Sys_User join y in Funs.DB.Project_ProjectUnit on x.UnitId equals y.UnitId join p in Funs.DB.Project_ProjectUser on x.UserId equals p.UserId where p.RoleId.Contains(Const.ControlManager) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId select x).ToList(); if (users.Count() > 0) { reApprove.ApproveMan = users[0].UserId; } reApprove.ApproveType = BLL.Const.CostReport_Audit3; reApprove.Edition = edtion; CostReportApproveService.AddCostReportApprove(reApprove); } else //不同意 { if (!string.IsNullOrEmpty(this.txtPlanCost.Text.Trim())) { costReport.PlanCost = Funs.GetNewDecimalOrZero(this.txtPlanCost.Text.Trim()); } if (!string.IsNullOrEmpty(this.txtAuditCost.Text.Trim())) { costReport.AuditCost = Funs.GetNewDecimalOrZero(this.txtAuditCost.Text.Trim()); } costReport.State = Const.Statement_ReCompile; costReport.Edition = edtion + 1; Model.CQMS_CostReportApprove reApprove = new Model.CQMS_CostReportApprove(); reApprove.CostReportId = costReport.CostReportId; reApprove.ApproveMan = costReport1.CompileMan; reApprove.ApproveType = Const.CostReport_ReCompile; reApprove.Edition = edtion + 1; CostReportApproveService.AddCostReportApprove(reApprove); } } else if (costReport1.State == BLL.Const.CostReport_Audit3) { if (this.rblIsAgree.SelectedValue == "true") //同意 { costReport.PlanCost = Funs.GetNewDecimalOrZero(this.txtPlanCost.Text.Trim()); costReport.AuditCost = Funs.GetNewDecimalOrZero(this.txtAuditCost.Text.Trim()); costReport.State = BLL.Const.CostReport_Audit4; Model.CQMS_CostReportApprove reApprove = new Model.CQMS_CostReportApprove(); reApprove.CostReportId = costReport.CostReportId; var users = (from x in Funs.DB.Sys_User join y in Funs.DB.Project_ProjectUnit on x.UnitId equals y.UnitId join p in Funs.DB.Project_ProjectUser on x.UserId equals p.UserId where p.RoleId.Contains(Const.ProjectManager) && y.UnitType == Const.ProjectUnitType_1 && p.ProjectId == CurrUser.LoginProjectId && y.ProjectId == CurrUser.LoginProjectId select x).ToList(); if (users.Count() > 0) { reApprove.ApproveMan = users[0].UserId; } reApprove.ApproveType = BLL.Const.CostReport_Audit4; reApprove.Edition = edtion; CostReportApproveService.AddCostReportApprove(reApprove); } else //不同意 { if (!string.IsNullOrEmpty(this.txtPlanCost.Text.Trim())) { costReport.PlanCost = Funs.GetNewDecimalOrZero(this.txtPlanCost.Text.Trim()); } if (!string.IsNullOrEmpty(this.txtAuditCost.Text.Trim())) { costReport.AuditCost = Funs.GetNewDecimalOrZero(this.txtAuditCost.Text.Trim()); } costReport.State = Const.Statement_ReCompile; costReport.Edition = edtion + 1; Model.CQMS_CostReportApprove reApprove = new Model.CQMS_CostReportApprove(); reApprove.CostReportId = costReport.CostReportId; reApprove.ApproveMan = costReport1.CompileMan; reApprove.ApproveType = Const.CostReport_ReCompile; reApprove.Edition = edtion + 1; CostReportApproveService.AddCostReportApprove(reApprove); } } else if (costReport1.State == BLL.Const.CostReport_Audit4) { if (this.rblIsAgree.SelectedValue == "true") //同意 { costReport.PlanCost = Funs.GetNewDecimalOrZero(this.txtPlanCost.Text.Trim()); costReport.AuditCost = Funs.GetNewDecimalOrZero(this.txtAuditCost.Text.Trim()); costReport.RealCost = Funs.GetNewDecimalOrZero(this.txtRealCost.Text.Trim()); costReport.State = BLL.Const.CostReport_Complete; Model.CQMS_CostReportApprove reApprove = new Model.CQMS_CostReportApprove(); reApprove.CostReportId = costReport.CostReportId; reApprove.ApproveType = BLL.Const.CostReport_Complete; reApprove.Edition = edtion; CostReportApproveService.AddCostReportApprove(reApprove); } else //不同意 { if (!string.IsNullOrEmpty(this.txtPlanCost.Text.Trim())) { costReport.PlanCost = Funs.GetNewDecimalOrZero(this.txtPlanCost.Text.Trim()); } if (!string.IsNullOrEmpty(this.txtAuditCost.Text.Trim())) { costReport.AuditCost = Funs.GetNewDecimalOrZero(this.txtAuditCost.Text.Trim()); } if (!string.IsNullOrEmpty(this.txtRealCost.Text.Trim())) { costReport.RealCost = Funs.GetNewDecimalOrZero(this.txtRealCost.Text.Trim()); } costReport.State = Const.Statement_ReCompile; costReport.Edition = edtion + 1; Model.CQMS_CostReportApprove reApprove = new Model.CQMS_CostReportApprove(); reApprove.CostReportId = costReport.CostReportId; reApprove.ApproveMan = costReport1.CompileMan; reApprove.ApproveType = Const.CostReport_ReCompile; reApprove.Edition = edtion + 1; CostReportApproveService.AddCostReportApprove(reApprove); } } CostReportService.UpdateCostReport(costReport); } LogService.AddSys_Log(CurrUser, costReport.CostReportCode, CostReportId, Const.CostReportMenuId, "修改工程签证费用报审表"); } } #endregion #region 添加时候的保存 /// /// 保存方案审查 /// /// 保存类型 private void SaveCostReport(string saveType) { //if (tvHSE.CheckedNodes.Count == 0 || (tvHSE.CheckedNodes.Count > 0 && tvHSE.CheckedNodes[0].Value == "0")) //{ // ScriptManager.RegisterStartupScript(this, typeof(string), "_alert", "alert('请选择HSE会签人员!')", true); // return; //} Model.CQMS_CostReport costReport = new Model.CQMS_CostReport(); costReport.CostReportCode = txtCostReportCode.Text.Trim(); costReport.SecretLevelId = this.drpSecretLevel.SelectedValue; costReport.ProjectId = CurrUser.LoginProjectId; costReport.UnitId = this.drpUnit.SelectedValue; costReport.ContractNo = this.txtContractNo.Text.Trim(); costReport.ContractContent = this.txtContractContent.Text.Trim(); if (!string.IsNullOrEmpty(this.drpConfirmFormIds.SelectedValue)) { string str = string.Empty; foreach (var item in this.drpConfirmFormIds.SelectedValueArray) { str += item + ","; } if (!string.IsNullOrEmpty(str)) { str = str.Substring(0, str.Length - 1); } costReport.ConfirmFormIds = str; } costReport.PlanCost = Funs.GetNewDecimalOrZero(this.txtPlanCost.Text.Trim()); int edtion = Convert.ToInt32(txtEdition.Text); costReport.Edition = edtion; if (!string.IsNullOrEmpty(txtCompileDate.Text.Trim())) { costReport.CompileDate = Convert.ToDateTime(txtCompileDate.Text.Trim()); } if (saveType == "submit") { costReport.State = Const.CostReport_Audit1; } else { costReport.State = Const.CostReport_Compile; } if (!string.IsNullOrEmpty(HFCostReportId.Text)) { costReport.CostReportId = HFCostReportId.Text; } else { costReport.CostReportId = SQLHelper.GetNewID(typeof(Model.CQMS_CostReport)); } costReport.CompileMan = CurrUser.UserId; costReport.Edition = Convert.ToInt32(txtEdition.Text); //if (!string.IsNullOrEmpty(HFCostReportId.Text)) //{ // CostReportService.UpdateCostReport(costReport); //} //else //{ CostReportService.AddCostReport(costReport); //} if (saveType == "submit") { Model.CQMS_CostReportApprove approve1 = new Model.CQMS_CostReportApprove(); approve1.CostReportId = costReport.CostReportId; approve1.ApproveDate = DateTime.Now; approve1.ApproveMan = this.CurrUser.UserId; approve1.ApproveType = Const.CostReport_Compile; approve1.Edition = Convert.ToInt32(txtEdition.Text); CostReportApproveService.AddCostReportApprove(approve1); Model.CQMS_CostReportApprove approve2 = new Model.CQMS_CostReportApprove(); approve2.CostReportId = costReport.CostReportId; approve2.ApproveMan = this.drpHandleMan.SelectedValue; approve2.ApproveType = Const.CostReport_Audit1; approve2.Edition = Convert.ToInt32(txtEdition.Text); CostReportApproveService.AddCostReportApprove(approve2); } else { Model.CQMS_CostReportApprove approve1 = new Model.CQMS_CostReportApprove(); approve1.CostReportId = costReport.CostReportId; approve1.ApproveMan = this.CurrUser.UserId; approve1.ApproveType = Const.CostReport_Compile; approve1.Edition = Convert.ToInt32(txtEdition.Text); CostReportApproveService.AddCostReportApprove(approve1); } BLL.CostReportDetailService.DeleteCostReportDetailByCostReportId(costReport.CostReportId); var details = GetDetails(); foreach (var item in details) { item.CostReportId = costReport.CostReportId; BLL.CostReportDetailService.AddCostReportDetail(item); } LogService.AddSys_Log(CurrUser, costReport.CostReportCode, CostReportId, Const.CostReportMenuId, "添加工程签证费用报审表"); //} //提交 //if (saveType == "submit") //{ // countersign(costReport.CostReportId); //} //LogService.AddSys_Log(CurrUser, costReport.CostReportCode, CostReportId, Const.CostReportMenuId, "编制工程签证费用报审表"); } #endregion protected void imgBtnFile_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(HFCostReportId.Text)) //新增记录 { HFCostReportId.Text = SQLHelper.GetNewID(typeof(Model.CQMS_CostReport)); } PageContext.RegisterStartupScript(WindowAtt.GetShowReference( String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CostReport&menuId={2}", ContactImg, HFCostReportId.Text, Const.CostReportMenuId))); } protected void btnapprove_Click(object sender, EventArgs e) { //HFCostReportId.Text var approve = CostReportApproveService.GetCostReportApproveByApproveMan(HFCostReportId.Text, CurrUser.UserId); if (approve != null) { var approveId = approve.CostReportApproveId; PageContext.RegisterStartupScript(WindowAtt.GetShowReference( String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CostReport&menuId={2}", 0, approveId, Const.CostReportMenuId))); } } protected void gvApprove_RowCommand(object sender, GridCommandEventArgs e) { object[] keys = gvApprove.DataKeys[e.RowIndex]; string fileId = string.Empty; if (keys == null) { return; } else { fileId = keys[0].ToString(); } PageContext.RegisterStartupScript(WindowAtt.GetShowReference( String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CostReport&menuId={2}", -1, fileId, Const.CostReportMenuId))); } protected void drpHandleType_SelectedIndexChanged(object sender, EventArgs e) { if (this.drpHandleType.SelectedValue == BLL.Const.CostReport_Complete) //审批完成 { this.drpHandleMan.Enabled = false; this.drpHandleMan.Required = false; this.drpHandleMan.Items.Clear(); } else { this.drpHandleMan.Enabled = true; this.drpHandleMan.Required = true; UserService.InitUserProjectIdUnitTypeDropDownList(drpHandleMan, CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_1, false); } } protected void rblIsAgree_SelectedIndexChanged(object sender, EventArgs e) { if (this.rblIsAgree.SelectedValue == "false") { this.drpHandleType.SelectedValue = BLL.Const.CostReport_ReCompile; this.drpHandleMan.Enabled = true; this.drpHandleMan.Required = true; Model.CQMS_CostReportApprove approve = BLL.CostReportApproveService.GetCompile(this.CostReportId); if (approve != null) { List list = new List(); Model.Sys_User compileMan = BLL.UserService.GetUserByUserId(approve.ApproveMan); list.Add(compileMan); drpHandleMan.DataValueField = "UserId"; drpHandleMan.DataTextField = "UserName"; this.drpHandleMan.DataSource = list; this.drpHandleMan.DataBind(); } } else { this.drpHandleType.SelectedValue = BLL.Const.CostReport_Complete; this.drpHandleMan.Enabled = false; this.drpHandleMan.Required = false; this.drpHandleMan.Items.Clear(); } } protected void drpUnit_SelectedIndexChanged(object sender, EventArgs e) { if (this.drpUnit.SelectedValue != BLL.Const._Null) { UserService.InitUserProjectIdUnitIdDropDownList(drpHandleMan, CurrUser.LoginProjectId, this.drpUnit.SelectedValue, false); ConfirmFormService.InitConfirmFormList2(drpConfirmFormIds, this.CurrUser.LoginProjectId, this.drpUnit.SelectedValue, false); } else { drpHandleMan.Items.Clear(); } } protected void drpConfirmFormIds_SelectedIndexChanged(object sender, EventArgs e) { if (!string.IsNullOrEmpty(this.drpConfirmFormIds.SelectedValue)) { decimal d = 0; List details = new List(); foreach (var item in this.drpConfirmFormIds.SelectedValueArray) { Model.CQMS_ConfirmForm confirmForm = BLL.ConfirmFormService.GetConfirmFormByConfirmFormId(item); Model.View_CQMS_CostReportDetail detail = new Model.View_CQMS_CostReportDetail(); detail.CostReportDetailId = SQLHelper.GetNewID(); detail.ConfirmFormId = item; detail.ConfirmFormCode = confirmForm.ConfirmFormCode; detail.TaskTheme = confirmForm.TaskTheme; Model.CQMS_Statement statement = BLL.StatementService.GetStatementByConfirmFormId(item); if (statement != null) { detail.PlanCost = statement.PlanCost; detail.RealCost = statement.RealCost; if (statement.RealCost != null) { d += statement.RealCost.Value; } } details.Add(detail); } Grid1.DataSource = details; Grid1.DataBind(); this.txtPlanCost.Text = d.ToString(); } else { Grid1.DataSource = null; Grid1.DataBind(); this.txtPlanCost.Text = string.Empty; } } /// /// 检查并保存集合 /// private List GetDetails() { List details = new List(); foreach (JObject mergedRow in Grid1.GetMergedData()) { JObject values = mergedRow.Value("values"); int i = mergedRow.Value("index"); Model.CQMS_CostReportDetail detail = new Model.CQMS_CostReportDetail(); detail.CostReportDetailId = this.Grid1.Rows[i].DataKeys[0].ToString(); detail.ConfirmFormId = this.Grid1.Rows[i].RowID; detail.SortIndex = i; detail.PlanCost = Funs.GetNewDecimalOrZero(values.Value("PlanCost")); detail.RealCost = Funs.GetNewDecimalOrZero(values.Value("RealCost")); detail.Remark = values.Value("Remark"); details.Add(detail); } return details; } } }