INSERT INTO ATTACH_FILE_INFO(
OBJID
, TARGET_OBJID
, PARENT_TARGET_OBJID
, SAVED_FILE_NAME
, REAL_FILE_NAME
, DOC_TYPE
, DOC_TYPE_NAME
, FILE_SIZE
, FILE_EXT
, FILE_PATH
, WRITER
, REGDATE
, STATUS
) VALUES (
${objId}::integer
, #{targetObjId}
, #{parentTargetObjId}
, #{savedFileName}
, #{realFileName}
, #{docType}
, #{docTypeName}
, ${fileSize}
, #{fileExt}
, #{filePath}
, #{writer}
, now()
, 'Active'
)
UPDATE ATTACH_FILE_INFO SET STATUS = 'Deleted' WHERE 1=1
AND 1=2
AND OBJID = ${objId}
AND TARGET_OBJID = #{targetObjId}
AND DOC_TYPE = #{docType}
DELETE FROM ATTACH_FILE_INFO WHERE 1=1
AND OBJID = ${objId}
AND TARGET_OBJID = #{targetObjId}
AND DOC_TYPE = #{docType}
INSERT INTO FILE_DOWN_LOG(
OBJID
, LOG_TIME
, SYSTEM_NAME
, USER_ID
, FILE_OBJID
, REMOTE_ADDR
) VALUES (
#{objId}::integer
, now()
, #{systemName}
, #{userId}
, #{fileObjId}::integer
, #{remoteAddr}
)
MERGE INTO ATTACH_FILE_INFO
USING DUAL
ON (TARGET_OBJID = #{targetObjId} AND DOC_TYPE = #{docType})
WHEN MATCHED THEN
UPDATE SET REGDATE = SYSDATE, WRITER = #{writer}
WHEN NOT MATCHED THEN
INSERT (OBJID, TARGET_OBJID, SAVED_FILE_NAME, REAL_FILE_NAME, DOC_TYPE, DOC_TYPE_NAME, FILE_EXT, FILE_PATH, WRITER, REGDATE, STATUS) VALUES (
#{objId}
, #{targetObjId}
, #{savedFileName}
, #{realFileName}
, #{docType}
, #{docTypeName}
, #{fileExt}
, #{filePath}
, #{writer}
, SYSDATE
, 'Active'
)