<단순작업>

1. 개발용으로 단순변경
2. 마이페이지(교육일정변경), 마이페이지(교육종료일이지난온라인강의입장), 관리자(집합교육출석)
This commit is contained in:
zdrcft 2022-12-21 00:56:40 +00:00
parent 7663e1aa7b
commit ed9933718d
8 changed files with 74 additions and 34 deletions

View File

@ -511,8 +511,17 @@ namespace NP.BO.Controllers
ht.Add("edate", vm.stringval);
ht.Add("cname", vm.stringval2);
ht.Add("studyplace", vm.stringval3);
ht.Add("stringval17", vm.stringval17);
vm.Lects = Dao.Get<Lect>("lect.lectinnings.forattscd", ht);
vm.pagetotalcount = GetCount(vm.Lects.FirstOrDefault());
if (vm.intval2 == 1)
{
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 View(vm);
}
public ActionResult grades(NP.Model.VMCM vm)

View File

@ -53,11 +53,14 @@
</div>
<br />
<section class="panel panel-default">
@Html.HiddenFor(m => m.intval2)
<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/pagerow", new ViewDataDictionary { { "tbodyid", "tbody1" }, { "searchmethod", "submit()" }, { "pagesize", Model.pagerowcount } })
<a href="#" class="btn btn-primary" onclick="save(2);">출석처리</a>
<a href="#" class="btn btn-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(-1);">미입력처리</a>
<a href="#" class="btn btn-primary" onclick="excldown();">엑셀 다운로드</a>
</div>
<div class="table-responsive" id="excel1">
<table class="table table-striped b-t b-light">
@ -65,12 +68,13 @@
<tr>
<th><input type="checkbox" onclick="javascript: checkall('excel1', this);" /></th>
<th width="20">No</th>
<th width="30">운영기수</th>
<th width="60">운영기수</th>
<th>교육장</th>
<th>과정명</th>
<th>교육생(ID)</th>
<th>교육시작일</th>
<th>교육종료일</th>
<th>출석일</th>
<th>집합교육출석여부</th>
<th>수료여부</th>
</tr>
@ -81,19 +85,12 @@
<tr>
<td><input type="checkbox" class="autocheck" value="@d.lectno" data-usernameid="@d.usernameid" data-userno="@d.userno" data-cmino="@d.cmino" /></td>
<td>@d.rnorvt</td>
@if (d.cshape == 2)
{
<td>@d.sseq</td>
}
else
{
<td>-</td>
}
<td>@d.sseqstr</td>
<td>@d.studyplacename</td>
<td>@d.cname</td>
<td>@d.usernameid</td>
<td>@((d.cshape == 0 && d.isrebate == 0 ? d.payoktime : d.sdate).Value.ToShortDateString())</td>
@if (d.cshape == 2 )
<td>@d.sdatestr </td>
@if (d.cshape == 2)
{
if (d.iscomplete != 1)
{
@ -108,6 +105,7 @@
{
<td>@d.edate.Value.ToShortDateString()</td>
}
<td>@d.stimestr</td>
<td>@d.istatusname</td>
@if (!ViewBag.IsSubAdmin96)
{
@ -136,12 +134,12 @@
<style type="text/css">
</style>
}
@section scriptsHeader{
@section scriptsHeader{
@Html.Partial("./Partial/FileScript")
@Html.Partial("./Partial/ScriptDate")
@Html.Partial("./Partial/ScdScript")
}
@section scripts{
@section scripts{
<script>
var _authtype = 1;
var _lectno;
@ -191,5 +189,9 @@
msgf2("저장했습니다.", "submit('mform', 0, true)");
} else { msgdev(true); }
}
function excldown() {
$("#intval2").val(1);
$("#mform").submit();
}
</script>
}

View File

@ -734,7 +734,7 @@
select a.*
from (
select a.lectno,c.cmino,b.cmno,b.cshape,b.cname,b2.isoffabs
,a.isrebate,p.payoktime,a.iscomplete
,a.isrebate,p.payoktime,a.iscomplete, a.stime
,a.sdate,a.edate
,a.cmisno
,d.sseq,f.cname studyplacename
@ -756,6 +756,10 @@
<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>

View File

@ -85,11 +85,14 @@
</div>
<div class="mpgPopCont">
<div id="divScd"></div>
</div><!-- clsPopCont -->
<div class="mpgpopbtn2">
<ul class="mpgPopBtn">
<li><a href="#" class="bk" onclick="selectScd()">선택완료</a></li>
<li><a href="#" onclick="mpgPopClose()">취소</a></li>
</ul>
</div><!-- clsPopCont -->
</div>
</div><!-- clsPopWrap -->
</div>
</div>
@ -138,7 +141,7 @@
}
else if (cshape == 2)
{
strTmp = "<h5> 교육종료일(수료일자) 변경 </ul>";
strTmp = "<h5> 교육종료일(집체교육 참석일) 변경 </ul>";
}
strTmp += "<a href='javascript: mpgPopClose();'></a>";
@*strTmp = strTmp + "<a href='javascript: mpgPopClose();'></a>";*@
@ -176,15 +179,24 @@
++displayCnt;
if (d.quota != 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>");
}
else {
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("수강신청");
//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>");
}
else {
if (cshape == 2) {
li.append("<label> ※ 이미 <label style='color: red'>집체7시간을 참석하신 분들은</label> 변경한 교육종료일까지 부족한 수료조건을 만족하시면 됩니다. <label style='color: red'>(집체교육 재 참석 없음)</label></label><br><br><br>");
}
//spanApplyClass.text("수강신청");
//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>");

View File

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

View File

@ -415,7 +415,7 @@
.mpgPop {position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.7); z-index:100;}
.mpgPop > div {display:table; width:100%; height:100%;}
.mpgPop > div > div {display:table-cell; width:100%; vertical-align:middle;}
.mpgPopWrap {width:100%;max-width:500px; max-height:100%; margin:0 auto; background:#fff; position:relative;}
.mpgPopWrap {width: 100%;height: 100%;max-width: 600px;max-height: 450px;margin: 0 auto;background: #fff;position: relative;}
.mpgPopWrap.wdth430 {max-width:430px;}
.mpgPopWrap.wdth580 {max-width:580px;}
.mpgPopWrap.wdth650 {max-width:650px;}

View File

@ -57,13 +57,13 @@ $(document).ready(function () {
$('#mpgtmbBtn').removeClass('on');
$('html, body').removeClass('lock');
});
//2022083 교육유형별로 처리
$(".gocroom").on("click", function () {
var href = $(this).data("href") || this.href;
var complete = $(this).data("complete");
var cshape = $(this).data("cshape");
if (complete != undefined && complete == 0)
if (complete != undefined && complete == 0 && cshape==2)
{
/*
msg("해당 과정은 <span style='color:red;'>미 수료 상태 입니다.</span></br>" +
@ -74,18 +74,26 @@ $(document).ready(function () {
*/
$("#bglayer, #layermessage").show();
let msg = '<div>해당 과정은 <span style="color:red;">미수료 상태입니다.</span><br>교육일정변경 메뉴에서 <span style="">교육일정을 변경 해주세요.</span><br><br>'
/*let msg = '<div> <span style="color:red;"> .</span><br> <span style=""> .</span><br><br>'
msg += '<span style="color:red;">단, 수료처리일이 지나지 않은 분들은 잠시 기다려주시기 바랍니다.</span><br>'
msg += '수료처리일 : 교육종료일 다음날 오후 3시 이후 (평일기준)<br><br>※ 미 수료 상태로 교육시작일 이후 <span style="color:red;">1년 경과 시 교육이 취소되어 일정변경이 불가합니다.</span>'
msg += '<br>※ 확인 클릭 시 교육일정변경 메뉴로 이동합니다.</div>'
msg += '<div><a href="#" class="mainokbutton" onclick="javascript:hidelayermsg();" style="display: inline-block;margin: 20px 5px 0 5px;">취소</a>'
msg += '<a href="#" class="mainokbutton" onclick="javascript:location.href=\'/My/LectureOn\';" style="display: inline-block;margin: 20px 5px 0 5px;">확인</a></div>'
msg += '<a href="#" class="mainokbutton" onclick="javascript:location.href=\'/My/LectureOn\';" style="display: inline-block;margin: 20px 5px 0 5px;">확인</a></div>'*/
let msg = '<div><span style="font-size:25px">해당 과정은 <span style="color:red;">교육종료일</span>이 지난 과정입니다.</span><br><br><br>'
msg += '- 수료조건을 만족한 경우 : 수료처리 중이므로 잠시 기다려 주시기 바랍니다.<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 += '<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>'
$("#layermessage").html(msg)
return false;
}
if (href != undefined && href != null && href.toLowerCase().indexOf("croom/index?croomlectno=") != -1) {
var cshape = $(this).data("cshape");
if (cshape != undefined && cshape == 1) {
msg("해당 과정은 <span style='color: red;'>교육장에 직접 오셔서 수강</span>하는 과정 입니다.</br>" +
"교육기간을 확인하시고 시작일에 해당 교육장으로 입교 부탁 드립니다.");

View File

@ -1117,6 +1117,10 @@ namespace NP.Model
public int cut { get; set; }
public DateTime payoktime { get; set; }
public DateTime? stime { get; set; }
public String stimestr
{
get { return stime != null && istatus == 2? Convert.ToDateTime(stime).ToShortDateString() : "-"; }
}
public DateTime? etime { get; set; }
public DateTime? sdate { get; set; }
public String sdateymd
@ -1324,6 +1328,7 @@ namespace NP.Model
public int statecode { get; set; }
public DateTime paycdt { get; set; }
public int sseq { get; set; }
public String sseqstr { get { return cshape == 2 ? sseq.ToString() : "-"; } }
public String sseqname
{
get