프로젝트

일반

사용자정보

개정판 ad402862

IDad4028624bda85cbeb6c2238035133d0fb40d362
상위 5532bcc0
하위 f07301eb

백흠경이(가) 11달 전에 추가함

Fix: 코드 정리

Change-Id: I1a4f4cad9850b724a8215956ee80fc340c56c1f5

차이점 보기:

FinalService/KCOM_FinalService_DL/CommonLib/Common.cs
61 61
            return Encoding.UTF8.GetString(plainText);
62 62
        }
63 63
    }
64

  
65
    public enum ELogLv
66
    {
67
        info = 2,
68
        warn = 1,
69
        error = 0,
70
    }
71

  
72
    public class LogManager
73
    {
74
        FileStream fileStream = null;
75
        StreamWriter streamWrite = null;
76
        public ELogLv eCurLogLv = ELogLv.info;
77

  
78
        public LogManager()
79
        {
80
            CreateLogFile();
81
        }
82

  
83
        public void CreateLogFile()
84
        {
85
            string strNowTime = DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss");
86

  
87
            if (Directory.Exists("log") == false)
88
                Directory.CreateDirectory("log");
89

  
90
            fileStream = new FileStream($"log\\log.{strNowTime}.txt", FileMode.CreateNew);
91
            streamWrite = new StreamWriter(fileStream, System.Text.Encoding.UTF8);
92
        }
93

  
94
        public void Log(ELogLv eLogLv, string desc)
95
        {
96
            // eLogLv이 info이면 -> info, warn, error 로그 남김
97
            // eLogLv이 warn이면 -> warn, error 로그 남김
98
            // eLogLv이 error이면 -> error 로그 남김
99
            if (eCurLogLv < eLogLv)
100
                return;
101

  
102
            System.Diagnostics.StackFrame stackFrame = new System.Diagnostics.StackFrame(1, true);
103
            string funcName = stackFrame.GetMethod().Name;
104
            string fileName = stackFrame.GetFileName();
105
            string fileLine = stackFrame.GetFileLineNumber().ToString();
106

  
107
            // ,(콤마)는 .csv 파일에서 구분문자로 사용
108
            desc = desc.Replace(",", ".");
109

  
110
            desc = $"{eLogLv.ToString()},\t{desc},\t{funcName},\t{fileName} {fileLine},\t{DateTime.Now}";
111

  
112
            streamWrite.WriteLine(desc);
113
            streamWrite.Flush();
114
            fileStream.Flush();
115

  
116
            Int64 fileSize = fileStream.Length;
117

  
118
            // 파일 사이즈가 2메가가 넘으면 해당 파일 닫은 후 파일 생성
119
            if (fileSize > 2097152)
120
            {
121
                streamWrite.Close();
122
                fileStream.Close();
123
                CreateLogFile();
124
            }
125
        }
126
    }
127 64
}
FinalService/KCOM_FinalService_DL/FinalProcess/Program.cs
29 29
        protected static ILog _logger { get; set; } = null;
30 30
        /// </summary>
31 31

  
32
        public static FINAL_PDF finalPdf { get; set; } = null;
33
        public static string RemoteAddress = null;
32
        public static FINAL_PDF FinalPdf { get; set; } = null;
34 33

  
35 34
        #region CommonLib로 옮김
36 35
        //public enum ELogLv
......
128 127

  
129 128
                    string sFinalID = args[1];
130 129
                    string sProjectNo = args[0];
131
                    //RemoteAddress = args[1];
132 130
               
133 131
                    _logger.Info($"FinalProcess Final ID : {sFinalID}, Project No : {sProjectNo}");
134 132

  
......
141 139
                        var items = _entity.FINAL_PDF.Where(x => x.ID == sFinalID && x.PROJECT_NO == sProjectNo);
142 140
                        if(items.Any())
143 141
                        {
144
                            finalPdf = items.First();
142
                            FinalPdf = items.First();
145 143
                        }
146 144
                    }
147 145

  
148
                    if (finalPdf != null)
146
                    if (FinalPdf != null)
149 147
                    {
150
                        _markuptoPDF.MakeFinalPDF(finalPdf);
148
                        _markuptoPDF.MakeFinalPDF(FinalPdf);
151 149
                    }
152 150
                }
153 151
                else
......
228 226
                    string pdfpath = e.FinalPDFRemotePath;
229 227
                    object[] parameters = new object[] { pdfpath, e.OriginPDFName, e.FinalPDF, soapurl };
230 228

  
231
                    ///_Logger.Write("UploadPDF.dll Path :" + Program.UploadFinalAssmPath, LogLevel.Info);
