1917 lines
110 KiB
XML
1917 lines
110 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="term" type="NP.Model.Term, NP.Model" />
|
|
<typeAlias alias="cg" type="NP.Model.CG, NP.Model" />
|
|
<typeAlias alias="cm" type="NP.Model.CM, NP.Model" />
|
|
<typeAlias alias="cminning" type="NP.Model.CMInning, NP.Model" />
|
|
<typeAlias alias="cminningscd" type="NP.Model.CMInningscd, NP.Model" />
|
|
<typeAlias alias="cmpr" type="NP.Model.CMPR, NP.Model" />
|
|
<typeAlias alias="book" type="NP.Model.Book, NP.Model" />
|
|
<typeAlias alias="ct" type="NP.Model.CT, NP.Model" />
|
|
<typeAlias alias="ctp" type="NP.Model.CTPage, NP.Model" />
|
|
<typeAlias alias="cmev" type="NP.Model.CMEV, NP.Model" />
|
|
<typeAlias alias="est" type="NP.Model.EST, NP.Model" />
|
|
<typeAlias alias="cmex" type="NP.Model.CMEX, NP.Model" />
|
|
<typeAlias alias="cmsd" type="NP.Model.CMSD, NP.Model" />
|
|
<typeAlias alias="cmrs" type="NP.Model.CMRS, NP.Model" />
|
|
<typeAlias alias="cmmenu" type="NP.Model.CMMenu, NP.Model" />
|
|
<typeAlias alias="cmexq" type="NP.Model.CMEXQ, NP.Model" />
|
|
<typeAlias alias="cmexlayer" type="NP.Model.CMEXLayer, NP.Model" />
|
|
<typeAlias alias="question" type="NP.Model.Question, NP.Model" />
|
|
<typeAlias alias="questionitem" type="NP.Model.QuestionItem, NP.Model" />
|
|
<typeAlias alias="rsc" type="NP.Model.RSC, NP.Model" />
|
|
<typeAlias alias="rscq" type="NP.Model.RSCQ, NP.Model" />
|
|
<typeAlias alias="pplog" type="NP.Model.PPLog, NP.Model" />
|
|
</alias>
|
|
<cacheModels>
|
|
<cacheModel id="cmCache" implementation="LRU" >
|
|
<flushInterval hours="1" />
|
|
<property name="CacheSize" value="1000" />
|
|
</cacheModel>
|
|
</cacheModels>
|
|
<resultMaps></resultMaps>
|
|
<statements>
|
|
<select id="cm.terms" parameterClass="hashtable" resultClass="term">
|
|
select a.*
|
|
from (
|
|
select a.tmno,a.tyear,a.tseq,a.rstime,a.retime,a.sstime,a.setime,a.gstime,a.getime
|
|
,a.tmno value,a.tseq text
|
|
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.tyear desc,a.tseq desc</isNull>) rno
|
|
,count(a.tmno) over() pagetotalcount
|
|
from term a
|
|
<dynamic prepend="where">
|
|
<isNotNull property="tyear" prepend="and">a.tyear=#tyear#</isNotNull>
|
|
<isNotNull property="tseq" prepend="and">a.tseq=#tseq#</isNotNull>
|
|
<isNotNull property="tmnonot" prepend="and">a.tmno<>#tmnonot#</isNotNull>
|
|
<isNotNull property="tmno" prepend="and">a.tmno=#tmno#</isNotNull>
|
|
</dynamic>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.rno
|
|
</select>
|
|
<update id="cm.term.in" parameterClass="hashtable">
|
|
insert into term (tyear,tseq,rstime,retime,sstime,setime,gstime,getime,<include refid="sql.inc"></include>)
|
|
values (#tyear#,#tseq#,#rstime#,#retime#,#sstime#,#setime#,#gstime#,#getime#,<include refid="sql.inv"></include>)
|
|
</update>
|
|
<update id="cm.term.up" parameterClass="hashtable">
|
|
update term set <include refid="sql.up"></include>,tyear =#tyear#,tseq =#tseq#,rstime=#rstime#,retime=#retime#,sstime=#sstime#,setime=#setime#,gstime=#gstime#,getime=#getime# where tmno=#tmno#
|
|
</update>
|
|
|
|
<select id="cm.myterm" parameterClass="int" resultClass="term">
|
|
select distinct c.tmno,c.tyear,c.tseq
|
|
from cmprof a
|
|
inner join cm b on b.cmno=a.cmno and b.ismaster=0 and b.isdel=0
|
|
inner join term c on c.tmno=b.tmno
|
|
where a.userno=#userno#
|
|
order by c.tyear desc,c.tseq
|
|
</select>
|
|
<select id="cm.term.ys" parameterClass="hashtable" resultClass="term">
|
|
select distinct tmno,tyear,tseq
|
|
from term
|
|
order by tyear desc,tseq
|
|
</select>
|
|
<select id="cm.mycms" parameterClass="hashtable" resultClass="cm">
|
|
select b.cmno,b.cname,b.classno,b.cmno value,b.cname text
|
|
from cmprof a
|
|
inner join cm b on b.cmno=a.cmno and b.ismaster=0 and b.isdel=0 <isNotNull property="tmno">and b.tmno=#tmno#</isNotNull>
|
|
where a.userno=#userno#
|
|
order by b.cname, b.classno
|
|
</select>
|
|
<select id="cm.cgs" parameterClass="hashtable" resultClass="cg">
|
|
select a.*
|
|
from (
|
|
select a.cgno,a.pcgno,a.cgname,a.cgcode,a.isuse,a.iscover,a.isdel,a.cdt
|
|
,b.cgname pcgname
|
|
,a.cgno value,a.cgname text
|
|
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.cdt desc</isNull>) rno
|
|
,count(a.cdt) over() pagetotalcount
|
|
from cg a
|
|
left outer join cg b on b.cgno=a.pcgno
|
|
<dynamic prepend="where">
|
|
<isNotNull property="isdel" prepend="and">a.isdel=#isdel#</isNotNull>
|
|
<isNotNull property="cgnamecode" prepend="and">a.cgname like concat('%',#cgnamecode#,'%') or a.cgcode like concat('%',#cgnamecode#,'%')</isNotNull>
|
|
<isNotNull property="cgcode" prepend="and">a.cgcode=#cgcode#</isNotNull>
|
|
<isNotNull property="pcgcodeall" prepend="and">((a.pcgno is null and a.cgcode=#pcgcodeall#) or (a.pcgno is not null and b.cgcode=#pcgcodeall#))</isNotNull>
|
|
<isNotNull property="cgnonot" prepend="and">a.cgno<>#cgnonot#</isNotNull>
|
|
<isNotNull property="cgno" prepend="and">a.cgno=#cgno#</isNotNull>
|
|
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
|
<isNotNull property="istop" prepend="and">a.pcgno is null</isNotNull>
|
|
<isNotNull property="issecond" prepend="and">a.pcgno is not null</isNotNull>
|
|
<isNotNull property="pcgno" prepend="and">a.pcgno=#pcgno#</isNotNull>
|
|
<isNotNull property="includepcgno" prepend="and">((a.pcgno=#includepcgno# or a.cgno=#includecgno#) or (a.isuse=1 and a.isdel=0 and (a.pcgno is null or a.pcgno=#includepcgno#)))</isNotNull>
|
|
</dynamic>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.rno
|
|
</select>
|
|
<update id="cm.cg.in" parameterClass="hashtable">
|
|
insert into cg (pcgno,cgname,cgcode,isuse,iscover,isdel,<include refid="sql.inc"></include>)
|
|
values (#pcgno#,#cgname#,#cgcode#,#isuse#,#iscover#,0,<include refid="sql.inv"></include>)
|
|
</update>
|
|
<update id="cm.cg.up" parameterClass="hashtable">
|
|
update cg set <include refid="sql.up"></include>
|
|
<isNull property="saveflag">,pcgno=#pcgno#,cgname=#cgname#,cgcode=#cgcode#,isuse=#isuse#,iscover=#iscover#</isNull>
|
|
<isNotNull property="saveflag">,isdel=1,isuse=0</isNotNull>
|
|
where cgno=#cgno#
|
|
</update>
|
|
<select id="cm.cms" parameterClass="hashtable" resultClass="cm">
|
|
select a.*
|
|
from (
|
|
select a.cmno,case when a.ismaster=2 then a.cmno else 0 end pcno,a.ismaster,a.cgno,a.pcmno,a.cname,a.kname
|
|
,a.tmno,a.classno,a.rstime,a.retime,a.sstime,a.setime,a.gstime,a.getime
|
|
,a.cshape,a.infee,a.outfee,a.quota
|
|
,a.introhtml,a.targethtml,a.goalhtml,a.contenthtml
|
|
,a.studytime,a.studyplace,a.certcc,a.certgradecc,a.jobcc,a.jobpositiongrade,a.difficulty,a.isrefund,a.isuse,a.isseq,a.fgnocm
|
|
,a.typeman,a.typeedu,a.typegrade,a.typejob,a.iscertificate
|
|
,b.pcgno,b.cgcode cgcode
|
|
,b.cgname,c.cgname pcgname
|
|
,c.cgcode pcgcode
|
|
,t.tyear,t.tseq
|
|
,d.cname pcname
|
|
,e.ccode,e.cname studyplacename
|
|
,f.cnt lectcnt
|
|
,a.cdt,a.udt
|
|
,a.cmno value,a.cname text
|
|
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.udt desc</isNull>) rno
|
|
,count(a.cdt) over() pagetotalcount
|
|
from cm a
|
|
inner join cg b on b.cgno=a.cgno
|
|
inner join cg c on c.cgno=b.pcgno
|
|
left outer join term t on t.tmno=a.tmno
|
|
left outer join cm d on a.ismaster=0 and d.cmno=a.pcmno
|
|
left outer join comcode e on a.studyplace = e.ccode
|
|
left outer join (select count(a.lectno) cnt from lect a where a.cmno=#cmno# and a.status =1 and a.ischanged=0) f on 1 = 1
|
|
where a.isdel=0
|
|
<isNotNull property="cmno">and a.cmno=#cmno#</isNotNull>
|
|
<isNotNull property="notcmno">and a.cmno <> #notcmno#</isNotNull>
|
|
<isNotNull property="notcmnos">and a.cmno not in ($notcmnos$)</isNotNull>
|
|
<isNotNull property="pcgno">and b.pcgno=#pcgno#</isNotNull>
|
|
<isNotNull property="cgno">and a.cgno=#cgno#</isNotNull>
|
|
<isNotNull property="cshape">and a.cshape=#cshape#</isNotNull>
|
|
<isNotNull property="typeman">and a.typeman like concat('%',#typeman#,'%')</isNotNull>
|
|
<isNotNull property="typeedu">and a.typeedu like concat('%',#typeedu#,'%')</isNotNull>
|
|
<isNotNull property="typegrade">and a.typegrade like concat('%',#typegrade#,'%')</isNotNull>
|
|
<isNotNull property="typejob">and a.typejob like concat('%',#typejob#,'%')</isNotNull>
|
|
<isNotNull property="studyplace">and a.studyplace=#studyplace#</isNotNull>
|
|
<isNotNull property="cshapes">and a.cshape in ($cshapes$)</isNotNull>
|
|
<isNotEmpty property="cname">and a.cname like concat('%',#cname#,'%')</isNotEmpty>
|
|
<isNotNull property="ismaster">and a.ismaster=#ismaster#</isNotNull>
|
|
<isNotNull property="ismaster02">and a.ismaster in (0,2)</isNotNull>
|
|
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
|
<isNotNull property="tyear" prepend="and">t.tyear=#tyear#</isNotNull>
|
|
<isNotNull property="tseq" prepend="and">t.tseq=#tseq#</isNotNull>
|
|
<isNotNull property="tmno" prepend="and">a.tmno=#tmno#</isNotNull>
|
|
<isNotNull property="iscurrent" prepend="and">a.setime > now()</isNotNull>
|
|
<isNotNull property="sstime" prepend="and">a.sstime >= #sstime#</isNotNull>
|
|
<isNotNull property="setime" prepend="and">a.setime <= #setime#</isNotNull>
|
|
<isNotNull property="cgcode">and b.cgcode=#cgcode#</isNotNull>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.rno
|
|
</select>
|
|
<select id="cm.cm" parameterClass="hashtable" resultClass="cm">
|
|
select a.cmno,a.cshape,a.cname,a.classno,a.rstime,a.retime,a.sstime,a.setime,a.certcc,a.cgno,a.quota
|
|
,b.tyear,b.tseq,a.isrefund
|
|
,a3.cgcode pcgcode
|
|
,e.countlect,e.countstandby
|
|
<isNotNull property="htmlcolumns">$htmlcolumns$</isNotNull>
|
|
from cm a
|
|
inner join cg a2 on a2.cgno=a.cgno
|
|
inner join cg a3 on a3.cgno=a2.pcgno
|
|
inner join term b on b.tmno=a.tmno
|
|
left outer join comcode cc on cc.ccode=a.studyplace
|
|
left outer join (
|
|
select l.cmno
|
|
,sum(case when l.status < 3 then 1 else 0 end) countlect
|
|
,sum(case when ifnull(l.isready,0) = 1 and l.status=3 then 1 else 0 end) countstandby
|
|
from lect l
|
|
inner join users u on u.userno = l.userno
|
|
where l.cmno = #cmno# and l.ischanged=0
|
|
group by l.cmno
|
|
) e on e.cmno = a.cmno
|
|
where a.cmno=#cmno#
|
|
</select>
|
|
<!--비공개인 강좌여도 수강생등록 가능-->
|
|
<select id="cm.cmsbycmnos" parameterClass="hashtable" resultClass="cm">
|
|
select a.cmno,a.cname
|
|
from cm a
|
|
where <!--a.isuse=1 and--> a.isdel=0
|
|
<isNotNull property="cmnos">and a.cmno in ($cmnos$)</isNotNull>
|
|
<isNotNull property="ismaster">and a.ismaster=#ismaster#</isNotNull>
|
|
<isNotNull property="ismasters">and a.ismaster in ($ismasters$)</isNotNull>
|
|
</select>
|
|
<select id="cm.pcms" parameterClass="hashtable" resultClass="cm">
|
|
select a.pcno,a.cmno,a.dseq,a.orginfee,a.orgoutfee,a.drate,a.infee,a.outfee
|
|
,b.cname,b.classno,b.cshape
|
|
,t.tmno,t.tyear,t.tseq
|
|
from cmpc a
|
|
inner join cm b on b.cmno=a.cmno
|
|
inner join term t on t.tmno=b.tmno
|
|
<dynamic prepend="where">
|
|
<isNotNull property="pcnos" prepend="and">a.pcno in ($pcnos$)</isNotNull>
|
|
<isNotNull property="pcno" prepend="and">a.pcno = #pcno#</isNotNull>
|
|
</dynamic>
|
|
order by a.pcno, a.dseq
|
|
</select>
|
|
<select id="cm.count.cmlect" parameterClass="hashtable" resultClass="data">
|
|
select a.intval,count(a.status) intval2
|
|
from (
|
|
select a.cmno intval,case when u.status > 1 then null else u.status end status
|
|
from cm a
|
|
left outer join lect b on b.cmno=a.cmno and b.status < 5
|
|
left outer join users u on u.userno = b.userno
|
|
<dynamic prepend="where">
|
|
<isNotNull property="cmnos" prepend="and">a.cmno in ($cmnos$)</isNotNull>
|
|
<isNotNull property="ischanged" prepend="and">b.ischanged = #ischanged#</isNotNull>
|
|
</dynamic>
|
|
) a
|
|
group by a.intval
|
|
</select>
|
|
<select id="cm.cm.checklect" parameterClass="string" resultClass="cm">
|
|
select distinct a.cmno
|
|
from lect a
|
|
where a.cmno in ($cmnos$)
|
|
</select>
|
|
<insert id="cm.cmin" parameterClass="cm">
|
|
insert into cm(ismaster,cgno,pcmno,cname,kname,tmno,classno,rstime,retime,sstime,setime,gstime,getime,cshape
|
|
,infee,outfee,quota
|
|
,introhtml,targethtml,goalhtml,contenthtml,studyplace,studytime
|
|
,certcc,certgradecc,jobcc,jobpositiongrade,difficulty,isrefund,isuse,isdel,isseq,fgnocm,typeman,typeedu,typegrade,typejob,iscertificate,<include refid="sql.inc"></include>)
|
|
values (#ismaster#,#cgno#,#pcmno#,#cname#,#kname#,#tmno#,#classno#,#rstime#,#retime#,#sstime#,#setime#,#gstime#,#getime#,#cshape#
|
|
,#infee#,#outfee#,#quota#
|
|
,#introhtml#,#targethtml#,#goalhtml#,#contenthtml#
|
|
,#studyplace#,#studytime#,#certcc#,#certgradecc#,#jobcc#,#jobpositiongrade#,#difficulty#,#isrefund#,#isuse#,0,#isseq#,#fgnocm#,#typeman#,#typeedu#,#typegrade#,#typejob#,#iscertificate#,<include refid="sql.inv"></include>);
|
|
<selectKey type="post" property="cmno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
|
</insert>
|
|
<update id="cm.cmup" parameterClass="hashtable">
|
|
update cm set <include refid="sql.up"></include>
|
|
,cgno =#cgno#
|
|
,pcmno =#pcmno#
|
|
,cname =#cname#
|
|
,kname =#kname#
|
|
,rstime =#rstime#
|
|
,retime =#retime#
|
|
,sstime =#sstime#
|
|
,setime =#setime#
|
|
,gstime =#gstime#
|
|
,getime =#getime#
|
|
,cshape =#cshape#
|
|
,infee =#infee#
|
|
,outfee =#outfee#
|
|
,quota =#quota#
|
|
,introhtml =#introhtml#
|
|
,targethtml =#targethtml#
|
|
,goalhtml =#goalhtml#
|
|
,contenthtml =#contenthtml#
|
|
,studyplace =#studyplace#
|
|
,studytime =#studytime#
|
|
,certcc =#certcc#
|
|
,certgradecc =#certgradecc#
|
|
,jobcc =#jobcc#
|
|
,jobpositiongrade =#jobpositiongrade#
|
|
,difficulty =#difficulty#
|
|
,isrefund =#isrefund#
|
|
,isuse =#isuse#
|
|
,fgnocm =#fgnocm#
|
|
,typeman =#typeman#
|
|
,typeedu =#typeedu#
|
|
,typegrade =#typegrade#
|
|
,typejob =#typejob#
|
|
,iscertificate =#iscertificate#
|
|
where cmno=#cmno#
|
|
</update>
|
|
<update id="cm.data.delete" parameterClass="hashtable">
|
|
delete from cmprof where cmno=#cmno# <isNotNull property="usernos">and userno not in($usernos$)</isNotNull>;
|
|
delete from cmbook where cmno=#cmno# <isNotNull property="bknos">and bkno not in($bknos$)</isNotNull>;
|
|
delete from cmrelay where cmno=#cmno# and ispre=1 <isNotNull property="rcmnospre">and rcmno not in($rcmnospre$)</isNotNull>;
|
|
delete from cmrelay where cmno=#cmno# and ispre=0 <isNotNull property="rcmnosnext">and rcmno not in($rcmnosnext$)</isNotNull>;
|
|
delete from cmncsd where cmno=#cmno# <isNotNull property="ndnos">and ndno not in($ndnos$)</isNotNull>;
|
|
</update>
|
|
<update id="cm.data.save" parameterClass="hashtable">
|
|
insert into cmprof (cmno,userno,pfee,<include refid="sql.inc"></include>)
|
|
select #cmno#,a.userno,0,<include refid="sql.inv"></include>
|
|
from users a
|
|
left outer join cmprof b on b.cmno=#cmno# and b.userno=a.userno
|
|
where a.userno in ($usernos$) and b.userno is null;
|
|
|
|
insert into cmbook (cmno,bkno,<include refid="sql.inc"></include>)
|
|
select #cmno#,a.bkno,<include refid="sql.inv"></include>
|
|
from book a
|
|
left outer join cmbook b on b.cmno=#cmno# and b.bkno=a.bkno
|
|
where a.bkno in ($bknos$) and b.bkno is null;
|
|
|
|
insert into cmrelay (cmno,rcmno,ispre,<include refid="sql.inc"></include>)
|
|
select #cmno#,a.cmno,1,<include refid="sql.inv"></include>
|
|
from cm a
|
|
left outer join cmrelay b on b.cmno=#cmno# and b.ispre=1 and b.rcmno=a.cmno
|
|
where a.cmno in ($rcmnospre$) and b.cmno is null;
|
|
|
|
insert into cmrelay (cmno,rcmno,ispre,<include refid="sql.inc"></include>)
|
|
select #cmno#,a.cmno,0,<include refid="sql.inv"></include>
|
|
from cm a
|
|
left outer join cmrelay b on b.cmno=#cmno# and b.ispre=0 and b.rcmno=a.cmno
|
|
where a.cmno in ($rcmnosnext$) and b.cmno is null;
|
|
|
|
insert into cmncsd (cmno,ndno,<include refid="sql.inc"></include>)
|
|
select #cmno#,a.ndno,<include refid="sql.inv"></include>
|
|
from ncsd a
|
|
left outer join cmncsd b on b.cmno=#cmno# and b.ndno=a.ndno
|
|
where a.ndno in ($ndnos$) and b.cmno is null
|
|
</update>
|
|
<update id="cm.cminning.profclear" parameterClass="int">
|
|
update cminning a
|
|
inner join (
|
|
select a.cmino
|
|
from cminning a
|
|
left outer join cmprof b on b.cmno=a.cmno and a.userno=b.userno
|
|
where a.cmno=#cmno# and b.userno is null
|
|
) b on b.cmino=a.cmino
|
|
set a.userno=null
|
|
where a.cmno=#cmno#
|
|
</update>
|
|
<update id="cm.del" parameterClass="int">
|
|
update cm a
|
|
left outer join (select count(a.rcmno) cnt from cmrelay a where a.rcmno=#cmno#) b on 1 = 1
|
|
left outer join (select count(a.pcmno) cnt from cm a where a.pcmno=#cmno# and a.isdel=0) c on 1 = 1
|
|
left outer join (select count(a.cmno) cnt from ct a where a.cmno=#cmno# and a.isdel=0) d on 1 = 1
|
|
left outer join (select count(a.lectno) cnt from lect a where a.cmno=#cmno# and a.status < 5 and a.ischanged=0) e on 1 = 1
|
|
left outer join (select count(a.cmno) cnt from cmpc a where a.cmno=#cmno#) f on 1 = 1
|
|
set a.isdel=1,a.isuse=0,<include refid="sql.up"></include>
|
|
where <isNotNull property="cmno">a.cmno=#cmno#</isNotNull><isNotNull property="cmnos">a.cmno in ($cmnos$)</isNotNull> and b.cnt+c.cnt+d.cnt+e.cnt+f.cnt < 1
|
|
</update>
|
|
<update id="cm.cminning.del" parameterClass="long">
|
|
delete from cminning where cmino = (
|
|
select a.cmino from (
|
|
select case when count(c.lectno) < 1 then #cmino# else 0 end cmino
|
|
from (select 1 col1) a
|
|
left outer join cminning b on b.cmino=#cmino#
|
|
left outer join lect c on c.cmno=b.cmno) a
|
|
)
|
|
</update>
|
|
<update id="cm.cminning.del2" parameterClass="long">
|
|
delete from cminning where cmino = #cmino#
|
|
</update>
|
|
<update id="cm.cminning.del3" parameterClass="long">
|
|
delete from cminning where cmino = (
|
|
select a.cmino from (
|
|
select case when count(b.cmisno) < 1 then #cmino# else 0 end cmisno
|
|
from (select 1 col1) a
|
|
left outer join cminningscd b on b.cmino=#cmino#) a
|
|
)
|
|
</update>
|
|
<update id="cm.cminningscd.del" parameterClass="long">
|
|
delete from cminningscd where cmisno = (
|
|
select a.cmisno from (
|
|
select case when count(c.lectno) < 1 then #cmisno# else 0 end cmisno
|
|
from (select 1 col1) a
|
|
left outer join cminningscd b on b.cmisno=#cmisno#
|
|
left outer join lect c on c.cmisno=b.cmisno and c.status=1 and c.ischanged=0
|
|
) a
|
|
)
|
|
</update>
|
|
<update id="cm.cmseqsave" parameterClass="hashtable">
|
|
update cm set isseq=#isseq#,<include refid="sql.up"></include> where cmno=#cmno#
|
|
</update>
|
|
|
|
<select id="cm.cmdatas" parameterClass="int" resultClass="data">
|
|
select a.dtype,a.intval,a.intval2,a.intval3
|
|
,a.strval,a.strval2
|
|
from(
|
|
select 1 dtype
|
|
,a.userno intval,b.usertype intval2
|
|
,row_number() over (order by b.username desc) intval3
|
|
,b.username strval,null strval2
|
|
from cmprof a
|
|
inner join users b on b.userno=a.userno
|
|
where a.cmno=#cmno#
|
|
order by b.username desc
|
|
) a
|
|
union all
|
|
select 2
|
|
,b.bkno,0
|
|
,row_number() over (order by b.bkno) intval3
|
|
,b.bkname,null
|
|
from cmbook a
|
|
inner join book b on b.bkno=a.bkno
|
|
where a.cmno=#cmno#
|
|
union all
|
|
select 3 dtype
|
|
,b.cmno,a.ispre
|
|
,row_number() over (order by b.cmno) intval3
|
|
,b.cname,null
|
|
from cmrelay a
|
|
inner join cm b on b.cmno=a.rcmno
|
|
where a.cmno=#cmno#
|
|
union all
|
|
select 4
|
|
,b.ndno,0
|
|
,row_number() over (order by b.ndno) intval3
|
|
,b.dname,b.acode
|
|
from cmncsd a
|
|
inner join ncsd b on b.ndno=a.ndno
|
|
where a.cmno=#cmno#
|
|
order by dtype,intval3
|
|
</select>
|
|
|
|
|
|
<select id="cm.datacreatecmbycmmaster" parameterClass="int" resultClass="cm">
|
|
select a.cmno,a.cname,row_number() over(order by a.udt desc) rno
|
|
from cm a
|
|
where a.ismaster=1 and a.isdel=0 and a.cgno=#cgno#
|
|
order by rno
|
|
</select>
|
|
|
|
|
|
<select id="cm.cmprs" parameterClass="hashtable" resultClass="cmpr">
|
|
select a.cmno,a.pfee,a.userno,a.userno value
|
|
,c.tyear,c.tseq
|
|
,cg.cgname
|
|
,b.cname,b.classno,b.sstime,b.setime,b.isdel
|
|
,d.username,d.username text,d.introhtml
|
|
,e.fileurl
|
|
,count(a.cno) over() pagetotalcount
|
|
,row_number() over(order by d.username desc) rno
|
|
from cmprof a
|
|
inner join cm b on b.cmno=a.cmno <isNotNull property="ismaster"> and b.ismaster=#ismaster#</isNotNull> <isNotNull property="cmisdel">and b.isdel=0</isNotNull>
|
|
inner join cg cg on cg.cgno=b.cgno
|
|
left outer join term c on c.tmno=b.tmno
|
|
inner join users d on d.userno=a.userno <isNotNull property="usertype">and d.usertype=#usertype#</isNotNull>
|
|
left outer join fileinfo e on e.fgno=d.fgnoprofile and e.isdel=0
|
|
<dynamic prepend="where">
|
|
<isNotNull property="userno" prepend="and">a.userno=#userno#</isNotNull>
|
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
|
</dynamic>
|
|
order by rno
|
|
</select>
|
|
<update id="cm.cmprpfee" parameterClass="cmpr">
|
|
update cmprof a
|
|
inner join (
|
|
<iterate property="CMPRs" open="" conjunction="union all" close=""> select #CMPRs[].cmno# cmno, #CMPRs[].pfee# pfee </iterate>
|
|
) b on b.cmno=a.cmno
|
|
set a.pfee=b.pfee,<include refid="sql.up"></include>
|
|
where a.userno=#userno#
|
|
</update>
|
|
|
|
|
|
<select id="cm.books" parameterClass="hashtable" resultClass="book">
|
|
select a.*
|
|
from (
|
|
select a.bkno,a.bkname,a.author,a.publisher,a.pubdate,a.fgnothumb,a.fgno,a.price,a.introhtml,a.contents,a.isuse,a.cdt,a.udt
|
|
,a.bkno value,a.bkname text
|
|
,b.fileurl
|
|
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.udt desc</isNull>) rno
|
|
,count(a.cdt) over() pagetotalcount
|
|
from book a
|
|
<isNull property="isdetail">left outer join fileinfo b on b.fgno=a.fgnothumb and b.isdel=0</isNull>
|
|
<isNotNull property="isdetail">left outer join fileinfo b on b.fgno=a.fgno and b.isdel=0</isNotNull>
|
|
<dynamic prepend="where">
|
|
<isNotNull property="bknamelike" prepend="and">a.bkname like concat('%',#bknamelike#,'%')</isNotNull>
|
|
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
|
<isNotNull property="bkno" prepend="and">a.bkno=#bkno#</isNotNull>
|
|
<isNotNull property="bknos" prepend="and">a.bkno in ($bknos$)</isNotNull>
|
|
</dynamic>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.rno
|
|
</select>
|
|
<update id="cm.bookin" parameterClass="hashtable">
|
|
insert into book(bkname,author,publisher,pubdate,fgnothumb,fgno,price,introhtml,contents,isuse,<include refid="sql.inc"></include>)
|
|
values (#bkname#,#author#,#publisher#,#pubdate#,#fgnothumb#,#fgno#,#price#,#introhtml#,#contents#,#isuse#,<include refid="sql.inv"></include>)
|
|
</update>
|
|
<update id="cm.bookup" parameterClass="hashtable">
|
|
update book set <include refid="sql.up"></include>
|
|
,bkname =#bkname#
|
|
,author =#author#
|
|
,publisher =#publisher#
|
|
,pubdate =#pubdate#
|
|
,fgnothumb =#fgnothumb#
|
|
,fgno =#fgno#
|
|
,price =#price#
|
|
,introhtml =#introhtml#
|
|
,contents =#contents#
|
|
,isuse =#isuse#
|
|
where bkno=#bkno#
|
|
</update>
|
|
<update id="cm.bookdel" parameterClass="hashtable">
|
|
delete from book
|
|
where not bkno in (
|
|
select distinct(a.bkno)
|
|
from cmbook a
|
|
) and bkno = #bkno#
|
|
</update>
|
|
|
|
<select id="cm.cminnings" parameterClass="hashtable" resultClass="cminning">
|
|
select distinct cmino,a.cmno,a.week,a.iseq,a.isonline,a.ititle,a.icontent,a.idate,a.iday,a.ist,a.iet,a.ctno,a.istaste,a.sttime,a.atime,a.mstime,a.metime,a.fgnotf
|
|
,a.userno,a.fgno,a.cdt,a.udt
|
|
,b.ctname,b.ccode,b.ctype,b.ismenu
|
|
,b2.srcp,b2.srcm
|
|
,c.username
|
|
,d.fileno,d.fileurl,d.orgname
|
|
,e.fileno fileno2,e.fileurl fileurl2,e.orgname orgname2
|
|
from cminning a
|
|
left outer join ct b on b.ctno=a.ctno and b.isdel=0
|
|
left outer join ctpage b2 on b2.ctno=b.ctno and b2.pseq=1
|
|
left outer join users c on c.userno=a.userno and c.status = 1
|
|
left outer join fileinfo d on d.fgno=a.fgno and d.isdel=0
|
|
left outer join fileinfo e on e.fgno=a.fgnotf and e.isdel=0
|
|
<dynamic prepend="where">
|
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
|
<isNotNull property="cmino" prepend="and">a.cmino=#cmino#</isNotNull>
|
|
<isNotNull property="isonline" prepend="and">a.isonline=#isonline#</isNotNull>
|
|
</dynamic>
|
|
order by a.week,a.iseq
|
|
</select>
|
|
|
|
<select id="cm.cminningscds" parameterClass="hashtable" resultClass="cminningscd">
|
|
select a.*
|
|
from (
|
|
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt
|
|
,(select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status =1 and z.ischanged=0) regmem
|
|
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.estart</isNull>) scdseq
|
|
,count(a.cmisno) over() totalnum
|
|
from cminningscd a
|
|
<dynamic prepend="where">
|
|
<isNotNull property="cmino" prepend="and">a.cmino=#cmino#</isNotNull>
|
|
<isNotNull property="cmisno" prepend="and">a.cmisno=#cmisno#</isNotNull>
|
|
</dynamic>
|
|
) a
|
|
order by a.scdseq
|
|
</select>
|
|
|
|
<update id="cm.cminning.batch" parameterClass="cminning">
|
|
delete from cminning where cmno=#cmno#;
|
|
insert into cminning (cmno,week,iseq,isonline,ititle,icontent,idate,iday,ist,iet,ctno,istaste,sttime,atime,mstime,metime,userno,<include refid="sql.inc"></include>)
|
|
<iterate property="Ds" open="" conjunction="union all" close="">
|
|
select #cmno#,#Ds[].week#,#Ds[].iseq#,#Ds[].isonline#,#Ds[].ititle#,#Ds[].icontent#,#Ds[].idate#,#Ds[].iday#,#Ds[].ist#,#Ds[].iet#,#Ds[].ctno#,#Ds[].istaste#,#Ds[].sttime#,#Ds[].atime#,#Ds[].mstime#,#Ds[].metime#,#Ds[].userno#,now(),#uno#,now(),#uno#,#uip#
|
|
</iterate>
|
|
</update>
|
|
<insert id="cm.cminnings.in" parameterClass="cminning">
|
|
SELECT * FROM (SELECT LAST_INSERT_ID(0) col1) a WHERE col1 > 0;
|
|
insert into cminning (cmno,week,iseq,isonline,ititle,icontent,idate,iday,ist,iet,fgnotf,ctno,istaste,sttime,atime,mstime,metime,userno,<include refid="sql.inc"></include>)
|
|
select #cmno#,#week#,#iseq#,#isonline#,#ititle#,#icontent#,#idate#,#iday#,#ist#,#iet#,#fgnotf#,#ctno#,#istaste#,#sttime#,#atime#,#mstime#,#metime#,#userno#,<include refid="sql.inv"></include>
|
|
from (select 1 col1) a
|
|
left outer join cminning b on b.cmno=#cmno# and b.iseq=#iseq#
|
|
where b.cmino is null
|
|
<selectKey type="post" property="cmino" resultClass="long">SELECT last_insert_id()</selectKey>
|
|
</insert>
|
|
<insert id="cm.cminningscd.in" parameterClass="cminningscd">
|
|
SELECT * FROM (SELECT LAST_INSERT_ID(0) col1) a WHERE col1 > 0;
|
|
insert into cminningscd(cmino,estart,eend,quota,<include refid="sql.inc"></include>)
|
|
values(#cmino#,#estart#,#eend#,#quota#,<include refid="sql.inv"></include>)
|
|
<selectKey type="post" property="cmisno" resultClass="long">SELECT last_insert_id()</selectKey>
|
|
</insert>
|
|
<update id="cm.cminnings.up" parameterClass="cminning">
|
|
update cminning a
|
|
left outer join (
|
|
select cmino, cmno from cminning where cmino <> #cmino# and cmno=#cmno# and iseq=#iseq#
|
|
) b on b.cmno=a.cmno
|
|
set <include refid="sql.up"></include>
|
|
,week =#week#,iseq =#iseq#,isonline =#isonline#,ititle =#ititle#,icontent =#icontent#
|
|
,idate=#idate#,iday =#iday#,ist =#ist#,iet =#iet#,fgnotf=#fgnotf#
|
|
,ctno =#ctno#,istaste =#istaste#,sttime=#sttime#,atime =#atime#,mstime =#mstime#,metime =#metime#,userno =#userno#
|
|
where a.cmino=#cmino# and b.cmino is null
|
|
</update>
|
|
<update id="cm.cminningscd.up" parameterClass="cminningscd">
|
|
update cminningscd a
|
|
set <include refid="sql.up"></include>,cmino=#cmino#,estart=#estart#,eend=#eend#,quota=#quota#
|
|
where a.cmisno=#cmisno#
|
|
</update>
|
|
<update id="cm.cminnings.istasteclear" parameterClass="hashtable">
|
|
update cminning set istaste=0 where cmno=#cmno# and cmino <> #cmino#
|
|
</update>
|
|
|
|
<select id="cm.datafor.cminningcheck" parameterClass="hashtable" resultClass="data">
|
|
select 1 dtype,b.userno intval,0 intval2,0 intval3,b.userid strval,null strval2,null strval3,null isuse
|
|
from cmprof a
|
|
inner join users b on b.userno=a.userno
|
|
where a.cmno=#cmno#
|
|
union all
|
|
select 2 dtype,a.ctno,0,0,a.ccode,null,null,a.isuse
|
|
from ct a
|
|
where #ccode# <> '박효동박건' and a.ccode in ($ccode$) and a.isuse=#isuse#
|
|
order by dtype
|
|
</select>
|
|
|
|
<select id="cm.contents" parameterClass="hashtable" resultClass="ct">
|
|
select a.*
|
|
from (
|
|
select a.ctno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.ctype,a.ccode,a.ctname,a.fgnotf,a.ismenu,a.isuse
|
|
,b.cname
|
|
,c1.cname ccname1
|
|
,c2.cname ccname2
|
|
,c3.cname ccname3
|
|
,c4.cname ccname4
|
|
,c5.cname ccname5
|
|
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.ctname</isNull>) rno
|
|
,count(a.cno) over() pagetotalcount
|
|
from ct a
|
|
left outer join cm b on b.cmno=a.cmno
|
|
left outer join comcode c1 on c1.ccode=a.cc1
|
|
left outer join comcode c2 on c2.ccode=a.cc2
|
|
left outer join comcode c3 on c3.ccode=a.cc3
|
|
left outer join comcode c4 on c4.ccode=a.cc4
|
|
left outer join comcode c5 on c5.ccode=a.cc5
|
|
where a.isdel=0
|
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
|
<isNotNull property="ctname" prepend="and">a.ctname like concat('%',#ctname#,'%')</isNotNull>
|
|
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.rno
|
|
</select>
|
|
|
|
<select id="cm.cmev" parameterClass="int" resultClass="cmev">
|
|
select a.cmno,a.attend,a.attendcut,a.attendrfd,a.attendcutrfd,a.mid,a.midcut,a.midrfd,a.midcutrfd,a.final,a.finalcut,a.finalrfd,a.finalcutrfd,a.subject,a.subjectcut,a.subjectrfd
|
|
,a.subjectcutrfd,a.discuss,a.discusscut,a.discussrfd,a.discusscutrfd,a.etc,a.etccut,a.etcrfd,a.etccutrfd,a.cut,a.cutrfd,a.isoffabs
|
|
from cmev a where a.cmno=#cmno#
|
|
</select>
|
|
<select id="cm.est" parameterClass="int" resultClass="est">
|
|
select 0 gubun,case when a.extype = 0 then 1 else 2 end estkind
|
|
,a.exno,a.cmno,a.extype,a.exname,a.edesc,a.etime,a.econdition,a.evtype,a.eqtype,a.israndq,a.israndqi,a.qcount,a.isblur,a.tpoint,a.relaylimit,a.isusebackup,a.isseq
|
|
,null sdno,null sdtype,null sdname,null sddesc,null sdcondition
|
|
,null rsno,null rscno,null rstype,null rsname,null rscondition
|
|
, row_number() over(partition by a.extype order by a.cdt) rno
|
|
from cmex a
|
|
where a.cmno=#cmno# and a.isdel=0
|
|
union all
|
|
select 1 gubun,case when a.sdtype = 0 then 11 else 21 end estkind
|
|
,a.sdno exno,a.cmno,a.sdtype extype,a.sdname exname,a.sddesc edesc,null etime,a.sdcondition econdition,null evtype,null eqtype,null israndq,null israndqi,null qcount,null isblur,a.tpoint,null relaylimit,null isusebackup,null isseq
|
|
,a.sdno,a.sdtype,a.sdname,a.sddesc,a.sdcondition
|
|
,null rsno,null rscno,null rstype,null rsname,null rscondition
|
|
, row_number() over(partition by a.sdtype order by a.cdt) rno
|
|
from cmsd a
|
|
where a.cmno=#cmno# and a.isdel=0
|
|
union all
|
|
select 2 gubun,case when a.rstype = 0 then 32 else 31 end estkind
|
|
,a.rsno exno,a.cmno,a.rstype extype,a.rsname exname,null edesc,null etime,a.rscondition econdition,null evtype,null eqtype,null israndq,null israndqi,null qcount,null isblur,null tpoint,null relaylimit,null isusebackup,null isseq
|
|
,null sdno,null sdtype,null sdname,null sddesc,null sdcondition
|
|
,a.rsno,a.rscno,a.rstype,a.rsname,a.rscondition
|
|
, row_number() over(partition by a.rstype order by a.cdt) rno
|
|
from cmrs a
|
|
where a.cmno=#cmno# and a.isdel=0
|
|
order by estkind,rno
|
|
</select>
|
|
<update id="cm.cmevsave" parameterClass="hashtable">
|
|
insert into cmev (cmno,attend,attendcut,attendrfd,attendcutrfd,mid,midcut,midrfd,midcutrfd,final,finalcut,finalrfd,finalcutrfd,subject,subjectcut,subjectrfd,subjectcutrfd,discuss,discusscut,discussrfd,discusscutrfd,etc,etccut,etcrfd,etccutrfd,cut,cutrfd,isoffabs,<include refid="sql.inc"></include>)
|
|
select #cmno#,#attend#,#attendcut#,#attendrfd#,#attendcutrfd#,#mid#,#midcut#,#midrfd#,#midcutrfd#,#final#,#finalcut#,#finalrfd#,#finalcutrfd#,#subject#,#subjectcut#,#subjectrfd#,#subjectcutrfd#,#discuss#,#discusscut#,#discussrfd#,#discusscutrfd#,#etc#,#etccut#,#etcrfd#,#etccutrfd#,#cut#,#cutrfd#,#isoffabs#,<include refid="sql.inv"></include>
|
|
from (select 1 col1) a
|
|
left outer join cmev b on b.cmno=#cmno#
|
|
where b.cmno is null;
|
|
|
|
update cmev set <include refid="sql.up"></include>
|
|
,attend =#attend#
|
|
,attendcut =#attendcut#
|
|
,attendrfd =#attendrfd#
|
|
,attendcutrfd =#attendcutrfd#
|
|
,mid =#mid#
|
|
,midcut =#midcut#
|
|
,midrfd =#midrfd#
|
|
,midcutrfd =#midcutrfd#
|
|
,final =#final#
|
|
,finalcut =#finalcut#
|
|
,finalrfd =#finalrfd#
|
|
,finalcutrfd =#finalcutrfd#
|
|
,subject =#subject#
|
|
,subjectcut =#subjectcut#
|
|
,subjectrfd =#subjectrfd#
|
|
,subjectcutrfd =#subjectcutrfd#
|
|
,discuss =#discuss#
|
|
,discusscut =#discusscut#
|
|
,discussrfd =#discussrfd#
|
|
,discusscutrfd =#discusscutrfd#
|
|
,etc =#etc#
|
|
,etccut =#etccut#
|
|
,etcrfd =#etcrfd#
|
|
,etccutrfd =#etccutrfd#
|
|
,cut =#cut#
|
|
,cutrfd =#cutrfd#
|
|
,isoffabs =#isoffabs#
|
|
where #cmno# > 0 and cmno=#cmno#
|
|
</update>
|
|
|
|
<select id="cm.cmexes" parameterClass="hashtable" resultClass="cmex">
|
|
select a.*
|
|
from (
|
|
select a.exno,a.cmno,a.extype,a.exname,a.edesc,a.etime,a.econdition,a.evtype,a.eqtype,a.israndq,a.israndqi,a.qcount,a.isblur,a.tpoint,a.relaylimit,a.isusebackup,a.isseq,a.isresultopen,a.cdt,a.udt
|
|
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.cdt</isNull>) rno
|
|
,count(a.cno) over() pagetotalcount
|
|
from cmex a
|
|
where a.isdel=0
|
|
<isNotNull property="exno">and a.exno=#exno#</isNotNull>
|
|
<isNotNull property="cmno">and a.cmno=#cmno#</isNotNull>
|
|
<isNotNull property="extype">and a.extype=#extype#</isNotNull>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.rno
|
|
</select>
|
|
<select id="cm.cmexqs" parameterClass="int" resultClass="cmexq">
|
|
select a.eqno,a.exno,a.qseq,a.qno,a.rpoint
|
|
, b.qtextstring, b.dpoint, b.qdiff, b.cc1, b.cc2, b.cc3, b.cc4, b.cc5,b.atype
|
|
, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5
|
|
from cmexq a
|
|
inner join question b on b.qno=a.qno
|
|
left outer join comcode cc on cc.ccode = b.qdiff
|
|
left outer join comcode cc1 on cc1.ccode = b.cc1
|
|
left outer join comcode cc2 on cc2.ccode = b.cc2
|
|
left outer join comcode cc3 on cc3.ccode = b.cc3
|
|
left outer join comcode cc4 on cc4.ccode = b.cc4
|
|
left outer join comcode cc5 on cc5.ccode = b.cc5
|
|
where a.exno=#exno#
|
|
order by a.qseq
|
|
</select>
|
|
<select id="cm.exsave.valid" parameterClass="int" resultClass="int">
|
|
select count(d.exno)
|
|
from (select 1 as col1) a
|
|
left outer join lectex d on d.exno=#exno#
|
|
</select>
|
|
<select id="cm.sdsave.valid" parameterClass="int" resultClass="int">
|
|
select sum(cnt)
|
|
from (
|
|
select count(d.sdno) cnt
|
|
from (select 1 as col1) a
|
|
left outer join lectsd d on d.sdno=#sdno#
|
|
union all
|
|
select count(d.sdno)
|
|
from (select 1 as col1) a
|
|
left outer join lectsdboard d on d.sdno=#sdno#
|
|
) a
|
|
</select>
|
|
<select id="cm.rssave.valid" parameterClass="int" resultClass="int">
|
|
select count(d.rsno)
|
|
from (select 1 as col1) a
|
|
left outer join lectrs d on d.rsno=#rsno#
|
|
</select>
|
|
<select id="cm.rscsave.valid" parameterClass="int" resultClass="int">
|
|
select count(d.rscno)
|
|
from (select 1 as col1) a
|
|
left outer join cmrs d on d.rscno=#rscno#
|
|
</select>
|
|
<select id="cm.cmexlayers" parameterClass="int" resultClass="cmexlayer">
|
|
select a.exno
|
|
,case when a.qdiff = 1 then null else a.qdiff end qdiff
|
|
,case when a.cc1 = 1 then null else a.cc1 end cc1
|
|
,case when a.cc2 = 1 then null else a.cc2 end cc2
|
|
,case when a.cc3 = 1 then null else a.cc3 end cc3
|
|
,case when a.cc4 = 1 then null else a.cc4 end cc4
|
|
,case when a.cc5 = 1 then null else a.cc5 end cc5
|
|
,a.qcount,a.rpoint
|
|
, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5
|
|
from cmexlayer a
|
|
left outer join comcode cc on cc.ccode = a.qdiff and cc.ccode > 0
|
|
left outer join comcode cc1 on cc1.ccode = a.cc1 and cc1.ccode > 0
|
|
left outer join comcode cc2 on cc2.ccode = a.cc2 and cc2.ccode > 0
|
|
left outer join comcode cc3 on cc3.ccode = a.cc3 and cc3.ccode > 0
|
|
left outer join comcode cc4 on cc4.ccode = a.cc4 and cc4.ccode > 0
|
|
left outer join comcode cc5 on cc5.ccode = a.cc5 and cc5.ccode > 0
|
|
where a.exno=#exno#
|
|
order by cc.corder, cc1.corder, cc2.corder
|
|
</select>
|
|
<update id="cm.cmex.savetop" parameterClass="cmex">
|
|
UPDATE cmex SET <include refid="sql.up"></include>,exname=#exname#,edesc=#edesc#,econdition=#econdition#,isblur=#isblur#,isusebackup=#isusebackup#
|
|
,isseq=#isseq#,isresultopen=#isresultopen#,etime=#etime#
|
|
where exno=#exno#
|
|
</update>
|
|
<select id="cm.cmex.extype1count" parameterClass="hashtable" resultClass="int">
|
|
select count(b.exno)
|
|
from (select 1 col1) a
|
|
left outer join cmex b on b.cmno=#cmno# and b.isdel=0 and b.exno <> #exno# and b.extype=1
|
|
</select>
|
|
<insert id="cm.cmex.in" parameterClass="cmex">
|
|
INSERT INTO cmex
|
|
(cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isdel,<include refid="sql.inc"></include>)
|
|
values (#cmno#,#extype#,#exname#,#edesc#,#etime#,#econdition#,#evtype#,#eqtype#,#israndq#,#israndqi#,#qcount#,#isblur#,#tpoint#,#relaylimit#,#isusebackup#,#isseq#,#isresultopen#,0,<include refid="sql.inv"></include>)
|
|
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
|
</insert>
|
|
<update id="cm.cmex.up" parameterClass="cmex">
|
|
update cmex set <include refid="sql.up"></include>
|
|
,extype =#extype#
|
|
,exname =#exname#
|
|
,edesc =#edesc#
|
|
,etime =#etime#
|
|
,econdition =#econdition#
|
|
,evtype =#evtype#
|
|
,eqtype =#eqtype#
|
|
,israndq =#israndq#
|
|
,israndqi =#israndqi#
|
|
,qcount =#qcount#
|
|
,isblur =#isblur#
|
|
,tpoint =#tpoint#
|
|
,relaylimit =#relaylimit#
|
|
,isusebackup =#isusebackup#
|
|
,isseq =#isseq#
|
|
,isresultopen=#isresultopen#
|
|
where exno=#exno#
|
|
</update>
|
|
|
|
<update id="cm.cmexq.deleteall" parameterClass="int">
|
|
delete from cmexq where exno=#exno#
|
|
</update>
|
|
<update id="cm.cmexq.delete" parameterClass="string">
|
|
delete from cmexq where exno=#exno# and eqno not in ($eqnos$)
|
|
</update>
|
|
<update id="cm.cmexlayer.del" parameterClass="int">
|
|
delete from cmexlayer where exno=#exno#
|
|
</update>
|
|
<update id="cm.cmexlayer.in" parameterClass="cmex">
|
|
INSERT INTO cmexlayer(exno,qdiff,cc1,cc2,cc3,cc4,cc5,qcount,rpoint,<include refid="sql.inc"></include>)
|
|
values
|
|
<iterate property="cmexlayers" open="" conjunction="," close="">
|
|
(#exno#,#cmexlayers[].qdiff#,#cmexlayers[].cc1#,#cmexlayers[].cc2#,#cmexlayers[].cc3#,#cmexlayers[].cc4#,#cmexlayers[].cc5#,#cmexlayers[].qcount#,#cmexlayers[].rpoint#, now(), #uno#, now(), #uno#, #uip#)
|
|
</iterate>
|
|
</update>
|
|
<update id="cm.cmexq.in" parameterClass="cmex">
|
|
INSERT INTO cmexq(exno,qseq,qno,rpoint,<include refid="sql.inc"></include>)
|
|
values
|
|
<iterate property="cmexqs" open="" conjunction="," close="">
|
|
(#exno#,#cmexqs[].qseq#,#cmexqs[].qno#,#cmexqs[].rpoint#, now(), #uno#, now(), #uno#, #uip#)
|
|
</iterate>
|
|
</update>
|
|
<update id="cm.cmexq.up" parameterClass="cmex">
|
|
update cmexq a
|
|
inner join (
|
|
<iterate property="cmexqs" open="" conjunction="union all" close="">
|
|
select #cmexqs[].eqno# eqno, #cmexqs[].qseq# qseq, #cmexqs[].rpoint# rpoint
|
|
</iterate>
|
|
) b on b.eqno=a.eqno
|
|
set a.qseq=b.qseq, a.rpoint = b.rpoint, a.udt=now(), a.uno=#uno#, a.uip=#uip#
|
|
where a.exno=#exno#
|
|
</update>
|
|
<update id="cm.cmex.del" parameterClass="int">
|
|
update cmex set isdel=1 where exno=#exno#
|
|
</update>
|
|
<update id="cm.cmsd.del" parameterClass="int">
|
|
update cmsd set isdel=1 where sdno=#sdno#
|
|
</update>
|
|
<update id="cm.cmrs.del" parameterClass="int">
|
|
update cmrs set isdel=1 where rsno=#rsno#
|
|
</update>
|
|
<select id="cm.cmrs.check" parameterClass="hashtable" resultClass="int">
|
|
select count(b.rsno)
|
|
from (select 1 col1) a
|
|
left outer join cmrs b on b.cmno=#cmno# and b.rsno <> #rsno# and b.rstype=#rstype# and b.isdel=0
|
|
</select>
|
|
|
|
|
|
<select id="cm.questions" parameterClass="hashtable" resultClass="question">
|
|
select a.qno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.cmno,a.cname
|
|
,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.udt,a.ispassspace,a.isignorecase
|
|
,count(ued.exno) qcount
|
|
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
|
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
|
from (
|
|
select a.*,b.cname
|
|
from (
|
|
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5, a.cdt,a.udt
|
|
,a.ispassspace,a.isignorecase
|
|
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
|
,<include refid="sql.prc"></include>
|
|
from question a
|
|
left outer join comcode cc on cc.ccode = a.qdiff
|
|
left outer join comcode cc1 on cc1.ccode = a.cc1
|
|
left outer join comcode cc2 on cc2.ccode = a.cc2
|
|
left outer join comcode cc3 on cc3.ccode = a.cc3
|
|
left outer join comcode cc4 on cc4.ccode = a.cc4
|
|
left outer join comcode cc5 on cc5.ccode = a.cc5
|
|
<dynamic prepend="where">
|
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
|
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
|
<isNotNull property="cc1" prepend="and">a.cc1=#cc1#</isNotNull>
|
|
<isNotNull property="cc2" prepend="and">a.cc2=#cc2#</isNotNull>
|
|
<isNotNull property="cc3" prepend="and">a.cc3=#cc3#</isNotNull>
|
|
<isNotNull property="cc4" prepend="and">a.cc4=#cc4#</isNotNull>
|
|
<isNotNull property="cc5" prepend="and">a.cc5=#cc5#</isNotNull>
|
|
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
|
<isNotNull property="qtextstring" prepend="and">a.qtextstring like concat('%', #searchtext#,'%')</isNotNull>
|
|
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
|
</dynamic>
|
|
) a
|
|
left outer join cm b on b.cmno=a.cmno
|
|
<include refid="sql.pagedynamic"></include>
|
|
) a
|
|
left outer join cmexq eq on eq.qno=a.qno
|
|
left outer join lectexq ued on ued.eqno=eq.eqno
|
|
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.ispassspace,a.isignorecase
|
|
order by a.RNO
|
|
</select>
|
|
<select id="cm.questions2" parameterClass="hashtable" resultClass="question">
|
|
select a.cmno,a.cname,a.qno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc
|
|
,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.udt
|
|
,count(ued.exno) qcount
|
|
,sum(case when ued.atext is not null then 1 else 0 end) ecount
|
|
,case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end rrate
|
|
from (
|
|
select a.*
|
|
from (
|
|
select a.qno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc,a.cdt,a.udt
|
|
,b.cname
|
|
, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5
|
|
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.qtextstring</isNull> ) rno
|
|
,<include refid="sql.prc"></include>
|
|
from question a
|
|
left outer join cm b on b.cmno=a.cmno
|
|
left outer join comcode cc on cc.ccode = a.qdiff
|
|
left outer join comcode cc1 on cc1.ccode = a.cc1
|
|
left outer join comcode cc2 on cc2.ccode = a.cc2
|
|
left outer join comcode cc3 on cc3.ccode = a.cc3
|
|
left outer join comcode cc4 on cc4.ccode = a.cc4
|
|
left outer join comcode cc5 on cc5.ccode = a.cc5
|
|
<dynamic prepend="where">
|
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
|
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
|
<isNotNull property="cc1" prepend="and">a.cc1=#cc1#</isNotNull>
|
|
<isNotNull property="cc2" prepend="and">a.cc2=#cc2#</isNotNull>
|
|
<isNotNull property="cc3" prepend="and">a.cc3=#cc3#</isNotNull>
|
|
<isNotNull property="cc4" prepend="and">a.cc4=#cc4#</isNotNull>
|
|
<isNotNull property="cc5" prepend="and">a.cc5=#cc5#</isNotNull>
|
|
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
|
<isNotNull property="atypes" prepend="and">a.atype in ($atypes$)</isNotNull>
|
|
<isNotNull property="searchtext">
|
|
<isEqual property="searchtype" compareValue="qtextstring" prepend="and">a.qtextstring like concat('%', #searchtext#,'%')</isEqual>
|
|
<isEqual property="searchtype" compareValue="qno" prepend="and">a.qno = #searchtext#</isEqual>
|
|
</isNotNull>
|
|
<isNotNull property="qno" prepend="and">a.qno=#qno#</isNotNull>
|
|
</dynamic>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
) a
|
|
left outer join cmexq eq on eq.qno=a.qno
|
|
left outer join lectexq ued on ued.eqno=eq.eqno
|
|
group by a.qno,a.cmno,a.cname,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.isuse,a.atype,a.dpoint,a.qtext,a.qtextstring,a.qdesc
|
|
,a.qdiffname,a.ccname1,a.ccname2,a.ccname3,a.ccname4,a.ccname5,a.rno,a.pagetotalcount,a.cdt,a.udt
|
|
<dynamic prepend="having">
|
|
<isNotNull property="qcount" prepend="and">count(ued.examno)=#qcount#</isNotNull>
|
|
<isNotNull property="ecount" prepend="and">sum(case when ued.atext is not null then 1 else 0 end)=#ecount#</isNotNull>
|
|
<isNotNull property="rrate" prepend="and">case when sum(case when ued.atext is not null then 1 else 0 end) < 1 then 0 else sum(ued.iscorrect) / sum(case when ued.atext is not null then 1 else 0 end) * 100 end=#rrate#</isNotNull>
|
|
</dynamic>
|
|
order by a.rno
|
|
</select>
|
|
<insert id="cm.question.in" parameterClass="question">
|
|
INSERT INTO question (cmno, qdiff, cc1, cc2, cc3, cc4, cc5, isuse, atype, dpoint, qtext, qtextstring, qdesc, rightcount,ispassspace,isignorecase, <include refid="sql.inc"></include>)
|
|
values (#cmno#, #qdiff#, #cc1#, #cc2#, #cc3#, #cc4#, #cc5#, #isuse#, #atype#, #dpoint#, #qtext#, #qtextstring#, #qdesc#, #rightcount#,#ispassspace#,#isignorecase#, <include refid="sql.inv"></include>);
|
|
<selectKey type="post" property="qno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
|
</insert>
|
|
<update id="cm.questionitem.in" parameterClass="question">
|
|
INSERT INTO questionitem (qno, fgno, isright, qitext, isdel, <include refid="sql.inc"></include>)
|
|
values
|
|
<iterate property="QIs" open="" conjunction="," close="">
|
|
(#qno#, #QIs[].fgno#, #QIs[].isright#, #QIs[].qitext#, 0, now(), #uno#, now(), #uno#, #uip#)
|
|
</iterate>
|
|
</update>
|
|
<update id="cm.question.del" parameterClass="hashtable">
|
|
delete from questionitem where qno in (
|
|
select distinct qno
|
|
from (
|
|
select distinct a.qno
|
|
from question a
|
|
left outer join cmexq b on b.qno=a.qno
|
|
where a.qno in ($qnos$) and b.eqno is null
|
|
union all
|
|
select distinct a.qno
|
|
from question a
|
|
left outer join rscq b on b.qno=a.qno
|
|
where a.qno in ($qnos$) and b.rscqno is null
|
|
) a
|
|
);
|
|
delete from question where qno in (
|
|
select distinct qno from (
|
|
select distinct a.qno
|
|
from question a
|
|
left outer join cmexq b on b.qno=a.qno
|
|
where a.qno in ($qnos$) and b.eqno is null
|
|
union all
|
|
select distinct a.qno
|
|
from question a
|
|
left outer join rscq b on b.qno=a.qno
|
|
where a.qno in ($qnos$) and b.rscqno is null
|
|
) a
|
|
)
|
|
</update>
|
|
<update id="cm.question.isusechange" parameterClass="hashtable">
|
|
update question set isuse=#isuse# where qno in ($qnos$)
|
|
</update>
|
|
<select id="cm.questionusings" parameterClass="int" resultClass="int">
|
|
select sum(cnt)
|
|
from (
|
|
select 0 as cnt
|
|
union all
|
|
select count(qno) from cmexq where qno=#qno#
|
|
union all
|
|
select count(qno) from rscq where qno=#qno#
|
|
) a
|
|
</select>
|
|
<select id="cm.questionitems" parameterClass="int" resultClass="questionitem">
|
|
select a.qino,a.qno,a.fgno,a.isright,a.qitext, b.fileno, b.orgname, b.fileurl
|
|
from questionitem a
|
|
left outer join fileinfo b on b.fgno=a.fgno and b.isdel= 0
|
|
<dynamic prepend="where">
|
|
<isNotNull property="qno" prepend="and">a.qno = #qno#</isNotNull>
|
|
<isNotNull property="isdel" prepend="and">a.isdel = #isdel#</isNotNull>
|
|
<isNotNull property="qnos" prepend="and">a.qno in ($qnos$)</isNotNull>
|
|
<isNotNull property="isright" prepend="and">a.isright = #isright#</isNotNull>
|
|
</dynamic>
|
|
order by a.qno, a.qino
|
|
</select>
|
|
<select id="cm.questionitem.valid" parameterClass="int" resultClass="int">
|
|
select sum(cnt)
|
|
from (
|
|
select 0 as cnt
|
|
union all
|
|
select a.qno from (
|
|
select b.qno
|
|
from questionitem a
|
|
inner join cmexq b on b.qno=a.qno
|
|
where a.qino=#qino# limit 1) a
|
|
union all
|
|
select a.qno from (
|
|
select b.qno
|
|
from questionitem a
|
|
inner join rscq b on b.qno=a.qno
|
|
where a.qino=#qino#
|
|
limit 1) a
|
|
) a
|
|
</select>
|
|
<update id="cm.questionitem.del" parameterClass="questionitem">
|
|
update question a
|
|
inner join questionitem b on b.qino=#qino# and b.qno=a.qno
|
|
set a.rightcount = a.rightcount - b.isright;
|
|
|
|
update questionitem set <include refid="sql.up"></include>
|
|
,isdel=1
|
|
where qino=#qino#
|
|
</update>
|
|
<update id="cm.question.up" parameterClass="question">
|
|
UPDATE question SET <include refid="sql.up"></include>
|
|
,cmno=#cmno#,qdiff=#qdiff#,cc1=#cc1#,cc2=#cc2#,cc3=#cc3#,cc4=#cc4#,cc5=#cc5#,isuse=#isuse#,dpoint=#dpoint#,qtext=#qtext#,qtextstring=#qtextstring#,qdesc=#qdesc#,rightcount=#rightcount#
|
|
,ispassspace=#ispassspace#,isignorecase=#isignorecase#
|
|
where qno=#qno#
|
|
</update>
|
|
<update id="cm.question.uptop" parameterClass="question">
|
|
UPDATE question SET <include refid="sql.up"></include>
|
|
,cmno=#cmno#,isuse=#isuse#,qtext=#qtext#,qtextstring=#qtextstring#,qdesc=#qdesc#,rightcount=#rightcount#
|
|
where qno=#qno#
|
|
</update>
|
|
<update id="cm.questionitem.up" parameterClass="questionitem">
|
|
UPDATE questionitem SET <include refid="sql.up"></include>
|
|
,fgno=#fgno#,isright=#isright#,qitext=#qitext#
|
|
where qino=#qino#
|
|
</update>
|
|
|
|
<select id="cm.cmsds" parameterClass="hashtable" resultClass="cmsd">
|
|
select a.*
|
|
from (
|
|
select a.sdno,a.sdtype,a.cmno,a.sdname,a.sddesc,a.tpoint,a.sdcondition,a.fgno,a.isdel,a.cdt,a.udt
|
|
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.cdt</isNull>) rno
|
|
,count(a.cno) over() pagetotalcount
|
|
from cmsd a
|
|
where a.isdel=0
|
|
<isNotNull property="sdno">and a.sdno=#sdno#</isNotNull>
|
|
<isNotNull property="cmno">and a.cmno=#cmno#</isNotNull>
|
|
<isNotNull property="sdtype">and a.sdtype=#sdtype#</isNotNull>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.rno
|
|
</select>
|
|
<insert id="cm.cmsd.in" parameterClass="hashtable">
|
|
insert into cmsd(sdtype,cmno,sdname,sddesc,tpoint,sdcondition,fgno,isdel,<include refid="sql.inc"></include>)
|
|
values(#sdtype#,#cmno#,#sdname#,#sddesc#,#tpoint#,#sdcondition#,#fgno#,0,<include refid="sql.inv"></include>);
|
|
<selectKey type="post" property="sdno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
|
</insert>
|
|
<update id="cm.cmsd.up" parameterClass="hashtable">
|
|
update cmsd set <include refid="sql.up"></include>
|
|
,sdtype =#sdtype#
|
|
,sdname =#sdname#
|
|
,sddesc =#sddesc#
|
|
,tpoint =#tpoint#
|
|
,sdcondition =#sdcondition#
|
|
,fgno =#fgno#
|
|
where sdno=#sdno#
|
|
</update>
|
|
<update id="cm.cmsd.uplock" parameterClass="hashtable">
|
|
update cmsd set <include refid="sql.up"></include>
|
|
,sdname =#sdname#
|
|
,sddesc =#sddesc#
|
|
,tpoint =#tpoint#
|
|
,sdcondition =#sdcondition#
|
|
,fgno =#fgno#
|
|
where sdno=#sdno#
|
|
</update>
|
|
|
|
<select id="cm.cmrss" parameterClass="hashtable" resultClass="cmrs">
|
|
select a.*
|
|
from (
|
|
select a.rsno,a.rstype,a.cmno,a.rsname,a.rscondition,a.rscno,a.isdel,a.cdt,a.udt
|
|
,b.rscname
|
|
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.cdt</isNull>) rno
|
|
,count(a.cno) over() pagetotalcount
|
|
from cmrs a
|
|
inner join rsc b on b.rscno=a.rscno
|
|
where a.isdel=0 <isNotNull property="rsno">and a.rsno=#rsno#</isNotNull>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.rno
|
|
</select>
|
|
<insert id="cm.cmrs.in" parameterClass="hashtable">
|
|
insert into cmrs(rstype,cmno,rsname,rscondition,rscno,isdel,<include refid="sql.inc"></include>)
|
|
values(#rstype#,#cmno#,#rsname#,#rscondition#,#rscno#,0,<include refid="sql.inv"></include>);
|
|
<selectKey type="post" property="rsno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
|
</insert>
|
|
<update id="cm.cmrs.up" parameterClass="hashtable">
|
|
update cmrs set <include refid="sql.up"></include>
|
|
,rstype =#rstype#
|
|
,rsname =#rsname#
|
|
,rscondition =#rscondition#
|
|
,rscno =#rscno#
|
|
where rsno=#rsno#
|
|
</update>
|
|
<update id="cm.cmrs.uplock" parameterClass="hashtable">
|
|
update cmrs set <include refid="sql.up"></include>
|
|
,rsname =#rsname#
|
|
,rscondition =#rscondition#
|
|
where rsno=#rsno#
|
|
</update>
|
|
<select id="cm.cmmenus" parameterClass="int" resultClass="cmmenu">
|
|
select a.cmno,a.isplan,a.iscontent,a.isev,a.isrs,a.isgrade
|
|
,b.bmno
|
|
from cmmenu a
|
|
left outer join cmmenubm b on b.cmno=a.cmno
|
|
where a.cmno=#cmno#
|
|
</select>
|
|
|
|
<select id="cm.rscs" parameterClass="hashtable" resultClass="rsc">
|
|
select *
|
|
from (
|
|
select a.rscno,a.rstype,a.rscname,a.isuse, a.cdt,a.udt
|
|
,a.rscno value,a.rscname text
|
|
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.udt desc</isNull> ) rno
|
|
,<include refid="sql.prc"></include>
|
|
from rsc a
|
|
<dynamic prepend="where">
|
|
<isNotNull property="rstype" prepend="and">a.rstype=#rstype#</isNotNull>
|
|
<isNotNull property="rscname" prepend="and">a.rscname like concat('%', #rscname#,'%')</isNotNull>
|
|
<isNotNull property="rscno" prepend="and">a.rscno=#rscno#</isNotNull>
|
|
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
|
<isNotNull property="isuseorrsno" prepend="and">(a.rsno=#isuseorrsno# or a.isuse=1)</isNotNull>
|
|
</dynamic>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.RNO
|
|
</select>
|
|
<select id="cm.rscqs" parameterClass="int" resultClass="rscq">
|
|
select a.rscqno,a.rscno,a.qno,a.dseq
|
|
, b.qtextstring, b.dpoint, b.qdiff, b.cc1, b.cc2, b.cc3, b.cc4, b.cc5,b.atype
|
|
, cc.cname qdiffname, cc1.cname ccname1, cc2.cname ccname2, cc3.cname ccname3, cc4.cname ccname4, cc5.cname ccname5
|
|
,row_number() over(order by a.dseq, a.rscqno) rno
|
|
from rscq a
|
|
inner join question b on b.qno=a.qno
|
|
left outer join comcode cc on cc.ccode = b.qdiff
|
|
left outer join comcode cc1 on cc1.ccode = b.cc1
|
|
left outer join comcode cc2 on cc2.ccode = b.cc2
|
|
left outer join comcode cc3 on cc3.ccode = b.cc3
|
|
left outer join comcode cc4 on cc4.ccode = b.cc4
|
|
left outer join comcode cc5 on cc5.ccode = b.cc5
|
|
where a.rscno=#rscno#
|
|
order by rno
|
|
</select>
|
|
<insert id="cm.rsc.in" parameterClass="hashtable">
|
|
insert into rsc(rstype,rscname,isuse,<include refid="sql.inc"></include>)
|
|
values(#rstype#,#rscname#,#isuse#,<include refid="sql.inv"></include>);
|
|
<selectKey type="post" property="rscno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
|
</insert>
|
|
<update id="cm.rsc.up" parameterClass="hashtable">
|
|
update rsc set <include refid="sql.up"></include>
|
|
,rstype =#rstype#
|
|
,rscname =#rscname#
|
|
,isuse =#isuse#
|
|
where rscno=#rscno#;
|
|
|
|
delete from rscq where rscno=#rscno# <isNotEmpty property="QNosup">and qno not in ($QNosup$)</isNotEmpty>;
|
|
|
|
<isNotEmpty property="QNosup">
|
|
update rscq a
|
|
inner join (
|
|
<iterate property="Dsup" open="" conjunction="union all" close="">
|
|
select #Dsup[].rscqno# rscqno,#Dsup[].dseq# dseq
|
|
</iterate>
|
|
) b on b.rscqno=a.rscqno
|
|
set a.dseq=b.dseq,a.udt=now(),a.uno=#uno#,a.uip=#uip#
|
|
where a.rscno=#rscno#;
|
|
</isNotEmpty>
|
|
|
|
<isNotEmpty property="QNosin">
|
|
insert into rscq(rscno,qno,dseq,cdt,cno,udt,uno,uip)
|
|
values <iterate property="Dsin" open="" conjunction="," close="">(#rscno#,#Dsin[].qno#,#Dsin[].dseq#,now(),#uno#,now(),#uno#,#uip#)</iterate>
|
|
</isNotEmpty>
|
|
</update>
|
|
<update id="cm.rsc.uplock" parameterClass="hashtable">
|
|
update rsc set <include refid="sql.up"></include>
|
|
,rscname =#rscname#
|
|
,isuse =#isuse#
|
|
where rscno=#rscno#;
|
|
|
|
<iterate property ="Dsup" open="" conjunction="" close="">
|
|
update rscq set <include refid="sql.up"></include>
|
|
,dseq = #Dsup[].dseq#
|
|
where rscno=#rscno# and rscqno = #Dsup[].rscqno#;
|
|
</iterate>
|
|
</update>
|
|
<update id="cm.rscq.in" parameterClass="rsc">
|
|
insert into rscq(rscno,qno,dseq,<include refid="sql.inc"></include>)
|
|
values <iterate property="Ds" open="" conjunction="," close="">(#rscno#,#Ds[].qno#,#Ds[].dseq#,now(),#uno#,now(),#uno#,#uip#)</iterate>
|
|
</update>
|
|
<update id="cm.cmev.in" parameterClass="hashtable">
|
|
insert into cmev (cmno,attend,attendcut,attendrfd,attendcutrfd,mid,midcut,midrfd,midcutrfd,final,finalcut,finalrfd,finalcutrfd,subject,subjectcut,subjectrfd
|
|
,subjectcutrfd,discuss,discusscut,discussrfd,discusscutrfd,etc,etccut,etcrfd,etccutrfd,cut,cutrfd,<include refid="sql.inc"></include>)
|
|
values (#cmno#,100,100,100,100,0,0,0,0,0,0,0,0,0,0,0
|
|
,0,0,0,0,0,0,0,0,0,100,100,<include refid="sql.inv"></include>)
|
|
</update>
|
|
<update id="cm.cmmenu.in" parameterClass="hashtable">
|
|
insert into cmmenu (cmno,isplan,iscontent,isev,isrs,isgrade,<include refid="sql.inc"></include>)
|
|
values(#cmno#,1,1,1,1,1,<include refid="sql.inv"></include>);
|
|
|
|
insert into cmmenubm (cmno,bmno,<include refid="sql.inc"></include>)
|
|
select #cmno#,a.bmno,<include refid="sql.inv"></include>
|
|
from boardmaster a
|
|
where a.bmposition=1 and a.isopen=1 and a.isdefault=1
|
|
</update>
|
|
<update id="cm.cmmenu.up" parameterClass="hashtable">
|
|
update cmmenu set <include refid="sql.up"></include>,isplan=#isplan#,iscontent=#iscontent#,isev=#isev#,isrs=#isrs#,isgrade=#isgrade#
|
|
where cmno=#cmno#;
|
|
|
|
delete from cmmenubm where cmno=#cmno# and bmno not in ($bmnos$);
|
|
|
|
insert into cmmenubm (cmno,bmno,<include refid="sql.inc"></include>)
|
|
select #cmno#,a.bmno,<include refid="sql.inv"></include>
|
|
from boardmaster a
|
|
left outer join cmmenubm b on b.cmno=#cmno# and b.bmno=a.bmno
|
|
where a.bmno in ($bmnos$) and b.bmno is null;
|
|
</update>
|
|
|
|
<select id="cm.cminfile" parameterClass="int" resultClass="data">
|
|
select 1 dtype,a.sdno intval,a.fgno longval,b.fileno longval2,0 longval4,b.fileurl strval
|
|
from cmsd a
|
|
inner join fileinfo b on b.fgno=a.fgno and b.isdel=0
|
|
where a.cmno=#cmno#
|
|
union all
|
|
select 0,exno,null,null,null,null
|
|
from cmex
|
|
where cmno=#cmno# and isdel=0
|
|
union all
|
|
select 2,0,a.fgnotf,b.fileno,a.cmino,b.fileurl
|
|
from cminning a
|
|
inner join fileinfo b on b.fgno=a.fgnotf and b.isdel=0
|
|
where a.cmno=#cmno#
|
|
union all
|
|
select 3,a.cmno,a.fgnocm,b.fileno,0,b.fileurl
|
|
from cm a
|
|
inner join fileinfo b on b.fgno=a.fgnocm and b.isdel=0
|
|
where a.cmno=#cmno#
|
|
order by dtype,intval,longval2
|
|
</select>
|
|
<insert id="cm.cmcopy0" parameterClass="cm">
|
|
insert into cm(ismaster,cgno,pcmno,cname,kname,tmno,classno,rstime,retime,sstime,setime,gstime,getime,cshape,typeman,typeedu,typegrade,typejob,infee,outfee,quota,introhtml,targethtml,goalhtml,contenthtml,studyplace,studytime
|
|
,certcc,certgradecc,jobcc,jobpositiongrade,difficulty,isrefund,isuse,isseq,iscertificate,isdel,<include refid="sql.inc"></include>)
|
|
select #ismaster#,cgno,case when a.ismaster = 1 and #ismaster# = 0 then a.cmno else a.pcmno end,ifnull(#cname#, concat('사본_', cname)),a.kname,#tmno#
|
|
,case when #tmno# is null then null else ifnull(b.classno,0)+1 end
|
|
,t.rstime,date_format(t.retime,'%Y-%m-%d 23:59:59') retime
|
|
,t.sstime,date_format(t.setime,'%Y-%m-%d 23:59:59') setime
|
|
,t.gstime,date_format(t.getime,'%Y-%m-%d 23:59:59') getime
|
|
,a.cshape,a.typeman,a.typeedu,a.typegrade,a.typejob,infee,outfee,quota,introhtml,targethtml,goalhtml,contenthtml,studyplace,studytime
|
|
,certcc,certgradecc,jobcc,jobpositiongrade,difficulty,isrefund,1,isseq,a.iscertificate,0,<include refid="sql.inv"></include>
|
|
from cm a
|
|
left outer join (
|
|
select max(b.classno) classno
|
|
from cm a
|
|
inner join cm b on b.ismaster=0 and b.pcmno=case when a.ismaster=1 then a.cmno else a.pcmno end and b.isdel=0 and b.tmno=ifnull(#tmno#,0)
|
|
where a.cmno=#orgcmno#
|
|
) b on b.classno is not null
|
|
left outer join term t on t.tmno=#tmno#
|
|
where a.cmno=#orgcmno#;
|
|
<selectKey type="post" property="cmno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
|
</insert>
|
|
<update id="cm.cmcopy" parameterClass="cm">
|
|
insert into cmprof(cmno,userno,pfee,<include refid="sql.inc"></include>)
|
|
select #cmno#,a.userno,0,<include refid="sql.inv"></include>
|
|
from cmprof a
|
|
where a.cmno=#orgcmno#;
|
|
|
|
insert into cmbook(cmno,bkno,<include refid="sql.inc"></include>)
|
|
select #cmno#,a.bkno,<include refid="sql.inv"></include>
|
|
from cmbook a
|
|
where a.cmno=#orgcmno#;
|
|
|
|
insert into cmrelay(cmno,rcmno,ispre,<include refid="sql.inc"></include>)
|
|
select #cmno#,a.rcmno,a.ispre,<include refid="sql.inv"></include>
|
|
from cmrelay a
|
|
where a.cmno=#orgcmno#;
|
|
|
|
insert into cmncsd(cmno,ndno,<include refid="sql.inc"></include>)
|
|
select #cmno#,a.ndno,<include refid="sql.inv"></include>
|
|
from cmncsd a
|
|
where a.cmno=#orgcmno#;
|
|
|
|
insert into cminning(cmno,week,iseq,isonline,ititle,icontent,iday,idate,ist,iet,ctno,istaste,sttime,atime,mstime,metime,userno,orgcmino,<include refid="sql.inc"></include>)
|
|
select #cmno#,a.week,a.iseq,a.isonline,a.ititle,a.icontent,a.iday
|
|
,case when a.isonline=1 or b.sstime is null or a.iday is null then null else date_add(b.sstime, interval (a.iday - 1) day) end
|
|
,a.ist,a.iet,a.ctno,a.istaste,a.sttime,a.atime,a.mstime,a.metime,a.userno,cmino,<include refid="sql.inv"></include>
|
|
from cminning a
|
|
inner join cm b on b.cmno=#cmno#
|
|
where a.cmno=#orgcmno#;
|
|
|
|
insert into cminningscd(cmino,estart,eend,quota,<include refid="sql.inc"></include>)
|
|
select c.cmino,b.estart,b.eend,b.quota,<include refid="sql.inv"></include>
|
|
from cminning a
|
|
inner join cminningscd b on b.cmino=a.cmino
|
|
inner join cminning c on c.cmno=#cmno# and c.isonline=0
|
|
where a.cmno=#orgcmno# and a.isonline=0;
|
|
|
|
insert into cmev(cmno,attend,attendcut,attendrfd,attendcutrfd,mid,midcut,midrfd,midcutrfd,final,finalcut,finalrfd,finalcutrfd,subject,subjectcut,subjectrfd,subjectcutrfd
|
|
,discuss,discusscut,discussrfd,discusscutrfd,etc,etccut,etcrfd,etccutrfd,cut,cutrfd,isoffabs,<include refid="sql.inc"></include>)
|
|
select #cmno#,attend,attendcut,attendrfd,attendcutrfd,mid,midcut,midrfd,midcutrfd,final,finalcut,finalrfd,finalcutrfd,subject,subjectcut,subjectrfd,subjectcutrfd
|
|
,discuss,discusscut,discussrfd,discusscutrfd,etc,etccut,etcrfd,etccutrfd,cut,cutrfd,isoffabs,<include refid="sql.inv"></include>
|
|
from cmev a
|
|
where a.cmno=#orgcmno#;
|
|
|
|
insert into cmsd(sdtype,cmno,sdname,sddesc,tpoint,sdcondition,fgno,isdel,orgsdno,<include refid="sql.inc"></include>)
|
|
select sdtype,#cmno#,sdname,sddesc,tpoint,sdcondition,null,0,sdno,<include refid="sql.inv"></include>
|
|
from cmsd a
|
|
where a.cmno=#orgcmno# and a.isdel=0;
|
|
|
|
insert into cmrs(cmno,rscno,rstype,rsname,rscondition,isdel,<include refid="sql.inc"></include>)
|
|
select #cmno#,rscno,rstype,rsname,rscondition,0,<include refid="sql.inv"></include>
|
|
from cmrs a
|
|
where a.cmno=#orgcmno# and a.isdel=0;
|
|
|
|
insert into cmmenu(cmno,isplan,iscontent,isev,isrs,isgrade,<include refid="sql.inc"></include>)
|
|
select #cmno#,isplan,iscontent,isev,isrs,isgrade,<include refid="sql.inv"></include>
|
|
from cmmenu a
|
|
where a.cmno=#orgcmno#;
|
|
|
|
insert into cmmenubm(cmno,bmno,<include refid="sql.inc"></include>)
|
|
select #cmno#,a.bmno,<include refid="sql.inv"></include>
|
|
from cmmenubm a
|
|
where a.cmno=#orgcmno#
|
|
</update>
|
|
<insert id="cm.cmcopy.ex0" parameterClass="cmex">
|
|
insert into cmex (cmno,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,isdel,<include refid="sql.inc"></include>)
|
|
select #cmno#,extype,exname,edesc,etime,econdition,evtype,eqtype,israndq,israndqi,qcount,isblur,tpoint,relaylimit,isusebackup,isseq,isresultopen,0,<include refid="sql.inv"></include>
|
|
from cmex a
|
|
where a.exno=#orgexno#;
|
|
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
|
</insert>
|
|
<update id="cm.cmcopy.ex" parameterClass="cmex">
|
|
insert into cmexlayer(exno,qdiff,cc1,cc2,cc3,cc4,cc5,qcount,rpoint,<include refid="sql.inc"></include>)
|
|
select #exno#,qdiff,cc1,cc2,cc3,cc4,cc5,qcount,rpoint,<include refid="sql.inv"></include>
|
|
from cmexlayer a
|
|
where a.exno=#orgexno#;
|
|
|
|
insert into cmexq(exno,qseq,qno,rpoint,<include refid="sql.inc"></include>)
|
|
select #exno#,qseq,qno,rpoint,<include refid="sql.inv"></include>
|
|
from cmexq a
|
|
where a.exno=#orgexno#;
|
|
</update>
|
|
<update id="cm.cmsd.fgnoup" parameterClass="hashtable">
|
|
update cmsd set fgno=#fgno# where cmno=#cmno# and orgsdno=#orgsdno#
|
|
</update>
|
|
<update id="cm.cminning.fgnoup" parameterClass="hashtable">
|
|
update cminning set fgnotf=#fgno# where cmno=#cmno# and orgcmino=#orgcmino#
|
|
</update>
|
|
<update id="cm.cm.fgnocmup" parameterClass="hashtable">
|
|
update cm set fgnocm=#fgnocm# where cmno=#cmno#
|
|
</update>
|
|
<select id="cm.check.cmpcpay" parameterClass="int" resultClass="int">
|
|
select count(b.pino)
|
|
from (select 1 as col1) a
|
|
left outer join payitem b on b.ptype=1 and b.pcno = #cmno#
|
|
</select>
|
|
<insert id="cm.cmpcin" parameterClass="cm">
|
|
insert into cm (ismaster,cgno,pcmno,cname,tmno,classno,rstime,retime,sstime,setime,gstime,getime,cshape,infee,outfee,quota,introhtml,targethtml,goalhtml,contenthtml,studyplace,studytime
|
|
,certcc,certgradecc,jobcc,jobpositiongrade,difficulty,isrefund,isuse,isseq,isdel,<include refid="sql.inc"></include>)
|
|
values (#ismaster#,#cgno#,null,#cname#,#tmno#,#classno#,#rstime#,#retime#,#sstime#,#setime#,#gstime#,#getime#,#cshape#,#infee#,#outfee#,#quota#,#introhtml#,#targethtml#,#goalhtml#,#contenthtml#,#studyplace#,#studytime#
|
|
,#certcc#,#certgradecc#,#jobcc#,#jobpositiongrade#,#difficulty#,#isrefund#,1,0,0,<include refid="sql.inv"></include>);
|
|
<selectKey type="post" property="cmno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
|
</insert>
|
|
<update id="cm.cmpcup" parameterClass="hashtable">
|
|
update cm set <include refid="sql.up"></include>
|
|
,cgno =#cgno#
|
|
,cname =#cname#
|
|
,sstime =#sstime#
|
|
,setime =#setime#
|
|
,introhtml =#introhtml#
|
|
where cmno=#cmno#
|
|
</update>
|
|
<update id="cm.cmpccm.save" parameterClass="cm">
|
|
delete from cmpc where pcno=#cmno# and cmno not in ($cmnos$);
|
|
<isNotNull property="inquery">
|
|
insert into cmpc(pcno,cmno,dseq,orginfee,orgoutfee,drate,infee,outfee,cdt,cno,udt,uno,uip)
|
|
values $inquery$;
|
|
</isNotNull>
|
|
<isNotNull property="upquery">
|
|
update cmpc a
|
|
inner join (
|
|
<iterate property="Ds" open="" conjunction="union all" close=""> select #Ds[].cmno# cmno, #Ds[].dseq# dseq, #Ds[].orginfee# orginfee,#Ds[].orgoutfee# orgoutfee,#Ds[].drate# drate,#Ds[].infee# infee,#Ds[].outfee# outfee </iterate>
|
|
) b on b.cmno=a.cmno
|
|
set a.drate=b.drate,a.infee=b.infee,a.outfee=b.outfee,a.dseq=b.dseq
|
|
,udt=now(),uno=#uno#,uip=#uip#
|
|
where a.pcno=#cmno#;
|
|
</isNotNull>
|
|
update cm a
|
|
inner join (
|
|
select pcno cmno,sum(infee) infee,sum(outfee) outfee
|
|
from cmpc
|
|
where pcno=#cmno#
|
|
group by pcno
|
|
) b on b.cmno=a.cmno
|
|
set a.infee=b.infee,a.outfee=b.outfee
|
|
where a.cmno=#cmno#
|
|
</update>
|
|
<select id="cm.cts" parameterClass="hashtable" resultClass="ct">
|
|
select *
|
|
from (
|
|
select a.ctno,a.cmno,a.qdiff,a.cc1,a.cc2,a.cc3,a.cc4,a.cc5,a.ctype,a.ccode,a.ctname,a.fgnothumb,a.fgno,a.fgnotf,a.ismenu,a.tfurl
|
|
,a.isdel,a.isuse,a.cdt,a.udt
|
|
,b.cname
|
|
, Row_Number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.udt desc</isNull> ) rno
|
|
,<include refid="sql.prc"></include>
|
|
from ct a
|
|
inner join cm b on b.cmno=a.cmno
|
|
where a.isdel=0
|
|
<isNotNull property="ctno" prepend="and">a.ctno=#ctno#</isNotNull>
|
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
|
<isNotNull property="qdiff" prepend="and">a.qdiff=#qdiff#</isNotNull>
|
|
<isNotNull property="cc1" prepend="and">a.cc1=#cc1#</isNotNull>
|
|
<isNotNull property="cc2" prepend="and">a.cc2=#cc2#</isNotNull>
|
|
<isNotNull property="cc3" prepend="and">a.cc3=#cc3#</isNotNull>
|
|
<isNotNull property="cc4" prepend="and">a.cc4=#cc4#</isNotNull>
|
|
<isNotNull property="cc5" prepend="and">a.cc5=#cc5#</isNotNull>
|
|
<isNotNull property="isuse" prepend="and">a.isuse=#isuse#</isNotNull>
|
|
<isNotNull property="ctname" prepend="and">a.ctname like concat('%', #ctname#,'%')</isNotNull>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.RNO
|
|
</select>
|
|
<select id="cm.ct.check" parameterClass="string" resultClass="ct">
|
|
select distinct a.ctno
|
|
from cminning a
|
|
where a.ctno in ($ctnos$)
|
|
</select>
|
|
<select id="cm.check.ctccode" parameterClass="hashtable" resultClass="data">
|
|
select ccode strval
|
|
from ct
|
|
<dynamic prepend="where">
|
|
<isNotNull property="ctnonot" prepend="and">ctno<>#ctnonot#</isNotNull>
|
|
<isNotNull property="ccodes" prepend="and">ccode in ($ccodes$)</isNotNull>
|
|
<isNotNull property="ccode" prepend="and">ccode=#ccode#</isNotNull>
|
|
</dynamic>
|
|
</select>
|
|
<insert id="cm.ct.in" parameterClass="ct">
|
|
INSERT INTO ct (cmno,qdiff,cc1,cc2,cc3,cc4,cc5,ctype,ccode,ccodedel,ctname,fgnothumb,fgnotf,tfurl,ismenu,isdel,isuse,isoversize,<include refid="sql.inc"></include>)
|
|
values (#cmno#,#qdiff#,#cc1#,#cc2#,#cc3#,#cc4#,#cc5#,#ctype#,#ccode#,#ccode#,#ctname#,#fgnothumb#,#fgnotf#,#tfurl#,#ismenu#,0,#isuse#,#isoversize#,<include refid="sql.inv"></include>);
|
|
<selectKey type="post" property="ctno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
|
|
</insert>
|
|
<update id="cm.ctpage.in" parameterClass="ct">
|
|
INSERT INTO ctpage (ctno,pseq,cpname,srcp,srcm,isdel,<include refid="sql.inc"></include>)
|
|
values
|
|
<iterate property="Ds" open="" conjunction="," close="">
|
|
(#ctno#, #Ds[].pseq#, #Ds[].cpname#, #Ds[].srcp#,#Ds[].srcm#,0,now(),#uno#,now(),#uno#,#uip#)
|
|
</iterate>
|
|
</update>
|
|
<select id="cm.ctps" parameterClass="hashtable" resultClass="ctp">
|
|
select a.cpno,a.ctno,a.pseq,a.cpname,a.srcp,a.srcm
|
|
from ctpage a
|
|
where a.isdel=0
|
|
<isNotNull property="ctno" prepend="and">a.ctno=#ctno#</isNotNull>
|
|
order by a.pseq
|
|
</select>
|
|
<update id="cm.ctpdel" parameterClass="hashtable">
|
|
update ctpage a
|
|
inner join (
|
|
select a.ctno,count(b.cmino) dcnt
|
|
from ct a
|
|
left outer join cminning b on b.ctno=a.ctno
|
|
where a.ctno=#ctno#
|
|
group by a.ctno
|
|
) b on b.ctno=a.ctno and b.dcnt = 0
|
|
set a.isdel=1,<include refid="sql.up"></include>
|
|
where a.cpno=#cpno#
|
|
</update>
|
|
<update id="cm.ctpage.in2" parameterClass="ct">
|
|
insert into ctpage (ctno,pseq,cpname,srcp,srcm,isdel,<include refid="sql.inc"></include>)
|
|
values $inquery$
|
|
</update>
|
|
<update id="cm.ct.up" parameterClass="ct">
|
|
update ct set <include refid="sql.up"></include>
|
|
,cmno =#cmno#,qdiff =#qdiff#,cc1 =#cc1#,cc2 =#cc2#,cc3 =#cc3#,cc4 =#cc4#,cc5 =#cc5#,ctype =#ctype#
|
|
,ccode =#ccode#,ccodedel=#ccode#
|
|
,ctname=#ctname#,fgno =#fgno#,fgnotf=#fgnotf#,tfurl =#tfurl#,ismenu=#ismenu#,isuse=#isuse#
|
|
,fgnothumb=#fgnothumb#
|
|
<isNotNull property="isoversize2">,isoversize=#isoversize2#</isNotNull>
|
|
where ctno=#ctno#
|
|
</update>
|
|
<select id="cm.ct.checkcmi" parameterClass="int" resultClass="int">
|
|
select count(b.cmino) dcnt
|
|
from ct a
|
|
left outer join cminning b on b.ctno=a.ctno
|
|
where a.ctno=#ctno#
|
|
group by a.ctno
|
|
</select>
|
|
<update id="cm.ctp.up" parameterClass="ct">
|
|
update ctpage a
|
|
inner join (
|
|
<iterate property="Ds" open="" conjunction="union all" close=""> select #Ds[].cpno# cpno, #Ds[].pseq# pseq, #Ds[].cpname# cpname, #Ds[].srcp# srcp,#Ds[].srcm# srcm </iterate>
|
|
) b on b.cpno=a.cpno
|
|
set <include refid="sql.up"></include>,a.pseq=b.pseq,a.cpname=b.cpname,a.srcp=b.srcp,a.srcm=b.srcm
|
|
where a.ctno=#ctno#
|
|
</update>
|
|
<update id="cm.ct.del" parameterClass="hashtable">
|
|
update ct a
|
|
inner join (
|
|
select a.ctno,count(b.cmino) dcnt
|
|
from ct a
|
|
left outer join cminning b on b.ctno=a.ctno
|
|
where a.ctno=#ctno#
|
|
group by a.ctno
|
|
) b on b.ctno=a.ctno and b.dcnt=0
|
|
set <include refid="sql.up"></include>
|
|
,a.ccode=null,a.isdel=1
|
|
where b.dcnt=0 and a.ctno=#ctno#
|
|
</update>
|
|
<update id="cm.ct.del2" parameterClass="hashtable">
|
|
update ct a
|
|
inner join (
|
|
select a.ctno,count(b.cmino) dcnt
|
|
from ct a
|
|
left outer join cminning b on b.ctno=a.ctno
|
|
where a.ctno in ($ctnos$)
|
|
group by a.ctno
|
|
) b on b.ctno=a.ctno and b.dcnt=0
|
|
set <include refid="sql.up"></include>
|
|
,a.ccode=null,a.isdel=1
|
|
where b.dcnt=0 and a.ctno in ($ctnos$)
|
|
</update>
|
|
<select id="cm.pcm.foras" parameterClass="hashtable" resultClass="cm">
|
|
select distinct d.cmno value,d.cname text
|
|
from users a
|
|
inner join lect b on b.userno=a.userno and b.status<5
|
|
inner join cm c on c.cmno=b.cmno
|
|
inner join cm d on d.cmno=c.pcmno
|
|
where a.asno=#asno#
|
|
order by text,value
|
|
</select>
|
|
<select id="cm.cm.foras" parameterClass="hashtable" resultClass="cm">
|
|
select distinct c.cmno value,concat(c.cname,'(',c.classno,')') text
|
|
from users a
|
|
inner join lect b on b.userno=a.userno and b.status<5
|
|
inner join cm c on c.cmno=b.cmno and c.pcmno=#pcmno#
|
|
where a.asno=#asno#
|
|
order by text,value
|
|
</select>
|
|
<select id="cm.pcm.forall" parameterClass="hashtable" resultClass="cm">
|
|
select a.cmno value,a.cname text
|
|
from cm a
|
|
where a.ismaster=1 and a.isuse=1 and a.isdel=0
|
|
order by text,value
|
|
</select>
|
|
<select id="cm.cm.forall" parameterClass="hashtable" resultClass="cm">
|
|
select a.cmno value,concat(a.cname,'(',a.classno,')') text
|
|
from cm a
|
|
where a.pcmno=#cmno# and a.ismaster=1 and a.isuse=1 and a.isdel=0
|
|
order by text,value
|
|
</select>
|
|
<select id="cm.cmpcsbycmnos" parameterClass="string" resultClass="cm">
|
|
select a.pcno,b.cname pcname,a.cmno,c.cname
|
|
from cmpc a
|
|
inner join cm b on b.cmno=a.pcno
|
|
inner join cm c on c.cmno=a.cmno
|
|
<isNotEmpty property="pcnos">
|
|
where a.pcno in ($pcnos$)
|
|
</isNotEmpty>
|
|
</select>
|
|
<select id="cm.cms.forpay" parameterClass="hashtable" resultClass="cm">
|
|
select c.cmno,case when b.isjoin=1 then c.infee else c.outfee end fee,b.isjoin
|
|
from users a
|
|
left outer join assign b on b.asno=a.asno
|
|
inner join cm c on c.cmno=#cmno#
|
|
where a.userno=#userno#
|
|
</select>
|
|
<select id="cm.cms.forpaypc" parameterClass="hashtable" resultClass="cm">
|
|
select c.cmno,case when b.isjoin=1 then c.infee else c.outfee end fee,b.isjoin
|
|
from users a
|
|
left outer join assign b on b.asno=a.asno
|
|
inner join cmpc c on c.pcno=#pcno#
|
|
where a.userno=#userno#
|
|
</select>
|
|
<select id="cm.cms.forpay2" parameterClass="string" resultClass="cm">
|
|
select a.cmno,a.infee,a.outfee
|
|
from cm a
|
|
where a.cmno in ($cmnos$)
|
|
</select>
|
|
<select id="cm.cms.forpaypc2" parameterClass="hashtable" resultClass="cm">
|
|
select a.pcno,a.cmno,a.infee,a.outfee
|
|
from cmpc a
|
|
where a.pcno in ($pcnos$)
|
|
</select>
|
|
<update id="cm.cminning.fgno" parameterClass="hashtable">
|
|
update cminning set fgno=#fgno# where cmino=#cmino#
|
|
</update>
|
|
<select id="cm.cms.forbuy" parameterClass="hashtable" resultClass="cm">
|
|
select a.cmno,a.cname,a.cshape,a.studyplace,a.studytime,a.infee,a.outfee,a.rstime,a.retime,a.sstime,a.setime,a.quota,a.difficulty,a.isrefund,a.fgnocm
|
|
,a.introhtml,a.targethtml,a.goalhtml,a.contenthtml,a.fgnocm
|
|
<!--,ev.attend,ev.attendcut,ev.attendrfd,ev.attendcutrfd,ev.mid,ev.midcut,ev.midrfd,ev.midcutrfd,ev.final,ev.finalcut,ev.finalrfd,ev.finalcutrfd,ev.subject,ev.subjectcut,ev.subjectrfd,ev.subjectcutrfd,ev.discuss,ev.discusscut,ev.discussrfd,ev.discusscutrfd,ev.etc,ev.etccut,ev.etcrfd,ev.etccutrfd,ev.cut,ev.cutrfd-->
|
|
,case when h.isjoin=1 then a.infee else a.outfee end fee
|
|
,b.cgname,b.cgcode
|
|
,c.cgcode pcgcode
|
|
,i.cmino
|
|
<!--,case when j.ctype=0 then concat('/', j.ccode, '/', k.srcp) else null end tasteurl-->
|
|
,ifnull(jf.fileurl,jf2.fileurl) tasteurl
|
|
,case when j.ctype < 2 then concat(#contents#,'/', j.ccode, '/', k.srcp) else k.srcp end tasteurlpc
|
|
,case when j.ctype < 2 then concat(#contents#,'/', j.ccode, '/', k.srcm) else k.srcm end tasterurlmobile
|
|
,m.cname certgradeccname
|
|
,cc.cname studyplacename
|
|
,max(case when e.lectno is null then 0 else 1 end) isrequested
|
|
,count(f.userno) countlect
|
|
from cm a
|
|
left outer join cmev ev on ev.cmno=a.cmno
|
|
inner join cg b on b.cgno=a.cgno <isNotNull property="cgcode">and b.cgcode=#cgcode#</isNotNull> <isNotNull property="iscover">and b.iscover=#iscover#</isNotNull>
|
|
inner join cg c on c.cgno=b.pcgno <isNotNull property="pcgcode">and c.cgcode=#pcgcode#</isNotNull>
|
|
left outer join lect d on d.cmno=a.cmno and d.status < 5 and d.ischanged=0
|
|
left outer join lect e on e.cmno=a.cmno and e.userno=#userno# and e.status <5 and e.ischanged=0
|
|
left outer join users f on f.userno=e.userno and f.status=1
|
|
left outer join users g on g.userno=#userno#
|
|
left outer join assign h on h.asno=g.asno
|
|
left outer join cminning i on i.cmno=a.cmno and i.istaste=1
|
|
left outer join ct j on j.ctno=i.ctno
|
|
left outer join fileinfo jf on jf.fgno=j.fgnothumb and jf.isdel=0
|
|
left outer join cminning i2 on i2.cmno=a.cmno and i2.iseq=1
|
|
left outer join ct j2 on j2.ctno=i2.ctno
|
|
left outer join fileinfo jf2 on jf2.fgno=j2.fgnothumb and jf2.isdel=0
|
|
left outer join ctpage k on k.ctno=j.ctno and k.pseq=1
|
|
left outer join comcode m on m.ccode=a.certgradecc
|
|
left outer join comcode cc on cc.ccode=a.studyplace
|
|
where a.ismaster=0 and a.isuse=1 and a.isdel=0
|
|
<isNotNull property="cmno">and a.cmno=#cmno#</isNotNull>
|
|
<isNotNull property="year">and year(a.sstime)=#year#</isNotNull>
|
|
<isNotNull property="cnamelike">and a.cname like concat('%', #cnamelike#,'%')</isNotNull>
|
|
<isNotNull property="isrequestable">and a.rstime < now() and a.retime > now()</isNotNull>
|
|
group by a.cmno,a.cname,a.studyplace,a.studytime,a.infee,a.outfee,a.rstime,a.retime,a.sstime,a.setime,a.quota,a.difficulty,a.isrefund,a.fgnocm
|
|
<!--,ev.attend,ev.attendcut,ev.attendrfd,ev.attendcutrfd,ev.mid,ev.midcut,ev.midrfd,ev.midcutrfd,ev.final,ev.finalcut,ev.finalrfd,ev.finalcutrfd,ev.subject,ev.subjectcut,ev.subjectrfd,ev.subjectcutrfd,ev.discuss,ev.discusscut,ev.discussrfd,ev.discusscutrfd,ev.etc,ev.etccut,ev.etcrfd,ev.etccutrfd,ev.cut,ev.cutrfd-->
|
|
,b.cgname,b.cgcode
|
|
,c.cgcode
|
|
,h.isjoin
|
|
,i.cmino
|
|
,j.ccode,j.ctype,k.srcp,k.srcm,m.cname
|
|
,cc.cname
|
|
<isNotNull property="isrequestable">having count(d.lectno) < a.quota or a.quota=0</isNotNull>
|
|
order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.sstime,a.setime</isNull>
|
|
</select>
|
|
<select id="cm.cmbooks" parameterClass="string" resultClass="book">
|
|
select a.cmno
|
|
,b.bkno,b.bkname,b.price,b.author,b.publisher,b.pubdate
|
|
,c.fileurl
|
|
from cmbook a
|
|
inner join book b on b.bkno=a.bkno
|
|
left outer join fileinfo c on c.fgno=b.fgnothumb and c.isdel=0
|
|
where a.cmno in ($cmnos$)
|
|
order by a.cmno,b.bkname
|
|
</select>
|
|
<select id="cm.cmcheck.forbuy" parameterClass="hashtable" resultClass="cm">
|
|
select 1 rno,a.cmno,a.quota
|
|
,b.status lectstatus
|
|
,count(d.userno) countlect
|
|
from cm a
|
|
left outer join lect b on b.cmno=a.cmno and b.userno=#userno# and b.status < 5 and b.ischanged=0
|
|
left outer join lect c on c.cmno=a.cmno and c.status < 5 and c.ischanged=0
|
|
left outer join users d on d.userno=c.userno and d.status=1
|
|
where a.cmno=#cmno# and a.ismaster=0 and a.rstime < now() and a.retime > now() and a.isuse=1 and a.isdel=0
|
|
group by a.cmno,a.quota,b.status
|
|
union all
|
|
select 2,a.cmno,0
|
|
,b.status
|
|
,0
|
|
from cm a
|
|
inner join lect b on b.cmno <> a.cmno and b.userno=#userno# and b.status < 5
|
|
inner join cm c on c.cmno=b.cmno and c.pcmno=a.pcmno
|
|
where a.cmno = #cmno#
|
|
</select>
|
|
<select id="cm.cmrelays" parameterClass="hashtable" resultClass="cm">
|
|
select a.ispre
|
|
,b.cmno,b.cname,b.rstime,b.retime,b.sstime,b.setime,b.difficulty,b.studytime,b.infee,b.outfee,b.isrefund
|
|
,b2.cgcode
|
|
,b3.cgcode pcgcode
|
|
,case when d.isjoin=1 then b.infee else b.outfee end fee
|
|
from cmrelay a
|
|
inner join cm b on b.cmno=a.rcmno and b.isuse=1 and b.isdel=0
|
|
inner join cg b2 on b2.cgno=b.cgno
|
|
inner join cg b3 on b3.cgno=b2.pcgno
|
|
left outer join users c on c.userno=#userno#
|
|
left outer join assign d on d.asno=c.asno
|
|
<dynamic prepend="where">
|
|
<isNotNull property="cmno" prepend="and">a.cmno=#cmno#</isNotNull>
|
|
</dynamic>
|
|
order by a.ispre desc, b.cname
|
|
</select>
|
|
<select id="cm.cmcshape" parameterClass="hashtable" resultClass="cm">
|
|
select cshape
|
|
from cm
|
|
<dynamic prepend="where">
|
|
<isNotNull property="cmno" prepend="and">cmno=#cmno#</isNotNull>
|
|
</dynamic>
|
|
</select>
|
|
<select id="cm.cgetc" parameterClass="hashtable" resultClass="cm">
|
|
select
|
|
b.cgno,b.pcgno,b.cgname,b.cgcode,b.isuse,b.iscover,b.isdel,b.cdt,b.cno,b.udt,b.uno,b.uip
|
|
from cg a
|
|
left outer join cg b on a.cgno = b.pcgno
|
|
where a.isdel=0
|
|
<isNotNull property="cgcode" prepend="and">a.cgcode=#cgcode#</isNotNull>
|
|
</select>
|
|
<!--<select id="cm.cms.studyplacecnt" parameterClass="int" resultClass="studyplace">
|
|
select
|
|
a.cmno,a.cname,b.ccode,b.cname
|
|
from cm a
|
|
left outer join comcode b on a.studyplace = b.ccode and b.cgroup='studyplace'
|
|
where a.isdel=0
|
|
<isNotNull property="pcmno">and a.pcmno=#cmno#</isNotNull>
|
|
</select>-->
|
|
<select id="cm.subcms" parameterClass="hashtable" resultClass="cm">
|
|
select a.*
|
|
from (
|
|
select a.cmno,case when a.ismaster=2 then a.cmno else 0 end pcno,a.ismaster,a.cgno,a.pcmno,a.cname,a.kname
|
|
,a.tmno,a.classno,a.rstime,a.retime,a.sstime,a.setime,a.gstime,a.getime
|
|
,a.cshape,a.infee,a.outfee,a.quota
|
|
,a.introhtml,a.targethtml,a.goalhtml,a.contenthtml
|
|
,a.studytime,a.studyplace,a.certcc,a.certgradecc,a.jobcc,a.jobpositiongrade,a.difficulty,a.isrefund,a.isuse,a.isseq,a.fgnocm
|
|
,a.typeman,a.typeedu,a.typegrade,a.typejob,a.iscertificate
|
|
,b.pcgno,b.cgcode cgcode
|
|
,b.cgname,c.cgname pcgname
|
|
,c.cgcode pcgcode
|
|
,t.tyear,t.tseq
|
|
,d.cname pcname
|
|
,a.cdt,a.udt
|
|
,a.cmno value,a.cname text
|
|
,e.ccode, e.cname studyplacename
|
|
,f.cnt lectcnt
|
|
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.udt desc</isNull>) rno
|
|
,count(a.cdt) over() pagetotalcount
|
|
from cm a
|
|
inner join cg b on b.cgno=a.cgno
|
|
inner join cg c on c.cgno=b.pcgno
|
|
left outer join term t on t.tmno=a.tmno
|
|
left outer join cm d on a.ismaster=0 and d.cmno=a.pcmno
|
|
left outer join comcode e on a.studyplace = e.ccode
|
|
left outer join (select count(a.lectno) cnt from lect a where a.cmno=#cmno# and a.status =1 and a.ischanged=0) f on 1 = 1
|
|
where a.isdel=0
|
|
<isNotNull property="cmno">and a.pcmno=#cmno#</isNotNull>
|
|
<isNotNull property="studyplace">and a.studyplace=#studyplace#</isNotNull>
|
|
) a
|
|
<include refid="sql.pagedynamic"></include>
|
|
order by a.tseq, a.rstime, studyplacename
|
|
</select>
|
|
|
|
<select id="cm.cmuser" parameterClass="hashtable" resultClass="cm">
|
|
select a.cmno,case when a.ismaster=2 then a.cmno else 0 end pcno,a.ismaster,a.cgno,a.pcmno,a.cname,a.kname
|
|
,a.tmno,a.classno,a.rstime,a.retime,a.sstime,a.setime,a.gstime,a.getime
|
|
,a.cshape,a.infee,a.outfee,a.quota
|
|
,a.introhtml,a.targethtml,a.goalhtml,a.contenthtml
|
|
,a.studytime,a.studyplace,a.certcc,a.certgradecc,a.jobcc,a.jobpositiongrade,a.difficulty,a.isrefund,a.isuse,a.isseq,a.fgnocm
|
|
,a.typeman,a.typeedu,a.typegrade,a.typejob,a.iscertificate
|
|
,b.pcgno,b.cgcode cgcode
|
|
,b.cgname,c.cgname pcgname
|
|
,c.cgcode pcgcode
|
|
,t.tyear,t.tseq
|
|
,d.cname pcname
|
|
,a.cdt,a.udt
|
|
,a.cmno value,a.cname text
|
|
,e.ccode, e.cname studyplacename
|
|
,g.attendcut,g.finalcut
|
|
,i.username
|
|
from cm a
|
|
inner join cg b on b.cgno=a.cgno
|
|
inner join cg c on c.cgno=b.pcgno
|
|
left outer join term t on t.tmno=a.tmno
|
|
left outer join cm d on a.ismaster=0 and d.cmno=a.pcmno
|
|
left outer join comcode e on a.studyplace = e.ccode
|
|
left outer join cmev g on a.cmno = g.cmno
|
|
left outer join cmprof h on a.cmno = h.cmno
|
|
left outer join users i on h.userno = i.userno
|
|
where a.isdel=0
|
|
<isNotNull property="cmno">and a.cmno=#cmno#</isNotNull>
|
|
<isNotNull property="studyplace">and a.studyplace=#studyplace#</isNotNull>
|
|
</select>
|
|
<select id="cm.cminningscds.applyedu" parameterClass="hashtable" resultClass="cminningscd">
|
|
select
|
|
a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,a.ccode,a.studyplacename,a.startmonth
|
|
,a.ccode, a.studyplacename,a.remainPeople
|
|
,case when a.estart < now() or a.remainPeople <= 0 then 0 else 1 end isend
|
|
from
|
|
(
|
|
select a.cmisno,a.cmino,a.estart,a.eend,a.quota,a.cdt,a.udt,month(a.estart) startmonth
|
|
,(a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status =1 and z.ischanged=0)) remainPeople
|
|
,e.ccode, e.cname studyplacename
|
|
from cminningscd a
|
|
left outer join cminning c on c.cmino = a.cmino
|
|
left outer join cm d on d.cmno = c.cmno
|
|
left outer join comcode e on e.ccode = d.studyplace
|
|
<dynamic prepend="where">
|
|
<isNotNull property="cmno" prepend="and">c.cmno=#cmno#</isNotNull>
|
|
</dynamic>
|
|
)a
|
|
<dynamic prepend="where">
|
|
<isNotNull property="month" prepend="and">a.startmonth=#month#</isNotNull>
|
|
</dynamic>
|
|
order by isend desc,a.estart
|
|
</select>
|
|
<select id="cm.user.applyedu" parameterClass="hashtable" resultClass="users">
|
|
select
|
|
a.userno,a.usertype,a.jointype,a.snsid,a.userkind,a.userid,a.userpass,a.username,a.usernameeng,a.gender,a.birthday,a.isacceptemail,a.isacceptmobile,a.telno,a.asno,a.pasname
|
|
,a.depart,a.ccposition,a.ccpositionetc,a.fgnoprofile,a.ccjobs,a.bankname,a.bankno,a.post,a.address1,a.address2,a.introhtml,a.status,a.exitreason,a.logintime,a.loginkey,a.send335time
|
|
,a.pwcalltime,a.pwcallno,a.eastereggkey,a.eetime,a.kfcfyear,a.isassignuser,a.uduty,a.slevel,a.edus,a.remotekey,a.vssn,a.di,a.ci
|
|
,CAST(AES_DECRYPT(UNHEX(a.mobile), <include refid="sql.digest"></include>) AS char) mobile
|
|
,CAST(AES_DECRYPT(UNHEX(a.email), <include refid="sql.digest"></include>) AS char) email
|
|
,CAST(AES_DECRYPT(UNHEX(a.userpno), <include refid="sql.digest"></include>) AS char) userpno
|
|
from users a
|
|
where a.status <> 99
|
|
<isNotNull property="userno">and a.userno=#userno#</isNotNull>
|
|
</select>
|
|
<select id="cm.assign.applyedu" parameterClass="hashtable" resultClass="assign">
|
|
select
|
|
a.asno,a.ascode,a.isjoin,a.joinyear,a.joinprice,a.asname,a.ceoname,a.brno,a.eino,a.grno,a.btype,a.bkind,a.salesamount,a.homeurl,a.mcount,a.aday,a.astype,a.asctg,a.askey,a.post
|
|
,a.address1,a.address2,a.fgnobno,a.fgnobank,a.joindate,a.exitdate,a.status,a.issite,a.subdomain,a.sitename,a.sitelogo,a.sitefooter,a.siteip,a.ismain,a.mname,a.isdel
|
|
,CAST(AES_DECRYPT(UNHEX(a.mphone), <include refid="sql.digest"></include>) AS char) mphone
|
|
,CAST(AES_DECRYPT(UNHEX(a.taxemail), <include refid="sql.digest"></include>) AS char) taxemail
|
|
from assign a
|
|
inner join users b on a.asno = b.asno
|
|
where b.status <> 99
|
|
and a.isdel=0
|
|
<isNotNull property="userno">and b.userno=#userno#</isNotNull>
|
|
</select>
|
|
|
|
<insert id="cm.pplog.applyedu.in" parameterClass="hashtable">
|
|
SELECT * FROM (SELECT LAST_INSERT_ID(0) col1) a WHERE col1 > 0;
|
|
|
|
insert into pplog (
|
|
userno,cmno,isready,cgcode,cshape,typeman,typeedu,typegrade,typejob,cgno,cmisno,isrebate,rbankname,rbankacc,rbankowner,asname,brno,ceoname,post,address1,address2,btype,bkind,eino,mname
|
|
,mphone,taxemail,userpno,mobile,email,upost,uaddress1,uaddress2,isassignuser,uduty,slevel,<include refid="sql.inc"></include>)
|
|
values (
|
|
#userno#,#cmno#,#isready#,#cgcode#,#cshape#,#typeman#,#typeedu#,#typegrade#,#typejob#,#cgno#,#cmisno#,#isrebate#,#rbankname#,#rbankacc#,#rbankowner#,#asname#,#brno#,#ceoname#,#post#,#address1#
|
|
,#address2#,#btype#,#bkind#,#eino#,#mname#
|
|
,HEX(AES_ENCRYPT(#mphone#, <include refid="sql.digest"></include>))
|
|
,HEX(AES_ENCRYPT(#taxemail#, <include refid="sql.digest"></include>))
|
|
,HEX(AES_ENCRYPT(#userpno#, <include refid="sql.digest"></include>))
|
|
,HEX(AES_ENCRYPT(#mobile#, <include refid="sql.digest"></include>))
|
|
,HEX(AES_ENCRYPT(#email#, <include refid="sql.digest"></include>))
|
|
,#upost#,#uaddress1#,#uaddress2#,#isassignuser#,#uduty#,#slevel#,<include refid="sql.inv"></include>)
|
|
<selectKey type="post" property="pplno" resultClass="long">SELECT LAST_INSERT_ID()</selectKey>
|
|
</insert>
|
|
|
|
<update id="cm.assign.applyedu.up" parameterClass="hashtable">
|
|
update assign set <include refid="sql.up"></include>
|
|
,asname=#asname#
|
|
,ceoname=#ceoname#
|
|
,brno =#brno#
|
|
,post =#post#
|
|
,address1=#address1#
|
|
,address2=#address2#
|
|
,btype =#btype#
|
|
,bkind =#bkind#
|
|
,fgnobno=#fgnobno#
|
|
,eino=#eino#
|
|
,mname=#mname#
|
|
,mphone =case when #mphone# is not null then HEX(AES_ENCRYPT(#mphone#, <include refid="sql.digest"></include>)) else mphone end
|
|
,taxemail =case when #taxemail# is not null then HEX(AES_ENCRYPT(#taxemail#, <include refid="sql.digest"></include>)) else taxemail end
|
|
where asno=#asno#
|
|
</update>
|
|
<update id="cm.users.applyedu.up" parameterClass="hashtable">
|
|
update users set <include refid="sql.up"></include>
|
|
,email =case when #email# is null and #email# > 80 then null when #email# is not null then HEX(AES_ENCRYPT(#email#, <include refid="sql.digest"></include>)) else email end
|
|
,mobile =HEX(AES_ENCRYPT(#mobile#, <include refid="sql.digest"></include>))
|
|
,asno =#asno#
|
|
,userpno =case when #userpno# is not null then HEX(AES_ENCRYPT(#userpno#, <include refid="sql.digest"></include>)) else null end
|
|
,post =case when #post# is not null then #post# else post end
|
|
,address1 =case when #address1# is not null then #address1# else address1 end
|
|
,address2 =case when #address2# is not null then #address2# else address2 end
|
|
,uduty = #uduty#
|
|
,slevel = #slevel#
|
|
,isassignuser = #isassignuser#
|
|
where userno=#userno#
|
|
</update>
|
|
<select id="cm.lectcheckuser" parameterClass="hashtable" resultClass="int">
|
|
select count(b.lectno)
|
|
from users a
|
|
left outer join lect b on a.userno = b.userno
|
|
where a.userno = #userno#
|
|
and b.cmno = #cmno# and b.iscomplete = 1
|
|
</select>
|
|
<select id="cm.cminningscdcheck" parameterClass="hashtable" resultClass="int">
|
|
select
|
|
a.quota - (select count(z.lectno) cnt from lect z where a.cmisno = z.cmisno and z.status =1 and z.ischanged=0)
|
|
from cminningscd a
|
|
where a.cmisno = #cmisno#
|
|
</select>
|
|
<update id="cm.lectcmisno.up" parameterClass="hashtable">
|
|
update lect set <include refid="sql.up"></include>
|
|
,cmisno =case when #cmisno# is not null then #cmisno# else cmisno end
|
|
where lectno=#lectno#
|
|
</update>
|
|
</statements>
|
|
</sqlMap> |