Beispiel #1
0
        /// <summary>
        /// 添加计划指标明细
        /// </summary>
        /// <param name="_BTargetPlan">计划指标</param>
        public void AddTargetPlanDetail(B_TargetPlan _BTargetPlan)
        {
            IList <B_TargetPlanDetail> listTargetPlanDetail = B_TargetplandetailOperator.Instance.GetTargetplandetailList(_BTargetPlan.ID);

            List <B_TargetPlanDetail> B_TargetPlanDetail = new List <B_TargetPlanDetail>();

            if (listTargetPlanDetail.Count == 0)
            {
                A_TargetPlan ATargetPlan = A_TargetplanOperator.Instance.GetTargetplanList(Guid.Parse(ddlSystem.SelectedValue), FinYear).FirstOrDefault();
                //如果A表有数据从A表取数据,否则取B表上一版本的数据。
                if (ATargetPlan != null)
                {
                    //从A表获取数据插入B表
                    _BTargetPlan.Description = ATargetPlan.Description;                                                                             //月报说明
                    B_TargetplanOperator.Instance.UpdateTargetplan(_BTargetPlan);                                                                   //更新月报说明

                    IList <A_TargetPlanDetail> listATargetPlanDetail = A_TargetplandetailOperator.Instance.GetTargetplandetailList(ATargetPlan.ID); // .Instance.GetAMonthlyreportdetailList(ATargetPlan.ID);
                    if (listATargetPlanDetail.Count > 0)
                    {
                        foreach (A_TargetPlanDetail A_TargetPlanDetail in listATargetPlanDetail)
                        {
                            A_TargetPlanDetail.TargetPlanID = _BTargetPlan.ID;
                            A_TargetPlanDetail.ID           = Guid.NewGuid();

                            B_TargetPlanDetail.Add(A_TargetPlanDetail.ToBModel());
                        }
                    }
                }
                else
                {
                    B_TargetPlan BTargetPlan = B_TargetplanOperator.Instance.GetTargetPlanByProgressOrApproved(Guid.Parse(ddlSystem.SelectedValue), FinYear);
                    if (BTargetPlan != null)
                    {
                        //从B表获取上一版本数据插入B表
                        IList <B_TargetPlanDetail> LastListBTargetPlanDetail = B_TargetplandetailOperator.Instance.GetTargetplandetailList(BTargetPlan.ID); // B_MonthlyreportdetailOperator.Instance.GetMonthlyreportdetailList(_BTargetPlan.ID);
                        if (LastListBTargetPlanDetail.Count > 0)
                        {
                            foreach (B_TargetPlanDetail TargetPlanDetail in LastListBTargetPlanDetail)
                            {
                                TargetPlanDetail.TargetPlanID = _BTargetPlan.ID;
                                TargetPlanDetail.ID           = Guid.NewGuid();
                                B_TargetPlanDetail.Add(TargetPlanDetail);
                            }
                        }
                    }
                }

                //判断当前B_TargetPlaID在明细表中是否有数据。
                if (B_TargetPlanDetail.Count > 0)
                {
                    _BTargetPlan.Status = 5;
                    B_TargetplanOperator.Instance.UpdateTargetplan(_BTargetPlan);                                  //更新计划指标表
                    B_TargetplandetailOperator.Instance.AddOrUpdateTargetPlanDetail(B_TargetPlanDetail, "Insert"); //更新计划指标明细表
                }
            }
        }
        public object FormatData(Guid SystemID, int FinYear, Guid TargetPlanID, bool IsLatestVersion)
        {
            object listBTargetPlanDetail = null;

            if (IsLatestVersion)
            {
                if (TargetPlanID == Guid.Empty)
                {
                    B_TargetPlan _BTargetPlan = B_TargetplanOperator.Instance.GetTargetPlanByProgressOrApproved(SystemID, FinYear);
                    if (_BTargetPlan != null)
                    {
                        listBTargetPlanDetail = B_TargetplandetailOperator.Instance.GetTargetplandetailList(_BTargetPlan.ID).ToList();
                    }
                }
                else
                {
                    listBTargetPlanDetail = B_TargetplandetailOperator.Instance.GetTargetplandetailList(TargetPlanID).ToList();
                }
            }
            else
            {
                if (TargetPlanID == Guid.Empty)
                {
                    A_TargetPlan _ATargetPlan = A_TargetplanOperator.Instance.GetTargetplanList(SystemID, FinYear).FirstOrDefault();
                    if (_ATargetPlan != null)
                    {
                        listBTargetPlanDetail = A_TargetplandetailOperator.Instance.GetTargetplandetailList(_ATargetPlan.ID).ToList();
                    }
                }
                else
                {
                    listBTargetPlanDetail = A_TargetplandetailOperator.Instance.GetTargetplandetailList(TargetPlanID).ToList();
                }
            }
            return(listBTargetPlanDetail);
        }