232
                    ///_Logger.Write("Call Upload Final .." + pdfpath + " finalPDFPath : " + e.FinalPDFPath + " FinalPDFRemotePath : " + e.FinalPDFRemotePath + ",CreateUser:" + e.FinalPDF.CREATE_USER_ID + ",CreateUser:" + e.FinalPDF.DOCUMENT_ID + ",pdfname:" + e.OriginPDFName + ",finalPDF ID : " + e.FinalPDF.ID + ",soapUri:" + soapurl, LogLevel.Info);
229
                    _logger.Info("UploadPDF.dll Path :" + Program.UploadFinalAssmPath);
230
                    _logger.Info("Call Upload Final .." + pdfpath + " finalPDFPath : " + e.FinalPDFPath + " FinalPDFRemotePath : " + e.FinalPDFRemotePath + ",CreateUser:" + e.FinalPDF.CREATE_USER_ID + ",CreateUser:" + e.FinalPDF.DOCUMENT_ID + ",pdfname:" + e.OriginPDFName + ",finalPDF ID : " + e.FinalPDF.ID + ",soapUri:" + soapurl);
233 231

  
234 232
                    KeyValuePair<bool, string> result = (KeyValuePair<bool, string>)(Program.UploadFinalPDFMethod.Invoke(Program.UploadFinalPDFInst, parameters));
235 233
                    if (result.Key)
......
239 237
                    else
240 238
                    {
241 239
                        SetFinalState(e.FinalPDF.ID, FinalStatus.Error);
242
                        ///_Logger.Write("Upload error  .." + pdfpath + ",pdfname:" + e.OriginPDFName + " Msg : " + result.Value, LogLevel.Error);
240
                        _logger.Error("Upload error  .." + pdfpath + ",pdfname:" + e.OriginPDFName + " Msg : " + result.Value);
243 241
                    }
244 242
                }
245 243
                else
......
253 251
                        System.IO.Directory.CreateDirectory(saveFolder);
254 252
                    }
255 253

  
256
                    ///_Logger.Write(String.Format("saveFolder : {0}", saveFolder), LogLevel.Info);
254
                    _logger.Info(String.Format("saveFolder : {0}", saveFolder));
257 255

  
258 256
                    try
259 257
                    {
260 258
                        System.IO.File.Copy(e.FinalPDFPath, saveFolder + e.OriginPDFName, true);
261
                        ///_Logger.Write($"End Final SaveFile :{saveFolder + e.OriginPDFName}", LogLevel.Info);
259
                        _logger.Info($"End Final SaveFile :{saveFolder + e.OriginPDFName}");
262 260
                    }
263 261
                    catch (Exception ex)
264 262
                    {
265
                        ///_Logger.Write(ex);
263
                        _logger.Error(ex.Message);
266 264
                    }
267 265

  
268 266
                    using (CIEntities _entity = new CIEntities(ConnectStringBuilder.ProjectCIConnectString(e.FinalPDF.PROJECT_NO).ToString()))
......
276 274
                        }
277 275
                        catch (Exception ex)
278 276
                        {
279
                            ///_Logger.Write(new Exception($"DebugResultUrlPath의 Index를 확인 하세요.{resultpath}", ex));
277
                            _logger.Error($"DebugResultUrlPath의 Index를 확인 하세요.{resultpath}");
280 278
                        }
281 279

  
282
                        ///_Logger.Write($"End FinalId:{item.ID} RESULT_FILE_PATH:{item.RESULT_FILE}", LogLevel.Info);
280
                        _logger.Info($"End FinalId:{item.ID} RESULT_FILE_PATH:{item.RESULT_FILE}");
283 281
                        _entity.SaveChanges();
284 282
                        SetFinalState(e.FinalPDF.ID, FinalStatus.Success);
285 283
                    }
286

  
287
#if DEBUG
288
                    //this.WaitingQueue.Enqueue(_item);
289
#endif
290 284
                }
291 285
                #endregion
292 286
            }
293 287
            catch (Exception ex)
294 288
            {
295 289
                SetFinalState(e.FinalPDF.ID, FinalStatus.Error);
296
                ///_Logger.Write(ex);
290
                _logger.Error(ex.Message);
297 291
            }
298 292

  
299 293
            IsEndFinal = true;
300 294
        }
301 295

  
302
        public static void StatusChange(FinalStatus status,string ex)
296
        public static void StatusChange(FINAL_PDF finalpdf, FinalStatus status, string msg)
