폭스소프트 업무지원

메시지 파일 삭제되지 않는 버그 수정
main
icksishu@gmail.com 1 month ago
parent f55a711162
commit b1acbc5c0d

@ -255,7 +255,7 @@
/* 공통 첨부파일상세 송신 */ /* 공통 첨부파일상세 송신 */
SELECT ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, ORIGN_FILE_NM, FILE_EXTSN, FILE_CN, FILE_SIZE, FILE_TYPE, DEL_YN, IMAGE_WIDTH, IMAGE_HEIGHT, FILE_IMSI, MOD_ID, MOD_DATE, REG_ID, REG_DATE SELECT ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, ORIGN_FILE_NM, FILE_EXTSN, FILE_CN, FILE_SIZE, FILE_TYPE, DEL_YN, IMAGE_WIDTH, IMAGE_HEIGHT, FILE_IMSI, MOD_ID, MOD_DATE, REG_ID, REG_DATE
FROM ( FROM (
SELECT ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, ORIGN_FILE_NM, FILE_EXTSN, FILE_CN, FILE_SIZE, FILE_TYPE, DEL_YN, IMAGE_WIDTH, IMAGE_HEIGHT, FILE_IMSI, MOD_ID, TO_CHAR(MOD_DATE, 'YYYYMMDDHH24MISS') AS MOD_DATE, REG_ID, TO_CHAR(REG_DATE, 'YYYYMMDDHH24MISS') AS REG_DATE SELECT ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, ORIGN_FILE_NM, FILE_EXTSN, FILE_CN, FILE_SIZE, FILE_TYPE, DEL_YN, IMAGE_WIDTH, IMAGE_HEIGHT, 'Y' AS FILE_IMSI, MOD_ID, TO_CHAR(MOD_DATE, 'YYYYMMDDHH24MISS') AS MOD_DATE, REG_ID, TO_CHAR(REG_DATE, 'YYYYMMDDHH24MISS') AS REG_DATE
, ROW_NUMBER() OVER (ORDER BY ATCH_FILE_ID, FILE_SN) AS R_NUM , ROW_NUMBER() OVER (ORDER BY ATCH_FILE_ID, FILE_SN) AS R_NUM
FROM TM_ATCH_FILE_DETAIL FROM TM_ATCH_FILE_DETAIL
WHERE 1 = 1 WHERE 1 = 1

@ -178,7 +178,8 @@
, ADD_COL1, ADD_COL2, ADD_COL3, ADD_COL4, ADD_COL5, ADD_COL6, ADD_COL7, ADD_COL8, ADD_COL9, ADD_COL10 , ADD_COL1, ADD_COL2, ADD_COL3, ADD_COL4, ADD_COL5, ADD_COL6, ADD_COL7, ADD_COL8, ADD_COL9, ADD_COL10
, INSTANT_KEY, INSERT_DTTM, INSERT_ID, INSERT_IP, INSERT_PGM , INSTANT_KEY, INSERT_DTTM, INSERT_ID, INSERT_IP, INSERT_PGM
, UPDATE_DTTM, UPDATE_ID, UPDATE_IP, UPDATE_PGM , UPDATE_DTTM, UPDATE_ID, UPDATE_IP, UPDATE_PGM
, DEPT1, DEPT2, KDN_DEPT1, KDN_DEPT2 , DEPT1
, DEPT2, KDN_DEPT1, KDN_DEPT2
, BLON_CL_CD , BLON_CL_CD
, EMP_CL_CD, INLN_BUPE_ID , EMP_CL_CD, INLN_BUPE_ID
, SBCN_BUPE_ID , SBCN_BUPE_ID
@ -190,7 +191,11 @@
, NULL, #{BLON_CO_CL_CD}, #{WORK_DIV}, NULL, NULL, NULL, NULL, NULL, NULL, NULL , NULL, #{BLON_CO_CL_CD}, #{WORK_DIV}, NULL, NULL, NULL, NULL, NULL, NULL, NULL
, NULL, DECODE(#{REG_DATE}, NULL, NULL, TO_DATETIME(#{REG_DATE}, 'YYYYMMDDHH24MISS')), DECODE(#{REG_ID}, NULL, NULL, #{REG_ID}), NULL, NULL , NULL, DECODE(#{REG_DATE}, NULL, NULL, TO_DATETIME(#{REG_DATE}, 'YYYYMMDDHH24MISS')), DECODE(#{REG_ID}, NULL, NULL, #{REG_ID}), NULL, NULL
, DECODE(#{MOD_DATE}, NULL, NULL, TO_DATETIME(#{MOD_DATE}, 'YYYYMMDDHH24MISS')), DECODE(#{MOD_ID}, NULL, NULL, #{MOD_ID}), NULL, NULL , DECODE(#{MOD_DATE}, NULL, NULL, TO_DATETIME(#{MOD_DATE}, 'YYYYMMDDHH24MISS')), DECODE(#{MOD_ID}, NULL, NULL, #{MOD_ID}), NULL, NULL
, (SELECT MAX(DEPT1) AS DEPT1 FROM TM_KDN_DEPT WHERE KDN_DEPT1 = #{KDN_DEPT1}), NULL, #{KDN_DEPT1}, #{KDN_DEPT2} , CASE
WHEN #{KDN_DEPT1} = '721A' THEN (SELECT MAX(DEPT1) AS DEPT1 FROM TM_KDN_DEPT WHERE KDN_DEPT1 = #{KDN_DEPT1} AND KDN_DEPT2 = #{KDN_DEPT2})
ELSE (SELECT MAX(DEPT1) AS DEPT1 FROM TM_KDN_DEPT WHERE KDN_DEPT1 = #{KDN_DEPT1})
END
, NULL, #{KDN_DEPT1}, #{KDN_DEPT2}
, CASE WHEN #{BLON_CO_CL_CD} = '10' AND #{WORK_DIV} = '1' THEN '20' , CASE WHEN #{BLON_CO_CL_CD} = '10' AND #{WORK_DIV} = '1' THEN '20'
WHEN #{BLON_CO_CL_CD} = '20' AND #{WORK_DIV} = '1' THEN '40' WHEN #{BLON_CO_CL_CD} = '20' AND #{WORK_DIV} = '1' THEN '40'
WHEN #{BLON_CO_CL_CD} = '10' AND #{WORK_DIV} = '2' THEN '20' WHEN #{BLON_CO_CL_CD} = '10' AND #{WORK_DIV} = '2' THEN '20'
@ -205,7 +210,10 @@
, USE_YN = #{USE_YN} , USE_YN = #{USE_YN}
, ADD_COL2 = #{BLON_CO_CL_CD} , ADD_COL2 = #{BLON_CO_CL_CD}
, ADD_COL3 = #{WORK_DIV} , ADD_COL3 = #{WORK_DIV}
, DEPT1 = (SELECT MAX(DEPT1) AS DEPT1 FROM TM_KDN_DEPT WHERE KDN_DEPT1 = #{KDN_DEPT1}) , DEPT1 = CASE
WHEN #{KDN_DEPT1} = '721A' THEN (SELECT MAX(DEPT1) AS DEPT1 FROM TM_KDN_DEPT WHERE KDN_DEPT1 = #{KDN_DEPT1} AND KDN_DEPT2 = #{KDN_DEPT2})
ELSE (SELECT MAX(DEPT1) AS DEPT1 FROM TM_KDN_DEPT WHERE KDN_DEPT1 = #{KDN_DEPT1})
END
, KDN_DEPT1 = #{KDN_DEPT1} , KDN_DEPT1 = #{KDN_DEPT1}
, KDN_DEPT2 = #{KDN_DEPT2} , KDN_DEPT2 = #{KDN_DEPT2}
, BLON_CL_CD = CASE WHEN #{BLON_CO_CL_CD} = '10' AND #{WORK_DIV} = '1' THEN '20' , BLON_CL_CD = CASE WHEN #{BLON_CO_CL_CD} = '10' AND #{WORK_DIV} = '1' THEN '20'
@ -219,12 +227,12 @@
, UPDATE_ID = DECODE(#{MOD_ID}, NULL, NULL, #{MOD_ID}) , UPDATE_ID = DECODE(#{MOD_ID}, NULL, NULL, #{MOD_ID})
; ;
/* KDN 외 KDN 일용직 유지보수 담당자 */ /* KDN 외 KDN 일용직 유지보수 담당자 */
/* 유지관리 U0001, 자재관리 U0004, 검침관리 U0005, 지역관리 U0006, 커뮤니티 U0009 */ /* 유지관리 U0001, AMI공사관리 U0002, 자재관리 U0004, 검침관리 U0005, 지역관리 U0006, 커뮤니티 U0009 */
MERGE INTO SMN_USER_AUTH T MERGE INTO SMN_USER_AUTH T
USING ( USING (
SELECT #{ID} AS USER_ID, AUTH_CD SELECT #{ID} AS USER_ID, AUTH_CD
FROM SMN_AUTH FROM SMN_AUTH
WHERE AUTH_CD IN ('U0001', 'U0004', 'U0005', 'U0006', 'U0009') WHERE AUTH_CD IN ('U0001', 'U0002', 'U0004', 'U0005', 'U0006', 'U0009')
AND #{WORK_DIV} = '1' AND #{BLON_CO_CL_CD} = '10' AND #{WORK_DIV} = '1' AND #{BLON_CO_CL_CD} = '10'
) S ) S
ON (T.USER_ID = S.USER_ID AND T.AUTH_CD = S.AUTH_CD) ON (T.USER_ID = S.USER_ID AND T.AUTH_CD = S.AUTH_CD)
@ -232,12 +240,12 @@
INSERT (USER_ID, AUTH_CD, INSERT_DTTM) VALUES (S.USER_ID, S.AUTH_CD, SYSDATETIME) INSERT (USER_ID, AUTH_CD, INSERT_DTTM) VALUES (S.USER_ID, S.AUTH_CD, SYSDATETIME)
; ;
/* KDN 외 하도급사 유지보수 담당자 */ /* KDN 외 하도급사 유지보수 담당자 */
/* 유지관리 U0001, 자재관리 U0004, 검침관리 U0005, 지역관리 U0006, 커뮤니티 U0009 */ /* 유지관리 U0001, AMI공사관리 U0002, 자재관리 U0004, 검침관리 U0005, 지역관리 U0006, 커뮤니티 U0009 */
MERGE INTO SMN_USER_AUTH T MERGE INTO SMN_USER_AUTH T
USING ( USING (
SELECT #{ID} AS USER_ID, AUTH_CD SELECT #{ID} AS USER_ID, AUTH_CD
FROM SMN_AUTH FROM SMN_AUTH
WHERE AUTH_CD IN ('U0001', 'U0004', 'U0005', 'U0006', 'U0009') WHERE AUTH_CD IN ('U0001', 'U0002', 'U0004', 'U0005', 'U0006', 'U0009')
AND #{WORK_DIV} = '1' AND #{BLON_CO_CL_CD} = '20' AND #{WORK_DIV} = '1' AND #{BLON_CO_CL_CD} = '20'
) S ) S
ON (T.USER_ID = S.USER_ID AND T.AUTH_CD = S.AUTH_CD) ON (T.USER_ID = S.USER_ID AND T.AUTH_CD = S.AUTH_CD)

@ -504,4 +504,44 @@
]]> ]]>
</update> </update>
<select id="selectEquipBoxMoveListForSend" resultType="map">
<![CDATA[
/* 박스 내 자재정보 송신 */
SELECT DEPT1, MTRL_ID, NOW_PCKN_NO, REG_ID, REG_DATE, MOD_ID, MOD_DATE
FROM (
SELECT B.DEPT1, A.MTRL_ID, A.NOW_PCKN_NO, A.REG_ID, TO_CHAR(A.REG_DATE, 'YYYYMMDDHH24MISS') AS REG_DATE, A.MOD_ID, TO_CHAR(A.MOD_DATE, 'YYYYMMDDHH24MISS') AS MOD_DATE, ROW_NUMBER() OVER (ORDER BY A.MTRL_ID) AS R_NUM
FROM TM_EQUIP_MTRL A
LEFT JOIN TM_EQUIP_BASE B
ON A.MTRL_ID = B.MTRL_ID
WHERE 1 = 1
AND A.MKAMI_SEND_YN = 'N'
)
WHERE 1 = 1
AND R_NUM BETWEEN 1 AND 1000
]]>
</select>
<update id="updateEquipBoxMoveListTransferDone">
<![CDATA[
/* 박스 내 자재정보 변경 */
UPDATE TM_EQUIP_MTRL
SET MKAMI_SEND_YN = 'Y'
, MKAMI_SEND_DATE = SYSDATETIME
WHERE 1 = 1
AND MTRL_ID IN (
SELECT MTRL_ID
FROM (
SELECT B.DEPT1, A.MTRL_ID, A.NOW_PCKN_NO, ROW_NUMBER() OVER (ORDER BY A.MTRL_ID) AS R_NUM
FROM TM_EQUIP_MTRL A
LEFT JOIN TM_EQUIP_BASE B
ON A.MTRL_ID = B.MTRL_ID
WHERE 1 = 1
AND A.MKAMI_SEND_YN = 'N'
)
WHERE 1 = 1
AND R_NUM BETWEEN 1 AND 1000
)
]]>
</update>
</mapper> </mapper>

@ -1,19 +1,19 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.kdn.awms.mob."> <mapper namespace="com.kdn.awms.mob.mtr">
<insert id="insertMtrMstListForReceive"> <insert id="insertMtrMstListForReceive">
<![CDATA[ <![CDATA[
/* 계기관리 계기작업공사정보 수신 */ /* 계기관리 계기작업공사정보 수신 */
MERGE INTO TM_MTR_MST MERGE INTO TM_MTR_MST
USING DUAL ON (HDQR_CD = #{HDQR_CD} AND CONS_NO = #{CONS_NO} AND WRK_NTTN_SEQNO = #{WRK_NTTN_SEQNO}) USING DUAL ON (HDQR_CD = #{HDQR_CD} AND CONS_NO = #{CONS_NO} AND WRK_NTTN_SEQNO = CAST(#{WRK_NTTN_SEQNO} AS NUMERIC))
WHEN NOT MATCHED THEN WHEN NOT MATCHED THEN
INSERT ( INSERT (
HDQR_CD, CONS_NO, WRK_NTTN_SEQNO, CONS_OVVW_CTT, WRK_STRT_SCHL_DT, WRK_END_SCHL_DT, BIZP_CD HDQR_CD, CONS_NO, WRK_NTTN_SEQNO, CONS_OVVW_CTT, WRK_STRT_SCHL_DT, WRK_END_SCHL_DT, BIZP_CD
, MOD_ID, MOD_DATE, REG_ID, REG_DATE , MOD_ID, MOD_DATE, REG_ID, REG_DATE
) )
VALUES ( VALUES (
#{HDQR_CD}, #{CONS_NO}, #{WRK_NTTN_SEQNO}, #{CONS_OVVW_CTT}, TO_TIMESTAMP(#{WRK_STRT_SCHL_DT}, 'YYYYMMDDHH24MISS'), TO_TIMESTAMP(#{WRK_END_SCHL_DT}, 'YYYYMMDDHH24MISS'), #{BIZP_CD} #{HDQR_CD}, #{CONS_NO}, CAST(#{WRK_NTTN_SEQNO} AS NUMERIC), #{CONS_OVVW_CTT}, TO_TIMESTAMP(#{WRK_STRT_SCHL_DT}, 'YYYYMMDDHH24MISS'), TO_TIMESTAMP(#{WRK_END_SCHL_DT}, 'YYYYMMDDHH24MISS'), #{BIZP_CD}
, NVL(#{MOD_ID}, 'DFXAGENT_USER'), TO_TIMESTAMP(NVL(#{MOD_DATE}, TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS'), NVL(#{REG_ID}, 'DFXAGENT_USER'), TO_TIMESTAMP(NVL(#{REG_DATE}, TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS') , NVL(#{MOD_ID}, 'DFXAGENT_USER'), TO_TIMESTAMP(NVL(#{MOD_DATE}, TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS'), NVL(#{REG_ID}, 'DFXAGENT_USER'), TO_TIMESTAMP(NVL(#{REG_DATE}, TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS')
) )
WHEN MATCHED THEN WHEN MATCHED THEN
@ -31,14 +31,14 @@
<![CDATA[ <![CDATA[
/* 계기관리 계기작업공사현장정보 수신 */ /* 계기관리 계기작업공사현장정보 수신 */
MERGE INTO TM_MTR_MST_DETAIL MERGE INTO TM_MTR_MST_DETAIL
USING DUAL ON (HDQR_CD = #{HDQR_CD} AND CONS_NO = #{CONS_NO} AND WRK_NTTN_SEQNO = #{WRK_NTTN_SEQNO} AND ADDR_SEQNO = #{ADDR_SEQNO}) USING DUAL ON (HDQR_CD = #{HDQR_CD} AND CONS_NO = #{CONS_NO} AND WRK_NTTN_SEQNO = CAST(#{WRK_NTTN_SEQNO} AS NUMERIC) AND ADDR_SEQNO = #{ADDR_SEQNO})
WHEN NOT MATCHED THEN WHEN NOT MATCHED THEN
INSERT ( INSERT (
HDQR_CD, CONS_NO, WRK_NTTN_SEQNO, ADDR_SEQNO, ACPT_NO, WRK_PLCE_NM, WRK_PLCE_ADDR_CTT, CNTR_NO, METER_NO HDQR_CD, CONS_NO, WRK_NTTN_SEQNO, ADDR_SEQNO, ACPT_NO, WRK_PLCE_NM, WRK_PLCE_ADDR_CTT, CNTR_NO, METER_NO
, MOD_ID, MOD_DATE, REG_ID, REG_DATE , MOD_ID, MOD_DATE, REG_ID, REG_DATE
) )
VALUES ( VALUES (
#{HDQR_CD}, #{CONS_NO}, #{WRK_NTTN_SEQNO}, #{ADDR_SEQNO}, #{ACPT_NO}, #{WRK_PLCE_NM}, #{WRK_PLCE_ADDR_CTT}, #{CNTR_NO}, #{METER_NO} #{HDQR_CD}, #{CONS_NO}, CAST(#{WRK_NTTN_SEQNO} AS NUMERIC), #{ADDR_SEQNO}, #{ACPT_NO}, #{WRK_PLCE_NM}, #{WRK_PLCE_ADDR_CTT}, #{CNTR_NO}, #{METER_NO}
, NVL(#{MOD_ID}, 'DFXAGENT_USER'), TO_TIMESTAMP(NVL(#{MOD_DATE}, TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS'), NVL(#{REG_ID}, 'DFXAGENT_USER'), TO_TIMESTAMP(NVL(#{REG_DATE}, TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS') , NVL(#{MOD_ID}, 'DFXAGENT_USER'), TO_TIMESTAMP(NVL(#{MOD_DATE}, TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS'), NVL(#{REG_ID}, 'DFXAGENT_USER'), TO_TIMESTAMP(NVL(#{REG_DATE}, TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS')
) )
WHEN MATCHED THEN WHEN MATCHED THEN
@ -66,9 +66,9 @@
, WRK_PLCE_ADDR_CTT, SD_ETC_BIZ_CD, CUST_GEN_INST_CLCD , WRK_PLCE_ADDR_CTT, SD_ETC_BIZ_CD, CUST_GEN_INST_CLCD
) )
VALUES ( VALUES (
#{BONBU_CD}, #{OFFC_CD}, #{BIZ_CD}, #{DCU_ID}, #{MAC}, #{METER_ID}, #{CUST_NO}, #{COMM_CD}, #{METER_TYPE}, #{NEW_METER_TYPE}, #{AMIGO_NEW_METER_TYPE}, #{EFEC_YEAR}, #{EFEC_MONTH}, #{EXPIRED_DT}, #{AMI_YN}, #{LHV_CD}, #{ATT_DT}, #{MR_MTHD_CD}, #{COMM_STATUS}, #{LP_LAST_DT}, #{CLUSTER_MTR_YN}, #{MASTER_YN}, #{CONN_MTR_CNT}, #{ORDER_CONSTRUCTION}, #{GUM_DAY}, #{TR_NAME}, #{SV_NAME} #{BONBU_CD}, #{OFFC_CD}, #{BIZ_CD}, #{DCU_ID}, #{MAC}, #{METER_ID}, #{CUST_NO}, #{COMM_CD}, #{METER_TYPE}, #{NEW_METER_TYPE}, #{AMIGO_NEW_METER_TYPE}, #{EFEC_YEAR}, #{EFEC_MONTH}, #{EXPIRED_DT}, #{AMI_YN}, #{LHV_CD}, #{ATT_DT}, #{MR_MTHD_CD}, #{COMM_STATUS}, #{LP_LAST_DT}, #{CLUSTER_MTR_YN}, #{MASTER_YN}, CAST(NULLIF(TRIM(#{CONN_MTR_CNT}), '') AS NUMERIC), #{ORDER_CONSTRUCTION}, #{GUM_DAY}, #{TR_NAME}, #{SV_NAME}
, NVL(#{MOD_ID}, 'DFXAGENT_USER'), TO_TIMESTAMP(NVL(#{MOD_DATE}, TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS'), NVL(#{REG_ID}, 'DFXAGENT_USER'), TO_TIMESTAMP(NVL(#{REG_DATE}, TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS') , NVL(#{MOD_ID}, 'DFXAGENT_USER'), TO_TIMESTAMP(NVL(#{MOD_DATE}, TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS'), NVL(#{REG_ID}, 'DFXAGENT_USER'), TO_TIMESTAMP(NVL(#{REG_DATE}, TO_CHAR(SYSTIMESTAMP, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS')
, #{TGT_YEAR}, #{WHM_SEQNO}, #{PLAN_CONS_KND_CD}, #{DIST_LV_HV_CLCD}, #{CNTR_CLAS_CD}, #{CNTR_PWR}, #{SPLY_MODE_CD}, #{CUST_ADDR_CNID}, #{POSS_CLCD}, #{PRDC_YM}, #{LAY_YMD}, #{EFEC_YM}, #{WHM_LOC_CD}, #{WHM_KND_CD}, #{WHM_BX_KND_CD}, #{WHM_BX_STAT_CD}, #{COCMP_BUPE_ID}, #{PLAN_CONS_CHASU}, #{PLAN_CONS_CASE_YN}, #{CONS_NO}, #{CONS_CSWRK_YMD}, #{DISM_YMD}, #{DISM_NDL_VAL}, #{LAY_WHM_NO}, #{LAY_PRDC_YM}, #{WHM_LAY_YMD}, #{LAY_NDL}, #{CSWRK_RSLT_REGST_YN}, #{NOT_CSWRK_RSN}, #{WHM_CAPY_CD}, #{GROU_CONS_YN}, #{PBLSH_SEQNO}, #{WHM_DISM_RSN_CD}, #{WHM_DISM_STAT_CD}, #{LIPO_NO}, #{TRMR_NO}, #{PACH_CLCD}, #{ISLN_PRM_YN}, #{ISLN_PRM_RATIO}, #{MATL_NO}, #{TRMR_LINE_NM}, #{TRMR_LINE_NO}, #{LIPO_LINE_NM}, #{LIPO_LINE_NO}, #{REPL_SCHE_MM}, #{RSN_BIGCSS_CD}, #{RSN_MEDI_CD}, #{RSN_MEMO}, #{RMRK}, #{WRK_STRT_SCHL_YMD}, #{WRK_END_SCHL_YMD}, #{TCHGR_NM}, #{TCHGR_TEL_NO}, #{CNSWK_CO_NM}, #{CNSWK_CO_TEL_NO}, #{FLDST_AGNT_NM}, #{FLDST_AGNT_MPHN_NO}, #{TRNS_YMD}, #{TRNS_HH}, #{OTPT_YMD}, #{OTPT_HH} , #{TGT_YEAR}, #{WHM_SEQNO}, #{PLAN_CONS_KND_CD}, #{DIST_LV_HV_CLCD}, #{CNTR_CLAS_CD}, CAST(NULLIF(TRIM(#{CNTR_PWR}), '') AS NUMERIC), #{SPLY_MODE_CD}, CAST(NULLIF(TRIM(#{CUST_ADDR_CNID}), '') AS NUMERIC), #{POSS_CLCD}, #{PRDC_YM}, #{LAY_YMD}, #{EFEC_YM}, #{WHM_LOC_CD}, #{WHM_KND_CD}, #{WHM_BX_KND_CD}, #{WHM_BX_STAT_CD}, #{COCMP_BUPE_ID}, #{PLAN_CONS_CHASU}, #{PLAN_CONS_CASE_YN}, #{CONS_NO}, #{CONS_CSWRK_YMD}, #{DISM_YMD}, CAST(NULLIF(TRIM(#{DISM_NDL_VAL}), '') AS NUMERIC), #{LAY_WHM_NO}, #{LAY_PRDC_YM}, #{WHM_LAY_YMD}, CAST(NULLIF(TRIM(#{LAY_NDL}), '') AS NUMERIC), #{CSWRK_RSLT_REGST_YN}, #{NOT_CSWRK_RSN}, #{WHM_CAPY_CD}, #{GROU_CONS_YN}, CAST(NULLIF(TRIM(#{PBLSH_SEQNO}), '') AS NUMERIC), #{WHM_DISM_RSN_CD}, #{WHM_DISM_STAT_CD}, #{LIPO_NO}, #{TRMR_NO}, #{PACH_CLCD}, #{ISLN_PRM_YN}, CAST(NULLIF(TRIM(#{ISLN_PRM_RATIO}), '') AS NUMERIC), #{MATL_NO}, #{TRMR_LINE_NM}, #{TRMR_LINE_NO}, #{LIPO_LINE_NM}, #{LIPO_LINE_NO}, #{REPL_SCHE_MM}, #{RSN_BIGCSS_CD}, #{RSN_MEDI_CD}, #{RSN_MEMO}, #{RMRK}, #{WRK_STRT_SCHL_YMD}, #{WRK_END_SCHL_YMD}, #{TCHGR_NM}, #{TCHGR_TEL_NO}, #{CNSWK_CO_NM}, #{CNSWK_CO_TEL_NO}, #{FLDST_AGNT_NM}, #{FLDST_AGNT_MPHN_NO}, #{TRNS_YMD}, #{TRNS_HH}, #{OTPT_YMD}, #{OTPT_HH}
, #{WRK_PLCE_ADDR_CTT}, #{SD_ETC_BIZ_CD}, #{CUST_GEN_INST_CLCD} , #{WRK_PLCE_ADDR_CTT}, #{SD_ETC_BIZ_CD}, #{CUST_GEN_INST_CLCD}
) )
WHEN MATCHED THEN WHEN MATCHED THEN
@ -93,7 +93,7 @@
, LP_LAST_DT = #{LP_LAST_DT} , LP_LAST_DT = #{LP_LAST_DT}
, CLUSTER_MTR_YN = #{CLUSTER_MTR_YN} , CLUSTER_MTR_YN = #{CLUSTER_MTR_YN}
, MASTER_YN = #{MASTER_YN} , MASTER_YN = #{MASTER_YN}
, CONN_MTR_CNT = #{CONN_MTR_CNT} , CONN_MTR_CNT = CAST(NULLIF(TRIM(#{CONN_MTR_CNT}), '') AS NUMERIC)
, ORDER_CONSTRUCTION = #{ORDER_CONSTRUCTION} , ORDER_CONSTRUCTION = #{ORDER_CONSTRUCTION}
, GUM_DAY = #{GUM_DAY} , GUM_DAY = #{GUM_DAY}
, TR_NAME = #{TR_NAME} , TR_NAME = #{TR_NAME}
@ -105,9 +105,9 @@
, PLAN_CONS_KND_CD = #{PLAN_CONS_KND_CD} , PLAN_CONS_KND_CD = #{PLAN_CONS_KND_CD}
, DIST_LV_HV_CLCD = #{DIST_LV_HV_CLCD} , DIST_LV_HV_CLCD = #{DIST_LV_HV_CLCD}
, CNTR_CLAS_CD = #{CNTR_CLAS_CD} , CNTR_CLAS_CD = #{CNTR_CLAS_CD}
, CNTR_PWR = #{CNTR_PWR} , CNTR_PWR = CAST(NULLIF(TRIM(#{CNTR_PWR}), '') AS NUMERIC)
, SPLY_MODE_CD = #{SPLY_MODE_CD} , SPLY_MODE_CD = #{SPLY_MODE_CD}
, CUST_ADDR_CNID = #{CUST_ADDR_CNID} , CUST_ADDR_CNID = CAST(NULLIF(TRIM(#{CUST_ADDR_CNID}), '') AS NUMERIC)
, POSS_CLCD = #{POSS_CLCD} , POSS_CLCD = #{POSS_CLCD}
, PRDC_YM = #{PRDC_YM} , PRDC_YM = #{PRDC_YM}
, LAY_YMD = #{LAY_YMD} , LAY_YMD = #{LAY_YMD}
@ -122,23 +122,23 @@
, CONS_NO = #{CONS_NO} , CONS_NO = #{CONS_NO}
, CONS_CSWRK_YMD = #{CONS_CSWRK_YMD} , CONS_CSWRK_YMD = #{CONS_CSWRK_YMD}
, DISM_YMD = #{DISM_YMD} , DISM_YMD = #{DISM_YMD}
, DISM_NDL_VAL = #{DISM_NDL_VAL} , DISM_NDL_VAL = CAST(NULLIF(TRIM(#{DISM_NDL_VAL}), '') AS NUMERIC)
, LAY_WHM_NO = #{LAY_WHM_NO} , LAY_WHM_NO = #{LAY_WHM_NO}
, LAY_PRDC_YM = #{LAY_PRDC_YM} , LAY_PRDC_YM = #{LAY_PRDC_YM}
, WHM_LAY_YMD = #{WHM_LAY_YMD} , WHM_LAY_YMD = #{WHM_LAY_YMD}
, LAY_NDL = #{LAY_NDL} , LAY_NDL = CAST(NULLIF(TRIM(#{LAY_NDL}), '') AS NUMERIC)
, CSWRK_RSLT_REGST_YN = #{CSWRK_RSLT_REGST_YN} , CSWRK_RSLT_REGST_YN = #{CSWRK_RSLT_REGST_YN}
, NOT_CSWRK_RSN = #{NOT_CSWRK_RSN} , NOT_CSWRK_RSN = #{NOT_CSWRK_RSN}
, WHM_CAPY_CD = #{WHM_CAPY_CD} , WHM_CAPY_CD = #{WHM_CAPY_CD}
, GROU_CONS_YN = #{GROU_CONS_YN} , GROU_CONS_YN = #{GROU_CONS_YN}
, PBLSH_SEQNO = #{PBLSH_SEQNO} , PBLSH_SEQNO = CAST(NULLIF(TRIM(#{PBLSH_SEQNO}), '') AS NUMERIC)
, WHM_DISM_RSN_CD = #{WHM_DISM_RSN_CD} , WHM_DISM_RSN_CD = #{WHM_DISM_RSN_CD}
, WHM_DISM_STAT_CD = #{WHM_DISM_STAT_CD} , WHM_DISM_STAT_CD = #{WHM_DISM_STAT_CD}
, LIPO_NO = #{LIPO_NO} , LIPO_NO = #{LIPO_NO}
, TRMR_NO = #{TRMR_NO} , TRMR_NO = #{TRMR_NO}
, PACH_CLCD = #{PACH_CLCD} , PACH_CLCD = #{PACH_CLCD}
, ISLN_PRM_YN = #{ISLN_PRM_YN} , ISLN_PRM_YN = #{ISLN_PRM_YN}
, ISLN_PRM_RATIO = #{ISLN_PRM_RATIO} , ISLN_PRM_RATIO = CAST(NULLIF(TRIM(#{ISLN_PRM_RATIO}), '') AS NUMERIC)
, MATL_NO = #{MATL_NO} , MATL_NO = #{MATL_NO}
, TRMR_LINE_NM = #{TRMR_LINE_NM} , TRMR_LINE_NM = #{TRMR_LINE_NM}
, TRMR_LINE_NO = #{TRMR_LINE_NO} , TRMR_LINE_NO = #{TRMR_LINE_NO}
@ -628,14 +628,42 @@
, MOD_ID, MOD_DATE, REG_ID, REG_DATE , MOD_ID, MOD_DATE, REG_ID, REG_DATE
, MR_DD, PACH_CLCD, CUST_GEN_INST_CLCD, SD_ETC_BIZ_CD , MR_DD, PACH_CLCD, CUST_GEN_INST_CLCD, SD_ETC_BIZ_CD
FROM ( FROM (
SELECT HDQR_CD, CONS_NO, CONS_TGT_SEQNO, WORK_STEP, LAY_STS_CD, LAY_METR_CL_CD, OFFICE_CD, TGT_YEAR, CNTR_NO, WHM_NO, WHM_SEQNO, PLAN_CONS_KND_CD, ACPT_YMD, ACPT_SEQNO, DIST_LV_HV_CLCD, CNTR_CLAS_CD, CNTR_PWR, BUPE_ID SELECT
, MOD_ID, TO_CHAR(MOD_DATE, 'YYYYMMDDHH24MISS') AS MOD_DATE, REG_ID, TO_CHAR(REG_DATE, 'YYYYMMDDHH24MISS') AS REG_DATE A.HDQR_CD
, MR_DD, PACH_CLCD, CUST_GEN_INST_CLCD, SD_ETC_BIZ_CD , A.CONS_NO
, ROW_NUMBER() OVER (ORDER BY HDQR_CD, CONS_NO, CONS_TGT_SEQNO) AS R_NUM , A.CONS_TGT_SEQNO
FROM TM_MTR_INST , B.WORK_STEP
WHERE 1 = 1 , B.LAY_STS_CD
AND MKAMI_SEND_YN = 'N' , A.LAY_METR_CL_CD
AND CONS_NO IS NOT NULL , A.OFFICE_CD
, A.TGT_YEAR
, B.CNTR_NO
, A.WHM_NO
, A.WHM_SEQNO
, A.PLAN_CONS_KND_CD
, A.ACPT_YMD
, A.ACPT_SEQNO
, A.DIST_LV_HV_CLCD
, A.CNTR_CLAS_CD
, B.CNTR_PWR
, A.BUPE_ID
, B.MOD_ID
, TO_CHAR(B.MOD_DATE, 'YYYYMMDDHH24MISS') AS MOD_DATE
, B.REG_ID
, TO_CHAR(B.ACT_DATE, 'YYYYMMDDHH24MISS') AS REG_DATE
, A.MR_DD
, A.PACH_CLCD
, A.CUST_GEN_INST_CLCD
, A.SD_ETC_BIZ_CD
, ROW_NUMBER() OVER (ORDER BY B.HDQR_CD, B.CONS_NO, B.CONS_TGT_SEQNO) AS R_NUM
FROM TM_MTR_INST A
LEFT JOIN TM_MTR_INST_STATUS B
ON A.HDQR_CD = B.HDQR_CD
AND A.CONS_NO = B.CONS_NO
AND A.CONS_TGT_SEQNO = B.CONS_TGT_SEQNO
WHERE 1 = 1
AND B.MKAMI_SEND_YN = 'N'
AND B.CONS_NO IS NOT NULL
) )
WHERE 1 = 1 WHERE 1 = 1
AND R_NUM BETWEEN 1 AND 1000 AND R_NUM BETWEEN 1 AND 1000
@ -645,20 +673,49 @@
<update id="updateMtrInstListTransferDone"> <update id="updateMtrInstListTransferDone">
<![CDATA[ <![CDATA[
/* 계기관리 작업 대상 정보 송신 상태 변경 */ /* 계기관리 작업 대상 정보 송신 상태 변경 */
UPDATE TM_MTR_INST UPDATE TM_MTR_INST_STATUS
SET MKAMI_SEND_YN = 'Y' SET MKAMI_SEND_YN = 'Y'
, MKAMI_SEND_DATE = SYSDATETIME , MKAMI_SEND_DATE = SYSDATETIME
WHERE 1 = 1 WHERE 1 = 1
AND (HDQR_CD, CONS_NO, CONS_TGT_SEQNO) IN ( AND (HDQR_CD, CONS_NO, CONS_TGT_SEQNO) IN (
SELECT HDQR_CD, CONS_NO, CONS_TGT_SEQNO SELECT HDQR_CD, CONS_NO, CONS_TGT_SEQNO
FROM ( FROM (
SELECT HDQR_CD, CONS_NO, CONS_TGT_SEQNO, WORK_STEP, LAY_STS_CD, LAY_METR_CL_CD, OFFICE_CD, TGT_YEAR, CNTR_NO, WHM_NO, WHM_SEQNO, PLAN_CONS_KND_CD, ACPT_YMD, ACPT_SEQNO, DIST_LV_HV_CLCD, CNTR_CLAS_CD, CNTR_PWR, BUPE_ID SELECT
, MOD_ID, TO_CHAR(MOD_DATE, 'YYYYMMDDHH24MISS') AS MOD_DATE, REG_ID, TO_CHAR(REG_DATE, 'YYYYMMDDHH24MISS') AS REG_DATE B.HDQR_CD
, ROW_NUMBER() OVER (ORDER BY HDQR_CD, CONS_NO, CONS_TGT_SEQNO) AS R_NUM , B.CONS_NO
FROM TM_MTR_INST , B.CONS_TGT_SEQNO
WHERE 1 = 1 , B.WORK_STEP
AND MKAMI_SEND_YN = 'N' , B.LAY_STS_CD
AND CONS_NO IS NOT NULL , B.LAY_METR_CL_CD
, A.OFFICE_CD
, A.TGT_YEAR
, B.CNTR_NO
, B.WHM_NO
, A.WHM_SEQNO
, A.PLAN_CONS_KND_CD
, A.ACPT_YMD
, A.ACPT_SEQNO
, A.DIST_LV_HV_CLCD
, A.CNTR_CLAS_CD
, B.CNTR_PWR
, A.BUPE_ID
, B.MOD_ID
, TO_CHAR(B.MOD_DATE, 'YYYYMMDDHH24MISS') AS MOD_DATE
, B.REG_ID
, TO_CHAR(B.REG_DATE, 'YYYYMMDDHH24MISS') AS REG_DATE
, A.MR_DD
, A.PACH_CLCD
, A.CUST_GEN_INST_CLCD
, A.SD_ETC_BIZ_CD
, ROW_NUMBER() OVER (ORDER BY B.HDQR_CD, B.CONS_NO, B.CONS_TGT_SEQNO) AS R_NUM
FROM TM_MTR_INST A
LEFT JOIN TM_MTR_INST_STATUS B
ON A.HDQR_CD = B.HDQR_CD
AND A.CONS_NO = B.CONS_NO
AND A.CONS_TGT_SEQNO = B.CONS_TGT_SEQNO
WHERE 1 = 1
AND B.MKAMI_SEND_YN = 'N'
AND B.CONS_NO IS NOT NULL
) )
WHERE 1 = 1 WHERE 1 = 1
AND R_NUM BETWEEN 1 AND 1000 AND R_NUM BETWEEN 1 AND 1000
@ -667,13 +724,13 @@
</update> </update>
<insert id="insertJat1010ToMtrInstListForReceive"> <insert id="insertJat1010ToMtrInstListForReceive">
<selectKey keyProperty="CONS_TGT_SEQNO" order="BEFORE" resultType="long"> <selectKey keyProperty="CONS_TGT_SEQNO" resultType="int" order="BEFORE">
SELECT SQ_CONS_TGT_SEQNO.NEXTVAL AS CONS_TGT_SEQNO FROM DUAL SELECT SQ_CONS_TGT_SEQNO.NEXTVAL AS CONS_TGT_SEQNO FROM DUAL
</selectKey> </selectKey>
<![CDATA[ <![CDATA[
/* 계기관리 실효계기 작업 대상 정보 수신 */ /* 계기관리 실효계기 작업 대상 정보 수신 */
MERGE INTO TM_MTR_INST MERGE INTO TM_MTR_INST
USING DUAL ON (OFFICE_CD = #{OFFICE_CD} AND TGT_YEAR = #{TGT_YEAR} AND CNTR_NO = #{CNTR_NO} AND WHM_NO = #{WHM_NO} AND WHM_SEQNO = #{WHM_SEQNO} AND PLAN_CONS_KND_CD = #{PLAN_CONS_KND_CD}) USING DUAL ON (OFFICE_CD = #{OFFICE_CD} AND TGT_YEAR = #{TGT_YEAR} AND CNTR_NO = #{CNTR_NO} AND WHM_NO = #{WHM_NO} AND WHM_SEQNO = #{WHM_SEQNO} AND PLAN_CONS_KND_CD = #{PLAN_CONS_KND_CD} AND CONS_NO = #{CONS_NO})
WHEN NOT MATCHED THEN WHEN NOT MATCHED THEN
INSERT ( INSERT (
HDQR_CD, CONS_NO HDQR_CD, CONS_NO
@ -711,13 +768,13 @@
</insert> </insert>
<insert id="insertJct0101ToMtrInstListForReceive"> <insert id="insertJct0101ToMtrInstListForReceive">
<selectKey keyProperty="CONS_TGT_SEQNO" order="BEFORE" resultType="long"> <selectKey keyProperty="CONS_TGT_SEQNO" resultType="int" order="BEFORE">
SELECT SQ_CONS_TGT_SEQNO.NEXTVAL AS CONS_TGT_SEQNO FROM DUAL SELECT SQ_CONS_TGT_SEQNO.NEXTVAL AS CONS_TGT_SEQNO FROM DUAL
</selectKey> </selectKey>
<![CDATA[ <![CDATA[
/* 계기관리 실효계기 외 작업 대상 정보 수신 */ /* 계기관리 실효계기 외 작업 대상 정보 수신 */
MERGE INTO TM_MTR_INST MERGE INTO TM_MTR_INST
USING DUAL ON (CNTR_NO = #{CNTR_NO} AND ACPT_YMD = #{ACPT_YMD} AND OFFICE_CD = #{ACPT_OFFICE_CD} AND ACPT_SEQNO = #{ACPT_SEQNO}) USING DUAL ON (CNTR_NO = #{CNTR_NO} AND ACPT_YMD = #{ACPT_YMD} AND OFFICE_CD = #{ACPT_OFFICE_CD} AND ACPT_SEQNO = #{ACPT_SEQNO} AND CONS_NO = #{CONS_NO})
WHEN NOT MATCHED THEN WHEN NOT MATCHED THEN
INSERT ( INSERT (
HDQR_CD, CONS_NO HDQR_CD, CONS_NO
@ -731,7 +788,7 @@
) )
VALUES ( VALUES (
#{HDQR_CD}, #{CONS_NO} #{HDQR_CD}, #{CONS_NO}
, #{CONS_TGT_SEQNO} , CAST(#{CONS_TGT_SEQNO} AS NUMERIC)
, '20', NULL , '20', NULL
, (CASE WHEN #{ACPT_KND_CD} = '11' OR #{ACPT_KND_CD} = '20' THEN '20' ELSE '30' END) , (CASE WHEN #{ACPT_KND_CD} = '11' OR #{ACPT_KND_CD} = '20' THEN '20' ELSE '30' END)
, #{ACPT_OFFICE_CD}, NULL, #{CNTR_NO}, NULL, NULL, NULL , #{ACPT_OFFICE_CD}, NULL, #{CNTR_NO}, NULL, NULL, NULL

@ -50,6 +50,7 @@
, TR_FEED_NM = #{TR_FEED_NM} , TR_FEED_NM = #{TR_FEED_NM}
, MOD_ID = NVL(#{MOD_ID}, 'DFXAGENT_USER') , MOD_ID = NVL(#{MOD_ID}, 'DFXAGENT_USER')
, MOD_DATE = DECODE(#{MOD_DATE}, NULL, SYSTIMESTAMP, TO_TIMESTAMP(#{MOD_DATE}, 'YYYYMMDDHH24MISS')) , MOD_DATE = DECODE(#{MOD_DATE}, NULL, SYSTIMESTAMP, TO_TIMESTAMP(#{MOD_DATE}, 'YYYYMMDDHH24MISS'))
WHERE WORK_STEP IN ('10','20')
]]> ]]>
</insert> </insert>
@ -134,6 +135,7 @@
AND TFMI.M_USE_YN = 'Y' AND TFMI.M_USE_YN = 'Y'
and TFMI.M_MODEM_MAC = '012' || SUBSTRING(REPLACE(#{MODEM_MAC}, '-0', ''), 2) and TFMI.M_MODEM_MAC = '012' || SUBSTRING(REPLACE(#{MODEM_MAC}, '-0', ''), 2)
AND ROWNUM = 1)) AND ROWNUM = 1))
WHERE WORK_STEP IN ('10','20')
]]> ]]>
</insert> </insert>

@ -349,7 +349,7 @@
ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, ORIGN_FILE_NM, FILE_EXTSN, FILE_CN, FILE_SIZE, FILE_TYPE, DEL_YN, IMAGE_WIDTH, IMAGE_HEIGHT, FILE_IMSI, REG_DATE, REG_ID ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, ORIGN_FILE_NM, FILE_EXTSN, FILE_CN, FILE_SIZE, FILE_TYPE, DEL_YN, IMAGE_WIDTH, IMAGE_HEIGHT, FILE_IMSI, REG_DATE, REG_ID
) )
VALUES ( VALUES (
#{ATCH_FILE_ID}, #{FILE_SN}, #{FILE_STRE_COURS}, #{STRE_FILE_NM}, #{ORIGN_FILE_NM}, #{FILE_EXTSN}, #{FILE_CN}, #{FILE_SIZE}, #{FILE_TYPE}, #{DEL_YN}, #{IMAGE_WIDTH}, #{IMAGE_HEIGHT}, #{FILE_IMSI}, DECODE(#{REG_DATE}, NULL, SYSDATE, TO_DATE(#{REG_DATE}, 'YYYYMMDDHH24MISS')), NVL(#{REG_ID}, 'DFXAGENT_USER') #{ATCH_FILE_ID}, #{FILE_SN}, #{FILE_STRE_COURS}, #{STRE_FILE_NM}, #{ORIGN_FILE_NM}, #{FILE_EXTSN}, #{FILE_CN}, #{FILE_SIZE}, #{FILE_TYPE}, #{DEL_YN}, #{IMAGE_WIDTH}, #{IMAGE_HEIGHT}, 'Y', DECODE(#{REG_DATE}, NULL, SYSDATE, TO_DATE(#{REG_DATE}, 'YYYYMMDDHH24MISS')), NVL(#{REG_ID}, 'DFXAGENT_USER')
) )
</insert> </insert>

@ -53,6 +53,7 @@
FROM T_AD_USER FROM T_AD_USER
WHERE 1 = 1 WHERE 1 = 1
AND AWMS_SEND_YN = 'N' AND AWMS_SEND_YN = 'N'
AND USE_YN = 'Y'
) )
WHERE 1 = 1 WHERE 1 = 1
AND R_NUM BETWEEN 1 AND 1000 AND R_NUM BETWEEN 1 AND 1000
@ -94,6 +95,7 @@
FROM T_ETC_USER FROM T_ETC_USER
WHERE 1 = 1 WHERE 1 = 1
AND AWMS_SEND_YN = 'N' AND AWMS_SEND_YN = 'N'
AND USE_YN = 'Y'
) )
WHERE 1 = 1 WHERE 1 = 1
AND R_NUM BETWEEN 1 AND 1000 AND R_NUM BETWEEN 1 AND 1000

@ -55,7 +55,7 @@
, SHP_PURP_CD, ATCH_FILE_ID1 , SHP_PURP_CD, ATCH_FILE_ID1
) )
VALUES ( VALUES (
#{MTRL_HST_SEQNO}, #{MTRL_ID}, #{MTRL_CL_CD}, #{DCU_ID}, #{MODEM_MAC}, #{METER_ID}, #{WRHSG_SHP_CL_CD}, #{HNDOVR_BLON_CL_CD}, #{TRF_DEPT1}, #{TRF_DEPT2}, #{TRF_KDN_DEPT1}, #{TRF_KDN_DEPT2}, #{HNDOVR_CO_ID}, #{HNDOVR_USER_ID}, #{HNDOVR_STRG_PLCE}, #{TKOVR_BLON_CL_CD}, #{TFE_DEPT1}, #{TFE_DEPT2}, #{TFE_KDN_DEPT1}, #{TFE_KDN_DEPT2}, #{TKOVR_CO_ID}, #{TKOVR_USER_ID}, #{TKOVR_STRG_PLCE}, #{MTRL_STS_CD}, #{WRHSG_SHP_YMD}, #{MTRL_BX_NO} #{MTRL_HST_SEQNO}, #{MTRL_ID}, #{MTRL_CL_CD}, #{DCU_ID}, REGEXP_REPLACE(#{MODEM_MAC}, '[-:]', ''), #{METER_ID}, #{WRHSG_SHP_CL_CD}, #{HNDOVR_BLON_CL_CD}, #{TRF_DEPT1}, #{TRF_DEPT2}, #{TRF_KDN_DEPT1}, #{TRF_KDN_DEPT2}, #{HNDOVR_CO_ID}, #{HNDOVR_USER_ID}, #{HNDOVR_STRG_PLCE}, #{TKOVR_BLON_CL_CD}, #{TFE_DEPT1}, #{TFE_DEPT2}, #{TFE_KDN_DEPT1}, #{TFE_KDN_DEPT2}, #{TKOVR_CO_ID}, #{TKOVR_USER_ID}, #{TKOVR_STRG_PLCE}, #{MTRL_STS_CD}, #{WRHSG_SHP_YMD}, #{MTRL_BX_NO}
, NVL(#{MOD_ID}, 'DFXAGENT_USER'), TO_DATE(NVL(#{MOD_DATE}, TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS'), NVL(#{REG_ID}, 'DFXAGENT_USER'), TO_DATE(NVL(#{REG_DATE}, TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS'), 'N' , NVL(#{MOD_ID}, 'DFXAGENT_USER'), TO_DATE(NVL(#{MOD_DATE}, TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS'), NVL(#{REG_ID}, 'DFXAGENT_USER'), TO_DATE(NVL(#{REG_DATE}, TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS')), 'YYYYMMDDHH24MISS'), 'N'
, #{SHP_PURP_CD}, #{ATCH_FILE_ID1} , #{SHP_PURP_CD}, #{ATCH_FILE_ID1}
) )
@ -64,7 +64,7 @@
MTRL_ID = #{MTRL_ID} MTRL_ID = #{MTRL_ID}
, MTRL_CL_CD = #{MTRL_CL_CD} , MTRL_CL_CD = #{MTRL_CL_CD}
, DCU_ID = #{DCU_ID} , DCU_ID = #{DCU_ID}
, MODEM_MAC = #{MODEM_MAC} , MODEM_MAC = REGEXP_REPLACE(#{MODEM_MAC}, '[-:]', '')
, METER_ID = #{METER_ID} , METER_ID = #{METER_ID}
, WRHSG_SHP_CL_CD = #{WRHSG_SHP_CL_CD} , WRHSG_SHP_CL_CD = #{WRHSG_SHP_CL_CD}
, HNDOVR_BLON_CL_CD = #{HNDOVR_BLON_CL_CD} , HNDOVR_BLON_CL_CD = #{HNDOVR_BLON_CL_CD}
@ -109,7 +109,7 @@
AND A.AWMS_SEND_YN = 'N' AND A.AWMS_SEND_YN = 'N'
) )
WHERE 1 = 1 WHERE 1 = 1
AND R_NUM BETWEEN 1 AND 1000 AND R_NUM BETWEEN 1 AND 4000
]]> ]]>
</select> </select>
@ -132,7 +132,7 @@
AND A.AWMS_SEND_YN = 'N' AND A.AWMS_SEND_YN = 'N'
) )
WHERE 1 = 1 WHERE 1 = 1
AND R_NUM BETWEEN 1 AND 1000 AND R_NUM BETWEEN 1 AND 4000
) )
]]> ]]>
</update> </update>
@ -505,7 +505,7 @@
]]> ]]>
</update> </update>
<insert id="insertEquipMstModemListForReceive" > <insert id="insertEquipMstModemListForReceive">
<![CDATA[ <![CDATA[
/* 미존재 자재마스터 정보 수신 */ /* 미존재 자재마스터 정보 수신 */
INSERT INTO T_EQUIP_MST_MODEM INSERT INTO T_EQUIP_MST_MODEM
@ -515,4 +515,26 @@
]]> ]]>
</insert> </insert>
<insert id="insertEquipBoxMoveListForReceive">
<![CDATA[
MERGE INTO T_EQUIP_BOX_MOVE
USING DUAL ON (DEPT1 = #{DEPT1} AND MTRL_ID = #{MTRL_ID})
WHEN NOT MATCHED THEN
INSERT (
DEPT1, MTRL_ID, NOW_PCKN_NO, REG_ID, REG_DATE, MOD_ID, MOD_DATE, SEND_YN
)
VALUES (
#{DEPT1}, #{MTRL_ID}, #{NOW_PCKN_NO},
NVL(#{REG_ID}, 'DFXAGENT_USER'), DECODE(#{REG_DATE}, NULL, SYSDATE, TO_DATE(#{REG_DATE}, 'YYYYMMDDHH24MISS')),
NVL(#{MOD_ID}, 'DFXAGENT_USER'), DECODE(#{MOD_DATE}, NULL, SYSDATE, TO_DATE(#{MOD_DATE}, 'YYYYMMDDHH24MISS')), 'N'
)
WHEN MATCHED THEN
UPDATE SET
NOW_PCKN_NO = #{NOW_PCKN_NO}
, MOD_ID = NVL(#{MOD_ID}, 'DFXAGENT_USER')
, MOD_DATE = DECODE(#{MOD_DATE}, NULL, SYSDATE, TO_DATE(#{MOD_DATE}, 'YYYYMMDDHH24MISS'))
, SEND_YN = 'N'
, SEND_DATE = NULL
]]>
</insert>
</mapper> </mapper>

@ -53,11 +53,15 @@
<select id="selectFacErrCurModemListForSend" resultType="map"> <select id="selectFacErrCurModemListForSend" resultType="map">
<![CDATA[ <![CDATA[
/* 유지관리 작업대상_모뎀 송신 */ /* 유지관리 작업대상_모뎀 송신 */
SELECT ERR_ID, WORK_STEP, WORK_DIV, FCTY_CD, MODEM_MAC, COMM_CD, EVENT_START_DT, DEPT1, DEPT2, KDN_DEPT1, KDN_DEPT2, BUSI_DIV, M_COMPANY, ERR_TYPE1, ERR_TYPE2, GUM_DAY, ORDER_DT, ORDERER_ID, DCU_DT, METER_DT, SEVER_DT, MEMO, PRE_ERR_ID, WORK_GP_NO, WD_STATE, METER_ID, EMER_YN, MGMT_CD, DESN_ST_YMD, LAY_YMD SELECT ERR_ID, WORK_STEP, WORK_DIV, FCTY_CD, MODEM_MAC, COMM_CD, EVENT_START_DT, DEPT1, DEPT2, KDN_DEPT1, KDN_DEPT2, BUSI_DIV, M_COMPANY, ERR_TYPE1, ERR_TYPE2, GUM_DAY, ORDER_DT, ORDERER_ID, DCU_DT, METER_DT, SEVER_DT, MEMO, PRE_ERR_ID, WORK_GP_NO, WD_STATE, EMER_YN, MGMT_CD, DESN_ST_YMD, LAY_YMD
, TRADE, COMBLD_NM, TR_FEED_NM, SV_FEED_NM, ADDRESS, ROAD_ADDRESS, INST_S, INST_M , METER_ID, DCU_ID, TRADE, COMBLD_NM, TR_FEED_NM, SV_FEED_NM, ADDRESS, ROAD_ADDRESS, INST_S, INST_M
, MOD_ID, MOD_DATE, REG_ID, REG_DATE , MOD_ID, MOD_DATE, REG_ID, REG_DATE
FROM ( FROM (
SELECT A.ERR_ID, A.WORK_STEP, A.WORK_DIV, A.FCTY_CD, A.MODEM_MAC, A.COMM_CD, A.EVENT_START_DT, A.DEPT1, A.DEPT2, A.KDN_DEPT1, A.KDN_DEPT2, A.BUSI_DIV, A.M_COMPANY, A.ERR_TYPE1, A.ERR_TYPE2, A.GUM_DAY, A.ORDER_DT, A.ORDERER_ID, A.DCU_DT, A.METER_DT, A.SEVER_DT, A.MEMO, A.PRE_ERR_ID, A.WORK_GP_NO, A.WD_STATE, A.METER_ID, A.EMER_YN, A.MGMT_CD, A.DESN_ST_YMD, A.LAY_YMD SELECT A.ERR_ID, A.WORK_STEP, A.WORK_DIV, A.FCTY_CD, A.MODEM_MAC, A.COMM_CD, A.EVENT_START_DT, A.DEPT1, A.DEPT2, A.KDN_DEPT1, A.KDN_DEPT2, A.BUSI_DIV, A.M_COMPANY, A.ERR_TYPE1, A.ERR_TYPE2, A.GUM_DAY, A.ORDER_DT, A.ORDERER_ID, A.DCU_DT, A.METER_DT, A.SEVER_DT, A.MEMO, A.PRE_ERR_ID, A.WORK_GP_NO, A.WD_STATE, A.EMER_YN, A.MGMT_CD, A.DESN_ST_YMD, A.LAY_YMD
, CASE WHEN A.FCTY_CD = 'M' THEN NVL((SELECT TFMI.M_METER_ID FROM T_FCTY_CS_METER_INFO TFMI WHERE TFMI.M_MODEM_MAC = A.MODEM_MAC AND TFMI.DEPT1 = A.DEPT1 AND TFMI.M_USE_YN = 'Y' AND ROWNUM = 1), (SELECT TFMI.M_METER_ID FROM T_FCTY_CS_METER_INFO TFMI WHERE TFMI.M_MODEM_MAC = '012' || SUBSTR(REPLACE(A.MODEM_MAC, '-0', ''), 2) AND TFMI.DEPT1 = A.DEPT1 AND TFMI.M_USE_YN = 'Y' AND ROWNUM = 1))
ELSE A.METER_ID
END AS METER_ID
, A.DCU_ID
, CASE WHEN A.FCTY_CD = 'M' THEN A.TRADE ELSE C.TRADE END AS TRADE , CASE WHEN A.FCTY_CD = 'M' THEN A.TRADE ELSE C.TRADE END AS TRADE
, CASE WHEN A.FCTY_CD = 'M' THEN A.COMBLD_NM ELSE C.COMBLD_NM END AS COMBLD_NM , CASE WHEN A.FCTY_CD = 'M' THEN A.COMBLD_NM ELSE C.COMBLD_NM END AS COMBLD_NM
, CASE WHEN A.FCTY_CD = 'M' THEN A.TR_FEED_NM ELSE C.TR_FEED_NM END AS TR_FEED_NM , CASE WHEN A.FCTY_CD = 'M' THEN A.TR_FEED_NM ELSE C.TR_FEED_NM END AS TR_FEED_NM
@ -71,6 +75,7 @@
, ROW_NUMBER() OVER (PARTITION BY A.ERR_ID ORDER BY A.ERR_ID, C.M_METER_ID, C.ADDRESS, C.TR_FEED_NM, C.TRADE, C.COMBLD_NM, C.SV_FEED_NM, C.INST_S, C.INST_M) AS P_NUM_2 , ROW_NUMBER() OVER (PARTITION BY A.ERR_ID ORDER BY A.ERR_ID, C.M_METER_ID, C.ADDRESS, C.TR_FEED_NM, C.TRADE, C.COMBLD_NM, C.SV_FEED_NM, C.INST_S, C.INST_M) AS P_NUM_2
FROM ( FROM (
SELECT A.ERR_ID, A.WORK_STEP, A.WORK_DIV, A.FCTY_CD, A.MODEM_MAC, A.COMM_CD, TO_CHAR(A.EVENT_START_DT, 'YYYYMMDDHH24MISS') AS EVENT_START_DT, A.DEPT1, A.DEPT2, A.KDN_DEPT1, A.KDN_DEPT2, A.BUSI_DIV, A.M_COMPANY, A.ERR_TYPE1, A.ERR_TYPE2, A.GUM_DAY, TO_CHAR(A.ORDER_DT, 'YYYYMMDDHH24MISS') AS ORDER_DT, A.ORDERER_ID, TO_CHAR(A.DCU_DT, 'YYYYMMDDHH24MISS') AS DCU_DT, TO_CHAR(A.METER_DT, 'YYYYMMDDHH24MISS') AS METER_DT, TO_CHAR(A.SEVER_DT, 'YYYYMMDDHH24MISS') AS SEVER_DT, A.MEMO, A.PRE_ERR_ID, A.WORK_GP_NO, A.WD_STATE, A.METER_ID, A.EMER_YN, A.MGMT_CD, A.DESN_ST_YMD, A.LAY_YMD SELECT A.ERR_ID, A.WORK_STEP, A.WORK_DIV, A.FCTY_CD, A.MODEM_MAC, A.COMM_CD, TO_CHAR(A.EVENT_START_DT, 'YYYYMMDDHH24MISS') AS EVENT_START_DT, A.DEPT1, A.DEPT2, A.KDN_DEPT1, A.KDN_DEPT2, A.BUSI_DIV, A.M_COMPANY, A.ERR_TYPE1, A.ERR_TYPE2, A.GUM_DAY, TO_CHAR(A.ORDER_DT, 'YYYYMMDDHH24MISS') AS ORDER_DT, A.ORDERER_ID, TO_CHAR(A.DCU_DT, 'YYYYMMDDHH24MISS') AS DCU_DT, TO_CHAR(A.METER_DT, 'YYYYMMDDHH24MISS') AS METER_DT, TO_CHAR(A.SEVER_DT, 'YYYYMMDDHH24MISS') AS SEVER_DT, A.MEMO, A.PRE_ERR_ID, A.WORK_GP_NO, A.WD_STATE, A.METER_ID, A.EMER_YN, A.MGMT_CD, A.DESN_ST_YMD, A.LAY_YMD
, B.DCU_ID
, B.TRADE , B.TRADE
, (SELECT COMBLD_NM FROM T_FCTY_CS_METER_INFO WHERE M_MODEM_MAC = A.MODEM_MAC AND M_USE_YN = 'Y' AND COMBLD_NM IS NOT NULL AND ROWNUM = 1) AS COMBLD_NM , (SELECT COMBLD_NM FROM T_FCTY_CS_METER_INFO WHERE M_MODEM_MAC = A.MODEM_MAC AND M_USE_YN = 'Y' AND COMBLD_NM IS NOT NULL AND ROWNUM = 1) AS COMBLD_NM
, B.TR_FEED_NM, B.SV_FEED_NM, B.ADDRESS, B.ROAD_ADDRESS, B.INST_S, B.INST_M , B.TR_FEED_NM, B.SV_FEED_NM, B.ADDRESS, B.ROAD_ADDRESS, B.INST_S, B.INST_M
@ -78,7 +83,7 @@
, DENSE_RANK() OVER (ORDER BY A.ERR_ID) AS R_NUM , DENSE_RANK() OVER (ORDER BY A.ERR_ID) AS R_NUM
, ROW_NUMBER() OVER (PARTITION BY A.ERR_ID ORDER BY A.ERR_ID, B.MODEM_MAC, B.ADDRESS, B.TR_FEED_NM, B.TRADE, B.SV_FEED_NM, B.INST_S, B.INST_M) AS P_NUM_1 , ROW_NUMBER() OVER (PARTITION BY A.ERR_ID ORDER BY A.ERR_ID, B.MODEM_MAC, B.ADDRESS, B.TR_FEED_NM, B.TRADE, B.SV_FEED_NM, B.INST_S, B.INST_M) AS P_NUM_1
FROM T_FAC_ERR_CUR_MODEM A FROM T_FAC_ERR_CUR_MODEM A
LEFT JOIN T_FCTY_CS_MODEM_INFO B ON (A.FCTY_CD = 'M' AND A.MODEM_MAC = B.MODEM_MAC AND A.DEPT1 = B.DEPT1) LEFT JOIN T_FCTY_CS_MODEM_INFO B ON (A.MODEM_MAC = B.MODEM_MAC AND A.DEPT1 = B.DEPT1)
WHERE 1 = 1 WHERE 1 = 1
AND A.AWMS_SEND_YN = 'N' AND A.AWMS_SEND_YN = 'N'
) A ) A
@ -203,10 +208,12 @@
, NEW_DCU_MAC = #{NEW_DCU_MAC} , NEW_DCU_MAC = #{NEW_DCU_MAC}
, MOD_ID = NVL(#{MOD_ID}, 'DFXAGENT_USER') , MOD_ID = NVL(#{MOD_ID}, 'DFXAGENT_USER')
, MOD_DATE = DECODE(#{MOD_DATE}, NULL, SYSDATE, TO_DATE(#{MOD_DATE}, 'YYYYMMDDHH24MISS')) , MOD_DATE = DECODE(#{MOD_DATE}, NULL, SYSDATE, TO_DATE(#{MOD_DATE}, 'YYYYMMDDHH24MISS'))
WHERE EXISTS (SELECT ERR_ID FROM T_FAC_ERR_CUR_DCU WHERE WORK_STEP IN ('20','50') AND ERR_ID = #{ERR_ID})
; ;
UPDATE T_FAC_ERR_CUR_DCU UPDATE T_FAC_ERR_CUR_DCU
SET WORK_STEP = '50' SET WORK_STEP = '50'
WHERE ERR_ID = #{ERR_ID} WHERE ERR_ID = #{ERR_ID}
AND WORK_STEP IN ('20','50')
; ;
MERGE INTO T_MEMO MERGE INTO T_MEMO
USING DUAL ON (MEMO_DIV = 'AD' AND TARGET_ID = #{ERR_ID}) USING DUAL ON (MEMO_DIV = 'AD' AND TARGET_ID = #{ERR_ID})
@ -294,10 +301,12 @@
, WORKER3_DIV = #{WORKER3_DIV} , WORKER3_DIV = #{WORKER3_DIV}
, MOD_ID = NVL(#{MOD_ID}, 'DFXAGENT_USER') , MOD_ID = NVL(#{MOD_ID}, 'DFXAGENT_USER')
, MOD_DATE = DECODE(#{MOD_DATE}, NULL, SYSDATE, TO_DATE(#{MOD_DATE}, 'YYYYMMDDHH24MISS')) , MOD_DATE = DECODE(#{MOD_DATE}, NULL, SYSDATE, TO_DATE(#{MOD_DATE}, 'YYYYMMDDHH24MISS'))
WHERE EXISTS (SELECT ERR_ID FROM T_FAC_ERR_CUR_MODEM WHERE WORK_STEP IN ('20','50') AND ERR_ID = #{ERR_ID})
; ;
UPDATE T_FAC_ERR_CUR_MODEM UPDATE T_FAC_ERR_CUR_MODEM
SET WORK_STEP = '50' SET WORK_STEP = '50'
WHERE ERR_ID = #{ERR_ID} WHERE ERR_ID = #{ERR_ID}
AND WORK_STEP IN ('20','50')
; ;
SELECT MAX(FCTY_CD) SELECT MAX(FCTY_CD)
INTO V_FCTY_CD INTO V_FCTY_CD

@ -55,11 +55,11 @@ public class ListenerService {
String lastRoutingHostId = receiveMessageDto.getRoutingHostList().get(receiveMessageDto.getRoutingHostList().size() - 1).getHostId(); String lastRoutingHostId = receiveMessageDto.getRoutingHostList().get(receiveMessageDto.getRoutingHostList().size() - 1).getHostId();
if(receiveMessageDto.getRecipientHostId().equals(this.agentConfigReader.getAgentConfigDto().getMyHostId()) || lastRoutingHostId.equals(this.agentConfigReader.getAgentConfigDto().getMyHostId())) { if(receiveMessageDto.getRecipientHostId().equals(this.agentConfigReader.getAgentConfigDto().getMyHostId()) || lastRoutingHostId.equals(this.agentConfigReader.getAgentConfigDto().getMyHostId())) {
if(dropBoxService.isExistToday(receiveMessageDto)) { if(dropBoxService.isExistToday(receiveMessageDto)) {
ackDto = AckDto.builder().result(AckDto.ResultType.RECEIVE_FAIL).resultText("금일 전송한 메시지 중 중복된 UUID 가 존재합니다.").build(); ackDto = AckDto.builder().result(AckDto.ResultType.RECEIVE_FAIL).messageUuid(receiveMessageDto.getMessageUuid()).resultText("금일 전송한 메시지 중 중복된 UUID 가 존재합니다.").build();
} }
else { else {
dropBoxService.add(receiveMessageDto); dropBoxService.add(receiveMessageDto);
ackDto = AckDto.builder().result(AckDto.ResultType.RECEIVE_SUCCESS).build(); ackDto = AckDto.builder().result(AckDto.ResultType.RECEIVE_SUCCESS).messageUuid(receiveMessageDto.getMessageUuid()).build();
} }
} }
else { else {
@ -138,6 +138,7 @@ public class ListenerService {
AckDto ackDto; AckDto ackDto;
try { try {
ackDto = MessageUtils.toAckDto(messageJsonString); ackDto = MessageUtils.toAckDto(messageJsonString);
log.info("receiveAck: {}", ackDto);
postmanSchedulerService.makeCompleteSentMessage(ackDto); // 상대측 Dropbox 처리 결과에 따라서 보낸 메시지 결과 처리 postmanSchedulerService.makeCompleteSentMessage(ackDto); // 상대측 Dropbox 처리 결과에 따라서 보낸 메시지 결과 처리
if(agentConfigReader.isConnectedConsole()) { if(agentConfigReader.isConnectedConsole()) {
MessageUtils.announceMessageAck(this.agentConfigReader, ackDto); MessageUtils.announceMessageAck(this.agentConfigReader, ackDto);

@ -106,6 +106,7 @@ public class PostmanSchedulerService {
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public void makeCompleteSentMessage(AckDto ackDto) { public void makeCompleteSentMessage(AckDto ackDto) {
log.info("makeCompleteSentMessage ackDto: {}, this.sentMessageFileMap.containsKey: {}", ackDto, this.sentMessageFileMap.containsKey(ackDto.getMessageUuid()));
if(this.sentMessageFileMap.containsKey(ackDto.getMessageUuid())) { if(this.sentMessageFileMap.containsKey(ackDto.getMessageUuid())) {
File sentMessageFile = new File(this.sentMessageFileMap.get(ackDto.getMessageUuid())); File sentMessageFile = new File(this.sentMessageFileMap.get(ackDto.getMessageUuid()));
if(sentMessageFile.exists()) { if(sentMessageFile.exists()) {

@ -27,10 +27,10 @@ public class FileCleanerSchedulerService {
} }
public void run() { public void run() {
String processedMesssageStorageRoot = agentConfigReader.getAgentConfigDto().getDropBoxConfig().getProcessedMessageStorageRoot(); String processedMessageStorageRoot = agentConfigReader.getAgentConfigDto().getDropBoxConfig().getProcessedMessageStorageRoot();
File processedMessageStorage = new File(processedMesssageStorageRoot); File processedMessageStorage = new File(processedMessageStorageRoot);
String sentMesssageStorageRoot = agentConfigReader.getAgentConfigDto().getDropBoxConfig().getSentMessageStorageRoot(); String sentMessageStorageRoot = agentConfigReader.getAgentConfigDto().getDropBoxConfig().getSentMessageStorageRoot();
File sentMessageStorage = new File(sentMesssageStorageRoot); File sentMessageStorage = new File(sentMessageStorageRoot);
List<File> allDirectoryList = new ArrayList<>(); List<File> allDirectoryList = new ArrayList<>();
this.findDirectory(processedMessageStorage, allDirectoryList); this.findDirectory(processedMessageStorage, allDirectoryList);
this.findDirectory(sentMessageStorage, allDirectoryList); this.findDirectory(sentMessageStorage, allDirectoryList);
@ -40,18 +40,19 @@ public class FileCleanerSchedulerService {
for(int i = 0; i < toDateCount; i++) { for(int i = 0; i < toDateCount; i++) {
calendar.roll(Calendar.DATE, (i * -1)); calendar.roll(Calendar.DATE, (i * -1));
Date currentDate = calendar.getTime(); Date currentDate = calendar.getTime();
String retentionDirectoryString = processedMesssageStorageRoot + "/" + dateFormat.format(currentDate); String retentionDirectoryString1 = processedMessageStorageRoot + "/" + dateFormat.format(currentDate);
String retentionDirectoryString2 = sentMessageStorageRoot + "/" + dateFormat.format(currentDate);
Iterator<File> iterator = allDirectoryList.iterator(); Iterator<File> iterator = allDirectoryList.iterator();
while(iterator.hasNext()) { while(iterator.hasNext()) {
File file = iterator.next(); File file = iterator.next();
if(file.getAbsolutePath().contains(retentionDirectoryString)) { if(file.getAbsolutePath().contains(retentionDirectoryString1) || file.getAbsolutePath().contains(retentionDirectoryString2)) {
allDirectoryList.remove(file); allDirectoryList.remove(file);
} }
} }
} }
for(File file : allDirectoryList) { for(File file : allDirectoryList) {
if(file.exists()) { if(file.exists()) {
file.delete(); this.deleteDirectory(file);
} }
} }
} }
@ -66,4 +67,21 @@ public class FileCleanerSchedulerService {
} }
} }
private void deleteDirectory(File targetDirectory) {
File[] files = targetDirectory.listFiles();
if(files == null) {
targetDirectory.delete();
}
else {
for(File file : files) {
if(file.isFile()) {
file.delete();
}
else if(file.isDirectory() && !".".equals(file.getName()) && !"..".equals(file.getName())) {
this.deleteDirectory(file);
}
}
}
}
} }

Loading…
Cancel
Save