BSOne.SFC/Tocsg.Module/ContentSearch/LIB_Common/CttSchDefine.pas

212 lines
6.7 KiB
Plaintext

{*******************************************************}
{ }
{ CttSchDefine }
{ }
{ Copyright (C) 2022 kku }
{ }
{*******************************************************}
unit CttSchDefine;
interface
uses
Winapi.Windows, Winapi.Messages, superobject;
const
EXE_KVCTTSCH = 'KvCttSch.exe';
// DOC_EXTS_TAG = 'txt|doc|docx|xls|xlsx|ppt|pptx|hwp|hwpx|pdf|rtf|csv';
DOC_EXTS_TAG = 'txt|doc|docx|xls|xlsx|ppt|pptx|hwp|hwpx|pdf|rtf|csv|docm|dot|dotx|xlsm|xlsb|pps|pot';
// 변경, 391개 23_0216 15:01:28 kku
DOC_EXTS = 'TXT|LOG|DOC|WPS|PDF|XLS|PPT|HWP|DOCX|DOTX|XLSX|XLTX|PPTX|POTX|' +
'PPSX|HW|RTF|MW|OW| WP|WP4|WPD|WOP|WM|PW|WMF|WS|WSD|DIF|MWK|W40|' +
'WDB|CSV|WS2|SMTP|EML|MBX|STE|AW|UNI|WKS|WK1|WK3|WK4|FM3|LWP|MWP|' +
'XLC|XLM|123|PWD|MPP|VSD|MSG|OFT|VDX|SXW|SXC|STC|SXI|NSF|DOCM|' +
'DOTM|XLSM|XLTM|XLAM|PPTM|POTM|PPSM|PPAM|XLSB|XPS|DXL|ODT|ODS|' +
'ODP|ONM|GRV|PAGES|NUMBERS|KEY|XDW|ONE|DCM|MLS|ML3|ML4|ML5|ML6|' +
'ML7|ML8|ML9|MLA|EMCMF|ACCDT|GUL|JNT|MAT|FIG|OLM|VCF|ICS|VCS|IWA|' +
'VSSX|VSTX|VSTM|SDW|SGL|VOR|SDC|SDD|SDA|SMF|YML|SCPT|MB|JT|MO|QM|' +
'IV|PBIX|IBOOKS|FDF|XFDF|MSO|RSS|SMIL|XSPF|FB2|PPJ|RDF|RSD|SBML|' +
'SRU|SSML|PLS|TEI|METS|MODS|OPF|SRGS|SRX|VXML|CCXML|YIN|CML|VTU|' +
'SXD|SXG|ODM|OTH|FODP|FODS|FODT|OXT|SVM|XDF|HTM|HTML|ASF|MHT|MHTML|' +
'MXML|MXL|XML|ASP|METALINK|XDP|XUL|ABAP|AMPL|APL|ASN|AGDA|ALS|CLS|' +
'INO|AJ|AWK|BMX|BSV|B|BF|BRS|CLP|CMAKE|CBL|CCP|COB|CPY|W|MSS|CEYLON|' +
'CHPL|CLW|DCL|ICL|CP|CL|CREOLE|CR|ORC|CSD|CU|D|DART|ECL|ELM|EM|FAN|' +
'FTL|FR|G|GMS|GD|GLSL|GML|GNU|GP|GOLO|GS|GRADLE|GRAPHQL|DOT|HLSL|' +
'HAML|HBS|HY|IPF|IDR|I7X|IK|IJS|JQ|JSX|JL|SCH|KT|LFE|LOL|LAS|LASSO|' +
'LS|MS|MD|MXT|MOD|MONKEY|MOO|NL|NSI|NLOGO|VHOST|NIX|NU|SCAD|OX|' +
'OXYGENE|OZ|PWN|PLSQL|PAN|PASM|PIKE|PONY|PDE|PB|RAML|RDOC|REXX|RSC|' +
'REB|REBOL|RED|RPY|RING|ROBOT|SAS|SQL|SLS|SCI|NUT|STAN|STYL|SV|TXL|' +
'TTL|UR|URS|VIM|VB|WAT|WEBIDL|X10|XQM|XTEND|YANG|ZEP|EC|TSD|ODC|' +
'ODB|ODI|OTC|OTF|OTG|OTI|OTP|OTS|OTT|FODC|FODG|FODF|FODI|DBB|FOR|' +
'FORTH|PST|OST|CHM|EVT|EVTX|INI|PDB|COM|HLP|HQX|DIB|MDB|O|SO|PGP|' +
'HL7|EFX|CLASS|VSSM|APPLESCRIPT|C|H|CS|CPP|HPP|CSS|CLJ|CL2|COFFEE|' +
'CAKE|EL|E|ERL|ES|FS|F|GO|GRT|GVY|HS|JAVA|JS|LUA|MAKE|M|J|PHP|' +
'PASCAL|PL|PS1|PRO|PROLOG|PP|PY|R|RB|RS|SC|SH|ST|ML|SWIFT|TM|TS|' +
'V|QHC|FRM|PCAP|HXD|HXW|HXH|XWD|ASC';
AIP_EXTS = 'DOC|DOCX|XLS|XLSX|PPT|PPTX|PDF|XLSM|XLSB|XLTX|XLTM|XLT|XPS|DOCM|DOTX|' +
'DOTM|DOT|PPTM|XPS|PPSX|PPSM|PPS|POT';
OCR_IMG_EXTS = 'PNG|JPG|JPE|JPEG|BMP|TIF|TIFF|WEBP'; // 'JPG|PNG|JPE|JPEG|BMP|GIF|TIFF|PCX';
// COMPRESS_EXTS = 'ZIP|TGZ|7Z|LZH|TAR|GZ|XZ|EGG|ALZ|JAR|TBZ|RAR';
COMPRESS_EXTS = 'ZIP|7Z|LZH|GZ|EGG|ALZ|JAR|TBZ';
WM_CTTSCH_INIT = WM_USER + 2587;
WM_CTTSCH_REQUEST = WM_CTTSCH_INIT + 1;
WM_POPUP_PRTW_PROGRESS = WM_CTTSCH_REQUEST + 1;
KV_REQUEST_SEARCH_PATH = 1;
KV_RESPONSE_SEARCH_PATH = 2;
KV_SEARCH_RESULT = 3;
KV_HOOK_PRINT = 4;
// COPYDATA Command
// KV_PRTWM_PROGRESS = 501;
RESULT_SEPARATOR = '|!*!|';
DEF_TIMEOUT_SEC = 12;
KVC_REQUEST_EXTRACT_TEXT = 11001;
KVC_RESPONSE_EXTRACT_TEXT = 11002;
KVC_REQUEST_KEYWORD_SEARCH = 11003;
KVC_RESPONSE_KEYWORD_SEARCH = 11004;
type
TCttSchTaskType = (csttNone, csttTest, csttExtrSimple, csttExtrDocInfo,
csttWaterMarkImg, csttSchMulti, csttSchConnect, csttPrint);
TCttSimpleOpt = record
sSrcPath,
sDestPath,
sAssocInfo: String;
end;
PSchResult = ^TSchResult;
TSchResult = record
nHitCnt: Integer;
sFName,
sPath,
sSchName,
sExtrTxt,
sResultStr: String;
bDrm,
bMakeDrm,
bOtherDrm: Boolean;
end;
TCttSchOpt = record
hRcvHwnd: HWND;
sMK,
sSchTxt,
sZipExts, // 압축파일 안에서 나온 확장자 검색지정
sKvMdPath,
sAipExt,
sAipDMail, // 위임 계정 (메일형식), UPN
sAipPxMail, // proxyAddress 이메일 주소 형식
sAipMdPath,
sAipLabelId: String;
nUnzipDepth,
nWorkPriority,
nKvTimeoutSec: Integer;
bIncDrm,
bIncZip,
bIncFName, // 파일 이름도 검색되도록 포함
bMakeDrm,
bMakeDrmN, // 검출되지 않은 파일도 암호화, for HEC
bExtrTxt,
bSaveContent: Boolean;
bNoMatchNoti: Boolean; // 증분검사, 기존결과유지 사용 시 활성화 되서 검출되지 않은 파일 정보 전달 24_0611 08:50:05 kku
sTaskDir,
sCustomKwdPtrn,
sSvContentPath: String;
end;
TFileScanOpt = record
CttSchOpt: TCttSchOpt;
sScanExt: String;
// {$IFDEF _HE_} // 다른 프로세스와 맞추기 위해 구분 없앰 24_0610 14:31:55 kku
sScanId,
sSchTitle: String;
bShowSchTitle: Boolean;
// {$ENDIF}
sTgDirs,
sSchPtrns: String;
nLangId,
nLimitSizeMB,
nSchTimeoutSec: Integer;
bSaveFileList,
bSaveDirList,
bSaveScanList: Boolean;
sSvFilePath,
sSvDirPath,
sSvScanPath,
sIgrWordPath: String;
bPartScan: Boolean;
dtRecent: TDateTime;
end;
PPrtWaterEnt = ^TPrtWaterEnt;
TPrtWaterEnt = record
sPtrName,
sDocName,
sImgPath,
sPdfPath,
sPrtDocId: String;
// dwPageSizeT,
dwCopy,
dwTotalPage: DWORD;
bPaperV: Boolean;
sPrtIp,
DevMode,
sPaperInfo: String; // BinStr
bColor,
bUseWM: Boolean;
LogJson,
sPostApvId: String;
end;
function CttCodeToStr(sCode: String): String;
implementation
function CttCodeToStr(sCode: String): String;
begin
Result := sCode;
if Result = '1056002' then
Result := '주민등록번호'
else if Result = '1056003' then
Result := '여권번호'
else if Result = '1056004' then
Result := '전화번호'
else if Result = '1056005' then
Result := '이메일주소'
else if Result = '1056006' then
Result := '환각성약물'
else if Result = '1056007' then
Result := '금지약물'
else if Result = '1056008' then
Result := '주소'
else if Result = '1056009' then
Result := '차량번호'
else if Result = '1056010' then
Result := 'IP'
else if Result = '1056011' then
Result := '의료보장번호'
else if Result = '1056012' then
Result := '도메인'
else if Result = '1056013' then
Result := 'MAC주소'
else if Result = '1056014' then
Result := '우편번호'
else if Result = '1056015' then
Result := '계좌번호'
end;
end.