303 297
        {
304 298
            using (KCOMDataModel.DataModel.KCOMEntities _entity = new KCOMDataModel.DataModel.KCOMEntities(KCOMDataModel.Common.ConnectStringBuilder.KCOMConnectionString().ToString()))
305 299
            {
306
                var items = _entity.FINAL_PDF.Where(x => x.ID == finalPdf.ID).ToList();
300
                var items = _entity.FINAL_PDF.Where(x => x.ID == finalpdf.ID).ToList();
307 301
                if (items.Any())
308 302
                {
309 303
                    var currentItem = items[0];
310 304

  
311 305
                    currentItem.STATUS = (int)status;
312
                    if(!string.IsNullOrWhiteSpace(ex))
306
                    if(!string.IsNullOrWhiteSpace(msg))
313 307
                    {
314 308
                        int exLength = (currentItem.EXCEPTION == null)? 0: currentItem.EXCEPTION.Length;
315

  
316
                        if (exLength < int.MaxValue - ex.Length)
309
                        if (exLength < int.MaxValue - msg.Length)
317 310
                        {
318
                            currentItem.EXCEPTION = currentItem.EXCEPTION + " " + ex;
311
                            currentItem.EXCEPTION = $"{currentItem.EXCEPTION} {msg}";
319 312
                        }
320 313
                        else
321 314
                        {
......
329 322

  
330 323
        private static void _markuptoPDF_StatusChange(object sender, StatusChangedEventArgs e)
331 324
        {
332
             StatusChange(e.Status, e.Message);
325
            if (sender is MarkupToPDF.MarkupToPDF markup)
326
            {
327
                string msg = null;
328
                if (e.Message.Length > 10000)
329
                {
330
                    msg = e.Message.Substring(0, 10000);
331
                }
332
                else
333
                {
334
                    msg = e.Message;
335
                }
336

  
337
                StatusChange(markup.FinalItem, e.Status, msg);
338
                _logger.Info($"PdfStamp Final ID : {markup.FinalItem.ID} message : {msg}");
339
            }
333 340
        }
334 341

  
335 342
        private static void _markuptoPDF_FinalMakeError(object sender, MakeFinalErrorArgs e)
336 343
        {
337
            StatusChange(FinalStatus.Error, e.Message);
344
            if (sender is MarkupToPDF.MarkupToPDF markup)
345
            {
346
                string msg = null;
347
                if (e.Message.Length > 10000)
348
                {
349
                    msg = e.Message.Substring(0, 10000);
350
                }
351
                else
352
                {
353
                    msg = e.Message;
354
                }
355

  
356
                StatusChange(markup.FinalItem, FinalStatus.Error, msg);
357
            }
338 358
        }
339 359
    }
340 360
}
FinalService/KCOM_FinalService_DL/MarkupToPDF/MarkupToPDF.cs
36 36
        private string _FinalPDFStorgeLocal = null;
37 37
        private string _FinalPDFStorgeRemote { get; set; }
38 38
        private string OriginFileName = null;
39
        public FINAL_PDF FinalItem;
39
        public FINAL_PDF FinalItem { get; set; }
40 40
        public DOCINFO DocInfoItem = null;
41 41
        public List<DOCPAGE> DocPageItem = null;
42 42
        public MARKUP_INFO MarkupInfoItem = null;
......
87 87
            }
88 88
        }
89 89

  
90
        private void SetFinalPDFLog(CommonLib.ELogLv logLv, string finalID, string projectNo, string message)
90
        private void SetFinalPDFLog(string finalID, string projectNo, string message)
91 91
        {
92 92
            if (_LogManager != null)
93 93
                _LogManager.Info($"Final ID : {finalID}, Project No : {projectNo}, Message : {message}");
......
214 214
                        if (_properties.Where(t => t.TYPE == PropertiesType.Const_TileSorcePath).Count() == 0)
215 215
                        {
216 216
                            SetNotice(FinalPDF.ID, $"Project {FinalPDF.PROJECT_NO} : TileSourcePath Not Found.");
217
                            SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "TileSourcePath Not Found.");
217
                            SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "TileSourcePath Not Found.");
218 218
                            return;
219 219
                        }
220 220
                        else
......
225 225
                        if (_properties.Where(t => t.TYPE == PropertiesType.Const_FinalPDFStorgeLocal).Count() == 0)
226 226
                        {
227 227
                            SetNotice(FinalPDF.ID, $"Project {FinalPDF.PROJECT_NO} : FinalPDFStorgeLocal Not Found.");
228
                            SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "FinalPDFStorgeLocal Not Found.");
228
                            SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "FinalPDFStorgeLocal Not Found.");
229 229
                            return;
230 230
                        }
231 231
                        else
