YNICTE/BO/bin/MyBatis/Maps/Manage.xml

150 lines
9.5 KiB
XML
Raw Normal View History

2025-12-11 13:52:25 +09:00
<?xml version="1.0" encoding="utf-8"?>
<sqlMap xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/TR/xmlschema-1/" namespace="">
<alias>
<typeAlias alias="popup" type="NP.Model.Popup, NP.Model" />
<typeAlias alias="menupage" type="NP.Model.MenuPage, NP.Model" />
<typeAlias alias="banner" type="NP.Model.Banner, NP.Model" />
</alias>
<cacheModels><cacheModel id="manageCache" implementation="LRU" ><flushInterval hours="1" /><property name="CacheSize" value="1000" /></cacheModel></cacheModels>
<resultMaps></resultMaps>
<statements>
<select id="mm.comcode.glist" parameterClass="string" resultClass="comcode">
select cgroup, cgroup value, cgroupname, cgroupname text, count(cgroup) ccount, row_number() over(order by $rno$) rno
from comcode
<dynamic prepend="where">
<isNotNull property="isuse" prepend="and">isuse=#isuse#</isNotNull>
<isNotNull property="cgroups" prepend="and">cgroup in ($cgroups$)</isNotNull>
<isNotNull property="notcgroups" prepend="and">cgroup not in ($notcgroups$)</isNotNull>
</dynamic>
group by cgroup, cgroupname
<isNotNull property="orderby" prepend="order by">$orderby$</isNotNull>
order by rno
</select>
<update id="mm.comcode.insert" parameterClass="hashtable">
update comcode a
inner join (
select ccode, #corder# + row_number() over(order by corder) rno from comcode where cgroup=#cgroup# and corder &gt;=#corder#
) b on b.ccode=a.ccode
set a.corder=b.rno
where a.cgroup=#cgroup#;
insert into comcode (cname, cgroup, cgroupname, isuse, corder,<include refid="sql.inc"></include>)
select #cname#, #cgroup#, a.cgroupname, #isuse#, #corder#,<include refid="sql.inv"></include>
from comcode a
where a.cgroup=#cgroup#
limit 1
</update>
<update id="mm.comcode.update" parameterClass="hashtable">
<isGreaterThan property="corder" compareValue="-1">
update comcode a
inner join (
select b.ccode, #corder# + row_number() over(order by b.corder) rno
from comcode a
inner join comcode b on b.cgroup=a.cgroup and b.corder &gt;=#corder#
where a.ccode=#ccode#
) b on b.ccode=a.ccode
set a.corder=b.rno;
</isGreaterThan>
update comcode set <include refid="sql.up"></include>
<isNotNull property="cname">,cname=#cname#</isNotNull>
<isGreaterThan property="corder" compareValue="-1">,corder=#corder#</isGreaterThan>
<isGreaterThan property="isuse" compareValue="-1">,isuse=#isuse#</isGreaterThan>
where ccode=#ccode#
</update>
<update id="mm.comcode.groupupdate" parameterClass="hashtable">
update comcode set cgroupname=#cgroupname# where cgroup=#cgroup#
</update>
<select id="mm.banners" parameterClass="hashtable" resultClass="banner">
select a.bno,a.btitle,a.fgno,a.fgno2,a.bdesc,a.burl,a.ismain,a.bseq,a.isopen,a.udt
,b.fileurl,c.fileurl fileurl2
from banner a
left outer join fileinfo b on b.fgno=a.fgno and b.isdel=0
left outer join fileinfo c on c.fgno=a.fgno2 and c.isdel=0
<dynamic prepend="where">
<isNotNull property="bno" prepend="and">a.bno=#bno#</isNotNull>
<isNotNull property="isopen" prepend="and">a.isopen=#isopen#</isNotNull>
<isNotNull property="ismain" prepend="and">a.ismain=#ismain#</isNotNull>
</dynamic>
order by a.isopen desc, a.bseq desc
</select>
<update id="mm.banner.save" parameterClass="hashtable">
update banner set <include refid="sql.up"></include>,btitle=#btitle#,bdesc=#bdesc#,burl=#burl#,ismain=0,bseq=#bseq#,isopen=#isopen#
,fgno=#fgno#,fgno2=#fgno2#
where #bno# &gt; 0 and bno=#bno#;
insert into banner(bno,btitle,fgno,fgno2,bdesc,burl,ismain,bseq,isopen,<include refid="sql.inc"></include>) select #bno#,#btitle#,#fgno#,#fgno2#,#bdesc#,#burl#,#ismain#,#bseq#,#isopen#,<include refid="sql.inv"></include> from (select 1 col1) a where #bno# = 0
</update>
<select id="mm.popups" parameterClass="hashtable" resultClass="popup">
select a.pno,a.ptitle,a.pcontents,a.toppx,a.leftpx,pwidth,pheight,a.purl,a.zindex,a.isopen,a.udt
from popup a
<dynamic prepend="where">
<isNotNull property="pno" prepend="and">a.pno=#pno#</isNotNull>
<isNotNull property="isopen" prepend="and">a.isopen=#isopen#</isNotNull>
</dynamic>
order by a.isopen desc, a.zindex desc
</select>
<update id="mm.popup.save" parameterClass="hashtable">
update popup set <include refid="sql.up"></include>,ptitle =#ptitle#,pcontents=#pcontents#,toppx=#toppx#,leftpx=#leftpx#,pwidth=#pwidth#,pheight=#pheight#,purl=#purl#,zindex=#zindex#,isopen=#isopen# where #pno# &gt; 0 and pno=#pno#;
insert into popup (ptitle,pcontents,toppx,leftpx,pwidth,pheight,purl,zindex,isopen,<include refid="sql.inc"></include>) select #ptitle#,#pcontents#,#toppx#,#leftpx#,#pwidth#,#pheight#,#purl#,#zindex#,#isopen#,<include refid="sql.inv"></include> from (select 1 col1) a where #pno# = 0
</update>
<select id="mm.pages" parameterClass="hashtable" resultClass="menupage">
select a.pno,a.ppno,a.pdepth,a.pagetype,a.bmno,a.porder,a.pagename,a.pagedesc,a.pageurl,a.pagehtml,a.isopen,a.usertype,m1.pagename ppagename,a.refcode,a.imagecode,a.bgtitle bgtitle2,a.bgdesc bgdesc2
,case a.pdepth when 0 then a.pno when 1 then m1.pno when 2 then m2.pno when 3 then m3.pno else m4.pno end m0
,case a.pdepth when 0 then 0 when 1 then a.pno when 2 then m1.pno when 3 then m2.pno else m3.pno end m1
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then a.pno when 3 then m1.pno else m2.pno end m2
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then 0 when 3 then a.pno else m1.pno end m3
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then 0 when 3 then 0 else a.pno end m4
,case a.pdepth when 0 then a.imagecode when 1 then m1.imagecode when 2 then m2.imagecode when 3 then m3.imagecode else m4.imagecode end topimagecode
,case a.pdepth when 0 then a.bgtitle when 1 then m1.bgtitle when 2 then m2.bgtitle when 3 then m3.bgtitle else m4.bgtitle end bgtitle
,case a.pdepth when 0 then a.bgdesc when 1 then m1.bgdesc when 2 then m2.bgdesc when 3 then m3.bgdesc else m4.bgdesc end bgdesc
from menupage a
left outer join menupage m1 on m1.pno=a.ppno
left outer join menupage m2 on m2.pno=m1.ppno
left outer join menupage m3 on m3.pno=m2.ppno
left outer join menupage m4 on m4.pno=m3.ppno
<dynamic prepend="where">
<isNotNull property="pno" prepend="and">a.pno=#pno#</isNotNull>
<isNotNull property="isopen" prepend="and">a.isopen &gt; 0</isNotNull>
</dynamic>
order by
case a.pdepth when 0 then a.porder when 1 then m1.porder when 2 then m2.porder when 3 then m3.porder else m4.porder end
,case a.pdepth when 0 then a.pno when 1 then m1.pno when 2 then m2.pno when 3 then m3.pno else m4.pno end
,case a.pdepth when 0 then 0 when 1 then a.porder when 2 then m1.porder when 3 then m2.porder else m3.porder end
,case a.pdepth when 0 then 0 when 1 then a.pno when 2 then m1.pno when 3 then m2.pno else m3.pno end
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then a.porder when 3 then m1.porder else m2.porder end
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then a.pno when 3 then m1.pno else m2.pno end
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then 0 when 3 then a.porder else m1.porder end
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then 0 when 3 then a.pno else m1.pno end
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then 0 when 3 then 0 else a.porder end
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then 0 when 3 then 0 else a.pno end
</select>
<update id="mm.menupage.save" parameterClass="hashtable">
update menupage set <include refid="sql.up"></include>
,pdepth =#pdepth#
,pagetype=#pagetype#
,bmno=#bmno#
,porder =#porder#
,pagename=#pagename#
,pagedesc=#pagedesc#
,pageurl =#pageurl#
,pagehtml=#pagehtml#
,isopen =#isopen#
,usertype=#usertype#
,refcode=#refcode#
,imagecode=#imagecode#
,bgtitle=#bgtitle#
,bgdesc=#bgdesc#
where #pno# &gt; 0 and pno =#pno#;
insert into menupage (pno,ppno,pdepth,pagetype,bmno,porder,pagename,pagedesc,pageurl,pagehtml,isopen,usertype,refcode,imagecode,bgtitle,bgdesc,<include refid="sql.inc"></include>)
select #pno#,#ppno#,#pdepth#,#pagetype#,#bmno#,#porder#,#pagename#,#pagedesc#,#pageurl#,#pagehtml#,#isopen#,#usertype#,#refcode#,#imagecode#,#bgtitle#,#bgdesc#,<include refid="sql.inv"></include>
from (select 1 col1) a
where #pno# &lt; 1
</update>
</statements>
</sqlMap>