영남 사전설문 => 강사설문 으로 변경 추가개발
This commit is contained in:
parent
bf9fc91992
commit
d5c0b04f89
|
|
@ -225,6 +225,8 @@ namespace NP.BO.Controllers
|
||||||
ModelState.Clear();
|
ModelState.Clear();
|
||||||
vm.CMRS = new CMRS() { cmno = vm.cmno, rstype = -1 };
|
vm.CMRS = new CMRS() { cmno = vm.cmno, rstype = -1 };
|
||||||
vm.examsavable = "";
|
vm.examsavable = "";
|
||||||
|
//설문 회차조건 추가
|
||||||
|
vm.CMInnings = Dao.Get<CMInning>("cm.cminnings", new System.Collections.Hashtable() { { "cmno", vm.cmno }, { "isscd", 0 } });
|
||||||
if (vm.intval > 0)
|
if (vm.intval > 0)
|
||||||
{
|
{
|
||||||
vm.CMRS = Dao.Get<CMRS>("cm.cmrss", new System.Collections.Hashtable() { { "rsno", vm.intval } }).First();
|
vm.CMRS = Dao.Get<CMRS>("cm.cmrss", new System.Collections.Hashtable() { { "rsno", vm.intval } }).First();
|
||||||
|
|
|
||||||
|
|
@ -343,7 +343,14 @@ namespace NP.BO.Controllers
|
||||||
ht.Add("tmno", vm.stringval2);
|
ht.Add("tmno", vm.stringval2);
|
||||||
ht.Add("cshape", vm.stringval3);
|
ht.Add("cshape", vm.stringval3);
|
||||||
ht.Add("rstype", vm.stringval4);
|
ht.Add("rstype", vm.stringval4);
|
||||||
ht.Add("cnamelike", vm.stringval5);
|
if (vm.searchtype == "teachername")
|
||||||
|
{
|
||||||
|
ht.Add("teachername", vm.stringval5); // 강사명 완전 일치 검색
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ht.Add("cnamelike", vm.stringval5); // 강좌명 like 검색
|
||||||
|
}
|
||||||
vm.CMRSs = Dao.Get<CMRS>("lect.cmrss", ht);
|
vm.CMRSs = Dao.Get<CMRS>("lect.cmrss", ht);
|
||||||
vm.pagetotalcount = GetCount(vm.CMRSs.FirstOrDefault());
|
vm.pagetotalcount = GetCount(vm.CMRSs.FirstOrDefault());
|
||||||
vm.Terms = Dao.Get<Term>("cm.term.ys", new System.Collections.Hashtable() { });
|
vm.Terms = Dao.Get<Term>("cm.term.ys", new System.Collections.Hashtable() { });
|
||||||
|
|
@ -372,7 +379,14 @@ namespace NP.BO.Controllers
|
||||||
row = new System.Web.UI.HtmlControls.HtmlTableRow();
|
row = new System.Web.UI.HtmlControls.HtmlTableRow();
|
||||||
hcell = new System.Web.UI.HtmlControls.HtmlTableCell();
|
hcell = new System.Web.UI.HtmlControls.HtmlTableCell();
|
||||||
hcell.ColSpan = ccnt + 6;
|
hcell.ColSpan = ccnt + 6;
|
||||||
hcell.InnerText = "● 설문종류/설문지 : " + string.Format("{0} / {1}", vm.CMRS.rstypename, vm.CMRS.rscname);
|
if (vm.CMRS.rstype == 1 && !string.IsNullOrEmpty(vm.CMRS.teachername))
|
||||||
|
{
|
||||||
|
hcell.InnerText = "● 설문종류/설문지 : " + string.Format("{0} ({1}) / {2}", vm.CMRS.rstypename, vm.CMRS.teachername, vm.CMRS.rscname);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
hcell.InnerText = "● 설문종류/설문지 : " + string.Format("{0} / {1}", vm.CMRS.rstypename, vm.CMRS.rscname);
|
||||||
|
}
|
||||||
row.Cells.Add(hcell); table.Rows.Add(row);
|
row.Cells.Add(hcell); table.Rows.Add(row);
|
||||||
|
|
||||||
row = new System.Web.UI.HtmlControls.HtmlTableRow();
|
row = new System.Web.UI.HtmlControls.HtmlTableRow();
|
||||||
|
|
|
||||||
|
|
@ -105,7 +105,7 @@
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>평가구분</th>
|
<th>평가구분</th>
|
||||||
<th>회차</th>
|
@*<th>회차</th>*@
|
||||||
<th>평가명</th>
|
<th>평가명</th>
|
||||||
<th>참여조건</th>
|
<th>참여조건</th>
|
||||||
<th>총점</th>
|
<th>총점</th>
|
||||||
|
|
@ -117,9 +117,16 @@
|
||||||
{
|
{
|
||||||
<tr>
|
<tr>
|
||||||
<td>@item.estkindname</td>
|
<td>@item.estkindname</td>
|
||||||
<td>@item.rno</td>
|
@*<td>@item.rno</td>*@
|
||||||
<td class="link"><a href="#" onclick="add(@item.gubun, @item.exno)">@item.exname</a></td>
|
<td class="link"><a href="#" onclick="add(@item.gubun, @item.exno)">@item.exname</a></td>
|
||||||
<td>출석 @item.econdition 이상</td>
|
@if (item.rstype == 1)
|
||||||
|
{
|
||||||
|
<td>@(item.iseq + "회차" + " (" + item.teachername + ")") </td>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<td>출석 @item.econdition 이상</td>
|
||||||
|
}
|
||||||
<td>@(item.estkind < 30 ? (item.tpoint.ToString() + "점") : "-")</td>
|
<td>@(item.estkind < 30 ? (item.tpoint.ToString() + "점") : "-")</td>
|
||||||
<td><a href="#" style="color: red;" onclick="del(@(item.estkind), @item.exno)">[삭제]</a></td>
|
<td><a href="#" style="color: red;" onclick="del(@(item.estkind), @item.exno)">[삭제]</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
|
|
@ -1,140 +1,167 @@
|
||||||
@model NP.Model.VMCM
|
@model NP.Model.VMCM
|
||||||
@{
|
@{
|
||||||
if (Model.CMRS.rsno > 0)
|
if (Model.CMRS.rsno > 0)
|
||||||
{
|
{
|
||||||
ViewBag.PopupMenuName = "사전설문수정";
|
ViewBag.PopupMenuName = "강사설문수정";
|
||||||
if (Model.CMRS.rstype == 0)
|
if (Model.CMRS.rstype == 0)
|
||||||
{
|
{
|
||||||
ViewBag.PopupMenuName = "강의평가 수정";
|
ViewBag.PopupMenuName = "강의평가 수정";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Layout = "~/Views/Shared/_PopupLayout.cshtml";
|
Layout = "~/Views/Shared/_PopupLayout.cshtml";
|
||||||
}
|
}
|
||||||
<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">
|
||||||
<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">
|
<div class="col-sm-8 col-md-10">
|
||||||
@if (Model.CMRS.rsno < 1)
|
@if (Model.CMRS.rsno < 1)
|
||||||
{
|
{
|
||||||
@Html.Partial("./Partial/Radio", "0:강의평가;1:사전설문", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMRS.rstype" }, { "checked", Model.CMRS.rstype } })
|
@Html.Partial("./Partial/Radio", "0:강의평가;1:강사설문", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMRS.rstype" }, { "checked", Model.CMRS.rstype } })
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@Html.HiddenFor(m=>m.CMRS.rstype)@Model.CMRS.rstypename
|
@Html.HiddenFor(m => m.CMRS.rstype)@Model.CMRS.rstypename
|
||||||
}
|
}
|
||||||
</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.CMRS.rsname, new { @class = "form-control", @maxlength = "100" })</div>
|
<div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.CMRS.rsname, new { @class = "form-control", @maxlength = "100" })</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line line-dashed line-lg pull-in rstype1"></div><div class="form-group rstype1">
|
<div class="line line-dashed line-lg pull-in rstype0"></div><div class="form-group rstype0">
|
||||||
<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.CMRS.rscondition, new { @class = "form-control disp-init int nocomma text-center", @maxlength = "3", @style = "width: 80px;" }) % 이상</div>
|
<div class="col-sm-8 col-md-10">출석률 @Html.TextBoxFor(m => m.CMRS.rscondition, new { @class = "form-control disp-init int nocomma text-center", @maxlength = "3", @style = "width: 80px;" }) % 이상</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
|
@*25-01-20 추가개발 강사설문에 따른 회차키 cmino 추가*@
|
||||||
<label class="col-sm-4 col-md-2 control-label">설문지선택</label>
|
<div class="line line-dashed line-lg pull-in rstype1"></div><div class="form-group rstype1">
|
||||||
<div class="col-sm-8 col-md-10">
|
<label class="col-sm-4 col-md-2 control-label">회차조건</label>
|
||||||
@if (Model.CMRS.rsno < 1 || String.IsNullOrEmpty(Model.examsavable))
|
<div class="col-sm-8 col-md-10">
|
||||||
{
|
@Html.Partial("./Partial/Select", Model.CMInnings, new ViewDataDictionary { { "name", "CMRS.cmino" }, { "selected", Model.CMRS.cmino }, { "df", ":선택" }, { "valuetext", string.Join(";", Model.CMInnings.Select(i => string.Format("{0}:({1} / {2}) {3}", i.cmino, i.iseq, i.username, i.ititle))) } })
|
||||||
@Html.Partial("./Partial/Select", Model.CMRS.rsno < 1 ? Model.RSCs.Where(w => w.rscno == 0) : Model.RSCs.Where(w => w.rstype == Model.CMRS.rstype), new ViewDataDictionary { {"name", "CMRS.rscno" }, { "selected", Model.CMRS.rscno }, { "df", ":선택" } })
|
</div>
|
||||||
}
|
</div>
|
||||||
else
|
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
|
||||||
{
|
<label class="col-sm-4 col-md-2 control-label">설문지선택</label>
|
||||||
<select id="CMRS_rscno" name="CMRS.rscno" class="form-control dev">
|
<div class="col-sm-8 col-md-10">
|
||||||
<option value="@(Model.CMRS.rscno)" data-classgrade="@(Model.CMRS.rscno)">@(Model.CMRS.rscname)</option>
|
@if (Model.CMRS.rsno < 1 || String.IsNullOrEmpty(Model.examsavable))
|
||||||
</select>
|
{
|
||||||
}
|
@Html.Partial("./Partial/Select", Model.CMRS.rsno < 1 ? Model.RSCs.Where(w => w.rscno == 0) : Model.RSCs.Where(w => w.rstype == Model.CMRS.rstype), new ViewDataDictionary { { "name", "CMRS.rscno" }, { "selected", Model.CMRS.rscno }, { "df", ":선택" } })
|
||||||
</div>
|
}
|
||||||
</div>
|
else
|
||||||
</div>
|
{
|
||||||
</section>
|
<select id="CMRS_rscno" name="CMRS.rscno" class="form-control dev">
|
||||||
<div>
|
<option value="@(Model.CMRS.rscno)" data-classgrade="@(Model.CMRS.rscno)">@(Model.CMRS.rscname)</option>
|
||||||
<div class="text-center">
|
</select>
|
||||||
<a href="#" class="btn btn-primary" onclick="save();">저장</a>
|
}
|
||||||
@if (Model.CMRS.rsno > 0)
|
</div>
|
||||||
{
|
</div>
|
||||||
<a href="#" class="btn btn-danger" onclick="del();">삭제</a>
|
</div>
|
||||||
}
|
</section>
|
||||||
<a href="#" class="btn btn-default" onclick="goparent(val('IsSavedForParent') == '1');">닫기</a>
|
<div>
|
||||||
</div>
|
<div class="text-center">
|
||||||
</div>
|
<a href="#" class="btn btn-primary" onclick="save();">저장</a>
|
||||||
<input type="hidden" name="CMRS.rsno" id="datakey" value="@Model.CMRS.rsno" />
|
@*
|
||||||
@Html.HiddenFor(m => m.CMRS.cmno)
|
이미 삭제 기능이 존재하여 주석처리
|
||||||
@Html.HiddenFor(m => m.cmno)
|
@if (Model.CMRS.rsno > 0)
|
||||||
@Html.HiddenFor(m => m.IsSavedForParent)
|
{
|
||||||
@Html.Partial("./Partial/DForm", Model)
|
<a href="#" class="btn btn-danger" onclick="del();">삭제</a>
|
||||||
</form>
|
}*@
|
||||||
</div>
|
<a href="#" class="btn btn-default" onclick="goparent(val('IsSavedForParent') == '1');">닫기</a>
|
||||||
@section styles{
|
</div>
|
||||||
<style type="text/css">
|
</div>
|
||||||
</style>
|
<input type="hidden" name="CMRS.rsno" id="datakey" value="@Model.CMRS.rsno" />
|
||||||
}
|
@Html.HiddenFor(m => m.CMRS.cmno)
|
||||||
@section scriptsHeader{
|
@Html.HiddenFor(m => m.cmno)
|
||||||
|
@Html.HiddenFor(m => m.IsSavedForParent)
|
||||||
}
|
@Html.Partial("./Partial/DForm", Model)
|
||||||
@section scripts{
|
</form>
|
||||||
<script>
|
</div>
|
||||||
var rscs = '@(Model.CMRS.rsno > 0 ? "" : string.Join(";", Model.RSCs.Select(s=>string.Format("{0}:{1}:{2}", s.rstype, s.rscno, s.rscname.Replace(";", "|").Replace(":", "|")))))';
|
@section styles{
|
||||||
$(document).ready(function () {
|
<style type="text/css">
|
||||||
focus("CMRS_rsname");
|
</style>
|
||||||
$(".rstype1").hide();
|
}
|
||||||
if ('@(Model.CMRS.rstype)' == '0') {
|
@section scriptsHeader{
|
||||||
$(".rstype1").show();
|
|
||||||
}
|
}
|
||||||
$("input[name='CMRS.rstype']").on("change", function () {
|
@section scripts{
|
||||||
$(".rstype1").hide();
|
<script>
|
||||||
if ($("#CMRS_rstype0").prop("checked")) {
|
var rscs = '@(Model.CMRS.rsno > 0 ? "" : string.Join(";", Model.RSCs.Select(s=>string.Format("{0}:{1}:{2}", s.rstype, s.rscno, s.rscname.Replace(";", "|").Replace(":", "|")))))';
|
||||||
$(".rstype1").show();
|
$(document).ready(function () {
|
||||||
}
|
focus("CMRS_rsname");
|
||||||
if ("@Model.CMRS.rsno" == '0') {
|
toggleFields();
|
||||||
var v = $(this).val();
|
$("input[name='CMRS.rstype']").on("change", function () {
|
||||||
$("select#CMRS_rscno option:gt(0)").remove();
|
toggleFields();
|
||||||
$.each($(rscs.split(';')), function (i, s) {
|
if ("@Model.CMRS.rsno" == '0') {
|
||||||
if (s.split(':')[0] == v) {
|
var v = $(this).val();
|
||||||
$("select#CMRS_rscno").append("<option value=\"" + s.split(':')[1] + "\">" + s.split(':')[2] + "</option>");
|
$("select#CMRS_rscno option:gt(0)").remove();
|
||||||
}
|
$.each($(rscs.split(';')), function (i, s) {
|
||||||
});
|
if (s.split(':')[0] == v) {
|
||||||
}
|
$("select#CMRS_rscno").append("<option value=\"" + s.split(':')[1] + "\">" + s.split(':')[2] + "</option>");
|
||||||
});
|
}
|
||||||
});
|
});
|
||||||
function save() {
|
}
|
||||||
if ('@(Model.CMRS.rsno)' == '0' && checkrv("CMRS.rstype", null, "평가구분을 선택해주세요.")) { }
|
});
|
||||||
else if (check("CMRS_rsname", null, "평가명을 입력해주세요.")) { }
|
});
|
||||||
else if (getDouble(val("CMRS_rscondition")) < 0 || getDouble(val("CMRS_rscondition")) > 100) {msg("출석률은 0 ~ 100 사이의 값을 입력해주세요.") }
|
@*강사설문 강의평가 라디오 버튼이 바뀔때 마다 조건 추가*@
|
||||||
else if ('@(Model.CMRS.rsno)' == '0' && check("CMRS_rscno", null, "설문지를 선택해주세요.")) { }
|
function toggleFields() {
|
||||||
else if (confirm("저장하시겠습니까?")) {
|
var rstype = $("input[name='CMRS.rstype']:checked").val();
|
||||||
capfileform("/acommon/cmrssave", "mform", "cbsave");
|
if (rstype == '0') {
|
||||||
}
|
$(".rstype0").show();
|
||||||
}
|
$(".rstype1").hide();
|
||||||
function cbsave() {
|
} else if (rstype == '1') {
|
||||||
if (capOK) {
|
$(".rstype0").hide();
|
||||||
if ('@(Model.CMRS.rsno)' == '0') {
|
$(".rstype1").show();
|
||||||
$("#intval").val(capResult.obj);
|
} else {
|
||||||
}
|
$(".rstype0").hide();
|
||||||
setv("IsSavedForParent", 1);
|
$(".rstype1").hide();
|
||||||
msgok(1, "", true);
|
}
|
||||||
timesubmit();
|
|
||||||
}
|
@*수정일 때 조건*@
|
||||||
else {
|
if (@Model.CMRS.rsno > 0 && @Model.CMRS.rstype == 0) {
|
||||||
msg("이미 등록된 평가구분입니다(평가구분 별 1회 등록 기준)");
|
$(".rstype0").show();
|
||||||
}
|
$(".rstype1").hide();
|
||||||
}
|
} else if (@Model.CMRS.rsno > 0 && @Model.CMRS.rstype == 1) {
|
||||||
function del() {
|
$(".rstype0").hide();
|
||||||
if (confirm("삭제하시겠습니까?")) {
|
$(".rstype1").show();
|
||||||
capp("/acommon/estdel", { extype: getrv("CMRS.rstype") == "0" ? 32:31, no: @Model.CMRS.rsno }, "cbdel");
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
function cbdel() {
|
function save() {
|
||||||
if (capResult.code == 1000) {
|
if ('@(Model.CMRS.rsno)' == '0' && checkrv("CMRS.rstype", null, "평가구분을 선택해주세요.")) { }
|
||||||
msg("삭제했습니다.", null, true, null, true);
|
else if (check("CMRS_rsname", null, "평가명을 입력해주세요.")) { }
|
||||||
goparent(true);
|
else if (getDouble(val("CMRS_rscondition")) < 0 || getDouble(val("CMRS_rscondition")) > 100) {msg("출석률은 0 ~ 100 사이의 값을 입력해주세요.") }
|
||||||
} else {
|
else if (check("CMRS_rscno", null, "설문지를 선택해주세요.")) { }
|
||||||
msgadmin();
|
else if (confirm("저장하시겠습니까?")) {
|
||||||
}
|
capfileform("/acommon/cmrssave", "mform", "cbsave");
|
||||||
}
|
}
|
||||||
</script>
|
}
|
||||||
}
|
function cbsave() {
|
||||||
|
if (capOK) {
|
||||||
|
if ('@(Model.CMRS.rsno)' == '0') {
|
||||||
|
$("#intval").val(capResult.obj);
|
||||||
|
}
|
||||||
|
setv("IsSavedForParent", 1);
|
||||||
|
msgok(1, "", true);
|
||||||
|
timesubmit();
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
msg("이미 등록된 평가구분입니다(평가구분 별 1회 등록 기준)");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@*function del() {
|
||||||
|
if (confirm("삭제하시겠습니까?")) {
|
||||||
|
capp("/acommon/estdel", { extype: getrv("CMRS.rstype") == "0" ? 32:31, no: @Model.CMRS.rsno }, "cbdel");
|
||||||
|
}
|
||||||
|
}*@
|
||||||
|
function cbdel() {
|
||||||
|
if (capResult.code == 1000) {
|
||||||
|
msg("삭제했습니다.", null, true, null, true);
|
||||||
|
goparent(true);
|
||||||
|
} else {
|
||||||
|
msgadmin();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
<div class="col-sm-8 col-md-10">
|
<div class="col-sm-8 col-md-10">
|
||||||
@if (Model.RSC.rscno < 1)
|
@if (Model.RSC.rscno < 1)
|
||||||
{
|
{
|
||||||
@Html.Partial("./Partial/Radio", "0:강의평가;1:사전설문", new ViewDataDictionary { { "special", "stringlist" }, { "name", "RSC.rstype" }, { "checked", Model.RSC.rstype } })
|
@Html.Partial("./Partial/Radio", "0:강의평가;1:강사설문", new ViewDataDictionary { { "special", "stringlist" }, { "name", "RSC.rstype" }, { "checked", Model.RSC.rstype } })
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
@Html.Partial("./Partial/SearchCaption")
|
@Html.Partial("./Partial/SearchCaption")
|
||||||
<div class="step-content">
|
<div class="step-content">
|
||||||
<div class="step-pane active form-inline" style="line-height: 5px;">
|
<div class="step-pane active form-inline" style="line-height: 5px;">
|
||||||
@Html.Partial("./Partial/Select", Model.CMs, new ViewDataDictionary { {"valuetext","0:강의평가;1:사전설문" }, { "name", "stringval" }, { "selected", Model.stringval }, { "cssclass", "searchcon " }, { "df", ":-설문유형" } })
|
@Html.Partial("./Partial/Select", Model.CMs, new ViewDataDictionary { {"valuetext","0:강의평가;1:강사설문" }, { "name", "stringval" }, { "selected", Model.stringval }, { "cssclass", "searchcon " }, { "df", ":-설문유형" } })
|
||||||
@Html.Partial("./Partial/Text", Model.stringval2, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval2", Value = Model.stringval2, CssClass="ff", PH="설문명을 입력하세요." }))
|
@Html.Partial("./Partial/Text", Model.stringval2, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval2", Value = Model.stringval2, CssClass="ff", PH="설문명을 입력하세요." }))
|
||||||
@Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search" })
|
@Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search" })
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -19,10 +19,11 @@
|
||||||
<option value="@t.tmno" @(Model.stringval2 == t.tmno.ToString() ? "selected" : "")>@t.tseq 기</option>
|
<option value="@t.tmno" @(Model.stringval2 == t.tmno.ToString() ? "selected" : "")>@t.tseq 기</option>
|
||||||
}
|
}
|
||||||
</select>
|
</select>
|
||||||
@*@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":-유형선택;0:온라인;1:교육장;2:온라인 혼합" }, { "name", "stringval3" }, { "selected", Model.stringval3 } })*@
|
|
||||||
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":-유형선택;1:교육장교육;2:온라인교육" }, { "name", "stringval3" }, { "selected", Model.stringval3 } })
|
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":-유형선택;1:교육장교육;2:온라인교육" }, { "name", "stringval3" }, { "selected", Model.stringval3 } })
|
||||||
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":-유형선택;0:강의평가;1:사전설문" }, { "name", "stringval4" }, { "selected", Model.stringval4 } })
|
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":-유형선택;0:강의평가;1:강사설문" }, { "name", "stringval4" }, { "selected", Model.stringval4 } })
|
||||||
@Html.Partial("./Partial/Text", Model.stringval5, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval5", Value = Model.stringval5, PH = "강좌명을 입력하세요.", CssClass = "ff" }))
|
@*강좌명(LIKE검색), 강사명(완전일치검색)*@
|
||||||
|
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", "cname:강좌명;teachername:강사명" }, { "name", "searchType" }, { "selected", Model.searchtype } })
|
||||||
|
@Html.Partial("./Partial/Text", Model.stringval5, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval5", Value = Model.stringval5, PH = "검색어를 입력하세요.", CssClass = "ff" }))
|
||||||
@Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search" })
|
@Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search" })
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -42,6 +43,7 @@
|
||||||
<th>강좌명</th>
|
<th>강좌명</th>
|
||||||
<th>교육기간</th>
|
<th>교육기간</th>
|
||||||
<th>설문종류</th>
|
<th>설문종류</th>
|
||||||
|
<th>강사명</th>
|
||||||
<th>설문인원<br />(참여/대상)</th>
|
<th>설문인원<br />(참여/대상)</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
@ -55,6 +57,7 @@
|
||||||
<td class="link"><a href="#" onclick="reg(@d.rsno)">@d.cnameclassno</a></td>
|
<td class="link"><a href="#" onclick="reg(@d.rsno)">@d.cnameclassno</a></td>
|
||||||
<td>@d.sssename2</td>
|
<td>@d.sssename2</td>
|
||||||
<td>@d.rstypename</td>
|
<td>@d.rstypename</td>
|
||||||
|
<td>@(string.IsNullOrEmpty(d.teachername) ? "-" : d.teachername)</td>
|
||||||
<td>@string.Format("{0}/{1}", d.countok.ToString("#,0"), d.countlect.ToString("#,0"))</td>
|
<td>@string.Format("{0}/{1}", d.countok.ToString("#,0"), d.countlect.ToString("#,0"))</td>
|
||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
|
|
@ -69,7 +72,7 @@
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
@section scriptsHeader{
|
@section scriptsHeader{
|
||||||
|
|
||||||
}
|
}
|
||||||
@section scripts{
|
@section scripts{
|
||||||
<script>
|
<script>
|
||||||
|
|
@ -93,4 +96,5 @@
|
||||||
$("#dform").submit();
|
$("#dform").submit();
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,17 @@
|
||||||
</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">설문종류/사용 설문지</label>
|
<label class="col-sm-4 col-md-2 control-label">설문종류/사용 설문지</label>
|
||||||
<div class="col-sm-8 col-md-10">@string.Format("{0} / {1}", Model.CMRS.rstypename, Model.CMRS.rscname)</div>
|
<div class="col-sm-8 col-md-10">
|
||||||
|
@*강사설문 일 때 강사 이름 추가*@
|
||||||
|
@if (Model.CMRS.rstype == 1 && !string.IsNullOrEmpty(Model.CMRS.teachername))
|
||||||
|
{
|
||||||
|
@: @string.Format("{0} ({1}) / {2}", Model.CMRS.rstypename, Model.CMRS.teachername, Model.CMRS.rscname)
|
||||||
|
}@*일반 강의 평가*@
|
||||||
|
else
|
||||||
|
{
|
||||||
|
@: @string.Format("{0} / {1}", Model.CMRS.rstypename, Model.CMRS.rscname)
|
||||||
|
}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
||||||
|
|
@ -508,7 +508,7 @@ namespace NP.Base.Controllers
|
||||||
return JsonOK(Dao.SaveExam(vm.CMEX), false);
|
return JsonOK(Dao.SaveExam(vm.CMEX), false);
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 가상번호 extype 1: 진행평가, 2: 최종평가, 11: 과제, 21: 토론, 31: 사전설문, 32: 강의평가
|
/// 가상번호 extype 1: 진행평가, 2: 최종평가, 11: 과제, 21: 토론, 31: 강사설문, 32: 강의평가
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="extype"></param>
|
/// <param name="extype"></param>
|
||||||
/// <param name="no"></param>
|
/// <param name="no"></param>
|
||||||
|
|
@ -610,17 +610,26 @@ namespace NP.Base.Controllers
|
||||||
if (vm.CMRS.rstype == 1)
|
if (vm.CMRS.rstype == 1)
|
||||||
{
|
{
|
||||||
vm.CMRS.rscondition = 0;
|
vm.CMRS.rscondition = 0;
|
||||||
|
}//강의평가일 때 cmino 저장 안함
|
||||||
|
else
|
||||||
|
{
|
||||||
|
vm.CMRS.cmino = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//등록일 때
|
||||||
if (vm.CMRS.rsno < 1)
|
if (vm.CMRS.rsno < 1)
|
||||||
{
|
{
|
||||||
//설문(강의평가, 사전설문)은 1개씩만 등록가능
|
//설문(강사설문) 일 때 복수 등록 가능
|
||||||
if (Dao.Get<int>("cm.cmrs.check", new Hashtable() { {"cmno",vm.CMRS.cmno }, { "rsno", vm.CMRS.rsno }, { "rstype", vm.CMRS.rstype } }).First() > 0)
|
//설문(강의평가)은 1개씩만 등록가능
|
||||||
|
if (Dao.Get<int>("cm.cmrs.check", new Hashtable() { {"cmno",vm.CMRS.cmno }, { "rsno", vm.CMRS.rsno }, { "rstype", vm.CMRS.rstype } }).First() > 0 && vm.CMRS.rstype != 1)
|
||||||
{
|
{
|
||||||
return JsonOK(0);
|
return JsonOK(0);
|
||||||
}
|
}
|
||||||
Dao.Insert("cm.cmrs.in", vm.CMRS);
|
Dao.Insert("cm.cmrs.in", vm.CMRS);
|
||||||
return JsonOK(vm.CMRS.rsno);
|
return JsonOK(vm.CMRS.rsno);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//수정일 때
|
||||||
if (base.RSSaveValid(vm.CMRS.rsno) == "")
|
if (base.RSSaveValid(vm.CMRS.rsno) == "")
|
||||||
{
|
{
|
||||||
return JsonOK(Dao.Save("cm.cmrs.up", vm.CMRS));
|
return JsonOK(Dao.Save("cm.cmrs.up", vm.CMRS));
|
||||||
|
|
|
||||||
|
|
@ -687,6 +687,7 @@
|
||||||
,null sdno,null sdtype,null sdname,null sddesc,null sdcondition
|
,null sdno,null sdtype,null sdname,null sddesc,null sdcondition
|
||||||
,null rsno,null rscno,null rstype,null rsname,null rscondition
|
,null rsno,null rscno,null rstype,null rsname,null rscondition
|
||||||
, row_number() over(partition by a.extype order by a.cdt) rno
|
, row_number() over(partition by a.extype order by a.cdt) rno
|
||||||
|
,null as iseq,null as teachername
|
||||||
from cmex a
|
from cmex a
|
||||||
where a.cmno=#cmno# and a.isdel=0
|
where a.cmno=#cmno# and a.isdel=0
|
||||||
union all
|
union all
|
||||||
|
|
@ -695,6 +696,7 @@
|
||||||
,a.sdno,a.sdtype,a.sdname,a.sddesc,a.sdcondition
|
,a.sdno,a.sdtype,a.sdname,a.sddesc,a.sdcondition
|
||||||
,null rsno,null rscno,null rstype,null rsname,null rscondition
|
,null rsno,null rscno,null rstype,null rsname,null rscondition
|
||||||
, row_number() over(partition by a.sdtype order by a.cdt) rno
|
, row_number() over(partition by a.sdtype order by a.cdt) rno
|
||||||
|
,null as iseq,null as teachername
|
||||||
from cmsd a
|
from cmsd a
|
||||||
where a.cmno=#cmno# and a.isdel=0
|
where a.cmno=#cmno# and a.isdel=0
|
||||||
union all
|
union all
|
||||||
|
|
@ -703,9 +705,12 @@
|
||||||
,null sdno,null sdtype,null sdname,null sddesc,null sdcondition
|
,null sdno,null sdtype,null sdname,null sddesc,null sdcondition
|
||||||
,a.rsno,a.rscno,a.rstype,a.rsname,a.rscondition
|
,a.rsno,a.rscno,a.rstype,a.rsname,a.rscondition
|
||||||
, row_number() over(partition by a.rstype order by a.cdt) rno
|
, row_number() over(partition by a.rstype order by a.cdt) rno
|
||||||
|
,b.iseq,c.username as teachername
|
||||||
from cmrs a
|
from cmrs a
|
||||||
|
left outer join cminning b on a.cmino = b.cmino
|
||||||
|
left outer join users c on b.userno = c.userno
|
||||||
where a.cmno=#cmno# and a.isdel=0
|
where a.cmno=#cmno# and a.isdel=0
|
||||||
order by estkind,rno
|
order by rsno<!--estkind,rno-->
|
||||||
</select>
|
</select>
|
||||||
<update id="cm.cmevsave" parameterClass="hashtable">
|
<update id="cm.cmevsave" parameterClass="hashtable">
|
||||||
insert into cmev (cmno,attend,attendcut,attendrfd,attendcutrfd,mid,midcut,midrfd,midcutrfd,final,finalcut,finalrfd,finalcutrfd,subject,subjectcut,subjectrfd,subjectcutrfd,discuss,discusscut,discussrfd,discusscutrfd,etc,etccut,etcrfd,etccutrfd,cut,cutrfd,isoffabs,<include refid="sql.inc"></include>)
|
insert into cmev (cmno,attend,attendcut,attendrfd,attendcutrfd,mid,midcut,midrfd,midcutrfd,final,finalcut,finalrfd,finalcutrfd,subject,subjectcut,subjectrfd,subjectcutrfd,discuss,discusscut,discussrfd,discusscutrfd,etc,etccut,etcrfd,etccutrfd,cut,cutrfd,isoffabs,<include refid="sql.inc"></include>)
|
||||||
|
|
@ -1161,6 +1166,7 @@
|
||||||
,b.rscname
|
,b.rscname
|
||||||
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.cdt</isNull>) rno
|
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.cdt</isNull>) rno
|
||||||
,count(a.cno) over() pagetotalcount
|
,count(a.cno) over() pagetotalcount
|
||||||
|
,a.cmino
|
||||||
from cmrs a
|
from cmrs a
|
||||||
inner join rsc b on b.rscno=a.rscno
|
inner join rsc b on b.rscno=a.rscno
|
||||||
where a.isdel=0 <isNotNull property="rsno">and a.rsno=#rsno#</isNotNull>
|
where a.isdel=0 <isNotNull property="rsno">and a.rsno=#rsno#</isNotNull>
|
||||||
|
|
@ -1169,8 +1175,8 @@
|
||||||
order by a.rno
|
order by a.rno
|
||||||
</select>
|
</select>
|
||||||
<insert id="cm.cmrs.in" parameterClass="hashtable">
|
<insert id="cm.cmrs.in" parameterClass="hashtable">
|
||||||
insert into cmrs(rstype,cmno,rsname,rscondition,rscno,isdel,<include refid="sql.inc"></include>)
|
insert into cmrs(rstype,cmno,rsname,rscondition,rscno,isdel,cmino,<include refid="sql.inc"></include>)
|
||||||
values(#rstype#,#cmno#,#rsname#,#rscondition#,#rscno#,0,<include refid="sql.inv"></include>);
|
values(#rstype#,#cmno#,#rsname#,#rscondition#,#rscno#,0,#cmino#,<include refid="sql.inv"></include>);
|
||||||
<selectKey type="post" property="rsno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
<selectKey type="post" property="rsno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
||||||
</insert>
|
</insert>
|
||||||
<update id="cm.cmrs.up" parameterClass="hashtable">
|
<update id="cm.cmrs.up" parameterClass="hashtable">
|
||||||
|
|
@ -1179,6 +1185,7 @@
|
||||||
,rsname =#rsname#
|
,rsname =#rsname#
|
||||||
,rscondition =#rscondition#
|
,rscondition =#rscondition#
|
||||||
,rscno =#rscno#
|
,rscno =#rscno#
|
||||||
|
,cmino =#cmino#
|
||||||
where rsno=#rsno#
|
where rsno=#rsno#
|
||||||
</update>
|
</update>
|
||||||
<update id="cm.cmrs.uplock" parameterClass="hashtable">
|
<update id="cm.cmrs.uplock" parameterClass="hashtable">
|
||||||
|
|
@ -1354,67 +1361,83 @@
|
||||||
<selectKey type="post" property="cmno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
<selectKey type="post" property="cmno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
||||||
</insert>
|
</insert>
|
||||||
<update id="cm.cmcopy" parameterClass="cm">
|
<update id="cm.cmcopy" parameterClass="cm">
|
||||||
insert into cmprof(cmno,userno,pfee,<include refid="sql.inc"></include>)
|
<!-- 임시 테이블 생성 -->
|
||||||
select #cmno#,a.userno,0,<include refid="sql.inv"></include>
|
create temporary table if not exists temp_cminning_mapping (
|
||||||
from cmprof a
|
old_cmino bigint,
|
||||||
where a.cmno=#orgcmno#;
|
new_cmino bigint
|
||||||
|
);
|
||||||
|
|
||||||
insert into cmbook(cmno,bkno,<include refid="sql.inc"></include>)
|
<!-- cminning 복제 및 매핑 정보 저장 -->
|
||||||
select #cmno#,a.bkno,<include refid="sql.inv"></include>
|
insert into cminning(cmno, week, iseq, isonline, ititle, icontent, iday, idate, ist, iet, ctno, istaste, sttime, atime, mstime, metime, userno, isscd, scdtype, <include refid="sql.inc"></include>)
|
||||||
from cmbook a
|
select #cmno#, week, iseq, isonline, ititle, icontent, iday, idate, ist, iet, ctno, istaste, sttime, atime, mstime, metime, userno, isscd, scdtype, <include refid="sql.inv"></include>
|
||||||
where a.cmno=#orgcmno#;
|
from cminning
|
||||||
|
where cmno = #orgcmno#;
|
||||||
|
<selectKey type="post" property="cmino" resultClass="long">SELECT LAST_INSERT_ID()</selectKey>
|
||||||
|
|
||||||
insert into cmrelay(cmno,rcmno,ispre,<include refid="sql.inc"></include>)
|
insert into temp_cminning_mapping(old_cmino, new_cmino)
|
||||||
select #cmno#,a.rcmno,a.ispre,<include refid="sql.inv"></include>
|
select old_cmino, new_cmino
|
||||||
from cmrelay a
|
from (
|
||||||
where a.cmno=#orgcmno#;
|
select a.cmino as old_cmino, b.cmino as new_cmino
|
||||||
|
|
||||||
insert into cmncsd(cmno,ndno,<include refid="sql.inc"></include>)
|
|
||||||
select #cmno#,a.ndno,<include refid="sql.inv"></include>
|
|
||||||
from cmncsd a
|
|
||||||
where a.cmno=#orgcmno#;
|
|
||||||
|
|
||||||
insert into cminning(cmno,week,iseq,isonline,ititle,icontent,iday,idate,ist,iet,ctno,istaste,sttime,atime,mstime,metime,userno,orgcmino,isscd,<include refid="sql.inc"></include>)
|
|
||||||
select #cmno#,a.week,a.iseq,a.isonline,a.ititle,a.icontent,a.iday
|
|
||||||
,case when a.isonline=1 or b.sstime is null or a.iday is null then null else date_add(b.sstime, interval (a.iday - 1) day) end
|
|
||||||
,a.ist,a.iet,a.ctno,a.istaste,a.sttime,a.atime,a.mstime,a.metime,a.userno,cmino,a.isscd,<include refid="sql.inv"></include>
|
|
||||||
from cminning a
|
from cminning a
|
||||||
inner join cm b on b.cmno=#cmno#
|
inner join cminning b on a.cmno = #orgcmno# and b.cmno = #cmno# and a.week = b.week and a.iseq = b.iseq
|
||||||
where a.cmno=#orgcmno#;
|
) t;
|
||||||
|
|
||||||
insert into cminningscd(cmino,estart,eend,quota,studyplace,sseq,<include refid="sql.inc"></include>)
|
<!-- cmrs 복제 -->
|
||||||
select c.cmino,b.estart,b.eend,b.quota,b.studyplace,sseq,<include refid="sql.inv"></include>
|
insert into cmrs(cmno, rscno, rstype, rsname, rscondition, isdel, cmino, <include refid="sql.inc"></include>)
|
||||||
from cminning a
|
select #cmno#, rscno, rstype, rsname, rscondition, 0, t.new_cmino, <include refid="sql.inv"></include>
|
||||||
inner join cminningscd b on b.cmino=a.cmino
|
|
||||||
inner join cminning c on c.cmno=#cmno# and c.isonline=0
|
|
||||||
where a.cmno=#orgcmno# and a.isonline=0;
|
|
||||||
|
|
||||||
insert into cmev(cmno,attend,attendcut,attendrfd,attendcutrfd,mid,midcut,midrfd,midcutrfd,final,finalcut,finalrfd,finalcutrfd,subject,subjectcut,subjectrfd,subjectcutrfd
|
|
||||||
,discuss,discusscut,discussrfd,discusscutrfd,etc,etccut,etcrfd,etccutrfd,cut,cutrfd,isoffabs,<include refid="sql.inc"></include>)
|
|
||||||
select #cmno#,attend,attendcut,attendrfd,attendcutrfd,mid,midcut,midrfd,midcutrfd,final,finalcut,finalrfd,finalcutrfd,subject,subjectcut,subjectrfd,subjectcutrfd
|
|
||||||
,discuss,discusscut,discussrfd,discusscutrfd,etc,etccut,etcrfd,etccutrfd,cut,cutrfd,isoffabs,<include refid="sql.inv"></include>
|
|
||||||
from cmev a
|
|
||||||
where a.cmno=#orgcmno#;
|
|
||||||
|
|
||||||
insert into cmsd(sdtype,cmno,sdname,sddesc,tpoint,sdcondition,fgno,isdel,orgsdno,<include refid="sql.inc"></include>)
|
|
||||||
select sdtype,#cmno#,sdname,sddesc,tpoint,sdcondition,null,0,sdno,<include refid="sql.inv"></include>
|
|
||||||
from cmsd a
|
|
||||||
where a.cmno=#orgcmno# and a.isdel=0;
|
|
||||||
|
|
||||||
insert into cmrs(cmno,rscno,rstype,rsname,rscondition,isdel,<include refid="sql.inc"></include>)
|
|
||||||
select #cmno#,rscno,rstype,rsname,rscondition,0,<include refid="sql.inv"></include>
|
|
||||||
from cmrs a
|
from cmrs a
|
||||||
where a.cmno=#orgcmno# and a.isdel=0;
|
inner join temp_cminning_mapping t on a.cmino = t.old_cmino
|
||||||
|
where a.cmno = #orgcmno# and a.isdel = 0;
|
||||||
|
|
||||||
insert into cmmenu(cmno,isplan,iscontent,isev,isrs,isgrade,<include refid="sql.inc"></include>)
|
<!-- 나머지 테이블 복제 -->
|
||||||
select #cmno#,isplan,iscontent,isev,isrs,isgrade,<include refid="sql.inv"></include>
|
insert into cmprof(cmno, userno, pfee, <include refid="sql.inc"></include>)
|
||||||
from cmmenu a
|
select #cmno#, userno, 0, <include refid="sql.inv"></include>
|
||||||
where a.cmno=#orgcmno#;
|
from cmprof
|
||||||
|
where cmno = #orgcmno#;
|
||||||
insert into cmmenubm(cmno,bmno,<include refid="sql.inc"></include>)
|
|
||||||
select #cmno#,a.bmno,<include refid="sql.inv"></include>
|
insert into cmbook(cmno, bkno, <include refid="sql.inc"></include>)
|
||||||
from cmmenubm a
|
select #cmno#, bkno, <include refid="sql.inv"></include>
|
||||||
where a.cmno=#orgcmno#
|
from cmbook
|
||||||
|
where cmno = #orgcmno#;
|
||||||
|
|
||||||
|
insert into cmrelay(cmno, rcmno, ispre, <include refid="sql.inc"></include>)
|
||||||
|
select #cmno#, rcmno, ispre, <include refid="sql.inv"></include>
|
||||||
|
from cmrelay
|
||||||
|
where cmno = #orgcmno#;
|
||||||
|
|
||||||
|
insert into cmncsd(cmno, ndno, <include refid="sql.inc"></include>)
|
||||||
|
select #cmno#, ndno, <include refid="sql.inv"></include>
|
||||||
|
from cmncsd
|
||||||
|
where cmno = #orgcmno#;
|
||||||
|
|
||||||
|
insert into cminningscd(cmino, estart, eend, quota, studyplace, sseq, <include refid="sql.inc"></include>)
|
||||||
|
select t.new_cmino, estart, eend, quota, studyplace, sseq, <include refid="sql.inv"></include>
|
||||||
|
from cminningscd a
|
||||||
|
inner join temp_cminning_mapping t on a.cmino = t.old_cmino
|
||||||
|
where a.cmino in (select old_cmino from temp_cminning_mapping);
|
||||||
|
|
||||||
|
insert into cmev(cmno, attend, attendcut, attendrfd, attendcutrfd, mid, midcut, midrfd, midcutrfd, final, finalcut, finalrfd, finalcutrfd, subject, subjectcut, subjectrfd, subjectcutrfd, discuss, discusscut, discussrfd, discusscutrfd, etc, etccut, etcrfd, etccutrfd, cut, cutrfd, isoffabs, <include refid="sql.inc"></include>)
|
||||||
|
select #cmno#, attend, attendcut, attendrfd, attendcutrfd, mid, midcut, midrfd, midcutrfd, final, finalcut, finalrfd, finalcutrfd, subject, subjectcut, subjectrfd, subjectcutrfd, discuss, discusscut, discussrfd, discusscutrfd, etc, etccut, etcrfd, etccutrfd, cut, cutrfd, isoffabs, <include refid="sql.inv"></include>
|
||||||
|
from cmev
|
||||||
|
where cmno = #orgcmno#;
|
||||||
|
|
||||||
|
insert into cmsd(sdtype, cmno, sdname, sddesc, tpoint, sdcondition, fgno, isdel, orgsdno, <include refid="sql.inc"></include>)
|
||||||
|
select sdtype, #cmno#, sdname, sddesc, tpoint, sdcondition, null, 0, sdno, <include refid="sql.inv"></include>
|
||||||
|
from cmsd
|
||||||
|
where cmno = #orgcmno# and isdel = 0;
|
||||||
|
|
||||||
|
insert into cmmenu(cmno, isplan, iscontent, isev, isrs, isgrade, <include refid="sql.inc"></include>)
|
||||||
|
select #cmno#, isplan, iscontent, isev, isrs, isgrade, <include refid="sql.inv"></include>
|
||||||
|
from cmmenu
|
||||||
|
where cmno = #orgcmno#;
|
||||||
|
|
||||||
|
insert into cmmenubm(cmno, bmno, <include refid="sql.inc"></include>)
|
||||||
|
select #cmno#, bmno, <include refid="sql.inv"></include>
|
||||||
|
from cmmenubm
|
||||||
|
where cmno = #orgcmno#;
|
||||||
|
|
||||||
|
<!-- 임시 테이블 삭제 -->
|
||||||
|
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,<include refid="sql.inc"></include>)
|
||||||
|
|
|
||||||
|
|
@ -390,20 +390,25 @@
|
||||||
,b.rsno,b.cmno,b.rscno,b.rstype,b.rsname,b.rscondition
|
,b.rsno,b.cmno,b.rscno,b.rstype,b.rsname,b.rscondition
|
||||||
,case when c.lectno is null then 0 else 1 end isrsok
|
,case when c.lectno is null then 0 else 1 end isrsok
|
||||||
,a.edate
|
,a.edate
|
||||||
|
,d.istatus,e.iseq
|
||||||
from lect a
|
from lect a
|
||||||
inner join cmrs b on b.cmno=a.cmno and b.isdel=0
|
inner join cmrs b on b.cmno=a.cmno and b.isdel=0
|
||||||
left outer join lectrs c on c.lectno=a.lectno and c.rsno=b.rsno
|
left outer join lectrs c on c.lectno=a.lectno and c.rsno=b.rsno
|
||||||
|
left outer join lectinning d on d.lectno=a.lectno and b.cmino = d.cmino
|
||||||
|
left outer join cminning e on b.cmino = e.cmino
|
||||||
where a.lectno=#lectno# and a.userno=#userno#
|
where a.lectno=#lectno# and a.userno=#userno#
|
||||||
order by b.cdt
|
order by b.rsno
|
||||||
</select>
|
</select>
|
||||||
<select id="cr.mycmrsq" parameterClass="hashtable" resultClass="rscq">
|
<select id="cr.mycmrsq" parameterClass="hashtable" resultClass="rscq">
|
||||||
select b.rscno,b.rscqno
|
select b.rscno,b.rscqno
|
||||||
,c.qno,c.atype,c.qtext,c.rightcount
|
,c.qno,c.atype,c.qtext,c.rightcount,a.username as teachername
|
||||||
from (
|
from (
|
||||||
select distinct b.rscno
|
select distinct b.rscno,e.username
|
||||||
from lect a
|
from lect a
|
||||||
inner join cmrs b on b.rsno=#rsno# and b.cmno=a.cmno and b.isdel=0
|
inner join cmrs b on b.rsno=#rsno# and b.cmno=a.cmno and b.isdel=0
|
||||||
left outer join lectrs c on c.lectno=a.lectno and c.rsno=b.rsno
|
left outer join lectrs c on c.lectno=a.lectno and c.rsno=b.rsno
|
||||||
|
left outer join cminning d on b.cmino = d.cmino
|
||||||
|
left outer join users e on d.userno = e.userno
|
||||||
where a.lectno=#lectno# and a.userno=#userno# and c.lectno is null
|
where a.lectno=#lectno# and a.userno=#userno# and c.lectno is null
|
||||||
) a
|
) a
|
||||||
inner join rscq b on b.rscno=a.rscno
|
inner join rscq b on b.rscno=a.rscno
|
||||||
|
|
|
||||||
|
|
@ -572,44 +572,53 @@
|
||||||
|
|
||||||
<include refid="sql.encourages"></include>
|
<include refid="sql.encourages"></include>
|
||||||
</select>
|
</select>
|
||||||
<select id="lect.cmrss" parameterClass="hashtable" resultClass="cmrs">
|
|
||||||
select a.*
|
<select id="lect.cmrss" parameterClass="hashtable" resultClass="cmrs">
|
||||||
from (
|
select a.*
|
||||||
select a.*
|
from (
|
||||||
,row_number() over(order by a.tyear desc,a.tseq,a.cname,a.classno ) rno
|
select a.*
|
||||||
,count(a.cdt) over() pagetotalcount
|
,row_number() over(order by a.rsno desc<!--a.tyear desc,a.tseq,a.cname,a.classno-->) rno
|
||||||
from (
|
,count(a.cdt) over() pagetotalcount
|
||||||
select d.rsno,b.cmno,a.tyear,a.tseq,c.cgname,b.cshape,b.cname,b.classno,b.sstime,b.setime,d.rstype
|
from (
|
||||||
,count(distinct e.lectno) countlect,count(distinct f.lectno) countok,a.cdt
|
select d.rsno,b.cmno,a.tyear,a.tseq,c.cgname,b.cshape,b.cname,b.classno,b.sstime,b.setime,d.rstype
|
||||||
from term a
|
,count(distinct e.lectno) countlect,count(distinct f.lectno) countok,a.cdt,h.username as teachername
|
||||||
inner join cm b on b.ismaster=0 and b.tmno=a.tmno <isNotNull property="cshape">and b.cshape=#cshape#</isNotNull> <isNotNull property="cnamelike">and b.cname like concat('%',#cnamelike#,'%')</isNotNull>
|
from term a
|
||||||
inner join cg c on c.cgno=b.cgno
|
inner join cm b on b.ismaster=0 and b.tmno=a.tmno <isNotNull property="cshape">and b.cshape=#cshape#</isNotNull> <isNotNull property="cnamelike">and b.cname like concat('%',#cnamelike#,'%')</isNotNull>
|
||||||
inner join cmrs d on d.cmno=b.cmno <isNotNull property="rstype">and d.rstype=#rstype#</isNotNull> and d.isdel=0
|
inner join cg c on c.cgno=b.cgno
|
||||||
inner join lect e on e.cmno=d.cmno and e.status =1 and e.ischanged=0
|
inner join cmrs d on d.cmno=b.cmno <isNotNull property="rstype">and d.rstype=#rstype#</isNotNull> and d.isdel=0
|
||||||
left outer join lectrs f on f.lectno=e.lectno and f.rsno=d.rsno
|
inner join lect e on e.cmno=d.cmno and e.status =1 and e.ischanged=0
|
||||||
<dynamic prepend="where">
|
left outer join lectrs f on f.lectno=e.lectno and f.rsno=d.rsno
|
||||||
<isNotNull property="tyear" prepend="and">a.tyear=#tyear#</isNotNull>
|
left outer join cminning g on d.cmino = g.cmino
|
||||||
<isNotNull property="tmno" prepend="and">a.tmno=#tmno#</isNotNull>
|
left outer join users h on h.userno = g.userno
|
||||||
</dynamic>
|
<dynamic prepend="where">
|
||||||
group by d.rsno,b.cmno,a.tyear,a.tseq,c.cgname,b.cshape,b.cname,b.classno,b.sstime,b.setime,d.rstype
|
<isNotNull property="tyear" prepend="and">a.tyear=#tyear#</isNotNull>
|
||||||
) a
|
<isNotNull property="tmno" prepend="and">a.tmno=#tmno#</isNotNull>
|
||||||
) a
|
<isNotNull property="teachername" prepend="and">h.username=#teachername#</isNotNull>
|
||||||
<include refid="sql.pagedynamic"></include>
|
<!-- 강사명 검색 추가 -->
|
||||||
order by a.rno
|
</dynamic>
|
||||||
</select>
|
group by d.rsno,b.cmno,a.tyear,a.tseq,c.cgname,b.cshape,b.cname,b.classno,b.sstime,b.setime,d.rstype
|
||||||
<select id="lect.cmrs" parameterClass="int" resultClass="cmrs">
|
) a
|
||||||
select a.rsno,a.rstype,a2.rscno,a2.rscname,b.cshape,b.cname,b.classno,b.rstime,b.retime,b.sstime,b.setime
|
) a
|
||||||
,c.tyear,c.tseq
|
<include refid="sql.pagedynamic"></include>
|
||||||
,count(distinct d.lectno) countlect,count(distinct e.lectno) countok
|
order by a.rno
|
||||||
from cmrs a
|
</select>
|
||||||
inner join rsc a2 on a2.rscno=a.rscno
|
|
||||||
inner join cm b on b.cmno=a.cmno
|
<select id="lect.cmrs" parameterClass="int" resultClass="cmrs">
|
||||||
inner join term c on c.tmno=b.tmno
|
select a.rsno,a.rstype,a2.rscno,a2.rscname,b.cshape,b.cname,b.classno,b.rstime,b.retime,b.sstime,b.setime
|
||||||
inner join lect d on d.cmno=b.cmno and d.status=1 and d.ischanged=0
|
,c.tyear,c.tseq
|
||||||
left outer join lectrs e on e.lectno=d.lectno and e.rsno=a.rsno
|
,count(distinct d.lectno) countlect,count(distinct e.lectno) countok
|
||||||
where a.rsno=#rsno#
|
,g.username as teachername
|
||||||
group by a.rsno,a.rstype,a2.rscno,a2.rscname,b.cshape,b.cname,b.classno,b.rstime,b.retime,b.sstime,b.setime,c.tyear,c.tseq
|
from cmrs a
|
||||||
</select>
|
inner join rsc a2 on a2.rscno=a.rscno
|
||||||
|
inner join cm b on b.cmno=a.cmno
|
||||||
|
inner join term c on c.tmno=b.tmno
|
||||||
|
inner join lect d on d.cmno=b.cmno and d.status=1 and d.ischanged=0
|
||||||
|
left outer join lectrs e on e.lectno=d.lectno and e.rsno=a.rsno
|
||||||
|
left outer join cminning f on a.cmino = f.cmino
|
||||||
|
left outer join users g on g.userno = f.userno
|
||||||
|
where a.rsno=#rsno#
|
||||||
|
group by a.rsno,a.rstype,a2.rscno,a2.rscname,b.cshape,b.cname,b.classno,b.rstime,b.retime,b.sstime,b.setime,c.tyear,c.tseq
|
||||||
|
</select>
|
||||||
<select id="lect.cmrscqs" parameterClass="int" resultClass="rscq">
|
<select id="lect.cmrscqs" parameterClass="int" resultClass="rscq">
|
||||||
select a.rsno
|
select a.rsno
|
||||||
,b.rscqno
|
,b.rscqno
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,7 @@ namespace NP.FO.Controllers
|
||||||
{
|
{
|
||||||
vm.intval = Dao.Get<LectInning>("cr.lectinnings", new System.Collections.Hashtable() { /*{ "lectno", vm.croomlectno }*/ {"userno",SUserInfo.UserNo }, { "isfinishtoday", 1 } }).Count();
|
vm.intval = Dao.Get<LectInning>("cr.lectinnings", new System.Collections.Hashtable() { /*{ "lectno", vm.croomlectno }*/ {"userno",SUserInfo.UserNo }, { "isfinishtoday", 1 } }).Count();
|
||||||
}
|
}
|
||||||
|
vm.CMRSes = Dao.Get<CMRS>("cr.mycmrs", new System.Collections.Hashtable() { { "lectno", vm.croomlectno }, { "userno", SUserInfo.UserNo } });
|
||||||
return CView();
|
return CView();
|
||||||
}
|
}
|
||||||
public ActionResult Research()
|
public ActionResult Research()
|
||||||
|
|
|
||||||
|
|
@ -7,16 +7,34 @@
|
||||||
{
|
{
|
||||||
isplay = Model.LectInnings.First().isplay > 0 ? true : false;
|
isplay = Model.LectInnings.First().isplay > 0 ? true : false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 강사설문 진행 가능 여부
|
||||||
|
bool hasAvailableSurvey = Model.CMRSes.Any(d => d.istatus == 2 && d.isrsok == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@*강사설문 진행 가능하면 실행*@
|
||||||
|
@if (hasAvailableSurvey)
|
||||||
|
{
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
confirmtoggle(true, "진행 가능한 강사 설문이 있습니다.<br/>설문참여 메뉴로 이동하여 설문 진행하시겠습니까?", "goToSurvey");
|
||||||
|
});
|
||||||
|
|
||||||
|
function goToSurvey() {
|
||||||
|
location.href = "/CRoom/Research?croomlectno=@Model.croomlectno";
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
}
|
||||||
|
|
||||||
@*<div class="lrnSch">
|
@*<div class="lrnSch">
|
||||||
<a href="#" onclick="showatt()">출결이력조회</a>
|
<a href="#" onclick="showatt()">출결이력조회</a>
|
||||||
</div>*@
|
</div>*@
|
||||||
<div class="lctcScore" style="text-align:center; background:#ffdfdf;">
|
<div class="lctcScore" style="text-align:center; background:#ffdfdf;">
|
||||||
<span>현재 오늘 학습 가능한 10회차 중 <span style="color:red;">@(Model.intval2 - Model.intval)</span>회차 학습가능 합니다.</span><br />
|
<span>현재 오늘 학습 가능한 10회차 중 <span style="color:red;">@(Model.intval2 - Model.intval)</span>회차 학습가능 합니다.</span><br />
|
||||||
<span>※ 관련 법령에 의해 일일 최대 학습시간은 학습중인 모든 과정에 대하여 10시간(10회차)입니다.</span>
|
<span>※ 관련 법령에 의해 일일 최대 학습시간은 학습중인 모든 과정에 대하여 10시간(10회차)입니다.</span>
|
||||||
</div>
|
</div>
|
||||||
@*<h3>오늘의 학습회차(@Model.intval/@Model.intval2)</h3>*@
|
@*<h3>오늘의 학습회차(@Model.intval/@Model.intval2)</h3>*@
|
||||||
<br/>
|
<br />
|
||||||
<div class="lctcWeek lrnList">
|
<div class="lctcWeek lrnList">
|
||||||
<input type="hidden" id="mobile" name="mobile" value="@(ViewBag.Mobile)" />
|
<input type="hidden" id="mobile" name="mobile" value="@(ViewBag.Mobile)" />
|
||||||
<table>
|
<table>
|
||||||
|
|
@ -37,7 +55,7 @@
|
||||||
<dt>@(d.edate < DateTime.Now ? "학습기간종료" : d.isonline == 0 && d.istatus == 2 ? "출석완료" : d.isonline == 0 && d.idate < DateTime.Now ? "결석" : d.isonline == 0 ? "출석전" : d.stime == null ? "학습전(0%)" : d.istatus == 2 ? "학습완료" : string.Format("학습중({0}%)", d.sttime > 0 ? (d.totstudy * 100 / (d.sttime * 60)) : 0))</dt>
|
<dt>@(d.edate < DateTime.Now ? "학습기간종료" : d.isonline == 0 && d.istatus == 2 ? "출석완료" : d.isonline == 0 && d.idate < DateTime.Now ? "결석" : d.isonline == 0 ? "출석전" : d.stime == null ? "학습전(0%)" : d.istatus == 2 ? "학습완료" : string.Format("학습중({0}%)", d.sttime > 0 ? (d.totstudy * 100 / (d.sttime * 60)) : 0))</dt>
|
||||||
@*<dt style="color:#888888"><span style="color:red;">@(d.isonline == 0 ? (d.cshape != 2 ? "강의시작일" : "집체교육") : "교육기간")</span> : @(d.isonline == 0 ? (d.cshape != 2 ? string.Format("{0} {1}:{2}", d.idate.ToString("MM/dd"), d.ist.Substring(0, 2), d.ist.Substring(2, 2)) : d.eend.ToString("MM/dd")) : d.cshape != 1 ? (d.cdt.ToString("MM/dd")+" ~ "+d.estart.ToString("MM/dd")) : (d.sdate.ToString("MM/dd") + " ~ " + d.edate.ToString("MM/dd")))</dt>*@
|
@*<dt style="color:#888888"><span style="color:red;">@(d.isonline == 0 ? (d.cshape != 2 ? "강의시작일" : "집체교육") : "교육기간")</span> : @(d.isonline == 0 ? (d.cshape != 2 ? string.Format("{0} {1}:{2}", d.idate.ToString("MM/dd"), d.ist.Substring(0, 2), d.ist.Substring(2, 2)) : d.eend.ToString("MM/dd")) : d.cshape != 1 ? (d.cdt.ToString("MM/dd")+" ~ "+d.estart.ToString("MM/dd")) : (d.sdate.ToString("MM/dd") + " ~ " + d.edate.ToString("MM/dd")))</dt>*@
|
||||||
<dt style="color:#888888"><span style="color:red;">@(d.isonline == 0 ? (d.cshape != 2 ? "강의시작일" : "집체교육") : "교육기간")</span> : @(d.isonline == 0 ? (d.cshape != 2 ? string.Format("{0} {1}:{2}", d.idate.ToString("MM/dd"), d.ist.Substring(0, 2), d.ist.Substring(2, 2)) : d.eend.ToString("MM/dd")) : (d.sdate.ToString("MM/dd") + " ~ " + d.edate.ToString("MM/dd")))</dt>
|
<dt style="color:#888888"><span style="color:red;">@(d.isonline == 0 ? (d.cshape != 2 ? "강의시작일" : "집체교육") : "교육기간")</span> : @(d.isonline == 0 ? (d.cshape != 2 ? string.Format("{0} {1}:{2}", d.idate.ToString("MM/dd"), d.ist.Substring(0, 2), d.ist.Substring(2, 2)) : d.eend.ToString("MM/dd")) : (d.sdate.ToString("MM/dd") + " ~ " + d.edate.ToString("MM/dd")))</dt>
|
||||||
@if(d.cshape != 1 && d.isonline == 1)
|
@if (d.cshape != 1 && d.isonline == 1)
|
||||||
{
|
{
|
||||||
<dd><span>복습기간</span> : @(d.edate.AddYears(1).ToString("yy-MM-dd"))</dd>
|
<dd><span>복습기간</span> : @(d.edate.AddYears(1).ToString("yy-MM-dd"))</dd>
|
||||||
}
|
}
|
||||||
|
|
@ -231,7 +249,7 @@
|
||||||
} else if (_authplatform == "2") {
|
} else if (_authplatform == "2") {
|
||||||
confirmtoggle(true, "학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 회차 당 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?", "chkmobile()");
|
confirmtoggle(true, "학습을 처음 시작할 때 본인인증이 필요합니다. 본인인증은 회차 당 1회에 한 해 진행됩니다.<br/> 본인인증을 하시겠습니까?", "chkmobile()");
|
||||||
}
|
}
|
||||||
// ### 모바일 인증 중단 처리
|
// ### 모바일 인증 중단 처리
|
||||||
//msg("학습을 시작합니다.", null, null, null, "viewcontents("+_cmino+",false,@(Model.croomlectno))");
|
//msg("학습을 시작합니다.", null, null, null, "viewcontents("+_cmino+",false,@(Model.croomlectno))");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -5,31 +5,51 @@
|
||||||
<div class="evaList">
|
<div class="evaList">
|
||||||
<table>
|
<table>
|
||||||
<tbody>
|
<tbody>
|
||||||
@if (Model.CMRSes.Count()>0)
|
@if (Model.CMRSes.Count() > 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
foreach (var d in Model.CMRSes)
|
foreach (var d in Model.CMRSes)
|
||||||
{
|
{
|
||||||
<tr>
|
<tr>
|
||||||
<th>
|
<th>
|
||||||
<h5><span>@d.rstypename</span></h5>
|
<h5><span>@d.rstypename</span></h5>
|
||||||
<p>참여조건 : 진도율 @(d.rscondition)% 이상 / 수강 종료일 (@d.edate.ToShortDateString()) 이내</p>
|
@if (d.rstype == 0)
|
||||||
</th>
|
{
|
||||||
<td>
|
<p>참여조건 : 진도율 @(d.rscondition)% 이상 / 수강 종료일 (@d.edate.ToShortDateString()) 이내</p>
|
||||||
@if (ViewBag.isres > 0)
|
}
|
||||||
{
|
else
|
||||||
<td><a href="#" data-rsno="@(d.attrate >= d.rscondition && d.isrsok == 0?d.rsno:0)" class="evaType@((d.rscondition > d.attrate) || (d.edate < DateTime.Now ) ? "01": d.isrsok == 1 ? "03" : "02")">@(d.rscondition > d.attrate ? "참여불가" : d.isrsok == 1 ? "참여완료" : "참여가능")</a></td>
|
{
|
||||||
}
|
<p>참여조건 : @(d.iseq)회차 출석완료</p>
|
||||||
else
|
}
|
||||||
{
|
</th>
|
||||||
<td><a href="#" class="evaType01">참여불가</a></td>
|
<td>
|
||||||
}
|
@if (ViewBag.isres > 0)
|
||||||
</tr>
|
{
|
||||||
|
if (d.rstype == 0)
|
||||||
|
{
|
||||||
|
<a href="#" data-rsno="@(d.attrate >= d.rscondition && d.isrsok == 0 ? d.rsno : 0)" class="evaType@((d.rscondition > d.attrate) || (d.edate < DateTime.Now) ? "01" : d.isrsok == 1 ? "03" : "02")">
|
||||||
|
@(d.rscondition > d.attrate ? "참여불가" : d.isrsok == 1 ? "참여완료" : "참여가능")
|
||||||
|
</a>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<a href="#" data-rsno="@(d.istatus == 2 && d.isrsok == 0 ? d.rsno : 0)" class="evaType@((d.istatus != 2) ? "01" : d.isrsok == 1 ? "03" : "02")">
|
||||||
|
@(d.istatus == 2 && d.isrsok == 0 ? "참여가능" : d.isrsok == 1 ? "참여완료" : "참여불가")
|
||||||
|
</a>
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<a href="#" class="evaType01">참여불가</a>
|
||||||
|
}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
<tr><th colspan="2" style="text-align: center; font-weight: normal; height: 100px;">- 등록된 설문이 없습니다.</th></tr>
|
<tr>
|
||||||
|
<th colspan="2" style="text-align: center; font-weight: normal; height: 100px;">- 등록된 설문이 없습니다.</th>
|
||||||
|
</tr>
|
||||||
}
|
}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
@ -40,6 +60,7 @@
|
||||||
<div class="svyPopWrap" style="height: 100%; max-width: 800px;">
|
<div class="svyPopWrap" style="height: 100%; max-width: 800px;">
|
||||||
<div class="svyPopTitle"><h5>설문참여</h5><a href="#" onclick="$('#pop1').hide();$('html, body').removeClass('lock');"></a></div>
|
<div class="svyPopTitle"><h5>설문참여</h5><a href="#" onclick="$('#pop1').hide();$('html, body').removeClass('lock');"></a></div>
|
||||||
<div class="lctPopScroll">
|
<div class="lctPopScroll">
|
||||||
|
<p id="teachername" style="padding-left: 30px; padding-top: 30px; font-weight: bold;"></p>
|
||||||
<div class="svyPopCont" id="rslist"><ul class="svyPopBtn" id="btnrscgobox"><li><a href="#" class="bk" onclick="save()">설문제출</a></li></ul></div>
|
<div class="svyPopCont" id="rslist"><ul class="svyPopBtn" id="btnrscgobox"><li><a href="#" class="bk" onclick="save()">설문제출</a></li></ul></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -48,7 +69,9 @@
|
||||||
</div>
|
</div>
|
||||||
@section styles{
|
@section styles{
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
ul.qis input{vertical-align: middle;}
|
ul.qis input {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
}
|
}
|
||||||
@section scriptsHeader{
|
@section scriptsHeader{
|
||||||
|
|
@ -69,6 +92,7 @@
|
||||||
function cbcmrsgo() {
|
function cbcmrsgo() {
|
||||||
var h = capResult.obj.q;
|
var h = capResult.obj.q;
|
||||||
if (h.length > 0) {
|
if (h.length > 0) {
|
||||||
|
$("#teachername").text("강사설문 : " + h[0].teachername); // 첫 번째 요소의 teachername 설정
|
||||||
$("#rslist dl").remove();
|
$("#rslist dl").remove();
|
||||||
$.each(h, function (i, q) {
|
$.each(h, function (i, q) {
|
||||||
if (q.atype == 0) {
|
if (q.atype == 0) {
|
||||||
|
|
@ -76,16 +100,16 @@
|
||||||
$.each(capResult.obj.qi, function (i2, qi) {
|
$.each(capResult.obj.qi, function (i2, qi) {
|
||||||
if (qi.qno == q.qno) {
|
if (qi.qno == q.qno) {
|
||||||
qis += "<li style=\"border-bottom: 1px solid #ddd;\">" +
|
qis += "<li style=\"border-bottom: 1px solid #ddd;\">" +
|
||||||
"<input value=\""+qi.qino+"\" data-qino=\"" + qi.qino + "\" type=\"" + (q.rightcount > 1 ? "checkbox" : "radio") + "\" name=\"rscqno" + q.rscqno + "\" id=\"qino" + qi.qino + "\" />" +
|
"<input value=\"" + qi.qino + "\" data-qino=\"" + qi.qino + "\" type=\"" + (q.rightcount > 1 ? "checkbox" : "radio") + "\" name=\"rscqno" + q.rscqno + "\" id=\"qino" + qi.qino + "\" />" +
|
||||||
"<label for=\"qino" + qi.qino + "\">" + (getdb(qi.fileurl) == "" ? qi.qitext : ("<img style=\"max-width: 80%;\" src=\"@Model.Files" + qi.fileurl + "\"<br/>" + getdb(qi.qitext))) + "</label></li>";
|
"<label for=\"qino" + qi.qino + "\">" + (getdb(qi.fileurl) == "" ? qi.qitext : ("<img style=\"max-width: 80%;\" src=\"@Model.Files" + qi.fileurl + "\"<br/>" + getdb(qi.qitext))) + "</label></li>";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$("<dl class=\"svyTest atype0 " + (q.rightcount > 1 ? "atypemulti":"")+"\" data-rscqno=\"" + q.rscqno + "\"><dt><div>#" + (i + 1) + ".</div><div style=\"margin: -20px 0 0 30px\">" + q.qtext + "</div></dt><dd><ul class=\"qis\">" + qis + "</ul></dd></dl>").insertBefore($("#btnrscgobox"));
|
$("<dl class=\"svyTest atype0 " + (q.rightcount > 1 ? "atypemulti" : "") + "\" data-rscqno=\"" + q.rscqno + "\"><dt><div>#" + (i + 1) + ".</div><div style=\"margin: -20px 0 0 30px\">" + q.qtext + "</div></dt><dd><ul class=\"qis\">" + qis + "</ul></dd></dl>").insertBefore($("#btnrscgobox"));
|
||||||
} else {
|
} else {
|
||||||
$("<dl class=\"svyTest\" data-rscqno=\"" + q.rscqno + "\"><dt><div>#" + (i + 1) + ".</div><div style=\"margin: -20px 0 0 30px\">" + q.qtext + "</div></dt><dd><input type=\"text\" class=\"qitext\" /></div></dd></dl>").insertBefore($("#btnrscgobox"));
|
$("<dl class=\"svyTest\" data-rscqno=\"" + q.rscqno + "\"><dt><div>#" + (i + 1) + ".</div><div style=\"margin: -20px 0 0 30px\">" + q.qtext + "</div></dt><dd><input type=\"text\" class=\"qitext\" /></div></dd></dl>").insertBefore($("#btnrscgobox"));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
$('html, body').removeClass('lock');$('#pop1').show();
|
$('html, body').removeClass('lock'); $('#pop1').show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function save() {
|
function save() {
|
||||||
|
|
|
||||||
|
|
@ -185,7 +185,7 @@
|
||||||
}
|
}
|
||||||
@if (Model.PayItemResults.Where(w => w.ptype2 == 0 || w.ptype2 == 4).Count() == 1 && Model.PayItemResults.Where(w => w.ptype2 == 0 || w.ptype2 == 4).First().status == 1 && Model.PayItemResults.Where(w => w.ptype2 == 0 || w.ptype2 == 4).First().rsno > 0)
|
@if (Model.PayItemResults.Where(w => w.ptype2 == 0 || w.ptype2 == 4).Count() == 1 && Model.PayItemResults.Where(w => w.ptype2 == 0 || w.ptype2 == 4).First().status == 1 && Model.PayItemResults.Where(w => w.ptype2 == 0 || w.ptype2 == 4).First().rsno > 0)
|
||||||
{
|
{
|
||||||
<li><a href="/CRoom/Research?croomlectno=@Model.PayItemResults.Where(w => w.ptype2 == 0 || w.ptype2 == 4).First().lectno" class="bk">사전설문</a></li>
|
<li><a href="/CRoom/Research?croomlectno=@Model.PayItemResults.Where(w => w.ptype2 == 0 || w.ptype2 == 4).First().lectno" class="bk">강사설문</a></li>
|
||||||
}
|
}
|
||||||
</ul>
|
</ul>
|
||||||
}
|
}
|
||||||
|
|
|
||||||
47
Model/CM.cs
47
Model/CM.cs
|
|
@ -1956,14 +1956,14 @@ namespace NP.Model
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int gubun { get; set; }
|
public int gubun { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 1: 진행평가, 2: 최종평가, 11: 과제평가, 21: 토론평가, 31: 사전설문, 32: 강의평가설문
|
/// 1: 진행평가, 2: 최종평가, 11: 과제평가, 21: 토론평가, 31: 강사설문, 32: 강의평가설문
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int estkind { get; set; }
|
public int estkind { get; set; }
|
||||||
public String estkindname
|
public String estkindname
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return estkind == 1 ? "진행평가" : estkind == 2 ? "최종평가" : estkind == 11 ? "과제" : estkind == 21 ? "토론" : estkind == 31 ? "사전설문" : estkind == 32 ? "강의평가설문" : "-";
|
return estkind == 1 ? "진행평가" : estkind == 2 ? "최종평가" : estkind == 11 ? "과제" : estkind == 21 ? "토론" : estkind == 31 ? "강사설문" : estkind == 32 ? "강의평가설문" : "-";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -2053,8 +2053,16 @@ namespace NP.Model
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 순차풀이여부 0:비순차,1:순차
|
/// 순차풀이여부 0:비순차,1:순차
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int isseq {get;set;}
|
public int isseq {get;set;}
|
||||||
|
/// <summary>
|
||||||
|
/// 설문유형 0:강의평가,1:강사설문 (cmrs.rstype)
|
||||||
|
/// </summary>
|
||||||
|
public int rstype { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 설문 회차 (cminning.iseq)
|
||||||
|
/// </summary>
|
||||||
|
public int iseq { get; set; }
|
||||||
|
public string teachername { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -2399,14 +2407,14 @@ namespace NP.Model
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int rscno { get; set; }
|
public int rscno { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 설문유형 0:강의평가,1:사전설문
|
/// 설문유형 0:강의평가,1:강사설문
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int rstype{ get; set; }
|
public int rstype{ get; set; }
|
||||||
public String rstypename
|
public String rstypename
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return rstype == 0 ? "강의평가" : rstype == 1 ? "사전설문" : "-";
|
return rstype == 0 ? "강의평가" : rstype == 1 ? "강사설문" : "-";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -2462,6 +2470,10 @@ namespace NP.Model
|
||||||
public String atext { get; set; }
|
public String atext { get; set; }
|
||||||
public int acount { get; set; }
|
public int acount { get; set; }
|
||||||
public int scount { get; set; }
|
public int scount { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 강사 설문에 따른 강사 이름
|
||||||
|
/// </summary>
|
||||||
|
public string teachername { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -2508,7 +2520,7 @@ namespace NP.Model
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 강좌/과정 설문(강의평가,사전설문)
|
/// 강좌/과정 설문(강의평가,강사설문)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Serializable]
|
[Serializable]
|
||||||
public class CMRS : CMBase
|
public class CMRS : CMBase
|
||||||
|
|
@ -2527,14 +2539,14 @@ namespace NP.Model
|
||||||
public int rscno {get;set;}
|
public int rscno {get;set;}
|
||||||
public String rscname { get; set; }
|
public String rscname { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 평가구분 0:강의평가,1:사전설문
|
/// 평가구분 0:강의평가,1:강사설문
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int rstype {get;set;}
|
public int rstype {get;set;}
|
||||||
public String rstypename
|
public String rstypename
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
return rstype == 0 ? "강의평가" : "사전설문";
|
return rstype == 0 ? "강의평가" : "강사설문";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -2549,6 +2561,23 @@ namespace NP.Model
|
||||||
public int isrsok { get; set; }
|
public int isrsok { get; set; }
|
||||||
public DateTime sdate { get; set; }
|
public DateTime sdate { get; set; }
|
||||||
public DateTime edate { get; set; }
|
public DateTime edate { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 강사선물 일 때 회차조건 추가(cminning.cmino)
|
||||||
|
/// </summary>
|
||||||
|
public Int64 cmino { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 강사이름(cminning.userno => users.username)
|
||||||
|
/// </summary>
|
||||||
|
public string teachername { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 회차의 출석조건(lectinning.istatus) (null:입력전,0:결석(온라인학습중),1:입실,2:출석)
|
||||||
|
/// </summary>
|
||||||
|
public int istatus { get; set; }
|
||||||
|
/// <summary>
|
||||||
|
/// 설문 회차 (cminning.iseq)
|
||||||
|
/// </summary>
|
||||||
|
public int iseq { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[Serializable]
|
[Serializable]
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -0,0 +1,6 @@
|
||||||
|
ALTER TABLE cmrs
|
||||||
|
ADD COLUMN cmino BIGINT(20) NULL;
|
||||||
|
|
||||||
|
UPDATE rsc
|
||||||
|
SET rscname = '강사설문'
|
||||||
|
WHERE rstype = 1;
|
||||||
Loading…
Reference in New Issue