......
237 237
                        if (_properties.Where(t => t.TYPE == PropertiesType.Const_FinalPDFStorgeRemote).Count() == 0)
238 238
                        {
239 239
                            SetNotice(FinalPDF.ID, $"Project {FinalPDF.PROJECT_NO} : FinalPDFStorgeRemote Not Found.");
240
                            SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "FinalPDFStorgeRemote Not Found.");
240
                            SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "FinalPDFStorgeRemote Not Found.");
241 241
                            return;
242 242
                        }
243 243
                        else
......
248 248
                    else
249 249
                    {
250 250
                        SetNotice(FinalPDF.ID, $"Project {FinalPDF.PROJECT_NO} : Final PDF Properties Not Found.");
251
                        SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "Final PDF Properties Not Found.");
251
                        SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "Final PDF Properties Not Found.");
252 252
                        return;
253 253
                    }
254 254

  
......
266 266
            catch (Exception ex)
267 267
            {
268 268
                SetNotice(FinalPDF.ID, "프로퍼티 에러: " + ex.ToString());
269
                SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "프로퍼티 에러: " + ex.ToString());
269
                SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "프로퍼티 에러: " + ex.ToString());
270 270
                return;
271 271
            }
272 272
            #endregion
......
290 290
                        var infoItems = _entity.MARKUP_INFO.Where(x => x.DOCINFO_ID == DocInfoItem.ID && x.CONSOLIDATE == 1 && x.AVOID_CONSOLIDATE == 0 && x.PART_CONSOLIDATE == 0);
291 291
                        if (infoItems.Count() == 0)
292 292
                        {
293
                            SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "콘솔리데잇이 작업 요청 후에 수정 / 삭제 되었습니다");
293
                            SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "콘솔리데잇이 작업 요청 후에 수정 / 삭제 되었습니다");
294 294
                            throw new Exception("콘솔리데잇이 작업 요청 후에 수정 / 삭제 되었습니다");
295 295
                        }
296 296
                        else
......
306 306
                            }
307 307
                            else
308 308
                            {
309
                                SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "MARKUP_INFO_VERSION 이 존재 하지 않습니다");
309
                                SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "MARKUP_INFO_VERSION 이 존재 하지 않습니다");
310 310
                                throw new Exception("MARKUP_INFO_VERSION 이 존재 하지 않습니다");
311 311
                            }
312 312
                        }
......
314 314
                        documentItem = _entity.DOCUMENT_ITEM.Where(data => data.DOCUMENT_ID == DocInfoItem.DOCUMENT_ID && data.PROJECT_NO == FinalPDF.PROJECT_NO).FirstOrDefault();
315 315
                        if (documentItem == null)
316 316
                        {
317
                            SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "DocInfo와 DocumentItem의 documentItemID가 같지 않습니다. 데이터를 확인해주세요");
317
                            SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "DocInfo와 DocumentItem의 documentItemID가 같지 않습니다. 데이터를 확인해주세요");
318 318
                            throw new Exception("DocInfo와 DocumentItem의 documentItemID가 같지 않습니다. 데이터를 확인해주세요");
319 319
                        }
320 320

  
......
335 335
                            var originalFile = _files.FirstOrDefault(data => data.Name == GetFileName(HttpUtility.UrlDecode(documentItem.ORIGINAL_FILE)));
336 336
                            if (originalFile == null)
337 337
                            {
338
                                SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "해당 폴더에 복수로 PDF들 존재하고 document_Item의 문서는 존재하지 않습니다");
338
                                SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "해당 폴더에 복수로 PDF들 존재하고 document_Item의 문서는 존재하지 않습니다");
339 339
                                throw new Exception("해당 폴더에 복수로 PDF들 존재하고 document_Item의 문서는 존재하지 않습니다");
340 340
                            }
341 341
                            else
......
347 347
                        }
348 348
                        else
349 349
                        {
350
                            SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "PDF를 찾지 못하였습니다");
350
                            SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "PDF를 찾지 못하였습니다");
351 351
                            throw new FileNotFoundException("PDF를 찾지 못하였습니다");
352 352
                        }
353 353
                        #endregion
......
355 355
                        #region 예외처리
356 356
                        if (PdfFilePath == null)
357 357
                        {
358
                            SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "작업에 필요한 PDF가 정상적으로 복사되지 않았거나 DB정보가 상이합니다");
358
                            SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "작업에 필요한 PDF가 정상적으로 복사되지 않았거나 DB정보가 상이합니다");
359 359
                            throw new Exception("작업에 필요한 PDF가 정상적으로 복사되지 않았거나 DB정보가 상이합니다");
360 360
                        }
