示例#1
0
        /// <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>&nbsp; ";
                        }
                        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>&nbsp; ";
                        }
                    }
                    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));
            }
        }
示例#2
0
        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));
            }
        }
示例#3
0
    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"]);
    }