public void TransferOtherPage(Guid SystemID)
        {
            Guid sysID = SystemID;


            if (ddlMonth.SelectedValue == "")
            {
                DateTime datetime = StaticResource.Instance.GetReportDateTime();
                finMonth = datetime.Month;
                finYear  = datetime.Year;
            }
            else
            {
                finMonth = int.Parse(ddlMonth.SelectedValue);

                //年下拉
                finYear = int.Parse(ddlYear.SelectedValue);
            }

            C_System sysModel = StaticResource.Instance[sysID, DateTime.Now];

            if (chkIsLastestVersion.Checked)
            {
                B_MonthlyReport B_monthRpt = B_MonthlyreportOperator.Instance.GetMonthlyReport(sysID, finYear, finMonth);
                if (B_monthRpt != null)
                {
                    sysModel = StaticResource.Instance[sysID, B_monthRpt.CreateTime];
                }
            }
            else
            {
                A_MonthlyReport A_monthRpt = A_MonthlyreportOperator.Instance.GetAMonthlyReport(sysID, finYear, finMonth);
                if (A_monthRpt != null)
                {
                    sysModel = StaticResource.Instance[sysID, A_monthRpt.CreateTime];
                }
            }



            if (sysModel.Category == 1)
            {
                Response.Redirect("TargetRpt.aspx?_sysid=" + HttpUtility.UrlEncode(sysID.ToString()) + "&_finMonth=" + HttpUtility.UrlEncode(finMonth.ToString()) + "&_finYear=" + HttpUtility.UrlEncode(finYear.ToString()) + "&IsLastestVersion=" + chkIsLastestVersion.Checked);
            }
            else if (sysModel.Category == 2)
            {
                Response.Redirect("ProMonthReport.aspx?_sysid=" + HttpUtility.UrlEncode(sysID.ToString()) + "&_finMonth=" + HttpUtility.UrlEncode(finMonth.ToString()) + "&_finYear=" + HttpUtility.UrlEncode(finYear.ToString()) + "&IsLastestVersion=" + chkIsLastestVersion.Checked);
            }
            else if (sysModel.Category == 3)
            {
                return;
            }
            else if (sysModel.Category == 4)
            {
                Response.Redirect("TargetDirectlyRpt.aspx?_sysid=" + HttpUtility.UrlEncode(sysID.ToString()) + "&_finMonth=" + HttpUtility.UrlEncode(finMonth.ToString()) + "&_finYear=" + HttpUtility.UrlEncode(finYear.ToString()) + "&IsLastestVersion=" + chkIsLastestVersion.Checked);
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 获取A表的数据插入B表
        /// </summary>
        /// <param name="bmr"></param>
        public void AddBMRD(B_MonthlyReport bmr)
        {
            IList <B_MonthlyReportDetail> listBMRD = B_MonthlyreportdetailOperator.Instance.GetMonthlyreportdetailList(bmr.ID);

            bool IsExistence = B_MonthlyreportdetailOperator.Instance.GetMonthlyReportDetailCount(bmr.ID);

            List <B_MonthlyReportDetail> B_ReportDetails = new List <B_MonthlyReportDetail>();

            var targetPlan = StaticResource.Instance.GetDefaultTargetPlanList(Guid.Parse(ddlSystem.SelectedValue), FinYear).FirstOrDefault();

            if (targetPlan == null || targetPlan.TargetPlanID == null || targetPlan.TargetPlanID == Guid.Empty)
            {
                UserControl.SetButtonSpanStyle(-1);
                return;
            }

            var targetPlanId = targetPlan.TargetPlanID;

            if (IsExistence == false)
            {
                A_MonthlyReport AMonthlyReport = A_MonthlyreportOperator.Instance.GetAMonthlyReport(Guid.Parse(ddlSystem.SelectedValue), Guid.Empty, FinYear, FinMonth, targetPlanId);
                //如果A表有数据从A表取数据,否则取B表上一版本的数据。
                if (AMonthlyReport != null)
                {
                    //从A表获取数据插入B表
                    bmr.Description = AMonthlyReport.Description;              //月报说明
                    B_MonthlyreportOperator.Instance.UpdateMonthlyreport(bmr); //更新月报说明

                    B_ReportDetails = B_MonthlyreportdetailOperator.Instance.GetMonthlyReportDetail_ByAToB(FinYear, FinMonth, AMonthlyReport.SystemID, bmr.AreaID, bmr.ID, targetPlanId);
                }
                else
                {
                    //获取B表的审批中的数据,做成草稿
                    B_MonthlyReport BMonthlyReport = B_MonthlyreportOperator.Instance.GetMonthlyReport(Guid.Parse(ddlSystem.SelectedValue), Guid.Empty, FinYear, FinMonth, bmr.ID, targetPlanId);
                    if (BMonthlyReport != null)
                    {
                        //从B表获取上一版本数据插入B表
                        B_ReportDetails = B_MonthlyreportdetailOperator.Instance.GetMonthlyReportDetail_ByBToB(FinYear, FinMonth, BMonthlyReport.SystemID, BMonthlyReport.ID, bmr.ID);
                    }
                }

                //判断当前B_MonthlyReportID在明细表中是否有数据。
                if (B_ReportDetails.Count > 0)
                {
                    bmr.Status = 5;
                    B_MonthlyreportOperator.Instance.UpdateMonthlyreport(bmr);//更新月度经营表
                    //B_MonthlyreportdetailOperator.Instance.AddOrUpdateTargetDetail(B_ReportDetails, "Insert");//更新月度经营明细表
                }
            }

            UserControl.SetButtonSpanStyle(bmr.Status);
        }
Esempio n. 3
0
        /// <summary>
        /// 获取A表的数据插入B表
        /// </summary>
        /// <param name="bmr"></param>
        public void AddBMRD(B_MonthlyReport bmr)
        {
            //IList<B_MonthlyReportDetail> listBMRD = B_MonthlyreportdetailOperator.Instance.GetMonthlyreportdetailList(bmr.ID);

            var targetPlan = StaticResource.Instance.GetDefaultTargetPlanList(Guid.Parse(ddlSystem.SelectedValue), FinYear).FirstOrDefault();

            if (targetPlan == null || targetPlan.TargetPlanID == null || targetPlan.TargetPlanID == Guid.Empty)
            {
                return;
            }
            var targetPlanId = targetPlan.TargetPlanID;

            bool IsExistence = B_MonthlyreportdetailOperator.Instance.GetMonthlyReportDetailCount(bmr.ID);

            List <B_MonthlyReportDetail> B_ReportDetails = new List <B_MonthlyReportDetail>();

            //listBMRD.Count == 0
            Guid AreaID = Guid.Parse(ddlAreaID.Visible ? ddlAreaID.SelectedValue : Guid.Empty.ToString());

            if (IsExistence == false) // 明细里不存在数据
            {
                //A_MonthlyReport AMonthlyReport = A_MonthlyreportOperator.Instance.GetAMonthlyReport(Guid.Parse(ddlSystem.SelectedValue), FinYear, FinMonth);
                A_MonthlyReport AMonthlyReport = A_MonthlyreportOperator.Instance.GetAMonthlyReport(Guid.Parse(ddlSystem.SelectedValue), AreaID, FinYear, FinMonth, targetPlanId);
                //如果A表有数据从A表取数据,否则取B表上一版本的数据。
                if (AMonthlyReport != null)
                {
                    //从A表获取数据插入B表
                    bmr.Description = AMonthlyReport.Description;              //月报说明
                    B_MonthlyreportOperator.Instance.UpdateMonthlyreport(bmr); //更新月报说明
                    B_ReportDetails = B_MonthlyreportdetailOperator.Instance.GetMonthlyReportDetail_ByAToB(FinYear, FinMonth, AMonthlyReport.SystemID, bmr.AreaID, bmr.ID, targetPlanId);
                }
                else
                {
                    //B_MonthlyReport BMonthlyReport = B_MonthlyreportOperator.Instance.GetMonthlyReport(Guid.Parse(ddlSystem.SelectedValue), FinYear, FinMonth, bmr.ID);
                    B_MonthlyReport BMonthlyReport = B_MonthlyreportOperator.Instance.GetMonthlyReport(Guid.Parse(ddlSystem.SelectedValue), AreaID, FinYear, FinMonth, bmr.ID, targetPlanId);
                    if (BMonthlyReport != null)
                    {
                        //从B表获取上一版本数据插入B表
                        B_ReportDetails = B_MonthlyreportdetailOperator.Instance.GetMonthlyReportDetail_ByBToB(FinYear, FinMonth, BMonthlyReport.SystemID, BMonthlyReport.ID, bmr.ID);
                    }
                }

                //判断当前B_MonthlyReportID在明细表中是否有数据。
                if (B_ReportDetails.Count > 0)
                {
                    bmr.Status = 5;
                    B_MonthlyreportOperator.Instance.UpdateMonthlyreport(bmr); //更新月度经营表
                                                                               // B_MonthlyreportdetailOperator.Instance.AddOrUpdateTargetDetail(B_ReportDetails, "Insert");//更新月度经营明细表
                }
            }
        }
Esempio n. 4
0
        public static A_MonthlyReport ToAModel(this MonthlyReport value)
        {
            A_MonthlyReport result = new A_MonthlyReport
            {
                ID            = value.ID,
                SystemID      = value.SystemID,
                Description   = value.Description,
                IsDeleted     = value.IsDeleted,
                FinMonth      = value.FinMonth,
                FinYear       = value.FinYear,
                CreateTime    = value.CreateTime,
                CreatorName   = value.CreatorName,
                ModifierName  = value.ModifierName,
                ModifyTime    = value.ModifyTime,
                Status        = value.Status,
                SystemBatchID = value.SystemBatchID
            };

            return(result);
        }
Esempio n. 5
0
        /// <summary>
        /// Initial the Data Source of MonthReport and MonthlyReportDetail.
        /// if IsLatestVersion is true, the data source will be B_ table  and WFStatus == Progress.
        /// otherwise, the data source is A_ atble
        /// </summary>
        /// <param name="IsLatestVersion">if the data source should be  B_ Table</param>
        void InitialData(bool IsLatestVersion, bool IsAll)
        {
            if (IsLatestVersion)
            {
                if (LastestMonthlyReport != null)
                {
                    Report = LastestMonthlyReport.ToVModel();
                    if (_MonthReportID == Guid.Empty)
                    {
                        _MonthReportID = Report.ID;
                    }
                }
                ReportDetails = new List <MonthlyReportDetail>();

                if (DataSource == "Draft")
                {
                    ReportDetails = B_MonthlyreportdetailOperator.Instance.GetMonthlyReportDetailList_Draft(_System.ID, FinYear, FinMonth, _MonthReportID, TargetPlanID, _SystemBatchID, IsAll);
                }
                else
                {
                    ReportDetails = B_MonthlyreportdetailOperator.Instance.GetMonthlyReportDetailList_Approve(_System.ID, FinYear, FinMonth, _MonthReportID, TargetPlanID, _SystemBatchID, IsAll);
                }

                //LastestMonthlyReportDetails.ForEach(P => ReportDetails.Add(P.ToVModel()));
            }
            else
            {
                if (ValidatedMonthlyReport != null)
                {
                    Report = ValidatedMonthlyReport.ToVModel();
                    if (_MonthReportID == Guid.Empty)
                    {
                        _MonthReportID = Report.ID;
                    }
                }
                ReportDetails = new List <MonthlyReportDetail>();
                ReportDetails = A_MonthlyreportdetailOperator.Instance.GetMonthlyReportDetailList_Result(_System.ID, FinYear, FinMonth, TargetPlanID);

                //ValidatedMonthlyReportDetails.ForEach(P => ReportDetails.Add(P.ToVModel()));
            }

            if (UserPermission)
            {
                //筛选当前用户有权限的项目公司信息(因为权限数据缺失暂时注释)
                var companyIDArray = BLL.BizBLL.S_OrganizationalActionOperator.Instance.GetUserCompanyDataNoIsDelete(_System.ID, CurrentLoginName).Select(m => m.ID).ToArray();
                if (companyIDArray.Length > 0)
                {
                    ReportDetails = ReportDetails.Where(m => companyIDArray.Contains(m.CompanyID)).ToList();
                    if (ReportDetails.Any())
                    {
                        _MonthReportID = ReportDetails[0].MonthlyReportID;
                        if (IsLatestVersion)
                        {
                            _LastestMonthlyReport = B_MonthlyreportOperator.Instance.GetMonthlyreport(ReportDetails[0].MonthlyReportID);
                            Report = LastestMonthlyReport.ToVModel();
                        }
                        else
                        {
                            _ValidatedMonthlyReport = A_MonthlyreportOperator.Instance.GetMonthlyreport(ReportDetails[0].MonthlyReportID);
                            Report = ValidatedMonthlyReport.ToVModel();
                        }
                    }
                }
                else
                {
                    ReportDetails = new List <MonthlyReportDetail>();
                }
            }
        }
Esempio n. 6
0
        /// <summary>
        /// 将B表的数据,同步到A表中
        /// </summary>
        /// <param name="rpt"></param>
        private void BtoAData(B_MonthlyReport rpt, List <B_MonthlyReportDetail> rptDetailList)
        {
            A_MonthlyReport rptA = null;

            List <A_MonthlyReportDetail> rptTempDetailList = new List <A_MonthlyReportDetail>();

            List <A_MonthlyReportDetail> rptADetailList = null;

            //A主表的的数据
            rptA = A_MonthlyreportOperator.Instance.GetAMonthlyReport(rpt.SystemID, rpt.FinYear, rpt.FinMonth);

            //A表明细数据
            rptADetailList = A_MonthlyreportdetailOperator.Instance.GetAMonthlyreportdetailList(rpt.SystemID, rpt.FinYear, rpt.FinMonth).ToList();


            //判断当月主表是否是null
            if (rptA == null)
            {
                A_MonthlyreportOperator.Instance.AddMonthlyreport(new A_MonthlyReport()
                {
                    ID            = rpt.ID,
                    TargetPlanID  = rpt.TargetPlanID,
                    AreaID        = rpt.AreaID,
                    FinYear       = rpt.FinYear,
                    FinMonth      = rpt.FinMonth,
                    Description   = rpt.Description,
                    SystemID      = rpt.SystemID,
                    Status        = 5,
                    SystemBatchID = rpt.SystemBatchID,
                    CreatorName   = this.CurrentUser,
                    CreateTime    = DateTime.Now
                });

                //判断A 明细
                if (rptADetailList.Count == 0)
                {
                    #region 明细数据

                    //将B 表数据添加到 A表中
                    rptDetailList.ForEach(p => rptTempDetailList.Add(p.ToAModel(true)));

                    #endregion
                }
                else
                {
                    //删除A表明细的所有数据
                    A_MonthlyreportdetailOperator.Instance.DeleteMonthlyreportdetailList(rptADetailList);

                    #region 明细数据

                    //将B 表数据添加到 A表中
                    rptDetailList.ForEach(p => rptTempDetailList.Add(p.ToAModel(true)));

                    #endregion
                }

                //添加明细数据
                A_MonthlyreportdetailOperator.Instance.AddMonthlyreportDetailList(rptTempDetailList);
            }
            else
            {
                //上来删除主表的ID
                A_MonthlyreportOperator.Instance.DeleteModel(rptA);

                //新增B表的主表数据
                A_MonthlyreportOperator.Instance.AddMonthlyreport(new A_MonthlyReport()
                {
                    ID           = rpt.ID,
                    TargetPlanID = rpt.TargetPlanID,
                    AreaID       = rpt.AreaID,
                    FinYear      = rpt.FinYear, FinMonth = rpt.FinMonth, Description = rpt.Description, SystemID = rpt.SystemID, Status = 5, SystemBatchID = rpt.SystemBatchID, CreatorName = this.CurrentUser, CreateTime = DateTime.Now
                });

                //B表转换到A表
                if (rptADetailList.Count == 0)
                {
                    #region 明细数据

                    //将B 表数据添加到 A表中
                    rptDetailList.ForEach(p => rptTempDetailList.Add(p.ToAModel(true)));

                    #endregion
                }
                else
                {
                    //删除A表明细的所有数据
                    A_MonthlyreportdetailOperator.Instance.DeleteMonthlyreportdetailList(rptADetailList);

                    #region 明细数据

                    //将B 表数据添加到 A表中
                    rptDetailList.ForEach(p => rptTempDetailList.Add(p.ToAModel(true)));

                    #endregion
                }

                //添加明细数据
                A_MonthlyreportdetailOperator.Instance.AddMonthlyreportDetailList(rptTempDetailList);
            }
        }