//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); }
/// <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"); }
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); }
/// <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); }
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"); } }
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; } } } } }
/// <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); }
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; } }
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); }
/// <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); }
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); } }
/// <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 }
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 + "}"); } }
/// <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 }
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); }
/// <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(); }
/// <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); }
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); }