추가개발12/29
This commit is contained in:
parent
eb39064d6b
commit
99103851de
|
|
@ -584,6 +584,11 @@ namespace NP.BO.Controllers
|
||||||
vm.CMPRs = Dao.Get<CMPR>("cm.cmprs", p);
|
vm.CMPRs = Dao.Get<CMPR>("cm.cmprs", p);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region + 기본정보 담당자/교강사 [vm.Datas] Get: cm.cmdatas (cmno, 단일 파라미터)
|
||||||
|
vm.Datas = Dao.Get<Data>("cm.cmdatas", vm.CM.cmno);
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
ViewBag.fronturl = GetConfig("fronturl");
|
ViewBag.fronturl = GetConfig("fronturl");
|
||||||
|
|
||||||
return View("cmregeduschedule", vm);
|
return View("cmregeduschedule", vm);
|
||||||
|
|
@ -787,6 +792,11 @@ namespace NP.BO.Controllers
|
||||||
ViewBag.Front = GetConfig("fronturl");
|
ViewBag.Front = GetConfig("fronturl");
|
||||||
return View(vm);
|
return View(vm);
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 교육환경설정 > 강좌설정 > 시험설정 > 시험등록 > 문제추가
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="vm"></param>
|
||||||
|
/// <returns></returns>
|
||||||
public ActionResult qp(VMCM vm)
|
public ActionResult qp(VMCM vm)
|
||||||
{
|
{
|
||||||
vm.ComCodes = GetComCodes("ccdiff,cc1,cc2,cc3,cc4,cc5");
|
vm.ComCodes = GetComCodes("ccdiff,cc1,cc2,cc3,cc4,cc5");
|
||||||
|
|
@ -811,6 +821,7 @@ namespace NP.BO.Controllers
|
||||||
if (!string.IsNullOrEmpty(vm.stringval9)) { ht.Add("ecount", GetInt(vm.stringval9)); }
|
if (!string.IsNullOrEmpty(vm.stringval9)) { ht.Add("ecount", GetInt(vm.stringval9)); }
|
||||||
if (!string.IsNullOrEmpty(vm.stringval10)) { ht.Add("rrate", GetInt(vm.stringval10)); }
|
if (!string.IsNullOrEmpty(vm.stringval10)) { ht.Add("rrate", GetInt(vm.stringval10)); }
|
||||||
if (!string.IsNullOrEmpty(vm.stringval15)) { ht.Add("instuctorName", vm.stringval15); }
|
if (!string.IsNullOrEmpty(vm.stringval15)) { ht.Add("instuctorName", vm.stringval15); }
|
||||||
|
if (!string.IsNullOrEmpty(vm.stringval16)) { ht.Add("scdinstuctor", vm.stringval16); }
|
||||||
vm.Qs = Dao.Get<Question>("cm.questions2", ht);
|
vm.Qs = Dao.Get<Question>("cm.questions2", ht);
|
||||||
}
|
}
|
||||||
vm.Qs = vm.Qs ?? new List<Question>();
|
vm.Qs = vm.Qs ?? new List<Question>();
|
||||||
|
|
@ -889,6 +900,14 @@ namespace NP.BO.Controllers
|
||||||
public ActionResult cmregexset(VMCM vm) {
|
public ActionResult cmregexset(VMCM vm) {
|
||||||
var p = new Hashtable();
|
var p = new Hashtable();
|
||||||
|
|
||||||
|
#region + [vm.CMInnings] Get: cm.cminnings (cmno, isonline, isscd)
|
||||||
|
p.Clear();
|
||||||
|
p.Add("cmno", vm.intval);
|
||||||
|
p.Add("isonline", 0);
|
||||||
|
p.Add("isscd", 1);
|
||||||
|
vm.CMInnings = Dao.Get<CMInning>("cm.cminnings", p);
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region + [vm.CM] Get: cm.cms (cmno)
|
#region + [vm.CM] Get: cm.cms (cmno)
|
||||||
p.Clear();
|
p.Clear();
|
||||||
p.Add("cmno", vm.intval);
|
p.Add("cmno", vm.intval);
|
||||||
|
|
@ -910,6 +929,10 @@ namespace NP.BO.Controllers
|
||||||
vm.ESTs = Dao.Get<EST>("cm.exlist", p);
|
vm.ESTs = Dao.Get<EST>("cm.exlist", p);
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
//교육일정이 존재하는지 조회
|
||||||
|
var scd = Dao.Get<int>("cm.cminnigscd.exists", new Hashtable() { { "cmno", vm.CM.cmno } });
|
||||||
|
ViewBag.Scd = scd.FirstOrDefault();
|
||||||
|
|
||||||
return View("cmregexset", vm);
|
return View("cmregexset", vm);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -11,7 +11,9 @@
|
||||||
|
|
||||||
@if (!ViewBag.IsSubAdmin96) {
|
@if (!ViewBag.IsSubAdmin96) {
|
||||||
<li class="@(Model.tabidx == 3 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(3)");" data-toggle="tab">평가설정</a></li>
|
<li class="@(Model.tabidx == 3 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(3)");" data-toggle="tab">평가설정</a></li>
|
||||||
|
if (Model.CM.ismaster == 0) {
|
||||||
<li class="@(Model.tabidx == 5 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(5)");" data-toggle="tab">시험설정</a></li>
|
<li class="@(Model.tabidx == 5 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(5)");" data-toggle="tab">시험설정</a></li>
|
||||||
|
}
|
||||||
<li class="@(Model.tabidx == 4 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(4)");" data-toggle="tab">메뉴설정</a></li>
|
<li class="@(Model.tabidx == 4 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(4)");" data-toggle="tab">메뉴설정</a></li>
|
||||||
}
|
}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
@{
|
@{
|
||||||
int studyplaceseq = 0;
|
int studyplaceseq = 0;
|
||||||
int tempInt = 0;
|
int tempInt = 0;
|
||||||
|
int index = 0;
|
||||||
}
|
}
|
||||||
<div style="@(Model.CM.cmno < 1 ? "display: none;":"")">
|
<div style="@(Model.CM.cmno < 1 ? "display: none;":"")">
|
||||||
<ul class="pagination pagination-md" style="margin: 0;">
|
<ul class="pagination pagination-md" style="margin: 0;">
|
||||||
|
|
@ -194,7 +195,21 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th>교강사</th>
|
<th>교강사</th>
|
||||||
<td>
|
<td>
|
||||||
<table id="tblInstructor" class="tblInstructor" style="width: 100%;border: none !important;border-collapse: collapse !important;"></table>
|
<table id="tblInstructor" class="tblInstructor" style="width: 100%;border: none !important;border-collapse: collapse !important;">
|
||||||
|
<tr>
|
||||||
|
@foreach (var item in Model.Datas.Where(w => w.dtype == 1)) {
|
||||||
|
index = index + 1;
|
||||||
|
<td style="border: none !important;">
|
||||||
|
<input type="checkbox" class="chkInstructor" name="chkInstructor" id="chkInstructor@(index)" value="@item.strval3" />
|
||||||
|
<label style="margin-right: 8px;" for="chkInstructor@(index)">@item.strval</label>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
if ((index) % 5 == 0) {
|
||||||
|
@:</tr><tr>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
@ -224,8 +239,6 @@
|
||||||
$(".troff").show();
|
$(".troff").show();
|
||||||
$(".idoff").show();
|
$(".idoff").show();
|
||||||
}
|
}
|
||||||
|
|
||||||
finduser(); //일정등록 강사 정보 가지고오기
|
|
||||||
});
|
});
|
||||||
|
|
||||||
function save() {
|
function save() {
|
||||||
|
|
@ -456,15 +469,18 @@
|
||||||
$("input:radio[name=istudyplace][value=" + d.studyplace + "]").attr("checked", true);
|
$("input:radio[name=istudyplace][value=" + d.studyplace + "]").attr("checked", true);
|
||||||
}
|
}
|
||||||
//교강사 체크
|
//교강사 체크
|
||||||
if (d.instructors != null) {
|
|
||||||
var instructors = d.instructors.split(',');
|
|
||||||
$.each($(".chkInstructor"), function (i, item) {
|
$.each($(".chkInstructor"), function (i, item) {
|
||||||
if (instructors.includes($(item).val())) {
|
if (d.instructors != null) {
|
||||||
$(item).prop("checked", true);
|
let tc = d.instructors.split(',');
|
||||||
|
|
||||||
|
for (var i = 0; i < tc.length; i++) {
|
||||||
|
if ($(this).val() == tc[i]) {
|
||||||
|
$(this).prop("checked", true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
bglayer(); $("#scdbox").slideDown("fast", function () { $("#scdbox").scrollTop(0); });
|
bglayer(); $("#scdbox").slideDown("fast", function () { $("#scdbox").scrollTop(0); });
|
||||||
}
|
}
|
||||||
|
|
@ -560,30 +576,5 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@*/** 일정등록 시 교강사호출 **/*@
|
|
||||||
function finduser() {
|
|
||||||
capp("/acommon/userfind", {
|
|
||||||
ftype: 1, usertypes: null, asno: null, usernameid: null, asno: null, usertype: null }, "cbfinduser", null, null, true, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
function cbfinduser() {
|
|
||||||
if (capResult.code == 1000) {
|
|
||||||
let html = "<tr>";
|
|
||||||
$.each($(capResult.obj), function (i, r) {
|
|
||||||
html += "<td style=\"border: none !important;\">";
|
|
||||||
html += " <input type=\"checkbox\" class=\"chkInstructor\" name=\"chkInstructor\" id=\"chkInstructor" + i + "\" value=\"" + getdb(r.userid).replace(/:/gi, '|').replace(/;/gi, '|') + "\" />";
|
|
||||||
html += " <label style=\"margin-right: 8px;\" for=\"chkInstructor" + i + "\">" + getdb(r.username).replace(/:/gi, '|').replace(/;/gi, '|') + "</label> ";
|
|
||||||
html += "</td>";
|
|
||||||
|
|
||||||
if ((i + 1) % 5 == 0) {
|
|
||||||
html += "</tr><tr>";
|
|
||||||
}
|
|
||||||
});
|
|
||||||
html += "</tr>";
|
|
||||||
|
|
||||||
$("#tblInstructor").html(html);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,9 @@
|
||||||
<li><a href="javascript:;" onclick="gotab(2);" data-toggle="tab">교육일정</a></li>
|
<li><a href="javascript:;" onclick="gotab(2);" data-toggle="tab">교육일정</a></li>
|
||||||
}
|
}
|
||||||
<li class="active"><a href="javascript:;" data-toggle="tab">평가설정</a></li>
|
<li class="active"><a href="javascript:;" data-toggle="tab">평가설정</a></li>
|
||||||
<li><a href="javascript:;" data-toggle="tab" onclick="gotab(5);">시험설정</a></li>
|
@if (Model.CM.ismaster == 0) {
|
||||||
|
<li class="@(Model.tabidx == 5 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(5)");" data-toggle="tab">시험설정</a></li>
|
||||||
|
}
|
||||||
<li><a href="javascript:;" onclick="gotab(4);" data-toggle="tab">메뉴설정</a></li>
|
<li><a href="javascript:;" onclick="gotab(4);" data-toggle="tab">메뉴설정</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -19,25 +19,27 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<form id="mform" method="post" enctype="multipart/form-data" class="form-horizontal">
|
<form id="mform" method="post" enctype="multipart/form-data" class="form-horizontal">
|
||||||
<section class="panel panel-default">
|
<section class="panel panel-default">
|
||||||
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 기본정보<span class=""></span></strong></header>
|
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 기본정보 @Model.CMInnings.FirstOrDefault().scdtype<span class=""></span></strong></header>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-sm-4 col-md-2 control-label req">평가구분</label>
|
<label class="col-sm-4 col-md-2 control-label req">평가구분</label>
|
||||||
<div class="col-sm-8 col-md-10">@*@Html.Partial("./Partial/Radio", "0:진행평가;1:최종평가", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMEX.extype" }, { "checked", Model.CMEX.extype } })*@</div>
|
<div class="col-sm-8 col-md-10">@*@Html.Partial("./Partial/Radio", "0:진행평가;1:최종평가", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMEX.extype" }, { "checked", Model.CMEX.extype } })*@</div>
|
||||||
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", "1:최종평가", new ViewDataDictionary { { "special", "stringlist" }, { "name", "vm.CMEX.extype" }, { "checked", Model.CMEX.extype } })</div>
|
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", "1:최종평가", new ViewDataDictionary { { "special", "stringlist" }, { "name", "vm.CMEX.extype" }, { "checked", Model.CMEX.extype } })</div>
|
||||||
</div>
|
</div>
|
||||||
|
@if (Model.CMInnings.FirstOrDefault().scdtype == 0) {
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-sm-4 col-md-2 control-label req">교육일정 선택</label>
|
<label class="col-sm-4 col-md-2 control-label req">교육일정 선택</label>
|
||||||
<div class="col-sm-8 col-md-10">
|
<div class="col-sm-8 col-md-10">
|
||||||
<select class="form-control dev" id="cmisno" name="vm.CMEX.cmisno">
|
<select class="form-control dev" id="cmisno" name="vm.CMEX.cmisno">
|
||||||
<option>선택</option>
|
<option value="">선택</option>
|
||||||
@foreach (var item in Model.CMInningscds.OrderByDescending(c => c.estart)) {
|
@foreach (var item in Model.CMInningscds.OrderByDescending(c => c.estart)) {
|
||||||
tempInt = Model.CMInningscds2.Where(c => c.cmino == item.cmino && c.cmisno == item.cmisno && c.intv1 == 2).Count();
|
tempInt = Model.CMInningscds2.Where(c => c.cmino == item.cmino && c.cmisno == item.cmisno && c.intv1 == 2).Count();
|
||||||
<option value="@item.cmisno" @(item.cmisno == Model.CMEX.cmisno ? "selected" : "")>[@item.studyplacename] [@item.estart ~ @item.eend]</option>
|
<option value="@item.cmisno" data-instructors="@(item.instructors)" @(item.cmisno == Model.CMEX.cmisno ? "selected" : "")>[@item.studyplacename] [@item.estart ~ @item.eend]</option>
|
||||||
}
|
}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="line line-dashed line-lg pull-in"></div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-sm-4 col-md-2 control-label req">시험 응시 일시</label>
|
<label class="col-sm-4 col-md-2 control-label req">시험 응시 일시</label>
|
||||||
<div class="col-sm-8 col-md-10 form-inline">
|
<div class="col-sm-8 col-md-10 form-inline">
|
||||||
|
|
@ -50,6 +52,7 @@
|
||||||
@Html.TextBoxFor(m => m.stringval23, new { @class = "form-control text-center onlyNum2", @maxlength = "2", @style = "width:50px;", @Name = "vm.stringval23" }) 분
|
@Html.TextBoxFor(m => m.stringval23, new { @class = "form-control text-center onlyNum2", @maxlength = "2", @style = "width:50px;", @Name = "vm.stringval23" }) 분
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
}
|
||||||
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
|
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
|
||||||
<label class="col-sm-4 col-md-2 control-label req">평가명</label>
|
<label class="col-sm-4 col-md-2 control-label req">평가명</label>
|
||||||
<div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.CMEX.exname, new { @class = "form-control", @maxlength = "100", @Name = "vm.CMEX.exname" })</div>
|
<div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.CMEX.exname, new { @class = "form-control", @maxlength = "100", @Name = "vm.CMEX.exname" })</div>
|
||||||
|
|
@ -64,15 +67,15 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
|
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
|
||||||
<label class="col-sm-4 col-md-2 control-label req">출석률</label>
|
<label class="col-sm-4 col-md-2 control-label req">출석률</label>
|
||||||
<div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.CMEX.econdition, new { @class = "form-control disp-init int nocomma text-center", @maxlength = "3", @style = "width: 80px;", @Name = "vm.CMEX.econdition" }) % 이상</div>
|
<div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.CMEX.econdition, new { @Value = (Model.CMEX.econdition == 0 ? 90 : Model.CMEX.econdition), @class = "form-control disp-init int nocomma text-center", @maxlength = "3", @style = "width: 80px;", @Name = "vm.CMEX.econdition" }) % 이상</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
|
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
|
||||||
<label class="col-sm-4 col-md-2 control-label req">제한시간</label>
|
<label class="col-sm-4 col-md-2 control-label req">제한시간</label>
|
||||||
<div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.CMEX.etime, new { @class = "form-control text-center disp-init int nocomma", @style = "width: 80px;", @Name = "vm.CMEX.etime" })분 * 0분 입력 시 시간제한 없음</div>
|
<div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.CMEX.etime, new { @Value = (Model.CMEX.etime == 0 ? 60 : Model.CMEX.etime), @class = "form-control text-center disp-init int nocomma", @style = "width: 80px;", @Name = "vm.CMEX.etime" })분 * 0분 입력 시 시간제한 없음</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line line-dashed line-lg pull-in @(Model.examsavable)"></div><div class="form-group @(Model.examsavable)">
|
<div class="line line-dashed line-lg pull-in @(Model.examsavable)"></div><div class="form-group @(Model.examsavable)">
|
||||||
<label class="col-sm-4 col-md-2 control-label">문항출력설정</label>
|
<label class="col-sm-4 col-md-2 control-label">문항출력설정</label>
|
||||||
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "special", "FromTo" }, { "name", "vm.CMEX.evtype" }, { "selected", Model.CMEX.evtype }, { "start", 1 }, { "end", 10 }, { "textadd", "개" }, { "df", "0:전체" }, { "disabled", Model.examsavable } }) 출력</div>
|
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "special", "FromTo" }, { "name", "vm.CMEX.evtype" }, { "selected", (Model.CMEX.evtype == 0 ? 10 : Model.CMEX.evtype) }, { "start", 1 }, { "end", 10 }, { "textadd", "개" }, { "df", "0:전체" }, { "disabled", Model.examsavable } }) 출력</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line line-dashed line-lg pull-in @(Model.examsavable)"></div><div class="form-group @(Model.examsavable)">
|
<div class="line line-dashed line-lg pull-in @(Model.examsavable)"></div><div class="form-group @(Model.examsavable)">
|
||||||
<label class="col-sm-4 col-md-2 control-label">출제방식설정</label>
|
<label class="col-sm-4 col-md-2 control-label">출제방식설정</label>
|
||||||
|
|
@ -460,11 +463,46 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (check("CMEX_exname", "", "시험명칭을 입력하세요.")) { }
|
if (check("CMEX_exname", "", "시험명칭을 입력하세요.")) { return; }
|
||||||
else if ($("#vm_CMEX_eqtype0").prop("checked") && $("#box1 tbody tr").length < 1) { msg("출제할 문제를 추가해주세요."); }
|
|
||||||
else if ($("#vm_CMEX_eqtype1").prop("checked") && _layerqcount < 1) { msg("출제문항수를 입력해주세요."); }
|
@if (Model.CMInnings.FirstOrDefault().scdtype == 0) {
|
||||||
else if (getDouble(val("CMEX_econdition")) > 100 || getDouble(val("CMEX_econdition")) < 0) { msg("출석률은 0 ~ 100 사이의 값을 입력해주세요."); }
|
<text>
|
||||||
else if (_isvalid && confirm("시험을 " + (getint(val("CMEX_exno")) < 1 ? "등록" : "수정") + "하시겠습니까?")) {
|
if ($("#cmisno").val() == "") {
|
||||||
|
msg("교육일정을 선택해주세요.")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ($("#vm_stringval18").val() == "") {
|
||||||
|
msg("시험 응시 일시 시작 날짜를 입력해주세요.")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ($("#stringval19").val() == "") {
|
||||||
|
msg("시험 응시 일시 시작 시간을 입력해주세요.")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ($("#stringval20").val() == "") {
|
||||||
|
msg("시험 응시 일시 시작 분을 입력해주세요.")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ($("#vm_stringval21").val() == "") {
|
||||||
|
msg("시험 응시 일시 종료 날짜를 입력해주세요.")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ($("#stringval22").val() == "") {
|
||||||
|
msg("시험 응시 일시 종료 시간을 입력해주세요.")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ($("#stringval23").val() == "") {
|
||||||
|
msg("시험 응시 일시 시작 분을 입력해주세요.")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
</text>
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($("#vm_CMEX_eqtype0").prop("checked") && $("#box1 tbody tr").length < 1) { msg("출제할 문제를 추가해주세요."); return; }
|
||||||
|
if ($("#vm_CMEX_eqtype1").prop("checked") && _layerqcount < 1) { msg("출제문항수를 입력해주세요."); return; }
|
||||||
|
if (getDouble(val("CMEX_econdition")) > 100 || getDouble(val("CMEX_econdition")) < 0) { msg("출석률은 0 ~ 100 사이의 값을 입력해주세요."); return; }
|
||||||
|
|
||||||
|
if (_isvalid && confirm("시험을 " + (getint(val("CMEX_exno")) < 1 ? "등록" : "수정") + "하시겠습니까?")) {
|
||||||
$("#CMEX_israndq").val($("#chkrq").prop("checked") ? 1 : 0);
|
$("#CMEX_israndq").val($("#chkrq").prop("checked") ? 1 : 0);
|
||||||
$("#CMEX_israndqi").val($("#chkrqi").prop("checked") ? 1 : 0);
|
$("#CMEX_israndqi").val($("#chkrqi").prop("checked") ? 1 : 0);
|
||||||
var sd = "";
|
var sd = "";
|
||||||
|
|
@ -486,7 +524,21 @@
|
||||||
}
|
}
|
||||||
var pqlist = "";
|
var pqlist = "";
|
||||||
function qadd() {
|
function qadd() {
|
||||||
framelayer("/cm/qp?stringval13=R");
|
var instructors = "";
|
||||||
|
|
||||||
|
@if (Model.CMInnings.FirstOrDefault().scdtype == 0) {
|
||||||
|
<text>
|
||||||
|
if ($("#cmisno").val() == "") {
|
||||||
|
msg("교육일정을 선택해주세요.")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var selected = $("#cmisno").find("option:selected");
|
||||||
|
instructors = selected.data("instructors");
|
||||||
|
</text>
|
||||||
|
}
|
||||||
|
|
||||||
|
framelayer("/cm/qp?stringval13=R&stringval16=" + instructors);
|
||||||
}
|
}
|
||||||
function calcplist() {
|
function calcplist() {
|
||||||
pqlist = "";
|
pqlist = "";
|
||||||
|
|
@ -530,6 +582,7 @@
|
||||||
$("#intval").val(capResult.obj);
|
$("#intval").val(capResult.obj);
|
||||||
}
|
}
|
||||||
setv("IsSavedForParent", 1);
|
setv("IsSavedForParent", 1);
|
||||||
|
goparent(val('IsSavedForParent') == '1');
|
||||||
//timesubmit();
|
//timesubmit();
|
||||||
}
|
}
|
||||||
else if (capResult.obj == -1) {
|
else if (capResult.obj == -1) {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,10 @@
|
||||||
@model NP.Model.VMCM
|
@model NP.Model.VMCM
|
||||||
|
@{
|
||||||
|
int esTsCnt = 0;
|
||||||
|
if (Model.ESTs != null) {
|
||||||
|
esTsCnt = Model.ESTs.Count;
|
||||||
|
}
|
||||||
|
}
|
||||||
<!-- div[id=container] -->
|
<!-- div[id=container] -->
|
||||||
<div style="@(Model.CM.cmno < 1 ? "display: none;" : "")">
|
<div style="@(Model.CM.cmno < 1 ? "display: none;" : "")">
|
||||||
<ul class="pagination pagination-md" style="margin: 0;">
|
<ul class="pagination pagination-md" style="margin: 0;">
|
||||||
|
|
@ -15,6 +21,8 @@
|
||||||
<!-- // div[id=container] -->
|
<!-- // div[id=container] -->
|
||||||
<!-- form[id=mform] -->
|
<!-- form[id=mform] -->
|
||||||
<form id="mform" method="post" class="form-horizontal">
|
<form id="mform" method="post" class="form-horizontal">
|
||||||
|
<input type="hidden" id="hdnScdCnt" value="@ViewBag.Scd" />
|
||||||
|
<input type="hidden" id="hdnExCnt" value="@esTsCnt" />
|
||||||
<!-- section[class=panel panel-default] -->
|
<!-- section[class=panel panel-default] -->
|
||||||
<section class="panel panel-default" style="border-top: 1px solid #ddd; margin-top: 5px;">
|
<section class="panel panel-default" style="border-top: 1px solid #ddd; margin-top: 5px;">
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
|
|
@ -254,7 +262,7 @@
|
||||||
$("#isoffabs").attr("disabled", _isonline);
|
$("#isoffabs").attr("disabled", _isonline);
|
||||||
if (capResult.code == 1000) {
|
if (capResult.code == 1000) {
|
||||||
msg("평가기준/비율을 저장했습니다.", null, true, null, true);
|
msg("평가기준/비율을 저장했습니다.", null, true, null, true);
|
||||||
gotab(3, 500);
|
gotab(5, 500);
|
||||||
} else {
|
} else {
|
||||||
msgadmin();
|
msgadmin();
|
||||||
}
|
}
|
||||||
|
|
@ -266,7 +274,19 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
@*/* 평가 추가 함수 */*@
|
@*/* 평가 추가 함수 */*@
|
||||||
function add(idx, no) {
|
function add(idx, no)
|
||||||
|
{
|
||||||
|
if ($("#hdnScdCnt").val() == 0) {
|
||||||
|
msg("교육일정 탭에서 교육회차를 먼저 등록해주세요.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var inningcnt = @Model.CMInnings.Count; //온라인대체
|
||||||
|
if (no == 0 && inningcnt > 0 && parseInt($("#hdnExCnt").val()) > 0) {
|
||||||
|
msg2("온라인 100%인 교육은 1개의 최종평가만 등록 가능합니다.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (idx == 0) {
|
if (idx == 0) {
|
||||||
showramemainlayer("/cm/cmregex?cmno=@(Model.CM.cmno)&intval=" + no);
|
showramemainlayer("/cm/cmregex?cmno=@(Model.CM.cmno)&intval=" + no);
|
||||||
} else if (idx == 1) {
|
} else if (idx == 1) {
|
||||||
|
|
@ -287,7 +307,7 @@
|
||||||
function cbdel() {
|
function cbdel() {
|
||||||
if (capResult.code == 1000) {
|
if (capResult.code == 1000) {
|
||||||
msg("삭제했습니다.", null, true, null, true);
|
msg("삭제했습니다.", null, true, null, true);
|
||||||
gotab(3, 500);
|
gotab(5, 500);
|
||||||
} else {
|
} else {
|
||||||
msg("수강데이터가 생성되어 삭제할 수 없습니다.");
|
msg("수강데이터가 생성되어 삭제할 수 없습니다.");
|
||||||
}
|
}
|
||||||
|
|
@ -301,6 +321,7 @@
|
||||||
function examList() {
|
function examList() {
|
||||||
if (capResult.code == 1000) {
|
if (capResult.code == 1000) {
|
||||||
let html = "";
|
let html = "";
|
||||||
|
let num = 0;
|
||||||
|
|
||||||
$.each($(capResult.obj), function (i, item) {
|
$.each($(capResult.obj), function (i, item) {
|
||||||
let cShape = "", rsType = "", testDate = "", estKind = "";
|
let cShape = "", rsType = "", testDate = "", estKind = "";
|
||||||
|
|
@ -335,8 +356,11 @@
|
||||||
html += " <td>" + estKind +"</td>"
|
html += " <td>" + estKind +"</td>"
|
||||||
html += " <td><a href=\"javascript:;\" class=\"delete-link\" onclick=\"del(" + item.estkind + ", " + item.exno + ")\">[삭제]</a></td>";
|
html += " <td><a href=\"javascript:;\" class=\"delete-link\" onclick=\"del(" + item.estkind + ", " + item.exno + ")\">[삭제]</a></td>";
|
||||||
html += "</tr>";
|
html += "</tr>";
|
||||||
|
|
||||||
|
num += i + 1;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#hdnExCnt").val(num);
|
||||||
$("#tbody1").html(html);
|
$("#tbody1").html(html);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,9 @@
|
||||||
<li class=""><a href="#" onclick="gotab(2);" data-toggle="tab">교육일정</a></li>
|
<li class=""><a href="#" onclick="gotab(2);" data-toggle="tab">교육일정</a></li>
|
||||||
}
|
}
|
||||||
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">평가설정</a></li>
|
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">평가설정</a></li>
|
||||||
<li class=""><a href="#" onclick="gotab(5);" data-toggle="tab">시험설정</a></li>
|
@if (Model.CM.ismaster == 0) {
|
||||||
|
<li class="@(Model.tabidx == 5 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(5)");" data-toggle="tab">시험설정</a></li>
|
||||||
|
}
|
||||||
<li class="active"><a href="#" data-toggle="tab">메뉴설정</a></li>
|
<li class="active"><a href="#" data-toggle="tab">메뉴설정</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
<label class="col-sm-4 col-md-2 control-label">과정</label>
|
<label class="col-sm-4 col-md-2 control-label">과정</label>
|
||||||
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Select", Model.CMs, new ViewDataDictionary { { "special", "reg" }, { "name", "Question.cmno" }, { "selected", Model.Question.cmno }, { "df", ":-과정선택" } })</div>
|
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Select", Model.CMs, new ViewDataDictionary { { "special", "reg" }, { "name", "Question.cmno" }, { "selected", Model.Question.cmno }, { "df", ":-과정선택" } })</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="line line-dashed line-lg pull-in"></div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-sm-4 col-md-2 control-label">교강사</label>
|
<label class="col-sm-4 col-md-2 control-label">교강사</label>
|
||||||
<div class="col-sm-8 col-md-10">
|
<div class="col-sm-8 col-md-10">
|
||||||
|
|
|
||||||
|
|
@ -386,12 +386,13 @@
|
||||||
|
|
||||||
<select id="cm.cmdatas" parameterClass="int" resultClass="data">
|
<select id="cm.cmdatas" parameterClass="int" resultClass="data">
|
||||||
select a.dtype,a.intval,a.intval2,a.intval3
|
select a.dtype,a.intval,a.intval2,a.intval3
|
||||||
,a.strval,a.strval2
|
,a.strval,a.strval2,a.strval3
|
||||||
from(
|
from(
|
||||||
select 1 dtype
|
select 1 dtype
|
||||||
,a.userno intval,b.usertype intval2
|
,a.userno intval,b.usertype intval2
|
||||||
,row_number() over (order by b.username desc) intval3
|
,row_number() over (order by b.username desc) intval3
|
||||||
,b.username strval,null strval2
|
,b.username strval,null strval2
|
||||||
|
,b.userid strval3
|
||||||
from cmprof a
|
from cmprof a
|
||||||
inner join users b on b.userno=a.userno
|
inner join users b on b.userno=a.userno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -402,6 +403,7 @@
|
||||||
,b.bkno,0
|
,b.bkno,0
|
||||||
,row_number() over (order by b.bkno) intval3
|
,row_number() over (order by b.bkno) intval3
|
||||||
,b.bkname,null
|
,b.bkname,null
|
||||||
|
,null strval3
|
||||||
from cmbook a
|
from cmbook a
|
||||||
inner join book b on b.bkno=a.bkno
|
inner join book b on b.bkno=a.bkno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -410,6 +412,7 @@
|
||||||
,b.cmno,a.ispre
|
,b.cmno,a.ispre
|
||||||
,row_number() over (order by b.cmno) intval3
|
,row_number() over (order by b.cmno) intval3
|
||||||
,b.cname,null
|
,b.cname,null
|
||||||
|
, null strval3
|
||||||
from cmrelay a
|
from cmrelay a
|
||||||
inner join cm b on b.cmno=a.rcmno
|
inner join cm b on b.cmno=a.rcmno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -418,6 +421,7 @@
|
||||||
,b.ndno,0
|
,b.ndno,0
|
||||||
,row_number() over (order by b.ndno) intval3
|
,row_number() over (order by b.ndno) intval3
|
||||||
,b.dname,b.acode
|
,b.dname,b.acode
|
||||||
|
,null strval3
|
||||||
from cmncsd a
|
from cmncsd a
|
||||||
inner join ncsd b on b.ndno=a.ndno
|
inner join ncsd b on b.ndno=a.ndno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -834,6 +838,9 @@
|
||||||
<update id="cm.cmex.savetop" parameterClass="cmex">
|
<update id="cm.cmex.savetop" parameterClass="cmex">
|
||||||
UPDATE cmex SET <include refid="sql.up"></include>,exname=#exname#,edesc=#edesc#,econdition=#econdition#,isblur=#isblur#,isusebackup=#isusebackup#
|
UPDATE cmex SET <include refid="sql.up"></include>,exname=#exname#,edesc=#edesc#,econdition=#econdition#,isblur=#isblur#,isusebackup=#isusebackup#
|
||||||
,isseq=#isseq#,isreexamable=#isreexamable#,isresultopen=#isresultopen#,etime=#etime#
|
,isseq=#isseq#,isreexamable=#isreexamable#,isresultopen=#isresultopen#,etime=#etime#
|
||||||
|
,cmisno = #cmisno#
|
||||||
|
,testsdate = #testsdate#
|
||||||
|
,testedate = #testedate#
|
||||||
where exno=#exno#
|
where exno=#exno#
|
||||||
</update>
|
</update>
|
||||||
<select id="cm.cmex.extype1count" parameterClass="hashtable" resultClass="int">
|
<select id="cm.cmex.extype1count" parameterClass="hashtable" resultClass="int">
|
||||||
|
|
@ -843,8 +850,8 @@
|
||||||
</select>
|
</select>
|
||||||
<insert id="cm.cmex.in" parameterClass="cmex">
|
<insert id="cm.cmex.in" parameterClass="cmex">
|
||||||
INSERT INTO cmex
|
INSERT INTO cmex
|
||||||
(cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isreexamable,isresultopen,isdel,<include refid="sql.inc"></include>)
|
(cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isreexamable,isresultopen,isdel,cmisno,testsdate,testedate,<include refid="sql.inc"></include>)
|
||||||
values (#cmno#,#extype#,#exname#,#edesc#,#etime#,#econdition#,#evtype#,#eqtype#,#israndq#,#israndqi#,#qcount#,#isblur#,#tpoint#,#relaylimit#,#isusebackup#,#isseq#,#isreexamable#,#isresultopen#,0,<include refid="sql.inv"></include>)
|
values (#cmno#,#extype#,#exname#,#edesc#,#etime#,#econdition#,#evtype#,#eqtype#,#israndq#,#israndqi#,#qcount#,#isblur#,#tpoint#,#relaylimit#,#isusebackup#,#isseq#,#isreexamable#,#isresultopen#,0,#cmisno#,#testsdate#,#testedate#,<include refid="sql.inv"></include>)
|
||||||
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
||||||
</insert>
|
</insert>
|
||||||
<update id="cm.cmex.up" parameterClass="cmex">
|
<update id="cm.cmex.up" parameterClass="cmex">
|
||||||
|
|
@ -928,13 +935,13 @@
|
||||||
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
||||||
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
||||||
,a.instructors
|
,a.instructors
|
||||||
,u.usertype
|
,a.usertype
|
||||||
,u.username AS instructors_name
|
,a.instructors_name
|
||||||
from (
|
from (
|
||||||
select a.*,b.cname
|
select a.*,b.cname
|
||||||
from (
|
from (
|
||||||
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5, a.cdt,a.udt
|
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5, a.cdt,a.udt
|
||||||
,a.ispassspace,a.isignorecase,a.instructors
|
,a.ispassspace,a.isignorecase,a.instructors, u.usertype, u.username as instructors_name
|
||||||
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
||||||
,<include refid="sql.prc"></include>
|
,<include refid="sql.prc"></include>
|
||||||
from question a
|
from question a
|
||||||
|
|
@ -944,6 +951,7 @@
|
||||||
left outer join comcode cc3 on cc3.ccode = a.cc3
|
left outer join comcode cc3 on cc3.ccode = a.cc3
|
||||||
left outer join comcode cc4 on cc4.ccode = a.cc4
|
left outer join comcode cc4 on cc4.ccode = a.cc4
|
||||||
left outer join comcode cc5 on cc5.ccode = a.cc5
|
left outer join comcode cc5 on cc5.ccode = a.cc5
|
||||||
|
left outer join users u on u.userid = a.instructors
|
||||||
<dynamic prepend="where">
|
<dynamic prepend="where">
|
||||||
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
||||||
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
||||||
|
|
@ -956,7 +964,7 @@
|
||||||
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
||||||
<isNotNull property="qtextstring" prepend="and">a.qtextstring like concat('%', #searchtext#,'%')</isNotNull>
|
<isNotNull property="qtextstring" prepend="and">a.qtextstring like concat('%', #searchtext#,'%')</isNotNull>
|
||||||
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
||||||
<isNotNull property="instructors" prepend="and">a.instructors like concat('%', #instructors#, '%')</isNotNull>
|
<isNotNull property="instructors" prepend="and">u.username like concat('%', #instructors#, '%')</isNotNull>
|
||||||
</dynamic>
|
</dynamic>
|
||||||
) a
|
) a
|
||||||
left outer join cm b on b.cmno=a.cmno
|
left outer join cm b on b.cmno=a.cmno
|
||||||
|
|
@ -964,9 +972,8 @@
|
||||||
) a
|
) a
|
||||||
left outer join cmexq eq on eq.qno=a.qno
|
left outer join cmexq eq on eq.qno=a.qno
|
||||||
left outer join lectexq ued on ued.eqno=eq.eqno
|
left outer join lectexq ued on ued.eqno=eq.eqno
|
||||||
<!--LEFT OUTER JOIN users u ON FIND_IN_SET(u.userid, a.instructors) > 0-->
|
<!--LEFT OUTER JOIN users u ON FIND_IN_SET(u.userid, a.instructors) > 0//-->
|
||||||
left outer join users u on u.userid = a.instructors
|
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.ispassspace,a.isignorecase,a.instructors,a.usertype,a.instructors_name
|
||||||
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.ispassspace,a.isignorecase,a.instructors
|
|
||||||
order by a.RNO
|
order by a.RNO
|
||||||
</select>
|
</select>
|
||||||
<select id="cm.questions2" parameterClass="hashtable" resultClass="question">
|
<select id="cm.questions2" parameterClass="hashtable" resultClass="question">
|
||||||
|
|
@ -976,12 +983,12 @@
|
||||||
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
||||||
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
||||||
,a.instructors
|
,a.instructors
|
||||||
,u.usertype
|
,a.usertype
|
||||||
,u.username AS instructors_name
|
,a.instructors_name
|
||||||
from (
|
from (
|
||||||
select a.*
|
select a.*
|
||||||
from (
|
from (
|
||||||
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.cdt,a.udt,a.instructors
|
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.cdt,a.udt,a.instructors,u.usertype,u.username as instructors_name
|
||||||
,b.cname
|
,b.cname
|
||||||
, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5
|
, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5
|
||||||
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
||||||
|
|
@ -994,6 +1001,7 @@
|
||||||
left outer join comcode cc3 on cc3.ccode = a.cc3
|
left outer join comcode cc3 on cc3.ccode = a.cc3
|
||||||
left outer join comcode cc4 on cc4.ccode = a.cc4
|
left outer join comcode cc4 on cc4.ccode = a.cc4
|
||||||
left outer join comcode cc5 on cc5.ccode = a.cc5
|
left outer join comcode cc5 on cc5.ccode = a.cc5
|
||||||
|
left outer join users u on u.userid = a.instructors
|
||||||
<dynamic prepend="where">
|
<dynamic prepend="where">
|
||||||
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
||||||
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
||||||
|
|
@ -1009,20 +1017,20 @@
|
||||||
<isEqual property="searchtype" compareValue="qno" prepend="and">a.qno = #searchtext#</isEqual>
|
<isEqual property="searchtype" compareValue="qno" prepend="and">a.qno = #searchtext#</isEqual>
|
||||||
</isNotNull>
|
</isNotNull>
|
||||||
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
||||||
|
<isNotNull property="instuctorName" prepend="and">u.username like concat('%', #instuctorName#, '%')</isNotNull>
|
||||||
|
<isNotNull property="scdinstuctor" prepend="and">FIND_IN_SET(u.userid, #scdinstuctor#) > 0</isNotNull>
|
||||||
</dynamic>
|
</dynamic>
|
||||||
) a
|
) a
|
||||||
<include refid="sql.pagedynamic"></include>
|
<include refid="sql.pagedynamic"></include>
|
||||||
) a
|
) a
|
||||||
left outer join cmexq eq on eq.qno=a.qno
|
left outer join cmexq eq on eq.qno=a.qno
|
||||||
left outer join lectexq ued on ued.eqno=eq.eqno
|
left outer join lectexq ued on ued.eqno=eq.eqno
|
||||||
left outer join users u on u.userid = a.instructors
|
|
||||||
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc
|
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc
|
||||||
,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.udt,a.instructors
|
,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.udt,a.instructors,a.usertype,a.instructors_name
|
||||||
<dynamic prepend="having">
|
<dynamic prepend="having">
|
||||||
<isNotNull property="qcount" prepend="and">count(ued.examno)=#qcount#</isNotNull>
|
<isNotNull property="qcount" prepend="and">count(ued.examno)=#qcount#</isNotNull>
|
||||||
<isNotNull property="ecount" prepend="and">sum(case when ued.atext is not null then 1 else 0 end)=#ecount#</isNotNull>
|
<isNotNull property="ecount" prepend="and">sum(case when ued.atext is not null then 1 else 0 end)=#ecount#</isNotNull>
|
||||||
<isNotNull property="rrate" prepend="and">case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end=#rrate#</isNotNull>
|
<isNotNull property="rrate" prepend="and">case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end=#rrate#</isNotNull>
|
||||||
<isNotNull property="instuctorName" prepend="and">u.username like concat('%', #instuctorName#, '%')</isNotNull>
|
|
||||||
</dynamic>
|
</dynamic>
|
||||||
order by a.rno
|
order by a.rno
|
||||||
</select>
|
</select>
|
||||||
|
|
@ -1458,8 +1466,8 @@
|
||||||
drop temporary table if exists temp_cminning_mapping;
|
drop temporary table if exists temp_cminning_mapping;
|
||||||
</update>
|
</update>
|
||||||
<insert id="cm.cmcopy.ex0" parameterClass="cmex">
|
<insert id="cm.cmcopy.ex0" parameterClass="cmex">
|
||||||
insert into cmex (cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,isdel,<include refid="sql.inc"></include>)
|
insert into cmex (cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,isdel,cmisno,testsdate,testedate,<include refid="sql.inc"></include>)
|
||||||
select #cmno#,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,0,<include refid="sql.inv"></include>
|
select #cmno#,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,0,cmisno,testsdate,testedate,<include refid="sql.inv"></include>
|
||||||
from cmex a
|
from cmex a
|
||||||
where a.exno=#orgexno#;
|
where a.exno=#orgexno#;
|
||||||
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
||||||
|
|
@ -1938,13 +1946,14 @@
|
||||||
,a.isselected
|
,a.isselected
|
||||||
<!--,case when a.remainPeople <= 0 then 0 else 1 end isend-->
|
<!--,case when a.remainPeople <= 0 then 0 else 1 end isend-->
|
||||||
, 1 isend
|
, 1 isend
|
||||||
|
,a.instructors
|
||||||
from
|
from
|
||||||
(
|
(
|
||||||
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,month(a.estart) startmonth
|
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 in (1,2) and z.ischanged=0)) remainPeople
|
,(a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status in (1,2) and z.ischanged=0)) remainPeople
|
||||||
,a.studyplace,case when c.scdtype =1 then '온라인' else e.cname end studyplacename
|
,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
|
,case when date_format(d.setime,'%Y%m%d') = date_format(a.estart,'%Y%m%d') then 1 else 0 end isselected
|
||||||
,a.comment
|
,a.comment,a.instructors
|
||||||
from cminningscd a
|
from cminningscd a
|
||||||
left outer join cminning c on c.cmino = a.cmino
|
left outer join cminning c on c.cmino = a.cmino
|
||||||
left outer join cm d on d.cmno = c.cmno
|
left outer join cm d on d.cmno = c.cmno
|
||||||
|
|
@ -2293,8 +2302,8 @@
|
||||||
,null as iseq,null as teachername
|
,null as iseq,null as teachername
|
||||||
,b.cshape
|
,b.cshape
|
||||||
,c.cmisno
|
,c.cmisno
|
||||||
,c.estart
|
,DATE_FORMAT(c.estart, '%Y-%m-%d') AS estart
|
||||||
,c.eend
|
,DATE_FORMAT(c.eend, '%Y-%m-%d') AS eend
|
||||||
,c.instructors
|
,c.instructors
|
||||||
from cmex a
|
from cmex a
|
||||||
left join cm b ON b.cmno = a.cmno
|
left join cm b ON b.cmno = a.cmno
|
||||||
|
|
@ -2302,7 +2311,7 @@
|
||||||
where a.cmno=#cmno# and a.isdel=0
|
where a.cmno=#cmno# and a.isdel=0
|
||||||
<isNotNull property="estart" prepend="and">c.estart >= concat(#estart#, ' 00:00:00')</isNotNull>
|
<isNotNull property="estart" prepend="and">c.estart >= concat(#estart#, ' 00:00:00')</isNotNull>
|
||||||
<isNotNull property="eend" prepend="and">c.eend <= concat(#eend#, ' 23:59:59')</isNotNull>
|
<isNotNull property="eend" prepend="and">c.eend <= concat(#eend#, ' 23:59:59')</isNotNull>
|
||||||
<isNotNull property="instructors" prepend="and">c.instructors like concat('%',#instructors#,'%')</isNotNull>
|
<isNotNull property="instructors" prepend="and">FIND_IN_SET((SELECT userid FROM users WHERE username = #instructors#), c.instructors) > 0</isNotNull>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="cm.est2" parameterClass="int" resultClass="est">
|
<select id="cm.est2" parameterClass="int" resultClass="est">
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -1104,6 +1104,15 @@ namespace NP.Base.Controllers
|
||||||
//if (vm.CMEX.extype == 1 && Dao.Get<int>("cm.cmex.extype1count", new Hashtable() { { "cmno", vm.CMEX.cmno }, { "exno", vm.CMEX.exno } }).First() > 0) {
|
//if (vm.CMEX.extype == 1 && Dao.Get<int>("cm.cmex.extype1count", new Hashtable() { { "cmno", vm.CMEX.cmno }, { "exno", vm.CMEX.exno } }).First() > 0) {
|
||||||
// return JsonBack(new JsonRtn() { code = 1, obj = -1 });
|
// return JsonBack(new JsonRtn() { code = 1, obj = -1 });
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
//2025-12-24 / KHJ / 시험응시 시작일/종료일 모델 바인딩
|
||||||
|
if (!string.IsNullOrEmpty(vm.stringval18)) {
|
||||||
|
vm.CMEX.testsdate = vm.stringval18 + " " + vm.stringval19 + ":" + vm.stringval20;
|
||||||
|
}
|
||||||
|
if (!string.IsNullOrEmpty(vm.stringval21)) {
|
||||||
|
vm.CMEX.testedate = vm.stringval21 + " " + vm.stringval22 + ":" + vm.stringval23;
|
||||||
|
}
|
||||||
|
|
||||||
if (vm.CMEX.exno > 0 && ExamSaveValid(vm.CMEX.exno) != "") {
|
if (vm.CMEX.exno > 0 && ExamSaveValid(vm.CMEX.exno) != "") {
|
||||||
//응시자데이터 존재하므로 일부데이터만 저장
|
//응시자데이터 존재하므로 일부데이터만 저장
|
||||||
return JsonOK(Dao.Save("cm.cmex.savetop", vm.CMEX), false);
|
return JsonOK(Dao.Save("cm.cmex.savetop", vm.CMEX), false);
|
||||||
|
|
@ -1142,9 +1151,6 @@ namespace NP.Base.Controllers
|
||||||
vm.CMEX.qcount = vm.CMEX.cmexqs.Count();
|
vm.CMEX.qcount = vm.CMEX.cmexqs.Count();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//2025-12-24 / KHJ / 시험응시 시작일/종료일 모델 바인딩
|
|
||||||
vm.CMEX.testsdate = vm.stringval18 + " " + vm.stringval19 + ":" + vm.stringval20;
|
|
||||||
vm.CMEX.testedate = vm.stringval21 + " " + vm.stringval22 + ":" + vm.stringval23;
|
|
||||||
|
|
||||||
return JsonOK(Dao.SaveExam(vm.CMEX), false);
|
return JsonOK(Dao.SaveExam(vm.CMEX), false);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -386,12 +386,13 @@
|
||||||
|
|
||||||
<select id="cm.cmdatas" parameterClass="int" resultClass="data">
|
<select id="cm.cmdatas" parameterClass="int" resultClass="data">
|
||||||
select a.dtype,a.intval,a.intval2,a.intval3
|
select a.dtype,a.intval,a.intval2,a.intval3
|
||||||
,a.strval,a.strval2
|
,a.strval,a.strval2,a.strval3
|
||||||
from(
|
from(
|
||||||
select 1 dtype
|
select 1 dtype
|
||||||
,a.userno intval,b.usertype intval2
|
,a.userno intval,b.usertype intval2
|
||||||
,row_number() over (order by b.username desc) intval3
|
,row_number() over (order by b.username desc) intval3
|
||||||
,b.username strval,null strval2
|
,b.username strval,null strval2
|
||||||
|
,b.userid strval3
|
||||||
from cmprof a
|
from cmprof a
|
||||||
inner join users b on b.userno=a.userno
|
inner join users b on b.userno=a.userno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -402,6 +403,7 @@
|
||||||
,b.bkno,0
|
,b.bkno,0
|
||||||
,row_number() over (order by b.bkno) intval3
|
,row_number() over (order by b.bkno) intval3
|
||||||
,b.bkname,null
|
,b.bkname,null
|
||||||
|
,null strval3
|
||||||
from cmbook a
|
from cmbook a
|
||||||
inner join book b on b.bkno=a.bkno
|
inner join book b on b.bkno=a.bkno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -410,6 +412,7 @@
|
||||||
,b.cmno,a.ispre
|
,b.cmno,a.ispre
|
||||||
,row_number() over (order by b.cmno) intval3
|
,row_number() over (order by b.cmno) intval3
|
||||||
,b.cname,null
|
,b.cname,null
|
||||||
|
, null strval3
|
||||||
from cmrelay a
|
from cmrelay a
|
||||||
inner join cm b on b.cmno=a.rcmno
|
inner join cm b on b.cmno=a.rcmno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -418,6 +421,7 @@
|
||||||
,b.ndno,0
|
,b.ndno,0
|
||||||
,row_number() over (order by b.ndno) intval3
|
,row_number() over (order by b.ndno) intval3
|
||||||
,b.dname,b.acode
|
,b.dname,b.acode
|
||||||
|
,null strval3
|
||||||
from cmncsd a
|
from cmncsd a
|
||||||
inner join ncsd b on b.ndno=a.ndno
|
inner join ncsd b on b.ndno=a.ndno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -834,6 +838,9 @@
|
||||||
<update id="cm.cmex.savetop" parameterClass="cmex">
|
<update id="cm.cmex.savetop" parameterClass="cmex">
|
||||||
UPDATE cmex SET <include refid="sql.up"></include>,exname=#exname#,edesc=#edesc#,econdition=#econdition#,isblur=#isblur#,isusebackup=#isusebackup#
|
UPDATE cmex SET <include refid="sql.up"></include>,exname=#exname#,edesc=#edesc#,econdition=#econdition#,isblur=#isblur#,isusebackup=#isusebackup#
|
||||||
,isseq=#isseq#,isreexamable=#isreexamable#,isresultopen=#isresultopen#,etime=#etime#
|
,isseq=#isseq#,isreexamable=#isreexamable#,isresultopen=#isresultopen#,etime=#etime#
|
||||||
|
,cmisno = #cmisno#
|
||||||
|
,testsdate = #testsdate#
|
||||||
|
,testedate = #testedate#
|
||||||
where exno=#exno#
|
where exno=#exno#
|
||||||
</update>
|
</update>
|
||||||
<select id="cm.cmex.extype1count" parameterClass="hashtable" resultClass="int">
|
<select id="cm.cmex.extype1count" parameterClass="hashtable" resultClass="int">
|
||||||
|
|
@ -843,8 +850,8 @@
|
||||||
</select>
|
</select>
|
||||||
<insert id="cm.cmex.in" parameterClass="cmex">
|
<insert id="cm.cmex.in" parameterClass="cmex">
|
||||||
INSERT INTO cmex
|
INSERT INTO cmex
|
||||||
(cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isreexamable,isresultopen,isdel,<include refid="sql.inc"></include>)
|
(cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isreexamable,isresultopen,isdel,cmisno,testsdate,testedate,<include refid="sql.inc"></include>)
|
||||||
values (#cmno#,#extype#,#exname#,#edesc#,#etime#,#econdition#,#evtype#,#eqtype#,#israndq#,#israndqi#,#qcount#,#isblur#,#tpoint#,#relaylimit#,#isusebackup#,#isseq#,#isreexamable#,#isresultopen#,0,<include refid="sql.inv"></include>)
|
values (#cmno#,#extype#,#exname#,#edesc#,#etime#,#econdition#,#evtype#,#eqtype#,#israndq#,#israndqi#,#qcount#,#isblur#,#tpoint#,#relaylimit#,#isusebackup#,#isseq#,#isreexamable#,#isresultopen#,0,#cmisno#,#testsdate#,#testedate#,<include refid="sql.inv"></include>)
|
||||||
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
||||||
</insert>
|
</insert>
|
||||||
<update id="cm.cmex.up" parameterClass="cmex">
|
<update id="cm.cmex.up" parameterClass="cmex">
|
||||||
|
|
@ -928,13 +935,13 @@
|
||||||
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
||||||
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
||||||
,a.instructors
|
,a.instructors
|
||||||
,u.usertype
|
,a.usertype
|
||||||
,u.username AS instructors_name
|
,a.instructors_name
|
||||||
from (
|
from (
|
||||||
select a.*,b.cname
|
select a.*,b.cname
|
||||||
from (
|
from (
|
||||||
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5, a.cdt,a.udt
|
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5, a.cdt,a.udt
|
||||||
,a.ispassspace,a.isignorecase,a.instructors
|
,a.ispassspace,a.isignorecase,a.instructors, u.usertype, u.username as instructors_name
|
||||||
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
||||||
,<include refid="sql.prc"></include>
|
,<include refid="sql.prc"></include>
|
||||||
from question a
|
from question a
|
||||||
|
|
@ -944,6 +951,7 @@
|
||||||
left outer join comcode cc3 on cc3.ccode = a.cc3
|
left outer join comcode cc3 on cc3.ccode = a.cc3
|
||||||
left outer join comcode cc4 on cc4.ccode = a.cc4
|
left outer join comcode cc4 on cc4.ccode = a.cc4
|
||||||
left outer join comcode cc5 on cc5.ccode = a.cc5
|
left outer join comcode cc5 on cc5.ccode = a.cc5
|
||||||
|
left outer join users u on u.userid = a.instructors
|
||||||
<dynamic prepend="where">
|
<dynamic prepend="where">
|
||||||
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
||||||
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
||||||
|
|
@ -956,7 +964,7 @@
|
||||||
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
||||||
<isNotNull property="qtextstring" prepend="and">a.qtextstring like concat('%', #searchtext#,'%')</isNotNull>
|
<isNotNull property="qtextstring" prepend="and">a.qtextstring like concat('%', #searchtext#,'%')</isNotNull>
|
||||||
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
||||||
<isNotNull property="instructors" prepend="and">a.instructors like concat('%', #instructors#, '%')</isNotNull>
|
<isNotNull property="instructors" prepend="and">u.username like concat('%', #instructors#, '%')</isNotNull>
|
||||||
</dynamic>
|
</dynamic>
|
||||||
) a
|
) a
|
||||||
left outer join cm b on b.cmno=a.cmno
|
left outer join cm b on b.cmno=a.cmno
|
||||||
|
|
@ -964,9 +972,8 @@
|
||||||
) a
|
) a
|
||||||
left outer join cmexq eq on eq.qno=a.qno
|
left outer join cmexq eq on eq.qno=a.qno
|
||||||
left outer join lectexq ued on ued.eqno=eq.eqno
|
left outer join lectexq ued on ued.eqno=eq.eqno
|
||||||
<!--LEFT OUTER JOIN users u ON FIND_IN_SET(u.userid, a.instructors) > 0-->
|
<!--LEFT OUTER JOIN users u ON FIND_IN_SET(u.userid, a.instructors) > 0//-->
|
||||||
left outer join users u on u.userid = a.instructors
|
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.ispassspace,a.isignorecase,a.instructors,a.usertype,a.instructors_name
|
||||||
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.ispassspace,a.isignorecase,a.instructors
|
|
||||||
order by a.RNO
|
order by a.RNO
|
||||||
</select>
|
</select>
|
||||||
<select id="cm.questions2" parameterClass="hashtable" resultClass="question">
|
<select id="cm.questions2" parameterClass="hashtable" resultClass="question">
|
||||||
|
|
@ -976,12 +983,12 @@
|
||||||
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
||||||
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
||||||
,a.instructors
|
,a.instructors
|
||||||
,u.usertype
|
,a.usertype
|
||||||
,u.username AS instructors_name
|
,a.instructors_name
|
||||||
from (
|
from (
|
||||||
select a.*
|
select a.*
|
||||||
from (
|
from (
|
||||||
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.cdt,a.udt,a.instructors
|
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.cdt,a.udt,a.instructors,u.usertype,u.username as instructors_name
|
||||||
,b.cname
|
,b.cname
|
||||||
, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5
|
, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5
|
||||||
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
||||||
|
|
@ -994,6 +1001,7 @@
|
||||||
left outer join comcode cc3 on cc3.ccode = a.cc3
|
left outer join comcode cc3 on cc3.ccode = a.cc3
|
||||||
left outer join comcode cc4 on cc4.ccode = a.cc4
|
left outer join comcode cc4 on cc4.ccode = a.cc4
|
||||||
left outer join comcode cc5 on cc5.ccode = a.cc5
|
left outer join comcode cc5 on cc5.ccode = a.cc5
|
||||||
|
left outer join users u on u.userid = a.instructors
|
||||||
<dynamic prepend="where">
|
<dynamic prepend="where">
|
||||||
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
||||||
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
||||||
|
|
@ -1009,20 +1017,20 @@
|
||||||
<isEqual property="searchtype" compareValue="qno" prepend="and">a.qno = #searchtext#</isEqual>
|
<isEqual property="searchtype" compareValue="qno" prepend="and">a.qno = #searchtext#</isEqual>
|
||||||
</isNotNull>
|
</isNotNull>
|
||||||
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
||||||
|
<isNotNull property="instuctorName" prepend="and">u.username like concat('%', #instuctorName#, '%')</isNotNull>
|
||||||
|
<isNotNull property="scdinstuctor" prepend="and">FIND_IN_SET(u.userid, #scdinstuctor#) > 0</isNotNull>
|
||||||
</dynamic>
|
</dynamic>
|
||||||
) a
|
) a
|
||||||
<include refid="sql.pagedynamic"></include>
|
<include refid="sql.pagedynamic"></include>
|
||||||
) a
|
) a
|
||||||
left outer join cmexq eq on eq.qno=a.qno
|
left outer join cmexq eq on eq.qno=a.qno
|
||||||
left outer join lectexq ued on ued.eqno=eq.eqno
|
left outer join lectexq ued on ued.eqno=eq.eqno
|
||||||
left outer join users u on u.userid = a.instructors
|
|
||||||
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc
|
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc
|
||||||
,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.udt,a.instructors
|
,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.udt,a.instructors,a.usertype,a.instructors_name
|
||||||
<dynamic prepend="having">
|
<dynamic prepend="having">
|
||||||
<isNotNull property="qcount" prepend="and">count(ued.examno)=#qcount#</isNotNull>
|
<isNotNull property="qcount" prepend="and">count(ued.examno)=#qcount#</isNotNull>
|
||||||
<isNotNull property="ecount" prepend="and">sum(case when ued.atext is not null then 1 else 0 end)=#ecount#</isNotNull>
|
<isNotNull property="ecount" prepend="and">sum(case when ued.atext is not null then 1 else 0 end)=#ecount#</isNotNull>
|
||||||
<isNotNull property="rrate" prepend="and">case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end=#rrate#</isNotNull>
|
<isNotNull property="rrate" prepend="and">case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end=#rrate#</isNotNull>
|
||||||
<isNotNull property="instuctorName" prepend="and">u.username like concat('%', #instuctorName#, '%')</isNotNull>
|
|
||||||
</dynamic>
|
</dynamic>
|
||||||
order by a.rno
|
order by a.rno
|
||||||
</select>
|
</select>
|
||||||
|
|
@ -1458,8 +1466,8 @@
|
||||||
drop temporary table if exists temp_cminning_mapping;
|
drop temporary table if exists temp_cminning_mapping;
|
||||||
</update>
|
</update>
|
||||||
<insert id="cm.cmcopy.ex0" parameterClass="cmex">
|
<insert id="cm.cmcopy.ex0" parameterClass="cmex">
|
||||||
insert into cmex (cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,isdel,<include refid="sql.inc"></include>)
|
insert into cmex (cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,isdel,cmisno,testsdate,testedate,<include refid="sql.inc"></include>)
|
||||||
select #cmno#,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,0,<include refid="sql.inv"></include>
|
select #cmno#,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,0,cmisno,testsdate,testedate,<include refid="sql.inv"></include>
|
||||||
from cmex a
|
from cmex a
|
||||||
where a.exno=#orgexno#;
|
where a.exno=#orgexno#;
|
||||||
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
||||||
|
|
@ -1938,13 +1946,14 @@
|
||||||
,a.isselected
|
,a.isselected
|
||||||
<!--,case when a.remainPeople <= 0 then 0 else 1 end isend-->
|
<!--,case when a.remainPeople <= 0 then 0 else 1 end isend-->
|
||||||
, 1 isend
|
, 1 isend
|
||||||
|
,a.instructors
|
||||||
from
|
from
|
||||||
(
|
(
|
||||||
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,month(a.estart) startmonth
|
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 in (1,2) and z.ischanged=0)) remainPeople
|
,(a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status in (1,2) and z.ischanged=0)) remainPeople
|
||||||
,a.studyplace,case when c.scdtype =1 then '온라인' else e.cname end studyplacename
|
,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
|
,case when date_format(d.setime,'%Y%m%d') = date_format(a.estart,'%Y%m%d') then 1 else 0 end isselected
|
||||||
,a.comment
|
,a.comment,a.instructors
|
||||||
from cminningscd a
|
from cminningscd a
|
||||||
left outer join cminning c on c.cmino = a.cmino
|
left outer join cminning c on c.cmino = a.cmino
|
||||||
left outer join cm d on d.cmno = c.cmno
|
left outer join cm d on d.cmno = c.cmno
|
||||||
|
|
@ -2292,8 +2301,8 @@
|
||||||
,null as iseq,null as teachername
|
,null as iseq,null as teachername
|
||||||
,b.cshape
|
,b.cshape
|
||||||
,c.cmisno
|
,c.cmisno
|
||||||
,c.estart
|
,DATE_FORMAT(c.estart, '%Y-%m-%d') AS estart
|
||||||
,c.eend
|
,DATE_FORMAT(c.eend, '%Y-%m-%d') AS eend
|
||||||
,c.instructors
|
,c.instructors
|
||||||
from cmex a
|
from cmex a
|
||||||
left join cm b ON b.cmno = a.cmno
|
left join cm b ON b.cmno = a.cmno
|
||||||
|
|
@ -2301,7 +2310,7 @@
|
||||||
where a.cmno=#cmno# and a.isdel=0
|
where a.cmno=#cmno# and a.isdel=0
|
||||||
<isNotNull property="estart" prepend="and">c.estart >= concat(#estart#, ' 00:00:00')</isNotNull>
|
<isNotNull property="estart" prepend="and">c.estart >= concat(#estart#, ' 00:00:00')</isNotNull>
|
||||||
<isNotNull property="eend" prepend="and">c.eend <= concat(#eend#, ' 23:59:59')</isNotNull>
|
<isNotNull property="eend" prepend="and">c.eend <= concat(#eend#, ' 23:59:59')</isNotNull>
|
||||||
<isNotNull property="instructors" prepend="and">c.instructors like concat('%',#instructors#,'%')</isNotNull>
|
<isNotNull property="instructors" prepend="and">FIND_IN_SET((SELECT userid FROM users WHERE username = #instructors#), c.instructors) > 0</isNotNull>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="cm.est2" parameterClass="int" resultClass="est">
|
<select id="cm.est2" parameterClass="int" resultClass="est">
|
||||||
|
|
|
||||||
|
|
@ -386,12 +386,13 @@
|
||||||
|
|
||||||
<select id="cm.cmdatas" parameterClass="int" resultClass="data">
|
<select id="cm.cmdatas" parameterClass="int" resultClass="data">
|
||||||
select a.dtype,a.intval,a.intval2,a.intval3
|
select a.dtype,a.intval,a.intval2,a.intval3
|
||||||
,a.strval,a.strval2
|
,a.strval,a.strval2,a.strval3
|
||||||
from(
|
from(
|
||||||
select 1 dtype
|
select 1 dtype
|
||||||
,a.userno intval,b.usertype intval2
|
,a.userno intval,b.usertype intval2
|
||||||
,row_number() over (order by b.username desc) intval3
|
,row_number() over (order by b.username desc) intval3
|
||||||
,b.username strval,null strval2
|
,b.username strval,null strval2
|
||||||
|
,b.userid strval3
|
||||||
from cmprof a
|
from cmprof a
|
||||||
inner join users b on b.userno=a.userno
|
inner join users b on b.userno=a.userno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -402,6 +403,7 @@
|
||||||
,b.bkno,0
|
,b.bkno,0
|
||||||
,row_number() over (order by b.bkno) intval3
|
,row_number() over (order by b.bkno) intval3
|
||||||
,b.bkname,null
|
,b.bkname,null
|
||||||
|
,null strval3
|
||||||
from cmbook a
|
from cmbook a
|
||||||
inner join book b on b.bkno=a.bkno
|
inner join book b on b.bkno=a.bkno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -410,6 +412,7 @@
|
||||||
,b.cmno,a.ispre
|
,b.cmno,a.ispre
|
||||||
,row_number() over (order by b.cmno) intval3
|
,row_number() over (order by b.cmno) intval3
|
||||||
,b.cname,null
|
,b.cname,null
|
||||||
|
, null strval3
|
||||||
from cmrelay a
|
from cmrelay a
|
||||||
inner join cm b on b.cmno=a.rcmno
|
inner join cm b on b.cmno=a.rcmno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -418,6 +421,7 @@
|
||||||
,b.ndno,0
|
,b.ndno,0
|
||||||
,row_number() over (order by b.ndno) intval3
|
,row_number() over (order by b.ndno) intval3
|
||||||
,b.dname,b.acode
|
,b.dname,b.acode
|
||||||
|
,null strval3
|
||||||
from cmncsd a
|
from cmncsd a
|
||||||
inner join ncsd b on b.ndno=a.ndno
|
inner join ncsd b on b.ndno=a.ndno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -834,6 +838,9 @@
|
||||||
<update id="cm.cmex.savetop" parameterClass="cmex">
|
<update id="cm.cmex.savetop" parameterClass="cmex">
|
||||||
UPDATE cmex SET <include refid="sql.up"></include>,exname=#exname#,edesc=#edesc#,econdition=#econdition#,isblur=#isblur#,isusebackup=#isusebackup#
|
UPDATE cmex SET <include refid="sql.up"></include>,exname=#exname#,edesc=#edesc#,econdition=#econdition#,isblur=#isblur#,isusebackup=#isusebackup#
|
||||||
,isseq=#isseq#,isreexamable=#isreexamable#,isresultopen=#isresultopen#,etime=#etime#
|
,isseq=#isseq#,isreexamable=#isreexamable#,isresultopen=#isresultopen#,etime=#etime#
|
||||||
|
,cmisno = #cmisno#
|
||||||
|
,testsdate = #testsdate#
|
||||||
|
,testedate = #testedate#
|
||||||
where exno=#exno#
|
where exno=#exno#
|
||||||
</update>
|
</update>
|
||||||
<select id="cm.cmex.extype1count" parameterClass="hashtable" resultClass="int">
|
<select id="cm.cmex.extype1count" parameterClass="hashtable" resultClass="int">
|
||||||
|
|
@ -843,8 +850,8 @@
|
||||||
</select>
|
</select>
|
||||||
<insert id="cm.cmex.in" parameterClass="cmex">
|
<insert id="cm.cmex.in" parameterClass="cmex">
|
||||||
INSERT INTO cmex
|
INSERT INTO cmex
|
||||||
(cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isreexamable,isresultopen,isdel,<include refid="sql.inc"></include>)
|
(cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isreexamable,isresultopen,isdel,cmisno,testsdate,testedate,<include refid="sql.inc"></include>)
|
||||||
values (#cmno#,#extype#,#exname#,#edesc#,#etime#,#econdition#,#evtype#,#eqtype#,#israndq#,#israndqi#,#qcount#,#isblur#,#tpoint#,#relaylimit#,#isusebackup#,#isseq#,#isreexamable#,#isresultopen#,0,<include refid="sql.inv"></include>)
|
values (#cmno#,#extype#,#exname#,#edesc#,#etime#,#econdition#,#evtype#,#eqtype#,#israndq#,#israndqi#,#qcount#,#isblur#,#tpoint#,#relaylimit#,#isusebackup#,#isseq#,#isreexamable#,#isresultopen#,0,#cmisno#,#testsdate#,#testedate#,<include refid="sql.inv"></include>)
|
||||||
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
||||||
</insert>
|
</insert>
|
||||||
<update id="cm.cmex.up" parameterClass="cmex">
|
<update id="cm.cmex.up" parameterClass="cmex">
|
||||||
|
|
@ -928,13 +935,13 @@
|
||||||
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
||||||
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
||||||
,a.instructors
|
,a.instructors
|
||||||
,u.usertype
|
,a.usertype
|
||||||
,u.username AS instructors_name
|
,a.instructors_name
|
||||||
from (
|
from (
|
||||||
select a.*,b.cname
|
select a.*,b.cname
|
||||||
from (
|
from (
|
||||||
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5, a.cdt,a.udt
|
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5, a.cdt,a.udt
|
||||||
,a.ispassspace,a.isignorecase,a.instructors
|
,a.ispassspace,a.isignorecase,a.instructors, u.usertype, u.username as instructors_name
|
||||||
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
||||||
,<include refid="sql.prc"></include>
|
,<include refid="sql.prc"></include>
|
||||||
from question a
|
from question a
|
||||||
|
|
@ -944,6 +951,7 @@
|
||||||
left outer join comcode cc3 on cc3.ccode = a.cc3
|
left outer join comcode cc3 on cc3.ccode = a.cc3
|
||||||
left outer join comcode cc4 on cc4.ccode = a.cc4
|
left outer join comcode cc4 on cc4.ccode = a.cc4
|
||||||
left outer join comcode cc5 on cc5.ccode = a.cc5
|
left outer join comcode cc5 on cc5.ccode = a.cc5
|
||||||
|
left outer join users u on u.userid = a.instructors
|
||||||
<dynamic prepend="where">
|
<dynamic prepend="where">
|
||||||
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
||||||
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
||||||
|
|
@ -956,7 +964,7 @@
|
||||||
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
||||||
<isNotNull property="qtextstring" prepend="and">a.qtextstring like concat('%', #searchtext#,'%')</isNotNull>
|
<isNotNull property="qtextstring" prepend="and">a.qtextstring like concat('%', #searchtext#,'%')</isNotNull>
|
||||||
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
||||||
<isNotNull property="instructors" prepend="and">a.instructors like concat('%', #instructors#, '%')</isNotNull>
|
<isNotNull property="instructors" prepend="and">u.username like concat('%', #instructors#, '%')</isNotNull>
|
||||||
</dynamic>
|
</dynamic>
|
||||||
) a
|
) a
|
||||||
left outer join cm b on b.cmno=a.cmno
|
left outer join cm b on b.cmno=a.cmno
|
||||||
|
|
@ -964,9 +972,8 @@
|
||||||
) a
|
) a
|
||||||
left outer join cmexq eq on eq.qno=a.qno
|
left outer join cmexq eq on eq.qno=a.qno
|
||||||
left outer join lectexq ued on ued.eqno=eq.eqno
|
left outer join lectexq ued on ued.eqno=eq.eqno
|
||||||
<!--LEFT OUTER JOIN users u ON FIND_IN_SET(u.userid, a.instructors) > 0-->
|
<!--LEFT OUTER JOIN users u ON FIND_IN_SET(u.userid, a.instructors) > 0//-->
|
||||||
left outer join users u on u.userid = a.instructors
|
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.ispassspace,a.isignorecase,a.instructors,a.usertype,a.instructors_name
|
||||||
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.ispassspace,a.isignorecase,a.instructors
|
|
||||||
order by a.RNO
|
order by a.RNO
|
||||||
</select>
|
</select>
|
||||||
<select id="cm.questions2" parameterClass="hashtable" resultClass="question">
|
<select id="cm.questions2" parameterClass="hashtable" resultClass="question">
|
||||||
|
|
@ -976,12 +983,12 @@
|
||||||
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
||||||
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
||||||
,a.instructors
|
,a.instructors
|
||||||
,u.usertype
|
,a.usertype
|
||||||
,u.username AS instructors_name
|
,a.instructors_name
|
||||||
from (
|
from (
|
||||||
select a.*
|
select a.*
|
||||||
from (
|
from (
|
||||||
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.cdt,a.udt,a.instructors
|
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.cdt,a.udt,a.instructors,u.usertype,u.username as instructors_name
|
||||||
,b.cname
|
,b.cname
|
||||||
, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5
|
, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5
|
||||||
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
||||||
|
|
@ -994,6 +1001,7 @@
|
||||||
left outer join comcode cc3 on cc3.ccode = a.cc3
|
left outer join comcode cc3 on cc3.ccode = a.cc3
|
||||||
left outer join comcode cc4 on cc4.ccode = a.cc4
|
left outer join comcode cc4 on cc4.ccode = a.cc4
|
||||||
left outer join comcode cc5 on cc5.ccode = a.cc5
|
left outer join comcode cc5 on cc5.ccode = a.cc5
|
||||||
|
left outer join users u on u.userid = a.instructors
|
||||||
<dynamic prepend="where">
|
<dynamic prepend="where">
|
||||||
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
||||||
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
||||||
|
|
@ -1009,20 +1017,20 @@
|
||||||
<isEqual property="searchtype" compareValue="qno" prepend="and">a.qno = #searchtext#</isEqual>
|
<isEqual property="searchtype" compareValue="qno" prepend="and">a.qno = #searchtext#</isEqual>
|
||||||
</isNotNull>
|
</isNotNull>
|
||||||
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
||||||
|
<isNotNull property="instuctorName" prepend="and">u.username like concat('%', #instuctorName#, '%')</isNotNull>
|
||||||
|
<isNotNull property="scdinstuctor" prepend="and">FIND_IN_SET(u.userid, #scdinstuctor#) > 0</isNotNull>
|
||||||
</dynamic>
|
</dynamic>
|
||||||
) a
|
) a
|
||||||
<include refid="sql.pagedynamic"></include>
|
<include refid="sql.pagedynamic"></include>
|
||||||
) a
|
) a
|
||||||
left outer join cmexq eq on eq.qno=a.qno
|
left outer join cmexq eq on eq.qno=a.qno
|
||||||
left outer join lectexq ued on ued.eqno=eq.eqno
|
left outer join lectexq ued on ued.eqno=eq.eqno
|
||||||
left outer join users u on u.userid = a.instructors
|
|
||||||
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc
|
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc
|
||||||
,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.udt,a.instructors
|
,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.udt,a.instructors,a.usertype,a.instructors_name
|
||||||
<dynamic prepend="having">
|
<dynamic prepend="having">
|
||||||
<isNotNull property="qcount" prepend="and">count(ued.examno)=#qcount#</isNotNull>
|
<isNotNull property="qcount" prepend="and">count(ued.examno)=#qcount#</isNotNull>
|
||||||
<isNotNull property="ecount" prepend="and">sum(case when ued.atext is not null then 1 else 0 end)=#ecount#</isNotNull>
|
<isNotNull property="ecount" prepend="and">sum(case when ued.atext is not null then 1 else 0 end)=#ecount#</isNotNull>
|
||||||
<isNotNull property="rrate" prepend="and">case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end=#rrate#</isNotNull>
|
<isNotNull property="rrate" prepend="and">case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end=#rrate#</isNotNull>
|
||||||
<isNotNull property="instuctorName" prepend="and">u.username like concat('%', #instuctorName#, '%')</isNotNull>
|
|
||||||
</dynamic>
|
</dynamic>
|
||||||
order by a.rno
|
order by a.rno
|
||||||
</select>
|
</select>
|
||||||
|
|
@ -1458,8 +1466,8 @@
|
||||||
drop temporary table if exists temp_cminning_mapping;
|
drop temporary table if exists temp_cminning_mapping;
|
||||||
</update>
|
</update>
|
||||||
<insert id="cm.cmcopy.ex0" parameterClass="cmex">
|
<insert id="cm.cmcopy.ex0" parameterClass="cmex">
|
||||||
insert into cmex (cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,isdel,<include refid="sql.inc"></include>)
|
insert into cmex (cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,isdel,cmisno,testsdate,testedate,<include refid="sql.inc"></include>)
|
||||||
select #cmno#,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,0,<include refid="sql.inv"></include>
|
select #cmno#,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,0,cmisno,testsdate,testedate,<include refid="sql.inv"></include>
|
||||||
from cmex a
|
from cmex a
|
||||||
where a.exno=#orgexno#;
|
where a.exno=#orgexno#;
|
||||||
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
||||||
|
|
@ -1938,13 +1946,14 @@
|
||||||
,a.isselected
|
,a.isselected
|
||||||
<!--,case when a.remainPeople <= 0 then 0 else 1 end isend-->
|
<!--,case when a.remainPeople <= 0 then 0 else 1 end isend-->
|
||||||
, 1 isend
|
, 1 isend
|
||||||
|
,a.instructors
|
||||||
from
|
from
|
||||||
(
|
(
|
||||||
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,month(a.estart) startmonth
|
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 in (1,2) and z.ischanged=0)) remainPeople
|
,(a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status in (1,2) and z.ischanged=0)) remainPeople
|
||||||
,a.studyplace,case when c.scdtype =1 then '온라인' else e.cname end studyplacename
|
,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
|
,case when date_format(d.setime,'%Y%m%d') = date_format(a.estart,'%Y%m%d') then 1 else 0 end isselected
|
||||||
,a.comment
|
,a.comment,a.instructors
|
||||||
from cminningscd a
|
from cminningscd a
|
||||||
left outer join cminning c on c.cmino = a.cmino
|
left outer join cminning c on c.cmino = a.cmino
|
||||||
left outer join cm d on d.cmno = c.cmno
|
left outer join cm d on d.cmno = c.cmno
|
||||||
|
|
@ -2293,8 +2302,8 @@
|
||||||
,null as iseq,null as teachername
|
,null as iseq,null as teachername
|
||||||
,b.cshape
|
,b.cshape
|
||||||
,c.cmisno
|
,c.cmisno
|
||||||
,c.estart
|
,DATE_FORMAT(c.estart, '%Y-%m-%d') AS estart
|
||||||
,c.eend
|
,DATE_FORMAT(c.eend, '%Y-%m-%d') AS eend
|
||||||
,c.instructors
|
,c.instructors
|
||||||
from cmex a
|
from cmex a
|
||||||
left join cm b ON b.cmno = a.cmno
|
left join cm b ON b.cmno = a.cmno
|
||||||
|
|
@ -2302,7 +2311,7 @@
|
||||||
where a.cmno=#cmno# and a.isdel=0
|
where a.cmno=#cmno# and a.isdel=0
|
||||||
<isNotNull property="estart" prepend="and">c.estart >= concat(#estart#, ' 00:00:00')</isNotNull>
|
<isNotNull property="estart" prepend="and">c.estart >= concat(#estart#, ' 00:00:00')</isNotNull>
|
||||||
<isNotNull property="eend" prepend="and">c.eend <= concat(#eend#, ' 23:59:59')</isNotNull>
|
<isNotNull property="eend" prepend="and">c.eend <= concat(#eend#, ' 23:59:59')</isNotNull>
|
||||||
<isNotNull property="instructors" prepend="and">c.instructors like concat('%',#instructors#,'%')</isNotNull>
|
<isNotNull property="instructors" prepend="and">FIND_IN_SET((SELECT userid FROM users WHERE username = #instructors#), c.instructors) > 0</isNotNull>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="cm.est2" parameterClass="int" resultClass="est">
|
<select id="cm.est2" parameterClass="int" resultClass="est">
|
||||||
|
|
|
||||||
|
|
@ -386,12 +386,13 @@
|
||||||
|
|
||||||
<select id="cm.cmdatas" parameterClass="int" resultClass="data">
|
<select id="cm.cmdatas" parameterClass="int" resultClass="data">
|
||||||
select a.dtype,a.intval,a.intval2,a.intval3
|
select a.dtype,a.intval,a.intval2,a.intval3
|
||||||
,a.strval,a.strval2
|
,a.strval,a.strval2,a.strval3
|
||||||
from(
|
from(
|
||||||
select 1 dtype
|
select 1 dtype
|
||||||
,a.userno intval,b.usertype intval2
|
,a.userno intval,b.usertype intval2
|
||||||
,row_number() over (order by b.username desc) intval3
|
,row_number() over (order by b.username desc) intval3
|
||||||
,b.username strval,null strval2
|
,b.username strval,null strval2
|
||||||
|
,b.userid strval3
|
||||||
from cmprof a
|
from cmprof a
|
||||||
inner join users b on b.userno=a.userno
|
inner join users b on b.userno=a.userno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -402,6 +403,7 @@
|
||||||
,b.bkno,0
|
,b.bkno,0
|
||||||
,row_number() over (order by b.bkno) intval3
|
,row_number() over (order by b.bkno) intval3
|
||||||
,b.bkname,null
|
,b.bkname,null
|
||||||
|
,null strval3
|
||||||
from cmbook a
|
from cmbook a
|
||||||
inner join book b on b.bkno=a.bkno
|
inner join book b on b.bkno=a.bkno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -410,6 +412,7 @@
|
||||||
,b.cmno,a.ispre
|
,b.cmno,a.ispre
|
||||||
,row_number() over (order by b.cmno) intval3
|
,row_number() over (order by b.cmno) intval3
|
||||||
,b.cname,null
|
,b.cname,null
|
||||||
|
, null strval3
|
||||||
from cmrelay a
|
from cmrelay a
|
||||||
inner join cm b on b.cmno=a.rcmno
|
inner join cm b on b.cmno=a.rcmno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -418,6 +421,7 @@
|
||||||
,b.ndno,0
|
,b.ndno,0
|
||||||
,row_number() over (order by b.ndno) intval3
|
,row_number() over (order by b.ndno) intval3
|
||||||
,b.dname,b.acode
|
,b.dname,b.acode
|
||||||
|
,null strval3
|
||||||
from cmncsd a
|
from cmncsd a
|
||||||
inner join ncsd b on b.ndno=a.ndno
|
inner join ncsd b on b.ndno=a.ndno
|
||||||
where a.cmno=#cmno#
|
where a.cmno=#cmno#
|
||||||
|
|
@ -834,6 +838,9 @@
|
||||||
<update id="cm.cmex.savetop" parameterClass="cmex">
|
<update id="cm.cmex.savetop" parameterClass="cmex">
|
||||||
UPDATE cmex SET <include refid="sql.up"></include>,exname=#exname#,edesc=#edesc#,econdition=#econdition#,isblur=#isblur#,isusebackup=#isusebackup#
|
UPDATE cmex SET <include refid="sql.up"></include>,exname=#exname#,edesc=#edesc#,econdition=#econdition#,isblur=#isblur#,isusebackup=#isusebackup#
|
||||||
,isseq=#isseq#,isreexamable=#isreexamable#,isresultopen=#isresultopen#,etime=#etime#
|
,isseq=#isseq#,isreexamable=#isreexamable#,isresultopen=#isresultopen#,etime=#etime#
|
||||||
|
,cmisno = #cmisno#
|
||||||
|
,testsdate = #testsdate#
|
||||||
|
,testedate = #testedate#
|
||||||
where exno=#exno#
|
where exno=#exno#
|
||||||
</update>
|
</update>
|
||||||
<select id="cm.cmex.extype1count" parameterClass="hashtable" resultClass="int">
|
<select id="cm.cmex.extype1count" parameterClass="hashtable" resultClass="int">
|
||||||
|
|
@ -843,8 +850,8 @@
|
||||||
</select>
|
</select>
|
||||||
<insert id="cm.cmex.in" parameterClass="cmex">
|
<insert id="cm.cmex.in" parameterClass="cmex">
|
||||||
INSERT INTO cmex
|
INSERT INTO cmex
|
||||||
(cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isreexamable,isresultopen,isdel,<include refid="sql.inc"></include>)
|
(cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isreexamable,isresultopen,isdel,cmisno,testsdate,testedate,<include refid="sql.inc"></include>)
|
||||||
values (#cmno#,#extype#,#exname#,#edesc#,#etime#,#econdition#,#evtype#,#eqtype#,#israndq#,#israndqi#,#qcount#,#isblur#,#tpoint#,#relaylimit#,#isusebackup#,#isseq#,#isreexamable#,#isresultopen#,0,<include refid="sql.inv"></include>)
|
values (#cmno#,#extype#,#exname#,#edesc#,#etime#,#econdition#,#evtype#,#eqtype#,#israndq#,#israndqi#,#qcount#,#isblur#,#tpoint#,#relaylimit#,#isusebackup#,#isseq#,#isreexamable#,#isresultopen#,0,#cmisno#,#testsdate#,#testedate#,<include refid="sql.inv"></include>)
|
||||||
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
||||||
</insert>
|
</insert>
|
||||||
<update id="cm.cmex.up" parameterClass="cmex">
|
<update id="cm.cmex.up" parameterClass="cmex">
|
||||||
|
|
@ -928,13 +935,13 @@
|
||||||
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
||||||
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
||||||
,a.instructors
|
,a.instructors
|
||||||
,u.usertype
|
,a.usertype
|
||||||
,u.username AS instructors_name
|
,a.instructors_name
|
||||||
from (
|
from (
|
||||||
select a.*,b.cname
|
select a.*,b.cname
|
||||||
from (
|
from (
|
||||||
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5, a.cdt,a.udt
|
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5, a.cdt,a.udt
|
||||||
,a.ispassspace,a.isignorecase,a.instructors
|
,a.ispassspace,a.isignorecase,a.instructors, u.usertype, u.username as instructors_name
|
||||||
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
||||||
,<include refid="sql.prc"></include>
|
,<include refid="sql.prc"></include>
|
||||||
from question a
|
from question a
|
||||||
|
|
@ -944,6 +951,7 @@
|
||||||
left outer join comcode cc3 on cc3.ccode = a.cc3
|
left outer join comcode cc3 on cc3.ccode = a.cc3
|
||||||
left outer join comcode cc4 on cc4.ccode = a.cc4
|
left outer join comcode cc4 on cc4.ccode = a.cc4
|
||||||
left outer join comcode cc5 on cc5.ccode = a.cc5
|
left outer join comcode cc5 on cc5.ccode = a.cc5
|
||||||
|
left outer join users u on u.userid = a.instructors
|
||||||
<dynamic prepend="where">
|
<dynamic prepend="where">
|
||||||
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
||||||
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
||||||
|
|
@ -956,7 +964,7 @@
|
||||||
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
||||||
<isNotNull property="qtextstring" prepend="and">a.qtextstring like concat('%', #searchtext#,'%')</isNotNull>
|
<isNotNull property="qtextstring" prepend="and">a.qtextstring like concat('%', #searchtext#,'%')</isNotNull>
|
||||||
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
||||||
<isNotNull property="instructors" prepend="and">a.instructors like concat('%', #instructors#, '%')</isNotNull>
|
<isNotNull property="instructors" prepend="and">u.username like concat('%', #instructors#, '%')</isNotNull>
|
||||||
</dynamic>
|
</dynamic>
|
||||||
) a
|
) a
|
||||||
left outer join cm b on b.cmno=a.cmno
|
left outer join cm b on b.cmno=a.cmno
|
||||||
|
|
@ -964,9 +972,8 @@
|
||||||
) a
|
) a
|
||||||
left outer join cmexq eq on eq.qno=a.qno
|
left outer join cmexq eq on eq.qno=a.qno
|
||||||
left outer join lectexq ued on ued.eqno=eq.eqno
|
left outer join lectexq ued on ued.eqno=eq.eqno
|
||||||
<!--LEFT OUTER JOIN users u ON FIND_IN_SET(u.userid, a.instructors) > 0-->
|
<!--LEFT OUTER JOIN users u ON FIND_IN_SET(u.userid, a.instructors) > 0//-->
|
||||||
left outer join users u on u.userid = a.instructors
|
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.ispassspace,a.isignorecase,a.instructors,a.usertype,a.instructors_name
|
||||||
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.ispassspace,a.isignorecase,a.instructors
|
|
||||||
order by a.RNO
|
order by a.RNO
|
||||||
</select>
|
</select>
|
||||||
<select id="cm.questions2" parameterClass="hashtable" resultClass="question">
|
<select id="cm.questions2" parameterClass="hashtable" resultClass="question">
|
||||||
|
|
@ -976,12 +983,12 @@
|
||||||
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
||||||
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
||||||
,a.instructors
|
,a.instructors
|
||||||
,u.usertype
|
,a.usertype
|
||||||
,u.username AS instructors_name
|
,a.instructors_name
|
||||||
from (
|
from (
|
||||||
select a.*
|
select a.*
|
||||||
from (
|
from (
|
||||||
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.cdt,a.udt,a.instructors
|
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.cdt,a.udt,a.instructors,u.usertype,u.username as instructors_name
|
||||||
,b.cname
|
,b.cname
|
||||||
, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5
|
, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5
|
||||||
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
||||||
|
|
@ -994,6 +1001,7 @@
|
||||||
left outer join comcode cc3 on cc3.ccode = a.cc3
|
left outer join comcode cc3 on cc3.ccode = a.cc3
|
||||||
left outer join comcode cc4 on cc4.ccode = a.cc4
|
left outer join comcode cc4 on cc4.ccode = a.cc4
|
||||||
left outer join comcode cc5 on cc5.ccode = a.cc5
|
left outer join comcode cc5 on cc5.ccode = a.cc5
|
||||||
|
left outer join users u on u.userid = a.instructors
|
||||||
<dynamic prepend="where">
|
<dynamic prepend="where">
|
||||||
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
||||||
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
||||||
|
|
@ -1009,20 +1017,20 @@
|
||||||
<isEqual property="searchtype" compareValue="qno" prepend="and">a.qno = #searchtext#</isEqual>
|
<isEqual property="searchtype" compareValue="qno" prepend="and">a.qno = #searchtext#</isEqual>
|
||||||
</isNotNull>
|
</isNotNull>
|
||||||
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
||||||
|
<isNotNull property="instuctorName" prepend="and">u.username like concat('%', #instuctorName#, '%')</isNotNull>
|
||||||
|
<isNotNull property="scdinstuctor" prepend="and">FIND_IN_SET(u.userid, #scdinstuctor#) > 0</isNotNull>
|
||||||
</dynamic>
|
</dynamic>
|
||||||
) a
|
) a
|
||||||
<include refid="sql.pagedynamic"></include>
|
<include refid="sql.pagedynamic"></include>
|
||||||
) a
|
) a
|
||||||
left outer join cmexq eq on eq.qno=a.qno
|
left outer join cmexq eq on eq.qno=a.qno
|
||||||
left outer join lectexq ued on ued.eqno=eq.eqno
|
left outer join lectexq ued on ued.eqno=eq.eqno
|
||||||
left outer join users u on u.userid = a.instructors
|
|
||||||
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc
|
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc
|
||||||
,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.udt,a.instructors
|
,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.udt,a.instructors,a.usertype,a.instructors_name
|
||||||
<dynamic prepend="having">
|
<dynamic prepend="having">
|
||||||
<isNotNull property="qcount" prepend="and">count(ued.examno)=#qcount#</isNotNull>
|
<isNotNull property="qcount" prepend="and">count(ued.examno)=#qcount#</isNotNull>
|
||||||
<isNotNull property="ecount" prepend="and">sum(case when ued.atext is not null then 1 else 0 end)=#ecount#</isNotNull>
|
<isNotNull property="ecount" prepend="and">sum(case when ued.atext is not null then 1 else 0 end)=#ecount#</isNotNull>
|
||||||
<isNotNull property="rrate" prepend="and">case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end=#rrate#</isNotNull>
|
<isNotNull property="rrate" prepend="and">case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end=#rrate#</isNotNull>
|
||||||
<isNotNull property="instuctorName" prepend="and">u.username like concat('%', #instuctorName#, '%')</isNotNull>
|
|
||||||
</dynamic>
|
</dynamic>
|
||||||
order by a.rno
|
order by a.rno
|
||||||
</select>
|
</select>
|
||||||
|
|
@ -1458,8 +1466,8 @@
|
||||||
drop temporary table if exists temp_cminning_mapping;
|
drop temporary table if exists temp_cminning_mapping;
|
||||||
</update>
|
</update>
|
||||||
<insert id="cm.cmcopy.ex0" parameterClass="cmex">
|
<insert id="cm.cmcopy.ex0" parameterClass="cmex">
|
||||||
insert into cmex (cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,isdel,<include refid="sql.inc"></include>)
|
insert into cmex (cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,isdel,cmisno,testsdate,testedate,<include refid="sql.inc"></include>)
|
||||||
select #cmno#,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,0,<include refid="sql.inv"></include>
|
select #cmno#,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isreexamable,0,cmisno,testsdate,testedate,<include refid="sql.inv"></include>
|
||||||
from cmex a
|
from cmex a
|
||||||
where a.exno=#orgexno#;
|
where a.exno=#orgexno#;
|
||||||
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
||||||
|
|
@ -1938,13 +1946,14 @@
|
||||||
,a.isselected
|
,a.isselected
|
||||||
<!--,case when a.remainPeople <= 0 then 0 else 1 end isend-->
|
<!--,case when a.remainPeople <= 0 then 0 else 1 end isend-->
|
||||||
, 1 isend
|
, 1 isend
|
||||||
|
,a.instructors
|
||||||
from
|
from
|
||||||
(
|
(
|
||||||
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,month(a.estart) startmonth
|
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 in (1,2) and z.ischanged=0)) remainPeople
|
,(a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status in (1,2) and z.ischanged=0)) remainPeople
|
||||||
,a.studyplace,case when c.scdtype =1 then '온라인' else e.cname end studyplacename
|
,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
|
,case when date_format(d.setime,'%Y%m%d') = date_format(a.estart,'%Y%m%d') then 1 else 0 end isselected
|
||||||
,a.comment
|
,a.comment,a.instructors
|
||||||
from cminningscd a
|
from cminningscd a
|
||||||
left outer join cminning c on c.cmino = a.cmino
|
left outer join cminning c on c.cmino = a.cmino
|
||||||
left outer join cm d on d.cmno = c.cmno
|
left outer join cm d on d.cmno = c.cmno
|
||||||
|
|
@ -2295,8 +2304,8 @@
|
||||||
,null as iseq,null as teachername
|
,null as iseq,null as teachername
|
||||||
,b.cshape
|
,b.cshape
|
||||||
,c.cmisno
|
,c.cmisno
|
||||||
,c.estart
|
,DATE_FORMAT(c.estart, '%Y-%m-%d') AS estart
|
||||||
,c.eend
|
,DATE_FORMAT(c.eend, '%Y-%m-%d') AS eend
|
||||||
,c.instructors
|
,c.instructors
|
||||||
from cmex a
|
from cmex a
|
||||||
left join cm b ON b.cmno = a.cmno
|
left join cm b ON b.cmno = a.cmno
|
||||||
|
|
@ -2304,7 +2313,7 @@
|
||||||
where a.cmno=#cmno# and a.isdel=0
|
where a.cmno=#cmno# and a.isdel=0
|
||||||
<isNotNull property="estart" prepend="and">c.estart >= concat(#estart#, ' 00:00:00')</isNotNull>
|
<isNotNull property="estart" prepend="and">c.estart >= concat(#estart#, ' 00:00:00')</isNotNull>
|
||||||
<isNotNull property="eend" prepend="and">c.eend <= concat(#eend#, ' 23:59:59')</isNotNull>
|
<isNotNull property="eend" prepend="and">c.eend <= concat(#eend#, ' 23:59:59')</isNotNull>
|
||||||
<isNotNull property="instructors" prepend="and">c.instructors like concat('%',#instructors#,'%')</isNotNull>
|
<isNotNull property="instructors" prepend="and">FIND_IN_SET((SELECT userid FROM users WHERE username = #instructors#), c.instructors) > 0</isNotNull>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="cm.est2" parameterClass="int" resultClass="est">
|
<select id="cm.est2" parameterClass="int" resultClass="est">
|
||||||
|
|
|
||||||
Binary file not shown.
Loading…
Reference in New Issue