コード例 #1
0
        //excle的生成
        private bool GenerateAttachmentsUrl(B_TargetPlan Tp)
        {
            bool IsUrl = false;

            if (Tp != null)
            {
                try
                {
                    var Sys = StaticResource.Instance[Tp.SystemID, Tp.CreateTime];
                    if (Sys != null && Sys.Category == 3)
                    {
                        string templetePath = string.Empty;
                        string templeteName = string.Empty;
                        templetePath = ExcelTempletePath;
                        templeteName = "计划指标上传模板V1.xlsx";
                        DownExclel_Group(templetePath, templeteName, Tp);
                    }
                    else
                    {
                        DownExcel(Tp.SystemID, Tp.FinYear, Tp);
                    }

                    IsUrl = true;
                }
                catch (Exception ex)
                {
                    IsUrl = false;
                    Common.ScheduleService.Log.Instance.Error("Service GenerateTargetPlanAttachments 年度计划指标分解:GenerateAttachmentsUrl : 系统ID:" + Tp.ID.ToString() + "  错误:" + ex.ToString());
                }
            }
            return(IsUrl);
        }
コード例 #2
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 string UpdateVersionName(string strTargetPlanID, string VersionName)
        {
            B_TargetPlan BtargetPlan = B_TargetplanOperator.Instance.GetTargetplan(Guid.Parse(strTargetPlanID));

            if (BtargetPlan.VersionName != VersionName)
            {
                BtargetPlan.VersionName = VersionName;
                B_TargetplanOperator.Instance.UpdateTargetplan(BtargetPlan);
            }

            return("true");
        }
コード例 #4
0
        public List <C_Target> GetVerTargetListByTargetPlanID(string TargetPlanID)
        {
            B_TargetPlan    tp     = B_TargetplanOperator.Instance.GetTargetplan(TargetPlanID.ToGuid());
            DateTime        time   = tp.CreateTime;
            Guid            SysID  = tp.SystemID;
            List <C_Target> result = C_TargetOperator.Instance.GetTargetList(SysID, time).ToList();

            for (int i = 0; i < result.Count; i++)
            {
                result[i].TargetTypeValue = EnumHelper.GetEnumDescription(typeof(EnumTargetType), result[i].TargetType);
            }
            return(result);
        }
コード例 #5
0
        /// <summary>
        /// 添加计划指标
        /// </summary>
        public B_TargetPlan AddTargetPlan()
        {
            B_TargetPlan _BTargetPlan = new B_TargetPlan();

            _BTargetPlan.SystemID = Guid.Parse(ddlSystem.SelectedValue);
            //bmr.FinMonth = FinMonth;
            _BTargetPlan.FinYear      = FinYear;
            _BTargetPlan.Status       = 2;
            _BTargetPlan.VersionStart = DateTime.Now;
            _BTargetPlan.Versionend   = new DateTime(9999, 01, 01);
            _BTargetPlan.WFStatus     = "Draft";
            _BTargetPlan.ID           = B_TargetplanOperator.Instance.AddTargetplan(_BTargetPlan);
            return(_BTargetPlan);
        }
コード例 #6
0
        public void OnProcessExecute(string strPrcessStatus, int OperatorType)
        {
            B_TargetPlan rpt = B_TargetplanOperator.Instance.GetTargetPlanByID(BusinessID.ToGuid());

            ExceptionHelper.TrueThrow(rpt == null, string.Format("cannot find the report data which id={0}", BusinessID));
            WfOperationInfo op = JsonHelper.Deserialize <WfOperationInfo>(OperaionInfo);

            //有效流程状态:Progress, Approved
            //6-return, 7 -withdraw
            if (OperatorType == 6 || OperatorType == 7)
            {
                if (OperatorType == 6)
                {
                    //rpt.WFStatus = "Draft";
                    rpt.WFStatus = "Progress"; //退回状态仍是审批中
                    new MonthlyReportLog().AddMonthlyReportAction((int)MonthlyReportLogActionType.Submit, rpt.SystemID, rpt.FinYear, 0, BusinessID.ToGuid());
                }
                else if (OperatorType == 7)
                {
                    new MonthlyReportLog().AddMonthlyReportAction((int)MonthlyReportLogActionType.Submit, rpt.SystemID, rpt.FinYear, 0, BusinessID.ToGuid());

                    // rpt.WFStatus = "Draft";
                    rpt.WFStatus = "Progress"; //退回状态仍是审批中
                }
            }
            else if (OperatorType == 9)//9, cancel
            {
                rpt.WFStatus = "Cancel";
                new MonthlyReportLog().AddMonthlyReportAction((int)MonthlyReportLogActionType.Submit, rpt.SystemID, rpt.FinYear, 0, BusinessID.ToGuid());
            }
            else
            {
                if (rpt.WFStatus != "Approved") //这里为了避免通知节点的提交覆盖了审批完成状态,而添加的
                {
                    rpt.WFStatus = "Progress";
                    //CreatTime取流程提交时间,该时间为流程开始时间
                    rpt.CreateTime = DateTime.Now;
                    rpt.Status     = 5;
                }
                //保存分解指标上报操作状态
                new MonthlyReportLog().AddMonthlyReportAction((int)MonthlyReportLogActionType.Submit, rpt.SystemID, rpt.FinYear, 0, BusinessID.ToGuid());
            }
            B_TargetplanOperator.Instance.UpdateTargetplan(rpt);

            //BPF.Workflow.Object.WorkflowContext wc= BPF.Workflow.Client.WFClientSDK.GetProcess(null,rpt.ID.ToString(), UserLonginID);
            //if (wc.ProcessInstance.Status == 3) {
            //    OnProecssCompleted();
            //}
        }
        public string DeleteTargetPlan(string ID, string SystemID, string Year)
        {
            int  res    = 0;
            Guid result = Guid.Empty;

            using (TransactionScope scope = TransactionScopeFactory.Create())
            {
                //查询当前板本是否有月报数据
                List <B_MonthlyReport> reports = B_MonthlyreportOperator.Instance.GetLastMonthlyReportList(Guid.Parse(ID));
                if (reports.Any())
                {
                    return("1");
                }
                //删除a表数据,物理删除
                A_TargetplanOperator.Instance.DeletePlan(Guid.Parse(ID));
                A_TargetplandetailOperator.Instance.DeletePlanDetail(Guid.Parse(ID));
                //改b表版本结束时间
                B_TargetPlan BtargetPlan = B_TargetplanOperator.Instance.GetTargetplan(Guid.Parse(ID));
                BtargetPlan.Versionend = DateTime.Now;
                B_TargetplanOperator.Instance.UpdateTargetplan(BtargetPlan);

                #region 在日志表中添加该次操作的日志


                B_TargetPlanAction TargetAction = new B_TargetPlanAction()
                {
                    TargetPlanID = ID.ToGuid(),
                    SystemID     = SystemID.ToGuid(),
                    FinYear      = int.Parse(Year),
                    Action       = "禁用",
                    Operator     = HttpContext.Current.GetUserName(),
                    OperatorTime = DateTime.Now
                };
                result = B_TargetPlanActionOperator.Instance.AddTargetPlanAction(TargetAction);

                #endregion
                scope.Complete();
                res = 1;
            }
            if (res > 0)
            {
                return("true");
            }
            else
            {
                return("false");
            }
        }
コード例 #8
0
        public void TargetPlanControl()
        {
            HidSystemID.Value     = ddlSystem.SelectedValue;
            HideProcessCode.Value = StaticResource.Instance[ddlSystem.SelectedValue.ToGuid(), DateTime.Now].Configuration.Element("ProcessCode").Value + "-ZB";


            B_TargetPlan BTargetPlan = null;

            //判断当前URL是否存在BusinessID
            if (string.IsNullOrEmpty(Request["BusinessID"]))
            {
                //添加指标说明
                BTargetPlan = B_TargetplanOperator.Instance.GetTargetPlanByDraft(Guid.Parse(ddlSystem.SelectedValue), FinYear);
                if (BTargetPlan == null)
                {
                    BTargetPlan = AddTargetPlan();
                }
                else
                {
                    if (BTargetPlan.WFStatus == "Progress" || BTargetPlan.WFStatus == "Approved")
                    {
                        BTargetPlan = AddTargetPlan();
                    }
                }
                //为当前计划指标(BTargetPlan),插入计划指标明细数据
                // AddTargetPlanDetail(BTargetPlan);
            }
            else
            {
                BTargetPlan             = B_TargetplanOperator.Instance.GetTargetPlanByID(Request["BusinessID"].ToGuid());
                ddlSystem.SelectedValue = BTargetPlan.SystemID.ToString();
                HidSystemID.Value       = BTargetPlan.SystemID.ToString();
                ddlSystem.Enabled       = false;
                HideProcessCode.Value   = StaticResource.Instance[BTargetPlan.SystemID, DateTime.Now].Configuration.Element("ProcessCode").Value + "-ZB";

                FinYear = BTargetPlan.FinYear;
            }
            hideTargetPlanID.Value = BTargetPlan.ID.ToString();
            hideVersionName.Value  = BTargetPlan.VersionName;
            //if (BTargetPlan != null)
            //{
            //    this.Page.ClientScript.RegisterStartupScript(this.GetType(), "_setStlye", "<script>setStlye('missTargetReportSpan,monthReportSpan,monthReportSubmitSpan');</script>");
            //}
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["BusinessID"] != null)
                {
                    if (!string.IsNullOrEmpty(Request.QueryString["BusinessID"].ToString()))
                    {
                        //if (ConfigurationManager.AppSettings["HideProcessCode"] != null)
                        //{
                        //    HideProcessCode.Value = ConfigurationManager.AppSettings["HideProcessCode"];
                        //}
                        hideTargetPlanID.Value = Request.QueryString["BusinessID"].ToString();
                        B_TargetPlan _BTargetPlan = B_TargetplanOperator.Instance.GetTargetPlanByID(Guid.Parse(hideTargetPlanID.Value));
                        if (_BTargetPlan != null)
                        {
                            HideProcessCode.Value = StaticResource.Instance[_BTargetPlan.SystemID, DateTime.Now].Configuration.Element("ProcessCode").Value;

                            hideSystemID.Value = _BTargetPlan.SystemID.ToString();
                            hideFinYear.Value  = _BTargetPlan.FinYear.ToString();

                            C_System system = StaticResource.Instance[_BTargetPlan.SystemID, DateTime.Now];

                            SysDataJson = JsonConvert.SerializeObject(system);

                            if (system != null)
                            {
                                lblName.Text = _BTargetPlan.FinYear + "年" + system.SystemName + "指标分解";
                                if (!string.IsNullOrEmpty(_BTargetPlan.VersionName))
                                {
                                    lblName.Text += "-" + _BTargetPlan.VersionName;
                                }
                            }
                            lblVersionName2.Text  = _BTargetPlan.VersionName;
                            lblVersionName1.Text  = _BTargetPlan.VersionName;
                            hideVersionName.Value = _BTargetPlan.VersionName;
                        }
                    }
                }
            }
        }
