/// <summary> /// 数据加载 /// </summary> private void LoadData() { // 当前版本的合同号 string curContractCode = BLL.ContractRule.GetCurrentContractVersionCode(ContractCode); this.ViewState.Add("CurrentContractCode", curContractCode); try { EntityData entity = DAL.EntityDAO.ContractDAO.GetStandard_ContractByCode(ContractCode); decimal totalMoney = decimal.Zero; if (entity.HasRecord()) { /************************ 采购单 *************************/ DAL.QueryStrategy.PurchaseFlowStrategyBuilder sbp = new DAL.QueryStrategy.PurchaseFlowStrategyBuilder(); sbp.AddStrategy(new Strategy(DAL.QueryStrategy.PurchaseFlowStrategyName.ContractCode, entity.GetString("ContractCode"))); string sqlp = sbp.BuildMainQueryString(); QueryAgent QAp = new QueryAgent(); EntityData entityp = QAp.FillEntityData("PurchaseFlow", sqlp); string PurchaseName = ""; string PurchaseCode = ""; if (entityp.HasRecord()) { PurchaseName = entityp.CurrentRow["Purpose"].ToString(); PurchaseCode = entityp.CurrentRow["PurchaseFlowCode"].ToString(); } QAp.Dispose(); entityp.Dispose(); if (PurchaseCode != "") { this.PurchaseTr.Visible = true; this.PurchaseLink.InnerHtml = "<a href=\"javascript:OpenFullWindow('../Purchase/PurchaseManage.aspx?frameType=List&action=View&applicationCode=" + PurchaseCode + "','采购单');return false;\">" + PurchaseName + "</a>"; } else { this.PurchaseTr.Visible = false; } /*********************************************************/ this.ProjectCode = entity.GetString("ProjectCode"); this.LabelContractID.Text = entity.GetString("ContractID"); this.LabelType.Text = BLL.ContractRule.GetContractTypeName(entity.GetString("Type")); this.LabelRemark.Text = entity.GetString("Remark"); this.LabelContractName.Text = entity.GetString("ContractName"); this.LabelContractDate.Text = entity.GetDateTimeOnlyDate("ContractDate"); this.LabelContractPerson.Text = BLL.SystemRule.GetUserName(entity.GetString("ContractPerson")); this.SupplierSpan.InnerHtml = "<A href=\"javascript:doViewSupplier('" + entity.GetString("SupplierCode") + "');\">" + BLL.ProjectRule.GetSupplierName(entity.GetString("SupplierCode")) + "</A>"; totalMoney = entity.GetDecimal("TotalMoney"); this.LabelTotalMoney.Text = BLL.StringRule.BuildShowNumberString(totalMoney); this.lblThirdParty.Text = entity.GetString("ThirdParty"); this.lblUnitName.Text = BLL.SystemRule.GetUnitName(entity.GetString("UnitCode")); this.lblContractObject.Text = entity.GetString("ContractObject"); string WBSCode = entity.GetString("WBSCode"); if (WBSCode != "") { EntityData entityTask = DAL.EntityDAO.WBSDAO.GetTaskByCode(WBSCode); if (entityTask.HasRecord()) { this.lblTaskName.Text = entityTask.GetString("TaskName"); this.hrefTaskName.Attributes["hint"] = BLL.ConstructProgRule.GetTaskHintHtml(entityTask.CurrentRow); this.hrefTaskName.HRef = "javascript:OpenTask('" + WBSCode + "');"; } entityTask.Dispose(); } int status = entity.GetInt("Status"); // 设定合同变更标记 if (status == 4) { RmsPM.DAL.QueryStrategy.ContractStrategyBuilder CSB = new RmsPM.DAL.QueryStrategy.ContractStrategyBuilder(); CSB.AddStrategy(new Strategy(DAL.QueryStrategy.ContractStrategyName.ContractCode, curContractCode)); string sql1 = CSB.BuildMainQueryString(); QueryAgent qa1 = new QueryAgent(); qa1.SetTopNumber(1); EntityData entityTemp = qa1.FillEntityData("Contract", sql1); qa1.Dispose(); // 对比 if (entityTemp.HasRecord()) { if (entity.GetString("Type") != entityTemp.GetString("Type")) { this.LabelType.BackColor = Color.Yellow; } if (entity.GetString("Remark") != entityTemp.GetString("Remark")) { this.LabelRemark.BackColor = Color.Yellow; } if (entity.GetString("ContractName") != entityTemp.GetString("ContractName")) { this.LabelContractName.BackColor = Color.Yellow; } if (entity.GetDateTimeOnlyDate("ContractDate") != entityTemp.GetDateTimeOnlyDate("ContractDate")) { this.LabelContractDate.BackColor = Color.Yellow; } if (entity.GetString("ContractPerson") != entityTemp.GetString("ContractPerson")) { this.LabelContractPerson.BackColor = Color.Yellow; } if (entity.GetString("SupplierCode") != entityTemp.GetString("SupplierCode")) { this.SupplierSpan.Style["background-color"] = "Yellow"; } if (entity.GetDecimal("TotalMoney") != entityTemp.GetDecimal("TotalMoney")) { this.LabelTotalMoney.BackColor = Color.Yellow; } if (entity.GetString("ThirdParty") != entityTemp.GetString("ThirdParty")) { this.lblThirdParty.BackColor = Color.Yellow; } if (entity.GetString("UnitCode") != entityTemp.GetString("UnitCode")) { this.lblUnitName.BackColor = Color.Yellow; } if (entity.GetString("ContractObject") != entityTemp.GetString("ContractObject")) { this.lblContractObject.BackColor = Color.Yellow; } if (entity.GetString("WBSCode") != entityTemp.GetString("WBSCode")) { this.lblTaskName.BackColor = Color.Yellow; } if (entity.GetString("AlloType") != entityTemp.GetString("AlloType")) { this.tdAllocateRelation.InnerHtml = "<span style='background-color: #FFFF00'>" + this.tdAllocateRelation.InnerHtml + "</span>"; } } entityTemp.Dispose(); } string alloType = entity.GetString("AlloType"); // 合同已付和未付款 decimal ahMoney = BLL.CBSRule.GetAHMoney("", "", "", ContractCode, "1"); this.lblAPMoney.Text = BLL.StringRule.BuildShowNumberString(ahMoney); this.lblUPMoney.Text = BLL.StringRule.BuildShowNumberString(totalMoney - ahMoney); // 合同状态: 0: 正常; 1 待审核,当前合同; 2 合同结算完毕,结束 ; // 3 申请不通过 ; 4 变更申请;5 变更申请不通过,作废; 6 历史记录 this.btnModifyPaymentPlan.Visible = false; this.lblStatus.Text = BLL.ContractRule.GetContractStatusName(status.ToString()); // 标记原合同状态为变更申请 然后标记当前合同 string tmp = BLL.ContractRule.GetContractVersionCode(ContractCode, "4"); if (tmp.Length > 0) { this.lblStatus.Text += " 变更申请"; } if (status == 0 || status == 4 || status == 6) { this.tdBefore.InnerText = "原合同金额(差额):"; // 取得第一笔合同总金额 RmsPM.DAL.QueryStrategy.ContractStrategyBuilder CSB1 = new RmsPM.DAL.QueryStrategy.ContractStrategyBuilder(); CSB1.AddStrategy(new Strategy(DAL.QueryStrategy.ContractStrategyName.Status, "0,4,6")); CSB1.AddStrategy(new Strategy(DAL.QueryStrategy.ContractStrategyName.ContractLabel, entity.GetString("ContractLabel"))); CSB1.AddOrder("ChangeDate", true); string sql2 = CSB1.BuildMainQueryString(); QueryAgent qa2 = new QueryAgent(); qa2.SetTopNumber(1); EntityData entityfirst = qa2.FillEntityData("Contract", sql2); qa2.Dispose(); decimal dtmp = 0.0m; if (entityfirst.HasRecord()) { dtmp = entity.GetDecimal("TotalMoney") - entityfirst.GetDecimal("TotalMoney"); this.lblBeforeAccountTotalMoney.Text = BLL.StringRule.BuildShowNumberString(entityfirst.GetDecimal("TotalMoney")) + "(" + BLL.StringRule.BuildShowNumberString(dtmp) + ")"; } } switch (status) { case 0: this.btnModifyPaymentPlan.Visible = true; string changingCode = BLL.ContractRule.GetChangingContractVersionCode(ContractCode); break; case 2: this.tdBefore.InnerText = "原合同金额:"; this.lblBeforeAccountTotalMoney.Text = BLL.StringRule.BuildShowNumberString(entity.GetDecimal("BeforeAccountTotalMoney")); break; } //分摊的楼栋名称 entity.SetCurrentTable("ContractBuilding"); int iBCount = entity.CurrentTable.Rows.Count; string buildingName = ""; for (int i = 0; i < iBCount; i++) { entity.SetCurrentRow(i); if (alloType == "P") { buildingName = "项目"; } else if (alloType == "U") { string pCode = entity.GetString("PBSUnitCode"); buildingName += "<a href=## onclick='showPBS(code,alloType)' alloType='U' code='" + pCode + "'>" + BLL.PBSRule.GetPBSUnitName(pCode) + "</a> "; } else if (alloType == "B") { string bCode = entity.GetString("BuildingCode"); buildingName += "<a href=## onclick='showPBS(code,alloType)' alloType='B' code='" + bCode + "'>" + BLL.ProductRule.GetBuildingName(bCode) + "</a> "; } } this.tdAllocateRelation.InnerHtml = buildingName; } entity.SetCurrentTable("ContractExecutePlan"); // 请款单明细, 统计费用分解中各个款项的付款请款 PaymentItemStrategyBuilder sbPaymentItem = new PaymentItemStrategyBuilder(); sbPaymentItem.AddStrategy(new Strategy(PaymentItemStrategyName.ContractCode, ContractCode)); sbPaymentItem.AddStrategy(new Strategy(PaymentItemStrategyName.Status, "1,2")); string sql = sbPaymentItem.BuildQueryViewString(); QueryAgent qa = new QueryAgent(); EntityData paymentItem = qa.FillEntityData("V_PaymentItem", sql); entity.SetCurrentTable("ContractAllocation"); entity.Tables["ContractAllocation"].Columns.Add("TotalPayoutMoney"); entity.Tables["ContractAllocation"].Columns.Add("PayConditionHtml"); foreach (DataRow dr in entity.Tables["ContractAllocation"].Rows) { string allocateCode = (string)dr["AllocateCode"]; decimal tp = BLL.MathRule.SumColumn(paymentItem.CurrentTable, "ItemMoney", String.Format("AllocateCode='{0}'", allocateCode)); // 已付金额 dr["TotalPayoutMoney"] = tp; //付款条件 dr["PayConditionHtml"] = BLL.ContractRule.GetContractPayConditionHtml(allocateCode, entity.Tables["ContractPayCondition"], false); } this.dgPaymentPlanList.DataSource = new DataView(entity.Tables["ContractAllocation"], "", "PlanningPayDate", DataViewRowState.CurrentRows); this.dgPaymentPlanList.DataBind(); entity.Dispose(); paymentItem.Dispose(); ScriptResponse(); } catch (Exception ex) { ApplicationLog.WriteLog(this.ToString(), ex, "加载合同数据失败。"); Response.Write(Rms.Web.JavaScript.Alert(true, "加载合同数据失败:" + ex.Message)); } }
private void LoadDataGrid() { try { PaymentItemStrategyBuilder sb = new PaymentItemStrategyBuilder(); sb.AddStrategy(new Strategy(PaymentItemStrategyName.ProjectCode, txtProjectCode.Value)); if (this.ParamCostBudgetSetCode != "") { sb.AddStrategy(new Strategy(PaymentItemStrategyName.CostBudgetSetCode, this.ParamCostBudgetSetCode)); } if (this.ParamCostCode != "") { sb.AddStrategy(new Strategy(PaymentItemStrategyName.CostCodeIncludeAllChild, this.ParamCostCode)); } if (this.ParamSubjectCode != "") { sb.AddStrategy(new Strategy(PaymentItemStrategyName.SubjectCodeIncludeAllChild, this.ParamSubjectCode)); } if (this.ParamContractCode != "") { sb.AddStrategy(new Strategy(PaymentItemStrategyName.ContractCode, this.ParamContractCode)); } if (this.ParamPaymentCode != "") { sb.AddStrategy(new Strategy(PaymentItemStrategyName.PaymentCode, this.ParamPaymentCode)); } if (this.ParamIsContract != "") { sb.AddStrategy(new Strategy(PaymentItemStrategyName.IsContract, this.ParamIsContract)); } if (this.ParamIsPayout != "") { sb.AddStrategy(new Strategy(PaymentItemStrategyName.IsPayout, this.ParamIsPayout)); } if ((this.ParamPBSType != "") || (this.ParamPBSCode != "")) { sb.AddStrategy(new Strategy(PaymentItemStrategyName.PBSType, this.ParamPBSType)); sb.AddStrategy(new Strategy(PaymentItemStrategyName.PBSCode, this.ParamPBSCode)); } if (this.ParamPayDateBegin != "" || this.ParamPayDateEnd != "") { ArrayList ar = new ArrayList(); ar.Add(this.ParamPayDateBegin); ar.Add(this.ParamPayDateEnd); sb.AddStrategy(new Strategy(PaymentItemStrategyName.PayDate, ar)); } //已审 sb.AddStrategy(new Strategy(PaymentItemStrategyName.Status, "1,2")); //排序 string sortsql = BLL.GridSort.GetSortSQL(ViewState); if (sortsql == "") { //缺省排序 sb.AddOrder("CheckDate", true); sb.AddOrder("PaymentCode", true); } string sql = sb.BuildQueryViewString(); if (sortsql != "") { //点列标题排序 sql = sql + " order by " + sortsql; } QueryAgent qa = new QueryAgent(); EntityData entity = qa.FillEntityData("PaymentItem", sql); qa.Dispose(); //加已付金额 if (!entity.CurrentTable.Columns.Contains("ItemPayoutMoney")) { entity.CurrentTable.Columns.Add("ItemPayoutMoney", typeof(decimal)); foreach (DataRow dr in entity.CurrentTable.Rows) { dr["ItemPayoutMoney"] = BLL.PaymentRule.GetPayoutMoneyByPaymentItem(dr["PaymentItemCode"]); } } string[] arrField = { "ItemMoney", "ItemPayoutMoney" }; decimal[] arrSum = BLL.MathRule.SumColumn(entity.CurrentTable, arrField); ViewState["SumMoney"] = arrSum[0].ToString("N"); ViewState["SumTotalPayoutMoney"] = arrSum[1].ToString("N"); ViewState["SumTotalPayoutBalance"] = (arrSum[0] - arrSum[1]).ToString("N"); this.dgList.DataSource = entity.CurrentTable; this.dgList.DataBind(); this.GridPagination1.RowsCount = entity.CurrentTable.Rows.Count.ToString(); entity.Dispose(); } catch (Exception ex) { ApplicationLog.WriteLog(this.ToString(), ex, ""); Response.Write(Rms.Web.JavaScript.Alert(true, "显示列表出错:" + ex.Message)); } }
protected void LoadData() { string ud_sProjectCode = Request["ProjectCode"] + ""; string ud_sContractCode = Request["ContractCode"] + ""; string ud_sIssue = Request["Issue"] + ""; PaymentItemStrategyBuilder PISB = new PaymentItemStrategyBuilder(); if (ud_sContractCode != "") { PISB.AddStrategy(new Strategy(PaymentItemStrategyName.ContractCode, ud_sContractCode)); } else { return; } if (ud_sProjectCode != "") { PISB.AddStrategy(new Strategy(PaymentItemStrategyName.ProjectCode, ud_sProjectCode)); } if (ud_sIssue != "") { PISB.AddStrategy(new Strategy(PaymentItemStrategyName.MaxIssue, ud_sIssue.ToString())); } PISB.AddOrder("Issue", true); string sql = PISB.BuildQueryViewString(); QueryAgent qa = new QueryAgent(); EntityData entity = qa.FillEntityData("PaymentItem", sql); qa.Dispose(); EntityData entityCon = RmsPM.DAL.EntityDAO.ContractDAO.GetStandard_ContractByCode(ud_sContractCode); this.lblProjectName.Text = RmsPM.BLL.ProjectRule.GetProjectName(entityCon.GetString("ProjectCode")); this.lblContractDate.Text = entityCon.GetDateTimeOnlyDate("ContractDate") == "" ? entityCon.GetDateTimeOnlyDate("CreateDate") : entityCon.GetDateTimeOnlyDate("ContractDate"); this.lblOriginalMoney.Text = entityCon.GetDecimal("OriginalMoney").ToString("N"); this.lblContractName.Text = entityCon.GetString("ContractName"); this.lblContractID.Text = entityCon.GetString("ContractID"); this.lblSupplierName.Text = RmsPM.BLL.ProjectRule.GetSupplierName(entityCon.GetString("SupplierCode")); this.lblWorkStartDate.Text = entityCon.GetDateTimeOnlyDate("WorkStartDate"); this.lblWorkEndDate.Text = entityCon.GetDateTimeOnlyDate("WorkEndDate"); this.lblPerCash1.Text = (entityCon.GetDecimal("PerCash1") / 100).ToString("P"); this.lblPerCash2.Text = (entityCon.GetDecimal("PerCash2") / 100).ToString("P"); this.lblPerCash3.Text = (entityCon.GetDecimal("PerCash3") / 100).ToString("P"); decimal[] ud_deChangeMoney = new decimal[2]; decimal ud_deTotalMoney = entityCon.GetDecimal("TotalMoney"); ViewState["TotalMoney"] = ud_deTotalMoney.ToString(); ud_deChangeMoney[0] = decimal.Zero; ud_deChangeMoney[1] = decimal.Zero; int i = 0; foreach (DataRow ud_drChange in entityCon.Tables["ContractChange"].Select("Status=0", "ChangeDate", DataViewRowState.CurrentRows)) { if (i <= 1) { ud_deChangeMoney[i] = (decimal)ud_drChange["ChangeMoney"]; i++; } else { break; } } if (ud_deChangeMoney[0] != decimal.Zero) { this.lblChangeMoney1.Text = ud_deChangeMoney[0].ToString("N"); } if (ud_deChangeMoney[1] != decimal.Zero) { this.lblChangeMoney2.Text = ud_deChangeMoney[1].ToString("N"); } this.lblTotalMoney.Text = entityCon.GetDecimal("TotalMoney").ToString("N"); gvPaymentItemBind(entity.Tables["PaymentItem"]); }