====== 협업 - 메모보고 ======

===== 개요 =====

**메모보고관리**는 업무보고를 메모 전달형태로 정보를 관리하는 기능을 제공한다.

===== 설명 =====

  * **메모보고관리**는 메모보고 정보를 관리하기 위한 목적으로 메모보고 정보의 등록, 수정, 삭제, 조회, 목록조회의 기능을 수반한다.

    ① 메모보고목록조회 : 메모보고로 정의된 정보를 최근 등록 순서대로 조회하고, 그 결과 목록을 화면에 반영한다.
    ② 메모보고등록 : 메모보고정보를 등록하고, 등록 결과를 조회한다.
    ③ 메모보고수정 : 기 등록된 메모보고정보의 항목들을 수정한다.
    ④ 메모보고삭제 : 기 등록된 메모보고정보를 삭제한다.
    ⑤ 메모보고상세조회 : 등록된 메모보고정보를 조회한다. 

=== 관련소스 ===

^유형^대상소스명^비고^
|Controller|egovframework.com.cop.smt.mrm.web.EgovMemoReprtController.java|메모보고관리를 위한 controller 클래스|
|Service|egovframework.com.cop.smt.mrm.service.EgovMemoReprtService.java|메모보고관리를 위한 Service Interface|
|ServiceImpl|egovframework.com.cop.smt.mrm.service.impl.EgovMemoReprtServiceImpl.java|메모보고관리를 위한 서비스 구현 클래스|
|DAO|egovframework.com.cop.smt.mrm.service.impl.MemoReprtDAO.java|메모보고관리를 위한 데이터처리 클래스|
|Model|egovframework.com.cop.smt.mrm.service.Reportr.java|보고자 관리를 위한 Model 클래스|
|Model|egovframework.com.cop.smt.mrm.service.MemoReprt.java|메모보고관리를 위한 Model 클래스|
|VO|egovframework.com.cop.smt.mrm.service.ReportrVO.java|보고자 관리를 위한 VO 클래스|
|VO|egovframework.com.cop.smt.mrm.service.MemoReprtVO.java|메모보고관리를 위한 VO 클래스|
|JSP|/WEB-INF/jsp/egovframework/cop/smt/mrm/EgovMemoReprtDetail.jsp|등록된 메모보고를 조회하기 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/cop/smt/mrm/EgovMemoReprtList.jsp|메모보고 목록조회를 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/cop/smt/mrm/EgovMemoReprtRegist.jsp|메모보고 등록를 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/cop/smt/mrm/EgovMemoReprtUpdt.jsp|메모보고 수정를 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/cop/smt/mrm/EgovReportrList.jsp|보고자 목록조회를 위한 jsp페이지|
|JSP|/WEB-INF/jsp/egovframework/cop/smt/mrm/EgovReportrListPopup.jsp|보고자 팝업 목록조회를 위한 jsp페이지|
|Query XML|resources/egovframework/mapper/com/cop/smt/mrm/EgovMemoReprt_SQL_altibase.xml|메모보고관리를 위한 Altibase용 Query XML|
|Query XML|resources/egovframework/mapper/com/cop/smt/mrm/EgovMemoReprt_SQL_cubrid.xml|메모보고관리를 위한 Cubrid용 Query XML|
|Query XML|resources/egovframework/mapper/com/cop/smt/mrm/EgovMemoReprt_SQL_maria.xml|메모보고관리를 위한 MariaDB용 Query XML|
|Query XML|resources/egovframework/mapper/com/cop/smt/mrm/EgovMemoReprt_SQL_mysql.xml|메모보고관리를 위한 MySQL용 Query XML|
|Query XML|resources/egovframework/mapper/com/cop/smt/mrm/EgovMemoReprt_SQL_oracle.xml|메모보고관리를 위한 Oracle용 Query XML|
|Query XML|resources/egovframework/mapper/com/cop/smt/mrm/EgovMemoReprt_SQL_postgres.xml|메모보고관리를 위한 PostgreSQL용 Query XML|
|Query XML|resources/egovframework/mapper/com/cop/smt/mrm/EgovMemoReprt_SQL_tibero.xml|메모보고관리를 위한 Tibero용 Query XML|
|Validator Rule XML|resources/egovframework/validator/validator-rules.xml|Validator Rule을 정의한 XML|
|Validator XML|resources/egovframework/validator/com/cop/smt/mrm/EgovMemoReprt.xml|메모보고관리를 위한 Validator XML|
|Message properties|resources/egovframework/message/com/cop/smt/mrm/message_en.properties|메모보고관리를 위한 Message properties(영문)|
|Message properties|resources/egovframework/message/com/cop/smt/mrm/message_ko.properties|메모보고관리를 위한 Message properties(한글)|
|Idgen XML|resources/egovframework/spring/com/idgn/context-idgn-MemoReprt.xml|메모보고관리를 위한 Id생성 Idgen XML|

=== 클래스 다이어그램 ===

{{:egovframework:com:cop:smt:mrm:cdd_메모보고.png?740|}}