コード例 #10
0
        /// <summary>
        /// 基础信息
        /// </summary>
        /// <param name="Sys"></param>
        /// <param name="Tp"></param>
        /// <returns></returns>
        protected Groups InitBaseInfo(C_System Sys, B_TargetPlan Tp)
        {
            Groups baseInfo = new Groups()
            {
                type     = ConstantWS.flowData_group_noHeader,
                subTitle = "基本信息",
                rows     = new List <Rows>()
                {
                    new Rows()
                    {
                        key = "上报系统", content = Sys.SystemName
                    }
                    , new Rows()
                    {
                        key = "上报年份", content = Tp.FinYear + "年"
                    }
                }
            };

            return(baseInfo);
        }
コード例 #11
0
        public ResultContext TargetPlanApprove(string BusinessID, bool IsLatestVersion)
        {
            try
            {
                B_TargetPlan _BTargetPlan = B_TargetplanOperator.Instance.GetTargetPlanByID(Guid.Parse(BusinessID));
                string       SystemID     = string.Empty;
                string       Year         = "";
                C_System     system       = new C_System();
                if (_BTargetPlan != null)
                {
                    SystemID = _BTargetPlan.SystemID.ToString();
                    Year     = _BTargetPlan.FinYear.ToString();
                    system   = StaticResource.Instance[_BTargetPlan.SystemID, DateTime.Now];
                }
                TargetPlanDetailController tp = new TargetPlanDetailController();
                TargetController           tc = new TargetController();
                string title = Year + "年" + system.SystemName + "指标分解";
                if (!string.IsNullOrEmpty(_BTargetPlan.VersionName))
                {
                    title += "-" + _BTargetPlan.VersionName;
                }
                if (system != null && system.Category == 3)
                {
                    return(new ResultContext(tp.GetTargetPlanDetail(SystemID, Year, BusinessID, IsLatestVersion)));
                }
                else
                {
                    return(new ResultContext(new { title, systemName = system.SystemName, Year, list = tc.GetSumMonthTargetDetailByTID(BusinessID) }));
                }
            }
            catch (Exception ex)
            {
                return(new ResultContext((int)StatusCodeEnum.isCatch, ex.ToString()));

                throw;
            }
        }
コード例 #12
0
        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);
        }
