<이슈처리 - 성적처리(전체)_진도율 팝업>
1. 진도율 클릭 > 개인별 출결 이력 1) 운영에서 속도저하로 인한 404 오류 2. FO 로컬 설정 변경 # 해결방안 1. 출결 이력에서 불필요 쿼리 (lect.pagelogs) 조회 제거 # 커밋 파일 BO\Controllers\croomController.cs BO\Views\croom/atts.cshtml Dao\Mybatis\Maps\Lect.xml FO\FO.csproj # 테스트 결과 - 이상없음 # 특이사항 및 이슈사항 - 이상없음
This commit is contained in:
parent
397eef9e2f
commit
59c13bcbe4
|
|
@ -759,24 +759,13 @@ namespace NP.BO.Controllers
|
|||
|
||||
public ActionResult atts(VMLect vm)
|
||||
{
|
||||
vm.pagerowcount = 10; // 한 페이지에 보이는 로우 수
|
||||
|
||||
var ht = SetHash(vm);
|
||||
|
||||
vm.Lect = Dao.Get<Lect>("lect.lects", new System.Collections.Hashtable() { { "lectno", vm.longval } }).First();
|
||||
|
||||
ht.Add("lectno", vm.Lect.lectno);
|
||||
ht.Add("isscd", 0);
|
||||
|
||||
//vm.LectInningPages = Dao.Get<LectInningPage>("lect.lectinningpages", new System.Collections.Hashtable() { { "lectno", vm.Lect.lectno },{"isscd", 0} });
|
||||
vm.LectInningPages = Dao.Get<LectInningPage>("lect.lectinningpages", ht);
|
||||
|
||||
vm.pagetotalcount = GetCount(vm.LectInningPages.FirstOrDefault());
|
||||
vm.LectInningPages = Dao.Get<LectInningPage>("lect.lectinningpages", new System.Collections.Hashtable() { { "lectno", vm.Lect.lectno },{"isscd", 0} });
|
||||
|
||||
// [이슈_602 / 박상완] 활동이력 탭에서 '검색' 시 데이터 로드 할 수 있도록 변경
|
||||
// 파라미터 userno 를 -1으로 변경
|
||||
vm.PageLogs = Dao.Get<PageLog>("lect.pagelogs", new System.Collections.Hashtable() { { "start", vm.Lect.sstime }, { "end", vm.Lect.setime.Value.ToString("yyyy-MM-dd 23:59:59") }, { "userno", -1 }, { "logsite", 1 } });
|
||||
|
||||
// [이슈 404 오류] 첫 페이지 조회시 쿼리문 조회 불필요
|
||||
//vm.PageLogs = Dao.Get<PageLog>("lect.pagelogs", new System.Collections.Hashtable() { { "start", vm.Lect.sstime }, { "end", vm.Lect.setime.Value.ToString("yyyy-MM-dd 23:59:59") }, { "userno", -1 }, { "logsite", 1 } });
|
||||
|
||||
// [이슈_602 / 박상완] YYYY-MM-DD 로 검색하는 부분을 조회일 하루로 기본값 부탁드립니다. 예) 오늘 조회 시 : 2021-12-27 ~ 2021-12-27
|
||||
vm.Lect.sstime = DateTime.Now; // (검색) 시작일 - 현재시간
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
@{ Layout = "~/Views/Shared/_PopupLayout.cshtml";}
|
||||
<ul class="pagination pagination-md">
|
||||
<li class="active"><a href="#" onclick="gotab(0);" data-toggle="tab">출결이력</a></li>
|
||||
<li><a href="#" onclick="gotab(1);" data-toggle="tab">활동이력</a></li>
|
||||
<li style="display:none;"><a href="#" onclick="gotab(1);" data-toggle="tab">활동이력</a></li>
|
||||
</ul>
|
||||
<table class="regtable" style="margin-top: 0;">
|
||||
<colgroup><col width="100" /><col width="300" /><col width="100" /><col /></colgroup>
|
||||
|
|
@ -26,77 +26,73 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody class="data" id="tbody1">
|
||||
@foreach (var iseq in Model.LectInningPages.Select(s => s.iseq).Distinct())
|
||||
{
|
||||
var inning = Model.LectInningPages.Where(w => w.iseq == iseq).First();
|
||||
<tr data-cmino="@inning.cmino" data-cpno="@inning.cpno">
|
||||
<td>@inning.iseq</td>
|
||||
<td>@inning.isonlinename2</td>
|
||||
<td>@inning.ititle</td>
|
||||
<td>@inning.atimename</td>
|
||||
<td class="@(inning.isonline==1 && inning.istatus != null ?"link":"") text-center">
|
||||
@if (inning.isonline == 1 && inning.istatus != null@*&& inning.cpno > 0*@)
|
||||
@foreach(var iseq in Model.LectInningPages.Select(s=>s.iseq).Distinct())
|
||||
{
|
||||
<a href="#" onclick="viewpage(@inning.cmino, this)">@inning.litotstudymin 분 <i class="fa fa-level-down"></i></a>
|
||||
}
|
||||
else
|
||||
{
|
||||
@:-
|
||||
}
|
||||
</td>
|
||||
<td>@inning.listimeymdhms<br />@string.Format("({0}|{1})", inning.liispcsname, inning.lisips)</td>
|
||||
<td>@inning.lietimeymdhms<br />@string.Format("({0})", inning.lieips)</td>
|
||||
<td>
|
||||
@if (inning.isonline == 1 && ((inning.istatus == 0 || inning.istatus == 1) || (inning.istatus == 2 && inning.statustime != null)))
|
||||
var inning = Model.LectInningPages.Where(w => w.iseq == iseq).First();
|
||||
<tr data-cmino="@inning.cmino" data-cpno="@inning.cpno">
|
||||
<td>@inning.iseq</td>
|
||||
<td>@inning.isonlinename2</td>
|
||||
<td>@inning.ititle</td>
|
||||
<td>@inning.atimename</td>
|
||||
<td class="@(inning.isonline==1 && inning.istatus != null ?"link":"") text-center">
|
||||
@if (inning.isonline == 1 && inning.istatus != null @*&& inning.cpno > 0*@)
|
||||
{
|
||||
<a href="#" onclick="viewpage(@inning.cmino, this)">@inning.litotstudymin 분 <i class="fa fa-level-down"></i></a>
|
||||
}
|
||||
else
|
||||
{
|
||||
@:-
|
||||
}
|
||||
</td>
|
||||
<td>@inning.listimeymdhms<br />@string.Format("({0}|{1})", inning.liispcsname, inning.lisips)</td>
|
||||
<td>@inning.lietimeymdhms<br />@string.Format("({0})", inning.lieips)</td>
|
||||
<td>
|
||||
@if (inning.isonline == 1 && ((inning.istatus == 0 || inning.istatus == 1) || (inning.istatus==2 && inning.statustime != null)))
|
||||
{
|
||||
<a href="#" class="link" style="color: #0094ff; text-decoration: underline;" onclick="viewabs(@inning.lectno, @inning.cmino, @inning.istatus, '@inning.statususername', '@inning.statususerid', '@inning.statustimename', '@((inning.statusreason??"").Replace("\n","newline"))')">@inning.istatusname</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
@inning.istatusname
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
if (inning.isonline == 1 && inning.istatus != null/* && inning.cpno > 0*/)
|
||||
{
|
||||
var innings = Model.LectInningPages.Where(w => w.iseq == iseq);
|
||||
<tr class="trpage hide trpage@(inning.cmino)">
|
||||
<td colspan="4"> </td>
|
||||
<td>
|
||||
<ul>
|
||||
@foreach (var d in innings)
|
||||
{
|
||||
<a href="#" class="link" style="color: #0094ff; text-decoration: underline;" onclick="viewabs(@inning.lectno, @inning.cmino, @inning.istatus, '@inning.statususername', '@inning.statususerid', '@inning.statustimename', '@((inning.statusreason??"").Replace("\n","newline"))')">@inning.istatusname</a>
|
||||
<li>@string.Format("{0}분 ({1})", d.totstudymin, d.pseqname)</li>
|
||||
}
|
||||
else
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<ul>
|
||||
@foreach (var d in innings)
|
||||
{
|
||||
@inning.istatusname
|
||||
<li>@d.stimeymdhms<br />@string.Format("({0}|{1})", d.ispcsname, d.sip)</li>
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
if (inning.isonline == 1 && inning.istatus != null/* && inning.cpno > 0*/)
|
||||
{
|
||||
var innings = Model.LectInningPages.Where(w => w.iseq == iseq);
|
||||
<tr class="trpage hide trpage@(inning.cmino)">
|
||||
<td colspan="4"> </td>
|
||||
<td>
|
||||
<ul>
|
||||
@foreach (var d in innings)
|
||||
{
|
||||
<li>@string.Format("{0}분 ({1})", d.totstudymin, d.pseqname)</li>
|
||||
}
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<ul>
|
||||
@foreach (var d in innings)
|
||||
{
|
||||
<li>@d.stimeymdhms<br />@string.Format("({0}|{1})", d.ispcsname, d.sip)</li>
|
||||
}
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<ul>
|
||||
@foreach (var d in innings)
|
||||
{
|
||||
<li>@d.etimeymdhms<br />@string.Format("({0})", d.eip)</li>
|
||||
}
|
||||
</ul>
|
||||
</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<ul>
|
||||
@foreach (var d in innings)
|
||||
{
|
||||
<li>@d.etimeymdhms<br />@string.Format("({0})", d.eip)</li>
|
||||
}
|
||||
</ul>
|
||||
</td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
}
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<form id="mform" method="post">
|
||||
@Html.Pager((int)Model.pagenum, 10, Model.pagerowcount, Model.pagetotalcount)
|
||||
</form>
|
||||
</section>
|
||||
</div>
|
||||
<div id="tab1" style="display: none;">
|
||||
|
|
@ -117,14 +113,7 @@ else
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbody2">
|
||||
@foreach(var d in Model.PageLogs)
|
||||
{
|
||||
<tr>
|
||||
<td>@d.cdtymdhm</td>
|
||||
<td>@d.uip</td>
|
||||
<td class="text-left">@d.loginfo</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -759,33 +759,27 @@
|
|||
order by u.username
|
||||
</select>
|
||||
<select id="lect.lectinningpages" parameterClass="hashtable" resultClass="lectinningpage">
|
||||
select *
|
||||
from (
|
||||
select a.lectno,b.cmino,d.logno,f.sstime,f.setime
|
||||
,b.iseq,b.isonline,b.ititle,b.atime
|
||||
,c.istatus,c.totstudy litotstudy,c.stime listime,c.etime lietime,c.sip lisip,c.eip lieip,c.ispcs liispcs,c.ispce liispce
|
||||
,c.statustime,c.statusreason,c.statususerno,cu.username statususername,cu.userid statususerid
|
||||
,d.totstudy,d.stime,d.etime,d.sip,d.eip,d.ispc,d.ispc ispcs,d.webkitinfo
|
||||
,e.pseq,e.cpno
|
||||
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">b.iseq,d.stime</isNull>) rno
|
||||
,count(b.cmino) over() pagetotalcount
|
||||
from lect a
|
||||
inner join cminning b on b.cmno=a.cmno
|
||||
inner join cm f on f.cmno=a.cmno
|
||||
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino
|
||||
left outer join users cu on cu.userno=c.statususerno
|
||||
left outer join lectinningpage d on d.lectno=c.lectno and d.cmino=c.cmino
|
||||
left outer join ctpage e on e.cpno=d.cpno
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="lectno" prepend="and">a.lectno=#lectno#</isNotNull>
|
||||
<isNotNull property="userno" prepend="and">a.userno=#userno#</isNotNull>
|
||||
<isNotNull property="isscd" prepend="and">ifnull(b.isscd,0)=#isscd#</isNotNull>
|
||||
</dynamic>
|
||||
order by b.iseq,d.stime
|
||||
) gp
|
||||
<include refid="sql.pagedynamic"></include>
|
||||
order by gp.rno
|
||||
select a.lectno,b.cmino,d.logno,f.sstime,f.setime
|
||||
,b.iseq,b.isonline,b.ititle,b.atime
|
||||
,c.istatus,c.totstudy litotstudy,c.stime listime,c.etime lietime,c.sip lisip,c.eip lieip,c.ispcs liispcs,c.ispce liispce
|
||||
,c.statustime,c.statusreason,c.statususerno,cu.username statususername,cu.userid statususerid
|
||||
,d.totstudy,d.stime,d.etime,d.sip,d.eip,d.ispc,d.ispc ispcs,d.webkitinfo
|
||||
,e.pseq,e.cpno
|
||||
from lect a
|
||||
inner join cminning b on b.cmno=a.cmno
|
||||
inner join cm f on f.cmno=a.cmno
|
||||
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino
|
||||
left outer join users cu on cu.userno=c.statususerno
|
||||
left outer join lectinningpage d on d.lectno=c.lectno and d.cmino=c.cmino
|
||||
left outer join ctpage e on e.cpno=d.cpno
|
||||
<dynamic prepend="where">
|
||||
<isNotNull property="lectno" prepend="and">a.lectno=#lectno#</isNotNull>
|
||||
<isNotNull property="userno" prepend="and">a.userno=#userno#</isNotNull>
|
||||
<isNotNull property="isscd" prepend="and">ifnull(b.isscd,0)=#isscd#</isNotNull>
|
||||
</dynamic>
|
||||
order by b.iseq,d.stime
|
||||
</select>
|
||||
|
||||
<select id="lect.pagelogs" parameterClass="hashtable" resultClass="pagelog">
|
||||
select a.cdt,a.uip,b.pagename,a.loginfo
|
||||
from pagelog a
|
||||
|
|
|
|||
Loading…
Reference in New Issue