1640 lines
101 KiB
XML
1640 lines
101 KiB
XML
<?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="document" type="NP.Model.document, NP.Model" />
|
|
<typeAlias alias="textvalue" type="NP.Model.textvalue, NP.Model" />
|
|
<typeAlias alias="completion" type="NP.Model.Completion, NP.Model" />
|
|
</alias>
|
|
<cacheModels>
|
|
<cacheModel id="croomCache" implementation="LRU" >
|
|
<flushInterval hours="1" />
|
|
<property name="CacheSize" value="1000" />
|
|
</cacheModel>
|
|
</cacheModels>
|
|
<resultMaps></resultMaps>
|
|
<statements>
|
|
<select id="cr.main.mygrade" parameterClass="hashtable" resultClass="lect">
|
|
select b.lectno, b.isrebate,b.iscomplete,b.attrate
|
|
,a.apoint
|
|
,a.ex0cnt,a.ex0lectcnt,a.ex0lectpoint,a.mpoint
|
|
,a.ex1cnt,a.ex1lectcnt,a.ex1lectpoint,a.fpoint
|
|
,a.sd0cnt,a.sd0lectcnt,a.sd0lectpoint,a.spoint
|
|
,a.sd1cnt,a.sd1lectcnt,a.sd1lectpoint,a.dpoint
|
|
,a.rs0cnt,a.rs0lectcnt,a.rs0lectpoint
|
|
,case when b.isrebate = 1 then d.attendcutrfd else d.attendcut end acut
|
|
,case when b.isrebate = 1 then d.midcutrfd else d.midcut end mcut
|
|
,case when b.isrebate = 1 then d.finalcutrfd else d.finalcut end fcut
|
|
,case when b.isrebate = 1 then d.subjectcutrfd else d.subjectcut end scut
|
|
,case when b.isrebate = 1 then d.discusscutrfd else d.discusscut end dcut
|
|
,case when b.isrebate = 1 then d.cutrfd else d.cut end cut
|
|
,case when b.isrebate = 1 then d.attendrfd else d.attend end attend
|
|
,case when b.isrebate = 1 then d.midrfd else d.mid end mid
|
|
,case when b.isrebate = 1 then d.finalrfd else d.final end final
|
|
,case when b.isrebate = 1 then d.subjectrfd else d.subject end subject
|
|
,case when b.isrebate = 1 then d.discussrfd else d.discuss end discuss
|
|
|
|
,case when b.isrebate = 1 then d.attendrfd else d.attend end aportion
|
|
,case when b.isrebate = 1 then d.midrfd else d.mid end mportion
|
|
,case when b.isrebate = 1 then d.finalrfd else d.final end fportion
|
|
,case when b.isrebate = 1 then d.subjectrfd else d.subject end sportion
|
|
,case when b.isrebate = 1 then d.discussrfd else d.discuss end dportion
|
|
from (
|
|
<include refid="grade.query"></include>
|
|
) a
|
|
inner join lect b on b.lectno=a.lectno
|
|
inner join users u on u.userno=b.userno
|
|
inner join cmev d on d.cmno=b.cmno
|
|
</select>
|
|
<select id="cr.main.boardalarm" parameterClass="hashtable" resultClass="data">
|
|
select a.*
|
|
from (
|
|
select a.*
|
|
from (
|
|
select a.dtype,a.intval,a.intval2,a.intval3,a.intval4,a.intval5,a.intval6,a.intval7
|
|
,a.longval,0 longval2
|
|
,a.strval,a.strval2,a.strval3,a.strval4
|
|
,a.time,a.time2
|
|
,a.rno
|
|
from (
|
|
select 3 dtype
|
|
,2 intval,c.iseq intval2,b.classno intval3,0 intval4,0 intval5,0 intval6,a.cmno intval7
|
|
,a.lectno longval
|
|
,b.cname strval,b.studyplace 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,bc.cname strval4
|
|
,a.sdate time,a.edate 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
|
|
left outer join comcode bc on bc.ccode=b.studyplace
|
|
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.lectno=#lectno# and a.userno=#userno# and a.status=1 and a.ischanged=0
|
|
) a
|
|
where a.rno2=1
|
|
union all
|
|
select a.dtype,a.intval,a.intval2,a.intval3,a.intval4,a.intval5,a.intval6,a.intval7
|
|
,a.longval,0 longval2
|
|
,a.strval,a.strval2,a.strval3,a.strval4
|
|
,a.time,a.time2
|
|
,a.rno
|
|
from (
|
|
select 3 dtype
|
|
,3 intval,0 intval2,b.classno intval3,c.extype intval4,0 intval5,0 intval6,a.cmno intval7
|
|
,a.lectno longval
|
|
,b.cname strval,b.studyplace strval2,null strval3,bc.cname strval4
|
|
,a.sdate time,a.edate 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>
|
|
left outer join comcode bc on bc.ccode=b.studyplace
|
|
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.lectno=#lectno# and a.userno=#userno# and a.status=1 and a.ischanged=0 and d.lectno is null
|
|
) a
|
|
where a.rno2=1
|
|
union all
|
|
select a.dtype,a.intval,a.intval2,a.intval3,a.intval4,a.intval5,a.intval6,a.intval7
|
|
,a.longval,0 longval2
|
|
,a.strval,a.strval2,a.strval3,a.strval4
|
|
,a.time,a.time2
|
|
,a.rno
|
|
from (
|
|
select 3 dtype
|
|
,4 intval,0 intval2,b.classno intval3,0 intval4,0 intval5,0 intval6,a.cmno intval7
|
|
,a.lectno longval
|
|
,b.cname strval,b.studyplace strval2,null strval3,bc.cname strval4
|
|
,a.sdate time,a.edate 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>
|
|
left outer join comcode bc on bc.ccode=b.studyplace
|
|
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.lectno=#lectno# and a.userno=#userno# and a.status=1 and a.ischanged=0 and d.lectno is null
|
|
) a
|
|
where a.rno2=1
|
|
union all
|
|
select a.dtype,a.intval,a.intval2,a.intval3,a.intval4,a.intval5,a.intval6,a.intval7
|
|
,a.longval,0 longval2
|
|
,a.strval,a.strval2,a.strval3,a.strval4
|
|
,a.time,a.time2
|
|
,a.rno
|
|
from (
|
|
select 3 dtype
|
|
,5 intval,0 intval2,b.classno intval3,0 intval4,0 intval5,0 intval6,a.cmno intval7
|
|
,a.lectno longval
|
|
,b.cname strval,b.studyplace strval2,null strval3,bc.cname strval4
|
|
,a.sdate time,a.edate 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>
|
|
left outer join comcode bc on bc.ccode=b.studyplace
|
|
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.lectno=#lectno# and a.userno=#userno# and a.status=1 and a.ischanged=0
|
|
group by b.classno,a.cmno,a.lectno,b.cname,b.studyplace,b.sstime,b.setime,c.cdt,bc.cname
|
|
having count(d.lectno) < 1
|
|
) a
|
|
where a.rno2=1
|
|
) a
|
|
limit 3
|
|
) a
|
|
<isNotNull property="bmnos">
|
|
union all
|
|
select a.*
|
|
from (
|
|
select 100 dtype,a.bmno intval,0 intval2,0 intval3,0 intval4,0 intval5,0 intval6,0 intval7
|
|
,a.bno longval,0 longval2
|
|
,b.bmname strval,a.subject strval2,null strval3,null strval4
|
|
,a.cdt time,null time2
|
|
,row_number() over(order by a.cdt desc) rno
|
|
from board a
|
|
inner join boardmaster b on b.bmno=a.bmno
|
|
where a.bmno in ($bmnos$) and a.isdel=0 and a.issecr=0 and a.isopen=1 and a.cmno=#cmno#
|
|
order by a.cdt desc
|
|
limit 3
|
|
) a
|
|
</isNotNull>
|
|
</select>
|
|
<select id="cr.cminnings" parameterClass="hashtable" resultClass="lectinning">
|
|
select a.lectno,a.cmno,a.isrebate
|
|
,a2.isseq,a2.cshape
|
|
,case when a.sdate is null then a2.sstime else a.sdate end as sdate
|
|
,case when a.edate is null then a2.setime else a.edate end as edate
|
|
,b.cmino,b.iseq,b.isonline,b.ititle,b.sttime,b.idate,b.ist,b.iet,b.icontent
|
|
,scd.estart,scd.eend,com.cname
|
|
,cp.istatus preistatus
|
|
,c.totstudy,c.istatus,c.stime, c.lectno existslectinning
|
|
,case when b.isonline=1 then d.tfurl else null end tfurl
|
|
,case when b.isonline=1 then df.fileurl else df3.fileurl end fileurl
|
|
,case when b.isonline=1 then df.fileno else df3.fileno end fileno
|
|
<!--,concat('/', d.ccode, '/', e.srcp) tasteurl-->
|
|
,df2.fileurl tasteurl
|
|
from lect a
|
|
inner join cm a2 on a2.cmno=a.cmno
|
|
inner join cminning b on b.cmno=a2.cmno
|
|
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino
|
|
left outer join cminning bp on bp.cmno=b.cmno and bp.iseq=b.iseq-1
|
|
left outer join lectinning cp on cp.lectno=a.lectno and cp.cmino=bp.cmino
|
|
left outer join ct d on b.isonline = 1 and d.ctno=b.ctno <!--and d.ctype=0-->
|
|
left outer join fileinfo df2 on b.isonline=1 and df2.fgno=d.fgnothumb and df2.isdel=0
|
|
left outer join fileinfo df on b.isonline=1 and df.fgno=d.fgnotf and df.isdel=0
|
|
left outer join fileinfo df3 on b.isonline=0 and df3.fgno=b.fgnotf and df3.isdel=0
|
|
left outer join ctpage e on e.ctno=d.ctno and e.pseq=1
|
|
left outer join cminningscd scd on a.cmisno = scd.cmisno
|
|
left outer join comcode com on scd.studyplace = com.ccode
|
|
where a.lectno=#lectno# and a.userno=#userno#
|
|
<isNotNull property="notstudy">and ifnull(c.istatus,0) < 2 and a.sdate < now() and a.edate > now()</isNotNull>
|
|
order by b.iseq
|
|
<isNotNull property="limit">limit $limit$</isNotNull>
|
|
</select>
|
|
<select id="cr.lectinnings" parameterClass="hashtable" resultClass="lectinning">
|
|
select a.lectno,a.cmino,a.finishtime,a.istatus
|
|
from lectinning a
|
|
where a.lectno=#lectno#
|
|
<isNotNull property="isfinishtoday">
|
|
and (a.istatus=2 and a.finishtime is not null and date_format(a.finishtime, '%y%m%d')=date_format(now(), '%y%m%d'))
|
|
</isNotNull>
|
|
</select>
|
|
<insert id="cr.lectinningpage.in" parameterClass="lectinningpage">
|
|
update lectinning a
|
|
inner join lect b on b.lectno=a.lectno and b.userno=#userno#
|
|
inner join cminning cmi on cmi.cmino=a.cmino
|
|
inner join ctpage ctp on ctp.ctno=cmi.ctno and ctp.isdel=0
|
|
<isGreaterThan property="pseq" compareValue="0">and ctp.pseq=#pseq#</isGreaterThan>
|
|
<isGreaterThan property="cpno" compareValue="0">and ctp.cpno=#cpno#</isGreaterThan>
|
|
<isGreaterThan property="isrelay" compareValue="0">and ctp.pseq=a.pseq</isGreaterThan>
|
|
set a.etime=now(),a.eip=now(),a.ispce=#ispc#
|
|
,a.pseq=ctp.pseq
|
|
,a.psec=case when a.pseq=ctp.pseq then a.psec else 0 end
|
|
,a.udt=now(),a.uno=#uno#,a.uip=#uip#
|
|
where a.lectno=#lectno# and a.cmino=#cmino#;
|
|
|
|
insert into lectinning (lectno,cmino,totstudy,stime,etime,istatus,finishtime,sip,eip,ispcs,ispce,pseq,psec,<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#,#ispc#,#ispc#,ctp.pseq,0,<include refid="sql.inv"></include>
|
|
from cminning a
|
|
inner join ctpage ctp on ctp.ctno=a.ctno and ctp.isdel=0
|
|
<isGreaterThan property="pseq" compareValue="0">and ctp.pseq=#pseq#</isGreaterThan>
|
|
<isGreaterThan property="cpno" compareValue="0">and ctp.cpno=#cpno#</isGreaterThan>
|
|
<isGreaterThan property="isrelay" compareValue="0">and ctp.pseq=1</isGreaterThan>
|
|
left outer join lectinning b on b.lectno=#lectno# and b.cmino=#cmino#
|
|
where a.cmino=#cmino# and b.lectno is null;
|
|
|
|
update lect a
|
|
inner join (
|
|
select a.lectno,truncate(count(c.lectno) / count(b.cmino) * 100, 0) attrate
|
|
from lect a
|
|
inner join cminning b on b.cmno=a.cmno
|
|
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino and c.istatus=2
|
|
where a.lectno=#lectno# and a.userno=#userno#
|
|
group by a.lectno
|
|
) b on b.lectno=a.lectno
|
|
set a.attrate=b.attrate
|
|
,a.stime=case when a.stime is null then now() else a.stime end
|
|
,a.etime=now()
|
|
,a.sip=case when a.sip is null then #uip# else a.sip end
|
|
,a.eip=#uip#
|
|
,a.ispcs=case when a.ispcs is null then #ispc# else a.ispcs end
|
|
,a.ispce=#ispc#
|
|
,udt=now(),uno=#uno#,uip=#uip#
|
|
where a.lectno=#lectno# and a.userno=#userno#;
|
|
|
|
SELECT * FROM (SELECT LAST_INSERT_ID(0) col1) a WHERE col1 > 0;
|
|
|
|
insert into lectinningpage(lectno,cmino,cpno,totstudy,stime,etime,sip,eip,ispc,webkitinfo,<include refid="sql.inc"></include>)
|
|
select b.lectno,a.cmino,p.cpno,0,now(),now(),#uip#,#uip#,#ispc#,#webkitinfo#,<include refid="sql.inv"></include>
|
|
from cminning a
|
|
inner join lectinning li on li.lectno=#lectno# and li.cmino=a.cmino
|
|
inner join ct ct on ct.ctno=a.ctno
|
|
inner join ctpage p on p.ctno=ct.ctno and p.isdel=0
|
|
<isGreaterThan property="pseq" compareValue="0">and p.pseq=#pseq#</isGreaterThan>
|
|
<isGreaterThan property="cpno" compareValue="0">and p.cpno=#cpno#</isGreaterThan>
|
|
<isGreaterThan property="isrelay" compareValue="0">and p.pseq=li.pseq</isGreaterThan>
|
|
inner join lect b on b.lectno=#lectno# and b.userno=#userno# and b.cmno=a.cmno and b.status=1 and b.ischanged=0
|
|
where a.cmino=#cmino# and b.sdate < now() and b.edate > now()
|
|
<selectKey type="post" property="logno" resultClass="long">SELECT last_insert_id()</selectKey>
|
|
</insert>
|
|
<select id="cr.ctps" parameterClass="hashtable" resultClass="ctp">
|
|
select a.cmino,a.iseq,a.ititle,a.atime,a.mstime,a.metime
|
|
,a2.isokmid
|
|
,b.ctno,b.ctype,b.ccode,b.ismenu,b.isoversize
|
|
,c.cpno,c.pseq,c.cpname,c.srcp,c.srcm
|
|
,a2.pseq lastpseq,a2.psec
|
|
from cminning a
|
|
inner join lectinning a2 on a2.lectno=#lectno# and a2.cmino=a.cmino
|
|
inner join ct b on b.ctno=a.ctno and b.isdel=0
|
|
inner join ctpage c on c.ctno=b.ctno and c.isdel=0
|
|
where a.cmino=#cmino#
|
|
order by a.iseq
|
|
</select>
|
|
<select id="cr.getprogress" parameterClass="hashtable" resultClass="int">
|
|
select case when b.atime=0 then 100
|
|
else case when floor(a.totstudy / (b.sttime * 60) * 100) > 100 then 100 else floor(a.totstudy / (b.sttime * 60) * 100) end end
|
|
from lectinning a
|
|
inner join cminning b on b.cmino=a.cmino
|
|
where a.lectno=#lectno# and a.cmino=#cmino#
|
|
</select>
|
|
<select id="cr.checklectdate" parameterClass="hashtable" resultClass="lect">
|
|
select a.lectno,a.sdate,a.edate
|
|
from lect a
|
|
where a.lectno=#lectno#
|
|
</select>
|
|
<update id="cr.studylog" parameterClass="hashtable">
|
|
update lectinningpage a
|
|
inner join lect b on b.lectno=a.lectno and b.userno=#userno#
|
|
set a.totstudy=TIMESTAMPDIFF(SECOND, a.stime, now()),a.etime=now(),a.eip=#uip#,a.udt=now(),a.uno=#uno#,a.uip=#uip#
|
|
where a.logno=#logno#;
|
|
|
|
update lectinning a
|
|
inner join lect b on b.lectno=a.lectno and b.userno=#userno#
|
|
inner join cminning c on c.cmino=a.cmino
|
|
inner join (
|
|
select lectno,sum(totstudy) totstudy from lectinningpage where lectno=#lectno# and cmino=#cmino# group by lectno
|
|
) d on d.lectno=a.lectno
|
|
set a.udt=now(),a.uno=#uno#,a.uip=#uip#
|
|
,a.totstudy=d.totstudy
|
|
,a.etime=now()
|
|
,a.istatus=case when a.istatus <> 2 and c.atime * 60 <= d.totstudy then 2 else a.istatus end
|
|
,a.finishtime=case when a.finishtime is null and c.atime * 60 <= d.totstudy then now() else a.finishtime end
|
|
,a.eip=#uip#,a.ispce=#ispc#
|
|
,a.psec=#psec#
|
|
where a.lectno=#lectno# and a.cmino=#cmino#;
|
|
|
|
update lect a
|
|
inner join (
|
|
select a.lectno,truncate(count(c.lectno) / count(b.cmino) * 100, 0) attrate
|
|
from lect a
|
|
inner join cminning b on b.cmno=a.cmno
|
|
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino and c.istatus=2
|
|
where a.lectno=#lectno# and a.userno=#userno#
|
|
group by a.lectno
|
|
) b on b.lectno=a.lectno
|
|
set a.attrate=b.attrate
|
|
,a.etime=now()
|
|
,a.eip=#uip#
|
|
,a.ispce=#ispc#
|
|
,udt=now(),uno=#uno#,uip=#uip#
|
|
where a.lectno=#lectno# and a.userno=#userno#;
|
|
</update>
|
|
<select id="cr.inningchange.pre" parameterClass="hashtable" resultClass="lectinning">
|
|
select a.cmino,b.isseq,c.istatus,d.istatus preistatus,a.isrebate,a.iseq,a2.cmino precmino
|
|
from (
|
|
select a.lectno,a.cmno,a.isrebate,b.cmino,b.iseq,max(c.iseq) preiseq
|
|
from (
|
|
select a.lectno,b.cmno,b.isrebate,max(d.iseq) iseq
|
|
from lectinning a
|
|
inner join lect b on b.lectno=a.lectno
|
|
inner join cminning c on c.cmino=a.cmino
|
|
inner join cminning d on d.cmno=c.cmno and d.iseq < c.iseq and d.isonline=1
|
|
where a.lectno=#lectno# and a.cmino=#cmino#
|
|
group by a.lectno,b.cmno,b.isrebate
|
|
) a
|
|
inner join cminning b on b.cmno=a.cmno and b.iseq=a.iseq
|
|
left outer join cminning c on c.cmno=b.cmno and c.iseq < b.iseq and c.isonline=1
|
|
group by a.lectno,a.cmno,a.isrebate,b.cmino,b.iseq
|
|
) a
|
|
inner join cm b on b.cmno=a.cmno
|
|
left outer join cminning a2 on a2.cmno=b.cmno and a2.iseq=a.preiseq
|
|
left outer join lectinning c on c.lectno=a.lectno and c.cmino=a.cmino
|
|
left outer join lectinning d on d.lectno=a.lectno and d.cmino=a2.cmino
|
|
</select>
|
|
<select id="cr.inningchange.next" parameterClass="hashtable" resultClass="lectinning">
|
|
select a.cmino,b.isseq,c.istatus,d.istatus preistatus,a.isrebate,a.iseq,a2.cmino precmino
|
|
from (
|
|
select a.lectno,a.cmno,a.isrebate,b.cmino,b.iseq,min(c.iseq) preiseq
|
|
from (
|
|
select a.lectno,b.cmno,b.isrebate,min(d.iseq) iseq
|
|
from lectinning a
|
|
inner join lect b on b.lectno=a.lectno
|
|
inner join cminning c on c.cmino=a.cmino
|
|
inner join cminning d on d.cmno=c.cmno and d.iseq > c.iseq and d.isonline=1
|
|
where a.lectno=#lectno# and a.cmino=#cmino#
|
|
group by a.lectno,b.cmno,b.isrebate
|
|
) a
|
|
inner join cminning b on b.cmno=a.cmno and b.iseq=a.iseq
|
|
left outer join cminning c on c.cmno=b.cmno and c.iseq > b.iseq and c.isonline=1
|
|
group by a.lectno,a.cmno,a.isrebate,b.cmino,b.iseq
|
|
) a
|
|
inner join cm b on b.cmno=a.cmno
|
|
left outer join cminning a2 on a2.cmno=b.cmno and a2.iseq=a.preiseq
|
|
left outer join lectinning c on c.lectno=a.lectno and c.cmino=a.cmino
|
|
left outer join lectinning d on d.lectno=a.lectno and d.cmino=a2.cmino
|
|
</select>
|
|
<select id="cr.ctpage.iframe" parameterClass="hashtable" resultClass="string">
|
|
select $src$ from ctpage where cpno=#cpno#
|
|
</select>
|
|
<update id="cr.studymid" parameterClass="hashtable">
|
|
update lectinning set isokmid=1 where lectno=#lectno# and cmino=#cmino#
|
|
</update>
|
|
<select id="cr.mycmrs" parameterClass="hashtable" resultClass="cmrs">
|
|
select distinct a.lectno,a.attrate
|
|
,b.rsno,b.cmno,b.rscno,b.rstype,b.rsname,b.rscondition
|
|
,case when c.lectno is null then 0 else 1 end isrsok
|
|
,a.edate
|
|
from lect a
|
|
inner join cmrs b on b.cmno=a.cmno and b.isdel=0
|
|
left outer join lectrs c on c.lectno=a.lectno and c.rsno=b.rsno
|
|
where a.lectno=#lectno# and a.userno=#userno#
|
|
order by b.cdt
|
|
</select>
|
|
<select id="cr.mycmrsq" parameterClass="hashtable" resultClass="rscq">
|
|
select b.rscno,b.rscqno
|
|
,c.qno,c.atype,c.qtext,c.rightcount
|
|
from (
|
|
select distinct b.rscno
|
|
from lect a
|
|
inner join cmrs b on b.rsno=#rsno# and b.cmno=a.cmno and b.isdel=0
|
|
left outer join lectrs c on c.lectno=a.lectno and c.rsno=b.rsno
|
|
where a.lectno=#lectno# and a.userno=#userno# and c.lectno is null
|
|
) a
|
|
inner join rscq b on b.rscno=a.rscno
|
|
inner join question c on c.qno=b.qno
|
|
order by b.dseq
|
|
</select>
|
|
<select id="cr.mycmrsqi" parameterClass="hashtable" resultClass="rscq">
|
|
select b.rscqno
|
|
,c.qno
|
|
,d.qino,d.qitext
|
|
,e.fileurl
|
|
from (
|
|
select distinct b.rscno
|
|
from lect a
|
|
inner join cmrs b on b.rsno=#rsno# and b.cmno=a.cmno and b.isdel=0
|
|
left outer join lectrs c on c.lectno=a.lectno and c.rsno=b.rsno
|
|
where a.lectno=#lectno# and a.userno=#userno# and c.lectno is null
|
|
) a
|
|
inner join rscq b on b.rscno=a.rscno
|
|
inner join question c on c.qno=b.qno
|
|
inner join questionitem d on d.qno=c.qno and d.isdel=0
|
|
left outer join fileinfo e on e.fgno=d.fgno and e.isdel=0
|
|
order by b.dseq,d.qino
|
|
</select>
|
|
<update id="cr.lectrs.in" parameterClass="lectrs">
|
|
insert into lectrs(lectno,rsno,rscno,rscqno,qno,atext,<include refid="sql.inc"></include>)
|
|
select a.lectno,b.rsno,b.rscno,c.rscqno,c.qno,c.atext,<include refid="sql.inv"></include>
|
|
from lect a
|
|
inner join cmrs b on b.rsno=#rsno#
|
|
left outer join lectrs a0 on a0.lectno=a.lectno and a0.rsno=b.rsno
|
|
inner join (
|
|
<iterate property="Ds" open="" conjunction="union all" close=""> select a.rscqno,a.qno,#Ds[].atext# atext from rscq a where a.rscqno=#Ds[].rscqno# </iterate>
|
|
) c on c.rscqno is not null
|
|
where a.lectno=#lectno# and a.userno=#userno# and a0.lectno is null
|
|
</update>
|
|
<select id="cr.myestimation" parameterClass="hashtable" resultClass="data">
|
|
select a.*
|
|
from (
|
|
select 0 dtype
|
|
,null strval,0 intval10
|
|
,0 intval,0 intval2,0 intval3,0 intval4
|
|
,0 rno
|
|
,null time
|
|
from (select 1 col1) a
|
|
where a.col1=0
|
|
<isNotNull property="exam">
|
|
union all
|
|
select b.extype dtype
|
|
,b.exname strval,b.exno intval10
|
|
<!--,case when a2.sstime < now() and a2.setime > now() then a.attrate else -1 end intval,b.econdition intval2-->
|
|
,case when a.sdate < now() and a.edate > now() then a.attrate else -1 end intval,b.econdition intval2
|
|
,case when c.eend is null then 0 else 1 end intval3
|
|
,null intval4
|
|
,row_number() over (partition by b.extype order by b.extype, b.cdt) rno
|
|
,a.edate time
|
|
from lect a
|
|
inner join cm a2 on a2.cmno=a.cmno
|
|
inner join cmex b on b.cmno=a.cmno and b.isdel=0
|
|
left outer join lectex c on c.lectno=a.lectno and c.exno=b.exno
|
|
where a.lectno=#lectno# and a.userno=#userno#
|
|
</isNotNull>
|
|
<isNotNull property="subject">
|
|
union all
|
|
select 2 dtype
|
|
,b.sdname strval,b.sdno intval10
|
|
<!--,case when a2.sstime < now() and a2.setime > now() then a.attrate else -1 end intval,b.sdcondition intval2-->
|
|
,case when a.sdate < now() and a.edate > now() then a.attrate else -1 end intval,b.sdcondition intval2
|
|
,case when c.submittime is null then 0 else 1 end intval3
|
|
,case when c.checktime is null then 0 else 1 end intval4
|
|
,row_number() over (order by b.cdt) rno
|
|
,a.edate time
|
|
from lect a
|
|
inner join cm a2 on a2.cmno=a.cmno
|
|
inner join cmsd b on b.cmno=a.cmno and b.sdtype=0 and b.isdel=0
|
|
left outer join lectsd c on c.lectno=a.lectno and c.sdno=b.sdno
|
|
where a.lectno=#lectno# and a.userno=#userno#
|
|
</isNotNull>
|
|
<isNotNull property="discuss">
|
|
union all
|
|
select 3 dtype
|
|
,b.sdname strval,b.sdno intval10
|
|
<!--,case when a2.sstime < now() and a2.setime > now() then a.attrate else -1 end intval,b.sdcondition intval2-->
|
|
,case when a.sdate < now() and a.edate > now() then a.attrate else -1 end intval,b.sdcondition intval2
|
|
,case when count(d.bno) > 0 then 1 else 0 end intval3
|
|
,case when c.checktime is null then 0 else 1 end intval4
|
|
,row_number() over (order by b.cdt) rno
|
|
,a.edate time
|
|
from lect a
|
|
inner join cm a2 on a2.cmno=a.cmno
|
|
inner join cmsd b on b.cmno=a.cmno and b.sdtype=1 and b.isdel=0
|
|
left outer join lectsd c on c.lectno=a.lectno and c.sdno=b.sdno
|
|
left outer join lectsdboard d on d.lectno=a.lectno and d.sdno=b.sdno and d.isdel=0
|
|
where a.lectno=#lectno# and a.userno=#userno#
|
|
group by b.sdname,b.sdno,a2.sstime,a2.setime,a.attrate,b.sdcondition,c.checktime,b.cdt
|
|
</isNotNull>
|
|
) a
|
|
order by a.dtype,a.rno
|
|
</select>
|
|
<select id="cr.lectex" parameterClass="hashtable" resultClass="lectex">
|
|
select a.lectno,a.attrate,a.iscomplete
|
|
,b.sstime,b.setime
|
|
,c.exno,c.exname,c.extype,c.edesc,c.econdition,c.etime,c.evtype,c.eqtype,c.israndq,c.israndqi,c.qcount,c.isblur,c.tpoint,ifnull(c.relaylimit,999) relaylimit,c.isusebackup,c.isseq,c.isreexamable,c.isresultopen
|
|
,d.lectno exlectno,d.estart,d.eend,d.tpoint,d.recount,d.rechecktime,ifnull(d.entercount,0) entercount,d.cblock
|
|
,case when a.etime = 0 then 99999999 else TIMESTAMPDIFF(MINUTE, now(), date_add(ifnull(d.estart, now()), interval c.etime MINUTE)) end rtime
|
|
,d.recount
|
|
from lect a
|
|
inner join cm b on b.cmno=a.cmno
|
|
inner join cmex c on c.exno=#exno#
|
|
left outer join lectex d on d.lectno=a.lectno and d.exno=c.exno
|
|
where a.lectno=#lectno# and a.userno=#userno#
|
|
</select>
|
|
<select id="cr.userexamdata.start" parameterClass="hashtable" resultClass="lectexq">
|
|
<include refid="lectexcreate"></include>
|
|
|
|
select case when a.etime = 0 then 99999999 else TIMESTAMPDIFF(MINUTE, now(), date_add(ifnull(b.estart, now()), interval a.etime MINUTE)) end etime
|
|
,a.qcount,a.evtype,a.israndqi,a.tpoint,a.isblur,a.isusebackup,a.isseq
|
|
,b.cblock
|
|
,c.atext,c.qseq
|
|
,d.eqno,d.rpoint
|
|
,e.atype,e.qtext,e.qno,e.rightcount,e.ispassspace,e.isignorecase
|
|
from cmex a
|
|
inner join cm a3 on a3.cmno=a.cmno
|
|
inner join lect a2 on a2.lectno=#lectno# and a2.userno=#userno#
|
|
inner join lectex b on b.lectno=a2.lectno and b.exno=a.exno and b.eend is null and (a.etime = 0 or date_add(ifnull(b.estart, now()), interval a.etime MINUTE) > now())
|
|
and ifnull(b.entercount,0) <= ifnull(a.relaylimit, 999)
|
|
inner join lectexq c on c.lectno=b.lectno and c.exno=b.exno
|
|
inner join cmexq d on d.eqno=c.eqno
|
|
inner join question e on e.qno=d.qno
|
|
where a.exno=#exno# and now() between a3.sstime and a3.setime
|
|
order by c.qseq;
|
|
|
|
update lectex a
|
|
inner join lect a2 on a2.lectno=a.lectno and a2.userno=#userno#
|
|
inner join cmex b on b.exno=a.exno
|
|
set
|
|
a.estart=case when a.estart is null then now() else a.estart end
|
|
,a.entercount=ifnull(a.entercount,0)+1
|
|
,a.uno=#uno#
|
|
,a.uip=#uip#
|
|
,a.eip=#uip#
|
|
where a.lectno=#lectno# and a.exno=#exno# and a.eend is null and ifnull(a.entercount,0) <= ifnull(b.relaylimit, 999)
|
|
</select>
|
|
<select id="cr.userexamquestionitem.get" parameterClass="hashtable" resultClass="questionitem">
|
|
select a.qno, a.qino, a.isright, a.qitext, b.fileno, b.fileurl
|
|
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
|
|
<isNotNull property="orderby">order by $orderby$</isNotNull>
|
|
</select>
|
|
<select id="cr.userexam.detailforexamforsubmit" parameterClass="hashtable" resultClass="cmex">
|
|
select a.exno,a.exname,a2.sstime,a2.setime,a.tpoint,a.etime,a.qcount,b.estart,a.edesc,TIMESTAMPDIFF(MINUTE, now(), date_add(ifnull(b.estart, now()), interval a.etime MINUTE)) rtime
|
|
from cmex a
|
|
inner join cm a2 on a2.cmno=a.cmno
|
|
inner join lectex b on b.lectno=#lectno# and b.exno=a.exno and b.eend is null and (a.etime = 0 or date_add(ifnull(b.estart, now()), interval (a.etime + 1) MINUTE) > now())
|
|
inner join lect c on c.lectno=b.lectno and c.userno=#userno#
|
|
where a.exno=#exno#
|
|
</select>
|
|
<select id="cr.questionitem.listforcheck" parameterClass="string" resultClass="questionitem">
|
|
select a.qino,a.qitext,b.atype,a.qno
|
|
from questionitem a
|
|
inner join question b on b.qno=a.qno
|
|
where a.qno in ($qnos$) and a.isright=1 and a.isdel=0
|
|
order by a.qno, a.qino
|
|
</select>
|
|
<update id="cr.examsubmit" parameterClass="lectex">
|
|
update lectexq a
|
|
inner join lectex d on d.lectno=a.lectno and d.exno=a.exno and d.eend is null
|
|
inner join lect d2 on d2.lectno=d.lectno and d2.userno=#userno#
|
|
inner join cmex c on c.exno=a.exno
|
|
inner join (
|
|
<iterate property="UED" open="" conjunction="union all" close="">
|
|
select #exno# exno, #UED[].eqno# eqno, #UED[].atext# atext, #UED[].qinos# qinos, #UED[].iscorrect# iscorrect
|
|
</iterate>
|
|
) b on b.exno=a.exno and b.eqno=a.eqno
|
|
set a.atext=b.atext, a.qinos=b.qinos,a.udt=now(),a.uno=#uno#,a.uip=#uip#
|
|
,a.cpoint=case when b.iscorrect = 1 then a.dpoint else 0 end
|
|
,a.iscorrect=b.iscorrect
|
|
where a.lectno=#lectno# and a.exno=#exno#;
|
|
|
|
update lectex a
|
|
inner join lect a2 on a2.lectno=a.lectno and a2.userno=#userno#
|
|
inner join (
|
|
select a.exno, sum(ifnull(a.cpoint, 0)) tpoint
|
|
from lectexq a
|
|
where a.lectno=#lectno# and a.exno=#exno#
|
|
group by a.exno
|
|
) b on b.exno=a.exno
|
|
inner join cmex c on c.exno=a.exno
|
|
set a.udt=now(),a.uno=#userno#,a.uip=#uip#
|
|
<isEqual property="issubmit" compareValue="1">,a.eend=now()</isEqual>
|
|
, a.tpoint=b.tpoint
|
|
<!--, a.overtime=case when #zstring20# is null then a.overtime else now() end-->
|
|
,a.cblock=#cblock#
|
|
where a.lectno=#lectno# and a.exno=#exno# and a.eend is null
|
|
</update>
|
|
<update id="cr.examsubmitbackup" parameterClass="lectex">
|
|
update lectexq a
|
|
inner join lect a2 on a2.lectno=a.lectno and a2.userno=#userno#
|
|
inner join lectex d on d.lectno=a.lectno and d.exno=a.exno and d.eend is null
|
|
inner join cmex c on c.exno=a.exno
|
|
inner join (
|
|
<iterate property="UED" open="" conjunction="union all" close="">
|
|
select #exno# exno, #UED[].eqno# eqno, #UED[].atext# atext, #UED[].qinos# qinos, #UED[].iscorrect# iscorrect
|
|
</iterate>
|
|
) b on b.exno=a.exno and b.eqno=a.eqno
|
|
set a.atext=b.atext, a.qinos=b.qinos,a.udt=now(),a.uno=#uno#
|
|
,a.cpoint=case when b.iscorrect = 1 then a.dpoint else 0 end
|
|
,a.iscorrect=b.iscorrect
|
|
where a.lectno=#lectno# and a.exno=#exno#;
|
|
|
|
update lectex a
|
|
inner join lect a2 on a2.lectno=a.lectno and a2.userno=#userno#
|
|
inner join (
|
|
select a.exno, sum(ifnull(a.cpoint, 0)) tpoint
|
|
from lectexq a
|
|
where a.exno=#exno# and a.lectno=#lectno#
|
|
group by a.exno
|
|
) b on b.exno=a.exno
|
|
inner join cmex c on c.exno=a.exno
|
|
set a.udt=now(),a.uno=#userno#
|
|
, a.tpoint=b.tpoint
|
|
<!--, a.overtime=case when #zstring20# is null then a.overtime else now() end-->
|
|
where a.lectno=#lectno# and a.exno=#exno# and a.eend is null
|
|
</update>
|
|
<select id="cr.lectsd" parameterClass="hashtable" resultClass="lectsd">
|
|
select a.lectno,a.attrate,a.cmno
|
|
,b.sdno,b.sdname,b.sddesc,b.fgno sdfgno,b.sdcondition
|
|
,a.sdate sstime,a.edate setime
|
|
,d.checktime,d.cpoint,d.feedb,d.fgno,d.atext
|
|
from lect a
|
|
inner join cmsd b on b.cmno=a.cmno and b.sdno=#sdno#
|
|
inner join cm c on c.cmno=b.cmno
|
|
left outer join lectsd d on d.lectno=a.lectno and d.sdno=b.sdno
|
|
where a.lectno=#lectno# and a.userno=#userno#
|
|
</select>
|
|
<update id="cr.lectsd.save" parameterClass="lectsd">
|
|
update lectsd a
|
|
inner join lect b on b.lectno=a.lectno and b.userno=#userno#
|
|
inner join cm c on c.cmno=b.cmno and c.sstime < now() and c.setime > now()
|
|
set a.udt=now(),a.uno=#uno#,a.uip=#uip#
|
|
,a.fgno=#fgno#,a.atext=#atext#
|
|
,a.submittime=now(),submitip=#uip#
|
|
where a.lectno=#lectno# and a.sdno=#sdno# and a.checktime is null;
|
|
|
|
insert into lectsd (lectno,sdno,atext,fgno,iscopy,submittime,submitip,<include refid="sql.inc"></include>)
|
|
select a.lectno,a.sdno,#atext#,#fgno#,0,now(),#uip#,<include refid="sql.inv"></include>
|
|
from (select #lectno# lectno,#userno# userno,#sdno# sdno) a
|
|
inner join lect b on b.lectno=a.lectno and b.userno=a.userno
|
|
inner join cm c on c.cmno=b.cmno and c.sstime < now() and c.setime > now()
|
|
left outer join lectsd d on d.lectno=a.lectno and d.sdno=a.sdno
|
|
where d.lectno is null;
|
|
</update>
|
|
<select id="cr.lectsd2" parameterClass="hashtable" resultClass="lectsd">
|
|
select a.lectno,a.attrate
|
|
,b.sdno,b.sdname,b.sddesc,b.fgno sdfgno,b.sdcondition
|
|
,a.sdate sstime,a.edate setime
|
|
,d.checktime,d.cpoint,d.feedb,d.fgno,d.atext
|
|
from lect a
|
|
inner join cmsd b on b.cmno=a.cmno and b.sdno=#sdno#
|
|
inner join cm c on c.cmno=b.cmno
|
|
left outer join lectsd d on d.lectno=a.lectno and d.sdno=b.sdno
|
|
where a.lectno=#lectno# and a.userno=#userno#
|
|
</select>
|
|
<select id="cr.lectsdboards" parameterClass="int" resultClass="lectsdboard">
|
|
select a.bno,a.subject,a.cdt,a.rcount
|
|
,u.username
|
|
,count(b.bcno) ccount
|
|
from lectsdboard a
|
|
inner join users u on u.userno=a.cno
|
|
left outer join lectsdboardcmt b on b.bno=a.bno and b.isdel=0
|
|
where a.sdno=#sdno# and a.isdel=0
|
|
group by a.bno,a.subject,a.cdt,a.rcount,u.username
|
|
order by a.cdt
|
|
</select>
|
|
<select id="cr.lectsdboard" parameterClass="long" resultClass="lectsdboard">
|
|
update lectsdboard set rcount=rcount+1 where bno=#bno# and cno<>#userno#;
|
|
select a.bno,a.subject,a.contents,a.cdt,a.fgno,a.cno
|
|
,b.sdname
|
|
,l.sdate sstime,l.edate setime
|
|
,u.username,u.userno
|
|
,a2.checktime
|
|
from lectsdboard a
|
|
inner join lectsd a2 on a2.lectno=a.lectno and a2.sdno=a.sdno
|
|
inner join users u on u.userno=a.cno
|
|
inner join lect l on l.lectno = a2.lectno
|
|
inner join cmsd b on b.sdno=a.sdno
|
|
inner join cm c on c.cmno=b.cmno
|
|
where a.bno=#bno# and a.isdel=0
|
|
</select>
|
|
<update id="cr.lectsdboard.save" parameterClass="lectsdboard">
|
|
update lectsd a
|
|
inner join lect b on b.lectno=a.lectno and b.userno=#userno#
|
|
inner join cm c on c.cmno=b.cmno and c.sstime < now() and c.setime > now()
|
|
set a.udt=now(),a.uno=#uno#,a.uip=#uip#
|
|
,a.submittime=now(),submitip=#uip#
|
|
where a.lectno=#lectno# and a.sdno=#sdno# and a.checktime is null;
|
|
|
|
update lectsdboard a
|
|
inner join lectsd a2 on a2.lectno=a.lectno and a2.sdno=a.sdno and a2.checktime is null
|
|
inner join lect b on b.lectno=a.lectno and b.userno=#userno#
|
|
inner join cm c on c.cmno=b.cmno and c.sstime < now() and c.setime > now()
|
|
set a.udt=now(),a.uno=#uno#,a.uip=#uip#
|
|
,a.subject=#subject#,contents=#contents#,a.fgno=#fgno#
|
|
where a.bno=#bno# and a.lectno=#lectno# and a.sdno=#sdno#;
|
|
</update>
|
|
<insert id="cr.lectsdboard.in" parameterClass="lectsdboard">
|
|
update lectsd a
|
|
inner join lect b on b.lectno=a.lectno and b.userno=#userno#
|
|
inner join cm c on c.cmno=b.cmno and c.sstime < now() and c.setime > now()
|
|
set a.udt=now(),a.uno=#uno#,a.uip=#uip#
|
|
,a.submittime=now(),submitip=#uip#
|
|
where a.lectno=#lectno# and a.sdno=#sdno# and a.checktime is null;
|
|
|
|
insert into lectsd (lectno,sdno,iscopy,submittime,submitip,<include refid="sql.inc"></include>)
|
|
select a.lectno,a.sdno,0,now(),#uip#,<include refid="sql.inv"></include>
|
|
from (select #lectno# lectno,#userno# userno,#sdno# sdno) a
|
|
inner join lect b on b.lectno=a.lectno and b.userno=a.userno
|
|
inner join cm c on c.cmno=b.cmno and c.sstime < now() and c.setime > now()
|
|
left outer join lectsd d on d.lectno=a.lectno and d.sdno=a.sdno
|
|
where d.lectno is null;
|
|
|
|
SELECT * FROM (SELECT LAST_INSERT_ID(0) col1) a WHERE col1 > 0;
|
|
|
|
insert into lectsdboard (lectno,sdno,subject,contents,fgno,rcount,cip,isdel,<include refid="sql.inc"></include>)
|
|
select a.lectno,a.sdno,#subject#,#contents#,#fgno#,0,#uip#,0,<include refid="sql.inv"></include>
|
|
from (select #lectno# lectno,#userno# userno,#sdno# sdno) a
|
|
inner join lect b on b.lectno=a.lectno and b.userno=a.userno
|
|
inner join cm c on c.cmno=b.cmno and c.sstime < now() and c.setime > now();
|
|
<selectKey type="post" property="bno" resultClass="long">SELECT last_insert_id()</selectKey>
|
|
</insert>
|
|
<select id="cr.lectsdboardcmt" parameterClass="long" resultClass="boardcmt">
|
|
select a.bno
|
|
,b.bcno,b.ctext,b.cno,b.cdt
|
|
,c.userno,c.username,c.usertype,c.username cnoname
|
|
from lectsdboard a
|
|
inner join lectsdboardcmt b on b.bno=a.bno and b.isdel=0
|
|
inner join users c on c.userno=b.cno
|
|
where a.bno=#bno#
|
|
order by b.cdt desc
|
|
</select>
|
|
<update id="cr.lectsdboard.del" parameterClass="hashtable">
|
|
update lectsd a
|
|
inner join lectsdboard b on b.bno=#bno# and b.cno=#userno# and b.isdel=0 and b.lectno=a.lectno and b.sdno=a.sdno
|
|
inner join lect a2 on a2.lectno=b.lectno and a2.userno=b.cno
|
|
inner join cm c on c.cmno=a2.cmno and c.sstime < now() and c.setime > now()
|
|
set a.submittime=null,a.submitip=null and a.checktime is null;
|
|
|
|
update lectsdboard a
|
|
inner join lectsd b on b.lectno=a.lectno and b.sdno=a.sdno and b.checktime is null
|
|
inner join lect a2 on a2.lectno=b.lectno and a2.userno=a.cno
|
|
inner join cm c on c.cmno=a2.cmno and c.sstime < now() and c.setime > now()
|
|
set a.uno=#uno#,a.udt=now(),a.uip=#uip#
|
|
,a.isdel=1
|
|
where a.bno=#bno# and a.cno=#userno# and a.isdel=0;
|
|
</update>
|
|
<insert id="cr.lectsdboardcmt.in" parameterClass="boardcmt">
|
|
SELECT * FROM (SELECT LAST_INSERT_ID(0) col1) a WHERE col1 > 0;
|
|
|
|
insert into lectsdboardcmt (bno,ctext,isdel,<include refid="sql.inc"></include>)
|
|
values (#bno#,#ctext#,0,<include refid="sql.inv"></include>);
|
|
<selectKey type="post" property="bcno" resultClass="long">SELECT LAST_INSERT_ID()</selectKey>
|
|
</insert>
|
|
<update id="cr.lectsdboardcmt.up" parameterClass="boardcmt">
|
|
update lectsdboardcmt set <include refid="sql.up"></include>
|
|
,ctext=#ctext#
|
|
where bcno=#bcno# <isGreaterThan property="cno" compareValue="0">and cno=#cno#</isGreaterThan>
|
|
</update>
|
|
<update id="cr.lectsdboardcmt.del" parameterClass="hashtable">
|
|
update lectsdboardcmt set <include refid="sql.up"></include>,isdel=1 where bcno=#bcno# <isGreaterThan property="cno" compareValue="0">and cno=#cno#</isGreaterThan>
|
|
</update>
|
|
<select id="cr.payitems" parameterClass="hashtable" resultClass="payitem">
|
|
select a.*
|
|
from (
|
|
select a.isexamready,a.ccount
|
|
,case when a.isexamready=1 then ue.exno else p.payno end payno
|
|
,case when a.isexamready=1 then 0 else p.ptype end pptype,p.payoktime,p.isgroup
|
|
,case when a.isexamready=1 then case when ua.isjoin=1 then uee.infee else uee.outfee end else p.payamt end payamt,p.refundamt,p.rstatus
|
|
,case when a.isexamready=1 then 21 else p.pstatus end pstatus
|
|
,case when a.isexamready=1 then ue.cdt else case pi.ptype when 3 then exu.cdt when 4 then le.oktime else p.cdt end end cdt
|
|
,case when a.isexamready=1 then ue.exno else pi.pino end pino,pi.isrebate
|
|
,case when a.isexamready=1 then 3 else pi.ptype end ptype
|
|
,case when a.isexamready=1 then 0 else p.isunpay end isunpay
|
|
,case when p.rstatus=0 and pr.rstatus = 0 and pri.rfdno is not null then 1 else 0 end isrefundcall
|
|
,u.userno,u.userid,u.username
|
|
,ua.asname,ua.isjoin
|
|
,cm.cshape,cm.sstime,cm.setime,cm.studyplace
|
|
,le.sdate,le.edate
|
|
,case when a.isexamready=1 then uee.exname else case pi.ptype when 2 then bk.bkname when 3 then ex.exname else cm.cname end end itemname
|
|
,ppl.rbankname,CAST(AES_DECRYPT(UNHEX(ppl.rbankacc), <include refid="sql.digest"></include>) AS char) rbankacc,ppl.rbankowner
|
|
,row_number() over(order by case when pr.rstatus=0 and pri.rfdno is not null then 0 else 1 end, case when a.isexamready=1 then ue.cdt else p.cdt end desc) rno
|
|
,count(p.payno) over() pagetotalcount
|
|
,scd.estart cmiestart, scd.eend cmieeend, scd.studyplace cmistudyplace
|
|
,pi.rbank , CAST(AES_DECRYPT(UNHEX(pi.rbankaccnum), <include refid="sql.digest"></include>) AS char) rbankaccnum, pi.tbankuser
|
|
from (
|
|
select 0 isexamready,p.payno,max(case when pi.ptype in (0,1,3,4) then pi.pino else 0 end) pi1,min(pi.pino) pi2,count(pi.pino) ccount
|
|
from pay p
|
|
inner join payitem pi on pi.payno=p.payno
|
|
<isNotNull property="piptype">and pi.ptype=#piptype#</isNotNull>
|
|
<isNotNull property="isrebates">and pi.ptype in (0, 4) and pi.isrebate in ($isrebates$)</isNotNull>
|
|
inner join users u on u.userno=p.userno
|
|
left outer join assign ua on ua.asno=u.asno
|
|
left outer join payrfditem pri on pri.pino=pi.pino
|
|
left outer join payrfd pr on pr.rfdno=pri.rfdno
|
|
left outer join cm cm on pi.ptype in (0,1,4) and cm.cmno=pi.itemno
|
|
left outer join cm cm2 on cm2.cmno=cm.pcmno
|
|
left outer join cg cg on cg.cgno=cm.cgno
|
|
left outer join book bk on pi.ptype=2 and bk.bkno=pi.itemno
|
|
left outer join exam ex on pi.ptype=3 and ex.exno=pi.itemno
|
|
where p.pstatus in (1,21,22,41,42,43)
|
|
<isNotNull property="cdts">and p.cdt >= #cdts#</isNotNull>
|
|
<isNotNull property="cdte">and p.cdt <= #cdte#</isNotNull>
|
|
|
|
<!--<isNotNull property="pstatusin">and p.pstatus in ($pstatusin$)</isNotNull>-->
|
|
<!--<isNotNull property="isrefundcall">and (p.rstatus =0 and pr.rstatus=0 and pri.rfdno is not null)</isNotNull>-->
|
|
<!--<isNotNull property="rstatusin">and pi.rstatus in ($rstatusin$)</isNotNull>-->
|
|
<isNotNull property="pstatusall">$pstatusall$</isNotNull>
|
|
|
|
<isNotNull property="ptypein">and p.ptype in ($ptypein$)</isNotNull>
|
|
<isNotNull property="isjoin">and ua.isjoin=#isjoin#</isNotNull>
|
|
<isNotNull property="asname">and ua.asname like concat('%',#asname#,'%')</isNotNull>
|
|
<isNotNull property="brno">and ua.brno=#brno#</isNotNull>
|
|
<isNotNull property="cshape">and cm.cshape=#cshape#</isNotNull>
|
|
<isNotNull property="pcgno">and cg.pcgno=#pcgno#</isNotNull>
|
|
<isNotNull property="username">and u.username=#username#</isNotNull>
|
|
<isNotNull property="userid">and u.userid=#userid#</isNotNull>
|
|
<isNotNull property="itemname">and (cm.cname like concat('%',#itemname#,'%') or bk.bkname like concat('%',#itemname#,'%') or ex.exname like concat('%',#itemname#,'%'))</isNotNull>
|
|
<isNotNull property="cname">and (cm2.cname like concat('%',#cname#,'%'))</isNotNull>
|
|
<isNotNull property="usernameiditemname">and (u.username=#usernameiditemname# or u.userid=#usernameiditemname# or cm.cname like concat('%',#usernameiditemname#,'%') or bk.bkname like concat('%',#usernameiditemname#,'%') or ex.exname like concat('%',#usernameiditemname#,'%') or cm2.cname like concat('%',#usernameiditemname#,'%'))</isNotNull>
|
|
<isNotNull property="isgroup">and p.isgroup=1</isNotNull>
|
|
<isNotNull property="isunpay">and p.isunpay=#isunpay#</isNotNull>
|
|
<isNotNull property="payno">and p.payno=#payno#</isNotNull>
|
|
group by p.payno
|
|
union all
|
|
select 1 isexamready,a.exno payno,a.userno pi1,a.userno pi2,1 ccount
|
|
from examuser a
|
|
inner join exam ex on ex.exno=a.exno <isNotNull property="itemname">and ex.exname like concat('%',#itemname#,'%')</isNotNull>
|
|
inner join users u on u.userno=a.userno
|
|
left outer join assign ua on ua.asno=u.asno
|
|
where a.status=1 and a.payno is null and a.pino is null and a.pstatus=4
|
|
<isNotNull property="piptype">and #piptype#=3</isNotNull>
|
|
<isNotNull property="isrebates">and a.exno=0</isNotNull>
|
|
<isNotNull property="rstatusin">and a.exno=0</isNotNull>
|
|
<isNotNull property="cdts">and a.cdt >= #cdts#</isNotNull>
|
|
<isNotNull property="cdte">and a.cdt <= #cdte#</isNotNull>
|
|
<isNotNull property="pstatusin">and concat(',',#pstatusin#,',') like '%,21,%'</isNotNull>
|
|
<isNotNull property="isrefundcall">and a.exno=0</isNotNull>
|
|
<isNotNull property="ptypein">and a.exno=0</isNotNull>
|
|
<isNotNull property="isjoin">and ua.isjoin=#isjoin#</isNotNull>
|
|
<isNotNull property="asname">and ua.asname like concat('%',#asname#,'%')</isNotNull>
|
|
<isNotNull property="brno">and ua.brno=#brno#</isNotNull>
|
|
<isNotNull property="cshape">and a.exno=0</isNotNull>
|
|
<isNotNull property="pcgno">and a.exno=0</isNotNull>
|
|
<isNotNull property="username">and u.username=#username#</isNotNull>
|
|
<isNotNull property="userid">and u.userid=#userid#</isNotNull>
|
|
<isNotNull property="usernameiditemname">and (u.username=#usernameiditemname# or u.userid=#usernameiditemname# or ex.exname like concat('%',#usernameiditemname#,'%'))</isNotNull>
|
|
<isNotNull property="isgroup">and a.exno=0</isNotNull>
|
|
) a
|
|
left outer join pay p on a.isexamready=0 and p.payno=a.payno
|
|
left outer join payitem pi on a.isexamready=0 and pi.pino=case when a.pi1=0 then a.pi2 else a.pi1 end
|
|
left outer join examuser ue on a.isexamready=1 and ue.exno=a.payno and ue.userno=a.pi1
|
|
left outer join exam uee on a.isexamready=1 and uee.exno=ue.exno
|
|
inner join users u on u.userno=case when a.isexamready=0 then p.userno else ue.userno end
|
|
left outer join assign ua on ua.asno=u.asno
|
|
left outer join payrfditem pri on a.isexamready=0 and pri.pino=pi.pino
|
|
left outer join payrfd pr on a.isexamready=0 and pr.rfdno=pri.rfdno
|
|
left outer join cm cm on a.isexamready=0 and pi.ptype in (0,1,4) and cm.cmno=pi.itemno
|
|
left outer join lect le on a.isexamready=0 and le.pino=pi.pino and le.ischanged=0
|
|
left outer join book bk on a.isexamready=0 and pi.ptype=2 and bk.bkno=pi.itemno
|
|
left outer join exam ex on a.isexamready=0 and ex.exno=pi.itemno
|
|
left outer join examuser exu on exu.exno=ex.exno and exu.userno=p.userno
|
|
left outer join pplog ppl on ppl.pplno = p.pplno
|
|
left outer join cminningscd scd on scd.cmisno = le.cmisno
|
|
<dynamic prepend="where">
|
|
<isNotNull property="estart" prepend="and">scd.estart >= #estart#</isNotNull>
|
|
<isNotNull property="eend" prepend="and">scd.eend <= #eend#</isNotNull>
|
|
<isNotNull property="studyplace" prepend="and">scd.studyplace=#studyplace#</isNotNull>
|
|
</dynamic>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.rno
|
|
<!--select a.*
|
|
from (
|
|
select p.payno,p.ptype pptype,p.payoktime
|
|
,case pi.ptype when 3 then exu.cdt when 4 then le.oktime else p.cdt end cdt
|
|
,pi.pino,pi.isrebate,pi.ptype,pi.payamt,pi.refundamt,pi.rstatus,pi.pstatus
|
|
,case when pri.rfdno is not null then 1 else 0 end isrefundcall
|
|
,u.userno,u.userid,u.username
|
|
,ua.asname,ua.isjoin
|
|
,cm.cshape
|
|
,case pi.ptype when 2 then bk.bkname when 3 then ex.exname else cm.cname end itemname
|
|
,row_number() over(order by case when pr.rfdno is not null then 0 else 1 end, p.cdt desc) rno
|
|
,count(p.payno) over() pagetotalcount
|
|
from pay p
|
|
inner join payitem pi on pi.payno=p.payno
|
|
<isNotNull property="piptype">and pi.ptype=#piptype#</isNotNull>
|
|
<isNotNull property="isrebates">and pi.ptype in (0, 4) and pi.isrebate in ($isrebates$)</isNotNull>
|
|
<isNotNull property="rstatusin">and pi.rstatus in ($rstatusin$)</isNotNull>
|
|
inner join users u on u.userno=p.userno
|
|
left outer join assign ua on ua.asno=u.asno
|
|
left outer join payrfditem pri on pri.pino=pi.pino
|
|
left outer join payrfd pr on pr.rfdno=pri.rfdno and pr.rstatus=0
|
|
left outer join cm cm on pi.ptype in (0,1,4) and cm.cmno=pi.itemno
|
|
left outer join lect le on le.pino=pi.pino and le.ischanged=0
|
|
left outer join cg cg on cg.cgno=cm.cgno
|
|
left outer join book bk on pi.ptype=2 and bk.bkno=pi.itemno
|
|
left outer join exam ex on pi.ptype=3 and ex.exno=pi.itemno
|
|
left outer join examuser exu on exu.exno=ex.exno and exu.userno=p.userno
|
|
where p.pstatus in (1,21,22,41,42,43) and (pri.rfdno is null or pr.rfdno is not null)
|
|
<isNotNull property="cdts">and p.cdt >= #cdts#</isNotNull>
|
|
<isNotNull property="cdte">and p.cdt <= #cdte#</isNotNull>
|
|
<isNotNull property="pstatusin">and p.pstatus in ($pstatusin$)</isNotNull>
|
|
<isNotNull property="isrefundcall">and pr.rfdno is not null</isNotNull>
|
|
<isNotNull property="ptypein">and p.ptype in ($ptypein$)</isNotNull>
|
|
<isNotNull property="isjoin">and ua.isjoin=#isjoin#</isNotNull>
|
|
<isNotNull property="asname">and ua.asname like concat('%',#asname#,'%')</isNotNull>
|
|
<isNotNull property="brno">and ua.brno=#brno#</isNotNull>
|
|
<isNotNull property="cshape">and cm.cshape=#cshape#</isNotNull>
|
|
<isNotNull property="pcgno">and cg.pcgno=#pcgno#</isNotNull>
|
|
<isNotNull property="username">and u.username=#username#</isNotNull>
|
|
<isNotNull property="userid">and u.userid=#userid#</isNotNull>
|
|
<isNotNull property="itemname">and (cm.cname like concat('%',#itemname#,'%') or bk.bkname like concat('%',#itemname#,'%') or ex.exname like concat('%',#itemname#,'%'))</isNotNull>
|
|
<isNotNull property="usernameiditemname">and (u.username=#usernameiditemname# or u.userid=#usernameiditemname# or cm.cname like concat('%',#usernameiditemname#,'%') or bk.bkname like concat('%',#usernameiditemname#,'%') or ex.exname like concat('%',#usernameiditemname#,'%'))</isNotNull>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.rno-->
|
|
</select>
|
|
<select id="cr.pay1" parameterClass="long" resultClass="pay">
|
|
select p.payno,p.cdt,p.payamt,p.ptype,p.refundamt,p.ispg,p.isgroup,p.isexam,p.pstatus,p.rstatus,p.payoktime,p.pgkey,p.isdvr,p.deliamt,p.isunpay,p.paylimit
|
|
,u.username,u.post,u.address1,u.address2
|
|
,CAST(AES_DECRYPT(UNHEX(u.userpno), <include refid="sql.digest"></include>) AS char) userpno
|
|
,CAST(AES_DECRYPT(UNHEX(u.telno), <include refid="sql.digest"></include>) AS char) telno
|
|
,CAST(AES_DECRYPT(UNHEX(u.mobile), <include refid="sql.digest"></include>) AS char) mobile
|
|
,CAST(AES_DECRYPT(UNHEX(u.email), <include refid="sql.digest"></include>) AS char) email
|
|
,case pi.ptype when 3 then exu.cdt when 4 then le.oktime else p.cdt end oktime
|
|
,pd.dvrcode,pd.rcvname,pd.isdvr isdvr2,pd.codetime,pd.post post2,pd.address1 address12,pd.address2 address22,pd.dmemo
|
|
,CAST(AES_DECRYPT(UNHEX(pd.telno), <include refid="sql.digest"></include>) AS char) telno2
|
|
,CAST(AES_DECRYPT(UNHEX(pd.mobile), <include refid="sql.digest"></include>) AS char) mobile2
|
|
,tax.iscancel, tax.taxdate, tax.taxno
|
|
from pay p
|
|
inner join users u on u.userno=p.userno
|
|
left outer join payitem pi on pi.payno=p.payno and pi.ptype in (3,4)
|
|
left outer join lect le on pi.ptype=4 and le.pino=pi.pino and le.ischanged=0
|
|
left outer join exam ex on pi.ptype=3 and ex.exno=pi.itemno
|
|
left outer join examuser exu on exu.exno=ex.exno and exu.userno=p.userno
|
|
left outer join paydvr pd on pd.payno=p.payno
|
|
left outer join paytax tax on tax.payno = p.payno
|
|
where p.payno=#payno#
|
|
</select>
|
|
<select id="cr.pay2" parameterClass="long" resultClass="payitem">
|
|
select pi.payno,pi.pino,pi.itemno,pi.pcno,pi.payamt,pi.pcnt,pi.ptype,pi.isrebate
|
|
,case pi.ptype when 2 then bk.bkname when 3 then ex.exname else cm.cname end itemname
|
|
,u.username,u.userid,u.isassignuser,u.depart,u.kfcfyear
|
|
,cc.cname ccpositionname
|
|
,CAST(AES_DECRYPT(UNHEX(u.telno), <include refid="sql.digest"></include>) AS char) telno
|
|
,CAST(AES_DECRYPT(UNHEX(u.mobile), <include refid="sql.digest"></include>) AS char) mobile
|
|
,ua.asname
|
|
,cm.cshape
|
|
,cg.cgname
|
|
,pcg.cgname pcgname
|
|
,pi.rbank , CAST(AES_DECRYPT(UNHEX(pi.rbankaccnum), <include refid="sql.digest"></include>) AS char) rbankaccnum, pi.tbankuser
|
|
from payitem pi
|
|
inner join pay p on p.payno=pi.payno
|
|
left outer join cm cm on pi.ptype in (0,1,4) and cm.cmno=pi.itemno
|
|
left outer join cg cg on pi.ptype in (0,1,4) and cg.cgno=cm.cgno
|
|
left outer join cg pcg on pcg.cgno=cg.pcgno
|
|
left outer join book bk on pi.ptype=2 and bk.bkno=pi.itemno
|
|
left outer join exam ex on pi.ptype=3 and ex.exno=pi.itemno
|
|
left outer join users u on p.isgroup=1 and u.userno=pi.userno
|
|
left outer join assign ua on ua.asno=u.asno
|
|
left outer join comcode cc on cc.ccode=u.ccposition
|
|
where pi.payno=#payno#
|
|
</select>
|
|
|
|
<update id="cr.payrefundinfo.up" parameterClass="payitem">
|
|
update payitem
|
|
set <include refid="sql.up"></include>
|
|
,rbank = #rbank#
|
|
,rbankaccnum = HEX(AES_ENCRYPT(#rbankaccnum#, <include refid="sql.digest"></include>))
|
|
,tbankuser = #tbankuser#
|
|
where
|
|
payno = #payno#
|
|
</update>
|
|
|
|
<select id="cr.payforexam1" parameterClass="hashtable" resultClass="pay">
|
|
select eu.exno payno, eu.userno,eu.cdt,case when ua.isjoin=1 then ex.infee else ex.outfee end payamt,0 ptype,0 ispg,0 isgroup,1 isexam,21 pstatus,0 rstatus,null payoktime,null pgkey,0 isdvr,0 deliamt
|
|
,u.username,u.post,u.address1,u.address2
|
|
,CAST(AES_DECRYPT(UNHEX(u.userpno), <include refid="sql.digest"></include>) AS char) userpno
|
|
,CAST(AES_DECRYPT(UNHEX(u.telno), <include refid="sql.digest"></include>) AS char) telno
|
|
,CAST(AES_DECRYPT(UNHEX(u.mobile), <include refid="sql.digest"></include>) AS char) mobile
|
|
,CAST(AES_DECRYPT(UNHEX(u.email), <include refid="sql.digest"></include>) AS char) email
|
|
,eu.cdt oktime
|
|
,null dvrcode,null rcvname,0 isdvr2,null codetime,null post2,null address12,null address22,null dmemo
|
|
,null telno2
|
|
,null mobile2
|
|
from examuser eu
|
|
inner join users u on u.userno=eu.userno
|
|
left outer join assign ua on ua.asno=u.asno
|
|
left outer join exam ex on ex.exno=eu.exno
|
|
where eu.exno=#exno# and eu.userno=#userno# and eu.status=1 and eu.payno is null and eu.pino is null and eu.pstatus=4
|
|
</select>
|
|
<select id="cr.payforexam2" parameterClass="hashtable" resultClass="payitem">
|
|
select eu.exno payno,eu.userno pino,eu.exno itemno,null pcno,case when ua.isjoin=1 then ex.infee else ex.outfee end payamt,1 pcnt,3 ptype
|
|
,ex.exname itemname
|
|
,u.username,u.userid,u.isassignuser,u.depart,u.kfcfyear
|
|
,cc.cname ccpositionname
|
|
,CAST(AES_DECRYPT(UNHEX(u.telno), <include refid="sql.digest"></include>) AS char) telno
|
|
,CAST(AES_DECRYPT(UNHEX(u.mobile), <include refid="sql.digest"></include>) AS char) mobile
|
|
,ua.asname
|
|
,0 cshape
|
|
,null cgname
|
|
,null pcgname
|
|
from examuser eu
|
|
left outer join exam ex on ex.exno=eu.exno
|
|
left outer join users u on u.userno=eu.userno
|
|
left outer join assign ua on ua.asno=u.asno
|
|
left outer join comcode cc on cc.ccode=u.ccposition
|
|
where eu.exno=#exno# and eu.userno=#userno#
|
|
</select>
|
|
<insert id="cr.examuserpayok" parameterClass="pay">
|
|
SELECT * FROM (SELECT LAST_INSERT_ID(0) col1) a WHERE col1 > 0;
|
|
insert into pay (ptype,ispg,isgroup,isexam,userno,username,pstatus,rstatus,rstatustime,cshrcancelnum,canceltime,cancelmsg,cancelcnt
|
|
,refunding,paylimit,payoktime,pgkey,orgamt,discamt,deliamt,isrefunddvr,payamt,refundamt,isdvr,<include refid="sql.inc"></include>)
|
|
select #ptype#,0,0,1,u.userno,u.username,1,0,null,null,null,null,null
|
|
,0,null,#payoktime#,null
|
|
,a.outfee
|
|
,case when #ptype# = 6 then a.outfee else case when ua.isjoin=1 then a.outfee-a.infee else 0 end end
|
|
,0,0
|
|
,case when #ptype# = 6 then 0 else case when ua.isjoin=1 then a.infee else a.outfee end end
|
|
,0,0,<include refid="sql.inv"></include>
|
|
from exam a
|
|
inner join users u on u.userno=#userno#
|
|
left outer join assign ua on ua.asno=u.asno
|
|
where a.exno=#exno#
|
|
<selectKey type="post" property="payno" resultClass="long">SELECT last_insert_id()</selectKey>
|
|
</insert>
|
|
<insert id="cr.examuserpayok2" parameterClass="payitem">
|
|
SELECT * FROM (SELECT LAST_INSERT_ID(0) col1) a WHERE col1 > 0;
|
|
insert into payitem (payno,ptype,pcno,itemno,userno,pstatus,rstatus,pgkey,cancelcode,cancelmsg,canceltype,pcnt
|
|
,orgamt,discamt,payamt
|
|
,payamtcash,payamtcard
|
|
,refundamt,refundtime,refundtimereal,refundinfo,isrebate,fgno,cartno,<include refid="sql.inc"></include>)
|
|
select p.payno,3,null,#itemno#,#userno#,1,0,null,null,null,null,1
|
|
,a.outfee
|
|
,case when p.ptype=6 then a.outfee else case when ua.isjoin=1 then a.outfee-a.infee else 0 end end
|
|
,case when p.ptype=6 then 0 else case when ua.isjoin=1 then a.infee else a.outfee end end
|
|
,0,0
|
|
,0,null,null,null,0,null,null,<include refid="sql.inv"></include>
|
|
from exam a
|
|
inner join users u on u.userno=#userno#
|
|
inner join pay p on p.payno=#payno#
|
|
left outer join assign ua on ua.asno=u.asno
|
|
where a.exno=#itemno#
|
|
<selectKey type="post" property="pino" resultClass="long">SELECT last_insert_id()</selectKey>
|
|
</insert>
|
|
<update id="cr.examuserpayok3" parameterClass="payitem">
|
|
update examuser set <include refid="sql.up"></include>
|
|
,payno=#payno#,pino=#pino#,pstatus=1
|
|
where exno=#itemno# and userno=#userno# and status=1 and payno is null and pino is null and pstatus=4
|
|
</update>
|
|
<update id="cr.examuserpaycancel" parameterClass="hashtable">
|
|
update examuser set <include refid="sql.up"></include>
|
|
,pstatus=9
|
|
where exno=#exno# and userno=#userno# and status=1 and payno is null and pino is null and pstatus=4
|
|
</update>
|
|
<select id="cr.pay.forrfd" parameterClass="long" resultClass="pay">
|
|
select a.payno,a.ispg,a.pstatus,a.ptype,a.pgkey,a.isdvr,a.deliamt,a.isrefunddvr,a.payamt,a.refundamt,a.rstatus,a.isgroup,a.iscanceled,a.payoktime
|
|
,b.isdvr isdvr2,b.dvrcode
|
|
,CAST(AES_DECRYPT(UNHEX(u.email), <include refid="sql.digest"></include>) AS char) email
|
|
from pay a
|
|
left outer join paydvr b on b.payno=a.payno
|
|
inner join users u on u.userno=a.userno
|
|
where a.payno=#payno# and a.pstatus=1
|
|
</select>
|
|
<select id="cr.payitem.forrfd" parameterClass="long" resultClass="payitem">
|
|
select pi.pino,pi.payno,pi.pcnt,pi.payamt,pi.refundamt,pi.refundtime,pi.refundinfo,pi.refundstatus,pi.rstatus,pi.ptype
|
|
,case pi.ptype when 2 then bk.bkname when 3 then ex.exname else cm.cname end itemname
|
|
,pcg.cgname pcgname
|
|
,u.userid,u.username
|
|
from payitem pi
|
|
inner join pay p on p.payno=pi.payno and p.pstatus=1
|
|
inner join users u on u.userno=case when pi.ptype=3 then p.userno else pi.userno end
|
|
left outer join cm cm on pi.ptype in(0,1,4) and cm.cmno=pi.itemno
|
|
left outer join cg cg on cg.cgno=cm.cgno
|
|
left outer join cg pcg on pcg.cgno=cg.pcgno
|
|
left outer join book bk on pi.ptype=2 and bk.bkno=pi.itemno
|
|
left outer join exam ex on pi.ptype=3 and ex.exno=pi.itemno
|
|
where pi.payno=#payno#
|
|
</select>
|
|
<select id="cr.payrfditems" parameterClass="long" resultClass="payrfd">
|
|
select b.cdt,a.rfdno
|
|
,b.rtext,b.rstatus
|
|
,p.isgroup
|
|
,case pi.ptype when 2 then bk.bkname when 3 then ex.exname else cm.cname end itemname
|
|
,pi.ptype
|
|
,u.username,u.userid
|
|
from pay p
|
|
inner join payitem pi on pi.payno=p.payno
|
|
inner join payrfditem a on a.pino=pi.pino
|
|
inner join payrfd b on b.rfdno=a.rfdno
|
|
inner join users u on u.userno=case when p.isgroup=1 and pi.ptype in (0,1,4) then pi.userno else p.userno end
|
|
left outer join cm cm on pi.ptype in(0,1,4) and cm.cmno=pi.itemno
|
|
left outer join cg cg on cg.cgno=cm.cgno
|
|
left outer join cg pcg on pcg.cgno=cg.pcgno
|
|
left outer join book bk on pi.ptype=2 and bk.bkno=pi.itemno
|
|
left outer join exam ex on pi.ptype=3 and ex.exno=pi.itemno
|
|
where p.payno=#payno#
|
|
order by a.rfdno desc
|
|
</select>
|
|
<select id="cr.payrfditems2" parameterClass="long" resultClass="payrfd">
|
|
select a.rfdno
|
|
,b.rtext,b.rstatus,b.cdt,b.isowner,b.ramt,b.bankname,b.bankowner
|
|
,b.rreason,b.ruser,b.fgnor,b.fgnob
|
|
,CAST(AES_DECRYPT(UNHEX(b.rphone), <include refid="sql.digest"></include>) AS char) rphone
|
|
,b.rback
|
|
,CAST(AES_DECRYPT(UNHEX(b.bankno), <include refid="sql.digest"></include>) AS char) bankno
|
|
,p.isgroup
|
|
,pi.payamt
|
|
,case pi.ptype when 2 then bk.bkname when 3 then ex.exname else cm.cname end itemname
|
|
,u.username,u.userid
|
|
,CAST(AES_DECRYPT(UNHEX(u.telno), <include refid="sql.digest"></include>) AS char) telno
|
|
,CAST(AES_DECRYPT(UNHEX(u.mobile), <include refid="sql.digest"></include>) AS char) mobile
|
|
,ua.asname
|
|
,f1.orgname,f1.fileno
|
|
,f2.orgname orgname2,f2.fileno file2
|
|
from payrfditem a
|
|
inner join payitem pi on pi.pino=a.pino
|
|
inner join pay p on p.payno=pi.payno
|
|
inner join users u on u.userno=case when p.isgroup=1 and pi.ptype in (0,1,4) then pi.userno else p.userno end
|
|
left outer join assign ua on ua.asno=u.asno
|
|
inner join payrfd b on b.rfdno=a.rfdno
|
|
left outer join cm cm on pi.ptype in(0,1,4) and cm.cmno=pi.itemno
|
|
left outer join cg cg on cg.cgno=cm.cgno
|
|
left outer join cg pcg on pcg.cgno=cg.pcgno
|
|
left outer join book bk on pi.ptype=2 and bk.bkno=pi.itemno
|
|
left outer join exam ex on pi.ptype=3 and ex.exno=pi.itemno
|
|
left outer join fileinfo f1 on f1.fgno=b.fgnor and f1.isdel=0
|
|
left outer join fileinfo f2 on f2.fgno=b.fgnob and f2.isdel=0
|
|
where a.rfdno=#rfdno#
|
|
order by a.rfdno desc
|
|
</select>
|
|
<update id="cr.payrfd.save" parameterClass="hashtable">
|
|
update payrfd set <include refid="sql.up"></include>
|
|
,bankname=#bankname#,bankowner=#bankowner#,bankno=HEX(AES_ENCRYPT(#bankno#, <include refid="sql.digest"></include>))
|
|
,isowner=#isowner#,ruser=#ruser#,rphone=HEX(AES_ENCRYPT(#rphone#, <include refid="sql.digest"></include>))
|
|
,rreason=#rreason#,rtext=#rtext#,rstatus=#rstatus#,rback=#rback#
|
|
,statustime=case when rstatus <> #rstatus# then now() else statustime end
|
|
where rfdno=#rfdno#
|
|
</update>
|
|
<select id="cr.payitems.forcheck" parameterClass="string" resultClass="payitem">
|
|
select a.pino,a.ptype
|
|
from payitem a
|
|
where a.pino in ($pinos$) and a.pstatus=1 and a.rstatus=0
|
|
</select>
|
|
<select id="cr.payitems.forcheck2" parameterClass="string" resultClass="payitem">
|
|
select a.pino,a.ptype
|
|
from payitem a
|
|
where a.pino in ($pinos$) and a.pstatus=1 and a.rstatus<>0
|
|
</select>
|
|
<update id="cr.paycancel" parameterClass="pay">
|
|
update pay set <include refid="sql.up"></include>
|
|
,rstatus=1,rstatustime=now(),cancelcnt=case when #cancelcnt# = 0 then cancelcnt else #cancelcnt# end
|
|
,isrefunddvr=case when isrefunddvr = 0 and #isrefunddvr# = 1 then 1 else isrefunddvr end
|
|
,refundamt = refundamt + #newrefundamt#
|
|
,iscanceled = #iscanceled#
|
|
where payno=#payno#;
|
|
|
|
update payitem a
|
|
inner join (
|
|
<iterate property="PIs" open="" conjunction="union all" close=""> select #PIs[].pino# pino,#PIs[].refundamt# refundamt,#PIs[].refundstatus# refundstatus,#PIs[].refundtime# refundtime,#PIs[].refundinfo# refundinfo </iterate>
|
|
) b on b.pino=a.pino
|
|
set a.rstatus=1,a.pgkey=#cancelcode#,a.refundamt=b.refundamt,a.refundtime=b.refundtime,a.refundtimereal=now(),a.refundinfo=b.refundinfo,a.refundstatus=b.refundstatus
|
|
where a.payno=#payno# and a.rstatus=0;
|
|
|
|
<isNotNull property="pinosexamuser">
|
|
update examuser set udt=now(),uno=#uno#,uip=#uip#
|
|
,pstatus=8
|
|
where payno=#payno# and pino in ($pinosexamuser$);
|
|
</isNotNull>
|
|
<isNotNull property="pinoslect">
|
|
update lect set udt=now(),uno=#uno#,uip=#uip#
|
|
,status=8
|
|
where payno=#payno# and pino in ($pinoslect$) and ischanged=0;
|
|
</isNotNull>
|
|
<isNotNull property="pinosexamuser2">
|
|
update payitem a
|
|
inner join (
|
|
<iterate property="PIs" open="" conjunction="union all" close=""> select #PIs[].rstatus# rstatus,#PIs[].pino# pino,#PIs[].refundamt# refundamt,#PIs[].refundstatus# refundstatus,#PIs[].refundtime# refundtime,#PIs[].refundinfo# refundinfo </iterate>
|
|
) b on b.pino=a.pino and b.rstatus > 0
|
|
set a.refundstatus=b.refundstatus
|
|
where a.payno=#payno# and a.pino in ($pinosexamuser2$) and a.rstatus>0;
|
|
|
|
update examuser a
|
|
inner join (
|
|
<iterate property="PIs" open="" conjunction="union all" close=""> select #PIs[].rstatus# rstatus,#PIs[].pino# pino,#PIs[].refundamt# refundamt,#PIs[].refundstatus# refundstatus,#PIs[].refundtime# refundtime,#PIs[].refundinfo# refundinfo </iterate>
|
|
) b on b.pino=a.pino and b.rstatus > 0
|
|
set a.udt=now(),a.uno=#uno#,a.uip=#uip#
|
|
,a.pstatus=case when b.refundstatus=1 then 8 else 1 end
|
|
where a.payno=#payno# and a.pino in ($pinosexamuser2$);
|
|
</isNotNull>
|
|
<isNotNull property="pinoslect2">
|
|
update payitem a
|
|
inner join (
|
|
<iterate property="PIs" open="" conjunction="union all" close=""> select #PIs[].rstatus# rstatus,#PIs[].pino# pino,#PIs[].refundamt# refundamt,#PIs[].refundstatus# refundstatus,#PIs[].refundtime# refundtime,#PIs[].refundinfo# refundinfo </iterate>
|
|
) b on b.pino=a.pino and b.rstatus > 0
|
|
set a.refundstatus=b.refundstatus
|
|
where a.payno=#payno# and a.pino in ($pinoslect2$) and a.rstatus>0;
|
|
|
|
update lect a
|
|
inner join (
|
|
<iterate property="PIs" open="" conjunction="union all" close=""> select #PIs[].rstatus# rstatus,#PIs[].pino# pino,#PIs[].refundamt# refundamt,#PIs[].refundstatus# refundstatus,#PIs[].refundtime# refundtime,#PIs[].refundinfo# refundinfo </iterate>
|
|
) b on b.pino=a.pino and b.rstatus > 0
|
|
set a.udt=now(),a.uno=#uno#,a.uip=#uip#
|
|
,a.status=case when b.refundstatus=1 then 8 else 1 end
|
|
where a.payno=#payno# and a.pino in ($pinoslect2$);
|
|
</isNotNull>
|
|
|
|
insert into payrfdlog (payno,pino,refundamt,refunddate,dmemo,pistatus,<include refid="sql.inc"></include>)
|
|
select #payno#,a.pino,a.refundamt,a.refundtime,a.refundinfo,a.refundstatus,<include refid="sql.inv"></include>
|
|
from (
|
|
<iterate property="PIs" open="" conjunction="union all" close=""> select #PIs[].pino# pino,#PIs[].refundamt# refundamt,#PIs[].refundstatus# refundstatus,#PIs[].refundtime# refundtime,#PIs[].refundinfo# refundinfo </iterate>
|
|
) a;
|
|
|
|
<isGreaterThan property="isrefunddvr" compareValue="0">
|
|
insert into payrfdlog (payno,pino,refundamt,refunddate,dmemo,pistatus,<include refid="sql.inc"></include>)
|
|
values(#payno#,null,#deliamt#,now(),"택배비환불",0,<include refid="sql.inv"></include>);
|
|
</isGreaterThan>
|
|
</update>
|
|
<!--<update id="cr.lectchange" parameterClass="pay">
|
|
update payitem a
|
|
inner join (
|
|
<iterate property="PIs" open="" conjunction="union all" close="">
|
|
select a.pino, case when #PIs[].rstatus# = 1 then #PIs[].refundstatus# else a.refundstatus end refundstatus
|
|
from payitem a
|
|
where a.pino=#PIs[].pino#
|
|
</iterate>
|
|
) b on b.pino=a.pino
|
|
set a.refundstatus=b.refundstatus
|
|
where a.payno=#payno# and a.pino=b.pino;
|
|
|
|
update lect a
|
|
inner join (
|
|
<iterate property="PIs" open="" conjunction="union all" close="">
|
|
select a.pino,case when (case when #PIs[].rstatus# = 1 then #PIs[].refundstatus# else ifnull(a.refundstatus,0) end) = 0 then 1 else 8 end status
|
|
from payitem a
|
|
where a.pino = #PIs[].pino#
|
|
</iterate>
|
|
) b on b.pino=a.pino
|
|
set a.udt=now(),a.uno=#uno#,a.uip=#uip#
|
|
,a.status=b.status
|
|
where a.payno=#payno# and a.pino=b.pino and a.ischanged=0;
|
|
</update>-->
|
|
<select id="cr.paytaxes" parameterClass="hashtable" resultClass="paytax">
|
|
select a.*
|
|
from (
|
|
select a.taxno,ifnull(a.cname, ifnull(a.exname, a.bkname)) itemname,a.asaddr,a.pcnt,a.ccount,b.iscancel
|
|
,b.payno,b.asname,b.taxamt,b.cdt,b.taxdate,b.ceoname,b.brno,b.grno,b.btype,b.bkind,b.manname,b.fgno,b.taxinfo,b.isreceipt,b.mgtkey,b.taxdatereq,b.statecode
|
|
,CAST(AES_DECRYPT(UNHEX(b.telno), <include refid="sql.digest"></include>) AS char) telno
|
|
,CAST(AES_DECRYPT(UNHEX(b.email), <include refid="sql.digest"></include>) AS char) email
|
|
,u.userno cno,u.username,u.userid
|
|
,ua.isjoin
|
|
,row_number() over(order by b.cdt desc) rno
|
|
,count(a.taxno) over() pagetotalcount
|
|
from (
|
|
select a.taxno,max(cm.cname) cname,a.asaddr,max(bk.bkname) bkname,max(ex.exname) exname,sum(pi.pcnt) pcnt,count(pi.pino) ccount
|
|
from paytax a
|
|
inner join paytaxitem b on b.taxno=a.taxno
|
|
inner join payitem pi on pi.pino=b.pino
|
|
left outer join cm cm on pi.ptype in (0,1,4) and cm.cmno=pi.itemno
|
|
inner join cm cm2 on cm2.cmno=cm.pcmno
|
|
left outer join book bk on pi.ptype=2 and bk.bkno=pi.itemno
|
|
left outer join exam ex on pi.ptype=3 and ex.exno=pi.itemno
|
|
inner join users u on u.userno=a.cno
|
|
<dynamic prepend="where">
|
|
<isNotNull property="payno" prepend="and">a.payno = #payno#</isNotNull>
|
|
<isNotNull property="cno" prepend="and">a.cno = #cno#</isNotNull>
|
|
<isNotNull property="nottaxno" prepend="and">a.taxno <> #nottaxno#</isNotNull>
|
|
<isNotNull property="taxno" prepend="and">a.taxno=#taxno#</isNotNull>
|
|
<isNotNull property="iscancel" prepend="and">ifnull(a.iscancel,0)=#iscancel#</isNotNull>
|
|
<isNotNull property="cdts" prepend="and">a.cdt >= #cdts#</isNotNull>
|
|
<isNotNull property="cdte" prepend="and">a.cdt <= #cdte#</isNotNull>
|
|
<isNotNull property="tstatus0" prepend="and">ifnull(a.statecode,0) < 300</isNotNull>
|
|
<isNotNull property="tstatus1" prepend="and">a.statecode >= 300</isNotNull>
|
|
<isNotNull property="username" prepend="and">u.username like concat('%',#username#,'%')</isNotNull>
|
|
<isNotNull property="userid" prepend="and">u.userid like concat('%',#userid#,'%')</isNotNull>
|
|
<isNotNull property="manname" prepend="and">a.manname like concat('%',#manname#,'%')</isNotNull>
|
|
<isNotNull property="itemname" prepend="and">(cm.cname like concat('%', #itemname#, '%') or bk.bkname like concat('%', #itemname#, '%') or ex.exname like concat('%', #itemname#, '%'))</isNotNull>
|
|
<isNotNull property="cname" prepend="and">cm2.cname like concat('%', #cname#, '%')</isNotNull>
|
|
<isNotNull property="paynos" prepend="and">a.payno like concat('%', #paynos#, '%')</isNotNull>
|
|
<isNotNull property="nimp" prepend="and">
|
|
(u.username=#nimp# or u.userid=#nimp# or a.manname=#nimp# or cm.cname like concat('%', #nimp#, '%') or bk.bkname like concat('%', #nimp#, '%') or ex.exname like concat('%', #nimp#, '%') or cm2.cname like concat('%', #nimp#, '%'))
|
|
</isNotNull>
|
|
<isNotNull property="staxdatereq" prepend="and">a.taxdatereq >= #staxdatereq#</isNotNull>
|
|
<isNotNull property="etaxdatereq" prepend="and">a.taxdatereq <= #etaxdatereq#</isNotNull>
|
|
</dynamic>
|
|
group by a.taxno
|
|
) a
|
|
inner join paytax b on b.taxno=a.taxno
|
|
inner join users u on u.userno=b.cno
|
|
left outer join assign ua on ua.asno=u.asno
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by rno
|
|
</select>
|
|
<select id="cr.paytaxitem" parameterClass="long" resultClass="payitem">
|
|
select case pi.ptype when 2 then bk.bkname when 3 then ex.exname else cm.cname end itemname,pi.payamt,pi.pcnt,pi.ptype
|
|
,p.isgroup,p.payamt ppayamt,p.payoktime,p.ptype pptype
|
|
from paytax a
|
|
inner join paytaxitem b on b.taxno=a.taxno
|
|
inner join payitem pi on pi.pino=b.pino
|
|
inner join pay p on p.payno=pi.payno
|
|
left outer join cm cm on pi.ptype in (0,1,4) and cm.cmno=pi.itemno
|
|
left outer join book bk on pi.ptype=2 and bk.bkno=pi.itemno
|
|
left outer join exam ex on pi.ptype=3 and ex.exno=pi.itemno
|
|
where a.taxno=#taxno#
|
|
</select>
|
|
<select id="cr.paytaxitem2" parameterClass="hashtable" resultClass="payitem">
|
|
select case pi.ptype when 2 then bk.bkname when 3 then ex.exname else cm.cname end itemname,pi.payamt,pi.pcnt,pi.ptype
|
|
,p.isgroup,p.payamt ppayamt,p.payoktime,p.ptype pptype
|
|
from paytax a
|
|
inner join paytaxitem b on b.taxno=a.taxno
|
|
inner join payitem pi on pi.pino=b.pino
|
|
inner join pay p on p.payno=pi.payno
|
|
left outer join cm cm on pi.ptype in (0,1,4) and cm.cmno=pi.itemno
|
|
left outer join book bk on pi.ptype=2 and bk.bkno=pi.itemno
|
|
left outer join exam ex on pi.ptype=3 and ex.exno=pi.itemno
|
|
<dynamic prepend="where">
|
|
<isNotNull property="payno" prepend="and">a.payno=#payno#</isNotNull>
|
|
<isNotNull property="taxno" prepend="and">a.taxno=#taxno#</isNotNull>
|
|
</dynamic>
|
|
</select>
|
|
<select id="cr.paytaxes2" parameterClass="long" resultClass="paytax">
|
|
select a.taxno,a.taxamt,a.taxdate
|
|
from paytax a
|
|
where a.payno=#payno#
|
|
</select>
|
|
<select id="cr.paytax.formgtkey" parameterClass="hashtable" resultClass="paytax">
|
|
select taxno, mgtkey
|
|
from paytax
|
|
where mgtkey like concat(#taxdate#,'%')
|
|
order by mgtkey desc
|
|
limit 1
|
|
</select>
|
|
<update id="cr.paytax.save" parameterClass="paytax">
|
|
update paytax
|
|
set <include refid="sql.up"></include>
|
|
,asname=#asname#
|
|
,ceoname=#ceoname#
|
|
,brno=#brno#
|
|
,grno=#grno#
|
|
,btype=#btype#
|
|
,bkind=#bkind#
|
|
,manname=#manname#
|
|
,telno=HEX(AES_ENCRYPT(#telno#, <include refid="sql.digest"></include>))
|
|
,email=HEX(AES_ENCRYPT(#email#, <include refid="sql.digest"></include>))
|
|
,taxdate=#taxdate#
|
|
,taxinfo=#taxinfo#
|
|
,isreceipt=#isreceipt#
|
|
,iscancel=#iscancel#
|
|
,asaddr=#asaddr#
|
|
,mgtkey=#mgtkey#
|
|
,taxdatereq=#taxdatereq#
|
|
,statecode=#statecode#
|
|
where taxno=#taxno#
|
|
</update>
|
|
<select id="cr.documnetspasts" parameterClass="hashtable" resultClass="document">
|
|
select
|
|
a.*
|
|
from (
|
|
select
|
|
a.no,a.kind,a.cg,a.cshape,a.username
|
|
,CAST(AES_DECRYPT(UNHEX(a.userpno), <include refid="sql.digest"></include>) AS char) userpno
|
|
,a.typeman,a.edukind,a.typeedu,a.typegrade,a.typejob,a.cgname,a.completeno,a.companyname,a.companyaddr,a.brno,a.eino,a.btype
|
|
,a.bkind,a.ceoname,date_format(a.ssdate, '%Y-%m-%d') ssdate,date_format(a.sedate, '%Y-%m-%d') sedate,a.sctime,a.assign,a.slevel,a.uduty
|
|
,CAST(AES_DECRYPT(UNHEX(a.phone), <include refid="sql.digest"></include>) AS char) phone
|
|
,a.mname
|
|
,CAST(AES_DECRYPT(UNHEX(a.mphone), <include refid="sql.digest"></include>) AS char) mphone
|
|
,a.sprice,a.rprice,a.rbank
|
|
,CAST(AES_DECRYPT(UNHEX(a.rbankno), <include refid="sql.digest"></include>) AS char) rbankno
|
|
,a.rbankuser
|
|
,CAST(AES_DECRYPT(UNHEX(a.taxemail), <include refid="sql.digest"></include>) AS char) taxemail
|
|
,a.syear,a.cdt,a.cno,a.udt,a.uno,a.uip
|
|
,row_number() over(order by a.ssdate desc) rno
|
|
,count(a.ssdate) over() pagetotalcount
|
|
from docprintpast a
|
|
where a.ssdate >= #ssdate# and a.sedate <= #sedate#
|
|
<isNotNull property="syear">and a.syear=#syear#</isNotNull>
|
|
<isNotNull property="cg">and a.cg=#cg#</isNotNull>
|
|
<isNotNull property="cshape">and a.cshape=#cshape#</isNotNull>
|
|
<isNotNull property="typeman">and a.typeman=#typeman#</isNotNull>
|
|
<isNotNull property="edukind">and a.edukind=#edukind#</isNotNull>
|
|
<isNotNull property="typeedu">and a.typeedu=#typeedu#</isNotNull>
|
|
<isNotNull property="typegrade">and a.typegrade=#typegrade#</isNotNull>
|
|
<isNotNull property="typejob">and a.typejob=#typejob#</isNotNull>
|
|
<isNotNull property="word">
|
|
<isNotNull property="text">
|
|
<isEqual property="word" compareValue="username" prepend="and"> a.username like concat('%',#text#,'%')</isEqual>
|
|
<isEqual property="word" compareValue="userpno" prepend="and"> a.userpno = HEX(AES_ENCRYPT(replace(#text#,'-',''), <include refid="sql.digest"></include>))</isEqual>
|
|
<isEqual property="word" compareValue="completeno" prepend="and"> a.completeno like concat('%',#text#,'%')</isEqual>
|
|
<isEqual property="word" compareValue="companyname" prepend="and"> a.companyname like concat('%',#text#,'%')</isEqual>
|
|
<isEqual property="word" compareValue="brno" prepend="and"> a.brno like concat('%',#text#,'%')</isEqual>
|
|
</isNotNull>
|
|
</isNotNull>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.rno
|
|
</select>
|
|
<select id="cr.documnetspast" parameterClass="hashtable" resultClass="document">
|
|
select
|
|
a.no,a.kind,a.cg,a.cshape,a.username
|
|
,CAST(AES_DECRYPT(UNHEX(a.userpno), <include refid="sql.digest"></include>) AS char) userpno
|
|
,a.typeman,a.edukind,a.typeedu,a.typegrade,a.typejob,a.cgname,a.completeno,a.companyname,a.companyaddr,a.brno,a.eino,a.btype
|
|
,a.bkind,a.ceoname,date_format(a.ssdate, '%Y-%m-%d') ssdate,date_format(a.sedate, '%Y-%m-%d') sedate,a.sctime,a.assign,a.slevel,a.uduty
|
|
,CAST(AES_DECRYPT(UNHEX(a.phone), <include refid="sql.digest"></include>) AS char) phone
|
|
,a.mname
|
|
,CAST(AES_DECRYPT(UNHEX(a.mphone), <include refid="sql.digest"></include>) AS char) mphone
|
|
,a.sprice,a.rprice,a.rbank
|
|
,CAST(AES_DECRYPT(UNHEX(a.rbankno), <include refid="sql.digest"></include>) AS char) rbankno
|
|
,a.rbankuser
|
|
,CAST(AES_DECRYPT(UNHEX(a.taxemail), <include refid="sql.digest"></include>) AS char) taxemail
|
|
,a.syear,a.cdt,a.cno,a.udt,a.uno,a.uip
|
|
from docprintpast a
|
|
where a.no = #no#
|
|
</select>
|
|
<update id="cr.documnetspast.up" parameterClass="document">
|
|
update docprintpast
|
|
set <include refid="sql.up"></include>
|
|
,kind=#kind#
|
|
,cg=#cg#
|
|
,cshape=#cshape#
|
|
,username=#username#
|
|
,userpno=HEX(AES_ENCRYPT(#userpno#, <include refid="sql.digest"></include>))
|
|
,typeman=#typeman#
|
|
,edukind=#edukind#
|
|
,typeedu=#typeedu#
|
|
,typegrade=#typegrade#
|
|
,typejob=#typejob#
|
|
,cgname=#cgname#
|
|
,completeno=#completeno#
|
|
,companyname=#companyname#
|
|
,companyaddr=#companyaddr#
|
|
,brno=#brno#
|
|
,eino=#eino#
|
|
,btype=#btype#
|
|
,bkind=#bkind#
|
|
,ceoname=#ceoname#
|
|
,ssdate=#ssdate#
|
|
,sedate=#sedate#
|
|
,sctime=#sctime#
|
|
,assign=#assign#
|
|
,slevel=#slevel#
|
|
,uduty=#uduty#
|
|
,phone=HEX(AES_ENCRYPT(#phone#, <include refid="sql.digest"></include>))
|
|
,mname=#mname#
|
|
,mphone=HEX(AES_ENCRYPT(#mphone#, <include refid="sql.digest"></include>))
|
|
,sprice=#sprice#
|
|
,rprice=#rprice#
|
|
,rbank=#rbank#
|
|
,rbankno=HEX(AES_ENCRYPT(#rbankno#, <include refid="sql.digest"></include>))
|
|
,rbankuser=#rbankuser#
|
|
,taxemail=HEX(AES_ENCRYPT(#taxemail#, <include refid="sql.digest"></include>))
|
|
,syear=#syear#
|
|
where no=#no#
|
|
</update>
|
|
<update id="cr.documnetspast.batch" parameterClass="hashtable">
|
|
insert into docprintpast (kind, cg, cshape, username, userpno, typeman, edukind, typeedu, typegrade, typejob, cgname, completeno, companyname, companyaddr, brno, eino, btype, bkind, ceoname, ssdate, sedate, sctime, assign, slevel, uduty, phone, mname, mphone, sprice, rprice, rbank, rbankno, rbankuser, taxemail, syear, <include refid="sql.inc"></include>)
|
|
<iterate property="Ds" open="" conjunction="union all" close="">
|
|
select #Ds[].kind#, #Ds[].cg#, #Ds[].cshape#, #Ds[].username#
|
|
, HEX(AES_ENCRYPT(#Ds[].userpno#, <include refid="sql.digest"></include>))
|
|
, #Ds[].typeman#, #Ds[].edukind#, #Ds[].typeedu#, #Ds[].typegrade#, #Ds[].typejob#, #Ds[].cgname#, #Ds[].completeno#, #Ds[].companyname#, #Ds[].companyaddr#, #Ds[].brno#, #Ds[].eino#, #Ds[].btype#, #Ds[].bkind#, #Ds[].ceoname#, #Ds[].ssdate#, #Ds[].sedate#, #Ds[].sctime#, #Ds[].assign#, #Ds[].slevel#, #Ds[].uduty#
|
|
, HEX(AES_ENCRYPT(#Ds[].phone#, <include refid="sql.digest"></include>))
|
|
, #Ds[].mname#
|
|
, HEX(AES_ENCRYPT(#Ds[].mphone#, <include refid="sql.digest"></include>))
|
|
, #Ds[].sprice#, #Ds[].rprice#, #Ds[].rbank#
|
|
, HEX(AES_ENCRYPT(#Ds[].rbankno#, <include refid="sql.digest"></include>))
|
|
, #Ds[].rbankuser#
|
|
, HEX(AES_ENCRYPT(#Ds[].taxemail#, <include refid="sql.digest"></include>))
|
|
, #Ds[].syear#
|
|
, now(), #Ds[].uno#, now(), #Ds[].uno#, #Ds[].uip#
|
|
</iterate>;
|
|
</update>
|
|
<select id="cr.documnetspasts.kind" parameterClass="hashtable" resultClass="textvalue">
|
|
select a.kind value,a.kind text from docprintpast a
|
|
where a.kind is not null and a.kind <> ""
|
|
group by a.kind
|
|
</select>
|
|
<select id="cr.documnetspasts.syear" parameterClass="hashtable" resultClass="textvalue">
|
|
select a.syear value,a.syear text from docprintpast a
|
|
where a.syear is not null and a.syear <> ""
|
|
group by a.syear
|
|
</select>
|
|
<select id="cr.documnetspasts.cg" parameterClass="hashtable" resultClass="textvalue">
|
|
select a.cg value,a.cg text from docprintpast a
|
|
where a.cg is not null and a.cg <> ""
|
|
group by a.cg
|
|
</select>
|
|
<select id="cr.documnetspasts.cshape" parameterClass="hashtable" resultClass="textvalue">
|
|
select a.cshape value,a.cshape text from docprintpast a
|
|
where a.cshape is not null and a.cshape <> ""
|
|
group by a.cshape
|
|
</select>
|
|
<select id="cr.documnetspasts.typeman" parameterClass="hashtable" resultClass="textvalue">
|
|
select a.typeman value,a.typeman text from docprintpast a
|
|
where a.typeman is not null and a.typeman <> ""
|
|
group by a.typeman
|
|
</select>
|
|
<select id="cr.documnetspasts.edukind" parameterClass="hashtable" resultClass="textvalue">
|
|
select a.edukind value,a.edukind text from docprintpast a
|
|
where a.edukind is not null and a.edukind <> ""
|
|
group by a.edukind
|
|
</select>
|
|
<select id="cr.documnetspasts.typeedu" parameterClass="hashtable" resultClass="textvalue">
|
|
select a.typeedu value,a.typeedu text from docprintpast a
|
|
where a.typeedu is not null and a.typeedu <> ""
|
|
group by a.typeedu
|
|
</select>
|
|
<select id="cr.documnetspasts.typegrade" parameterClass="hashtable" resultClass="textvalue">
|
|
select a.typegrade value,a.typegrade text from docprintpast a
|
|
where a.typegrade is not null and a.typegrade <> ""
|
|
group by a.typegrade
|
|
</select>
|
|
<select id="cr.documnetspasts.typejob" parameterClass="hashtable" resultClass="textvalue">
|
|
select a.typejob value,a.typejob text from docprintpast a
|
|
where a.typejob is not null and a.typejob <> ""
|
|
group by a.typejob
|
|
</select>
|
|
<select id="cr.lectinningpage.totstudy" parameterClass="hashtable" resultClass="int">
|
|
select ifnull(sum(totstudy),-1) totstudy
|
|
from lectinningpage
|
|
where lectno = #lectno# and cmino = #cmino# and cpno = #cpno#
|
|
</select>
|
|
<select id="cr.completions" parameterClass="hashtable" resultClass="completion">
|
|
select a.*
|
|
from (
|
|
select
|
|
l.lectno,l.iscomplete,l.completetime,l.completeno
|
|
,case when cm.cshape = 1 then l.sdate
|
|
else p.payoktime end sdate
|
|
,case when cm.cshape = 1 then l.edate
|
|
else cmi.estart end edate
|
|
,l.cdt,l.cno,pp.udt,l.uno,l.uip
|
|
,cm.cgno,cm.studytime,cm.cshape,cm.cname,cm.studyplace
|
|
,t.tyear
|
|
,cg.cgname,cg.pcgno
|
|
,pcg.cgname as pcgname
|
|
,u.userno,u.userid,u.username,u.uduty,u.slevel
|
|
,CAST(AES_DECRYPT(UNHEX(u.userpno), <include refid="sql.digest"></include>) AS char) as userpno
|
|
,CAST(AES_DECRYPT(UNHEX(u.mobile), <include refid="sql.digest"></include>) AS char) as mobile
|
|
,CAST(AES_DECRYPT(UNHEX(u.email), <include refid="sql.digest"></include>) AS char) as email
|
|
,pi.tbankuser as rbankuser,pi.rbank,pi.pino,pi.rbankamt
|
|
,CAST(AES_DECRYPT(UNHEX(pi.rbankaccnum), <include refid="sql.digest"></include>) AS char) as rbankaccnum
|
|
,p.payamt
|
|
,pp.pplno,pp.typeman,pp.typeedu,pp.typegrade,pp.typejob
|
|
,pp.asname,pp.post,pp.address1,pp.address2,pp.brno,pp.eino,pp.btype,pp.bkind,pp.ceoname,pp.mname,pp.association
|
|
,CAST(AES_DECRYPT(UNHEX(pp.mphone), <include refid="sql.digest"></include>) AS char) as mphone
|
|
,CAST(AES_DECRYPT(UNHEX(pp.taxemail), <include refid="sql.digest"></include>) AS char) as taxemail
|
|
,case when p.ispg = 1 then p.payno else 0 end
|
|
,row_number() over(order by l.lectno desc) rno
|
|
,count(l.lectno) over() pagetotalcount
|
|
from lect l
|
|
left outer join cm cm on cm.cmno = l.cmno
|
|
left outer join term t on t.tmno=cm.tmno
|
|
left outer join cg cg on cg.cgno = cm.cgno
|
|
left outer join cg pcg on pcg.cgno = cg.pcgno
|
|
left outer join users u on u.userno = l.userno
|
|
left outer join pay p on p.payno = l.payno
|
|
left outer join payitem pi on pi.payno = p.payno
|
|
left outer join pplog pp on pp.pplno = p.pplno
|
|
left outer join cminningscd cmi on cmi.cmisno = pp.cmisno
|
|
where l.iscomplete = 1
|
|
<isNotNull property="lectno" prepend="and">l.lectno = #lectno#</isNotNull>
|
|
<isNotNull property="scompletetime" prepend="and">l.completetime >= #scompletetime#</isNotNull>
|
|
<isNotNull property="ecompletetime" prepend="and">l.completetime <= #ecompletetime#</isNotNull>
|
|
<isNotNull property="tyear" prepend="and">t.tyear=#tyear#</isNotNull>
|
|
<isNotNull property="cgno" prepend="and">cg.cgno=#cgno#</isNotNull>
|
|
<isNotNull property="pcgno" prepend="and">cg.pcgno=#pcgno#</isNotNull>
|
|
<isNotNull property="cshape" prepend="and">cm.cshape=#cshape#</isNotNull>
|
|
<isNotNull property="studyplace" prepend="and">cm.studyplace=#studyplace#</isNotNull>
|
|
<isNotNull property="typeman" prepend="and">pp.typeman=#typeman#</isNotNull>
|
|
<isNotNull property="edukind" prepend="and">pp.edukind=#edukind#</isNotNull>
|
|
<isNotNull property="typeedu" prepend="and">pp.typeedu=#typeedu#</isNotNull>
|
|
<isNotNull property="typegrade" prepend="and">pp.typegrade=#typegrade#</isNotNull>
|
|
<isNotNull property="typejob" prepend="and">pp.typejob=#typejob#</isNotNull>
|
|
<isNotNull property="searchtype">
|
|
<isNotNull property="searchtext">
|
|
<isEqual property="searchtype" compareValue="userid" prepend="and"> u.userid like concat('%',#searchtext#,'%')</isEqual>
|
|
<isEqual property="searchtype" compareValue="username" prepend="and"> u.username like concat('%',#searchtext#,'%')</isEqual>
|
|
<isEqual property="searchtype" compareValue="userpno" prepend="and">
|
|
u.userpno = HEX(AES_ENCRYPT(replace(#searchtext#,'-',''), <include refid="sql.digest"></include>))
|
|
</isEqual>
|
|
<isEqual property="searchtype" compareValue="completeno" prepend="and"> l.completeno like concat('%',#searchtext#,'%')</isEqual>
|
|
<isEqual property="searchtype" compareValue="asname" prepend="and"> pp.asname like concat('%',#searchtext#,'%')</isEqual>
|
|
<isEqual property="searchtype" compareValue="brno" prepend="and"> pp.brno like concat('%',#searchtext#,'%')</isEqual>
|
|
</isNotNull>
|
|
</isNotNull>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.rno
|
|
</select>
|
|
<update id="cr.completion.up" parameterClass="completion">
|
|
update users
|
|
set <include refid="sql.up"></include>
|
|
<isNotNull property="username">,username=#username#</isNotNull>
|
|
<isNotNull property="userpno">,userpno=HEX(AES_ENCRYPT(#userpno#, <include refid="sql.digest"></include>))</isNotNull>
|
|
<isNotNull property="slevel">,slevel=#slevel#</isNotNull>
|
|
<isNotNull property="uduty">,uduty=#uduty#</isNotNull>
|
|
<isNotNull property="mobile">,mobile=HEX(AES_ENCRYPT(#mobile#, <include refid="sql.digest"></include>))</isNotNull>
|
|
<isNotNull property="birthday">,birthday=HEX(AES_ENCRYPT(#birthday#, <include refid="sql.digest"></include>))</isNotNull>
|
|
where userno=#userno#;
|
|
|
|
update lect
|
|
set <include refid="sql.up"></include>
|
|
<isNotNull property="iscomplete" compareValue="0" >,iscomplete=#iscomplete#,completetime=null</isNotNull>
|
|
<isNotNull property="sdate">,sdate=#sdate#</isNotNull>
|
|
<isNotNull property="edate">,edate=#edate#</isNotNull>
|
|
where lectno=#lectno# and userno=#userno#;
|
|
|
|
update payitem
|
|
set <include refid="sql.up"></include>
|
|
<isNotNull property="rbank">,rbank=#rbank#</isNotNull>
|
|
<isNotNull property="rbankaccnum">,rbankaccnum=HEX(AES_ENCRYPT(#rbankaccnum#, <include refid="sql.digest"></include>))</isNotNull>
|
|
<isNotNull property="rbankuser">,tbankuser=#rbankuser#</isNotNull>
|
|
<isNotNull property="rbankamt">,rbankamt=#rbankamt#</isNotNull>
|
|
where pino=#pino# and userno=#userno#;
|
|
|
|
update pplog
|
|
set <include refid="sql.up"></include>
|
|
<isNotNull property="typeman">,typeman=#typeman#</isNotNull>
|
|
<isNotNull property="typejob">,typejob=#typejob#</isNotNull>
|
|
<isNotNull property="typeedu">,typeedu=#typeedu#</isNotNull>
|
|
<isNotNull property="typegrade">,typegrade=#typegrade#</isNotNull>
|
|
<isNotNull property="rbank">,rbankname=#rbank#</isNotNull>
|
|
<isNotNull property="rbankaccnum">,rbankacc=HEX(AES_ENCRYPT(#rbankaccnum#, <include refid="sql.digest"></include>))</isNotNull>
|
|
<isNotNull property="rbankuser">,rbankowner=#rbankuser#</isNotNull>
|
|
<isNotNull property="association">,association=#association#</isNotNull>
|
|
<isNotNull property="asname">,asname=#asname#</isNotNull>
|
|
<isNotNull property="post">,post=#post#</isNotNull>
|
|
<isNotNull property="address1">,address1=#address1#</isNotNull>
|
|
<isNotNull property="address2">,address2=#address2#</isNotNull>
|
|
<isNotNull property="brno">,brno=#brno#</isNotNull>
|
|
<isNotNull property="eino">,eino=#eino#</isNotNull>
|
|
<isNotNull property="btype">,btype=#btype#</isNotNull>
|
|
<isNotNull property="bkind">,bkind=#bkind#</isNotNull>
|
|
<isNotNull property="ceoname">,ceoname=#ceoname#</isNotNull>
|
|
<isNotNull property="mname">,mname=#mname#</isNotNull>
|
|
<isNotNull property="mphone">,mphone=HEX(AES_ENCRYPT(#mphone#, <include refid="sql.digest"></include>))</isNotNull>
|
|
<isNotNull property="taxemail">,taxemail=HEX(AES_ENCRYPT(#taxemail#, <include refid="sql.digest"></include>))</isNotNull>
|
|
where pplno=#pplno# and userno=#userno#;
|
|
</update>
|
|
</statements>
|
|
</sqlMap> |