private KeyValue <DataSet, string[], object[]> ExportToDoc3(object arg)
        {
            var result   = arg as KeyValue <BidOpeningManagement, ProcurementPlan, BiddingManagement>;
            var dateInfo = new ProcurementPlanManagement(result.Value.Mode, result.Item3.PlanDateEnd);
            var value    = new[]
            {
                "项目名称",
                "主要内容",
                "年度预算",
                "招标控制价",
                "招标复审控制价",
                "招投标计划时间",
                "招标公告时间起",
                "招标公告时间止",
                "标书发售时间起",
                "标书发售时间止",
                "执行周期起",
                "执行周期止",
                "开标时间",
                "结果公告时间",
                "结果公示时间起",
                "结果公示时间止",
                "中标通知书时间",
                "合同签订时间起",
                "合同签订时间止",
                "采购方式"
            };


            string GetModel(string model)
            {
                switch (model)
                {
                case "Yqzb":
                    return("邀请招标");

                    break;

                case "Jzxtp":
                    return("竞争性谈判");

                    break;

                case "Xjcg":
                    return("询价采购");

                    break;

                case "Bxcg":
                    return("比选采购");

                    break;

                case "GkzbZhpff":
                    return("公开招标(综合评分法)");

                    break;

                case "GkzbZdjf":
                    return("公开招标(最低价法)");

                    break;

                case "Dylycg":
                    return("单一来源采购");

                    break;

                default:
                    return(string.Empty);
                }
            }

            var item3 = new[]
            {
                result.Value.Name,
                result.Item3.Note,
                result.Value.PlanWithBudgetOutlays.Sum(r => r.BudgetOutlay.Price * r.BudgetOutlay.Amount)
                .ToString("N2"),
                result.Item3.Total.ToString("N"),
                result.Item3.Total.ToString("N"),
                result.Value.Date.ToString("yyyy-M-d"),
                dateInfo.Date11.ToString("M.d"),
                dateInfo.Date12.ToString("M.d"),
                dateInfo.Date41.ToString("M.d"),
                dateInfo.Date42.ToString("M.d"),
                dateInfo.Date51.ToString("M.d"),
                dateInfo.Date52.ToString("M.d"),
                result.Item3.PlanDateEnd.ToString("yyyy-M-d"),
                dateInfo.Date2.ToString("M.d"),
                dateInfo.Date31.ToString("M.d"),
                dateInfo.Date32.ToString("M.d"),
                dateInfo.Date6.ToString("M.d"),
                dateInfo.Date71.ToString("M.d"),
                dateInfo.Date72.ToString("M.d"),
                GetModel(result.Value.Mode)
            };

            var ds = new DataSet();
            var dt = new DataTable();


            ds.Tables.Add(dt);

            return(new KeyValue <DataSet, string[], object[]>(ds, value, item3));
        }
        private KeyValue <DataSet, string[], object[]> ExportToDoc(object arg)
        {
            var result        = arg as KeyValue <BiddingManagement, ProcurementPlan, List <CostList> >;
            var biddingAgency = this._sysDictionaryRepository.Get(result.Key.BiddingAgencyId);
            var value         = new[]
            {
                "采购项目编号",
                "招标代理机构",
                "项目名称",
                "招标时间大写",
                "招标时间",
                "文件发售时间起",
                "文件发售时间止",
                "招标代理公司地址",
                "开标截止时间",
                "招标代理公司银行",
                "招标代理公司账号",
                "招标代理公司联系人2",
                "招标代理公司电话",
                "招标代理公司邮箱",
                "最高限价",
                "招标代理公司联系人",
                "工期"
            };

            var year   = StringExtensions.NumberToChinese(DateTime.Now.Year.ToString());
            var mounth = StringExtensions.NumberToChinese(DateTime.Now.Month.ToString());

            if (mounth.Length == 2)
            {
                mounth = mounth[0] + "十" + mounth[1];
            }

            var baseDateInfo = new ProcurementPlanManagement(result.Value.Mode, result.Key.PlanDateEnd);
            var item3        = new[]
            {
                result.Value.Code,
                biddingAgency.Value,
                result.Value.Name,
                $"{year}年{mounth}月",
                DateTime.Now.ToString("yyyy年M月d日"),
                baseDateInfo.Date41.ToString("yyyy年M月d日"),
                baseDateInfo.Date42.ToString("yyyy年M月d日"),
                biddingAgency.Value4,
                result.Key.PlanDateEnd.ToString("yyyy年M月d日"),
                biddingAgency.Value2,
                biddingAgency.Value3,
                $"{biddingAgency.Value8},{biddingAgency.Value9}",
                $"{biddingAgency.Value11}   {biddingAgency.Value15}",
                biddingAgency.Value16,
                result.Key.Total.ToString("N2"),
                biddingAgency.Value11,
                result.Key.Schedule.ToString()
            };

            var ds = new DataSet();
            var dt = new DataTable("CostList");

            dt.Columns.Add("Index");
            dt.Columns.Add("Category");
            dt.Columns.Add("Details");
            dt.Columns.Add("Unit");
            dt.Columns.Add("Amount");
            for (var i = 0; i < result.Item3.Count; i++)
            {
                var row = dt.NewRow();
                row["Index"]    = i + 1;
                row["Category"] = result.Item3[i].Category;
                row["Details"]  = result.Item3[i].Details;
                row["Unit"]     = result.Item3[i].Unit;
                row["Amount"]   = result.Item3[i].Amount;
                dt.Rows.Add(row);
            }


            ds.Tables.Add(dt);

            return(new KeyValue <DataSet, string[], object[]>(ds, value, item3));
        }