knu project
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

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();"));
}
}
}