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.
173 lines
6.8 KiB
173 lines
6.8 KiB
package kr.co.kihyun.beans.totsys.doc; |
|
|
|
import java.io.IOException; |
|
import java.io.PrintWriter; |
|
import java.sql.ResultSet; |
|
import java.sql.SQLException; |
|
import java.util.List; |
|
import javax.servlet.ServletException; |
|
import javax.servlet.annotation.WebServlet; |
|
import javax.servlet.http.HttpServlet; |
|
import javax.servlet.http.HttpServletRequest; |
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
import kr.co.kihyun.beans.user.HttpSSOLogin; |
|
import kr.co.kihyun.lang.Encoder; |
|
import kr.co.kihyun.lang.MLong; |
|
import kr.co.kihyun.lang.MString; |
|
import kr.co.kihyun.text.html.ServletUtil; |
|
|
|
import org.slf4j.Logger; |
|
import org.slf4j.LoggerFactory; |
|
import kr.co.kihyun.db.*; |
|
|
|
@WebServlet("/servlet/kr.co.kihyun.beans.totsys.doc.HttpDeptSetMerge") |
|
public class HttpDeptSetMerge extends HttpServlet { |
|
|
|
private static final Logger LOG = LoggerFactory.getLogger(HttpDeptSetMerge.class); |
|
|
|
@Override |
|
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { |
|
doPost(req, res); |
|
} |
|
|
|
@Override |
|
public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { |
|
res.setContentType("text/html;charset=UTF-8"); |
|
PrintWriter out = res.getWriter(); |
|
|
|
CommonDBManager db = new CommonDBManager(); |
|
ResultSet rs = null; |
|
|
|
Long docID = MLong.parseLong(req.getParameter("docID")); |
|
Long reportID = MLong.parseLong(req.getParameter("reportID")); |
|
String usedType = MString.checkNull(req.getParameter("usedType")); |
|
String deptIDs = Encoder.toJava(req.getParameter("deptIDs")); |
|
String deptIDsplit = deptIDs.replace(",", "','"); |
|
|
|
String types = Encoder.toJava(req.getParameter("types")); |
|
String return_msg = ""; |
|
try { |
|
StringBuilder sql = new StringBuilder(); |
|
|
|
sql.append(" UPDATE MOUMI_TOT_REPORT SET DEL_TYPE = 'Y' WHERE DOC_ID = '"+docID+"' \n"); |
|
System.out.println(sql.toString()); |
|
db.execUpdate(sql.toString()); |
|
// db.commit(); |
|
sql.delete(0,sql.length()); |
|
|
|
|
|
sql.append(" MERGE INTO MOUMI_TOT_REPORT AA \n") |
|
.append(" USING \n") |
|
.append(" ( \n") |
|
.append(" SELECT NVL(A.ID,B.ID) AS ID, \n") |
|
.append(" A.DEPT_ID, \n") |
|
.append(" A.DEL_TYPE \n") |
|
.append(" FROM \n") |
|
.append(" ( \n") |
|
.append(" SELECT A.ID, B.ID AS DEPT_ID, A.DEL_TYPE \n") |
|
.append(" FROM MOUMI_DEPT B LEFT OUTER JOIN MOUMI_TOT_REPORT A \n") |
|
.append(" ON A.DEPT_ID = B.ID \n") |
|
.append(" AND A.DOC_ID = '"+ docID +"' \n") |
|
.append(" WHERE 1=1 \n") |
|
.append(" AND B.ID IN ('"+ deptIDsplit +"') \n") |
|
.append(" ) A FULL OUTER JOIN \n") |
|
.append(" ( \n") |
|
.append(" SELECT A.ID, A.DEPT_ID, A.DEL_TYPE \n") |
|
.append(" FROM MOUMI_TOT_REPORT A \n") |
|
.append(" WHERE 1=1 \n") |
|
.append(" AND A.DOC_ID = '"+ docID +"' \n") |
|
.append(" ) B \n") |
|
.append(" ON A.ID = B.ID \n") |
|
.append(" ) BB \n") |
|
.append(" ON (AA.ID = BB.ID) \n") |
|
.append(" WHEN NOT MATCHED THEN \n") |
|
.append(" INSERT ( \n") |
|
.append(" AA.ID, \n") |
|
.append(" AA.ACPT_CODE, \n") |
|
.append(" AA.APPRO, \n") |
|
.append(" AA.DOC_TYPE, \n") |
|
.append(" AA.ATTACHMENTS, \n") |
|
.append(" AA.CURRENT_REPOADM_ID, \n") |
|
.append(" AA.DATA, \n") |
|
.append(" AA.DEL_TYPE, \n") |
|
.append(" AA.DEPT_ID, \n") |
|
.append(" AA.USER_ID, \n") |
|
.append(" AA.NOTE, \n") |
|
.append(" AA.NUM, \n") |
|
.append(" AA.PRSS, \n") |
|
.append(" AA.RECOG, \n") |
|
.append(" AA.REG_DATE, \n") |
|
.append(" AA.REP_DOC_ID, \n") |
|
.append(" AA.DOWN_DOC_ID, \n") |
|
.append(" AA.SUBMIT_DATE, \n") |
|
.append(" AA.TABLE_NUM, \n") |
|
.append(" AA.TOT_DATA, \n") |
|
.append(" AA.DOC_ID, \n") |
|
.append(" AA.TYPE, \n") |
|
.append(" AA.MNG_CODE, \n") |
|
.append(" AA.OWNER_EMAIL, \n") |
|
.append(" AA.OWNER_NAME, \n") |
|
.append(" AA.OWNER_PHONE, \n") |
|
.append(" AA.ACPT_DOC_CODE, \n") |
|
.append(" AA.SECU_YN, \n") |
|
.append(" AA.ATTACHMENTS_PATH, \n") |
|
.append(" AA.FILE_CHECK \n") |
|
.append(" ) \n") |
|
.append(" VALUES( \n") |
|
.append(" SQ_MOUMI.NEXTVAL , \n") |
|
.append(" '', \n") |
|
.append(" 0, \n") |
|
.append(" 0, \n") |
|
.append(" NULL, \n") |
|
.append(" '', \n") |
|
.append(" null, \n") |
|
.append(" 'N', \n") |
|
.append(" BB.DEPT_ID, \n") |
|
.append(" '', \n") |
|
.append(" null, \n") |
|
.append(" '', \n") |
|
.append(" 0, \n") |
|
.append(" 0, \n") |
|
.append(" SYSDATE , \n") |
|
.append(" '', \n") |
|
.append(" '', \n") |
|
.append(" '', \n") |
|
.append(" 1, \n") |
|
.append(" null, \n") |
|
.append(" '"+ docID +"', \n") |
|
.append(" 0, \n") |
|
.append(" '', \n") |
|
.append(" '', \n") |
|
.append(" '', \n") |
|
.append(" '', \n") |
|
.append(" '', \n") |
|
.append(" 'N', \n") |
|
.append(" '', \n") |
|
.append(" 'N' \n") |
|
.append(" ) \n") |
|
.append(" WHEN MATCHED THEN \n") |
|
.append(" UPDATE SET AA.DEL_TYPE = 'N' WHERE BB.DEPT_ID IS NOT NULL \n"); |
|
|
|
System.out.println(sql.toString()); |
|
db.execUpdate(sql.toString()); |
|
|
|
db.commit(); |
|
|
|
return_msg = "제출기관 변경이 완료되었습니다."; |
|
} catch (SQLException e) { |
|
db.rollback(); |
|
return_msg = "제출기관 변경중 오류가 발생하였습니다."; |
|
e.printStackTrace(); |
|
}catch(Exception e){ |
|
e.printStackTrace(); |
|
return_msg = "제출기관 변경중 오류가 발생하였습니다."; |
|
} finally { |
|
db.execClose(); |
|
out.println(ServletUtil.alert(return_msg)); |
|
out.println(ServletUtil.getJavaScript("window.close();")); |
|
} |
|
|
|
} |
|
|
|
}
|
|
|