This commit is contained in:
hyunho 2020-11-04 08:04:10 +00:00
parent 1c840433cb
commit a57b127eb5
7 changed files with 263 additions and 105 deletions

View File

@ -365,6 +365,20 @@ namespace NP.Base.Controllers
} }
return JsonOK(1); return JsonOK(1);
} }
[HttpPost]
public JsonResult GetSubCm(int cmno, int? studyplace = null)
{
var result = Dao.Get<CM>("cm.subcms", new System.Collections.Hashtable() { { "cmno", cmno }, { "studyplace", studyplace } });
return JsonBack(result);
}
[HttpPost]
public JsonResult GetCmUser(int cmno)
{
var result = Dao.Get<CM>("cm.cmuser", new System.Collections.Hashtable() { { "cmno", cmno } });
return JsonBack(result);
}
} }
} }

View File

@ -160,6 +160,7 @@
<isNotNull property="iscurrent" prepend="and">a.setime &gt; now()</isNotNull> <isNotNull property="iscurrent" prepend="and">a.setime &gt; now()</isNotNull>
<isNotNull property="sstime" prepend="and">a.sstime &gt;= #sstime#</isNotNull> <isNotNull property="sstime" prepend="and">a.sstime &gt;= #sstime#</isNotNull>
<isNotNull property="setime" prepend="and">a.setime &lt;= #setime#</isNotNull> <isNotNull property="setime" prepend="and">a.setime &lt;= #setime#</isNotNull>
<isNotNull property="cgcode">and b.cgcode=#cgcode#</isNotNull>
) a ) a
<include refid="sql.pagedynamic"></include> <include refid="sql.pagedynamic"></include>
order by a.rno order by a.rno
@ -1717,5 +1718,70 @@
where a.isdel=0 where a.isdel=0
<isNotNull property="pcmno">and a.pcmno=#cmno#</isNotNull> <isNotNull property="pcmno">and a.pcmno=#cmno#</isNotNull>
</select>--> </select>-->
<select id="cm.subcms" parameterClass="hashtable" resultClass="cm">
select a.*
from (
select a.cmno,case when a.ismaster=2 then a.cmno else 0 end pcno,a.ismaster,a.cgno,a.pcmno,a.cname,a.kname
,a.tmno,a.classno,a.rstime,a.retime,a.sstime,a.setime,a.gstime,a.getime
,a.cshape,a.infee,a.outfee,a.quota
,a.introhtml,a.targethtml,a.goalhtml,a.contenthtml
,a.studytime,a.studyplace,a.certcc,a.certgradecc,a.jobcc,a.jobpositiongrade,a.difficulty,a.isrefund,a.isuse,a.isseq,a.fgnocm
,a.typeman,a.typeedu,a.typegrade,a.typejob,a.iscertificate
,b.pcgno,b.cgcode cgcode
,b.cgname,c.cgname pcgname
,c.cgcode pcgcode
,t.tyear,t.tseq
,d.cname pcname
,a.cdt,a.udt
,a.cmno value,a.cname text
,e.ccode, e.cname studyplacename
,f.cnt lectcnt
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.udt desc</isNull>) rno
,count(a.cdt) over() pagetotalcount
from cm a
inner join cg b on b.cgno=a.cgno
inner join cg c on c.cgno=b.pcgno
left outer join term t on t.tmno=a.tmno
left outer join cm d on a.ismaster=0 and d.cmno=a.pcmno
left outer join comcode e on a.studyplace = e.ccode
left outer join (select count(a.lectno) cnt from lect a where a.cmno=#cmno# and a.status =1 and a.ischanged=0) f on 1 = 1
where a.isdel=0
<isNotNull property="cmno">and a.pcmno=#cmno#</isNotNull>
<isNotNull property="studyplace">and a.studyplace=#studyplace#</isNotNull>
) a
<include refid="sql.pagedynamic"></include>
order by a.tseq, a.rstime, studyplacename
</select>
<select id="cm.cmuser" parameterClass="hashtable" resultClass="cm">
select a.cmno,case when a.ismaster=2 then a.cmno else 0 end pcno,a.ismaster,a.cgno,a.pcmno,a.cname,a.kname
,a.tmno,a.classno,a.rstime,a.retime,a.sstime,a.setime,a.gstime,a.getime
,a.cshape,a.infee,a.outfee,a.quota
,a.introhtml,a.targethtml,a.goalhtml,a.contenthtml
,a.studytime,a.studyplace,a.certcc,a.certgradecc,a.jobcc,a.jobpositiongrade,a.difficulty,a.isrefund,a.isuse,a.isseq,a.fgnocm
,a.typeman,a.typeedu,a.typegrade,a.typejob,a.iscertificate
,b.pcgno,b.cgcode cgcode
,b.cgname,c.cgname pcgname
,c.cgcode pcgcode
,t.tyear,t.tseq
,d.cname pcname
,a.cdt,a.udt
,a.cmno value,a.cname text
,e.ccode, e.cname studyplacename
,g.attendcut,g.finalcut
,i.username
from cm a
inner join cg b on b.cgno=a.cgno
inner join cg c on c.cgno=b.pcgno
left outer join term t on t.tmno=a.tmno
left outer join cm d on a.ismaster=0 and d.cmno=a.pcmno
left outer join comcode e on a.studyplace = e.ccode
left outer join cmev g on a.cmno = g.cmno
left outer join cmprof h on a.cmno = h.cmno
left outer join users i on h.userno = i.userno
where a.isdel=0
<isNotNull property="cmno">and a.cmno=#cmno#</isNotNull>
<isNotNull property="studyplace">and a.studyplace=#studyplace#</isNotNull>
</select>
</statements> </statements>
</sqlMap> </sqlMap>

