2022-12-22 17:14 재 단권화 , 단권화 스케쥴러 수정
This commit is contained in:
parent
420e0ee2a0
commit
a452a9a32a
@ -24,9 +24,11 @@ import kcc.com.cmm.service.EgovFileMngService;
|
||||
import kcc.com.cmm.service.InnorixFileService;
|
||||
import kcc.com.cmm.util.StreamDocsUtil;
|
||||
import kcc.com.utl.fcc.service.EgovStringUtil;
|
||||
import kcc.kccadr.accdnt.ars.service.AdjstReqStatusService;
|
||||
import kcc.kccadr.adjPgrMgr.cmm.service.PgrCmmService;
|
||||
import kcc.kccadr.adjPgrMgr.cmm.service.PgrCmmVO;
|
||||
import kcc.kccadr.adjst.service.AdjstReqService;
|
||||
import kcc.kccadr.advc.service.AdrHstryMgrService;
|
||||
import kcc.kccadr.cmm.KccadrPdfConversion;
|
||||
import kcc.kccadr.cmm.RestResponse;
|
||||
import kcc.kccadr.cmm.service.PdfConversionService;
|
||||
@ -57,6 +59,9 @@ public class StreamDocsController {
|
||||
@Resource(name="PdfConversionService")
|
||||
private PdfConversionService pdfConversionService;
|
||||
|
||||
@Resource(name="adrHstryMgrService")
|
||||
private AdrHstryMgrService adrHstryMgrService;
|
||||
|
||||
/** EgovPropertyService */
|
||||
@Resource(name = "InnorixFileService")
|
||||
protected InnorixFileService innorixService;
|
||||
@ -76,6 +81,12 @@ public class StreamDocsController {
|
||||
@Resource(name = "EgovFileMngService")
|
||||
private EgovFileMngService fileService;
|
||||
|
||||
@Resource(name="adjstReqStatusService")
|
||||
private AdjstReqStatusService adjstReqStatusService;
|
||||
|
||||
//암복호화 유틸
|
||||
@Resource(name = "EgovFileMngService")
|
||||
EgovFileMngService egovFileMngService;
|
||||
|
||||
private static String pdfMakepathOut; //c:/usr/local/tomcat/file/sht/out
|
||||
@Value("#{globalSettings['Globals.pdf.makepath.out']}")
|
||||
@ -131,14 +142,12 @@ public class StreamDocsController {
|
||||
*/
|
||||
@RequestMapping(value = {"/kccadr/common/regStreamDocsAjax.do"}, method = RequestMethod.POST)
|
||||
public ResponseEntity<RestResponse> regStreamDocsAjax(@RequestBody PdfConversionVO pdfConversionVO) throws Exception {
|
||||
|
||||
|
||||
PdfConversionVO tmpPdfConversionVO = pdfConversionService.selectConversionPdf(pdfConversionVO);
|
||||
|
||||
//PdfConversionVO tmpPdfConversionVO = pdfConversionService.selectConversionPdf(pdfConversionVO);
|
||||
|
||||
try {
|
||||
// make 파일 경로
|
||||
String filePath = pdfMakepathOut + tmpPdfConversionVO.getAdrSeq() +"/result/bookmark.pdf";
|
||||
//String filePath = pdfMakepathOut + tmpPdfConversionVO.getAdrSeq() +"/result/bookmark.pdf";
|
||||
String filePath = pdfMakepathOut + pdfConversionVO.getAdrSeq() +"/result/bookmark.pdf";
|
||||
|
||||
// pdf 파일 등록
|
||||
HttpResponse<String> responseInfo = StreamDocsUtil.regPdfDoc(filePath, streamdocsURL);
|
||||
@ -150,7 +159,7 @@ public class StreamDocsController {
|
||||
}
|
||||
|
||||
// 실패 시 return value
|
||||
return ResponseEntity.ok(new RestResponse(HttpStatus.BAD_REQUEST, "pdf 로드에 실패하였습니다.", LocalDateTime.now()));
|
||||
return ResponseEntity.ok(new RestResponse(HttpStatus.BAD_REQUEST, "pdf 로드에 실패하였습니다.\n단권화 파일이 없습니다.", LocalDateTime.now()));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -235,10 +244,20 @@ public class StreamDocsController {
|
||||
public ResponseEntity<RestResponse> remakeStreamDocPdfAjax(
|
||||
@RequestBody PdfConversionVO pdfConversionVO
|
||||
) throws Exception {
|
||||
|
||||
|
||||
KccadrPdfConversion kpc = new KccadrPdfConversion();
|
||||
kpc.newPdfConversionPrcs(pdfConversionVO.getAdrSeq());
|
||||
try {
|
||||
KccadrPdfConversion kpc = new KccadrPdfConversion();
|
||||
String s_result = kpc.newPdfConversionPrcs(
|
||||
pdfConversionVO.getAdrSeq()
|
||||
, adjstReqStatusService
|
||||
, egovFileMngService
|
||||
, pdfConversionService
|
||||
, adrHstryMgrService
|
||||
);
|
||||
}catch(Exception ex) {
|
||||
return ResponseEntity.ok(new RestResponse(HttpStatus.EXPECTATION_FAILED, "생성 중 오류가 발생하였습니다.", LocalDateTime.now()));
|
||||
}
|
||||
|
||||
|
||||
return ResponseEntity.ok(new RestResponse(HttpStatus.OK, "등록 되었습니다.", LocalDateTime.now()));
|
||||
}
|
||||
|
||||
@ -55,6 +55,8 @@ public class AdrHstryMgrVO extends ComDefaultVO implements Serializable {
|
||||
|
||||
private String userNm;
|
||||
|
||||
private String isRemake; //재단권화 쿼리 필터 여부 - Y
|
||||
|
||||
public String getAdrSeq() {
|
||||
return adrSeq;
|
||||
}
|
||||
@ -217,5 +219,11 @@ public class AdrHstryMgrVO extends ComDefaultVO implements Serializable {
|
||||
}
|
||||
public void setUserNm(String userNm) {
|
||||
this.userNm = userNm;
|
||||
}
|
||||
public String getIsRemake() {
|
||||
return isRemake;
|
||||
}
|
||||
public void setIsRemake(String isRemake) {
|
||||
this.isRemake = isRemake;
|
||||
}
|
||||
}
|
||||
|
||||
@ -34,6 +34,8 @@ import kcc.com.cmm.service.FileVO;
|
||||
import kcc.kccadr.accdnt.ars.service.AdjstReqStatusService;
|
||||
import kcc.kccadr.accdnt.ars.service.AdjstReqStatusVO;
|
||||
import kcc.kccadr.adjst.service.AdjstReqService;
|
||||
import kcc.kccadr.advc.service.AdrHstryMgrService;
|
||||
import kcc.kccadr.advc.service.AdrHstryMgrVO;
|
||||
import kcc.kccadr.cmm.service.PdfConversionService;
|
||||
import kcc.kccadr.cmm.service.PdfConversionVO;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
@ -63,6 +65,10 @@ public class KccadrPdfConversion extends EgovAbstractServiceImpl {
|
||||
@Resource(name="PdfConversionService")
|
||||
private PdfConversionService pdfConversionService;
|
||||
|
||||
@Resource(name="adrHstryMgrService")
|
||||
private AdrHstryMgrService adrHstryMgrService;
|
||||
|
||||
|
||||
//pdf 변환 서버 관련 설정
|
||||
private static String pdfServerUrl; //192.168.0.200
|
||||
@Value("#{globalSettings['Globals.pdf.serverUrl']}")
|
||||
@ -148,10 +154,12 @@ public class KccadrPdfConversion extends EgovAbstractServiceImpl {
|
||||
|
||||
//2. (adr_pdf_batch)테이블의 is_pdf_tran이 'N'이고 pdf_tran_cnt이 5 이하인 조정사건의 adrseq select limit 5 -> PdfConversionVO
|
||||
pdfConversionVOList = pdfConversionService.selectConversionPdfList();
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
|
||||
|
||||
|
||||
//3. for문을 통해 pdf 변환
|
||||
int cnt = 1;
|
||||
@ -164,8 +172,18 @@ public class KccadrPdfConversion extends EgovAbstractServiceImpl {
|
||||
//update service 호출
|
||||
pdfConversionService.updateIsProcessing(tmpUpdateVO);
|
||||
|
||||
String result = pdfTranCall(tmpPdfConversionVO.getAdrSeq());
|
||||
|
||||
//old batch 스케쥴러
|
||||
//String result = pdfTranCall(tmpPdfConversionVO.getAdrSeq());
|
||||
|
||||
//고도화 배치 스케쥴러
|
||||
String result = this.newPdfConversionPrcs(
|
||||
tmpPdfConversionVO.getAdrSeq()
|
||||
, adjstReqStatusService
|
||||
, egovFileMngService
|
||||
, pdfConversionService
|
||||
, adrHstryMgrService
|
||||
);
|
||||
|
||||
if("success".equals(result)) {
|
||||
System.out.println("Success!!!");
|
||||
} else if("tranFail".equals(result)) {
|
||||
@ -204,15 +222,29 @@ public class KccadrPdfConversion extends EgovAbstractServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
public void newPdfConversionPrcs(
|
||||
public String newPdfConversionPrcs(
|
||||
String p_adrSeq
|
||||
) {
|
||||
, AdjstReqStatusService p_adjstReqStatusService
|
||||
, EgovFileMngService p_egovFileMngService
|
||||
, PdfConversionService p_pdfConversionService
|
||||
, AdrHstryMgrService p_adrHstryMgrService
|
||||
) {
|
||||
String s_ret = "";
|
||||
|
||||
try {
|
||||
this.newPdfTranCall(p_adrSeq);
|
||||
s_ret = this.newPdfTranCall(
|
||||
p_adrSeq
|
||||
, p_adjstReqStatusService
|
||||
, p_egovFileMngService
|
||||
, p_pdfConversionService
|
||||
, p_adrHstryMgrService
|
||||
);
|
||||
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
|
||||
return s_ret;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@ -862,7 +894,13 @@ public class KccadrPdfConversion extends EgovAbstractServiceImpl {
|
||||
* @throws ParseException
|
||||
* @throws InterruptedException
|
||||
*/
|
||||
private String newPdfTranCall(String adrSeq)
|
||||
private String newPdfTranCall(
|
||||
String p_adrSeq
|
||||
, AdjstReqStatusService p_adjstReqStatusService
|
||||
, EgovFileMngService p_egovFileMngService
|
||||
, PdfConversionService p_pdfConversionService
|
||||
, AdrHstryMgrService p_adrHstryMgrService
|
||||
)
|
||||
throws UnirestException, ParseException, InterruptedException {
|
||||
|
||||
boolean isSuccess = false; // 전체 성공여부
|
||||
@ -875,14 +913,15 @@ public class KccadrPdfConversion extends EgovAbstractServiceImpl {
|
||||
String pdfGatewayStatusUrl = "http://" + pdfServerUrl + ":8888/pdf-gateway/api/task/status"; // Pdf Gateway 상태 URL
|
||||
/*String bookmarkUri = "file:/c:/Temp/Result/Last/pdf200_Bookmark.pdf"; // 북마크 후 파일명 */
|
||||
|
||||
String conversionBeforeUri = pdfMakepathOut + adrSeq + "/conversionbefore/"; //pdf 변환 작업 전 파일경로
|
||||
String ozfileUri = pdfMakepathOut + adrSeq + "/ozFile/"; // oz파일 export uri
|
||||
String conversionBeforeUri = pdfMakepathOut + p_adrSeq + "/conversionbefore/"; //pdf 변환 작업 전 파일경로
|
||||
String ozfileUri = pdfMakepathOut + p_adrSeq + "/ozFile/"; // oz파일 export uri
|
||||
|
||||
String conversionPdfUri = pdfFilepathOut + adrSeq + "/conversionafter/"; // pdf 변환 작업 후 파일경로
|
||||
String bookmarkUri = pdfFilepathOut + adrSeq +"/result/bookmark.pdf"; // 북마크 후 파일명
|
||||
String conversionPdfUri = pdfFilepathOut + p_adrSeq + "/conversionafter/"; // pdf 변환 작업 후 파일경로
|
||||
String bookmarkUri = pdfFilepathOut + p_adrSeq +"/result/bookmark.pdf"; // 북마크 후 파일명
|
||||
|
||||
int conversionNo = 0; //pdf 변환 파일명 순번
|
||||
|
||||
|
||||
System.out.println("====newPdfTranCall====");
|
||||
System.out.println("");
|
||||
System.out.println("pdfGatewayBuildUrl");
|
||||
@ -909,7 +948,15 @@ public class KccadrPdfConversion extends EgovAbstractServiceImpl {
|
||||
System.out.println(bookmarkUri);
|
||||
|
||||
|
||||
//step1.이력 테이블에서 해당 조정의 진행 정보를 가져온다.
|
||||
AdrHstryMgrVO adrHstryMgrVO = new AdrHstryMgrVO();
|
||||
adrHstryMgrVO.setAdrSeq(p_adrSeq);
|
||||
adrHstryMgrVO.setIsRemake("Y"); //remake 대상만 가져오기
|
||||
|
||||
List<AdrHstryMgrVO> adrHstryMgrVOList = p_adrHstryMgrService.selectList(adrHstryMgrVO);
|
||||
|
||||
|
||||
//step2.
|
||||
//오즈리포트 export된 파일 -> conversionbefore폴더로 이동
|
||||
File ozFile = new File(ozfileUri);
|
||||
//폴더가 없다면 생성
|
||||
@ -923,6 +970,13 @@ public class KccadrPdfConversion extends EgovAbstractServiceImpl {
|
||||
destFile.mkdirs();
|
||||
}
|
||||
|
||||
|
||||
//step3.진행된 oz pdf 변환 파일을 배열에 넣는다.
|
||||
// 1. 변환할 문서 불러오기
|
||||
List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();
|
||||
Map<String, Object> map = new HashMap<String, Object>();
|
||||
|
||||
|
||||
if(ozFileList.length > 0) {
|
||||
for(File tmpFile : ozFileList) {
|
||||
conversionNo++; //변환 후 파일명 순번
|
||||
@ -933,17 +987,175 @@ public class KccadrPdfConversion extends EgovAbstractServiceImpl {
|
||||
String fileExt = fileNm.substring(fileNm.lastIndexOf("."));
|
||||
File toDestFile = new File(conversionBeforeUri + conversionNo + fileExt);
|
||||
|
||||
|
||||
FileUtils.copyFile(fromFile, toDestFile);
|
||||
|
||||
//System.out.println();
|
||||
|
||||
//해당 파일이 대상 파일인지 이력 테이블 정보로 확인 한다.
|
||||
String s_isUse = "N";
|
||||
|
||||
//실제 처리된 파일만 작업한다.
|
||||
if (fileNm.indexOf("A250")>-1) {
|
||||
s_isUse = "Y";
|
||||
}else {
|
||||
for(AdrHstryMgrVO f_adrHstryMgrVO : adrHstryMgrVOList) {
|
||||
if (fileNm.indexOf(f_adrHstryMgrVO.getMenuId())>-1) {
|
||||
s_isUse = "Y";
|
||||
System.out.println("2.conversionBeforeUri + conversionNo + fileExt");
|
||||
System.out.println(conversionBeforeUri + fileNm);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//대상 파일이 맞으면 진행상황에 맞는 북마크 이름을 매칭하고, 배열에 저장한다.
|
||||
if ("Y".equals(s_isUse)) {
|
||||
|
||||
String s_bookmakrNm = fileNm.substring(0, tmpFile.getName().lastIndexOf("."));
|
||||
|
||||
switch(s_bookmakrNm) {
|
||||
case"201050":
|
||||
s_bookmakrNm="조정신청서";
|
||||
break;
|
||||
|
||||
case"205050":
|
||||
s_bookmakrNm="기일통지서";
|
||||
break;
|
||||
|
||||
case"302050":
|
||||
s_bookmakrNm="기일조서";
|
||||
break;
|
||||
|
||||
case"304050":
|
||||
s_bookmakrNm="조정조서";
|
||||
break;
|
||||
|
||||
case"307050":
|
||||
s_bookmakrNm="불성립 종결 통보서";
|
||||
break;
|
||||
|
||||
case"306050":
|
||||
s_bookmakrNm="직권조정결정서";
|
||||
break;
|
||||
|
||||
case"A500":
|
||||
s_bookmakrNm="확정증명원";
|
||||
break;
|
||||
|
||||
case"305050":
|
||||
s_bookmakrNm="취하종결통보서";
|
||||
break;
|
||||
|
||||
case"303050":
|
||||
s_bookmakrNm="조정권고안";
|
||||
break;
|
||||
|
||||
case"A250":
|
||||
s_bookmakrNm="경정신청서";
|
||||
break;
|
||||
}
|
||||
|
||||
map = new HashMap<String, Object>();
|
||||
map.put("INURI", pdfFilepathOut + p_adrSeq + "/conversionbefore/" + conversionNo + fileExt); // 변환대상 파일
|
||||
map.put("OUTURI", conversionPdfUri+"conversionAfter_"+ Integer.toString(conversionNo) + ".pdf"); // 변환후 파일
|
||||
map.put("ISWEB", "0"); // 웹문서 여부
|
||||
map.put("ISEXIST", "0"); // 기존 PDF파일 존재 여부 => 기존파일일경우 INURI, OUTURI 동일
|
||||
map.put("BOOKMARKNAME", s_bookmakrNm); // 북마크에 삽입될 실제 파일명
|
||||
mapList.add(map);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//step4.첨부파일을 추가로 배열에 넣는다.
|
||||
AdjstReqStatusVO adjstReqStatusVO = new AdjstReqStatusVO();
|
||||
adjstReqStatusVO.setAdrSeq(p_adrSeq);
|
||||
/*adjstReqStatusVO.setAdrSeq("ADR_0000000000002440");*/
|
||||
List<AdjstReqStatusVO> adrFileList = p_adjstReqStatusService.selectAdjstDocs20211020List(adjstReqStatusVO);
|
||||
// /usr/local/tomcat/file/sht/
|
||||
|
||||
// if(true) {
|
||||
// return "breakpoint";
|
||||
// }
|
||||
|
||||
for(AdjstReqStatusVO tmpAdjstReqStatusVO : adrFileList) {
|
||||
if(!"0".equals(tmpAdjstReqStatusVO.getAdrDocCn2())) {
|
||||
conversionNo++; //변환 후 파일명 순번
|
||||
|
||||
//step1.파일위치 변경
|
||||
//sht => out/adrseq
|
||||
FileVO fileVO = new FileVO();
|
||||
fileVO.setAtchFileId(tmpAdjstReqStatusVO.getAtchFileId());
|
||||
fileVO.setFileSn(tmpAdjstReqStatusVO.getFileSn());
|
||||
|
||||
FileVO nfile = p_egovFileMngService.selectFileInf(fileVO);
|
||||
|
||||
//step1.copy and rename
|
||||
String s_src_file_name = nfile.streFileNm;
|
||||
String oriFileName = nfile.orignlFileNm;
|
||||
String fileExt = nfile.fileExtsn;
|
||||
//pdf 변환솔루션에서 변환가능 확장자
|
||||
//pdf, ppt, pptx, xls, xlsx, doc, docx, docm, dotx, txt, hwp, hwpx, jpg, jpe, jpeg, gif, png, bmp
|
||||
String possibleExt = "PDF,PPT,PPTX,XLS,XLSX,DOC,DOCX,DOCM,DOTX,TXT,HWP,HWPX,JPG,JPE,JPEG,GIF,PNG,BMP";
|
||||
|
||||
if(possibleExt.contains(fileExt.toUpperCase()))
|
||||
{
|
||||
File tmpSrcFile = new File(pdfMakepath + s_src_file_name);
|
||||
File tmpDestFile = new File(conversionBeforeUri + conversionNo + "." + fileExt);
|
||||
FileUtils.copyFile(tmpSrcFile, tmpDestFile);
|
||||
|
||||
map = new HashMap<String, Object>();
|
||||
map.put("INURI", pdfFilepathOut + p_adrSeq + "/conversionbefore/" + conversionNo + "." + fileExt); // 변환대상 파일
|
||||
map.put("OUTURI", conversionPdfUri+"conversionAfter_"+ Integer.toString(conversionNo) + ".pdf"); // 변환후 파일
|
||||
map.put("ISWEB", "0"); // 웹문서 여부
|
||||
map.put("ISEXIST", "0"); // 기존 PDF파일 존재 여부 => 기존파일일경우 INURI, OUTURI 동일
|
||||
map.put("BOOKMARKNAME", oriFileName); // 북마크에 삽입될 실제 파일명
|
||||
mapList.add(map);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//대상 파일 내용 확인
|
||||
for(Map<String, Object> tmpMap : mapList) {
|
||||
System.out.println("INURI : "+tmpMap.get("INURI"));
|
||||
System.out.println("OUTURI : "+tmpMap.get("OUTURI"));
|
||||
}
|
||||
|
||||
//step5.
|
||||
// 2. Pdf 문서변환 Start
|
||||
isSuccess = pdfTranStart(mapList, pdfGatewayBuildUrl, pdfGatewayStatusUrl, bookmarkUri, p_adrSeq);
|
||||
if (isSuccess == true) {
|
||||
// 성공
|
||||
// 1. DB 처리
|
||||
// Update
|
||||
// IsPdfTran = Y; (N: 미변환, Y: 변환완료)
|
||||
|
||||
// Update
|
||||
// atch_file_path(최종생성파일 저장) => bookmarkUri
|
||||
|
||||
//adrSeq + /result/
|
||||
//bookmark.pdf
|
||||
PdfConversionVO tmpPdfConversionVO = new PdfConversionVO();
|
||||
tmpPdfConversionVO.setAdrSeq(p_adrSeq);
|
||||
tmpPdfConversionVO.setAtchFilePath(pdfMakepath + p_adrSeq + "/result/bookmark.pdf");
|
||||
tmpPdfConversionVO.setIsPdfTran("Y");
|
||||
|
||||
p_pdfConversionService.updatePdfConversionSuccess(tmpPdfConversionVO);
|
||||
|
||||
result = "success";
|
||||
}
|
||||
else {
|
||||
// 실패
|
||||
// 1. DB 처리
|
||||
// Update
|
||||
// IsPdfTran = 0; (0: 미변환, 1: 변환완료)
|
||||
// PdfTranCnt = PdfTranCnt + 1; (배치시도 횟수)
|
||||
result = "tranFail";
|
||||
}
|
||||
}
|
||||
catch (Exception ex) {
|
||||
ex.printStackTrace();
|
||||
System.out.println(ex.getMessage());
|
||||
result = "exceptionFail";
|
||||
}
|
||||
|
||||
@ -195,7 +195,9 @@ public class OzSchdExportUtil {
|
||||
if(p_devServerCheckString.indexOf(p_serverNm)>-1) {
|
||||
System.out.println(p_islocal + "환경입니다.-inner");
|
||||
//저장파일 경로 - dev 서버의 경우는 oz report가linux 서버에서 작동되어 하기와 같이 경로 설정해야함(IP 불필요)
|
||||
savePath = p_ozDevPath + "/" + p_adrSeq + "/" + p_savePdfFileName;
|
||||
savePath = p_ozDevPath + "/" + p_adrSeq + "/ozFile/" + p_savePdfFileName;
|
||||
//savePath = p_ozDevPath + "\\" + p_adrSeq + "\\" + p_savePdfFileName;
|
||||
//savePath = p_ozDevPath + "/" + p_savePdfFileName;
|
||||
|
||||
//oz scheduler 개발서버
|
||||
p_ozSchedulerServerIp = p_devOzSchedulerServerIp;
|
||||
|
||||
@ -140,8 +140,17 @@
|
||||
|
||||
</isNotEmpty><isNotEmpty property="adrHstryMgrSeq">
|
||||
AND a.adr_hstry_mgr_seq = #adrHstryMgrSeq#
|
||||
|
||||
|
||||
</isNotEmpty>
|
||||
|
||||
|
||||
<isEqual prepend="AND" property="isRemake" compareValue="Y">
|
||||
|
||||
(LENGTH(a.menu_id)=6
|
||||
OR a.menu_id='A500'
|
||||
)
|
||||
|
||||
</isEqual>
|
||||
|
||||
ORDER BY a.frst_regist_pnttm
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user