Exemple #1
0
 /// <summary>
 /// 双击打开中间计量表
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void gvPrjAmountWbsRpt_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e)
 {
     if (e.Clicks >= 2)
     {
         PrjAmountWbsRpt datasource = gvPrjAmountWbsRpt.GetRow(e.RowHandle) as PrjAmountWbsRpt;
         if (datasource != null && !String.IsNullOrEmpty(datasource.WbsLineNo))
         {
             DoWorkRun("读取数据中,请稍候......", "读取数据",
                       () =>
             {
                 PrjAmountWbsRpt result = client.GetWbsRpt(datasource.WbsLineNo, datasource.PrjamountNo);
                 return(result);
             },
                       (result, ex) =>
             {
                 if (ex == null)
                 {
                     PrjAmountWbsRptDetailForm form = new PrjAmountWbsRptDetailForm();
                     form.DataSource = result as PrjAmountWbsRpt;
                     AppForm.CurrentForm.ChangeForm(String.Format("{0}-中间计量表", (result as PrjAmountWbsRpt).WbsLineName), form);
                 }
             });
         }
     }
 }
Exemple #2
0
 private void gvPrjAmountWbsRpt_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
 {
     if (e.FocusedRowHandle >= 0)
     {
         PrjAmountWbsRpt selectedRow = gvPrjAmountWbsRpt.GetRow(e.FocusedRowHandle) as PrjAmountWbsRpt;
         if (selectedRow != null)
         {
             if (selectedRow.detail != null && selectedRow.detail.Count > 0)  //如果已经加载过,则不需要再次加载
             {
                 detailControl.Visible    = true;
                 detailControl.DataSource = selectedRow;
             }
             else
             {
                 if (!String.IsNullOrEmpty(selectedRow.WbsLineNo))  //如果未加载过,则需要重新加载明细数据,并缓存到
                 {
                     DoWorkRun("读取数据中,请稍候......", "读取数据",
                               () =>
                     {
                         PrjAmountWbsRpt result = client.GetWbsRpt(selectedRow.WbsLineNo, selectedRow.PrjamountNo);
                         return(result);
                     },
                               (result, ex) =>
                     {
                         if (ex == null)
                         {
                             PrjAmountWbsRpt current = result as PrjAmountWbsRpt;
                             PrjAmountWbsRpt origin  = DataSource.lstWbsRpt.FirstOrDefault(m => m.WbsLineNo == selectedRow.WbsLineNo && m.PrjamountNo == selectedRow.PrjamountNo);
                             origin.Copy(current);
                             detailControl.Visible    = true;
                             detailControl.DataSource = origin;
                         }
                     });
                 }
             }
         }
     }
 }
