Exemplo n.º 1
0
        /// <summary>
        /// 下载会签单信息文件
        /// </summary>
        private void DownloadContractFile(Socket socketClient, String contractId)
        {
            //  首先生成会签单信息
            String filePath = MSWordTools.DEFAULT_HDJCONTRACT_PATH + contractId + ".pdf";

            if (!(File.Exists((String)filePath)))     // 首先检测文件是否存在
            {
                String      wordPath = MSWordTools.DEFAULT_HDJCONTRACT_PATH + contractId + ".doc";
                HDJContract contract = DALHDJContract.GetHDJContactAgree(contractId);       // 获取待生成的会签单信息
                MSWordTools.CreateHDJContractWordWithReplace(contract, wordPath);
                MSWordTools.WordConvertToPdf(wordPath, filePath);

                File.Delete((String)wordPath);
                MSWordTools.KillWordProcess();
            }
            DALSignatureStatus.SetAgreeContractDownload(contractId);

            FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Read);

            Console.WriteLine("开始下载文件{0}", filePath);
            byte[]       fssize = new byte[fs.Length];
            BinaryReader reader = new BinaryReader(fs);

            reader.Read(fssize, 0, fssize.Length - 1);
            socketClient.Send(fssize);
            fs.Flush();
            fs.Close();
            Console.WriteLine("下载文件结束");

            //dict.Remove(socketClient.RemoteEndPoint.ToString());
            //socketClient.Close();
        }
Exemplo n.º 2
0
        public static void CreateHDJContractTrigger(object conId)
        {
            String pdfPath = MSWordTools.DEFAULT_HDJCONTRACT_PATH + conId + ".pdf";

            if (!(File.Exists((String)pdfPath)))     // 首先检测文件是否存在
            {
                String      wordPath = MSWordTools.DEFAULT_HDJCONTRACT_PATH + conId + ".doc";
                HDJContract contract = DALHDJContract.GetHDJContactAgree((string)conId);       // 获取待生成的会签单信息
                MSWordTools.CreateHDJContractWordWithReplace(contract, wordPath);
                MSWordTools.WordConvertToPdf(wordPath, pdfPath);

                File.Delete((String)wordPath);
                MSWordTools.KillWordProcess();
            }
        }
Exemplo n.º 3
0
        public void Work()
        {
            while (true)
            {
                //判断队列中是否存在待写入的日志
                if (m_worksQueue.Count > 0)
                {
                    MSOfficeThreadWork work = null;

                    //  首先从工作队列中取出一个信息
                    lock (m_worksQueue)
                    {
                        work = m_worksQueue.Dequeue();
                    }

                    if (work != null)
                    {
                        // 开始工作
                        switch (work.WorkKind)
                        {
                        ///  需要生成会签单文档WORD
                        case WORK_KIND.CREATE_CONTRACT_REQUEST:
                            MSWordTools.CreateHDJContractWork(work.ContractId);          //  生成会签单信息
                            break;

                        /// 需要生成统计文档EXCEL
                        case WORK_KIND.CREATE_STATISTC_REQUEST:
                            MSExcelTools.StatisticHSYearCategory(work.Year, work.CategoryId);
                            //MSExcelTools.StatisticYearCategory(work.Year, work.CategoryId);
                            break;

                        case WORK_KIND.CREATE_REGULARLOAD_REQUEST:
                            MSExcelTools.CreateRegularloadTemplateFile(work.CategoryId);
                            break;

                        case WORK_KIND.UPLOAD_REGULARLOAD_REQUEST:
                            MSExcelTools.UploadRegularLoad(work.Year, work.CategoryId);
                            break;
                        }
                    }
                }
                else
                {
                    Thread.Sleep(10000);
                }
            }
        }