<기능개선>

1. PMS NO : 7146, 7149, 7152, 7158, 7179, 7181, 7184, 7187, 7202, 7210, 7214, 7215, 7218, 7220, 7224
2. (주요)작업내용 
(1) 2022년 12월 추가 개발 및 유지보수 요청건 일괄 업로드
This commit is contained in:
jity7777 2023-01-02 23:59:38 +00:00
parent ed9933718d
commit 80ee5c717d
41 changed files with 2524 additions and 222 deletions

View File

@ -512,16 +512,27 @@ namespace NP.BO.Controllers
ht.Add("cname", vm.stringval2); ht.Add("cname", vm.stringval2);
ht.Add("studyplace", vm.stringval3); ht.Add("studyplace", vm.stringval3);
ht.Add("stringval17", vm.stringval17); ht.Add("stringval17", vm.stringval17);
vm.Lects = Dao.Get<Lect>("lect.lectinnings.forattscd", ht);
vm.pagetotalcount = GetCount(vm.Lects.FirstOrDefault());
if (vm.intval2 == 1) if (vm.intval2 == 1)
{ {
vm.Lects = Dao.Get<Lect>("lect.lectinnings.forattscd2", ht);
//return ExportExcel(
// new String[] { "No", "운영기수", "교육장", "과정명", "교육생(ID)", "교육시작일", "교육종료일", "출석일", "집합교육출석여부", "수료여부" },
// new String[] { "rnorvt", "sseqstr", "studyplacename", "cname", "usernameid", "sdatestr", "edatestr", "stimestr", "istatusname", "iscompletename" },
// vm.Lects,
// "attscds_" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day);
return ExportExcel( return ExportExcel(
new String[] { "No", "운영기수", "교육장", "과정명", "교육생(ID)", "교육시작일", "교육종료일", "출석일", "집합교육출석여부", "수료여부" }, new String[] { "No", "아이디", "교육생이름", "교육생 전화번호", "이메일", "과정명", "기술인분류", "교육목적", "등급", "교육시작일", "교육종료일", "출석일", "집합교육출석여부", "수료여부" },
new String[] { "rnorvt", "sseqstr", "studyplacename", "cname", "usernameid", "sdatestr", "edatestr", "stimestr", "istatusname", "iscompletename" }, new String[] { "rnorvt", "userid", "username", "mobile", "email", "cname", "zstring0", "zstring1", "zstring2", "sdatestr", "edatestr", "stimestr", "istatusname", "iscompletename" },
vm.Lects, vm.Lects,
"attscds_" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day); "attscds_" + DateTime.Now.Year + DateTime.Now.Month + DateTime.Now.Day);
} }
else
{
vm.Lects = Dao.Get<Lect>("lect.lectinnings.forattscd", ht);
vm.pagetotalcount = GetCount(vm.Lects.FirstOrDefault());
}
return View(vm); return View(vm);
} }
public ActionResult grades(NP.Model.VMCM vm) public ActionResult grades(NP.Model.VMCM vm)
@ -609,7 +620,7 @@ namespace NP.BO.Controllers
if (searchCheck) if (searchCheck)
{ {
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.Lects = Dao.Get<Lect>("grade.lectgradesToAll", 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" } });
} }
else else
{ {
@ -761,7 +772,7 @@ namespace NP.BO.Controllers
//ht.Add("ustatus", 1); //ht.Add("ustatus", 1);
ht.Add("orderby", "ua.asname,ua.asno,u.username"); ht.Add("orderby", "ua.asname,ua.asno,u.username");
vm.Lects = Dao.Get<Lect>("grade.lectgrades", ht); vm.Lects = Dao.Get<Lect>("grade.lectgradesToAll", ht);
if (vm.isexceldown == 1) if (vm.isexceldown == 1)
{ {
return ExportExcel( return ExportExcel(
@ -853,6 +864,12 @@ namespace NP.BO.Controllers
//vm.stringval = DateTime.Now.ToString("yyyy-MM-01"); //vm.stringval = DateTime.Now.ToString("yyyy-MM-01");
//vm.stringval2 = Convert.ToDateTime(vm.stringval).AddMonths(1).AddSeconds(-1).ToString("yyyy-MM-dd"); //vm.stringval2 = Convert.ToDateTime(vm.stringval).AddMonths(1).AddSeconds(-1).ToString("yyyy-MM-dd");
} }
//if (vm.stringval == null)
//{
// vm.stringval = DateTime.Now.AddDays(-6).ToString("yyyy-MM-dd");
// vm.stringval2 = DateTime.Now.ToString("yyyy-MM-dd");
//}
ht.Add("cdts", vm.stringval); ht.Add("cdts", vm.stringval);
ht.Add("cdte", string.IsNullOrEmpty(vm.stringval2) ? null : (vm.stringval2 + " 23:59:59")); ht.Add("cdte", string.IsNullOrEmpty(vm.stringval2) ? null : (vm.stringval2 + " 23:59:59"));
//ht.Add("pstatusin", vm.stringval3); //ht.Add("pstatusin", vm.stringval3);
@ -892,6 +909,7 @@ namespace NP.BO.Controllers
ht.Add(vm.stringval15 ?? "usernameiditemname", vm.stringval16); ht.Add(vm.stringval15 ?? "usernameiditemname", vm.stringval16);
} }
ht.Add("isgroup", vm.stringval17); ht.Add("isgroup", vm.stringval17);
ht.Add("estart", vm.stringval20); ht.Add("estart", vm.stringval20);
ht.Add("eend", string.IsNullOrEmpty(vm.stringval21) ? null : (vm.stringval21 + " 23:59:59")); ht.Add("eend", string.IsNullOrEmpty(vm.stringval21) ? null : (vm.stringval21 + " 23:59:59"));
ht.Add("studyplace", vm.stringval22); ht.Add("studyplace", vm.stringval22);

View File

@ -66,7 +66,7 @@
} }
else else
{ {
<input type="checkbox" id="alldays" @(isAllDays ? "checked" : string.Empty) disabled /><span>상시</span> <input type="checkbox" id="alldays" @(isAllDays ? "checked" : string.Empty) /><span>상시</span>
} }
</div> </div>
</div> </div>
@ -151,6 +151,7 @@
@{ @{
Dictionary<int, string> typeJobList = new Dictionary<int, string>(); Dictionary<int, string> typeJobList = new Dictionary<int, string>();
bool check = false;
foreach (var item in Model.ComCodes.Where(w => w.cgroup == "typejob")) foreach (var item in Model.ComCodes.Where(w => w.cgroup == "typejob"))
{ {
typeJobList.Add(item.ccode, item.cname); typeJobList.Add(item.ccode, item.cname);
@ -169,13 +170,17 @@
{ {
typeJobGroupName = "typejob" + item.Key; typeJobGroupName = "typejob" + item.Key;
var subList = Model.ComCodes.Where(w => w.cgroup == typeJobGroupName).OrderBy(c => c.corder); var subList = Model.ComCodes.Where(w => w.cgroup == typeJobGroupName).OrderBy(c => c.corder);
if (subList.Count() > 0) if (subList.Count() > 0)
{ {
<div id="@(typeJobGroupName)items" style="display:none"> <div id="@(typeJobGroupName)items" style="display:none">
<font style="font-weight:bold;margin-right:10px">@item.Value : </font> <font style="font-weight:bold;margin-right:10px">@item.Value : </font>
@foreach (var item2 in subList) @foreach (var item2 in subList)
{ {
if(item2.ccode == 92)
{
check = true;
}
if (typejobitems.IndexOf(item2.ccode) > -1) if (typejobitems.IndexOf(item2.ccode) > -1)
{ {
typejobItemCheck = true; typejobItemCheck = true;
@ -443,12 +448,12 @@
else { else {
$("#spnaccommofee").hide(); $("#spnaccommofee").hide();
} }
if ($("input[name='CM.cshape']:checked").val() == '1') { //if ($("input[name='CM.cshape']:checked").val() == '1') {
$("#alldays").prop("disabled", true); // $("#alldays").prop("disabled", true);
} //}
else { //else {
$("#alldays").prop("disabled", false); // $("#alldays").prop("disabled", false);
} //}
if ($("#alldays").is(":checked")) { if ($("#alldays").is(":checked")) {
$("#CM_cshape1").prop("disabled", true); $("#CM_cshape1").prop("disabled", true);

View File

@ -66,7 +66,7 @@
<ul> <ul>
@foreach (var d in innings) @foreach (var d in innings)
{ {
<li>@string.Format("{0}분 ({1})", d.totstudymin, d.pseqname)</li> <li>@string.Format("{0}분 ({1})", d.totstudymin, d.pseqname)<br /><br /></li>
} }
</ul> </ul>
</td> </td>

View File

@ -54,8 +54,9 @@
<br /> <br />
<section class="panel panel-default"> <section class="panel panel-default">
@Html.HiddenFor(m => m.intval2) @Html.HiddenFor(m => m.intval2)
<div style="padding:5px 10px; text-align:right;"> <div style="padding:5px 10px; text-align:right;">
@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "onchange", "submit()" }, { "name", "stringval17" }, { "selected", Model.stringval17 }, { "valuetext", ":출석여부;0:미입력;2:출석" } }) @Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "onchange", "submit()" }, { "name", "stringval17" }, { "selected", Model.stringval17 }, { "valuetext", ":출석여부;0:미입력;2:출석" }, { "style", "vertical-align: middle" } })
@Html.Partial("./Partial/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } }) @Html.Partial("./Partial/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } })
<a href="#" class="btn btn-primary" onclick="save(2);" style=" text-align:right">출석처리</a> <a href="#" class="btn btn-primary" onclick="save(2);" style=" text-align:right">출석처리</a>
<a href="#" class="btn btn-danger" onclick="save(0);">결석처리</a> <a href="#" class="btn btn-danger" onclick="save(0);">결석처리</a>

View File

@ -14,27 +14,6 @@
<thead> <thead>
<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><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> </thead>
<tr>
<th rowspan="2" style="display:none;">비환급</th>
<th>비율(점수)</th>
<td>@Model.CMEV.attend</td>
@*<td>@Model.CMEV.mid</td>*@
<td>@Model.CMEV.final</td>
<td>@Model.CMEV.subject</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>
<th>수료기준</th>
<td>@Model.CMEV.attendcut</td>
@*<td>@Model.CMEV.midcut</td>*@
<td>@Model.CMEV.finalcut</td>
<td>@Model.CMEV.subjectcut</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) @if (Model.CM.isrefund == 1)
{ {
<tr> <tr>
@ -59,6 +38,31 @@
<td>@Model.CMEV.cutrfd</td> <td>@Model.CMEV.cutrfd</td>
</tr> </tr>
} }
else
{
<tr>
<th rowspan="2" style="display:none;">비환급</th>
<th>비율(점수)</th>
<td>@Model.CMEV.attend</td>
@*<td>@Model.CMEV.mid</td>*@
<td>@Model.CMEV.final</td>
<td>@Model.CMEV.subject</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>
<th>수료기준</th>
<td>@Model.CMEV.attendcut</td>
@*<td>@Model.CMEV.midcut</td>*@
<td>@Model.CMEV.finalcut</td>
<td>@Model.CMEV.subjectcut</td>
<td style="display:none;">@Model.CMEV.discusscut</td>
<td style="display:none;">@Model.CMEV.etccut</td>
<td>@Model.CMEV.cut</td>
</tr>
}
</table> </table>
</section> </section>
<section class="panel panel-default"> <section class="panel panel-default">

View File

@ -369,7 +369,7 @@
_saveidx = idx; _saveidx = idx;
//capp("/acommon/lectsdsave", { lectno: _lectno, sdno: val("addstringval"), iscopy: $("#iscopy").prop("checked") ? 1 : 0, cpoint: val("cpoint"), feedb: val("feedb") }, "cbsave", null, null, null, true); //capp("/acommon/lectsdsave", { lectno: _lectno, sdno: val("addstringval"), iscopy: $("#iscopy").prop("checked") ? 1 : 0, cpoint: val("cpoint"), feedb: val("feedb") }, "cbsave", null, null, null, true);
$("#iscopyVal").val($("#iscopy").prop("checked") ? 1 : 0) $("#iscopyVal").val($("#iscopy").prop("checked") ? 1 : 0)
capfileform("/acommon/lectsdsave", "mform2", "cbsave"); capfileform("/acommon/LectSDSaveToAdmin", "mform2", "cbsave");
} }
} }
} }
@ -483,12 +483,20 @@
if (fileDivObj.length == 1) { if (fileDivObj.length == 1) {
fileDivObj.remove(); fileDivObj.remove();
$("#fileinfoDiv").css("display", "") $("#fileinfoDiv").css("display", "")
viewsd(_sdno, _lectno, _ridx);
let sdno = $("#sdno").val();
let lectno = $("#lectno").val();
capp("/acommon/delfileOk", { lectno: lectno, sdno: sdno }, "afterView");
} }
} }
else { else {
msg("파일을 삭제할 수 없습니다."); msg("파일을 삭제할 수 없습니다.");
} }
} }
function afterView() {
viewsd(_sdno, _lectno, _ridx);
}
</script> </script>
<iframe id="ifrthis" style="display: none;"></iframe> <iframe id="ifrthis" style="display: none;"></iframe>

View File

@ -358,7 +358,7 @@
_saveidx = idx; _saveidx = idx;
// capp("/acommon/lectsdsave", { lectno: _lectno, sdno: _sdno, iscopy: $("#iscopy").prop("checked") ? 1 : 0, cpoint: val("cpoint"), feedb: val("feedb"), memo: val("memo") }, "cbsave", null, null, null, true); // capp("/acommon/lectsdsave", { lectno: _lectno, sdno: _sdno, iscopy: $("#iscopy").prop("checked") ? 1 : 0, cpoint: val("cpoint"), feedb: val("feedb"), memo: val("memo") }, "cbsave", null, null, null, true);
$("#iscopyVal").val($("#iscopy").prop("checked") ? 1 : 0) $("#iscopyVal").val($("#iscopy").prop("checked") ? 1 : 0)
capfileform("/acommon/lectsdsave", "mform2", "cbsave"); capfileform("/acommon/LectSDSaveToAdmin", "mform2", "cbsave");
} }
} }
@ -444,12 +444,19 @@
if (fileDivObj.length == 1) { if (fileDivObj.length == 1) {
fileDivObj.remove(); fileDivObj.remove();
$("#fileinfoDiv").css("display", "") $("#fileinfoDiv").css("display", "")
viewsd(_sdno, _lectno, _tpoint, _ridx);
let sdno = $("#sdno").val();
let lectno = $("#lectno").val();
capp("/acommon/delfileOk", { lectno: lectno, sdno: sdno }, "afterView");
} }
} }
else { else {
msg("파일을 삭제할 수 없습니다."); msg("파일을 삭제할 수 없습니다.");
} }
} }
function afterView() {
viewsd(_sdno, _lectno, _tpoint, _ridx);
}
</script> </script>
<iframe id="ifrthis" style="display: none;"></iframe> <iframe id="ifrthis" style="display: none;"></iframe>

View File

@ -592,7 +592,7 @@
} }
function cbcancelpay() { function cbcancelpay() {
if (capResult.code == 1000) { if (capResult.code == 1000) {
msg("결제소처리되었습니다.", null, null, null, null, "location.href='/croom/payview?payno=@p.payno'"); msg("결제소처리되었습니다.", null, null, null, null, "location.href='/croom/payview?payno=@p.payno'");
opener.searchthis(); opener.searchthis();
} }
} }

View File

@ -55,8 +55,8 @@
<!--<add key="talk" value="https://alimtalk-api.bizmsg.kr/v2/sender/send,?,?,?,?,?,023103312" />--> <!--<add key="talk" value="https://alimtalk-api.bizmsg.kr/v2/sender/send,?,?,?,?,?,023103312" />-->
<!--<add key="configpath" value="Product" />--> <!--<add key="configpath" value="Product" />-->
<!--<add key="configpath" value="ProductDev" />--> <add key="configpath" value="ProductDev" />
<add key="configpath" value="staging" /> <!--<add key="configpath" value="staging" />-->
<add key="lgdacomConfigPath" value="D:\3rdparti\lgdacomyicte" /> <add key="lgdacomConfigPath" value="D:\3rdparti\lgdacomyicte" />

View File

@ -2222,6 +2222,14 @@ namespace NP.Base.Controllers
{ {
return JsonOK(Dao.Save("sys.ncs.delall", new Hashtable() { { "ndepth", ndepth }, { "ncsno", ncsno } })); return JsonOK(Dao.Save("sys.ncs.delall", new Hashtable() { { "ndepth", ndepth }, { "ncsno", ncsno } }));
} }
[HttpPost]
public JsonResult delfileOk(int sdno, Int64 lectno)
{
//재응시로그추가로인해 업데이트건 3개일때부터 정상처리
int result = Dao.Save("lect.lectsd.del", new System.Collections.Hashtable() { { "sdno", sdno }, { "lectno", lectno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } });
return JsonOK(result);
}
} }
} }

View File

@ -866,6 +866,31 @@ namespace NP.Base.Controllers
return JsonOK(Dao.Save("lect.lectsd"+(d.ccount == 1 ? "2" : "")+".save" + (string.IsNullOrEmpty(d.lectnos) ? "" : "batch"), d)); return JsonOK(Dao.Save("lect.lectsd"+(d.ccount == 1 ? "2" : "")+".save" + (string.IsNullOrEmpty(d.lectnos) ? "" : "batch"), d));
} }
/// <summary>
/// 과제제출평가(관리자등록)
/// </summary>
/// <param name="d"></param>
/// <returns></returns>
[HttpPost]
public JsonResult LectSDSaveToAdmin(LectSD d)
{
d.uno = SUserInfo.UserNo; d.uip = GetUserIP();
d.isproduct = GetConfig("isstaging") == "1" ? (int?)null : 1;
if (Request.Files.GetMultiple("fgno").Where(w => !string.IsNullOrEmpty(w.FileName)).Count() > 0)
{
//d.fgno = SetFile(Request.Files.GetMultiple("fgno").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), d.fgno ?? 0, "lectsd", "fgno");
d.fgno = SetFile(Request.Files.GetMultiple("fgno").Where(w => !string.IsNullOrEmpty(w.FileName)).ToList(), d.fgno ?? 0, "lectsd", "fgno", 1, "XX", false, true, d.cmno, d.userno);
d.zstring0 = "T";
}
else
{
d.zstring0 = "";
}
return JsonOK(Dao.Save("lect.lectsd" + (d.ccount == 1 ? "2" : "") + ".save2" + (string.IsNullOrEmpty(d.lectnos) ? "" : "batch"), d));
}
/// <summary> /// <summary>
/// 과제이력 일괄다운로드 /// 과제이력 일괄다운로드
/// </summary> /// </summary>

View File

@ -235,6 +235,13 @@ namespace NP.Base.Controllers
return JsonOK(Dao.Save("lect.reexam", new System.Collections.Hashtable() { { "exno", exno }, { "lectno", lectno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }) > 2 ? 1 : 0); return JsonOK(Dao.Save("lect.reexam", new System.Collections.Hashtable() { { "exno", exno }, { "lectno", lectno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }) > 2 ? 1 : 0);
} }
[HttpPost]
public JsonResult delfileOk(int sdno, Int64 lectno)
{
//재응시로그추가로인해 업데이트건 3개일때부터 정상처리
int result = Dao.Save("lect.lectsd.del", new System.Collections.Hashtable() { { "sdno", sdno }, { "lectno", lectno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } });
return JsonOK(result);
}
} }
} }

View File

