This commit is contained in:
parent
fe916b938f
commit
ad2031a0ce
|
|
@ -495,6 +495,7 @@
|
|||
<Content Include="Content\file\examusers.xlsx" />
|
||||
<Content Include="Content\file\YNICTEManualaxds.pdf" />
|
||||
<Content Include="Content\file\documentspast.xlsx" />
|
||||
<Content Include="libman.json" />
|
||||
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" />
|
||||
<Content Include="js\Chart.utils.js" />
|
||||
<Content Include="Spring\ControllersStaging.xml" />
|
||||
|
|
@ -685,6 +686,11 @@
|
|||
<Content Include="Views\Shared\Partial\AssignBox2.cshtml" />
|
||||
<Content Include="Views\croom\documentspast.cshtml" />
|
||||
<Content Include="Views\Shared\Partial\CMScdBox2.cshtml" />
|
||||
<Content Include="Views\croom\gradeall.cshtml" />
|
||||
<Content Include="Views\croom\gradeall0.cshtml" />
|
||||
<Content Include="Views\croom\gradeall2.cshtml" />
|
||||
<Content Include="Views\croom\gradeall4.cshtml" />
|
||||
<Content Include="Views\croom\attscds.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="App_Data\" />
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@ namespace NP.BO.Controllers
|
|||
{
|
||||
return Redirect("/");
|
||||
}
|
||||
vm.CMInnings = Dao.Get<CMInning>("cm.cminnings", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } });
|
||||
vm.CMInnings = Dao.Get<CMInning>("cm.cminnings", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno },{"isscd",0 } });
|
||||
vm.CMPRs = Dao.Get<CMPR>("cm.cmprs", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } });
|
||||
vm.CMs = Dao.Get<CM>("cm.cms", new System.Collections.Hashtable() { { "ismaster",1 },{ "cshapes", "0,2"},{ "orderby","a.cname"} });
|
||||
ViewBag.fronturl = GetConfig("fronturl");
|
||||
|
|
@ -260,7 +260,7 @@ namespace NP.BO.Controllers
|
|||
{
|
||||
return Redirect("/");
|
||||
}
|
||||
vm.CMInnings = Dao.Get<CMInning>("cm.cminnings", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "isonline", 0 } });
|
||||
vm.CMInnings = Dao.Get<CMInning>("cm.cminnings", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "isonline", 0 },{"isscd",1 } });
|
||||
vm.CMInningscds = new List<CMinningscd>() { };
|
||||
if (vm.CMInnings.Count > 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ using NP.Model;
|
|||
using NP.Base.Popbill;
|
||||
using Popbill.Taxinvoice;
|
||||
using System.Collections;
|
||||
using Spring.Expressions;
|
||||
|
||||
namespace NP.BO.Controllers
|
||||
{
|
||||
|
|
@ -485,6 +486,18 @@ namespace NP.BO.Controllers
|
|||
vm.pagetotalcount = GetCount(vm.LectInnings.FirstOrDefault());
|
||||
return View(vm);
|
||||
}
|
||||
public ActionResult attscds(VMLect vm)
|
||||
{
|
||||
vm.ComCodes = GetComCodes("studyplace");
|
||||
ViewBag.reporturl = GetConfig("reporturl");
|
||||
var ht = SetHash(vm);
|
||||
ht.Add("edate", vm.stringval);
|
||||
ht.Add("cname", vm.stringval2);
|
||||
ht.Add("studyplace", vm.stringval3);
|
||||
vm.Lects = Dao.Get<Lect>("lect.lectinnings.forattscd", ht);
|
||||
vm.pagetotalcount = GetCount(vm.Lects.FirstOrDefault());
|
||||
return View(vm);
|
||||
}
|
||||
public ActionResult grades(NP.Model.VMCM vm)
|
||||
{
|
||||
var ht = SetHash(vm, false);
|
||||
|
|
@ -546,14 +559,21 @@ namespace NP.BO.Controllers
|
|||
{
|
||||
vm.CMEV = new CMEV() { };
|
||||
}
|
||||
vm.Lects = Dao.Get<Lect>("grade.lectgrades", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "ustatus", 1 }, { "isrebate", vm.addstringval }, { "orderby", "ua.asname,ua.asno,u.username" } });
|
||||
vm.Lects = Dao.Get<Lect>("grade.lectgrades", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "ustatus", 1 }, { "isrebate", vm.addstringval },{"iscomplete",vm.addstringval2 },{"cmisno",vm.addstringval3 },{ "ispasss", vm.addstringval4 },{"ispassa",vm.addstringval5 },{"ispassex",vm.addstringval6 },{"usernameid",vm.addstringval7 }, { "orderby", "ua.asname,ua.asno,u.username" } });
|
||||
vm.CMInnings = new List<CMInning>() { };
|
||||
vm.CMinningscds = new List<CMinningscd>() { };
|
||||
if(vm.CMEV.cshape ==2)
|
||||
{
|
||||
vm.CMInnings = Dao.Get<CMInning>("cm.cminnings", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "isonline", 0 },{"isscd",1 } });
|
||||
vm.CMinningscds = Dao.Get<CMinningscd>("cm.cminningscds", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno } });
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
{
|
||||
vm.Lects = Dao.Get<Lect>("lect.atts", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "status", 1 }, { "ustatus", 1 }, { "isrebate", vm.addstringval } });
|
||||
vm.pagetotalcount = GetCount(vm.Lects.FirstOrDefault());
|
||||
vm.CMInnings = Dao.Get<CMInning>("cm.cminnings", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "isonline", 0 } });
|
||||
vm.CMInnings = Dao.Get<CMInning>("cm.cminnings", new System.Collections.Hashtable() { { "cmno", vm.CM.cmno }, { "isonline", 0 },{"isscd",0 } });
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
|
|
@ -615,10 +635,79 @@ namespace NP.BO.Controllers
|
|||
}
|
||||
return View(vm);
|
||||
}
|
||||
|
||||
public ActionResult gradeall(VMLect vm)
|
||||
{
|
||||
vm.IsAdmin = SUserInfo.IsAdmin;
|
||||
vm.ComCodes = GetComCodes("studyplace");
|
||||
ViewBag.fronturl = GetConfig("fronturl");
|
||||
ViewBag.reporturl = GetConfig("reporturl");
|
||||
if (ViewBag.IsSubAdmin97)
|
||||
{
|
||||
vm.tabidx = 4;
|
||||
}
|
||||
int pcnt = vm.pagerowcount == 0 ? 100 : vm.pagerowcount;
|
||||
var ht = SetHash(vm);
|
||||
if(vm.isexceldown == 1)
|
||||
{
|
||||
ht.Remove("pagerowsize");
|
||||
ht.Add("pagerowsize",pcnt);
|
||||
}
|
||||
ht.Add("edate", vm.stringval);
|
||||
ht.Add("cshape", vm.stringval2);
|
||||
ht.Add("cname", vm.stringval3);
|
||||
ht.Add("cnamestr", vm.stringval3);
|
||||
ht.Add("iscomplete", vm.stringval4);
|
||||
ht.Add("studyplace", vm.stringval5);
|
||||
ht.Add("sdateall", vm.stringval8);
|
||||
ht.Add("edateall", vm.stringval9);
|
||||
ht.Add("asname", vm.stringval10);
|
||||
if (!string.IsNullOrEmpty(vm.stringval6))
|
||||
{
|
||||
ht.Add(vm.stringval6, vm.stringval7);
|
||||
}
|
||||
switch (vm.tabidx)
|
||||
{
|
||||
case 0:
|
||||
ht.Add("ustatus", 1);
|
||||
ht.Add("orderby", "ua.asname,ua.asno,u.username");
|
||||
vm.Lects = Dao.Get<Lect>("grade.lectgrades", ht);
|
||||
if (vm.isexceldown == 1)
|
||||
{
|
||||
return ExportExcel(
|
||||
new String[] { "No", "운영기수", "구분", "고객사", "교육장", "과정명", "교육생(ID)", "교육시작일", "교육종료일", "진도율", "진행평가", "최종평가", "과제", "환산점수", "집합교육출석여부", "강의평가", "수료여부"},
|
||||
new String[] { "rno", "sseqname", "isrebatename", "asname", "studyplacename", "cname", "usernameid", "sdatestr", "edatestr", "attrate", "ex0point", "ex1point", "sd0point", "tpointstr", "isoffabsstr", "rs0point", "iscompletename" },
|
||||
vm.Lects,
|
||||
"성적처리전체" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day);
|
||||
}
|
||||
vm.pagetotalcount = GetCount(vm.Lects.FirstOrDefault());
|
||||
break;
|
||||
case 2:
|
||||
case 3:
|
||||
{
|
||||
ht.Add("extype", vm.tabidx == 2 ? 0 : 1);
|
||||
vm.LectEXes = Dao.Get<LectEX>("lect.lectexes.all", ht);
|
||||
vm.pagetotalcount = GetCount(vm.LectEXes.FirstOrDefault());
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
{
|
||||
ht.Add("sdtype", 0);
|
||||
vm.LectSDs = new List<LectSD>() { };
|
||||
ht.Add("sdstate", vm.addstringval2);
|
||||
vm.LectSDs = Dao.Get<LectSD>("lect.lectsds.all", ht);
|
||||
vm.pagetotalcount = GetCount(vm.LectSDs.FirstOrDefault());
|
||||
}
|
||||
break;
|
||||
default:break;
|
||||
}
|
||||
return View(vm);
|
||||
}
|
||||
|
||||
public ActionResult atts(VMLect vm)
|
||||
{
|
||||
vm.Lect = Dao.Get<Lect>("lect.lects", new System.Collections.Hashtable() { { "lectno", vm.longval } }).First();
|
||||
vm.LectInningPages = Dao.Get<LectInningPage>("lect.lectinningpages", new System.Collections.Hashtable() { { "lectno", vm.Lect.lectno } });
|
||||
vm.LectInningPages = Dao.Get<LectInningPage>("lect.lectinningpages", new System.Collections.Hashtable() { { "lectno", vm.Lect.lectno },{"isscd", 0} });
|
||||
vm.PageLogs = Dao.Get<PageLog>("lect.pagelogs", new System.Collections.Hashtable() { { "start", vm.Lect.sstime }, { "end", vm.Lect.setime.Value.ToString("yyyy-MM-dd 23:59:59") }, { "userno", vm.Lect.userno }, { "logsite", 1 } });
|
||||
return View(vm);
|
||||
}
|
||||
|
|
@ -690,8 +779,8 @@ namespace NP.BO.Controllers
|
|||
payItem.cmistudyplacename = vm.ComCodes.Where(w => w.cgroup.ToString() == "studyplace" && w.ccode == payItem.cmistudyplace).FirstOrDefault()?.cname;
|
||||
}
|
||||
return ExportExcel(
|
||||
new String[] { "결제번호", "신청자이름", "ID", "회사명", "상품유형", "환급여부", "상품명", "결제금액", "결제방법", "입금금액", "환불금액", "신청일", "입금일", "결제상태", "환급은행명", "환급계좌번호", "환급예금주", "교육장소", "강좌교육시작일", "강좌교육종료일", "신청교육장소", "교육신청일" },
|
||||
new String[] { "payno", "username", "userid", "asname", "cshapename", "isrebatename", "itemname", "payamt", "pptypename", "payamt", "refundamt", "cdtymd", "payymd", "pstatusname2", "rbank", "rbankaccnum", "tbankuser", "studyplacename", "sdateymd", "edateymd", "cmistudyplacename", "cmiestartymd" },
|
||||
new String[] { "결제번호", "신청자이름", "ID", "회사명", "상품유형", "환급여부", "상품명", "결제금액", "결제방법", "입금금액", "환불금액", "신청일", "입금일", "결제상태", "환급은행명", "환급계좌번호", "환급예금주", "교육장소", "강좌교육시작일", "강좌교육종료일", "신청교육장소", "교육신청일","등급","목적","수료여부" },
|
||||
new String[] { "payno", "username", "userid", "asname", "cshapename", "isrebatename", "itemname", "payamt", "pptypename", "payamt", "refundamt", "cdtymd", "payymd", "pstatusname2", "rbank", "rbankaccnum", "tbankuser", "studyplacename", "sdateymd", "edateymd", "cmistudyplacename", "cmiestartymd","tgname","tename", "completename" },
|
||||
vm.PayItems,
|
||||
"ProductSales_" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day);
|
||||
}
|
||||
|
|
@ -740,11 +829,11 @@ namespace NP.BO.Controllers
|
|||
vm.PayRfds = Dao.Get<PayRfd>("cr.payrfditems2", vm.rfdno);
|
||||
vm.FileList = new List<File>() { };
|
||||
vm.FileList2 = new List<File>() { };
|
||||
if ((vm.PayRfds.First().fgnor??0) > 0)
|
||||
if (vm.PayRfds != null && (vm.PayRfds.First().fgnor??0) > 0)
|
||||
{
|
||||
vm.FileList = GetFiles(vm.PayRfds.First().fgnor.Value);
|
||||
}
|
||||
if ((vm.PayRfds.First().fgnob??0) > 0)
|
||||
if (vm.PayRfds != null && (vm.PayRfds.First().fgnob??0) > 0)
|
||||
{
|
||||
vm.FileList2 = GetFiles(vm.PayRfds.First().fgnob.Value);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
<th width="80">회차</th>
|
||||
<th>학습방식</th>
|
||||
<th>강의주제</th>
|
||||
<th>강사</th>
|
||||
@*<th>강사</th>*@
|
||||
<th>최근수정일</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
|
@ -53,9 +53,9 @@
|
|||
{
|
||||
<tr>
|
||||
<td>@item.iseq @(item.istaste == 1 ? "(S)" : "")</td>
|
||||
<td>@item.isonlinename</td>
|
||||
<td>@item.scdtypename</td>
|
||||
<td class="link"><a href="#" onclick="reg(@item.cmino)">@item.ititle</a></td>
|
||||
<td>@item.username</td>
|
||||
@*<td>@item.username</td>*@
|
||||
<td>@item.udtymd</td>
|
||||
</tr>
|
||||
}
|
||||
|
|
@ -64,7 +64,7 @@
|
|||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<div class="tar buttonbox"><a href="#" onclick="regscd(0,0);" class="btn btn-s-xs btn-info">일정등록</a></div>
|
||||
<div class="tar buttonbox"><a href="#" onclick="regscd(0,0,@(Model.CMInnings.Count() > 0 ? Model.CMInnings.FirstOrDefault().scdtype : -1));" class="btn btn-s-xs btn-info">일정등록</a></div>
|
||||
<section class="panel panel-default" style="border-top: 1px solid #ddd; margin-top: 5px;">
|
||||
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 교육일정등록<span class=""></span></strong></header>
|
||||
<div class="table-responsive" id="excel1">
|
||||
|
|
@ -72,7 +72,9 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th width="80">순서</th>
|
||||
<th>교육일정</th>
|
||||
<th width="80">운영기수</th>
|
||||
<th width="80">교육장소</th>
|
||||
<th>교육종료일</th>
|
||||
<th>제한인원</th>
|
||||
<th>등록인원</th>
|
||||
<th>최근수정일</th>
|
||||
|
|
@ -85,8 +87,10 @@
|
|||
{
|
||||
<tr>
|
||||
<td>@item.scdseq</td>
|
||||
<td>@item.sseq</td>
|
||||
<td>@item.studyplacename</td>
|
||||
<td class="link"><a href="#" onclick="regscd(@item.cmino, @item.cmisno)">@item.estart ~ @item.eend</a></td>
|
||||
<td>@item.quota</td>
|
||||
<td>@item.quotastr</td>
|
||||
<td>@item.regmem</td>
|
||||
<td>@item.udt</td>
|
||||
</tr>
|
||||
|
|
@ -105,24 +109,12 @@
|
|||
<table class="regtable">
|
||||
<colgroup><col style="width:150px;" /><col /></colgroup>
|
||||
<tr>
|
||||
<th class="req">강의주제</th>
|
||||
<td>@Html.TextBox("ititle", "", new { @class = "form-control", @style = "", @maxlength = "100" })</td>
|
||||
<th>학습방식</th>
|
||||
<td>@Html.Partial("./Partial/Radio", null, new ViewDataDictionary() { { "valuetext", "0:오프라인;1:온라인대체" },{ "checked",0}, { "name", "scdtype" } })</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>교안</th>
|
||||
<td>
|
||||
<input type="hidden" name="fgnotf" id="fgnotf" />
|
||||
<input type="file" name="filetf" id="filetf" />
|
||||
<div id="files"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="req">강사</th>
|
||||
<td>@Html.Partial("./Partial/Select", Model.CMPRs, new ViewDataDictionary { { "special", "reg" }, { "name", "userno" }, { "selected", "" }, { "df", ":-강사선택" }, { "class", "disp-init" } })</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr style="display:none;">
|
||||
<th class="req">회차(순서)</th>
|
||||
<td>@Html.TextBox("iseq", "", new { @class = "form-control disp-init int nocomma text-center", @style = "width: 80px;", @maxlength = "3" })</td>
|
||||
<td>@Html.TextBox("iseq", "", new {@class = "form-control disp-init int nocomma text-center", @style = "width: 80px;", @maxlength = "3" })</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="findboxbtnbox">
|
||||
|
|
@ -137,17 +129,21 @@
|
|||
<table class="regtable">
|
||||
<colgroup><col style="width:150px;" /><col /></colgroup>
|
||||
<tr>
|
||||
<th class="req">교육일정</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Date", (DateTime?)null, new ViewDataDictionary { { "name", "idate" } })
|
||||
@Html.Partial("./Partial/Select", "", new ViewDataDictionary { { "special", "fromto" }, { "name", "isth" }, { "start", 0 }, { "end", 23 }, { "textadd", "시" }, { "df", ":-시" }, { "class", "disp-init" }, { "style", "width: 80px;" } })
|
||||
@Html.Partial("./Partial/Select", "", new ViewDataDictionary { { "special", "fromto" }, { "name", "istm" }, { "start", 0 }, { "end", 59 }, { "textadd", "분" }, { "df", ":-분" }, { "class", "disp-init" }, { "style", "width: 80px;" } })
|
||||
~
|
||||
@Html.Partial("./Partial/Select", "", new ViewDataDictionary { { "special", "fromto" }, { "name", "ieth" }, { "start", 0 }, { "end", 23 }, { "textadd", "시" }, { "df", ":-시" }, { "class", "disp-init" }, { "style", "width: 80px;" } })
|
||||
@Html.Partial("./Partial/Select", "", new ViewDataDictionary { { "special", "fromto" }, { "name", "ietm" }, { "start", 0 }, { "end", 59 }, { "textadd", "분" }, { "df", ":-분" }, { "class", "disp-init" }, { "style", "width: 80px;" } })
|
||||
</td>
|
||||
<th class="req">운영기수</th>
|
||||
<td>@Html.TextBox("sseq", "", new { @class = "form-control disp-init int nocomma text-center", @style = "width: 80px;", @maxlength = "3" }) 기</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="req">교육종료일</th>
|
||||
<td>
|
||||
@Html.Partial("./Partial/Date", (DateTime?)null, new ViewDataDictionary { { "name", "idate" } })
|
||||
@Html.Partial("./Partial/Select", "", new ViewDataDictionary { { "special", "fromto" }, { "name", "isth" }, { "start", 0 }, { "end", 23 }, { "textadd", "시" }, { "df", ":-시" }, { "class", "disp-init idoff" }, { "style", "width: 80px;" } })
|
||||
@Html.Partial("./Partial/Select", "", new ViewDataDictionary { { "special", "fromto" }, { "name", "istm" }, { "start", 0 }, { "end", 59 }, { "textadd", "분" }, { "df", ":-분" }, { "class", "disp-init idoff" }, { "style", "width: 80px;" } })
|
||||
<span class="idoff">~</span>
|
||||
@Html.Partial("./Partial/Select", "", new ViewDataDictionary { { "special", "fromto" }, { "name", "ieth" }, { "start", 0 }, { "end", 23 }, { "textadd", "시" }, { "df", ":-시" }, { "class", "disp-init idoff" }, { "style", "width: 80px;" } })
|
||||
@Html.Partial("./Partial/Select", "", new ViewDataDictionary { { "special", "fromto" }, { "name", "ietm" }, { "start", 0 }, { "end", 59 }, { "textadd", "분" }, { "df", ":-분" }, { "class", "disp-init idoff" }, { "style", "width: 80px;" } })
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="troff">
|
||||
<th class="req">교육장소</th>
|
||||
<td>
|
||||
@*@Html.Partial("./Partial/Radio", Model.ComCodes.Where(w => w.cgroup == "studyplace"), new ViewDataDictionary() { { "checked", Model.CM.studyplace }, { "name", "istudyplace" }, { "isreadonly", 0 } })*@
|
||||
|
|
@ -158,9 +154,9 @@
|
|||
}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr class="troff">
|
||||
<th class="req">제한인원</th>
|
||||
<td>@Html.TextBox("iquota", "", new { @class = "form-control disp-init int nocomma text-center", @style = "width: 80px;", @maxlength = "3" })</td>
|
||||
<td>@Html.TextBox("iquota", "", new { @class = "form-control disp-init int nocomma text-center", @style = "width: 80px;", @maxlength = "5" })</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="findboxbtnbox">
|
||||
|
|
@ -177,23 +173,29 @@
|
|||
}
|
||||
@section scripts{
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
|
||||
});
|
||||
var _cmino = 0;
|
||||
var _cmisno = 0;
|
||||
var _isonline = @(Model.CMInnings.Count()>0 ? Model.CMInnings.FirstOrDefault().scdtype == 1 ? "true" : "false" : "false");
|
||||
$(document).ready(function () {
|
||||
if (_isonline) {
|
||||
$(".troff").hide();
|
||||
$(".idoff").hide();
|
||||
} else {
|
||||
$(".troff").show();
|
||||
$(".idoff").show();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
function save() {
|
||||
setrv("isonline", 0); //교육일정에서는 오프라인 교육만 추가 가능
|
||||
if (check("ititle", null, "강의주제를 입력해주세요.", true)) { }
|
||||
else if (check("userno", null, "강사를 선택해주세요.", true)) { }
|
||||
else if (getint(val("iseq")) < 1) { focus("iseq"); msg2("회차를 입력해주세요."); }
|
||||
else if (confirm("저장하시겠습니까?")) {
|
||||
if (confirm("저장하시겠습니까?")) {
|
||||
var data = new FormData();
|
||||
data.append("isscd", 1);
|
||||
data.append("cmino", _cmino);
|
||||
data.append("cmno", @Model.CM.cmno);
|
||||
data.append("isonline", getrv("isonline"));
|
||||
data.append("ititle", getv("ititle"));
|
||||
data.append("ititle", "집체교육");
|
||||
data.append("idate", null);
|
||||
data.append("iday", null);
|
||||
data.append("ist", null);
|
||||
|
|
@ -204,12 +206,8 @@
|
|||
data.append("atime", 0);
|
||||
data.append("mstime", 0);
|
||||
data.append("metime", 0);
|
||||
data.append("fgnotf", val("fgnotf"));
|
||||
if ($("#filetf")[0].files.length > 0) {
|
||||
data.append("filetf", $("#filetf")[0].files[0]);
|
||||
}
|
||||
data.append("userno", val("userno"));
|
||||
data.append("iseq", val("iseq"));
|
||||
data.append("iseq", 99);
|
||||
data.append("scdtype", getrv("scdtype"));
|
||||
capfile("/acommon/cminningsave", data, "cbcminningsave", null, null, true);
|
||||
}
|
||||
}
|
||||
|
|
@ -222,28 +220,38 @@
|
|||
}
|
||||
|
||||
function savescd() {
|
||||
if (@Model.CM.ismaster == 0 && check("idate", null, "학습일자를 입력해주세요.", true)) { }
|
||||
else if (val("isth") == "") { focus("isth"); msg2("학습시간을 확인해주세요."); }
|
||||
else if (val("istm") == "") { focus("istm"); msg2("학습시간을 확인해주세요."); }
|
||||
else if (val("ieth") == "") { focus("ieth"); msg2("학습시간을 확인해주세요."); }
|
||||
else if (val("ietm") == "") { focus("ietm"); msg2("학습시간을 확인해주세요."); }
|
||||
else if (getint(val("isth")) > getint(val("ieth"))) { focus("ieth"); msg2("학습시간을 확인해주세요(종료시간이 더 빠름)"); }
|
||||
else if (getint(val("isth")) == getint(val("ieth")) && getint(val("istm")) > getint(val("ietm"))) { focus("ieth"); msg2("학습시간을 확인해주세요(종료시간이 더 빠름)"); }
|
||||
if (val("sseq") == "") { focus("sseq"); msg2("운영기수를 입력해주세요."); }
|
||||
else if (@Model.CM.ismaster == 0 && check("idate", null, "학습일자를 입력해주세요.", true)) { }
|
||||
//오프라인일때만 체크
|
||||
else if (!_isonline && val("isth") == "") { focus("isth"); msg2("학습시간을 확인해주세요."); }
|
||||
else if (!_isonline && val("istm") == "") { focus("istm"); msg2("학습시간을 확인해주세요."); }
|
||||
else if (!_isonline && val("ieth") == "") { focus("ieth"); msg2("학습시간을 확인해주세요."); }
|
||||
else if (!_isonline && val("ietm") == "") { focus("ietm"); msg2("학습시간을 확인해주세요."); }
|
||||
else if (!_isonline && getint(val("isth")) > getint(val("ieth"))) { focus("ieth"); msg2("학습시간을 확인해주세요(종료시간이 더 빠름)"); }
|
||||
else if (!_isonline && getint(val("isth")) == getint(val("ieth")) && getint(val("istm")) > getint(val("ietm"))) { focus("ieth"); msg2("학습시간을 확인해주세요(종료시간이 더 빠름)"); }
|
||||
else if (confirm("저장하시겠습니까?")) {
|
||||
var date = getv("idate");
|
||||
var isth = getv("isth");
|
||||
var istm = getv("istm");
|
||||
var ieth = getv("ieth");
|
||||
var ietm = getv("ietm");
|
||||
var estart = (date + " " + fillzero(isth, true, 2) + ":" + fillzero(istm, true, 2) + ":00").toString();
|
||||
var eend = (date + " " + fillzero(ieth, true, 2) + ":" + fillzero(ietm, true, 2) + ":00").toString();
|
||||
var estart = "";
|
||||
var eend = "";
|
||||
if (!_isonline) {
|
||||
estart = (date + " " + fillzero(isth, true, 2) + ":" + fillzero(istm, true, 2) + ":00").toString();
|
||||
eend = (date + " " + fillzero(ieth, true, 2) + ":" + fillzero(ietm, true, 2) + ":59").toString();
|
||||
} else {
|
||||
estart = (date + " 00:00:00").toString();
|
||||
eend = (date + " 00:23:59").toString();
|
||||
}
|
||||
capp("/acommon/cminningscdsave", {
|
||||
cmisno: _cmisno,
|
||||
cmino: @(Model.CMInnings.Count() > 0 ? Model.CMInnings[0].cmino : 0),
|
||||
estart2: estart,
|
||||
eend2: eend,
|
||||
quota: getv("iquota"),
|
||||
studyplace: $(":input:radio[name=istudyplace]:checked").val()
|
||||
quota: _isonline ? 99999 : getv("iquota"),
|
||||
sseq : getv("sseq"),
|
||||
studyplace: _isonline ? null : $(":input:radio[name=istudyplace]:checked").val()
|
||||
}, "cbcminningscdsave", null, null, null, true);
|
||||
}
|
||||
}
|
||||
|
|
@ -302,7 +310,8 @@
|
|||
if (capResult.code == 1000) {
|
||||
var d = capResult.obj;
|
||||
$("#btndel").show();
|
||||
setrv("isonline", d.isonline);
|
||||
//setrv("isonline", d.isonline);
|
||||
setrv("scdtype",d.scdtype)
|
||||
setv("ititle", d.ititle);
|
||||
setv("userno", d.userno);
|
||||
setv("iseq", d.iseq);
|
||||
|
|
@ -346,7 +355,10 @@
|
|||
setv("ieth", getint(endMinute));
|
||||
setv("ietm", getint(endSec));
|
||||
setv("iquota", getint(d.quota));
|
||||
$("input:radio[name=istudyplace][value=" + d.studyplace + "]").attr("checked", true);
|
||||
setv("sseq", getint(d.sseq));
|
||||
if (d.studyplace != null) {
|
||||
$("input:radio[name=istudyplace][value=" + d.studyplace + "]").attr("checked", true);
|
||||
}
|
||||
}
|
||||
bglayer(); $("#scdbox").slideDown("fast", function () { $("#scdbox").scrollTop(0); });
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 평가기준 및 비율<span class=""></span></strong></header>
|
||||
<table class="regtable" id="esttable">
|
||||
<colgroup><col style="width: 80px;display:none;" /><col style="width: 100px;" /><col /><col /><col /><col /><col /><col /><col style="display:none;" /></colgroup>
|
||||
<tr><th style="display:none;">기준</th><th>평가항목</th><th>출석(%)</th><th>진행평가(%)</th><th>최종평가(%)</th><th>과제(%)</th><th>토론(%)</th><th style="display:none;">기타(%)</th><th>합계(총점)</th></tr>
|
||||
<tr><th style="display:none;">기준</th><th>평가항목</th><th>진도율</th><th>진행평가(%)</th><th>최종평가(%)</th><th>과제(%)</th><th style="display:none;">토론(%)</th><th style="display:none;">기타(%)</th><th>합계(총점)</th></tr>
|
||||
<tr class="auto" id="trest">
|
||||
<th rowspan="2" style="display:none;">비환급</th>
|
||||
<th>비율(점수)</th>
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="mid" id="mid" value="@Model.CMEV.mid" /></td>
|
||||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="final" id="final" value="@Model.CMEV.final" /></td>
|
||||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="subject" id="subject" value="@Model.CMEV.subject" /></td>
|
||||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="discuss" id="discuss" value="@Model.CMEV.discuss" /></td>
|
||||
<td style="display:none;"><input type="text" class="form-control int nocomma" maxlength="100" name="discuss" id="discuss" value="@Model.CMEV.discuss" /></td>
|
||||
<td style="display:none;"><input type="text" class="form-control int nocomma" maxlength="100" name="etc" id="etc" value="@Model.CMEV.etc" /></td>
|
||||
<td><input type="text" class="form-control int nocomma tot" maxlength="100" name="tot" id="tot" value="@(Model.CMEV.attend+Model.CMEV.mid+Model.CMEV.final+Model.CMEV.subject+Model.CMEV.discuss+Model.CMEV.etc)" readonly="readonly" /></td>
|
||||
</tr>
|
||||
|
|
@ -52,7 +52,7 @@
|
|||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="midcut" id="midcut" value="@Model.CMEV.midcut" /></td>
|
||||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="finalcut" id="finalcut" value="@Model.CMEV.finalcut" /></td>
|
||||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="subjectcut" id="subjectcut" value="@Model.CMEV.subjectcut" /></td>
|
||||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="discusscut" id="discusscut" value="@Model.CMEV.discusscut" /></td>
|
||||
<td style="display:none;"><input type="text" class="form-control int nocomma" maxlength="100" name="discusscut" id="discusscut" value="@Model.CMEV.discusscut" /></td>
|
||||
<td style="display:none;"><input type="text" class="form-control int nocomma" maxlength="100" name="etccut" id="etccut" value="@Model.CMEV.etccut" /></td>
|
||||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="cut" id="cut" value="@Model.CMEV.cut" /></td>
|
||||
</tr>
|
||||
|
|
@ -63,7 +63,7 @@
|
|||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="midrfd" id="midrfd" value="@Model.CMEV.midrfd" /></td>
|
||||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="finalrfd" id="finalrfd" value="@Model.CMEV.finalrfd" /></td>
|
||||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="subjectrfd" id="subjectrfd" value="@Model.CMEV.subjectrfd" /></td>
|
||||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="discussrfd" id="discussrfd" value="@Model.CMEV.discussrfd" /></td>
|
||||
<td style="display:none;"><input type="text" class="form-control int nocomma" maxlength="100" name="discussrfd" id="discussrfd" value="@Model.CMEV.discussrfd" /></td>
|
||||
<td style="display:none;"><input type="text" class="form-control int nocomma" maxlength="100" name="etcrfd" id="etcrfd" value="@Model.CMEV.etcrfd" /></td>
|
||||
<td><input type="text" class="form-control int nocomma tot" maxlength="100" name="totrfd" id="totrfd" value="@(Model.CMEV.attendrfd+Model.CMEV.midrfd+Model.CMEV.finalrfd+Model.CMEV.subjectrfd+Model.CMEV.discussrfd+Model.CMEV.etcrfd)" readonly="readonly" /></td>
|
||||
</tr>
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="midcutrfd" id="midcutrfd" value="@Model.CMEV.midcutrfd" /></td>
|
||||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="finalcutrfd" id="finalcutrfd" value="@Model.CMEV.finalcutrfd" /></td>
|
||||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="subjectcutrfd" id="subjectcutrfd" value="@Model.CMEV.subjectcutrfd" /></td>
|
||||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="discusscutrfd" id="discusscutrfd" value="@Model.CMEV.discusscutrfd" /></td>
|
||||
<td style="display:none;"><input type="text" class="form-control int nocomma" maxlength="100" name="discusscutrfd" id="discusscutrfd" value="@Model.CMEV.discusscutrfd" /></td>
|
||||
<td style="display:none;"><input type="text" class="form-control int nocomma" maxlength="100" name="etccutrfd" id="etccutrfd" value="@Model.CMEV.etccutrfd" /></td>
|
||||
<td><input type="text" class="form-control int nocomma" maxlength="100" name="cutrfd" id="cutrfd" value="@Model.CMEV.cutrfd" /></td>
|
||||
</tr>
|
||||
|
|
@ -81,7 +81,9 @@
|
|||
</section>
|
||||
@if (Model.CM.cshape == 2)//혼합유형
|
||||
{
|
||||
<label><input type="checkbox" name="isoffabs" id="isoffabs" @(Model.CMEV.isoffabs != 0 ? "checked" : "") /> 집합교육 출석 필수</label>
|
||||
<div id="divoffabs" style="@(Model.CMEV.scdtype == 1 ? "display:none;" : "")">
|
||||
<label><input type="checkbox" @(Model.CMEV.scdtype == 1 ? "disabled" : "") name="isoffabs" id="isoffabs" @(Model.CMEV.isoffabs != 0 ? "checked" : "") /> 집합교육 출석 필수</label>
|
||||
</div>
|
||||
}
|
||||
<div style="padding-left: 0px; font-weight: bold;">
|
||||
※ 비율의 합은 100%가 되어야 하며, 합계(총점) 수료기준은 반드시 입력하셔야 합니다.<br />
|
||||
|
|
@ -91,7 +93,7 @@
|
|||
<br />
|
||||
<div class="tar buttonbox">
|
||||
<a href="#" onclick="add(0, 0);" class="btn btn-s-xs btn-primary">진행평가/최종평가추가</a>
|
||||
<a href="#" onclick="add(1, 0);" class="btn btn-s-xs btn-primary">과제/토론추가</a>
|
||||
<a href="#" onclick="add(1, 0);" class="btn btn-s-xs btn-primary">과제추가</a>
|
||||
<a href="#" onclick="add(2, 0);" class="btn btn-s-xs btn-primary">설문추가</a>
|
||||
</div>
|
||||
<section class="panel panel-default" style="border-top: 1px solid #ddd; margin-top: 5px;">
|
||||
|
|
@ -163,8 +165,10 @@
|
|||
else if (idx == 4) { $("#dform").attr("action", "/cm/@(Model.viewname)menu").submit(); }
|
||||
}, t);
|
||||
}
|
||||
var _isonline = @(Model.CMEV.scdtype == 1 ? "true" : "false");
|
||||
function save() {
|
||||
var isok = true;
|
||||
$("#isoffabs").attr("disabled", false);
|
||||
$.each($("tr td input.tot"), function (i, c) {
|
||||
if (getint($(c).val()) != 100) {
|
||||
isok = false; $(c).focus(); msg("평가항목의 " + ($(c).hasClass("tot") ? "합이" : "기준이") +" [100]이 되도록 입력해주세요."); return false;
|
||||
|
|
@ -209,6 +213,7 @@
|
|||
|
||||
}
|
||||
function cbsave() {
|
||||
$("#isoffabs").attr("disabled", _isonline);
|
||||
if (capResult.code == 1000) {
|
||||
msg("평가기준/비율을 저장했습니다.", null, true, null, true);
|
||||
gotab(3, 500);
|
||||
|
|
|
|||
|
|
@ -259,13 +259,14 @@
|
|||
else if (getint(val("iseq")) < 1) { focus("iseq"); msg2("회차를 입력해주세요."); }
|
||||
else if (confirm("저장하시겠습니까?")) {
|
||||
if (getrv("isonline") == "1") {
|
||||
capp("/acommon/cminningsave", { cmino: _cmino, cmno: @Model.CM.cmno, isonline: getrv("isonline"), ititle: getv("ititle"), ctno: $("#contentdatabox li").attr("data-no"), istaste: getrv("istaste"), sttime: getint(val("sttime")), atime: getint(val("atime")), mstime: getint(val("mstime")), metime: getint(val("metime")), userno: val("userno"), iseq: val("iseq") }, "cbcminningsave", null, null,null,true);
|
||||
capp("/acommon/cminningsave", { cmino: _cmino, cmno: @Model.CM.cmno, isonline: getrv("isonline"), ititle: getv("ititle"), ctno: $("#contentdatabox li").attr("data-no"), istaste: getrv("istaste"), sttime: getint(val("sttime")), atime: getint(val("atime")), mstime: getint(val("mstime")), metime: getint(val("metime")), userno: val("userno"), iseq: val("iseq"), isscd:0 }, "cbcminningsave", null, null,null,true);
|
||||
} else {
|
||||
if (@Model.CM.cshape == 2) {
|
||||
msg2("온라인 교육시 교육장 회차는 등록 할 수 없습니다.");
|
||||
return;
|
||||
}
|
||||
var data = new FormData();
|
||||
data.append("isscd", 0);
|
||||
data.append("cmino", _cmino);
|
||||
data.append("cmno", @Model.CM.cmno);
|
||||
data.append("isonline", getrv("isonline"));
|
||||
|
|
|
|||
|
|
@ -19,7 +19,8 @@
|
|||
<div class="col-sm-8 col-md-10">
|
||||
@if (Model.examsavable == "")
|
||||
{
|
||||
@Html.Partial("./Partial/Radio", "0:과제;1:토론", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMSD.sdtype" }, { "checked", Model.CMSD.sdtype } })
|
||||
@Html.Partial("./Partial/Radio", "0:과제", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMSD.sdtype" }, { "checked", 0 } })
|
||||
@*@Html.Partial("./Partial/Radio", "0:과제;1:토론", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMSD.sdtype" }, { "checked", Model.CMSD.sdtype } })*@
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -0,0 +1,269 @@
|
|||
@model NP.Model.VMLect
|
||||
<form id="mform" method="post">
|
||||
<input type="hidden" id="mform_tabidx" name="tabidx" value="@Model.tabidx" />
|
||||
<section class="panel panel-default clearfix devsearch" data-cleartbody="tbody1">
|
||||
@*@Html.Partial("./Partial/SearchCaption")*@
|
||||
<div class="table-responsive">
|
||||
<table class="table b-t b-light viewtable">
|
||||
<colgroup>
|
||||
<col width="15%" />
|
||||
<col width="35%" />
|
||||
<col width="15%" />
|
||||
<col width="*" />
|
||||
<col />
|
||||
</colgroup>
|
||||
<tbody id="searchtbody">
|
||||
<tr>
|
||||
<th>교육종료일</th>
|
||||
<td>
|
||||
<div class="col-md-6">
|
||||
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval) ? (DateTime?)null : Convert.ToDateTime(Model.stringval), new ViewDataDictionary { { "name", "stringval" } })
|
||||
</div>
|
||||
</td>
|
||||
<th>교육생</th>
|
||||
<td>
|
||||
<div class="col-md-12">
|
||||
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "name", "searchtype" }, { "selected", Model.searchtype }, { "valuetext", "usernamestr:이름;useridstr:ID" } })
|
||||
@Html.Partial("./Partial/Text", Model.searchtext, Helpers.DicText(new NP.Model.TextDic() { Name = "searchtext", Style = "width:70%; display:inline-block;", Value = Model.searchtext, CssClass = "ff" }))
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>과정명</th>
|
||||
<td>
|
||||
<div class="col-md-12">
|
||||
@Html.Partial("./Partial/Text", Model.stringval2, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval2", Value = Model.stringval2 }))
|
||||
</div>
|
||||
</td>
|
||||
<th>교육장</th>
|
||||
<td>
|
||||
<div class="col-md-12">
|
||||
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "studyplace"), new ViewDataDictionary { { "name", "stringval3" }, { "selected", Model.stringval3 }, { "style", "width: 100%" }, { "df", ":교육장선택" } })
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<div style="text-align: left; border-bottom: 1px solid #ddd; padding-bottom: 5px;">
|
||||
<span style="color:red; font-weight:bold;">* 온라인 교육만 해당되며, 교육장교육은 검색되지 않습니다. 교육장교육은 <u>성적처리</u> 기능을 이용해주세요.</span>
|
||||
<div style="text-align:right;">
|
||||
<button class="btn btn-default btn-s-xs" type="button" onclick="javascript:submit();"><i class="fa fa-search"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<section class="panel panel-default">
|
||||
<div style="padding:5px 10px; text-align:right;">
|
||||
@Html.Partial("./Partial/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } })
|
||||
<a href="#" class="btn btn-primary" onclick="save(2);">출석처리</a>
|
||||
<a href="#" class="btn btn-danger" onclick="save(0);">결석처리</a>
|
||||
<a href="#" class="btn btn-danger" onclick="save(-1);">미입력처리</a>
|
||||
</div>
|
||||
<div class="table-responsive" id="excel1">
|
||||
<table class="table table-striped b-t b-light">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" onclick="javascript: checkall('excel1', this);" /></th>
|
||||
<th width="20">No</th>
|
||||
<th width="30">운영기수</th>
|
||||
<th>교육장</th>
|
||||
<th>과정명</th>
|
||||
<th>교육생(ID)</th>
|
||||
<th>교육시작일</th>
|
||||
<th>교육종료일</th>
|
||||
<th>집합교육출석여부</th>
|
||||
<th>수료여부</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="data" id="tbody1">
|
||||
@foreach (var d in Model.Lects)
|
||||
{
|
||||
<tr>
|
||||
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-usernameid="@d.usernameid" data-userno="@d.userno" data-cmino="@d.cmino" /></td>
|
||||
<td>@d.rnorvt</td>
|
||||
@if (d.cshape == 2)
|
||||
{
|
||||
<td>@d.sseq</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td>-</td>
|
||||
}
|
||||
<td>@d.studyplacename</td>
|
||||
<td>@d.cname</td>
|
||||
<td>@d.usernameid</td>
|
||||
<td>@((d.cshape == 0 && d.isrebate == 0 ? d.payoktime : d.sdate).Value.ToShortDateString())</td>
|
||||
@if (d.cshape == 2)
|
||||
{
|
||||
if (d.estart != null && d.estart > Convert.ToDateTime("1900-01-01") && d.estart.ToShortDateString() != "0001-01-01" && d.estart >= DateTime.Now)
|
||||
{
|
||||
<td class="link text-center"><a href="#" onclick="javascript: openScd(@d.cmno,@d.lectno,@d.cmisno);">@d.eend.ToShortDateString()</a></td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td>@d.eend.ToShortDateString()</td>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<td>@d.edate.Value.ToShortDateString()</td>
|
||||
}
|
||||
<td>@d.istatusname</td>
|
||||
@if (!ViewBag.IsSubAdmin96)
|
||||
{
|
||||
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("<a href=\"#\" onclick=\"viewcert({0})\">{1}</a>", d.lectno, "수료") : d.iscompletename)</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("{1}", d.lectno, "수료") : d.iscompletename)</td>
|
||||
}
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@Html.Pager((int)Model.pagenum, 10, Model.pagerowcount, Model.pagetotalcount)
|
||||
</section>
|
||||
</form>
|
||||
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; z-index: 1041; top: 60px; overflow: auto;">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
||||
<ul id="ulScd"></ul>
|
||||
<div class="findboxbtnbox" id="btnsavelect">
|
||||
<a href="#" class="btn btn-primary" onclick="updateScd();">선택완료</a>
|
||||
</div>
|
||||
</div>
|
||||
@section styles{
|
||||
<style type="text/css">
|
||||
</style>
|
||||
}
|
||||
@section scriptsHeader{
|
||||
@Html.Partial("./Partial/FileScript")
|
||||
@Html.Partial("./Partial/ScriptDate")
|
||||
}
|
||||
@section scripts{
|
||||
<script>
|
||||
var _authtype = 1;
|
||||
var _lectno;
|
||||
function viewcert(lectno) {
|
||||
_lectno = lectno;
|
||||
capp("/acommon/authkey", { authtype: _authtype, jobkey: lectno }, "cbauthkey");
|
||||
}
|
||||
function cbauthkey() {
|
||||
if (capResult.code == 1000) {
|
||||
@*var pop = window.open('@ViewBag.fronturl/Open/CertPrint?userno=@ViewBag.SSUserNo&authtype=' + _authtype + '&randkey=' + capResult.obj, "certprint", "width=" + (screen.availWidth) + ", height=" + (screen.availHeight) + ", scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");*@
|
||||
var pop = window.open('@ViewBag.reporturl/certification.aspx?lectno='+_lectno, "certprint", "width=" + (screen.availWidth) + ", height=" + (screen.availHeight) + ", scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");
|
||||
if (pop == null) {
|
||||
msg("팝업이 차단되어 있습니다. 차단을 해제해 주세요.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var selectedcmno;
|
||||
var selectedLectno;
|
||||
var selectedCmisno;
|
||||
function setScd() {
|
||||
capp("/acommon/GetScdForMixEdu", { cmno: selectedcmno }, "renderScd");
|
||||
}
|
||||
function renderScd() {
|
||||
var ulScd = $("#ulScd");
|
||||
ulScd.empty();
|
||||
var seq = 0;
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
var li = $("<li />");
|
||||
if (d.isEnd == true) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled><span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (종료)</label></label>");
|
||||
}
|
||||
else {
|
||||
if (d.quota != 0) {
|
||||
if (d.remainPeople <= 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled<span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (마감)</label></label>");
|
||||
}
|
||||
else {
|
||||
if (seq == 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label></label>");
|
||||
}
|
||||
else {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label></label>");
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (seq == 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "</label>");
|
||||
}
|
||||
else {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "</label>");
|
||||
}
|
||||
}
|
||||
}
|
||||
seq++;
|
||||
ulScd.append(li);
|
||||
});
|
||||
|
||||
$("input:radio[name='rdoScds']:radio[value='" + selectedCmisno + "']").prop('checked', true);
|
||||
}
|
||||
function openScd(cmno, lectno, cmisno) {
|
||||
selectedcmno = cmno;
|
||||
selectedLectno = lectno;
|
||||
selectedCmisno = cmisno;
|
||||
$.when(
|
||||
setScd()
|
||||
).done(function () {
|
||||
setTimeout(function () {
|
||||
bglayer();
|
||||
$("#scdbox").slideDown("fast");
|
||||
}, 200);
|
||||
});
|
||||
}
|
||||
|
||||
function updateScd() {
|
||||
if (confirm("교육일정을 변경하시겠습니까?")) {
|
||||
var cmisno = $("input:radio[name=rdoScds]:checked").val();
|
||||
capp("/acommon/LectScdChange", { lectno: selectedLectno, cmisno: cmisno }, "afterUpdateScd");
|
||||
}
|
||||
}
|
||||
function afterUpdateScd() {
|
||||
if (capResult.code > 0) {
|
||||
msgok(1, "", true);
|
||||
submit("mform", 800, true);
|
||||
}
|
||||
else {
|
||||
msg("관리자에게 문의하세요.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var amsg;
|
||||
function save(no) {
|
||||
if (no == 2) { amsg = "출석"; }
|
||||
else if (no == 0) { amsg = "결석"; }
|
||||
else { amsg = "미입력"; }
|
||||
|
||||
if ($("#tbody1 tr input.autocheck:checked").length < 1) {
|
||||
msg(amsg + "처리할 교육생을 선택해주세요.");
|
||||
} else if (confirm("선택한 교육생을 "+amsg+"처리하시겠습니까?")) {
|
||||
var userinfos ="";
|
||||
var cuis="";
|
||||
$.each($("#tbody1 tr input.autocheck:checked"), function (i, c) {
|
||||
if ($(c).attr("data-cmino") == "" || $(c).attr("data-cmino") < 1) {
|
||||
cuis += "," + $(c).attr("data-usernameid");
|
||||
} else {
|
||||
userinfos += "," + $(c).attr("data-cmino") + ":" + $(c).val();
|
||||
}
|
||||
});
|
||||
userinfos = userinfos.substr(1);
|
||||
cuis = cuis.substr(1);
|
||||
if (cuis != "") {
|
||||
msg(cuis + "교육생들은 " + amsg + "처리가 불가능합니다.");
|
||||
} else {
|
||||
capp("/acommon/offattscdsave", { userinfos : userinfos,istatus:no }, "cboffattscdsave");
|
||||
}
|
||||
}
|
||||
}
|
||||
function cboffattscdsave() {
|
||||
if (capResult.code == 1000) {
|
||||
msgf2("저장했습니다.", "submit('mform', 0, true)");
|
||||
} else { msgdev(true); }
|
||||
}
|
||||
</script>
|
||||
}
|
||||
|
|
@ -103,7 +103,7 @@
|
|||
<td class="link text-center"><a href="#" onclick="viewrefund(@d.payno, @d.pstatus, @d.payuserno)">@d.pstatusname</a></td>
|
||||
@if (d.cshape == 2 && d.estart != null && d.estart > Convert.ToDateTime("1900-01-01") && d.estart.ToShortDateString() != "0001-01-01" && d.estart >= DateTime.Now) //혼합모드라면
|
||||
{
|
||||
<td class="link text-center"><a href="#" onclick="jabscript: openScd(@d.lectno, @d.cmisno);">@d.estart.ToShortDateString()</a></td>
|
||||
<td class="link text-center"><a href="#" onclick="javascript: openScd(@d.lectno, @d.cmisno);">@d.estart.ToShortDateString()</a></td>
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
<li class="@(Model.tabidx == 2 ? "active" : "")"><a href="#" onclick="gotab(2);" data-toggle="tab">진행평가</a></li>
|
||||
<li class="@(Model.tabidx == 3 ? "active" : "")"><a href="#" onclick="gotab(3);" data-toggle="tab">최종평가</a></li>
|
||||
<li class="@(Model.tabidx == 4 ? "active" : "")"><a href="#" onclick="gotab(4);" data-toggle="tab">과제</a></li>
|
||||
<li class="@(Model.tabidx == 5 ? "active" : "")"><a href="#" onclick="gotab(5);" data-toggle="tab">토론</a></li>
|
||||
@*<li class="@(Model.tabidx == 5 ? "active" : "")"><a href="#" onclick="gotab(5);" data-toggle="tab">토론</a></li>*@
|
||||
}
|
||||
</ul>
|
||||
@Html.Partial("grade" + (Model.tabidx==2 || Model.tabidx == 3 ? 2 : Model.tabidx), Model)
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
var ev = Model.Lects.FirstOrDefault() ?? new NP.Model.Lect() { };
|
||||
}
|
||||
<form id="mform" method="post">
|
||||
@if(Model.CMEV.isoffabs == 1)
|
||||
@if (Model.CMEV.isoffabs == 1)
|
||||
{
|
||||
<span style="padding:10px; font-weight:700; color:red;">집합교육 출석 필수강좌입니다.</span>
|
||||
}
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
<table class="table table-striped b-t b-light no-odd">
|
||||
<colgroup><col style="width: 80px;display:none;" /><col style="width: 100px;" /><col /><col /><col /><col /><col /><col /><col /></colgroup>
|
||||
<thead>
|
||||
<tr><th style="display:none;">기준</th><th>평가항목</th><th>출석(%)</th><th>진행평가(%)</th><th>최종평가(%)</th><th>과제(%)</th><th>토론(%)</th><th>기타(%)</th><th>합계(총점)</th></tr>
|
||||
<tr><th style="display:none;">기준</th><th>평가항목</th><th>진도율</th><th>진행평가(%)</th><th>최종평가(%)</th><th>과제(%)</th><th style="display:none;">토론(%)</th><th style="display:none;">기타(%)</th><th>합계(총점)</th></tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<th rowspan="2" style="display:none;">비환급</th>
|
||||
|
|
@ -21,8 +21,8 @@
|
|||
<td>@Model.CMEV.mid</td>
|
||||
<td>@Model.CMEV.final</td>
|
||||
<td>@Model.CMEV.subject</td>
|
||||
<td>@Model.CMEV.discuss</td>
|
||||
<td>@Model.CMEV.etc</td>
|
||||
<td style="display:none;">@Model.CMEV.discuss</td>
|
||||
<td style="display:none;">@Model.CMEV.etc</td>
|
||||
<td>@(Model.CMEV.attend + Model.CMEV.mid + Model.CMEV.final + Model.CMEV.subject + Model.CMEV.discuss + Model.CMEV.etc )</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
@ -31,8 +31,8 @@
|
|||
<td>@Model.CMEV.midcut</td>
|
||||
<td>@Model.CMEV.finalcut</td>
|
||||
<td>@Model.CMEV.subjectcut</td>
|
||||
<td>@Model.CMEV.discusscut</td>
|
||||
<td>@Model.CMEV.etccut</td>
|
||||
<td style="display:none;">@Model.CMEV.discusscut</td>
|
||||
<td style="display:none;">@Model.CMEV.etccut</td>
|
||||
<td>@Model.CMEV.cut</td>
|
||||
</tr>
|
||||
@if (Model.CM.isrefund == 1)
|
||||
|
|
@ -44,8 +44,8 @@
|
|||
<td>@Model.CMEV.midrfd</td>
|
||||
<td>@Model.CMEV.finalrfd</td>
|
||||
<td>@Model.CMEV.subjectrfd</td>
|
||||
<td>@Model.CMEV.discussrfd</td>
|
||||
<td>@Model.CMEV.etcrfd</td>
|
||||
<td style="display:none;">@Model.CMEV.discussrfd</td>
|
||||
<td style="display:none;">@Model.CMEV.etcrfd</td>
|
||||
<td>@(Model.CMEV.attendrfd + Model.CMEV.midrfd + Model.CMEV.finalrfd + Model.CMEV.subjectrfd + Model.CMEV.discussrfd + Model.CMEV.etcrfd)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
@ -54,8 +54,8 @@
|
|||
<td>@Model.CMEV.midcutrfd</td>
|
||||
<td>@Model.CMEV.finalcutrfd</td>
|
||||
<td>@Model.CMEV.subjectcutrfd</td>
|
||||
<td>@Model.CMEV.discusscutrfd</td>
|
||||
<td>@Model.CMEV.etccutrfd</td>
|
||||
<td style="display:none;">@Model.CMEV.discusscutrfd</td>
|
||||
<td style="display:none;">@Model.CMEV.etccutrfd</td>
|
||||
<td>@Model.CMEV.cutrfd</td>
|
||||
</tr>
|
||||
}
|
||||
|
|
@ -63,6 +63,20 @@
|
|||
</section>
|
||||
<section class="panel panel-default">
|
||||
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 교육생 평가현황<span class=""></span></strong></header>
|
||||
<div class="step-content">
|
||||
<div class="step-pane active form-inline">
|
||||
@if (Model.CMEV.cshape != 1)
|
||||
{
|
||||
@Html.Partial("./Partial/Select", Model.CMinningscds, new ViewDataDictionary { { "special", "reg" }, { "name", "addstringval3" }, { "selected", Model.addstringval3 }, { "df", ":교육일정" }, { "onchange", "findme()" } })
|
||||
}
|
||||
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":수료여부;1:수료;0:미수료" }, { "name", "addstringval2" }, { "selected", Model.addstringval2 }, { "onchange", "findme()" } })
|
||||
<label><input type="checkbox" name="addstringval4" value="1" @(Model.addstringval4 == "1" ? "checked" : "") onchange="findme()" /> 과제제출완료</label>
|
||||
<label><input type="checkbox" name="addstringval5" value="1" @(Model.addstringval5 == "1" ? "checked" : "") onchange="findme()" /> 진도율조건충족</label>
|
||||
<label><input type="checkbox" name="addstringval6" value="1" @(Model.addstringval6 == "1" ? "checked" : "") onchange="findme()" /> 시험기준충족</label>
|
||||
@Html.Partial("./Partial/Text", Model.addstringval7, Helpers.DicText(new NP.Model.TextDic() { Name = "addstringval7", Value = Model.addstringval7, PH = "ID 또는 이름을 입력하세요.", CssClass = "ff" }))
|
||||
<button class="btn btn-default btn-s-xs" type="button" onclick="javascript:findme();"><i class="fa fa-search"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 5px 10px; text-align: right;">
|
||||
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":전체;1:환급;0:비환급" }, { "name", "addstringval" }, { "selected", Model.addstringval }, { "style", "position: absolute; left: 0; margin-left: 50px;" + (Model.CM.isrefund == 1 ? "" : "display:none;") }, { "onchange", "findme()" } })
|
||||
@Html.Partial("./Partial/sembtns", "#tbody1;" + (Model.IsAdmin ? "1;1" : "0;0") + ";1;1;0;평가안내")
|
||||
|
|
@ -72,8 +86,8 @@
|
|||
<a href="#" class="btn btn-primary" onclick="save();">수료확인</a>
|
||||
if (!ViewBag.IsSubAdmin96)
|
||||
{
|
||||
<a href="#" class="btn btn-danger" onclick="save2();">강제수료처리</a>
|
||||
<a href="#" class="btn btn-danger" onclick="save3();">강제수료취소</a>
|
||||
<a href="#" class="btn btn-danger" onclick="save2();">수료처리</a>
|
||||
<a href="#" class="btn btn-danger" onclick="save3();">수료취소</a>
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -85,22 +99,28 @@
|
|||
<tr>
|
||||
<th><input type="checkbox" onclick="javascript: checkall('excel1', this);" /></th>
|
||||
<th width="20">No</th>
|
||||
@if(Model.CMEV.cshape == 2)
|
||||
{
|
||||
<th width="30">운영기수</th>
|
||||
}
|
||||
<th>구분</th>
|
||||
<th>고객사</th>
|
||||
<th>교육생(ID)</th>
|
||||
<th>교육시작일</th>
|
||||
<th>교육종료일</th>
|
||||
<th>진도율</th>
|
||||
<th>진행평가(@ev.ex0cnt)</th>
|
||||
<th>최종평가(@ev.ex1cnt)</th>
|
||||
<th>과제(@ev.sd0cnt)</th>
|
||||
<th>토론(@ev.sd1cnt)</th>
|
||||
<th style="display:none;">토론(@ev.sd1cnt)</th>
|
||||
<th>환산점수</th>
|
||||
@if(Model.CMEV.isoffabs == 1)
|
||||
{
|
||||
<th>OFF출석</th>
|
||||
<th>집합교육출석여부</th>
|
||||
}
|
||||
<th>환산점수</th>
|
||||
<th>강의평가</th>
|
||||
<th>수료여부</th>
|
||||
<th>수료일변경</th>
|
||||
@*<th>수료일변경</th>*@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="data" id="tbody1">
|
||||
|
|
@ -109,10 +129,29 @@
|
|||
<tr>
|
||||
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-userno="@d.userno" /></td>
|
||||
<td>@d.rnorvt</td>
|
||||
@if(Model.CMEV.cshape == 2)
|
||||
{
|
||||
<td>@d.sseq</td>
|
||||
}
|
||||
<td>@d.isrebatename</td>
|
||||
<td>@d.asname</td>
|
||||
<td>@d.usernameid</td>
|
||||
<td>@((Model.CM.cshape == 0 && d.isrebate == 0 ? d.payoktime : d.sdate).Value.ToShortDateString())</td>
|
||||
@if(Model.CMEV.cshape == 2)
|
||||
{
|
||||
if(d.estart != null && d.estart > Convert.ToDateTime("1900-01-01") && d.estart.ToShortDateString() != "0001-01-01" && d.estart >= DateTime.Now)
|
||||
{
|
||||
<td class="link text-center"><a href="#" onclick="javascript: openScd(@d.lectno,@d.cmisno);">@d.eend.ToShortDateString()</a></td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td>@d.eend.ToShortDateString()</td>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<td>@d.edate.Value.ToShortDateString()</td>
|
||||
}
|
||||
@if (!ViewBag.IsSubAdmin96)
|
||||
{
|
||||
<td class="link text-center"><a onclick="viewatt(@d.lectno)" href="#">@d.attrate %</a></td>
|
||||
|
|
@ -124,16 +163,17 @@
|
|||
<td>@( d.ex0cnt < 1 ? "-" : d.ex0lectcnt < 1 && d.ex0cnt > 0 ? "미제출" : d.ex0lectpoint.ToString())</td>
|
||||
<td>@(d.ex1cnt < 1 ? "-" :d.ex1lectcnt < 1 && d.ex1cnt > 0 ? "미제출" : d.ex1lectpoint.ToString())</td>
|
||||
<td>@(d.sd0cnt < 1 ? "-" :d.sd0lectcnt < 1 && d.sd0cnt > 0 ? "미제출" : d.sd0lectpoint.ToString())</td>
|
||||
<td>@( d.sd1cnt < 1 ? "-" :d.sd1lectcnt < 1 && d.sd1cnt > 0 ? "미제출" : d.sd1lectpoint.ToString())</td>
|
||||
<td style="display:none;">@( d.sd1cnt < 1 ? "-" :d.sd1lectcnt < 1 && d.sd1cnt > 0 ? "미제출" : d.sd1lectpoint.ToString())</td>
|
||||
<td>@(((d.apoint + d.mpoint + d.fpoint + d.spoint + d.dpoint)).ToString())</td>
|
||||
@*<td>@((d.isrebate == 1 && Model.CMEV.midrfd < 1) || (d.isrebate == 0 && Model.CMEV.mid < 1) ? "-" : d.ex0cnt < 1 ? "-" : d.ex0lectcnt < 1 && d.ex0cnt > 0 ? "미제출" : d.ex0lectpoint.ToString())</td>
|
||||
<td>@((d.isrebate == 1 && Model.CMEV.finalrfd < 1) || (d.isrebate == 0 && Model.CMEV.final < 1) ? "-" : d.ex1cnt < 1 ? "-" : d.ex1lectcnt < 1 && d.ex1cnt > 0 ? "미제출" : d.ex1lectpoint.ToString())</td>
|
||||
<td>@((d.isrebate == 1 && Model.CMEV.subjectrfd < 1) || (d.isrebate == 0 && Model.CMEV.subject < 1) ? "-" : d.sd0cnt < 1 ? "-" : d.sd0lectcnt < 1 && d.sd0cnt > 0 ? "미제출" : d.sd0lectpoint.ToString())</td>
|
||||
<td>@((d.isrebate == 1 && Model.CMEV.discussrfd < 1) || (d.isrebate == 0 && Model.CMEV.discuss < 1) ? "-" : d.sd1cnt < 1 ? "-" : d.sd1lectcnt < 1 && d.sd1cnt > 0 ? "미제출" : d.sd1lectpoint.ToString())</td>*@
|
||||
<td>@((d.isrebate == 1 && Model.CMEV.finalrfd < 1) || (d.isrebate == 0 && Model.CMEV.final < 1) ? "-" : d.ex1cnt < 1 ? "-" : d.ex1lectcnt < 1 && d.ex1cnt > 0 ? "미제출" : d.ex1lectpoint.ToString())</td>
|
||||
<td>@((d.isrebate == 1 && Model.CMEV.subjectrfd < 1) || (d.isrebate == 0 && Model.CMEV.subject < 1) ? "-" : d.sd0cnt < 1 ? "-" : d.sd0lectcnt < 1 && d.sd0cnt > 0 ? "미제출" : d.sd0lectpoint.ToString())</td>
|
||||
<td>@((d.isrebate == 1 && Model.CMEV.discussrfd < 1) || (d.isrebate == 0 && Model.CMEV.discuss < 1) ? "-" : d.sd1cnt < 1 ? "-" : d.sd1lectcnt < 1 && d.sd1cnt > 0 ? "미제출" : d.sd1lectpoint.ToString())</td>*@
|
||||
@if (Model.CMEV.isoffabs == 1)
|
||||
{
|
||||
<th>@(d.ispassat == 1 ? "O" : "X")</th>
|
||||
<td class="link text-center"><a href="#" onclick="save4();">@d.istatusname</a></td>
|
||||
}
|
||||
<td>@(((d.apoint + d.mpoint + d.fpoint + d.spoint + d.dpoint)).ToString())</td>
|
||||
<td>@(d.rs0lectcnt) / @(d.rs0cnt)</td>
|
||||
@if (!ViewBag.IsSubAdmin96)
|
||||
{
|
||||
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("<a href=\"#\" onclick=\"viewcert({0})\">{1}</a>", d.lectno, "수료") : d.iscompletename)</td>
|
||||
|
|
@ -142,13 +182,14 @@
|
|||
{
|
||||
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("{1}", d.lectno, "수료") : d.iscompletename)</td>
|
||||
}
|
||||
<td><a style="@(d.iscomplete == 1 ? "":"display:none;")" href="#" class="btn btn-select btn-xxs" onclick="changecompt('@(d.completetime != null ? d.completetime.Value.ToString("yyyy-MM-dd") : "0001-01-01")','@d.username','@d.userid',@d.lectno,'@d.cshape')">변경</a></td>
|
||||
@*<td><a style="@(d.iscomplete == 1 ? "":"display:none;")" href="#" class="btn btn-select btn-xxs" onclick="changecompt('@(d.completetime != null ? d.completetime.Value.ToString("yyyy-MM-dd") : "0001-01-01")','@d.username','@d.userid',@d.lectno,'@d.cshape')">변경</a></td>*@
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@Html.Partial("./Partial/dform", Model)
|
||||
</form>
|
||||
<div id="thisbox" class="findbox draggable regbox" style="width: 600px; z-index: 1041; top: 30%; left:30%; overflow: auto;">
|
||||
|
|
@ -163,6 +204,80 @@
|
|||
</div>
|
||||
<br /><br />
|
||||
</div>
|
||||
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; z-index: 1041; top: 60px; overflow: auto;">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
||||
<ul id="ulScd"></ul>
|
||||
<div class="findboxbtnbox" id="btnsavelect">
|
||||
<a href="#" class="btn btn-primary" onclick="updateScd();">선택완료</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="thisbox2" class="findbox draggable regbox" style="width: 800px; z-index: 1041; top: 60px; bottom: 30px; overflow: auto;">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">OFF출결관리</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
||||
<br />
|
||||
<table class="regtable">
|
||||
<colgroup><col width="100"/><col/></colgroup>
|
||||
<tr style="display:none;">
|
||||
<th>회차선택</th>
|
||||
<td>
|
||||
<select id="cmino" class="form-control" onchange="getoff()">
|
||||
<option value="">-회차선택</option>
|
||||
@foreach (var d in Model.CMInnings)
|
||||
{
|
||||
if (Model.CM.cshape == 2)
|
||||
{
|
||||
<option value="@d.cmino">@string.Format("{0}.{1}", d.iseq, d.ititle)</option>
|
||||
}
|
||||
else
|
||||
{
|
||||
<option value="@d.cmino">@string.Format("{0}.{1}({2} {3}:{4}~{5}:{6})", d.iseq, d.ititle, d.idate.ToString("yy-MM-dd"), d.ist.Substring(0, 2), d.ist.Substring(2, 2), d.iet.Substring(0, 2), d.iet.Substring(2, 2))</option>
|
||||
}
|
||||
}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>근거자료</th>
|
||||
<td id="tdfile"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<select id="cmisno" class="form-control" onchange="getoff()">
|
||||
<option value="">신청교육일</option>
|
||||
@foreach(var d in Model.CMinningscds)
|
||||
{
|
||||
<option value="@d.cmisno">@d.estart.ToString("yyyy-MM-dd")</option>
|
||||
}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
<section class="panel panel-default">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped b-t b-light">
|
||||
<colgroup><col width="50" /><col /><col /><col /><col /><col /><col /><col /></colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>No</th>
|
||||
<th>고객사</th>
|
||||
<th>교육생(ID)</th>
|
||||
<th>입실</th>
|
||||
<th>퇴실</th>
|
||||
<th>미입력 <input type="radio" name="attradio" onchange="changeatt('-1')" /></th>
|
||||
<th>출석 <input type="radio" name="attradio" onchange="changeatt('2')" /></th>
|
||||
<th>결석 <input type="radio" name="attradio" onchange="changeatt('0')" /></th>
|
||||
<th>최근수정일 {ID}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbodyoff"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<div class="findboxbtnbox">
|
||||
<a href="#" class="btn btn-primary" onclick="saveatt();">저장</a>
|
||||
</div>
|
||||
<br /><br />
|
||||
</div>
|
||||
<script>
|
||||
|
||||
var _no = 0;
|
||||
|
|
@ -271,5 +386,153 @@
|
|||
submit("mform", 500, true);
|
||||
} else { msgadmin2(); }
|
||||
}
|
||||
|
||||
var selectedLectno;
|
||||
var selectedCmisno;
|
||||
function setScd() {
|
||||
capp("/acommon/GetScdForMixEdu", { cmno: @Model.CM.cmno }, "renderScd");
|
||||
}
|
||||
function renderScd() {
|
||||
var ulScd = $("#ulScd");
|
||||
ulScd.empty();
|
||||
var seq = 0;
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
var li = $("<li />");
|
||||
if (d.isEnd == true)
|
||||
{
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled><span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (종료)</label></label>");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (d.quota != 0) {
|
||||
if (d.remainPeople <= 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled<span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (마감)</label></label>");
|
||||
}
|
||||
else {
|
||||
if (seq == 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label></label>");
|
||||
}
|
||||
else {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label></label>");
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (seq == 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "</label>");
|
||||
}
|
||||
else {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "</label>");
|
||||
}
|
||||
}
|
||||
}
|
||||
seq++;
|
||||
ulScd.append(li);
|
||||
});
|
||||
|
||||
$("input:radio[name='rdoScds']:radio[value='" + selectedCmisno + "']").prop('checked', true);
|
||||
}
|
||||
function openScd(lectno, cmisno) {
|
||||
selectedLectno = lectno;
|
||||
selectedCmisno = cmisno;
|
||||
$.when(
|
||||
setScd()
|
||||
).done(function () {
|
||||
setTimeout(function () {
|
||||
bglayer();
|
||||
$("#scdbox").slideDown("fast");
|
||||
},200);
|
||||
});
|
||||
}
|
||||
|
||||
function updateScd() {
|
||||
if (confirm("교육일정을 변경하시겠습니까?")) {
|
||||
var cmisno = $("input:radio[name=rdoScds]:checked").val();
|
||||
capp("/acommon/LectScdChange", { lectno: selectedLectno, cmisno: cmisno }, "afterUpdateScd");
|
||||
}
|
||||
}
|
||||
function afterUpdateScd() {
|
||||
if (capResult.code > 0) {
|
||||
msgok(1, "", true);
|
||||
submit("mform", 800, true);
|
||||
}
|
||||
else {
|
||||
msg("관리자에게 문의하세요.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
function save4() {
|
||||
bglayer(); $("#thisbox2").slideDown("fast", function () { $("#thisbox2").scrollTop(0); });
|
||||
if ($("#cmino option").length > 1) {
|
||||
setv("cmino", $("#cmino option:eq(1)").val());
|
||||
//setv("cmisno", $("#cmisno option:eq(1)").val());
|
||||
getoff();
|
||||
}
|
||||
}
|
||||
function getoff() {
|
||||
$("#tdfile").html("");
|
||||
$("#tbodyoff tr").remove();
|
||||
$("input[name='attradio']:checked").prop("checked", false);
|
||||
if ($("#cmino").val() != "" || $("#cmisno").val() != "") {
|
||||
capp("/acommon/cminninggetforoff", { cmino: val("cmino"), cmisno: val("cmisno") }, "cbcmiget", null, null, null, true);
|
||||
}
|
||||
}
|
||||
function cbcmiget() {
|
||||
var ci = capResult.obj.ci;
|
||||
setv("fgnooff", getdb(ci.fgnooff));
|
||||
_fgno = ci.fgnooff;
|
||||
if (ci.fileno3 > 0) {
|
||||
$("#tdfile").html("<div class=\"fileitembox\"><a href=\"/aCommon/DownFile?fno=" + ci.fileno3 + "\" title=\"다운로드\"><i class=\"fa fa-paperclip\"></i> <span class=\"fileitem\">" + ci.orgname3 + "</span></a> " +
|
||||
"<a href=\"#\" class=\"btn_txt btn btn-xxs btn-danger\" onclick=\"javascript:fnFileDeleteNew(" + ci.fileno3 + ", this, '', true, 'cbthisfiledel()');\" title=\"삭제\">삭제</a></div>");
|
||||
}
|
||||
else {
|
||||
$("#tdfile").html("<input type=\"file\" id=\"file2\" name=\"file2\" />");
|
||||
}
|
||||
$.each(capResult.obj.li, function (i, d) {
|
||||
$("#tbodyoff").append("<tr data-no=\"" + d.lectno + "\" data-attorg=\"" + getdb(d.istatus) + "\">" +
|
||||
"<td>" + d.rnorvt + "</td>" +
|
||||
"<td>" + getdb(d.asname) + "</td>" +
|
||||
"<td>" + getdb(d.username) + "(" + getdb(d.userid) + ")" + "</td>" +
|
||||
"<td>" + d.stimehm + "</td>" +
|
||||
"<td>" + d.etimehm + "</td>" +
|
||||
"<td><input type=\"radio\" class=\"att att-1\" name=\"istatus" + d.lectno + "\" " + (isnull(d.istatus) ? "checked" : "") + " value=\"\" /></td>" +
|
||||
"<td><input type=\"radio\" class=\"att att2\" name=\"istatus" + d.lectno + "\" " + (getdb(d.istatus) == "2" ? "checked" : "") + " value=\"2\" /></td>" +
|
||||
"<td><input type=\"radio\" class=\"att att0\" name=\"istatus" + d.lectno + "\" " + (!isnull(d.istatus) && getdb(d.istatus) == "" || getdb(d.istatus) == "1" ? "checked" : "") + " value=\"0\" /></td>"+
|
||||
"<td>" + d.udtymdhm +" {"+d.unoid+"} </td ></tr > ");
|
||||
|
||||
});
|
||||
}
|
||||
function changeatt(idx) {
|
||||
$("input.att" + idx).prop("checked", true);
|
||||
}
|
||||
function saveatt() {
|
||||
if (val("cmino") == "") { focus("cmino"); msg2("회차를 선택해주세요."); }
|
||||
else if ($("#tbodyoff tr").length < 1) { msg2("저장할 출석데이터가 없습니다."); }
|
||||
else if (confirm("출석데이터를 저장하시겠습니까?")) {
|
||||
var data = new FormData();
|
||||
data.append("cmino", val("cmino"));
|
||||
if ($("#file2").length > 0 && $("#file2")[0].files.length > 0) {
|
||||
data.append("file2", $("#file2")[0].files[0]);
|
||||
}
|
||||
var lis = "";
|
||||
$.each($("#tbodyoff tr"), function (i, r) {
|
||||
//if ($(r).find("input.att:checked").val() != $(r).attr("data-attorg")) {
|
||||
lis += ";" + $(r).attr("data-no") + ":" + $(r).find("input.att:checked").val();
|
||||
//}
|
||||
});
|
||||
//if (lis == "") {
|
||||
// msg2("저장했습니다.");
|
||||
//} else {
|
||||
data.append("lis", lis.substr(1));
|
||||
data.append("fgnooff", _fgno);
|
||||
capfile("/acommon/offattsave", data, "cboffattsave", false, null, true, true);
|
||||
//}
|
||||
}
|
||||
}
|
||||
function cboffattsave() {
|
||||
if (capResult.code == 1000) {
|
||||
msgf2("저장했습니다.", "submit('mform', 0, true)");
|
||||
} else { msgdev(true); }
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@
|
|||
"<td><input type=\"radio\" class=\"att att2\" name=\"istatus" + d.lectno + "\" " + (getdb(d.istatus) == "2" ? "checked" : "") + " value=\"2\" /></td>" +
|
||||
"<td><input type=\"radio\" class=\"att att0\" name=\"istatus" + d.lectno + "\" " + (!isnull(d.istatus) && getdb(d.istatus)=="" || getdb(d.istatus) == "1" ? "checked" : "") + " value=\"0\" /></td></tr>");
|
||||
});
|
||||
}
|
||||
}
|
||||
function changeatt(idx) {
|
||||
$("input.att" + idx).prop("checked", true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
@model NP.Model.VMLect
|
||||
@{
|
||||
int idx = 1;
|
||||
}
|
||||
<form id="mform" method="post">
|
||||
@if (Model.CMEXes.Count() < 1)
|
||||
{
|
||||
|
|
@ -50,12 +53,13 @@ else
|
|||
<th>응시상태</th>
|
||||
<th>총점</th>
|
||||
<th>관리</th>
|
||||
<th>응시기록</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="data" id="tbody1">
|
||||
@foreach (var d in Model.LectEXes)
|
||||
{
|
||||
<tr>
|
||||
<tr data-exno="@d.exno" data-lectno="@d.lectno">
|
||||
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-userno="@d.userno" /></td>
|
||||
<td>@d.rnorvt</td>
|
||||
<td>@d.isrebatename</td>
|
||||
|
|
@ -65,13 +69,16 @@ else
|
|||
<td>@d.eseterm</td>
|
||||
<td>@d.eip</td>
|
||||
<td class="estate@(d.estate)">@d.estatename</td>
|
||||
<td><a class="btn btn-xxs btn-select" onclick="viewex(@d.exno, @d.lectno)" href="#">@d.tpoint</a></td>
|
||||
<td><a class="btn btn-xxs btn-select" onclick="viewex(@d.exno, @d.lectno,@(idx++))" href="#">@d.tpoint</a></td>
|
||||
<td class="link text-center">
|
||||
@if (d.estart != null)
|
||||
{
|
||||
<a style="color:#fff" onclick="reexam(@d.exno, @d.lectno)" href="#" class="btn btn-select btn-xxs">재응시</a>
|
||||
<a style="color:#fff" onclick="reexam(@d.exno, @d.lectno)" href="#" class="btn btn-select btn-xxs">재응시</a>
|
||||
}
|
||||
</td>
|
||||
<td class="link text-center">
|
||||
<a style="color:#fff" onclick="viewreexam(@d.exno, @d.lectno)" href="#" class="btn btn-select btn-xxs">조회</a>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
|
|
@ -113,7 +120,27 @@ else
|
|||
<br /><br />
|
||||
<div class="botfixempty"> </div>
|
||||
<div style="position: fixed; bottom: 30px; left: 200px; width: 800px; height: 50px; background-color: #fff; text-align: center;">
|
||||
<a href="#" class="btn btn-default btn-xs closethisbox" data-click="checkclose()">닫기</a></div>
|
||||
<a href="#" id="btnpre" class="btn btn-info btn-xs" onclick="gopage(-1)">◀이전</a>
|
||||
<a href="#" id="btnnext" class="btn btn-info btn-xs" onclick="gopage(1)">다음▶</a>
|
||||
<a href="#" class="btn btn-default btn-xs closethisbox" data-click="checkclose()">닫기</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="thisbox2" class="findbox draggable regbox" style="width: 600px; z-index: 1041; top: 60px; overflow: auto;">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">응시기록확인</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
||||
<table class="regtable">
|
||||
<colgroup><col style="width:10%" /><col/><col /><col /><col /> </colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>No</th>
|
||||
<th>응시일자</th>
|
||||
<th>제출일자</th>
|
||||
<th>경과시간</th>
|
||||
<th>IP</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbody2">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<style type="text/css">
|
||||
td.estate0{background-color: #ffd7bb !important; color: red;}
|
||||
|
|
@ -153,6 +180,23 @@ else
|
|||
function findme() {
|
||||
bglayer(); submit();
|
||||
}
|
||||
|
||||
var _saveidx = 0;
|
||||
function gopage(idx) {
|
||||
if (idx != 0) {
|
||||
_saveidx = idx;
|
||||
hidelayermsg(true);
|
||||
getexs(true);
|
||||
}
|
||||
}
|
||||
var _isprenext = false;
|
||||
function getexs(isprenext) {
|
||||
_isprenext = isprenext;
|
||||
if (isprenext) {
|
||||
$("#tbody1 tr").remove();
|
||||
capp("/acommon/lectexes", { cmno: @Model.CM.cmno, exno: $("#addstringval").val(), isrebate: valnull("addstringval2"), sdstate: valnull("addstringval3") }, "cblectexes", null, null, null, true);
|
||||
}
|
||||
}
|
||||
function changeex(s) {
|
||||
$("tr.extr").addClass("hidden");
|
||||
$("tr.ex" + ($(s).find("option").index($(s).find("option:selected")) + 1)).removeClass("hidden");
|
||||
|
|
@ -161,7 +205,7 @@ else
|
|||
}
|
||||
function cblectexes() {
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
$("#tbody1").append(("<tr>" +
|
||||
$("#tbody1").append(("<tr data-exno=\"{12}\" data-lectno=\"{0}\">" +
|
||||
"<td><input type=\"checkbox\" class=\"autocheck\" value=\"{0}\" data-userno=\"{1}\" /></td>" +
|
||||
"<td>{2}</td>" +
|
||||
"<td>{3}</td>" +
|
||||
|
|
@ -171,13 +215,17 @@ else
|
|||
"<td>{8}</td>" +
|
||||
"<td>{9}</td>" +
|
||||
"<td class=\"estate{10}\">{11}</td>" +
|
||||
"<td><a class=\"btn btn-xxs btn-select\" onclick =\"viewex({12}, {0})\" href=\"#\">{13}</a></td>" +
|
||||
"<td><a class=\"btn btn-xxs btn-select\" onclick =\"viewex({12}, {0},{15})\" href=\"#\">{13}</a></td>" +
|
||||
"<td class=\"link text-center\">{14}</td>" +
|
||||
"<td class=\"link text-center\"><a style=\"color:#fff;\" onclick=\"viewreexam({12},{0})\" href=\"#\" class=\"btn btn-select btn-xxs\">조회</a></td>" +
|
||||
"</tr>").format(d.lectno, d.userno, d.rnorvt, d.isrebatename, getdb(d.asname)
|
||||
, d.usernameid, d.estartymdhm, getdb(d.eend) == "" ? "" : "({0})".format(d.eendymdhm), d.eseterm, getdb(d.eip)
|
||||
, d.estate, d.estatename, d.exno, d.tpoint
|
||||
, (getdb(d.estart) != "" && getdb(d.eend) == "") ? ("<a style=\"color:#fff;\" onclick=\"reexam({12}, {0})\" href=\"#\" class=\"btn btn-select btn-xxs\">재응시</a>") : ""));
|
||||
, (getdb(d.estart) != "") ? ("<a style=\"color:#fff;\" onclick=\"reexam({12}, {0})\" href=\"#\" class=\"btn btn-select btn-xxs\">재응시</a>") : "",(i+1)));
|
||||
});
|
||||
if (_isprenext) {
|
||||
viewex($("#tbody1 tr:eq(" + (_ridx + _saveidx - 1) + ")").attr("data-exno"), $("#tbody1 tr:eq(" + (_ridx + _saveidx - 1) + ")").attr("data-lectno"), _ridx + _saveidx);
|
||||
}
|
||||
}
|
||||
function reexam(exno, lectno) {
|
||||
capp("/acommon/reexam", { exno: exno, lectno: lectno }, "cbreexam");
|
||||
|
|
@ -188,11 +236,29 @@ else
|
|||
submit("mform", 500);
|
||||
}
|
||||
}
|
||||
function viewreexam(exno, lectno) {
|
||||
capp("/acommon/reexamlog", { exno: exno, lectno: lectno }, "cbviewreexam");
|
||||
}
|
||||
function cbviewreexam() {
|
||||
$("#tbody2 tr").remove();
|
||||
if (capResult.obj.length > 0) {
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
$("#tbody2").append("<tr><td style=\"text-align:center;\">" + d.rnorvt + "</td><td>" + d.estartymdhm + "</td><td>" + (d.eend == null ? "" : d.eendymdhm) + "</td><td>" + d.eseterm + "</td><td>" + d.eip + "</td></tr>");
|
||||
});
|
||||
} else {
|
||||
$("#tbody2").append("<tr><td colspan=\"5\" style=\"text-align:center; font-weight:bold;\">- 재응시 이력이 없습니다.</td></tr>");
|
||||
}
|
||||
setTimeout(function () {
|
||||
bglayer(); $("#thisbox2").slideDown("fast", function () { $("#thisbox2").scrollTop(0); });
|
||||
}, 10);
|
||||
}
|
||||
var _exno = 0;
|
||||
var _lectno = 0;
|
||||
function viewex(exno, lectno) {
|
||||
var _ridx = 0;
|
||||
function viewex(exno, lectno,ridx) {
|
||||
_exno = exno;
|
||||
_lectno = lectno;
|
||||
_ridx = ridx;
|
||||
$("#exdata tr").remove();
|
||||
capp("/acommon/lectex", { lectno: lectno, exno: exno }, "cblectex");
|
||||
}
|
||||
|
|
@ -282,8 +348,18 @@ else
|
|||
}
|
||||
});
|
||||
$("#exdata").append(html);
|
||||
|
||||
$("#btnpre,#btnnext").show();
|
||||
if (_ridx == 1) {
|
||||
$("#btnpre").hide();
|
||||
}
|
||||
if (_ridx == $("#tbody1 tr").length) {
|
||||
$("#btnnext").hide();
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
bglayer(); $("#thisbox").slideDown("fast", function () { $("#thisbox").scrollTop(0); });
|
||||
bglayer2(false);
|
||||
}, 10);
|
||||
}
|
||||
function checkclose() {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,134 @@
|
|||
@model NP.Model.VMLect
|
||||
<form id="mform" method="post">
|
||||
<input type="hidden" id="mform_tabidx" name="tabidx" value="@Model.tabidx" />
|
||||
<section class="panel panel-default clearfix devsearch" data-cleartbody="tbody1">
|
||||
@*@Html.Partial("./Partial/SearchCaption")*@
|
||||
<div class="table-responsive">
|
||||
<table class="table b-t b-light viewtable">
|
||||
<colgroup>
|
||||
<col width="15%" />
|
||||
<col width="35%" />
|
||||
<col width="15%" />
|
||||
<col width="*" />
|
||||
<col />
|
||||
</colgroup>
|
||||
<tbody id="searchtbody">
|
||||
<tr>
|
||||
<th>교육종료일</th>
|
||||
<td>
|
||||
<div class="col-md-6">
|
||||
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval) ? (DateTime?)null : Convert.ToDateTime(Model.stringval), new ViewDataDictionary { { "name", "stringval" } })
|
||||
</div>
|
||||
</td>
|
||||
<th>교육유형</th>
|
||||
<td>
|
||||
<div class="col-md-12">
|
||||
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":전체;2:온라인교육;1:교육장교육" }, { "name", "stringval2" }, { "selected", Model.stringval2 } })
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>과정명</th>
|
||||
<td>
|
||||
<div class="col-md-12">
|
||||
@Html.Partial("./Partial/Text", Model.stringval3, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval3", Value = Model.stringval3 }))
|
||||
</div>
|
||||
</td>
|
||||
<th>수료여부</th>
|
||||
<td>
|
||||
<div class="col-md-12">
|
||||
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":수료여부;0:미수료;1:수료" }, { "name", "stringval4" }, { "selected", Model.stringval4 } })
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>교육장</th>
|
||||
<td>
|
||||
<div class="col-md-12">
|
||||
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "studyplace"), new ViewDataDictionary { { "name", "stringval5" }, { "selected", Model.stringval5 }, { "style", "width: 100%" }, { "df", ":교육장선택" } })
|
||||
</div>
|
||||
</td>
|
||||
<th>교육생</th>
|
||||
<td>
|
||||
<div class="col-md-12">
|
||||
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "name", "stringval6" }, { "selected", Model.stringval6 }, { "valuetext", "usernamestr:이름;useridstr:ID" } })
|
||||
@Html.Partial("./Partial/Text", Model.stringval7, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval7", Style = "width:70%; display:inline-block;", Value = Model.stringval7, CssClass = "ff" }))
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>교육기간</th>
|
||||
<td>
|
||||
<div class="col-md-12">
|
||||
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval8) ? (DateTime?)null : Convert.ToDateTime(Model.stringval8), new ViewDataDictionary { { "name", "stringval8" } }) ~ @Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval9) ? (DateTime?)null : Convert.ToDateTime(Model.stringval9), new ViewDataDictionary { { "name", "stringval9" } })
|
||||
</div>
|
||||
</td>
|
||||
<th>고객사</th>
|
||||
<td>
|
||||
<div class="col-md-12">
|
||||
@Html.Partial("./Partial/Text", Model.stringval10, Helpers.DicText(new NP.Model.TextDic() { Name = "stringval10", Style = "width:70%; display:inline-block;", Value = Model.stringval10, CssClass = "ff" }))
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<div style="text-align: right; border-bottom: 1px solid #ddd; padding-bottom: 5px;">
|
||||
<button class="btn btn-default btn-s-xs" type="button" onclick="javascript:submit();"><i class="fa fa-search"></i></button>
|
||||
</div><br />
|
||||
<ul class="pagination pagination-md">
|
||||
@if (ViewBag.IsSubAdmin96)
|
||||
{
|
||||
<li class="@(Model.tabidx == 0 ? "active" : "")"><a href="#" onclick="gotab(0);" data-toggle="tab">종합</a></li>
|
||||
|
||||
<li class="@(Model.tabidx == 2 ? "active" : "")"><a href="#" onclick="gotab(2);" data-toggle="tab">진행평가</a></li>
|
||||
<li class="@(Model.tabidx == 3 ? "active" : "")"><a href="#" onclick="gotab(3);" data-toggle="tab">최종평가</a></li>
|
||||
<li class="@(Model.tabidx == 4 ? "active" : "")"><a href="#" onclick="gotab(4);" data-toggle="tab">과제</a></li>
|
||||
|
||||
}
|
||||
else if (ViewBag.IsSubAdmin97)
|
||||
{
|
||||
<li class="@(Model.tabidx == 4 ? "active" : "")"><a href="#" onclick="gotab(4);" data-toggle="tab">과제</a></li>
|
||||
}
|
||||
else
|
||||
{
|
||||
<li class="@(Model.tabidx == 0 ? "active" : "")"><a href="#" onclick="gotab(0);" data-toggle="tab">종합</a></li>
|
||||
<li class="@(Model.tabidx == 2 ? "active" : "")"><a href="#" onclick="gotab(2);" data-toggle="tab">진행평가</a></li>
|
||||
<li class="@(Model.tabidx == 3 ? "active" : "")"><a href="#" onclick="gotab(3);" data-toggle="tab">최종평가</a></li>
|
||||
<li class="@(Model.tabidx == 4 ? "active" : "")"><a href="#" onclick="gotab(4);" data-toggle="tab">과제</a></li>
|
||||
|
||||
}
|
||||
</ul>
|
||||
@Html.Partial("gradeall" + (Model.tabidx == 2 || Model.tabidx == 3 ? 2 : Model.tabidx), Model)
|
||||
</form>
|
||||
@section styles{
|
||||
<style type="text/css">
|
||||
#bglayer2 {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#mform2 {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
}
|
||||
@section scriptsHeader{
|
||||
@Html.Partial("./Partial/semscript")
|
||||
@Html.Partial("./Partial/FileScript")
|
||||
@Html.Partial("./Partial/ScriptDate")
|
||||
}
|
||||
@section scripts{
|
||||
<script>
|
||||
function gotab(idx) {
|
||||
if (idx != @Model.tabidx) {
|
||||
setv("mform_tabidx", idx);
|
||||
bglayer();
|
||||
$("#mform").attr("action", "/croom/gradeall").submit();
|
||||
}
|
||||
}
|
||||
$(window).on("load", function () {
|
||||
$("#mform2").show();
|
||||
$("#bglayer2").hide();
|
||||
});
|
||||
</script>
|
||||
}
|
||||
|
|
@ -0,0 +1,437 @@
|
|||
@model NP.Model.VMLect
|
||||
@{
|
||||
}
|
||||
<form id="mform2" method="post" action="/croom/gradeall">
|
||||
<section class="panel panel-default">
|
||||
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 교육생 평가현황<span class=""></span></strong></header>
|
||||
<div style="padding: 5px 10px; text-align: right;">
|
||||
@Html.Partial("./Partial/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } })
|
||||
@Html.Partial("./Partial/sembtns", "#tbody1;" + (Model.IsAdmin ? "1;1" : "0;0") + ";1;1;0;평가안내")
|
||||
<a href="#" onclick="javascript:exceldown('mform', '/croom/gradeall', 'tbody1', '성적처리전체');" class="btn btn-s-xs btn-success" style="margin-left: 5px;">엑셀다운로드</a>
|
||||
@if (Model.IsAdmin)
|
||||
{
|
||||
<a href="#" class="btn btn-primary" onclick="save();">수료확인</a>
|
||||
if (!ViewBag.IsSubAdmin96)
|
||||
{
|
||||
<a href="#" class="btn btn-danger" onclick="save2();">수료처리</a>
|
||||
<a href="#" class="btn btn-danger" onclick="save3();">수료취소</a>
|
||||
}
|
||||
}
|
||||
|
||||
</div>
|
||||
<div class="table-responsive" id="excel1">
|
||||
<table class="table table-striped b-t b-light">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" onclick="javascript: checkall('excel1', this);" /></th>
|
||||
<th width="20">No</th>
|
||||
<th width="30">운영기수</th>
|
||||
<th>구분</th>
|
||||
<th>고객사</th>
|
||||
<th>교육장</th>
|
||||
<th>과정명</th>
|
||||
<th>교육생(ID)</th>
|
||||
<th>교육시작일</th>
|
||||
<th>교육종료일</th>
|
||||
<th>진도율</th>
|
||||
<th>진행평가</th>
|
||||
<th>최종평가</th>
|
||||
<th>과제</th>
|
||||
<th style="display:none;">토론</th>
|
||||
<th>환산점수</th>
|
||||
<th>집합교육출석여부</th>
|
||||
<th>강의평가</th>
|
||||
<th>수료여부</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="data" id="tbody1">
|
||||
@foreach (var d in Model.Lects)
|
||||
{
|
||||
<tr>
|
||||
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-userno="@d.userno" /></td>
|
||||
<td>@d.rnorvt</td>
|
||||
@if(d.cshape == 2)
|
||||
{
|
||||
<td>@d.sseq</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td>-</td>
|
||||
}
|
||||
<td>@d.isrebatename</td>
|
||||
<td>@d.asname</td>
|
||||
<td>@d.studyplacename</td>
|
||||
<td>@d.cname</td>
|
||||
<td>@d.usernameid</td>
|
||||
<td>@((d.cshape == 0 && d.isrebate == 0 ? d.payoktime : d.sdate).Value.ToShortDateString())</td>
|
||||
@if(d.cshape == 2)
|
||||
{
|
||||
if(d.estart != null && d.estart > Convert.ToDateTime("1900-01-01") && d.estart.ToShortDateString() != "0001-01-01" && d.estart >= DateTime.Now)
|
||||
{
|
||||
<td class="link text-center"><a href="#" onclick="javascript: openScd(@d.cmno,@d.lectno,@d.cmisno);">@d.eend.ToShortDateString()</a></td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td>@d.eend.ToShortDateString()</td>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<td>@d.edate.Value.ToShortDateString()</td>
|
||||
}
|
||||
@if (!ViewBag.IsSubAdmin96)
|
||||
{
|
||||
<td class="link text-center"><a onclick="viewatt(@d.lectno)" href="#">@d.attrate %</a></td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td class="link text-center">@d.attrate %</td>
|
||||
}
|
||||
<td>@( d.ex0cnt < 1 ? "-" : d.ex0lectcnt < 1 && d.ex0cnt > 0 ? "미제출" : d.ex0lectpoint.ToString())</td>
|
||||
<td>@(d.ex1cnt < 1 ? "-" :d.ex1lectcnt < 1 && d.ex1cnt > 0 ? "미제출" : d.ex1lectpoint.ToString())</td>
|
||||
<td>@(d.sd0cnt < 1 ? "-" :d.sd0lectcnt < 1 && d.sd0cnt > 0 ? "미제출" : d.sd0lectpoint.ToString())</td>
|
||||
<td style="display:none;">@( d.sd1cnt < 1 ? "-" :d.sd1lectcnt < 1 && d.sd1cnt > 0 ? "미제출" : d.sd1lectpoint.ToString())</td>
|
||||
<td>@(((d.apoint + d.mpoint + d.fpoint + d.spoint + d.dpoint)).ToString())</td>
|
||||
@if (d.isoffabs == 1)
|
||||
{
|
||||
<td class="link text-center"><a href="#" onclick="save4(@d.cmno,@d.lectno);">@d.istatusname</a></td>
|
||||
}else{
|
||||
<td class="text-center">-</td>
|
||||
}
|
||||
<td>@(d.rs0lectcnt) / @(d.rs0cnt)</td>
|
||||
@if (!ViewBag.IsSubAdmin96)
|
||||
{
|
||||
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("<a href=\"#\" onclick=\"viewcert({0})\">{1}</a>", d.lectno, "수료") : d.iscompletename)</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("{1}", d.lectno, "수료") : d.iscompletename)</td>
|
||||
}
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@Html.Pager((int)Model.pagenum, 10, Model.pagerowcount, Model.pagetotalcount)
|
||||
</section>
|
||||
</form>
|
||||
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; z-index: 1041; top: 60px; overflow: auto;">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
||||
<ul id="ulScd"></ul>
|
||||
<div class="findboxbtnbox" id="btnsavelect">
|
||||
<a href="#" class="btn btn-primary" onclick="updateScd();">선택완료</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="thisbox2" class="findbox draggable regbox" style="width: 800px; z-index: 1041; top: 60px; bottom: 30px; overflow: auto;">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">OFF출결관리</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
||||
<br />
|
||||
<table class="regtable">
|
||||
<colgroup><col width="100"/><col/></colgroup>
|
||||
<tr style="display:none;">
|
||||
<th>회차선택</th>
|
||||
<td>
|
||||
<select id="cmino" class="form-control" onchange="getoff()">
|
||||
<option value="">-회차선택</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>근거자료</th>
|
||||
<td id="tdfile"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<select id="cmisno" class="form-control" onchange="getoff()">
|
||||
<option value="">신청교육일</option>
|
||||
@*@foreach(var d in Model.CMinningscds)
|
||||
{
|
||||
<option value="@d.cmisno">@d.estart.ToString("yyyy-MM-dd")</option>
|
||||
}*@
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
<section class="panel panel-default">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-striped b-t b-light">
|
||||
<colgroup><col width="50" /><col /><col /><col /><col /><col /><col /><col /></colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>No</th>
|
||||
<th>고객사</th>
|
||||
<th>교육생(ID)</th>
|
||||
<th>입실</th>
|
||||
<th>퇴실</th>
|
||||
<th>미입력 <input type="radio" name="attradio" onchange="changeatt('-1')" /></th>
|
||||
<th>출석 <input type="radio" name="attradio" onchange="changeatt('2')" /></th>
|
||||
<th>결석 <input type="radio" name="attradio" onchange="changeatt('0')" /></th>
|
||||
<th>최근수정일 {ID}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbodyoff"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<div class="findboxbtnbox">
|
||||
<a href="#" class="btn btn-primary" onclick="saveatt();">저장</a>
|
||||
</div>
|
||||
<br /><br />
|
||||
</div>
|
||||
<script>
|
||||
|
||||
var _no = 0;
|
||||
function viewatt(no) {
|
||||
_no = no;
|
||||
showramemainlayer("/croom/atts?longval=" + no);
|
||||
}
|
||||
function save() {
|
||||
var lectnos = "";
|
||||
$.each($("#tbody1 tr td input.autocheck:checked"), function () {
|
||||
lectnos += "," + $(this).val();
|
||||
});
|
||||
if (lectnos == "") {
|
||||
msg("수료처리할 대상자를 선택해주세요.");
|
||||
} else if (confirm("선택한 대상자를 수료처리하시겠습니까?")) {
|
||||
capp("/acommon/lectcomplete", { lectnos: lectnos.substr(1), type: 'calc' }, "cbsave");
|
||||
}
|
||||
}
|
||||
function cbsave() {
|
||||
if (capResult.code == 1000) {
|
||||
msgf(capResult.obj.completecount + "건을 수료, " + capResult.obj.cancelcount + "건을 미수료 처리했습니다.", "submit('mform', 0, true)");
|
||||
} else {
|
||||
msgdev();
|
||||
}
|
||||
}
|
||||
function save2() {
|
||||
var lectnos = "";
|
||||
$.each($("#tbody1 tr td input.autocheck:checked"), function () {
|
||||
lectnos += "," + $(this).val();
|
||||
});
|
||||
if (lectnos == "") {
|
||||
msg("강제수료처리할 대상자를 선택해주세요.");
|
||||
} else if (confirm("선택한 대상자를 강제 수료처리하시겠습니까?")) {
|
||||
capp("/acommon/lectcomplete", { lectnos: lectnos.substr(1), type: 'abs' }, "cbsave2");
|
||||
}
|
||||
}
|
||||
function cbsave2() {
|
||||
if (capResult.code == 1000) {
|
||||
msgf(capResult.obj + "건을 강제 수료 처리했습니다.", "submit('mform', 0, true)");
|
||||
} else {
|
||||
msgdev();
|
||||
}
|
||||
}
|
||||
function save3() {
|
||||
var lectnos = "";
|
||||
$.each($("#tbody1 tr td input.autocheck:checked"), function () {
|
||||
lectnos += "," + $(this).val();
|
||||
});
|
||||
if (lectnos == "") {
|
||||
msg("강제수료취소할 대상자를 선택해주세요.");
|
||||
} else if (confirm("선택한 대상자를 강제 수료취소하시겠습니까?")) {
|
||||
capp("/acommon/lectcompletecancel", { lectnos: lectnos.substr(1) }, "cbsave3");
|
||||
}
|
||||
}
|
||||
function cbsave3() {
|
||||
if (capResult.code == 1000) {
|
||||
msgf(capResult.obj.cancelcount + "건을 강제 수료 취소했습니다.", "submit('mform', 0, true)");
|
||||
} else {
|
||||
msgdev();
|
||||
}
|
||||
}
|
||||
|
||||
var _authtype = 1;
|
||||
var _lectno;
|
||||
function viewcert(lectno) {
|
||||
_lectno = lectno;
|
||||
capp("/acommon/authkey", { authtype: _authtype, jobkey: lectno }, "cbauthkey");
|
||||
}
|
||||
function cbauthkey() {
|
||||
if (capResult.code == 1000) {
|
||||
@*var pop = window.open('@ViewBag.fronturl/Open/CertPrint?userno=@ViewBag.SSUserNo&authtype=' + _authtype + '&randkey=' + capResult.obj, "certprint", "width=" + (screen.availWidth) + ", height=" + (screen.availHeight) + ", scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");*@
|
||||
var pop = window.open('@ViewBag.reporturl/certification.aspx?lectno='+_lectno, "certprint", "width=" + (screen.availWidth) + ", height=" + (screen.availHeight) + ", scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");
|
||||
if (pop == null) {
|
||||
msg("팝업이 차단되어 있습니다. 차단을 해제해 주세요.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var selectedcmno;
|
||||
var selectedLectno;
|
||||
var selectedCmisno;
|
||||
function setScd() {
|
||||
capp("/acommon/GetScdForMixEdu", { cmno: selectedcmno }, "renderScd");
|
||||
}
|
||||
function renderScd() {
|
||||
var ulScd = $("#ulScd");
|
||||
ulScd.empty();
|
||||
var seq = 0;
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
var li = $("<li />");
|
||||
if (d.isEnd == true)
|
||||
{
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled><span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (종료)</label></label>");
|
||||
}
|
||||
else
|
||||
{
|
||||
if (d.quota != 0) {
|
||||
if (d.remainPeople <= 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled<span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (마감)</label></label>");
|
||||
}
|
||||
else {
|
||||
if (seq == 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label></label>");
|
||||
}
|
||||
else {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label></label>");
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (seq == 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "</label>");
|
||||
}
|
||||
else {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "</label>");
|
||||
}
|
||||
}
|
||||
}
|
||||
seq++;
|
||||
ulScd.append(li);
|
||||
});
|
||||
|
||||
$("input:radio[name='rdoScds']:radio[value='" + selectedCmisno + "']").prop('checked', true);
|
||||
}
|
||||
function openScd(cmno, lectno, cmisno) {
|
||||
selectedcmno = cmno;
|
||||
selectedLectno = lectno;
|
||||
selectedCmisno = cmisno;
|
||||
$.when(
|
||||
setScd()
|
||||
).done(function () {
|
||||
setTimeout(function () {
|
||||
bglayer();
|
||||
$("#scdbox").slideDown("fast");
|
||||
},200);
|
||||
});
|
||||
}
|
||||
|
||||
function updateScd() {
|
||||
if (confirm("교육일정을 변경하시겠습니까?")) {
|
||||
var cmisno = $("input:radio[name=rdoScds]:checked").val();
|
||||
capp("/acommon/LectScdChange", { lectno: selectedLectno, cmisno: cmisno }, "afterUpdateScd");
|
||||
}
|
||||
}
|
||||
function afterUpdateScd() {
|
||||
if (capResult.code > 0) {
|
||||
msgok(1, "", true);
|
||||
submit("mform", 800,true);
|
||||
}
|
||||
else {
|
||||
msg("관리자에게 문의하세요.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var cmicmno;
|
||||
var cmilectno;
|
||||
function setcmis(){
|
||||
capp("/acommon/GetCmiForMixEdu", { cmno: cmicmno }, "renderCmi", null, null, null, true);
|
||||
}
|
||||
function renderCmi() {
|
||||
var cmi = capResult.obj.cmi;
|
||||
$("#cmino").children('option:not(:first)').remove();
|
||||
$("#cmisno").children('option:not(:first)').remove();
|
||||
$.each(capResult.obj.cmi, function (i, d) {
|
||||
if (d.cshape == 2) {
|
||||
$("#cmino").append("<option value='" + d.cmino + "'>" + d.iseq + "." + getdb(d.ititle) + "</option>");
|
||||
} else {
|
||||
$("#cmino").append("<option value='" + d.cmino + "'>" + d.iseq + "." + getdb(d.ititle) + "(" + getdb(d.idateymd2) + " "+ getdb(d.isthh)+":"+getdb(d.istmm)+"~"+getdb(d.iethh)+":"+getdb(d.ietmm)+")</option>");
|
||||
|
||||
}
|
||||
});
|
||||
var cmis = capResult.obj.cmis;
|
||||
$.each(capResult.obj.cmis, function (i,d) {
|
||||
$("#cmisno").append("<option value='" + d.cmisno + "'>" + d.estartShortDateString + "</option>");
|
||||
});
|
||||
if ($("#cmino option").length > 1) {
|
||||
setv("cmino", $("#cmino option:eq(1)").val());
|
||||
getoff();
|
||||
}
|
||||
}
|
||||
|
||||
function save4(cmno,lectno) {
|
||||
cmicmno = cmno;
|
||||
cmilectno = lectno;
|
||||
bglayer(); $("#thisbox2").slideDown("fast", function () { $("#thisbox2").scrollTop(0); });
|
||||
if (cmno != "" && cmno > 0) {
|
||||
setcmis();
|
||||
}
|
||||
}
|
||||
function getoff() {
|
||||
$("#tdfile").html("");
|
||||
$("#tbodyoff tr").remove();
|
||||
$("input[name='attradio']:checked").prop("checked", false);
|
||||
if ($("#cmino").val() != "" || $("#cmisno").val() != "") {
|
||||
capp("/acommon/cminninggetforoff", { cmino: val("cmino"), cmisno: val("cmisno") }, "cbcmiget", null, null, null, true);
|
||||
}
|
||||
}
|
||||
function cbcmiget() {
|
||||
var ci = capResult.obj.ci;
|
||||
setv("fgnooff", getdb(ci.fgnooff));
|
||||
_fgno = ci.fgnooff;
|
||||
if (ci.fileno3 > 0) {
|
||||
$("#tdfile").html("<div class=\"fileitembox\"><a href=\"/aCommon/DownFile?fno=" + ci.fileno3 + "\" title=\"다운로드\"><i class=\"fa fa-paperclip\"></i> <span class=\"fileitem\">" + ci.orgname3 + "</span></a> " +
|
||||
"<a href=\"#\" class=\"btn_txt btn btn-xxs btn-danger\" onclick=\"javascript:fnFileDeleteNew(" + ci.fileno3 + ", this, '', true, 'cbthisfiledel()');\" title=\"삭제\">삭제</a></div>");
|
||||
}
|
||||
else {
|
||||
$("#tdfile").html("<input type=\"file\" id=\"file2\" name=\"file2\" />");
|
||||
}
|
||||
$.each(capResult.obj.li, function (i, d) {
|
||||
$("#tbodyoff").append("<tr data-no=\"" + d.lectno + "\" data-attorg=\"" + getdb(d.istatus) + "\">" +
|
||||
"<td>" + d.rnorvt + "</td>" +
|
||||
"<td>" + getdb(d.asname) + "</td>" +
|
||||
"<td>" + getdb(d.username) + "(" + getdb(d.userid) + ")" + "</td>" +
|
||||
"<td>" + d.stimehm + "</td>" +
|
||||
"<td>" + d.etimehm + "</td>" +
|
||||
"<td><input type=\"radio\" class=\"att att-1\" name=\"istatus" + d.lectno + "\" " + (isnull(d.istatus) ? "checked" : "") + " value=\"\" /></td>" +
|
||||
"<td><input type=\"radio\" class=\"att att2\" name=\"istatus" + d.lectno + "\" " + (getdb(d.istatus) == "2" ? "checked" : "") + " value=\"2\" /></td>" +
|
||||
"<td><input type=\"radio\" class=\"att att0\" name=\"istatus" + d.lectno + "\" " + (!isnull(d.istatus) && getdb(d.istatus) == "" || getdb(d.istatus) == "1" ? "checked" : "") + " value=\"0\" /></td>"+
|
||||
"<td>" + d.udtymdhm +" {"+d.unoid+"} </td ></tr > ");
|
||||
|
||||
});
|
||||
}
|
||||
function changeatt(idx) {
|
||||
$("input.att" + idx).prop("checked", true);
|
||||
}
|
||||
function saveatt() {
|
||||
if (val("cmino") == "") { focus("cmino"); msg2("회차를 선택해주세요."); }
|
||||
else if ($("#tbodyoff tr").length < 1) { msg2("저장할 출석데이터가 없습니다."); }
|
||||
else if (confirm("출석데이터를 저장하시겠습니까?")) {
|
||||
var data = new FormData();
|
||||
data.append("cmino", val("cmino"));
|
||||
if ($("#file2").length > 0 && $("#file2")[0].files.length > 0) {
|
||||
data.append("file2", $("#file2")[0].files[0]);
|
||||
}
|
||||
var lis = "";
|
||||
$.each($("#tbodyoff tr"), function (i, r) {
|
||||
//if ($(r).find("input.att:checked").val() != $(r).attr("data-attorg")) {
|
||||
lis += ";" + $(r).attr("data-no") + ":" + $(r).find("input.att:checked").val();
|
||||
//}
|
||||
});
|
||||
//if (lis == "") {
|
||||
// msg2("저장했습니다.");
|
||||
//} else {
|
||||
data.append("lis", lis.substr(1));
|
||||
data.append("fgnooff", _fgno);
|
||||
capfile("/acommon/offattsave", data, "cboffattsave", false, null, true, true);
|
||||
//}
|
||||
}
|
||||
}
|
||||
function cboffattsave() {
|
||||
if (capResult.code == 1000) {
|
||||
msgf2("저장했습니다.", "submit('mform', 0, true)");
|
||||
} else { msgdev(true); }
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
@ -0,0 +1,446 @@
|
|||
@model NP.Model.VMLect
|
||||
@{
|
||||
int idx = 1;
|
||||
}
|
||||
<form id="mform2" method="post">
|
||||
<br />
|
||||
<section class="panel panel-default">
|
||||
<div style="padding: 10px 10px">
|
||||
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":-응시상태;2:응시완료;1:응시중;0:미응시" }, { "name", "addstringval2" }, { "selected", Model.addstringval2 }, { "onchange", "submit()" } })
|
||||
@Html.Partial("./Partial/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } })
|
||||
@Html.Partial("./Partial/sembtns", "#tbody1;" + (Model.IsAdmin ? "1;1;1" : "0;0;0") + ";1;right;평가안내")
|
||||
</div>
|
||||
<div class="table-responsive" id="excel1">
|
||||
<table class="table table-striped b-t b-light">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" onclick="javascript: checkall('excel1', this);" /></th>
|
||||
<th width="20">No</th>
|
||||
<th width="20">운영기수</th>
|
||||
<th>구분</th>
|
||||
<th>고객사</th>
|
||||
<th>교육장</th>
|
||||
<th>과정명</th>
|
||||
<th>시험명</th>
|
||||
<th>교육생(ID)</th>
|
||||
<th>교육시작일</th>
|
||||
<th>교육종료일</th>
|
||||
<th>응시일자<br />(제출일자)</th>
|
||||
<th>경과시간</th>
|
||||
<th>IP</th>
|
||||
<th width="30">응시상태</th>
|
||||
<th>총점</th>
|
||||
<th>관리</th>
|
||||
<th>수료여부</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="data" id="tbody1">
|
||||
@foreach (var d in Model.LectEXes)
|
||||
{
|
||||
<tr data-exno="@d.exno" data-lectno="@d.lectno">
|
||||
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-userno="@d.userno" /></td>
|
||||
<td>@d.rnorvt</td>
|
||||
@if (d.cshape == 2)
|
||||
{
|
||||
<td>@d.sseq</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td>-</td>
|
||||
}
|
||||
<td>@d.isrebatename</td>
|
||||
<td>@d.asname</td>
|
||||
<td>@d.studyplacename</td>
|
||||
<td>@d.cname</td>
|
||||
<td>@d.exname</td>
|
||||
<td>@d.usernameid</td>
|
||||
<td>@((d.cshape == 0 && d.isrebate == 0 ? d.payoktime : d.sdate).Value.ToShortDateString())</td>
|
||||
@if (d.cshape == 2)
|
||||
{
|
||||
if (d.lestart != null && d.lestart > Convert.ToDateTime("1900-01-01") && d.lestart.ToShortDateString() != "0001-01-01" && d.lestart >= DateTime.Now)
|
||||
{
|
||||
<td class="link text-center"><a href="#" onclick="javascript: openScd(@d.cmno,@d.lectno,@d.cmisno);">@d.leend.ToShortDateString()</a></td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td>@d.leend.ToShortDateString()</td>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<td>@d.edate.Value.ToShortDateString()</td>
|
||||
}
|
||||
<td>@(d.estartymdhm)<br />@(d.eend == null ? "": string.Format("({0})", d.eendymdhm))</td>
|
||||
<td>@d.eseterm</td>
|
||||
<td>@d.eip</td>
|
||||
<td class="estate@(d.estate)">@d.estatename</td>
|
||||
<td><a class="btn btn-xxs btn-select" onclick="viewex(@d.exno, @d.lectno,@(idx++))" href="#">@d.tpoint</a></td>
|
||||
<td class="link text-center">
|
||||
@if (d.estart != null)
|
||||
{
|
||||
<a style="color:#fff" onclick="reexam(@d.exno, @d.lectno)" href="#" class="btn btn-select btn-xxs">재응시</a>
|
||||
}
|
||||
</td>
|
||||
@if (!ViewBag.IsSubAdmin96)
|
||||
{
|
||||
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("<a href=\"#\" onclick=\"viewcert({0})\">{1}</a>", d.lectno, "수료") : d.iscompletename)</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("{1}", d.lectno, "수료") : d.iscompletename)</td>
|
||||
}
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@Html.Pager((int)Model.pagenum, 10, Model.pagerowcount, Model.pagetotalcount)
|
||||
</section>
|
||||
</form>
|
||||
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; z-index: 1041; top: 60px; overflow: auto;">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
||||
<ul id="ulScd"></ul>
|
||||
<div class="findboxbtnbox" id="btnsavelect">
|
||||
<a href="#" class="btn btn-primary" onclick="updateScd();">선택완료</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="thisbox" class="findbox draggable regbox" style="width: 800px; z-index: 1041; top: 60px; bottom: 30px; overflow: auto;">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">시험 상세결과</span><a href="#" class="btn btn-default btn-xs f-r closethisbox" data-click="checkclose()">닫기</a></h4>
|
||||
<br />
|
||||
<h5><i class="fa fa-bars"></i> 개요</h5>
|
||||
<table class="regtable" id="exsummary">
|
||||
<tr>
|
||||
<th>소속</th>
|
||||
<th>이름(ID)</th>
|
||||
<th>총점</th>
|
||||
<th>객관식</th>
|
||||
<th>단답형</th>
|
||||
<th>서술형</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td id="asname"></td>
|
||||
<td id="usernameid"></td>
|
||||
<td id="tpoint"></td>
|
||||
<td id="a0point"></td>
|
||||
<td id="a1point"></td>
|
||||
<td id="a2point"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
<h5><i class="fa fa-bars"></i> 채점결과</h5>
|
||||
<div>
|
||||
<table class="regtable">
|
||||
<colgroup><col width="100" /><col /></colgroup>
|
||||
<tbody id="exdata"></tbody>
|
||||
</table>
|
||||
</div>
|
||||
<br /><br />
|
||||
<div class="botfixempty"> </div>
|
||||
<div style="position: fixed; bottom: 30px; left: 200px; width: 800px; height: 50px; background-color: #fff; text-align: center;">
|
||||
<a href="#" id="btnpre" class="btn btn-info btn-xs" onclick="nextex(-1)">◀이전</a>
|
||||
<a href="#" id="btnnext" class="btn btn-info btn-xs" onclick="nextex(1)">다음▶</a>
|
||||
<a href="#" class="btn btn-default btn-xs closethisbox" data-click="checkclose()">닫기</a>
|
||||
</div>
|
||||
</div>
|
||||
<style type="text/css">
|
||||
td.estate0{background-color: #ffd7bb !important; color: red;}
|
||||
.tablea0{word-break: break-all; width: 100%;}
|
||||
.tablea0 tr td{text-align: center;}
|
||||
.tablea0 tr td.qi{text-align: left;}
|
||||
.regtable tr td .tablea0 tr td {padding: 6px 5px;}
|
||||
#exsummary tr td{text-align: center;}
|
||||
td.qi div.imgbox.active{position: fixed; left: 10%; top: 10%; height: 80%; width: 80%; z-index: 3000; background-color: #999; text-align: center;padding-top: 10%;}
|
||||
td.qi div.imgbox.active img{height: 60%; max-width: 60%;}
|
||||
</style>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$("tr.ex" + ($("#addstringval").find("option").index($("#addstringval").find("option:selected")) + 1)).removeClass("hidden");
|
||||
$("body").on("click", "td.qi div.imgbox", function () {
|
||||
$(this).toggleClass("active");
|
||||
});
|
||||
$("body").on("click", "td.save a.btn-danger", function () {
|
||||
var input = $(this).closest("td").find("input");
|
||||
if (getint(input.val()) > getint(input.attr("data-max"))) {
|
||||
$(input).focus();
|
||||
msg2(input.attr("data-max") + "점 이하로 입력해주세요.");
|
||||
} else if (confirm("점수를 수정하시겠습니까?")) {
|
||||
capp("/acommon/lectexqpoint", { exno: _exno, lectno: _lectno, eqno: input.attr("data-eqno"), cpoint: getint(input.val()) }, "cblectexqpoint", null, null, null, true);
|
||||
}
|
||||
});
|
||||
});
|
||||
var _ispointchanged = false;
|
||||
function cblectexqpoint() {
|
||||
if (capResult.code == 1000) {
|
||||
_ispointchanged = true;
|
||||
msg2("점수를 변경하였습니다(수료처리는 별도로 진행해야합니다.)");
|
||||
} else {
|
||||
msgdev(true);
|
||||
}
|
||||
}
|
||||
function findme() {
|
||||
bglayer(); submit();
|
||||
}
|
||||
function reexam(exno, lectno) {
|
||||
capp("/acommon/reexam", { exno: exno, lectno: lectno }, "cbreexam");
|
||||
}
|
||||
function cbreexam() {
|
||||
if (capResult.code == 1000) {
|
||||
msg("재응시 처리했습니다.", null, null, null, true);
|
||||
submit("mform", 500);
|
||||
}
|
||||
}
|
||||
var _exno = 0;
|
||||
var _lectno = 0;
|
||||
var _ridx = 0;
|
||||
function viewex(exno, lectno,ridx) {
|
||||
_exno = exno;
|
||||
_lectno = lectno;
|
||||
_ridx = ridx;
|
||||
$("#exdata tr").remove();
|
||||
capp("/acommon/lectex", { lectno: lectno, exno: exno }, "cblectex");
|
||||
}
|
||||
function cblectex() {
|
||||
var lectex = capResult.obj.lectex;
|
||||
var lectexq = capResult.obj.lectexq;
|
||||
var lectexqs = capResult.obj.lectexqs;
|
||||
var qis = capResult.obj.qis;
|
||||
|
||||
sett("asname", getdb(lectex.asname));
|
||||
sett("usernameid", getdb(lectex.usernameid))
|
||||
sett("tpoint", "{0}/{1}".format(lectex.tpoint, lectex.extpoint));
|
||||
var v1 = 0;
|
||||
var v2 = 0;
|
||||
$.each(lectexq, function (i, d) {
|
||||
if (d.atype == 0) {
|
||||
v1 += d.cpoint;
|
||||
v2 += d.dpoint;
|
||||
}
|
||||
});
|
||||
sett("a0point", "{0}/{1}".format(v1, v2));
|
||||
v1 = 0;
|
||||
v2 = 0;
|
||||
$.each(lectexq, function (i, d) {
|
||||
if (d.atype == 1) {
|
||||
v1 += d.cpoint;
|
||||
v2 += d.dpoint;
|
||||
}
|
||||
});
|
||||
sett("a1point", "{0}/{1}".format(v1, v2));
|
||||
v1 = 0;
|
||||
v2 = 0;
|
||||
$.each(lectexq, function (i, d) {
|
||||
if (d.atype == 2) {
|
||||
v1 += d.cpoint;
|
||||
v2 += d.dpoint;
|
||||
}
|
||||
});
|
||||
sett("a2point", "{0}/{1}".format(v1, v2));
|
||||
var html = "";
|
||||
$.each(lectexq, function (i, d) {
|
||||
if (d.atype == 0) {
|
||||
html += "" +
|
||||
"<tr><th>문제" + (i + 1) + "</th>" +
|
||||
"<td>" + d.qtext + "</td></tr>" +
|
||||
"<tr><th>보기</th>" +
|
||||
"<td><table class=\"tablea0\"><colgroup><col width=\"50\" /><col width=\"50\" /><col width=\"80\" /><col /></colgroup><tr><th>정답</th><th>선택</th><th>비율</th><th>보기</th></tr>";
|
||||
$.each(qis, function (i2, d2) {
|
||||
if (d2.qno == d.qno) {
|
||||
var tqi = null;
|
||||
$.each(lectexqs, function (i3, d3) {
|
||||
if (d3.qno == d2.qno) {
|
||||
tqi = d3;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
html += "" +
|
||||
"<tr><td>" + (d2.isright == 1 ? "[정답]" : "") + "</td>" +
|
||||
"<td>" + (("," + getdb(d.atext) + ",").indexOf("," + d2.qino + ",") > -1 ? "[선택]" : "") + "</td>" +
|
||||
"<td>[" + (tqi == null ? 0 : tqi.countselect) + "명, " + (tqi == null ? 0 : tqi.avgselect) + "%]</td>" +
|
||||
"<td class=\"qi\">" + (d2.fileurl == null ? "":"<div class=\"imgbox\"><img style='max-width: 90%;' src='@Model.Files" + getdb(d2.fileurl) + "' alt='' style=\"max-width: 50%;\" /></div>") + (d2.qitext) + "</td></tr>";
|
||||
}
|
||||
});
|
||||
html += "</table></td></tr>" +
|
||||
"<tr><th>점수</th>" +
|
||||
"<td class=\"save\">선다형) <input type=\"text\" data-eqno=\"" + d.eqno + "\" data-max=\"" + d.dpoint + "\" data-org=\"" + d.cpoint + "\" class=\"form-control disp-init int text-center\" maxlength\"2\" style=\"width: 100px;\" value=\""+d.cpoint+"\" /> / " + d.dpoint + "점 <a href=\"#\" class=\"btn btn-danger\">저장</a></td></tr><tr><td colspan=\"2\"> </td></tr>";
|
||||
}
|
||||
else if (d.atype == 1) {
|
||||
var rights = "";
|
||||
$.each(qis, function (i2, d2) {
|
||||
if (d2.qno == d.qno) {
|
||||
rights += "," + d2.qitext;
|
||||
}
|
||||
});
|
||||
rights = rights == "" ? "" : rights.substr(1);
|
||||
html += "<tr><th>문제" + (i + 1) + "</th><td>" + d.qtext + "</td></tr>" +
|
||||
"<tr><th>정답</th><td>" + rights + "</td></tr>" +
|
||||
"<tr><th>응시자답안</th><td>" + getdb(d.atext) + "</td></tr>" +
|
||||
"<tr><th>점수</th>" +
|
||||
"<td class=\"save\">단답형) <input type=\"text\" data-eqno=\"" + d.eqno + "\" data-max=\"" + d.dpoint + "\" data-org=\"" + d.cpoint + "\" class=\"form-control disp-init int text-center\" maxlength\"2\" style=\"width: 100px;\" value=\"" + d.cpoint +"\" /> / " + d.dpoint + "점 <a href=\"#\" class=\"btn btn-danger\">저장</a></td></tr><tr><td colspan=\"2\"> </td></tr>";
|
||||
}
|
||||
else if (d.atype == 2) {
|
||||
html += "<tr><th>문제" + (i + 1) + "</th><td>" + d.qtext + "</td></tr>" +
|
||||
"<tr><th>응시자답안</th><td>" + getdb(d.atext) + "</td></tr>" +
|
||||
"<tr><th>점수</th>" +
|
||||
"<td class=\"save\">서술형) <input type=\"text\" data-eqno=\"" + d.eqno + "\" data-max=\"" + d.dpoint + "\" data-org=\"" + d.cpoint + "\" class=\"form-control disp-init int text-center\" maxlength\"2\" style=\"width: 100px;\" value=\"" + d.cpoint +"\" /> / " + d.dpoint + "점 <a href=\"#\" class=\"btn btn-danger\">저장</a></td></tr><tr><td colspan=\"2\"> </td></tr>";
|
||||
}
|
||||
});
|
||||
$("#exdata").append(html);
|
||||
|
||||
$("#btnpre,#btnnext").show();
|
||||
if (_ridx == 1) {
|
||||
$("#btnpre").hide();
|
||||
}
|
||||
if (_ridx == $("#tbody1 tr").length) {
|
||||
$("#btnnext").hide();
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
bglayer(); $("#thisbox").slideDown("fast", function () { $("#thisbox").scrollTop(0); });
|
||||
bglayer2(false);
|
||||
}, 10);
|
||||
}
|
||||
function checkclose() {
|
||||
//191223.kfcf-req 점수변경시 페이지 갱신 안되도록 수정
|
||||
self.close();
|
||||
bglayer(false);
|
||||
}
|
||||
|
||||
var _authtype = 1;
|
||||
var _lectno;
|
||||
function viewcert(lectno) {
|
||||
_lectno = lectno;
|
||||
capp("/acommon/authkey", { authtype: _authtype, jobkey: lectno }, "cbauthkey");
|
||||
}
|
||||
function cbauthkey() {
|
||||
if (capResult.code == 1000) {
|
||||
@*var pop = window.open('@ViewBag.fronturl/Open/CertPrint?userno=@ViewBag.SSUserNo&authtype=' + _authtype + '&randkey=' + capResult.obj, "certprint", "width=" + (screen.availWidth) + ", height=" + (screen.availHeight) + ", scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");*@
|
||||
var pop = window.open('@ViewBag.reporturl/certification.aspx?lectno='+_lectno, "certprint", "width=" + (screen.availWidth) + ", height=" + (screen.availHeight) + ", scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");
|
||||
if (pop == null) {
|
||||
msg("팝업이 차단되어 있습니다. 차단을 해제해 주세요.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var selectedcmno;
|
||||
var selectedLectno;
|
||||
var selectedCmisno;
|
||||
function setScd() {
|
||||
capp("/acommon/GetScdForMixEdu", { cmno: selectedcmno }, "renderScd");
|
||||
}
|
||||
function renderScd() {
|
||||
var ulScd = $("#ulScd");
|
||||
ulScd.empty();
|
||||
var seq = 0;
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
var li = $("<li />");
|
||||
if (d.isEnd == true) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled><span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (종료)</label></label>");
|
||||
}
|
||||
else {
|
||||
if (d.quota != 0) {
|
||||
if (d.remainPeople <= 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled<span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (마감)</label></label>");
|
||||
}
|
||||
else {
|
||||
if (seq == 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label></label>");
|
||||
}
|
||||
else {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label></label>");
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (seq == 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "</label>");
|
||||
}
|
||||
else {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "</label>");
|
||||
}
|
||||
}
|
||||
}
|
||||
seq++;
|
||||
ulScd.append(li);
|
||||
});
|
||||
|
||||
$("input:radio[name='rdoScds']:radio[value='" + selectedCmisno + "']").prop('checked', true);
|
||||
}
|
||||
function openScd(cmno, lectno, cmisno) {
|
||||
selectedcmno = cmno;
|
||||
selectedLectno = lectno;
|
||||
selectedCmisno = cmisno;
|
||||
$.when(
|
||||
setScd()
|
||||
).done(function () {
|
||||
setTimeout(function () {
|
||||
bglayer();
|
||||
$("#scdbox").slideDown("fast");
|
||||
}, 200);
|
||||
});
|
||||
}
|
||||
function updateScd() {
|
||||
if (confirm("교육일정을 변경하시겠습니까?")) {
|
||||
var cmisno = $("input:radio[name=rdoScds]:checked").val();
|
||||
capp("/acommon/LectScdChange", { lectno: selectedLectno, cmisno: cmisno }, "afterUpdateScd");
|
||||
}
|
||||
}
|
||||
function afterUpdateScd() {
|
||||
if (capResult.code > 0) {
|
||||
msgok(1, "", true);
|
||||
submit("mform", 800, true);
|
||||
}
|
||||
else {
|
||||
msg("관리자에게 문의하세요.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
var _saveidx = 0;
|
||||
function nextex(idx) {
|
||||
if (idx != 0) {
|
||||
_saveidx = idx;
|
||||
hidelayermsg(true);
|
||||
getexs(true);
|
||||
}
|
||||
}
|
||||
var _isprenext = false;
|
||||
function getexs(isprenext) {
|
||||
_isprenext = isprenext;
|
||||
if (isprenext) {
|
||||
$("#tbody1 tr").remove();
|
||||
capp("/acommon/lectallexes", { pagenum: @((int)Model.pagenum), pagerowcount:@(Model.pagerowcount), sdstate: valnull("addstringval2"), edate: valnull("stringval"), cshape: valnull("stringval2"), cname: valnull("stringval3"), cnamestr: valnull("stringval3"), iscomplete: valnull("stringval4"), studyplace: valnull("stringval5"), searchtype: valnull("stringval6"), searchtext: valnull("stringval7"), extype: @(Model.tabidx == 2 ? 0 : 1), sdateall: valnull("stringval8"), edateall: valnull("stringval9"), asname: valnull("stringval10") }, "cblectexes", null, null, null, true);
|
||||
}
|
||||
}
|
||||
function cblectexes() {
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
$("#tbody1").append(("<tr data-exno=\"{12}\" data-lectno=\"{0}\">" +
|
||||
"<td><input type=\"checkbox\" class=\"autocheck\" value=\"{0}\" data-userno=\"{1}\" /></td>" +
|
||||
"<td>{2}</td>" +
|
||||
"<td>{16}</td>" +
|
||||
"<td>{3}</td>" +
|
||||
"<td>{4}</td>" +
|
||||
"<td>{17}</td>" +
|
||||
"<td>{18}</td>" +
|
||||
"<td>{19}</td>" +
|
||||
"<td>{5}</td>" +
|
||||
"<td>{20}</td>" +
|
||||
"{21}" +
|
||||
"<td>{6}<br />{7}</td>" +
|
||||
"<td>{8}</td>" +
|
||||
"<td>{9}</td>" +
|
||||
"<td class=\"estate{10}\">{11}</td>" +
|
||||
"<td><a class=\"btn btn-xxs btn-select\" onclick =\"viewex({12}, {0},{15})\" href=\"#\">{13}</a></td>" +
|
||||
"<td class=\"link text-center\">{14}</td>" +
|
||||
"{22}</tr>").format(d.lectno, d.userno, d.rnorvt, d.isrebatename, getdb(d.asname)
|
||||
, d.usernameid, d.estartymdhm, getdb(d.eend) == "" ? "" : "({0})".format(d.eendymdhm), d.eseterm, getdb(d.eip)
|
||||
, d.estate, d.estatename, d.exno, d.tpoint
|
||||
, (getdb(d.estart) != "") ? ("<a style=\"color:#fff;\" onclick=\"reexam({12}, {0})\" href=\"#\" class=\"btn btn-select btn-xxs\">재응시</a>") : "", (i + 1)
|
||||
, d.cshape == 2 ? d.sseq : "-",getdb(d.studyplacename), getdb(d.cname), getdb(d.exname), d.leststr, d.leestr
|
||||
, '@(!ViewBag.IsSubAdmin96)' == 'True' ? d.scomplete : d.scomplete96));
|
||||
});
|
||||
if (_isprenext) {
|
||||
viewex($("#tbody1 tr:eq(" + (_ridx + _saveidx - 1) + ")").attr("data-exno"), $("#tbody1 tr:eq(" + (_ridx + _saveidx - 1) + ")").attr("data-lectno"), _ridx + _saveidx);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
@ -0,0 +1,408 @@
|
|||
@model NP.Model.VMLect
|
||||
@{
|
||||
int idx = 1;
|
||||
}
|
||||
<form id="mform" method="post">
|
||||
<section class="panel panel-default">
|
||||
<div style="padding: 10px 10px">
|
||||
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "valuetext", ":-응시상태;1:제출;0:미제출" }, { "name", "addstringval2" }, { "selected", Model.addstringval2}, { "onchange", "findme()" } })
|
||||
@Html.Partial("./Partial/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } })
|
||||
@Html.Partial("./Partial/sembtns", "#tbody1;" + (Model.IsAdmin ? "1;11;" : "0;0;0") + ";1;right;평가안내")
|
||||
</div>
|
||||
<div class="table-responsive" id="excel1">
|
||||
<table class="table table-striped b-t b-light">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" onclick="javascript: checkall('excel1', this);" /></th>
|
||||
<th width="20">No</th>
|
||||
<th>운영기수</th>
|
||||
<th>교육장</th>
|
||||
<th>과정명</th>
|
||||
<th>교육생(ID)</th>
|
||||
<th>교육시작일</th>
|
||||
<th>교육종료일</th>
|
||||
<th>상태</th>
|
||||
<th>점수</th>
|
||||
<th>첨삭</th>
|
||||
<th>모사</th>
|
||||
<th>최근제출일(IP)</th>
|
||||
<th>최근평가일(IP)</th>
|
||||
<th>수료여부</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="data" id="tbody1">
|
||||
@foreach (var d in Model.LectSDs)
|
||||
{
|
||||
<tr data-sdno="@d.sdno" data-lectno="@d.lectno">
|
||||
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-userno="@d.userno" /></td>
|
||||
<td>@d.rnorvt</td>
|
||||
@if(d.cshape== 2)
|
||||
{
|
||||
<td>@d.sseq</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td>-</td>
|
||||
}
|
||||
<td>@d.studyplacename</td>
|
||||
<td>@d.cname</td>
|
||||
<td>@d.usernameid</td>
|
||||
<td>@((d.cshape == 0 && d.isrebate == 0 ? d.payoktime : d.sdate).Value.ToShortDateString())</td>
|
||||
@if (d.cshape == 2)
|
||||
{
|
||||
if (d.lestart != null && d.lestart > Convert.ToDateTime("1900-01-01") && d.lestart.ToShortDateString() != "0001-01-01" && d.lestart >= DateTime.Now)
|
||||
{
|
||||
<td class="link text-center"><a href="#" onclick="javascript: openScd(@d.cmno,@d.lectno,@d.cmisno);">@d.leend.ToShortDateString()</a></td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td>@d.leend.ToShortDateString()</td>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<td>@d.edate.Value.ToShortDateString()</td>
|
||||
}
|
||||
<td class="estate@(d.sdstate)">@d.sdstatename</td>
|
||||
<td><a class="btn btn-xxs btn-select" onclick="viewsd(@d.sdno, @d.lectno, @(idx++))" href="#">@d.cpoint2</a></td>
|
||||
<td>@d.feedbox</td>
|
||||
<td><a class="btn btn-xxs btn-select iscopy@(d.iscopy)" onclick="viewcopy(@d.sdno, @d.lectno)" href="#">@d.copyratename</a></td>
|
||||
<td>@Html.Raw(d.submittimeip)</td>
|
||||
<td>@Html.Raw(d.checktimeip)</td>
|
||||
@if (!ViewBag.IsSubAdmin96)
|
||||
{
|
||||
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("<a href=\"#\" onclick=\"viewcert({0})\">{1}</a>", d.lectno, "수료") : d.iscompletename)</td>
|
||||
}
|
||||
else
|
||||
{
|
||||
<td class="@(d.iscomplete == 1 ? "link text-center" : "")">@Html.Raw(d.iscomplete == 1 ? string.Format("{1}", d.lectno, "수료") : d.iscompletename)</td>
|
||||
}
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@Html.Pager((int)Model.pagenum, 10, Model.pagerowcount, Model.pagetotalcount)
|
||||
</section>
|
||||
</form>
|
||||
<div id="scdbox" class="findbox draggable regbox" style="width: 400px; z-index: 1041; top: 60px; overflow: auto;">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">교육일정변경</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
||||
<ul id="ulScd"></ul>
|
||||
<div class="findboxbtnbox" id="btnsavelect">
|
||||
<a href="#" class="btn btn-primary" onclick="updateScd();">선택완료</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="thisbox" class="findbox draggable regbox" style="height: 850px; width: 800px; z-index: 1041; top: 60px; overflow: auto;">
|
||||
<h4><i class="fa fa-bars"></i> <span id="pcap">개별 과제제출 내용</span><a href="#" class="btn btn-default btn-xs f-r closethisbox">닫기</a></h4>
|
||||
<br />
|
||||
<table class="regtable" id="exsummary">
|
||||
<tr>
|
||||
<th>제출자</th>
|
||||
<td id="userinfo"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>제출내용</th>
|
||||
<td id="atext"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>첨부파일</th>
|
||||
<td id="fileinfo"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>점수</th>
|
||||
<td><input type="text" class="form-control int disp-init text-center" style="width: 70px;" max="3" id="cpoint" onchange="checkmax(this)" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>피드백</th>
|
||||
<td><textarea class="form-control" id="feedb" style="resize: none; height: 250px;" maxlength="800"></textarea></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br /><br /><br />
|
||||
<div class="text-center">
|
||||
<a href="#" id="btnpre" class="btn btn-info btn-xs" onclick="save(-1)">◀이전</a>
|
||||
<a href="#" class="btn btn-primary btn-xs" onclick="save(0)">저장</a>
|
||||
<a href="#" id="btnnext" class="btn btn-info btn-xs" onclick="save(1)">다음▶</a>
|
||||
<a href="#" class="btn btn-default btn-xs closethisbox">닫기</a>
|
||||
</div>
|
||||
<br /><br />
|
||||
</div>
|
||||
<style type="text/css">
|
||||
td.estate0 {
|
||||
background-color: #ffd7bb !important;
|
||||
color: red;
|
||||
}
|
||||
|
||||
td a.iscopy1 {
|
||||
background-color: red !important;
|
||||
}
|
||||
|
||||
.tablea0 {
|
||||
word-break: break-all;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.tablea0 tr td {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.tablea0 tr td.qi {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.regtable tr td .tablea0 tr td {
|
||||
padding: 6px 5px;
|
||||
}
|
||||
/*#exsummary tr td{text-align: center;}*/
|
||||
td.qi div.imgbox.active {
|
||||
position: fixed;
|
||||
left: 10%;
|
||||
top: 10%;
|
||||
height: 80%;
|
||||
width: 80%;
|
||||
z-index: 3000;
|
||||
background-color: #999;
|
||||
text-align: center;
|
||||
padding-top: 10%;
|
||||
}
|
||||
|
||||
td.qi div.imgbox.active img {
|
||||
height: 60%;
|
||||
max-width: 60%;
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
var ischange = false;
|
||||
$(document).ready(function () {
|
||||
$("body").on("click", "td.qi div.imgbox", function () {
|
||||
$(this).toggleClass("active");
|
||||
});
|
||||
$("#cpoint,#feedb,#feedb2").on("propertychange change keyup paste input", function () {
|
||||
ischange = true;
|
||||
})
|
||||
});
|
||||
function findme() {
|
||||
bglayer(); submit();
|
||||
}
|
||||
var _isprenext = false;
|
||||
function getsds(isprenext) {
|
||||
_isprenext = isprenext;
|
||||
if (isprenext) {
|
||||
$("#tbody1 tr").remove();
|
||||
capp("/acommon/lectallsds", { pagenum: @((int)Model.pagenum), pagerowcount:@(Model.pagerowcount), sdstate: valnull("addstringval2"), edate: valnull("stringval"), cshape: valnull("stringval2"), cname: valnull("stringval3"), cnamestr: valnull("stringval3"), iscomplete: valnull("stringval4"), studyplace: valnull("stringval5"), searchtype: valnull("stringval6"), searchtext: valnull("stringval7"), sdtype: 0, sdateall: valnull("stringval8"), edateall: valnull("stringval9"), asname: valnull("stringval10") }, "cblectsds", null, null, null, true);
|
||||
} else {
|
||||
capp("/acommon/lectallsds", { pagenum: @((int)Model.pagenum), pagerowcount:@(Model.pagerowcount), sdstate: valnull("addstringval2"), edate: valnull("stringval"), cshape: valnull("stringval2"), cname: valnull("stringval3"), cnamestr: valnull("stringval3"), iscomplete: valnull("stringval4"), studyplace: valnull("stringval5"), searchtype: valnull("stringval6"), searchtext: valnull("stringval7"), sdtype: 0, sdateall: valnull("stringval8"), edateall: valnull("stringval9"), asname: valnull("stringval10") }, "cblectsds");
|
||||
}
|
||||
}
|
||||
function cblectsds() {
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
$("#tbody1").append(("<tr data-sdno=\"{8}\" data-lectno=\"{0}\">" +
|
||||
"<td><input type=\"checkbox\" class=\"autocheck\" value=\"{0}\" data-userno=\"{1}\" /></td>" +
|
||||
"<td>{2}</td>" +
|
||||
"<td>{16}</td>" +
|
||||
"<td>{17}</td>" +
|
||||
"<td>{18}</td>" +
|
||||
"<td>{5}</td>" +
|
||||
"<td>{19}</td>" +
|
||||
"{20}"+
|
||||
"<td class=\"estate{6}\">{7}</td>" +
|
||||
"<td><a class=\"btn btn-xxs btn-select viewsd\" onclick=\"viewsd({8}, {0}, {15})\" href=\"#\">{9}</a></td>" +
|
||||
"<td>{10}</td>" +
|
||||
"<td><a class=\"btn btn-xxs btn-select iscopy{11}\" onclick=\"viewcopy({8}, {0})\" href=\"#\">{12}</a></td>" +
|
||||
"<td>{13}</td>" +
|
||||
"<td>{14}</td>"+
|
||||
"{21}").format(d.lectno, d.userno, d.rnorvt, d.isrebatename, d.asname
|
||||
, d.usernameid, d.sdstate, d.sdstatename, d.sdno, d.cpoint2
|
||||
, d.feedbox, d.iscopy, d.copyratename, d.submittimeip, d.checktimeip, (i + 1), d.cshape == 2 ? d.sseq : '-', d.studyplacename
|
||||
, d.cname, d.leststr, d.leestr, '@(!ViewBag.IsSubAdmin96)' == 'True' ? d.scomplete : d.scomplete96));
|
||||
});
|
||||
if (_isprenext) {
|
||||
viewsd($("#tbody1 tr:eq(" + (_ridx + _saveidx - 1) + ")").attr("data-sdno"), $("#tbody1 tr:eq(" + (_ridx + _saveidx - 1) + ")").attr("data-lectno"), _ridx + _saveidx);
|
||||
}
|
||||
}
|
||||
var _sdno = 0;
|
||||
var _lectno = 0;
|
||||
var _ridx=0;
|
||||
function viewsd(sdno, lectno, ridx) {
|
||||
ischange = false;
|
||||
_sdno = sdno;
|
||||
_lectno = lectno;
|
||||
_ridx = ridx;
|
||||
capp("/acommon/lectsd", { lectno: lectno, sdno: sdno }, "cblectsd");
|
||||
}
|
||||
function cblectsd() {
|
||||
var d = capResult.obj;
|
||||
$("#userinfo").text("[{0}]{1} | {2}".format(d.isrebatename, d.asname, d.usernameid));
|
||||
if (getdb(d.atext) == "") {
|
||||
$("#atext").html("- 미제출");
|
||||
} else {
|
||||
$("#atext").html(getdb(d.atext).replace(/\n/gi, "<br />"));
|
||||
}
|
||||
var _html = "- 제출파일 없음<br />";
|
||||
if (getdb(d.fileurl) != "") {
|
||||
_html = "<a href=\"/aCommon/DownFile?fno={0}&loginfo=&issubject=1\" title=\"다운로드\"><i class=\"fa fa-paperclip\"></i> <span class=\"fileitem\">{1}</span></a><br />".format(d.fileno, d.orgname);
|
||||
}
|
||||
_html += "(모사율: {0}) ".format(d.copyratename);
|
||||
$("#fileinfo").html(_html + ("<label><input id=\"iscopy\" type=\"checkbox\" " + (d.iscopy == 1 ? "checked" : "") + " /> 모사답안신고</label>"));
|
||||
setv("cpoint", d.cpoint);
|
||||
$("#feedb").val(d.feedb);
|
||||
$("#feedb").removeAttr("readonly");
|
||||
//if (getdb(d.feedb) != '') {
|
||||
// $("#feedb").attr("readonly", "readonly");
|
||||
//}
|
||||
$("#btnpre,#btnnext").show();
|
||||
if (_ridx == 1) {
|
||||
$("#btnpre").hide();
|
||||
}
|
||||
if (_ridx == $("#tbody1 tr").length) {
|
||||
$("#btnnext").hide();
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
bglayer(); $("#thisbox").slideDown("fast", function () { $("#thisbox").scrollTop(0); });
|
||||
bglayer2(false);
|
||||
$("#cpoint").focus();
|
||||
}, 10);
|
||||
}
|
||||
var _saveidx = 0;
|
||||
function save(idx) {
|
||||
if (idx != 0 && ischange == false) {
|
||||
_saveidx = idx;
|
||||
hidelayermsg2(true);
|
||||
getsds(true);
|
||||
} else {
|
||||
if (getint($("#cpoint").val()) < 0) {
|
||||
$("#cpoint").focus();
|
||||
msg2("0점 이상으로 입력해주세요.");
|
||||
} else if (getint($("#cpoint").val()) > getint($("#addstringval").find("option:selected").attr("data-tpoint"))) {
|
||||
$("#cpoint").focus();
|
||||
msg2(getint($("#addstringval").find("option:selected").attr("data-tpoint")) + "점 이하으로 입력해주세요.");
|
||||
} else if (confirm("저장하시겠습니까?")) {
|
||||
_saveidx = idx;
|
||||
capp("/acommon/lectsdsave", { lectno: _lectno, sdno: val("addstringval"), iscopy: $("#iscopy").prop("checked") ? 1 : 0, cpoint: val("cpoint"), feedb: val("feedb") }, "cbsave", null, null, null, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
function cbsave() {
|
||||
if (capResult.code == 1000) {
|
||||
if (_saveidx == 0) {
|
||||
msg2("저장했습니다.");
|
||||
//submit("mform", 500);
|
||||
} else {
|
||||
//리스트 갱신 후 다음 또는 이전 수강생과제 표시
|
||||
msg2("저장했습니다.", null, null, null, true);
|
||||
setTimeout(function () {
|
||||
hidelayermsg2(true);
|
||||
getsds(true);
|
||||
}, 300);
|
||||
}
|
||||
} else {
|
||||
msgdev(true);
|
||||
}
|
||||
}
|
||||
function checkmax(p) {
|
||||
if (getint($(p).val()) < 0) {
|
||||
$(p).focus();
|
||||
msg2("0점 이상으로 입력해주세요.");
|
||||
} else if (getint($(p).val()) > getint($("#addstringval").find("option:selected").attr("data-tpoint"))) {
|
||||
$(p).focus();
|
||||
msg2(getint($("#addstringval").find("option:selected").attr("data-tpoint"))+"점 이하으로 입력해주세요.");
|
||||
}
|
||||
}
|
||||
function viewcopy(sdno,lectno) {
|
||||
var winl = (screen.width - 840) / 2;
|
||||
var wint = (screen.height - 410) / 2;
|
||||
var opt = 'height=410, width=840, top=' + wint + ', left=' + winl + ',location=no, noresizable';
|
||||
window.open("http://118.219.255.225:7614/memechecker/score.html?domain=v_lectsd_list&docId="+sdno+"_"+lectno, "iscopyWin", opt);
|
||||
}
|
||||
|
||||
var _authtype = 1;
|
||||
var _lectno;
|
||||
function viewcert(lectno) {
|
||||
_lectno = lectno;
|
||||
capp("/acommon/authkey", { authtype: _authtype, jobkey: lectno }, "cbauthkey");
|
||||
}
|
||||
function cbauthkey() {
|
||||
if (capResult.code == 1000) {
|
||||
@*var pop = window.open('@ViewBag.fronturl/Open/CertPrint?userno=@ViewBag.SSUserNo&authtype=' + _authtype + '&randkey=' + capResult.obj, "certprint", "width=" + (screen.availWidth) + ", height=" + (screen.availHeight) + ", scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");*@
|
||||
var pop = window.open('@ViewBag.reporturl/certification.aspx?lectno='+_lectno, "certprint", "width=" + (screen.availWidth) + ", height=" + (screen.availHeight) + ", scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");
|
||||
if (pop == null) {
|
||||
msg("팝업이 차단되어 있습니다. 차단을 해제해 주세요.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var selectedcmno;
|
||||
var selectedLectno;
|
||||
var selectedCmisno;
|
||||
function setScd() {
|
||||
capp("/acommon/GetScdForMixEdu", { cmno: selectedcmno }, "renderScd");
|
||||
}
|
||||
function renderScd() {
|
||||
var ulScd = $("#ulScd");
|
||||
ulScd.empty();
|
||||
var seq = 0;
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
var li = $("<li />");
|
||||
if (d.isEnd == true) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled><span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (종료)</label></label>");
|
||||
}
|
||||
else {
|
||||
if (d.quota != 0) {
|
||||
if (d.remainPeople <= 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled<span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (마감)</label></label>");
|
||||
}
|
||||
else {
|
||||
if (seq == 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label></label>");
|
||||
}
|
||||
else {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "<label style='color: red'> (" + d.remainPeople + "명 남음)</label></label>");
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (seq == 0) {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "</label>");
|
||||
}
|
||||
else {
|
||||
li.append("<label style='cursor: pointer'><input type='radio' name='rdoScds' value='" + d.cmisno + "'>" + d.scdInfoSummary + "</label>");
|
||||
}
|
||||
}
|
||||
}
|
||||
seq++;
|
||||
ulScd.append(li);
|
||||
});
|
||||
|
||||
$("input:radio[name='rdoScds']:radio[value='" + selectedCmisno + "']").prop('checked', true);
|
||||
}
|
||||
function openScd(cmno, lectno, cmisno) {
|
||||
selectedcmno = cmno;
|
||||
selectedLectno = lectno;
|
||||
selectedCmisno = cmisno;
|
||||
$.when(
|
||||
setScd()
|
||||
).done(function () {
|
||||
setTimeout(function () {
|
||||
bglayer();
|
||||
$("#scdbox").slideDown("fast");
|
||||
}, 200);
|
||||
});
|
||||
}
|
||||
function updateScd() {
|
||||
if (confirm("교육일정을 변경하시겠습니까?")) {
|
||||
var cmisno = $("input:radio[name=rdoScds]:checked").val();
|
||||
capp("/acommon/LectScdChange", { lectno: selectedLectno, cmisno: cmisno }, "afterUpdateScd");
|
||||
}
|
||||
}
|
||||
function afterUpdateScd() {
|
||||
if (capResult.code > 0) {
|
||||
msgok(1, "", true);
|
||||
submit("mform", 800, true);
|
||||
}
|
||||
else {
|
||||
msg("관리자에게 문의하세요.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<iframe id="ifrthis" style="display: none;"></iframe>
|
||||
|
|
@ -13,6 +13,7 @@
|
|||
<br />
|
||||
<form id="mform" name="mform">
|
||||
<input type="hidden" name="rfdno" value="@r.rfdno" />
|
||||
<input type="hidden" name="payno" value="@r.payno" />
|
||||
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 환불정보<span class=""></span></strong></header>
|
||||
<table class="regtable" style="margin-top: 0;">
|
||||
<colgroup><col style="width: 150px" /><col /></colgroup>
|
||||
|
|
@ -58,13 +59,17 @@
|
|||
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 검토결과<span class=""></span></strong></header>
|
||||
<table class="regtable" style="margin-top: 0;">
|
||||
<colgroup><col style="width: 150px" /><col /></colgroup>
|
||||
<tr><th>검토상태</th><td>@Html.Partial("./Partial/Radio", r.rstatus, new ViewDataDictionary() { { "valuetext", "0:접수(검토중);2:환불완료;1:환불거절;4:취소" }, { "checked", r.rstatus }, { "name", "rstatus" } })</td></tr>
|
||||
<tr><th>검토상태</th><td>@Html.Partial("./Partial/Radio", r.rstatus, new ViewDataDictionary() { { "valuetext", "0:접수(검토중);2:환불완료;1:환불거절" }, { "checked", r.rstatus }, { "name", "rstatus" } })</td></tr>
|
||||
<tr><th>검토상태</th><td>@*@Html.Partial("./Partial/Radio", r.rstatus, new ViewDataDictionary() { { "valuetext", "0:접수(검토중);2:환불완료;1:환불거절;4:취소" }, { "checked", r.rstatus }, { "name", "rstatus" } })*@</td></tr>
|
||||
<tr><th>검토의견</th><td><input type="text" class="form-control" id="rback" name="rback" value="@r.rback" /></td></tr>
|
||||
</table>
|
||||
</form>
|
||||
@if (r.rstatus == 0)
|
||||
{
|
||||
<div style="padding: 5px 10px; text-align: center"><a href="#" class="btn btn-primary" onclick="save();">저장</a></div>
|
||||
<div style="padding: 5px 10px; text-align: center">
|
||||
<a href="#" class="btn btn-primary" onclick="save();">저장</a>
|
||||
<a href="#" class="btn btn-danger" onclick="cancel();">취소</a>
|
||||
</div>
|
||||
}
|
||||
<br /><br /><br />
|
||||
@section styles{
|
||||
|
|
@ -109,5 +114,19 @@
|
|||
opener.thisrefresh();
|
||||
}
|
||||
}
|
||||
function cancel() {
|
||||
if (confirm("취소 시 환불요청서가 삭제됩니다.\n취소하시겠습니까?")) {
|
||||
gocancel();
|
||||
}
|
||||
}
|
||||
function gocancel() {
|
||||
cap("/acommon/payrfdcancel", "mform", "cbcancel");
|
||||
}
|
||||
function cbcancel() {
|
||||
if (capResult.code == 1000) {
|
||||
msg("취소되었습니다.", null, null, null, null, "self.close()");
|
||||
opener.thisrefresh();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<th>기본담당자연락처</th>
|
||||
<td colspan="3">@Html.TextBoxFor(m => m.Assign.mphone, new { @class = "form-control telnofmt nocomma", @data_zero = "1", @maxlength = "13" })</td>
|
||||
<td colspan="3">@Html.TextBoxFor(m => m.Assign.mphone, new { @class = "form-control telnofmt mobilefmt nocomma", @data_zero = "1", @maxlength = "13" })</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>계산서이메일</th>
|
||||
|
|
@ -131,7 +131,7 @@
|
|||
setv("Assign_brno", val("Assign_brno").replace(/-/gi, ''));
|
||||
setv("Assign_grno", val("Assign_grno").replace(/-/gi, ''));
|
||||
if (check("Assign_asname", null, "법인명을 입력해주세요.")) { }
|
||||
else if (val("Assign_mphone") != "" && !isphone(val("Assign_mphone"))) { msg("잘못된 연락처입니다."); }
|
||||
else if (val("Assign_mphone") != "" && (!isphone(val("Assign_mphone")) && !ismobile(val("Assign_mphone")))) { msg("잘못된 연락처입니다."); }
|
||||
else if (confirm("저장하시겠습니까?")) {
|
||||
capfileform("/acommon/assignsave", "mform", "cbsave");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -508,7 +508,7 @@
|
|||
setv("User_birthday", makebirthday(val("userpno1") + val("userpno2")));
|
||||
if (val("User_usertype") == "0" || val("User_usertype") == "") { focus("User_usertype");msg("권한을 선택해주세요."); }
|
||||
else if (check("User_userid", null, "ID를 입력해주세요.")) { }
|
||||
else if (val("User_userid").length < 6) {focus("User_userid"); msg("ID를 6글자 이상으로 입력해주세요.");}
|
||||
else if (val("User_userid").length < 4) {focus("User_userid"); msg("ID를 4글자 이상으로 입력해주세요.");}
|
||||
else if (val("User_userno") == '0' && !ispassword(val("User_userpass"))) { focus("User_userpass"); msg("6글자이상의 비밀번호를 입력해주세요."); }
|
||||
else if (val("userpno1") != "" && val("userpno2") == "") { focus("userpno2"); msg("주민등록번호를 제대로 입력해주세요."); }
|
||||
else if ((val("userpno1") != "" && val("userpno2") != "") && $("#User_userpno").val().length < 13) { focus("userpno2"); msg("주민등록번호를 제대로 입력해주세요."); }
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
<add key="adminurl" value="http://admin.ynicte.com" />
|
||||
<add key="adminips" value="118.219.255.223;118.219.255.225"/>
|
||||
<add key="reporturl" value="http://ynicter.nptc.kr" />
|
||||
<add key="isstaging" value="0" />
|
||||
<add key="isstaging" value="1" />
|
||||
<!--<add key="masteremail" value="edu@ynicte.or.kr;mail.ynicte.or.kr;25;ynicte@ynicte.or.kr;k7758870!%" />-->
|
||||
<add key="masteremail" value="yicte@cte.or.kr;smtp.daum.net;465;yicte2020;yicte04003" />
|
||||
<add key="usessl" value="Y" />
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ img.wideviewable.activeon{
|
|||
.form-control .searchcon{width: auto;}
|
||||
.searchbutton{}
|
||||
.datepicker-input.dev{width: 130px; text-align: center; display: initial;}
|
||||
.fa-calendar.dev{margin-left: -20px; margin-right: 10px;}
|
||||
.fa-calendar.dev{margin-left: -22px; margin-right: 10px;}
|
||||
input[type="file"].fileitem{display: none;}
|
||||
.devfile{margin-top: -5px;}
|
||||
.itemfind {margin-top: -3px;}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"version": "1.0",
|
||||
"defaultProvider": "cdnjs",
|
||||
"libraries": []
|
||||
}
|
||||
|
|
@ -297,6 +297,12 @@ namespace NP.Base.Controllers
|
|||
{
|
||||
rtn = Dao.Save("cm.cminnings." + (cmi.cmino > 0 ? "up" : "in"), cmi);
|
||||
}
|
||||
//집체교육일정,온라인일시
|
||||
if(cmi.cmino > 0 && cmi.isscd == 1 && cmi.scdtype == 1)
|
||||
{
|
||||
Dao.Save("cm.cminningscd.clear", cmi);
|
||||
Dao.Save("cm.cmev.clear", cmi);
|
||||
}
|
||||
if (cmi.istaste == 1){
|
||||
Dao.Save("cm.cminnings.istasteclear", cmi);
|
||||
}
|
||||
|
|
@ -320,6 +326,7 @@ namespace NP.Base.Controllers
|
|||
else
|
||||
{
|
||||
rtn = Dao.Save("cm.cminningscd." + (cmis.cmisno > 0 ? "up" : "in"), cmis);
|
||||
Dao.Save("cm.cminningscd.up.lect",cmis);
|
||||
}
|
||||
return JsonOK(rtn, true);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -439,21 +439,25 @@ namespace NP.Base.Controllers
|
|||
return JsonBack(new JsonRtn() { code = 1000, msg = "OK", obj = new { cancelcount } });
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult CMInningGetForOff(Int64 cmino)
|
||||
public JsonResult CMInningGetForOff(Int64? cmino,Int64? cmisno,Int64? lectno)
|
||||
{
|
||||
var rtn = new Hashtable() { };
|
||||
rtn.Add("ci", Dao.Get<CMInning>("cm.cminnings", new Hashtable() { { "cmino", cmino } }).First());
|
||||
rtn.Add("li", Dao.Get<LectInning>("lect.lectinnings.bycmino", new Hashtable() { { "cmino", cmino } }));
|
||||
rtn.Add("ci", Dao.Get<CMInning>("cm.cminnings", new Hashtable() { { "cmino", cmino },{"cmisno",cmisno } }).First());
|
||||
rtn.Add("li", Dao.Get<LectInning>("lect.lectinnings.bycmino", new Hashtable() { { "cmino", cmino }, { "cmisno", cmisno },{"lectno",lectno } }));
|
||||
return JsonBack(rtn);
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult OffAttSave(Int64 cmino, String lis, Int64? fgno)
|
||||
public JsonResult OffAttSave(Int64 cmino, String lis, Int64? fgno,Int64? fgnooff)
|
||||
{
|
||||
var cmi = new CMInning() { cmino = cmino, fgno = fgno, Ds = new List<CMInning>() { }, uno = SUserInfo.UserNo, uip = GetUserIP() };
|
||||
var cmi = new CMInning() { cmino = cmino, fgno = fgno,fgnooff=fgnooff, Ds = new List<CMInning>() { }, uno = SUserInfo.UserNo, uip = GetUserIP() };
|
||||
if (Request.Files.GetMultiple("file").Where(w => !string.IsNullOrEmpty(w.FileName)).Count() > 0)
|
||||
{
|
||||
cmi.fgno = SetFile(Request.Files.GetMultiple("file").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), cmi.fgno ?? 0, "cminning", "fgno");
|
||||
}
|
||||
if (Request.Files.GetMultiple("file2").Where(w => !string.IsNullOrEmpty(w.FileName)).Count() > 0)
|
||||
{
|
||||
cmi.fgnooff = SetFile(Request.Files.GetMultiple("file2").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), cmi.fgnooff ?? 0, "cminning", "fgnooff");
|
||||
}
|
||||
var lectnos = "";
|
||||
foreach (var s in lis.Split(';'))
|
||||
{
|
||||
|
|
@ -465,9 +469,33 @@ namespace NP.Base.Controllers
|
|||
{
|
||||
Dao.Save("cm.cminning.fgno", cmi);
|
||||
}
|
||||
if(cmi.fgnooff != null)
|
||||
{
|
||||
Dao.Save("cm.cminning.fgnooff", cmi);
|
||||
}
|
||||
return JsonOK(Dao.Save("att.off.save", cmi));
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult offattscdsave(int istatus,String userinfos)
|
||||
{
|
||||
var lectnos = "";
|
||||
var cmi = new CMInning() { Ds = new List<CMInning>() { }, uno = SUserInfo.UserNo, uip = GetUserIP() };
|
||||
if (string.IsNullOrEmpty(userinfos))
|
||||
{
|
||||
return JsonOK(-1);
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach(var s in userinfos.Split(','))
|
||||
{
|
||||
lectnos += "," + s.Split(':')[1];
|
||||
cmi.Ds.Add(new CMInning() { cmino = GetInt64(s.Split(':')[0]), lectno = GetInt64(s.Split(':')[1]), istatus = istatus < 0 ? (Int32?)null : istatus });
|
||||
}
|
||||
cmi.lectnos = lectnos.Substring(1);
|
||||
}
|
||||
return JsonOK(Dao.Save("att.scd.save", cmi));
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult AttABS(Int64 lectno, Int64 cmino, String reason)
|
||||
{
|
||||
return JsonOK(Dao.Save("att.abs", new Hashtable() { { "lectno", lectno }, { "cmino", cmino }, { "statusreason", reason }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }) == 2 ? 1 : 0);
|
||||
|
|
@ -482,12 +510,24 @@ namespace NP.Base.Controllers
|
|||
{
|
||||
return JsonBack(Dao.Get<LectEX>("lect.lectexes", new System.Collections.Hashtable() { { "cmno", cmno }, { "exno", exno }, { "isrebate", isrebate }, { "estate", estate } }));
|
||||
}
|
||||
public JsonResult LectAllEXes(int pagenum, int pagerowcount,int extype, String edate, String cname, String cnamestr, String searchtype, String searchtext,String sdateall,String edateall,String asname, int? studyplace = null, int? iscomplete = null, int? cshape = null, int? sdstate = null)
|
||||
{
|
||||
pagenum = pagenum < 1 ? 1 : pagenum;
|
||||
pagerowcount = pagerowcount < 1 ? PageRowCount : pagerowcount;
|
||||
|
||||
return JsonBack(Dao.Get<LectEX>("lect.lectexes.all", new System.Collections.Hashtable() { {"extype",extype },{ "estate", sdstate }, { "pagenum", pagenum }, { "pagerowsize", pagerowcount }, { "edate", edate },{"sdateall",sdateall },{"edateall",edateall }, { "cshape", cshape }, { "cname", cname }, { "cnamestr", cnamestr }, { "iscomplete", iscomplete }, { "studyplace", studyplace }, { "searchtype", searchtype }, { "searchtext", searchtext },{"asname",asname } }));
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult ReExam(int exno, Int64 lectno)
|
||||
{
|
||||
return JsonOK(Dao.Save("lect.reexam", new Hashtable() { { "exno", exno }, { "lectno", lectno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }) > 1 ? 1 : 0);
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult ReExamLog(int exno, Int64 lectno)
|
||||
{
|
||||
return JsonBack(Dao.Get<LectEX>("lect.reexam.log", new System.Collections.Hashtable() { { "exno", exno }, { "lectno", lectno } }));
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult LectEX(Int64 lectno, int exno)
|
||||
{
|
||||
var rtn = new Hashtable() { };
|
||||
|
|
@ -503,7 +543,26 @@ namespace NP.Base.Controllers
|
|||
[HttpPost]
|
||||
public JsonResult LectEXQPoint(int exno, Int64 lectno, int eqno, int cpoint)
|
||||
{
|
||||
return JsonOK(Dao.Save("lect.lectexq.point", new Hashtable() { { "lectno", lectno }, { "exno", exno }, { "eqno", eqno }, { "cpoint", cpoint }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }));
|
||||
IList<QuestionItem> qis = Dao.Get<QuestionItem>("lect.eqno.listforcheck", new Hashtable() { { "lectno", lectno }, { "eqno", eqno }, { "exno", exno } });
|
||||
int? iscorrect = null;
|
||||
if(qis.Count() > 0)
|
||||
{
|
||||
var qi = qis.FirstOrDefault();
|
||||
if(qi.atype == 0)
|
||||
{
|
||||
iscorrect = string.Join(",", qis.Where(w => w.eqno == eqno).ToList().Select(s => s.qino)) == qi.atext ? 1 : 0;
|
||||
}
|
||||
else if (qi.isignorecase == 0)
|
||||
{
|
||||
iscorrect = qis.Where(w => w.eqno == eqno).Where(w => (w.qitext ?? "").Replace(qi.ispassspace == 1 ? " " : "박건박건박효동", "") == (qi.atext.Replace("$$$PHDPHD$$$", ";").Replace("$$$PHD$$$", ":") ?? "").Replace(qi.ispassspace == 1 ? " " : "박건박건박효동", "")).Count() > 0 ? 1 : 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
iscorrect = qis.Where(w => w.eqno == eqno).Where(w => (w.qitext ?? "").Replace(qi.ispassspace == 1 ? " " : "박건박건박효동", "").ToLower() == (qi.atext.Replace("$$$PHDPHD$$$", ";").Replace("$$$PHD$$$", ":") ?? "").Replace(qi.ispassspace == 1 ? " " : "박건박건박효동", "").ToLower()).Count() > 0 ? 1 : 0;
|
||||
}
|
||||
|
||||
}
|
||||
return JsonOK(Dao.Save("lect.lectexq.point", new Hashtable() { { "lectno", lectno }, { "exno", exno }, { "eqno", eqno },{"iscorrect"+(iscorrect == null ? "x" : ""),iscorrect }, { "cpoint", cpoint }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }));
|
||||
}
|
||||
public JsonResult ExamUserBatch(int intval, String datas)
|
||||
{
|
||||
|
|
@ -537,6 +596,14 @@ namespace NP.Base.Controllers
|
|||
return JsonBack(Dao.Get<LectSD>("lect.lectsds", new System.Collections.Hashtable() { { "cmno", cmno }, { "sdno", sdno }, { "isrebate", isrebate }, { "estate", sdstate } }));
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult LectAllSDs(int pagenum,int pagerowcount,String edate,String cname,String cnamestr,String searchtype,String searchtext,String sdateall,String edateall,String asname, int? studyplace = null, int? iscomplete = null, int? cshape = null, int? sdstate = null,int? sdtype = 0)
|
||||
{
|
||||
pagenum = pagenum < 1 ? 1 : pagenum;
|
||||
pagerowcount = pagerowcount < 1 ? PageRowCount : pagerowcount;
|
||||
|
||||
return JsonBack(Dao.Get<LectSD>("lect.lectsds.all", new System.Collections.Hashtable() { { "estate", sdstate }, { "pagenum", pagenum }, { "pagerowsize", pagerowcount }, { "edate", edate },{"sdateall",sdateall },{"edateall",edateall }, { "cshape", cshape }, { "cname", cname }, { "cnamestr", cnamestr }, { "iscomplete", iscomplete }, { "studyplace", studyplace }, { "searchtype", searchtype }, {"searchtext",searchtext } ,{"sdtype",sdtype },{"asname",asname } }));
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult LectSD(Int64 lectno, int sdno)
|
||||
{
|
||||
return JsonBack(Dao.Get<LectSD>("lect.lectsd", new Hashtable() { { "lectno", lectno }, { "sdno", sdno } }).First());
|
||||
|
|
@ -666,6 +733,14 @@ namespace NP.Base.Controllers
|
|||
d.uno = SUserInfo.UserNo; d.uip = GetUserIP();
|
||||
return JsonOK(Dao.Save("cr.payrfd.save", d));
|
||||
}
|
||||
[HttpPost]
|
||||
public JsonResult PayRfdCancel(PayRfd d)
|
||||
{
|
||||
d.uno = SUserInfo.UserNo; d.uip = GetUserIP();
|
||||
d.rstatus = 4;
|
||||
return JsonOK(Dao.Save("pay.payrfdcancel.up", d));
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public JsonResult PayRefund(Int64 payno, String sd, int isrefunddvr,bool iscancel)
|
||||
{
|
||||
|
|
@ -1324,6 +1399,15 @@ namespace NP.Base.Controllers
|
|||
return JsonBack(result);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public JsonResult GetCmiForMixEdu(int cmno)
|
||||
{
|
||||
var rtn = new Hashtable();
|
||||
rtn.Add("cmi", Dao.Get<CMInning>("cm.cminnings", new System.Collections.Hashtable() { { "cmno", cmno }, { "isonline", 0 }, { "isscd", 1 } }));
|
||||
rtn.Add("cmis", Dao.Get<CMinningscd>("cm.cminningscds", new System.Collections.Hashtable() { { "cmno", cmno } }));
|
||||
return JsonBack(rtn);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public JsonResult LectScdChange(Int64 lectno, Int64 cmisno)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -193,6 +193,7 @@ namespace NP.Base
|
|||
ViewBag.mainmenuexam = data.First().intval8;
|
||||
ViewBag.mainmenuresearch = data.First().intval9;
|
||||
ViewBag.mainmenugrade = data.First().intval10;
|
||||
ViewBag.maincshape = data.First().intval12;
|
||||
ViewBag.maincgname = data.First().strval;
|
||||
ViewBag.maincname = data.First().strval2;
|
||||
ViewBag.mainboardmaster = data.First().strval3;
|
||||
|
|
|
|||
|
|
@ -231,7 +231,8 @@ namespace NP.Base.Controllers
|
|||
[HttpPost]
|
||||
public JsonResult ReExamForUser(int exno, Int64 lectno)
|
||||
{
|
||||
return JsonOK(Dao.Save("lect.reexam", new System.Collections.Hashtable() { { "exno", exno }, { "lectno", lectno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }) > 1 ? 1 : 0);
|
||||
//재응시로그추가로인해 업데이트건 3개일때부터 정상처리
|
||||
return JsonOK(Dao.Save("lect.reexam", new System.Collections.Hashtable() { { "exno", exno }, { "lectno", lectno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }) > 2 ? 1 : 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -450,7 +450,7 @@ namespace NP.Base.Controllers
|
|||
foreach (var item in result)
|
||||
{
|
||||
//item.scdInfoSummary = string.Format("[{0}] {1}", item.studyplacename, item.estart.ToString("yyyy년 MM월 dd일 ddd요일 HH:mm"));
|
||||
item.scdInfoSummary = string.Format("{0}", item.estart.ToString("yyyy년 MM월 dd일 ddd요일 HH:mm"));
|
||||
item.scdInfoSummary = string.Format("{0}", item.estart.ToString("yyyy년 MM월 dd일까지"));
|
||||
if (item.estart < DateTime.Now)
|
||||
item.isEnd = true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -481,7 +481,10 @@ create table cminning (
|
|||
,metime smallint not null
|
||||
,userno int
|
||||
,fgno bigint
|
||||
,fgnooff bigint
|
||||
,orgcmino bigint
|
||||
,isscd tinyint not null default 0
|
||||
,scdtype tinyint DEFAULT NULL
|
||||
,cdt datetime not null,cno bigint not NULL,udt datetime not null,uno bigint not NULL,uip varchar(50) not NULL
|
||||
,primary key(cmino));
|
||||
|
||||
|
|
@ -490,7 +493,8 @@ create table cminningscd (
|
|||
,cmino bigint not null
|
||||
,estart datetime not null
|
||||
,eend datetime not null
|
||||
,quota smallint not null
|
||||
,quota int(5) not null
|
||||
,sseq int(11) not null default 0
|
||||
,cdt datetime not null,cno bigint not NULL,udt datetime not null,uno bigint not NULL,uip varchar(50) not NULL
|
||||
,primary key(cmisno));
|
||||
|
||||
|
|
@ -1053,7 +1057,7 @@ create table lect (
|
|||
,completeno varchar(50)
|
||||
,isattcheck tinyint(4)
|
||||
,lakey varchar(6)
|
||||
,lakey varchar(6)
|
||||
,latime datetime
|
||||
,sdate datetime
|
||||
,edate datetime
|
||||
,cdt datetime not null,cno bigint not NULL,udt datetime not null,uno bigint not NULL,uip varchar(50) not NULL
|
||||
|
|
@ -1124,6 +1128,14 @@ create table lectexq (
|
|||
,cdt datetime not null,cno bigint not NULL,udt datetime not null,uno bigint not NULL,uip varchar(50) not NULL
|
||||
,primary key(lectno,exno,eqno));
|
||||
|
||||
create table lectexrelog (
|
||||
lectno bigint not null
|
||||
,exno int not null
|
||||
,estart datetime
|
||||
,eend datetime
|
||||
,eip varchar(50)
|
||||
,cdt datetime not null,cno bigint not NULL,udt datetime not null,uno bigint not NULL,uip varchar(50) not NULL);
|
||||
|
||||
create table lectsd (
|
||||
lectno bigint not null
|
||||
,sdno int not null
|
||||
|
|
@ -1570,5 +1582,4 @@ CREATE TABLE docprintpast (
|
|||
)
|
||||
COLLATE=utf8_general_ci
|
||||
ENGINE=InnoDB
|
||||
AUTO_INCREMENT=181866
|
||||
;
|
||||
|
|
@ -57,6 +57,7 @@ alter table cminning add constraint foreign key fkcminningct (ctno) references c
|
|||
alter table cminning add constraint foreign key fkcminningu (userno) references users(userno);
|
||||
alter table cminning add constraint foreign key fkcminningfg (fgno) references filegroup(fgno);
|
||||
alter table cminning add constraint foreign key fkcminningfg2 (fgnotf) references filegroup(fgno);
|
||||
alter table cminning add constraint foreign key fkcminningfgoff (fgnooff) references filegroup(fgno);
|
||||
alter table cminningscd add constraint foreign key fkcmiscmi (cmino) references cminning(cmino);
|
||||
alter table cmev add constraint foreign key fkcmevcm (cmno) references cm(cmno);
|
||||
alter table cmex add constraint foreign key fkcmexcm (cmno) references cm(cmno);
|
||||
|
|
@ -155,6 +156,8 @@ alter table lectex add constraint foreign key fklectexcmex (exno) references cme
|
|||
alter table lectexq add constraint foreign key fklectexqlect (lectno) references lect(lectno);
|
||||
alter table lectexq add constraint foreign key fklectexqcmex (exno) references cmex(exno);
|
||||
alter table lectexq add constraint foreign key fklectexqcmexq (eqno) references cmexq(eqno);
|
||||
alter table lectexrelog add constraint foreign key fklectexreloglect (lectno) references lect(lectno);
|
||||
alter table lectexrelog add constraint foreign key fklectexrelogcmex (exno) references cmex(exno);
|
||||
alter table lectsd add constraint foreign key fklectsdlect (lectno) references lect(lectno);
|
||||
alter table lectsd add constraint foreign key fklectsdcmsd (sdno) references cmsd(sdno);
|
||||
alter table lectsd add constraint foreign key fklectsdfg (fgno) references filegroup(fgno);
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@
|
|||
inner join (
|
||||
select a.lectno,convert(100*count(c.lectno)/count(b.cmino), int) attrate
|
||||
from lect a
|
||||
inner join cminning b on b.cmno=a.cmno
|
||||
inner join cminning b on b.cmno=a.cmno and ifnull(b.isscd,0)=0
|
||||
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino and c.istatus in (1,2)
|
||||
where a.lectno in ($lectnos$)
|
||||
group by a.lectno
|
||||
|
|
@ -86,6 +86,48 @@
|
|||
,a.ispce=case when a.ispce is null then 1 else a.ispce end
|
||||
</update>
|
||||
|
||||
<update id="att.scd.save" parameterClass="cminning">
|
||||
update lectinning a
|
||||
inner join (
|
||||
<iterate property="Ds" open="" conjunction="union all" close=""> select #Ds[].lectno# lectno,#Ds[].cmino# cmino,#Ds[].istatus# istatus </iterate>
|
||||
) b on b.lectno=a.lectno and b.cmino = a.cmino
|
||||
set a.uip=#uip#,a.uno=#uno#
|
||||
,a.istatus=b.istatus
|
||||
,a.stime = a.stime
|
||||
,a.etime = a.etime
|
||||
,a.sip = case when a.sip is null then #uip# else a.sip end
|
||||
,a.eip = case when a.eip is null then #uip# else a.eip end
|
||||
,a.ispcs = case when a.ispcs is null then 1 else a.ispcs end
|
||||
,a.ispce = case when a.ispce is null then 1 else a.ispce end;
|
||||
|
||||
insert into lectinning (lectno,cmino,totstudy<!--,stime,etime-->,istatus,statustime,statusreason,sip,eip,ispcs,ispce,<include refid="sql.inc"></include>)
|
||||
select a.lectno,a.cmino,0
|
||||
,a.istatus,null,null,#uip#,#uip#,1,1,<include refid="sql.inv"></include>
|
||||
from (
|
||||
<iterate property="Ds" open="" conjunction="union all" close=""> select #Ds[].lectno# lectno,#Ds[].cmino# cmino,#Ds[].istatus# istatus </iterate>
|
||||
) a
|
||||
left outer join lectinning b on b.cmino=a.cmino and b.lectno=a.lectno
|
||||
where b.lectno is null;
|
||||
|
||||
update lect a
|
||||
inner join (
|
||||
select a.lectno,convert(100*count(c.lectno)/count(b.cmino), int) attrate
|
||||
from lect a
|
||||
inner join cminning b on b.cmno=a.cmno and ifnull(b.isscd,0)=0
|
||||
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino and c.istatus in (1,2)
|
||||
where a.lectno in ($lectnos$)
|
||||
group by a.lectno
|
||||
) b on b.lectno=a.lectno
|
||||
set a.attrate=b.attrate
|
||||
,a.stime=case when a.stime is null then <include refid="sql.now"></include> else a.stime end
|
||||
,a.etime=case when a.etime is null then <include refid="sql.now"></include> else a.etime end
|
||||
,a.sip=case when a.sip is null then #uip# else a.sip end
|
||||
,a.eip=case when a.eip is null then #uip# else a.eip end
|
||||
,a.ispcs=case when a.ispcs is null then 1 else a.ispcs end
|
||||
,a.ispce=case when a.ispce is null then 1 else a.ispce end;
|
||||
</update>
|
||||
|
||||
|
||||
<update id="att.att.in" parameterClass="hashtable">
|
||||
update lectinning set <include refid="sql.up"></include>
|
||||
,lectno=#lectno#,cmino=#cmino#,totstudy=0
|
||||
|
|
@ -118,7 +160,7 @@
|
|||
inner join (
|
||||
select a.lectno,convert(100*count(c.lectno)/count(b.cmino), int) attrate
|
||||
from lectinning a
|
||||
inner join cminning b on b.cmino=a.cmino
|
||||
inner join cminning b on b.cmino=a.cmino and ifnull(b.isscd,0)=0
|
||||
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino and c.istatus=2
|
||||
where a.lectno=#lectno# and a.cmino=#cmino# and a.istatus=2
|
||||
group by a.lectno
|
||||
|
|
@ -151,7 +193,7 @@
|
|||
select a.lectno,convert(100*count(c.lectno)/count(b.cmino), int) attrate
|
||||
from lectinning a
|
||||
inner join lect a2 on a2.lectno=a.lectno
|
||||
inner join cminning b on b.cmno=a2.cmno
|
||||
inner join cminning b on b.cmno=a2.cmno and ifnull(b.isscd,0)=0
|
||||
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino and c.istatus=2
|
||||
where a.lectno=#lectno# and a.cmino=#cmino# and a.istatus=2
|
||||
group by a.lectno
|
||||
|
|
|
|||
|
|
@ -509,23 +509,31 @@
|
|||
</update>
|
||||
|
||||
<select id="cm.cminnings" parameterClass="hashtable" resultClass="cminning">
|
||||
select distinct cmino,a.cmno,a.week,a.iseq,a.isonline,a.ititle,a.icontent,a.idate,a.iday,a.ist,a.iet,a.ctno,a.istaste,a.sttime,a.atime,a.mstime,a.metime,a.fgnotf
|
||||
,a.userno,a.fgno,a.cdt,a.udt
|
||||
select distinct a.cmino,a.cmno,a2.cshape,a.week,a.iseq,a.isonline,a.ititle,a.icontent,a.idate,a.iday,a.ist,a.iet,a.ctno,a.istaste,a.sttime,a.atime,a.mstime,a.metime,a.fgnotf
|
||||
,a.userno,a.fgno,a.fgnotf,a.fgnooff,a.scdtype,a.isscd,a.cdt,a.udt
|
||||
,b.ctname,b.ccode,b.ctype,b.ismenu
|
||||
,b2.srcp,b2.srcm
|
||||
,c.username
|
||||
,d.fileno,d.fileurl,d.orgname
|
||||
,e.fileno fileno2,e.fileurl fileurl2,e.orgname orgname2
|
||||
,g.fileno fileno3,g.fileurl fileulr3,g.orgname orgname3
|
||||
from cminning a
|
||||
inner join cm a2 on a2.cmno = a.cmno
|
||||
left outer join ct b on b.ctno=a.ctno and b.isdel=0
|
||||
left outer join ctpage b2 on b2.ctno=b.ctno and b2.pseq=1
|
||||
left outer join users c on c.userno=a.userno and c.status = 1
|
||||
left outer join fileinfo d on d.fgno=a.fgno and d.isdel=0
|
||||
left outer join fileinfo e on e.fgno=a.fgnotf and e.isdel=0
|
||||
left outer join fileinfo g on g.fgno=a.fgnooff and g.isdel=0
|
||||
<isNotNull property="cmisno">
|
||||
left outer join cminningscd f on f.cmino = a.cmino
|
||||
</isNotNull>
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
||||
<isNotNull property="cmino" prepend="and">a.cmino=#cmino#</isNotNull>
|
||||
<isNotNull property="cmisno" prepend="and">f.cmisno=#cmisno#</isNotNull>
|
||||
<isNotNull property="isonline" prepend="and">a.isonline=#isonline#</isNotNull>
|
||||
<isNotNull property="isscd" prepend="and">a.isscd=#isscd#</isNotNull>
|
||||
</dynamic>
|
||||
order by a.week,a.iseq
|
||||
</select>
|
||||
|
|
@ -533,14 +541,21 @@
|
|||
<select id="cm.cminningscds" parameterClass="hashtable" resultClass="cminningscd">
|
||||
select a.*
|
||||
from (
|
||||
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,a.studyplace
|
||||
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,a.studyplace,a.sseq
|
||||
,a.cmisno value,date_format(a.estart,'%Y-%m-%d') text
|
||||
,b.scdtype
|
||||
,case when b.scdtype =1 then '온라인' else c.cname end studyplacename
|
||||
,(select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status =1 and z.ischanged=0) regmem
|
||||
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.estart</isNull>) scdseq
|
||||
,count(a.cmisno) over() totalnum
|
||||
from cminningscd a
|
||||
inner join cminning b on b.cmino = a.cmino
|
||||
inner join cm d on d.cmno = b.cmno
|
||||
left outer join comcode c on c.ccode = a.studyplace
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="cmino" prepend="and">a.cmino=#cmino#</isNotNull>
|
||||
<isNotNull property="cmisno" prepend="and">a.cmisno=#cmisno#</isNotNull>
|
||||
<isNotNull property="cmno" prepend="and">d.cmno=#cmno#</isNotNull>
|
||||
</dynamic>
|
||||
) a
|
||||
order by a.scdseq
|
||||
|
|
@ -555,8 +570,8 @@
|
|||
</update>
|
||||
<insert id="cm.cminnings.in" parameterClass="cminning">
|
||||
SELECT * FROM (SELECT LAST_INSERT_ID(0) col1) a WHERE col1 > 0;
|
||||
insert into cminning (cmno,week,iseq,isonline,ititle,icontent,idate,iday,ist,iet,fgnotf,ctno,istaste,sttime,atime,mstime,metime,userno,<include refid="sql.inc"></include>)
|
||||
select #cmno#,#week#,#iseq#,#isonline#,#ititle#,#icontent#,#idate#,#iday#,#ist#,#iet#,#fgnotf#,#ctno#,#istaste#,#sttime#,#atime#,#mstime#,#metime#,#userno#,<include refid="sql.inv"></include>
|
||||
insert into cminning (cmno,week,iseq,isonline,ititle,icontent,idate,iday,ist,iet,fgnotf,ctno,istaste,sttime,atime,mstime,metime,userno,isscd,scdtype,<include refid="sql.inc"></include>)
|
||||
select #cmno#,#week#,#iseq#,#isonline#,#ititle#,#icontent#,#idate#,#iday#,#ist#,#iet#,#fgnotf#,#ctno#,#istaste#,#sttime#,#atime#,#mstime#,#metime#,#userno#,#isscd#,#scdtype#,<include refid="sql.inv"></include>
|
||||
from (select 1 col1) a
|
||||
left outer join cminning b on b.cmno=#cmno# and b.iseq=#iseq#
|
||||
where b.cmino is null
|
||||
|
|
@ -564,8 +579,8 @@
|
|||
</insert>
|
||||
<insert id="cm.cminningscd.in" parameterClass="cminningscd">
|
||||
SELECT * FROM (SELECT LAST_INSERT_ID(0) col1) a WHERE col1 > 0;
|
||||
insert into cminningscd(cmino,estart,eend,quota,studyplace,<include refid="sql.inc"></include>)
|
||||
values(#cmino#,#estart#,#eend#,#quota#,#studyplace#,<include refid="sql.inv"></include>)
|
||||
insert into cminningscd(cmino,estart,eend,quota,studyplace,sseq,<include refid="sql.inc"></include>)
|
||||
values(#cmino#,#estart#,#eend#,#quota#,#studyplace#,#sseq#,<include refid="sql.inv"></include>)
|
||||
<selectKey type="post" property="cmisno" resultClass="long">SELECT last_insert_id()</selectKey>
|
||||
</insert>
|
||||
<update id="cm.cminnings.up" parameterClass="cminning">
|
||||
|
|
@ -577,13 +592,30 @@
|
|||
,week =#week#,iseq =#iseq#,isonline =#isonline#,ititle =#ititle#,icontent =#icontent#
|
||||
,idate=#idate#,iday =#iday#,ist =#ist#,iet =#iet#,fgnotf=#fgnotf#
|
||||
,ctno =#ctno#,istaste =#istaste#,sttime=#sttime#,atime =#atime#,mstime =#mstime#,metime =#metime#,userno =#userno#
|
||||
,isscd = #isscd#,scdtype=#scdtype#
|
||||
where a.cmino=#cmino# and b.cmino is null
|
||||
</update>
|
||||
<update id="cm.cminningscd.up" parameterClass="cminningscd">
|
||||
update cminningscd a
|
||||
set <include refid="sql.up"></include>,cmino=#cmino#,estart=#estart#,eend=#eend#,quota=#quota#,studyplace=#studyplace#
|
||||
set <include refid="sql.up"></include>,cmino=#cmino#,estart=#estart#,eend=#eend#,quota=#quota#,studyplace=#studyplace#,sseq=#sseq#
|
||||
where a.cmisno=#cmisno#
|
||||
</update>
|
||||
<update id="cm.cminningscd.clear" parameterClass="cminning">
|
||||
update cminningscd a
|
||||
set <include refid="sql.up"></include>,quota=99999,studyplace=null
|
||||
where a.cmino = #cmino#
|
||||
</update>
|
||||
<update id="cm.cminningscd.up.lect" parameterClass="cminningscd">
|
||||
update lect a
|
||||
left outer join cminningscd b on b.cmisno = a.cmisno
|
||||
set a.edate = b.eend
|
||||
where a.cmisno = #cmisno#;
|
||||
</update>
|
||||
<update id="cm.cmev.clear" parameterClass="cminning">
|
||||
update cmev a
|
||||
set <include refid="sql.up"></include>,isoffabs=null
|
||||
where a.cmno = #cmno#
|
||||
</update>
|
||||
<update id="cm.cminnings.istasteclear" parameterClass="hashtable">
|
||||
update cminning set istaste=0 where cmno=#cmno# and cmino <> #cmino#
|
||||
</update>
|
||||
|
|
@ -637,7 +669,12 @@
|
|||
<select id="cm.cmev" parameterClass="int" resultClass="cmev">
|
||||
select a.cmno,a.attend,a.attendcut,a.attendrfd,a.attendcutrfd,a.mid,a.midcut,a.midrfd,a.midcutrfd,a.final,a.finalcut,a.finalrfd,a.finalcutrfd,a.subject,a.subjectcut,a.subjectrfd
|
||||
,a.subjectcutrfd,a.discuss,a.discusscut,a.discussrfd,a.discusscutrfd,a.etc,a.etccut,a.etcrfd,a.etccutrfd,a.cut,a.cutrfd,a.isoffabs
|
||||
from cmev a where a.cmno=#cmno#
|
||||
,b.scdtype
|
||||
,c.cshape
|
||||
from cmev a
|
||||
inner join cm c on c.cmno = a.cmno
|
||||
left outer join cminning b on b.cmno = a.cmno and b.isscd = 1
|
||||
where a.cmno=#cmno#
|
||||
</select>
|
||||
<select id="cm.est" parameterClass="int" resultClass="est">
|
||||
select 0 gubun,case when a.extype = 0 then 1 else 2 end estkind
|
||||
|
|
@ -1339,8 +1376,8 @@
|
|||
inner join cm b on b.cmno=#cmno#
|
||||
where a.cmno=#orgcmno#;
|
||||
|
||||
insert into cminningscd(cmino,estart,eend,quota,studyplace,<include refid="sql.inc"></include>)
|
||||
select c.cmino,b.estart,b.eend,b.quota,b.studyplace,<include refid="sql.inv"></include>
|
||||
insert into cminningscd(cmino,estart,eend,quota,studyplace,sseq,<include refid="sql.inc"></include>)
|
||||
select c.cmino,b.estart,b.eend,b.quota,b.studyplace,sseq,<include refid="sql.inv"></include>
|
||||
from cminning a
|
||||
inner join cminningscd b on b.cmino=a.cmino
|
||||
inner join cminning c on c.cmno=#cmno# and c.isonline=0
|
||||
|
|
@ -1636,6 +1673,9 @@
|
|||
<update id="cm.cminning.fgno" parameterClass="hashtable">
|
||||
update cminning set fgno=#fgno# where cmino=#cmino#
|
||||
</update>
|
||||
<update id="cm.cminning.fgnooff" parameterClass="hashtable">
|
||||
update cminning set fgnooff=#fgnooff# where cmino=#cmino#
|
||||
</update>
|
||||
<select id="cm.cms.forbuy" parameterClass="hashtable" resultClass="cm">
|
||||
select a.cmno,a.cname,a.cshape,a.studyplace,a.studytime,a.infee,a.outfee,a.rstime,a.retime,a.sstime,a.setime,a.quota,a.difficulty,a.isrefund,a.fgnocm
|
||||
,a.introhtml,a.targethtml,a.goalhtml,a.contenthtml,a.fgnocm
|
||||
|
|
@ -1826,36 +1866,40 @@
|
|||
<isNotNull property="studyplace">and a.studyplace=#studyplace#</isNotNull>
|
||||
</select>
|
||||
<select id="cm.cminningscds.applyedu" parameterClass="hashtable" resultClass="cminningscd">
|
||||
select
|
||||
a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,a.studyplace,a.studyplacename,a.startmonth
|
||||
,a.studyplace, a.studyplacename,a.remainPeople
|
||||
,a.isselected
|
||||
,case when a.estart < now() or a.remainPeople <= 0 then 0 else 1 end isend
|
||||
from
|
||||
(
|
||||
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,month(a.estart) startmonth
|
||||
,(a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status =1 and z.ischanged=0)) remainPeople
|
||||
,a.studyplace, e.cname studyplacename
|
||||
,case when date_format(d.setime,'%Y%m%d') = date_format(a.estart,'%Y%m%d') then 1 else 0 end isselected
|
||||
from cminningscd a
|
||||
left outer join cminning c on c.cmino = a.cmino
|
||||
left outer join cm d on d.cmno = c.cmno
|
||||
left outer join comcode e on e.ccode = a.studyplace
|
||||
select a.*
|
||||
from (
|
||||
select
|
||||
a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,a.studyplace,a.studyplacename,a.startmonth
|
||||
,a.remainPeople
|
||||
,a.isselected
|
||||
,case when a.estart < date_add(date_add(date_format(now() ,'%Y-%m-%d 00:00:00'),interval 6 day ),interval -1 second) or a.remainPeople <= 0 then 0 else 1 end isend
|
||||
from
|
||||
(
|
||||
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,month(a.estart) startmonth
|
||||
,(a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status =1 and z.ischanged=0)) remainPeople
|
||||
,a.studyplace,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
|
||||
from cminningscd a
|
||||
left outer join cminning c on c.cmino = a.cmino
|
||||
left outer join cm d on d.cmno = c.cmno
|
||||
left outer join comcode e on e.ccode = a.studyplace
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="cmno" prepend="and">c.cmno=#cmno#</isNotNull>
|
||||
</dynamic>
|
||||
)a
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="cmno" prepend="and">c.cmno=#cmno#</isNotNull>
|
||||
<isNotNull property="month" prepend="and">a.startmonth=#month#</isNotNull>
|
||||
</dynamic>
|
||||
)a
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="month" prepend="and">a.startmonth=#month#</isNotNull>
|
||||
</dynamic>
|
||||
order by isend desc,a.estart
|
||||
) a
|
||||
where a.isend = 1 and a.remainPeople > 0
|
||||
order by a.estart
|
||||
</select>
|
||||
<select id="cm.cminningscds.applyedu.lectno" parameterClass="hashtable" resultClass="cminningscd">
|
||||
select
|
||||
a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,a.studyplace,a.studyplacename,a.startmonth
|
||||
,a.studyplace, a.studyplacename,a.remainPeople
|
||||
,a.isselected
|
||||
,case when a.estart < now() or a.remainPeople <= 0 then 0 else 1 end isend
|
||||
,case when a.estart < date_add(date_add(date_format(now() ,'%Y-%m-%d 00:00:00'),interval 6 day ),interval -1 second) or a.remainPeople <= 0 then 0 else 1 end isend
|
||||
from
|
||||
(
|
||||
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,month(a.estart) startmonth
|
||||
|
|
@ -1986,13 +2030,18 @@
|
|||
|
||||
update pplog a
|
||||
left outer join (
|
||||
select a.lectno,a.payno,b.pplno,a.cmisno
|
||||
from lect a
|
||||
inner join pay b on b.payno = a.payno
|
||||
where a.lectno = #lectno#
|
||||
select a.lectno,a.payno,b.pplno,a.cmisno
|
||||
from lect a
|
||||
inner join pay b on b.payno = a.payno
|
||||
where a.lectno = #lectno#
|
||||
) b on b.pplno = a.pplno
|
||||
set a.cmisno = case when b.cmisno is not null then b.cmisno else a.cmisno end
|
||||
where b.lectno = #lectno#;
|
||||
|
||||
update lect a
|
||||
left outer join cminningscd b on b.cmisno = a.cmisno
|
||||
set a.edate = case when b.eend is not null then b.eend else a.edate end
|
||||
where a.lectno = #lectno#;
|
||||
</update>
|
||||
<select id="cm.cms.offs" parameterClass="hashtable" resultClass="cm">
|
||||
select
|
||||
|
|
|
|||
|
|
@ -38,12 +38,18 @@
|
|||
,case when b.isrebate = 1 then d.finalrfd else d.final end fportion
|
||||
,case when b.isrebate = 1 then d.subjectrfd else d.subject end sportion
|
||||
,case when b.isrebate = 1 then d.discussrfd else d.discuss end dportion
|
||||
,d.isoffabs,li.istatus
|
||||
,e.estart,e.eend,f.cname studyplacename
|
||||
from (
|
||||
<include refid="grade.query"></include>
|
||||
) a
|
||||
inner join lect b on b.lectno=a.lectno
|
||||
inner join users u on u.userno=b.userno
|
||||
inner join cmev d on d.cmno=b.cmno
|
||||
left outer join cminningscd e on e.cmisno = b.cmisno
|
||||
left outer join cminning ci on ci.cmino = e.cmino
|
||||
left outer join comcode f on f.ccode = e.studyplace
|
||||
left outer join lectinning li on li.cmino = e.cmino
|
||||
</select>
|
||||
<select id="cr.main.boardalarm" parameterClass="hashtable" resultClass="data">
|
||||
select a.*
|
||||
|
|
@ -187,7 +193,7 @@
|
|||
left outer join ctpage e on e.ctno=d.ctno and e.pseq=1
|
||||
left outer join cminningscd scd on a.cmisno = scd.cmisno
|
||||
left outer join comcode com on scd.studyplace = com.ccode
|
||||
where a.lectno=#lectno# and a.userno=#userno#
|
||||
where a.lectno=#lectno# and a.userno=#userno# and ifnull(b.isscd,0) = 0
|
||||
<isNotNull property="notstudy">and ifnull(c.istatus,0) < 2 and a.sdate < now() and a.edate > now()</isNotNull>
|
||||
order by b.iseq
|
||||
<isNotNull property="limit">limit $limit$</isNotNull>
|
||||
|
|
@ -230,7 +236,7 @@
|
|||
inner join (
|
||||
select a.lectno,truncate(count(c.lectno) / count(b.cmino) * 100, 0) attrate
|
||||
from lect a
|
||||
inner join cminning b on b.cmno=a.cmno
|
||||
inner join cminning b on b.cmno=a.cmno and ifnull(b.isscd,0)=0
|
||||
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino and c.istatus=2
|
||||
where a.lectno=#lectno# and a.userno=#userno#
|
||||
group by a.lectno
|
||||
|
|
@ -310,7 +316,7 @@
|
|||
inner join (
|
||||
select a.lectno,truncate(count(c.lectno) / count(b.cmino) * 100, 0) attrate
|
||||
from lect a
|
||||
inner join cminning b on b.cmno=a.cmno
|
||||
inner join cminning b on b.cmno=a.cmno and ifnull(b.isscd,0)=0
|
||||
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino and c.istatus=2
|
||||
where a.lectno=#lectno# and a.userno=#userno#
|
||||
group by a.lectno
|
||||
|
|
@ -491,15 +497,30 @@
|
|||
</select>
|
||||
<select id="cr.lectex" parameterClass="hashtable" resultClass="lectex">
|
||||
select a.lectno,a.attrate,a.iscomplete,a.sdate,a.edate
|
||||
,b.sstime,b.setime
|
||||
,c.exno,c.exname,c.extype,c.edesc,c.econdition,c.etime,c.evtype,c.eqtype,c.israndq,c.israndqi,c.qcount,c.isblur,c.tpoint,ifnull(c.relaylimit,999) relaylimit,c.isusebackup,c.isseq,c.isreexamable,c.isresultopen
|
||||
,d.lectno exlectno,d.estart,d.eend,d.tpoint,d.recount,d.rechecktime,ifnull(d.entercount,0) entercount,d.cblock
|
||||
,case when a.etime = 0 then 99999999 else TIMESTAMPDIFF(MINUTE, now(), date_add(ifnull(d.estart, now()), interval c.etime MINUTE)) end rtime
|
||||
,d.recount
|
||||
,b.sstime,b.setime
|
||||
,c.exno,c.exname,c.extype,c.edesc,c.econdition,c.etime,c.evtype,c.eqtype,c.israndq,c.israndqi,c.qcount,c.isblur,c.tpoint,ifnull(c.relaylimit,999) relaylimit,c.isusebackup,c.isseq,c.isreexamable,c.isresultopen
|
||||
,d.lectno exlectno,d.estart,d.eend,d.tpoint,d.recount,d.rechecktime,ifnull(d.entercount,0) entercount,d.cblock
|
||||
,case when a.etime = 0 then 99999999 else TIMESTAMPDIFF(MINUTE, now(), date_add(ifnull(d.estart, now()), interval c.etime MINUTE)) end rtime
|
||||
,d.recount
|
||||
,case when
|
||||
case when case when a.isrebate = 1 then f.midcutrfd else f.midcut end <= ifnull(e.ex0lectpoint,0) then 1 else 0 end = 1 and case when case when a.isrebate = 1 then f.finalcutrfd else f.finalcut end <= ifnull(e.ex1lectpoint,0) then 1 else 0 end = 1
|
||||
then 1 else 0 end ispass
|
||||
from lect a
|
||||
inner join cm b on b.cmno=a.cmno
|
||||
inner join cmex c on c.exno=#exno#
|
||||
inner join cmev f on f.cmno = b.cmno
|
||||
left outer join lectex d on d.lectno=a.lectno and d.exno=c.exno
|
||||
left outer join (
|
||||
select a.lectno
|
||||
,count(b1.exno) ex0cnt,count(c1.lectno) ex0lectcnt,avg(ifnull(c1.tpoint,0) / b1.tpoint * 100) ex0lectpoint
|
||||
,count(b2.exno) ex1cnt,count(c2.lectno) ex1lectcnt,avg(ifnull(c2.tpoint,0) / b2.tpoint * 100) ex1lectpoint
|
||||
from lect a
|
||||
left outer join cmex b1 on b1.cmno = a.cmno and b1.extype = 0 and b1.isdel=0
|
||||
left outer join lectex c1 on c1.exno = b1.exno and c1.lectno = a.lectno
|
||||
left outer join cmex b2 on b2.cmno = a.cmno and b2.extype = 1 and b2.isdel=0
|
||||
left outer join lectex c2 on c2.exno = b2.exno and c2.lectno = a.lectno
|
||||
where a.lectno = #lectno#
|
||||
) e on e.lectno = a.lectno
|
||||
where a.lectno=#lectno# and a.userno=#userno#
|
||||
</select>
|
||||
<select id="cr.userexamdata.start" parameterClass="hashtable" resultClass="lectexq">
|
||||
|
|
@ -777,13 +798,14 @@
|
|||
,u.userno,u.userid,u.username
|
||||
,ua.asname,ua.isjoin
|
||||
,cm.cshape,cm.sstime,cm.setime,cm.studyplace
|
||||
,le.sdate,le.edate
|
||||
,le.sdate,le.edate,le.iscomplete
|
||||
,case when a.isexamready=1 then uee.exname else case pi.ptype when 2 then bk.bkname when 3 then ex.exname else cm.cname end end itemname
|
||||
,ppl.rbankname,CAST(AES_DECRYPT(UNHEX(ppl.rbankacc), <include refid="sql.digest"></include>) AS char) rbankacc,ppl.rbankowner
|
||||
,row_number() over(order by case when pr.rstatus=0 and pri.rfdno is not null then 0 else 1 end, case when a.isexamready=1 then ue.cdt else p.cdt end desc) rno
|
||||
,count(p.payno) over() pagetotalcount
|
||||
,scd.estart cmiestart, scd.eend cmieeend, scd.studyplace cmistudyplace
|
||||
,pi.rbank , CAST(AES_DECRYPT(UNHEX(pi.rbankaccnum), <include refid="sql.digest"></include>) AS char) rbankaccnum, pi.tbankuser
|
||||
,cc1.cname tgname,cc2.cname tename
|
||||
from (
|
||||
select 0 isexamready,p.payno,max(case when pi.ptype in (0,1,3,4) then pi.pino else 0 end) pi1,min(pi.pino) pi2,count(pi.pino) ccount
|
||||
from pay p
|
||||
|
|
@ -863,6 +885,8 @@
|
|||
left outer join examuser exu on exu.exno=ex.exno and exu.userno=p.userno
|
||||
left outer join pplog ppl on ppl.pplno = p.pplno
|
||||
left outer join cminningscd scd on scd.cmisno = le.cmisno
|
||||
left outer join comcode cc1 on cc1.ccode = ppl.typegrade
|
||||
left outer join comcode cc2 on cc2.ccode = ppl.typeedu
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="estart" prepend="and">scd.estart >= #estart#</isNotNull>
|
||||
<isNotNull property="eend" prepend="and">scd.eend <= #eend#</isNotNull>
|
||||
|
|
@ -1108,7 +1132,7 @@
|
|||
,CAST(AES_DECRYPT(UNHEX(b.rphone), <include refid="sql.digest"></include>) AS char) rphone
|
||||
,b.rback
|
||||
,CAST(AES_DECRYPT(UNHEX(b.bankno), <include refid="sql.digest"></include>) AS char) bankno
|
||||
,p.isgroup
|
||||
,p.isgroup,p.payno
|
||||
,pi.payamt
|
||||
,case pi.ptype when 2 then bk.bkname when 3 then ex.exname else cm.cname end itemname
|
||||
,u.username,u.userid
|
||||
|
|
@ -1531,7 +1555,7 @@
|
|||
select a.*
|
||||
from (
|
||||
select
|
||||
l.lectno,l.iscomplete,l.completetime,l.completeno,l.cmisno
|
||||
l.lectno,l.iscomplete,l.completetime,replace(replace(l.completeno,' ',''),'제','제 ') completeno,l.cmisno
|
||||
,l.sdate
|
||||
,l.edate
|
||||
,l.cmno,l.payno
|
||||
|
|
|
|||
|
|
@ -55,12 +55,12 @@
|
|||
<select id="common.check.frontcroom" parameterClass="hashtable" resultClass="data">
|
||||
select a.dtype,sum(a.intval) intval,sum(a.intval2) intval2,sum(a.intval3) intval3,sum(a.intval4) intval4,sum(a.intval5) intval5
|
||||
,sum(a.intval6) intval6,sum(a.intval7) intval7,sum(a.intval8) intval8,sum(a.intval9) intval9,sum(a.intval10) intval10
|
||||
,sum(a.intval11) intval11
|
||||
,sum(a.intval11) intval11,sum(a.intval12) intval12
|
||||
,max(a.strval) strval,max(a.strval2) strval2,max(a.strval3) strval3
|
||||
from (
|
||||
select a.userno dtype,count(b.mno) intval,0 intval2,0 intval3,0 intval4,0 intval5
|
||||
,0 intval6,0 intval7,0 intval8,0 intval9,0 intval10
|
||||
,0 intval11
|
||||
,0 intval11,0 intval12
|
||||
,null strval,null strval2,null strval3
|
||||
from users a
|
||||
left outer join memouser b on b.userno=a.userno and b.isread=0 and b.isdel=0
|
||||
|
|
@ -69,7 +69,7 @@
|
|||
union all
|
||||
select a.userno dtype,0 intval,count(b.userno) intval2,0 intval3,0 intval4,0 intval5
|
||||
,0 intval6,0 intval7,0 intval8,0 intval9,0 intval10
|
||||
,0 intval11
|
||||
,0 intval11,0 intval12
|
||||
,null strval,null strval2,null strval3
|
||||
from users a
|
||||
left outer join alarms b on b.userno=a.userno and b.isdel=0
|
||||
|
|
@ -77,7 +77,7 @@
|
|||
union all
|
||||
select a.userno dtype,0 intval,0 intval2,c.tyear intval3,c.tseq intval4,b.classno intval5
|
||||
,b2.isplan intval6,b2.iscontent intval7,b2.isev intval8,b2.isrs intval9,b2.isgrade intval10
|
||||
,b.cmno intval11
|
||||
,b.cmno intval11,b.cshape intval12
|
||||
,d.cgname strval,b.cname strval2
|
||||
,group_concat(case when f.bmno is null then null else concat(f.bmno,':',f.bmname,':',f.bmtype) end separator ';') strval3
|
||||
from users a0
|
||||
|
|
|
|||
|
|
@ -25,10 +25,10 @@
|
|||
,case when case when b.isrebate=1 then d.finalcutrfd else d.finalcut end <= a.ex1lectpoint then 1 else 0 end ispassf
|
||||
,case when case when b.isrebate=1 then d.subjectcutrfd else d.subjectcut end <= a.sd0lectpoint then 1 else 0 end ispasss
|
||||
,case when case when b.isrebate=1 then d.discusscutrfd else d.discusscut end <= a.sd1lectpoint then 1 else 0 end ispassd
|
||||
,case when case when d.isoffabs=1 then ifnull(a.at0cnt,0) else 0 end <= ifnull(a.at0lectcnt,0) then 1 else 0 end ispassat
|
||||
,case when case when ifnull(d.isoffabs,0)=1 then ifnull(a.at0cnt,0) else 0 end <= ifnull(a.at0lectcnt,0) then 1 else 0 end ispassat
|
||||
|
||||
,case when
|
||||
case when case when d.isoffabs=1 then ifnull(a.at0cnt,0) else 0 end <= ifnull(a.at0lectcnt,0) then 1 else 0 end = 1 and
|
||||
case when case when ifnull(d.isoffabs,0)=1 then ifnull(a.at0cnt,0) else 0 end <= ifnull(a.at0lectcnt,0) then 1 else 0 end = 1 and
|
||||
case when case when b.isrebate=1 then d.attendcutrfd else d.attendcut end <= b.attrate then 1 else 0 end =1 and
|
||||
case when case when b.isrebate=1 then d.midcutrfd else d.midcut end <= a.ex0lectpoint then 1 else 0 end =1 and
|
||||
case when case when b.isrebate=1 then d.finalcutrfd else d.finalcut end <= a.ex1lectpoint then 1 else 0 end =1 and
|
||||
|
|
@ -232,7 +232,7 @@
|
|||
<isNotNull property="cshapes">and a.cshape in ($cshapes$)</isNotNull>
|
||||
<!--and a.isuse=1--> and a.isdel=0
|
||||
) a
|
||||
left outer join cminning b on b.cmno=a.cmno and b.isonline =0
|
||||
left outer join cminning b on b.cmno=a.cmno and b.isonline =0 and b.isscd = 1
|
||||
left outer join lectinning c on c.cmino=b.cmino and c.lectno = a.lectno and c.istatus = 2
|
||||
group by a.lectno
|
||||
) a
|
||||
|
|
@ -242,39 +242,72 @@
|
|||
inner join cmev d on d.cmno=b.cmno
|
||||
</sql>
|
||||
<select id="grade.lectgrades" parameterClass="hashtable" resultClass="lect">
|
||||
select a.lectno,b.userno
|
||||
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">c.cname,c.cmno,u.username</isNull> ) rno
|
||||
,count(a.lectno) over() pagetotalcount
|
||||
,b.isrebate,ua.asname,u.username,u.userid,b.iscomplete,b.completetime,b.sdate
|
||||
,p.payoktime
|
||||
,c.sstime,c.cmno,c.cname,c.classno
|
||||
,b.attrate
|
||||
,a.apoint
|
||||
,a.ex0cnt,a.ex0lectcnt,a.ex0lectpoint,a.mpoint
|
||||
,a.ex1cnt,a.ex1lectcnt,a.ex1lectpoint,a.fpoint
|
||||
,a.sd0cnt,a.sd0lectcnt,a.sd0lectpoint,a.spoint
|
||||
,a.sd1cnt,a.sd1lectcnt,a.sd1lectpoint,a.dpoint
|
||||
,a.rs0cnt,a.rs0lectcnt,a.rs0lectpoint
|
||||
,a.ispassat
|
||||
select a.*
|
||||
from (
|
||||
select a.*
|
||||
from (
|
||||
<include refid="grade.query"></include>
|
||||
select a.lectno,b.userno
|
||||
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">c.cname,c.cmno,u.username</isNull> ) rno
|
||||
,count(a.lectno) over() pagetotalcount
|
||||
,b.isrebate,ua.asname,u.username,u.userid,b.iscomplete,b.completetime,b.sdate,b.edate
|
||||
,b.cmisno
|
||||
,p.payoktime
|
||||
,c.cshape,c.sstime,c.cmno,c.cname,c.classno
|
||||
,d.isoffabs
|
||||
,b.attrate
|
||||
,a.apoint
|
||||
,a.ex0cnt,a.ex0lectcnt,a.ex0lectpoint,a.mpoint
|
||||
,a.ex1cnt,a.ex1lectcnt,a.ex1lectpoint,a.fpoint
|
||||
,a.sd0cnt,a.sd0lectcnt,a.sd0lectpoint,a.spoint
|
||||
,a.sd1cnt,a.sd1lectcnt,a.sd1lectpoint,a.dpoint
|
||||
,a.rs0cnt,a.rs0lectcnt,a.rs0lectpoint
|
||||
,a.ispassat
|
||||
,e.sseq,e.estart,e.eend,e.studyplace
|
||||
,f.istatus
|
||||
,cc.cname studyplacename
|
||||
,date_format((case when c.cshape = 2 and e.eend is not null then e.eend else b.edate end),'%Y-%m-%d') edatestring
|
||||
from (
|
||||
<include refid="grade.query"></include>
|
||||
) a
|
||||
inner join lect b on b.lectno=a.lectno
|
||||
inner join pay p on p.payno=b.payno
|
||||
inner join users u on u.userno=b.userno <isNotNull property="ustatus">and u.status=#ustatus#</isNotNull>
|
||||
left outer join assign ua on ua.asno=u.asno
|
||||
inner join cm c on c.cmno=b.cmno
|
||||
inner join cm c2 on c2.cmno=c.pcmno
|
||||
inner join cmev d on d.cmno=c.cmno
|
||||
left outer join cminningscd e on e.cmisno = b.cmisno
|
||||
left outer join lectinning f on f.lectno = b.lectno and f.cmino = e.cmino
|
||||
left outer join comcode cc on cc.ccode = e.studyplace and cc.isuse=1
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="cshape" prepend="and">c.cshape = #cshape#</isNotNull>
|
||||
<isNotNull property="studyplace" prepend="and">e.studyplace = #studyplace#</isNotNull>
|
||||
<isNotNull property="est1not" prepend="and">a.ex0lectcnt < a.ex0cnt</isNotNull>
|
||||
<isNotNull property="est2not" prepend="and">a.ex1lectcnt < a.ex1cnt</isNotNull>
|
||||
<isNotNull property="est11not" prepend="and">a.sd0lectcnt < a.sd0cnt</isNotNull>
|
||||
<isNotNull property="est12not" prepend="and">a.sd1lectcnt < a.sd1cnt</isNotNull>
|
||||
<isNotNull property="est21not" prepend="and">a.rs0lectcnt < a.rs0cnt</isNotNull>
|
||||
<isNotNull property="cname" prepend="and">c2.cname like concat('%',#cname#,'%')</isNotNull>
|
||||
<isNotNull property="cnamestr" prepend="and">c.cname like concat('%',#cnamestr#,'%')</isNotNull>
|
||||
<isNotNull property="iscomplete" prepend="and">ifnull(b.iscomplete,0)=#iscomplete#</isNotNull>
|
||||
<isNotNull property="cmisno" prepend="and">b.cmisno = #cmisno#</isNotNull>
|
||||
<isNotNull property="ispasss" prepend="and">((a.sd0cnt > 0 and a.sd0lectcnt > 0))</isNotNull>
|
||||
<isNotNull property="ispassa" prepend="and">a.ispassa = #ispassa#</isNotNull>
|
||||
<isNotNull property="ispassex" prepend="and">(a.ispassm = #ispassex# and a.ispassf = #ispassex#) </isNotNull>
|
||||
<isNotNull property="usernamestr" prepend="and">u.username like concat('%',#usernamestr#,'%')</isNotNull>
|
||||
<isNotNull property="useridstr" prepend="and">u.userid like concat('%',#useridstr#,'%')</isNotNull>
|
||||
<isNotEmpty property="usernameid" prepend="and">(u.userid like concat('%',#usernameid#,'%') or u.username like concat('%',#usernameid#,'%') or u.usernameeng like concat('%',#usernameid#,'%')) </isNotEmpty>
|
||||
<isNotEmpty property="sdateall" prepend="and">(case when c.cshape = 0 and b.isrebate = 0 then p.payoktime else b.sdate end) >= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
|
||||
<isNotEmpty property="edateall" prepend="and">(case when c.cshape = 2 then e.eend else b.edate end) <= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
|
||||
<isNotNull property="asname" prepend="and">ua.asname like concat('%',#asname#,'%')</isNotNull>
|
||||
</dynamic>
|
||||
) a
|
||||
inner join lect b on b.lectno=a.lectno
|
||||
inner join pay p on p.payno=b.payno
|
||||
inner join users u on u.userno=b.userno <isNotNull property="ustatus">and u.status=#ustatus#</isNotNull>
|
||||
left outer join assign ua on ua.asno=u.asno
|
||||
inner join cm c on c.cmno=b.cmno
|
||||
inner join cm c2 on c2.cmno=c.pcmno
|
||||
inner join cmev d on d.cmno=c.cmno
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="est1not" prepend="and">a.ex0lectcnt < a.ex0cnt</isNotNull>
|
||||
<isNotNull property="est2not" prepend="and">a.ex1lectcnt < a.ex1cnt</isNotNull>
|
||||
<isNotNull property="est11not" prepend="and">a.sd0lectcnt < a.sd0cnt</isNotNull>
|
||||
<isNotNull property="est12not" prepend="and">a.sd1lectcnt < a.sd1cnt</isNotNull>
|
||||
<isNotNull property="est21not" prepend="and">a.rs0lectcnt < a.rs0cnt</isNotNull>
|
||||
<isNotNull property="cname" prepend="and">c2.cname like concat('%',#cname#,'%')</isNotNull>
|
||||
<isNotNull property="edate" prepend="and">a.edatestring = #edate#</isNotNull>
|
||||
</dynamic>
|
||||
order by rno
|
||||
) a
|
||||
<include refid="sql.pagedynamic"></include>
|
||||
order by a.rno
|
||||
</select>
|
||||
<update id="grade.lectcomplete.abs" parameterClass="hashtable">
|
||||
update lect set <include refid="sql.up"></include>
|
||||
|
|
|
|||
|
|
@ -680,6 +680,40 @@
|
|||
where a.cmino=#cmino#
|
||||
order by rno
|
||||
</select>
|
||||
<select id="lect.lectinnings.forattscd" parameterClass="hashtable" resultClass="lect">
|
||||
select a.*
|
||||
from (
|
||||
select a.lectno,c.cmino,b.cmno,b.cshape,b.cname,b2.isoffabs
|
||||
,a.isrebate,p.payoktime,a.iscomplete
|
||||
,a.sdate,a.edate
|
||||
,a.cmisno
|
||||
,d.sseq,f.cname studyplacename
|
||||
,d.estart,d.eend
|
||||
,e.userno,e.userid, e.username
|
||||
,g.istatus
|
||||
,row_number() over(order by a.cdt desc,e.username) rno
|
||||
,count(a.cdt) over() pagetotalcount
|
||||
from lect a
|
||||
inner join pay p on p.payno = a.payno
|
||||
inner join cm b on b.cmno = a.cmno
|
||||
inner join cmev b2 on b2.cmno = b.cmno
|
||||
inner join cminning c on c.cmno = b.cmno
|
||||
left outer join cminningscd d on d.cmisno = a.cmisno and d.cmino = c.cmino
|
||||
inner join users e on e.userno = a.userno
|
||||
left outer join comcode f on f.ccode = d.studyplace and f.isuse =1
|
||||
left outer join lectinning g on g.cmino = c.cmino and g.lectno = a.lectno
|
||||
where a.status=1 and a.ischanged=0 and c.isscd=1 and c.scdtype=0 and b.cshape=2
|
||||
<isNotNull property="edate">and date_format(a.edate,'%Y%m%d') = date_format(#edate#,'%Y%m%d')</isNotNull>
|
||||
<isNotNull property="cname">and b.cname like concat('%',#cname#,'%')</isNotNull>
|
||||
<isNotNull property="studyplace">and d.studyplace = #studyplace#</isNotNull>
|
||||
<isNotEmpty property="searchtext">
|
||||
<isEqual property="searchtype" compareValue="usernamestr">and e.username like concat('%',#searchtext#,'%')</isEqual>
|
||||
<isEqual property="searchtype" compareValue="useridstr">and e.userid like concat('%',#searchtext#,'%')</isEqual>
|
||||
</isNotEmpty>
|
||||
) a
|
||||
<include refid="sql.pagedynamic"></include>
|
||||
order by a.rno
|
||||
</select>
|
||||
|
||||
<select id="lect.atts" parameterClass="hashtable" resultClass="lect">
|
||||
select a.lectno,a.isrebate,a.attrate,a.stime,a.sip,a.etime,a.eip
|
||||
|
|
@ -705,6 +739,7 @@
|
|||
,u.userno,u.userid,u.username
|
||||
,ua.asname
|
||||
,c.stime,c.etime,c.istatus
|
||||
,c.udt,d.userid unoid
|
||||
,row_number() over(order by u.username) rno
|
||||
,count(b.lectno) over() pagetotalcount
|
||||
from cminning a
|
||||
|
|
@ -712,7 +747,13 @@
|
|||
inner join users u on u.userno=b.userno and u.status=1
|
||||
left outer join assign ua on ua.asno=u.asno
|
||||
left outer join lectinning c on c.lectno=b.lectno and c.cmino=a.cmino
|
||||
where a.cmino=#cmino#
|
||||
left outer join users d on d.userno = c.uno
|
||||
left outer join cminningscd e on e.cmisno = b.cmisno
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="cmino" prepend="and">a.cmino=#cmino#</isNotNull>
|
||||
<isNotNull property="cmisno" prepend="and">e.cmisno=#cmisno#</isNotNull>
|
||||
<isNotNull property="lectno" prepend="and">b.lectno=#lectno#</isNotNull>
|
||||
</dynamic>
|
||||
group by b.lectno,a.cmino,u.userno,u.userid,u.username,ua.asname,c.stime,c.etime,c.istatus
|
||||
order by u.username
|
||||
</select>
|
||||
|
|
@ -733,6 +774,7 @@
|
|||
<dynamic prepend="where">
|
||||
<isNotNull property="lectno" prepend="and">a.lectno=#lectno#</isNotNull>
|
||||
<isNotNull property="userno" prepend="and">a.userno=#userno#</isNotNull>
|
||||
<isNotNull property="isscd" prepend="and">ifnull(b.isscd,0)=#isscd#</isNotNull>
|
||||
</dynamic>
|
||||
order by b.iseq,d.stime
|
||||
</select>
|
||||
|
|
@ -760,36 +802,101 @@
|
|||
order by cdt desc
|
||||
</select>
|
||||
<select id="lect.lectexes" parameterClass="hashtable" resultClass="lectex">
|
||||
select a.lectno,a.userno,a.cmno,a.isrebate
|
||||
,b.exno
|
||||
,c.estart,c.eend,c.eip,c.tpoint,c.recount,c.entercount,c.cblock
|
||||
,d.username,d.userid
|
||||
,e.asname
|
||||
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">d.username</isNull>) rno
|
||||
,count(a.cdt) over() pagetotalcount
|
||||
from lect a
|
||||
inner join cmex b on b.isdel=0 <isNotNull property="exno">and b.exno=#exno#</isNotNull>
|
||||
left outer join lectex c on c.lectno=a.lectno and c.exno=b.exno
|
||||
inner join users d on d.userno=a.userno
|
||||
left outer join assign e on e.asno=d.asno
|
||||
where a.cmno=#cmno# and a.status=1 and a.ischanged=0
|
||||
<isNotNull property="isrebate">and a.isrebate=#isrebate#</isNotNull>
|
||||
<isNotNull property="estate">
|
||||
<isEqual property="estate" compareValue="0">and c.estart is null</isEqual>
|
||||
<isEqual property="estate" compareValue="1">and c.estart is not null and c.eend is null</isEqual>
|
||||
<isEqual property="estate" compareValue="2">and c.eend is not null</isEqual>
|
||||
</isNotNull>
|
||||
order by rno
|
||||
select a.*
|
||||
from (
|
||||
select a.lectno,a.userno,a.cmno,a.isrebate
|
||||
,b.exno
|
||||
,c.estart,c.eend,c.eip,c.tpoint,c.recount,c.entercount,c.cblock
|
||||
,d.username,d.userid
|
||||
,e.asname
|
||||
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">d.username</isNull>) rno
|
||||
,count(a.cdt) over() pagetotalcount
|
||||
from lect a
|
||||
inner join cmex b on b.isdel=0 <isNotNull property="exno">and b.exno=#exno#</isNotNull>
|
||||
left outer join lectex c on c.lectno=a.lectno and c.exno=b.exno
|
||||
inner join users d on d.userno=a.userno
|
||||
left outer join assign e on e.asno=d.asno
|
||||
where a.status=1 and a.ischanged=0
|
||||
<isNotNull property="extype">and b.extype = #extype#</isNotNull>
|
||||
<isNotNull property="cmno">and a.cmno = #cmno#</isNotNull>
|
||||
<isNotNull property="isrebate">and a.isrebate=#isrebate#</isNotNull>
|
||||
<isNotNull property="estate">
|
||||
<isEqual property="estate" compareValue="0">and c.estart is null</isEqual>
|
||||
<isEqual property="estate" compareValue="1">and c.estart is not null and c.eend is null</isEqual>
|
||||
<isEqual property="estate" compareValue="2">and c.eend is not null</isEqual>
|
||||
</isNotNull>
|
||||
) a
|
||||
<include refid="sql.pagedynamic"></include>
|
||||
order by a.rno
|
||||
</select>
|
||||
<select id="lect.lectexes.all" parameterClass="hashtable" resultClass="lectex">
|
||||
select a.*
|
||||
from (
|
||||
select a.lectno,a.userno,a.cmno,a.isrebate
|
||||
,p.payoktime,a.sdate,edate
|
||||
,b.exno,b.exname
|
||||
,b2.cshape,b2.cname
|
||||
,c.estart,c.eend,c.eip,c.tpoint,c.recount,c.entercount,c.cblock
|
||||
,d.username,d.userid
|
||||
,e.asname
|
||||
,f.estart lestart,f.eend leend,f.sseq
|
||||
,g.cname studyplacename
|
||||
,a.iscomplete
|
||||
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">d.username</isNull>) rno
|
||||
,count(a.cdt) over() pagetotalcount
|
||||
from lect a
|
||||
inner join cmex b on b.isdel=0 and b.cmno = a.cmno
|
||||
inner join cm b2 on b2.cmno = b.cmno
|
||||
inner join pay p on p.payno = a.payno
|
||||
left outer join lectex c on c.lectno = a.lectno and c.exno =b.exno
|
||||
inner join users d on d.userno = a.userno
|
||||
left outer join assign e on e.asno = d.asno
|
||||
left outer join cminningscd f on f.cmisno = a.cmisno
|
||||
left outer join comcode g on g.ccode = f.studyplace and g.isuse =1
|
||||
where a.status=1 and a.ischanged=0
|
||||
<isNotNull property="extype">and b.extype = #extype#</isNotNull>
|
||||
<isNotNull property="cmno">and a.cmno = #cmno#</isNotNull>
|
||||
<isNotNull property="isrebate">and a.isrebate=#isrebate#</isNotNull>
|
||||
<isNotEmpty property="edate">and date_format(a.edate,'%Y%m%d')=date_format(#edate#,'%Y%m%d')</isNotEmpty>
|
||||
<isNotNull property="cshape">and b2.cshape = #cshape#</isNotNull>
|
||||
<isNotEmpty property="cname">and b2.cname like concat('%',#cname#,'%')</isNotEmpty>
|
||||
<isNotEmpty property="cnamestr">and b2.cname like concat('%',#cname#,'%')</isNotEmpty>
|
||||
<isNotNull property="iscomplete">and ifnull(a.iscomplete,0) = #iscomplete#</isNotNull>
|
||||
<isNotNull property="studyplace">and f.studyplace = #studyplace#</isNotNull>
|
||||
<isNotEmpty property="usernamestr">and d.username like concat('%',#usernamestr#,'%')</isNotEmpty>
|
||||
<isNotEmpty property="useridstr">and d.userid like concat('%',#useridstr#,'%')</isNotEmpty>
|
||||
<isNotEmpty property="searchtext">
|
||||
<isEqual property="searchtype" compareValue="usernamestr">and d.username like concat('%',#usernamestr#,'%')</isEqual>
|
||||
<isEqual property="searchtype" compareValue="useridstr">and d.userid like concat('%',#useridstr#,'%')</isEqual>
|
||||
</isNotEmpty>
|
||||
<isNotNull property="estate">
|
||||
<isEqual property="estate" compareValue="0">and c.estart is null</isEqual>
|
||||
<isEqual property="estate" compareValue="1">and c.estart is not null and c.eend is null</isEqual>
|
||||
<isEqual property="estate" compareValue="2">and c.eend is not null</isEqual>
|
||||
</isNotNull>
|
||||
<isNotEmpty property="sdateall">and (case when b2.cshape = 0 and a.isrebate = 0 then p.payoktime else a.sdate end) >= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
|
||||
<isNotEmpty property="edateall">and (case when b2.cshape = 2 then f.eend else a.edate end) <= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
|
||||
<isNotEmpty property="asname">and e.asname like concat('%',#asname#,'%')</isNotEmpty>
|
||||
) a
|
||||
<include refid="sql.pagedynamic"></include>
|
||||
order by a.rno
|
||||
</select>
|
||||
|
||||
<!--문제 점수만 변경, 문제 재설정변경-->
|
||||
<update id="lect.reexam" parameterClass="hashtable">
|
||||
insert into lectexrelog(lectno,exno,estart,eend,eip,<include refid="sql.inc"></include>)
|
||||
select a.lectno lectno,a.exno exno,a.estart estart,a.eend eend,a.eip eip,<include refid="sql.inv"></include>
|
||||
from lectex a
|
||||
where a.lectno=#lectno# and a.exno=#exno#;
|
||||
|
||||
update lectex set estart=null,eend=null,eip=null,tpoint=0,recount=recount+1,entercount=0,cblock=0 where lectno=#lectno# and exno=#exno#;
|
||||
|
||||
update lectexq a
|
||||
inner join cmex b on b.exno=a.exno and b.eqtype=0
|
||||
inner join cmex b on b.exno=a.exno <!--and b.eqtype=0-->
|
||||
set a.atext=null,a.qinos=null,a.cpoint=0,a.iscorrect=null
|
||||
where a.lectno=#lectno# and a.exno=#exno#;
|
||||
|
||||
delete from lectexq where lectno=#lectno# and exno=#exno# and eqno in (
|
||||
<!--delete from lectexq where lectno=#lectno# and exno=#exno# and eqno in (
|
||||
select a.eqno
|
||||
from (
|
||||
select b.eqno
|
||||
|
|
@ -797,9 +904,9 @@
|
|||
inner join lectexq b on b.lectno=#lectno# and b.exno=a.exno
|
||||
where a.exno=#exno# and a.eqtype=1
|
||||
) a
|
||||
);
|
||||
);-->
|
||||
|
||||
insert into lectexq (lectno,exno,eqno,cpoint,dpoint,qseq,<include refid="sql.inc"></include>)
|
||||
<!--insert into lectexq (lectno,exno,eqno,cpoint,dpoint,qseq,<include refid="sql.inc"></include>)
|
||||
select a.lectno,a.exno,a.eqno,0,a.rpoint,row_number() over(order by case when a.israndq=0 then a.qseq else rand() end),<include refid="sql.inv"></include>
|
||||
from (
|
||||
select a.*
|
||||
|
|
@ -820,9 +927,20 @@
|
|||
) a
|
||||
where a.rank <= a.qcount
|
||||
) a
|
||||
order by rand();
|
||||
order by rand();-->
|
||||
|
||||
</update>
|
||||
<select id="lect.reexam.log" parameterClass="hashtable" resultClass="lectex">
|
||||
select a.*
|
||||
from (
|
||||
select a.estart,eend,eip
|
||||
,row_number() over(order by a.cdt desc) rno
|
||||
,count(a.cno) over() pagetotalcount
|
||||
from lectexrelog a
|
||||
where a.lectno=#lectno# and a.exno=#exno#
|
||||
) a
|
||||
order by a.rno
|
||||
</select>
|
||||
<sql id="lectexcreate">
|
||||
insert into lectexq (lectno,exno,eqno,cpoint,dpoint,qseq,<include refid="sql.inc"></include>)
|
||||
select a.lectno,a.exno,d.eqno,0,d.rpoint,row_number() over(order by case when c.israndq=0 then d.qseq else rand() * d.qseq end),<include refid="sql.inv"></include>
|
||||
|
|
@ -915,6 +1033,7 @@
|
|||
update lectexq set <include refid="sql.up"></include>
|
||||
,rechecktime=<include refid="sql.now"></include>
|
||||
,cpoint=#cpoint#
|
||||
<isNotNull property="iscorrect">,iscorrect = #iscorrect#</isNotNull>
|
||||
where lectno=#lectno# and exno=#exno# and eqno=#eqno#;
|
||||
|
||||
update lectex a
|
||||
|
|
@ -938,13 +1057,15 @@
|
|||
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">d.username</isNull>) rno
|
||||
,count(a.cdt) over() pagetotalcount
|
||||
from lect a
|
||||
inner join cmsd b on b.isdel=0 <isNotNull property="sdno">and b.sdno=#sdno#</isNotNull>
|
||||
inner join cmsd b on b.isdel=0 and b.cmno = a.cmno <isNotNull property="sdno">and b.sdno=#sdno#</isNotNull>
|
||||
left outer join lectsd c on c.lectno=a.lectno and c.sdno=b.sdno
|
||||
left outer join fileinfo cf on cf.fgno=c.fgno and cf.isdel=0
|
||||
inner join users d on d.userno=a.userno
|
||||
left outer join assign e on e.asno=d.asno
|
||||
left outer join mch_source_v_lectsd_list f on f.DOC_ID = concat(b.sdno ,'_',a.lectno )
|
||||
where a.cmno=#cmno# and a.status=1 and a.ischanged=0
|
||||
where a.status=1 and a.ischanged=0
|
||||
<isNotNull property="sdtype">and b.sdtype=#sdtype#</isNotNull>
|
||||
<isNotNull property="cmno">and a.cmno=#cmno# </isNotNull>
|
||||
<isNotNull property="isrebate">and a.isrebate=#isrebate#</isNotNull>
|
||||
<isNotNull property="sdstate">
|
||||
<isEqual property="sdstate" compareValue="0">and c.submittime is null</isEqual>
|
||||
|
|
@ -952,6 +1073,60 @@
|
|||
</isNotNull>
|
||||
order by rno
|
||||
</select>
|
||||
<select id="lect.lectsds.all" parameterClass="hashtable" resultClass="lectsd">
|
||||
select a.*
|
||||
from (
|
||||
select a.lectno,a.userno,a.cmno,a.isrebate
|
||||
,p.payoktime,a.sdate,a.edate
|
||||
,g.cname,g.cshape
|
||||
,b.sdno
|
||||
,c.atext,round((f.MAX_SCORE/100)) copyrate,c.iscopy,c.cpoint,c.feedb,c.submittime,c.submitip,c.checktime,c.checkip
|
||||
,d.username,d.userid,d.usertype
|
||||
,e.asname
|
||||
,h.estart lestart,h.eend leend,h.sseq
|
||||
,i.cname studyplacename
|
||||
,a.iscomplete
|
||||
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">d.username</isNull>) rno
|
||||
,count(a.cdt) over() pagetotalcount
|
||||
from lect a
|
||||
inner join pay p on p.payno = a.payno
|
||||
inner join cm g on g.cmno = a.cmno
|
||||
inner join cmsd b on b.isdel=0 and b.cmno = a.cmno
|
||||
left outer join lectsd c on c.lectno = a.lectno and c.sdno = b.sdno
|
||||
inner join users d on d.userno = a.userno
|
||||
left outer join assign e on e.asno = d.asno
|
||||
left outer join mch_source_v_lectsd_list f on f.DOC_ID = concat(b.sdno ,'_',a.lectno )
|
||||
left outer join cminningscd h on h.cmisno = a.cmisno
|
||||
left outer join comcode i on i.ccode = h.studyplace and i.isuse=1
|
||||
where a.status=1 and a.ischanged=0
|
||||
<isNotEmpty property="edate">and date_format(a.edate,'%Y%m%d')=date_format(#edate#,'%Y%m%d')</isNotEmpty>
|
||||
<isNotNull property="cshape">and g.cshape = #cshape#</isNotNull>
|
||||
<isNotEmpty property="cname">and g.cname like concat('%',#cname#,'%')</isNotEmpty>
|
||||
<isNotEmpty property="cnamestr">and g.cname like concat('%',#cname#,'%')</isNotEmpty>
|
||||
<isNotNull property="iscomplete">and ifnull(a.iscomplete,0) = #iscomplete#</isNotNull>
|
||||
<isNotNull property="studyplace">and h.studyplace = #studyplace#</isNotNull>
|
||||
<isNotNull property="usernamestr">and d.username like concat('%',#usernamestr#,'%')</isNotNull>
|
||||
<isNotNull property="useridstr">and d.userid like concat('%',#useridstr#,'%')</isNotNull>
|
||||
<isNotNull property="sdtype">and b.sdtype=#sdtype#</isNotNull>
|
||||
<isNotNull property="cmno">and a.cmno=#cmno# </isNotNull>
|
||||
<isNotNull property="isrebate">and a.isrebate=#isrebate#</isNotNull>
|
||||
<isNotNull property="sdstate">
|
||||
<isEqual property="sdstate" compareValue="0">and c.submittime is null</isEqual>
|
||||
<isEqual property="sdstate" compareValue="1">and c.submittime is not null</isEqual>
|
||||
</isNotNull>
|
||||
<isNotEmpty property="searchtype">
|
||||
<isNotEmpty property="searchtext">
|
||||
<isEqual property="searchtype" compareValue="usernamestr">and d.username like concat('%',#searchtext#,'%')</isEqual>
|
||||
<isEqual property="searchtype" compareValue="useridstr">and d.userid like concat('%',#searchtext#,'%')</isEqual>
|
||||
</isNotEmpty>
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="sdateall">and (case when g.cshape = 0 and a.isrebate = 0 then p.payoktime else a.sdate end) >= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
|
||||
<isNotEmpty property="edateall">and (case when g.cshape = 2 then h.eend else a.edate end) <= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
|
||||
<isNotNull property="asname">and e.asname like concat('%',#asname#,'%')</isNotNull>
|
||||
) a
|
||||
<include refid="sql.pagedynamic"></include>
|
||||
order by rno
|
||||
</select>
|
||||
<select id="lect.lectsd" parameterClass="hashtable" resultClass="lectsd">
|
||||
select a.sdno,a.tpoint sdtpoint
|
||||
,b.lectno,b.atext,b.fgno,round((g.MAX_SCORE/100)) copyrate,b.iscopy,b.cpoint,b.feedb,b.submittime,b.checktime
|
||||
|
|
@ -1314,6 +1489,7 @@
|
|||
,cc.ccode studyplace
|
||||
,cc.cname studyplacename
|
||||
,case when scd.eend is not null then scd.eend else a.edate end as sortedate
|
||||
,ci.scdtype
|
||||
from lect a
|
||||
inner join cm b on b.cmno=a.cmno <!--and b.sstime < <include refid="sql.now"></include>-->
|
||||
<!--inner join cm pc on pc.cmno=case when a.ispc=1 then a.pcno else a.cmno end and pc.sstime < <include refid="sql.now"></include>-->
|
||||
|
|
@ -1323,9 +1499,15 @@
|
|||
inner join users u on u.userno=a.userno
|
||||
left outer join assign ua on ua.asno=u.asno
|
||||
left outer join cminningscd scd on scd.cmisno = a.cmisno
|
||||
left outer join cminning ci on ci.cmino = scd.cmino
|
||||
left outer join comcode cc on cc.ccode = b.studyplace
|
||||
where a.userno=#userno# and a.status=1 and a.ischanged=0 and a.sdate < <include refid="sql.now"></include>
|
||||
<isNotNull property="cshape">and b.cshape=#cshape#</isNotNull>
|
||||
<isNotNull property="issubtable">
|
||||
and (b.cshape = 2 and scd.estart > '1900-01-01' and scd.eend > '1900-01-01' and ifnull(a.iscomplete,0) = 0 and scd.estart > now()
|
||||
and (date_add(scd.eend,interval +5 day) > date_format(now(),'%Y-%m-%d 23:59:59'))
|
||||
and date_add(a.cdt, interval +1 year) >= date_format(now(),'%Y-%m-%d 23:59:59'))
|
||||
</isNotNull>
|
||||
union all
|
||||
select a.lectno,a.cmno,a.userno,a.isrebate,a.iscomplete
|
||||
,case when a.sdate is null then b.sstime else a.sdate end as sdate
|
||||
|
|
@ -1339,6 +1521,7 @@
|
|||
,null studyplace
|
||||
,null studyplacename
|
||||
,a.edate as sortedate
|
||||
,null scdtype
|
||||
from pay e
|
||||
inner join lect a on a.payno=e.payno and a.status=1 and a.ischanged=0
|
||||
inner join cm b on b.cmno=a.cmno and b.sstime < <include refid="sql.now"></include>
|
||||
|
|
@ -1361,6 +1544,7 @@
|
|||
,null studyplace
|
||||
,null studyplacename
|
||||
,a.edate as sortedate
|
||||
,null scdtype
|
||||
from lect a0
|
||||
inner join pay e on e.payno=a0.payno and e.isgroup=1 and e.userno<>#userno# and e.pstatus=1
|
||||
inner join lect a on a.payno=e.payno and a.status=1 and a.ischanged=0
|
||||
|
|
@ -1635,6 +1819,11 @@
|
|||
) b on b.pplno = a.pplno
|
||||
set a.cmisno = b.cmisno
|
||||
where b.lectno = #lectno#;
|
||||
|
||||
update lect a
|
||||
left outer join cminningscd b on b.cmisno = a.cmisno
|
||||
set a.edate = case when b.eend is not null then b.eend else a.edate end
|
||||
where a.lectno = #lectno#;
|
||||
</update>
|
||||
<select id="lect.checkuser.cmisno" parameterClass="hashtable" resultClass="int">
|
||||
select count(c.cmisno )
|
||||
|
|
@ -1662,6 +1851,19 @@
|
|||
limit 1
|
||||
) a
|
||||
</select>
|
||||
<select id="lect.eqno.listforcheck" parameterClass="string" resultClass="questionitem">
|
||||
select e.qno,b.eqno,e.qino,e.qitext,d.atype,c.atext,d.ispassspace,d.isignorecase
|
||||
from cmex a
|
||||
inner join cmexq b on b.exno = a.exno
|
||||
inner join lectexq c on c.eqno = b.eqno
|
||||
inner join question d on d.qno = b.qno
|
||||
inner join questionitem e on e.qno = d.qno
|
||||
where e.isright =1 and e.isdel=0
|
||||
<isNotNull property="exno">and a.exno = #exno#</isNotNull>
|
||||
<isNotNull property="lectno">and c.lectno = #lectno#</isNotNull>
|
||||
<isNotEmpty property="eqnos">and b.eqno in ($eqnos$)</isNotEmpty>
|
||||
order by e.qno,e.qino
|
||||
</select>
|
||||
</statements>
|
||||
</sqlMap>
|
||||
|
||||
|
|
|
|||
|
|
@ -47,11 +47,24 @@
|
|||
update lect a
|
||||
inner join cm b on a.cmno = b.cmno
|
||||
inner join pay c on a.payno = c.payno
|
||||
left outer join cminningscd d on d.cmisno = a.cmisno
|
||||
set
|
||||
a.sdate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(c.payoktime,'%Y-%m-%d 00:00:00')
|
||||
else b.sstime end,
|
||||
a.edate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime end
|
||||
a.sdate = case when b.cshape <> 1 then date_format(a.cdt,'%Y-%m-%d 00:00:00')
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(c.payoktime,'%Y-%m-%d 00:00:00')
|
||||
else b.sstime end
|
||||
end,
|
||||
a.edate = case when b.cshape <> 1 then
|
||||
case when d.eend is not null then date_format(d.eend,'%Y-%m-%d 23:59:59')
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime end
|
||||
end
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime
|
||||
end
|
||||
end
|
||||
,a.udt=now(),a.uno=#uno#,a.uip=#uip#
|
||||
where a.payno = #payno# and c.pstatus = 1
|
||||
</update>
|
||||
|
|
@ -290,11 +303,24 @@
|
|||
update lect a
|
||||
inner join cm b on a.cmno = b.cmno
|
||||
inner join pay c on a.payno = c.payno
|
||||
left outer join cminningscd d on a.cmisno = d.cmisno
|
||||
set
|
||||
a.sdate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(c.payoktime,'%Y-%m-%d 00:00:00')
|
||||
else b.sstime end,
|
||||
a.edate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime end
|
||||
a.sdate = case when b.cshape <> 1 then date_format(a.cdt,'%Y-%m-%d 00:00:00')
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(c.payoktime,'%Y-%m-%d 00:00:00')
|
||||
else b.sstime end
|
||||
end,
|
||||
a.edate = case when b.cshape <> 1 then
|
||||
case when d.eend is not null then date_format(d.eend,'%Y-%m-%d 23:59:59')
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime end
|
||||
end
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime
|
||||
end
|
||||
end
|
||||
where a.payno = #payno# and c.pstatus = 1
|
||||
</update>
|
||||
<update id="pay.paydvr.save" parameterClass="hashtable">
|
||||
|
|
@ -375,11 +401,24 @@
|
|||
update lect a
|
||||
inner join cm b on a.cmno = b.cmno
|
||||
inner join pay c on a.payno = c.payno
|
||||
left outer join cminningscd d on d.cmisno = a.cmisno
|
||||
set
|
||||
a.sdate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(c.payoktime,'%Y-%m-%d 00:00:00')
|
||||
else b.sstime end,
|
||||
a.edate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime end
|
||||
a.sdate = case when b.cshape <> 1 then date_format(a.cdt,'%Y-%m-%d 00:00:00')
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(c.payoktime,'%Y-%m-%d 00:00:00')
|
||||
else b.sstime end
|
||||
end,
|
||||
a.edate = case when b.cshape <> 1 then
|
||||
case when d.eend is not null then date_format(d.eend,'%Y-%m-%d 23:59:59')
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime end
|
||||
end
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime
|
||||
end
|
||||
end
|
||||
where a.payno = #payno# and c.pstatus = 1
|
||||
|
||||
<!--update examuser a
|
||||
|
|
@ -425,11 +464,24 @@
|
|||
update lect a
|
||||
inner join cm b on a.cmno = b.cmno
|
||||
inner join pay c on a.payno = c.payno
|
||||
left outer join cminningscd d on d.cmisno = a.cmisno
|
||||
set
|
||||
a.sdate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(c.payoktime,'%Y-%m-%d 00:00:00')
|
||||
else b.sstime end,
|
||||
a.edate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime end
|
||||
a.sdate = case when b.cshape <> 1 then date_format(a.cdt,'%Y-%m-%d 00:00:00')
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(c.payoktime,'%Y-%m-%d 00:00:00')
|
||||
else b.sstime end
|
||||
end,
|
||||
a.edate = case when b.cshape <> 1 then
|
||||
case when d.eend is not null then date_format(d.eend,'%Y-%m-%d 23:59:59')
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime end
|
||||
end
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime
|
||||
end
|
||||
end
|
||||
where a.payno = #payno# and c.pstatus = 1;
|
||||
|
||||
<!--update examuser a
|
||||
|
|
@ -896,11 +948,24 @@
|
|||
update lect a
|
||||
inner join cm b on a.cmno = b.cmno
|
||||
inner join pay c on a.payno = c.payno
|
||||
left outer join cminningscd d on d.cmisno = a.cmisno
|
||||
set
|
||||
a.sdate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(<include refid="sql.now"></include>,'%Y-%m-%d 00:00:00')
|
||||
else b.sstime end,
|
||||
a.edate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(date_add(<include refid="sql.now"></include>,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime end
|
||||
a.sdate = case when b.cshape <> 1 then date_format(a.cdt,'%Y-%m-%d 00:00:00')
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(c.payoktime,'%Y-%m-%d 00:00:00')
|
||||
else b.sstime end
|
||||
end,
|
||||
a.edate = case when b.cshape <> 1 then
|
||||
case when d.eend is not null then date_format(d.eend,'%Y-%m-%d 23:59:59')
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime end
|
||||
end
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime
|
||||
end
|
||||
end
|
||||
where a.payno = #payno# and c.pstatus = 1;
|
||||
</update>
|
||||
<update id="pay.abspay" parameterClass="hashtable">
|
||||
|
|
@ -929,26 +994,52 @@
|
|||
update lect a
|
||||
inner join cm b on a.cmno = b.cmno
|
||||
inner join pay c on a.payno = c.payno
|
||||
left outer join cminningscd d on d.cmisno = a.cmisno
|
||||
set
|
||||
a.sdate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(c.payoktime,'%Y-%m-%d 00:00:00')
|
||||
else b.sstime end,
|
||||
a.edate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime end
|
||||
a.sdate = case when b.cshape <> 1 then date_format(a.cdt,'%Y-%m-%d 00:00:00')
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(c.payoktime,'%Y-%m-%d 00:00:00')
|
||||
else b.sstime end
|
||||
end,
|
||||
a.edate = case when b.cshape <> 1 then
|
||||
case when d.eend is not null then date_format(d.eend,'%Y-%m-%d 23:59:59')
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime end
|
||||
end
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime
|
||||
end
|
||||
end
|
||||
where a.payno = #payno# and c.pstatus = 1
|
||||
</update>
|
||||
<update id="pay.unpaymoney" parameterClass="hashtable">
|
||||
update pay
|
||||
set isunpay=2,payoktime=#payoktime#,udt=now(),uno=#uno#,uip=#uip#
|
||||
where payno=#payno# and isunpay=1;
|
||||
update pay
|
||||
set isunpay=2,payoktime=#payoktime#,udt=now(),uno=#uno#,uip=#uip#
|
||||
where payno=#payno# and isunpay=1;
|
||||
|
||||
update lect a
|
||||
inner join cm b on a.cmno = b.cmno
|
||||
inner join pay c on a.payno = c.payno
|
||||
set
|
||||
a.sdate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(c.payoktime,'%Y-%m-%d 00:00:00')
|
||||
else b.sstime end,
|
||||
a.edate = case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' and b.cshape <> 1 then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime end
|
||||
update lect a
|
||||
inner join cm b on a.cmno = b.cmno
|
||||
inner join pay c on a.payno = c.payno
|
||||
left outer join cminningscd d on d.cmisno = a.cmisno
|
||||
set
|
||||
a.sdate = case when b.cshape <> 1 then date_format(a.cdt,'%Y-%m-%d 00:00:00')
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(c.payoktime,'%Y-%m-%d 00:00:00')
|
||||
else b.sstime end
|
||||
end,
|
||||
a.edate = case when b.cshape <> 1 then
|
||||
case when d.eend is not null then date_format(d.eend,'%Y-%m-%d 23:59:59')
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime end
|
||||
end
|
||||
else
|
||||
case when date_format(b.retime,'%Y-%m-%d')='2099-12-31' then date_format(date_add(c.payoktime,interval b.studydays day),'%Y-%m-%d 23:59:59')
|
||||
else b.setime
|
||||
end
|
||||
end
|
||||
where a.payno = #payno# and c.pstatus = 1;
|
||||
</update>
|
||||
<select id="pay.pplogs" parameterClass="hashtable" resultClass="pplog">
|
||||
|
|
@ -960,9 +1051,11 @@
|
|||
,CAST(AES_DECRYPT(UNHEX(a.mphone), <include refid="sql.digest"></include>) AS char) mphone
|
||||
,CAST(AES_DECRYPT(UNHEX(a.taxemail), <include refid="sql.digest"></include>) AS char) taxemail
|
||||
,b.cdt
|
||||
,c.eend
|
||||
from pplog a
|
||||
inner join cm a2 on a2.cmno=a.cmno
|
||||
left outer join pay b on b.pplno=a.pplno
|
||||
left outer join cminningscd c on c.cmisno = a.cmisno
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="pplno" prepend="and">a.pplno=#pplno#</isNotNull>
|
||||
<isNotNull property="userno" prepend="and">a.userno=#userno#</isNotNull>
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ namespace NP.FO.Controllers
|
|||
//lectInning.daylectinninglimit = lectInning.daylectinninglimit == 0 ? 9999 : lectInning.daylectinninglimit;
|
||||
lectInning.daylectinninglimit = vm.intval2;
|
||||
}
|
||||
if (vm.LectInnings.Count() > 0 && !string.IsNullOrEmpty(vm.LectInnings.FirstOrDefault().existslectinning) )
|
||||
if (vm.LectInnings.Count() > 0 /*&& !string.IsNullOrEmpty(vm.LectInnings.FirstOrDefault().existslectinning)*/ )
|
||||
{
|
||||
vm.intval = Dao.Get<LectInning>("cr.lectinnings", new System.Collections.Hashtable() { /*{ "lectno", vm.croomlectno }*/ {"userno",SUserInfo.UserNo }, { "isfinishtoday", 1 } }).Count();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ namespace NP.FO.Controllers
|
|||
if (GetPOPUPS.Count() > 0)
|
||||
{
|
||||
POPUP = string.Join("nptechpopuplistseparator", GetPOPUPS.Select(s => string.Format("{0}nptechpopupseparator{1}nptechpopupseparator{2}nptechpopupseparator{3}nptechpopupseparator{4}nptechpopupseparator{5}nptechpopupseparator{6}nptechpopupseparator{7}nptechpopupseparator{8}"
|
||||
, s.pno, s.ptitle, "", s.toppx, s.leftpx, s.pwidth, s.pheight+37, s.purl, s.zindex + 100)));
|
||||
, s.pno, s.ptitle, "", s.toppx, s.leftpx, s.pwidth, s.pheight+4, s.purl, s.zindex + 100)));
|
||||
}
|
||||
}
|
||||
return POPUP;
|
||||
|
|
|
|||
|
|
@ -161,6 +161,11 @@ namespace NP.FO.Controllers
|
|||
vm.Lects = Dao.Get<Lect>("lect.mylectures", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "cgcode", vm.intval > 0 ? TestCode3 : null }, { "cshape", vm.stringval } });
|
||||
return View(vm);
|
||||
}
|
||||
public ActionResult LectureOn(VMMy vm)
|
||||
{
|
||||
vm.Lects = Dao.Get<Lect>("lect.mylectures", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "cgcode", vm.intval > 0 ? TestCode3 : null }, { "cshape", 2 },{"issubtable" ,1} });
|
||||
return View(vm);
|
||||
}
|
||||
public ActionResult CertPrint(VMMy vm)
|
||||
{
|
||||
ViewBag.TestCode = TestCode;
|
||||
|
|
|
|||
|
|
@ -728,6 +728,7 @@
|
|||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
<None Include="Properties\PublishProfiles\FolderProfile.pubxml" />
|
||||
<Content Include="Views\My\LectureOn.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Base\Base.csproj">
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
else
|
||||
{
|
||||
<div class="brdSch"><div>
|
||||
<input type="text" value="@Model.scc" id="subcon" placeholder="제목이나 내용을 입력하세요"><input type="button" onclick="$('#scc').val($('#subcon').val());findme(1)" value="검색"></div></div>
|
||||
<input type="text" value="@Model.scc" id="subcon" placeholder="제목/내용/작성자 이름을 입력하세요"><input type="button" onclick="$('#scc').val($('#subcon').val());findme(1)" value="검색"></div></div>
|
||||
if (Model.BM.bmtype > 0)
|
||||
{
|
||||
<div class="notiBtn top"><a href="#" onclick="gow()">게시글 등록</a></div>
|
||||
|
|
|
|||
|
|
@ -2,16 +2,16 @@
|
|||
@{
|
||||
|
||||
}
|
||||
<ul class="lctpTab col4">
|
||||
<ul class="lctpTab col3">
|
||||
<li class="@(Model.tabidx == 0 ? "current":"")"><a onclick="gotab(0, this)" style="@(Model.tabidx == 0 ? "cursor: default;":"")" href="#;">전체</a></li>
|
||||
<li class="@(Model.tabidx == 1 ? "current":"")"><a onclick="gotab(1, this)" style="@(Model.tabidx == 1 ? "cursor: default;":"")" href="#">시험</a></li>
|
||||
<li class="@(Model.tabidx == 2 ? "current":"")"><a onclick="gotab(2, this)" style="@(Model.tabidx == 2 ? "cursor: default;":"")" href="#">과제</a></li>
|
||||
<li class="@(Model.tabidx == 3 ? "current":"")"><a onclick="gotab(3, this)" style="@(Model.tabidx == 3 ? "cursor: default;":"")" href="#">토론</a></li>
|
||||
@*<li class="@(Model.tabidx == 3 ? "current":"")"><a onclick="gotab(3, this)" style="@(Model.tabidx == 3 ? "cursor: default;":"")" href="#">토론</a></li>*@
|
||||
</ul>
|
||||
@if (Model.tabidx == 0 || Model.tabidx == 3)
|
||||
@*@if (Model.tabidx == 0 || Model.tabidx == 3)
|
||||
{
|
||||
<div style="color: #0094ff; text-align: right;">※ 토론은 참여완료 후에도 추가로 참여할 수 있습니다.</div>
|
||||
}
|
||||
}*@
|
||||
<div class="evaList">
|
||||
<table>
|
||||
<tbody>
|
||||
|
|
|
|||
|
|
@ -7,8 +7,9 @@
|
|||
<tr><th>시험종류</th><td>@Model.LectEX.exname</td></tr>
|
||||
<tr><th>시험제목</th><td>@Model.LectEX.exname</td></tr>
|
||||
<tr><th>시험내용</th><td>@Html.Raw((Model.LectEX.edesc??"").Replace(System.Environment.NewLine, "<br />"))</td></tr>
|
||||
<tr><th>평가점수</th><td>@(Model.LectEX.tpoint+"점")</td></tr>
|
||||
<tr><th>제한시간</th><td>@(Model.LectEX.etime == 0 ? "제한없음" : string.Format("{0} 분", Model.LectEX.etime))</td></tr>
|
||||
<tr><th>응시시간</th><td>수강 종료일 (@Model.LectEX.edate.Value.ToString("yyyy-MM-dd")) 이내</td></tr>
|
||||
<tr><th>응시기간</th><td>@(Model.LectEX.sdate.Value.ToString("yy-MM-dd hh:mm")) ~ @(Model.LectEX.edate.Value.ToString("yy-MM-dd hh:mm"))까지(진도율 @(Model.LectEX.econdition)%이상 응시가능)</td></tr>
|
||||
<tr><th>재응시여부</th><td>@(Model.LectEX.isreexamable == 0 ? "불가능" : "가능")</td></tr>
|
||||
<tr><th>응시상태</th><td>@(Model.LectEX.estart == null ? ("응시전"+(Model.LectEX.recount > 0 ? string.Format(" (재응시승인 {0}회)", Model.LectEX.recount):"")) : Model.LectEX.eend != null ? "응시완료" : Model.LectEX.rtime < 1 ? "응시시간초과":("응시시작 (남은시간 " + Model.LectEX.rtime + "분)" +(Model.LectEX.relaylimit.Value <= Model.LectEX.entercount?", [이어보기 초과]":"")))</td></tr>
|
||||
@if (Model.LectEX.estart != null)
|
||||
|
|
@ -17,7 +18,15 @@
|
|||
}
|
||||
</table>
|
||||
<ul class="lctBtn col1">
|
||||
<li><a href="#" class="bk" onclick="goexam()">@(Model.LectEX.eend == null && (Model.LectEX.estart == null || Model.LectEX.relaylimit.Value >= Model.LectEX.entercount) ? "응시하기" : "결과보기")</a></li>
|
||||
@if(Model.LectEX.eend == null && (Model.LectEX.estart == null || Model.LectEX.relaylimit.Value >= Model.LectEX.entercount))
|
||||
{
|
||||
<li><a href="#" class="bk" onclick="goexam()">응시하기</a></li>
|
||||
}
|
||||
@if (Model.LectEX.ispass == 1)
|
||||
{
|
||||
<li><a href="#" class="bk" onclick="showexam()">결과보기</a></li>
|
||||
|
||||
}
|
||||
@if (Model.LectEX.edate > DateTime.Now && Model.LectEX.estart != null && Model.LectEX.isreexamable == 1 && Model.LectEX.iscomplete != 1)
|
||||
{
|
||||
<li><a href="#" class="bk" onclick="javascript:reexam(@Model.LectEX.exno,@Model.LectEX.lectno)">재응시</a></li>
|
||||
|
|
@ -58,6 +67,11 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
function showexam() {
|
||||
if (@Model.LectEX.ispass == 1) {
|
||||
msg("수료기준을 통과하지 못하여 비공개처리되었습니다.");
|
||||
} else {
|
||||
//응시결과창
|
||||
if (@Model.LectEX.isresultopen == 1) {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
}
|
||||
<div class="lctcScore">
|
||||
<input type="hidden" id="mobile" name="mobile" value="@(ViewBag.Mobile)" />
|
||||
<div class="lctCont">
|
||||
<div class="lctCont" style="padding-bottom:0px;">
|
||||
<h5>나의성적</h5>
|
||||
<table>
|
||||
<thead>
|
||||
|
|
@ -57,6 +57,32 @@
|
|||
<span style="color:red;">※ 관련 규정에 의거 동시접속방지 기능으로 인해 다른 환경에서 접속 시 기존 환경에서는 로그아웃 되어 동영상 시청 진도율이 반영되지 않습니다.</span>
|
||||
</div>
|
||||
</div>
|
||||
@if(Model.Lect.isoffabs == 1)
|
||||
{
|
||||
<div class="lctcScore">
|
||||
<div class="lctCont">
|
||||
<h5>집합교육 안내</h5>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>집체일정</th>
|
||||
<th>교육장소</th>
|
||||
<th>준비물</th>
|
||||
<th>출석여부</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>@(string.Format("{0} {1}"+":"+"{2} ~ {3}"+":"+"{4}",Model.Lect.estart.ToString("yyyy-MM-dd"),Model.Lect.estart.ToString("HH"), Model.Lect.estart.ToString("mm"), Model.Lect.eend.ToString("HH"), Model.Lect.eend.ToString("mm")))</td>
|
||||
<td>@Model.Lect.studyplacename</td>
|
||||
<td>신분증,필기도구,과제</td>
|
||||
<td>@Model.Lect.istatusname</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="lctCont" style="padding-left:0px;">
|
||||
<div class="lctcHalf">
|
||||
<div>
|
||||
|
|
@ -180,7 +206,7 @@
|
|||
} else if (preflag < 1) {
|
||||
msg("이전 회차 학습을 완료한 이후 학습이 가능합니다.");
|
||||
} else if (notoverflag < 1) {
|
||||
msg("일일 최대 학습회차는 10시간(10차시)입니다.");
|
||||
msg("관련 법령에 의해 일일 최대 학습가능한 시간은 10시간(10차시)입니다.");
|
||||
} else {
|
||||
_cmino = cmino;
|
||||
chkcontent();
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<a href="#" onclick="showatt()">출결이력조회</a>
|
||||
</div>*@
|
||||
<div class="lctcScore" style="text-align:center; background:#ffdfdf;">
|
||||
<span>현재 오늘 학습 가능한 10차시 중 (@(Model.intval2 - Model.intval))차시가 학습가능 합니다.</span><br />
|
||||
<span>현재 오늘 학습 가능한 10차시 중 <span style="color:red;">@(Model.intval2 - Model.intval)</span>차시가 학습가능 합니다.</span><br />
|
||||
<span>※ 관련 법령에 의해 일일 최대 학습시간은 학습중인 모든 과정에 대하여 10시간(10차시)입니다.</span>
|
||||
</div>
|
||||
@*<h3>오늘의 학습회차(@Model.intval/@Model.intval2)</h3>*@
|
||||
|
|
@ -179,7 +179,7 @@
|
|||
} else if (preflag < 1) {
|
||||
msg("이전 회차 학습을 완료한 이후 학습이 가능합니다.");
|
||||
} else if (notoverflag < 1) {
|
||||
msg("일일 최대 학습회차는 10시간(10차시)입니다.");
|
||||
msg("관련 법령에 의해 일일 최대 학습가능한 시간은 10시간(10차시)입니다.");
|
||||
} else {
|
||||
_cmino = cmino;
|
||||
chkcontent();
|
||||
|
|
|
|||
|
|
@ -27,29 +27,31 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studytime)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원</span></label></p>
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='gry'>@*신청일로부터 @(Model.CM.studydays)일*@ (@(Model.CM.studytime)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원</span></label></p>
|
||||
}
|
||||
}
|
||||
else if (Model.CM.cshape == 1)
|
||||
{
|
||||
if (!isallday)
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='red'>교육종료일(@(Model.CM.setimeymd)까지)</span> (@(Model.CM.ssretimeToDay)일) | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원</span></label></p>
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='red'>교육종료일(@(Model.CM.setimeymd)까지)</span> (@(Model.CM.ssretimeToDay)일) | @Model.CM.cname</label></p>
|
||||
}
|
||||
else
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studytime)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원</span></label></p>
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='gry'>@*신청일로부터 @(Model.CM.studydays)일*@ (@(Model.CM.studytime)시간) </span> | @Model.CM.cname</label></p>
|
||||
}
|
||||
}
|
||||
else if (Model.CM.cshape == 2)
|
||||
{
|
||||
if (!isallday)
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='red'>교육종료일(@(Model.CM.setimeymd)까지)</span> (@(Model.CM.studytime)시간) | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원 ※ 집체교육 선택 필수</span></label></p>
|
||||
@*<p><label>@(Model.CM.tseq)기 | <span class='red'>교육종료일(@(Model.CM.setimeymd)까지)</span> (@(Model.CM.studytime)시간) | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원 ※ 집체교육 선택 필수</span></label></p>*@
|
||||
<p><label>@Model.CM.cname (@(Model.CM.studytime)시간)</label></p>
|
||||
}
|
||||
else
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studytime)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원 ※ 집체교육 선택 필수</span></label></p>
|
||||
@*<p><label>@(Model.CM.tseq)기 | <span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studytime)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원 ※ 집체교육 선택 필수</span></label></p>*@
|
||||
<p><label>@Model.CM.cname <span class='gry'>@*신청일로부터 @(Model.CM.studydays)일*@ (@(Model.CM.studytime)시간) </span></label></p>
|
||||
}
|
||||
}
|
||||
</li>
|
||||
|
|
@ -74,8 +76,12 @@
|
|||
</p>
|
||||
}
|
||||
@if (Model.stringval == "0" ) {
|
||||
<h4 class="clsTitle">신청내용</h4>
|
||||
<table class="subTable">
|
||||
<h4 class="clsTitle">신청내용<span style="color:red;font-weight:700;"> (필수확인)</span></h4>
|
||||
if(Model.CM.cshape == 2)
|
||||
{
|
||||
<p class="subTxt" style="padding-bottom:15px;">교육종료일 : @(Model.PPLog.eendymd)까지</p>
|
||||
}
|
||||
<table class="subTable" style="border:3px solid red;">
|
||||
<tr>
|
||||
<th>교육유형</th>
|
||||
@if (!string.IsNullOrEmpty(Model.stringval3)){<th>기술인분류</th>}
|
||||
|
|
@ -118,18 +124,19 @@
|
|||
{
|
||||
<h4 class="clsTitle">교육수료조건</h4>
|
||||
<p class="subTxt">
|
||||
1. <span class="subTxt red">동영상강의 28시간 진도율 90% 이상 및 집체교육 7시간 이수</span><br />
|
||||
1. <span class="subTxt red">동영상강의 35시간 진도율 90% 이상</span><br />
|
||||
2. <span class="subTxt red">과제물 제출(표지 제외 A4 2장 이상 분량)</span><br />
|
||||
3. 총점 70점 이상 득점 : 시험평가(60점) + 과제(20점) + 진도율(20점) =100점<br /><br />
|
||||
|
||||
<span class="subTxt red">※ 위 3가지 조건 모두 만족하셔야 수료가 가능합니다.</span><br />
|
||||
<span class="subTxt red">※ 하루 최대 학습 시간은 10차시 입니다.</span><br />
|
||||
<span style="font-size:15pt;color:#0047a7;">※ 현재는 집체교육 참석없이 온라인교육으로만 35시간 수강이 가능합니다.</span>
|
||||
@*※ 국토부 장관이 인정하는 사유로 집체교육을 실시 하지 못할 시 에는 동영상강의로 대체되며 7시간을 100% 이수하셔야 수료가 가능합니다.<br />*@
|
||||
</p>
|
||||
|
||||
<h4 class="clsTitle">교육수강기한</h4>
|
||||
<p class="subTxt">
|
||||
온라인교육은 신청일로 부터 한달 내에 28시간(집체교육을 제외한 시간)을 수강하셔야 하며 <span class="subTxt red">1년 이내에</span> 교육수료가 되지 않으면 수료 및 환불이 불가능합니다.
|
||||
온라인교육은 신청일로 부터 <span class="subTxt red">최대 1년 이내</span>에 수료하셔야 하며 <span class="subTxt red">1년 이내</span>에 교육수료가 되지 않으면 수료 및 환불이 불가능합니다.
|
||||
</p>
|
||||
}
|
||||
<p class="subTxt" style="text-align:center;margin-top:30px;">
|
||||
|
|
|
|||
|
|
@ -24,17 +24,17 @@ else
|
|||
<ul class="smtlChk">
|
||||
<li>
|
||||
@*@if (Model.CM.cshape == 0)
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 <span class='gry'>@(Model.CM.ssrename) (@(Model.CM.ssretimeToDay)일) </span> @Model.CM.cname</label></p>
|
||||
}
|
||||
else if (Model.CM.cshape == 1)
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='gry'>@Model.CM.ssrename (@(Model.CM.ssretimeToDay)일) </span> @Model.CM.cname<span class='red'> | @(Model.CM.infee)원</span></label></p>
|
||||
}
|
||||
else if (Model.CM.cshape == 2)
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 <span class='gry'>@(Model.CM.ssrename) (@(Model.CM.ssretimeToDay)일) </span> @Model.CM.cname<span class='red'> | @(Model.CM.infee)원 ※ 집체교육 선택 필수</span></label></p>
|
||||
}*@
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 <span class='gry'>@(Model.CM.ssrename) (@(Model.CM.ssretimeToDay)일) </span> @Model.CM.cname</label></p>
|
||||
}
|
||||
else if (Model.CM.cshape == 1)
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='gry'>@Model.CM.ssrename (@(Model.CM.ssretimeToDay)일) </span> @Model.CM.cname<span class='red'> | @(Model.CM.infee)원</span></label></p>
|
||||
}
|
||||
else if (Model.CM.cshape == 2)
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 <span class='gry'>@(Model.CM.ssrename) (@(Model.CM.ssretimeToDay)일) </span> @Model.CM.cname<span class='red'> | @(Model.CM.infee)원 ※ 집체교육 선택 필수</span></label></p>
|
||||
}*@
|
||||
|
||||
@if (Model.CM.cshape == 0)
|
||||
{
|
||||
|
|
@ -44,40 +44,42 @@ else
|
|||
}
|
||||
else
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studydays * 24)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원</span></label></p>
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='gry'>@*신청일로부터 @(Model.CM.studydays)일*@ (@(Model.CM.studytime)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원</span></label></p>
|
||||
}
|
||||
}
|
||||
else if (Model.CM.cshape == 1)
|
||||
{
|
||||
if (!isallday)
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='gry'>@Model.CM.ssrename (@(Model.CM.ssretimeToDay)일) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원</span></label></p>
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='gry'>@Model.CM.ssrename (@(Model.CM.ssretimeToDay)일) </span> | @Model.CM.cname </label></p>
|
||||
}
|
||||
else
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studydays * 24)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원</span></label></p>
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='gry'>@*신청일로부터 @(Model.CM.studydays)일*@ (@(Model.CM.studytime)시간) </span> | @Model.CM.cname </label></p>
|
||||
}
|
||||
}
|
||||
else if (Model.CM.cshape == 2)
|
||||
{
|
||||
if (!isallday)
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='gry'>@(Model.CM.ssrename) (@(Convert.ToInt32(Model.CM.ssretimeToDay) * 24)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원 ※ 집체교육 선택 필수</span></label></p>
|
||||
@*<p><label>@(Model.CM.tseq)기 | <span class='gry'>@(Model.CM.ssrename) (@(Convert.ToInt32(Model.CM.ssretimeToDay) * 24)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원 ※ 집체교육 선택 필수</span></label></p>*@
|
||||
<p><label><span class='gry'>@Model.CM.cname @(Model.CM.ssrename) (@(Model.CM.studytime)시간) </span></label></p>
|
||||
}
|
||||
else
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studydays * 24)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원 ※ 집체교육 선택 필수</span></label></p>
|
||||
@*<p><label>@(Model.CM.tseq)기 | <span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studydays * 24)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원 ※ 집체교육 선택 필수</span></label></p>*@
|
||||
<p><label><span class='gry'>@Model.CM.cname @*신청일로부터 @(Model.CM.studydays)일*@ (@(Model.CM.studytime)시간) </span> | </label></p>
|
||||
}
|
||||
}
|
||||
|
||||
@*@if (Model.CM.applicableCM == "정상접수")
|
||||
{
|
||||
<span class="smtlChkBtn smtlChk01">정상접수</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span class="smtlChkBtn smtlChk02">대기접수</span>
|
||||
}*@
|
||||
{
|
||||
<span class="smtlChkBtn smtlChk01">정상접수</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span class="smtlChkBtn smtlChk02">대기접수</span>
|
||||
}*@
|
||||
</li>
|
||||
</ul>
|
||||
<div class="apyCost">
|
||||
|
|
|
|||
|
|
@ -38,29 +38,33 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studydays * 24)시간) </span> | @Model.CM.cname | <span class='red'><span id="spninfee"></span>원</span></label></p>
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='gry'>@*신청일로부터 @(Model.CM.studydays)일*@ (@(Model.CM.studytime)시간) </span> | @Model.CM.cname | <span class='red'><span id="spninfee"></span>원</span></label></p>
|
||||
}
|
||||
}
|
||||
else if (Model.CM.cshape == 1)
|
||||
{
|
||||
if (!isallday)
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='red'>교육종료일(@(Model.CM.setimeymd)까지)</span> (@(Model.CM.ssretimeToDay)일) | @Model.CM.cname | <span class='red'><span id="spninfee"></span>원</span></label></p>
|
||||
@*<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='red'>교육종료일(@(Model.CM.setimeymd)까지)</span> (@(Model.CM.ssretimeToDay)일) | @Model.CM.cname | <span class='red'><span id="spninfee"></span>원</span></label></p>*@
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='red'>교육종료일(@(Model.CM.setimeymd)까지)</span> (@(Model.CM.ssretimeToDay)일) | @Model.CM.cname </label></p>
|
||||
}
|
||||
else
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studydays * 24)시간) </span> | @Model.CM.cname | <span class='red'><span id="spninfee"></span>원</span></label></p>
|
||||
@*<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studydays * 24)시간) </span> | @Model.CM.cname | <span class='red'><span id="spninfee"></span>원</span></label></p>*@
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='gry'>@*신청일로부터 @(Model.CM.studydays)일*@ (@(Model.CM.studytime)시간) </span> | @Model.CM.cname </label></p>
|
||||
}
|
||||
}
|
||||
else if (Model.CM.cshape == 2)
|
||||
{
|
||||
if (!isallday)
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='red'>교육종료일(@(Model.CM.setimeymd)까지)</span> (@(Model.CM.studytime)시간) | @Model.CM.cname | <span class='red'><span id="spninfee"></span>원 @*※ 집체교육 선택 필수*@</span></label></p>
|
||||
@*<p><label>@(Model.CM.tseq)기 | <span class='red'>교육종료일(@(Model.CM.setimeymd)까지)</span> (@(Model.CM.studytime)시간) | @Model.CM.cname | <span class='red'><span id="spninfee"></span>원 @*※ 집체교육 선택 필수</span></label></p>*@
|
||||
<p><label>@Model.CM.cname (@(Model.CM.studytime)시간)</label></p>
|
||||
}
|
||||
else
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studydays * 24)시간) </span> | @Model.CM.cname | <span class='red'><span id="spninfee"></span>원 @*※ 집체교육 선택 필수*@</span></label></p>
|
||||
@*<p><label>@(Model.CM.tseq)기 | <span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studydays * 24)시간) </span> | @Model.CM.cname | <span class='red'><span id="spninfee"></span>원 @*※ 집체교육 선택 필수</span></label></p>*@
|
||||
<p><label>@Model.CM.cname <span class='gry'>@*신청일로부터 @(Model.CM.studydays)일*@ (@(Model.CM.studytime)시간) </span></label></p>
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -82,16 +86,16 @@
|
|||
|
||||
@if (Model.CM.cshape == 2 && Model.CM.applicableCM == "정상접수")
|
||||
{
|
||||
<div style="display:none;">
|
||||
<h4 class="clsTitle">교육일정선택</h4>
|
||||
<select id="selMonth">
|
||||
<div>
|
||||
<h4 class="clsTitle">교육종료일 선택 <span style="font-size:12pt; font-weight:400;"> ※ 교육종료일까지 수료조건을 만족하시면 교육수료가 됩니다.</span></h4>
|
||||
@*<select id="selMonth">
|
||||
@for (int i = 1; i <= 12; i++)
|
||||
{
|
||||
<option @(DateTime.Now.Month == i ? "selected" : "") value="@(i)">@(i)월</option>
|
||||
}
|
||||
</select>
|
||||
<span> ※원하는 수료일자(월)을 선택하세요. 지정하신 일자가 수료일자가 됩니다.</span>
|
||||
<br /><br />
|
||||
<br /><br />*@
|
||||
<ul id="ulScd"></ul>
|
||||
</div>
|
||||
}
|
||||
|
|
@ -144,6 +148,7 @@
|
|||
</tbody>
|
||||
</table>
|
||||
<p class="subDsc mt10">
|
||||
<span style="color:red">※계산서 발급을 원할 경우 반드시 업체로 선택해 주세요. </span><br>
|
||||
※수료증 소속부분에 기재될 내용으로 소속업체가 없으면 개인을 선택해 주세요.
|
||||
</p>
|
||||
</div>
|
||||
|
|
@ -276,9 +281,9 @@
|
|||
<th class="req">주민등록번호</th>
|
||||
<td>
|
||||
<ul class="usrNum">
|
||||
<li>@Html.TextBoxFor(x => x.User.userpno1, new { @maxlength = "6" })</li>
|
||||
<li>@Html.TextBoxFor(x => x.User.userpno1, new { @maxlength = "6", @readonly = "readonly", @style = "background-color:#ddd;" })</li>
|
||||
<li>-</li>
|
||||
<li>@Html.TextBoxFor(x => x.User.userpno2, new { @maxlength = "7" })</li>
|
||||
<li>@Html.TextBoxFor(x => x.User.userpno2, new { @maxlength = "7", @readonly = "readonly", @style = "background-color:#ddd;" })</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -286,11 +291,11 @@
|
|||
<th class="req">휴대전화</th>
|
||||
<td>
|
||||
<ul class="usrPhn">
|
||||
<li>@Html.TextBoxFor(x => x.User.mobile1, new { @maxlength = "3" })</li>
|
||||
<li>@Html.TextBoxFor(x => x.User.mobile1, new { @maxlength = "3", @readonly = "readonly", @style = "background-color:#ddd;" })</li>
|
||||
<li>-</li>
|
||||
<li>@Html.TextBoxFor(x => x.User.mobile2, new { @maxlength = "4" })</li>
|
||||
<li>@Html.TextBoxFor(x => x.User.mobile2, new { @maxlength = "4", @readonly = "readonly", @style = "background-color:#ddd;" })</li>
|
||||
<li>-</li>
|
||||
<li>@Html.TextBoxFor(x => x.User.mobile3, new { @maxlength = "4" })</li>
|
||||
<li>@Html.TextBoxFor(x => x.User.mobile3, new { @maxlength = "4", @readonly = "readonly", @style = "background-color:#ddd;" })</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -407,7 +412,7 @@
|
|||
model.cm = @Html.Raw(Json.Encode(new List<NP.Model.CM>() { Model.CM }.Select(s => new { s.infee, s.accommofee, s.applicableCM, s.cshape, s.cmno }).First()));
|
||||
model.assign = @Html.Raw(Json.Encode(new List<NP.Model.Assign>() { Model.Assign }.Select(s => new { s.asno, s.asname }).First()));;
|
||||
model.pplog = @Html.Raw(Json.Encode(new List<NP.Model.PPLog>() { ( Model.PPLog != null ? Model.PPLog : new NP.Model.PPLog {}) }.Select(s => new { s.isrebate, s.isaccommodation, s.cmisno }).First()));;
|
||||
model.selMonth = @(Model.selMonth != null ? Model.selMonth.ToString() : "null");
|
||||
//model.selMonth = @(Model.selMonth != null ? Model.selMonth.ToString() : "null");
|
||||
model.iscompany = @(Model.isCompany != null ? Model.isCompany.ToString() : "null");
|
||||
|
||||
$(document).ready(function () {
|
||||
|
|
@ -519,9 +524,9 @@
|
|||
$("input:radio[name='isrebate'][value='" + model.pplog.isrebate + "']").click();
|
||||
}
|
||||
|
||||
if (model.selMonth != null) {
|
||||
$("#selMonth").val(model.selMonth).trigger('change');
|
||||
}
|
||||
//if (model.selMonth != null) {
|
||||
// $("#selMonth").val(model.selMonth).trigger('change');
|
||||
//}
|
||||
|
||||
if(model.iscompany != null) {
|
||||
$("input:radio[name='isCompany'][value='" + model.iscompany + "']").click();
|
||||
|
|
@ -570,6 +575,11 @@
|
|||
var ulScd = $("#ulScd");
|
||||
ulScd.empty();
|
||||
//var seq = 0;
|
||||
if (capResult.obj.length < 1) {
|
||||
var li = $("<li />");
|
||||
li.append("<label> - 선택 가능한 교육종료일이 없습니다.</label>");
|
||||
ulScd.append(li);
|
||||
}
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
var li = $("<li />");
|
||||
if (d.isEnd == true)
|
||||
|
|
@ -677,7 +687,7 @@
|
|||
function saveResult() {
|
||||
if (capResult.code == 1000 && capResult.obj > 0) {
|
||||
$("#historyForm > input[name='pplno']").val(capResult.obj);
|
||||
$("#historyForm > input[name='selMonth']").val($("#selMonth").val());
|
||||
//$("#historyForm > input[name='selMonth']").val($("#selMonth").val());
|
||||
$("#historyForm > input[name='isCompany']").val($("input:radio[name='isCompany']:checked").val());
|
||||
$("#historyForm").attr("action", "/Course/ApplyAgree");
|
||||
$("#historyForm").submit();
|
||||
|
|
|
|||
|
|
@ -40,29 +40,31 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studytime)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원</span></label></p>
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='gry'>@*신청일로부터 @(Model.CM.studydays)일*@ (@(Model.CM.studytime)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원</span></label></p>
|
||||
}
|
||||
}
|
||||
else if (Model.CM.cshape == 1)
|
||||
{
|
||||
if (!isallday)
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='red'>교육종료일(@(Model.CM.setimeymd)까지)</span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원</span></label></p>
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='red'>교육종료일(@(Model.CM.setimeymd)까지)</span> | @Model.CM.cname</label></p>
|
||||
}
|
||||
else
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studytime)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원</span></label></p>
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='blu'>[@(Model.CM.studyplacename) 교육장] </span><span class='gry'>@*신청일로부터 @(Model.CM.studydays)일*@ (@(Model.CM.studytime)시간) </span> | @Model.CM.cname</label></p>
|
||||
}
|
||||
}
|
||||
else if (Model.CM.cshape == 2)
|
||||
{
|
||||
if (!isallday)
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='red'>교육종료일(@(Model.CM.setimeymd)까지)</span> (@(Model.CM.studytime)시간) | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원 ※ 집체교육 선택 필수</span></label></p>
|
||||
@*<p><label>@(Model.CM.tseq)기 | <span class='red'>교육종료일(@(Model.CM.setimeymd)까지)</span> (@(Model.CM.studytime)시간) | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원 ※ 집체교육 선택 필수</span></label></p>*@
|
||||
<p><label>@Model.CM.cname (@(Model.CM.studytime)시간)</label></p>
|
||||
}
|
||||
else
|
||||
{
|
||||
<p><label>@(Model.CM.tseq)기 | <span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studytime)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원 ※ 집체교육 선택 필수</span></label></p>
|
||||
@*<p><label>@(Model.CM.tseq)기 | <span class='gry'>신청일로부터 @(Model.CM.studydays)일 (@(Model.CM.studytime)시간) </span> | @Model.CM.cname | <span class='red'>@(Model.CM.infee.ToString("#,0"))원 ※ 집체교육 선택 필수</span></label></p>*@
|
||||
<p><label>@Model.CM.cname | <span class='gry'>@*신청일로부터 @(Model.CM.studydays)일*@ (@(Model.CM.studytime)시간) </span></label></p>
|
||||
}
|
||||
}
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -66,6 +66,12 @@
|
|||
<li><a href="https://homenet.kocea.or.kr:1443" target="_blank">한국건설기술인협회 이동</a></li>
|
||||
<li><a href="https://www.kira.or.kr" target="_blank">건축사협회 이동</a></li>
|
||||
</ul>
|
||||
<br/>
|
||||
@if(Model.stringval2 == "2")
|
||||
{
|
||||
<p class='subDsc' style='color:red;'>※ 온라인 교육은 입금완료시 교육이 바로 시작되며 동영상 시청이 가능합니다</p>
|
||||
@:※ 각 기수별 <span style='color:red;'>교육종료일을 꼭 확인하시고</span> 교육신청 부탁드립니다.
|
||||
}
|
||||
<input type="hidden" id="hidCmno" />
|
||||
<ul class="smtList" style="margin-bottom:150px">
|
||||
@foreach (var item in Model.CMs)
|
||||
|
|
@ -272,7 +278,7 @@
|
|||
var cmno = _cmno;
|
||||
var ulSubCm = $("#ulSubCm_" + cmno);
|
||||
ulSubCm.empty();
|
||||
var applyClass = "<li><p class='subDsc' style='color:red;'>※ 입금완료시 교육이 바로 시작되며 동영상 시청이 가능합니다</p >※ 각 기수별 <span style='color:red;'>교육종료일을 꼭 확인하시고</span> 교육신청 부탁드립니다.</li>";
|
||||
//var applyClass = "<li><p class='subDsc' style='color:red;'>※ 입금완료시 교육이 바로 시작되며 동영상 시청이 가능합니다</p >※ 각 기수별 <span style='color:red;'>교육종료일을 꼭 확인하시고</span> 교육신청 부탁드립니다.</li>";
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
var li = $("<li />");
|
||||
var p = $("<p />");
|
||||
|
|
@ -296,14 +302,18 @@
|
|||
}
|
||||
|
||||
if (d.cshape == 0) {
|
||||
p.html("<label style='cursor:default; font-size:18px'>" + d.tseq + "기 | " + d.cname + " | <span style='" + ((d.retimeymd == "2099-12-31") ? 'display:none' : '') + "'><span class='gry'>" + d.ssrename + "</span></span><span class='red'> " + (d.retimeymd == "2099-12-31" ? "신청일로부터 " + d.studydays + "일 (" + d.studytime + " 시간)" : "(" + d.studytime + "시간)") + "</span> | <span class=red>" + bindComma(d.infee) + "원</span></label>");
|
||||
//p.html("<label style='cursor:default; font-size:18px'>" + d.tseq + "기 | " + d.cname + " | <span style='" + ((d.retimeymd == "2099-12-31") ? 'display:none' : '') + "'><span class='gry'>" + d.ssrename + "</span></span><span class='red'> " + (d.retimeymd == "2099-12-31" ? "신청일로부터 " + d.studydays + "일 (" + d.studytime + " 시간)" : "(" + d.studytime + "시간)") + "</span> | <span class=red>" + bindComma(d.infee) + "원</span></label>");
|
||||
p.html("<label style='cursor:default; font-size:18px'>" + d.tseq + "기 | " + d.cname + " | <span style='" + ((d.retimeymd == "2099-12-31") ? 'display:none' : '') + "'><span class='gry'>" + d.ssrename + "</span></span><span class='red'> " + (d.retimeymd == "2099-12-31" ? "(" + d.studytime + " 시간)" : "(" + d.studytime + "시간)") + "</span> | <span class=red>" + bindComma(d.infee) + "원</span></label>");
|
||||
}
|
||||
else if (d.cshape == 1) {
|
||||
p.html("<label style='cursor:default; font-size:18px'>" + d.tseq + "기 | <span class='blu'>[" + d.studyplacename + "교육장]</span> " + d.cname + " | <span style='" + ((d.retimeymd == "2099-12-31") ? 'display:none' : '') + "'><span class='gry'>" + d.ssrename + "</span></span><span class='red'> " + (d.retimeymd == "2099-12-31" ? "신청일로부터 " + d.studydays + "일 (" + d.studytime + " 시간)" : "("+d.ssretimeToDay +"일)") + "</span> | <span class=red>" +bindComma(d.infee)+"원</span></label>");
|
||||
//p.html("<label style='cursor:default; font-size:18px'>" + d.tseq + "기 | <span class='blu'>[" + d.studyplacename + "교육장]</span> " + d.cname + " | <span style='" + ((d.retimeymd == "2099-12-31") ? 'display:none' : '') + "'><span class='gry'>" + d.ssrename + "</span></span><span class='red'> " + (d.retimeymd == "2099-12-31" ? "신청일로부터 " + d.studydays + "일 (" + d.studytime + " 시간)" : "("+d.ssretimeToDay +"일)") + "</span> | <span class=red>" +bindComma(d.infee)+"원</span></label>");
|
||||
p.html("<label style='cursor:default; font-size:18px'>" + d.tseq + "기 | <span class='blu'>[" + d.studyplacename + "교육장]</span> " + d.cname + " | <span style='" + ((d.retimeymd == "2099-12-31") ? 'display:none' : '') + "'><span class='gry'>" + d.ssrename + "</span></span><span class='red'> " + (d.retimeymd == "2099-12-31" ? "(" + d.studytime + " 시간)" : "("+d.ssretimeToDay +"일)") + "</span> | <span class=red>" +bindComma(d.infee)+"원</span></label>");
|
||||
}
|
||||
else if (d.cshape == 2) {
|
||||
//p.html("<label style='cursor:default; font-size:18px'>" + d.tseq + "기 | " + d.cname + " | <span style='" + ((d.retimeymd == "2099-12-31") ? 'display:none' : '') + "'><span class='gry'>" + d.ssrename + "</span></span><span class='red'> " + (d.retimeymd == "2099-12-31" ? "신청일로부터 " + d.studydays + "일 (" + d.studytime + " 시간)" : "(" + d.studytime + "시간)") + "</span> | <span class=red>" + bindComma(d.infee) + "원 ※ 집체교육 선택 필수</span></label>");
|
||||
p.html("<label style='cursor:default; font-size:18px'>" + d.tseq + "기 | " + d.cname + " | <span style='" + ((d.retimeymd == "2099-12-31") ? 'display:none' : '') + "'><span class='red'>교육종료일(" + d.setimeymd + "까지)</span></span><span> " + (d.retimeymd == "2099-12-31" ? "신청일로부터 " + d.studydays + "일 (" + d.studytime + " 시간)" : "(" + d.studytime + "시간)") + "</span></label>");
|
||||
//p.html("<label style='cursor:default; font-size:18px'>" + d.tseq + "기 | " + d.cname + " | <span style='" + ((d.retimeymd == "2099-12-31") ? 'display:none' : '') + "'><span class='red'>교육종료일(" + d.setimeymd + "까지)</span></span><span> " + (d.retimeymd == "2099-12-31" ? "신청일로부터 " + d.studydays + "일 (" + d.studytime + " 시간)" : "(" + d.studytime + "시간)") + "</span></label>");
|
||||
//p.html("<label style='cursor:default; font-size:18px'>" + d.cname + "<span style='" + ((d.retimeymd == "2099-12-31") ? 'display:none' : '') + "'></span><span> " + (d.retimeymd == "2099-12-31" ? "신청일로부터 " + d.studydays + "일 (" + d.studytime + " 시간)" : "(" + d.studytime + "시간)") + "</span></label>");
|
||||
p.html("<label style='cursor:default; font-size:18px'>" + d.cname + "<span style='" + ((d.retimeymd == "2099-12-31") ? 'display:none' : '') + "'></span><span> " + (d.retimeymd == "2099-12-31" ? "(" + d.studytime + " 시간)" : "(" + d.studytime + "시간)") + "</span></label>");
|
||||
}
|
||||
spanIntro.text("강좌소개");
|
||||
li.append(p);
|
||||
|
|
@ -314,7 +324,7 @@
|
|||
ulSubCm.append(li);
|
||||
});
|
||||
if (ulSubCm.html() != "") {
|
||||
ulSubCm.append(applyClass);
|
||||
//ulSubCm.append(applyClass);
|
||||
}
|
||||
if (capResult.obj.length <= 0) {
|
||||
ulSubCm.append("<p class='subDsc' style='margin-top:30px; margin-bottom:30px'>※ 강좌가 없습니다.</p >");
|
||||
|
|
|
|||
|
|
@ -194,6 +194,11 @@
|
|||
}
|
||||
@section scripts{
|
||||
<script>
|
||||
$(window).on("load", function () {
|
||||
$(".iframebox").each(function () {
|
||||
document.getElementById("ifrpop" + $(this).attr("ifrnum")).contentWindow.document.body.style.overflow = "hidden";
|
||||
});
|
||||
});
|
||||
$(document).ready(function () {
|
||||
initSearch();
|
||||
|
||||
|
|
@ -202,10 +207,10 @@
|
|||
$.each($($("#texthide01").val().split('nptechpopuplistseparator')), function (i, p) {
|
||||
var p = p.split('nptechpopupseparator');
|
||||
if ('p@(ViewBag.POPUPXS)p'.indexOf('p' + p[0] + 'p') < 0) {
|
||||
$("body").append("<div data-zindex=\"" + p[8] + "\" style=\"z-index: " + p[8] + "; left: " + p[4] + "px; top: " + p[3] + "px; width: " + (getint(p[5]) + 45) + "px; height: " + (getint(p[6]) + 105) + "px;\" class=\"draggablethis ui-widget-content popupitem\" id=\"popbox" + p[0] + "\">" +
|
||||
$("body").append("<div data-zindex=\"" + p[8] + "\" style=\"z-index: " + p[8] + "; left: " + p[4] + "px; top: " + p[3] + "px; width: " + (getint(p[5])) + "px; height: " + (getint(p[6])) + "px;\" class=\"draggablethis ui-widget-content popupitem\" id=\"popbox" + p[0] + "\">" +
|
||||
"<div class=\"inner\"><div class=\"poptitlebox\"><span>" + p[1] + "</span>" +
|
||||
"<a class=\"closepopa\" href=\"#\" onclick=\"hidepop();$('#popbox" + p[0] + "').remove();\">x</a></div>" +
|
||||
"<div class=\"iframebox\"><iframe id=\"ifrpop" + p[0] + "\" style=\"border: 0 none; height: " + p[6] + "px; width: " + (getint(p[5])) + "px;\"></iframe></div>" +
|
||||
"<a class=\"closepopa\" href=\"#\" onclick=\"hidepop();$('#popbox" + p[0] + "').remove();\">✖</a></div>" +
|
||||
"<div class=\"iframebox\" ifrnum=\""+p[0]+"\"><iframe id=\"ifrpop" + p[0] + "\" style=\"border: 0 none; height: " + (getint(p[6]) - 4) + "px; width: " + (getint(p[5])) + "px;\"></iframe></div>" +
|
||||
"<div class=\"iframeclosebox\"></div></div></div>");
|
||||
//"<div class=\"iframeclosebox\"><a class=\"\" style=\"border: 1px solid #ddd; padding: 5px 15px;\" onclick=\"hide7('popbox" + p[0] + "', " + p[0] + ")\"> 7일간 숨기기</a></div></div></div>");
|
||||
$("#ifrpop" + p[0]).attr("src", "/Home/Popup?pno=" + p[0]);
|
||||
|
|
|
|||
|
|
@ -121,11 +121,12 @@
|
|||
$.each($($("#texthide01").val().split('nptechpopuplistseparator')), function (i, p) {
|
||||
var p = p.split('nptechpopupseparator');
|
||||
if ('p@(ViewBag.POPUPXS)p'.indexOf('p' + p[0] + 'p') < 0) {
|
||||
$("body").append("<div data-zindex=\"" + p[8] + "\" style=\"z-index: " + p[8] + "; left: " + p[4] + "px; top: " + p[3] + "px; width: " + (getint(p[5]) + 45) + "px; height: " + (getint(p[6]) + 105) + "px;\" class=\"draggablethis ui-widget-content popupitem\" id=\"popbox" + p[0] + "\">" +
|
||||
$("body").append("<div data-zindex=\"" + p[8] + "\" style=\"z-index: " + p[8] + "; left: " + p[4] + "px; top: " + p[3] + "px; width: " + (getint(p[5])) + "px; height: " + (getint(p[6])) + "px;\" class=\"draggablethis ui-widget-content popupitem\" id=\"popbox" + p[0] + "\">" +
|
||||
"<div class=\"inner\"><div class=\"poptitlebox\"><span>" + p[1] + "</span>" +
|
||||
"<a class=\"closepopa\" href=\"#\" onclick=\"hidepop();$('#popbox" + p[0] + "').remove();\">x</a></div>" +
|
||||
"<a class=\"closepopa\" href=\"#\" onclick=\"hidepop();$('#popbox" + p[0] + "').remove();\">✖</a></div>" +
|
||||
"<div class=\"iframebox\"><iframe id=\"ifrpop" + p[0] + "\" style=\"border: 0 none; height: " + p[6] + "px; width: " + (getint(p[5])) + "px;\"></iframe></div>" +
|
||||
"<div class=\"iframeclosebox\"><a class=\"\" style=\"border: 1px solid #ddd; padding: 5px 15px;\" onclick=\"hide7('popbox" + p[0] + "', " + p[0] + ")\"> 7일간 숨기기</a></div></div></div>");
|
||||
"<div class=\"iframeclosebox\"></div></div></div>");
|
||||
//"<div class=\"iframeclosebox\"><a class=\"\" style=\"border: 1px solid #ddd; padding: 5px 15px;\" onclick=\"hide7('popbox" + p[0] + "', " + p[0] + ")\"> 7일간 숨기기</a></div></div></div>");
|
||||
$("#ifrpop" + p[0]).attr("src", "/Home/Popup?pno=" + p[0]);
|
||||
$("#popbox" + p[0]).show();
|
||||
//$("html").css("overflow", "hidden");
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
</form>
|
||||
<div class="lctQr">
|
||||
<span class="@(Model.tabidx == 0 ? "current" : "" )" onclick="tabChange(0);" id="lblAll">신규과정</span> |
|
||||
<span class="@(Model.tabidx == 1 ? "current" : "" )" onclick="tabChange(1);" id="lblOff">2021년 이전과정</span>
|
||||
<span class="@(Model.tabidx == 1 ? "current" : "" )" onclick="tabChange(1);" id="lblOff">이전과정</span>
|
||||
</div>
|
||||
@if (Model.tabidx == 0)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -129,7 +129,8 @@
|
|||
</h5>
|
||||
<dl>
|
||||
<dt class="mpglSta@(d.intval5 == 0 && d.intval4 == 1 ? 3 : 1)">@(d.intval5 == 1 ? "환불요청" : d.intval4 == 1 ? "결제완료" : d.intval4 == 21 ? "결제대기" : d.intval4 == 22 ? "입금대기" : d.intval4 == 51 ? "심사중" : d.intval4 == 55 ? "승인대기" : "")</dt>
|
||||
<dd>교육기간 : @(d.time2.Year == 2099 ? "결제완료일로부터 "+d.intval9+"일" : (d.intval3 == 1 ? d.time5.ToString("yy-MM-dd") : d.time3.ToString("yy-MM-dd"))+ " ~ "+ (d.intval3 == 1 ? d.time6.ToString("yy-MM-dd") : d.time4.ToString("yy-MM-dd")))</dd>
|
||||
@*<dd>교육기간 : @(d.time2.Year == 2099 ? "결제완료일로부터 "+d.intval9+"일" : (d.intval3 == 1 ? d.time5.ToString("yy-MM-dd") : d.time3.ToString("yy-MM-dd"))+ " ~ "+ (d.intval3 == 1 ? d.time6.ToString("yy-MM-dd") : d.time4.ToString("yy-MM-dd")))</dd>*@
|
||||
<dd>교육기간 : @(d.time2.Year == 2099 ? "신청일부터 선택한 교육종료일까지" : (d.intval3 == 1 ? d.time5.ToString("yy-MM-dd") : d.time3.ToString("yy-MM-dd"))+ " ~ "+ (d.intval3 == 1 ? d.time6.ToString("yy-MM-dd") : d.time4.ToString("yy-MM-dd")))</dd>
|
||||
</dl>
|
||||
</a>
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -46,35 +46,38 @@
|
|||
<div class="ltaList">
|
||||
<a href="@(d.isgroup == 0 || (d.isgroup == 1 && Model.Lects.Where(w=>w.payno == d.payno && w.userno==ViewBag.SSUserNo).Count() > 0) ? string.Format("/CRoom/Index?croomlectno={0}", d.isgroup == 0 ? d.lectno : Model.Lects.Where(w=>w.payno == d.payno && w.userno==ViewBag.SSUserNo).First().lectno, d.cmno) : "#")" class="gocroom">
|
||||
<h5>
|
||||
<em>@d.tyear-@(d.tseq)기</em>
|
||||
@if(d.cshape == 1)
|
||||
{
|
||||
<em>@d.tyear-@(d.tseq)기</em>
|
||||
}
|
||||
<span class="nav">@d.cshapename</span>
|
||||
@Html.Raw(d.isrebate == 1 ? "<span class=\"grn\">환급</span>" : "")
|
||||
<b>@d.cname (@(d.classno))</b>
|
||||
</h5>
|
||||
<dl class="ltaDl">
|
||||
<dt class="@(d.edate > DateTime.Now ? "ltaDlbk" : "ltaDlred")">@(d.edate > DateTime.Now ? "교육기간 학습중" : "종료")</dt>
|
||||
<dt class="@(d.edate > DateTime.Now ? "ltaDlblue" : d.edate.Value.AddYears(1) > DateTime.Now ? "ltaDlblue" : "ltaDlred")">@(d.edate > DateTime.Now ? "교육기간 학습중" : d.edate.Value.AddYears(1) > DateTime.Now ? "복습가능" : "종료")</dt>
|
||||
<dt style="color:#888888">
|
||||
교육기간 : @(string.Format("{0} ~ {1}", d.cshape == 1 ? d.sdate.Value.ToString("yy-MM-dd") : d.cdt.ToString("yy-MM-dd") , d.cshape == 1 ? d.edate.Value.ToString("yy-MM-dd") : d.estart.ToString("yy-MM-dd")))
|
||||
@if (false && d.cshape == 2 && d.estart > Convert.ToDateTime("1900-01-01") && d.eend > Convert.ToDateTime("1900-01-01"))
|
||||
{
|
||||
@:| 집체교육기간 : @("[" + d.studyplacename + "] " + string.Format("{0}", d.estart.ToString("yy-MM-dd")))
|
||||
}
|
||||
교육기간 : @(string.Format("{0} ~ {1}", d.cshape == 1 ? d.sdate.Value.ToString("yy-MM-dd") : d.cdt.ToString("yy-MM-dd") , d.edate.Value.ToString("yy-MM-dd")))
|
||||
</dt>
|
||||
@if(d.cshape != 1)
|
||||
{
|
||||
<dd>복습기간 : @(d.edate.Value.AddYears(1).ToString("yy-MM-dd"))까지</dd>
|
||||
<dt style="color:#888888">복습기간 : @(d.edate.Value.AddYears(1).ToString("yy-MM-dd"))까지</dt>
|
||||
}
|
||||
@if (d.cshape == 2 && d.estart > Convert.ToDateTime("1900-01-01") && d.eend > Convert.ToDateTime("1900-01-01"))
|
||||
{
|
||||
<dd>@(d.scdtype == 1 ? "교육종료일" : "집체교육일") : @(string.Format("{0}", d.estart.ToString("yy-MM-dd")))</dd>
|
||||
}
|
||||
</dl>
|
||||
</a>
|
||||
@if (d.cshape == 2 && d.estart > Convert.ToDateTime("1900-01-01") && d.eend > Convert.ToDateTime("1900-01-01") && d.iscomplete != 1 && Convert.ToDateTime(d.estart) > DateTime.Now)
|
||||
@*@if (d.cshape == 2 && d.estart > Convert.ToDateTime("1900-01-01") && d.eend > Convert.ToDateTime("1900-01-01") && d.iscomplete != 1 && Convert.ToDateTime(d.estart) > DateTime.Now)
|
||||
{
|
||||
<dl class="ltaDl" style="display:none;">
|
||||
<dd>
|
||||
|
||||
<input type="button" value="수료일정변경" onclick="javscript:openScd(@d.cmno,@d.lectno);" />
|
||||
<input type="button" value="교육일정변경" onclick="javscript:openScd(@d.cmno,@d.lectno);" />
|
||||
</dd>
|
||||
</dl>
|
||||
}
|
||||
}*@
|
||||
</div>
|
||||
</th>
|
||||
<td class="ltaBtn" data-th="강의실 : ">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,179 @@
|
|||
@model NP.Model.VMMy
|
||||
@{
|
||||
|
||||
}
|
||||
<table class="lctAply">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>강좌명</th>
|
||||
<td>교육일정변경</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var d in Model.Lects.Where(w=>w.rno == 1))
|
||||
{
|
||||
<tr>
|
||||
<th>
|
||||
<div class="ltaList">
|
||||
<h5>
|
||||
@if(d.cshape == 1)
|
||||
{
|
||||
<em>@d.tyear-@(d.tseq)기</em>
|
||||
}
|
||||
<span class="nav">@d.cshapename</span>
|
||||
@Html.Raw(d.isrebate == 1 ? "<span class=\"grn\">환급</span>" : "")
|
||||
<b>@d.cname (@(d.classno))</b>
|
||||
</h5>
|
||||
<dl class="ltaDl">
|
||||
<dt class="@(d.edate > DateTime.Now ? "ltaDlblue" : d.edate.Value.AddYears(1) > DateTime.Now ? "ltaDlblue" : "ltaDlred")">@(d.edate > DateTime.Now ? "교육기간 학습중" : d.edate.Value.AddYears(1) > DateTime.Now ? "복습가능" : "종료")</dt>
|
||||
<dt style="color:#888888">
|
||||
교육기간 : @(string.Format("{0} ~ {1}", d.cshape == 1 ? d.sdate.Value.ToString("yy-MM-dd") : d.cdt.ToString("yy-MM-dd") , d.edate.Value.ToString("yy-MM-dd")))
|
||||
</dt>
|
||||
@if(d.cshape != 1)
|
||||
{
|
||||
<dt style="color:#888888">복습기간 : @(d.edate.Value.AddYears(1).ToString("yy-MM-dd"))까지</dt>
|
||||
}
|
||||
@if (d.cshape == 2 && d.estart > Convert.ToDateTime("1900-01-01") && d.eend > Convert.ToDateTime("1900-01-01"))
|
||||
{
|
||||
<dd>@(d.scdtype == 1 ? "교육종료일" : "집체교육일") : @(string.Format("{0}", d.estart.ToString("yy-MM-dd")))</dd>
|
||||
}
|
||||
</dl>
|
||||
</div>
|
||||
</th>
|
||||
<td class="ltaBtn" data-th="교육일정변경 : ">
|
||||
@if (d.cshape == 2 && d.estart > Convert.ToDateTime("1900-01-01") && d.eend > Convert.ToDateTime("1900-01-01") && d.iscomplete != 1 && Convert.ToDateTime(d.estart) > DateTime.Now)
|
||||
{
|
||||
<dl><dd class="blu"><a href="#" onclick="javscript:openScd(@d.cmno,@d.lectno);">변경</a></dd></dl>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span>-</span>
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
@if (Model.Lects.Count() < 1)
|
||||
{
|
||||
<div style="text-align: center; padding: 20px;">- 수강중인 강좌가 없습니다.</div>
|
||||
}
|
||||
<form id="mform" method="post" action="">
|
||||
@Html.HiddenFor(m => m.intval)
|
||||
@Html.HiddenFor(m => m.stringval)
|
||||
</form>
|
||||
|
||||
<div class="mpgPop" style="display: none" id="popScd">
|
||||
<div>
|
||||
<div>
|
||||
<div class="mpgPopWrap">
|
||||
<div class="mpgPopTitle">
|
||||
<h5>교육일정변경</h5>
|
||||
<a href="javascript:mpgPopClose();"></a>
|
||||
</div>
|
||||
<div class="mpgPopCont">
|
||||
<ul id="ulScd"></ul>
|
||||
<ul class="mpgPopBtn">
|
||||
<li><a href="#" class="bk" onclick="selectScd()">선택완료</a></li>
|
||||
<li><a href="#" onclick="mpgPopClose()">취소</a></li>
|
||||
</ul>
|
||||
</div><!-- clsPopCont -->
|
||||
</div><!-- clsPopWrap -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@section scriptsHeader{
|
||||
|
||||
}
|
||||
@section scripts{
|
||||
<script>
|
||||
var vLectno;
|
||||
|
||||
function pc(lectno,userno) {
|
||||
if (lectno < 1) {
|
||||
msg('본인의 수료증만 확인할 수 있습니다.');
|
||||
} else {
|
||||
window.open("/My/CertPrint?lectno=" + lectno+"&intval="+userno, "certprint", "width=" + (screen.availWidth) + ", height=" + (screen.availHeight) + ", scrollbars=yes, resizable=yes, status=no, location=no, left=0, top=0");
|
||||
}
|
||||
}
|
||||
function ps() {
|
||||
window.open("/My/CertSet");
|
||||
}
|
||||
function openScd(cmno, lectno) {
|
||||
vLectno = lectno
|
||||
$(".mpgPop").show();
|
||||
setScd(cmno);
|
||||
}
|
||||
function setScd(cmno) {
|
||||
capp("/focommon/GetScdForMixEdu", { cmno: cmno, lectno: vLectno }, "renderScd");
|
||||
}
|
||||
function renderScd() {
|
||||
var ulScd = $("#ulScd");
|
||||
ulScd.empty();
|
||||
//var seq = 0;
|
||||
|
||||
$.each(capResult.obj, function (i, d) {
|
||||
var li = $("<li />");
|
||||
if (d.isEnd == true) {
|
||||
//li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (종료)</label>");
|
||||
}
|
||||
else {
|
||||
if (d.quota != 0) {
|
||||
if (d.remainPeople <= 0) {
|
||||
//li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "' disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span><label style='color: red'> (마감)</label>");
|
||||
}
|
||||
else {
|
||||
if (d.isselected == 1) {
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "' checked> " + d.scdInfoSummary + "<label style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</label>");
|
||||
} else {
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "'> " + d.scdInfoSummary + "<label style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</label>");
|
||||
}
|
||||
//if (seq == 0) {
|
||||
// li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "' checked> " + d.scdInfoSummary + "<label style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</label>");
|
||||
//}
|
||||
//else {
|
||||
// li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "'> " + d.scdInfoSummary + "<label style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</label>");
|
||||
//}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (d.isselected == 1) {
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "' checked> " + d.scdInfoSummary + "</label>");
|
||||
} else {
|
||||
li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "'> " + d.scdInfoSummary + "</label>");
|
||||
}
|
||||
//if (seq == 0) {
|
||||
// li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "' checked> " + d.scdInfoSummary + "</label>");
|
||||
//}
|
||||
//else {
|
||||
// li.append("<input type='radio' name='rdoScds' value='" + d.cmisno + "'> " + d.scdInfoSummary + "</label>");
|
||||
//}
|
||||
}
|
||||
}
|
||||
//seq++;
|
||||
ulScd.append(li);
|
||||
});
|
||||
}
|
||||
|
||||
function selectScd() {
|
||||
if (confirm("교육종료일을 변경하시겠습니까?")) {
|
||||
var cmisno = $("input:radio[name=rdoScds]:checked").val();
|
||||
var lectno = vLectno;
|
||||
if (cmisno == "" || cmisno == undefined || cmisno == null) {
|
||||
msg("선택한 일정이 없습니다.");
|
||||
return;
|
||||
}
|
||||
capp("/focommon/UpdateScd", { cmisno: cmisno, lectno: lectno }, "scdSave");
|
||||
}
|
||||
}
|
||||
function scdSave() {
|
||||
msg(capResult.msg);
|
||||
if (capResult.code == 1) {
|
||||
submit();
|
||||
}
|
||||
else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
}
|
||||
|
|
@ -206,7 +206,7 @@
|
|||
else if (check("brno", null, "사업자번호를 입력해주세요.")) { }
|
||||
else if (getBytes(val("brno")) != 10) { focus("brno"); msg("10자리의 사업자번호를 입력해주세요."); }
|
||||
else if (check("asname", null, "회사명을 입력해주세요.")) { }
|
||||
else if (val("mphone") != "" && !istelnumber(val("mphone"))) { focus("mphone2"); msg("올바른 휴대전화번호를 입력해주세요."); }
|
||||
else if (val("mphone") != "" && (!istelnumber(val("mphone")) && !ismobilenumber(val("mphone")))) { focus("mphone2"); msg("올바른 휴대전화번호를 입력해주세요."); }
|
||||
else if (val("taxemail") != "" && !isemail(val("taxemail"))) { focus("taxemail1"); msg("올바른 이메일주소를 입력해주세요."); }
|
||||
else {
|
||||
capfileform("/fcommon/assignupdate", "mform", "cbsave");
|
||||
|
|
|
|||
|
|
@ -39,9 +39,9 @@
|
|||
<td>
|
||||
<input type="hidden" name="userpno" id="userpno" value="@u.userpno" />
|
||||
<ul class="clsMail mdfy">
|
||||
<li><input type="text" name="userpno1" id="userpno1" maxlength="6" value="@u.userpno.Substring(0,6)" readonly="" style="background-color:#ddd;"></li>
|
||||
<li><input type="text" name="userpno1" id="userpno1" maxlength="6" value="@u.userpno.Substring(0,6)" readonly="readonly" style="background-color:#ddd;"></li>
|
||||
<li>-</li>
|
||||
<li><input type="text" name="userpno2" id="userpno2" maxlength="7" value="@u.userpno.Substring(6)"></li>
|
||||
<li><input type="text" name="userpno2" id="userpno2" maxlength="7" value="@u.userpno.Substring(6)" readonly="readonly" style="background-color:#ddd;"></li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -406,7 +406,7 @@
|
|||
<li><a href="#" class="bk" onclick="save3()">환불 최종요청</a></li>
|
||||
<li><a href="#" class="bk" onclick="cancelRfd()">환불신청 취소</a></li>
|
||||
}
|
||||
@if (Model.PayRfd.rstatus == 0 && (Model.PayRfd.fgnob != null || Model.PayRfd.fgnor != null))
|
||||
@if (Model.PayRfd.rstatus == 1 && (Model.PayRfd.fgnob != null || Model.PayRfd.fgnor != null))
|
||||
{
|
||||
<li><a href="#" class="bk" onclick="cancelRfd()">환불신청 취소</a></li>
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,8 @@
|
|||
<dt class="@(d.pstatus == 1 && d.rfdstatus < 1 ? "ltaDlbk":"ltaDlred")">@(d.pstatus == 55 ? "승인대기" : d.pstatus == 51 ? "심사중" : d.pstatus == 21 ? "결제대기" : d.pstatus == 22 ? "입금대기" : d.pstatus == 1 && d.rfdstatus > 0 ? "환불요청" : d.pstatus == 1 ? "결제완료" : d.rstatus == 1 ? "부분환불" : d.rstatus == 2 ? "전액환불" : "-")</dt>
|
||||
<dd>
|
||||
@*신청기간 : @(d.retime.Value.Year == 2099 ? "상시운영" : d.rstime.Value.ToString("yy/MM/dd") + " ~ " + d.retime.Value.ToString("yy/MM/dd"))*@
|
||||
교육기간 : @(d.retime.Value.Year == 2099 ? "결제완료일로부터 "+d.studydays+"일" : (d.cshape != 1 ? d.cdt.ToString("yy-MM-dd") : d.sdate.Value.ToString("yy-MM-dd")) +" ~ "+ (d.cshape != 1 ? d.cmiestart != null ? d.cmiestart.Value.ToString("yy-MM-dd") : "" : d.edate.Value.ToString("yy-MM-dd")))
|
||||
@*교육기간 : @(d.retime.Value.Year == 2099 ? "결제완료일로부터 "+d.studydays+"일" : (d.cshape != 1 ? d.cdt.ToString("yy-MM-dd") : d.sdate.Value.ToString("yy-MM-dd")) +" ~ "+ (d.cshape != 1 ? d.cmiestart != null ? d.cmiestart.Value.ToString("yy-MM-dd") : "" : d.edate.Value.ToString("yy-MM-dd")))*@
|
||||
교육기간 : @(d.retime.Value.Year == 2099 ? "신청일부터 선택한 교육종료일까지" : (d.cshape != 1 ? d.cdt.ToString("yy-MM-dd") : d.sdate.Value.ToString("yy-MM-dd")) +" ~ "+ (d.cshape != 1 ? d.cmiestart != null ? d.cmiestart.Value.ToString("yy-MM-dd") : "" : d.edate.Value.ToString("yy-MM-dd")))
|
||||
@if (false && d.cshape == 2)
|
||||
{
|
||||
@:| 집체교육기간 : @(d.cmisno == null ? "미정" : ("[" + d.studyplacename + "] " + string.Format("{0}", d.cmiestart.Value.ToString("yy-MM-dd"))))
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
<ul id="ulm1">
|
||||
@if (ViewBag.SSUserNo == 0)
|
||||
{
|
||||
foreach (var m1 in menus.Where(w => w.pdepth == 1 && !(w.refcode ?? "").Contains("menu.authmenu")))
|
||||
foreach (var m1 in menus.Where(w => w.pdepth == 1 && w.isopen < 6 && !(w.refcode ?? "").Contains("menu.authmenu")))
|
||||
{
|
||||
var mp = m1.pagetype == 0 ? menus.Where(w => w.pagetype > 0 && (w.m1 == m1.pno || w.m2 == m1.pno || w.m3 == m1.pno || w.m4 == m1.pno)).FirstOrDefault() ?? new NP.Model.MenuPage() { } : m1;
|
||||
<li data-ppno="@m1.m0" class="m@(m1.m0) @(((NP.Model.MenuPage)ViewBag.MenuPage).m0 == m1.m0 ? "" : "hidden") @(((NP.Model.MenuPage)ViewBag.MenuPage).m1 == m1.pno ? "current" : "")"><a onclick="gomenu(@mp.pno, @mp.pagetype, '@(mp.pageurl ?? "")', this)" href="#" data-refcode="@(m1.refcode ?? "")">@m1.pagename</a></li>
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
}
|
||||
else
|
||||
{
|
||||
foreach (var m1 in menus.Where(w => w.pdepth == 1 && !(w.refcode ?? "").Contains("menu.offmenu")))
|
||||
foreach (var m1 in menus.Where(w => w.pdepth == 1 && w.isopen < 6 && !(w.refcode ?? "").Contains("menu.offmenu")))
|
||||
{
|
||||
var mp = m1.pagetype == 0 ? menus.Where(w => w.pagetype > 0 && (w.m1 == m1.pno || w.m2 == m1.pno || w.m3 == m1.pno || w.m4 == m1.pno)).FirstOrDefault() ?? new NP.Model.MenuPage() { } : m1;
|
||||
<li data-ppno="@m1.m0" class="m@(m1.m0) @(((NP.Model.MenuPage)ViewBag.MenuPage).m0 == m1.m0 ? "" : "hidden") @(((NP.Model.MenuPage)ViewBag.menupage).m1 == m1.pno ? "current" : "")"><a onclick="gomenu(@mp.pno, @mp.pagetype, '@(mp.pageurl ?? "")', this)" href="#" data-refcode="@(m1.refcode ?? "")">@m1.pagename</a></li>
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
<div id="lctmbBtn"><span class="slice1"></span><span class="slice2"></span><span class="slice3"></span></div>
|
||||
<a href="#" onclick="outcroom(false)" id="lctMypg">마이페이지</a>
|
||||
<div id="lctInfo">
|
||||
<h3><a href="/CRoom/Index?@ViewBag.croomparam"><span class="hidepc">@(ViewBag.maintyear)-@(ViewBag.maintseq)기 [ @ViewBag.maincgname ]</span> @ViewBag.maincname (@(ViewBag.mainclassno)반)</a></h3>
|
||||
<h3><a href="/CRoom/Index?@ViewBag.croomparam"><span class="hidepc">@(ViewBag.maincshape != 1 ? "" : ViewBag.maintyear+"-"+ ViewBag.maintseq+"기") [ @ViewBag.maincgname ]</span> @ViewBag.maincname (@(ViewBag.mainclassno)반)</a></h3>
|
||||
<a href="#" onclick="outcroom(false)">나가기</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -64,7 +64,7 @@
|
|||
<dd><a href="#" onclick="$('#lctWrap').stop().animate({scrollTop : 0}, 1000)">up</a></dd>
|
||||
<dd><a href="#" onclick="$('#lctWrap').stop().animate({scrollTop: 10000}, 3000);">down</a></dd>
|
||||
</dl>
|
||||
<span id="lctmBtn">On/lct</span>
|
||||
@*<span id="lctmBtn">On/lct</span>*@
|
||||
</div><!-- lctMenu -->
|
||||
</div>
|
||||
<div id="lctWrap">
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@
|
|||
<dd><a href="#" onclick="$('html, body').stop().animate({scrollTop : 0}, 1000)">up</a></dd>
|
||||
<dd><a href="#" onclick="$('html, body').stop().animate({scrollTop: 10000}, 3000);">down</a></dd>
|
||||
</dl>
|
||||
<span id="lctmBtn">On/lct</span>
|
||||
@*<span id="lctmBtn">On/lct</span>*@
|
||||
</div>
|
||||
</div>
|
||||
<div id="mpgWrap">
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
<dd><a href="#" onclick="$('html, body').stop().animate({scrollTop : 0}, 1000)">up</a></dd>
|
||||
<dd><a href="#" onclick="$('html, body').stop().animate({scrollTop: 10000}, 3000);">down</a></dd>
|
||||
</dl>
|
||||
<span id="lctmBtn">On/lct</span>
|
||||
@*<span id="lctmBtn">On/lct</span>*@
|
||||
</div>
|
||||
</div>
|
||||
<div id="mpgWrap">
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
@charset "utf-8";
|
||||
.popupitem{position: absolute; display: none; border-radius: 10px; text-align: center; padding: 8px 8px; background-color: #fff; border: 1px solid #ddd;}
|
||||
.popupitem .inner{padding: 5px 10px; background-color: #fff; border-radius: 10px; }
|
||||
.popupitem{position: absolute; display: none; border-radius: 10px; text-align: center; background-color: #fff;}
|
||||
.popupitem .inner{background-color: #fff; border-radius: 10px; }
|
||||
.popupitem .inner .poptitlebox{height: 30px; line-height: 30px; cursor: pointer;}
|
||||
.popupitem .inner .poptitlebox span{display: block; margin-right: 50px; overflow: hidden; white-space: nowrap; text-align: left; text-overflow: ellipsis;}
|
||||
.closepopa{float: right; margin-top: -25px; font-size: 20px; padding: 5px 10px;}
|
||||
.iframeclosebox{height: 30px; line-height: 30px; font-weight: bold; text-align: right;}
|
||||
.popupitem .inner .poptitlebox span{display: block;margin-right: 50px;overflow: hidden;white-space: nowrap;text-align: left;text-overflow: ellipsis; margin-left:10px}
|
||||
.closepopa{font-size: 20px;padding: 5px 10px;position:absolute;top: 0px;right: 0px;line-height: 20px;color: #666666 !important;}
|
||||
.closepopa:hover {color: #fff !important; background-color: #e81123; border-top-right-radius: 10px;}
|
||||
.iframeclosebox{height: 30px; line-height: 30px; font-weight: bold; text-align: right; display:none;}
|
||||
.req:before{color:#666;content:'*'}
|
||||
/*.req:after{color: red;content:'*'}*/
|
||||
@media (max-width:1000px) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
$(window).on("keydown", function (e) {
|
||||
if (e.keyCode == 116 || e.keyCode == 123) {
|
||||
if (e.keyCode == 116 /*|| e.keyCode == 123*/) {
|
||||
prv(); return false;
|
||||
}
|
||||
if (e.keyCode == 119 && typeof (save) == "function" && $("#layermessage:visible").length < 1) {
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ namespace NP.Model
|
|||
}
|
||||
public Int64 fileno { get; set; }
|
||||
public Int64 fileno2 { get; set; }
|
||||
public Int64 fileno3 { get; set; }
|
||||
public Int64 filesize { get; set; }
|
||||
public String filesizename
|
||||
{
|
||||
|
|
@ -34,8 +35,10 @@ namespace NP.Model
|
|||
public DateTime filecdt { get; set; }
|
||||
public String fileurl { get; set; }
|
||||
public String fileurl2 { get; set; }
|
||||
public String fileurl3 { get; set; }
|
||||
public String orgname { get; set; }
|
||||
public String orgname2 { get; set; }
|
||||
public String orgname3 { get; set; }
|
||||
public bool isfileext
|
||||
{
|
||||
get
|
||||
|
|
@ -128,6 +131,8 @@ namespace NP.Model
|
|||
/// </summary>
|
||||
public String udtymdwd{get{return this.udt.ToString("yyyy-MM-dd(ddd)", System.Globalization.CultureInfo.CreateSpecificCulture("ko-KR"));}}
|
||||
public Int64 uno { get; set; }
|
||||
public String unoname { get; set; }
|
||||
public String unoid { get; set; }
|
||||
public String uip { get; set; }
|
||||
public int pagetotalcount { get; set; }
|
||||
public Int32 rno { get; set; }
|
||||
|
|
|
|||
345
Model/CM.cs
345
Model/CM.cs
|
|
@ -553,10 +553,38 @@ namespace NP.Model
|
|||
/// 시작시간 오프라인전용, 0011 0시11분
|
||||
/// </summary>
|
||||
public String ist {get;set;}
|
||||
public String isthh
|
||||
{
|
||||
get
|
||||
{
|
||||
return String.IsNullOrEmpty(ist) ? null : ist.Length > 2 ? ist.Substring(0, 2) : null;
|
||||
}
|
||||
}
|
||||
public String istmm
|
||||
{
|
||||
get
|
||||
{
|
||||
return String.IsNullOrEmpty(ist) ? null : ist.Length > 4 ? ist.Substring(0, 2) : null;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 종료시간 오프라인전용, 0930 9시30분
|
||||
/// </summary>
|
||||
public String iet {get;set;}
|
||||
public String iethh
|
||||
{
|
||||
get
|
||||
{
|
||||
return String.IsNullOrEmpty(iet) ? null : iet.Length > 2 ? iet.Substring(0, 2) : null;
|
||||
}
|
||||
}
|
||||
public String ietmm
|
||||
{
|
||||
get
|
||||
{
|
||||
return String.IsNullOrEmpty(iet) ? null : iet.Length > 4 ? iet.Substring(2, 2) : null;
|
||||
}
|
||||
}
|
||||
public Int64? fgnotf { get; set; }
|
||||
/// <summary>
|
||||
/// fkcminningct 강의콘텐츠 ct.ctno
|
||||
|
|
@ -592,12 +620,16 @@ namespace NP.Model
|
|||
/// <summary>
|
||||
/// fkcminningu 강사 users.userno cmprofessor
|
||||
/// </summary>
|
||||
public int userno {get;set;}
|
||||
public int? userno {get;set;}
|
||||
public String username { get; set; }
|
||||
/// <summary>
|
||||
/// fkcminningfg 오프라인출결근거자료 filegroup.fgno
|
||||
/// </summary>
|
||||
public Int64? fgno {get;set;}
|
||||
/// <summary>
|
||||
/// fkcminningscdfg 집체교육출결근거자료 filegroup.fgnoaff
|
||||
/// </summary>
|
||||
public Int64? fgnooff {get;set;}
|
||||
|
||||
public IList<CMInning> Ds { get; set; }
|
||||
/// <summary>
|
||||
|
|
@ -639,6 +671,13 @@ namespace NP.Model
|
|||
return idate.ToString("yyyy-MM-dd");
|
||||
}
|
||||
}
|
||||
public String idateymd2
|
||||
{
|
||||
get
|
||||
{
|
||||
return idate.ToString("yy-MM-dd");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 강의유형 0: 온라인, 1: 오프라인, 2: 혼합(온+오프)
|
||||
/// </summary>
|
||||
|
|
@ -675,6 +714,18 @@ namespace NP.Model
|
|||
public int isoversize { get; set; }
|
||||
public int ismenu { get; set; }
|
||||
public int mtime { get; set; }
|
||||
public int isscd { get; set; }
|
||||
/// <summary>
|
||||
/// 0:교육장;1:온라인대체;
|
||||
/// </summary>
|
||||
public int? scdtype { get; set; }
|
||||
public String scdtypename
|
||||
{
|
||||
get
|
||||
{
|
||||
return scdtype == null ? "-" : scdtype == 0 ? "교육장" : "온라인대체";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -1049,15 +1100,29 @@ namespace NP.Model
|
|||
public DateTime? stime { get; set; }
|
||||
public DateTime? etime { get; set; }
|
||||
public DateTime? sdate { get; set; }
|
||||
public DateTime? edate { get; set; }
|
||||
public String sdateymd
|
||||
{
|
||||
get { return sdate != null ? Convert.ToDateTime(sdate).ToShortDateString() : null; }
|
||||
}
|
||||
public String sdatestr
|
||||
{
|
||||
get
|
||||
{
|
||||
return cshape == 0 && isrebate == 0 ? payoktime.ToShortDateString() : sdate != null ? Convert.ToDateTime(sdate).ToShortDateString() : null;
|
||||
}
|
||||
}
|
||||
public DateTime? edate { get; set; }
|
||||
public String edateymd
|
||||
{
|
||||
get { return edate != null ? Convert.ToDateTime(edate).ToShortDateString() : null; }
|
||||
}
|
||||
public String edatestr
|
||||
{
|
||||
get
|
||||
{
|
||||
return cshape == 2 && eend != null ? eend.ToShortDateString() : edate != null ? Convert.ToDateTime(edate).ToShortDateString() : null;
|
||||
}
|
||||
}
|
||||
public String sip { get; set; }
|
||||
public String eip { get; set; }
|
||||
public int ispaied { get; set; }
|
||||
|
|
@ -1226,6 +1291,75 @@ namespace NP.Model
|
|||
/// </summary>
|
||||
public int statecode { get; set; }
|
||||
public DateTime paycdt { get; set; }
|
||||
public int sseq { get; set; }
|
||||
public String sseqname
|
||||
{
|
||||
get
|
||||
{
|
||||
return cshape == 2 ? sseq.ToString() : "-";
|
||||
}
|
||||
}
|
||||
public int? istatus { get; set; }
|
||||
public String istatusname
|
||||
{
|
||||
get
|
||||
{
|
||||
return istatus == null ? "미입력" : istatus == 2 ? "출석" : istatus == 0 ? "결석" : "입실";
|
||||
}
|
||||
}
|
||||
public int? scdtype { get; set; }
|
||||
public int isoffabs { get; set; }
|
||||
public String ex0point
|
||||
{
|
||||
get
|
||||
{
|
||||
return ex0cnt < 1 ? "-" : ex0lectcnt < 1 && ex0cnt > 0 ? "미제출" : ex0lectpoint.ToString();
|
||||
}
|
||||
}
|
||||
public String ex1point
|
||||
{
|
||||
get
|
||||
{
|
||||
return ex1cnt < 1 ? "-" : ex1lectcnt < 1 && ex1cnt < 0 ? "미제출" : ex1lectpoint.ToString();
|
||||
}
|
||||
}
|
||||
public String sd0point
|
||||
{
|
||||
get
|
||||
{
|
||||
return sd0cnt < 1 ? "-" : sd0lectcnt < 1 && sd0cnt > 0 ? "미제출" : sd0lectpoint.ToString();
|
||||
}
|
||||
}
|
||||
public String sd1point
|
||||
{
|
||||
get
|
||||
{
|
||||
return sd1cnt < 1 ? "-" : sd1lectcnt < 1 && sd1cnt > 0 ? "미제출" : sd1lectpoint.ToString();
|
||||
}
|
||||
}
|
||||
public String rs0point
|
||||
{
|
||||
get
|
||||
{
|
||||
return rs0lectcnt + " / " + rs0cnt;
|
||||
}
|
||||
}
|
||||
public String tpointstr
|
||||
{
|
||||
get
|
||||
{
|
||||
return ((apoint + mpoint + fpoint + spoint + dpoint)).ToString();
|
||||
}
|
||||
}
|
||||
public String isoffabsstr
|
||||
{
|
||||
get
|
||||
{
|
||||
return isoffabs == 1 ? istatusname : "-";
|
||||
}
|
||||
}
|
||||
|
||||
public int? cmino { get; set; }
|
||||
}
|
||||
/// <summary>
|
||||
/// 자격검정시험
|
||||
|
|
@ -1334,6 +1468,7 @@ namespace NP.Model
|
|||
public String pcgname { get; set; }
|
||||
public String cgname { get; set; }
|
||||
public String gradename { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -1643,6 +1778,8 @@ namespace NP.Model
|
|||
return rtn == "" ? "" : rtn.Substring(2);
|
||||
}
|
||||
}
|
||||
public int scdtype { get; set; }
|
||||
public int cshape { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -2082,6 +2219,11 @@ namespace NP.Model
|
|||
public int selectcount { get; set; }
|
||||
public int countselect { get; set; }
|
||||
public int avgselect { get; set; }
|
||||
public int? iscorrect { get; set; }
|
||||
public int? eqno { get; set; }
|
||||
public String atext { get; set; }
|
||||
public int isignorecase { get; set; }
|
||||
public int ispassspace { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -3096,7 +3238,7 @@ namespace NP.Model
|
|||
/// <summary>
|
||||
/// fklectexlect 수강키 lect.lectno
|
||||
/// </summary>
|
||||
public Int64 lectno {get;set;}
|
||||
public Int64 lectno { get; set; }
|
||||
/// <summary>
|
||||
/// fklectexcmex 과정시험키 cmex.exno
|
||||
/// </summary>
|
||||
|
|
@ -3104,7 +3246,7 @@ namespace NP.Model
|
|||
/// <summary>
|
||||
/// 응시시작
|
||||
/// </summary>
|
||||
public DateTime? estart {get;set;}
|
||||
public DateTime? estart { get; set; }
|
||||
public String estartymdhm
|
||||
{
|
||||
get
|
||||
|
|
@ -3115,7 +3257,7 @@ namespace NP.Model
|
|||
/// <summary>
|
||||
/// 응시종료
|
||||
/// </summary>
|
||||
public DateTime? eend {get;set;}
|
||||
public DateTime? eend { get; set; }
|
||||
public String eendymdhm
|
||||
{
|
||||
get
|
||||
|
|
@ -3137,19 +3279,19 @@ namespace NP.Model
|
|||
/// <summary>
|
||||
/// 제출횟수
|
||||
/// </summary>
|
||||
public int recount {get;set;}
|
||||
public int recount { get; set; }
|
||||
/// <summary>
|
||||
/// 재채점시간
|
||||
/// </summary>
|
||||
public DateTime? rechecktime {get;set;}
|
||||
public DateTime? rechecktime { get; set; }
|
||||
/// <summary>
|
||||
/// cmex.relaylimit연계 이어보기필터, 접근기준
|
||||
/// </summary>
|
||||
public int entercount {get;set;}
|
||||
public int entercount { get; set; }
|
||||
/// <summary>
|
||||
/// 이어보기 포커스용
|
||||
/// </summary>
|
||||
public int cblock {get;set;}
|
||||
public int cblock { get; set; }
|
||||
public int userno { get; set; }
|
||||
/// <summary>
|
||||
/// 환급신청여부 환급강좌 기준
|
||||
|
|
@ -3194,6 +3336,13 @@ namespace NP.Model
|
|||
public IList<LectEXQ> UED { get; set; }
|
||||
public int issubmit { get; set; }
|
||||
public int? iscomplete { get; set; }
|
||||
public String iscompletename
|
||||
{
|
||||
get
|
||||
{
|
||||
return iscomplete == 1 ? "수료" : iscomplete == 0 ? "미수료" : "-";
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 온라인강좌 수강시작일
|
||||
/// </summary>
|
||||
|
|
@ -3202,6 +3351,85 @@ namespace NP.Model
|
|||
/// 온라인강좌 수강종료일
|
||||
/// </summary>
|
||||
public DateTime? edate { get; set; }
|
||||
public int cshape { get; set; }
|
||||
/// <summary>
|
||||
/// 교육일정시작일
|
||||
/// </summary>
|
||||
public DateTime lestart { get; set; }
|
||||
/// <summary>
|
||||
/// 교육일정종료일
|
||||
/// </summary>
|
||||
public DateTime leend { get; set; }
|
||||
public int sseq { get; set; }
|
||||
public String studyplacename{get; set;}
|
||||
public String cname { get; set; }
|
||||
public DateTime payoktime { get; set; }
|
||||
public Int64 cmisno { get; set; }
|
||||
public String leststr
|
||||
{
|
||||
get
|
||||
{
|
||||
return (cshape == 0 && isrebate == 0 ? payoktime : sdate).Value.ToShortDateString();
|
||||
}
|
||||
}
|
||||
public String leestr
|
||||
{
|
||||
get
|
||||
{
|
||||
if (cshape == 2)
|
||||
{
|
||||
if (lestart != null && lestart > Convert.ToDateTime("1900-01-01") && lestart.ToShortDateString() != "0001-01-01" && lestart >= DateTime.Now)
|
||||
{
|
||||
return "<td class=\"link text-center\"><a href=\"#\" onclick=\"javascript: openScd(" + cmno + "," + lectno + "," + cmisno + ");\">" + leend.ToShortDateString() + "</a></td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "<td>" + leend.ToShortDateString() + "</td>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (edate != null)
|
||||
{
|
||||
return "<td>" + edate.Value.ToShortDateString() + "</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "<td>-</td>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public int usertype { get; set; }
|
||||
public String scomplete
|
||||
{
|
||||
get
|
||||
{
|
||||
if (iscomplete == 1)
|
||||
{
|
||||
return "<td class=\"link text-center\"><a href=\"#\" onclick=\"viewcert(" + lectno + ")\">수료</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "<td class=\"\">" + iscompletename + "</td>";
|
||||
}
|
||||
}
|
||||
}
|
||||
public String scomplete96
|
||||
{
|
||||
get
|
||||
{
|
||||
if (iscomplete == 1)
|
||||
{
|
||||
return "<td class=\"link text-center\">수료</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "<td class=\"\">" + iscompletename + "</td>";
|
||||
}
|
||||
}
|
||||
}
|
||||
public int ispass { get; set; }
|
||||
}
|
||||
[Serializable]
|
||||
public class LectEXQ : LectEX
|
||||
|
|
@ -3406,6 +3634,92 @@ namespace NP.Model
|
|||
/// 온라인강좌 수강종료일
|
||||
/// </summary>
|
||||
public DateTime? edate { get; set; }
|
||||
public int cshape { get; set; }
|
||||
public int sseq { get; set; }
|
||||
public String studyplacename { get; set; }
|
||||
public String cname { get; set; }
|
||||
public DateTime payoktime { get; set; }
|
||||
/// <summary>
|
||||
/// 교육일정시작일
|
||||
/// </summary>
|
||||
public DateTime lestart { get; set; }
|
||||
/// <summary>
|
||||
/// 교육일정종료일
|
||||
/// </summary>
|
||||
public DateTime leend { get; set; }
|
||||
public Int64 cmisno { get; set; }
|
||||
public int? iscomplete { get; set; }
|
||||
public String iscompletename
|
||||
{
|
||||
get
|
||||
{
|
||||
return iscomplete == 1 ? "수료" : iscomplete == 0 ? "미수료" : "-";
|
||||
}
|
||||
}
|
||||
public String leststr
|
||||
{
|
||||
get
|
||||
{
|
||||
return (cshape == 0 && isrebate == 0 ? payoktime : sdate).Value.ToShortDateString();
|
||||
}
|
||||
}
|
||||
public String leestr
|
||||
{
|
||||
get
|
||||
{
|
||||
if(cshape == 2)
|
||||
{
|
||||
if(lestart != null && lestart > Convert.ToDateTime("1900-01-01") && lestart.ToShortDateString() != "0001-01-01" && lestart >= DateTime.Now)
|
||||
{
|
||||
return "<td class=\"link text-center\"><a href=\"#\" onclick=\"javascript: openScd(" + cmno + "," + lectno + "," + cmisno + ");\">" + leend.ToShortDateString() + "</a></td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "<td>" + leend.ToShortDateString() + "</td>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(edate != null)
|
||||
{
|
||||
return "<td>" + edate.Value.ToShortDateString() + "</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "<td>-</td>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public int usertype { get; set; }
|
||||
public String scomplete
|
||||
{
|
||||
get
|
||||
{
|
||||
if(iscomplete == 1)
|
||||
{
|
||||
return "<td class=\"link text-center\"><a href=\"#\" onclick=\"viewcert("+lectno+")\">수료</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "<td class=\"\">" + iscompletename + "</td>";
|
||||
}
|
||||
}
|
||||
}
|
||||
public String scomplete96
|
||||
{
|
||||
get
|
||||
{
|
||||
if (iscomplete == 1)
|
||||
{
|
||||
return "<td class=\"link text-center\">수료</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "<td class=\"\">" + iscompletename + "</td>";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 토론글
|
||||
|
|
@ -3488,10 +3802,20 @@ namespace NP.Model
|
|||
public DateTime eend { get; set; }
|
||||
public string eend2 { get; set; }
|
||||
/// <summary>
|
||||
/// 0:오프라인,1:온라인대체
|
||||
/// </summary>
|
||||
public int? scdtype { get; set; }
|
||||
/// <summary>
|
||||
/// 제한인원
|
||||
/// </summary>
|
||||
public int quota { get; set; }
|
||||
|
||||
public String quotastr
|
||||
{
|
||||
get
|
||||
{
|
||||
return scdtype == 1 ? "-" : quota.ToString();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 순서
|
||||
/// </summary>
|
||||
|
|
@ -3523,6 +3847,7 @@ namespace NP.Model
|
|||
public int? termend { get; set; }
|
||||
public int? peopleend { get; set; }
|
||||
public int? isselected { get; set; }
|
||||
public int sseq { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -71,5 +71,16 @@ namespace NP.Model
|
|||
/// 계산서날짜
|
||||
/// </summary>
|
||||
public DateTime? taxdatereq { get; set; }
|
||||
/// <summary>
|
||||
/// 집체교육종료일
|
||||
/// </summary>
|
||||
public DateTime? eend { get; set; }
|
||||
public String eendymd
|
||||
{
|
||||
get
|
||||
{
|
||||
return eend == null ? "" : eend.Value.ToString("yyyy-MM-dd");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
12
Model/Pay.cs
12
Model/Pay.cs
|
|
@ -574,6 +574,18 @@ namespace NP.Model
|
|||
/// </summary>
|
||||
public int studydays { get; set; }
|
||||
public DateTime? estart { get; set; }
|
||||
public String tgname { get; set; }
|
||||
public String tename { get; set; }
|
||||
/// <summary>
|
||||
/// 수료여부
|
||||
/// </summary>
|
||||
public int? iscomplete { get; set; }
|
||||
public String completename {
|
||||
get
|
||||
{
|
||||
return iscomplete == null ? "미수료" : iscomplete == 0 ? "미수료" : "수료";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -35,5 +35,6 @@ namespace NP.Model
|
|||
public IList<LectSD> LectSDs { get; set; }
|
||||
public EmailSend EmailSend { get; set; }
|
||||
public IList<EmailSend> EmailBans { get; set; }
|
||||
public IList<CMinningscd> CMinningscds { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue