2020-10-12 14:39:23 +09:00
<?xml version="1.0" encoding="utf-8"?>
<sqlMap xmlns= "http://ibatis.apache.org/mapping" xmlns:xsi= "http://www.w3.org/tr/xmlschema-1/" namespace= "" >
<alias >
<typeAlias alias= "lect" type= "NP.Model.Lect, NP.Model" />
<typeAlias alias= "scdlect" type= "NP.Model.SCDLect, NP.Model" />
<typeAlias alias= "lectrs" type= "NP.Model.LectRS, NP.Model" />
<typeAlias alias= "edub2b" type= "NP.Model.EduB2B, NP.Model" />
<typeAlias alias= "lectinning" type= "NP.Model.LectInning, NP.Model" />
<typeAlias alias= "lectinningpage" type= "NP.Model.LectInningPage, NP.Model" />
<typeAlias alias= "pagelog" type= "NP.Model.PageLog, NP.Model" />
<typeAlias alias= "lectex" type= "NP.Model.LectEX, NP.Model" />
<typeAlias alias= "lectexq" type= "NP.Model.LectEXQ, NP.Model" />
<typeAlias alias= "lectsd" type= "NP.Model.LectSD, NP.Model" />
<typeAlias alias= "lectsdboard" type= "NP.Model.LectSDBoard, NP.Model" />
<typeAlias alias= "exam" type= "NP.Model.Exam, NP.Model" />
<typeAlias alias= "examuser" type= "NP.Model.ExamUser, NP.Model" />
<typeAlias alias= "examuserrenew" type= "NP.Model.ExamUserRenew, NP.Model" />
</alias>
<cacheModels >
<cacheModel id= "lectCache" implementation= "LRU" >
<flushInterval hours= "1" />
<property name= "CacheSize" value= "1000" />
</cacheModel>
</cacheModels>
<resultMaps > </resultMaps>
<statements >
<select id= "lect.lects.my" parameterClass= "hashtable" resultClass= "lect" >
select a.*
from (
select a.lectno,a.cmno,a.payno,a.pino,a.userno,a.status,a.iscomplete,a.isrebate,a.cdt
,pi.pstatus,pi.rstatus
,b.cname,b.classno,b.studytime,b.sstime,b.setime
,bc.refcode
,cg.cgname
,pcg.cgcode pcgcode
,c.tyear,c.tseq
2020-11-11 16:26:18 +09:00
,u.username,u.uduty
2020-10-12 14:39:23 +09:00
,case when uc.cname = '기타' then u.ccpositionetc else uc.cname end ccpositionname
,ua.asname
,row_number() over(order by <isNotNull property= "orderby" > $orderby$</isNotNull> <isNull property= "orderby" > a.cdt desc</isNull> ) rno
,count(a.cdt) over() pagetotalcount
from lect a
left outer join payitem pi on pi.pino=a.pino
inner join cm b on b.cmno=a.cmno
left outer join comcode bc on bc.ccode=b.certgradecc
inner join cg cg on cg.cgno=b.cgno
inner join cg pcg on pcg.cgno=cg.pcgno
inner join term c on c.tmno=b.tmno
inner join users u on u.userno=a.userno
left outer join comcode uc on uc.ccode=u.ccposition
left outer join assign ua on ua.asno=u.asno
where a.ischanged=0
<isNotNull property= "lectno" > and a.lectno=#lectno#</isNotNull>
<isNotNull property= "userno" > and a.userno=#userno#</isNotNull>
) a
<include refid= "sql.pagedynamic" > </include>
order by a.rno
</select>
<select id= "lect.check.lectinning.hascminning" parameterClass= "hashtable" resultClass= "long" >
select a.lectno
from lect a
inner join lectinning b on b.lectno=a.lectno
<dynamic prepend= "where" >
<isNotNull property= "cmno" prepend= "and" > a.cmno=#cmno#</isNotNull>
</dynamic>
limit 1
</select>
<select id= "lect.check.count" parameterClass= "hashtable" resultClass= "int" >
select count(a.lectno)
from lect a
<dynamic prepend= "where" >
<isNotNull property= "cmno" prepend= "and" > a.cmno=#cmno#</isNotNull>
<isNotNull property= "status" prepend= "and" > a.status in (1,2,3,4)</isNotNull>
<isNotNull property= "ispc" prepend= "and" > a.ispc=#ispc#</isNotNull>
</dynamic>
</select>
<select id= "lect.users" parameterClass= "hashtable" resultClass= "lect" >
select a.lectno,a.cmno,a.payno,a.pino,a.userno,a.status,a.iscomplete,a.orgcmno,a.attrate,a.isrebate,a.ispc
,b.username,b.isacceptemail
,CAST(AES_DECRYPT(UNHEX(b.email), <include refid= "sql.digest" > </include> ) AS char) email
,CAST(AES_DECRYPT(UNHEX(b.mobile), <include refid= "sql.digest" > </include> ) AS char) mobile
from lect a
inner join users b on b.userno=a.userno and b.status=1
<dynamic prepend= "where" >
<isNotNull property= "cmno" prepend= "and" > a.cmno=#cmno#</isNotNull>
<isNotNull property= "status" prepend= "and" > a.status=#status#</isNotNull>
</dynamic>
order by b.username
</select>
<select id= "lect.cms" parameterClass= "hashtable" resultClass= "cm" >
2021-01-19 15:57:17 +09:00
select
2021-03-16 16:29:36 +09:00
a.cmno,c.tyear,c.tseq,d.cgname,b.quota,b.cshape,b.cname,b.classno,b.rstime,b.retime,b.sstime,b.setime,a.countlect,a.countstandby,a.rno,a.pagetotalcount,a.countnoresult,a.countfail,a.countcomplete,a.countsuccess,a.countstanbypay,a.countstanbydraw,a.countstanbyaccept,b.studydays,code.cname studyplacename
2020-12-28 16:13:14 +09:00
from (
2021-01-19 15:57:17 +09:00
select a.cmno,a.countlect,a.countstandby,a.rno,a.pagetotalcount,a.countnoresult,a.countfail,a.countcomplete,a.countsuccess,a.countstanbypay,a.countstanbydraw,a.countstanbyaccept
from (
select b.cmno,count(d.lectno) countlect
,sum(case when ifnull(d.isready,0) = 1 and d.status = 3 then 1 else 0 end) countstandby
,sum(case when d.iscomplete is null then 1 else 0 end) countnoresult
,sum(d.iscomplete) countcomplete
,sum(case when d.iscomplete=0 then 1 else 0 end) countfail
,row_number() over(order by <isNotNull property= "orderby" > $orderby$</isNotNull> <isNull property= "orderby" > case when b.retime < now() then 1 else 2 end,b.retime desc</isNull> ) rno
2020-10-12 14:39:23 +09:00
,sum(case when d.lectno is not null and p.pstatus=1 then 1 else 0 end) countsuccess
,sum(case when d.lectno is not null and p.pstatus=21 then 1 else 0 end) countstanbypay
,sum(case when d.lectno is not null and p.pstatus = 22 then 1 else 0 end) countstanbydraw
2020-12-28 16:13:14 +09:00
,sum(case when d.lectno is not null and p.pstatus = 55 then 1 else 0 end) countstanbyaccept
2020-10-12 14:39:23 +09:00
,count(a.cdt) over() pagetotalcount
from term a
inner join cm b on b.tmno=a.tmno <isNotNull property= "cshape" > and b.cshape=#cshape#</isNotNull> <isNotNull property= "cnamelike" > and b.cname like concat('%',#cnamelike#,'%')</isNotNull>
inner join cg c on c.cgno=b.cgno
<isNotNull property= "islect" >
2020-12-28 16:13:14 +09:00
left outer join lect d on d.cmno=b.cmno and (d.status < 5 or d.status = 6) and d.ischanged=0
2020-10-12 14:39:23 +09:00
left outer join users u on u.userno = d.userno
inner join payitem pi on pi.pino=d.pino
inner join pay p on p.payno=pi.payno
</isNotNull>
<isNull property= "islect" >
2020-12-28 16:13:14 +09:00
inner join lect d on d.cmno=b.cmno <isNotNull property= "status" > and d.status=#status#</isNotNull> and (d.status < 5 or d.status = 6) and d.ischanged=0
inner join payitem pi on pi.pino=d.pino
inner join pay p on p.payno=pi.payno
2020-10-12 14:39:23 +09:00
</isNull>
<isNotNull property= "profno" >
inner join cmprof pr on pr.cmno=b.cmno and pr.userno=#profno#
</isNotNull>
<dynamic prepend= "where" >
<isNotNull property= "tyear" prepend= "and" > a.tyear=#tyear#</isNotNull>
<isNotNull property= "tmno" prepend= "and" > a.tmno=#tmno#</isNotNull>
<isNotNull property= "islect" prepend= "and" > b.isdel=0 and (u.status in (1,99) or u.status is null)</isNotNull>
2021-03-26 14:07:12 +09:00
<!-- <isNotNull property="isallday" prepend="and">
2021-03-16 16:29:36 +09:00
date_format(b.retime,'%Y%m%d') = '20991231'
or
(
date_format(b.sstime,'%Y%m%d') > = date_format(#sstime#,'%Y%m%d')
and date_format(b.setime,'%Y%m%d') < = date_format(#setime#,'%Y%m%d')
)
2021-03-26 14:07:12 +09:00
</isNotNull> -->
<isNotNull property= "sstime" prepend= "and" >
date_format(b.sstime,'%Y%m%d') > = date_format(#sstime#,'%Y%m%d') or date_format(b.retime,'%Y%m%d') = '20991231'
</isNotNull>
<isNotNull property= "setime" prepend= "and" >
date_format(b.setime,'%Y%m%d') < = date_format(#setime#,'%Y%m%d') or date_format(b.retime,'%Y%m%d') = '20991231'
</isNotNull>
2020-10-12 14:39:23 +09:00
</dynamic>
group by b.cmno
<isNotNull property= "nocomplete" > having sum(d.iscomplete) < 1</isNotNull>
<isNotNull property= "hascomplete" > having sum(d.iscomplete) > 0</isNotNull>
2020-12-28 17:10:18 +09:00
<isNotNull property= "result" > having sum(case when d.iscomplete is not null then 1 else 0 end) > 0</isNotNull>
<isNotNull property= "noresult" > having sum(case when d.iscomplete is null then 1 else 0 end) > 0</isNotNull>
2020-10-12 14:39:23 +09:00
) a
<include refid= "sql.pagedynamic" > </include>
) a
inner join cm b on b.cmno=a.cmno
inner join term c on c.tmno=b.tmno
inner join cg d on d.cgno=b.cgno
2021-03-16 16:29:36 +09:00
left join comcode code on code.cgroup = 'studyplace' and code.ccode = b.studyplace
2020-10-12 14:39:23 +09:00
order by a.rno
</select>
<select id= "lect.lects" parameterClass= "hashtable" resultClass= "lect" >
2021-05-20 16:59:00 +09:00
select a.lectno,a.cdt,a.status,a.userno,a.oktime,a.cmisno,a.cmno
2020-10-12 14:39:23 +09:00
,af.fileurl,af.fileno,af.orgname
2021-03-18 11:25:04 +09:00
,f.asname,e.asno
2020-10-12 14:39:23 +09:00
,d.username cnoname,d.userid cnoid
2020-11-24 13:19:48 +09:00
,e.username,e.status ustatus,e.depart,e.userid,e.uduty
2020-10-12 14:39:23 +09:00
,e.kfcfyear,e.isassignuser,e.edus
,CAST(AES_DECRYPT(UNHEX(e.email), <include refid= "sql.digest" > </include> ) AS char) email
,CAST(AES_DECRYPT(UNHEX(e.mobile), <include refid= "sql.digest" > </include> ) AS char) mobile
,CAST(AES_DECRYPT(UNHEX(e.telno), <include refid= "sql.digest" > </include> ) AS char) telno
,cc.cname ccpositionname
,c.pstatus,c.payno,c.userno payuserno
,b.rstatus
2021-06-11 14:24:47 +09:00
,a2.rstime,a2.retime,a.sdate sstime,a.edate setime,a2.cshape,a2.studydays
2021-11-10 10:11:16 +09:00
,a.sdate,a.edate,a.isrebate,a.iscomplete
2021-05-20 16:59:00 +09:00
,scd.estart,scd.eend,scd.studyplace
2021-03-18 17:14:50 +09:00
,pp.typeman, pp.typeedu, pp.typegrade, pp.typejob, pp.pplno
2020-10-12 14:39:23 +09:00
,row_number() over(order by <isNotNull property= "orderby" > $orderby$</isNotNull> <isNull property= "orderby" > a.payno,a.pino</isNull> ) rno
,count(a.cdt) over() pagetotalcount
from lect a
inner join cm a2 on a2.cmno=a.cmno
left outer join fileinfo af on af.fgno=a.fgno and af.isdel=0
inner join payitem b on b.pino=a.pino
inner join pay c on c.payno=b.payno
<isNotNull property= "paystatusnotin" > and c.pstatus not in ($paystatusnotin$)</isNotNull>
<isNotNull property= "paystatus" > and c.pstatus=#paystatus#</isNotNull>
<isNotNull property= "rstatus" > and c.rstatus=#rstatus#</isNotNull>
inner join users d on d.userno=c.userno
inner join users e on e.userno=a.userno and e.status in (1,99)
left outer join comcode cc on cc.ccode=e.ccposition
left outer join assign f on f.asno=e.asno
left outer join payrfditem rfdi on rfdi.pino=a.pino
left outer join payrfd rfd on rfd.rfdno=rfdi.rfdno
2020-12-02 16:02:10 +09:00
left outer join cminningscd scd on a.cmisno = scd.cmisno
2021-03-18 16:04:58 +09:00
left outer join pplog pp on c.pplno = pp.pplno
2020-10-12 14:39:23 +09:00
where a.ischanged=0
2020-11-24 13:19:48 +09:00
<isNotNull property= "isready" prepend= "and" > ifnull(a.isready,0)=#isready#</isNotNull>
2020-10-12 14:39:23 +09:00
<isNotNull property= "lectno" prepend= "and" > a.lectno=#lectno#</isNotNull>
<isNotNull property= "cmno" prepend= "and" > a.cmno=#cmno#</isNotNull>
<isNotNull property= "status" prepend= "and" > a.status=#status#</isNotNull>
<isNotNull property= "statusin" prepend= "and" > a.status in ($statusin$)</isNotNull>
<isNotNull property= "refundcall" > and (rfd.rstatus = 0 and rfdi.rfdno is not null)</isNotNull>
2021-03-18 11:25:04 +09:00
<isNotNull property= "searchtext" prepend= "and" >
(d.username like concat('%', #searchtext#,'%')
or
d.userid like concat('%', #searchtext#,'%'))
</isNotNull>
2021-03-18 16:04:58 +09:00
<isNotNull property= "scdestart" prepend= "and" >
date_format(scd.estart,'%Y%m%d') = date_format(#scdestart#,'%Y%m%d')
</isNotNull>
2021-05-20 16:59:00 +09:00
<isNotNull property= "payno" prepend= "and" > a.payno=#payno#</isNotNull>
2020-10-12 14:39:23 +09:00
and (rfdi.rfdno is null or rfd.rfdno is not null)
order by rno
</select>
<select id= "lect.lects.att" parameterClass= "int" resultClass= "lect" >
select a.lectno,a.cdt,a.status
,p.pstatus,p.rstatus
,pu.username cnoname,pu.userid cnoid
2020-12-03 15:33:30 +09:00
,b.username,b.userid,b.uduty
2020-10-12 14:39:23 +09:00
,CAST(AES_DECRYPT(UNHEX(b.email), <include refid= "sql.digest" > </include> ) AS char) email
,CAST(AES_DECRYPT(UNHEX(b.mobile), <include refid= "sql.digest" > </include> ) AS char) mobile
,CAST(AES_DECRYPT(UNHEX(b.telno), <include refid= "sql.digest" > </include> ) AS char) telno
,b.depart,b.kfcfyear,b.isassignuser,b.edus
2020-12-03 15:33:30 +09:00
,(select cname from comcode com where com.ccode = pp.typeman) as typemanname
,(select cname from comcode com where com.ccode = pp.typeedu) as typeeduname
,(select cname from comcode com where com.ccode = pp.typegrade) as typegradename
,(select cname from comcode com where com.ccode = pp.typejob) as typejobname
,scd.estart,scd.eend
2020-10-12 14:39:23 +09:00
,cc.cname ccpositionname
,c.isjoin,c.asname
,row_number() over(order by b.username) rno
from lect a
inner join pay p on p.payno=a.payno
<isNotNull property= "paystatusnotin" > and p.pstatus not in ($paystatusnotin$)</isNotNull>
inner join users pu on pu.userno=p.userno
inner join users b on b.userno=a.userno <isNotNull property= "status" > and b.status=#status#</isNotNull>
left outer join comcode cc on cc.ccode=b.ccposition
left outer join assign c on c.asno=b.asno
2020-12-03 15:33:30 +09:00
left outer join pplog pp on p.pplno = pp.pplno
left outer join cminningscd scd on a.cmisno = scd.cmisno
2020-10-12 14:39:23 +09:00
where a.cmno=#cmno#
2020-11-24 13:19:48 +09:00
<isNotNull property= "isready" > and ifnull(a.isready,0) = #isready# </isNotNull>
2020-10-12 14:39:23 +09:00
<isNotNull property= "status" > and a.status < 5 and p.pstatus in (1,22 ) </isNotNull>
<isNotNull property= "statusin" prepend= "and" > a.status in ($statusin$)</isNotNull>
and a.ischanged=0
order by rno
</select>
2021-01-19 15:57:17 +09:00
<update id= "lect.sedate.change" parameterClass= "hashtable" >
update lect set <include refid= "sql.up" > </include> ,sdate =#sdate#,edate=#edate# where lectno=#lectno# and status = 1
</update>
2020-10-12 14:39:23 +09:00
<update id= "lect.status" parameterClass= "hashtable" >
update lect set <include refid= "sql.up" > </include> ,status=#status#,oktime=case when oktime is null and #status# = 4 and status< > 4 then now() else oktime end where lectno=#lectno# and status in (3,4,5);
<isGreaterThan property= "status" compareValue= "3" >
update pay a
inner join lect b on b.lectno=#lectno# and b.payno=a.payno and b.status in (4,5)
set a.pstatus=case when b.status = 4 then 21 else 52 end
where a.pstatus=51;
update payitem a
inner join lect b on b.lectno=#lectno# and b.pino=a.pino and b.status in (4,5)
set a.pstatus=case when b.status=4 then 21 else 52 end
where a.pstatus=51
</isGreaterThan>
</update>
2020-11-24 13:19:48 +09:00
<update id= "lect.status3" parameterClass= "hashtable" >
2020-11-25 10:30:03 +09:00
update lect set <include refid= "sql.up" > </include> ,status=#status#,oktime=case when oktime is null and #status# = 4 and status=6 then now() else oktime end where lectno=#lectno# and status in (4,5,6);
2020-11-24 13:19:48 +09:00
<isGreaterThan property= "status" compareValue= "3" >
2020-11-25 10:30:03 +09:00
<isLessThan property= "status" compareValue= "6" >
2020-11-24 13:19:48 +09:00
update pay a
inner join lect b on b.lectno=#lectno# and b.payno=a.payno and b.status in (4,5)
set a.pstatus=case when b.status = 4 then 21 else 52 end
where a.pstatus=55;
update payitem a
inner join lect b on b.lectno=#lectno# and b.pino=a.pino and b.status in (4,5)
set a.pstatus=case when b.status=4 then 21 else 52 end
where a.pstatus=55
2020-11-25 10:30:03 +09:00
</isLessThan>
2020-11-24 13:19:48 +09:00
</isGreaterThan>
</update>
<update id= "lect.status2" parameterClass= "hashtable" >
update lect set <include refid= "sql.up" > </include>
2020-11-25 10:30:03 +09:00
,status = #status#
,oktime = now()
where lectno in ($lectnos$) and status in (4,5,6);
2020-11-24 13:19:48 +09:00
update pay a
2020-11-25 10:30:03 +09:00
inner join lect b on b.lectno in ($lectnos$) and b.payno=a.payno and b.status in (4,5,6)
set a.pstatus=case when b.status = 6 then 55 when b.status = 4 then 21 else 52 end
2020-11-24 13:19:48 +09:00
where a.pstatus in (55, 21, 52);
update payitem a
2020-11-25 10:30:03 +09:00
inner join lect b on b.lectno in ($lectnos$) and b.pino=a.pino and b.status in (4,5,6)
set a.pstatus=case when b.status = 6 then 55 when b.status = 4 then 21 else 52 end
2020-11-24 13:19:48 +09:00
where a.pstatus in (55, 21, 52)
</update>
2020-10-12 14:39:23 +09:00
<select id= "lect.cmforchange" parameterClass= "int" resultClass= "cm" >
select b.cmno,b.cname,b.classno,b.cshape
,t.tyear,t.tseq
from cm a
inner join cm b on b.ismaster=0 and b.pcmno=a.pcmno and b.cmno < > #cmno# and b.setime is not null and b.setime > now() and b.isuse=1 and b.isdel=0
inner join term t on t.tmno=b.tmno
left outer join lect c on c.cmno=b.cmno and c.status in (1,3,4) and c.ischanged=0
where a.cmno=#cmno#
group by b.cmno,b.cname,b.classno,b.quota,b.cshape
,t.tyear,t.tseq
having b.quota = 0 or b.quota > count(c.lectno)
order by b.cname,b.classno,b.setime
</select>
<update id= "lect.lectchange" parameterClass= "hashtable" >
update lect set <include refid= "sql.up" > </include>
,ischanged=1
where lectno=#lectno#;
insert into lect (cmno,payno,pino,userno,status,iscomplete,orgcmno,attrate,isrebate,ispc,isjoin,fgno,ischanged,<include refid= "sql.inc" > </include> )
select #cmno#,payno,pino,userno,status,null,cmno,0,isrebate,ispc,isjoin,fgno,0,<include refid= "sql.inv" > </include>
from lect a
where a.lectno=#lectno#
</update>
<select id= "lect.scdlects" parameterClass= "hashtable" resultClass= "scdlect" >
2020-11-05 11:07:44 +09:00
select a.scdno,a.dday,a.dtime,a.istalk,a.isemail,a.issms,a.isuse
2020-10-12 14:39:23 +09:00
from scdlect a
order by a.scdno
</select>
<update id= "lect.scdlect.save" parameterClass= "scdlect" >
2020-11-05 11:07:44 +09:00
insert into scdlectlog (userno,scdno,dday,dtime,istalk,isemail,issms,isuse,<include refid= "sql.inc" > </include> )
select #uno#,scdno,dday,dtime,istalk,isemail,issms,isuse,<include refid= "sql.inv" > </include>
2020-10-12 14:39:23 +09:00
from scdlect;
update scdlect a
inner join (
2020-11-05 11:07:44 +09:00
<iterate property= "Ds" open= "" conjunction= "union all" close= "" > select #Ds[].scdno# scdno,#Ds[].dday# dday,#Ds[].dtime# dtime,#Ds[].istalk# istalk,#Ds[].isemail# isemail,#Ds[].issms# issms,#Ds[].isuse# isuse </iterate>
2020-10-12 14:39:23 +09:00
) b on b.scdno=a.scdno
2020-11-05 11:07:44 +09:00
set a.dday=b.dday,a.dtime=b.dtime,a.istalk=b.istalk,a.isemail=b.isemail,a.issms=b.issms,a.isuse=b.isuse,a.udt=<include refid= "sql.now" > </include> ,a.uno=#uno#,a.uip=#uip#;
2020-10-12 14:39:23 +09:00
2020-11-05 11:07:44 +09:00
insert into scdlect (scdno,dday,dtime,istalk,isemail,issms,isuse,<include refid= "sql.inc" > </include> )
select a.scdno,a.dday,a.dtime,a.istalk,a.isemail,a.issms,a.isuse,<include refid= "sql.inv" > </include>
2020-10-12 14:39:23 +09:00
from (
2020-11-05 11:07:44 +09:00
<iterate property= "Ds" open= "" conjunction= "union all" close= "" > select #Ds[].scdno# scdno,#Ds[].dday# dday,#Ds[].dtime# dtime,#Ds[].istalk# istalk,#Ds[].isemail# isemail,#Ds[].issms# issms,#Ds[].isuse# isuse </iterate>
2020-10-12 14:39:23 +09:00
) a
left outer join scdlect b on b.scdno=a.scdno
where b.scdno is null
</update>
2021-01-29 14:37:33 +09:00
<!-- <sql id="sql.encourages" parameterClass="hashtable" resultClass="scdlect">
2020-11-05 11:07:44 +09:00
select a.scdno,a.dday,a.istalk,a.isemail,a.issms
2020-10-13 16:10:18 +09:00
,d.userno,d.username
,b.cmno cmexno,b.cname,null stime
,CAST(AES_DECRYPT(UNHEX(d.email), <include refid= "sql.digest" > </include> ) AS char) email,CAST(AES_DECRYPT(UNHEX(d.mobile), <include refid= "sql.digest" > </include> ) AS char) mobile
,null place
2020-10-12 14:39:23 +09:00
from scdlect a
inner join cm b on b.ismaster=0 and date_format(b.setime,'%Y%m%d')=date_format(date_add(now(), interval a.dday day), '%Y%m%d') and b.cshape in (0,2) and b.isuse=1 and b.isdel=0
inner join lect c on c.cmno=b.cmno and c.attrate < 80 and c.status=1 and c.ischanged=0
inner join users d on d.userno=c.userno and d.status=1
where a.scdno < 3 and a.isuse=1 and a.dtime=#dtime#
union all
2020-11-05 11:07:44 +09:00
select a.scdno,a.dday,a.istalk,a.isemail,a.issms
2020-10-13 16:10:18 +09:00
,d.userno,d.username
,b.cmno cmexno,b.cname,null stime
,CAST(AES_DECRYPT(UNHEX(d.email), <include refid= "sql.digest" > </include> ) AS char) email,CAST(AES_DECRYPT(UNHEX(d.mobile), <include refid= "sql.digest" > </include> ) AS char) mobile
,null place
2020-10-12 14:39:23 +09:00
from scdlect a
inner join cm b on b.ismaster=0 and date_format(b.setime,'%Y%m%d')=date_format(date_add(now(), interval a.dday day), '%Y%m%d') and b.cshape in (0,2) and b.isuse=1 and b.isdel=0
inner join lect c on c.cmno=b.cmno and c.status=1 and c.ischanged=0
inner join users d on d.userno=c.userno and d.status=1
inner join cmex e on e.cmno=c.cmno and e.extype=case when a.scdno=3 then 0 else 1 end and e.isdel=0
left outer join lectex f on f.lectno=c.lectno and f.exno=e.exno
where a.scdno > 2 and a.scdno < 5 and a.isuse=1 and a.dtime=#dtime# and f.lectno is null
union all
2020-11-05 11:07:44 +09:00
select a.scdno,a.dday,a.istalk,a.isemail,a.issms
2020-10-13 16:10:18 +09:00
,d.userno,d.username
,b.cmno cmexno,b.cname,null stime
,CAST(AES_DECRYPT(UNHEX(d.email), <include refid= "sql.digest" > </include> ) AS char) email,CAST(AES_DECRYPT(UNHEX(d.mobile), <include refid= "sql.digest" > </include> ) AS char) mobile
,null place
2020-10-12 14:39:23 +09:00
from scdlect a
inner join cm b on b.ismaster=0 and date_format(b.setime,'%Y%m%d')=date_format(date_add(now(), interval a.dday day), '%Y%m%d') and b.cshape in (0,2) and b.isuse=1 and b.isdel=0
inner join lect c on c.cmno=b.cmno and c.status=1 and c.ischanged=0
inner join users d on d.userno=c.userno and d.status=1
inner join cmsd e on e.cmno=c.cmno and e.sdtype=0 and e.isdel=0
left outer join lectsd f on f.lectno=c.lectno and f.sdno=e.sdno
where a.scdno=5 and a.isuse=1 and a.dtime=#dtime# and f.lectno is null
union all
2020-11-05 11:07:44 +09:00
select a.scdno,a.dday,a.istalk,a.isemail,a.issms
2020-10-12 14:39:23 +09:00
,d.userno,d.username
2020-10-13 16:10:18 +09:00
,b.cmno cmexno,b.cname,null stime
,CAST(AES_DECRYPT(UNHEX(d.email), <include refid= "sql.digest" > </include> ) AS char) email,CAST(AES_DECRYPT(UNHEX(d.mobile), <include refid= "sql.digest" > </include> ) AS char) mobile
,null place
2020-10-12 14:39:23 +09:00
from scdlect a
inner join cm b on b.ismaster=0 and date_format(b.setime,'%Y%m%d')=date_format(date_add(now(), interval a.dday day), '%Y%m%d') and b.cshape in (0,2) and b.isuse=1 and b.isdel=0
inner join lect c on c.cmno=b.cmno and c.status=1 and c.ischanged=0
inner join users d on d.userno=c.userno and d.status=1
inner join cmsd e on e.cmno=c.cmno and e.sdtype=1 and e.isdel=0
left outer join lectsd f on f.lectno=c.lectno and f.sdno=e.sdno
where a.scdno=6 and a.isuse=1 and a.dtime=#dtime# and f.lectno is null
union all
2020-11-05 11:07:44 +09:00
select a.scdno,a.dday,a.istalk,a.isemail,a.issms
2020-10-13 16:10:18 +09:00
,d.userno,d.username
,b.cmno cmexno,b.cname,null stime
,CAST(AES_DECRYPT(UNHEX(d.email), <include refid= "sql.digest" > </include> ) AS char) email,CAST(AES_DECRYPT(UNHEX(d.mobile), <include refid= "sql.digest" > </include> ) AS char) mobile
,null place
2020-10-12 14:39:23 +09:00
from scdlect a
inner join cm b on b.ismaster=0 and date_format(b.setime,'%Y%m%d')=date_format(date_add(now(), interval a.dday day), '%Y%m%d') and b.cshape in (0,2) and b.isuse=1 and b.isdel=0
inner join lect c on c.cmno=b.cmno and c.status=1 and c.ischanged=0
inner join users d on d.userno=c.userno and d.status=1
inner join cmrs e on e.cmno=c.cmno and e.rstype=0 and e.isdel=0
left outer join lectrs f on f.lectno=c.lectno and f.rsno=e.rsno
where a.scdno=7 and a.isuse=1 and a.dtime=#dtime# and f.lectno is null
union all
2020-11-05 11:07:44 +09:00
select a.scdno,a.dday,a.istalk,a.isemail,a.issms
2020-10-13 16:10:18 +09:00
,d.userno,d.username
,b.cmno cmexno,b.cname,b.sstime
,CAST(AES_DECRYPT(UNHEX(d.email), <include refid= "sql.digest" > </include> ) AS char),CAST(AES_DECRYPT(UNHEX(d.mobile), <include refid= "sql.digest" > </include> ) AS char)
,bc.cname place
2020-10-12 14:39:23 +09:00
from scdlect a
inner join cm b on b.ismaster=0 and date_format(b.sstime,'%Y%m%d')=date_format(date_add(now(), interval a.dday day), '%Y%m%d') and b.cshape =1 and b.isuse=1 and b.isdel=0
2020-10-13 16:10:18 +09:00
left outer join comcode bc on bc.ccode=b.studyplace
2020-10-12 14:39:23 +09:00
inner join lect c on c.cmno=b.cmno and c.status=1 and c.ischanged=0
inner join users d on d.userno=c.userno and d.status=1
where a.scdno=8 and a.isuse=1 and a.dtime=#dtime#
union all
2020-11-05 11:07:44 +09:00
select a.scdno,a.dday,a.istalk,a.isemail,a.issms
2020-10-13 16:10:18 +09:00
,d.userno,d.username
,b.exno cmexno,b.exname cname,b.estime
,CAST(AES_DECRYPT(UNHEX(d.email), <include refid= "sql.digest" > </include> ) AS char),CAST(AES_DECRYPT(UNHEX(d.mobile), <include refid= "sql.digest" > </include> ) AS char)
,b.elocation place
2020-10-12 14:39:23 +09:00
from scdlect a
inner join exam b on date_format(b.estime,'%Y%m%d')=date_format(date_add(now(), interval a.dday day), '%Y%m%d') and b.isopen=1
inner join examuser c on c.exno=b.exno and c.status=1 and c.pstatus=1
inner join users d on d.userno=c.userno and d.status=1
where a.scdno=9 and a.isuse=1 and a.dtime=#dtime#
2021-01-29 14:37:33 +09:00
</sql> -->
<sql id= "sql.encourages" parameterClass= "hashtable" resultClass= "scdlect" >
select a.scdno,a.dday,a.istalk,a.isemail,a.issms
,d.userno,d.username
,b.cmno cmexno,b.cname,null stime
,null etime,null studyplace,null days
,CAST(AES_DECRYPT(UNHEX(d.email), <include refid= "sql.digest" > </include> ) AS char) email,CAST(AES_DECRYPT(UNHEX(d.mobile), <include refid= "sql.digest" > </include> ) AS char) mobile
from scdlect a
inner join cm b on b.ismaster=0 and b.cshape in (0,2) and b.isuse=1 and b.isdel=0
inner join lect c on c.cmno=b.cmno and c.attrate < 80 and c.status=1 and c.ischanged=0 and date_format(c.edate,'%Y%m%d')=date_format(date_add(now(), interval a.dday day), '%Y%m%d')
inner join users d on d.userno=c.userno and d.status=1
where a.scdno < 3 and a.isuse=1 and a.dtime=#dtime#
union all
select a.scdno,a.dday,a.istalk,a.isemail,a.issms
,d.userno,d.username
,b.cmno cmexno,b.cname,null stime
,null etime,null studyplace,null days
,CAST(AES_DECRYPT(UNHEX(d.email), <include refid= "sql.digest" > </include> ) AS char) email,CAST(AES_DECRYPT(UNHEX(d.mobile), <include refid= "sql.digest" > </include> ) AS char) mobile
from scdlect a
inner join cm b on b.ismaster=0 and b.cshape in (0,2) and b.isuse=1 and b.isdel=0
inner join lect c on c.cmno=b.cmno and c.status=1 and c.ischanged=0 and date_format(c.edate,'%Y%m%d')=date_format(date_add(now(), interval a.dday day), '%Y%m%d')
inner join users d on d.userno=c.userno and d.status=1
inner join cmex e on e.cmno=c.cmno and e.extype=case when a.scdno=3 then 0 else 1 end and e.isdel=0
left outer join lectex f on f.lectno=c.lectno and f.exno=e.exno
where a.scdno > 2 and a.scdno < 5 and a.isuse=1 and a.dtime=#dtime# and f.lectno is null
union all
select a.scdno,a.dday,a.istalk,a.isemail,a.issms
,d.userno,d.username
,b.cmno cmexno,b.cname,null stime
,null etime,null studyplace,null days
,CAST(AES_DECRYPT(UNHEX(d.email), <include refid= "sql.digest" > </include> ) AS char) email,CAST(AES_DECRYPT(UNHEX(d.mobile), <include refid= "sql.digest" > </include> ) AS char) mobile
from scdlect a
inner join cm b on b.ismaster=0 and b.cshape in (0,2) and b.isuse=1 and b.isdel=0
inner join lect c on c.cmno=b.cmno and c.status=1 and c.ischanged=0 and date_format(c.edate,'%Y%m%d')=date_format(date_add(now(), interval a.dday day), '%Y%m%d')
inner join users d on d.userno=c.userno and d.status=1
inner join cmsd e on e.cmno=c.cmno and e.sdtype=0 and e.isdel=0
left outer join lectsd f on f.lectno=c.lectno and f.sdno=e.sdno
where a.scdno=5 and a.isuse=1 and a.dtime=#dtime# and f.lectno is null
union all
select a.scdno,a.dday,a.istalk,a.isemail,a.issms
,d.userno,d.username
,b.cmno cmexno,b.cname,null stime
,null etime,null studyplace,null days
,CAST(AES_DECRYPT(UNHEX(d.email), <include refid= "sql.digest" > </include> ) AS char) email,CAST(AES_DECRYPT(UNHEX(d.mobile), <include refid= "sql.digest" > </include> ) AS char) mobile
from scdlect a
inner join cm b on b.ismaster=0 and b.cshape in (0,2) and b.isuse=1 and b.isdel=0
inner join lect c on c.cmno=b.cmno and c.status=1 and c.ischanged=0 and date_format(c.edate,'%Y%m%d')=date_format(date_add(now(), interval a.dday day), '%Y%m%d')
inner join users d on d.userno=c.userno and d.status=1
inner join cmsd e on e.cmno=c.cmno and e.sdtype=1 and e.isdel=0
left outer join lectsd f on f.lectno=c.lectno and f.sdno=e.sdno
where a.scdno=6 and a.isuse=1 and a.dtime=#dtime# and f.lectno is null
union all
select a.scdno,a.dday,a.istalk,a.isemail,a.issms
,d.userno,d.username
,b.cmno cmexno,b.cname,null stime
,null etime,null studyplace,null days
,CAST(AES_DECRYPT(UNHEX(d.email), <include refid= "sql.digest" > </include> ) AS char) email,CAST(AES_DECRYPT(UNHEX(d.mobile), <include refid= "sql.digest" > </include> ) AS char) mobile
from scdlect a
inner join cm b on b.ismaster=0 and b.cshape in (0,2) and b.isuse=1 and b.isdel=0
inner join lect c on c.cmno=b.cmno and c.status=1 and c.ischanged=0 and date_format(c.edate,'%Y%m%d')=date_format(date_add(now(), interval a.dday day), '%Y%m%d')
inner join users d on d.userno=c.userno and d.status=1
inner join cmrs e on e.cmno=c.cmno and e.rstype=0 and e.isdel=0
left outer join lectrs f on f.lectno=c.lectno and f.rsno=e.rsno
where a.scdno=7 and a.isuse=1 and a.dtime=#dtime# and f.lectno is null
union all
select a.scdno,a.dday,a.istalk,a.isemail,a.issms
,d.userno,d.username
,b.cmno cmexno,b.cname,c.sdate stime
,c.edate etime,b.studyplace,b.studytime days
,CAST(AES_DECRYPT(UNHEX(d.email), <include refid= "sql.digest" > </include> ) AS char),CAST(AES_DECRYPT(UNHEX(d.mobile), <include refid= "sql.digest" > </include> ) AS char)
from scdlect a
inner join cm b on b.ismaster=0 and b.cshape =1 and b.isuse=1 and b.isdel=0
inner join lect c on c.cmno=b.cmno and c.status=1 and c.ischanged=0 and date_format(c.sdate,'%Y%m%d')=date_format(date_add(now(), interval a.dday day), '%Y%m%d')
inner join users d on d.userno=c.userno and d.status=1
where a.scdno=8 and a.isuse=1 and a.dtime=#dtime#
union all
select a.scdno,a.dday,a.istalk,a.isemail,a.issms
,d.userno,d.username
,b.exno cmexno,b.exname cname,b.estime stime
,null etime,null studyplace,null days
,CAST(AES_DECRYPT(UNHEX(d.email), <include refid= "sql.digest" > </include> ) AS char),CAST(AES_DECRYPT(UNHEX(d.mobile), <include refid= "sql.digest" > </include> ) AS char)
from scdlect a
inner join exam b on date_format(b.estime,'%Y%m%d')=date_format(date_add(now(), interval a.dday day), '%Y%m%d') and b.isopen=1
inner join examuser c on c.exno=b.exno and c.status=1 and c.pstatus=1
inner join users d on d.userno=c.userno and d.status=1
where a.scdno=9 and a.isuse=1 and a.dtime=#dtime#
2020-10-12 14:39:23 +09:00
</sql>
<select id= "lect.encourages" parameterClass= "hashtable" resultClass= "scdlect" >
insert into alarms (userno,atime,scdno,cmexno,dday,isdel,<include refid= "sql.inc" > </include> )
select a.userno,<include refid= "sql.now" > </include> ,a.scdno,a.cmexno,a.dday,0,<include refid= "sql.inv" > </include>
from (
<include refid= "sql.encourages" > </include>
) a;
<include refid= "sql.encourages" > </include>
</select>
<select id= "lect.cmrss" parameterClass= "hashtable" resultClass= "cmrs" >
select a.*
from (
select a.*
,row_number() over(order by a.tyear desc,a.tseq,a.cname,a.classno ) rno
,count(a.cdt) over() pagetotalcount
from (
select d.rsno,b.cmno,a.tyear,a.tseq,c.cgname,b.cshape,b.cname,b.classno,b.sstime,b.setime,d.rstype
,count(distinct e.lectno) countlect,count(distinct f.lectno) countok,a.cdt
from term a
inner join cm b on b.ismaster=0 and b.tmno=a.tmno <isNotNull property= "cshape" > and b.cshape=#cshape#</isNotNull> <isNotNull property= "cnamelike" > and b.cname like concat('%',#cnamelike#,'%')</isNotNull>
inner join cg c on c.cgno=b.cgno
inner join cmrs d on d.cmno=b.cmno <isNotNull property= "rstype" > and d.rstype=#rstype#</isNotNull> and d.isdel=0
inner join lect e on e.cmno=d.cmno and e.status =1 and e.ischanged=0
left outer join lectrs f on f.lectno=e.lectno and f.rsno=d.rsno
<dynamic prepend= "where" >
<isNotNull property= "tyear" prepend= "and" > a.tyear=#tyear#</isNotNull>
<isNotNull property= "tmno" prepend= "and" > a.tmno=#tmno#</isNotNull>
</dynamic>
group by d.rsno,b.cmno,a.tyear,a.tseq,c.cgname,b.cshape,b.cname,b.classno,b.sstime,b.setime,d.rstype
) a
) a
<include refid= "sql.pagedynamic" > </include>
order by a.rno
</select>
<select id= "lect.cmrs" parameterClass= "int" resultClass= "cmrs" >
select a.rsno,a.rstype,a2.rscno,a2.rscname,b.cshape,b.cname,b.classno,b.rstime,b.retime,b.sstime,b.setime
,c.tyear,c.tseq
,count(distinct d.lectno) countlect,count(distinct e.lectno) countok
from cmrs a
inner join rsc a2 on a2.rscno=a.rscno
inner join cm b on b.cmno=a.cmno
inner join term c on c.tmno=b.tmno
inner join lect d on d.cmno=b.cmno and d.status=1 and d.ischanged=0
left outer join lectrs e on e.lectno=d.lectno and e.rsno=a.rsno
where a.rsno=#rsno#
group by a.rsno,a.rstype,a2.rscno,a2.rscname,b.cshape,b.cname,b.classno,b.rstime,b.retime,b.sstime,b.setime,c.tyear,c.tseq
</select>
<select id= "lect.cmrscqs" parameterClass= "int" resultClass= "rscq" >
select a.rsno
,b.rscqno
,c.qno,c.qtext,c.atype
,d.qino,d.qitext
,sum(case when concat(',',e.atext,',') like concat('%,',d.qino,',%') then 1 else 0 end) scount
,count(e.atext) acount
,group_concat(e.atext order by e.cdt separator '<![CDATA[<br />]]> ') atext
from cmrs a
inner join rscq b on b.rscno=a.rscno
inner join question c on c.qno=b.qno
left outer join questionitem d on d.qno=c.qno and d.isdel=0
left outer join lectrs e on e.rsno=a.rsno and e.rscqno=b.rscqno
where a.rsno=#rsno#
group by a.rsno
,b.rscqno
,c.qno,c.qtext,c.atype
,d.qino,d.qitext
order by b.dseq,b.qno,d.qino
</select>
<select id= "lect.rscq" parameterClass= "int" resultClass= "rscq" >
select a.rscqno,a.qno,q.atype,qi.qino,row_number() over(partition by qi.qno order by qi.qino) rno
from rscq a
inner join question q on q.qno=a.qno
left outer join questionitem qi on qi.qno=q.qno and qi.isdel=0
where a.rscno=#rscno#
order by a.dseq
</select>
<select id= "lect.lectrss" parameterClass= "int" resultClass= "lectrs" >
select a.rsno,b.lectno,c.rscno,c.rscqno,u.username,u.userid,uc.cname ccpositionname,b.isrebate,c.cdt,c.atext
from cmrs a
inner join lect b on b.cmno=a.cmno and b.status=1 and b.ischanged=0
inner join users u on u.userno=b.userno
left outer join assign ua on ua.asno=u.asno
left outer join comcode uc on uc.ccode=u.ccposition
inner join lectrs c on c.lectno=b.lectno and c.rsno=a.rsno
inner join rscq rq on rq.rscqno=c.rscqno
inner join question q on q.qno=rq.qno
where a.rsno=#rsno#
order by u.username,u.userno,rq.dseq,rq.rscqno
</select>
<select id= "lect.edub2bs" parameterClass= "hashtable" resultClass= "edub2b" >
select a.*
from (
select a.eduno,a.etype,a.userno,a.edate,a.esubject,a.etarget,a.ecount,a.eplace,a.ecomment,a.compname,a.ceoname,a.brno,a.addr,a.btype,a.bkind,a.manname
,CAST(AES_DECRYPT(UNHEX(a.email), <include refid= "sql.digest" > </include> ) AS char) email
,CAST(AES_DECRYPT(UNHEX(a.telno), <include refid= "sql.digest" > </include> ) AS char) telno
,a.fgno,a.cdt
,b.userid,b.username
,c.asname
,row_number() over(order by <isNotNull property= "orderby" > $orderby$</isNotNull> <isNull property= "orderby" > a.cdt desc</isNull> ) rno
,count(a.cdt) over() pagetotalcount
from edub2b a
inner join users b on b.userno=a.userno
left outer join assign c on c.asno=b.asno
<dynamic prepend= "where" >
<isNotNull property= "eduno" prepend= "and" > a.eduno=#eduno#</isNotNull>
</dynamic>
) a
<include refid= "sql.pagedynamic" > </include>
order by a.rno
</select>
<select id= "lect.checkuser" parameterClass= "hashtable" resultClass= "lect" >
select a.lectno,a.cmno,a.userno,b.userid
from lect a
inner join users b on b.userno = a.userno
<dynamic prepend= "where" >
<isNotNull property= "cmno" prepend= "and" > a.cmno = #cmno#</isNotNull>
<isNotNull property= "userno" prepend= "and" > a.userno=#userno#</isNotNull>
<isNotEmpty property= "cmnos" prepend= "and" > a.cmno in ($cmnos$)</isNotEmpty>
<isNotEmpty property= "userids" prepend= "and" > b.userid in ($userids$)</isNotEmpty>
</dynamic>
and a.ischanged=0 and a.status < 5
</select>
<select id= "lect.checkuser2" parameterClass= "hashtable" resultClass= "lect" >
select a.lectno,a.cmno,a.userno
from lect a
where
<isNotEmpty property= "cmnos" > a.cmno in ($cmnos$) and</isNotEmpty> a.ischanged=0 and a.status < 5
</select>
<select id= "lect.checkuser3" parameterClass= "hashtable" resultClass= "lect" >
select a.userno,a.lectno,a.cmno
from lect a
where
<isNotEmpty property= "cmnos" > a.cmno in ($cmnos$) and</isNotEmpty> a.ischanged=0 and a.status < 5
group by a.userno
</select>
<select id= "lect.attoffs" parameterClass= "datetime" resultClass= "cminning" >
select c.tyear,c.tseq
,a.cmno,a.cname,a.classno
,b.cmino,b.week,b.iseq,b.ititle,b.idate,b.ist,b.iet
,d.username
from cm a
inner join cminning b on b.cmno=a.cmno and b.isonline=0 and b.idate=#edate#
inner join term c on c.tmno=a.tmno
left outer join users d on d.userno=b.userno
where a.ismaster=0 and a.sstime < =#edate# and a.setime > = #edate# and a.isuse=1 and a.isdel=0
order by b.iet,a.cname
</select>
<select id= "lect.cminning" parameterClass= "long" resultClass= "cminning" >
select c.tyear,c.tseq
,b.cshape,b.cname,b.classno
,a.cmino,a.ititle,a.idate,a.ist,a.iet
from cminning a
inner join cm b on b.cmno=a.cmno
inner join term c on c.tmno=b.tmno
where a.cmino=#cmino#
</select>
<select id= "lect.lectinnings.foratt" parameterClass= "long" resultClass= "lectinning" >
select a.cmino,b.lectno,c.userno
,ca.asname,c.username,c.userid,d.stime,d.etime,d.istatus
,row_number() over(order by d.udt desc,c.username) rno
,count(a.cdt) over() pagetotalcount
from cminning a
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
left outer join assign ca on ca.asno=c.asno
left outer join lectinning d on d.lectno=b.lectno and d.cmino=a.cmino
where a.cmino=#cmino#
order by rno
</select>
2021-11-03 15:19:08 +09:00
<select id= "lect.lectinnings.forattscd" parameterClass= "hashtable" resultClass= "lect" >
select a.*
from (
select a.lectno,c.cmino,b.cmno,b.cshape,b.cname,b2.isoffabs
,a.isrebate,p.payoktime,a.iscomplete
,a.sdate,a.edate
,a.cmisno
,d.sseq,f.cname studyplacename
,d.estart,d.eend
,e.userno,e.userid, e.username
,g.istatus
,row_number() over(order by a.cdt desc,e.username) rno
,count(a.cdt) over() pagetotalcount
from lect a
inner join pay p on p.payno = a.payno
inner join cm b on b.cmno = a.cmno
inner join cmev b2 on b2.cmno = b.cmno
inner join cminning c on c.cmno = b.cmno
left outer join cminningscd d on d.cmisno = a.cmisno and d.cmino = c.cmino
inner join users e on e.userno = a.userno
left outer join comcode f on f.ccode = d.studyplace and f.isuse =1
left outer join lectinning g on g.cmino = c.cmino and g.lectno = a.lectno
where a.status=1 and a.ischanged=0 and c.isscd=1 and c.scdtype=0 and b.cshape=2
<isNotNull property= "edate" > and date_format(a.edate,'%Y%m%d') = date_format(#edate#,'%Y%m%d')</isNotNull>
<isNotNull property= "cname" > and b.cname like concat('%',#cname#,'%')</isNotNull>
<isNotNull property= "studyplace" > and d.studyplace = #studyplace#</isNotNull>
<isNotEmpty property= "searchtext" >
<isEqual property= "searchtype" compareValue= "usernamestr" > and e.username like concat('%',#searchtext#,'%')</isEqual>
<isEqual property= "searchtype" compareValue= "useridstr" > and e.userid like concat('%',#searchtext#,'%')</isEqual>
</isNotEmpty>
) a
<include refid= "sql.pagedynamic" > </include>
order by a.rno
</select>
2020-10-12 14:39:23 +09:00
<select id= "lect.atts" parameterClass= "hashtable" resultClass= "lect" >
select a.lectno,a.isrebate,a.attrate,a.stime,a.sip,a.etime,a.eip
,b.username,b.userid,b.userno
,c.asname
,count(d.cmino) countinning
,sum(case when e.istatus=2 then 1 else 0 end) countattok
,row_number() over(order by <isNotNull property= "orderby" > $orderby$</isNotNull> <isNull property= "orderby" > b.username</isNull> ) rno
,count(a.cdt) over() pagetotalcount
from lect a
inner join users b on b.userno=a.userno <isNotNull property= "ustatus" > and b.status=#ustatus#</isNotNull>
left outer join assign c on c.asno=b.asno
inner join cminning d on d.cmno=a.cmno
left outer join lectinning e on e.lectno=a.lectno and e.cmino=d.cmino
where a.ischanged=0 <isNotNull property= "cmno" > and a.cmno=#cmno#</isNotNull> <isNotNull property= "status" > and a.status=#status#</isNotNull> <isNotNull property= "isrebate" > and a.isrebate=#isrebate#</isNotNull>
group by a.lectno,a.isrebate,a.attrate,a.stime,a.sip,a.etime,a.eip
,b.username,b.userid
,c.asname
order by rno
</select>
<select id= "lect.lectinnings.bycmino" parameterClass= "hashtable" resultClass= "lectinning" >
select b.lectno,a.cmino
,u.userno,u.userid,u.username
,ua.asname
,c.stime,c.etime,c.istatus
2021-11-03 15:19:08 +09:00
,c.udt,d.userid unoid
2020-10-12 14:39:23 +09:00
,row_number() over(order by u.username) rno
,count(b.lectno) over() pagetotalcount
from cminning a
inner join lect b on b.cmno=a.cmno and b.status=1 and b.ischanged=0
inner join users u on u.userno=b.userno and u.status=1
left outer join assign ua on ua.asno=u.asno
left outer join lectinning c on c.lectno=b.lectno and c.cmino=a.cmino
2021-11-03 15:19:08 +09:00
left outer join users d on d.userno = c.uno
left outer join cminningscd e on e.cmisno = b.cmisno
<dynamic prepend= "where" >
<isNotNull property= "cmino" prepend= "and" > a.cmino=#cmino#</isNotNull>
<isNotNull property= "cmisno" prepend= "and" > e.cmisno=#cmisno#</isNotNull>
<isNotNull property= "lectno" prepend= "and" > b.lectno=#lectno#</isNotNull>
</dynamic>
2020-10-12 14:39:23 +09:00
group by b.lectno,a.cmino,u.userno,u.userid,u.username,ua.asname,c.stime,c.etime,c.istatus
order by u.username
</select>
<select id= "lect.lectinningpages" parameterClass= "hashtable" resultClass= "lectinningpage" >
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>
2021-11-03 15:19:08 +09:00
<isNotNull property= "isscd" prepend= "and" > ifnull(b.isscd,0)=#isscd#</isNotNull>
2020-10-12 14:39:23 +09:00
</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
left outer join menupage b on b.pno=a.pno
<dynamic prepend= "where" >
<isNotNull property= "logsite" prepend= "and" > a.logsite=#logsite#</isNotNull>
<isNotNull property= "userno" prepend= "and" > a.userno=#userno#</isNotNull>
<isNotNull property= "start" prepend= "and" > a.cdt between #start# and #end#</isNotNull>
<isNotNull property= "from" prepend= "and" > a.cdt > = #from#</isNotNull>
<isNotNull property= "to" prepend= "and" > a.cdt < = #to#</isNotNull>
</dynamic>
union all
select a.cdt,a.uip,'로그인', '로그인'
from loginlog a
<dynamic prepend= "where" >
<isNotNull property= "logsite" prepend= "and" > a.logsite=#logsite#</isNotNull>
<isNotNull property= "userno" prepend= "and" > a.userno=#userno# and a.loginstatus < 2</isNotNull>
<isNotNull property= "start" prepend= "and" > a.cdt between #start# and #end#</isNotNull>
<isNotNull property= "from" prepend= "and" > a.cdt > = #from#</isNotNull>
<isNotNull property= "to" prepend= "and" > a.cdt < = #to#</isNotNull>
</dynamic>
order by cdt desc
</select>
<select id= "lect.lectexes" parameterClass= "hashtable" resultClass= "lectex" >
2021-11-03 15:19:08 +09:00
select a.*
from (
select a.lectno,a.userno,a.cmno,a.isrebate
,b.exno
,c.estart,c.eend,c.eip,c.tpoint,c.recount,c.entercount,c.cblock
,d.username,d.userid
,e.asname
,row_number() over(order by <isNotNull property= "orderby" > $orderby$</isNotNull> <isNull property= "orderby" > d.username</isNull> ) rno
,count(a.cdt) over() pagetotalcount
from lect a
inner join cmex b on b.isdel=0 <isNotNull property= "exno" > and b.exno=#exno#</isNotNull>
left outer join lectex c on c.lectno=a.lectno and c.exno=b.exno
inner join users d on d.userno=a.userno
left outer join assign e on e.asno=d.asno
where a.status=1 and a.ischanged=0
<isNotNull property= "extype" > and b.extype = #extype#</isNotNull>
<isNotNull property= "cmno" > and a.cmno = #cmno#</isNotNull>
<isNotNull property= "isrebate" > and a.isrebate=#isrebate#</isNotNull>
<isNotNull property= "estate" >
<isEqual property= "estate" compareValue= "0" > and c.estart is null</isEqual>
<isEqual property= "estate" compareValue= "1" > and c.estart is not null and c.eend is null</isEqual>
<isEqual property= "estate" compareValue= "2" > and c.eend is not null</isEqual>
</isNotNull>
) a
<include refid= "sql.pagedynamic" > </include>
order by a.rno
</select>
<select id= "lect.lectexes.all" parameterClass= "hashtable" resultClass= "lectex" >
select a.*
from (
select a.lectno,a.userno,a.cmno,a.isrebate
2021-11-10 08:49:31 +09:00
,p.payoktime,a.sdate,a.edate
2021-11-03 15:19:08 +09:00
,b.exno,b.exname
,b2.cshape,b2.cname
,c.estart,c.eend,c.eip,c.tpoint,c.recount,c.entercount,c.cblock
,d.username,d.userid
,e.asname
2021-11-10 08:49:31 +09:00
,f.cmisno,f.estart lestart,f.eend leend,f.sseq
2021-11-03 15:19:08 +09:00
,g.cname studyplacename
,a.iscomplete
,row_number() over(order by <isNotNull property= "orderby" > $orderby$</isNotNull> <isNull property= "orderby" > d.username</isNull> ) rno
,count(a.cdt) over() pagetotalcount
from lect a
inner join cmex b on b.isdel=0 and b.cmno = a.cmno
inner join cm b2 on b2.cmno = b.cmno
inner join pay p on p.payno = a.payno
left outer join lectex c on c.lectno = a.lectno and c.exno =b.exno
inner join users d on d.userno = a.userno
left outer join assign e on e.asno = d.asno
left outer join cminningscd f on f.cmisno = a.cmisno
left outer join comcode g on g.ccode = f.studyplace and g.isuse =1
where a.status=1 and a.ischanged=0
<isNotNull property= "extype" > and b.extype = #extype#</isNotNull>
<isNotNull property= "cmno" > and a.cmno = #cmno#</isNotNull>
<isNotNull property= "isrebate" > and a.isrebate=#isrebate#</isNotNull>
2021-11-10 08:49:31 +09:00
<isNotNull property= "edate" prepend= "and" > date_format((case when b2.cshape = 2 and f.eend is not null then f.eend else a.edate end),'%Y-%m-%d') = #edate#</isNotNull>
2021-11-03 15:19:08 +09:00
<isNotNull property= "cshape" > and b2.cshape = #cshape#</isNotNull>
<isNotEmpty property= "cname" > and b2.cname like concat('%',#cname#,'%')</isNotEmpty>
<isNotEmpty property= "cnamestr" > and b2.cname like concat('%',#cname#,'%')</isNotEmpty>
<isNotNull property= "iscomplete" > and ifnull(a.iscomplete,0) = #iscomplete#</isNotNull>
<isNotNull property= "studyplace" > and f.studyplace = #studyplace#</isNotNull>
<isNotEmpty property= "usernamestr" > and d.username like concat('%',#usernamestr#,'%')</isNotEmpty>
<isNotEmpty property= "useridstr" > and d.userid like concat('%',#useridstr#,'%')</isNotEmpty>
<isNotEmpty property= "searchtext" >
<isEqual property= "searchtype" compareValue= "usernamestr" > and d.username like concat('%',#usernamestr#,'%')</isEqual>
<isEqual property= "searchtype" compareValue= "useridstr" > and d.userid like concat('%',#useridstr#,'%')</isEqual>
</isNotEmpty>
<isNotNull property= "estate" >
<isEqual property= "estate" compareValue= "0" > and c.estart is null</isEqual>
<isEqual property= "estate" compareValue= "1" > and c.estart is not null and c.eend is null</isEqual>
<isEqual property= "estate" compareValue= "2" > and c.eend is not null</isEqual>
</isNotNull>
<isNotEmpty property= "sdateall" > and (case when b2.cshape = 0 and a.isrebate = 0 then p.payoktime else a.sdate end) > = date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
<isNotEmpty property= "edateall" > and (case when b2.cshape = 2 then f.eend else a.edate end) < = date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
<isNotEmpty property= "asname" > and e.asname like concat('%',#asname#,'%')</isNotEmpty>
) a
<include refid= "sql.pagedynamic" > </include>
order by a.rno
2020-10-12 14:39:23 +09:00
</select>
2021-11-03 15:19:08 +09:00
<!-- 문제 점수만 변경, 문제 재설정변경 -->
2020-10-12 14:39:23 +09:00
<update id= "lect.reexam" parameterClass= "hashtable" >
2021-11-03 15:19:08 +09:00
insert into lectexrelog(lectno,exno,estart,eend,eip,<include refid= "sql.inc" > </include> )
select a.lectno lectno,a.exno exno,a.estart estart,a.eend eend,a.eip eip,<include refid= "sql.inv" > </include>
from lectex a
where a.lectno=#lectno# and a.exno=#exno#;
2020-10-12 14:39:23 +09:00
update lectex set estart=null,eend=null,eip=null,tpoint=0,recount=recount+1,entercount=0,cblock=0 where lectno=#lectno# and exno=#exno#;
update lectexq a
2021-11-03 15:19:08 +09:00
inner join cmex b on b.exno=a.exno <!-- and b.eqtype=0 -->
2020-10-12 14:39:23 +09:00
set a.atext=null,a.qinos=null,a.cpoint=0,a.iscorrect=null
where a.lectno=#lectno# and a.exno=#exno#;
2021-11-03 15:19:08 +09:00
<!-- delete from lectexq where lectno=#lectno# and exno=#exno# and eqno in (
2020-10-12 14:39:23 +09:00
select a.eqno
from (
select b.eqno
from cmex a
inner join lectexq b on b.lectno=#lectno# and b.exno=a.exno
where a.exno=#exno# and a.eqtype=1
) a
2021-11-03 15:19:08 +09:00
);-->
2020-10-12 14:39:23 +09:00
2021-11-03 15:19:08 +09:00
<!-- insert into lectexq (lectno,exno,eqno,cpoint,dpoint,qseq,<include refid="sql.inc"></include>)
2020-10-12 14:39:23 +09:00
select a.lectno,a.exno,a.eqno,0,a.rpoint,row_number() over(order by case when a.israndq=0 then a.qseq else rand() end),<include refid= "sql.inv" > </include>
from (
select a.*
from (
select a.lectno,a.exno,d.eqno,c.israndq,el.qcount,d.rpoint,d.qseq,rank() over(partition by el.qdiff,el.cc1,el.cc2,el.cc3,el.cc4,el.cc5 order by rand()) rank
from (select #lectno# lectno, #exno# exno) a
left outer join lectex b on b.lectno=a.lectno and b.exno=a.exno
inner join cmex c on c.exno=a.exno and c.eqtype=1
inner join cmexlayer el on el.exno=c.exno and el.qcount > 0
inner join cmexq d on d.exno=el.exno
inner join question e on e.qno=d.qno
and e.qdiff=case when el.qdiff=0 then e.qdiff else el.qdiff end
and e.cc1=case when el.cc1=0 then e.cc1 else el.cc1 end
and e.cc2=case when el.cc2=0 then e.cc2 else el.cc2 end
and e.cc3=case when el.cc3=0 then e.cc3 else el.cc3 end
and e.cc4=case when el.cc4=0 then e.cc4 else el.cc4 end
and e.cc5=case when el.cc5=0 then e.cc5 else el.cc5 end
) a
where a.rank < = a.qcount
) a
2021-11-03 15:19:08 +09:00
order by rand();-->
2020-10-12 14:39:23 +09:00
</update>
2021-11-03 15:19:08 +09:00
<select id= "lect.reexam.log" parameterClass= "hashtable" resultClass= "lectex" >
select a.*
from (
select a.estart,eend,eip
,row_number() over(order by a.cdt desc) rno
,count(a.cno) over() pagetotalcount
from lectexrelog a
where a.lectno=#lectno# and a.exno=#exno#
) a
order by a.rno
</select>
2020-10-12 14:39:23 +09:00
<sql id= "lectexcreate" >
insert into lectexq (lectno,exno,eqno,cpoint,dpoint,qseq,<include refid= "sql.inc" > </include> )
select a.lectno,a.exno,d.eqno,0,d.rpoint,row_number() over(order by case when c.israndq=0 then d.qseq else rand() * d.qseq end),<include refid= "sql.inv" > </include>
from (select #lectno# lectno, #exno# exno) a
<isNotNull property= "userno" >
inner join lect a2 on a2.lectno=a.lectno and a2.userno=#userno#
</isNotNull>
left outer join lectex b on b.lectno=a.lectno and b.exno=a.exno
inner join cmex c on c.exno=a.exno and c.eqtype=0
inner join cmexq d on d.exno=c.exno
inner join (
select count(b.lectno) exq
from (select 1 col1) a
left outer join lectexq b on b.lectno=#lectno# and b.exno=#exno#
) z on z.exq < 1
where b.lectno is null
order by rand();
insert into lectexq (lectno,exno,eqno,cpoint,dpoint,qseq,<include refid= "sql.inc" > </include> )
select a.lectno,a.exno,a.eqno,0,a.rpoint,row_number() over(order by case when a.israndq=0 then a.qseq else rand() end),<include refid= "sql.inv" > </include>
from (
select a.lectno,a.exno,d.eqno,d.rpoint,el.qcount,c.israndq,d.qseq,rank() over(partition by el.qdiff, el.cc1, el.cc2, el.cc3, el.cc4, el.cc5 order by rand()) rank
from (select #lectno# lectno, #exno# exno) a
<isNotNull property= "userno" >
inner join lect a2 on a2.lectno=a.lectno and a2.userno=#userno#
</isNotNull>
left outer join lectex b on b.lectno=a.lectno and b.exno=a.exno
inner join cmex c on c.exno=a.exno and c.eqtype=1
inner join cmexlayer el on el.exno=c.exno and el.qcount > 0
inner join cmexq d on d.exno=el.exno
inner join question e on e.qno=d.qno
and e.qdiff=case when el.qdiff=0 then e.qdiff else el.qdiff end
and e.cc1=case when el.cc1=0 then e.cc1 else el.cc1 end
and e.cc2=case when el.cc2=0 then e.cc2 else el.cc2 end
and e.cc3=case when el.cc3=0 then e.cc3 else el.cc3 end
and e.cc4=case when el.cc4=0 then e.cc4 else el.cc4 end
and e.cc5=case when el.cc5=0 then e.cc5 else el.cc5 end
where b.lectno is null
) a
inner join (
select count(b.lectno) exq
from (select 1 col1) a
left outer join lectexq b on b.lectno=#lectno# and b.exno=#exno#
) z on z.exq < 1
where a.rank < = a.qcount
order by rand();
insert into lectex (lectno,exno,tpoint,recount,cblock,<include refid= "sql.inc" > </include> )
select a.lectno,a.exno,0,0,0,<include refid= "sql.inv" > </include>
from (select #lectno# lectno, #exno# exno) a
<isNotNull property= "userno" >
inner join lect a2 on a2.lectno=a.lectno and a2.userno=#userno#
</isNotNull>
left outer join lectex b on b.lectno=a.lectno and b.exno=a.exno
where b.lectno is null;
</sql>
<select id= "lect.lectex" parameterClass= "hashtable" resultClass= "lectex" >
<include refid= "lectexcreate" > </include>
select a.exno,a.tpoint extpoint
,b.lectno,b.tpoint
,c.userno,c.username,c.userid
,d.asname
from cmex a
inner join lectex b on b.lectno=#lectno# and b.exno=a.exno
inner join lect b2 on b2.lectno=b.lectno
inner join users c on c.userno=b2.userno
left outer join assign d on d.asno=c.asno
where a.exno=#exno#
</select>
<select id= "lect.lectexq" parameterClass= "hashtable" resultClass= "lectexq" >
select a.lectno,a.exno,a.eqno,a.atext,a.qinos,a.cpoint,a.dpoint,a.iscorrect,a.qseq
,c.qno,c.atype,c.qtext
from lectexq a
inner join cmexq b on b.eqno=a.eqno
inner join question c on c.qno=b.qno
where a.lectno=#lectno# and a.exno=#exno#
order by a.qseq
</select>
<select id= "lect.lectexqs" parameterClass= "hashtable" resultClass= "questionitem" >
select c.qno
,sum(case when concat(',',a.atext,',') like concat('%,',c.qino,',%') then 1 else 0 end) countselect
,avg(case when concat(',',a.atext,',') like concat('%,',c.qino,',%') then 100 else 0 end) avgselect
from lectexq a
inner join cmexq b on b.eqno=a.eqno
inner join questionitem c on c.qno=b.qno
where a.exno=#exno# and a.eqno in ($eqnos$) and a.atext is not null
group by c.qno
</select>
<update id= "lect.lectexq.point" parameterClass= "hashtable" >
update lectexq set <include refid= "sql.up" > </include>
,rechecktime=<include refid= "sql.now" > </include>
,cpoint=#cpoint#
2021-11-03 15:19:08 +09:00
<isNotNull property= "iscorrect" > ,iscorrect = #iscorrect#</isNotNull>
2020-10-12 14:39:23 +09:00
where lectno=#lectno# and exno=#exno# and eqno=#eqno#;
update lectex a
inner join (
select lectno, sum(cpoint) tpoint
from lectexq where lectno=#lectno# and exno=#exno#
group by lectno
) b on b.lectno=a.lectno
set a.udt=<include refid= "sql.now" > </include> ,a.uno=#uno#,a.uip=#uip#
,a.tpoint=b.tpoint
,a.rechecktime=<include refid= "sql.now" > </include>
where a.lectno=#lectno# and a.exno=#exno#
</update>
<select id= "lect.lectsds" parameterClass= "hashtable" resultClass= "lectsd" >
select a.lectno,a.userno,a.cmno,a.isrebate
,b.sdno
2021-03-23 15:47:54 +09:00
,c.atext,c.fgno,round((f.MAX_SCORE/100)) copyrate,c.iscopy,c.cpoint,c.feedb,c.submittime,c.submitip,c.checktime,c.checkip
2020-10-12 14:39:23 +09:00
,cf.fileno,cf.orgname,cf.fileurl
,d.username,d.userid
,e.asname
,row_number() over(order by <isNotNull property= "orderby" > $orderby$</isNotNull> <isNull property= "orderby" > d.username</isNull> ) rno
,count(a.cdt) over() pagetotalcount
from lect a
2021-11-03 15:19:08 +09:00
inner join cmsd b on b.isdel=0 and b.cmno = a.cmno <isNotNull property= "sdno" > and b.sdno=#sdno#</isNotNull>
2020-10-12 14:39:23 +09:00
left outer join lectsd c on c.lectno=a.lectno and c.sdno=b.sdno
left outer join fileinfo cf on cf.fgno=c.fgno and cf.isdel=0
inner join users d on d.userno=a.userno
left outer join assign e on e.asno=d.asno
2021-03-23 15:47:54 +09:00
left outer join mch_source_v_lectsd_list f on f.DOC_ID = concat(b.sdno ,'_',a.lectno )
2021-11-03 15:19:08 +09:00
where a.status=1 and a.ischanged=0
<isNotNull property= "sdtype" > and b.sdtype=#sdtype#</isNotNull>
<isNotNull property= "cmno" > and a.cmno=#cmno# </isNotNull>
2020-10-12 14:39:23 +09:00
<isNotNull property= "isrebate" > and a.isrebate=#isrebate#</isNotNull>
<isNotNull property= "sdstate" >
<isEqual property= "sdstate" compareValue= "0" > and c.submittime is null</isEqual>
<isEqual property= "sdstate" compareValue= "1" > and c.submittime is not null</isEqual>
</isNotNull>
order by rno
</select>
2021-11-03 15:19:08 +09:00
<select id= "lect.lectsds.all" parameterClass= "hashtable" resultClass= "lectsd" >
select a.*
from (
select a.lectno,a.userno,a.cmno,a.isrebate
,p.payoktime,a.sdate,a.edate
,g.cname,g.cshape
2021-11-10 08:49:31 +09:00
,b.sdno,b.tpoint
2021-11-03 15:19:08 +09:00
,c.atext,round((f.MAX_SCORE/100)) copyrate,c.iscopy,c.cpoint,c.feedb,c.submittime,c.submitip,c.checktime,c.checkip
,d.username,d.userid,d.usertype
,e.asname
2021-11-10 08:49:31 +09:00
,h.cmisno,h.estart lestart,h.eend leend,h.sseq
2021-11-03 15:19:08 +09:00
,i.cname studyplacename
,a.iscomplete
,row_number() over(order by <isNotNull property= "orderby" > $orderby$</isNotNull> <isNull property= "orderby" > d.username</isNull> ) rno
,count(a.cdt) over() pagetotalcount
from lect a
inner join pay p on p.payno = a.payno
inner join cm g on g.cmno = a.cmno
inner join cmsd b on b.isdel=0 and b.cmno = a.cmno
left outer join lectsd c on c.lectno = a.lectno and c.sdno = b.sdno
inner join users d on d.userno = a.userno
left outer join assign e on e.asno = d.asno
left outer join mch_source_v_lectsd_list f on f.DOC_ID = concat(b.sdno ,'_',a.lectno )
left outer join cminningscd h on h.cmisno = a.cmisno
left outer join comcode i on i.ccode = h.studyplace and i.isuse=1
where a.status=1 and a.ischanged=0
2021-11-10 08:49:31 +09:00
<isNotNull property= "edate" prepend= "and" > date_format((case when g.cshape = 2 and h.eend is not null then h.eend else a.edate end),'%Y-%m-%d') = #edate#</isNotNull>
2021-11-03 15:19:08 +09:00
<isNotNull property= "cshape" > and g.cshape = #cshape#</isNotNull>
<isNotEmpty property= "cname" > and g.cname like concat('%',#cname#,'%')</isNotEmpty>
<isNotEmpty property= "cnamestr" > and g.cname like concat('%',#cname#,'%')</isNotEmpty>
<isNotNull property= "iscomplete" > and ifnull(a.iscomplete,0) = #iscomplete#</isNotNull>
<isNotNull property= "studyplace" > and h.studyplace = #studyplace#</isNotNull>
<isNotNull property= "usernamestr" > and d.username like concat('%',#usernamestr#,'%')</isNotNull>
<isNotNull property= "useridstr" > and d.userid like concat('%',#useridstr#,'%')</isNotNull>
<isNotNull property= "sdtype" > and b.sdtype=#sdtype#</isNotNull>
<isNotNull property= "cmno" > and a.cmno=#cmno# </isNotNull>
<isNotNull property= "isrebate" > and a.isrebate=#isrebate#</isNotNull>
<isNotNull property= "sdstate" >
<isEqual property= "sdstate" compareValue= "0" > and c.submittime is null</isEqual>
<isEqual property= "sdstate" compareValue= "1" > and c.submittime is not null</isEqual>
</isNotNull>
<isNotEmpty property= "searchtype" >
<isNotEmpty property= "searchtext" >
<isEqual property= "searchtype" compareValue= "usernamestr" > and d.username like concat('%',#searchtext#,'%')</isEqual>
<isEqual property= "searchtype" compareValue= "useridstr" > and d.userid like concat('%',#searchtext#,'%')</isEqual>
</isNotEmpty>
</isNotEmpty>
<isNotEmpty property= "sdateall" > and (case when g.cshape = 0 and a.isrebate = 0 then p.payoktime else a.sdate end) > = date_format(#sdateall#,'%Y-%m-%d 00:00:00')</isNotEmpty>
<isNotEmpty property= "edateall" > and (case when g.cshape = 2 then h.eend else a.edate end) < = date_format(#edateall#,'%Y-%m-%d 23:59:59')</isNotEmpty>
<isNotNull property= "asname" > and e.asname like concat('%',#asname#,'%')</isNotNull>
) a
<include refid= "sql.pagedynamic" > </include>
order by rno
</select>
2020-10-12 14:39:23 +09:00
<select id= "lect.lectsd" parameterClass= "hashtable" resultClass= "lectsd" >
select a.sdno,a.tpoint sdtpoint
2021-03-23 15:47:54 +09:00
,b.lectno,b.atext,b.fgno,round((g.MAX_SCORE/100)) copyrate,b.iscopy,b.cpoint,b.feedb,b.submittime,b.checktime
2020-10-12 14:39:23 +09:00
,c.userno,c.username,c.userid
,d.asname
,f.fileno,f.orgname,f.fileurl
from cmsd a
inner join lect b2 on b2.lectno=#lectno#
inner join users c on c.userno=b2.userno
left outer join assign d on d.asno=c.asno
left outer join lectsd b on b.lectno=b2.lectno and b.sdno=a.sdno
left outer join fileinfo f on f.fgno=b.fgno and f.isdel=0
2021-03-23 15:47:54 +09:00
left outer join mch_source_v_lectsd_list g on g.DOC_ID = concat(b.sdno ,'_',b.lectno )
2020-10-12 14:39:23 +09:00
where a.sdno=#sdno#
</select>
<update id= "lect.lectsd.save" parameterClass= "lectsd" >
update lectsd set <include refid= "sql.up" > </include>
,iscopy=#iscopy#,cpoint=#cpoint#
2021-05-25 13:39:38 +09:00
,feedb=#feedb#
2020-10-12 14:39:23 +09:00
,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
where lectno=#lectno# and sdno=#sdno#;
insert into lectsd (lectno,sdno,atext,fgno,copyrate,iscopy,cpoint,feedb,submittime,submitip,checktime,checkip,<include refid= "sql.inc" > </include> )
select #lectno#,#sdno#,null,null,null,#iscopy#,#cpoint#,#feedb#,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 #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.savebatch" parameterClass= "lectsd" >
update lectsd set <include refid= "sql.up" > </include>
2021-05-25 13:39:38 +09:00
,iscopy=#iscopy#,cpoint=#cpoint#,feedb=#feedb#
2020-10-12 14:39:23 +09:00
,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
where lectno in ($lectnos$) and sdno=#sdno#;
insert into lectsd (lectno,sdno,atext,fgno,copyrate,iscopy,cpoint,feedb,submittime,submitip,checktime,checkip,<include refid= "sql.inc" > </include> )
select a.lectno,#sdno#,null,null,null,#iscopy#,#cpoint#,#feedb#,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 #uip# else null end
,<include refid= "sql.inv" > </include>
from lect a
left outer join lectsd b on b.lectno=a.lectno and b.sdno=#sdno#
where a.lectno in ($lectnos$) and a.status=1 and a.ischanged=0 and b.lectno is null
</update>
<update id= "lect.lectsd2.save" parameterClass= "lectsd" >
update lectsd set <include refid= "sql.up" > </include>
,cpoint=#cpoint#,feedb=#feedb#
,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
where lectno=#lectno# and sdno=#sdno#;
insert into lectsd (lectno,sdno,atext,fgno,copyrate,iscopy,cpoint,feedb,submittime,submitip,checktime,checkip,<include refid= "sql.inc" > </include> )
select #lectno#,#sdno#,null,null,null,0,#cpoint#,#feedb#,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 #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.lectsd2.savebatch" parameterClass= "lectsd" >
update lectsd set <include refid= "sql.up" > </include>
,cpoint=#cpoint#,feedb=#feedb#
,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
where lectno in ($lectnos$) and sdno=#sdno#;
insert into lectsd (lectno,sdno,atext,fgno,copyrate,iscopy,cpoint,feedb,submittime,submitip,checktime,checkip,<include refid= "sql.inc" > </include> )
select a.lectno,#sdno#,null,null,null,0,#cpoint#,#feedb#,null,null
,case when #cpoint# is not null or #feedb# is not null then checktime 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 lect a
left outer join lectsd b on b.lectno=a.lectno and b.sdno=#sdno#
where a.lectno in ($lectnos$) and a.status=1 and a.ischanged=0 and b.lectno is null
</update>
<select id= "lect.lectsdfiles" parameterClass= "int" resultClass= "lectsd" >
select d.orgname,d.fileurl,c.userno,c.userid,c.username
from lectsd a
inner join lect b on b.lectno=a.lectno and b.status=1 and b.ischanged=0
inner join users c on c.userno=b.userno
inner join fileinfo d on d.fgno=a.fgno and d.isdel=0
where a.sdno=#sdno#
</select>
<select id= "lect.lectdiscusses" parameterClass= "hashtable" resultClass= "lectsd" >
select a.lectno,a.userno,a.cmno,a.isrebate
,b.sdno
,c.cpoint,c.feedb,c.submittime,c.submitip,c.checktime,c.checkip
,d.username,d.userid
,e.asname
,count(c2.bno) ccount
,row_number() over(order by <isNotNull property= "orderby" > $orderby$</isNotNull> <isNull property= "orderby" > d.username</isNull> ) rno
,count(a.cdt) over() pagetotalcount
from lect a
inner join cmsd b on b.isdel=0 <isNotNull property= "sdno" > and b.sdno=#sdno#</isNotNull>
left outer join lectsd c on c.lectno=a.lectno and c.sdno=b.sdno
left outer join lectsdboard c2 on c2.lectno=c.lectno and c2.sdno=c.sdno and c2.isdel=0
inner join users d on d.userno=a.userno
left outer join assign e on e.asno=d.asno
where a.cmno=#cmno# and a.status=1 and a.ischanged=0
<isNotNull property= "isrebate" > and a.isrebate=#isrebate#</isNotNull>
group by a.lectno,a.userno,a.cmno,a.isrebate
,b.sdno
,c.cpoint,c.feedb,c.submittime,c.submitip,c.checktime,c.checkip
,d.username,d.userid
,e.asname
<isNotNull property= "dcount" >
having count(c2.bno) $dcount$
</isNotNull>
order by rno
</select>
<select id= "lect.lectdiscuss" parameterClass= "hashtable" resultClass= "lectsd" >
select a.sdno,a.tpoint sdtpoint
,b.lectno,b.cpoint,b.feedb,b.submittime,b.checktime
,c.userno,c.username,c.userid
,d.asname
from cmsd a
inner join lect b2 on b2.lectno=#lectno#
inner join users c on c.userno=b2.userno
left outer join assign d on d.asno=c.asno
left outer join lectsd b on b.lectno=b2.lectno and b.sdno=a.sdno
where a.sdno=#sdno#
</select>
<select id= "lect.lectsdboards" parameterClass= "hashtable" resultClass= "lectsdboard" >
select bno,a.lectno,a.sdno,a.subject,a.contents,a.fgno,a.rcount,a.cdt,a.cip
from lectsdboard a
where a.isdel=0
<isNotNull property= "lectno" > and a.lectno=#lectno#</isNotNull>
<isNotNull property= "sdno" > and a.sdno=#sdno#</isNotNull>
order by a.lectno,a.cdt desc
</select>
<update id= "lect.edub2b" parameterClass= "edub2b" >
insert into edub2b (etype,userno,edate,esubject,etarget,ecount,eplace,ecomment,compname,ceoname,brno,addr,btype,bkind,manname,email,telno,fgno,<include refid= "sql.inc" > </include> )
values (#etype#,#userno#,#edate#,#esubject#,#etarget#,#ecount#,#eplace#,#ecomment#,#compname#,#ceoname#,#brno#,#addr#,#btype#,#bkind#,#manname#,HEX(AES_ENCRYPT(#email#, <include refid= "sql.digest" > </include> )),HEX(AES_ENCRYPT(#telno#, <include refid= "sql.digest" > </include> )),#fgno#,<include refid= "sql.inv" > </include> )
</update>
<select id= "lect.mydata" parameterClass= "int" resultClass= "data" >
2021-08-23 15:10:15 +09:00
select a.dtype,a.intval,a.intval2,a.intval3,a.intval4,a.intval5,a.intval6,a.intval7,a.intval8,a.intval9
2020-10-12 14:39:23 +09:00
,a.longval,a.longval2
,a.strval,a.strval2,a.strval3
,a.time,a.time2
2021-08-23 15:10:15 +09:00
,a.time3,a.time4
,a.time5,a.time6
2020-10-12 14:39:23 +09:00
,a.rno
from(
select 1 dtype
,d.tyear intval,d.tseq intval2,c.cshape intval3,a.pstatus intval4,case when e.rfdno is null then 0 else 1 end intval5,a.isrebate intval6,a.itemno intval7
2021-08-23 15:10:15 +09:00
,case when (case when l.sdate is null then c.sstime else l.sdate end) < now() and (case when l.edate is null then c.setime else l.edate end) > now() then 1 else 0 end intval8
,c.studydays intval9
2020-10-12 14:39:23 +09:00
,l.lectno longval,a.payno longval2
,c.cname strval,null strval2,null strval3
,c.rstime time,c.retime time2
2021-08-23 15:10:15 +09:00
,b.cdt time3,f.estart time4
,case when l.sdate is null then c.sstime else l.sdate end time5,case when l.edate is null then c.setime else l.edate end time6
2021-06-30 10:06:15 +09:00
,case when b.pstatus = 1 then 99 else b.pstatus end as sortpstatus
,row_number() over(order by sortpstatus, c.retime, b.payno,a.pino) rno
2020-10-12 14:39:23 +09:00
from payitem a
2021-07-07 10:27:37 +09:00
inner join pay b on b.payno=a.payno and b.pstatus in (21,22,51,55) and b.rstatus < 2
2020-10-12 14:39:23 +09:00
inner join cm c on c.cmno=a.itemno and c.rstime < <include refid= "sql.now" > </include> and c.retime > <include refid= "sql.now" > </include>
2020-12-15 09:37:16 +09:00
inner join lect l on l.cmno=c.cmno and (l.status < 5 or l.status = 6) and l.ischanged=0 and l.userno=b.userno
2021-06-29 13:05:54 +09:00
inner join term d on d.tmno=c.tmno
2021-08-23 15:10:15 +09:00
left outer join payrfd e on e.payno=a.payno and e.payno=a.payno and e.rstatus=0
left outer join cminningscd f on f.cmisno = l.cmisno
2021-07-07 10:27:37 +09:00
where a.ptype in (0,1,4) and a.userno=#userno# and a.pstatus in (21,22,51,55) and a.rstatus=0
2021-06-29 13:05:54 +09:00
and 1 = case when c.retime = '2099-12-31 23:59:59' and l.stime is not null then 0 else 1 end
2021-06-30 10:06:15 +09:00
order by sortpstatus, c.retime, b.payno,a.pino
2020-10-12 14:39:23 +09:00
) a
union all
2021-08-23 15:10:15 +09:00
select a.dtype,a.intval,a.intval2,a.intval3,a.intval4,a.intval5,a.intval6,a.intval7,a.intval8,0 intval9
2020-10-12 14:39:23 +09:00
,a.longval,0 longval2
,a.strval,a.strval2,a.strval3
,a.time,a.time2
2020-11-10 14:34:17 +09:00
,a.time3,a.time4
2021-08-23 15:10:15 +09:00
,a.time5,a.time6
2020-10-12 14:39:23 +09:00
,a.rno
from (
select 2 dtype
,c.tyear intval,c.tseq intval2,b.cshape intval3,0 intval4,0 intval5,a.isrebate intval6,a.cmno intval7,0 intval8
,a.lectno longval,0 longval2
,b.cname strval,null strval2,null strval3
2021-01-22 15:06:01 +09:00
,case when a.sdate is null then b.sstime else a.sdate end as time
,case when a.edate is null then b.setime else a.edate end as time2
2020-11-10 14:34:17 +09:00
,d.estart time3,d.eend time4
2021-08-23 15:10:15 +09:00
,e.cdt time5,null time6
2020-10-12 14:39:23 +09:00
,row_number() over(order by b.setime desc) rno
2021-06-29 14:29:08 +09:00
,case when d.eend is not null then d.eend else a.edate end as sortedate
2020-10-12 14:39:23 +09:00
from lect a
2021-08-23 15:10:15 +09:00
inner join pay e on e.payno = a.payno
2021-06-29 14:29:08 +09:00
inner join cm b on b.cmno=a.cmno
2020-10-12 14:39:23 +09:00
inner join term c on c.tmno=b.tmno
2020-11-10 14:34:17 +09:00
left outer join cminningscd d on a.cmisno = d.cmisno
2020-10-12 14:39:23 +09:00
where a.userno=#userno# and a.status=1 and a.ischanged=0
2021-06-29 14:29:08 +09:00
and (case when a.sdate is null then b.sstime else a.sdate end) < <include refid= "sql.now" > </include>
order by case when time2 > now() then 1 else 0 end desc ,sortedate desc, time2 desc
2020-10-12 14:39:23 +09:00
) a
union all
2021-08-23 15:10:15 +09:00
select a.dtype,a.intval,a.intval2,a.intval3,a.intval4,a.intval5,a.intval6,a.intval7,a.intval8,0 intval9
2020-10-12 14:39:23 +09:00
,a.longval,0 longval2
,a.strval,a.strval2,a.strval3
,a.time,a.time2
2020-11-10 14:34:17 +09:00
,null time3, null time4
2021-08-23 15:10:15 +09:00
,null time5, null time6
2020-10-12 14:39:23 +09:00
,a.rno
from (
select 3 dtype
,1 intval,c.iseq intval2,b.classno intval3,0 intval4,0 intval5,0 intval6,a.cmno intval7,0 intval8
,a.lectno longval
,b.cname strval,null strval2,null strval3
2021-01-22 15:06:01 +09:00
,case when a.sdate is null then b.sstime else a.sdate end as time
,case when a.edate is null then b.setime else a.edate end as time2
2020-10-12 14:39:23 +09:00
,row_number() over(partition by a.cmno order by c.iseq) rno2
,row_number() over(order by b.setime) rno
from lect a
inner join cm b on b.cmno=a.cmno and b.sstime < <include refid= "sql.now" > </include> and b.setime > <include refid= "sql.now" > </include>
inner join cminning c on c.cmno=b.cmno and c.isonline=1
left outer join lectinning d on d.lectno=a.lectno and d.cmino=c.cmino and d.istatus=2
where a.userno=#userno# and a.status=1 and a.ischanged=0 and d.lectno is null
) a
where a.rno2=1
union all
2021-08-23 15:10:15 +09:00
select a.dtype,a.intval,a.intval2,a.intval3,a.intval4,a.intval5,a.intval6,a.intval7,a.intval8,0 intval9
2020-10-12 14:39:23 +09:00
,a.longval,0 longval2
,a.strval,a.strval2,a.strval3
,a.time,a.time2
2020-11-10 14:34:17 +09:00
,null time3, null time4
2021-08-23 15:10:15 +09:00
,null time5, null time6
2020-10-12 14:39:23 +09:00
,a.rno
from (
select 3 dtype
,2 intval,c.iseq intval2,b.classno intval3,0 intval4,0 intval5,0 intval6,a.cmno intval7,0 intval8
,a.lectno longval
2020-10-13 16:10:18 +09:00
,b.cname strval,bc.cname strval2,concat(date_format(c.idate,'%m/%d'),' ',left(c.ist,2),':',right(c.ist,2),' ~ ',left(c.iet,2),':',right(c.iet,2)) strval3
2020-10-12 14:39:23 +09:00
,b.sstime time,b.setime time2
,row_number() over(partition by a.cmno order by c.iseq) rno2
,row_number() over(order by b.setime) rno
from lect a
inner join cm b on b.cmno=a.cmno and b.sstime < <include refid= "sql.now" > </include> and b.setime > <include refid= "sql.now" > </include> and b.cshape=1
2020-10-13 16:10:18 +09:00
left outer join comcode bc on bc.ccode=b.studyplace
2020-10-12 14:39:23 +09:00
inner join cminning c on c.cmno=b.cmno and c.isonline=0
<!-- left outer join lectinning d on d.lectno=a.lectno and d.cmino=c.cmino and d.istatus=2 -->
where a.userno=#userno# and a.status=1 and a.ischanged=0 <!-- and d.lectno is null -->
) a
where a.rno2=1
union all
2021-08-23 15:10:15 +09:00
select a.dtype,a.intval,a.intval2,a.intval3,a.intval4,a.intval5,a.intval6,a.intval7,a.intval8,0 intval9
2020-10-12 14:39:23 +09:00
,a.longval,0 longval2
,a.strval,a.strval2,a.strval3
,a.time,a.time2
2020-11-10 14:34:17 +09:00
,null time3, null time4
2021-08-23 15:10:15 +09:00
,null time5, null time6
2020-10-12 14:39:23 +09:00
,a.rno
from (
select 3 dtype
,3 intval,0 intval2,b.classno intval3,c.extype intval4,0 intval5,0 intval6,a.cmno intval7,0 intval8
,a.lectno longval
2020-10-13 16:10:18 +09:00
,b.cname strval,bc.cname strval2,null strval3
2020-10-12 14:39:23 +09:00
,b.sstime time,b.setime time2
,row_number() over(partition by a.cmno order by c.extype,c.cdt) rno2
,row_number() over(order by b.setime) rno
from lect a
inner join cm b on b.cmno=a.cmno and b.sstime < <include refid= "sql.now" > </include> and b.setime > <include refid= "sql.now" > </include>
2020-10-13 16:10:18 +09:00
left outer join comcode bc on bc.ccode=b.studyplace
2020-10-12 14:39:23 +09:00
inner join cmex c on c.cmno=b.cmno and c.isdel=0 and c.econdition < = a.attrate
left outer join lectex d on d.lectno=a.lectno and d.exno=c.exno and d.eend is not null
where a.userno=#userno# and a.status=1 and a.ischanged=0 and d.lectno is null
) a
where a.rno2=1
union all
2021-08-23 15:10:15 +09:00
select a.dtype,a.intval,a.intval2,a.intval3,a.intval4,a.intval5,a.intval6,a.intval7,a.intval8,0 intval9
2020-10-12 14:39:23 +09:00
,a.longval,0 longval2
,a.strval,a.strval2,a.strval3
,a.time,a.time2
2020-11-10 14:34:17 +09:00
,null time3, null time4
2021-08-23 15:10:15 +09:00
,null time5, null time6
2020-10-12 14:39:23 +09:00
,a.rno
from (
select 3 dtype
,4 intval,0 intval2,b.classno intval3,0 intval4,0 intval5,0 intval6,a.cmno intval7,0 intval8
,a.lectno longval
2020-10-13 16:10:18 +09:00
,b.cname strval,bc.cname strval2,null strval3
2020-10-12 14:39:23 +09:00
,b.sstime time,b.setime time2
,row_number() over(partition by a.cmno order by c.cdt) rno2
,row_number() over(order by b.setime) rno
from lect a
inner join cm b on b.cmno=a.cmno and b.sstime < <include refid= "sql.now" > </include> and b.setime > <include refid= "sql.now" > </include>
2020-10-13 16:10:18 +09:00
left outer join comcode bc on bc.ccode=b.studyplace
2020-10-12 14:39:23 +09:00
inner join cmsd c on c.sdtype=0 and c.cmno=b.cmno and c.isdel=0 and c.sdcondition < = a.attrate
left outer join lectsd d on d.lectno=a.lectno and d.sdno=c.sdno and d.submittime is not null
where a.userno=#userno# and a.status=1 and a.ischanged=0 and d.lectno is null
) a
where a.rno2=1
union all
2021-08-23 15:10:15 +09:00
select a.dtype,a.intval,a.intval2,a.intval3,a.intval4,a.intval5,a.intval6,a.intval7,a.intval8,0 intval9
2020-10-12 14:39:23 +09:00
,a.longval,0 longval2
,a.strval,a.strval2,a.strval3
,a.time,a.time2
2020-11-10 14:34:17 +09:00
,null time3, null time4
2021-08-23 15:10:15 +09:00
,null time5, null time6
2020-10-12 14:39:23 +09:00
,a.rno
from (
select 3 dtype
,5 intval,0 intval2,b.classno intval3,0 intval4,0 intval5,0 intval6,a.cmno intval7,0 intval8
,a.lectno longval
2020-10-13 16:10:18 +09:00
,b.cname strval,bc.cname strval2,null strval3
2020-10-12 14:39:23 +09:00
,b.sstime time,b.setime time2
,row_number() over(partition by a.cmno order by c.cdt) rno2
,row_number() over(order by b.setime) rno
from lect a
inner join cm b on b.cmno=a.cmno and b.sstime < <include refid= "sql.now" > </include> and b.setime > <include refid= "sql.now" > </include>
2020-10-13 16:10:18 +09:00
left outer join comcode bc on bc.ccode=b.studyplace
2020-10-12 14:39:23 +09:00
inner join cmsd c on c.sdtype=1 and c.cmno=b.cmno and c.isdel=0 and c.sdcondition < = a.attrate
left outer join lectsdboard d on d.lectno=a.lectno and d.sdno=c.sdno and d.isdel=0
where a.userno=#userno# and a.status=1 and a.ischanged=0 and d.lectno is null
) a
where a.rno2=1
union all
2021-08-23 15:10:15 +09:00
select a.dtype,a.intval,a.intval2,a.intval3,a.intval4,a.intval5,a.intval6,a.intval7,a.intval8,0 intval9
2020-10-12 14:39:23 +09:00
,a.longval,a.longval2
,a.strval,a.strval2,a.strval3
,a.time,a.time2
2020-11-10 14:34:17 +09:00
,null time3, null time4
2021-08-23 15:10:15 +09:00
,null time5, null time6
2020-10-12 14:39:23 +09:00
,a.rno
from (
select 4 dtype
,a.scdno intval,a.dday intval2,b.classno intval3,0 intval4,0 intval5,0 intval6,b.cmno intval7,0 intval8
,c.lectno longval,a.alno longval2
,b.cname strval,null strval2,null strval3
,a.atime time,null time2
,row_number() over(order by a.atime desc) rno
from alarms a
inner join cm b on b.cmno=a.cmexno
inner join lect c on c.cmno=b.cmno and c.userno=a.userno and c.status=1 and c.ischanged=0
where a.userno=#userno# and a.scdno < 9 and a.isdel=0
order by a.atime desc
limit 5
) a
</select>
<update id= "lect.alarm.del" parameterClass= "hashtable" >
update alarms set isdel=1 where alno=#alno# and userno=#userno#
</update>
<select id= "lect.mylectures" parameterClass= "hashtable" resultClass= "lect" >
select a.lectno,a.cmno,a.userno,a.isrebate,a.iscomplete
2021-01-22 15:06:01 +09:00
,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
2020-10-12 14:39:23 +09:00
,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
2021-08-23 15:10:15 +09:00
,e.cdt
2020-11-10 16:33:06 +09:00
,scd.estart,scd.eend
2020-12-30 11:11:52 +09:00
,cc.ccode studyplace
,cc.cname studyplacename
2021-06-29 14:29:08 +09:00
,case when scd.eend is not null then scd.eend else a.edate end as sortedate
2021-11-03 15:19:08 +09:00
,ci.scdtype
2020-10-12 14:39:23 +09:00
from lect a
2021-03-31 11:23:40 +09:00
inner join cm b on b.cmno=a.cmno <!-- and b.sstime < <include refid="sql.now"></include> -->
2020-10-12 14:39:23 +09:00
<!-- inner join cm pc on pc.cmno=case when a.ispc=1 then a.pcno else a.cmno end and pc.sstime < <include refid="sql.now"></include> -->
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
2020-11-10 16:33:06 +09:00
left outer join cminningscd scd on scd.cmisno = a.cmisno
2021-11-03 15:19:08 +09:00
left outer join cminning ci on ci.cmino = scd.cmino
2020-12-30 11:11:52 +09:00
left outer join comcode cc on cc.ccode = b.studyplace
2021-03-31 11:23:40 +09:00
where a.userno=#userno# and a.status=1 and a.ischanged=0 and a.sdate < <include refid= "sql.now" > </include>
2020-11-10 16:33:06 +09:00
<isNotNull property= "cshape" > and b.cshape=#cshape#</isNotNull>
2021-11-03 15:19:08 +09:00
<isNotNull property= "issubtable" >
2021-11-10 10:11:16 +09:00
and (ifnull(a.iscomplete,0) = 0 and b.cshape = 2 and scd.estart > '1900-01-01' and scd.eend > '1900-01-01'
2021-11-10 10:11:48 +09:00
<!-- and scd.estart > now() -->
2021-11-10 08:49:31 +09:00
<!-- and (date_add(scd.eend,interval +5 day) > date_format(now(),'%Y - %m - %d 23:59:59')) -->
2021-11-03 15:19:08 +09:00
and date_add(a.cdt, interval +1 year) > = date_format(now(),'%Y-%m-%d 23:59:59'))
</isNotNull>
2020-10-12 14:39:23 +09:00
union all
select a.lectno,a.cmno,a.userno,a.isrebate,a.iscomplete
2021-01-22 15:06:01 +09:00
,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
2020-10-12 14:39:23 +09:00
,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
2021-08-23 15:10:15 +09:00
,e.cdt,null estart, null eend
2020-12-30 11:11:52 +09:00
,null studyplace
,null studyplacename
2021-06-29 14:29:08 +09:00
,a.edate as sortedate
2021-11-03 15:19:08 +09:00
,null scdtype
2020-10-12 14:39:23 +09:00
from pay e
inner join lect a on a.payno=e.payno and a.status=1 and a.ischanged=0
inner join cm b on b.cmno=a.cmno and b.sstime < <include refid= "sql.now" > </include>
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
where e.isgroup=1 and e.userno=#userno# and e.pstatus=1
2020-11-10 16:33:06 +09:00
<isNotNull property= "cshape" > and b.cshape=#cshape#</isNotNull>
2020-10-12 14:39:23 +09:00
union all
select a.lectno,a.cmno,a.userno,a.isrebate,a.iscomplete
2021-01-22 15:06:01 +09:00
,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
2020-10-12 14:39:23 +09:00
,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
2021-08-23 15:10:15 +09:00
,e.cdt,null estart, null eend
2020-12-30 11:11:52 +09:00
,null studyplace
,null studyplacename
2021-06-29 14:29:08 +09:00
,a.edate as sortedate
2021-11-03 15:19:08 +09:00
,null scdtype
2020-10-12 14:39:23 +09:00
from lect a0
inner join pay e on e.payno=a0.payno and e.isgroup=1 and e.userno< > #userno# and e.pstatus=1
inner join lect a on a.payno=e.payno and a.status=1 and a.ischanged=0
inner join cm b on b.cmno=a.cmno and b.sstime < <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
where a0.userno=#userno# and a0.status=1 and a0.ischanged=0
2020-11-10 16:33:06 +09:00
<isNotNull property= "cshape" > and b.cshape=#cshape#</isNotNull>
2021-06-29 14:29:08 +09:00
order by case when setime < now() then 0 else 1 end desc,sortedate desc, edate desc,payno
2020-10-12 14:39:23 +09:00
</select>
<select id= "lect.myexams" parameterClass= "hashtable" resultClass= "examuser" >
select a.exno,a.userno,a.status,a.payno,a.pino,a.pstatus,a.epoint1,a.epoint2,a.epoint3,a.avrg,a.ispass,a.certdate,a.certindate
,b.exname,b.isopen,b.rstime,b.retime,b.estime,b.elocation,b.isresultopen
,c.certdate firstcertdate
,u.username,u.userid
,cc.cname gradename
from examuser a
inner join exam b on b.exno=a.exno <isNotNull property= "isresultopen" > and b.isresultopen=#isresultopen#</isNotNull>
left outer join examuserrenew c on c.exno=a.exno and c.userno=a.userno and c.isfirst=1
inner join users u on u.userno=a.userno
inner join comcode cc on cc.ccode=b.certgradecc
<dynamic prepend= "where" >
<isNotNull property= "userno" prepend= "and" > a.userno=#userno#</isNotNull>
<isNotNull property= "validstatus" prepend= "and" > a.status < 9 and a.pstatus < 8</isNotNull>
</dynamic>
order by a.cdt desc
</select>
<select id= "lect.myexamrenews" parameterClass= "hashtable" resultClass= "examuserrenew" >
select a.exno,a.userno,a.certtime,a.certdate,a.certindate,a.renewreason,a.isfirst,a.certidx
,b.username cnoname
from examuserrenew a
left outer join users b on b.userno=a.cno
where a.exno=#exno# and a.userno=#userno#
order by a.certdate desc
</select>
<select id= "lect.myexamrenewlects" parameterClass= "hashtable" resultClass= "lect" >
select a.*,b.cmno,b.oktime,b.iscomplete
from (
select distinct(c.cmno),c.cname,c.cshape
from examuser a
inner join exam b on b.exno=a.exno
inner join cm c on c.certcc=b.certcc and c.certgradecc=b.certgradecc and c.isdel=0 and c.isuse=1
inner join cg d on d.cgno = c.cgno and d.isuse=1 and d.isdel=0 and d.iscover=1
where a.exno=#exno# and a.userno=#userno#
)a
inner join lect b on b.cmno=a.cmno
where b.status=1 and b.iscomplete=1 and b.ischanged=0 and b.userno=#userno#
group by a.cmno,a.cname,a.cshape,b.oktime,b.iscomplete
limit 3
</select>
<select id= "lect.myalarm" parameterClass= "int" resultClass= "data" >
select 4 dtype,a.scdno intval,a.dday intval2,b.classno intval3,0 intval4,0 intval5,0 intval6,b.cmno intval7
,c.lectno longval,a.alno longval2
,b.cname strval,null strval2,null strval3
,a.atime time,null time2
from alarms a
inner join cm b on b.cmno=a.cmexno
inner join lect c on c.cmno=b.cmno and c.userno=a.userno and c.status=1 and c.ischanged=0
where a.userno=#userno# and date_add(a.atime, interval 3 month) > now() and a.scdno < 9 and a.isdel=0
order by a.atime desc
</select>
<select id= "lect.lectex.result" parameterClass= "hashtable" resultClass= "lectex" >
select a.etime,a.exname,a.tpoint fullpoint,a.isresultopen
,b.estart,b.eend,b.tpoint, b.udt
from cmex a
inner join lectex b on b.lectno=#lectno# and b.exno=a.exno
inner join lect c on c.lectno=b.lectno and c.userno=#userno#
where a.exno=#exno#
</select>
<select id= "lect.lectexq.result" parameterClass= "hashtable" resultClass= "lectexq" >
select d.atype,b.cpoint,b.dpoint,d.qtext,b.atext,d.qdesc,b.iscorrect,c.qno,b.eqno,b.qseq
from lectex a
inner join lect a2 on a2.lectno=a.lectno and a2.userno=#userno#
inner join lectexq b on b.lectno=a.lectno and b.exno=a.exno
inner join cmexq c on c.eqno=b.eqno
inner join question d on d.qno=c.qno
where a.lectno=#lectno# and a.exno=#exno#
order by b.qseq
</select>
<select id= "lect.lectexqqi.list" parameterClass= "string" resultClass= "questionitem" >
select a.qno,a.qitext,b.fileurl,a.isright,a.qino
from questionitem a
left outer join fileinfo b on b.fgno=a.fgno and b.isdel=0
where a.qno in ($qnos$) and a.isdel=0
order by a.qno, a.qino
</select>
<select id= "lect.lectexresult.rightrate" parameterClass= "string" resultClass= "cmexq" >
select a.eqno,sum(a.iscorrect)/count(a.eqno)*100 rightrate
from lectexq a
where a.eqno in ($eqnos$)
group by a.eqno
</select>
<select id= "lect.lectexresult.selectrate" parameterClass= "hashtable" resultClass= "cmexq" >
select a.eqno,sum(case when a.atext = b.atext then 1 else 0 end) / count(b.eqno) * 100 selectrate
from lectexq a
inner join lect a2 on a2.lectno=a.lectno and a2.userno=#userno#
inner join lectexq b on b.exno=a.exno and b.eqno=a.eqno
where a.lectno=#lectno# and a.exno=#exno#
group by a.eqno
</select>
<select id= "lect.myrecomm" parameterClass= "int" resultClass= "cm" >
select c.tyear,c.tseq,a.cmno,b.cshape,b.cname,b.rstime,b.retime,e.cgcode,b.isrefund
from (
select a.*
from (
select distinct b.ispre idx,c.cmno
from lect a
inner join cmrelay b on b.cmno=a.cmno
inner join cm c on c.ismaster=0 and c.pcmno=b.rcmno and c.rstime < now() and c.retime > now()
left outer join lect d on d.userno=a.userno and d.cmno=c.cmno
where a.userno=#userno# and a.status=1 and a.ischanged=0 and d.lectno is null
order by b.ispre,c.retime
limit 2
) a
union all
select a.*
from (
select 2 idx,c.cmno
from users a
inner join comcode b on b.ccode=a.ccposition
inner join cm c on c.ismaster=0 and c.rstime < now() and c.retime > now() and c.jobpositiongrade like concat('%',b.refcode,'%')
left outer join lect d on d.userno=a.userno and d.cmno=c.cmno
where a.userno=#userno# and d.lectno is null
order by c.retime
limit 2
) a
) a
inner join cm b on b.cmno=a.cmno
inner join term c on c.tmno=b.tmno
inner join cg d on d.cgno=b.cgno
inner join cg e on e.cgno=d.pcgno
order by a.idx,b.retime
limit 2
</select>
2020-11-17 16:57:10 +09:00
<update id= "lect.completetime.change" parameterClass= "hashtable" >
update lect set <include refid= "sql.up" > </include>
,completetime=#completetime#
where lectno=#lectno# and iscomplete=1;
</update>
2020-11-26 13:49:56 +09:00
<select id= "lect.attcert.check" parameterClass= "hashtable" resultClass= "data" >
select ifnull(a.isattcheck,0) intval,b.ischkatt intval2,c.ischkatt intval3
,CAST(AES_DECRYPT(UNHEX(b.mobile), <include refid= "sql.digest" > </include> ) AS char) strval
from lect a
inner join users b on b.userno = a.userno
inner join cm c on c.cmno = a.cmno
where a.lectno = #lectno#
</select>
2021-06-08 18:30:02 +09:00
<select id= "lect.lectinning.attcert.check" parameterClass= "hashtable" resultClass= "data" >
select ifnull(d.isattcheck,0) intval,b.ischkatt intval2,c.ischkatt intval3
,CAST(AES_DECRYPT(UNHEX(b.mobile), <include refid= "sql.digest" > </include> ) AS char) strval
,b.authplatform strval2
from lect a
inner join users b on b.userno = a.userno
inner join cm c on c.cmno = a.cmno
left outer join lectinning d on d.lectno = a.lectno and d.cmino = #cmino#
where a.lectno = #lectno# and a.userno = #userno#
</select>
2020-11-18 17:58:09 +09:00
<select id= "lect.lecture.document" parameterClass= "hashtable" resultClass= "lect" >
select a.*
from (
2021-07-12 15:32:18 +09:00
select a.lectno,a.userno,a.iscomplete,a.sdate,a.edate,a.status
2020-11-18 17:58:09 +09:00
,b.cmno,b.cname,b.cshape
,b.rstime,b.retime
,b.sstime,b.setime
,c.tyear,c.tseq
2020-11-26 13:35:01 +09:00
,u.username,u.userid
,ass.asname
2021-04-28 15:36:20 +09:00
,e.payno,e.pstatus,e.payamt,e.ptype,e.ispg,e.pgkey,e.payoktime,e.rstatus,e.iscashrct, e.isbill
2020-12-09 08:54:54 +09:00
,e2.pino,e2.payamt pipayamt,e2.itemname
2020-11-18 17:58:09 +09:00
,f.estart,f.eend
,cc.cname studyplacename
2020-12-30 11:11:52 +09:00
,cc.ccode studyplace
2021-07-09 09:53:57 +09:00
,pt.taxno,pt.taxdate taxdate2,pt.mgtkey,pt.iscancel,pt.statecode
2020-11-26 13:35:01 +09:00
,a.cdt
2021-08-23 15:10:15 +09:00
,e.cdt paycdt
2021-05-11 16:35:42 +09:00
,pv.cshrpgkey
2021-06-29 15:43:33 +09:00
,ifnull(pi.isrebate,0) isrebate
2020-11-18 17:58:09 +09:00
,row_number() over(order by a.cdt desc) rno
2021-05-11 16:35:42 +09:00
,count(a.lectno) over() pagetotalcount
2020-11-18 17:58:09 +09:00
from lect a
inner join cm b on b.cmno = a.cmno
inner join term c on c.tmno = b.tmno
inner join pay e on e.payno = a.payno
2021-06-29 15:43:33 +09:00
inner join payitem pi on pi.payno = a.payno
2020-12-09 08:54:54 +09:00
left outer join(
select c.payno,c.pino,c.payamt
,case c.ptype when 0 then c0.cname when 2 then c2.bkname when 4 then c0.cname when 3 then c3.exname else '-' end itemname
from lect a
inner join pay b on b.payno = a.payno
left outer join payitem c on c.payno = b.payno
left outer join cm c0 on c.ptype in (0,1,4) and c0.cmno=c.itemno
left outer join book c2 on c.ptype=2 and c2.bkno=c.itemno
left outer join exam c3 on c.ptype=3 and c3.exno=c.itemno
2021-08-23 15:10:15 +09:00
where a.status in (1,2) and a.ischanged = 0 <isNotNull property= "userno" > and a.userno = #userno#</isNotNull>
2020-12-09 08:54:54 +09:00
group by a.payno
) e2 on e2.payno = e.payno
2021-06-28 14:32:12 +09:00
left outer join pplog e1 on e1.pplno = e.pplno
2020-11-26 13:35:01 +09:00
left outer join users u on u.userno = a.userno
left outer join assign ass on ass.asno = u.asno
2020-11-18 17:58:09 +09:00
left outer join cminningscd f on f.cmisno = a.cmisno
left outer join comcode cc on cc.ccode = b.studyplace
2020-11-20 14:29:50 +09:00
left outer join paytax pt on pt.payno = e.payno and ifnull(pt.iscancel,0) =0
2021-05-11 16:35:42 +09:00
left outer join payvbankin pv on pv.payno = a.payno
2021-07-12 15:32:18 +09:00
where a.status in (1,2) and a.ischanged=0
2020-11-26 13:35:01 +09:00
<isNotNull property= "cdts" > and a.cdt > = #cdts#</isNotNull>
<isNotNull property= "cdte" > and a.cdt < = #cdte#</isNotNull>
<isNotNull property= "asname" > and ass.asname like concat('%',#asname#,'%')</isNotNull>
2020-11-26 14:12:50 +09:00
<isNotNull property= "asno" > and ass.asno = #asno#</isNotNull>
2020-11-26 13:35:01 +09:00
<isNotNull property= "userno" > and a.userno = #userno#</isNotNull>
2020-11-26 15:21:43 +09:00
<isNotNull property= "isrebates" > and ifnull(a.isrebate,0) in ($isrebates$)</isNotNull>
<isNotNull property= "username" > and u.username like concat('%',#username#,'%')</isNotNull>
<isNotNull property= "userid" > and u.userid like concat('%',#userid#,'%')</isNotNull>
<isNotNull property= "itemname" > and b.cname like concat('%',#itemname#,'%')</isNotNull>
2020-11-26 13:35:01 +09:00
<isNotNull property= "usernameiditemname" > and(u.username like concat('%',#usernameiditemname#,'%') or u.userid like concat('%',#usernameiditemname#,'%') or b.cname like concat('%',#usernameiditemname#,'%'))</isNotNull>
2020-11-18 17:58:09 +09:00
) a
<include refid= "sql.pagedynamic" > </include>
</select>
2021-01-04 15:38:45 +09:00
<select id= "lect.lecture.document.past" parameterClass= "hashtable" resultClass= "lect" >
select no lectno,substr(a.cshape,1,3) cshapename2,a.cgname cname,a.ssdate sstime,a.sedate setime
,case when a.rprice> 0 then 1 else 0 end isrebate
from docprintpast a
2021-05-21 14:56:55 +09:00
inner join users b on b.userpno= a.userpno
2021-01-04 15:38:45 +09:00
where userno = #userno#
</select>
2020-11-24 13:19:48 +09:00
<update id= "lect.drop2day" parameterClass= "hashtable" >
update pay a
inner join lect b on b.payno = a.payno and b.cmno = #cmno# and b.ischanged=0 and ifnull(b.isready,0) = 1 and b.status = 4 and DATE_ADD(b.oktime, INTERVAL 2 DAY) < <include refid= "sql.now" > </include>
set a.pstatus = 52, a.udt = now(), a.uno = #uno#, a.uip = #uip#;
update payitem a
inner join pay b on b.payno = a.payno and b.pstatus = 52
inner join lect c on c.payno = b.payno and c.cmno = #cmno# and c.ischanged=0 and ifnull(c.isready,0) = 1 and c.status = 4 and DATE_ADD(c.oktime, INTERVAL 2 DAY) < <include refid= "sql.now" > </include>
set a.pstatus = b.pstatus, a.udt = now(), a.uno = #uno#, a.uip = #uip#;
update lect
set status = 5, oktime = now(), udt = now(), uno = #uno#, uip = #uip#
where cmno = #cmno# and ifnull(isready,0) = 1 and ischanged=0 and status = 4 and DATE_ADD(oktime, INTERVAL 2 DAY) < <include refid= "sql.now" > </include>
</update>
2020-11-30 14:13:00 +09:00
<update id= "lect.isatt.in" parameterClass= "hashtable" >
update lect
set isattcheck = 1,
lakey = #lakey#,
latime = now()
where lectno = #lectno#
</update>
2021-06-08 18:30:02 +09:00
<update id= "lect.lectinning.isatt.in" parameterClass= "hashtable" >
update lectinning a
inner join lect b on b.lectno=a.lectno and b.userno=#userno#
set a.isattcheck = #isattcheck#,a.udt=now(),a.uno=#uno#,a.uip=#uip#
where a.lectno=#lectno# and a.cmino=#cmino#;
2020-12-02 16:02:10 +09:00
2021-06-08 18:30:02 +09:00
insert into lectinning (lectno,cmino,totstudy,stime,etime,istatus,finishtime,sip,eip,ispcs,ispce,pseq,psec,isattcheck,<include refid= "sql.inc" > </include> )
select #lectno#,a.cmino,0,now(),now(),case when a.atime=0 then 2 else 0 end,case when a.atime=0 then now() else null end,#uip#,#uip#,1,null,ctp.pseq,0,#isattcheck#,<include refid= "sql.inv" > </include>
from cminning a
inner join ctpage ctp on ctp.ctno=a.ctno and ctp.isdel=0 and ctp.pseq=1
left outer join lectinning b on b.lectno=#lectno# and b.cmino=#cmino#
where a.cmino=#cmino# and b.lectno is null;
</update>
2020-12-02 16:02:10 +09:00
<update id= "lect.cmisno.up" parameterClass= "hashtable" >
update lect
set cmisno = #cmisno#
2021-08-23 15:10:15 +09:00
where lectno = #lectno#;
update pplog a
left outer join (
select a.lectno,a.payno,b.pplno,a.cmisno
from lect a
inner join pay b on b.payno = a.payno
where a.lectno = #lectno#
) b on b.pplno = a.pplno
set a.cmisno = b.cmisno
where b.lectno = #lectno#;
2021-11-03 15:19:08 +09:00
update lect a
left outer join cminningscd b on b.cmisno = a.cmisno
2021-11-10 08:49:31 +09:00
set a.edate = case when a.edate is not null then case when b.eend is not null then b.eend else a.edate end else a.edate end
2021-11-03 15:19:08 +09:00
where a.lectno = #lectno#;
2020-12-02 16:02:10 +09:00
</update>
2021-08-23 15:10:15 +09:00
<select id= "lect.checkuser.cmisno" parameterClass= "hashtable" resultClass= "int" >
select count(c.cmisno )
from lect a
inner join cminningscd b on b.cmisno = a.cmisno
left outer join cminningscd c on c.cmisno = #cmisno# and date_format(c.estart ,'%Y%m%d') = date_format(b.estart ,'%Y%m%d')
where a.status in (1,2) and a.ischanged =0
<isNotNull property= "userno" > and a.userno = #userno#</isNotNull>
</select>
<select id= "lect.lectinning.new" parameterClass= "hashtable" resultClass= "data" >
select a.logno longval
,a.lectno intval,a.cmino intval2,max(a.intval+a.intval2) intval3
,a.strval,a.strval2,a.intval3 intval4
from(
select a.logno,a.lectno,a.cmino
2021-09-10 14:02:05 +09:00
,case when b.edate < <include refid= "sql.now" > </include> then 0 when b.status < > 1 then 0 else case when a.stime = a.etime then 1 else 0 end end intval
,case when b.edate < <include refid= "sql.now" > </include> then 0 when b.status < > 1 then 0 else case when (timestampdiff(second,a.stime,a.etime)%300) = 0 then 1 else 0 end end intval2
2021-08-23 15:10:15 +09:00
,c.cname strval,d.ititle strval2,d.iseq intval3
from lectinningpage a
inner join lect b on b.lectno = a.lectno
inner join cm c on c.cmno = b.cmno
inner join cminning d on d.cmino = a.cmino
where b.userno = #userno#
order by a.cdt desc
limit 1
) a
</select>
2021-11-03 15:19:08 +09:00
<select id= "lect.eqno.listforcheck" parameterClass= "string" resultClass= "questionitem" >
select e.qno,b.eqno,e.qino,e.qitext,d.atype,c.atext,d.ispassspace,d.isignorecase
from cmex a
inner join cmexq b on b.exno = a.exno
inner join lectexq c on c.eqno = b.eqno
inner join question d on d.qno = b.qno
inner join questionitem e on e.qno = d.qno
where e.isright =1 and e.isdel=0
<isNotNull property= "exno" > and a.exno = #exno#</isNotNull>
<isNotNull property= "lectno" > and c.lectno = #lectno#</isNotNull>
<isNotEmpty property= "eqnos" > and b.eqno in ($eqnos$)</isNotEmpty>
order by e.qno,e.qino
</select>
2020-10-12 14:39:23 +09:00
</statements>
</sqlMap>