/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package kr.co.kihyun.service.vo;

import java.util.Date;

/**
 *
 * @author Kts
 */
public class TotReportVO {

    private String depthNo;         //문서깊이
    //moumi_tot_report테이블의 컬럼 변수
    private Long id;                //제출문서 ID
    private String acptCode;        //접수번호
    private Integer appro;          //공유 범위
    private Integer docType;        //문서 타입
    private Long currentRepoadmId;  //현재승인자 ID
    private String data;            //보고자료(입력자료제외)
    private String delType;         //삭제 유형(1/0)
    private String deptId;          //부서ID
    private String userId;          //사용자 ID(제출자ID)
    private String note;            //작성내용
    private String num;             //순번
    private Integer prss;           //진행상태
    private Integer recog;          //승인상태
    private Date regDate;           //등록/변경일자
    private Long repDocId;          //상위 집계문서 ID
    private Long downDocId;         //이첩 집계문서 ID
    private Date submitDate;        //제출일자
    private Integer tableNum;       //테이블 숫자
    private String totData;         //보고자료(입력자료)
    private Long docId;             //집계문서 ID
    private Integer type;           //타입
    private String mngCode;         //관리 코드
    private String ownerEmail;      //제출자 E-mail 주소
    private String ownerName;       //제출자 성명
    private String ownerPhone;      //제출자 전화번호
    private String acptDocCode;     //문서번호
    private String secuYn;          //보안문서 여부(Y/N)

    //추가된 변수
    private String docName;         //집계문서명
    private String docOwnerName;    //집계자
    private Date startDate;         //집계시작일
    private Date endDate;           //집계종료일
    private Integer submitLimitCnt;    //제출부서수
    private String deptName;        //부서명
    private String rtDeptName;        //부서명


    private String execCode;        //시행번호
    private Long rowNo;             //레코드행번호
    //private String docCompleteYn;   //상위집계문서종료여부
    private String docAcptType;     //집계종료방법
    private Integer docPrss;        //집계진행상태
    private Integer subDocPrss;        //집계진행상태
    private Integer completeReportCount;//집계자료의 완료된 제출자료 갯수
    private String shareDocRegId;       //2014.08.29 Add by KWON,HAN : 집계자료의 등록자 ID
    private Integer shareUserCount;     //2014.08.29 Add by KWON,HAN : 집계자료의 사용자 공유수
    private String shareUserId;         //2014.08.29 Add by KWON,HAN : 집계자료의 공유자 ID
    private String periodicalDocYn;     //정기집계 여부(Y/N)
    private Integer appendType;          //복사양식형태

    private Integer grade;             //부서정보의 등급 : 2014.10.15 Add by KWON,HAN

    public String getDepthNo() {
        return depthNo;
    }

    public void setDepthNo(String depthNo) {
        this.depthNo = depthNo;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getAcptCode() {
        return acptCode;
    }

    public void setAcptCode(String acptCode) {
        this.acptCode = acptCode;
    }

    public Integer getAppro() {
        return appro;
    }

    public void setAppro(Integer appro) {
        this.appro = appro;
    }

    public Integer getDocType() {
        return docType;
    }

    public void setDocType(Integer docType) {
        this.docType = docType;
    }

    public Long getCurrentRepoadmId() {
        return currentRepoadmId;
    }

    public void setCurrentRepoadmId(Long currentRepoadmId) {
        this.currentRepoadmId = currentRepoadmId;
    }

    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;
    }

    public String getDelType() {
        return delType;
    }

    public void setDelType(String delType) {
        this.delType = delType;
    }

    public String getDeptId() {
        return deptId;
    }

    public void setDeptId(String deptId) {
        this.deptId = deptId;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }

    public Integer getPrss() {
        return prss;
    }

    public void setPrss(Integer prss) {
        this.prss = prss;
    }

    public Integer getRecog() {
        return recog;
    }

    public void setRecog(Integer recog) {
        this.recog = recog;
    }

    public Date getRegDate() {
        return regDate;
    }

    public void setRegDate(Date regDate) {
        this.regDate = regDate;
    }

    public Long getRepDocId() {
        return repDocId;
    }

    public void setRepDocId(Long repDocId) {
        this.repDocId = repDocId;
    }

    public Long getDownDocId() {
        return downDocId;
    }

    public void setDownDocId(Long downDocId) {
        this.downDocId = downDocId;
    }

    public Date getSubmitDate() {
        return submitDate;
    }

    public void setSubmitDate(Date submitDate) {
        this.submitDate = submitDate;
    }

    public Integer getTableNum() {
        return tableNum;
    }

    public void setTableNum(Integer tableNum) {
        this.tableNum = tableNum;
    }

    public String getTotData() {
        return totData;
    }

    public void setTotData(String totData) {
        this.totData = totData;
    }

    public Long getDocId() {
        return docId;
    }

