SELECT a.yhbh, a.cbkh, a.cbkid, e.sbbh,e.sblc, d.yhxm, d.yhdz,d.lxdh, a.scds, a.bcds, a.jjl, a.sl AS sjsl, b.name AS cbfsmc, a.cbbz, a.shbz, a.jsbz, a.cblx, c.name AS cblxmc, a.jbzd, a.xbqd, a.jbbh, a.cbrq, a.lrrq, a.photo, a.bz, a.cbrybm, a.cbryxm, a.cbxh, a.cwrq,a.sscbb, f.ccname as sbzt,e.fmzt, g.qyfzr as qyfzrbm,g.qyfzrxm,a.lrrybm, a.lrryxm, e.cbpl ,(select LISTAGG(cwrq||'-'||ysje,'|') WITHIN GROUP (ORDER BY cwrq) from yy_qfmx where sfbz=0 and yy_qfmx.yhbh=a.yhbh) qfje, (SELECT nvl(sum(nvl(syje, 0)), 0) FROM yy_zjzh WHERE yy_zjzh.yhbh = a.yhbh ) ycje FROM yy_cblr a LEFT JOIN bm_cbfs b on a.cbfs = b.code LEFT JOIN bm_cblx c on a.cblx = c.code LEFT JOIN yh_khjbxx d on a.yhbh = d.yhbh LEFT JOIN yh_cbkxx e on a.yhbh = e.yhbh and a.cbkh=e.cbkh LEFT JOIN sys_child_code f on a.sbzt=f.cccode and f.pcid='34' LEFT JOIN bm_cbb g on a.sscbb = g.cbbbm LEFT JOIN ( SELECT yhbh,cbkid, sl FROM YY_CBLR_LS WHERE cwrq = #{filter.cwrq} AND ssgs=#{filter.ssgs} AND sscbpq=#{filter.sscbpq} AND sscbb in #{item} AND sscbb=#{filter.sscbb} AND sscbb in (select cbbbm from yh_sjqx where user_id=#{filter.userId}) ) ls ON a.cbkid=ls.cbkid WHERE 1=1 AND e.jfzt='1' AND ( a.yhbh like '%${filter.searchText}%' OR d.yhxm like '%${filter.searchText}%' OR d.yhdz like '%${filter.searchText}%' OR d.lxdh like '${filter.searchText}%' ) AND a.ssgs = #{filter.ssgs} AND a.sscbpq=#{filter.sscbpq} AND a.sscbb in #{item} AND a.sscbb=#{filter.sscbb} AND a.cbfs=#{filter.cbfs} AND ( e.sjbm in (select code from bm_sj where yslx=#{filter.ysxz}) OR e.sjbm1 in (select code from bm_sj where yslx=#{filter.ysxz}) OR e.sjbm2 in (select code from bm_sj where yslx=#{filter.ysxz}) OR e.sjbm3 in (select code from bm_sj where yslx=#{filter.ysxz}) ) AND e.sbkj = #{filter.sbkj} AND a.cbrybm = #{filter.cbrybm} AND a.cwrq = #{filter.cwrq} AND nvl(a.cbbz,0) = #{filter.cbbz} AND nvl(a.shbz,0) = #{filter.shbz} AND nvl(a.jsbz,0) = #{filter.jsbz} AND a.lrrq BETWEEN #{filter.lrrqStart} AND #{filter.lrrqEnd} AND a.cbxh=#{filter.cbxh} AND a.yhbh = #{filter.yhbh} AND not exists (select 1 from yh_bjfl_fb fb left join yh_bjfl_zb zb on fb.zb_id=zb.id where fb.id ]]> and zb.isdisabled='1' and (fb.yhbh||fb.cbkh)=a.cbkid) AND exists (select 1 from yh_bjfl_fb fb left join yh_bjfl_zb zb on fb.zb_id=zb.id where fb.id ]]> and zb.isdisabled='1' and (fb.yhbh||fb.cbkh)=a.cbkid) AND a.sscbb in(select cbbbm from bm_cbb where qyfzr=#{filter.qyfzr}) AND a.cwrq BETWEEN #{filter.cwrqStart} AND #{filter.cwrqEnd} =#{filter.yhbhStart} ]]> AND a.sbzt=#{filter.sbzt} AND e.sblb=#{filter.sblb} AND a.cbly=#{filter.cbly} AND a.sl BETWEEN #{filter.kssl} AND #{filter.jssl} AND ( ls.sl != 0 AND a.sl != 0 AND ((a.sl>=ls.sl AND round((a.sl-ls.sl)/ls.sl*100,2)>=#{filter.bfb}) or (ls.sl>=a.sl AND round((ls.sl-a.sl)/a.sl*100,2)>=#{filter.bfb})) ) AND a.sscbb in (select cbbbm from yh_sjqx where user_id=#{filter.userId}) AND d.dxh = #{dxh} SELECT a.yhbh, a.cbkh, a.cbkid, e.sbbh,e.sblc, d.yhxm, d.yhdz,d.lxdh, a.scds, a.bcds, a.jjl, a.sl AS sjsl, b.name AS cbfsmc, a.cbbz, a.shbz, a.jsbz, a.cblx, c.name AS cblxmc, a.jbzd, a.xbqd, a.jbbh, a.cbrq, a.lrrq, a.photo, a.bz, a.cbrybm, a.cbryxm, a.cbxh, a.cwrq,a.sscbb, f.ccname as sbzt,e.fmzt, a.qyfzrbm,a.qyfzrxm,a.lrrybm, a.lrryxm,e.cbpl cbpl FROM yy_cblr_ls a LEFT JOIN bm_cbfs b on a.cbfs = b.code LEFT JOIN bm_cblx c on a.cblx = c.code LEFT JOIN yh_khjbxx d on a.yhbh = d.yhbh LEFT JOIN yh_cbkxx e on a.yhbh = e.yhbh and a.cbkh=e.cbkh LEFT JOIN sys_child_code f on a.sbzt=f.cccode and pcid='34' WHERE 1=1 AND ( a.yhbh like '%${filter.searchText}%' OR d.yhxm like '%${filter.searchText}%' OR d.yhdz like '%${filter.searchText}%' ) AND d.ssgs=#{filter.ssgs} AND d.sscbpq=#{filter.sscbpq} AND d.sscbb in #{item} AND d.sscbb=#{filter.sscbb} AND a.cbfs=#{filter.cbfs} AND (e.sjbm in (select code from bm_sj where yslx=#{filter.ysxz}) OR e.sjbm1 in (select code from bm_sj where yslx=#{filter.ysxz}) OR e.sjbm2 in (select code from bm_sj where yslx=#{filter.ysxz}) OR e.sjbm3 in (select code from bm_sj where yslx=#{filter.ysxz}) ) AND e.sbkj=#{filter.sbkj} AND a.cbrybm=#{filter.cbrybm} AND a.cwrq=#{filter.cwrq} AND nvl(a.cbbz,0)=#{filter.cbbz} AND nvl(a.shbz,0)=#{filter.shbz} AND nvl(a.jsbz,0)=#{filter.jsbz} AND a.lrrq BETWEEN #{filter.lrrqStart} AND #{filter.lrrqEnd} AND a.cbxh=#{filter.cbxh} AND a.yhbh=#{filter.yhbh} AND a.sscbb in(select cbbbm from bm_cbb where qyfzr=#{filter.qyfzr}) AND a.cwrq BETWEEN #{filter.cwrqStart} AND #{filter.cwrqEnd} =#{filter.yhbhStart} ]]> AND a.sbzt=#{filter.sbzt} AND e.sbzt=#{filter.sblb} AND a.cbly=#{filter.cbly} AND a.sscbb in (select cbbbm from yh_sjqx where user_id=#{filter.userId}) AND d.dxh = #{filter.dxh} AND a.cblx=#{filter.cblx} SELECT a.yhbh, a.cbkh, a.cbkid, a.scds, a.bcds, a.jjl, a.sl AS sjsl, a.cbfs, a.cbbz, a.shbz, a.jsbz, a.cblx, a.jbzd, a.xbqd, a.jbbh, a.cbrq, a.lrrq, a.photo, a.bz, a.cbrybm, a.cbryxm, a.cbxh, a.cwrq, a.sscbb, a.sbzt, a.lrrybm, a.lrryxm, a.cbcs, -- 动态决定连接哪个表 CASE WHEN a.table_source = 'current' THEN e.sbbh ELSE ls_e.sbbh END AS sbbh, CASE WHEN a.table_source = 'current' THEN e.sblc ELSE ls_e.sblc END AS sblc, CASE WHEN a.table_source = 'current' THEN e.fmzt ELSE ls_e.fmzt END AS fmzt, d.yhxm, d.yhdz, d.lxdh, b.name AS cbfsmc, c.name AS cblxmc, f.ccname AS sbztmc, g.qyfzr AS qyfzrbm, g.qyfzrxm, a.table_source FROM ( -- 合并当前表和历史表 SELECT 'current' as table_source, yhbh, cbkh, cbkid, scds, bcds, jjl, sl, cbfs, cbbz, shbz, jsbz, cblx, jbzd, xbqd, jbbh, cbrq, lrrq, photo, bz, cbrybm, cbryxm, cbxh, cwrq, sscbb, sbzt, lrrybm, lrryxm, cbcs FROM yy_cblr UNION ALL SELECT 'history' as table_source, yhbh, cbkh, cbkid, scds, bcds, jjl, sl, cbfs, cbbz, shbz, jsbz, cblx, jbzd, xbqd, jbbh, cbrq, lrrq, photo, bz, cbrybm, cbryxm, cbxh, cwrq, sscbb, sbzt, lrrybm, lrryxm, cbcs FROM yy_cblr_ls) a LEFT JOIN bm_cbfs b ON a.cbfs = b.code LEFT JOIN bm_cblx c ON a.cblx = c.code LEFT JOIN yh_khjbxx d ON a.yhbh = d.yhbh -- 根据数据来源动态连接不同的表 LEFT JOIN yh_cbkxx e ON a.cbkid = e.cbkid AND a.table_source = 'current' LEFT JOIN yh_cbkxx ls_e ON a.yhbh = ls_e.yhbh AND a.cbkh = ls_e.cbkh AND a.table_source = 'history' LEFT JOIN sys_child_code f ON a.sbzt = f.cccode AND f.pcid = '34' LEFT JOIN bm_cbb g ON d.sscbb = g.cbbbm INSERT INTO YY_CBLR_YMJZSFSB SELECT * FROM YY_CBLR WHERE CBBZ = '1' AND SHBZ = '1' AND JSBZ = '0' insert into yy_cblr_ls(ID, YHBH, CBKH, CBKID, SSGS, SSCBPQ, SSCBB, CWRQ, SCDS, BCDS, JJL, CBRYBM, CBRYXM, CBRQ, LRRYBM, LRRYXM, LRRQ, PHOTO, CBBZ, SHBZ, JSBZ, CBCS, CBXH, BZ, CBLX, CBFS, JFZT, SL, JBZD, XBQD, JBBH, CBLY, X, Y, SHRY, SHSJ, SHSM, SSREGION, SHRYXM, NBZXDS, NBZXCBRQ, JSSL, SBZT, xycb, QYFZRBM, QYFZRXM,SCCBRQ) select sys_guid(), YHBH, CBKH, CBKID, a.SSGS, a.SSCBPQ, a.SSCBB, CWRQ, SCDS, BCDS, JJL, CBRYBM, CBRYXM, CBRQ, LRRYBM, LRRYXM, LRRQ, PHOTO, CBBZ, SHBZ, JSBZ, CBCS, CBXH, a.BZ, CBLX, CBFS, JFZT, SL, JBZD, XBQD, JBBH, CBLY, X, Y, SHRY, SHSJ, SHSM, SSREGION, SHRYXM, NBZXDS, NBZXCBRQ, JSSL, SBZT, xycb, b.qyfzr, b.qyfzrxm, SCCBRQ from yy_cblr a left join bm_cbb b on a.sscbb = b.cbbbm where a.ssgs = '1' SELECT a.shryxm AS shryxm, a.yhbh AS yhbh, a.cbkh AS cbkh, a.cbkid AS cbkid, a.ssgs AS ssgs, a.sscbpq AS sscbpq, a.sscbb AS sscbb, a.cwrq AS cwrq, a.scds AS scds, a.bcds AS bcds, a.jjl AS jjl, a.cbrybm AS cbrybm, a.cbryxm AS cbryxm, a.cbrq AS cbrq, a.lrrybm AS lrrybm, a.lrryxm AS lrryxm, a.lrrq AS lrrq, a.photo AS photo, a.cbbz AS cbbz, a.shbz AS shbz, a.jsbz AS jsbz, a.cbcs AS cbcs, a.cbxh AS cbxh, a.bz AS bz, a.cblx AS cblx, a.cbfs AS cbfs, a.jfzt AS jfzt, a.sl AS sl, a.jbzd AS jbzd, a.xbqd AS xbqd, a.jbbh AS jbbh, a.cbly AS cbly, a.x AS x, a.y AS y, a.shry AS shry, a.shsj AS shsj, a.shsm AS shsm, a.ssregion AS ssregion, a.nbzxds AS nbzxds, a.nbzxcbrq AS nbzxcbrq, a.jssl AS jssl, a.sbzt AS sbzt, b.qyfzr AS qyfzrbm, b.qyfzrxm AS qyfzrxm FROM yy_cblr a LEFT JOIN bm_cbb b ON a.sscbb = b.cbbbm WHERE a.ssgs = '1' UPDATE ( SELECT SBZD, ZXCBRQ, BCDS, CBRQ FROM YY_CBLR A, YH_CBKXX B WHERE A.YHBH = B.YHBH AND A.CBKH = B.CBKH ) SET SBZD = BCDS, ZXCBRQ = CBRQ