<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zjrs.zwnw.zj.entity.QszjMapper">

    <select id="getMaxYear" resultType="java.lang.String">
        SELECT MAX(nd) FROM RS_ZJ_QSZJ
    </select>
    <select id="getList" parameterType="com.zjrs.zwnw.zj.dto.QsDTO"
            resultType="com.zjrs.zwnw.zj.dto.QszjDTO">
        SELECT t.rs_zj_qszj_lsh rsZjQszjLsh,nd,(SELECT max(ttt.ZGJ)+MAX(ttt.GJ)+MAX(ZJ)+MAX(CJ) FROM rs_zj_init ttt)+
        NVL((SELECT SUM(tt.ZGJXZ)+SUM(GJXZ)+SUM(ZJXZ)+SUM(CJXZ)-SUM(ZGJLC)-SUM(TT.GJLC)-SUM(TT.ZJLC)-SUM(TT.CJLC)
        FROM rs_zj_qszj tt WHERE tt.nd &lt; t.nd),0)+t.ZGJXZ+t.GJXZ+ZJXZ+CJXZ-t.ZGJLC-t.GJLC-ZJLC-CJLC ljzl,
        t.ZGJXZ+t.GJXZ+ZJXZ+CJXZ ndxz,
        t.ZGJLC+t.GJLC+ZJLC+CJLC ndlc,
        (SELECT max(ttt.ZGJ) FROM rs_zj_init ttt)+
        NVL((SELECT SUM(ZGJXZ)-SUM(ZGJLC)
        FROM rs_zj_qszj tt WHERE tt.nd &lt; t.nd),0)+t.ZGJXZ-t.ZGJLC zgjlj,
        (SELECT MAX(ttt.GJ) FROM rs_zj_init ttt)+
        NVL((SELECT SUM(GJXZ)-SUM(GJLC) FROM rs_zj_qszj tt WHERE tt.nd &lt;  t.nd),0)+t.GJXZ-t.GJLC gjlj,
        NVL((SELECT SUM(ZJXZ)-SUM(ZJLC)
        FROM rs_zj_qszj tt WHERE tt.nd &lt;  t.nd),0)+t.ZJXZ-t.ZJLC zjlj,
        (SELECT MAX(ttt.CJ) FROM rs_zj_init ttt)+
        NVL((SELECT SUM(CJXZ)-SUM(CJLC)
        FROM rs_zj_qszj tt WHERE tt.nd &lt;  t.nd),0)+t.CJXZ-t.CJLC cjlj,
        zgjxz,gjxz,zjxz,cjxz,zgjlc,gjlc,zjlc,cjlc,zgjgdxxjs,zgjshkxyj,
        zgjzrkxyj,zgjwsjsry,zgjgcjsry,zgjnyjsry,zgjxwzyry,zgjcbzyry,zgjtszlzy,zgjwwbwzy,zgjdazyry,
        zgjgymszy,zgjjgxxjs,zgjtyjly,zgjfyzy,zgjgbdsby,zgjkjzy,zgjtjzy,zgjjjzyry,zgjsyjsry,zgjzdzyjs,
        zgjzxxjs,zgjyszy,zgjgzy,zgjls,zgjcbjsry,zgjfxjsry,zgjshgzs,gjgdxxjs,gjshkxyj,gjzrkxyj,
        gjwsjsry,gjgcjsry,gjnyjsry,gjxwzyry,gjcbzyry,gjtszlzy,gjwwbwzy,gjdazyry,gjgymszy,gjjgxxjs,
        gjtyjly,gjfyzy,gjgbdsby,gjkjzy,gjtjzy,gjjjzyry,gjsyjsry,gjzdzyjs,gjzxxjs,gjyszy,gjgzy,
        gjls,gjcbjsry,gjfxjsry,gjshgzs,zjgdxxjs,zjshkxyj,zjzrkxyj,zjwsjsry,zjgcjsry,zjnyjsry,
        zjxwzyry,zjcbzyry,zjtszlzy,zjwwbwzy,zjdazyry,zjgymszy,zjjgxxjs,zjtyjly,zjfyzy,zjgbdsby,
        zjkjzy,zjtjzy,zjjjzyry,zjsyjsry,zjzdzyjs,zjzxxjs,zjyszy,zjgzy,zjls,zjcbjsry,zjfxjsry,
        zjshgzs,cjgdxxjs,cjshkxyj,cjzrkxyj,cjwsjsry,cjgcjsry,cjnyjsry,cjxwzyry,cjcbzyry,cjtszlzy,
        cjwwbwzy,cjdazyry,cjgymszy,cjjgxxjs,cjtyjly,cjfyzy,cjgbdsby,cjkjzy,cjtjzy,cjjjzyry,
        cjsyjsry,cjzdzyjs,cjzxxjs,cjyszy,cjgzy,cjls,cjcbjsry,cjfxjsry,cjshgzs
        FROM rs_zj_qszj t
        <if test="dto.nd != null and dto.nd != ''">
            where nd = #{ dto.nd }
        </if>
        ORDER BY nd desc
    </select>
    <select id="getListPage" parameterType="com.zjrs.zwnw.zj.dto.QsDTO"
            resultType="com.zjrs.zwnw.zj.dto.QszjDTO">
        SELECT t.rs_zj_qszj_lsh rsZjQszjLsh,nd,(SELECT max(ttt.ZGJ)+MAX(ttt.GJ)+MAX(ZJ)+MAX(CJ) FROM rs_zj_init ttt)+
        NVL((SELECT SUM(tt.ZGJXZ)+SUM(GJXZ)+SUM(ZJXZ)+SUM(CJXZ)-SUM(ZGJLC)-SUM(TT.GJLC)-SUM(TT.ZJLC)-SUM(TT.CJLC)
        FROM rs_zj_qszj tt WHERE tt.nd &lt; t.nd),0)+t.ZGJXZ+t.GJXZ+ZJXZ+CJXZ-t.ZGJLC-t.GJLC-ZJLC-CJLC ljzl,
        t.ZGJXZ+t.GJXZ+ZJXZ+CJXZ ndxz,
        t.ZGJLC+t.GJLC+ZJLC+CJLC ndlc,
        (SELECT max(ttt.ZGJ) FROM rs_zj_init ttt)+
        NVL((SELECT SUM(ZGJXZ)-SUM(ZGJLC)
        FROM rs_zj_qszj tt WHERE tt.nd &lt; t.nd),0)+t.ZGJXZ-t.ZGJLC zgjlj,
        NVL((SELECT SUM(GJXZ)-SUM(GJLC) FROM rs_zj_qszj tt WHERE tt.nd &lt;  t.nd),0)+t.GJXZ-t.GJLC gjlj,
        (SELECT MAX(ttt.ZJ) FROM rs_zj_init ttt)+
        NVL((SELECT SUM(ZJXZ)-SUM(ZJLC)
        FROM rs_zj_qszj tt WHERE tt.nd &lt;  t.nd),0)+t.ZJXZ-t.ZJLC zjlj,
        (SELECT MAX(ttt.CJ) FROM rs_zj_init ttt)+
        NVL((SELECT SUM(CJXZ)-SUM(CJLC)
        FROM rs_zj_qszj tt WHERE tt.nd &lt;  t.nd),0)+t.CJXZ-t.CJLC cjlj
        FROM rs_zj_qszj t
        <if test="dto.nd != null and dto.nd != ''">
            where nd = #{ dto.nd }
        </if>
        ORDER BY nd desc
    </select>
    <select id="getTjData" resultType="com.zjrs.zwnw.zj.dto.QszjDTO">
        SELECT max(t.nd)+1 nd,
        max(ttt.ZGJ)+MAX(ttt.GJ)+MAX(ZJ)+MAX(CJ)+SUM(t.ZGJXZ)+SUM(GJXZ)+SUM(ZJXZ)+SUM(CJXZ)-SUM(ZGJLC)-SUM(t.GJLC)-SUM(t.ZJLC)-SUM(t.CJLC) ljzl,
        0 ndxz,0 ndlc,
        max(ttt.ZGJ)+SUM(ZGJXZ)-SUM(ZGJLC) zgjlj,
        MAX(ttt.GJ)+SUM(GJXZ)-SUM(GJLC) gjlj,
        MAX(ttt.ZJ)+SUM(ZJXZ)-SUM(ZJLC) zjlj,
        MAX(ttt.CJ)+SUM(CJXZ)-SUM(CJLC) cjlj
        FROM rs_zj_qszj t,rs_zj_init ttt
        <if test="dto.nd != null and dto.nd != ''">
            WHERE t.nd &lt; #{ dto.nd }
        </if>
    </select>
</mapper>
