CREATE OR REPLACE PROCEDURE UNIVCOOP_DEV.PROC_TABLE_TO_SERVICE
(
V_TABLE_NAME IN VARCHAR2,
SQL_DESC OUT VARCHAR2
)
IS
V_BASE_CLASS VARCHAR(20) := '';
BEGIN
SQL_DESC := '';
V_BASE_CLASS := REPLACE(INITCAP( V_TABLE_NAME ),'_','');
SQL_DESC := SQL_DESC || '/** ' || V_BASE_CLASS || 'Service 인터페이스 */' || CHR(13);
SQL_DESC := SQL_DESC || 'public interface ' || V_BASE_CLASS || 'Service extends BossDBService<' || V_BASE_CLASS || 'DtoReq, ' || V_BASE_CLASS || 'Dto' || '>' || CHR(13);
SQL_DESC := SQL_DESC || '{}' || CHR(13) || CHR(13) ;
SQL_DESC := SQL_DESC || '/** ' || V_BASE_CLASS || 'ServiceImpl 구현클래스 */' || CHR(13);
SQL_DESC := SQL_DESC || '@Primary' || CHR(13);
SQL_DESC := SQL_DESC || '@Service' || CHR(13);
SQL_DESC := SQL_DESC || 'public class ' || V_BASE_CLASS || 'Dao extends BossDBService<' || V_BASE_CLASS || 'DtoReq, ' || V_BASE_CLASS || 'Dto' || '>' || CHR(13);
SQL_DESC := SQL_DESC || '{' || CHR(13) || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || 'private final ' || V_BASE_CLASS || 'Dao;' || CHR(13) || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || 'public ' || V_BASE_CLASS || 'ServiceImpl( ' || V_BASE_CLASS || 'Dao) { this.dao = dao; }' || CHR(13) || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || '@Transactional(isolation = Isolation.READ_COMMITTED, propagation = Propagation.REQUIRED, rollbackFor = Exception.class)' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || '@Override' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || 'public List<' || V_BASE_CLASS || 'Dto> getList(' || V_BASE_CLASS || 'DtoReq req) throws Exception {' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || ' return dao.getList(req);' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || '}' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || '@Transactional(rollbackFor = Exception.class)' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || '@Override' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || 'public ApiDto insert(' || V_BASE_CLASS || 'Dto data) throws Exception {' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || ' dao.insert(data);' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || ' return BossServiceResponse.getOk();' || CHR(13);
] SQL_DESC := SQL_DESC || CHR(9) || '}' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || '' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || '@Transactional(rollbackFor = Exception.class)' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || '@Override' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || 'public ApiDto update(' || V_BASE_CLASS || 'Dto data) throws Exception {' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || ' dao.update(data);' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || ' return BossServiceResponse.getOkUpdate();' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || '}' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || '' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || '@Transactional(rollbackFor = Exception.class)' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || '@Override' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || 'public ApiDto delete(' || V_BASE_CLASS || 'DtoReq data) throws Exception {' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || ' dao.delete(data);' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || ' return BossServiceResponse.getOkDelete();' || CHR(13);
SQL_DESC := SQL_DESC || CHR(9) || '}' || CHR(13);
SQL_DESC := SQL_DESC || '}' || CHR(13) ;
END;