Ejemplo n.º 1
0
        /// <summary>
        /// 发布
        /// </summary>
        /// <param name="m"></param>
        public void Release(WBSBoq m)
        {
            Commit(m.WbsNo, ServiceContext.LoginName);
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@WbsNo", m.WbsNo));
            cmds.Add(new CmdParameter("@ReleaseBy", m.ReleaseBy));
            cmds.Add(new CmdParameter("@ReleaseDate", m.ReleaseDate));
            cmds.Add(new CmdParameter("@OperationBy", ServiceContext.LoginName));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));

            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Wbs_Release", CommandType.StoredProcedure, pResult.Parameters);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
        }
Ejemplo n.º 2
0
        ///// <summary>
        ///// 快速插入关联关系-用于关联关系初始化导入
        ///// </summary>
        ///// <param name="ProjectNo"></param>
        ///// <param name="BidNo"></param>
        ///// <param name="WbsName"></param>
        ///// <param name="TotalAmount"></param>
        ///// <param name="AddList"></param>
        ///// <param name="UpdateList"></param>
        ///// <param name="DeleteItemNoList"></param>
        ///// <param name="AddRelation"></param>
        ///// <param name="UpdateRelation"></param>
        ///// <param name="DeleteRelation"></param>
        ///// <returns></returns>
        //public WBSBoq Save(string ProjectNo, string BidNo, String WbsName, decimal TotalAmount
        //                              , List<WBSline> AddList, List<WBSline> UpdateList, List<string> DeleteItemNoList
        //                              , List<WBSline_boi> AddRelation, List<WBSline_boi> UpdateRelation, List<WBSline_boi> DeleteRelation)
        //{
        //    WBSBoq result = new WBSBoq();
        //    String strWbsNo = null;
        //    strWbsNo = GetWbsNo(ProjectNo);

        //    //修改
        //    if (UpdateList != null)
        //    {
        //        UpdateList.ForEach(m =>
        //        {
        //            UpdateWBSline(m, ServiceContext.LoginName);
        //        });
        //    }

        //    //新增关联关系
        //    if (AddRelation != null)
        //    {
        //        AddRelation.ForEach(m =>
        //        {
        //            m.WbsNo = strWbsNo;
        //            if (String.IsNullOrEmpty(m.WBSLineNo))
        //            {
        //                WBSline line = result.WBSlineList.Find(n => n.WbsSysCode == m.WbsSysCode);
        //                m.WBSLineNo = line != null ? line.WbsLineNo : null;
        //            }
        //            //result.AllRelationList.Add(AddWBSlineBoi(strWbsNo, m, ServiceContext.LoginName));
        //        });

        //        //剔除类中DBField = false的属性名
        //        List<string> ingorePropetiesName = new List<string>();
        //        System.Reflection.PropertyInfo[] properties = typeof(WBSline_boi).GetProperties();

        //        foreach (System.Reflection.PropertyInfo item in properties)
        //        {
        //            var classAttribute = (DBFieldAttribute)Attribute.GetCustomAttribute(item, typeof(DBFieldAttribute));

        //            if (classAttribute != null && !classAttribute.IsField)  //剔除Dbfield = False的属性
        //            {
        //                ingorePropetiesName.Add(item.Name);
        //            }

        //            if (item.Name == "id" || item.Name == "Id" || item.Name == "ID")  //如果存在ID属性,同样剔除
        //            {
        //                ingorePropetiesName.Add(item.Name);
        //            }
        //            if (item.Name == "TypeOfDataModified")  //如果存在TypeOfDataModified属性,同样剔除
        //            {
        //                ingorePropetiesName.Add("TypeOfDataModified");
        //            }
        //        }
        //        //批量插入
        //        HdSqlCommand.GetInstance().BulkInsert<WBSline_boi>("ERP_BoQ.dbo.gl_cntrct_wbsline_boi", AddRelation, ingorePropetiesName.ToArray());


        //    }
        //    return result;
        //}

        /// <summary>
        /// 修改清单头的状态字段
        /// </summary>
        /// <param name="boq"></param>
        public void ChangeStat(WBSBoq boq)
        {
            Commit(boq.WbsNo, ServiceContext.LoginName);
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@WbsNo", boq.WbsNo));
            cmds.Add(new CmdParameter("@ApprovalBy", boq.ApprovalBy));
            cmds.Add(new CmdParameter("@ApprovalDate", boq.ApprovalDate));
            cmds.Add(new CmdParameter("@ApprovalStat", boq.ApprovalStat));
            cmds.Add(new CmdParameter("@ExecuteStat", boq.ExecuteStat));
            cmds.Add(new CmdParameter("@WfdefId", boq.WfdefId));
            cmds.Add(new CmdParameter("@RefCategory", boq.RefCategory));
            cmds.Add(new CmdParameter("@inWorkflow", boq.inWorkflow));
            cmds.Add(new CmdParameter("@OperationBy", ServiceContext.LoginName));

            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));

            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Wbs_ChangeBusinessStat", CommandType.StoredProcedure, pResult.Parameters);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 获取清单No数据
        /// </summary>
        /// <param name="ProjectNo"></param>
        /// <returns></returns>
        private String GetWbsNo(String ProjectNo, SqlTransaction tran = null)
        {
            String strWbsNo  = null;
            WBSBoq boqHeader = HdDbCmdManager.GetInstance().QueryForFirstRow <WBSBoq>(WBS_BY_PROJECTNO, CommandType.Text, new CmdParameter[] {
                new CmdParameter("@ProjectNo", ProjectNo)
            }, tran);

            if (boqHeader != null)
            {
                strWbsNo = boqHeader.WbsNo;
            }
            return(strWbsNo);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BarAdd_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            if (LstAmount.Find(m => m.ProjectNo == AppConfig.SelectProject.ProjectNo && !m.Fixed) != null)
            {
                XtraMessageBox.Show("该项目存在未发布的数据,请确认发布后再进行填报", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            WBSBoq originWbsInfo = client.GetWbsInfo(AppConfig.SelectProject.ProjectNo);

            if (originWbsInfo == null || (originWbsInfo != null && string.IsNullOrEmpty(originWbsInfo.WbsNo)))
            {
                XtraMessageBox.Show("找不到该项目的WBS清单,请编写WBS清单后再新增进度计量数据", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            PrjAmount newData = new PrjAmount();

            newData.ProjectNo = AppConfig.SelectProject.ProjectNo;
            newData.WbsNo     = originWbsInfo.WbsNo;
            newData.PrepareBy = LoginInfor.LoginName;
            int       MaxPeriod = client.GetMaxPeriod(AppConfig.SelectProject.ProjectNo) + 1;
            frmAddNew form      = new frmAddNew(MaxPeriod);

            if (form.ShowDialog() == DialogResult.OK)
            {
                newData.Periods       = form.Periods;
                newData.PeriodsName   = form.PeriodsName;
                newData.PrjamountName = String.Format("{0}-第{1}期计量", AppConfig.SelectProject.ProjectName, newData.Periods);
                newData.CreateDate    = form.CreateDate;
                newData.PrepareDate   = form.CreateDate;


                DoWork("新增数据中,请稍后......", "新增数据",
                       () =>
                {
                    client.Add(newData, LoginInfor.LoginName);
                },
                       (ex) =>
                {
                    if (ex == null)
                    {
                        LoadData();
                    }
                });
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 获取Boq
        /// </summary>
        /// <param name="ProjectNo">项目No</param>
        /// <returns></returns>
        public WBSBoq GetByProjectNo(string ProjectNo)
        {
            WBSBoq WBSResult = HdDbCmdManager.GetInstance().QueryForFirstRow <WBSBoq>(WBS_BY_PROJECTNO, System.Data.CommandType.Text, new CmdParameter[] {
                new CmdParameter("@ProjectNo", ProjectNo)
            });

            if (WBSResult != null)
            {
                string strOrderString = " ORDER BY WbsSysCode ASC";
                WBSResult.WBSlineList = HdDbCmdManager.GetInstance().QueryForList <WBSline>(WBSLINE_BY_BOQNO + strOrderString, System.Data.CommandType.Text, new CmdParameter[] {
                    new CmdParameter("@WbsNo", WBSResult.WbsNo)
                });

                WBSResult.AllRelationList = HdDbCmdManager.GetInstance().QueryForList <WBSline_boi>(RELATION_BY_BOQNO, System.Data.CommandType.Text, new CmdParameter[] {
                    new CmdParameter("@WbsNo", WBSResult.WbsNo)
                });
            }
            return(WBSResult);
        }
Ejemplo n.º 6
0
        public WBSBoq Save(string ProjectNo, string BidNo, String WbsName, decimal TotalAmount
                           , List <WBSline> AddList, List <WBSline> UpdateList, List <string> DeleteItemNoList
                           , List <WBSline_boi> AddRelation, List <WBSline_boi> UpdateRelation, List <WBSline_boi> DeleteRelation)
        {
            WBSBoq result   = new WBSBoq();
            String strWbsNo = null;

            HdDbCmdManager.GetInstance().ExecuteTran(Tran =>
            {
                strWbsNo = GetWbsNo(ProjectNo, Tran);
                if (String.IsNullOrEmpty(strWbsNo))
                {
                    strWbsNo = InsertBoq(ProjectNo, BidNo, WbsName, TotalAmount, ServiceContext.LoginName, Tran);
                }
                else
                {
                    UpdateBoq(BidNo, strWbsNo, WbsName, TotalAmount, ServiceContext.LoginName, Tran);
                }

                //删除关联关系
                if (DeleteRelation != null)
                {
                    DeleteRelation.ForEach(m =>
                    {
                        DeleteWBSlineBoi(m.ItemNo, m.WBSLineNo, ServiceContext.LoginName, Tran);
                    });
                }

                //删除明细
                if (DeleteItemNoList != null)
                {
                    DeleteItemNoList.ForEach(m =>
                    {
                        DeleteWBSline(m, ServiceContext.LoginName, Tran);
                    });
                }

                //修改关联关系
                if (UpdateRelation != null)
                {
                    UpdateRelation.ForEach(m =>
                    {
                        if (DeleteRelation.Find(n => n.WBSLineNo == m.WBSLineNo && n.ItemNo == m.ItemNo) == null)
                        {
                            UpdateWBSlineBoi(m, ServiceContext.LoginName, Tran);
                        }
                    });
                }

                //修改
                if (UpdateList != null)
                {
                    UpdateList.ForEach(m =>
                    {
                        UpdateWBSline(m, ServiceContext.LoginName, Tran);
                    });
                }

                //新增WBS清单项
                if (AddList != null)
                {
                    AddList.ForEach(m =>
                    {
                        result.WBSlineList.Add(InsertWBSline(strWbsNo, m, ServiceContext.LoginName, Tran));
                    });
                }

                //新增关联关系
                if (AddRelation != null)
                {
                    AddRelation.ForEach(m =>
                    {
                        m.WbsNo = strWbsNo;
                        if (String.IsNullOrEmpty(m.WBSLineNo))
                        {
                            WBSline line = result.WBSlineList.Find(n => n.WbsSysCode == m.WbsSysCode);
                            m.WBSLineNo  = line != null ? line.WbsLineNo : null;
                        }
                        result.AllRelationList.Add(AddWBSlineBoi(strWbsNo, m, ServiceContext.LoginName, Tran));
                    });
                }
            });
            return(result);
        }