parent
c1a053e651
commit
0b94571830
|
|
@ -3,12 +3,12 @@
|
|||
int idx = 1;
|
||||
}
|
||||
<form id="mform" method="post">
|
||||
@if (Model.CMSDs.Count() < 1)
|
||||
{
|
||||
@if (Model.CMSDs.Count() < 1)
|
||||
{
|
||||
@:*등록된 과제가 없습니다.
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
<table class="regtable" style="margin-top: 0;">
|
||||
<colgroup><col width="200" /><col /></colgroup>
|
||||
<tr>
|
||||
|
|
@ -27,17 +27,21 @@ else
|
|||
<tr class="extr hidden ex@(e.rno)"><th>평가명</th><td>@e.sdname</td></tr>
|
||||
<tr class="extr hidden ex@(e.rno)"><th>만점/조건</th><td>@string.Format("{0}점 만점 / 진도율 {1}% 이상", e.tpoint, e.sdcondition)</td></tr>
|
||||
<tr class="extr hidden ex@(e.rno)"><th>평가내용</th><td>@Html.Raw((e.sddesc ?? "").Replace(System.Environment.NewLine, "<br/>"))</td></tr>
|
||||
<tr class="extr hidden ex@(e.rno)"><th>첨부파일</th>
|
||||
<td>@Html.Partial("./Partial/File", Model.FileList.Where(w=>w.fgno == e.fgno).ToList(), new ViewDataDictionary {
|
||||
<tr class="extr hidden ex@(e.rno)">
|
||||
<th>첨부파일</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/File", Model.FileList.Where(w => w.fgno == e.fgno).ToList(), new ViewDataDictionary {
|
||||
{ "name", "fgno" },{"value", 0 },{ "fname", "file"},
|
||||
{"width", null },{"folder", "Resume" },{"filecount", 5 },
|
||||
{"readmode", 1 },{"hidemode", 0 },
|
||||
{ "isimage", 0 },{ "imageid", "" },{ "dftsrc", "" },
|
||||
{ "fileext", "" }
|
||||
})</td></tr>
|
||||
})
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
}
|
||||
}
|
||||
<br />
|
||||
<section class="panel panel-default">
|
||||
<div style="padding: 10px 10px">
|
||||
|
|
@ -66,8 +70,8 @@ else
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody class="data" id="tbody1">
|
||||
@foreach (var d in Model.LectSDs)
|
||||
{
|
||||
@foreach (var d in Model.LectSDs)
|
||||
{
|
||||
<tr data-sdno="@d.sdno" data-lectno="@d.lectno">
|
||||
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-userno="@d.userno" /></td>
|
||||
<td>@d.rnorvt</td>
|
||||
|
|
@ -81,7 +85,7 @@ else
|
|||
<td>@Html.Raw(d.submittimeip)</td>
|
||||
<td>@Html.Raw(d.checktimeip)</td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
|
@ -89,6 +93,7 @@ else
|
|||
@Html.Partial("./Partial/dform", Model)
|
||||
</form>
|
||||
<div id="thisbox" class="findbox draggable regbox" style="height: 850px; width: 800px; z-index: 1041; top: 60px; overflow: auto;">
|
||||
<form id="mform2" enctype="multipart/form-data">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">개별 과제제출 내용</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
||||
<br />
|
||||
@*<h5><i class="fa fa-bars"></i> 제목</h5>*@
|
||||
|
|
@ -103,15 +108,29 @@ else
|
|||
</tr>
|
||||
<tr>
|
||||
<th>첨부파일</th>
|
||||
<td id="fileinfo"></td>
|
||||
<td>
|
||||
<div id="fileinfoDiv" class="col-sm-8 col-md-10" style="width:100%;display:none">
|
||||
@Html.Partial("./Partial/File", null, new ViewDataDictionary {
|
||||
{ "name", "fgno" },{ "fname", "fgno"},
|
||||
{"width", null },{ "column", "fgno"},{"filecount", 1 },
|
||||
{"readmode", 0 },{"hidemode", 0 },
|
||||
{ "isimage", 0 }, { "fileext", "" }})
|
||||
</div>
|
||||
<br />
|
||||
<div id="fileinfo"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>점수</th>
|
||||
<td><input type="text" class="form-control int disp-init text-center" style="width: 70px;" max="3" id="cpoint" onchange="checkmax(this)" /></td>
|
||||
<td><input type="text" class="form-control int disp-init text-center" style="width: 70px;" max="3" id="cpoint" name="cpoint" onchange="checkmax(this)" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>피드백</th>
|
||||
<td><textarea class="form-control" id="feedb" style="resize: none; height: 250px;" maxlength="800"></textarea></td>
|
||||
<td><textarea class="form-control" id="feedb" name="feedb" style="resize: none; height: 200px;" maxlength="800"></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>참고사항</th>
|
||||
<td><textarea class="form-control" id="memo" name="memo" style="resize: none; height: 150px;" maxlength="800"></textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br /><br /><br />
|
||||
|
|
@ -122,6 +141,14 @@ else
|
|||
<a href="#" class="btn btn-default btn-xs closethisbox">닫기</a>
|
||||
</div>
|
||||
<br /><br />
|
||||
<input type="hidden" id="sdno" name="sdno" value="">
|
||||
<input type="hidden" id="lectno" name="lectno" value="">
|
||||
<input type="hidden" id="tpoint" name="tpoint" value="">
|
||||
<input type="hidden" id="ridx" name="ridx" value="">
|
||||
<input type="hidden" id="iscopyVal" name="iscopy" value="">
|
||||
<input type="hidden" id="cmno" name="cmno" value="">
|
||||
<input type="hidden" id="userno" name="userno" value="">
|
||||
</form>
|
||||
</div>
|
||||
<div id="thisbox2" class="findbox draggable regbox" style="width: 800px; z-index: 1041; top: 60px; overflow: auto;">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">일괄평가</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
||||
|
|
@ -145,16 +172,50 @@ else
|
|||
<br /><br />
|
||||
</div>
|
||||
<style type="text/css">
|
||||
td.estate0{background-color: #ffd7bb !important; color: red;}
|
||||
td a.iscopy1{background-color: red !important;}
|
||||
.tablea0{word-break: break-all; width: 100%;}
|
||||
.tablea0 tr td{text-align: center;}
|
||||
.tablea0 tr td.qi{text-align: left;}
|
||||
.regtable tr td .tablea0 tr td {padding: 6px 5px;}
|
||||
td.estate0 {
|
||||
background-color: #ffd7bb !important;
|
||||
color: red;
|
||||
}
|
||||
|
||||
td a.iscopy1 {
|
||||
background-color: red !important;
|
||||
}
|
||||
|
||||
.tablea0 {
|
||||
word-break: break-all;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.tablea0 tr td {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.tablea0 tr td.qi {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.regtable tr td .tablea0 tr td {
|
||||
padding: 6px 5px;
|
||||
}
|
||||
/*#exsummary tr td{text-align: center;}*/
|
||||
td.qi div.imgbox.active{position: fixed; left: 10%; top: 10%; height: 80%; width: 80%; z-index: 3000; background-color: #999; text-align: center;padding-top: 10%;}
|
||||
td.qi div.imgbox.active img{height: 60%; max-width: 60%;}
|
||||
td.qi div.imgbox.active {
|
||||
position: fixed;
|
||||
left: 10%;
|
||||
top: 10%;
|
||||
height: 80%;
|
||||
width: 80%;
|
||||
z-index: 3000;
|
||||
background-color: #999;
|
||||
text-align: center;
|
||||
padding-top: 10%;
|
||||
}
|
||||
|
||||
td.qi div.imgbox.active img {
|
||||
height: 60%;
|
||||
max-width: 60%;
|
||||
}
|
||||
</style>
|
||||
@Html.Partial("./Partial/FileScript")
|
||||
<script>
|
||||
var ischange = false;
|
||||
$(document).ready(function () {
|
||||
|
|
@ -162,7 +223,7 @@ else
|
|||
$("body").on("click", "td.qi div.imgbox", function () {
|
||||
$(this).toggleClass("active");
|
||||
});
|
||||
$("#cpoint,#feedb,#feedb2").on("propertychange change keyup paste input", function () {
|
||||
$("#cpoint,#feedb,#feedb2,.file_input_opacity").on("propertychange change keyup paste input", function () {
|
||||
ischange = true;
|
||||
})
|
||||
//$("#feedb,#feedb2").on("keydown", function (e) {
|
||||
|
|
@ -227,6 +288,9 @@ else
|
|||
_sdno = sdno;
|
||||
_lectno = lectno;
|
||||
_ridx = ridx;
|
||||
$("#sdno").val(sdno);
|
||||
$("#lectno").val(lectno);
|
||||
$("#ridx").val(ridx);
|
||||
capp("/acommon/lectsd", { lectno: lectno, sdno: sdno }, "cblectsd");
|
||||
}
|
||||
function cblectsd() {
|
||||
|
|
@ -239,12 +303,37 @@ else
|
|||
}
|
||||
var _html = "- 제출파일 없음<br />";
|
||||
if (getdb(d.fileurl) != "") {
|
||||
_html = "<a href=\"/aCommon/DownFile?fno={0}&loginfo=&issubject=1\" title=\"다운로드\"><i class=\"fa fa-paperclip\"></i> <span class=\"fileitem\">{1}</span></a><br />".format(d.fileno, d.orgname);
|
||||
// _html = "<a href=\"/aCommon/DownFile?fno={0}&loginfo=&issubject=1\" title=\"다운로드\"><i class=\"fa fa-paperclip\"></i> <span class=\"fileitem\">{1}</span></a><br />".format(d.fileno, d.orgname);
|
||||
_html = '<div id="file{0}div"><a href="/aCommon/DownFile?fno={0}&loginfo=&issubject=1" title="다운로드"><i class="fa fa-paperclip"></i> <span class="fileitem">{1}</span></a>'.format(d.fileno, d.orgname);
|
||||
_html += '<a href="#" style="color:red;margin-left:5px;cursor:point" onclick="fileDel(this)" data-fileno="{0}" data-filename="{1}">X</a>'.format(d.fileno, d.orgname);
|
||||
_html += '</div><br />'
|
||||
|
||||
$("#fileinfoDiv .fgno").val(d.fgno)
|
||||
$("#fileinfoDiv").css("display", "none")
|
||||
}
|
||||
else {
|
||||
$("#fileinfoDiv").css("display", "")
|
||||
}
|
||||
_html += "(모사율: {0}) ".format(d.copyratename);
|
||||
$("#fileinfo").html(_html + ("<label><input id=\"iscopy\" type=\"checkbox\" " + (d.iscopy == 1 ? "checked" : "") + " /> 모사답안신고</label>"));
|
||||
setv("userno", d.userno);
|
||||
setv("cmno", d.cmno);
|
||||
setv("cpoint", d.cpoint);
|
||||
|
||||
//$("#feedb").val(d.feedb);
|
||||
if (d.feedb != null) {
|
||||
$("#feedb").val(d.feedb);
|
||||
}
|
||||
else {
|
||||
$("#feedb").val("");
|
||||
}
|
||||
if (d.memo != null) {
|
||||
$("#memo").val(d.memo);
|
||||
}
|
||||
else {
|
||||
$("#memo").val("");
|
||||
}
|
||||
|
||||
$("#feedb").removeAttr("readonly");
|
||||
//if (getdb(d.feedb) != '') {
|
||||
// $("#feedb").attr("readonly", "readonly");
|
||||
|
|
@ -278,23 +367,39 @@ else
|
|||
msg2(getint($("#addstringval").find("option:selected").attr("data-tpoint")) + "점 이하으로 입력해주세요.");
|
||||
} else if (confirm("저장하시겠습니까?")) {
|
||||
_saveidx = idx;
|
||||
capp("/acommon/lectsdsave", { lectno: _lectno, sdno: val("addstringval"), iscopy: $("#iscopy").prop("checked") ? 1 : 0, cpoint: val("cpoint"), feedb: val("feedb") }, "cbsave", null, null, null, true);
|
||||
//capp("/acommon/lectsdsave", { lectno: _lectno, sdno: val("addstringval"), iscopy: $("#iscopy").prop("checked") ? 1 : 0, cpoint: val("cpoint"), feedb: val("feedb") }, "cbsave", null, null, null, true);
|
||||
$("#iscopyVal").val($("#iscopy").prop("checked") ? 1 : 0)
|
||||
capfileform("/acommon/lectsdsave", "mform2", "cbsave");
|
||||
}
|
||||
}
|
||||
}
|
||||
function cbsave() {
|
||||
if (capResult.code == 1000) {
|
||||
//if (_saveidx == 0) {
|
||||
// //msg2("저장했습니다.", null, null, null, true);
|
||||
// msg2("저장했습니다.");
|
||||
// viewsd(_sdno, _lectno, _ridx);
|
||||
// //submit("mform", 500);
|
||||
//} else {
|
||||
// //리스트 갱신 후 다음 또는 이전 수강생과제 표시
|
||||
// msg2("저장했습니다.", null, null, null, true);
|
||||
// setTimeout(function () {
|
||||
// hidelayermsg2(true);
|
||||
// getsds(true);
|
||||
// }, 300);
|
||||
//}
|
||||
msg2("저장했습니다.");
|
||||
$(".file_input_opacity").val("")
|
||||
$(".file_input_textbox").val("")
|
||||
|
||||
if (_saveidx == 0) {
|
||||
msg2("저장했습니다.", null, null, null, true);
|
||||
submit("mform", 500);
|
||||
} else {
|
||||
//리스트 갱신 후 다음 또는 이전 수강생과제 표시
|
||||
msg2("저장했습니다.", null, null, null, true);
|
||||
setTimeout(function () {
|
||||
hidelayermsg2(true);
|
||||
getsds(true);
|
||||
}, 300);
|
||||
viewsd(_sdno, _lectno, _ridx);
|
||||
}
|
||||
else {
|
||||
ischange = false;
|
||||
save(_saveidx)
|
||||
}
|
||||
//submit("mform", 500);
|
||||
} else {
|
||||
msgdev(true);
|
||||
}
|
||||
|
|
@ -359,5 +464,31 @@ else
|
|||
var opt = 'height=410, width=840, top=' + wint + ', left=' + winl + ',location=no, noresizable';
|
||||
window.open("http://118.219.255.225:7614/memechecker/score.html?domain=v_lectsd_list&docId="+sdno+"_"+lectno, "iscopyWin", opt);
|
||||
}
|
||||
|
||||
|
||||
var fileDivId = "";
|
||||
function fileDel(obj) {
|
||||
let fileno = $(obj).data("fileno")
|
||||
let filename = $(obj).data("filename")
|
||||
fileDivId = "file" + fileno + "div";
|
||||
let data = { "key": fileno, "fName": filename }
|
||||
if (confirm("파일을 삭제하시겠습니까?")) {
|
||||
capp("/acommon/deletefile", data, "fileDelResult");
|
||||
}
|
||||
}
|
||||
|
||||
function fileDelResult() {
|
||||
if (capOK) {
|
||||
let fileDivObj = $("#" + fileDivId)
|
||||
if (fileDivObj.length == 1) {
|
||||
fileDivObj.remove();
|
||||
$("#fileinfoDiv").css("display", "")
|
||||
viewsd(_sdno, _lectno, _ridx);
|
||||
}
|
||||
}
|
||||
else {
|
||||
msg("파일을 삭제할 수 없습니다.");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<iframe id="ifrthis" style="display: none;"></iframe>
|
||||
|
|
|
|||
|
|
@ -100,9 +100,9 @@
|
|||
</div>
|
||||
</div>
|
||||
<div id="thisbox" class="findbox draggable regbox" style="height: 850px; width: 800px; z-index: 1041; top: 60px; overflow: auto;">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">개별 과제제출 내용</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
||||
<form id="mform2" enctype="multipart/form-data">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">개별 과제제출 내용</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>@*PMS 6987관련 페이지*@
|
||||
<br />
|
||||
<input type="hidden" id="tpoint" value="" />
|
||||
<table class="regtable" id="exsummary">
|
||||
<tr>
|
||||
<th>제출자</th>
|
||||
|
|
@ -114,15 +114,29 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th>첨부파일</th>
|
||||
<td id="fileinfo"></td>
|
||||
<td>
|
||||
<div id="fileinfoDiv" class="col-sm-8 col-md-10" style="width:100%;display:none">
|
||||
@Html.Partial("./Partial/File", null, new ViewDataDictionary {
|
||||
{ "name", "fgno" },{ "fname", "fgno"},
|
||||
{"width", null },{ "column", "fgno"},{"filecount", 1 },
|
||||
{"readmode", 0 },{"hidemode", 0 },
|
||||
{ "isimage", 0 }, { "fileext", "" }})
|
||||
</div>
|
||||
<br />
|
||||
<div id="fileinfo"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>점수</th>
|
||||
<td><input type="text" class="form-control int disp-init text-center" style="width: 70px;" max="3" id="cpoint" onchange="checkmax(this)" /></td>
|
||||
<td><input type="text" class="form-control int disp-init text-center" style="width: 70px;" max="3" id="cpoint" name="cpoint" onchange="checkmax(this)" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>피드백</th>
|
||||
<td><textarea class="form-control" id="feedb" style="resize: none; height: 250px;" maxlength="800"></textarea></td>
|
||||
<td><textarea class="form-control" id="feedb" name="feedb" style="resize: none; height: 200px;" maxlength="800"></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>참고사항</th>
|
||||
<td><textarea class="form-control" id="memo" name="memo" style="resize: none; height: 150px;" maxlength="800"></textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br /><br /><br />
|
||||
|
|
@ -133,6 +147,14 @@
|
|||
<a href="#" class="btn btn-default btn-xs closethisbox">닫기</a>
|
||||
</div>
|
||||
<br /><br />
|
||||
<input type="hidden" id="sdno" name="sdno" value="">
|
||||
<input type="hidden" id="lectno" name="lectno" value="">
|
||||
<input type="hidden" id="tpoint" name="tpoint" value="">
|
||||
<input type="hidden" id="ridx" name="ridx" value="">
|
||||
<input type="hidden" id="iscopyVal" name="iscopy" value="">
|
||||
<input type="hidden" id="cmno" name="cmno" value="">
|
||||
<input type="hidden" id="userno" name="userno" value="">
|
||||
</form>
|
||||
</div>
|
||||
<style type="text/css">
|
||||
td.estate0 {
|
||||
|
|
@ -177,16 +199,23 @@
|
|||
height: 60%;
|
||||
max-width: 60%;
|
||||
}
|
||||
|
||||
.file_input_opacity {
|
||||
width: 400px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
@Html.Partial("./Partial/FileScript")
|
||||
<script>
|
||||
var ischange = false;
|
||||
$(document).ready(function () {
|
||||
$("body").on("click", "td.qi div.imgbox", function () {
|
||||
$(this).toggleClass("active");
|
||||
});
|
||||
$("#cpoint,#feedb,#feedb2").on("propertychange change keyup paste input", function () {
|
||||
$("#cpoint,#feedb,#feedb2,.file_input_opacity").on("propertychange change keyup paste input", function () {
|
||||
ischange = true;
|
||||
})
|
||||
|
||||
});
|
||||
function findme() {
|
||||
bglayer(); submit();
|
||||
|
|
@ -202,14 +231,25 @@
|
|||
}
|
||||
}
|
||||
function cblectsds() {
|
||||
var submittimeDateVal;
|
||||
var submittime = "";
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
if (capResult.obj[i].submittime != null) {
|
||||
submittimeDateVal = eval('new ' + capResult.obj[i].submittime.replaceAll('/', ''))
|
||||
submittime = submittimeDateVal.getFullYear() + ('0' + (submittimeDateVal.getMonth() + 1)).slice(-2) + ('0' + submittimeDateVal.getDate()).slice(-2);
|
||||
}
|
||||
else {
|
||||
submittime = "";
|
||||
}
|
||||
$("#tbody1").append(("<tr data-sdno=\"{8}\" data-lectno=\"{0}\" data-tpoint=\"{22}\">" +
|
||||
"<td><input type=\"checkbox\" class=\"autocheck\" value=\"{0}\" data-userno=\"{1}\" /></td>" +
|
||||
"<td>{2}</td>" +
|
||||
"<td>{16}</td>" +
|
||||
"<td>{17}</td>" +
|
||||
"<td>{18}</td>" +
|
||||
"<td>{24}</td>" +
|
||||
"<td>{5}</td>" +
|
||||
"<td>{25}</td>" +
|
||||
"<td>{19}</td>" +
|
||||
"{20}" +
|
||||
"<td class=\"estate{6}\">{7}</td>" +
|
||||
|
|
@ -218,10 +258,11 @@
|
|||
"<td><a class=\"btn btn-xxs btn-select iscopy{11}\" onclick=\"viewcopy({8}, {0},{23})\" href=\"#\">{12}</a></td>" +
|
||||
"<td>{13}</td>" +
|
||||
"<td>{14}</td>" +
|
||||
"{21}").format(d.lectno, d.userno, d.rnorvt, d.isrebatename, d.asname
|
||||
, d.usernameid, d.sdstate, d.sdstatename, d.sdno, d.cpoint2
|
||||
, d.feedbox, d.iscopy, d.copyratename, d.submittimeip, d.checktimeip, (i + 1), d.cshape == 2 ? d.sseq : '-', d.studyplacename
|
||||
, d.cname, d.leststr, d.leestr, '@(!ViewBag.IsSubAdmin96)' == 'True' ? d.scomplete : d.scomplete96, d.tpoint, d.submittime.substring(0, 10).replaceAll('-', '')));
|
||||
"{21}").format(d.lectno, d.userno, d.rnorvt, d.isrebatename, d.asname, d.userid
|
||||
, d.sdstate, d.sdstatename, d.sdno, d.cpoint2, d.feedbox
|
||||
, d.iscopy, d.copyratename, d.submittimeip, d.checktimeip, (i + 1)
|
||||
, (d.cshape == 2 ? d.sseq : '-'), (d.studyplacename == null ? "" : d.studyplacename), d.cname, d.leststr, d.leestr
|
||||
, ('@(!ViewBag.IsSubAdmin96)' == 'True' ? d.scomplete : d.scomplete96), d.tpoint, submittime, d.username, (d.mobile == null ? "" : d.mobile)));
|
||||
});
|
||||
if (_isprenext) {
|
||||
viewsd($("#tbody1 tr:eq(" + (_ridx + _saveidx - 1) + ")").attr("data-sdno"), $("#tbody1 tr:eq(" + (_ridx + _saveidx - 1) + ")").attr("data-lectno"), $("#tbody1 tr:eq(" + (_ridx + _saveidx - 1) + ")").attr("data-tpoint"), _ridx + _saveidx);
|
||||
|
|
@ -230,13 +271,17 @@
|
|||
var _sdno = 0;
|
||||
var _lectno = 0;
|
||||
var _tpoint = 0;
|
||||
var _ridx=0;
|
||||
var _ridx = 0;
|
||||
function viewsd(sdno, lectno,tpoint, ridx) {
|
||||
ischange = false;
|
||||
_sdno = sdno;
|
||||
_lectno = lectno;
|
||||
_tpoint = tpoint;
|
||||
_ridx = ridx;
|
||||
$("#sdno").val(sdno);
|
||||
$("#lectno").val(lectno);
|
||||
$("#tpoint").val(tpoint);
|
||||
$("#ridx").val(ridx);
|
||||
capp("/acommon/lectsd", { lectno: lectno, sdno: sdno }, "cblectsd");
|
||||
}
|
||||
function cblectsd() {
|
||||
|
|
@ -249,12 +294,34 @@
|
|||
}
|
||||
var _html = "- 제출파일 없음<br />";
|
||||
if (getdb(d.fileurl) != "") {
|
||||
_html = "<a href=\"/aCommon/DownFile?fno={0}&loginfo=&issubject=1\" title=\"다운로드\"><i class=\"fa fa-paperclip\"></i> <span class=\"fileitem\">{1}</span></a><br />".format(d.fileno, d.orgname);
|
||||
_html = '<div id="file{0}div"><a href="/aCommon/DownFile?fno={0}&loginfo=&issubject=1" title="다운로드"><i class="fa fa-paperclip"></i> <span class="fileitem">{1}</span></a>'.format(d.fileno, d.orgname);
|
||||
_html += '<a href="#" style="color:red;margin-left:5px;cursor:point" onclick="fileDel(this)" data-fileno="{0}" data-filename="{1}">X</a>'.format(d.fileno, d.orgname);
|
||||
_html += '</div><br />'
|
||||
|
||||
$("#fileinfoDiv .fgno").val(d.fgno)
|
||||
$("#fileinfoDiv").css("display", "none")
|
||||
}
|
||||
else {
|
||||
$("#fileinfoDiv").css("display", "")
|
||||
}
|
||||
_html += "(모사율: {0}) ".format(d.copyratename);
|
||||
$("#fileinfo").html(_html + ("<label><input id=\"iscopy\" type=\"checkbox\" " + (d.iscopy == 1 ? "checked" : "") + " /> 모사답안신고</label>"));
|
||||
setv("userno", d.userno);
|
||||
setv("cmno", d.cmno);
|
||||
setv("cpoint", d.cpoint);
|
||||
if (d.feedb != null) {
|
||||
$("#feedb").val(d.feedb);
|
||||
}
|
||||
else {
|
||||
$("#feedb").val("");
|
||||
}
|
||||
if (d.memo != null) {
|
||||
$("#memo").val(d.memo);
|
||||
}
|
||||
else {
|
||||
$("#memo").val("");
|
||||
}
|
||||
|
||||
$("#feedb").removeAttr("readonly");
|
||||
$("#tpoint").val(_tpoint);
|
||||
//if (getdb(d.feedb) != '') {
|
||||
|
|
@ -289,22 +356,37 @@
|
|||
msg2(getint($("#tpoint").val()) + "점 이하으로 입력해주세요.");
|
||||
} else if (confirm("저장하시겠습니까?")) {
|
||||
_saveidx = idx;
|
||||
capp("/acommon/lectsdsave", { lectno: _lectno, sdno: _sdno, iscopy: $("#iscopy").prop("checked") ? 1 : 0, cpoint: val("cpoint"), feedb: val("feedb") }, "cbsave", null, null, null, true);
|
||||
// capp("/acommon/lectsdsave", { lectno: _lectno, sdno: _sdno, iscopy: $("#iscopy").prop("checked") ? 1 : 0, cpoint: val("cpoint"), feedb: val("feedb"), memo: val("memo") }, "cbsave", null, null, null, true);
|
||||
$("#iscopyVal").val($("#iscopy").prop("checked") ? 1 : 0)
|
||||
capfileform("/acommon/lectsdsave", "mform2", "cbsave");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
function cbsave() {
|
||||
if (capResult.code == 1000) {
|
||||
if (_saveidx == 0) {
|
||||
//if (_saveidx == 0) {
|
||||
// msg2("저장했습니다.");
|
||||
// viewsd(_sdno, _lectno, _tpoint, _ridx);
|
||||
// //submit("mform", 500);
|
||||
//} else {
|
||||
// //리스트 갱신 후 다음 또는 이전 수강생과제 표시
|
||||
// msg2("저장했습니다.", null, null, null, true);
|
||||
// setTimeout(function () {
|
||||
// hidelayermsg2(true);
|
||||
// getsds(true);
|
||||
// }, 300);
|
||||
//}
|
||||
msg2("저장했습니다.");
|
||||
//submit("mform", 500);
|
||||
} else {
|
||||
//리스트 갱신 후 다음 또는 이전 수강생과제 표시
|
||||
msg2("저장했습니다.", null, null, null, true);
|
||||
setTimeout(function () {
|
||||
hidelayermsg2(true);
|
||||
getsds(true);
|
||||
}, 300);
|
||||
$(".file_input_opacity").val("")
|
||||
$(".file_input_textbox").val("")
|
||||
|
||||
if (_saveidx == 0) {
|
||||
viewsd(_sdno, _lectno, _ridx);
|
||||
}
|
||||
else {
|
||||
ischange = false;
|
||||
save(_saveidx)
|
||||
}
|
||||
} else {
|
||||
msgdev(true);
|
||||
|
|
@ -344,5 +426,30 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
var fileDivId = "";
|
||||
function fileDel(obj) {
|
||||
let fileno = $(obj).data("fileno")
|
||||
let filename = $(obj).data("filename")
|
||||
fileDivId = "file" + fileno + "div";
|
||||
let data = {"key" : fileno , "fName": filename }
|
||||
if (confirm("파일을 삭제하시겠습니까?")) {
|
||||
capp("/acommon/deletefile", data, "fileDelResult");
|
||||
}
|
||||
}
|
||||
|
||||
function fileDelResult() {
|
||||
if (capOK) {
|
||||
let fileDivObj = $("#" + fileDivId)
|
||||
if (fileDivObj.length == 1) {
|
||||
fileDivObj.remove();
|
||||
$("#fileinfoDiv").css("display", "")
|
||||
viewsd(_sdno, _lectno, _tpoint, _ridx);
|
||||
}
|
||||
}
|
||||
else {
|
||||
msg("파일을 삭제할 수 없습니다.");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<iframe id="ifrthis" style="display: none;"></iframe>
|
||||
|
|
|
|||
|
|
@ -55,8 +55,8 @@
|
|||
<!--<add key="talk" value="https://alimtalk-api.bizmsg.kr/v2/sender/send,?,?,?,?,?,023103312" />-->
|
||||
|
||||
<!--<add key="configpath" value="Product" />-->
|
||||
<add key="configpath" value="ProductDev" />
|
||||
<!--<add key="configpath" value="staging" />-->
|
||||
<!--<add key="configpath" value="ProductDev" />-->
|
||||
<add key="configpath" value="staging" />
|
||||
|
||||
|
||||
<add key="lgdacomConfigPath" value="D:\3rdparti\lgdacomyicte" />
|
||||
|
|
|
|||
|
|
@ -232,9 +232,9 @@ namespace NP.Base.Controllers
|
|||
/// <param name="log"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public JsonResult DeleteFile(Int64 key = 0, String fName = "", Int64 fgno = 0, int isSingleFile = 0, String log = "")
|
||||
public JsonResult DeleteFile(Int64 key = 0, String fName = "", Int64 fgno = 0, int isSingleFile = 0, String log = "", String datakey = null)
|
||||
{
|
||||
var rtn = DropFile(key, fName);
|
||||
var rtn = DropFile(key, fName, datakey);
|
||||
if (rtn < 1)
|
||||
{
|
||||
throw new System.ArgumentNullException("nodata");
|
||||
|
|
|
|||
|
|
@ -833,7 +833,9 @@ namespace NP.Base.Controllers
|
|||
pagenum = pagenum < 1 ? 1 : pagenum;
|
||||
pagerowcount = pagerowcount < 1 ? PageRowCount : pagerowcount;
|
||||
|
||||
return JsonBack(Dao.Get<LectSD>("lect.lectsds.all", new System.Collections.Hashtable() { { "estate", sdstate }, { "pagenum", pagenum }, { "pagerowsize", pagerowcount }, { "edate", edate },{"sdateall",sdateall },{"edateall",edateall }, { "cshape", cshape }, { "cname", cname }, { "cnamestr", cnamestr }, { "iscomplete", iscomplete }, { "studyplace", studyplace }, { "searchtype", searchtype }, {"searchtext",searchtext } ,{"sdtype",sdtype },{"asname",asname }, { "isproduct" + (GetConfig("isstaging") == "1" ? "x" : ""), 1 }, }));
|
||||
var result = Dao.Get<LectSD>("lect.lectsds.all", new System.Collections.Hashtable() { { "estate", sdstate }, { "pagenum", pagenum }, { "pagerowsize", pagerowcount }, { "edate", edate }, { "sdateall", sdateall }, { "edateall", edateall }, { "cshape", cshape }, { "cname", cname }, { "cnamestr", cnamestr }, { "iscomplete", iscomplete }, { "studyplace", studyplace }, { "searchtype", searchtype }, { "searchtext", searchtext }, { "sdtype", sdtype }, { "asname", asname }, { "isproduct" + (GetConfig("isstaging") == "1" ? "x" : ""), 1 }, });
|
||||
|
||||
return JsonBack(result);
|
||||
}
|
||||
/// <summary>
|
||||
/// 과제제출상세정보
|
||||
|
|
@ -856,6 +858,12 @@ namespace NP.Base.Controllers
|
|||
{
|
||||
d.uno = SUserInfo.UserNo; d.uip = GetUserIP();
|
||||
d.isproduct = GetConfig("isstaging") == "1" ? (int?)null : 1;
|
||||
if (Request.Files.GetMultiple("fgno").Where(w => !string.IsNullOrEmpty(w.FileName)).Count() > 0)
|
||||
{
|
||||
//d.fgno = SetFile(Request.Files.GetMultiple("fgno").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), d.fgno ?? 0, "lectsd", "fgno");
|
||||
d.fgno = SetFile(Request.Files.GetMultiple("fgno").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), d.fgno ?? 0, "lectsd", "fgno", 1, "XX", false, true, d.cmno, d.userno);
|
||||
}
|
||||
|
||||
return JsonOK(Dao.Save("lect.lectsd"+(d.ccount == 1 ? "2" : "")+".save" + (string.IsNullOrEmpty(d.lectnos) ? "" : "batch"), d));
|
||||
}
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -468,7 +468,7 @@ namespace NP.Base
|
|||
}
|
||||
return SetFile(fs, fgno, tablename, columnname, fseq, FGKey, false, false, 0);
|
||||
}
|
||||
protected long? SetFile(IList<System.Web.HttpPostedFileBase> upFiles, long fgno, String tablename, String columnname, int fseq = 1, String FGKey = "XX", bool iscontents = false, bool issubject = false, int cmno = 0)
|
||||
protected long? SetFile(IList<System.Web.HttpPostedFileBase> upFiles, long fgno, String tablename, String columnname, int fseq = 1, String FGKey = "XX", bool iscontents = false, bool issubject = false, int cmno = 0, long userno = 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
@ -483,7 +483,7 @@ namespace NP.Base
|
|||
var fg = Dao.Get<NP.Model.File>("sys.file.getfgnobyfgkey", FGKey).FirstOrDefault();
|
||||
fgno = fg == null ? 0 : fg.fgno;
|
||||
}
|
||||
var finfos = new NP.Model.File() { fgno = fgno, tablename = tablename, columnname = columnname, uno = SUserInfo.UserNo, uip = GetUserIP() };
|
||||
var finfos = new NP.Model.File() { fgno = fgno, tablename = tablename, columnname = columnname, uno = userno > 0 ? userno : SUserInfo.UserNo, uip = GetUserIP() };
|
||||
finfos.Files = new List<NP.Model.File>();
|
||||
var _month = DateTime.Now.ToString("yyyyMM");
|
||||
if (issubject)
|
||||
|
|
|
|||
|
|
@ -1890,7 +1890,7 @@
|
|||
select
|
||||
a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,a.studyplace,a.studyplacename,a.startmonth
|
||||
,a.remainPeople
|
||||
,a.isselected,
|
||||
,a.isselected
|
||||
,case when a.remainPeople <= 0 then 0 else 1 end isend
|
||||
from
|
||||
(
|
||||
|
|
@ -1920,7 +1920,7 @@
|
|||
select a.*
|
||||
from (
|
||||
select
|
||||
a.cmno,a.pcmno,a.cgcode
|
||||
a.cmno,a.pcmno<!--,a.cgcode-->
|
||||
,a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,a.studyplace,a.studyplacename,a.startmonth
|
||||
,a.remainPeople
|
||||
,a.isselected
|
||||
|
|
@ -1937,12 +1937,12 @@
|
|||
,a.studyplace,case when c.scdtype =1 then '온라인' else e.cname end studyplacename
|
||||
,case when date_format(d.setime,'%Y%m%d') = date_format(a.estart,'%Y%m%d') then 1 else 0 end isselected
|
||||
,c.scdtype
|
||||
,d.cmno,d.pcmno,cg.cgcode
|
||||
,d.cmno,d.pcmno<!--,cg.cgcode-->
|
||||
,d.cshape
|
||||
from cminningscd a
|
||||
left outer join cminning c on c.cmino = a.cmino
|
||||
left outer join cm d on d.cmno = c.cmno
|
||||
left outer join cg cg on d.cgno = cg.cgno
|
||||
<!--left outer join cg cg on d.cgno = cg.cgno-->
|
||||
left outer join comcode e on e.ccode = a.studyplace
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="cmno" prepend="and">c.cmno=#cmno#</isNotNull>
|
||||
|
|
@ -1965,7 +1965,7 @@
|
|||
select
|
||||
a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,a.studyplace,a.studyplacename,a.startmonth
|
||||
,a.studyplace, a.studyplacename,a.remainPeople
|
||||
,a.isselected, a.cmno,a.pcmno,a.cgcode
|
||||
,a.isselected<!--, a.cmno,a.pcmno,a.cgcode-->
|
||||
<!--211220.통합테스트목록(644) 이미지난 교육종료일 변경불가-->
|
||||
,case when a.estart < date_add(date_format(now() ,'%Y-%m-%d 00:00:00'),interval -1 second)
|
||||
<!--20220803
|
||||
|
|
@ -1976,11 +1976,11 @@
|
|||
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,month(a.estart) startmonth
|
||||
,(a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status =1 and z.ischanged=0)) remainPeople
|
||||
,a.studyplace, e.cname studyplacename
|
||||
,case when f.cmisno = a.cmisno then 1 else 0 end isselected, d.cmno,d.pcmno,cg.cgcode
|
||||
,case when f.cmisno = a.cmisno then 1 else 0 end isselected<!--, d.cmno,d.pcmno,cg.cgcode-->
|
||||
from cminningscd a
|
||||
left outer join cminning c on c.cmino = a.cmino
|
||||
left outer join cm d on d.cmno = c.cmno
|
||||
left outer join cg cg on d.cgno = cg.cgno
|
||||
<!--left outer join cg cg on d.cgno = cg.cgno-->
|
||||
left outer join comcode e on e.ccode = a.studyplace
|
||||
left outer join lect f on f.lectno = #lectno#
|
||||
<dynamic prepend="where">
|
||||
|
|
|
|||
|
|
@ -1190,42 +1190,77 @@
|
|||
left outer join cminningscd h on h.cmisno = a.cmisno
|
||||
left outer join comcode i on i.ccode = h.studyplace and i.isuse=1
|
||||
where a.status=1 and a.ischanged=0
|
||||
<isNotNull property="edate">and date_format((case when g.cshape = 2 and h.eend is not null then h.eend else a.edate end),'%Y-%m-%d') = #edate#</isNotNull>
|
||||
<isNotNull property="cshape">and g.cshape = #cshape#</isNotNull>
|
||||
<isNotNull property="edate">
|
||||
<isNotEmpty property="edate">and date_format((case when g.cshape = 2 and h.eend is not null then h.eend else a.edate end),'%Y-%m-%d') = #edate#</isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotNull property="cshape">
|
||||
<isNotEmpty property="cshape">and g.cshape = #cshape#</isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotNull property="cname">
|
||||
<isNotEmpty property="cname">and g.cname like concat('%',#cname#,'%')</isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotNull property="cnamestr">
|
||||
<isNotEmpty property="cnamestr">and g.cname like concat('%',#cname#,'%')</isNotEmpty>
|
||||
<isNotNull property="iscomplete">and ifnull(a.iscomplete,0) = #iscomplete#</isNotNull>
|
||||
<isNotNull property="studyplace">and h.studyplace = #studyplace#</isNotNull>
|
||||
<isNotNull property="usernamestr">and d.username like concat('%',#usernamestr#,'%')</isNotNull>
|
||||
<isNotNull property="useridstr">and d.userid like concat('%',#useridstr#,'%')</isNotNull>
|
||||
<isNotNull property="sdtype">and b.sdtype=#sdtype#</isNotNull>
|
||||
<isNotNull property="cmno">and a.cmno=#cmno# </isNotNull>
|
||||
<isNotNull property="isrebate">and a.isrebate=#isrebate#</isNotNull>
|
||||
</isNotNull>
|
||||
<isNotNull property="iscomplete">
|
||||
<isNotEmpty property="iscomplete">and ifnull(a.iscomplete,0) = #iscomplete#</isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotNull property="studyplace">
|
||||
<isNotEmpty property="studyplace">and h.studyplace = #studyplace#</isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotNull property="usernamestr">
|
||||
<isNotEmpty property="usernamestr">and d.username like concat('%',#usernamestr#,'%')</isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotNull property="useridstr">
|
||||
<isNotEmpty property="useridstr">and d.userid like concat('%',#useridstr#,'%')</isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotNull property="sdtype">
|
||||
<isNotEmpty property="sdtype">and b.sdtype=#sdtype#</isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotNull property="cmno">
|
||||
<isNotEmpty property="cmno">and a.cmno=#cmno# </isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotNull property="isrebate">
|
||||
<isNotEmpty property="isrebate">and a.isrebate=#isrebate#</isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotNull property="sdstate">
|
||||
<isNotEmpty property="sdstate">
|
||||
<isEqual property="sdstate" compareValue="0">and c.submittime is null</isEqual>
|
||||
<isEqual property="sdstate" compareValue="1">and c.submittime is not null</isEqual>
|
||||
</isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotEmpty property="searchtype">
|
||||
<isNotNull property="searchtext">
|
||||
<isNotEmpty property="searchtext">
|
||||
<isEqual property="searchtype" compareValue="usernamestr">and d.username like concat('%',#searchtext#,'%')</isEqual>
|
||||
<isEqual property="searchtype" compareValue="useridstr">and d.userid like concat('%',#searchtext#,'%')</isEqual>
|
||||
</isNotEmpty>
|
||||
</isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotNull property="sdateall">
|
||||
<isNotEmpty property="sdateall">and (case when g.cshape = 0 and a.isrebate = 0 then p.payoktime else a.sdate end) >= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotNull property="edateall">
|
||||
<isNotEmpty property="edateall">and (case when g.cshape = 2 then h.eend else a.edate end) <= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
|
||||
<isNotNull property="asname">and e.asname like concat('%',#asname#,'%')</isNotNull>
|
||||
<isNotNull property="mobile">and cast(AES_DECRYPT(UNHEX(d.mobile), 'np123@!' ) as char) like concat('%',#mobile#,'%')</isNotNull>
|
||||
<isNotNull property="ustatus">and d.status = #ustatus#</isNotNull>
|
||||
</isNotNull>
|
||||
<isNotNull property="asname">
|
||||
<isNotEmpty property="asname">and e.asname like concat('%',#asname#,'%')</isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotNull property="mobile">
|
||||
<isNotEmpty property="mobile">and cast(AES_DECRYPT(UNHEX(d.mobile), 'np123@!' ) as char) like concat('%',#mobile#,'%')</isNotEmpty>
|
||||
</isNotNull>
|
||||
<isNotNull property="ustatus">
|
||||
<isNotEmpty property="ustatus">and d.status = #ustatus#</isNotEmpty>
|
||||
</isNotNull>
|
||||
|
||||
) a
|
||||
<include refid="sql.pagedynamic"></include>
|
||||
order by rno
|
||||
</select>
|
||||
<select id="lect.lectsd" parameterClass="hashtable" resultClass="lectsd">
|
||||
select a.sdno,a.tpoint sdtpoint
|
||||
,b.lectno,b.atext,b.fgno<isNotNull property="isproduct">,round((g.MAX_SCORE/100)) copyrate</isNotNull>,b.iscopy,b.cpoint,b.feedb,b.submittime,b.checktime
|
||||
,c.userno,c.username,c.userid
|
||||
,d.asname
|
||||
,f.fileno,f.orgname,f.fileurl
|
||||
,b.lectno,b.atext,b.fgno<isNotNull property="isproduct">,round((g.MAX_SCORE/100)) copyrate</isNotNull>
|
||||
<!--,b.iscopy,b.cpoint,b.feedb, b.comment,b.submittime,b.checktime,c.userno,c.username-->
|
||||
,b.iscopy,b.cpoint,b.feedb, b.memo,b.submittime,b.checktime,c.userno,c.username
|
||||
,c.userid,d.asname,f.fileno,f.orgname,f.fileurl, b2.cmno
|
||||
from cmsd a
|
||||
inner join lect b2 on b2.lectno=#lectno#
|
||||
inner join users c on c.userno=b2.userno
|
||||
|
|
@ -1239,12 +1274,14 @@
|
|||
update lectsd set <include refid="sql.up"></include>
|
||||
,iscopy=#iscopy#,cpoint=#cpoint#
|
||||
,feedb=#feedb#
|
||||
,memo=#memo#
|
||||
,checktime=case when #cpoint# is not null or #feedb# is not null then now() else checktime end
|
||||
,checkip=case when #cpoint# is not null or #feedb# is not null then #uip# else checkip end
|
||||
,fgno=#fgno#
|
||||
where lectno=#lectno# and sdno=#sdno#;
|
||||
|
||||
insert into lectsd (lectno,sdno,atext,fgno,copyrate,iscopy,cpoint,feedb,submittime,submitip,checktime,checkip,<include refid="sql.inc"></include>)
|
||||
select #lectno#,#sdno#,null,null,null,#iscopy#,#cpoint#,#feedb#,null,null
|
||||
insert into lectsd (lectno,sdno,atext,fgno,copyrate,iscopy,cpoint,feedb,memo,submittime,submitip,checktime,checkip,<include refid="sql.inc"></include>)
|
||||
select #lectno#,#sdno#,null,#fgno#,null,#iscopy#,#cpoint#,#feedb#,#memo#,null,null
|
||||
,case when #cpoint# is not null or #feedb# is not null then now() else null end
|
||||
,case when #cpoint# is not null or #feedb# is not null then #uip# else null end
|
||||
,<include refid="sql.inv"></include>
|
||||
|
|
|
|||
|
|
@ -185,7 +185,8 @@
|
|||
,e.asname
|
||||
,c.bmno,c.bmname,c.isuseopening,c.isreply
|
||||
,f.opname
|
||||
,b.bno,b.pbno,b.subject,b.istop,b.issecr,b.cdt,d.username cnoname,b.rcount,b.fgno,b.fgnothumb,b.cmno
|
||||
<!--,b.bno,b.pbno,b.subject,b.istop,b.issecr,b.cdt,d.username cnoname,b.rcount,b.fgno,b.fgnothumb,b.cmno-->
|
||||
,b.bno,b.pbno,b.subject,b.istop,b.issecr,b.cdt,d.username cnoname,d.userid cnoid, b.rcount,b.fgno,b.fgnothumb,b.cmno
|
||||
,g.cname,g.classno
|
||||
,h.tyear,h.tseq
|
||||
from (
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<property name="TopMenuNo" value="2" />
|
||||
<property name="PageRowCount" value="10" />
|
||||
<property name="MainSubDomain" value="www" />
|
||||
<property name="IsDupCheck" value="1" />
|
||||
<property name="IsDupCheck" value="0" />
|
||||
</object>
|
||||
|
||||
<object id="fcommon" parent="basec" singleton="false" type="NP.Base.Controllers.FCommonController, NP.Base"></object>
|
||||
|
|
|
|||
|
|
@ -3726,6 +3726,10 @@ namespace NP.Model
|
|||
/// 1000 피드백
|
||||
/// </summary>
|
||||
public String feedb {get;set;}
|
||||
/// <summary>
|
||||
/// 1000 참고사항
|
||||
/// </summary>
|
||||
public String memo { get; set; }
|
||||
public String feedbox
|
||||
{
|
||||
get
|
||||
|
|
|
|||
Loading…
Reference in New Issue