=== 관련테이블 ===

^테이블명^테이블명(영문)^비고^
|메모보고정보|COMTNMEMOREPRT|메모보고정보를 관리하기 위한 속성정보를 정의하고, 관리한다.|

==== ID Generation ====

=== ID Generation 관련 DDL 및 DML ===

  * ID Generation Service를 활용하기 위해서 Sequence 저장테이블인  COMTECOPSEQ에 **MEMO_REPRT** 항목을 추가해야 한다. 

<code sql>
    CREATE TABLE COMTECOPSEQ ( table_name varchar(16) NOT NULL, 
                               next_id DECIMAL(30) NOT NULL,
                               PRIMARY KEY (table_name)
    );

    INSERT INTO COMTECOPSEQ VALUES ('MEMO_REPRT','0');
</code>

=== ID Generation 환경설정(context-idgn-MemoReprt.xml) ===

<code xml>
    <bean name="egovMemoReprtIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
        <property name="dataSource" ref="egov.dataSource" />
        <property name="strategy"   ref="MemoReprtStrategy" />
        <property name="blockSize"  value="10" />
        <property name="table"      value="COMTECOPSEQ" />
        <property name="tableName"  value="MEMO_REPRT" />
    </bean>
    <bean name="MemoReprtStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl">
        <property name="prefix"     value="MR" />
        <property name="cipers"     value="4" />
        <property name="fillChar"   value="0" />
    </bean>
</code>

===== 관련화면 및 수행메뉴얼 =====

=== 메모보고 목록조회 ===

^Action^URL^Controller method^QueryID^
|조회|/cop/smt/mrm/selectMemoReprtList.do|selectMemoReprtList|"MemoReprtDAO.selectMemoReprtList"|
| | | |"MemoReprtDAO.selectMemoReprtListCnt"|

메모보고 목록은 페이지당 10건씩 조회되며 페이징은 10페이지씩 이루어진다.\\ 
검색조건은 보고서상태, 보고일자, 의견등록여부, 보고제목, 보고내용, 작성자 명에 대해서 수행된다.\\

메모보고 목록조회에서 상태필드는 보고대상자가 상세조회 누르면 확인상태로 변경되고,\\
보고자는 메모보고내용을 수정/삭제 못한다.\\
의견필드는 보고대상자가 메모보고를 확인 후 의견을 기재시 등록으로 변경된다.\\

{{:egovframework:com:v3.9:cop:smt:mrm:list.png|}}

조회 : 기 등록된 메모보고의 목록을 조회한다.\\
등록 : 신규 메모보고를 등록하기 위해서는 상단의 등록 버튼을 통해서 **메모보고 등록** 화면으로 이동한다.\\
보고제목클릭 : 해당 **메모보고 상세조회** 화면으로 이동한다.\\
----

=== 메모보고 등록 ===

^Action^URL^Controller method^QueryID^
|등록|/cop/smt/mrm/addMemoReprt.do|insertMemoReprt|"MemoReprtDAO.insertMemoReprt"|

메모보고의 속성정보를 입력한 뒤 등록한다.

{{:egovframework:com:v3.9:cop:smt:mrm:insert.png|}}

저장 : 신규 메모보고를 등록하기 위해서는 메모보고 속성을 입력한 뒤 하단의 **저장 버튼**을 통해서 메모보고를 등록한다.\\
조회 : 메모보고 상세조회 화면으로 이동한다.\\
----

=== 메모보고 수정 ===

^Action^URL^Controller method^QueryID^
|수정|/cop/smt/mrm/modifyMemoReprt.do|updateMemoReprt|"MemoReprtDAO.updateMemoReprt"|

메모보고의 속성정보를 변경한 후 저장한다. 

{{:egovframework:com:v3.9:cop:smt:mrm:update.png|}}

저장 : 기 등록된 메모보고 속성을 수정한 뒤 하단의 **저장 버튼**을 통해서 메모보고를 수정한다.\\
조회 : 메모보고 상세조회 화면으로 이동한다.\\
----

=== 메모보고 상세조회 ===

^Action^URL^Controller method^QueryID^
|상세조회|/cop/smt/mrm/selectMemoReprt.do|selectMemoReprt|"MemoReprtDAO.selectMemoReprt"|
|삭제|/cop/smt/mrm/deleteMemoReprt.do|deleteMemoReprt|"MemoReprtDAO.deleteMemoReprt"|

메모보고의 속성정보를 조회한다. 

{{:egovframework:com:v3.9:cop:smt:mrm:detail.png|}}

의견등록 : 기 등록된 메모보고의 의견/지시사항을 등록한 뒤, 메모보고 목록조회 화면으로 이동한다. \\
수정 : 기 등록된 메모보고 속성을 수정한 뒤 하단의 **수정 버튼**을 통해서 메모보고수정화면으로 이동한다.\\
삭제 : 기 등록된 메모보고를 삭제한다.\\
목록 : 메모보고 목록조회 화면으로 이동한다.\\
----