View File

@ -756,7 +756,14 @@ namespace NP.FO.Controllers
{ {
vm.ComCodes = GetComCodes("typeman,typeedu,typegrade,typejob,studyplace"); vm.ComCodes = GetComCodes("typeman,typeedu,typegrade,typejob,studyplace");
vm.CMsEtc = Dao.Get<CM>("cm.cgetc", new System.Collections.Hashtable() { { "cgcode", "2" } });//cgcode = 기타교육 // 기타교육 cgcode 바뀌면 파라미터도 변경해야함 vm.CMsEtc = Dao.Get<CM>("cm.cgetc", new System.Collections.Hashtable() { { "cgcode", "2" } });//cgcode = 기타교육 // 기타교육 cgcode 바뀌면 파라미터도 변경해야함
vm.CMs = Dao.Get<CM>("cm.cms", new System.Collections.Hashtable() { { "ismaster", "1" }, { "cshape", vm.stringval2 }, { "typeman", vm.stringval3 }, { "typeedu", vm.stringval4 }, { "typegrade", vm.stringval5 }, { "typejob", vm.stringval6 } }); if (vm.stringval == "0" || string.IsNullOrEmpty(vm.stringval))
{
vm.CMs = Dao.Get<CM>("cm.cms", new System.Collections.Hashtable() { { "ismaster", "1" }, { "cshape", vm.stringval2 }, { "typeman", vm.stringval3 }, { "typeedu", vm.stringval4 }, { "typegrade", vm.stringval5 }, { "typejob", vm.stringval6 } });
}
else if (vm.stringval == "1")
{
vm.CMs = Dao.Get<CM>("cm.cms", new System.Collections.Hashtable() { { "ismaster", "1" }, { "cshape", vm.stringval2 }, { "cgcode", vm.stringval3 } });
}
return View(vm); return View(vm);
} }
@ -769,5 +776,7 @@ namespace NP.FO.Controllers
{ {
return View(vm); return View(vm);
} }
} }
} }

View File

