You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
239 lines
8.1 KiB
239 lines
8.1 KiB
/********************************************************************************************************* |
|
* 프로그램명 : MDoc.java 프로그램설명 : 집계문서 기본정보 제공 작성자 : 강원중 작성일 : 2004.06.07 변경일 : 2004.09.16 |
|
**********************************************************************************************************/ |
|
|
|
package kr.co.kihyun.moumi.doc; |
|
|
|
import java.util.ArrayList; |
|
import java.util.Calendar; |
|
import java.util.List; |
|
|
|
import javax.servlet.http.HttpSession; |
|
|
|
import kr.co.kihyun.moumi.MoumiConfig; |
|
import kr.co.kihyun.beans.entity.TotDoc; |
|
import kr.co.kihyun.beans.entity.TotDocProcess; |
|
import kr.co.kihyun.moumi.report.MReport; |
|
|
|
public class MDoc { |
|
/******** 집계문서 그룹 ********/ |
|
/* |
|
* @Deprecated use kr.co.kihyun.beans.entity.TotDoc.Type.FORM_DOC |
|
*/ |
|
@Deprecated |
|
public final static int FORM_DOC = 1; // 양식들 |
|
/* |
|
* @Deprecated use kr.co.kihyun.beans.entity.TotDoc.Type.FORM_DOC |
|
*/ |
|
@Deprecated |
|
public final static int TOT_DOC = 2; // 문서들 |
|
|
|
/******** 문서의 기본 아이디 ********/ |
|
public final static Long DEF_TOTID = 200000001L; |
|
public final static Long DEF_FORMID = 100000001L; |
|
public final static int MAX_DOC_SIZE = 32; |
|
|
|
/******** 보고한 기관 정보 ********/ |
|
public final static String[] scope = { MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.personal"), MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.devision"), MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.all"), MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.every") }; |
|
public final static String[] scopeENG = { "per", "dept", "part", "all" }; |
|
|
|
/* |
|
* @Deprecated use kr.co.kihyun.beans.entity.TotDoc.Type.Process |
|
*/ |
|
@Deprecated |
|
public final static String[] prss = { TotDocProcess.FORM.toString(), TotDocProcess.REG.toString(), |
|
TotDocProcess.PRSS.toString(), TotDocProcess.END.toString(), TotDocProcess.CANCEL.toString(), |
|
TotDocProcess.READ.toString() }; |
|
/* |
|
* @Deprecated use kr.co.kihyun.beans.entity.TotDoc.Type.Process |
|
*/ |
|
@Deprecated |
|
public final static String[] prssENG = prss; |
|
|
|
/* |
|
* @Deprecated use kr.co.kihyun.beans.entity.TotDoc.getDelType() |
|
*/ |
|
@Deprecated |
|
public final static String[] delType = { MoumiConfig.getMessageBundle().getString("moumi.message.tot_doc.normality"), MoumiConfig.getMessageBundle().getString("moumi.message.tot_report.delete") }; |
|
/* |
|
* @Deprecated use kr.co.kihyun.beans.entity.TotDoc.getDelType() |
|
*/ |
|
@Deprecated |
|
public final static String[] delTypeENG = { "not del", "del" }; |
|
|
|
/******** 집계문서 프로세스 상수 값 ********/ |
|
/* |
|
* @Deprecated use kr.co.kihyun.beans.entity.TotDoc.Process |
|
*/ |
|
@Deprecated |
|
public final static int FORM = TotDocProcess.FORM.ordinal(); // g = 1 |
|
/* |
|
* @Deprecated use kr.co.kihyun.beans.entity.TotDoc.Process |
|
*/ |
|
@Deprecated |
|
public final static int REG = TotDocProcess.REG.ordinal(); // 등록된 집계문서 |
|
/* |
|
* @Deprecated use kr.co.kihyun.beans.entity.TotDoc.Process |
|
*/ |
|
@Deprecated |
|
public final static int PRSS = TotDocProcess.PRSS.ordinal(); // 1 //진행중 집계문서 |
|
/* |
|
* @Deprecated use kr.co.kihyun.beans.entity.TotDoc.Process |
|
*/ |
|
@Deprecated |
|
public final static int SUBMIT = TotDocProcess.SUBMIT.ordinal(); // 1 //종료된 집계문서 |
|
/* |
|
* @Deprecated use kr.co.kihyun.beans.entity.TotDoc.Process |
|
*/ |
|
@Deprecated |
|
public final static int END = TotDocProcess.END.ordinal(); // 1 //종료된 집계문서 |
|
/* |
|
* @Deprecated use kr.co.kihyun.beans.entity.TotDoc.Process |
|
*/ |
|
@Deprecated |
|
public final static int CANCLE = TotDocProcess.CANCEL.ordinal(); // 취소된 집계문서 |
|
/* |
|
* @Deprecated use kr.co.kihyun.beans.entity.TotDoc.Process |
|
*/ |
|
@Deprecated |
|
public final static int READ = TotDocProcess.READ.ordinal(); // 열람된 집계문서 |
|
/* |
|
* @Deprecated use kr.co.kihyun.beans.entity.TotDoc.Process |
|
*/ |
|
@Deprecated |
|
public final static int ALL = TotDocProcess.ALL.ordinal(); // 모든 집계문서 |
|
|
|
/******** 집계문서 삭제 타입 ********/ |
|
public static String getScope(int level) { |
|
if (level < 0 || level > scope.length - 1) { |
|
level = 2; |
|
} |
|
|
|
return scope[level]; |
|
} |
|
|
|
/***************** 집계글 등록시 양식함에두 같이 저장 *****************/ |
|
public static boolean isDoubleRegist = true; |
|
|
|
/******** 집계상태 종료 유,무 ********/ |
|
public static boolean getStatus(String endDate) { |
|
|
|
if (endDate == null || endDate.trim().equals("")) { |
|
return false; |
|
} |
|
|
|
// 현제 년, 월, 일 |
|
String currDate = ""; |
|
Calendar cl = Calendar.getInstance(); |
|
|
|
int year = cl.get(Calendar.YEAR); |
|
int month = cl.get(Calendar.MONTH) + 1; |
|
int date = cl.get(Calendar.DATE); |
|
|
|
currDate = year + ((month > 9) ? Integer.toString(month) : "0" + month) |
|
+ ((date > 9) ? Integer.toString(date) : "0" + date); |
|
|
|
// DocUtil 종료일 |
|
try { |
|
endDate = (endDate.replaceAll("-", "")).substring(0, 8); |
|
if (Integer.parseInt(currDate) > Integer.parseInt(endDate)) { |
|
return false; |
|
} else { |
|
return true; |
|
} |
|
} catch (NumberFormatException ex) { |
|
ex.printStackTrace(); |
|
System.err.println("\n\nFile name : DocUtil.java, Method: getStatus()"); |
|
System.err.println("message : " + ex); |
|
return false; |
|
} |
|
} |
|
|
|
/******** 문서 보기 접근 권한 값 ********/ |
|
public static boolean isAccess(int accAuth, String regPartID, String regDeptID, String regUserID, String partID, |
|
String deptID, String userID) { |
|
|
|
// 문서의 접근권한 값: accAuth |
|
|
|
// 문서 소유자: userID |
|
// 문서 소유자의 부서: deptID |
|
// 문서 소유자의 기관: partID |
|
|
|
// 접근자: userID |
|
// 접근자의 부서: deptID |
|
// 접근자의 기관: partID |
|
|
|
// 1) 문서 정보 |
|
// 2) 문서 등록자 정보 |
|
// 3) 접근자 정보 |
|
|
|
// 1) accAuth == 0(전체) 참이면 기관이 같냐..? |
|
// 2) accAuth == 1(부서) 참이면 부서가 같냐..? |
|
// 3) accAuth == 2(개인) 참이면 본인이냐..? |
|
|
|
if (accAuth == 0) { |
|
if (partID != null && partID.equals(regPartID)) { |
|
return true; |
|
} |
|
} else if (accAuth == 1) { |
|
if (deptID != null && deptID.equals(regDeptID)) { |
|
return true; |
|
} |
|
} else if (accAuth == 2) { |
|
if (userID != null && userID.equals(regUserID)) { |
|
return true; |
|
} |
|
} |
|
return false; |
|
} |
|
|
|
public static void initSession(HttpSession session) { |
|
/********** session내의 doc info reset **********/ |
|
session.setAttribute("docName", ""); |
|
session.setAttribute("deptIDs", ""); |
|
session.setAttribute("deptNames", ""); |
|
session.setAttribute("accAuth", ""); |
|
// session.setAttribute("tableType", ""); old |
|
session.setAttribute("stDate", ""); |
|
session.setAttribute("stTime", ""); |
|
session.setAttribute("edDate", ""); |
|
session.setAttribute("edTime", ""); |
|
} |
|
|
|
public static String getTitleForm(TotDoc totDoc, int tableNum) { |
|
// 각 제출자의 제출문서에 대한 전체 표를 위한 객체 |
|
String[] tables = MReport.geteExtractTable(totDoc.getForm()); |
|
|
|
List<List<Integer>> itemType = new ArrayList<List<Integer>>(); |
|
List<Integer> tmpArr; |
|
int count = 0; |
|
int arrayCount = 0; //+++ |
|
for (int i = 0; i < tables.length; i++) { |
|
tmpArr = new ArrayList<Integer>(); |
|
//2014.11.11 Update by KWON,HAN : 집계현황에서 1번표 선택시 검색 속도 저하 개선 |
|
//for (int y = 0; y < MReport.getArrayCount(tables[i]); y++) { |
|
// tmpArr.add(totDoc.getTotItems().get(count++).getType().ordinal()); |
|
// if (y == MReport.getArrayCount(tables[i]) - 1) |
|
// itemType.add(tmpArr); |
|
//} |
|
arrayCount = MReport.getArrayCount(tables[i]); |
|
for (int y = 0; y < arrayCount; y++) { |
|
tmpArr.add(totDoc.getTotItems().get(count++).getType().ordinal()); |
|
if (y == (arrayCount - 1)) |
|
itemType.add(tmpArr); |
|
} |
|
//============================================================== |
|
} |
|
StringBuilder titleForm = new StringBuilder(); |
|
if (tableNum != 0) { |
|
int[] tmpList = new int[itemType.get(tableNum - 1).size()]; |
|
|
|
for (int i = 0; i < itemType.get(tableNum - 1).size(); i++) |
|
tmpList[i] = itemType.get(tableNum - 1).get(i); |
|
|
|
titleForm.append(new kr.co.kihyun.moumi.doc.table.MTableAnalysis(tables[tableNum - 1], tmpList).getTitleForm()); |
|
titleForm.append("</table>"); |
|
} |
|
return titleForm.toString(); |
|
} |
|
}
|
|
|