Пример #1
0
        private void analyzeFile()
        {
            var task = new Thread(() =>
            {
                _templateInfo = new TemplateInfo {
                    templatePath = string.Format(@"{0}\templateFiles\{1}", Environment.CurrentDirectory, _file.Name), templateID = Guid.NewGuid(), templateSize = _file.Length.ToString(CultureInfo.InvariantCulture), templateName = _file.Name, updatetime = DateTime.Now, rowid = Guid.NewGuid()
                };
                var argListTmpe = ReportOfficeTools.GetArgInfoListFromWord(_templateInfo, out _tmpResult);
                if (_tmpResult != "")
                {
                    WorkWindow.ShowError(_tmpResult);
                }
                else
                {
                    _tmpResult = Tools.UpdateArgConfig(argListTmpe);
                    if (_tmpResult == "")
                    {
                        _templateInfo.templatePath = string.Format(@".\templateFiles\{0}", _file.Name);
                        _tmpResult = Tools.UpdateTemplateConfig(_templateInfo);
                    }
                }
                Dispatcher.Invoke(_analyzeFinished, _tmpResult);
            });

            task.Start();
        }
Пример #2
0
        public static List <WordInfo> CreateReportFile(List <TemplateInfo> templateInfoList,
                                                       List <return_getRegionTreeNodeList> regionList, int appType, out string result)
        {
            var resultList = new List <WordInfo>();

            result = "";
            foreach (var itemRegion in regionList)
            {
                var regionString = itemRegion.node1 + itemRegion.node2 + itemRegion.node3 + itemRegion.node4 +
                                   itemRegion.node5;
                foreach (var itemFile in templateInfoList)
                {
                    var wordInfo = new WordInfo
                    {
                        rowid        = Guid.NewGuid(),
                        templateID   = itemFile.templateID,
                        templateName = itemFile.templateName,
                        regionPath   = itemRegion.node1 + itemRegion.node2 + itemRegion.node3 + itemRegion.node4,
                        regionType   = itemRegion.nodeOrganizationType,
                        wordID       = Guid.NewGuid()
                    };


                    var argInfoList = GetArgInfoList(itemFile, out result);

                    if (result != "")
                    {
                        ShowError(202, result);
                        return(resultList);
                    }

                    var destFilePath = string.Format(@"{0}\reportFiles\{4}_{1}_{2}_{3}", Environment.CurrentDirectory,
                                                     wordInfo.regionPath, DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss"), itemFile.templateName, itemRegion.nodeNo.Substring(0, 6));
                    File.Copy(itemFile.templatePath, destFilePath, true);

                    result = ReportOfficeTools.UpdateWord(argInfoList, regionString, appType, destFilePath, false);

                    if (result != "")
                    {
                        ShowError(203, result);
                        return(resultList);
                    }

                    wordInfo.wordPath     = destFilePath;
                    wordInfo.updatetime   = DateTime.Now;
                    wordInfo.wordFileName = WindowsTools.GetBasicName(wordInfo.wordPath);
                    resultList.Add(wordInfo);
                }
            }
            return(resultList);
        }
Пример #3
0
        private IEnumerable <string> getCountDataView(string regionA)
        {
            var regionCondition = "";

            if (regionA != "")
            {
                regionCondition = string.Format(" gatherRegionA = '{0}'", regionA);
            }
            var          resultList    = new List <string>();
            const string argInfoFormat = @"参数编号:{0}\t 查询结果:{1}\t参数名称:{2}";

            Console.WriteLine(regionA + @"全部个数查询开始");
            var allStart = DateTime.Now;

            foreach (var item in _argInfoList)
            {
                string sql = ReportOfficeTools.AddCondition(item, regionCondition);

                if (sql == "")
                {
                    continue;
                }
                sql = string.Format("select '{0} '+'{1} '+'{2} '+'{3} '+convert(nvarchar(50),count(1))+' {5} ' from ({4}) a", item.argNo, item.argBusinessGroup, item.argName, item.businessType, sql, regionA);

                string result;
                var    tmp = ALF.MSSQL.Tools.GetSqlListString(sql, out result);
                if (result != "")
                {
                    resultList.Add(string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}\t", item.argNo, item.argName, item.argBusinessGroup, item.businessType, result, regionA));
                    continue;
                }
                resultList.Add(tmp.Single());
                Console.WriteLine(argInfoFormat, item.argNo, tmp.Single(), item.argName);
            }
            Console.WriteLine(@"全部个数查询结束,用时:{0}", (DateTime.Now - allStart).ToString());

            return(resultList);
        }