コード例 #13
0
        /// <summary>
        /// 生成Excle ,就是有12个月的 系统都可以用这个下载
        /// </summary>
        /// <param name="SysId"></param>
        /// <param name="FinYear"></param>
        /// <param name="Tp"></param>
        private void DownExcel(Guid SysId, int FinYear, B_TargetPlan Tp)
        {
            ExcelEngine      excel      = new ExcelEngine(licenseFile);
            WorkbookDesigner designer   = new WorkbookDesigner();
            string           path       = System.IO.Path.Combine(ExcelTempletePath, "指标汇总V1.xls");
            FileStream       fileStream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);

            designer.Workbook = new Workbook(fileStream);
            WorksheetCollection worksheets = designer.Workbook.Worksheets;

            #region 汇总标题样式
            Aspose.Cells.Style StyleTitle = designer.Workbook.Styles[designer.Workbook.Styles.Add()];
            StyleTitle.Font.Size           = 16;
            StyleTitle.Font.Name           = "黑体";
            StyleTitle.Font.IsBold         = true;
            StyleTitle.HorizontalAlignment = TextAlignmentType.Center;
            StyleTitle.VerticalAlignment   = TextAlignmentType.Center;
            StyleTitle.Pattern             = BackgroundType.Solid;

            #endregion
            #region 指标标题样式
            Aspose.Cells.Style StyleTargetTitle = designer.Workbook.Styles[designer.Workbook.Styles.Add()];
            StyleTargetTitle.Font.Size           = 22;
            StyleTargetTitle.Font.Name           = "黑体";
            StyleTargetTitle.Font.IsBold         = true;
            StyleTargetTitle.HorizontalAlignment = TextAlignmentType.Center;
            StyleTargetTitle.VerticalAlignment   = TextAlignmentType.Center;
            StyleTargetTitle.Pattern             = BackgroundType.Solid;

            #endregion
            #region 副标样式(时间和单位)
            Aspose.Cells.Style StyleTitle2 = designer.Workbook.Styles[designer.Workbook.Styles.Add()];
            StyleTitle2.Font.Size           = 12;
            StyleTitle2.Font.Name           = "Arial";
            StyleTitle2.Font.IsBold         = true;
            StyleTitle2.HorizontalAlignment = TextAlignmentType.Center;
            StyleTitle2.VerticalAlignment   = TextAlignmentType.Center;
            StyleTitle2.Pattern             = BackgroundType.Solid;

            #endregion


            #region 表头样式
            Aspose.Cells.Style StyleTitle3 = designer.Workbook.Styles[designer.Workbook.Styles.Add()];
            StyleTitle3.Font.Size           = 12;
            StyleTitle3.Font.Name           = "Arial";
            StyleTitle3.Font.IsBold         = true;
            StyleTitle3.Font.Color          = Color.White;
            StyleTitle3.ForegroundColor     = Color.FromArgb(22, 54, 92);
            StyleTitle3.HorizontalAlignment = TextAlignmentType.Center;
            StyleTitle3.VerticalAlignment   = TextAlignmentType.Center;
            StyleTitle3.Pattern             = BackgroundType.Solid;
            StyleTitle3.Borders[BorderType.TopBorder].LineStyle    = CellBorderType.Thin;
            StyleTitle3.Borders[BorderType.TopBorder].Color        = System.Drawing.Color.Black;
            StyleTitle3.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;;
            StyleTitle3.Borders[BorderType.BottomBorder].Color     = System.Drawing.Color.Black;
            StyleTitle3.Borders[BorderType.LeftBorder].LineStyle   = CellBorderType.Thin;;
            StyleTitle3.Borders[BorderType.LeftBorder].Color       = System.Drawing.Color.Black;
            StyleTitle3.Borders[BorderType.RightBorder].LineStyle  = CellBorderType.Thin;
            StyleTitle3.Borders[BorderType.RightBorder].Color      = System.Drawing.Color.Black;
            #endregion

            #region 数据样式
            Aspose.Cells.Style RowStyle = designer.Workbook.Styles[designer.Workbook.Styles.Add()];
            RowStyle.Font.Size           = 12;
            RowStyle.Font.Name           = "Arial";
            RowStyle.HorizontalAlignment = TextAlignmentType.Center;
            RowStyle.Pattern             = BackgroundType.Solid;
            RowStyle.Number = 1;
            RowStyle.Borders[BorderType.TopBorder].LineStyle    = CellBorderType.Thin;
            RowStyle.Borders[BorderType.TopBorder].Color        = System.Drawing.Color.Black;
            RowStyle.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;;
            RowStyle.Borders[BorderType.BottomBorder].Color     = System.Drawing.Color.Black;
            RowStyle.Borders[BorderType.LeftBorder].LineStyle   = CellBorderType.Thin;;
            RowStyle.Borders[BorderType.LeftBorder].Color       = System.Drawing.Color.Black;
            RowStyle.Borders[BorderType.RightBorder].LineStyle  = CellBorderType.Thin;
            RowStyle.Borders[BorderType.RightBorder].Color      = System.Drawing.Color.Black;
            #endregion
            #region 累计数据样式
            Aspose.Cells.Style RowSumStyle = designer.Workbook.Styles[designer.Workbook.Styles.Add()];
            RowSumStyle.Font.Size           = 12;
            RowSumStyle.Font.Name           = "Arial";
            RowSumStyle.Number              = 1;
            RowSumStyle.ForegroundColor     = Color.FromArgb(217, 217, 217);
            RowSumStyle.HorizontalAlignment = TextAlignmentType.Center;
            RowSumStyle.Pattern             = BackgroundType.Solid;
            RowSumStyle.Borders[BorderType.TopBorder].LineStyle    = CellBorderType.Thin;
            RowSumStyle.Borders[BorderType.TopBorder].Color        = System.Drawing.Color.Black;
            RowSumStyle.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;;
            RowSumStyle.Borders[BorderType.BottomBorder].Color     = System.Drawing.Color.Black;
            RowSumStyle.Borders[BorderType.LeftBorder].LineStyle   = CellBorderType.Thin;;
            RowSumStyle.Borders[BorderType.LeftBorder].Color       = System.Drawing.Color.Black;
            RowSumStyle.Borders[BorderType.RightBorder].LineStyle  = CellBorderType.Thin;
            RowSumStyle.Borders[BorderType.RightBorder].Color      = System.Drawing.Color.Black;
            #endregion

            #region 分解表公司名称
            Aspose.Cells.Style TargetCompanystyle = designer.Workbook.Styles[designer.Workbook.Styles.Add()];
            TargetCompanystyle.Font.Size           = 12;
            TargetCompanystyle.Font.Name           = "Arial";
            TargetCompanystyle.Font.IsBold         = true;
            TargetCompanystyle.HorizontalAlignment = TextAlignmentType.Center;
            TargetCompanystyle.Pattern             = BackgroundType.Solid;
            TargetCompanystyle.ForegroundColor     = Color.FromArgb(255, 255, 204);
            TargetCompanystyle.Borders[BorderType.TopBorder].LineStyle    = CellBorderType.Thin;
            TargetCompanystyle.Borders[BorderType.TopBorder].Color        = System.Drawing.Color.Black;
            TargetCompanystyle.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;;
            TargetCompanystyle.Borders[BorderType.BottomBorder].Color     = System.Drawing.Color.Black;
            TargetCompanystyle.Borders[BorderType.LeftBorder].LineStyle   = CellBorderType.Thin;;
            TargetCompanystyle.Borders[BorderType.LeftBorder].Color       = System.Drawing.Color.Black;
            TargetCompanystyle.Borders[BorderType.RightBorder].LineStyle  = CellBorderType.Thin;
            TargetCompanystyle.Borders[BorderType.RightBorder].Color      = System.Drawing.Color.Black;
            #endregion
            #region 分解表累计
            Aspose.Cells.Style TargetSumstyle = designer.Workbook.Styles[designer.Workbook.Styles.Add()];
            TargetSumstyle.Font.Size           = 12;
            TargetSumstyle.Font.Name           = "Arial";
            TargetSumstyle.Number              = 1;
            TargetSumstyle.Font.IsBold         = true;
            TargetSumstyle.HorizontalAlignment = TextAlignmentType.Center;
            TargetSumstyle.Pattern             = BackgroundType.Solid;
            TargetSumstyle.ForegroundColor     = Color.FromArgb(253, 213, 180);
            TargetSumstyle.Borders[BorderType.TopBorder].LineStyle    = CellBorderType.Thin;
            TargetSumstyle.Borders[BorderType.TopBorder].Color        = System.Drawing.Color.Black;
            TargetSumstyle.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;;
            TargetSumstyle.Borders[BorderType.BottomBorder].Color     = System.Drawing.Color.Black;
            TargetSumstyle.Borders[BorderType.LeftBorder].LineStyle   = CellBorderType.Thin;;
            TargetSumstyle.Borders[BorderType.LeftBorder].Color       = System.Drawing.Color.Black;
            TargetSumstyle.Borders[BorderType.RightBorder].LineStyle  = CellBorderType.Thin;
            TargetSumstyle.Borders[BorderType.RightBorder].Color      = System.Drawing.Color.Black;
            #endregion
            #region 表尾
            Aspose.Cells.Style lastStyle = designer.Workbook.Styles[designer.Workbook.Styles.Add()];
            lastStyle.Font.Size           = 12;
            lastStyle.Font.Name           = "Arial";
            lastStyle.HorizontalAlignment = TextAlignmentType.Center;
            lastStyle.Pattern             = BackgroundType.Solid;
            lastStyle.ForegroundColor     = Color.FromArgb(189, 215, 238);
            lastStyle.Borders[BorderType.TopBorder].LineStyle    = CellBorderType.Thin;
            lastStyle.Borders[BorderType.TopBorder].Color        = System.Drawing.Color.Black;
            lastStyle.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;;
            lastStyle.Borders[BorderType.BottomBorder].Color     = System.Drawing.Color.Black;
            lastStyle.Borders[BorderType.LeftBorder].LineStyle   = CellBorderType.Thin;;
            lastStyle.Borders[BorderType.LeftBorder].Color       = System.Drawing.Color.Black;
            lastStyle.Borders[BorderType.RightBorder].LineStyle  = CellBorderType.Thin;
            lastStyle.Borders[BorderType.RightBorder].Color      = System.Drawing.Color.Black;

            Aspose.Cells.Style hejistyle = designer.Workbook.Styles[designer.Workbook.Styles.Add()];
            hejistyle.Font.Size           = 12;
            hejistyle.Font.Name           = "Arial";
            hejistyle.Font.IsBold         = true;
            hejistyle.Number              = 1;
            hejistyle.HorizontalAlignment = TextAlignmentType.Center;
            hejistyle.Pattern             = BackgroundType.Solid;
            hejistyle.ForegroundColor     = Color.FromArgb(189, 215, 238);
            hejistyle.Borders[BorderType.TopBorder].LineStyle    = CellBorderType.Thin;
            hejistyle.Borders[BorderType.TopBorder].Color        = System.Drawing.Color.Black;
            hejistyle.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;;
            hejistyle.Borders[BorderType.BottomBorder].Color     = System.Drawing.Color.Black;
            hejistyle.Borders[BorderType.LeftBorder].LineStyle   = CellBorderType.Thin;;
            hejistyle.Borders[BorderType.LeftBorder].Color       = System.Drawing.Color.Black;
            hejistyle.Borders[BorderType.RightBorder].LineStyle  = CellBorderType.Thin;
            hejistyle.Borders[BorderType.RightBorder].Color      = System.Drawing.Color.Black;


            Aspose.Cells.Style monthstyle = designer.Workbook.Styles[designer.Workbook.Styles.Add()];
            monthstyle.Font.Size           = 12;
            monthstyle.Font.Name           = "Arial";
            monthstyle.Font.IsBold         = true;
            monthstyle.HorizontalAlignment = TextAlignmentType.Center;
            monthstyle.Pattern             = BackgroundType.Solid;
            monthstyle.Borders[BorderType.TopBorder].LineStyle    = CellBorderType.Thin;
            monthstyle.Borders[BorderType.TopBorder].Color        = System.Drawing.Color.Black;
            monthstyle.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;;
            monthstyle.Borders[BorderType.BottomBorder].Color     = System.Drawing.Color.Black;
            monthstyle.Borders[BorderType.LeftBorder].LineStyle   = CellBorderType.Thin;;
            monthstyle.Borders[BorderType.LeftBorder].Color       = System.Drawing.Color.Black;
            monthstyle.Borders[BorderType.RightBorder].LineStyle  = CellBorderType.Thin;
            monthstyle.Borders[BorderType.RightBorder].Color      = System.Drawing.Color.Black;
            #endregion

            C_System SysModel = C_SystemOperator.Instance.GetSystem(SysId);
            // List<C_Target> TargetList = C_TargetOperator.Instance.GetTargetList(SysId).ToList();
            List <TargetPlanDetailVList> TargetPlanDetailVList = B_TargetplandetailOperator.Instance.GetTargetHistory(FinYear, SysId, Tp.ID);   //A_TargetplandetailOperator.Instance.GetSumTargetDetail(FinYear, SysId);
            //复制sheet
            for (int i = 0; i < TargetPlanDetailVList.Count; i++)
            {
                worksheets.AddCopy(1);
                //worksheets[i + 1].Name = TargetList[i].TargetName;
            }


            #region 汇总表文档下载



            string Titles = SysModel.SystemName + "经营指标分解汇总表"; //表头名称

            worksheets[0].Cells.SetRowHeight(0, 50);           //表格第一行放表头 所以第一行行高增加到50
            for (int i = 1; i <= 16; i++)                      //除了第一行,汇总表所有用到的行行高均为20
            {
                worksheets[0].Cells.SetRowHeight(i, 20);
            }
            worksheets[0].Cells.Merge(0, 1, 1, (TargetPlanDetailVList.Count) * 2 + 1);//为标题栏合并列,所需要合并列的数量为 指标数量*2+1
            worksheets[0].Cells[0, 1].PutValue(Titles);
            worksheets[0].Cells[0, 1].SetStyle(StyleTitle);


            //为表格设置列宽

            for (int i = 1; i <= (TargetPlanDetailVList.Count) * 2; i++)
            {
                worksheets[0].Cells.SetColumnWidth(i + 1, 20);
            }



            worksheets[0].Cells[1, 1].PutValue("年度:" + FinYear);
            worksheets[0].Cells[1, 1].SetStyle(StyleTitle2);
            //   worksheets[0].Cells[1, (TargetPlanDetailVList.Count) * 2 + 1].PutValue("单位:万元");
            //  worksheets[0].Cells[1, (TargetPlanDetailVList.Count) * 2 + 1].SetStyle(StyleTitle2);


            //创建表头
            worksheets[0].Cells.Merge(2, 1, 2, 1);
            worksheets[0].Cells.Merge(2, 2, 1, TargetPlanDetailVList.Count);                               //合并列
            worksheets[0].Cells.Merge(2, 2 + TargetPlanDetailVList.Count, 1, TargetPlanDetailVList.Count); //合并列
            worksheets[0].Cells[2, 1].PutValue("月份");
            worksheets[0].Cells[2, 1].SetStyle(StyleTitle3);
            worksheets[0].Cells[3, 1].SetStyle(StyleTitle3);
            worksheets[0].Cells[2, 2].PutValue("当月数");
            worksheets[0].Cells[2, 2 + TargetPlanDetailVList.Count].PutValue("累计数");
            //worksheets[0].Cells[2, 2].SetStyle(StyleTitle3);
            //worksheets[0].Cells[2, 2 + TargetList.Count].SetStyle(StyleTitle3);

            int Nowcol = 2;
            int Allcol = TargetPlanDetailVList.Count + 2;
            //为表头赋值(指标名称)
            for (int i = 0; i < TargetPlanDetailVList.Count; i++)
            {
                worksheets[0].Cells[3, Nowcol + i].PutValue(TargetPlanDetailVList[i].TargetName);
                worksheets[0].Cells[3, Allcol + i].PutValue(TargetPlanDetailVList[i].TargetName);
                worksheets[0].Cells[2, Nowcol + i].SetStyle(StyleTitle3);
                worksheets[0].Cells[2, Allcol + i].SetStyle(StyleTitle3);
                worksheets[0].Cells[3, Nowcol + i].SetStyle(StyleTitle3);
                worksheets[0].Cells[3, Allcol + i].SetStyle(StyleTitle3);
            }


            //给表格内部赋值
            List <TargetDetail> TargetDetail = B_TargetplandetailOperator.Instance.GetSumMonthTargetDetail(FinYear, SysId, Tp);   //A_TargetplandetailOperator.Instance.GetSumMonthTargetDetail(FinYear, SysId);

            for (int a = 0; a < 12; a++)
            {
                worksheets[0].Cells[4 + a, 1].PutValue(a + 1 + "月");
                worksheets[0].Cells[4 + a, 1].SetStyle(monthstyle);
            }
            for (int j = 0; j < TargetPlanDetailVList.Count; j++)
            {
                if (j + 1 <= TargetDetail[0].TargetDetailList.Count)
                {
                    for (int a = 0; a < TargetDetail.Count; a++)
                    {
                        if (TargetDetail[a].TargetDetailList[j].Target != null)
                        {
                            worksheets[0].Cells[4 + a, Nowcol + j].PutValue(TargetDetail[a].TargetDetailList[j].Target);
                            worksheets[0].Cells[4 + a, Nowcol + j].SetStyle(RowStyle);
                        }
                        else
                        {
                            worksheets[0].Cells[4 + a, Nowcol + j].PutValue("--");
                            worksheets[0].Cells[4 + a, Nowcol + j].SetStyle(RowStyle);
                        }
                        if (TargetDetail[a].TargetDetailList[j].SumTarget != null)
                        {
                            worksheets[0].Cells[4 + a, Allcol + j].PutValue(TargetDetail[a].TargetDetailList[j].SumTarget);
                            worksheets[0].Cells[4 + a, Allcol + j].SetStyle(RowStyle);
                        }
                        else
                        {
                            worksheets[0].Cells[4 + a, Allcol + j].PutValue("--");
                            worksheets[0].Cells[4 + a, Allcol + j].SetStyle(RowStyle);
                        }
                    }
                }
                else
                {
                    for (int s = 0; s < 12; s++)
                    {
                        worksheets[0].Cells[4 + s, Nowcol + j].PutValue("--");
                        worksheets[0].Cells[4 + s, Allcol + j].PutValue("--");
                        worksheets[0].Cells[4 + s, Nowcol + j].SetStyle(RowStyle);
                        worksheets[0].Cells[4 + s, Allcol + j].SetStyle(RowStyle);
                    }
                }
            }
            worksheets[0].Cells[16, 1].PutValue("合计");
            worksheets[0].Cells[16, 1].SetStyle(hejistyle);
            for (int j = 0; j < TargetPlanDetailVList.Count; j++)
            {
                if (j + 1 <= TargetDetail[0].TargetDetailList.Count)
                {
                    if (TargetDetail[11].TargetDetailList[j].SumTarget != null)
                    {
                        worksheets[0].Cells[16, j + 2].PutValue(TargetDetail[11].TargetDetailList[j].SumTarget);
                        worksheets[0].Cells[16, j + 2 + TargetPlanDetailVList.Count].PutValue("--");
                        worksheets[0].Cells[16, j + 2].SetStyle(RowStyle);
                        worksheets[0].Cells[16, j + 2 + TargetPlanDetailVList.Count].SetStyle(RowStyle);
                    }
                    else
                    {
                        worksheets[0].Cells[16, j + 2].PutValue("--");
                        worksheets[0].Cells[16, j + 2 + TargetPlanDetailVList.Count].PutValue("--");
                        worksheets[0].Cells[16, j + 2].SetStyle(RowStyle);
                        worksheets[0].Cells[16, j + 2 + TargetPlanDetailVList.Count].SetStyle(RowStyle);
                    }
                }
                else
                {
                    worksheets[0].Cells[16, j + 2].PutValue("--");
                    worksheets[0].Cells[16, j + 2 + TargetPlanDetailVList.Count].PutValue("--");
                    worksheets[0].Cells[16, j + 2].SetStyle(RowStyle);
                    worksheets[0].Cells[16, j + 2 + TargetPlanDetailVList.Count].SetStyle(RowStyle);
                }
                worksheets[0].Cells[16, j + 2].SetStyle(lastStyle);
                worksheets[0].Cells[16, j + 2 + TargetPlanDetailVList.Count].SetStyle(lastStyle);

                worksheets[0].Cells[16, j + 2].SetStyle(RowStyle);
                worksheets[0].Cells[16, j + 2 + TargetPlanDetailVList.Count].SetStyle(RowStyle);
            }


            #endregion

            #region 分解表下载
            for (int i = 0; i < TargetPlanDetailVList.Count; i++)
            {
                worksheets[i + 1].Name = TargetPlanDetailVList[i].TargetName;
                string TargetTitles = SysModel.SystemName + "经营指标分解明细表--" + TargetPlanDetailVList[i].TargetName;//表头名称
                worksheets[i + 1].Cells[0, 1].PutValue(TargetTitles);
                worksheets[i + 1].Cells[0, 1].SetStyle(StyleTargetTitle);
                worksheets[i + 1].Cells[1, 1].PutValue("年度:" + FinYear);
                worksheets[i + 1].Cells[1, 1].SetStyle(StyleTitle2);
                worksheets[i + 1].Cells[1, 26].PutValue("单位:" + TargetPlanDetailVList[i].Unit);
                worksheets[i + 1].Cells[1, 26].SetStyle(StyleTitle2);

                worksheets[i + 1].Cells[4, 3].PutValue(TargetPlanDetailVList[i].SumTargetSum12);
                //当月
                worksheets[i + 1].Cells[4, 4].PutValue(TargetPlanDetailVList[i].SumTarget1);

                worksheets[i + 1].Cells[4, 5].PutValue(TargetPlanDetailVList[i].SumTarget2);
                worksheets[i + 1].Cells[4, 6].PutValue(TargetPlanDetailVList[i].SumTarget3);
                worksheets[i + 1].Cells[4, 7].PutValue(TargetPlanDetailVList[i].SumTarget4);
                worksheets[i + 1].Cells[4, 8].PutValue(TargetPlanDetailVList[i].SumTarget5);
                worksheets[i + 1].Cells[4, 9].PutValue(TargetPlanDetailVList[i].SumTarget6);
                worksheets[i + 1].Cells[4, 10].PutValue(TargetPlanDetailVList[i].SumTarget7);
                worksheets[i + 1].Cells[4, 11].PutValue(TargetPlanDetailVList[i].SumTarget8);
                worksheets[i + 1].Cells[4, 12].PutValue(TargetPlanDetailVList[i].SumTarget9);
                worksheets[i + 1].Cells[4, 13].PutValue(TargetPlanDetailVList[i].SumTarget10);
                worksheets[i + 1].Cells[4, 14].PutValue(TargetPlanDetailVList[i].SumTarget11);
                worksheets[i + 1].Cells[4, 15].PutValue(TargetPlanDetailVList[i].SumTarget12);

                //累计
                worksheets[i + 1].Cells[4, 16].PutValue(TargetPlanDetailVList[i].SumTargetSum1);
                worksheets[i + 1].Cells[4, 17].PutValue(TargetPlanDetailVList[i].SumTargetSum2);
                worksheets[i + 1].Cells[4, 18].PutValue(TargetPlanDetailVList[i].SumTargetSum3);
                worksheets[i + 1].Cells[4, 19].PutValue(TargetPlanDetailVList[i].SumTargetSum4);
                worksheets[i + 1].Cells[4, 20].PutValue(TargetPlanDetailVList[i].SumTargetSum5);
                worksheets[i + 1].Cells[4, 21].PutValue(TargetPlanDetailVList[i].SumTargetSum6);
                worksheets[i + 1].Cells[4, 22].PutValue(TargetPlanDetailVList[i].SumTargetSum7);
                worksheets[i + 1].Cells[4, 23].PutValue(TargetPlanDetailVList[i].SumTargetSum8);
                worksheets[i + 1].Cells[4, 24].PutValue(TargetPlanDetailVList[i].SumTargetSum9);
                worksheets[i + 1].Cells[4, 25].PutValue(TargetPlanDetailVList[i].SumTargetSum10);
                worksheets[i + 1].Cells[4, 26].PutValue(TargetPlanDetailVList[i].SumTargetSum11);
                worksheets[i + 1].Cells[4, 27].PutValue(TargetPlanDetailVList[i].SumTargetSum12);

                for (int n = 0; n < TargetPlanDetailVList[i].TargetPlanDetailList.Count; n++)
                {
                    worksheets[i + 1].Cells.SetRowHeight(n + 5, 18);
                    worksheets[i + 1].Cells[n + 5, 0].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].seq);
                    worksheets[i + 1].Cells[n + 5, 0].SetStyle(TargetCompanystyle);
                    worksheets[i + 1].Cells[n + 5, 1].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].CompanyName);
                    worksheets[i + 1].Cells[n + 5, 1].SetStyle(TargetCompanystyle);


                    worksheets[i + 1].Cells[n + 5, 2].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].OpenTime);
                    worksheets[i + 1].Cells[n + 5, 2].SetStyle(TargetCompanystyle);
                    worksheets[i + 1].Cells[n + 5, 3].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].TargetSum12);
                    worksheets[i + 1].Cells[n + 5, 3].SetStyle(TargetSumstyle);

                    worksheets[i + 1].Cells[n + 5, 4].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].Target1);
                    worksheets[i + 1].Cells[n + 5, 5].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].Target2);
                    worksheets[i + 1].Cells[n + 5, 6].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].Target3);
                    worksheets[i + 1].Cells[n + 5, 7].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].Target4);
                    worksheets[i + 1].Cells[n + 5, 8].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].Target5);
                    worksheets[i + 1].Cells[n + 5, 9].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].Target6);
                    worksheets[i + 1].Cells[n + 5, 10].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].Target7);
                    worksheets[i + 1].Cells[n + 5, 11].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].Target8);
                    worksheets[i + 1].Cells[n + 5, 12].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].Target9);
                    worksheets[i + 1].Cells[n + 5, 13].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].Target10);
                    worksheets[i + 1].Cells[n + 5, 14].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].Target11);
                    worksheets[i + 1].Cells[n + 5, 15].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].Target12);

                    worksheets[i + 1].Cells[n + 5, 16].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].TargetSum1);
                    worksheets[i + 1].Cells[n + 5, 17].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].TargetSum2);
                    worksheets[i + 1].Cells[n + 5, 18].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].TargetSum3);
                    worksheets[i + 1].Cells[n + 5, 19].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].TargetSum4);
                    worksheets[i + 1].Cells[n + 5, 20].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].TargetSum5);
                    worksheets[i + 1].Cells[n + 5, 21].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].TargetSum6);
                    worksheets[i + 1].Cells[n + 5, 22].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].TargetSum7);
                    worksheets[i + 1].Cells[n + 5, 23].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].TargetSum8);
                    worksheets[i + 1].Cells[n + 5, 24].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].TargetSum9);
                    worksheets[i + 1].Cells[n + 5, 25].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].TargetSum10);
                    worksheets[i + 1].Cells[n + 5, 26].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].TargetSum11);
                    worksheets[i + 1].Cells[n + 5, 27].PutValue(TargetPlanDetailVList[i].TargetPlanDetailList[n].TargetSum12);
                    for (int a = 0; a < 12; a++)
                    {
                        worksheets[i + 1].Cells[n + 5, 4 + a].SetStyle(RowStyle);
                        worksheets[i + 1].Cells[n + 5, 16 + a].SetStyle(RowSumStyle);
                    }
                }
            }


            #endregion


            worksheets.RemoveAt(TargetPlanDetailVList.Count + 1);



            if (Directory.Exists(filePath) == false)
            {
                Directory.CreateDirectory(filePath);//如果上传文件路径不存在,则创建该路径。
            }

            string fileName = "年度经营指标月度分解汇总表";
            string dateNow  = DateTime.Now.ToString("HHmmss");

            string t_fileName = SysModel.SystemName + FinYear.ToString() + fileName + "_" + dateNow + ".xls";
            t_fileName = Path.Combine(filePath, t_fileName); // 文件路径
            designer.Workbook.Save(t_fileName);              // 生成文件
            string url = ConfigurationManager.AppSettings["ExcelFilePath"] + "\\" + WebHelper.DateTimeNow.ToString("yyyy-MM-dd") + t_fileName.Replace(filePath, "");
            AddAttachments(Tp.ID, t_fileName.Replace(filePath, "").Replace("\\", ""), url.Substring(1, url.Length - 1), fileStream);

            fileStream.Close();
            fileStream.Dispose();
        }
        public B_TargetPlan GetTargetPlanByID(string ID)
        {
            B_TargetPlan _BTargetPlan = B_TargetplanOperator.Instance.GetTargetPlanByID(Guid.Parse(ID));

            return(_BTargetPlan);
        }