361 361
                        if (!PdfFilePath.Exists)
362 362
                        {
363
                            SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "PDF원본이 존재하지 않습니다");
363
                            SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "PDF원본이 존재하지 않습니다");
364 364
                            throw new Exception("PDF원본이 존재하지 않습니다");
365 365
                        }
366 366
                        #endregion
......
368 368
                    }
369 369
                    else
370 370
                    {
371
                        SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "일치하는 DocInfo가 없습니다");
371
                        SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "일치하는 DocInfo가 없습니다");
372 372
                        throw new Exception("일치하는 DocInfo가 없습니다");
373 373
                    }
374 374
                }
......
377 377
            {
378 378
                if (ex.Message == "사용 가능한" || ex.Message == "작업을 완료했습니다")
379 379
                {
380
                    SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "Desktop 내 힙메모리 부족으로 서비스 진행이 되지 않아 재시작 합니다");
380
                    SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "Desktop 내 힙메모리 부족으로 서비스 진행이 되지 않아 재시작 합니다");
381 381
                    SetNotice(FinalPDF.ID, "Desktop 내 힙메모리 부족으로 서비스 진행이 되지 않아 재시작 합니다");
382 382
                }
383 383
                else
384 384
                {
385
                    SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "PDF를 Stamp 중 에러 : " + ex.Message);
385
                    SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "PDF를 Stamp 중 에러 : " + ex.Message);
386 386
                    SetNotice(FinalPDF.ID, "PDF를 Stamp 중 에러 : " + ex.Message);
387 387
                }
388 388
            }
......
442 442
            }
443 443
            catch (Exception ex)
444 444
            {
445
                SetFinalPDFLog(CommonLib.ELogLv.error, FinalPDF.ID, FinalPDF.PROJECT_NO, "MarkFinalPDF Error : " + ex.Message);
445
                SetFinalPDFLog(FinalPDF.ID, FinalPDF.PROJECT_NO, "MarkFinalPDF Error : " + ex.Message);
446 446
                SetNotice(FinalPDF.ID, "MarkFinalPDF Error : " + ex.Message);
447 447
            }
448 448
            #endregion
......
616 616
                                catch (Exception ex)
617 617
                                {
618 618
                                    SetNotice(FinalItem.ID, "this pdf is not AcroForm.");
619
                                    SetFinalPDFLog(CommonLib.ELogLv.error, FinalItem.ID, FinalItem.PROJECT_NO, "this pdf is not AcroForm.");
619
                                    SetFinalPDFLog(FinalItem.ID, FinalItem.PROJECT_NO, "this pdf is not AcroForm.");
620 620
                                }
621 621

  
622 622
                                string[] delimiterChars = { "|DZ|" };
......
1270 1270
                        if (File.Exists(destfilepath))
1271 1271
                            File.Delete(destfilepath);
1272 1272

  
1273
                        File.Copy(FinalPDFPath.FullName, destfilepath);
1274
                        /*
1273
                        File.Move(FinalPDFPath.FullName, destfilepath);
1275 1274
                        FinalPDFPath = new FileInfo(destfilepath);
1276 1275
                        File.Delete(WorkingFilePath);
1277
                        */
1278 1276
                    }
1279 1277
                    catch (Exception ex)
1280 1278
                    {
1281 1279
                        SetNotice(finaldata.ID, $"File move error - Source File : {FinalPDFPath.FullName} dest File : {destfilepath}" + ex.ToString());
1282
                        SetFinalPDFLog(CommonLib.ELogLv.error, finaldata.ID, finaldata.PROJECT_NO, $"File move error - Source File : {FinalPDFPath.FullName} dest File : {destfilepath}" + ex.ToString());
1280
                        SetFinalPDFLog(finaldata.ID, finaldata.PROJECT_NO, $"File move error - Source File : {FinalPDFPath.FullName} dest File : {destfilepath}" + ex.ToString());
1283 1281
                    }
1284 1282

  
1285 1283
                    return true;
......
1289 1287
            catch (Exception ex)
1290 1288
            {
1291 1289
                SetNotice(finaldata.ID, "SetStempinPDF error: " + ex.ToString());
1292
                SetFinalPDFLog(CommonLib.ELogLv.error, finaldata.ID, finaldata.PROJECT_NO, "SetStempinPDF error: " + ex.ToString());
1290
                SetFinalPDFLog(finaldata.ID, finaldata.PROJECT_NO, "SetStempinPDF error: " + ex.ToString());
1293 1291
            }
1294 1292
            return false;
1295 1293
        }

내보내기 Unified diff

클립보드 이미지 추가 (최대 크기: 500 MB)