@ -534,6 +534,8 @@ namespace NP.Base.Controllers
hsData.Add("cmno", cmno); hsData.Add("cmno", cmno);
var resultTmp = Dao.Get<CM>("cm.cms", hsData).FirstOrDefault(); var resultTmp = Dao.Get<CM>("cm.cms", hsData).FirstOrDefault();
//var result = Dao.Get<CMinningscd>("cm.cminningscds.applyedu"+(lectno != null ? ".lectno" : ""), new System.Collections.Hashtable() { { "cmno", cmno },{"lectno",lectno }, { "month", (month == null) ? null : month } }); //var result = Dao.Get<CMinningscd>("cm.cminningscds.applyedu"+(lectno != null ? ".lectno" : ""), new System.Collections.Hashtable() { { "cmno", cmno },{"lectno",lectno }, { "month", (month == null) ? null : month } });
DateTime now = DateTime.Now;
result = result.Where(c => c.estart > now.AddYears(-1) && c.estart < now.AddYears(1)).ToList();
foreach (var item in result) 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}] {1}", item.studyplacename, item.estart.ToString("yyyy년 MM월 dd일 ddd요일 HH:mm"));
@ -562,6 +564,7 @@ namespace NP.Base.Controllers
} }
[HttpPost] [HttpPost]
/// 교육신청제한
public JsonResult GetCheckLectIs(string man, string cgcode, string edu, string grade, int cmno, int pcmno) public JsonResult GetCheckLectIs(string man, string cgcode, string edu, string grade, int cmno, int pcmno)
{ {
// 29:기본교육 ,30:최초교육 ,31:계속교육 ,32:안전관리계속교육(16시간) ,33:PQ가점교육 ,34:기타교육 ,35:승급교육 // 29:기본교육 ,30:최초교육 ,31:계속교육 ,32:안전관리계속교육(16시간) ,33:PQ가점교육 ,34:기타교육 ,35:승급교육

View File

@ -173,6 +173,7 @@
<include refid="sql.pagedynamic"></include> <include refid="sql.pagedynamic"></include>
order by a.rno order by a.rno
</select> </select>
<select id="cm.cm" parameterClass="hashtable" resultClass="cm"> <select id="cm.cm" parameterClass="hashtable" resultClass="cm">
select a.cmno,a.cshape,a.cname,a.classno,a.rstime,a.retime,a.sstime,a.setime,a.certcc,a.cgno,a.quota,a.studydays,a.isaccommodation,a.daylectinninglimit select a.cmno,a.cshape,a.cname,a.classno,a.rstime,a.retime,a.sstime,a.setime,a.certcc,a.cgno,a.quota,a.studydays,a.isaccommodation,a.daylectinninglimit
,b.tyear,b.tseq,a.isrefund ,b.tyear,b.tseq,a.isrefund
@ -1834,13 +1835,14 @@
<isNotNull property="studyplace">and a.studyplace=#studyplace#</isNotNull> <isNotNull property="studyplace">and a.studyplace=#studyplace#</isNotNull>
<!--20220726 파라미터로 추가--> <!--20220726 파라미터로 추가-->
<isNotNull property="cshape">and a.cshape=#cshape#</isNotNull> <isNotNull property="cshape">and a.cshape=#cshape#</isNotNull>
<isNotNull property="isuse">and a.isuse=#isuse#</isNotNull>
<isNotNull property="typeman">and a.typeman like concat('%',#typeman#,'%')</isNotNull> <isNotNull property="typeman">and a.typeman like concat('%',#typeman#,'%')</isNotNull>
<isNotNull property="typeedu">and a.typeedu like concat('%',#typeedu#,'%')</isNotNull> <isNotNull property="typeedu">and a.typeedu like concat('%',#typeedu#,'%')</isNotNull>
<isNotNull property="typegrade">and a.typegrade like concat('%',#typegrade#,'%')</isNotNull> <isNotNull property="typegrade">and a.typegrade like concat('%',#typegrade#,'%')</isNotNull>
<isNotNull property="typejob">and a.typejob like concat('%',#typejob#,'%')</isNotNull> <isNotNull property="typejob">and a.typejob like concat('%',#typejob#,'%')</isNotNull>
<isNotNull property="typejobitem">and a.typejobitem like concat('%',#typejobitem#,'%')</isNotNull> <isNotNull property="typejobitem">and a.typejobitem like concat('%',#typejobitem#,'%')</isNotNull>
) a ) a
<include refid="sql.pagedynamic"></include> <!--<include refid="sql.pagedynamic"></include>-->
<isNull property="orderby">order by a.tseq, a.rstime, studyplacename</isNull> <isNull property="orderby">order by a.tseq, a.rstime, studyplacename</isNull>
<isNotNull property="orderby">order by #orderby#</isNotNull> <isNotNull property="orderby">order by #orderby#</isNotNull>
<!--20220726 파라미터로 변경--> <!--20220726 파라미터로 변경-->
@ -1862,7 +1864,7 @@
,a.cdt,a.udt ,a.cdt,a.udt
,a.cmno value,a.cname text ,a.cmno value,a.cname text
,e.ccode, e.cname studyplacename ,e.ccode, e.cname studyplacename
,g.attendcut,g.finalcut,g.subjectcut ,g.attendcut,g.finalcut,g.subjectcut, ifnull(g.isoffabs,0) isoffabs
,h.username ,h.username
from cm a from cm a
inner join cg b on b.cgno=a.cgno inner join cg b on b.cgno=a.cgno
@ -1920,7 +1922,7 @@
select a.* select a.*
from ( from (
select select
a.cmno,a.pcmno<!--,a.cgcode--> a.cmno,a.pcmno,a.cgcode
,a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,a.studyplace,a.studyplacename,a.startmonth ,a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,a.studyplace,a.studyplacename,a.startmonth
,a.remainPeople ,a.remainPeople
,a.isselected ,a.isselected
@ -1937,12 +1939,12 @@
,a.studyplace,case when c.scdtype =1 then '온라인' else e.cname end studyplacename ,a.studyplace,case when c.scdtype =1 then '온라인' else e.cname end studyplacename
,case when date_format(d.setime,'%Y%m%d') = date_format(a.estart,'%Y%m%d') then 1 else 0 end isselected ,case when date_format(d.setime,'%Y%m%d') = date_format(a.estart,'%Y%m%d') then 1 else 0 end isselected
,c.scdtype ,c.scdtype
,d.cmno,d.pcmno<!--,cg.cgcode--> ,d.cmno,d.pcmno,cg.cgcode
,d.cshape ,d.cshape
from cminningscd a from cminningscd a
left outer join cminning c on c.cmino = a.cmino left outer join cminning c on c.cmino = a.cmino
left outer join cm d on d.cmno = c.cmno left outer join cm d on d.cmno = c.cmno
<!--left outer join cg cg on d.cgno = cg.cgno--> left outer join cg cg on d.cgno = cg.cgno
left outer join comcode e on e.ccode = a.studyplace left outer join comcode e on e.ccode = a.studyplace
<dynamic prepend="where"> <dynamic prepend="where">
<isNotNull property="cmno" prepend="and">c.cmno=#cmno#</isNotNull> <isNotNull property="cmno" prepend="and">c.cmno=#cmno#</isNotNull>
@ -1965,7 +1967,7 @@
select select
a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,a.studyplace,a.studyplacename,a.startmonth 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.studyplace, a.studyplacename,a.remainPeople
,a.isselected<!--, a.cmno,a.pcmno,a.cgcode--> ,a.isselected, a.cmno,a.pcmno,a.cgcode
<!--211220.통합테스트목록(644) 이미지난 교육종료일 변경불가--> <!--211220.통합테스트목록(644) 이미지난 교육종료일 변경불가-->
,case when a.estart &lt; date_add(date_format(now() ,'%Y-%m-%d 00:00:00'),interval -1 second) ,case when a.estart &lt; date_add(date_format(now() ,'%Y-%m-%d 00:00:00'),interval -1 second)
<!--20220803 <!--20220803
@ -1976,11 +1978,11 @@
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,month(a.estart) startmonth select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,month(a.estart) startmonth
,(a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status =1 and z.ischanged=0)) remainPeople ,(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 ,a.studyplace, e.cname studyplacename
,case when f.cmisno = a.cmisno then 1 else 0 end isselected<!--, d.cmno,d.pcmno,cg.cgcode--> ,case when f.cmisno = a.cmisno then 1 else 0 end isselected, d.cmno,d.pcmno,cg.cgcode
from cminningscd a from cminningscd a
left outer join cminning c on c.cmino = a.cmino left outer join cminning c on c.cmino = a.cmino
left outer join cm d on d.cmno = c.cmno left outer join cm d on d.cmno = c.cmno
<!--left outer join cg cg on d.cgno = cg.cgno--> left outer join cg cg on d.cgno = cg.cgno
left outer join comcode e on e.ccode = a.studyplace left outer join comcode e on e.ccode = a.studyplace
left outer join lect f on f.lectno = #lectno# left outer join lect f on f.lectno = #lectno#
<dynamic prepend="where"> <dynamic prepend="where">

View File

@ -49,7 +49,7 @@
left outer join cminningscd e on e.cmisno = b.cmisno left outer join cminningscd e on e.cmisno = b.cmisno
left outer join cminning ci on ci.cmino = e.cmino left outer join cminning ci on ci.cmino = e.cmino
left outer join comcode f on f.ccode = e.studyplace left outer join comcode f on f.ccode = e.studyplace
left outer join lectinning li on li.cmino = e.cmino left outer join lectinning li on li.cmino = e.cmino and li.lectno = b.lectno
</select> </select>
<select id="cr.main.boardalarm" parameterClass="hashtable" resultClass="data"> <select id="cr.main.boardalarm" parameterClass="hashtable" resultClass="data">
select a.* select a.*
@ -1321,7 +1321,7 @@
<isNotEmpty property="pstatus" prepend="and"> <isNotEmpty property="pstatus" prepend="and">
<isEqual property="pstatus" compareValue="p21">(p.pstatus in (21) and p.rstatus = 0)</isEqual> <isEqual property="pstatus" compareValue="p21">(p.pstatus in (21) and p.rstatus = 0)</isEqual>
<isEqual property="pstatus" compareValue="p22">(p.pstatus in (22) and p.rstatus = 0)</isEqual> <isEqual property="pstatus" compareValue="p22">(p.pstatus in (22) and p.rstatus = 0)</isEqual>
<isEqual property="pstatus" compareValue="p1">(p.pstatus in (1) and p.rstatus = 0)</isEqual> <isEqual property="pstatus" compareValue="p1">(p.pstatus in (1) and p.rstatus = 0 and pri.pino is null)</isEqual>
<isEqual property="pstatus" compareValue="rf1">(pr.rfdno is not null and pr.rstatus = 0)</isEqual> <isEqual property="pstatus" compareValue="rf1">(pr.rfdno is not null and pr.rstatus = 0)</isEqual>
<isEqual property="pstatus" compareValue="r1">(pi.rstatus=1 and p.payamt>p.refundamt)</isEqual> <isEqual property="pstatus" compareValue="r1">(pi.rstatus=1 and p.payamt>p.refundamt)</isEqual>
<isEqual property="pstatus" compareValue="r2">(p.rstatus > 0 and p.payamt=p.refundamt)</isEqual> <isEqual property="pstatus" compareValue="r2">(p.rstatus > 0 and p.payamt=p.refundamt)</isEqual>

View File

@ -613,6 +613,358 @@
<include refid="sql.pagedynamic"></include> <include refid="sql.pagedynamic"></include>
order by a.rno order by a.rno
</select>
<select id="grade.lectgradesToAll" parameterClass="hashtable" resultClass="lect">
select a.*
from (
select a.lectno,b.userno,b.payno
,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
<!--,case when ppl.asname is not null then ppl.asname else ua.asname end asname-->
<!--,ppl.brno,ppl.ceoname,ppl.post,ppl.address1,ppl.address2,ppl.btype,ppl.bkind,ppl.eino,ppl.mname,ppl.association-->
<!--,CAST(AES_DECRYPT(UNHEX(ppl.mphone), <include refid="sql.digest"></include>) AS char) mphone
,CAST(AES_DECRYPT(UNHEX(ppl.taxemail), <include refid="sql.digest"></include>) AS char) taxemail-->
,u.username,u.userid,u.slevel,u.uduty
,b.iscomplete,b.completetime,b.completeno,b.sdate,b.edate
,concat(substring(CAST(AES_DECRYPT(UNHEX(u.userpno),<include refid="sql.digest"></include>) as char),1,6),'-',substring(CAST(AES_DECRYPT(UNHEX(u.userpno),<include refid="sql.digest"></include>) as char),7,7)) userpno
,CAST(AES_DECRYPT(UNHEX(u.mobile), <include refid="sql.digest"></include>) AS char) mobile
,b.cmisno
,p.payoktime<!--,p.payamt-->
,c.cshape<!--,c.sstime-->,c.cmno,c.cname<!--,c.classno,c.studytime-->
<!--,t.tyear-->
<!--,cg.cgname,cg.pcgno,pcg.cgname as pcgname-->
,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
<!--,tm.cname typemanname, te.cname typeeduname
,tg.cname typegradename, tj.cname typejobname-->
,date_format((case when c.cshape = 2 and e.eend is not null then e.eend else b.edate end),'%Y-%m-%d') edatestring
<!--,pi.tbankuser rbankuser,pi.rbank,pi.pino,pi.rbankamt
,CAST(AES_DECRYPT(UNHEX(pi.rbankaccnum), <include refid="sql.digest"></include>) AS char) as rbankaccnum-->
from (
select a.lectno
,(b.attrate / 100) * (case when b.isrebate=1 then d.attendrfd else d.attend end / 100) * 100 apoint
,a.ex0cnt,a.ex0lectcnt,a.ex0lectpoint,(a.ex0lectpoint / 100) * (case when b.isrebate=1 then d.midrfd else d.mid end / 100) * 100 mpoint
,a.ex1cnt,a.ex1lectcnt,a.ex1lectpoint,(a.ex1lectpoint / 100) * (case when b.isrebate=1 then d.finalrfd else d.final end / 100) * 100 fpoint
,a.sd0cnt,a.sd0lectcnt,a.sd0lectpoint,(a.sd0lectpoint / 100) * (case when b.isrebate=1 then d.subjectrfd else d.subject end / 100) * 100 spoint
,a.sd1cnt,a.sd1lectcnt,a.sd1lectpoint,(a.sd1lectpoint / 100) * (case when b.isrebate=1 then d.discussrfd else d.discuss end / 100) * 100 dpoint
,a.rs0cnt,a.rs0lectcnt,a.rs0lectpoint
<!--,case when case when b.isrebate=1 then d.attendcutrfd else d.attendcut end &lt;= b.attrate then 1 else 0 end ispassa
,case when case when b.isrebate=1 then d.midcutrfd else d.midcut end &lt;= a.ex0lectpoint then 1 else 0 end ispassm
,case when case when b.isrebate=1 then d.finalcutrfd else d.finalcut end &lt;= a.ex1lectpoint then 1 else 0 end ispassf
,case when case when b.isrebate=1 then d.subjectcutrfd else d.subjectcut end &lt;= a.sd0lectpoint then 1 else 0 end ispasss
,case when case when b.isrebate=1 then d.discusscutrfd else d.discusscut end &lt;= a.sd1lectpoint then 1 else 0 end ispassd
,case when case when ifnull(d.isoffabs,0)=1 then ifnull(a.at0cnt,0) else 0 end &lt;= ifnull(a.at0lectcnt,0) then 1 else 0 end ispassat
,case when
case when case when ifnull(d.isoffabs,0)=1 then ifnull(a.at0cnt,0) else 0 end &lt;= 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 &lt;= b.attrate then 1 else 0 end =1 and
case when case when b.isrebate=1 then d.midcutrfd else d.midcut end &lt;= a.ex0lectpoint then 1 else 0 end =1 and
case when case when b.isrebate=1 then d.finalcutrfd else d.finalcut end &lt;= a.ex1lectpoint then 1 else 0 end =1 and
case when case when b.isrebate=1 then d.subjectcutrfd else d.subjectcut end &lt;= a.sd0lectpoint then 1 else 0 end =1 and
case when case when b.isrebate=1 then d.discusscutrfd else d.discusscut end &lt;= a.sd1lectpoint then 1 else 0 end =1 and
case when case when b.isrebate=1 then d.cutrfd else d.cut end &lt;=
((b.attrate / 100) * (case when b.isrebate=1 then d.attendrfd else d.attend end / 100 * 100))
+((a.ex0lectpoint / 100) * (case when b.isrebate=1 then d.midrfd else d.mid end / 100)* 100)
+((a.ex1lectpoint / 100) * (case when b.isrebate=1 then d.finalrfd else d.final end / 100)* 100)
+((a.sd0lectpoint / 100) * (case when b.isrebate=1 then d.subjectrfd else d.subject end / 100)* 100)
+((a.sd1lectpoint / 100) * (case when b.isrebate=1 then d.discussrfd else d.discuss end / 100)* 100) then 1 else 0 end = 1 then 1 else 0 end ispass-->
from (
select a.lectno
,sum(ex0cnt) ex0cnt,sum(ex0lectcnt) ex0lectcnt,sum(ex0lectpoint) ex0lectpoint
,sum(ex1cnt) ex1cnt,sum(ex1lectcnt) ex1lectcnt,sum(ex1lectpoint) ex1lectpoint
,sum(sd0cnt) sd0cnt,sum(sd0lectcnt) sd0lectcnt,sum(sd0lectpoint) sd0lectpoint
,sum(sd1cnt) sd1cnt,sum(sd1lectcnt) sd1lectcnt,sum(sd1lectpoint) sd1lectpoint
,sum(rs0cnt) rs0cnt,sum(rs0lectcnt) rs0lectcnt,sum(rs0lectpoint) rs0lectpoint
,sum(at0cnt) at0cnt,sum(at0lectcnt) at0lectcnt
from (
select a.lectno
,count(b.exno) ex0cnt,count(c.lectno) ex0lectcnt,avg(ifnull(c.tpoint,0) / b.tpoint * 100) ex0lectpoint
,0 ex1cnt,0 ex1lectcnt,0 ex1lectpoint
,0 sd0cnt,0 sd0lectcnt,0 sd0lectpoint
,0 sd1cnt,0 sd1lectcnt,0 sd1lectpoint
,0 rs0cnt,0 rs0lectcnt,0 rs0lectpoint
,0 at0cnt,0 at0lectcnt
from (
select b.lectno,a.cmno
from cm a
inner join cm a2 on a.pcmno = a2.cmno
inner join lect b on b.cmno=a.cmno and b.status=1 and b.ischanged=0
inner join users c on c.userno=b.userno and c.status=1
inner join pay p on p.payno=b.payno
left outer join cminningscd e on e.cmisno = b.cmisno
where a.ismaster=0 and a.isdel=0
<isNotNull property="usernamestr" prepend="and">c.username like concat('%',#usernamestr#,'%')</isNotNull>
<isNotNull property="useridstr" prepend="and">c.userid like concat('%',#useridstr#,'%')</isNotNull>
<isNotEmpty property="usernameid" prepend="and">(c.userid like concat('%',#usernameid#,'%') or c.username like concat('%',#usernameid#,'%') or c.usernameeng like concat('%',#usernameid#,'%')) </isNotEmpty>
<isNotNull property="iscomplete" prepend="and">ifnull(b.iscomplete,0)=#iscomplete#</isNotNull>
<isNotNull property="cmisno" prepend="and">b.cmisno = #cmisno#</isNotNull> <isNotEmpty property="sdateall" prepend="and">(case when a.cshape = 0 and b.isrebate = 0 then p.payoktime else b.sdate end) &gt;= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
<isNotEmpty property="edateall" prepend="and">(case when a.cshape = 2 then e.eend else b.edate end) &lt;= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
<isNotNull property="edate" prepend="and">date_format((case when a.cshape = 2 and e.eend is not null then e.eend else b.edate end),'%Y-%m-%d') = #edate#</isNotNull>
<isNotNull property="studyplace" prepend="and">e.studyplace = #studyplace#</isNotNull>
<isNotNull property="cmno" >and a.cmno = #cmno#</isNotNull>
<isNotNull property="cname" >and a2.cname like concat('%',#cname#,'%')</isNotNull>
<isNotEmpty property="sdateall" prepend="and">(case when a.cshape = 0 and b.isrebate = 0 then p.payoktime else b.sdate end) &gt;= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
<isNotEmpty property="edateall" prepend="and">(case when a.cshape = 2 then e.eend else b.edate end) &lt;= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
) a
left outer join cmex b on b.cmno=a.cmno and b.extype=0 and b.isdel=0
left outer join lectex c on c.lectno=a.lectno and c.exno=b.exno
group by a.lectno
union all
select a.lectno
,0,0,0
,count(b.exno),count(c.lectno),avg(ifnull(c.tpoint,0) / b.tpoint * 100)
,0,0,0
,0,0,0
,0,0,0
,0,0
from (
select b.lectno,a.cmno
from cm a
inner join cm a2 on a.pcmno = a2.cmno
inner join lect b on b.cmno=a.cmno and b.status=1 and b.ischanged=0
inner join users c on c.userno=b.userno and c.status=1
inner join pay p on p.payno=b.payno
left outer join cminningscd e on e.cmisno = b.cmisno
where a.ismaster=0 and a.isdel=0
<isNotNull property="usernamestr" prepend="and">c.username like concat('%',#usernamestr#,'%')</isNotNull>
<isNotNull property="useridstr" prepend="and">c.userid like concat('%',#useridstr#,'%')</isNotNull>
<isNotEmpty property="usernameid" prepend="and">(c.userid like concat('%',#usernameid#,'%') or c.username like concat('%',#usernameid#,'%') or c.usernameeng like concat('%',#usernameid#,'%')) </isNotEmpty>
<isNotNull property="iscomplete" prepend="and">ifnull(b.iscomplete,0)=#iscomplete#</isNotNull>
<isNotNull property="cmisno" prepend="and">b.cmisno = #cmisno#</isNotNull> <isNotEmpty property="sdateall" prepend="and">(case when a.cshape = 0 and b.isrebate = 0 then p.payoktime else b.sdate end) &gt;= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
<isNotEmpty property="edateall" prepend="and">(case when a.cshape = 2 then e.eend else b.edate end) &lt;= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
<isNotNull property="edate" prepend="and">date_format((case when a.cshape = 2 and e.eend is not null then e.eend else b.edate end),'%Y-%m-%d') = #edate#</isNotNull>
<isNotNull property="studyplace" prepend="and">e.studyplace = #studyplace#</isNotNull>
<isNotNull property="cmno" >and a.cmno = #cmno#</isNotNull>
<isNotNull property="cname" >and a2.cname like concat('%',#cname#,'%')</isNotNull>
<isNotEmpty property="sdateall" prepend="and">(case when a.cshape = 0 and b.isrebate = 0 then p.payoktime else b.sdate end) &gt;= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
<isNotEmpty property="edateall" prepend="and">(case when a.cshape = 2 then e.eend else b.edate end) &lt;= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
) a
left outer join cmex b on b.cmno=a.cmno and b.extype=1 and b.isdel=0
left outer join lectex c on c.lectno=a.lectno and c.exno=b.exno
group by a.lectno
union all
select a.lectno
,0,0,0
,0,0,0
,count(b.sdno),count(c.lectno),avg(ifnull(c.cpoint,0) / b.tpoint * 100)
,0,0,0
,0,0,0
,0,0
from (
select b.lectno,a.cmno
from cm a
inner join cm a2 on a.pcmno = a2.cmno
inner join lect b on b.cmno=a.cmno and b.status=1 and b.ischanged=0
inner join users c on c.userno=b.userno and c.status=1
inner join pay p on p.payno=b.payno
left outer join cminningscd e on e.cmisno = b.cmisno
where a.ismaster=0 and a.isdel=0
<isNotNull property="usernamestr" prepend="and">c.username like concat('%',#usernamestr#,'%')</isNotNull>
<isNotNull property="useridstr" prepend="and">c.userid like concat('%',#useridstr#,'%')</isNotNull>
<isNotEmpty property="usernameid" prepend="and">(c.userid like concat('%',#usernameid#,'%') or c.username like concat('%',#usernameid#,'%') or c.usernameeng like concat('%',#usernameid#,'%')) </isNotEmpty>
<isNotNull property="iscomplete" prepend="and">ifnull(b.iscomplete,0)=#iscomplete#</isNotNull>
<isNotNull property="cmisno" prepend="and">b.cmisno = #cmisno#</isNotNull> <isNotEmpty property="sdateall" prepend="and">(case when a.cshape = 0 and b.isrebate = 0 then p.payoktime else b.sdate end) &gt;= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
<isNotEmpty property="edateall" prepend="and">(case when a.cshape = 2 then e.eend else b.edate end) &lt;= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
<isNotNull property="edate" prepend="and">date_format((case when a.cshape = 2 and e.eend is not null then e.eend else b.edate end),'%Y-%m-%d') = #edate#</isNotNull>
<isNotNull property="studyplace" prepend="and">e.studyplace = #studyplace#</isNotNull>
<isNotNull property="cmno" >and a.cmno = #cmno#</isNotNull>
<isNotNull property="cname" >and a2.cname like concat('%',#cname#,'%')</isNotNull>
<isNotEmpty property="sdateall" prepend="and">(case when a.cshape = 0 and b.isrebate = 0 then p.payoktime else b.sdate end) &gt;= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
<isNotEmpty property="edateall" prepend="and">(case when a.cshape = 2 then e.eend else b.edate end) &lt;= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
) a
left outer join cmsd b on b.cmno=a.cmno and b.sdtype=0 and b.isdel=0
left outer join lectsd c on c.lectno=a.lectno and c.sdno=b.sdno
group by a.lectno
union all
select a.lectno
,0,0,0
,0,0,0
,0,0,0
,count(b.sdno),count(c.lectno),avg(ifnull(c.cpoint,0) / b.tpoint * 100)
,0,0,0
,0,0
from (
select b.lectno,a.cmno
from cm a
inner join cm a2 on a.pcmno = a2.cmno
inner join lect b on b.cmno=a.cmno and b.status=1 and b.ischanged=0
inner join users c on c.userno=b.userno and c.status=1
inner join pay p on p.payno=b.payno
left outer join cminningscd e on e.cmisno = b.cmisno
where a.ismaster=0 and a.isdel=0
<isNotNull property="usernamestr" prepend="and">c.username like concat('%',#usernamestr#,'%')</isNotNull>
<isNotNull property="useridstr" prepend="and">c.userid like concat('%',#useridstr#,'%')</isNotNull>
<isNotEmpty property="usernameid" prepend="and">(c.userid like concat('%',#usernameid#,'%') or c.username like concat('%',#usernameid#,'%') or c.usernameeng like concat('%',#usernameid#,'%')) </isNotEmpty>
<isNotNull property="iscomplete" prepend="and">ifnull(b.iscomplete,0)=#iscomplete#</isNotNull>
<isNotNull property="cmisno" prepend="and">b.cmisno = #cmisno#</isNotNull> <isNotEmpty property="sdateall" prepend="and">(case when a.cshape = 0 and b.isrebate = 0 then p.payoktime else b.sdate end) &gt;= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
<isNotEmpty property="edateall" prepend="and">(case when a.cshape = 2 then e.eend else b.edate end) &lt;= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
<isNotNull property="edate" prepend="and">date_format((case when a.cshape = 2 and e.eend is not null then e.eend else b.edate end),'%Y-%m-%d') = #edate#</isNotNull>
<isNotNull property="studyplace" prepend="and">e.studyplace = #studyplace#</isNotNull>
<isNotNull property="cmno" >and a.cmno = #cmno#</isNotNull>
<isNotNull property="cname" >and a2.cname like concat('%',#cname#,'%')</isNotNull>
<isNotEmpty property="sdateall" prepend="and">(case when a.cshape = 0 and b.isrebate = 0 then p.payoktime else b.sdate end) &gt;= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
<isNotEmpty property="edateall" prepend="and">(case when a.cshape = 2 then e.eend else b.edate end) &lt;= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
) a
left outer join cmsd b on b.cmno=a.cmno and b.sdtype=1 and b.isdel=0
left outer join lectsd c on c.lectno=a.lectno and c.sdno=b.sdno
group by a.lectno
union all
select a.lectno
,0,0,0
,0,0,0
,0,0,0
,0,0,0
,count(b.rsno),count(c.lectno),0
,0,0
from (
select b.lectno,a.cmno
from cm a
inner join cm a2 on a.pcmno = a2.cmno
inner join lect b on b.cmno=a.cmno and b.status=1 and b.ischanged=0
inner join users c on c.userno=b.userno and c.status=1
inner join pay p on p.payno=b.payno
left outer join cminningscd e on e.cmisno = b.cmisno
where a.ismaster=0 and a.isdel=0
<isNotNull property="usernamestr" prepend="and">c.username like concat('%',#usernamestr#,'%')</isNotNull>
<isNotNull property="useridstr" prepend="and">c.userid like concat('%',#useridstr#,'%')</isNotNull>
<isNotEmpty property="usernameid" prepend="and">(c.userid like concat('%',#usernameid#,'%') or c.username like concat('%',#usernameid#,'%') or c.usernameeng like concat('%',#usernameid#,'%')) </isNotEmpty>
<isNotNull property="iscomplete" prepend="and">ifnull(b.iscomplete,0)=#iscomplete#</isNotNull>
<isNotNull property="cmisno" prepend="and">b.cmisno = #cmisno#</isNotNull> <isNotEmpty property="sdateall" prepend="and">(case when a.cshape = 0 and b.isrebate = 0 then p.payoktime else b.sdate end) &gt;= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
<isNotEmpty property="edateall" prepend="and">(case when a.cshape = 2 then e.eend else b.edate end) &lt;= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
<isNotNull property="edate" prepend="and">date_format((case when a.cshape = 2 and e.eend is not null then e.eend else b.edate end),'%Y-%m-%d') = #edate#</isNotNull>
<isNotNull property="studyplace" prepend="and">e.studyplace = #studyplace#</isNotNull>
<isNotNull property="cmno" >and a.cmno = #cmno#</isNotNull>
<isNotNull property="cname" >and a2.cname like concat('%',#cname#,'%')</isNotNull>
<isNotEmpty property="sdateall" prepend="and">(case when a.cshape = 0 and b.isrebate = 0 then p.payoktime else b.sdate end) &gt;= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
<isNotEmpty property="edateall" prepend="and">(case when a.cshape = 2 then e.eend else b.edate end) &lt;= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
) a
left outer join cmrs b on b.cmno=a.cmno and b.rstype=0 and b.isdel=0
left outer join lectrs c on c.lectno=a.lectno and c.rsno=b.rsno
group by a.lectno
union all
select a.lectno
,0,0,0
,0,0,0
,0,0,0
,0,0,0
,0,0,0
,count(b.cmino),count(c.lectno)
from (
select b.lectno,a.cmno
from cm a
inner join cm a2 on a.pcmno = a2.cmno
inner join lect b on b.cmno=a.cmno and b.status=1 and b.ischanged=0
inner join users c on c.userno=b.userno and c.status=1
inner join pay p on p.payno=b.payno
left outer join cminningscd e on e.cmisno = b.cmisno
where a.ismaster=0 and a.isdel=0
<isNotNull property="usernamestr" prepend="and">c.username like concat('%',#usernamestr#,'%')</isNotNull>
<isNotNull property="useridstr" prepend="and">c.userid like concat('%',#useridstr#,'%')</isNotNull>
<isNotEmpty property="usernameid" prepend="and">(c.userid like concat('%',#usernameid#,'%') or c.username like concat('%',#usernameid#,'%') or c.usernameeng like concat('%',#usernameid#,'%')) </isNotEmpty>
<isNotNull property="iscomplete" prepend="and">ifnull(b.iscomplete,0)=#iscomplete#</isNotNull>
<isNotNull property="cmisno" prepend="and">b.cmisno = #cmisno#</isNotNull> <isNotEmpty property="sdateall" prepend="and">(case when a.cshape = 0 and b.isrebate = 0 then p.payoktime else b.sdate end) &gt;= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
<isNotEmpty property="edateall" prepend="and">(case when a.cshape = 2 then e.eend else b.edate end) &lt;= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
<isNotNull property="edate" prepend="and">date_format((case when a.cshape = 2 and e.eend is not null then e.eend else b.edate end),'%Y-%m-%d') = #edate#</isNotNull>
<isNotNull property="studyplace" prepend="and">e.studyplace = #studyplace#</isNotNull>
<isNotNull property="cmno" >and a.cmno = #cmno#</isNotNull>
<isNotNull property="cname" >and a2.cname like concat('%',#cname#,'%')</isNotNull>
<isNotEmpty property="sdateall" prepend="and">(case when a.cshape = 0 and b.isrebate = 0 then p.payoktime else b.sdate end) &gt;= date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
<isNotEmpty property="edateall" prepend="and">(case when a.cshape = 2 then e.eend else b.edate end) &lt;= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
) a
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
group by a.lectno
) a
inner join lect b on b.lectno=a.lectno
inner join cmev d on d.cmno=b.cmno
) 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
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 term t on t.tmno = c.tmno
<!--left outer join cg cg on cg.cgno = c.cgno-->
<!--left outer join cg pcg on pcg.cgno = cg.pcgno
left outer join payitem pi on pi.payno = p.payno-->
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
left outer join pplog ppl on ppl.pplno = p.pplno
<!--left outer join comcode tm on tm.ccode = ppl.typeman
left outer join comcode te on te.ccode = ppl.typeedu
left outer join comcode tg on tg.ccode = ppl.typegrade
left outer join comcode tj on tj.ccode = ppl.typejob-->
<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 &lt; a.ex0cnt</isNotNull>
<isNotNull property="est2not" prepend="and">a.ex1lectcnt &lt; a.ex1cnt</isNotNull>
<isNotNull property="est11not" prepend="and">a.sd0lectcnt &lt; a.sd0cnt</isNotNull>
<isNotNull property="est12not" prepend="and">a.sd1lectcnt &lt; a.sd1cnt</isNotNull>
<isNotNull property="est21not" prepend="and">a.rs0lectcnt &lt; 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 &gt; 0 and a.sd0lectcnt &gt; 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) &gt;= 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) &lt;= date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
<isNotNull property="asname" prepend="and">ua.asname like concat('%',#asname#,'%')</isNotNull>
<isNotNull property="edate" prepend="and">date_format((case when c.cshape = 2 and e.eend is not null then e.eend else b.edate end),'%Y-%m-%d') = #edate#</isNotNull>
<isNotNull property="mobile" prepend="and">cast(AES_DECRYPT(UNHEX(u.mobile), 'np123@!' ) as char) like concat('%',#mobile#,'%')</isNotNull>
</dynamic>
) a
<include refid="sql.pagedynamic"></include>
order by a.rno
</select> </select>
<update id="grade.lectcomplete.abs" parameterClass="hashtable"> <update id="grade.lectcomplete.abs" parameterClass="hashtable">
update lect set <include refid="sql.up"></include> update lect set <include refid="sql.up"></include>

View File

@ -730,7 +730,7 @@
where a.cmino=#cmino# where a.cmino=#cmino#
order by rno order by rno
</select> </select>
<select id="lect.lectinnings.forattscd" parameterClass="hashtable" resultClass="lect"> <select id="lect.lectinnings.forattscd_old" parameterClass="hashtable" resultClass="lect">
select a.* select a.*
from ( from (
select a.lectno,c.cmino,b.cmno,b.cshape,b.cname,b2.isoffabs select a.lectno,c.cmino,b.cmno,b.cshape,b.cname,b2.isoffabs
@ -741,7 +741,8 @@
,d.estart,d.eend ,d.estart,d.eend
,e.userno,e.userid, e.username ,e.userno,e.userid, e.username
,g.istatus ,g.istatus
,row_number() over(order by a.cdt desc,e.username) rno <!--,row_number() over(order by a.cdt desc,e.username) rno-->
,row_number() over(order by e.username) rno
,count(a.cdt) over() pagetotalcount ,count(a.cdt) over() pagetotalcount
from lect a from lect a
inner join pay p on p.payno = a.payno inner join pay p on p.payno = a.payno
@ -768,7 +769,144 @@
<include refid="sql.pagedynamic"></include> <include refid="sql.pagedynamic"></include>
order by a.rno order by a.rno
</select> </select>
<select id="lect.lectinnings.forattscd" parameterClass="hashtable" resultClass="lect">
select a.*
from (
select a.lectno,c.cmino,c.cmno,c.cshape,c.cname,b2.isoffabs
,a.isrebate,p.payoktime,a.iscomplete, a.stime
,a.sdate,a.edate
,a.cmisno
,c.sseq,f.cname studyplacename
,c.estart,c.eend
,e.userno,e.userid, e.username
,g.istatus
,row_number() over(order by e.username) rno
,count(a.cdt) over() pagetotalcount
from lect a
inner join pay p on p.payno = a.payno
inner join (
select c.cmno, c.cshape, c.cname, ci.cmino,d.cmisno,d.sseq,d.estart,d.eend,d.studyplace
from cm c
inner join cminning ci on c.cmno = ci.cmno
inner join cminningscd d on d.cmino = ci.cmino
where c.cshape=2 and ci.isscd=1 and ci.scdtype=0
) c on c.cmno = a.cmno and c.cmisno = a.cmisno
inner join cmev b2 on b2.cmno = c.cmno
inner join users e on e.userno = a.userno
left outer join comcode f on f.ccode = c.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
<isNotNull property="edate">and date_format(a.edate,'%Y%m%d') = date_format(#edate#,'%Y%m%d')</isNotNull>
<isNotNull property="cname">and c.cname like concat('%',#cname#,'%')</isNotNull>
<isNotNull property="studyplace">and c.studyplace = #studyplace#</isNotNull>
<isNotNull property="stringval17">
<isEqual property="stringval17" compareValue="0">and g.istatus is null</isEqual>
<isEqual property="stringval17" compareValue="2">and g.istatus = 2 </isEqual>
</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.lectinnings.forattscd2_old" 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.stime
,a.sdate,a.edate
,a.cmisno
,d.sseq,f.cname studyplacename
,d.estart,d.eend
,e.userno,e.userid, e.username
,g.istatus
,cc.cname zstring0
,cc2.cname zstring1
,cc3.cname zstring2
,CAST(AES_DECRYPT(UNHEX(e.mobile), 'np123@!') AS CHAR) mobile
,CAST(AES_DECRYPT(UNHEX(e.email), 'np123@!') AS CHAR) email
,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 pplog pp ON p.pplno = pp.pplno
INNER JOIN comcode cc ON pp.typeman = cc.ccode
INNER JOIN comcode cc2 ON pp.typeedu = cc2.ccode
INNER JOIN comcode cc3 ON pp.typegrade = cc3.ccode
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>
<isNotNull property="stringval17">
<isEqual property="stringval17" compareValue="0">and g.istatus is null</isEqual>
<isEqual property="stringval17" compareValue="2">and g.istatus = 2 </isEqual>
</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.username
</select>
<select id="lect.lectinnings.forattscd2" parameterClass="hashtable" resultClass="lect">
select a.*
from (
select a.lectno,c.cmino,c.cmno,c.cshape,c.cname,b2.isoffabs
,a.isrebate,p.payoktime,a.iscomplete, a.stime
,a.sdate,a.edate
,a.cmisno
,c.sseq,f.cname studyplacename
,c.estart,c.eend
,e.userno,e.userid, e.username
,g.istatus
,cc.cname zstring0
,cc2.cname zstring1
,cc3.cname zstring2
,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 pplog pp ON p.pplno = pp.pplno
INNER JOIN comcode cc ON pp.typeman = cc.ccode
INNER JOIN comcode cc2 ON pp.typeedu = cc2.ccode
INNER JOIN comcode cc3 ON pp.typegrade = cc3.ccode
inner join (
select c.cmno, c.cshape, c.cname, ci.cmino,d.cmisno,d.sseq,d.estart,d.eend,d.studyplace
from cm c
inner join cminning ci on c.cmno = ci.cmno
inner join cminningscd d on d.cmino = ci.cmino
where c.ismaster = 0 and c.isdel = 0 and c.cshape=2 and ci.isscd=1 and ci.scdtype=0
) c on c.cmno = a.cmno and c.cmisno = a.cmisno
inner join cmev b2 on b2.cmno = c.cmno
inner join users e on e.userno = a.userno
left outer join comcode f on f.ccode = c.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
<isNotNull property="edate">and date_format(a.edate,'%Y%m%d') = date_format(#edate#,'%Y%m%d')</isNotNull>
<isNotNull property="cname">and c.cname like concat('%',#cname#,'%')</isNotNull>
<isNotNull property="studyplace">and c.studyplace = #studyplace#</isNotNull>
<isNotNull property="stringval17">
<isEqual property="stringval17" compareValue="0">and g.istatus is null</isEqual>
<isEqual property="stringval17" compareValue="2">and g.istatus = 2 </isEqual>
</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.username
</select>
<select id="lect.atts" parameterClass="hashtable" resultClass="lect"> <select id="lect.atts" parameterClass="hashtable" resultClass="lect">
select a.lectno,a.isrebate,a.attrate,a.stime,a.sip,a.etime,a.eip select a.lectno,a.isrebate,a.attrate,a.stime,a.sip,a.etime,a.eip
,b.username,b.userid,b.userno ,b.username,b.userid,b.userno
@ -1288,6 +1426,29 @@
select #lectno#,#sdno#,null,#fgno#,null,#iscopy#,#cpoint#,#feedb#,#memo#,null,null select #lectno#,#sdno#,null,#fgno#,null,#iscopy#,#cpoint#,#feedb#,#memo#,null,null
,case when #cpoint# is not null or #feedb# is not null then now() else null end ,case when #cpoint# is not null or #feedb# is not null then now() else null end
,case when #cpoint# is not null or #feedb# is not null then #uip# else null end ,case when #cpoint# is not null or #feedb# is not null then #uip# else null end
,<include refid="sql.inv"></include>
from (select 1 col1) a
left outer join lectsd b on b.lectno=#lectno# and b.sdno=#sdno#
where b.lectno is null
</update>
<update id="lect.lectsd.save2" parameterClass="lectsd">
update lectsd set <include refid="sql.up"></include>
,iscopy=#iscopy#,cpoint=#cpoint#
,feedb=#feedb#
,memo=#memo#
,checktime=case when #cpoint# is not null or #feedb# is not null then now() else checktime end
,checkip=case when #cpoint# is not null or #feedb# is not null then #uip# else checkip end
,submittime=case when #zstring0# = 'T' then now() else submittime end
,submitip=case when #zstring0# = 'T' then #uip# else submitip end
,fgno=#fgno#
where lectno=#lectno# and sdno=#sdno#;
insert into lectsd (lectno,sdno,atext,fgno,copyrate,iscopy,cpoint,feedb,memo,submittime,submitip,checktime,checkip,<include refid="sql.inc"></include>)
select #lectno#,#sdno#,null,#fgno#,null,#iscopy#,#cpoint#,#feedb#,#memo#
,case when #zstring0# = 'T' then now() else null end
,case when #zstring0# = 'T' then #uip# else null end
,case when #cpoint# is not null or #feedb# is not null then now() else null end
,case when #cpoint# is not null or #feedb# is not null then #uip# else null end
,<include refid="sql.inv"></include> ,<include refid="sql.inv"></include>
from (select 1 col1) a from (select 1 col1) a
left outer join lectsd b on b.lectno=#lectno# and b.sdno=#sdno# left outer join lectsd b on b.lectno=#lectno# and b.sdno=#sdno#
@ -1505,7 +1666,8 @@
LEFT OUTER JOIN cminningscd cmis ON cmis.cmisno = a.cmisno LEFT OUTER JOIN cminningscd cmis ON cmis.cmisno = a.cmisno
LEFT OUTER JOIN comcode cc ON cc.ccode = cmis.studyplace and cc.cgroup ='studyplace' LEFT OUTER JOIN comcode cc ON cc.ccode = cmis.studyplace and cc.cgroup ='studyplace'
where a.userno=#userno# and a.status=1 and a.ischanged=0 where a.userno=#userno# and a.status=1 and a.ischanged=0
and (case when a.sdate is null then b.sstime else a.sdate end) &lt; <include refid="sql.now"></include> <!--and (case when a.sdate is null then b.sstime else a.sdate end) &lt; <include refid="sql.now"></include>-->
and (case when a.sdate is null then b.setime else a.edate end) &gt;= <include refid="sql.now"></include>
order by case when time2 > now() then 1 else 0 end asc ,sortedate asc, time2 asc order by case when time2 > now() then 1 else 0 end asc ,sortedate asc, time2 asc
) a ) a
union all union all
@ -1737,6 +1899,7 @@
update alarms set isdel=1 where alno=#alno# and userno=#userno# update alarms set isdel=1 where alno=#alno# and userno=#userno#
</update> </update>
<select id="lect.mylectures" parameterClass="hashtable" resultClass="lect"> <select id="lect.mylectures" parameterClass="hashtable" resultClass="lect">
select a.lectno,a.cmno,a.userno,a.isrebate,a.iscomplete,b.studytime,b.outfee select a.lectno,a.cmno,a.userno,a.isrebate,a.iscomplete,b.studytime,b.outfee
,case when a.sdate is null then b.sstime else a.sdate end as sdate ,case when a.sdate is null then b.sstime else a.sdate end as sdate
,case when a.edate is null then b.setime else a.edate end as edate ,case when a.edate is null then b.setime else a.edate end as edate
@ -1779,6 +1942,9 @@
<!--and (date_add(scd.eend,interval +5 day) &gt; date_format(now(),'%Y-%m-%d 23:59:59'))--> <!--and (date_add(scd.eend,interval +5 day) &gt; date_format(now(),'%Y-%m-%d 23:59:59'))-->
and date_add(a.cdt, interval +1 year) &gt;= date_format(now(),'%Y-%m-%d 23:59:59')) and date_add(a.cdt, interval +1 year) &gt;= date_format(now(),'%Y-%m-%d 23:59:59'))
</isNotNull> </isNotNull>
<isNotNull property="changeDate">
<Equal property="changeDate" compareValue="1">and (case when a.sdate is null then b.sstime else a.sdate end) > DATE_ADD(NOW(), INTERVAL -1 YEAR)</Equal>
</isNotNull>
union all union all
select a.lectno,a.cmno,a.userno,a.isrebate,a.iscomplete,b.studytime,b.outfee select a.lectno,a.cmno,a.userno,a.isrebate,a.iscomplete,b.studytime,b.outfee
,case when a.sdate is null then b.sstime else a.sdate end as sdate ,case when a.sdate is null then b.sstime else a.sdate end as sdate
@ -1808,6 +1974,9 @@
where e.isgroup=1 and e.userno=#userno# and e.pstatus=1 where e.isgroup=1 and e.userno=#userno# and e.pstatus=1
<isNotNull property="cshape">and b.cshape=#cshape#</isNotNull> <isNotNull property="cshape">and b.cshape=#cshape#</isNotNull>
<isNotNull property="changeDate">
<Equal property="changeDate" compareValue="1">and (case when a.sdate is null then b.sstime else a.sdate end) > DATE_ADD(NOW(), INTERVAL -1 YEAR)</Equal>
</isNotNull>
union all union all
select a.lectno,a.cmno,a.userno,a.isrebate,a.iscomplete,b.studytime,b.outfee select a.lectno,a.cmno,a.userno,a.isrebate,a.iscomplete,b.studytime,b.outfee
,case when a.sdate is null then b.sstime else a.sdate end as sdate ,case when a.sdate is null then b.sstime else a.sdate end as sdate
@ -1836,6 +2005,115 @@
LEFT OUTER JOIN comcode cc ON cc.ccode = cmis.studyplace and cc.cgroup ='studyplace' LEFT OUTER JOIN comcode cc ON cc.ccode = cmis.studyplace and cc.cgroup ='studyplace'
where a0.userno=#userno# and a0.status=1 and a0.ischanged=0 where a0.userno=#userno# and a0.status=1 and a0.ischanged=0
<isNotNull property="cshape">and b.cshape=#cshape#</isNotNull> <isNotNull property="cshape">and b.cshape=#cshape#</isNotNull>
<isNotNull property="changeDate">
<Equal property="changeDate" compareValue="1">and (case when a.sdate is null then b.sstime else a.sdate end) > DATE_ADD(NOW(), INTERVAL -1 YEAR)</Equal>
</isNotNull>
order by case when setime &lt; now() then 0 else 1 end desc,sortedate desc, edate desc,payno
</select>
<select id="lect.mylectures2" parameterClass="hashtable" resultClass="lect">
select a.lectno,a.cmno,a.userno,a.isrebate,a.iscomplete,b.studytime,b.outfee
,case when a.sdate is null then b.sstime else a.sdate end as sdate
,case when a.edate is null then b.setime else a.edate end as edate
,b.cmno,b.cname,b.cshape
<!--,case when a.ispc=1 then pc.sstime else b.sstime end sstime
,case when a.ispc=1 then pc.setime else b.setime end setime-->
,b.sstime,b.setime
,b.classno,b.isrefund
,c.tyear,c.tseq
,e.isgroup,e.payno
,u.username,null ccpositionname,CAST(AES_DECRYPT(UNHEX(u.email), <include refid="sql.digest"></include>) AS char) email,ua.asname
,1 rno
,e.cdt
,scd.estart,scd.eend
<!--,cc.ccode studyplace
,cc.cname studyplacename-->
,ccc.cname studyplacename,
cmis.studyplace
,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 &lt; <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 &lt; <include refid="sql.now"></include>-->
inner join term c on c.tmno=b.tmno
inner join cg d on d.cgno=b.cgno <isNotNull property="cgcode">and d.cgcode=#cgcode#</isNotNull>
inner join pay e on e.payno=a.payno and e.isgroup=0
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-->
LEFT OUTER JOIN cminningscd cmis ON cmis.cmisno = a.cmisno
LEFT OUTER JOIN comcode ccc ON ccc.ccode = cmis.studyplace and ccc.cgroup ='studyplace'
where a.userno=#userno# and a.status=1 and a.ischanged=0 <!-- 20220810 and a.sdate &lt; <include refid="sql.now"></include>-->
and (case when a.sdate is null then b.sstime else a.sdate end) > DATE_ADD(NOW(), INTERVAL -1 YEAR)
<!--20220810 where a.userno=#userno# and a.status=1 and a.ischanged=0 and a.sdate &lt; <include refid="sql.now"></include>-->
<isNotNull property="cshape">and b.cshape=#cshape#</isNotNull>
<isNotNull property="issubtable">
and (ifnull(a.iscomplete,0) = 0 <!-- 20220810 and b.cshape = 2 --> and scd.estart &gt; '1900-01-01' and scd.eend &gt; '1900-01-01'
<!--and scd.estart &gt; now()-->
<!--and (date_add(scd.eend,interval +5 day) &gt; date_format(now(),'%Y-%m-%d 23:59:59'))-->
and date_add(a.cdt, interval +1 year) &gt;= date_format(now(),'%Y-%m-%d 23:59:59'))
</isNotNull>
union all
select a.lectno,a.cmno,a.userno,a.isrebate,a.iscomplete,b.studytime,b.outfee
,case when a.sdate is null then b.sstime else a.sdate end as sdate
,case when a.edate is null then b.setime else a.edate end as edate
,b.cmno,b.cname,b.cshape,b.sstime,b.setime,b.classno,b.isrefund
,c.tyear,c.tseq
,e.isgroup,e.payno
,u.username,null ccpositionname,CAST(AES_DECRYPT(UNHEX(u.email), <include refid="sql.digest"></include>) AS char) email,ua.asname
,row_number() over(partition by e.payno) rno
,e.cdt,null estart, null eend
<!--null studyplace
,null studyplacename-->
,a.edate as sortedate
,null scdtype,
cc.cname studyplacename,
cmis.studyplace
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 &lt; <include refid="sql.now"></include>
inner join term c on c.tmno=b.tmno
inner join cg d on d.cgno=b.cgno <isNotNull property="iscover">and d.iscover=1</isNotNull>
inner join users u on u.userno=a.userno
left outer join assign ua on ua.asno=u.asno
LEFT OUTER JOIN cminningscd cmis ON cmis.cmisno = a.cmisno
LEFT OUTER JOIN comcode cc ON cc.ccode = cmis.studyplace and cc.cgroup ='studyplace'
where e.isgroup=1 and e.userno=#userno# and e.pstatus=1
and (case when a.sdate is null then b.sstime else a.sdate end) > DATE_ADD(NOW(), INTERVAL -1 YEAR)
<isNotNull property="cshape">and b.cshape=#cshape#</isNotNull>
union all
select a.lectno,a.cmno,a.userno,a.isrebate,a.iscomplete,b.studytime,b.outfee
,case when a.sdate is null then b.sstime else a.sdate end as sdate
,case when a.edate is null then b.setime else a.edate end as edate
,b.cmno,b.cname,b.cshape,b.sstime,b.setime,b.classno,b.isrefund
,c.tyear,c.tseq
,e.isgroup,e.payno
,u.username,null ccpositionname,CAST(AES_DECRYPT(UNHEX(u.email), <include refid="sql.digest"></include>) AS char) email,ua.asname
,row_number() over(partition by e.payno) rno
,e.cdt,null estart, null eend
<!--null studyplace
,null studyplacename-->
,a.edate as sortedate
,null scdtype,
cc.cname studyplacename,
cmis.studyplace
from lect a0
inner join pay e on e.payno=a0.payno and e.isgroup=1 and e.userno&lt;&gt;#userno# and e.pstatus=1
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 &lt; <include refid="sql.now"></include>
inner join term c on c.tmno=b.tmno
inner join cg d on d.cgno=b.cgno <isNotNull property="iscover">and d.iscover=1</isNotNull>
inner join users u on u.userno=a.userno
left outer join assign ua on ua.asno=u.asno
LEFT OUTER JOIN cminningscd cmis ON cmis.cmisno = a0.cmisno
LEFT OUTER JOIN comcode cc ON cc.ccode = cmis.studyplace and cc.cgroup ='studyplace'
where a0.userno=#userno# and a0.status=1 and a0.ischanged=0
and (case when a.sdate is null then b.sstime else a.sdate end) > DATE_ADD(NOW(), INTERVAL -1 YEAR)
<isNotNull property="cshape">and b.cshape=#cshape#</isNotNull>
order by case when setime &lt; now() then 0 else 1 end desc,sortedate desc, edate desc,payno order by case when setime &lt; now() then 0 else 1 end desc,sortedate desc, edate desc,payno
</select> </select>
<select id="lect.myexams" parameterClass="hashtable" resultClass="examuser"> <select id="lect.myexams" parameterClass="hashtable" resultClass="examuser">
@ -2211,6 +2489,28 @@
where (t1.status = 1 or t1.status = 2) and t2.isdel= 0 and t2.isuse= 1 and t2.ismaster = 0 and t1.userno = #userno# and t2.pcmno = #pcmno# where (t1.status = 1 or t1.status = 2) and t2.isdel= 0 and t2.isuse= 1 and t2.ismaster = 0 and t1.userno = #userno# and t2.pcmno = #pcmno#
)t )t
</select> </select>
<select id="lect.pplog.get" parameterClass="hashtable" resultClass="lect">
select l.lectno, l.cmno, l.payno, pp.cshape, cc.cname zstring1, cc2.cname zstring2, cc3.cname zstring3, cc4.cname zstring4, cc5.cname zstring5
from lect l
inner join pay p on l.payno = p.payno and l.userno = p.userno
inner join pplog pp on p.pplno = pp.pplno
left outer join comcode cc on cc.ccode = pp.typeman
left outer join comcode cc2 on cc2.ccode = pp.typeedu
left outer join comcode cc3 on cc3.ccode = pp.typegrade
left outer join comcode cc4 on cc4.ccode = pp.typejob
left outer join comcode cc5 on cc5.ccode = pp.typejobitem
where l.lectno = #lectno# and l.userno = #userno#
</select>
<!--과제 첨부 삭제시-->
<update id="lect.lectsd.del" parameterClass="int">
update lectsd set <include refid="sql.up"></include>
,submittime=null
,submitip=null
,fgno=null
where lectno=#lectno# and sdno=#sdno#;
</update>
</statements> </statements>
</sqlMap> </sqlMap>

View File

@ -13,7 +13,7 @@
<provider name="MySql" /> <provider name="MySql" />
<!--실서버 원격접속(개발자)--> <!--실서버 원격접속(개발자)-->
<!--<dataSource name="mysqlcon" connectionString="Server=118.219.255.222;Database=lmsynicte;User ID=ynicteadmin;Password=ynicte@Database" />--> <!--<dataSource name="mysqlcon" connectionString="Server=118.219.255.222;Database=lmsynicte;User ID=ynicteadmin;Password=ynicte@Database" />-->
<dataSource name="mysqlcon" connectionString="Server=118.219.255.222;Database=lmsynicte;User ID=ynicteadmin;Password=ynicte@Database" /> <dataSource name="mysqlcon" connectionString="Server=118.219.255.222;Database=lmsynicte;User ID=ynicteadmin;Password=ynicte@Database;Connect Timeout=30" />
</database> </database>

View File

@ -35,6 +35,14 @@ namespace NP.FO.Controllers
bmnos += "," + s.Split(':')[0]; bmnos += "," + s.Split(':')[0];
} }
} }
var pplogGet = Dao.Get<Lect>("lect.pplog.get", new System.Collections.Hashtable() { { "userno", SUserInfo.UserNo }, { "lectno", vm.Lect.lectno } }).FirstOrDefault();
vm.Lect.zstring1 = pplogGet.zstring1;
vm.Lect.zstring2 = pplogGet.zstring2;
vm.Lect.zstring3 = pplogGet.zstring3;
vm.Lect.zstring4 = pplogGet.zstring4;
vm.Lect.zstring5 = pplogGet.zstring5;
vm.Datas = Dao.Get<Data>("cr.main.boardalarm", new System.Collections.Hashtable() { { "bmnos", bmnos != null ? bmnos.Substring(1) : bmnos},{ "lect", vm.croomlectno },{ "cmno", vm.croomcmno }, { "lectno", vm.croomlectno }, { "userno", SUserInfo.UserNo } }); vm.Datas = Dao.Get<Data>("cr.main.boardalarm", new System.Collections.Hashtable() { { "bmnos", bmnos != null ? bmnos.Substring(1) : bmnos},{ "lect", vm.croomlectno },{ "cmno", vm.croomcmno }, { "lectno", vm.croomlectno }, { "userno", SUserInfo.UserNo } });
vm.LectInnings = Dao.Get<LectInning>("cr.cminnings", new System.Collections.Hashtable() { { "lectno", vm.croomlectno },{ "userno",SUserInfo.UserNo}, { "notstudy" + (Request.IsLocal ? "x" : ""), 1 },{ "limit", 6} }); vm.LectInnings = Dao.Get<LectInning>("cr.cminnings", new System.Collections.Hashtable() { { "lectno", vm.croomlectno },{ "userno",SUserInfo.UserNo}, { "notstudy" + (Request.IsLocal ? "x" : ""), 1 },{ "limit", 6} });
vm.intval2 = Convert.ToInt32((GetConfig("inninglimit") ?? "10")); vm.intval2 = Convert.ToInt32((GetConfig("inninglimit") ?? "10"));

View File

@ -798,12 +798,13 @@ namespace NP.FO.Controllers
hsData.Add("typegrade", vm.stringval5); hsData.Add("typegrade", vm.stringval5);
hsData.Add("typejob", vm.stringval6); hsData.Add("typejob", vm.stringval6);
hsData.Add("typejobitem", vm.stringval7); hsData.Add("typejobitem", vm.stringval7);
hsData.Add("isuse", 1);
hsData.Add("orderby", " a.pcmno, a.cname"); hsData.Add("orderby", " a.pcmno, a.cname");
vm.CMs = Dao.Get<CM>("cm.subcms", hsData).Where(w => w.isuse == 1).ToList(); vm.CMs = Dao.Get<CM>("cm.subcms", hsData).ToList();
} }
else if (vm.stringval == "1") //기타교육 else if (vm.stringval == "1") //기타교육
{ {
vm.CMs = Dao.Get<CM>("cm.cms", new System.Collections.Hashtable() { { "ismaster", "1" }, { "cshape", vm.stringval2 }, { "cgno", vm.stringval3 } }).Where(w => w.isuse == 1).ToList(); vm.CMs = Dao.Get<CM>("cm.cms", new System.Collections.Hashtable() { { "ismaster", "1" }, { "cshape", vm.stringval2 }, { "cgno", vm.stringval3 }, { "isuse", 1 } }).ToList();
} }
//hsData.Clear(); //hsData.Clear();
@ -899,7 +900,6 @@ namespace NP.FO.Controllers
//20220802 추가 //20220802 추가
vm.CM.cmino = lngTmp[0]; vm.CM.cmino = lngTmp[0];
vm.CM.cmisno = lngTmp[1]; vm.CM.cmisno = lngTmp[1];
vm.CM.applicableCM = (vm.CM.quota != 0 && vm.CM.quota - vm.CM.lectcnt <= 0) ? "대기접수" : "정상접수"; vm.CM.applicableCM = (vm.CM.quota != 0 && vm.CM.quota - vm.CM.lectcnt <= 0) ? "대기접수" : "정상접수";
vm.CMInningscds = Dao.Get<CMinningscd>("cm.cminningscds.applyedu", new System.Collections.Hashtable() { { "cmno", vm.cmno },{"month", (vm.scdMonth == null)? DateTime.Now.Year : vm.scdMonth } }); vm.CMInningscds = Dao.Get<CMinningscd>("cm.cminningscds.applyedu", new System.Collections.Hashtable() { { "cmno", vm.cmno },{"month", (vm.scdMonth == null)? DateTime.Now.Year : vm.scdMonth } });
foreach (var item in vm.CMInningscds) foreach (var item in vm.CMInningscds)

View File

@ -228,7 +228,7 @@ namespace NP.FO.Controllers
hsData.Add("cgcode", vm.intval > 0 ? TestCode3 : null); hsData.Add("cgcode", vm.intval > 0 ? TestCode3 : null);
//hsData.Add("cshape", 2); //hsData.Add("cshape", 2);
hsData.Add("issubtable", 1); hsData.Add("issubtable", 1);
vm.Lects = Dao.Get<Lect>("lect.mylectures", hsData); vm.Lects = Dao.Get<Lect>("lect.mylectures2", hsData);
foreach (var item in vm.Lects) foreach (var item in vm.Lects)

View File

@ -704,7 +704,7 @@
<Content Include="Views\My\MyAssInfo.cshtml" /> <Content Include="Views\My\MyAssInfo.cshtml" />
<Content Include="Views\Course\ApplyEdu.cshtml" /> <Content Include="Views\Course\ApplyEdu.cshtml" />
<Content Include="Views\Course\ApplyComplete.cshtml" /> <Content Include="Views\Course\ApplyComplete.cshtml" />
<Content Include="Views\Course\ApplyPay.cshtml" /> <Content Include="Views\Course\ApplyPay_221227.cshtml" />
<Content Include="Views\Course\XpayREQ.cshtml" /> <Content Include="Views\Course\XpayREQ.cshtml" />
<Content Include="Views\Course\XpayReturnURL.cshtml" /> <Content Include="Views\Course\XpayReturnURL.cshtml" />
<Content Include="Views\My\Document.cshtml" /> <Content Include="Views\My\Document.cshtml" />
@ -716,7 +716,7 @@
<Content Include="Views\Shared\Partial\MobileChk.cshtml" /> <Content Include="Views\Shared\Partial\MobileChk.cshtml" />
<Content Include="Views\Home\PrivacyPolicy.cshtml" /> <Content Include="Views\Home\PrivacyPolicy.cshtml" />
<Content Include="Views\Home\UsePolicy.cshtml" /> <Content Include="Views\Home\UsePolicy.cshtml" />
<Content Include="Views\Course\ApplyAgree.cshtml" /> <Content Include="Views\Course\ApplyAgree_old.cshtml" />
<Content Include="Views\Open\PlayOpen.cshtml" /> <Content Include="Views\Open\PlayOpen.cshtml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
@ -734,6 +734,12 @@
<Content Include="Views\Account\PwChange.cshtml" /> <Content Include="Views\Account\PwChange.cshtml" />
<Content Include="Views\Account\DormantCancel.cshtml" /> <Content Include="Views\Account\DormantCancel.cshtml" />
<Content Include="Views\Course\ApplyPay_1005.cshtml" /> <Content Include="Views\Course\ApplyPay_1005.cshtml" />
<Content Include="Views\Shared\Partial\policy.cshtml" />
<Content Include="Views\Shared\Partial\privacy.cshtml" />
<Content Include="Views\Shared\Partial\Select.cshtml" />
<Content Include="Views\Course\ApplyEdu_2301대체용.cshtml" />
<Content Include="Views\Course\ApplyAgree.cshtml" />
<Content Include="Views\Course\ApplyPay.cshtml" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\Base\Base.csproj"> <ProjectReference Include="..\Base\Base.csproj">

View File

@ -110,5 +110,32 @@
msg("운영자에게 문의해주세요."); msg("운영자에게 문의해주세요.");
} }
} }
function cbfiledel() {
if (capResult.code == 1000) {
var ul = $(_filedela).closest("ul");
$(_filedela).closest("li").remove();
if ($(ul).find("li input.file").length + $(ul).find("li a.file").length < getint($(ul).attr("data-filecount"))) {
$(ul).append("<li><input type=\"file\" class=\"file\" name=\"" + $(ul).attr("data-fname") + "\" accept=\"media_type\" onchange=\"filechange(this)\" /><a href=\"#\" class=\"filedel\" onclick=\"filedel(0, this)\">삭제</a></li>");
}
var empli = false;
$.each($(ul).find("li"), function (i, li) {
if ($(li).find("input.file").val() == "") {
if (empli) {
$(li).addClass("delme");
} else {
empli = true;
}
}
});
$(ul).find("li.delme").remove();
let sdno = @(Model.LectSD.sdno);
let lectno = @(Model.LectSD.lectno);
capp("/fcommon/delfileOk", { lectno: lectno, sdno: sdno });
}
}
</script> </script>
} }

View File

@ -15,6 +15,7 @@
@*<th>진행평가</th>*@ @*<th>진행평가</th>*@
<th>최종평가</th> <th>최종평가</th>
<th>과제평가</th> <th>과제평가</th>
<th style="display:@(Model.Lect.isoffabs == 1 ? "" : "none")">집체교육(7h)</th>
@*<th>토론평가</th>*@ @*<th>토론평가</th>*@
<th>총점</th> <th>총점</th>
</tr> </tr>
@ -26,6 +27,7 @@
@*<td>@(Model.Lect.mportion)%</td>*@ @*<td>@(Model.Lect.mportion)%</td>*@
<td>@(Model.Lect.fportion)%</td> <td>@(Model.Lect.fportion)%</td>
<td>@(Model.Lect.sportion)%</td> <td>@(Model.Lect.sportion)%</td>
<td style="display:@(Model.Lect.isoffabs == 1 ? "" : "none")">-</td>
@*<td>@(Model.Lect.dportion)%</td>*@ @*<td>@(Model.Lect.dportion)%</td>*@
<td class="red">100%(점)</td> <td class="red">100%(점)</td>
</tr> </tr>
@ -35,6 +37,7 @@
@*<td>@(Model.Lect.mcut)%이상</td>*@ @*<td>@(Model.Lect.mcut)%이상</td>*@
<td>@(Model.Lect.fcut)점이상</td> <td>@(Model.Lect.fcut)점이상</td>
<td>@(Model.Lect.scut)점이상</td> <td>@(Model.Lect.scut)점이상</td>
<td style="display:@(Model.Lect.isoffabs == 1 ? "" : "none")">집체교육 참석(7h)</td>
@*<td>@(Model.Lect.dcut)%이상</td>*@ @*<td>@(Model.Lect.dcut)%이상</td>*@
<td class="red">@(Model.Lect.cut)점이상</td> <td class="red">@(Model.Lect.cut)점이상</td>
</tr> </tr>
@ -44,6 +47,7 @@
@*<td>@(Model.Lect.ex0lectpoint)점</td>*@ @*<td>@(Model.Lect.ex0lectpoint)점</td>*@
<td>@(Model.Lect.ex1lectpoint)점</td> <td>@(Model.Lect.ex1lectpoint)점</td>
<td>@(Model.Lect.sd0lectpoint)점</td> <td>@(Model.Lect.sd0lectpoint)점</td>
<td style="display:@(Model.Lect.isoffabs == 1 ? "" : "none")">@(Model.Lect.istatus == 2 ? "출석완료" : "-")</td>
@*<td>@(Model.Lect.sd1lectpoint)점</td>*@ @*<td>@(Model.Lect.sd1lectpoint)점</td>*@
<td class="red">@(Model.Lect.apoint + Model.Lect.mpoint + Model.Lect.fpoint + Model.Lect.spoint + Model.Lect.dpoint)점</td> <td class="red">@(Model.Lect.apoint + Model.Lect.mpoint + Model.Lect.fpoint + Model.Lect.spoint + Model.Lect.dpoint)점</td>
</tr> </tr>

View File

@ -14,6 +14,7 @@
@*<th>진행평가</th>*@ @*<th>진행평가</th>*@
<th>최종평가</th> <th>최종평가</th>
<th>과제평가</th> <th>과제평가</th>
<th style="display:@(Model.Lect.isoffabs == 1 ? "" : "none")">집체교육(7h)</th>
@*<th>토론평가</th>*@ @*<th>토론평가</th>*@
<th>총점</th> <th>총점</th>
</tr> </tr>
@ -25,6 +26,7 @@
@*<td>@(Model.Lect.ex0lectpoint)점</td>*@ @*<td>@(Model.Lect.ex0lectpoint)점</td>*@
<td>@(Model.Lect.ex1lectpoint)점</td> <td>@(Model.Lect.ex1lectpoint)점</td>
<td>@(Model.Lect.sd0lectpoint)점</td> <td>@(Model.Lect.sd0lectpoint)점</td>
<td style="display:@(Model.Lect.isoffabs == 1 ? "" : "none")">@(Model.Lect.istatus == 2 ? "출석완료" : "-")</td>
@*<td>@(Model.Lect.sd1lectpoint)점</td>*@ @*<td>@(Model.Lect.sd1lectpoint)점</td>*@
<td style="color:#ff0000;">@(Model.Lect.apoint + Model.Lect.mpoint + Model.Lect.fpoint + Model.Lect.spoint + Model.Lect.dpoint)점</td> <td style="color:#ff0000;">@(Model.Lect.apoint + Model.Lect.mpoint + Model.Lect.fpoint + Model.Lect.spoint + Model.Lect.dpoint)점</td>
@ -41,48 +43,114 @@
@*<td>@(Model.Lect.mcut)점이상</td>*@ @*<td>@(Model.Lect.mcut)점이상</td>*@
<td>@(Model.Lect.fcut)점이상</td> <td>@(Model.Lect.fcut)점이상</td>
<td>@(Model.Lect.scut)점이상</td> <td>@(Model.Lect.scut)점이상</td>
<td style="display:@(Model.Lect.isoffabs == 1 ? "" : "none")">집체교육 참석(7h)</td>
@*<td>@(Model.Lect.dcut)점이상</td>*@ @*<td>@(Model.Lect.dcut)점이상</td>*@
<td style="color:#ff0000;">@(Model.Lect.cut)점이상</td> <td style="color:#ff0000;">@(Model.Lect.cut)점이상</td>
</tr> </tr>
<tr style="display:none;"> <tr style="display:none;">
@if (Model.Lect.iscomplete == null) @if (Model.Lect.iscomplete == null)
{ {
<td colspan="5" >※ 나의성적이 수료기준을 충족하였을 경우 성적 화면에서 수료요청을 해주셔야 합니다.</td> <td colspan="6">※ 나의성적이 수료기준을 충족하였을 경우 성적 화면에서 수료요청을 해주셔야 합니다.</td>
} }
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
<div style="text-align:center;"> <div style="text-align:center;">
<span style="color:red;">※ 관련 규정에 의거 동시접속방지 기능으로 인해 다른 환경에서 접속 시 기존 환경에서는 로그아웃 되어 동영상 시청 진도율이 반영되지 않습니다.</span><br/> <span style="color:red;">※ 관련 규정에 의거 동시접속방지 기능으로 인해 다른 환경에서 접속 시 기존 환경에서는 로그아웃 되어 동영상 시청 진도율이 반영되지 않습니다.</span><br />
<span style="color:red;">※ 관련 법령에 의해 일일 최대 학습시간은 학습중인 모든 과정에 대하여 10시간(10차시)입니다.</span> <span style="color:red;">※ 관련 법령에 의해 일일 최대 학습시간은 학습중인 모든 과정에 대하여 10시간(10차시)입니다.</span>
</div> </div>
</div> </div>
@if(Model.Lect.isoffabs == 1) @if (Model.Lect.isoffabs == 1)
{ {
<div class="lctcScore"> <div class="lctcScore">
<div class="lctCont"> <div class="lctCont" style="padding-bottom:0">
<h5>집합교육 안내</h5> <h5>집체교육 안내</h5>
<table> <table>
<thead> <thead>
<tr> <tr>
<th>집체일정</th> <th>집체일정</th>
<th>교육장소</th> <th>집체장소</th>
<th>준비물</th> <th>준비물</th>
<th>출석여부</th> <th>출석여부</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@if (Model.Lect.istatusname == "출석")
{
<tr>
<td>-</td>
<td>-</td>
<td>-</td>
<td>@(Model.Lect.istatusname == "출석" ? "출석완료" : "-")</td>
</tr>
}
else
{
<tr> <tr>
<td>@(string.Format(Model.Lect.estart.ToString("yyyy-MM-dd")))</td> <td>@(string.Format(Model.Lect.estart.ToString("yyyy-MM-dd")))</td>
<td>@Model.Lect.studyplacename</td> <td>@(Model.Lect.studyplacename)교육장</td>
<td>신분증,필기도구</td> <td>신분증,필기도구</td>
<td>@Model.Lect.istatusname</td> <td>-</td>
</tr> </tr>
}
</tbody> </tbody>
</table> </table>
<br />
<h5>신청내용</h5>
<table class="subTable" style="border:3px solid red;">
<tr>
<th>교육유형</th>
@if (!string.IsNullOrEmpty(Model.Lect.zstring1))
{
<th>기술인분류</th>
}
@if (!string.IsNullOrEmpty(Model.Lect.zstring2))
{
<th>교육목적</th>
}
@if (!string.IsNullOrEmpty(Model.Lect.zstring3))
{
<th>등급</th>
}
@if (!string.IsNullOrEmpty(Model.Lect.zstring4))
{
<th>직무분야</th>
}
@if (!string.IsNullOrEmpty(Model.Lect.zstring5))
{
<th>전문분야</th>
}
</tr>
<tr>
<td>@(Model.stringval2 == "0" ? "온라인교육" : Model.stringval2 == "1" ? "교육장교육" : "온라인교육")</td>
@if (!string.IsNullOrEmpty(Model.Lect.zstring1))
{
<td>@Model.Lect.zstring1</td>
}
@if (!string.IsNullOrEmpty(Model.Lect.zstring2))
{
<td>@Model.Lect.zstring2</td>
}
@if (!string.IsNullOrEmpty(Model.Lect.zstring3))
{
<td>@Model.Lect.zstring3</td>
}
@if (!string.IsNullOrEmpty(Model.Lect.zstring4))
{
<td>@Model.Lect.zstring4</td>
}
@if (!string.IsNullOrEmpty(Model.Lect.zstring5))
{
<td>@Model.Lect.zstring5</td>
}
</tr>
</table>
</div> </div>
</div>
</div>
} }
<div class="lctCont" style="padding-left:0px;"> <div class="lctCont" style="padding-left:0px;">
<div class="lctcHalf"> <div class="lctcHalf">
@ -144,7 +212,7 @@
<dt>@(d.edate < DateTime.Now ? "학습기간종료" : d.isonline == 0 && d.istatus == 2 ? "출석완료" : d.isonline == 0 && d.idate < DateTime.Now ? "결석" : d.isonline == 0 ? "출석전" : d.stime == null ? "학습전(0%)" : d.istatus == 2 ? "학습완료" : string.Format("학습중({0}%)", d.sttime > 0 ? (d.totstudy * 100 / (d.sttime * 60)) : 0))</dt> <dt>@(d.edate < DateTime.Now ? "학습기간종료" : d.isonline == 0 && d.istatus == 2 ? "출석완료" : d.isonline == 0 && d.idate < DateTime.Now ? "결석" : d.isonline == 0 ? "출석전" : d.stime == null ? "학습전(0%)" : d.istatus == 2 ? "학습완료" : string.Format("학습중({0}%)", d.sttime > 0 ? (d.totstudy * 100 / (d.sttime * 60)) : 0))</dt>
@*<dt style="color:#888888"><span style="color:red;">@(d.isonline == 0 ? (d.cshape != 2 ? "강의시작일" : "집체교육") : "교육기간")</span> : @(d.isonline == 0 ? (d.cshape != 2 ? string.Format("{0} {1}:{2}", d.idate.ToString("MM/dd"), d.ist.Substring(0, 2), d.ist.Substring(2, 2)) : d.eend.ToString("MM/dd")) :d.cshape != 1 ? d.cdt.ToString("MM/dd")+" ~ "+d.estart.ToString("MM/dd") : (d.sdate.ToString("MM/dd") + " ~ " + d.edate.ToString("MM/dd")))</dt>*@ @*<dt style="color:#888888"><span style="color:red;">@(d.isonline == 0 ? (d.cshape != 2 ? "강의시작일" : "집체교육") : "교육기간")</span> : @(d.isonline == 0 ? (d.cshape != 2 ? string.Format("{0} {1}:{2}", d.idate.ToString("MM/dd"), d.ist.Substring(0, 2), d.ist.Substring(2, 2)) : d.eend.ToString("MM/dd")) :d.cshape != 1 ? d.cdt.ToString("MM/dd")+" ~ "+d.estart.ToString("MM/dd") : (d.sdate.ToString("MM/dd") + " ~ " + d.edate.ToString("MM/dd")))</dt>*@
<dt style="color:#888888"><span style="color:red;">@(d.isonline == 0 ? (d.cshape != 2 ? "강의시작일" : "집체교육") : "교육기간")</span> : @(d.isonline == 0 ? (d.cshape != 2 ? string.Format("{0} {1}:{2}", d.idate.ToString("MM/dd"), d.ist.Substring(0, 2), d.ist.Substring(2, 2)) : d.eend.ToString("MM/dd")) :(d.sdate.ToString("MM/dd") + " ~ " + d.edate.ToString("MM/dd")))</dt> <dt style="color:#888888"><span style="color:red;">@(d.isonline == 0 ? (d.cshape != 2 ? "강의시작일" : "집체교육") : "교육기간")</span> : @(d.isonline == 0 ? (d.cshape != 2 ? string.Format("{0} {1}:{2}", d.idate.ToString("MM/dd"), d.ist.Substring(0, 2), d.ist.Substring(2, 2)) : d.eend.ToString("MM/dd")) :(d.sdate.ToString("MM/dd") + " ~ " + d.edate.ToString("MM/dd")))</dt>
@if(d.cshape != 1 && d.isonline == 1) @if (d.cshape != 1 && d.isonline == 1)
{ {
<dd><span>복습기간</span> : @(d.edate.AddYears(1).ToString("yy-MM-dd"))</dd> <dd><span>복습기간</span> : @(d.edate.AddYears(1).ToString("yy-MM-dd"))</dd>
} }

View File

@ -63,7 +63,7 @@
</dl> </dl>
} }
<dl class="lctSecCont"> <dl class="lctSecCont" style="display:none">
<dt>수료기준</dt> <dt>수료기준</dt>
<dd> <dd>
<table class="fairStand"> <table class="fairStand">
@ -121,7 +121,7 @@
</table> </table>
</dd> </dd>
</dl> </dl>
<p style="color:red;">※ 수료기준은 각 항목의 백분율 기준으로 표기합니다.</p> <p style="color: red; display: none">※ 수료기준은 각 항목의 백분율 기준으로 표기합니다.</p>
@section scriptsHeader{ @section scriptsHeader{
} }

View File

@ -42,14 +42,23 @@
} }
if (Model.CM.cshape == 1) if (Model.CM.cshape == 1)
{ {
strEduInfo = string.Format("교육기간 {0} | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>", strEduInfo = string.Format("교육기간 {0} | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>",
Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0")); Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0"));
} }
else else
{ {
strEduInfo += string.Format("교육기간 {0} |", Model.SelectCMInningscd.scdInfoSummary);
strEduInfo += string.Format("<span> 교육종료일 {0} </span> | ", Model.SelectCMInningscd.eend2);
strEduInfo += string.Format("{0}시간과정 |", Model.CM.studytime);
strEduInfo += string.Format("<span class='red'> {0}과정 </span><br />", (Model.CM.isrefund == 1 ? "환급" : "비환급"));
strEduInfo += string.Format("<span style='margin-left:5px;' class='red'>집체교육 참석일 : {0}</span><br />", Model.SelectCMInningscd.estart.ToString("yyyy년 MM월 dd일"));
strEduInfo += string.Format("<span style='margin-left:5px;'>교육비 : {0}원</span>", Model.CM.infee.ToString("#,0"));
//Model.SelectCMInningscd.eend2 교육종료일 //Model.SelectCMInningscd.eend2 교육종료일
strEduInfo = string.Format("교육기간 {0} |<span class='red'> 교육종료일 {1} </span> | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>", //strEduInfo = string.Format("교육기간 {0} |<span class='red'> 교육종료일 {1} </span> | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>",
Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0")); // Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0"));
} }
} }
@ -163,7 +172,7 @@
2. 총 35시간 교육 중 28시간 이상 이수 2. 총 35시간 교육 중 28시간 이상 이수
</p>*@ </p>*@
@*}*@ @*}*@
<h4 class="clsTitle">환급대상자 필수확인사항</h4> <h4 class="clsTitle">환급과정 신청 시 환급대상자 필수확인사항</h4>
<p class="subTxt"> <p class="subTxt">
<span style="color:red;"> - 입교 전 출결관리를 위해 어플 설치 및 로그인(고용노동부 HRD-NET 및 출결관리 어플), 위탁계약서(회사 직인 필수) 지참</span><br /> <span style="color:red;"> - 입교 전 출결관리를 위해 어플 설치 및 로그인(고용노동부 HRD-NET 및 출결관리 어플), 위탁계약서(회사 직인 필수) 지참</span><br />
<span style="color:red;">- 교육비 입금 시 신용카드는 반드시 법인카드로만 결제, 무통장 입금은 입금자명을 회사상호+교육생 형식으로 작성</span><br /> <span style="color:red;">- 교육비 입금 시 신용카드는 반드시 법인카드로만 결제, 무통장 입금은 입금자명을 회사상호+교육생 형식으로 작성</span><br />
@ -176,14 +185,14 @@
{ {
<h4 class="clsTitle">교육수료조건</h4> <h4 class="clsTitle">교육수료조건</h4>
<p class="subTxt"> <p class="subTxt">
1. <span class="subTxt red">동영상강의 35시간 진도율 90% 이상</span><br /> 1. <span class="subTxt">동영상강의 진도율 90% 이상</span><br />
2. <span class="subTxt red">과제물 제출(표지 제외 A4 2장 이상 분량)</span><br /> 2. <span class="subTxt">과제물 제출(표지 제외 A4용지 2장 이상 분량)</span><br />
3. <span class="subTxt red">시험평가 58점 이상 득점</span><br /> 3. <span class="subTxt">시험평가 60점 이상 득점</span><br />
4. 총점 70점 이상 득점 : 시험평가(60점) + 과제(20점) + 진도율(20점) =100%(점)<br /><br /> 4. <span class="subTxt red">집체교육7시간 참석</span><br /><br />
<span class="subTxt red">※ 위 4가지 조건 모두 만족하셔야 수료가 가능합니다.</span><br /> <span class="subTxt red">※ 위 4가지 조건 모두 만족하셔야 수료가 가능합니다.</span><br />
<span class="subTxt red">※ 하루 최대 학습 시간은 10차시 입니다.</span><br /> @*<span class="subTxt red">※ 하루 최대 학습 시간은 10차시 입니다.</span><br />
<span style="font-size:15pt;">※ 현재 코로나로 인하여 기존 <span style="color:red;">(동영상강의 시청 28시간 + 현장집체7시간 참석)</span>에서 한시적으로 <span style="color:red;">(동영상강의 시청 35시간)으로 진행합니다.</span></span> <span style="font-size:15pt;">※ 현재 코로나로 인하여 기존 <span style="color:red;">(동영상강의 시청 28시간 + 현장집체7시간 참석)</span>에서 한시적으로 <span style="color:red;">(동영상강의 시청 35시간)으로 진행합니다.</span></span>*@
@*※ 국토부 장관이 인정하는 사유로 집체교육을 실시 하지 못할 시 에는 동영상강의로 대체되며 7시간을 100% 이수하셔야 수료가 가능합니다.<br />*@ @*※ 국토부 장관이 인정하는 사유로 집체교육을 실시 하지 못할 시 에는 동영상강의로 대체되며 7시간을 100% 이수하셔야 수료가 가능합니다.<br />*@
</p> </p>

View File

@ -0,0 +1,228 @@
@model NP.Model.VMCourse
@{
var isallday = Model.CM.retimeymd == "2099-12-31" ? true : false;
}
<form id="historyForm" method="post">
<input type="hidden" name="cmno" value="@Model.cmno" /> @*강좌번호*@
<input type="hidden" name="stringval" value="@Model.stringval" /> @*법정교육/기타교육*@
<input type="hidden" name="stringval2" value="@Model.stringval2" />@*교육유형*@
<input type="hidden" name="stringval3" value="@Model.stringval3" />@*기술인분류*@
<input type="hidden" name="stringval4" value="@Model.stringval4" />@*교육목적*@
<input type="hidden" name="stringval5" value="@Model.stringval5" />@*등급*@
<input type="hidden" name="stringval6" value="@Model.stringval6" />@*직무분야*@
<input type="hidden" name="stringval7" value="@Model.stringval7" />@*전문분야*@
<input type="hidden" name="pplno" value="@Model.pplno" />@*pplno*@
<input type="hidden" name="selMonth" value="@Model.selMonth" />@*교육일정선택(selMonth)*@
<input type="hidden" name="isCompany" value="@Model.isCompany" />@*업체/개인 선택*@
<input type="hidden" name="CM.cmino" id="becmino" value="@Model.CM.cmino" />
<input type="hidden" name="CM.cmisno" id="becmisno" value="@Model.CM.cmisno" />
<input type="hidden" name="CM.cshape" id="cshape" value="@Model.CM.cshape" />
<input type="hidden" name="applicableCM" id="applicableCM" />
<h4 class="clsTitle">신청강좌</h4>
<ul class="smtList mt0" style="font-weight:500;">
<li>
<ul class="smtlChk">
<li>
<p>
<span class="@(Model.CM.cshape == 0 ? "org" : Model.CM.cshape == 1 ? "nav_grn" : "nav_blu")">
@(Model.CM.cshape == 0 ? "온라인" : Model.CM.cshape == 1 ? "교육장교육" : "온라인교육")
</span>
@{
string strStudyPlaceTmp = "";
string strStudyPlaceTmp2 = "";
string strEduInfo = "";
if (Model.SelectCMInningscd.studyplace != null)
{
strStudyPlaceTmp = Model.SelectCMInningscd.studyplacename + "교육장";
strStudyPlaceTmp2 = Model.CM.cname;
}
else
{
strStudyPlaceTmp = Model.CM.cname;
}
if (Model.CM.cshape == 1)
{
strEduInfo = string.Format("교육기간 {0} | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>",
Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0"));
}
else
{
//Model.SelectCMInningscd.eend2 교육종료일
strEduInfo = string.Format("교육기간 {0} |<span class='red'> 교육종료일 {1} </span> | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>",
Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0"));
}
}
@if (Model.SelectCMInningscd.studyplace == null)
{
<span style="font-size:22px"><label><span>@strStudyPlaceTmp</span><span class="blu">@strStudyPlaceTmp2 </span></label></span><br />
}
else if (Model.SelectCMInningscd.studyplace != null)
{
<span style="font-size:22px"><label><span class="blu">[@strStudyPlaceTmp]</span><span>@strStudyPlaceTmp2 </span></label></span><br />
}
<span><label>@Html.Raw(strEduInfo)</label></span>
</p>
</li>
</ul>
<div class="apyCost">
@if (Model.PPLog.isaccommodation != 1)
{
<span>결제금액:<span class="red">@Model.CM.infee.ToString("#,0")</span>원</span>
}
else
{
<span>결제금액:<span class="red">@((Model.CM.infee + Model.CM.accommofee).ToString("#,0"))</span>원 (합숙 : @(Model.CM.accommofee.ToString("#,0"))원 포함)</span>
}
</div>
</li>
</ul>
@if (Model.CM.isaccommodation == 1)
{
<h4 class="clsTitle">합숙여부</h4>
<p class="subTxt">
@(Model.PPLog.isaccommodation == 1 ? string.Format("합숙 ({0}원 추가)",Model.CM.accommofee.ToString("#,0")) : "비합숙")
</p>
}
@if (Model.stringval == "0")
{
<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>
}
@if (!string.IsNullOrEmpty(Model.stringval4))
{
<th>교육목적</th>
}
@if (!string.IsNullOrEmpty(Model.stringval5))
{
<th>등급</th>
}
@if (!string.IsNullOrEmpty(Model.stringval6))
{
<th>직무분야</th>
}
@if (!string.IsNullOrEmpty(Model.stringval7))
{
<th>전문분야</th>
}
</tr>
<tr>
<td>@(Model.stringval2 == "0" ? "온라인교육" : Model.stringval2 == "1" ? "교육장교육" : "온라인교육")</td>
@if (!string.IsNullOrEmpty(Model.stringval3))
{
<td>@Model.ComCodes2.Where(w => w.cgroup.ToString() == "typeman" && w.ccode == int.Parse(Model.stringval3)).First().cname</td>
}
@if (!string.IsNullOrEmpty(Model.stringval4))
{
<td>@Model.ComCodes3.Where(w => w.cgroup.ToString() == "typeedu" && w.ccode == int.Parse(Model.stringval4)).First().cname</td>
}
@if (!string.IsNullOrEmpty(Model.stringval5))
{
<td>@Model.ComCodes4.Where(w => w.cgroup.ToString() == "typegrade" && w.ccode == int.Parse(Model.stringval5)).First().cname</td>
}
@if (!string.IsNullOrEmpty(Model.stringval6))
{
<td>@Model.ComCodes.Where(w => w.cgroup.ToString() == "typejob" && w.ccode == int.Parse(Model.stringval6)).First().cname</td>
}
@if (!string.IsNullOrEmpty(Model.stringval7))
{
<td>@Model.ComCodes.Where(w => w.ccode == int.Parse(Model.stringval7)).First().cname</td>
}
</tr>
</table>
}
<p class="subTxt">
<strong>
<br />
<span style="color:red; font-size:18px;"><strong>※ 반드시 확인하세요</strong></span><br />
- 실제 이수해야 할 내용과 신청내용이 다른 경우 <span style="color:red;">교육인정 및 수정이 불가능</span> 하오니 정확하게 확인 해주세요.<br />
- 상기 신청내용의 등급이 <span style="color:red;">직무분야의 등급으로 맞게 기재되어 있는지 확인해주세요.</span>(전문분야 등급 아님)<br />
- 건설사업관리기술인은 <span style="color:red;">감리업무를 수행하는 기술인</span>을 말합니다.<br />
- 승급교육일 경우 등급은 <span style="color:red;">승급 후 등급이 기재되어야</span> 하며 승급대상 여부 등을 반드시 협회로 확인 해주세요.<br />
- 승급교육 또는 계속교육을 인정받으려면 <span style="color:red;">기본교육 및 최초교육을 먼저 이수하여야 합니다.</span><br />
- 모든 최초,승급,계속 교육 등은 직무분야 교육이며 <span style="color:red;">전문분야 관련으로 따로 이수하여야 할 교육은 없습니다.
</strong>
</p>
@if (Model.CM.cshape == 1)
{
@* if (Model.CM.cshape != 1)
{*@
@* <h4 class="clsTitle">교육수료조건</h4>
<p class="subTxt">
1. 총점 70점 이상 득점 : 시험평가(80점) + 출결점수(20점) =100점<br />
2. 총 35시간 교육 중 28시간 이상 이수
</p>*@
@*}*@
<h4 class="clsTitle">환급과정 신청 시 환급대상자 필수확인사항</h4>
<p class="subTxt">
<span style="color:red;"> - 입교 전 출결관리를 위해 어플 설치 및 로그인(고용노동부 HRD-NET 및 출결관리 어플), 위탁계약서(회사 직인 필수) 지참</span><br />
<span style="color:red;">- 교육비 입금 시 신용카드는 반드시 법인카드로만 결제, 무통장 입금은 입금자명을 회사상호+교육생 형식으로 작성</span><br />
예) 현대건설 이지은인 경우 → 현대이지은 으로 작성 <br />
※ 출결관리 어플 설치 방법은 홈페이지 <span style="color:red;">자료실에 있는 설치가이드를 참고</span> 부탁드립니다.
</p>
}
else
{
<h4 class="clsTitle">교육수료조건</h4>
<p class="subTxt">
1. <span class="subTxt red">동영상강의 35시간 진도율 90% 이상</span><br />
2. <span class="subTxt red">과제물 제출(표지 제외 A4 2장 이상 분량)</span><br />
3. <span class="subTxt red">시험평가 58점 이상 득점</span><br />
4. 총점 70점 이상 득점 : 시험평가(60점) + 과제(20점) + 진도율(20점) =100%(점)<br /><br />
<span class="subTxt red">※ 위 4가지 조건 모두 만족하셔야 수료가 가능합니다.</span><br />
<span class="subTxt red">※ 하루 최대 학습 시간은 10차시 입니다.</span><br />
<span style="font-size:15pt;">※ 현재 코로나로 인하여 기존 <span style="color:red;">(동영상강의 시청 28시간 + 현장집체7시간 참석)</span>에서 한시적으로 <span style="color:red;">(동영상강의 시청 35시간)으로 진행합니다.</span></span>
@*※ 국토부 장관이 인정하는 사유로 집체교육을 실시 하지 못할 시 에는 동영상강의로 대체되며 7시간을 100% 이수하셔야 수료가 가능합니다.<br />*@
</p>
<h4 class="clsTitle">교육수강기한</h4>
<p class="subTxt">
온라인교육은 신청일로 부터 <span class="subTxt red">최대 1년 이내</span>에 수료하셔야 하며 <span class="subTxt red">1년 이내</span>에 교육수료가 되지 않으면 수료 및 환불이 불가능합니다.
</p>
}
<h4 class="clsTitle">주의사항</h4>
<p class="subTxt" style="border: 3px solid red; padding: 5px; margin: 10px;">
교육생이 이수하여야 할 교육은 소속된 협회에서만 조회가 가능합니다. <br />
따라서 협회 확인 없이 잘못된 내용으로 교육수료 시 그 책임은 교육생 본인에게 있으므로<br />
저희 교육원과 상담을 하셨더라도 교육신청 전에 반드시 협회를 통하여 한 번 더 확인을 하시고 신청해 주시기 바랍니다.<br />
<span class="subTxt red"> ※ 신청내용(필수확인)부분의 내용을 반드시 협회에 확인해 보시기 바랍니다.</span>
</p>
<p class="subTxt" style="text-align:center;margin-top:30px;">
<input type="checkbox" id="agree" /> <label for="agree">위 내용을 모두 확인하였으며 이에 동의합니다.</label>
</p>
<ul class="clsBtn society">
<li><a href="#" id="btnagree">수강신청</a></li>
<li><a href="#" id="btnback" style="background-color: #fff;border: solid 1px #0047a7;color:#0047a7;">뒤로가기</a></li>
</ul>
</form>
<script type="text/javascript">
$(document).ready(function () {
$("#btnagree").on("click", function () {
if ($('input:checkbox[id="agree"]').is(":checked")) {
$("#historyForm").attr("action", "/Course/ApplyPay");
$("#historyForm").submit();
} else {
msg("신청 내용 확인 후 동의를 체크해주세요.");
return false;
}
});
$("#btnback").on("click", function () {
$("#historyForm").attr("action", "/Course/ApplyEdu");
$("#historyForm").submit();
});
});
</script>

View File

@ -48,8 +48,17 @@ else
else else
{ {
//Model.SelectCMInningscd.eend2 교육종료일 //Model.SelectCMInningscd.eend2 교육종료일
strEduInfo = string.Format("교육기간 {0} |<span class='red'> 교육종료일 {1} </span> | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>",
Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0")); strEduInfo += string.Format("교육기간 {0} |", Model.SelectCMInningscd.scdInfoSummary);
strEduInfo += string.Format("<span> 교육종료일 {0} </span> | ", Model.SelectCMInningscd.eend2);
strEduInfo += string.Format("{0}시간과정 |", Model.CM.studytime);
strEduInfo += string.Format("<span class='red'> {0}과정 </span><br />", (Model.CM.isrefund == 1 ? "환급" : "비환급"));
strEduInfo += string.Format("<span style='margin-left:5px;' class='red'>집체교육 참석일 : {0}</span><br />", Model.SelectCMInningscd.estart.ToString("yyyy년 MM월 dd일"));
strEduInfo += string.Format("<span style='margin-left:5px;'>교육비 : {0}원</span>", Model.CM.infee.ToString("#,0"));
//strEduInfo = string.Format("교육기간 {0} |<span class='red'> 교육종료일 {1} </span> | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>",
//Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0"));
} }
} }
@ -79,9 +88,8 @@ else
</li> </li>
</ul> </ul>
<h4 class="clsTitle">신청하신 교육은 상단 메뉴의 <strong class="red">마이페이지 > 나의강의실</strong> 에서 확인 및 수강이 가능합니다.</h4>
<br />
<h4 class="clsTitle">교육비 입금기한 안내</h4> <h4 class="clsTitle">교육비 입금기한 안내</h4>
<p class="subTxt"> <p class="subTxt">
<span>- 온라인교육 : 신청일로 부터 한 달 이내<br /></span> <span>- 온라인교육 : 신청일로 부터 한 달 이내<br /></span>

View File

@ -61,8 +61,15 @@
else else
{ {
//Model.SelectCMInningscd.eend2 교육종료일 //Model.SelectCMInningscd.eend2 교육종료일
strEduInfo = string.Format("교육기간 {0} |<span class='red'> 교육종료일 {1} </span> | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>", //strEduInfo = string.Format("교육기간 {0} |<span class='red'> 교육종료일 {1} </span> | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>",
Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0")); //Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0"));
strEduInfo += string.Format("교육기간 {0} |", Model.SelectCMInningscd.scdInfoSummary);
strEduInfo += string.Format("<span> 교육종료일 {0} </span> | ", Model.SelectCMInningscd.eend2);
strEduInfo += string.Format("{0}시간과정 |", Model.CM.studytime);
strEduInfo += string.Format("<span class='red'> {0}과정 </span><br />", (Model.CM.isrefund == 1 ? "환급" : "비환급"));
strEduInfo += string.Format("<span style='margin-left:5px;' class='red'>집체교육 참석일 : {0}</span><br />", Model.SelectCMInningscd.estart.ToString("yyyy년 MM월 dd일"));
strEduInfo += string.Format("<span style='margin-left:5px;'>교육비 : {0}원</span>", Model.CM.infee.ToString("#,0"));
} }
@ -263,7 +270,7 @@
<li>@Html.TextBoxFor(x => x.Assign.taxemail1, new { @maxlength = "100" })</li> <li>@Html.TextBoxFor(x => x.Assign.taxemail1, new { @maxlength = "100" })</li>
<li></li> <li></li>
<li>@Html.TextBoxFor(x => x.Assign.taxemail2, new { @maxlength = "30" })</li> <li>@Html.TextBoxFor(x => x.Assign.taxemail2, new { @maxlength = "30" })</li>
@Html.Partial("./Partial/Select",null,new ViewDataDictionary { { "special","email"},{ "name","taxemail3"},{"df",":직접입력" },{"onchange","emailchange()" } }) @Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "special", "email" }, { "name", "taxemail3" }, { "df", ":직접입력" }, { "onchange", "emailchange()" } })
</ul> </ul>
</td> </td>
</tr> </tr>
@ -448,7 +455,7 @@
// 환급여부 체크하면 소속선택(div-isCompany)hide 환급금수령계좌(div-rbankInfo) show 회사정보확인(div-companyInfo) show // 환급여부 체크하면 소속선택(div-isCompany)hide 환급금수령계좌(div-rbankInfo) show 회사정보확인(div-companyInfo) show
$("input:radio[name='isrebate']").on("click",function () { $("input:radio[name='isrebate']").on("click", function () {
$(".div-companyInfo").find(".clsTable").find("tr th").removeClass("req"); $(".div-companyInfo").find(".clsTable").find("tr th").removeClass("req");
if ($(this).val() == "1") { if ($(this).val() == "1") {
$(".div-isCompany").hide(); $(".div-isCompany").hide();
@ -515,8 +522,9 @@
$(".div-isCompany").show(); $(".div-isCompany").show();
$(".uduty").hide(); $(".uduty").hide();
} else if (model.cm.cshape == 1) { } else if (model.cm.cshape == 1) {
$(".div-isCompany").hide(); // Model.CM.isrefund
$(".uduty").show();; $(".div-isCompany").show();
$(".uduty").show();
} else if (model.cm.cshape == 2) { } else if (model.cm.cshape == 2) {
$(".div-isCompany").show(); $(".div-isCompany").show();
$(".uduty").hide(); $(".uduty").hide();

View File

@ -0,0 +1,755 @@
@model NP.Model.VMCourse
@{
var isallday = Model.CM.retimeymd == "2099-12-31" ? true : false;
}
<form id="historyForm" method="post">
<input type="hidden" name="cmno" value="@Model.cmno" /> @*강좌번호*@
<input type="hidden" name="stringval" value="@Model.stringval" /> @*법정교육/기타교육*@
<input type="hidden" name="stringval2" value="@Model.stringval2" />@*교육유형*@
<input type="hidden" name="stringval3" value="@Model.stringval3" />@*기술인분류*@
<input type="hidden" name="stringval4" value="@Model.stringval4" />@*교육목적*@
<input type="hidden" name="stringval5" value="@Model.stringval5" />@*등급*@
<input type="hidden" name="stringval6" value="@Model.stringval6" />@*직무분야*@
<input type="hidden" name="stringval7" value="@Model.stringval7" />@*전문분야*@
<input type="hidden" name="pplno" value="@Model.pplno" />@*pplno*@
<input type="hidden" name="selMonth" value="@Model.selMonth" />@*교육일정선택(selMonth)*@
<input type="hidden" name="isCompany" value="@Model.isCompany" />@*업체/개인 선택*@
<input type="hidden" name="CM.cmino" id="becmino" value="@Model.CM.cmino" />
<input type="hidden" name="CM.cmisno" id="becmisno" value="@Model.CM.cmisno" />
</form>
<form id="applyEduForm" method="post">
<input type="hidden" name="cmno" id="cmno" value="@Model.cmno" /> @*강좌번호*@
<input type="hidden" name="stringval" id="stringval" value="@Model.stringval" /> @*법정교육/기타교육*@
<input type="hidden" name="stringval2" id="stringval2" value="@Model.stringval2" />@*교육유형*@
<input type="hidden" name="stringval3" id="stringval3" value="@Model.stringval3" />@*기술인분류*@
<input type="hidden" name="stringval4" id="stringval4" value="@Model.stringval4" />@*교육목적*@
<input type="hidden" name="stringval5" id="stringval5" value="@Model.stringval5" />@*등급*@
<input type="hidden" name="stringval6" id="stringval6" value="@Model.stringval6" />@*직무분야*@
<input type="hidden" name="stringval7" id="stringval7" value="@Model.stringval7" />@*전문분야*@
<!--<input type="hidden" name="isCompany" value="@Model.isCompany" />-->@*업체/개인 선택*@
<input type="hidden" name="cmisno" id="cmisno" />
<input type="hidden" name="applicableCM" id="applicableCM" />
<input type="hidden" name="cshape" id="cshape" value="@Model.CM.cshape" />
<h4 class="clsTitle">신청강좌</h4>
<ul class="smtList mt0" style="font-weight:500;">
<li>
<ul class="smtlChk" style="padding-left:0px;">
<li>
<p>
<span class="@(Model.CM.cshape == 0 ? "org" : Model.CM.cshape == 1 ? "nav_grn" : "nav_blu")">
@(Model.CM.cshape == 0 ? "온라인" : Model.CM.cshape == 1 ? "교육장교육" : "온라인교육")
</span>
@{
string strStudyPlaceTmp = "";
string strStudyPlaceTmp2 = "";
string strEduInfo = "";
if (Model.SelectCMInningscd.studyplace != null)
{
strStudyPlaceTmp = Model.SelectCMInningscd.studyplacename + "교육장";
strStudyPlaceTmp2 = Model.CM.cname;
}
else
{
strStudyPlaceTmp = Model.CM.cname;
}
if (Model.CM.cshape == 1)
{
strEduInfo = string.Format("교육기간 {0} | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>",
Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0"));
}
else
{
//Model.SelectCMInningscd.eend2 교육종료일
strEduInfo = string.Format("교육기간 {0} |<span class='red'> 교육종료일 {1} </span> | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>",
Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0"));
// 23년 1월 오픈
//strEduInfo += string.Format("교육기간 {0} |", Model.SelectCMInningscd.scdInfoSummary);
//strEduInfo += string.Format("<span> 교육종료일 {0} </span> | ", Model.SelectCMInningscd.eend2);
//strEduInfo += string.Format("{0}시간과정 |", Model.CM.studytime);
//strEduInfo += string.Format("<span class='red'> {0}과정 </span><br />", (Model.CM.isrefund == 1 ? "환급" : "비환급"));
//strEduInfo += string.Format("<span style='margin-left:5px;'>집체교육 참석일 : {0}</span><br />", Model.SelectCMInningscd.estart.ToString("yyyy년 MM월 dd일"));
//strEduInfo += string.Format("<span style='margin-left:5px;'>교육비 : {0}원</span>", Model.CM.infee.ToString("#,0"));
}
}
@if (Model.SelectCMInningscd.studyplace == null)
{
<span style="font-size:22px"><label><span>@strStudyPlaceTmp</span><span class="blu">@strStudyPlaceTmp2 </span></label></span><br />
}
else if (Model.SelectCMInningscd.studyplace != null)
{
<span style="font-size:22px"><label><span class="blu">[@strStudyPlaceTmp]</span><span>@strStudyPlaceTmp2 </span></label></span><br />
}
<span><label>@Html.Raw(strEduInfo)</label></span>
</p>
</li>
</ul>
<div class="apyCost">
결제금액 : <span class="red" id="spninfeecost"></span> 원
</div>
</li>
</ul>
<div id="eduArea" style="display:none">
<h4 class="clsTitle">교육종료일 선택 (운영시 가림예정) </h4>
<p style="margin-bottom: 30px; color:red;">
※ 원하는 교육종료일(수료일자)를 선택해 주세요. 입금완료시 바로 교육이 시작됩니다.<br>
※ 관련 법령에 의해 일일 최대 학습시간은 학습중인 모든 과정에 대하여 10시간(10차시)이오니 교육종료일 선택 시 꼭!참고하시기 바랍니다..<br>
※ 수료일자 까지 수료조건을 만족하시면 그 다음날 오후 3시 이후에 수료증 출력이 가능합니다.
</p>
@*<select id="selMonth">
@for (int i = 1; i <= 12; i++)
{
<option @(DateTime.Now.Month == i ? "selected" : "") value="@(i)">@(i)월</option>
}
</select>
<span>&nbsp;&nbsp;&nbsp;※원하는 수료일자(월)을 선택하세요. 지정하신 일자가 수료일자가 됩니다.</span>
<br /><br />*@
<ul id="ulScd"></ul>
</div>
@if (Model.CM.isaccommodation == 1 && Model.SelectCMInningscd.studyplace == "19")
{
<h4 class="clsTitle">합숙여부 <span style="color:red; font-weight:700;">(영천교육장만 합숙가능)</span> </h4>
<ul class="bakRadio">
<li>
<input type="radio" name="isaccommodation" id="isaccommodation1" value="1" /><label for="isaccommodation1"> 예 (<span id="spnaccommofee"></span>원 추가)</label>
</li>
<li>
<input type="radio" name="isaccommodation" id="isaccommodation2" value="0" checked /><label for="isaccommodation2"> 아니오</label>
</li>
</ul>
}
@if (Model.CM.isrefund == 1)
{
<h4 class="clsTitle">환급여부선택<span style="color:red; font-weight:700;"> (고용보험 가입자만 환급가능)</span></h4>
<table class="clsTable">
<tbody>
<tr>
<th>환급여부</th>
<td>
<ul class="bakRadio">
<li><input type="radio" name="isrebate" id="isrebate1" value="1" checked><label for="isrebate1">환급</label></li>
<li><input type="radio" name="isrebate" id="isrebate0" value="0"><label for="isrebate0">비환급</label></li>
</ul>
</td>
</tr>
</tbody>
</table>
<p class="subDsc mt10">※ <span style="color:red;">(주의)</span> 신청중인 교육이 환급과정이라 하더라도 <span style="color:red;">고용보험 미 가입자는 교육비 환급이 되지 않습니다. </span></p>
}
<div class="div-isCompany">
<h4 class="clsTitle">소속선택</h4>
<table class="clsTable">
<tbody>
<tr>
<th>업체/개인 선택</th>
<td>
<ul class="bakRadio">
<li><input type="radio" name="isCompany" id="isCompany1" value="1" @(Model.Assign.asno != 0 ? "checked" : "") /><label for="isCompany1"> 업체</label></li>
<li><input type="radio" name="isCompany" id="isCompany0" value="0" @(Model.Assign.asno != 0 ? "" : "checked") /><label for="isCompany0"> 개인</label></li>
</ul>
</td>
</tr>
</tbody>
</table>
<p class="subDsc mt10">
<span style="color:red;font-weight:700;font-size:20px">※계산서 발급을 원할 경우 반드시 업체로 선택해 주세요. (단 카드결제는 관련 법에 의해 계산서 발급불가) </span><br>
※수료증 소속부분에 기재될 내용으로 소속업체가 없으면 개인을 선택해 주세요.
</p>
</div>
@if (Model.CM.isrefund == 1)
{
<div class="div-rbankInfo">
<h4 class="clsTitle">환급금 수령계좌 등록<span style="color: red; font-weight: 700;"> (법인계좌만 입력가능)</span></h4>
<p class="subDsc">*는 필수 입력사항입니다.</p>
<table class="clsTable">
<tbody>
<tr>
<th class="req">은행명</th>
<td><input type="text" name="rbankname" onkeydown="checkSpacebar()" onKeypress='if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97) || (event.keyCode < 128 && event.keyCode > 122)) event.returnValue = false;' id="rbankname" class="apyIpt" value="@(Model.PPLog != null ? Model.PPLog.rbankname : string.Empty)" /></td>
</tr>
<tr>
<th class="req">계좌번호</th>
<td><input type="number" name="rbankacc" onkeydown="checkSpacebar()" onKeypress='if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97) || (event.keyCode < 128 && event.keyCode > 122)) event.returnValue = false;' id="rbankacc" class="apyIpt" value="@(Model.PPLog != null ? Model.PPLog.rbankacc : string.Empty)" /></td>
</tr>
<tr>
<th class="req">예금주</th>
<td><input type="text" name="rbankowner" onkeydown="checkSpacebar()" onKeypress='if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97) || (event.keyCode < 128 && event.keyCode > 122)) event.returnValue = false;' id="rbankowner" class="apyIpt" value="@(Model.PPLog != null ? Model.PPLog.rbankowner : string.Empty)" /></td>
</tr>
<tr>
<th class="req">고용보험관리번호</th>
<td><input type="number" name="eino" onkeydown="checkSpacebar()" onKeypress='if ((event.keyCode > 32 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 97) || (event.keyCode < 128 && event.keyCode > 122)) event.returnValue = false;' id="eino" class="apyIpt" value="@(Model.PPLog != null ? Model.PPLog.eino : string.Empty)" /><button type="button" onclick="insuranceguide()" style="margin-left:10px;">고용보험관리번호 안내</button></td>
</tr>
</tbody>
</table>
<p class="subDsc mt10">※ 환급금액 지급받는 계좌이므로 반드시 소속된 사업장의 법인계좌정보만 입력하여 주시기 바랍니다. <span style="color:red;">(개인계좌 또는 사업주 개인의 계좌로는 환급이 불가합니다)</span></p>
</div>
}
<div id="postlayer" class="daumpost"><a href="#" class="btn btn-xxs btn-select closedaumpost" onclick="closeDaumPostcode();">close</a></div>
@*@if (Model.CM.isrefund == 1)
{*@
<div class="div-companyInfo">
<h4 class="clsTitle">회사정보 확인</h4>
<p class="subDsc">*는 필수 입력사항입니다.</p>
@*<p class="subDsc">계산서 발급을 원할 경우 담당자성명, 담당자연락처를 제외한 모든 사항 필수 입력을 해주세요.</p>*@
@Html.HiddenFor(x => x.Assign.asno)
@Html.HiddenFor(x => x.Assign.eino)
<table class="clsTable">
<tbody>
<tr>
<th class="onreq offreq">회사명</th>
<td>
@Html.TextBoxFor(x => x.Assign.asname, new { @class = "apylpt", @maxlength = "100", @style = "background-color:#ddd;", @readonly = true })
<a href="#" id="btnassign" class="btnassign">검색</a>
</td>
</tr>
<tr>
<th class="onreq offreq">사업자등록번호</th>
<td>@Html.TextBoxFor(x => x.Assign.brno, new { @class = "apylpt", @maxlength = "10" })</td>
</tr>
<tr>
<th class="onreq offreq">대표자성명</th>
<td>@Html.TextBoxFor(x => x.Assign.ceoname, new { @class = "apylpt", @maxlength = "50" })</td>
</tr>
<tr>
<th class="onreq offreq">주소</th>
<td>
<ul class="apyAddr postbox">
<li>
@Html.TextBoxFor(x => x.Assign.post, new { @class = "postno", @style = "background-color:#ddd;" })
</li>
<li>
@Html.TextBoxFor(x => x.Assign.address1, new { @class = "postadr", @style = "background-color:#ddd;", @placeholder = "주소입력" })
</li>
<li>
@Html.TextBoxFor(x => x.Assign.address2, new { @class = "postadrsub", @placeholder = "나머지 주소입력", @maxlength = "200" })
</li>
<li>
<a href="#" onclick="getpost2(this);">우편번호검색</a>
</li>
</ul>
</td>
</tr>
<tr>
<th class="onreq offreq">업태</th>
<td>@Html.TextBoxFor(x => x.Assign.btype, new { @class = "apylpt", @maxlength = "50" })</td>
</tr>
<tr>
<th class="onreq offreq">종목</th>
<td>@Html.TextBoxFor(x => x.Assign.bkind, new { @class = "apylpt", @maxlength = "50" })</td>
</tr>
<tr>
<th>담당자성명</th>
<td>@Html.TextBoxFor(x => x.Assign.mname, new { @class = "apylpt", @maxlength = "30" })</td>
</tr>
<tr>
<th>담당자연락처</th>
<td>
<ul class="usrPhn">
<li>@Html.TextBoxFor(x => x.Assign.mphone1, new { @maxlength = "3" })</li>
<li>-</li>
<li>@Html.TextBoxFor(x => x.Assign.mphone2, new { @maxlength = "4" })</li>
<li>-</li>
<li>@Html.TextBoxFor(x => x.Assign.mphone3, new { @maxlength = "4" })</li>
</ul>
</td>
</tr>
<tr>
<th class="onreq offreq">계산서받을 이메일</th>
<td>
<ul class="clsMail">
<li>@Html.TextBoxFor(x => x.Assign.taxemail1, new { @maxlength = "100" })</li>
<li></li>
<li>@Html.TextBoxFor(x => x.Assign.taxemail2, new { @maxlength = "30" })</li>
@Html.Partial("./Partial/Select",null,new ViewDataDictionary { { "special","email"},{ "name","taxemail3"},{"df",":직접입력" },{"onchange","emailchange()" } })
</ul>
</td>
</tr>
@*<tr>
<th>사업자등록증 <span class="red">(선택)</span></th>
<td>
@Html.Partial("./Partial/file", Model.FileList, new ViewDataDictionary { { "fgn", "fgnobno" }, { "fgv", Model.Assign.fgnobno ?? 0 }, { "filename", "file1" }, { "filecount", 1 }, { "fileext", "png,jpg,gif,pdf" }, { "datakey", "assign.fgnobno" } })
</td>
</tr>*@
</tbody>
</table>
</div>
@*}*@
<h4 class="clsTitle">개인정보 확인</h4>
<p class="subDsc">*는 필수 입력사항입니다.</p>
@Html.HiddenFor(x => x.User.userno)
<table class="clsTable">
<tbody>
<tr>
<th class="req">이름</th>
<td><p>@Html.TextBoxFor(x => x.User.username, new { @class = "apylpt", @maxlength = "10", @style = "background-color:#ddd;", @readonly = true })</p></td>
</tr>
<tr>
<th class="req">주민등록번호</th>
<td>
<ul class="usrNum">
<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", @readonly = "readonly", @style = "background-color:#ddd;" })</li>
</ul>
</td>
</tr>
<tr>
<th class="req">휴대전화</th>
<td>
<ul class="usrPhn">
<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", @readonly = "readonly", @style = "background-color:#ddd;" })</li>
<li>-</li>
<li>@Html.TextBoxFor(x => x.User.mobile3, new { @maxlength = "4", @readonly = "readonly", @style = "background-color:#ddd;" })</li>
</ul>
</td>
</tr>
<tr>
<th class="req">이메일</th>
<td>
<ul class="clsMail">
<li>@Html.TextBoxFor(x => x.User.email1, new { @maxlength = "100" })</li>
<li></li>
<li>@Html.TextBoxFor(x => x.User.email2, new { @maxlength = "30" })</li>
</ul>
</td>
</tr>
<tr>
<th class="req">주소</th>
<td>
<ul class="apyAddr postbox">
<li>
@Html.TextBoxFor(x => x.User.post, new { @class = "postno", @style = "background-color:#ddd;", @readonly = true })
</li>
<li>
@Html.TextBoxFor(x => x.User.address1, new { @class = "postadr", @style = "background-color:#ddd;", @readonly = true, @placeholder = "주소입력" })
</li>
<li>
@Html.TextBoxFor(x => x.User.address2, new { @class = "postadrsub", @placeholder = "나머지 주소입력", @maxlength = "200" })
</li>
<li>
<a href="#" onclick="getpost2(this);">우편번호검색</a>
</li>
</ul>
</td>
</tr>
<tr style="display:none;">
<th class="req">채용형태</th>
<td>
<ul class="bakRadio">
<li>
@Html.RadioButtonFor(model => model.User.isassignuser, "1", new { @name = "recruit", @checked = "checked" })정규직
</li>
<li>
@Html.RadioButtonFor(model => model.User.isassignuser, "0", new { @name = "recruit" })비정규직
</li>
</ul>
</td>
</tr>
<tr class="uduty">
<th class="req">직위</th>
<td>
@Html.TextBoxFor(x => x.User.uduty, new { @class = "apylpt", @maxlength = "20" })
</td>
</tr>
<tr>
<th class="req">학력</th>
<td>
<ul class="bakRadio">
<li>
@Html.RadioButtonFor(model => model.User.slevel, "0", new { @name = "eduGrade", @checked = "checked" })기타
</li>
<li>
@Html.RadioButtonFor(model => model.User.slevel, "1", new { @name = "eduGrade" })고졸
</li>
<li>
@Html.RadioButtonFor(model => model.User.slevel, "2", new { @name = "eduGrade" })학사
</li>
<li>
@Html.RadioButtonFor(model => model.User.slevel, "3", new { @name = "eduGrade" })석사
</li>
<li>
@Html.RadioButtonFor(model => model.User.slevel, "4", new { @name = "eduGrade" })박사
</li>
</ul>
</td>
</tr>
</tbody>
</table>
<ul class="clsBtn society">
@if (Model.CM.applicableCM == "정상접수")
{
<li><a href="#" onclick="javascript:applyEdu();">수강신청</a></li>
}
else
{
<li><a href="#" onclick="javascript:applyEdu()">수강대기 신청</a></li>
}
<li><a href="#" id="btnback">뒤로가기</a></li>
</ul>
</form>
@Html.Partial("./Partial/BoxAssign", null, new ViewDataDictionary { { "bindmethod", "bindassign" } })
@section styles{
<style type="text/css">
.btnassign {
display: inline-block;
height: 40px;
line-height: 40px;
text-align: center;
background: #878787;
color: #fff !important;
width: 120px;
vertical-align: top;
margin-left: 7px;
}
</style>
}
@section scriptsHeader{
@Html.Partial("./Partial/ScriptPost")
@Html.Partial("./Partial/filescript")
}
<script type="text/javascript">
function checkSpacebar() {
var kcode = event.keyCode;
if (kcode == 32) event.returnValue = false
}
function insuranceguide() {
msg("<span style='font-size:17pt;'>고용보험관리번호</span></br></br><span style='text-align: left; margin:auto; display: inherit;'>- 회사 마다 사업자등록번호 처럼 부여되어 있는 번호 이며 11자리 숫자로 보통 사업자등록번호 뒤에 0이나 6이 붙는 경우가 많습니다.(다른 형식인 경우도 있음)</span></br><span style='text-align: left; margin:auto; display: inherit;'>- 교육원에서 환급금 신청 목적으로 노동부 전산망에 교육생 등록을 할 때 필요한 번호 입니다. 따라서 <span style='color:red'>본인이 소속된 회사의 고용보험관리번호를 기재하시면 됩니다.</span></br></br><spanstyle='text-align: left; margin:auto; display: inherit;'> - 고용보험관리번호는 일반적으로 회사 내 고용보험 담당자가 알고 있습니다.</span>");
}
var model = {};
model.isloaded = false;
model.islogin = @(ViewBag.SSUserNo > 0 ? "true" :"false");
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.iscompany = @(Model.isCompany != null ? Model.isCompany.ToString() : "null");
$(document).ready(function () {
$(".div-companyInfo").find(".clsTable").find("tr th").removeClass("req");
if ($("input:radio[name='isrebate']").val() == "1") {
$(".div-companyInfo").find(".clsTable").find("tr th.offreq").addClass("req");
} else {
$(".div-companyInfo").find(".clsTable").find("tr th.onreq").addClass("req");
}
$("#selMonth").change(function () {
setScd();
});
// 환급여부 체크하면 소속선택(div-isCompany)hide 환급금수령계좌(div-rbankInfo) show 회사정보확인(div-companyInfo) show
$("input:radio[name='isrebate']").on("click",function () {
$(".div-companyInfo").find(".clsTable").find("tr th").removeClass("req");
if ($(this).val() == "1") {
$(".div-isCompany").hide();
$(".div-rbankInfo").show();
$("input:radio[name='isCompany'][value='1']").click();
$(".uduty").show();
$(".div-companyInfo").find(".clsTable").find("tr th.offreq").addClass("req");
}// 비환급 체크하면 소속선택 show 환급금수령계좌 hide 보여진 소속선택에서 개인(val == 0) 체크하면 업체정보 hide
else {
$(".div-isCompany").show();
$(".div-rbankInfo").hide();
if ($("input:radio[name='isCompany']:checked").val() == "0") {
$(".div-companyInfo").hide();
}
$(".div-companyInfo").find(".clsTable").find("tr th.onreq").addClass("req");
$(".uduty").hide();
}
});
$("input:radio[name='isaccommodation']").on("click",function () {
var total;
if ($(this).val() == "1") {
total = model.cm.infee + model.cm.accommofee;
}
else {
total = model.cm.infee;
}
$("#spninfeecost").html(bindComma(total));
});
$("input:radio[name='isCompany']").on("click", function () {
if ($(this).val() == "0") {
$(".div-companyInfo").hide();
} else {
$(".div-companyInfo").show();
}
});
$("#btnback").on("click", function () {
$("#historyForm").attr("action", "/Course/SmartSearch");
$("#historyForm").submit();
});
$("#btnassign").on("click", function () {
boxassignview(bindassign);
});
initControl();
model.isloaded = true;
});
function initControl() {
$("#spninfee").html(bindComma(model.cm.infee));
$("#spninfeecost").html(bindComma(model.cm.infee));
$("#spnaccommofee").html(bindComma(model.cm.accommofee));
setTimeout(function () {
//if (model.cm.cshape == 2) {
// setScd();
//}
setScd();
}, 300);
if (model.cm.cshape == 0) {
$(".div-isCompany").show();
$(".uduty").hide();
} else if (model.cm.cshape == 1) {
$(".div-isCompany").hide();
$(".uduty").show();;
} else if (model.cm.cshape == 2) {
$(".div-isCompany").show();
$(".uduty").hide();
}
if (model.assign.asno == 0) {
$("#btnassign").show();
} else {
$("#btnassign").hide();
}
if ($("input:radio[name='isrebate']:checked").val() == "1") {
$(".div-companyInfo").show();
} else {
if ($("input:radio[name='isCompany']:checked").val() == "1") {
$(".div-companyInfo").show();
} else {
$(".div-companyInfo").hide();
}
}
if (model.pplog.isaccommodation != null) {
$("input:radio[name='isaccommodation'][value='" + model.pplog.isaccommodation + "']").click();
}
if (model.pplog.isrebate != null) {
$("input:radio[name='isrebate'][value='" + model.pplog.isrebate + "']").click();
}
//if (model.selMonth != null) {
// $("#selMonth").val(model.selMonth).trigger('change');
//}
if(model.iscompany != null) {
$("input:radio[name='isCompany'][value='" + model.iscompany + "']").click();
}
}
function bindassign(v) {
$("#Assign_asno").val(v.split(':')[0]);
$("#Assign_asname").val(v.split(':')[1]);
capp("/fcommon/getassign", { asno: $("#Assign_asno").val() }, "cbbindassign");
}
function cbbindassign() {
if (capResult.code == 1000) {
var mphone = String(capResult.obj.mphone).split("-");
var mphone1 = mphone.length > 0 ? mphone[0] : "";
var mphone2 = mphone.length > 1 ? mphone[1] : "";
var mphone3 = mphone.length > 2 ? mphone[2] : "";
var taxemail = String(capResult.obj.taxemail).split("@@");
var taxemail1 = taxemail.length > 0 ? taxemail[0] : "";
var taxemail2 = taxemail.length > 1 ? taxemail[1] : "";
setv("Assign_brno", capResult.obj.brno);
setv("Assign_ceoname", capResult.obj.ceoname);
setv("Assign_post", capResult.obj.post);
setv("Assign_address1", capResult.obj.address1);
setv("Assign_address2", capResult.obj.address2);
setv("Assign_btype", capResult.obj.btype);
setv("Assign_bkind", capResult.obj.bkind);
setv("Assign_eino", capResult.obj.eino);
setv("eino", capResult.obj.eino);
//setv("Assign_mname", capResult.obj.mname);
//setv("Assign_mphone1", mphone1);
//setv("Assign_mphone2", mphone2);
//setv("Assign_mphone3", mphone3);
//setv("Assign_taxemail1", taxemail1);
//setv("Assign_taxemail2", taxemail2);
}
}
function setScd() {
//capp("/focommon/GetScdForMixEdu", { cmno: model.cm.cmno, month: $("#selMonth").val() }, "renderScd");
//교육일정에 등록되어 있는 일정 중 선택이 가능한 첫번째 일정 선택으로 달 파라미터 제거
capp("/focommon/GetScdForMixEdu", { cmno: model.cm.cmno }, "renderScd");
}
function renderScd() {
var becmino = $("#becmino").val();
var becmisno = $("#becmisno").val();
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 strCheck = (becmisno == d.cmisno ? 'checked' : '') +" disabled";
var li = $("<li />");
if (d.isEnd == true)
{
li.append("<label><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><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.isselected == 1) {
li.append("<label><input type='radio' name='rdoScds' value='" + d.cmisno + "'" + strCheck + "> " + d.scdInfoSummary + "<label style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</label></label>");
}
else {
li.append("<label><input type='radio' name='rdoScds' value='" + d.cmisno + "'" + strCheck + "> " + d.scdInfoSummary + "<label style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</label></label>");
}
//if (seq == 0) {
// li.append("<label><input type='radio' name='rdoScds' value='" + d.cmisno + "' checked> " + d.scdInfoSummary + "<label style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</label></label>");
//}
//else {
// li.append("<label><input type='radio' name='rdoScds' value='" + d.cmisno + "'> " + d.scdInfoSummary + "<label style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</label></label>");
//}
}
}
else {
if (d.isselected == 1) {
li.append("<label><input type='radio' name='rdoScds' value='" + d.cmisno + "'" + strCheck + "> " + d.scdInfoSummary + "</label>");
}
else {
li.append("<label><input type='radio' name='rdoScds' value='" + d.cmisno + "'" + strCheck + "> " + d.scdInfoSummary + "</label>");
}
//if (seq == 0) {
// li.append("<label><input type='radio' name='rdoScds' value='" + d.cmisno + "' checked> " + d.scdInfoSummary + "</label>");
//}
//else {
// li.append("<label><input type='radio' name='rdoScds' value='" + d.cmisno + "'> " + d.scdInfoSummary + "</label>");
//}
}
}
//seq++;
ulScd.append(li);
});
if (model.pplog.cmisno != null) {
$("input:radio[name='rdoScds'][value='" + model.pplog.cmisno + "']").click();
}
}
function applyEdu() {
var isrebate = $("input:radio[name='isrebate']:checked").val() == "1" ? true : false;
var isCompany = $("input:radio[name='isCompany']:checked").val() == "1" ? true : false;
var assign_taxemail = val("Assign_taxemail1") + "@@" + val("Assign_taxemail2");
var user_mobile = val("User_mobile1").replace(/ /, '').replace(/ /, '') + val("User_mobile2").replace(/ /, '').replace(/ /, '') + val("User_mobile3").replace(/ /, '').replace(/ /, '');
var user_email = val("User_email1") + "@@" + val("User_email2");
var isCompanyInfoCheck = false;
if (isrebate || isCompany) {
isCompanyInfoCheck = true;
}
if (isrebate && getBytes(val("eino")) == 11) {
setv("Assign_eino", val("eino"));
}
$("#cmisno").val($("input:radio[name=rdoScds]:checked").val());
if ($("#cmisno").val() != $("#becmisno").val()) {
msg("뒤로가기 후 교육일정을 재선택해주세요.");
return;
}
$("#applicableCM").val(model.cm.applicableCM);
/*if (model.cm.cshape == 2 && $("#cmisno").val() == "" ) {*/
// 20220801
if ($("#cmisno").val() == "") {
msg("교육일정을 선택해주세요.");
return;
}
else if (isrebate && check("rbankname", null, "은행명을 등록해주세요.")) { }
else if (isrebate && check("rbankacc", null, "계좌번호를 등록해주세요.")) { }
else if (isrebate && check("rbankowner", null, "예금주를 등록해주세요.")) { }
else if (isrebate && check("eino", null, "고용보험관리번호를 등록해주세요.")) { }
else if (isrebate && getBytes(val("eino")) != 11) { focus("eino"); msg("11자리의 고용보험관리번호를 등록해주세요."); }
else if (isCompanyInfoCheck && check("Assign_asname", null, "회사명을 등록해주세요.")) { }
else if (isCompanyInfoCheck && check("Assign_brno", null, "사업자등록번호를 등록해주세요.")) { }
else if (isCompanyInfoCheck && getBytes(val("Assign_brno")) != 10) { focus("Assign_brno"); msg("10자리의 사업자번호를 등록해주세요."); }
else if (isCompanyInfoCheck && check("Assign_ceoname", null, "대표자성명을 등록해주세요.")) { }
//else if (isrebate && (check("Assign_post", null, "우편번호를 등록해주세요.") || check("Assign_address1", null, "주소를 등록해주세요.") || check("Assign_address2", null, "상세주소를 등록해주세요."))) { }
//else if (isrebate && check("Assign_btype", null, "업태를 등록해주세요.")) { }
//else if (isrebate && check("Assign_bkind", null, "종목을 등록해주세요.")) { }
else if (isrebate && (check("Assign_taxemail1", null, "계산서받을 이메일을 등록해주세요.") || check("Assign_taxemail2", null, "계산서받을 이메일을 등록해주세요."))) { }
else if (isrebate && !isemail(assign_taxemail)) { focus("Assign_taxemail1"); msg("올바른 이메일주소를 입력해주세요."); }
else if (isCompanyInfoCheck && (check("Assign_post", null, "우편번호를 등록해주세요.") || check("Assign_address1", null, "주소를 등록해주세요.") || check("Assign_address2", null, "상세주소를 등록해주세요."))) { }
else if (isCompanyInfoCheck && check("Assign_btype", null, "업태를 등록해주세요.")) { }
else if (isCompanyInfoCheck && check("Assign_bkind", null, "종목을 등록해주세요.")) { }
else if (isCompanyInfoCheck && (check("Assign_taxemail1", null, "계산서받을 이메일을 등록해주세요.") || check("Assign_taxemail2", null, "계산서받을 이메일을 등록해주세요."))) { }
else if (isCompanyInfoCheck && !isemail(assign_taxemail)) { focus("Assign_taxemail1"); msg("올바른 이메일주소를 입력해주세요."); }
else if (check("User_userpno1", null, "주민등록번호 앞자리를 입력하십시오.") || check("User_userpno2", null, "주민등록번호 뒷자리를 입력하십시오.")) { }
else if (check("User_mobile1", null, "휴대전화를 등록해주세요.") || check("User_mobile2", null, "휴대전화를 등록해주세요.") || check("User_mobile3", null, "휴대전화를 등록해주세요.")) { }
else if (!ismobilenumber(user_mobile)) { focus("mobile"); msg("휴대전화를 확인해주세요."); }
else if (check("User_email1", null, "이메일을 등록해주세요.") || check("User_email2", null, "이메일을 등록해주세요.")) { }
else if (!isemail(user_email)) { focus("User_email1"); msg("올바른 이메일주소를 입력해주세요."); }
else if (check("User_post", null, "우편번호를 등록해주세요.") || check("User_address1", null, "주소를 등록해주세요.") || check("User_address2", null, "상세주소를 등록해주세요.")) { }
else if ($("input:radio[name='isrebate']:checked").val() == "1" && check("User_uduty", null, "직위를 등록해주세요.")) { }
else {
if (model.islogin > 0) {
capfileform('/fcommon/savePPLog', 'applyEduForm', 'saveResult');
}
else {
msg("로그인 후 신청 할 수 있습니다.");
return;
}
}
}
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='isCompany']").val($("input:radio[name='isCompany']:checked").val());
$("#historyForm").attr("action", "/Course/ApplyAgree");
$("#historyForm").submit();
} else if (capResult.code == -1) {
msg("이미 신청된 교육 중 교육종료일이 같은 교육이 있습니다.<br/> 다른 일정으로 신청해 주시기 바랍니다.");
} else {
msg("저장을 실패하였습니다.");
}
return;
}
function emailchange() {
if ($("#taxemail3").val() != "") {
$("#Assign_taxemail2").val($("#taxemail3").val());
}
}
</script>

View File

@ -66,8 +66,16 @@
else else
{ {
//Model.SelectCMInningscd.eend2 교육종료일 //Model.SelectCMInningscd.eend2 교육종료일
strEduInfo = string.Format("교육기간 {0} |<span class='red'> 교육종료일 {1} </span> | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>",
Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0")); strEduInfo += string.Format("교육기간 {0} |", Model.SelectCMInningscd.scdInfoSummary);
strEduInfo += string.Format("<span> 교육종료일 {0} </span> | ", Model.SelectCMInningscd.eend2);
strEduInfo += string.Format("{0}시간과정 |", Model.CM.studytime);
strEduInfo += string.Format("<span class='red'> {0}과정 </span><br />", (Model.CM.isrefund == 1 ? "환급" : "비환급"));
strEduInfo += string.Format("<span style='margin-left:5px;' class='red'>집체교육 참석일 : {0}</span><br />", Model.SelectCMInningscd.estart.ToString("yyyy년 MM월 dd일"));
strEduInfo += string.Format("<span style='margin-left:5px;'>교육비 : {0}원</span>", Model.CM.infee.ToString("#,0"));
//strEduInfo = string.Format("교육기간 {0} |<span class='red'> 교육종료일 {1} </span> | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>",
// Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0"));
} }
} }
@ -98,7 +106,7 @@
</ul> </ul>
@if (Model.PPLog.cshape != 2) @if (Model.PPLog.cshape != 2)
{ {
<h4 class="clsTitle">교육비 환급대상자의 입금방법(중요)</h4> <h4 class="clsTitle">환급과정 신청 시 환급대상자의 입금방법<span class="red" style=" font-size: 16pt;font-weight:bold">(중요)</span></h4>
<p class="subTxt"> <p class="subTxt">
<span>■ 카드결제 시</span><br /> <span>■ 카드결제 시</span><br />
- 반드시 <span style="color : red;">소속 회사의 법인카드로</span> 결제 해 주세요. <span style="color : red;"><strong>(개인카드 결제 시 환급불가)</strong></span><br /> - 반드시 <span style="color : red;">소속 회사의 법인카드로</span> 결제 해 주세요. <span style="color : red;"><strong>(개인카드 결제 시 환급불가)</strong></span><br />
@ -108,11 +116,15 @@
<p class="subTxt"> <p class="subTxt">
<span>■ 무통장입금 시</span><br /> <span>■ 무통장입금 시</span><br />
- 계좌이체로 입금하실 경우 반드시 <span style="color : red;">법인계좌에서</span> 이체가 되어야 합니다. <span style="color : red;"><strong>(타 계좌에서 이체 시 환급불가)</strong></span><br /> - 계좌이체로 입금하실 경우 반드시 <span style="color : red;">법인계좌에서</span> 이체가 되어야 합니다. <span style="color : red;"><strong>(타 계좌에서 이체 시 환급불가)</strong></span><br />
- 입금자명은 반드시 <span style="color : red;">소속회사 + 교육생이름</span> 으로 기재해주세요.<br /><br /> - 입금자명은 반드시 <span style="color : red;">소속회사 + 교육생이름</span> 으로 기재해주세요.<strong style="color : red;">(소속회사명이 없는 경우 환급불가)</strong><br />
- 입교 시 <span style="color : red;">이체확인증</span>을 지참해 주세요.<br />
<span>※ 이체확인증은 입금자명이 법인이라는 것을 <strong style="color : red;">노동부에 증빙하기 위하여 필요한 서류입니다.</strong></span><br />
&nbsp;&nbsp;예) 현대건설 이지은 인 경우 -> 현대건설이지은<br /><br /> &nbsp;&nbsp;예) 현대건설 이지은 인 경우 -> 현대건설이지은<br /><br />
<span><strong>■ 환급대상자는 <span style="color : red;">계산서 의무 발행</span> 이므로 현금영수증 발행이 불가 합니다.</strong></span><br /> <span><strong>
</p> ■ 환급과정 신청 시 환급대상자는 <span style="color : red;">계산서 의무 발행</span> 이므로 현금영수증 발행이 불가 합니다.
</strong></span><br />
</p>
} }
<h4 class="clsTitle" style="color:red">결제 시 주의사항</h4> <h4 class="clsTitle" style="color:red">결제 시 주의사항</h4>
@ -128,7 +140,7 @@
</strong> </strong>
</p> </p>
<h4 class="clsTitle">결제방법(신용카드 선택 시 계산서 발급불가)</h4> <h4 class="clsTitle">결제방법<span class="red" style="font-weight:bold">(신용카드 선택 시 계산서 발급불가)</span></h4>
<ul class="apyRdo"> <ul class="apyRdo">
@if (Model.CM.infee > 0) @if (Model.CM.infee > 0)
{ {
@ -141,7 +153,17 @@
} }
</ul> </ul>
<div id="cashbox" style="display:none"> <div id="cashbox" style="display:none">
@if (Model.CM.cshape == 1)
{
// 교육장
if (Model.PPLog.isrebate == 1)
{
<h4 class="clsTitle">계산서 발행</h4>
}
else
{
<h4 class="clsTitle">현금영수증 / 계산서 발행여부</h4> <h4 class="clsTitle">현금영수증 / 계산서 발행여부</h4>
}
<ul class="apyRdo"> <ul class="apyRdo">
@if (Model.CM.isrefund == 0 || Model.PPLog.isrebate == 0) @if (Model.CM.isrefund == 0 || Model.PPLog.isrebate == 0)
{ {
@ -158,6 +180,34 @@
<li><p class="subTxt"><span style="color : red;">※ 계산서는 교육수료일에 발행됩니다.</span></p></li> <li><p class="subTxt"><span style="color : red;">※ 계산서는 교육수료일에 발행됩니다.</span></p></li>
@*<li style="vertical-align:sub;">계산서날짜 : <input type="text" name="taxdatereq" id="taxdatereq" data-date-format="yyyy-mm-dd" class="datepicker-input" value="@(Model.PPLog.taxdatereq == null ? "" : Model.PPLog.taxdatereq.Value.ToString("yyyy-MM-dd"))" autocomplete="off" /></li>*@ @*<li style="vertical-align:sub;">계산서날짜 : <input type="text" name="taxdatereq" id="taxdatereq" data-date-format="yyyy-mm-dd" class="datepicker-input" value="@(Model.PPLog.taxdatereq == null ? "" : Model.PPLog.taxdatereq.Value.ToString("yyyy-MM-dd"))" autocomplete="off" /></li>*@
</ul> </ul>
}
else
{
if (Model.PPLog.isrebate == 1)
{
<h4 class="clsTitle">계산서 발행</h4>
}
else
{
<h4 class="clsTitle">현금영수증 / 계산서 발행여부</h4>
}
<ul class="apyRdo">
@if (Model.CM.isrefund == 0 || Model.PPLog.isrebate == 0)
{
<li><input type="radio" name="iscashrct" id="pay0202" value="1"><label for="pay0202">현금영수증 발행</label></li>
}
<li>
<input type="radio" name="iscashrct" id="pay0203" value="2"><label for="pay0203">계산서 발행</label>
<input type="hidden" id="brno" value="@Model.PPLog.brno" />
</li>
</ul>
<ul class="apyRdo" id="taxinvoice_option" style="display:none;margin-top:-1px">
<li><input type="radio" name="isreceipt" id="isreceipt1" value="1" @(Model.PPLog.isreceipt == null ? "checked" : Model.PPLog.isreceipt == 1 ? "checked" : "") /><label for="isreceipt1"> 영수</label></li>
<li><input type="radio" name="isreceipt" id="isreceipt0" value="0" @(Model.PPLog.isreceipt == 0 ? "checked" : "") /><label for="isreceipt0"> 청구</label></li>
<li style="vertical-align:sub;">계산서날짜 : <input type="text" name="taxdatereq" id="taxdatereq" data-date-format="yyyy-mm-dd" class="datepicker-input" value="@(Model.PPLog.taxdatereq == null ? "" : Model.PPLog.taxdatereq.Value.ToString("yyyy-MM-dd"))" autocomplete="off" /></li>
</ul>
}
</div> </div>
<ul class="clsBtn society"> <ul class="clsBtn society">

View File

@ -0,0 +1,333 @@
@model NP.Model.VMCourse
@{
var isallday = Model.CM.retimeymd == "2099-12-31" ? true : false;
}
<form id="historyForm" method="post">
<input type="hidden" name="cmno" value="@Model.cmno" /> @*강좌번호*@
<input type="hidden" name="stringval" value="@Model.stringval" /> @*법정교육/기타교육*@
<input type="hidden" name="stringval2" value="@Model.stringval2" />@*교육유형*@
<input type="hidden" name="stringval3" value="@Model.stringval3" />@*기술인분류*@
<input type="hidden" name="stringval4" value="@Model.stringval4" />@*교육목적*@
<input type="hidden" name="stringval5" value="@Model.stringval5" />@*등급*@
<input type="hidden" name="stringval6" value="@Model.stringval6" />@*직무분야*@
<input type="hidden" name="stringval7" value="@Model.stringval7" />@*전문분야*@
<input type="hidden" name="pplno" value="@Model.pplno" />@*pplno*@
<input type="hidden" name="selMonth" value="@Model.selMonth" />@*교육일정선택(selMonth)*@
<input type="hidden" name="isCompany" value="@Model.isCompany" />@*업체/개인 선택*@
<input type="hidden" name="CM.cmino" id="becmino" value="@Model.CM.cmino" />
<input type="hidden" name="CM.cmisno" id="becmisno" value="@Model.CM.cmisno" />
<input type="hidden" name="CM.cshape" id="cshape" value="@Model.CM.cshape" />
<input type="hidden" name="isrebate" id="isrebate" />
</form>
<form id="mform" name="mform" method="post" action="/Course/XpayREQ">
@Html.HiddenFor(m => m.payno)
<input type="hidden" name="cmno" id="cmno" value="@Model.cmno" /> @*강좌번호*@
<input type="hidden" name="stringval" id="stringval" value="@Model.stringval" /> @*법정교육/기타교육*@
<input type="hidden" name="stringval2" id="stringval2" value="@Model.stringval2" />@*교육유형*@
<input type="hidden" name="stringval3" id="stringval3" value="@Model.stringval3" />@*기술인분류*@
<input type="hidden" name="stringval4" id="stringval4" value="@Model.stringval4" />@*교육목적*@
<input type="hidden" name="stringval5" id="stringval5" value="@Model.stringval5" />@*등급*@
<input type="hidden" name="stringval6" id="stringval6" value="@Model.stringval6" />@*직무분야*@
<input type="hidden" name="stringval7" id="stringval7" value="@Model.stringval7" />@*직무분야*@
<input type="hidden" name="cmisno" id="cmisno" />
<input type="hidden" name="isrebate" id="isrebate" />
<input type="hidden" name="applicableCM" id="applicableCM" />
<input type="hidden" name="isCompany" value="@Model.isCompany" />@*업체/개인 선택*@
<input type="hidden" name="CM.cmino" id="becmino" value="@Model.CM.cmino" />
<input type="hidden" name="CM.cmisno" id="becmisno" value="@Model.CM.cmisno" />
<h4 class="clsTitle">신청강좌</h4>
<ul class="smtList mt0" style="font-weight:500;">
<li>
<ul class="smtlChk">
<li>
<p>
<span class="@(Model.CM.cshape == 0 ? "org" : Model.CM.cshape == 1 ? "nav_grn" : "nav_blu")">
@(Model.CM.cshape == 0 ? "온라인" : Model.CM.cshape == 1 ? "교육장교육" : "온라인교육")
</span>
@{
string strStudyPlaceTmp = "";
string strStudyPlaceTmp2 = "";
string strEduInfo = "";
if (Model.SelectCMInningscd.studyplace != null)
{
strStudyPlaceTmp = Model.SelectCMInningscd.studyplacename + "교육장";
strStudyPlaceTmp2 = Model.CM.cname;
}
else
{
strStudyPlaceTmp = Model.CM.cname;
}
if (Model.CM.cshape == 1)
{
strEduInfo = string.Format("교육기간 {0} | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>",
Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0"));
}
else
{
//Model.SelectCMInningscd.eend2 교육종료일
strEduInfo = string.Format("교육기간 {0} |<span class='red'> 교육종료일 {1} </span> | {2}시간과정 |<span class='red'> {3}과정 </span><br /><span style='margin-left:5px;'>교육비 : {4}원</span>",
Model.SelectCMInningscd.scdInfoSummary, Model.SelectCMInningscd.eend2, Model.CM.studytime, (Model.CM.isrefund == 1 ? "환급" : "비환급"), Model.CM.infee.ToString("#,0"));
}
}
@if (Model.SelectCMInningscd.studyplace == null)
{
<span style="font-size:22px"><label><span>@strStudyPlaceTmp</span><span class="blu">@strStudyPlaceTmp2 </span></label></span><br />
}
else if (Model.SelectCMInningscd.studyplace != null)
{
<span style="font-size:22px"><label><span class="blu">[@strStudyPlaceTmp]</span><span>@strStudyPlaceTmp2 </span></label></span><br />
}
<span><label>@Html.Raw(strEduInfo)</label></span>
</p>
</li>
</ul>
<div class="apyCost">
@if (Model.PPLog.isaccommodation != 1)
{
<span>결제금액:<span class="red">@Model.CM.infee.ToString("#,0")</span>원</span>
}
else
{
<span>결제금액:<span class="red">@((Model.CM.infee + Model.CM.accommofee).ToString("#,0"))</span>원 (합숙 : @(Model.CM.accommofee.ToString("#,0"))원 포함)</span>
}
</div>
</li>
</ul>
@if (Model.PPLog.cshape != 2)
{
<h4 class="clsTitle">환급과정 신청 시 환급대상자의 입금방법<span class="red" style="font-weight:bold">(중요)</span></h4>
<p class="subTxt">
<span>■ 카드결제 시</span><br />
- 반드시 <span style="color : red;">소속 회사의 법인카드로</span> 결제 해 주세요. <span style="color : red;"><strong>(개인카드 결제 시 환급불가)</strong></span><br />
- 카드결제 후 <span style="color : red;">결제한 카드 앞면을 복사하여</span> 입교 시 지참해 주세요.<br />
<span>※ 결제 한 카드가 법인명의라는 것을 <span style="color : red;">노동부에 증빙하기 위하여 필요한 서류</span> 이며 회사 명이 잘 보이도록 <span style="color : red;">앞면 만 복사하시면</span> 됩니다.</span><br /><br />
</p>
<p class="subTxt">
<span>■ 무통장입금 시</span><br />
- 계좌이체로 입금하실 경우 반드시 <span style="color : red;">법인계좌에서</span> 이체가 되어야 합니다. <span style="color : red;"><strong>(타 계좌에서 이체 시 환급불가)</strong></span><br />
- 입금자명은 반드시 <span style="color : red;">소속회사 + 교육생이름</span> 으로 기재해주세요.<br /><br />
&nbsp;&nbsp;예) 현대건설 이지은 인 경우 -> 현대건설이지은<br /><br />
<span><strong>■ 환급과정 신청 시 환급대상자는 <span style="color : red;">계산서 의무 발행</span> 이므로 현금영수증 발행이 불가 합니다.</strong></span><br />
</p>
}
<h4 class="clsTitle" style="color:red">결제 시 주의사항</h4>
<p class="subTxt"><strong>
@*- 개인카드 결제 시 <span style="color : red;">법인으로 증빙서류 발급이</span> 되지 않습니다.<br />
- 계산서 발급을 원하시는 경우 반드시 <span style="color : red;">업체로 신청해주세요</span>.<br />
- 카드결제의 경우 <span style="color : red;">계산서 발급이 불가능하며 </span>카드 영수증이 발행 됩니다.<br />
- 교육신청이 완료된 이후 에는 <span style="color : red;">결제방식 변경이 불가능</span> 하므로 다시 한번 확인해 주세요.<br />*@
- 개인카드 결제 시 법인으로 증빙서류 발급이 되지 않습니다.<br />
- 계산서 발급을 원하시는 경우 반드시 업체로 신청해주세요.<br />
- 카드결제의 경우 계산서 발급이 불가능하며 카드 영수증이 발행 됩니다.<br />
- 교육신청이 완료된 이후 에는 결제방식 변경이 불가능 하므로 다시 한번 확인해 주세요.<br />
</strong>
</p>
<h4 class="clsTitle">결제방법(신용카드 선택 시 계산서 발급불가)</h4>
<ul class="apyRdo">
@if (Model.CM.infee > 0)
{
<li><input type="radio" name="ptype" id="pay0101" value="1"><label for="pay0101">신용카드</label></li>
<li><input type="radio" name="ptype" id="pay0102" value="3"><label for="pay0102">무통장입금(가상계좌)</label></li>
}
else
{
<li><input type="radio" name="ptype" id="pay0101" value="6" checked><label for="pay0101">무료</label></li>
}
</ul>
<div id="cashbox" style="display:none">
<h4 class="clsTitle">현금영수증 / 계산서 발행여부</h4>
<ul class="apyRdo">
@if (Model.CM.isrefund == 0 || Model.PPLog.isrebate == 0)
{
<li><input type="radio" name="iscashrct" id="pay0202" value="1"><label for="pay0202">현금영수증 발행</label></li>
}
<li>
<input type="radio" name="iscashrct" id="pay0203" value="2"><label for="pay0203">계산서 발행</label>
<input type="hidden" id="brno" value="@Model.PPLog.brno" />
</li>
</ul>
<ul class="apyRdo" id="taxinvoice_option" style="display:none;margin-top:-1px">
<li><input type="radio" name="isreceipt" id="isreceipt1" value="1" @(Model.PPLog.isreceipt == null ? "checked" : Model.PPLog.isreceipt == 1 ? "checked" : "") /><label for="isreceipt1"> 영수</label></li>
<li><input type="radio" name="isreceipt" id="isreceipt0" value="0" @(Model.PPLog.isreceipt == 0 ? "checked" : "") /><label for="isreceipt0"> 청구</label></li>
<li style="vertical-align:sub;">계산서날짜 : <input type="text" name="taxdatereq" id="taxdatereq" data-date-format="yyyy-mm-dd" class="datepicker-input" value="@(Model.PPLog.taxdatereq == null ? "" : Model.PPLog.taxdatereq.Value.ToString("yyyy-MM-dd"))" autocomplete="off" /></li>
</ul>
</div>
<ul class="clsBtn society">
<li><a href="#" onclick="save()">수강신청</a></li>
<li><a href="/">취소</a></li>
<li><a href="#" id="btnback" style="background-color: #fff;border: solid 1px #0047a7;color:#0047a7;">뒤로가기</a></li>
</ul>
@Html.HiddenFor(m => m.payno)
@Html.HiddenFor(m => m.exno)
@Html.Hidden("pplno", Model.PPLog.pplno)
<input type="hidden" name="cashrcthp" id="cashrcthp" />
<input type="hidden" name="isbill" id="isbill">
<input type="hidden" name="items" value="@string.Format("{0}:{1}:{2}:{3}:{4}:{5}:{6}", 0, Model.CM.cmno, 1, ViewBag.SSUserNo, Model.PPLog.isrebate, 0, "")" />
<!-- Xpay 결제 start -->
<input type="hidden" name="LGD_CLOSEDATE" id="LGD_CLOSEDATE" value="">
<input type="hidden" name="LGD_OID" id="LGD_OID" value="">
<input type="hidden" name="LGD_AMOUNT" id="LGD_AMOUNT" value="">
<input type="hidden" name="LGD_OSTYPE_CHECK" id="LGD_OSTYPE_CHECK" value="">
<input type="hidden" name="LGD_CUSTOM_SWITCHINGTYPE" id="LGD_CUSTOM_SWITCHINGTYPE" value="">
<input type="hidden" name="LGD_VERSION" id="LGD_VERSION" value="">
<input type="hidden" name="LGD_CUSTOM_SKIN" id="LGD_CUSTOM_SKIN" value="">
<input type="hidden" name="CST_WINDOW_TYPE" id="CST_WINDOW_TYPE" value="">
<input type="hidden" name="LGD_PCVIEWYN" id="LGD_PCVIEWYN" value="">
<input type="hidden" name="LGD_CUSTOM_FIRSTPAY" id="LGD_CUSTOM_FIRSTPAY" value="">
<input type="hidden" name="LGD_KVPMISPAUTOAPPYN" id="LGD_KVPMISPAUTOAPPYN" value="">
<input type="hidden" name="LGD_MTRANSFERAUTOAPPYN" id="LGD_MTRANSFERAUTOAPPYN" value="">
<input type="hidden" name="LGD_WINDOW_TYPE" id="LGD_WINDOW_TYPE" value="">
<input type="hidden" name="LGD_CUSTOM_USABLEPAY" id="LGD_CUSTOM_USABLEPAY" value="">
<input type="hidden" name="LGD_BUYER" id="LGD_BUYER" value="@Model.User.username">
<input type="hidden" name="LGD_PRODUCTINFO" id="LGD_PRODUCTINFO" value="@(Model.CM.cname.Replace(",", " "))">
<input type="hidden" name="LGD_BUYEREMAIL" id="LGD_BUYEREMAIL" value="@Model.User.email">
<!-- Xpay 결제 end -->
</form>
@section scriptsHeader{
<style type="text/css">
.hide {
display: none;
}
</style>
@Html.Partial("./Partial/ScriptDate")
}
<script type="text/javascript">
var model = {};
model.pplog = @Html.Raw(Json.Encode(new List<NP.Model.PPLog>() { ( Model.PPLog != null ? Model.PPLog : new NP.Model.PPLog {}) }.Select(s => new { s.asname, s.brno, s.ceoname, s.post, s.address1, s.address2, s.rbankacc, s.bkind, s.btype, s.taxemail}).First()));;
$(document).ready(function () {
$("input[name='ptype']").on("change", function () {
$("#cashbox").hide();
if ($(this).val() == 3) {
$("#cashbox").show();
if ($("input[name='iscashrct']").length == 1) {
$("input[name='iscashrct']").click();
}
}
});
$("input[name='iscashrct']").on("change", function () {
let brno = $("#brno").val();
if ($(this).val() == 2) {
if (brno == "") {
msg("계산서 발행에 필요한 업체정보가 없습니다.<br>하단의 <font color='red'>뒤로가기 버튼</font>을 눌러 업체정보 입력 페이지에서 업체로 변경 후 신청해 주시기 바랍니다.");
$("#pay0203").prop("checked", false)
}
else {
$("#taxinvoice_option").show();
}
} else {
$("#taxinvoice_option").hide();
}
});
$("#btnback").on("click", function () {
$("#historyForm").attr("action", "/Course/ApplyAgree");
$("#historyForm").submit();
});
});
function save() {
var isCompanyInfo = true;
$.each(model.pplog, function (key, value) {
if (key == "rbankacc") {
if (value == "") {
isCompanyInfo = false;
return;
}
}
});
$("#cashrcthp").val("");
$("#isbill").val("");
if ($("input[name='ptype']:checked").length > 0 && $("input[name='ptype']:checked").val() == 3 && $("input[name='iscashrct']:checked").length == 1 && $("input[name='iscashrct']:checked").val() == 2) {
$("#isbill").val("1");
}
if ($("input[name='ptype']:checked").length < 1) {
msg("결제방법을 선택해주세요.");
} else if ($("input[name='ptype']:checked").val() == 3 && $("input[name='iscashrct']:checked").length < 1) {
msg("현금영수증 / 계산서 발행여부를 선택해주세요.");
} else if ($("#isbill").val() == 1 && !isCompanyInfo) {
msg("계산서 발급 시 회사정보가 필요합니다. 뒤로가기를 클릭하여 회사정보를 입력해주세요.");
} else if ($("#isbill").val() == 1 && $("#taxdatereq").val() == "") {
msg("계산서날짜를 입력해주세요.");
}else {
capp("/focommon/CheckQtyScd", { cmisno: $("#becmisno").val()}, "CheckQtyScdResult");
}
}
/*20220803 수강인원체크*/
function CheckQtyScdResult() {
if (capResult.code == 1000) {
cap("/fcommon/paystart", "mform", "cbsave");
}
else if (capResult.code == 0) {
msg(capResult.msg, null, null, null, '$("#historyForm").attr("action", "/Course/SmartSearch").submit()');
}
else {
msgadmin();
}
}
function cbsave() {
if (capResult.code == 1000) {
if (capResult.obj == 0) {
var resultmsg = capResult.msg;
if (resultmsg.indexOf("buyertel")) {
//msg("개인정보에 휴대폰 번호를 입력해주세요.");
msg(capResult.msg || "이미 신청한 강좌인지 확인해주세요.");
} else {
msg(capResult.msg);
}
}
else {
if (capResult.obj.ptype == 6 || capResult.obj.ptype == 7) {
location.href = "@Model.viewname4?payno=" + capResult.obj.payno + "&absptype=" + capResult.obj.ptype;
return;
}
else {
setv("LGD_OID", capResult.obj.oid2 + capResult.obj.payno);
setv("LGD_CLOSEDATE", capResult.obj.paylimityyyyMMddHHmmss);
setv("LGD_AMOUNT", capResult.obj.payamt);
setv("LGD_OSTYPE_CHECK", ismobile() ? "M" : "P");
setv("LGD_CUSTOM_SWITCHINGTYPE", ismobile() ? "SUBMIT" : "IFRAME");
setv("LGD_VERSION", ismobile() ? "ASPNET_Non-ActiveX_SmartXPay" : "ASPNET_Non-ActiveX_Standard");
setv("LGD_CUSTOM_SKIN", ismobile() ? "SMART_XPAY2" : "red");
var paymentMethod = $(':radio[name="ptype"]:checked').val() == 1 ? "SC0010" : $(':radio[name="ptype"]:checked').val() == 2 ? "SC0030" : $(':radio[name="ptype"]:checked').val() == 3 ? "SC0040" : "-";
if (ismobile()) {
setv("CST_WINDOW_TYPE", "submit");
setv("LGD_PCVIEWYN", "N");
setv("LGD_CUSTOM_FIRSTPAY", paymentMethod);
setv("LGD_KVPMISPAUTOAPPYN", checkMobile());
setv("LGD_MTRANSFERAUTOAPPYN", checkMobile());
} else {
setv("LGD_WINDOW_TYPE", "iframe");
setv("LGD_CUSTOM_USABLEPAY", paymentMethod);
}
document.getElementById('mform').submit();
}
}
} else {
msgadmin();
}
}
function checkMobile() {
var varUA = navigator.userAgent.toLowerCase();
if (varUA.indexOf('android') > -1) {
return "A";
} else if (varUA.indexOf("iphone") > -1 || varUA.indexOf("ipad") > -1 || varUA.indexOf("ipod") > -1) {
return "N";
}
}
</script>

View File

@ -74,7 +74,8 @@
<br /> <br />
@if (Model.stringval2 == "2") @if (Model.stringval2 == "2")
{ {
<p class='subDsc' style='color:red;'>※ 온라인 교육은 입금완료시 교육이 바로 시작되며 동영상 시청이 가능합니다</p> @*<p class='subDsc' style='color:red;'>※ 온라인 교육은 입금완료시 교육이 바로 시작되며 동영상 시청이 가능합니다.</p>*@
<p class='' style="font-weight: bold; font-size: 14pt;">※ 현재 신청중인 교육은 <span style='color: red; font-weight: bold'>온라인교육(동영상강의28시간 + 집체참석7시간)</span> 교육입니다.</p>
} }
<input type="hidden" id="hidCmno" /> <input type="hidden" id="hidCmno" />
<ul class="smtList" style="margin-bottom:150px"> <ul class="smtList" style="margin-bottom:150px">
@ -88,7 +89,7 @@
</em> </em>
@*<span style="font-size:22px">@($"{item.cname} | {item.studytime}시간과정 | 교육비{item.infee}")</span></h5>*@ @*<span style="font-size:22px">@($"{item.cname} | {item.studytime}시간과정 | 교육비{item.infee}")</span></h5>*@
@{ @{
string strTitle =string.Format("{0} | {1}시간과정 |<span class='red' style='vertical-align: initial;'> {2}과정 </span>", item.cname, item.studytime, (item.isrefund == 1 ? "환급" : "비환급"), item.infee.ToString("#,0")); string strTitle = string.Format("{0} | {1}시간과정 |<span class='red' style='vertical-align: initial;'> {2}과정 </span>", item.cname, item.studytime, (item.isrefund == 1 ? "환급" : "비환급"), item.infee.ToString("#,0"));
} }
<span style="font-size:22px">@Html.Raw(strTitle)</span> <span style="font-size:22px">@Html.Raw(strTitle)</span>
</h5> </h5>
@ -117,7 +118,7 @@
}*@ }*@
@*20220728온라인/오프라인 안내*@ @*20220728온라인/오프라인 안내*@
<div id="divInfo_@item.cmno"class="smtlChk" > <div id="divInfo_@item.cmno" class="smtlChk">
</div> </div>
@*20220728교육 영역*@ @*20220728교육 영역*@
@ -164,7 +165,7 @@
<div class="gry"> <div class="gry">
<p>교육분류 : <span id="spnCmKind"></span></p> <p>교육분류 : <span id="spnCmKind"></span></p>
<p>인정시간 : <span class="sky"><span id="spnCmStudyHour"></span></span>시간</p> <p>인정시간 : <span class="sky"><span id="spnCmStudyHour"></span></span>시간</p>
<p style="display:none;" id="completeStd">수료기준 : 진도 <span id="spnCmAttend"></span>% 이상, 시험 <span id="spnCmFinal"></span>점 이상, 과제 <span id="spnCmSubject"></span>점 이상</p> <p style="display:none;" id="completeStd">수료기준 : 진도 <span id="spnCmAttend"></span>% 이상, 시험 <span id="spnCmFinal"></span>점 이상, 과제 <span id="spnCmSubject"></span>점 이상<span id="spnisoffabs"></span></p>
@*@if (Model.CM.cshape != 1) @*@if (Model.CM.cshape != 1)
{ {
<p id="completeStd">수료기준 : 진도 <span id="spnCmAttend"></span>% 이상, 시험 <span id="spnCmFinal"></span>점 이상, 과제 <span id="spnCmSubject"></span>점 이상</p> <p id="completeStd">수료기준 : 진도 <span id="spnCmAttend"></span>% 이상, 시험 <span id="spnCmFinal"></span>점 이상, 과제 <span id="spnCmSubject"></span>점 이상</p>
@ -199,6 +200,11 @@
</div> </div>
</div> </div>
<style>
.clsPopWrap {
max-width: 655px;
}
</style>
<script type="text/javascript"> <script type="text/javascript">
var _cmno; var _cmno;
@ -325,6 +331,13 @@
$("#spnCmContentHtml").html(d.contenthtml); $("#spnCmContentHtml").html(d.contenthtml);
$(".spnCmContentHtml").show(); $(".spnCmContentHtml").show();
} }
if (d.isoffabs == 1 && d.cshape == 2) {
$("#spnisoffabs").text(", 집체교육 7시간 참석")
}
else {
$("#spnisoffabs").text("")
}
}); });
} }
@ -345,7 +358,7 @@
var divScd = $("#divScd" + cmno); var divScd = $("#divScd" + cmno);
if (btnSelect.html() == '일정조회') { if (btnSelect.html() == '일정조회') {
btnSelect.html('조회닫기'); btnSelect.html('닫기');
//capp("/focommon/GetScdForMixEdu", { cmno: model.cm.cmno, month: $("#selMonth").val() }, "renderScd"); //capp("/focommon/GetScdForMixEdu", { cmno: model.cm.cmno, month: $("#selMonth").val() }, "renderScd");
//교육일정에 등록되어 있는 일정 중 선택이 가능한 첫번째 일정 선택으로 달 파라미터 제거 //교육일정에 등록되어 있는 일정 중 선택이 가능한 첫번째 일정 선택으로 달 파라미터 제거
capp("/focommon/GetScdForMixEdu", { cmno: cmno}, "renderScdInning(1," + cshape + "," + cmno + ")"); capp("/focommon/GetScdForMixEdu", { cmno: cmno}, "renderScdInning(1," + cshape + "," + cmno + ")");
@ -382,11 +395,11 @@
} }
else if (cshape == 2) //온라인 else if (cshape == 2) //온라인
{ {
strTmp = "<p style='margin-bottom: 30px;'>※ 현재 신청 중인 교육은 " + strTmp = "<p style='margin-bottom: 30px;font-weight: bold; font-size: 14pt;'><span style='color:red'>※ 수료조건을 모두 만족하신 후 " +
"<span style='color:red'>온라인 35시간 교육입니다.<br>" + "교육종료일(집체교육 참석일)에 집체교육 7시간을 참석 하시면 됩니다.</span > <br>" +
"※ 선택한 교육종료일까지 수료조건을 만족하시면 그 다음날 오후 3시 이후에 수료증 출력이 가능합니다.<br>" + "※ 수료조건 : 동영상강의 진도율 90% 이상 / 시험평가 60점 이상 / 과제 제출<br>" +
"※ 교육비 입금과 동시에 동영상강의 시청이 가능합니다." + "※ 교육비 입금과 동시에 동영상강의 시청이 가능합니다." +
"</span></p><br><span class='clsTitle'>교육종료일을 선택하여 주세요.</span>"; "</p><br><span class='clsTitle'>교육종료일(집체교육 참석일)을 선택하여 주세요.</span>";
} }
divInfo.append(strTmp); divInfo.append(strTmp);
@ -471,15 +484,17 @@
pData.html("<label>"+ "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[종료] </label>" + radioEduDay + " disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span></span>"); pData.html("<label>"+ "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[종료] </label>" + radioEduDay + " disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span></span>");
} }
else { else {
/* by 인덕
if (d.quota != 0) { if (d.quota != 0) {
if (d.remainPeople <= 0) { // 제한인원 지정됨
if (d.remainPeople <= 0) { // remainPeople(등록가능인원수) <= 0
spanApplyClassN.text("수강신청"); spanApplyClassN.text("수강신청");
aApplyClass.append(spanApplyClassN); aApplyClass.append(spanApplyClassN);
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[접수마감] </span>" + radioEduDay + " disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span></span>"); pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[접수마감] </span>" + radioEduDay + " disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span></span>");
pData.append(spanApplyClassN); pData.append(spanApplyClassN);
} }
else { else {
if (d.isselected == 1) { if (d.isselected == 1) { // isselected = (cm.setime('%Y%m%d',학습종료) == cminningscd.estart('%Y%m%d',교육시작) ? 1 : 0)
spanApplyClass.text("수강신청"); spanApplyClass.text("수강신청");
aApplyClass.append(spanApplyClass); aApplyClass.append(spanApplyClass);
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[접수중] </span>" + radioEduDay + " checked> " + d.scdInfoSummary + "<span style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</span></span>"); pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[접수중] </span>" + radioEduDay + " checked> " + d.scdInfoSummary + "<span style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</span></span>");
@ -494,14 +509,15 @@
} }
} }
else { else {
if (d.remainPeople <= 0) { // 제한인원 무제한
if (d.remainPeople <= 0) { // remainPeople(등록가능인원수) <= 0
spanApplyClassN.text("수강신청"); spanApplyClassN.text("수강신청");
aApplyClass.append(spanApplyClassN); aApplyClass.append(spanApplyClassN);
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[접수마감] </span>" + radioEduDay + " disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span></span>"); pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[접수마감] </span>" + radioEduDay + " disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span></span>");
pData.append(spanApplyClassN); pData.append(spanApplyClassN);
} }
else { else {
if (d.isselected == 1) { if (d.isselected == 1) { // isselected = (cm.setime('%Y%m%d',학습종료) == cminningscd.estart('%Y%m%d',교육시작) ? 1 : 0)
spanApplyClass.text("수강신청"); spanApplyClass.text("수강신청");
aApplyClass.append(spanApplyClass); aApplyClass.append(spanApplyClass);
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " " + radioEduDay + " checked> " + d.scdInfoSummary + "</label></label>"); pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " " + radioEduDay + " checked> " + d.scdInfoSummary + "</label></label>");
@ -515,6 +531,40 @@
} }
} }
} }
*/
d.scdInfoSummary = (d.scdInfoSummary).replace("까지", "")
if (d.remainPeople <= 0) { // remainPeople(등록가능인원수) <= 0
spanApplyClassN.text("접수마감");
aApplyClass.append(spanApplyClassN);
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[접수마감] </span>" + radioEduDay + " disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span></span>");
pData.append(spanApplyClassN);
}
else {
spanApplyClass.text("교육신청");
aApplyClass.append(spanApplyClass);
if (d.quota != 0) {
if (d.isselected == 1) { // isselected = (cm.setime('%Y%m%d',학습종료) == cminningscd.estart('%Y%m%d',교육시작) ? 1 : 0)
// 사용안하는것 추측됨
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[접수중] </span>" + radioEduDay + " checked> " + d.scdInfoSummary + "<span style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</span></span>");
pData.append(aApplyClass);
}
else {
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " <span style='color: red'>[접수중] </span>" + radioEduDay + "'> " + d.scdInfoSummary + "<span style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</span> " + "</span>");
pData.append(aApplyClass);
}
}
else {
// 사용안하는것 추측됨
if (d.isselected == 1) { // isselected = (cm.setime('%Y%m%d',학습종료) == cminningscd.estart('%Y%m%d',교육시작) ? 1 : 0)
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " " + radioEduDay + " checked> " + d.scdInfoSummary + "</label></label>");
pData.append(spanApplyClass);
}
else {
pData.html("<label>" + "<span style='color:blue'>" + strStudyPlacename + "</span>" + " " + radioEduDay + "'> " + d.scdInfoSummary + "</label></label>");
pData.append(aApplyClass);
}
}
}
} }
li.append(pData); li.append(pData);

View File

@ -87,7 +87,7 @@
<div id="divScd"></div> <div id="divScd"></div>
</div><!-- clsPopCont --> </div><!-- clsPopCont -->
<div class="mpgpopbtn2"> <div class="mpgpopbtn2" style="margin-bottom: 20px">
<ul class="mpgPopBtn"> <ul class="mpgPopBtn">
<li><a href="#" class="bk" onclick="selectScd()">선택완료</a></li> <li><a href="#" class="bk" onclick="selectScd()">선택완료</a></li>
<li><a href="#" onclick="mpgPopClose()">취소</a></li> <li><a href="#" onclick="mpgPopClose()">취소</a></li>
@ -134,6 +134,7 @@
let strTmp = ""; let strTmp = "";
var divScd = $("#divScd"); var divScd = $("#divScd");
var divTitle = $("#divTitle"); var divTitle = $("#divTitle");
let onceCheck = false;
divTitle.empty(); divTitle.empty();
if (cshape == 1) if (cshape == 1)
{ {
@ -160,6 +161,12 @@
$.each(capResult.obj, function (i, d) { $.each(capResult.obj, function (i, d) {
var li = $("<li />"); var li = $("<li />");
if (cshape == 2 && !onceCheck) {
li.append("<label> ※ 이미 <span style='color: red'>집체7시간을 참석하신 분들은</span> 변경한 교육종료일까지 부족한 수료조건을 만족하시면 됩니다. <span style='color: red'>(집체교육 재 참석 없음)</span></label><br><br>");
onceCheck = true;
}
var pData = $("<p />"); var pData = $("<p />");
//var aApplyClass = $("<a />", { "onclick": "javascript:applyClassEdu(" + d.cmno + ", " + d.pcmno + ", " + d.cmino + ", " + d.cmisno + ");" }); //var aApplyClass = $("<a />", { "onclick": "javascript:applyClassEdu(" + d.cmno + ", " + d.pcmno + ", " + d.cmino + ", " + d.cmisno + ");" });
/*var spanApplyClass = $("<span />", { "class": "smtlChkBtn smtlChk03", "style": "font-size:18px" });*/ /*var spanApplyClass = $("<span />", { "class": "smtlChkBtn smtlChk03", "style": "font-size:18px" });*/
@ -179,24 +186,16 @@
++displayCnt; ++displayCnt;
if (d.quota != 0) { if (d.quota != 0) {
if (d.remainPeople <= 0) { if (d.remainPeople <= 0) {
if (cshape == 2) {
li.append("<label> ※ 이미 <label style='color: red'>집체7시간을 참석하신 분들은</label> 변경한 교육종료일까지 부족한 수료조건을 만족하시면 됩니다. <label style='color: red'>(집체교육 재 참석 없음)</label></label><br><br><br>");
}
pData.html("<label>" + strStudyPlacename + " <label style='color: red'>[접수마감] </label>" + radioEduDay + " disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span></label>"); pData.html("<label>" + strStudyPlacename + " <label style='color: red'>[접수마감] </label>" + radioEduDay + " disabled> <span style='color:gray'>" + d.scdInfoSummary + "</span></label>");
} }
else { else {
if (d.isselected == 1) { if (d.isselected == 1) {
if (cshape == 2) {
li.append("<label> ※ 이미 <label style='color: red'>집체7시간을 참석하신 분들은</label> 변경한 교육종료일까지 부족한 수료조건을 만족하시면 됩니다. <label style='color: red'>(집체교육 재 참석 없음)</label></label><br><br><br>");
}
//spanApplyClass.text("수강신청"); //spanApplyClass.text("수강신청");
//aApplyClass.append(spanApplyClass); //aApplyClass.append(spanApplyClass);
pData.html("<label>" + strStudyPlacename + " <label style='color: red'>[접수중]&nbsp;&nbsp;&nbsp;&nbsp; </label>" + radioEduDay + " checked> " + d.scdInfoSummary + "<label style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</label></label>"); pData.html("<label>" + strStudyPlacename + " <label style='color: red'>[접수중]&nbsp;&nbsp;&nbsp;&nbsp; </label>" + radioEduDay + " checked> " + d.scdInfoSummary + "<label style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</label></label>");
} }
else { else {
if (cshape == 2) {
li.append("<label> ※ 이미 <label style='color: red'>집체7시간을 참석하신 분들은</label> 변경한 교육종료일까지 부족한 수료조건을 만족하시면 됩니다. <label style='color: red'>(집체교육 재 참석 없음)</label></label><br><br><br>");
}
//spanApplyClass.text("수강신청"); //spanApplyClass.text("수강신청");
//aApplyClass.append(spanApplyClass); //aApplyClass.append(spanApplyClass);
pData.html("<label>" + strStudyPlacename + " <label style='color: red'>[접수중] &nbsp;&nbsp;&nbsp;&nbsp;</label>" + radioEduDay + "'> " + d.scdInfoSummary + "<label style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</label> " + "</label>"); pData.html("<label>" + strStudyPlacename + " <label style='color: red'>[접수중] &nbsp;&nbsp;&nbsp;&nbsp;</label>" + radioEduDay + "'> " + d.scdInfoSummary + "<label style='color: red;display:none;'> (" + d.remainPeople + "명 남음)</label> " + "</label>");

View File

@ -103,19 +103,24 @@ else if (special == "reg" || name == "SearchType")
} }
else if (special == "email") else if (special == "email")
{ {
<select @disabled id="@(name.Replace(".", "_"))" name="@(name)" onchange="@(onchange != "" ? onchange : "")" class="form-control dev @(cssclass)" style=" @style"> List<string> emailList = new List<string>(){
"naver.com"
,"gmail.com"
,"kakao.com"
,"daum.net"
,"hanmail.net"
,"nate.com"
};
<select @disabled id="@(name.Replace(".", "_"))" name="@(name)" onchange="@(onchange != "" ? onchange : "")" class="form-control dev @(cssclass)" style=" @style">
@if (df != "") @if (df != "")
{ {
<option value="@(df.Contains(":") ? df.Split(':')[0] : "")" data-classgrade="0">@(df.Contains(":") ? df.Split(':')[1] : df)</option> <option value="@(df.Contains(":") ? df.Split(':')[0] : "")" data-classgrade="0">@(df.Contains(":") ? df.Split(':')[1] : df)</option>
} }
<option value="hanmail.com" @("hanmail.com" == selected ? "selected" : "")>hanmail.com</option> @foreach (var item in emailList)
<option value="yahoo.co.kr" @("yahoo.co.kr" == selected ? "selected" : "")>yahoo.co.kr</option> {
<option value="naver.com" @("naver.com" == selected ? "selected" : "")>naver.com</option> <option value="@item" >@item</option>
<option value="empal.com" @("empal.com" == selected ? "selected" : "")>empal.com</option> }
<option value="hotmail.com" @("hotmail.com" == selected ? "selected" : "")>hotmail.com</option> </select>
<option value="dreamwiz.com" @("dreamwiz.com" == selected ? "selected" : "")>dreamwiz.com</option>
<option value="hanafos.com" @("hanafos.com" == selected ? "selected" : "")>hanafos.com</option>
</select>
} }
else if (valuetext.Length > 0) else if (valuetext.Length > 0)
{ {

View File

@ -7,7 +7,7 @@
@RenderSection("styles", required: false) @RenderSection("styles", required: false)
@Html.Partial("./Partial/JS") @Html.Partial("./Partial/JS")
@RenderSection("scriptsHeader", required: false) @RenderSection("scriptsHeader", required: false)
<script type="text/javascript" src="/js/mypage.js?ver=22122101"></script> <script type="text/javascript" src="/js/mypage.js?ver=22122701"></script>
</head> </head>
<body id="mainbody"> <body id="mainbody">
@{ @{

View File

@ -41,8 +41,8 @@
<add key="daokey" value="ynictelms2020" /> <add key="daokey" value="ynictelms2020" />
<!--<add key="configpath" value="Product" />--> <!--<add key="configpath" value="Product" />-->
<!--<add key="configpath" value="ProductDev" />--> <add key="configpath" value="ProductDev" />
<add key="configpath" value="Staging" /> <!--<add key="configpath" value="Staging" />-->
<add key="thumbnailexe" value="D:\\dev_tool\\ffmpeg.exe" /> <add key="thumbnailexe" value="D:\\dev_tool\\ffmpeg.exe" />

View File

@ -427,7 +427,11 @@
.mpgPopCont {padding:50px; overflow-y:auto;} .mpgPopCont {padding:50px; overflow-y:auto;}
.mpgPopCont img {display:block; margin:0 auto; max-width:100%;} .mpgPopCont img {display:block; margin:0 auto; max-width:100%;}
.mpgPopBtn {text-align:center; margin-top:50px;} .mpgPopBtn {text-align:center; margin-top:50px;}
.mpgPopBtn li {display:inline-block; margin:0 3px;} .mpgPopBtn li {
display: inline-block;
margin: 0 3px;
margin-bottom: 50px
}
.mpgPopBtn li a {display:block; width:100px; height:50px; line-height:48px; border:solid 1px #383838; color:#383838;} .mpgPopBtn li a {display:block; width:100px; height:50px; line-height:48px; border:solid 1px #383838; color:#383838;}
.mpgPopBtn li a.bk {background:#383838; color:#fff;} .mpgPopBtn li a.bk {background:#383838; color:#fff;}

View File

@ -86,8 +86,8 @@ $(document).ready(function () {
msg += '※ <span style="color:red;">매주 월요일 마다</span> 수료처리가 진행됩니다. (평일기준)<br><br>' msg += '※ <span style="color:red;">매주 월요일 마다</span> 수료처리가 진행됩니다. (평일기준)<br><br>'
msg += '- 수료조건을 만족하지 않은 경우 : 교육일정변경 메뉴에서 <span style="color:red;">일정변경 후 </span> 수강해 주세요.<br><br>' msg += '- 수료조건을 만족하지 않은 경우 : 교육일정변경 메뉴에서 <span style="color:red;">일정변경 후 </span> 수강해 주세요.<br><br>'
msg += '※ 미 수료 상태로 교육시작일 이후 <span style="color:red;">1년 경과 시 교육이 취소되어 일정변경이 불가합니다.</span><br><br>' msg += '※ 미 수료 상태로 교육시작일 이후 <span style="color:red;">1년 경과 시 교육이 취소되어 일정변경이 불가합니다.</span><br><br>'
//msg += '<a href="#" class="mainokbutton" onclick="javascript:hidelayermsg();" style="display: inline-block;margin: 20px 5px 0 5px;">확인</a></div>' msg += '<a href="#" class="mainokbutton" onclick="javascript:hidelayermsg();" style="display: inline-block;margin: 20px 5px 0 5px;">확인</a></div>'
msg += '<a href="' + href + '" class="mainokbutton" style="display: inline-block;margin: 20px 5px 0 5px;">확인</a></div>' //msg += '<a href="' + href + '" class="mainokbutton" style="display: inline-block;margin: 20px 5px 0 5px;">확인</a></div>'
$("#layermessage").html(msg) $("#layermessage").html(msg)
return false; return false;

View File

@ -177,9 +177,9 @@ namespace NP.Model
public String zstring0 { get; set; } public String zstring0 { get; set; }
public String zstring1 { get; set; } public String zstring1 { get; set; }
public String zstring2 { get; set; } public String zstring2 { get; set; }
//public String zstring3 { get; set; } public String zstring3 { get; set; }
//public String zstring4 { get; set; } public String zstring4 { get; set; }
//public String zstring5 { get; set; } public String zstring5 { get; set; }
//public String zstring6 { get; set; } //public String zstring6 { get; set; }
//public String zstring7 { get; set; } //public String zstring7 { get; set; }
//public String zstring8 { get; set; } //public String zstring8 { get; set; }