관리자>교육운영>성적처리

(수료처리 버튼명칭을 ‘수료확인’ 으로 바꾸고, 클릭시 수료조건을 검사하여 충족시 수료처리. 미충족시 미수료처리.
수료된 인원도 강좌설정에서 조건을 바꾸면 수료 → 미수료 로 변경)"
수료취소 : lect -> iscomplete = 0, completetime = null , completeno 변경없음
수료완료 : lect -> iscomplete = 1, completetime = 온라인 now / 오프라인 cm.setime / 혼합 cminningscd.eend, completeno null 일때만 신규 completeno로 업데이트
This commit is contained in:
lch 2021-06-28 08:16:10 +00:00
parent 13755be469
commit 303b9dbcff
4 changed files with 35 additions and 18 deletions

View File

@ -69,7 +69,7 @@
   
@if (Model.IsAdmin)
{
<a href="#" class="btn btn-primary" onclick="save();">수료처리</a>
<a href="#" class="btn btn-primary" onclick="save();">수료확인</a>
if (!ViewBag.IsSubAdmin96)
{
<a href="#" class="btn btn-danger" onclick="save2();">강제수료처리</a>
@ -189,7 +189,7 @@
}
function cbsave() {
if (capResult.code == 1000) {
msgf(capResult.obj + "건을 수료 처리했습니다.", "submit('mform', 0, true)");
msgf(capResult.obj.completecount + "건을 수료, " + capResult.obj.cancelcount + "건을 미수료 처리했습니다.", "submit('mform', 0, true)");
} else {
msgdev();
}

View File

@ -392,18 +392,28 @@ namespace NP.Base.Controllers
}
lectnos = string.Join(",", Dao.Get<Lect>("grade.nocompletelectcm", cmnos).Select(s => s.lectno));
}
var Lects2 = Dao.Get<Lect>("grade.nocompletelect", lectnos).Where(w => w.iscomplete != 1 && lectnos.Contains(w.lectno.ToString())).ToList();
if (Lects2.Count() > 0)
var lects = Dao.Get<Lect>("grade.nocompletelect", lectnos).Where(w => lectnos.Contains(w.lectno.ToString()));
var completecount = 0;
var cancelcount = 0;
foreach (var lect in lects)
{
lectnos = string.Join(",", Lects2.Select(s => s.lectno));
var data2 = new Lect() { uno = SUserInfo.UserNo, uip = GetUserIP(), cmno = Convert.ToInt32(cmno), cmnos = cmnos, lectnos = lectnos };
return JsonOK(Dao.Save("grade.lectcomplete2", new Hashtable() { { "cmno", cmno }, { "cmnos", cmnos }, { "lectnos", lectnos }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }));
var ispass = Dao.Get<Lect>("grade.ispass", new Hashtable() { { "lectno", lect.lectno } }).FirstOrDefault().ispass;
if (ispass == 1)
{
if (lect.iscomplete == 0)
{
completecount += Dao.Save("grade.lectcomplete2", new Hashtable() { { "lectno", lect.lectno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } });
}
}
else
{
if (lect.iscomplete == 1)
{
cancelcount += Dao.Save("grade.lectcomplete.cancel", new Hashtable() { { "lectno", lect.lectno }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } });
}
}
}
else
{
return JsonBack(new JsonRtn() { code = 1, msg = "이미 수료된 데이터는 다시 수료할 수 없습니다." });
}
//return JsonOK(Dao.Save("grade.lectcomplete", new Hashtable() { { "cmno", cmno }, { "cmnos", cmnos }, { "lectnos", lectnos }, { "uno", SUserInfo.UserNo }, { "uip", GetUserIP() } }));
return JsonBack(new JsonRtn() { code = 1000, msg = "OK", obj = new { completecount , cancelcount } });
}
[HttpPost]
public JsonResult CMInningGetForOff(Int64 cmino)

View File

@ -1583,9 +1583,9 @@
<isNotNull property="birthday">,birthday=HEX(AES_ENCRYPT(#birthday#, <include refid="sql.digest"></include>))</isNotNull>
where userno=#userno#;
update lect
set <include refid="sql.up"></include>
<isNotNull property="iscomplete">,iscomplete=#iscomplete#</isNotNull>
update lect
set <include refid="sql.up"></include>
<isNotNull property="iscomplete" compareValue="0" >,iscomplete=#iscomplete#,completetime=null</isNotNull>
<isNotNull property="sdate">,sdate=#sdate#</isNotNull>
<isNotNull property="edate">,edate=#edate#</isNotNull>
where lectno=#lectno# and userno=#userno#;

View File

@ -351,7 +351,7 @@
,l.uip= #uip#
,l.iscomplete=1
,l.completetime=b.completetime
,l.completeno = b.completeno
,l.completeno = case when l.completeno is not null then l.completeno else b.completeno end
where l.lectno = b.lectno
</update>
<update id="grade.lectcomplete2" parameterClass="hashtable">
@ -405,8 +405,8 @@
,a.spoint=b.spoint
,a.dpoint=b.dpoint
,a.tpoint=b.apoint+b.mpoint+b.fpoint+b.spoint+b.dpoint
,a.completetime = case when b.ispass = 1 then <include refid="sql.now"></include> else null end
,a.completeno = case when b.ispass = 1 then c.completeno else null end
,a.completetime = case when b.ispass = 1 then c.completetime else null end
,a.completeno = case when a.completeno is not null then a.completeno else case when b.ispass = 1 then c.completeno else null end end
where a.status=1 and a.ischanged=0 and a.lectno = c.lectno
<isNotNull property="cmno">and a.cmno = #cmno#</isNotNull>
@ -414,6 +414,13 @@
<isNotNull property="cmnos">and a.cmno in ($cmnos$)</isNotNull>
<isNotNull property="lectnos">and a.lectno in ($lectnos$)</isNotNull>
</update>
<update id="grade.lectcomplete.cancel" parameterClass="hashtable">
update lect
set <include refid="sql.up"></include>
,iscomplete=0
,completetime=null
where lectno=#lectno#
</update>
<select id ="grade.nocompletelect" parameterClass="string" resultClass="lect">
select distinct c.lectno , b.cmno
,case when c.iscomplete = 1 then 1 else 0 end iscomplete