Exemple #3
0
        /// <summary>
        /// 获取中间计量表实例
        /// </summary>
        /// <param name="WbsLineNo"></param>
        /// <returns></returns>
        public PrjAmountWbsRpt GetWbsRpt(string WbsLineNo, String PrjAmountNo)
        {
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@WbsLineNo", WbsLineNo));
            cmds.Add(new CmdParameter("@PrjAmountNo", PrjAmountNo));
            PrjAmountWbsRpt result = hdDbCmdManager.QueryForFirstRow <PrjAmountWbsRpt>(@"SELECT a.Id
                                                                                            ,a.ProjectNo
                                                                                            ,a.PrjamountNo
                                                                                            ,a.Periods
                                                                                            ,a.PeriodsName
                                                                                            ,a.WbsLineNo
                                                                                            ,a.WbsLineCode
                                                                                            ,b.WbsLineName as WbsLineName
                                                                                            ,a.IsChange
                                                                                            ,a.CtrcStarEndNo
                                                                                            ,b.WbsLineName as Part
                                                                                            ,a.FigureNo
                                                                                            ,a.Certificate
                                                                                            ,a.Description
                                                                                            ,a.StatId
                                                                                            ,a.RecordValidity
                                                                                            ,a.CreatedBy
                                                                                            ,a.CreateDate
                                                                                            ,a.UpdatedBy
                                                                                            ,a.RecordDate
                                                                                            ,a.inWorkflow
                                                                                            ,a.WbsRptCode
                                                                                       FROM [ERP_Subpay].[dbo].[rpt_prjamountwbsrpt] a
                                                                                       LEFT OUTER JOIN ERP_BoQ.dbo.gl_cntrct_wbsline b ON a.WbsLineNo = b.WbsLineNo AND b.Edit = 1
                                                                                       LEFT OUTER JOIN ERP_BoQ.dbo.gl_cntrct_wbsline c ON c.WbsSysCode = b.ParentCode AND c.ProjectNo = b.ProjectNo AND c.Edit = 1 
                                                                                      WHERE a.PrjamountNo = @PrjamountNo AND a.WbsLineNo = @WbsLineNo AND a.StatId = 1", System.Data.CommandType.Text, cmds.ToArray());

            if (result != null)
            {
                result.detail = hdDbCmdManager.QueryForList <PrjAmountWbsRptDetail>(@"SELECT DISTINCT 
                                                                            c.StartStakesNo,
		                                                                    c.EndStakesNo,
		                                                                    d.PrjApplyQty AS PrjApplyQtyDetail,
		                                                                    d.PrjApplyAmount AS PrjApplyAmountDetail,
		                                                                    d.SupervisionQty AS SupervisionQtyDetail,
		                                                                    d.SupervisionAmount AS SupervisionAmountDetail,
		                                                                    d.OwnerQty AS OwnerQtyDetail,
		                                                                    d.OwnerAmount AS OwnerAmountDetail,
		                                                                    a.Id,
		                                                                    a.ProjectNo,
		                                                                    a.PrjamountNo,
		                                                                    a.WbsLineNo,
		                                                                    a.ItemNo,
		                                                                    a.ItemCode,
		                                                                    b.IItemCoe,
		                                                                    a.ItemName,
		                                                                    a.Uom,
		                                                                    a.PrjPart,
		                                                                    a.Qty,
		                                                                    a.Price,
		                                                                    a.Amount,
		                                                                    a.AmountEx,
		                                                                    a.Sequence,
		                                                                    a.StatId,
		                                                                    a.ApplyQty,
		                                                                    a.EndingApplyQty,
		                                                                    a.StartingApplyAmount,
		                                                                    a.ApplyAmount,
		                                                                    a.EndingApplyAmount,
		                                                                    a.StartingSupervisionQty,
		                                                                    a.SupervisionQty,
		                                                                    a.EndingSupervisionQty,
		                                                                    a.StartingSupervisionAmount,
		                                                                    a.SupervisionAmount,
		                                                                    a.EndingSupervisionAmount,
		                                                                    a.StartingOwnerQty,
		                                                                    a.OwnerQty,
		                                                                    a.EndingOwnerQty,
		                                                                    a.StartingOwnerAmount,
		                                                                    a.OwnerAmount,
		                                                                    a.EndingOwnerAmount,
		                                                                    a.StartingApplyAmountEx,
		                                                                    a.ApplyAmountEx,
		                                                                    a.EndingApplyAmountEx,
		                                                                    a.StartingSupervisionAmountEx,
		                                                                    a.SupervisionAmountEx,
		                                                                    a.EndingSupervisionAmountEx,
		                                                                    a.StartingOwnerAmountEx,
		                                                                    a.OwnerAmountEx,
		                                                                    a.EndingOwnerAmountEx,
		                                                                    a.StartingApplyQty
	                                                                    FROM [ERP_Subpay].[dbo].[rpt_prjamountwbsrptdetail] a
	                                                                    LEFT OUTER JOIN ERP_BoQ.dbo.gl_cntrct_boi b ON a.ItemNo = b.ItemNo AND b.Edit = 1
	                                                                    LEFT OUTER JOIN ERP_BoQ.dbo.gl_cntrct_wbsline c ON a.WbsLineNo = c.WbsLineNo AND c.Edit = 1
	                                                                    LEFT OUTER JOIN ERP_Subpay.dbo.subp_prjamountDetail d ON a.PrjamountNo = d.PrjamountNo AND a.WbsLineNo = d.WbsLineNo AND a.ItemNo = d.ItemNo AND d.Edit = 1
                                                                    WHERE a.WbsLineNo = @WbsLineNo AND a.PrjAmountNo = @PrjamountNo AND a.StatId = 1 order by a.ItemCode", System.Data.CommandType.Text, cmds.ToArray());
            }
            return(result);
        }