    public void setDocId(Long docId) {
        this.docId = docId;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getMngCode() {
        return mngCode;
    }

    public void setMngCode(String mngCode) {
        this.mngCode = mngCode;
    }

    public String getOwnerEmail() {
        return ownerEmail;
    }

    public void setOwnerEmail(String ownerEmail) {
        this.ownerEmail = ownerEmail;
    }

    public String getOwnerName() {
        return ownerName;
    }

    public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }

    public String getOwnerPhone() {
        return ownerPhone;
    }

    public void setOwnerPhone(String ownerPhone) {
        this.ownerPhone = ownerPhone;
    }

    public String getAcptDocCode() {
        return acptDocCode;
    }

    public void setAcptDocCode(String acptDocCode) {
        this.acptDocCode = acptDocCode;
    }

    public String getSecuYn() {
        return secuYn;
    }

    public void setSecuYn(String secuYn) {
        this.secuYn = secuYn;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getDocName() {
        return docName;
    }

    public void setDocName(String docName) {
        this.docName = docName;
    }

    public String getDocOwnerName() {
        return docOwnerName;
    }

    public void setDocOwnerName(String docOwnerName) {
        this.docOwnerName = docOwnerName;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Integer getSubmitLimitCnt() {
        return submitLimitCnt;
    }

    public void setSubmitLimitCnt(Integer submitLimitCnt) {
        this.submitLimitCnt = submitLimitCnt;
    }

    public String getExecCode() {
        return execCode;
    }

    public void setExecCode(String execCode) {
        this.execCode = execCode;
    }

    public Long getRowNo() {
        return rowNo;
    }

    public void setRowNo(Long rowNo) {
        this.rowNo = rowNo;
    }

//    public String getDocCompleteYn() {
//        return docCompleteYn;
//    }
//
//    public void setDocCompleteYn(String docCompleteYn) {
//        this.docCompleteYn = docCompleteYn;
//    }

    public String getDocAcptType() {
        return docAcptType;
    }

    public void setDocAcptType(String docAcptType) {
        this.docAcptType = docAcptType;
    }

    public Integer getDocPrss() {
        return docPrss;
    }

    public void setDocPrss(Integer docPrss) {
        this.docPrss = docPrss;
    }

    public Integer getSubDocPrss() {
		return subDocPrss;
	}

	public void setSubDocPrss(Integer subDocPrss) {
		this.subDocPrss = subDocPrss;
	}

	public Integer getCompleteReportCount() {
        return completeReportCount;
    }

    public void setCompleteReportCount(Integer completeReportCount) {
        this.completeReportCount = completeReportCount;
    }



    //2014.08.29 Add by KWON,HAN : 집계자료의 등록자 ID
    public String getShareDocRegId() {
        return shareDocRegId;
    }
    public void setShareDocRegId(String shareDocRegId) {
        this.shareDocRegId = shareDocRegId;
    }
    //2014.08.29 Add by KWON,HAN : 집계자료의 사용자 공유수
    public Integer getShareUserCount() {
        return shareUserCount;
    }
    public void setShareUserCount(Integer shareUserCount) {
        this.shareUserCount = shareUserCount;
    }

    //2014.08.29 Add by KWON,HAN : 집계자료의 공유자 ID
    public String getShareUserId() {
        return shareUserId;
    }

    public void setShareUserId(String shareUserId) {
        this.shareUserId = shareUserId;
    }

    //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    public String getPeriodicalDocYn() {
        return periodicalDocYn;
    }

    public void setPeriodicalDocYn(String periodicalDocYn) {
        this.periodicalDocYn = periodicalDocYn;
    }

    public boolean isPeriodicalDoc() {
        return this.getPeriodicalDocYn().equals("Y");
    }

    public Integer getAppendType() {
        return appendType;
    }

    public void setAppendType(Integer appendType) {
        this.appendType = appendType;
    }

    public boolean isDocCollection() {
        //0.서식+파일, 1.파일, 2.서식함활용, 3.서식복사(시스템서식)
        return this.getAppendType() == 0 || this.getAppendType() == 2 || this.getAppendType() == 3;
    }

    public boolean isSecure() {
        return this.getSecuYn().equals("Y");
    }
    /**
     * 집계문서에 대한 종료여부를 반환하는 메소드
     * @return
     */
    public boolean isDocComplete() {
        return TotDocVO.chkDocComplete(docAcptType, docPrss, endDate, submitLimitCnt, completeReportCount);
    }

    //2014.10.15 Add by KWON,HAN : 부서정보의 등급
    public Integer getGrade() {
        return grade;
    }

    public void setGrade(Integer grade) {
        this.grade = grade;
    }
    //+++++++++++++++++++++++++++++++++++++++++++
    public String getRtDeptName() {
        return rtDeptName;
    }

    public void setRtDeptName(String rtDeptName) {
        this.rtDeptName = rtDeptName;
    }
}
