연계파일 단속등록 수정

master
mjkhan21 6 months ago
parent d1ac14cd3d
commit dfb9294796

@ -104,7 +104,7 @@ dirSet.onCurrentChange = (dataItem) => {
$C.$findn("dir-list").find("tbody").setCurrentRow(dataIndex); $C.$findn("dir-list").find("tbody").setCurrentRow(dataIndex);
}; };
fileSet.onDatasetChange = () => { fileSet.onDatasetChange = fileSet.onRemove = () => {
var t = $C.getGridTemplate("file-list"), var t = $C.getGridTemplate("file-list"),
trs = Apply.fromDataset.getTbody(fileSet, t.found, t.notFound, t.replacer), trs = Apply.fromDataset.getTbody(fileSet, t.found, t.notFound, t.replacer),
length = fileSet.length; length = fileSet.length;
@ -131,50 +131,81 @@ $C.getFiles = dir => {
fileSet.setData([]); fileSet.setData([]);
}; };
$C.createCrdn = () => { let cctv = {
let current = dirSet.getCurrent("item"), dir: null,
dir = current.data.name; doExempt: null,
dialog.alert({ upload: async (filenames) => {
content: current.getValue("name") + " 디렉토리의 파일로 단속을 등록하시겠습니까?", return new Promise((resolve) => {
onOK: () => {
ajax.post({ ajax.post({
url : wctx.url("/crdn/crdn05/020/upload.do"), url : wctx.url("/crdn/crdn05/020/upload.do"),
silent: true,
data : { data : {
taskSeCd: "${taskSeCd}", taskSeCd: "${taskSeCd}",
doExempt: $C.findn('doExempt').checked, doExempt: cctv.doExempt,
dirs: dir dirs: cctv.dir,
filenames: filenames.join(",")
}, },
success : (resp) => { success: resp => resolve(resp)
let content = "<ul>" + [ })
"업로드 파일수: " + resp.received, });
"분류 건수: " + resp.divided, },
"정상: " + resp.normal, request: async () => {
"메타파일 누락: " + resp.malformed, let current = dirSet.getCurrent("item"),
"", keymapper = file => {
"등록 단속건수: " + resp.success, let str = file.name,
"중복 단속건수: " + resp.duplicates pos = str.lastIndexOf("_");
] return str.substring(0, pos);
.map(str => "<li>" + str + "</li>") },
.join("") + "</ul>"; result = {
dialog.alert({ received: 0,
content: content, divided: 0,
onOK: () => {}, normal: 0,
onClose: () => $C.getFiles(dir) malformed: 0,
}); success: 0,
duplicates: 0
return; },
if (resp.saved) { bundles = getBundles(fileSet.getDataset(), keymapper);
$C.getFiles(dir);
if(resp.alertMessage) cctv.dir = current.data.name;
dialog.alert(resp.alertMessage); cctv.doExempt = $C.findn('doExempt').checked;
else
dialog.alert("등록이 완료됐습니다."); wait();
} else { for (let i = 0; i < bundles.length; ++i) {
dialog.alert(resp.failReason); let filenames = bundles[i].map(info => info.name),
} resp = await cctv.upload(filenames);
} for (let key in result) {
}); result[key] += resp[key];
}
fileSet.erase(filenames);
} }
wait(false);
let content = "<ul>" + [
"업로드 파일: " + result.received,
"처리 대상: " + result.divided,
"정상: " + result.normal,
"메타파일 누락: " + result.malformed,
"",
"단속 등록: " + result.success,
"중복 제외: " + result.duplicates
]
.map(str => "<li>" + str + "</li>")
.join("") + "</ul>";
dialog.alert({
content: content,
onOK: () => {},
onClose: () => $C.getFiles(cctv.dir)
});
}
};
$C.createCrdn = () => {
let current = dirSet.getCurrent("item"),
dir = current.data.name;
dialog.alert({
content: current.getValue("name") + " 디렉토리의 파일(들)로 단속을 등록하시겠습니까?",
onOK: () => {cctv.request();}
}); });
} }

@ -151,8 +151,76 @@ $L.clickParsedInfoList = (dataIndex) => {
uploadSet.setCurrent(dataIndex); uploadSet.setCurrent(dataIndex);
}; };
let localFiles = {
doExempt: null,
upload: async (files) => {
return new Promise((resolve) => {
upload({
url : wctx.url("/crdn/crdn05/020/upload.do"),
silent: true,
data : {
taskSeCd: "${taskSeCd}",
doExempt: localFiles.doExempt,
uploadFiles: files
},
success: resp => resolve(resp)
})
});
},
request: async () => {
let keymapper = file => {
let str = file.name,
pos = str.lastIndexOf("_");
return str.substring(0, pos);
},
result = {
received: 0,
divided: 0,
normal: 0,
malformed: 0,
success: 0,
duplicates: 0
},
bundles = getBundles(uploadSet.getDataset(), keymapper);
localFiles.doExempt = $L.findn('doExempt').checked;
$L.createCrdn = () => wait();
for (let i = 0; i < bundles.length; ++i) {
let files = bundles[i],
resp = await localFiles.upload(files);
for (let key in result) {
result[key] += resp[key];
}
uploadSet.erase(files.map(file => file.id));
}
wait(false);
let content = "<ul>" + [
"업로드 파일: " + result.received,
"처리 대상: " + result.divided,
"정상: " + result.normal,
"메타파일 누락: " + result.malformed,
"",
"단속 등록: " + result.success,
"중복 제외: " + result.duplicates
]
.map(str => "<li>" + str + "</li>")
.join("") + "</ul>";
dialog.alert({
content: content,
onOK: () => {uploadSet.clear();},
});
}
};
$L.createCrdn = () => {
dialog.alert({
content: "선택한 파일(들)로 단속을 등록하시겠습니까?",
onOK: () => {localFiles.request();}
});
<%--
upload({ upload({
url : wctx.url("/crdn/crdn05/020/upload.do"), url : wctx.url("/crdn/crdn05/020/upload.do"),
data : { data : {
@ -162,13 +230,13 @@ $L.createCrdn = () =>
}, },
success : (resp) => { success : (resp) => {
let content = "<ul>" + [ let content = "<ul>" + [
"업로드 파일: " + resp.received, "업로드 파일: " + resp.received,
"분류 건수: " + resp.divided, "처리 대상: " + resp.divided,
"정상: " + resp.normal, "정상: " + resp.normal,
"메타파일 누락: " + resp.malformed, "메타파일 누락: " + resp.malformed,
"", "",
"등록 단속건수: " + resp.success, "단속 등록: " + resp.success,
"중복 단속건수: " + resp.duplicates "중복 제외: " + resp.duplicates
] ]
.map(str => "<li>" + str + "</li>") .map(str => "<li>" + str + "</li>")
.join("") + "</ul>"; .join("") + "</ul>";
@ -190,6 +258,8 @@ $L.createCrdn = () =>
} }
} }
}); });
--%>
};
$L.deleteFile = () => { $L.deleteFile = () => {
var current = uploadSet.getCurrent(); var current = uploadSet.getCurrent();

@ -26,7 +26,7 @@ var pageName = null,
dirSet = new Dataset({ dirSet = new Dataset({
formats: {name: dateFormat} formats: {name: dateFormat}
}), }),
fileSet = new Dataset(), fileSet = new Dataset({keymapper: info => info.name}),
uploadSet = uploadSupport("input[name='uploadFiles']"); uploadSet = uploadSupport("input[name='uploadFiles']");
$(document).ready(function(){ $(document).ready(function(){
${scriptCctv} ${scriptCctv}

Loading…
Cancel
Save