@ -2,7 +2,7 @@
<div class="container"> <div class="container">
<div class="schBox"> <div class="schBox">
<form id="smartSearchForm" method="post"> <form id="smartSearchForm" method="post">
<input type="hidden" name="stringval" id="stringval" value="" /> <input type="hidden" name="stringval" id="stringval" value="@Model.stringval"/>
@if (Model.stringval == "0" || Model.stringval == null || Model.stringval == "") @if (Model.stringval == "0" || Model.stringval == null || Model.stringval == "")
{ {
<ul class="schTab"> <ul class="schTab">
@ -14,6 +14,7 @@
<select name="stringval2" id="stringval2"> <select name="stringval2" id="stringval2">
<option value="0" @(Model.stringval2 == "0" ? "selected" : "")>온라인교육</option> <option value="0" @(Model.stringval2 == "0" ? "selected" : "")>온라인교육</option>
<option value="1" @(Model.stringval2 == "1" ? "selected" : "")>교육장교육</option> <option value="1" @(Model.stringval2 == "1" ? "selected" : "")>교육장교육</option>
<option value="2" @(Model.stringval2 == "2" ? "selected" : "")>혼합교육</option>
</select> </select>
</li> </li>
<li> <li>
@ -42,6 +43,7 @@
<select name="stringval2" id="stringval2"> <select name="stringval2" id="stringval2">
<option value="0" @(Model.stringval2 == "0" ? "selected" : "")>온라인교육</option> <option value="0" @(Model.stringval2 == "0" ? "selected" : "")>온라인교육</option>
<option value="1" @(Model.stringval2 == "1" ? "selected" : "")>교육장교육</option> <option value="1" @(Model.stringval2 == "1" ? "selected" : "")>교육장교육</option>
<option value="2" @(Model.stringval2 == "2" ? "selected" : "")>혼합교육</option>
</select> </select>
</li> </li>
<li> <li>
@ -61,139 +63,61 @@
<li><a href="https://www.kira.or.kr" target="_blank">건축사협회 이동</a></li> <li><a href="https://www.kira.or.kr" target="_blank">건축사협회 이동</a></li>
</ul> </ul>
<input type="hidden" id="hidCmno"/>
<ul class="smtList" style="margin-bottom:150px"> <ul class="smtList" style="margin-bottom:150px">
@foreach (var item in Model.CMs) @foreach (var item in Model.CMs)
{ {
<li> <li>
<div class="smtlCont"> <div class="smtlCont">
<h5><em class="@(item.cshape == 0 ?"org" : "grn")">@(item.cshape == 0 ? "온라인" : "교육장")</em> <span>@item.cname</span></h5> <h5><em class="@(item.cshape == 0 ? "org" : item.cshape == 1? "grn" : "blu")">@(item.cshape == 0 ? "온라인" : item.cshape == 1 ? "교육장" : "혼합")</em> <span>@item.cname</span></h5>
@if (item.cshape == 1) //오프라인일경우
{
<p>신청가능강좌 : <span class="sky">부산교육장(10개), 영천교육장(7개), 진주교육장(3개)</span></p>
}
<ul class="smtlBtn"> <ul class="smtlBtn">
<li><a href="#" class="smtlBtn01" onclick="javascript: openIntro();">과정소개</a></li> <li><a href="#" class="smtlBtn02" onclick="javascript: getSubCm(@item.cshape, @item.cmno)">조회하기</a></li>
<li><a href="#" class="smtlBtn02">조회하기</a></li>
</ul> </ul>
</div> </div>
<ul class="smtlTab" id="divTab_@item.cmno"> @if (item.cshape == 1)
<li class="current"><a href="javascript:getcm('', '전체');">전체</a></li> {
@foreach (var t in Model.ComCodes.Where(w => w.cgroup.ToString() == "studyplace")) <ul class="smtlTab" id="divTab_@item.cmno" style="display:none">
{ <li class="current" onclick="javascript:setStudyplace(this,@item.cmno);"><a href="javascript:getSubCm(1, @item.cmno);">전체</a></li>
<li><a href="javascript:getcm('@t.ccode', '@t.cname');">@t.cname</a></li> @foreach (var t in Model.ComCodes.Where(w => w.cgroup.ToString() == "studyplace"))
} {
</ul> <li onclick="javascript:setStudyplace(this,@item.cmno);"><a href="javascript:getSubCm(1, @item.cmno, @t.ccode);">@t.cname 교육장</a></li>
<ul class="smtlChk"> }
<li> </ul>
<input type="checkbox" id="chk01"> }
<p><label for="chk01">31기 <span class="blu">[ 부산교육장 ]</span> <span class="gry">2019-04-05 ~ 2019-04-20 (30일 24시간) | </span><span class="red">200,000원</span></label></p> <ul class="smtlChk" id="ulSubCm_@item.cmno"></ul>
<span class="smtlChkBtn smtlChk01">신청가능</span>
</li>
<li>
<input type="checkbox" id="chk02">
<p><label for="chk02">32기 <span class="blu">[ 부산교육장 ]</span> <span class="gry">2019-04-05 ~ 2019-04-20 (30일 18시간) | </span><span class="red">200,000원</span></label></p>
<span class="smtlChkBtn smtlChk02">대기접수</span>
</li>
<li>
<input type="checkbox" id="chk03">
<p><label for="chk03">33기 신청일로부터 30일 <span class="gry">(28시간) | </span><span class="red">200,000원</span></label></p>
<span class="smtlChkBtn smtlChk01">신청가능</span>
</li>
@*<li>
<p class="subDsc">※ 대기접수는 해당 교육과정의 정원이 마감되어 교육입교 확정은 아니지만 결원 발생 시 대기신청 차례에 따라 교육생 연락처로 연락 드리는 시스템 입니다</p>
<a href="#" class="smtlChkBtn smtlChk03">수강신청</a>
</li>*@
</ul>
</li> </li>
} }
@* <li>
<div class="smtlCont">
<h5><em class="org">온라인</em> <span>건설기술인 기본1교육과정</span></h5>
<p>신청가능강좌 : <span class="sky">부산교육장(10개), 영천교육장(7개), 진주교육장(3개)</span></p>
<ul class="smtlBtn">
<li><a href="#" class="smtlBtn01">과정소개</a></li>
<li><a href="#" class="smtlBtn02">조회하기</a></li>
</ul>
</div>
<ul class="smtlTab">
<li><a href="#">전체</a></li>
<li class="current"><a href="#">부산교육청</a></li>
<li><a href="#">영천교육장</a></li>
<li><a href="#">진주교육장</a></li>
</ul>
<ul class="smtlChk">
<li>
<input type="checkbox" id="chk01">
<p><label for="chk01">31기 <span class="blu">[ 부산교육장 ]</span> <span class="gry">2019-04-05 ~ 2019-04-20 (30일 24시간) | </span><span class="red">200,000원</span></label></p>
<span class="smtlChkBtn smtlChk01">신청가능</span>
</li>
<li>
<input type="checkbox" id="chk02">
<p><label for="chk02">32기 <span class="blu">[ 부산교육장 ]</span> <span class="gry">2019-04-05 ~ 2019-04-20 (30일 18시간) | </span><span class="red">200,000원</span></label></p>
<span class="smtlChkBtn smtlChk02">대기접수</span>
</li>
<li>
<input type="checkbox" id="chk03">
<p><label for="chk03">33기 신청일로부터 30일 <span class="gry">(28시간) | </span><span class="red">200,000원</span></label></p>
<span class="smtlChkBtn smtlChk01">신청가능</span>
</li>
<li>
<p class="subDsc">※ 대기접수는 해당 교육과정의 정원이 마감되어 교육입교 확정은 아니지만 결원 발생 시 대기신청 차례에 따라 교육생 연락처로 연락 드리는 시스템 입니다</p>
<a href="#" class="smtlChkBtn smtlChk03">수강신청</a>
</li>
</ul>
</li>
<li>
<div class="smtlCont">
<h5><em class="grn">교육장</em> <span>건설기술인 기본2교육과정</span></h5>
<p>신청가능강좌 : <span class="sky">부산교육장(10개), 영천교육장(7개), 진주교육장(3개)</span></p>
<ul class="smtlBtn">
<li><a href="#" class="smtlBtn01">과정소개</a></li>
<li><a href="#" class="smtlBtn02">조회하기</a></li>
</ul>
</div>
</li>
<li>
<div class="smtlCont">
<h5><em class="org">온라인</em> <span>건설기술인 기본2교육과정</span></h5>
<p>신청가능강좌 : <span class="sky">부산교육장(10개), 영천교육장(7개), 진주교육장(3개)</span></p>
<ul class="smtlBtn">
<li><a href="#" class="smtlBtn01">과정소개</a></li>
<li><a href="#" class="smtlBtn02">조회하기</a></li>
</ul>
</div>
</li>*@
</ul> </ul>
</div><!-- container --> </div>
<div class="clsPop" id="divIntro" style="display:none"> <div class="clsPop" id="divIntro" style="display:none">
<div> <div>
<div> <div>
<div class="clsPopWrap"> <div class="clsPopWrap">
<div class="clsPopTitle"> <div class="clsPopTitle">
<h5>과정소개</h5> <h5>강좌소개</h5>
<a href="#" onclick="javascript: closeIntro();"></a> <a href="#" onclick="javascript: closeIntro();"></a>
</div> </div>
<div class="clsPopCont"> <div class="clsPopCont">
<ul class="smtList pop"> <ul class="smtList pop">
<li> <li>
<div class="smtlCont"> <div class="smtlCont">
<h5><em class="org">온라인</em> <span>2020 LMO 생물안전관리(책임)자 보수교육</span></h5> <h5><span id="spnCmTitle"></span></h5>
<div class="gry"> <div class="gry">
<p>교육분류 : 설계시공기술인 | 계속교육 | 초급 | 토목</p> <p>교육분류 : <span id="spnCmKind"></span></p>
<p>인정시간 : <span class="sky">14</span>시간</p> <p>인정시간 : <span class="sky"><span id="spnCmStudyHour"></span></span>시간</p>
<p>수료기준 : 진도 80%이상, 시험 100%</p> <p>수료기준 : 진도 <span id="spnCmAttend"></span>%, 시험 <span id="spnCmFinal"></span>%</p>
</div> </div>
</div> </div>
</li> </li>
</ul> </ul>
<dl class="fairIntro"> <dl class="fairIntro">
<dt>강사정보</dt> <dt>강사정보</dt>
<dd>Kim, Mi-Jeong</dd> <dd><span id="spnCmUsername"></span></dd>
</dl> </dl>
<dl class="fairIntro"> <dl class="fairIntro">
<dt>강좌소개</dt> <dt>강좌소개</dt>
<dd>신규 연구실안전환경 관리자</dd> <dd><span id="spnCmIntroHtml"></span></dd>
</dl> </dl>
</div><!-- clsPopCont --> </div><!-- clsPopCont -->
</div><!-- clsPopWrap --> </div><!-- clsPopWrap -->
@ -203,14 +127,20 @@
<script type="text/javascript"> <script type="text/javascript">
var _cmno;
$(document).ready(function () { $(document).ready(function () {
$('#liTab1').click(function () { $('#liTab1').click(function () {
$("#stringval").val("0"); $("#stringval").val("0");
$("#smartSearchForm").submit(); setTimeout(function () {
$("#smartSearchForm").submit();
}, 500);
}); });
$('#liTab2').click(function () { $('#liTab2').click(function () {
$("#stringval").val("1"); $("#stringval").val("1");
$("#smartSearchForm").submit(); setTimeout(function () {
$("#smartSearchForm").submit();
}, 500);
}); });
$('#btnSearch').click(function () { $('#btnSearch').click(function () {
if ($("#liTab1").hasClass("current")) { if ($("#liTab1").hasClass("current")) {
@ -219,14 +149,131 @@
else if ($("#liTab2").hasClass("current")) { else if ($("#liTab2").hasClass("current")) {
$("#stringval").val("1"); $("#stringval").val("1");
} }
setTimeout(function () {
$("#smartSearchForm").submit();
}, 500);
});
$("#stringval").change(function () {
$("#smartSearchForm").submit(); $("#smartSearchForm").submit();
}); });
$("#stringval2").change(function () {
$("#smartSearchForm").submit();
});
$("#stringval3").change(function () {
$("#smartSearchForm").submit();
});
$("#stringval4").change(function () {
$("#smartSearchForm").submit();
});
$("#stringval5").change(function () {
$("#smartSearchForm").submit();
});
$("#stringval6").change(function () {
$("#smartSearchForm").submit();
});
}); });
function openIntro() { function openIntro(cmno) {
$("#divIntro").show(); $("#divIntro").show();
capp("/focommon/getcmuser", { cmno: cmno }, "renderCmNo");
}
function renderCmNo() {
var typeman = $("#stringval3").find("option:selected").text();
var typeedu = $("#stringval4").find("option:selected").text();
var typegrade = $("#stringval5").find("option:selected").text();
var typejob = $("#stringval6").find("option:selected").text();
var cmkind;
cmkind = typeman + " | " + typeedu + " | " + typegrade + " | " + typejob;
if ($("#stringval").val() == "1") {
cmkind = $("#stringval3").find("option:selected").text();
}
$.each(capResult.obj, function (i, d) {
$("#spnCmTitle").text(d.text);
$("#spnCmKind").text(cmkind);
$("#spnCmStudyHour").text(d.studytime);
$("#spnCmAttend").text(d.attendcut);
$("#spnCmFinal").text(d.finalcut);
$("#spnCmUsername").text(d.username);
$("#spnCmIntroHtml").text(d.introhtml.replace(/(<([^>]+)>)/ig, ""));
});
} }
function closeIntro() { function closeIntro() {
$("#divIntro").hide(); $("#divIntro").hide();
} }
function setStudyplace(v,cmno) {
$("#divTab_" + cmno + " > li").removeClass("current");
$(v).addClass("current");
}
function getSubCm(cshape, no, place) {
_cmno = no;
if (cshape == 1) {
$("#divTab_" + no).show();
}
else {
$("#divTab_" + no).hide();
}
capp("/focommon/getsubcm", { cmno: no, studyplace: place }, "renderSubCmGrid");
}
function renderSubCmGrid() {
var cmno = _cmno;
var ulSubCm = $("#ulSubCm_" + cmno);
ulSubCm.empty();
var applyClass = "<li><p class='subDsc'>※ 대기접수는 해당 교육과정의 정원이 마감되어 교육입교 확정은 아니지만 결원 발생 시 대기신청 차례에 따라 교육생 연락처로 연락 드리는 시스템 입니다</p ></li>";
$.each(capResult.obj, function (i, d) {
var li = $("<li />");
var p = $("<p />");
var a = $("<a />", { "onclick": "javascript:openIntro(" + d.cmno + ");" });
var a2 = $("<a />", { "onclick": "javascript:applyClass();" });
var spanIntro = $("<span />", { "class": "smtlChkBtn smtlChk01" ,"style":"right:130px"});
var span = $("<span />", { "class": "smtlChkBtn smtlChk03"});
if (d.quota != 0) {
var cnt = d.quota - d.lectcnt;
if (cnt <= 0) {
span = $("<span />", { "class": "smtlChkBtn smtlChk02" });
span.text("대기접수");
}
else {
span.text("수강신청");
}
}
else {
span.text("수강신청");
}
if (d.cshape == 0) {
p.html("<label>" + d.tseq + "기 <span class='gry'>" + d.rsrename + " (" + d.rsretimeToDay+"일) </span> " + d.cname + "<span class='red'> | " + d.infee + "원</span></label>");
}
else if (d.cshape == 1) {
p.html("<label>" + d.tseq + "기 <span class='blu'>[" + d.studyplacename + "교육장] </span><span class='gry'>" + d.rsrename + " (" + d.rsretimeToDay +"일) </span> " + d.cname + "<span class='red'> | "+d.infee+"원</span></label>");
}
else if (d.cshape == 2) {
p.html("<label>" + d.tseq + "기 <span class='gry'>" + d.rsrename + " (" + d.rsretimeToDay +"일) </span> " + d.cname + "<span class='red'> | " + d.infee + "원 ※ 집체교육 선택 필수</span></label>");
}
spanIntro.text("강좌소개");
li.append(p);
a.append(spanIntro);
li.append(a);
a2.append(span);
li.append(a2);
ulSubCm.append(li);
});
if (ulSubCm.html() != "") {
ulSubCm.append(applyClass);
}
if (capResult.obj.length <= 0) {
ulSubCm.append("<p class='subDsc' style='margin-top:30px; margin-bottom:30px'>※ 강좌가 없습니다.</p >");
}
}
function applyClass() {
}
</script> </script>

View File

@ -86,6 +86,7 @@
<ul> <ul>
<li><a href="javascript:schIpt('1', '0', '온라인교육');">온라인교육</a></li> <li><a href="javascript:schIpt('1', '0', '온라인교육');">온라인교육</a></li>
<li><a href="javascript:schIpt('1', '1', '교육장교육');">교육장교육</a></li> <li><a href="javascript:schIpt('1', '1', '교육장교육');">교육장교육</a></li>
<li><a href="javascript:schIpt('1', '2', '혼합교육');">혼합교육</a></li>
</ul> </ul>
</div> </div>
</div> </div>
@ -174,6 +175,7 @@
<ul> <ul>
<li><a href="javascript:schIpt('1', '0', '온라인교육');">온라인교육</a></li> <li><a href="javascript:schIpt('1', '0', '온라인교육');">온라인교육</a></li>
<li><a href="javascript:schIpt('1', '1', '교육장교육');">교육장교육</a></li> <li><a href="javascript:schIpt('1', '1', '교육장교육');">교육장교육</a></li>
<li><a href="javascript:schIpt('1', '2', '혼합교육');">혼합교육</a></li>
</ul> </ul>
</div> </div>
</div> </div>

View File

@ -1986,6 +1986,7 @@ span.org {color: #ff5a00;}
.smtlCont h5 em {display: inline-block; vertical-align: middle; padding: 0 5px; width: 50px; height: 20px; line-height: 20px; color: #fff; font-size: 9pt; text-align: center; margin-right: 5px; font-style: normal;} .smtlCont h5 em {display: inline-block; vertical-align: middle; padding: 0 5px; width: 50px; height: 20px; line-height: 20px; color: #fff; font-size: 9pt; text-align: center; margin-right: 5px; font-style: normal;}
.smtlCont h5 em.org {background: #f60;} .smtlCont h5 em.org {background: #f60;}
.smtlCont h5 em.grn {background: #259e41;} .smtlCont h5 em.grn {background: #259e41;}
.smtlCont h5 em.blu {background: #0000ff;}
.smtlCont h5 span {vertical-align: middle;} .smtlCont h5 span {vertical-align: middle;}
.smtlCont p {margin-top: 10px; color: #888; position: relative; padding-left: 8px;} .smtlCont p {margin-top: 10px; color: #888; position: relative; padding-left: 8px;}
.smtlCont p:before {content: ''; display: block; width: 2px; height: 2px; background: #888; position: absolute; left: 0; top: 10px;} .smtlCont p:before {content: ''; display: block; width: 2px; height: 2px; background: #888; position: absolute; left: 0; top: 10px;}

View File

@ -158,6 +158,14 @@ namespace NP.Model
return rstime == null && retime == null ? "" : string.Format("{0}~{1}", rstime == null ? "" : rstime.Value.ToString("yy.MM.dd"), retime == null ? "" : retime.Value.ToString("yy.MM.dd")); return rstime == null && retime == null ? "" : string.Format("{0}~{1}", rstime == null ? "" : rstime.Value.ToString("yy.MM.dd"), retime == null ? "" : retime.Value.ToString("yy.MM.dd"));
} }
} }
public String rsretimeToDay
{
get
{
return rstime == null && retime == null ? "" : string.Format("{0}", Convert.ToDateTime(retime).DayOfYear - Convert.ToDateTime(rstime).DayOfYear);
}
}
public int isrequesting { public int isrequesting {
get { get {
return retime == null || rstime == null ? 0 : rstime.Value < DateTime.Now && retime.Value > DateTime.Now ? 1 : 0; return retime == null || rstime == null ? 0 : rstime.Value < DateTime.Now && retime.Value > DateTime.Now ? 1 : 0;
@ -417,6 +425,17 @@ namespace NP.Model
/// 이수증발급여부 /// 이수증발급여부
/// </summary> /// </summary>
public int? iscertificate { get; set; } public int? iscertificate { get; set; }
public int? lectcnt { get; set; }
public String applicableCM { get; set; }
/// <summary>
/// 출석수료기준
/// </summary>
public int attendcut { get; set; }
/// <summary>
/// 시험수료기준
/// </summary>
public int finalcut { get; set; }
public String username { get; set; }
} }
[Serializable] [Serializable]