コード例 #15
0
        public byte[] ZipFile(List <B_Attachment> atts, string zipedFile, int blockSize, string IsMonth)
        {
            C_System Sys = new C_System();

            try
            {
                //文件临时存储地址
                string tmpFilePath = System.IO.Path.GetTempPath() + "\\" + Guid.NewGuid().ToString();
                //压缩包地址
                string tmpZipFilePath = tmpFilePath + "\\" + zipedFile + ".zip";
                using (Ionic.Zip.ZipFile zipFile = new Ionic.Zip.ZipFile(Encoding.GetEncoding("GB2312")))
                {
                    foreach (var itemKey in atts)
                    {
                        //根据参数判断月报流程查询和指标流程查询
                        string path = "";
                        if (IsMonth == "1")
                        {
                            B_MonthlyReport month = B_MonthlyreportOperator.Instance.GetMonthlyreport(itemKey.BusinessID);
                            Sys = C_SystemOperator.Instance.GetSystem(month.SystemID);
                        }
                        else if (IsMonth == "2")
                        {
                            B_TargetPlan target = B_TargetplanOperator.Instance.GetTargetPlanByID(itemKey.BusinessID);
                            Sys = C_SystemOperator.Instance.GetSystem(target.SystemID);
                        }
                        //获取系统名称
                        var           folderName = string.Format("{0}", Sys.SystemName);
                        List <string> files      = new List <string>();
                        //生成压缩包里文件夹。且判断其中是否有相同名称的文件名称
                        string newPath = Path.Combine(tmpZipFilePath, folderName);
                        if (!Directory.Exists(newPath))
                        {
                            //不相同时创建一个该系统名称的文件夹。
                            if (path != newPath && !path.Contains(newPath))
                            {
                                Directory.CreateDirectory(newPath);
                                path += newPath;
                                zipFile.AddDirectory(newPath, folderName);
                            }
                        }
                        //有相同名称时,将文件流更新到文件夹里
                        zipFile.UpdateDirectory(newPath, folderName);
                        //从附件表中取到文件存放路径
                        string fileName = itemKey.FileName;
                        //生成存放文件的路径
                        string filePath = Path.Combine(newPath, fileName);
                        var    urlRonte = WebConfigurationManager.AppSettings["UploadFilePath"];
                        string url      = Path.Combine(urlRonte, itemKey.Url);
                        //读取文件流
                        FileStream fs = new FileStream(url, FileMode.Open, FileAccess.Read);
                        try
                        {
                            byte[] bte = new byte[fs.Length];
                            //将FileStream转换成byte流
                            fs.Read(bte, 0, (int)fs.Length);
                            File.WriteAllBytes(filePath, bte);
                            zipFile.AddFile(filePath, folderName);
                            files.Add(fileName);
                        }
                        catch (Exception)
                        {
                        }
                        finally
                        {
                            if (fs != null)
                            {
                                //关闭资源
                                fs.Close();
                            }
                        }
                    }
                    MemoryStream stream = new MemoryStream();
                    zipFile.Save(stream);
                    return(stream.ToArray());
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
コード例 #16
0
        /// <summary>
        /// 处理业务数据
        /// </summary>
        public void DisposeBusinessData(int OperatorType, string UserLonginID = null)
        {
            #region


            B_TargetPlan ReportModelA = B_TargetplanOperator.Instance.GetTargetplan(BusinessID.ToGuid());
            if (ReportModelA.WFStatus == "Draft")
            {
                ReportModelA.CreateTime = DateTime.Now;
            }
            var p = BPF.Workflow.Client.WFClientSDK.GetProcess(null, ReportModelA.ID.ToString(), UserLonginID);
            List <NavigatActivity1> listna = new List <NavigatActivity1>();
            NavigatActivity1        na1    = null;
            Dictionary <string, BPF.Workflow.Object.Node> list = new Dictionary <string, BPF.Workflow.Object.Node>();
            string strNextNodeID = p.ProcessInstance.StartNodeID;

            if (p.NodeInstanceList != null)
            {
                foreach (var p1 in p.NodeInstanceList)
                {
                    if (!string.IsNullOrEmpty(strNextNodeID))
                    {
                        var CurrentNode = p.NodeInstanceList[strNextNodeID];
                        list.Add(strNextNodeID, CurrentNode);
                        strNextNodeID = CurrentNode.NextNodeID;
                    }
                }

                foreach (var p1 in list)
                {
                    if (string.IsNullOrEmpty(p1.Value.ParentNodeID))
                    {
                        na1               = new NavigatActivity1();
                        na1.ActivityID    = p1.Value.NodeID;
                        na1.ActivityName  = p1.Value.NodeName;
                        na1.ActivityType  = p1.Value.NodeType;
                        na1.RunningStatus = (p1.Value.Status > 1 ? 3 : p1.Value.Status);
                        List <ClientOpinion1> listclientOp = new List <ClientOpinion1>();
                        listclientOp.Add(new ClientOpinion1()
                        {
                            CreateDate = p1.Value.FinishDateTime
                        });
                        na1.Opinions = listclientOp;

                        List <NavigatCandidate1> listnc = new List <NavigatCandidate1>();

                        var lstNode = p.NodeInstanceList.Where(s => s.Value.ParentNodeID == p1.Value.NodeID);
                        if (lstNode.Count() > 0)
                        {
                            foreach (var itme in lstNode)
                            {
                                listnc.Add(new NavigatCandidate1()
                                {
                                    Id        = itme.Value.User.UserID,
                                    Name      = itme.Value.User.UserName,
                                    Title     = itme.Value.User.UserJobName,
                                    DeptName  = itme.Value.User.UserOrgPathName,
                                    Completed = itme.Value.Status == 2 ? true : false
                                });
                            }
                        }
                        else
                        {
                            listnc.Add(new NavigatCandidate1()
                            {
                                Id        = p1.Value.User.UserID,
                                Name      = p1.Value.User.UserName,
                                Title     = p1.Value.User.UserJobName,
                                DeptName  = p1.Value.User.UserOrgPathName,
                                Completed = p1.Value.Status == 2 ? true : false
                            });
                        }
                        na1.Candidates = listnc;
                        listna.Add(na1);
                    }
                }
            }

            string Json = Newtonsoft.Json.JsonConvert.SerializeObject(listna);
            if (ReportModelA.WFStatus == "Draft" && OperatorType == 7)
            {
                ReportModelA.ReportApprove = null;
            }
            else
            {
                ReportModelA.ReportApprove = Json;
            }

            B_TargetplanOperator.Instance.UpdateTargetplan(ReportModelA);

            #endregion
        }
コード例 #17
0
        public void ProcessRequest(HttpContext context)
        {
            string logMessage = "{\"Name\":\"分解指标审批\",\"Context\":";

            try
            {
                if ("post".Equals(context.Request.HttpMethod.ToLower()))
                {
                    StreamReader reader = new StreamReader(context.Request.InputStream);
                    logMessage += HttpUtility.UrlDecode(reader.ReadToEnd());
                }
                // Get方式下,取得client端传过来的数据
                else
                {
                    // 注意,这个是需要解码的
                    logMessage += HttpUtility.UrlDecode(context.Request.QueryString.ToString());
                }
                this.BusinessID = context.Request["BusinessID"];

                if (!string.IsNullOrEmpty(context.Request["OperatorType"]))
                {
                    OperatorType = int.Parse(context.Request["OperatorType"]);
                }
                string strPrcessStatus = string.Empty;
                if (!string.IsNullOrEmpty(context.Request["PrcessStatus"]))
                {
                    strPrcessStatus = context.Request["PrcessStatus"];
                }
                if (string.IsNullOrEmpty(this.BusinessID))
                {
                    throw new Exception("BusinessID is null!");
                }
                else
                {
                    //添加谁点击了提交审批按钮
                    B_TargetPlan ReportModel = B_TargetplanOperator.Instance.GetTargetPlanByID(BusinessID.ToGuid());
                    if (string.IsNullOrEmpty(ReportModel.ProcessOwn))
                    {
                        ReportModel.ProcessOwn = this.CurrentUser;
                        B_TargetplanOperator.Instance.UpdateTargetplan(ReportModel);
                    }
                }
                if (strPrcessStatus != "Approved")
                {
                    OnProcessExecute(strPrcessStatus, OperatorType);
                }
                else
                {
                    //审批结束,调用这个
                    OnProecssCompleted();
                    StaticResource.Instance.Reload();
                }
                //处理数据
                DisposeBusinessData(OperatorType);
            }
            catch (Exception ex)
            {
                logMessage += ",\"Exception\":" + JsonConvert.SerializeObject(ex);
            }
            finally
            {
                logger.Info(logMessage + "}");
            }
        }
コード例 #18
0
        /// <summary>
        /// 审批结束,调用
        /// </summary>
        public void OnProecssCompleted()
        {
            B_TargetPlan rpt = B_TargetplanOperator.Instance.GetTargetPlanByID(BusinessID.ToGuid());
            List <B_TargetPlanDetail> rptDetailList = B_TargetplandetailOperator.Instance.GetTargetplandetailList(BusinessID.ToGuid()).ToList();

            ExceptionHelper.TrueThrow(rpt == null, string.Format("cannot find the report data which id={0}", BusinessID));
            rpt.WFStatus = "Approved";
            if (!B_TargetplanOperator.Instance.HasDefaultVersion(rpt.SystemID, rpt.FinYear))
            {
                rpt.VersionDefault = 1;
            }
            B_TargetplanOperator.Instance.UpdateTargetplan(rpt);


            //A_TargetPlan rptA = null;

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

            //List<A_TargetPlanDetail> rptADetailList = null;

            A_TargetplanOperator.Instance.AddTargetplan(
                new A_TargetPlan()
            {
                ID             = rpt.ID,
                VersionName    = rpt.VersionName,
                VersionDefault = rpt.VersionDefault,
                FinYear        = rpt.FinYear,
                Description    = rpt.Description,
                SystemID       = rpt.SystemID,
                Status         = 5,
                CreateTime     = DateTime.Now
            });
            rptDetailList.ForEach(p => rptTempDetailList.Add(p.ToAModel()));
            A_TargetplandetailOperator.Instance.AddTargetPlanDetailList(rptTempDetailList);


            #region 原有逻辑
            //A主表的的数据
            //rptA = A_TargetplanOperator.Instance.GetTargetplanList(rpt.SystemID, rpt.FinYear).FirstOrDefault();

            ////A表明细数据
            //rptADetailList = A_TargetplandetailOperator.Instance.GetTargetplandetailList(rpt.SystemID, rpt.FinYear).ToList();


            ////判断当月主表是否是null
            //if (rptA == null)
            //{
            //    A_TargetplanOperator.Instance.AddTargetplan(new A_TargetPlan() { ID = rpt.ID, FinYear = rpt.FinYear, Description = rpt.Description, SystemID = rpt.SystemID, Status = 5, CreateTime = DateTime.Now });

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

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

            //        #endregion
            //    }
            //    else
            //    {

            //        //删除A表明细的所有数据
            //        A_TargetplandetailOperator.Instance.DeleteTargetPlanDetailList(rptADetailList);


            //        #region 明细数据

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

            //        #endregion
            //    }

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

            //    //新增B表的主表数据
            //    A_TargetplanOperator.Instance.AddTargetplan(new A_TargetPlan() { ID = rpt.ID, FinYear = rpt.FinYear, Description = rpt.Description, SystemID = rpt.SystemID, Status = 5, CreateTime = DateTime.Now });

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

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

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


            //        #region 明细数据

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

            //        #endregion
            //    }

            //    //添加明细数据
            //    A_TargetplandetailOperator.Instance.AddTargetPlanDetailList(rptTempDetailList);
            //}
            #endregion
        }
コード例 #19
0
        public List <TargetPlanDetailVList> GetTargetHistory(int FinYear, Guid SystemID, Guid TargetPlanID)
        {
            List <TargetPlanDetailVList> result = new List <TargetPlanDetailVList>();
            B_TargetPlan BT = B_TargetplanOperator.Instance.GetTargetplan(TargetPlanID);

            List <C_Target> TargetList = StaticResource.Instance.GetTargetList(SystemID, BT.CreateTime).ToList();
            C_System        Sys        = StaticResource.Instance[SystemID, BT.CreateTime];

            for (int i = 0; i < TargetList.Count; i++)
            {
                TargetPlanDetailVList         model     = new TargetPlanDetailVList();
                List <TargetPlanDetailVModel> ModelList = new List <TargetPlanDetailVModel>();
                model.TargetID   = TargetList[i].ID;
                model.TargetName = TargetList[i].TargetName;
                model.Unit       = TargetList[i].Unit;
                DataTable ds          = _bTargetplandetailAdapter.GetTargetHistory(FinYear, SystemID, TargetList[i].ID, TargetPlanID);
                decimal   SumTar1     = 0;
                decimal   SumTar2     = 0;
                decimal   SumTar3     = 0;
                decimal   SumTar4     = 0;
                decimal   SumTar5     = 0;
                decimal   SumTar6     = 0;
                decimal   SumTar7     = 0;
                decimal   SumTar8     = 0;
                decimal   SumTar9     = 0;
                decimal   SumTar10    = 0;
                decimal   SumTar11    = 0;
                decimal   SumTar12    = 0;
                decimal   SumTarsum1  = 0;
                decimal   SumTarsum2  = 0;
                decimal   SumTarsum3  = 0;
                decimal   SumTarsum4  = 0;
                decimal   SumTarsum5  = 0;
                decimal   SumTarsum6  = 0;
                decimal   SumTarsum7  = 0;
                decimal   SumTarsum8  = 0;
                decimal   SumTarsum9  = 0;
                decimal   SumTarsum10 = 0;
                decimal   SumTarsum11 = 0;
                decimal   SumTarsum12 = 0;
                int       num         = 0;
                if (ds != null)
                {
                    for (int j = 0; j < ds.Rows.Count; j++)
                    {
                        num++;
                        TargetPlanDetailVModel View = new TargetPlanDetailVModel()
                        {
                            Target1     = 0,
                            Target2     = 0,
                            Target3     = 0,
                            Target4     = 0,
                            Target5     = 0,
                            Target6     = 0,
                            Target7     = 0,
                            Target8     = 0,
                            Target9     = 0,
                            Target10    = 0,
                            Target11    = 0,
                            Target12    = 0,
                            TargetSum1  = 0,
                            TargetSum2  = 0,
                            TargetSum3  = 0,
                            TargetSum4  = 0,
                            TargetSum5  = 0,
                            TargetSum6  = 0,
                            TargetSum7  = 0,
                            TargetSum8  = 0,
                            TargetSum9  = 0,
                            TargetSum10 = 0,
                            TargetSum11 = 0,
                            TargetSum12 = 0
                        };
                        View.seq         = num;
                        View.CompanyName = ds.Rows[j]["CompanyName"].ToString();
                        View.CompanyID   = ds.Rows[j]["ID"].ToString().ToGuid();
                        var s = ds.Rows[j]["OpeningTime"].ToString();
                        if (ds.Rows[j]["OpeningTime"].ToString() != null && ds.Rows[j]["OpeningTime"].ToString() != "")
                        {
                            View.OpenTime = DateTime.Parse(ds.Rows[j]["OpeningTime"].ToString()).ToShortDateString();
                        }
                        else
                        {
                            View.OpenTime = "--";
                        }
                        #region  指标的读取 当月指标
                        if (Sys.Category != 2)//如果为项目系统,取小计的数据
                        {
                            if (ds.Rows[j]["Target1"].ToString() != "")
                            {
                                View.Target1 = decimal.Parse(ds.Rows[j]["Target1"].ToString());
                                SumTar1     += View.Target1;//当月指标累计
                            }
                            if (ds.Rows[j]["Target2"].ToString() != "")
                            {
                                View.Target2 = decimal.Parse(ds.Rows[j]["Target2"].ToString());
                                SumTar2     += View.Target2;
                            }
                            if (ds.Rows[j]["Target3"].ToString() != "")
                            {
                                View.Target3 = decimal.Parse(ds.Rows[j]["Target3"].ToString());
                                SumTar3     += View.Target3;
                            }
                            if (ds.Rows[j]["Target4"].ToString() != "")
                            {
                                View.Target4 = decimal.Parse(ds.Rows[j]["Target4"].ToString());
                                SumTar4     += View.Target4;
                            }
                            if (ds.Rows[j]["Target5"].ToString() != "")
                            {
                                View.Target5 = decimal.Parse(ds.Rows[j]["Target5"].ToString());
                                SumTar5     += View.Target5;
                            }
                            if (ds.Rows[j]["Target6"].ToString() != "")
                            {
                                View.Target6 = decimal.Parse(ds.Rows[j]["Target6"].ToString());
                                SumTar6     += View.Target6;
                            }
                            if (ds.Rows[j]["Target7"].ToString() != "")
                            {
                                View.Target7 = decimal.Parse(ds.Rows[j]["Target7"].ToString());
                                SumTar7     += View.Target7;
                            }
                            if (ds.Rows[j]["Target8"].ToString() != "")
                            {
                                View.Target8 = decimal.Parse(ds.Rows[j]["Target8"].ToString());
                                SumTar8     += View.Target8;
                            }
                            if (ds.Rows[j]["Target9"].ToString() != "")
                            {
                                View.Target9 = decimal.Parse(ds.Rows[j]["Target9"].ToString());
                                SumTar9     += View.Target9;
                            }
                            if (ds.Rows[j]["Target10"].ToString() != "")
                            {
                                View.Target10 = decimal.Parse(ds.Rows[j]["Target10"].ToString());
                                SumTar10     += View.Target10;
                            }
                            if (ds.Rows[j]["Target11"].ToString() != "")
                            {
                                View.Target11 = decimal.Parse(ds.Rows[j]["Target11"].ToString());
                                SumTar11     += View.Target11;
                            }
                            if (ds.Rows[j]["Target12"].ToString() != "")
                            {
                                View.Target12 = decimal.Parse(ds.Rows[j]["Target12"].ToString());
                                SumTar12     += View.Target12;
                            }

                            #region 累计指标
                            View.TargetSum1  = decimal.Parse(ds.Rows[j]["SumTarget1"].ToString());
                            SumTarsum1      += View.TargetSum1;//累计指标合计
                            View.TargetSum2  = decimal.Parse(ds.Rows[j]["SumTarget2"].ToString());
                            SumTarsum2      += View.TargetSum2;
                            View.TargetSum3  = decimal.Parse(ds.Rows[j]["SumTarget3"].ToString());
                            SumTarsum3      += View.TargetSum3;
                            View.TargetSum4  = decimal.Parse(ds.Rows[j]["SumTarget4"].ToString());
                            SumTarsum4      += View.TargetSum4;
                            View.TargetSum5  = decimal.Parse(ds.Rows[j]["SumTarget5"].ToString());
                            SumTarsum5      += View.TargetSum5;
                            View.TargetSum6  = decimal.Parse(ds.Rows[j]["SumTarget6"].ToString());
                            SumTarsum6      += View.TargetSum6;
                            View.TargetSum7  = decimal.Parse(ds.Rows[j]["SumTarget7"].ToString());
                            SumTarsum7      += View.TargetSum7;
                            View.TargetSum8  = decimal.Parse(ds.Rows[j]["SumTarget8"].ToString());
                            SumTarsum8      += View.TargetSum8;
                            View.TargetSum9  = decimal.Parse(ds.Rows[j]["SumTarget9"].ToString());
                            SumTarsum9      += View.TargetSum9;
                            View.TargetSum10 = decimal.Parse(ds.Rows[j]["SumTarget10"].ToString());
                            SumTarsum10     += View.TargetSum10;
                            View.TargetSum11 = decimal.Parse(ds.Rows[j]["SumTarget11"].ToString());
                            SumTarsum11     += View.TargetSum11;
                            View.TargetSum12 = decimal.Parse(ds.Rows[j]["SumTarget12"].ToString());
                            SumTarsum12     += View.TargetSum12;
                            ModelList.Add(View);
                            #endregion
                        }
                        else
                        {
                            if (ds.Rows[j]["Target1"].ToString() != "")
                            {
                                View.Target1 = decimal.Parse(ds.Rows[j]["Target1"].ToString());
                            }

                            if (ds.Rows[j]["Target2"].ToString() != "")
                            {
                                View.Target2 = decimal.Parse(ds.Rows[j]["Target2"].ToString());
                            }
                            if (ds.Rows[j]["Target3"].ToString() != "")
                            {
                                View.Target3 = decimal.Parse(ds.Rows[j]["Target3"].ToString());
                            }
                            if (ds.Rows[j]["Target4"].ToString() != "")
                            {
                                View.Target4 = decimal.Parse(ds.Rows[j]["Target4"].ToString());
                            }
                            if (ds.Rows[j]["Target5"].ToString() != "")
                            {
                                View.Target5 = decimal.Parse(ds.Rows[j]["Target5"].ToString());
                            }
                            if (ds.Rows[j]["Target6"].ToString() != "")
                            {
                                View.Target6 = decimal.Parse(ds.Rows[j]["Target6"].ToString());
                            }
                            if (ds.Rows[j]["Target7"].ToString() != "")
                            {
                                View.Target7 = decimal.Parse(ds.Rows[j]["Target7"].ToString());
                            }
                            if (ds.Rows[j]["Target8"].ToString() != "")
                            {
                                View.Target8 = decimal.Parse(ds.Rows[j]["Target8"].ToString());
                            }
                            if (ds.Rows[j]["Target9"].ToString() != "")
                            {
                                View.Target9 = decimal.Parse(ds.Rows[j]["Target9"].ToString());
                            }
                            if (ds.Rows[j]["Target10"].ToString() != "")
                            {
                                View.Target10 = decimal.Parse(ds.Rows[j]["Target10"].ToString());
                            }
                            if (ds.Rows[j]["Target11"].ToString() != "")
                            {
                                View.Target11 = decimal.Parse(ds.Rows[j]["Target11"].ToString());
                            }
                            if (ds.Rows[j]["Target12"].ToString() != "")
                            {
                                View.Target12 = decimal.Parse(ds.Rows[j]["Target12"].ToString());
                            }
                            View.TargetSum1  = decimal.Parse(ds.Rows[j]["SumTarget1"].ToString());
                            View.TargetSum2  = decimal.Parse(ds.Rows[j]["SumTarget2"].ToString());
                            View.TargetSum3  = decimal.Parse(ds.Rows[j]["SumTarget3"].ToString());
                            View.TargetSum4  = decimal.Parse(ds.Rows[j]["SumTarget4"].ToString());
                            View.TargetSum5  = decimal.Parse(ds.Rows[j]["SumTarget5"].ToString());
                            View.TargetSum6  = decimal.Parse(ds.Rows[j]["SumTarget6"].ToString());
                            View.TargetSum7  = decimal.Parse(ds.Rows[j]["SumTarget7"].ToString());
                            View.TargetSum8  = decimal.Parse(ds.Rows[j]["SumTarget8"].ToString());
                            View.TargetSum9  = decimal.Parse(ds.Rows[j]["SumTarget9"].ToString());
                            View.TargetSum10 = decimal.Parse(ds.Rows[j]["SumTarget10"].ToString());
                            View.TargetSum11 = decimal.Parse(ds.Rows[j]["SumTarget11"].ToString());
                            View.TargetSum12 = decimal.Parse(ds.Rows[j]["SumTarget12"].ToString());

                            List <B_TargetPlanDetail> sumlist = GetProTargetplan(SystemID, TargetList[i].ID, FinYear, TargetPlanID).ToList();

                            SumTar1     = sumlist.Where(p => p.FinMonth == 1).ToList().FirstOrDefault().Target;
                            SumTar2     = sumlist.Where(p => p.FinMonth == 2).ToList().FirstOrDefault().Target;
                            SumTar3     = sumlist.Where(p => p.FinMonth == 3).ToList().FirstOrDefault().Target;
                            SumTar4     = sumlist.Where(p => p.FinMonth == 4).ToList().FirstOrDefault().Target;
                            SumTar5     = sumlist.Where(p => p.FinMonth == 5).ToList().FirstOrDefault().Target;
                            SumTar6     = sumlist.Where(p => p.FinMonth == 6).ToList().FirstOrDefault().Target;
                            SumTar7     = sumlist.Where(p => p.FinMonth == 7).ToList().FirstOrDefault().Target;
                            SumTar8     = sumlist.Where(p => p.FinMonth == 8).ToList().FirstOrDefault().Target;
                            SumTar9     = sumlist.Where(p => p.FinMonth == 9).ToList().FirstOrDefault().Target;
                            SumTar10    = sumlist.Where(p => p.FinMonth == 10).ToList().FirstOrDefault().Target;
                            SumTar11    = sumlist.Where(p => p.FinMonth == 11).ToList().FirstOrDefault().Target;
                            SumTar12    = sumlist.Where(p => p.FinMonth == 12).ToList().FirstOrDefault().Target;
                            SumTarsum1  = sumlist.Where(p => p.FinMonth <= 1).Sum(o => o.Target);
                            SumTarsum2  = sumlist.Where(p => p.FinMonth <= 2).Sum(o => o.Target);
                            SumTarsum3  = sumlist.Where(p => p.FinMonth <= 3).Sum(o => o.Target);
                            SumTarsum4  = sumlist.Where(p => p.FinMonth <= 4).Sum(o => o.Target);
                            SumTarsum5  = sumlist.Where(p => p.FinMonth <= 5).Sum(o => o.Target);
                            SumTarsum6  = sumlist.Where(p => p.FinMonth <= 6).Sum(o => o.Target);
                            SumTarsum7  = sumlist.Where(p => p.FinMonth <= 7).Sum(o => o.Target);
                            SumTarsum8  = sumlist.Where(p => p.FinMonth <= 8).Sum(o => o.Target);
                            SumTarsum9  = sumlist.Where(p => p.FinMonth <= 9).Sum(o => o.Target);
                            SumTarsum10 = sumlist.Where(p => p.FinMonth <= 10).Sum(o => o.Target);
                            SumTarsum11 = sumlist.Where(p => p.FinMonth <= 11).Sum(o => o.Target);
                            SumTarsum12 = sumlist.Where(p => p.FinMonth <= 12).Sum(o => o.Target);
                            if (Int32.Parse(ds.Rows[j]["Sequence"].ToString()) > 0)
                            {
                                ModelList.Add(View);
                            }
                            else
                            {
                                num--;
                            }
                        }
                        #endregion
                    }
                }
                model.TargetPlanDetailList = ModelList;
                model.SumTarget1           = SumTar1;
                model.SumTarget2           = SumTar2;
                model.SumTarget3           = SumTar3;
                model.SumTarget4           = SumTar4;
                model.SumTarget5           = SumTar5;
                model.SumTarget6           = SumTar6;
                model.SumTarget7           = SumTar7;
                model.SumTarget8           = SumTar8;
                model.SumTarget9           = SumTar9;
                model.SumTarget10          = SumTar10;
                model.SumTarget11          = SumTar11;
                model.SumTarget12          = SumTar12;
                model.SumTargetSum1        = SumTarsum1;
                model.SumTargetSum2        = SumTarsum2;
                model.SumTargetSum3        = SumTarsum3;
                model.SumTargetSum4        = SumTarsum4;
                model.SumTargetSum5        = SumTarsum5;
                model.SumTargetSum6        = SumTarsum6;
                model.SumTargetSum7        = SumTarsum7;
                model.SumTargetSum8        = SumTarsum8;
                model.SumTargetSum9        = SumTarsum9;
                model.SumTargetSum10       = SumTarsum10;
                model.SumTargetSum11       = SumTarsum11;
                model.SumTargetSum12       = SumTarsum12;
                result.Add(model);
            }
            return(result);
        }
コード例 #20
0
        /// <summary>
        /// 生成 集团总部 的分解指标
        /// </summary>
        /// <param name="templetePath"></param>
        /// <param name="templeteName"></param>
        /// <param name="Tp"></param>
        public void DownExclel_Group(string templetePath, string templeteName, B_TargetPlan Tp)
        {
            ExcelEngine             excel    = new ExcelEngine(licenseFile);
            WorkbookDesigner        designer = new WorkbookDesigner();
            List <DictionaryVmodel> listDV   = (List <DictionaryVmodel>)TargetPlanEngine.TargetPlanEngineService.GetTargetPlanSource(Tp.SystemID, Tp.FinYear, Tp.ID, true);
            bool IsYearTargetPlan            = false;

            if (listDV.Count > 0)
            {
                if (!string.IsNullOrEmpty(listDV[0].HtmlTemplate))
                {
                    string[] str = listDV[0].HtmlTemplate.Split(',');
                    if (str.Count() > 0)
                    {
                        templeteName = str[2];
                        if (str[3].ToLower() == "true")
                        {
                            IsYearTargetPlan = true;
                        }
                    }
                }
            }

            string path = System.IO.Path.Combine(templetePath, templeteName);//合并路径

            FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read);

            designer.Workbook = new Workbook(fileStream);
            WorksheetCollection worksheets = designer.Workbook.Worksheets;


            Aspose.Cells.Style style1 = designer.Workbook.Styles[designer.Workbook.Styles.Add()];
            Aspose.Cells.Style style2 = designer.Workbook.Styles[designer.Workbook.Styles.Add()];
            Style style3 = designer.Workbook.Styles[designer.Workbook.Styles.Add()];

            Aspose.Cells.Style style4 = designer.Workbook.Styles[designer.Workbook.Styles.Add()];
            #region style1 样式
            style1.Font.Size = 12;
            #endregion
            #region style2 样式 无加粗
            style2.Font.Size = 12;
            style2.IsLocked  = false;

            style2.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center;
            style2.Borders[BorderType.TopBorder].LineStyle    = CellBorderType.Thin;
            style2.Borders[BorderType.TopBorder].Color        = System.Drawing.Color.Black;
            style2.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;;
            style2.Borders[BorderType.BottomBorder].Color     = System.Drawing.Color.Black;
            style2.Borders[BorderType.LeftBorder].LineStyle   = CellBorderType.Thin;;
            style2.Borders[BorderType.LeftBorder].Color       = System.Drawing.Color.Black;
            style2.Borders[BorderType.RightBorder].LineStyle  = CellBorderType.Thin;
            style2.Borders[BorderType.RightBorder].Color      = System.Drawing.Color.Black;
            #endregion
            #region style3 样式
            style3.Font.Size       = 12;
            style3.ForegroundColor = System.Drawing.Color.FromArgb(184, 204, 228);
            style3.Pattern         = BackgroundType.Solid;


            style3.HorizontalAlignment = Aspose.Cells.TextAlignmentType.Center;
            style3.Borders[BorderType.TopBorder].LineStyle    = CellBorderType.Thin;
            style3.Borders[BorderType.TopBorder].Color        = System.Drawing.Color.Black;
            style3.Borders[BorderType.BottomBorder].LineStyle = CellBorderType.Thin;;
            style3.Borders[BorderType.BottomBorder].Color     = System.Drawing.Color.Black;
            style3.Borders[BorderType.LeftBorder].LineStyle   = CellBorderType.Thin;;
            style3.Borders[BorderType.LeftBorder].Color       = System.Drawing.Color.Black;
            style3.Borders[BorderType.RightBorder].LineStyle  = CellBorderType.Thin;
            style3.Borders[BorderType.RightBorder].Color      = System.Drawing.Color.Black;

            #endregion
            #region style4 样式
            style4.HorizontalAlignment = TextAlignmentType.Center;
            style4.VerticalAlignment   = TextAlignmentType.Center;

            #endregion
            // List<DictionaryVmodel> listDV = (List<DictionaryVmodel>)TargetPlanEngine.TargetPlanEngineService.GetTargetPlanSource(SysId, FinYear, TargetPlanID, IsLatestVersion);

            string strSystemName = StaticResource.Instance[Tp.SystemID, DateTime.Now].SystemName;

            for (int i = 0; i < listDV.Count; i++)
            {
                if (i > 0)
                {
                    worksheets.AddCopy(1);
                }

                worksheets[i + 1].Name = listDV[i].Name;
                excel.SetCustomProperty(worksheets[i + 1], "SystemID", Tp.SystemID.ToString());
                excel.SetCustomProperty(worksheets[i + 1], "SheetName", "UpTargetPlanDetail");
                worksheets[i + 1].Cells[0, 1].PutValue(Tp.FinYear + "年" + strSystemName + listDV[i].Name + "指标分解表");
            }

            //创建指标Sheet,
            for (int sheetIndex = 0; sheetIndex < listDV.Count; sheetIndex++)
            {
                int rowStart = 4; //开始行
                int colStart = 1; // 开始列
                List <DictionaryVmodel> listCompanyDV = (List <DictionaryVmodel>)listDV[sheetIndex].ObjValue;
                for (int i = 0; i < listCompanyDV.Count; i++)
                {
                    Worksheet worksheet = worksheets[sheetIndex + 1];
                    List <B_TargetPlanDetail> listBTargetPlanDetail = new List <B_TargetPlanDetail>();
                    if (listCompanyDV[i].ObjValue is List <B_TargetPlanDetail> )
                    {
                        listBTargetPlanDetail = (List <B_TargetPlanDetail>)listCompanyDV[i].ObjValue;
                    }
                    else
                    {
                        List <A_TargetPlanDetail> listATargetPlanDetail = (List <A_TargetPlanDetail>)listCompanyDV[i].ObjValue;
                        listATargetPlanDetail.ForEach(p => listBTargetPlanDetail.Add(p.ToBModel()));
                    }
                    if (listBTargetPlanDetail == null)
                    {
                        continue;
                    }
                    if (!IsYearTargetPlan)
                    {
                        #region 设置样式
                        worksheet.Cells[rowStart, colStart].SetStyle(style2);
                        worksheet.Cells[rowStart, colStart + 1].SetStyle(style2);
                        worksheet.Cells[rowStart, colStart + 2].SetStyle(style2);
                        worksheet.Cells[rowStart, colStart + 3].SetStyle(style2);
                        #endregion

                        #region 赋值
                        worksheet.Cells[rowStart, colStart].PutValue(i + 1);
                        worksheet.Cells[rowStart, colStart + 1].PutValue(listCompanyDV[i].Name);
                        DateTime dtime = StaticResource.Instance.CompanyList[Tp.SystemID].Where(p => p.CompanyName == listCompanyDV[i].Name).FirstOrDefault().OpeningTime;
                        if (dtime != DateTime.MinValue)
                        {
                            worksheet.Cells[rowStart, colStart + 2].PutValue(dtime.ToShortDateString());
                        }
                        worksheet.Cells[rowStart, colStart + 3].Formula = "=SUM(F" + (rowStart + 1) + ":Q" + (rowStart + 1) + ")";
                        #endregion

                        style2        = worksheet.Cells[rowStart, colStart + 3].GetStyle();
                        style2.Number = 3;
                        worksheet.Cells[rowStart, colStart + 3].SetStyle(style2);

                        for (int j = 0; j < 12; j++)
                        {
                            #region 设置样式
                            worksheet.Cells[rowStart, colStart + 4 + j].SetStyle(style2);
                            #endregion

                            #region 赋值
                            List <B_TargetPlanDetail> singleMonthTargetPlanDetail = listBTargetPlanDetail == null ? null : listBTargetPlanDetail.Where(p => p.FinMonth == (j + 1)).ToList();
                            worksheet.Cells[rowStart, colStart + 4 + j].PutValue(0);
                            if (singleMonthTargetPlanDetail != null)
                            {
                                if (singleMonthTargetPlanDetail.Count() > 0)
                                {
                                    var TargetStr = string.Format("{0:N0}", singleMonthTargetPlanDetail.FirstOrDefault().Target);
                                    worksheet.Cells[rowStart, colStart + 4 + j].PutValue(TargetStr);
                                }
                            }
                            #endregion
                            style2        = worksheet.Cells[rowStart, colStart + 4 + j].GetStyle();
                            style2.Number = 3;
                            worksheet.Cells[rowStart, colStart + 4 + j].SetStyle(style2);
                        }
                    }
                    else
                    {
                        #region 设置样式
                        worksheet.Cells[rowStart, colStart].SetStyle(style2);
                        worksheet.Cells[rowStart, colStart + 1].SetStyle(style2);
                        worksheet.Cells[rowStart, colStart + 2].SetStyle(style2);
                        #endregion

                        #region 赋值
                        worksheet.Cells[rowStart, colStart].PutValue(i + 1);
                        worksheet.Cells[rowStart, colStart + 1].PutValue(listCompanyDV[i].Name);
                        //判断参数是否包含小数点。
                        if (listCompanyDV[i].Mark.Contains("."))
                        {
                            var MarkStr = listCompanyDV[i].Mark.Split('.');
                            worksheet.Cells[rowStart, colStart + 2].PutValue(MarkStr[0]);
                        }
                        else
                        {
                            worksheet.Cells[rowStart, colStart + 2].PutValue(listCompanyDV[i].Mark);
                        }
                        #endregion

                        style2        = worksheet.Cells[rowStart, colStart + 2].GetStyle();
                        style2.Number = 3;
                        worksheet.Cells[rowStart, colStart + 2].SetStyle(style2);
                    }
                    rowStart++;
                }
            }
            worksheets.RemoveAt(0);

            if (Directory.Exists(filePath) == false)
            {
                Directory.CreateDirectory(filePath);//如果上传文件路径不存在,则创建该路径。
            }

            string fileName = "年度经营指标月度分解汇总表";
            string dateNow  = DateTime.Now.ToString("HHmmss");

            string t_fileName = strSystemName + Tp.FinYear.ToString() + fileName + "_" + dateNow + ".xls";
            t_fileName = Path.Combine(filePath, t_fileName); // 文件路径
            designer.Workbook.Save(t_fileName);              // 生成文件
            string url = ConfigurationManager.AppSettings["ExcelFilePath"] + "\\" + WebHelper.DateTimeNow.ToString("yyyy-MM-dd") + t_fileName.Replace(filePath, "");
            AddAttachments(Tp.ID, t_fileName.Replace(filePath, "").Replace("\\", ""), url.Substring(1, url.Length - 1), fileStream);

            fileStream.Close();
            fileStream.Dispose();
        }
コード例 #21
0
        /// <summary>
        /// 获取累计指标汇总数据(移动端)
        /// </summary>
        /// <param name="FinYear"></param>
        /// <param name="SystemID"></param>
        /// <returns></returns>
        public List <TargetDetail> GetSumMonthTargetDetail(int FinYear, Guid SystemID, B_TargetPlan Tp)
        {
            List <TargetDetail> result = new List <TargetDetail>();

            DateTime t = DateTime.Now;

            t = Tp.CreateTime;

            C_System Sys = StaticResource.Instance[SystemID, t];

            for (int Month = 1; Month <= 12; Month++)
            {
                TargetDetail            model            = new TargetDetail();
                List <TargetDetailList> TargetDetailList = new List <TargetDetailList>();
                model.FinMonth = Month;
                DataTable ds = new DataTable();
                if (Sys.Category != 2)
                {
                    ds = _bTargetplandetailAdapter.GetSumMonthTargetDetailJY(FinYear, Month, SystemID, Tp.ID, t);
                }
                else
                {
                    C_Company com = C_CompanyOperator.Instance.ProCompanyAll(SystemID);
                    ds = _bTargetplandetailAdapter.GetSumMonthTargetDetailPro(FinYear, Month, com.ID, Tp.ID, t);
                }
                if (ds != null && ds.Rows.Count > 0)
                {
                    for (int i = 0; i < ds.Rows.Count; i++)
                    {
                        TargetDetailList view = new TargetDetailList()
                        {
                            Target = 0, SumTarget = 0
                        };
                        view.TargetName = ds.Rows[i]["TargetName"].ToString();
                        view.TargetID   = ds.Rows[i]["TargetID"].ToString().ToGuid();
                        if (!string.IsNullOrEmpty(ds.Rows[i]["target"].ToString()))
                        {
                            view.Target = decimal.Parse(ds.Rows[i]["target"].ToString());
                        }
                        if (!string.IsNullOrEmpty(ds.Rows[i]["SumTarget"].ToString()))
                        {
                            view.SumTarget = decimal.Parse(ds.Rows[i]["SumTarget"].ToString());
                        }

                        TargetDetailList.Add(view);
                    }
                }
                else
                {
                    List <C_Target> TargetList = C_TargetOperator.Instance.GetTargetList(SystemID, DateTime.Now).ToList();

                    foreach (C_Target item in TargetList)
                    {
                        TargetDetailList view = new TargetDetailList()
                        {
                            Target = null, SumTarget = null
                        };
                        view.TargetName = item.TargetName;
                        view.TargetID   = item.ID;
                        TargetDetailList.Add(view);
                    }
                }
                model.TargetDetailList = TargetDetailList;
                result.Add(model);
            }
            return(result);
        }
コード例 #22
0
        public List <DictionaryVmodel> GetTagetPlanViewModel(Guid SystemID)
        {
            //获取当前月计划数据
            List <A_TargetPlanDetail> listTargetPlan = A_TargetplandetailOperator.Instance.GetTargetplandetailListBySYNC(FinYear, FinMonth);

            //StaticResource.Instance.GetTargetPlanList(_System.ID, FinYear, FinMonth);

            //获取当前月与之前月的计划数据
            List <A_TargetPlanDetail> listTargetPlanToYear = StaticResource.Instance.GetTargetPlanList(_System.ID, FinYear);

            //得到当前系统的所有公司
            List <C_Company> listComPany = StaticResource.Instance.CompanyList[_System.ID];

            List <DictionaryVmodel>    listDV = new List <DictionaryVmodel>();
            List <TargetPlanViewModel> listTargetPlanViewModel = null;
            TargetPlanViewModel        tpvm = null;

            List <C_Target> PlanTarget = new List <C_Target>();

            PlanTarget = _Target;


            if (listTargetPlanToYear != null && listTargetPlanToYear.Count() > 0)
            {
                B_TargetPlan Bt = B_TargetplanOperator.Instance.GetTargetPlanByID(listTargetPlanToYear[0].TargetPlanID);
                PlanTarget = StaticResource.Instance.GetTargetList(_System.ID, Bt.CreateTime).ToList();
            }
            else
            {
                PlanTarget = StaticResource.Instance.GetTargetList(_System.ID, DateTime.Now).ToList();
            }

            foreach (C_Target Ctarget in PlanTarget.Where(p => p.NeedReport == true).OrderBy(p => p.Sequence))
            {
                listTargetPlanViewModel = new List <TargetPlanViewModel>();
                //根据指标得到此指标下的计划数
                List <A_TargetPlanDetail> listTP = listTargetPlan.Where(p => p.TargetID == Ctarget.ID).ToList();
                foreach (C_Company company in listComPany)
                {
                    //判断计划指标分解表中是否存在当前公司
                    if (listTP.Where(p => p.CompanyID == company.ID).Count() > 0)
                    {
                        A_TargetPlanDetail btp = listTP.Where(p => p.CompanyID == company.ID).ToList().FirstOrDefault();
                        tpvm              = new TargetPlanViewModel();
                        tpvm.ID           = company.ID;
                        tpvm.CompanyName  = company.CompanyName;
                        tpvm.NPlanAmmount = btp.Target;
                        List <A_TargetPlanDetail> lst = listTargetPlanToYear.Where(p => p.CompanyID == company.ID &&
                                                                                   p.TargetID == Ctarget.ID && p.FinMonth <= FinMonth).ToList();

                        tpvm.NAccumulativePlanAmmount = lst.Sum(p => p.Target);
                        tpvm.NActualAmmount           = btp.JQNDifference;
                        listTargetPlanViewModel.Add(tpvm);
                    }
                }

                string strHtmlTemplate = GetComplateMonthReportDetailHtmlTemplate(_System.Configuration);
                listDV.Add(new DictionaryVmodel(Ctarget.TargetName, listTargetPlanViewModel, "Target", strHtmlTemplate));
            }
            return(listDV);
        }