<?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="revenueStatistics"> <!-- 清空表 -->
<update id="truncateTable" >
truncate table ${tablename}
</update> <!-- 新建并复制表 -->
<update id="copyToHisTable" >
CREATE TABLE revenue_statistics_res_his AS SELECT * FROM revenue_statistics_res
</update> <!-- 删除表 -->
<update id="dropHisTable" >
drop table revenue_statistics_res_his
</update> <!--查询当前收入最大账期-->
<select id="getMaxAccountDay" resultType="String">
SELECT MAX(ACCOUNT_DAY) FROM ct_lan_node_inc
</select> <!--查询所有行业列表-->
<select id="countRevenueNum" resultType="int">
select count(1) from revenue_statistics_res
</select> <!--查询所有行业列表-->
<select id="queryAllIndusty" resultType="java.util.Map">
select INDUSTRY_TYPE_ID,
PAR_INDUSTRY_TYPE_ID,
INDUSTRY_TYPE_GRADE,
INDUSTRY_TYPE_CODE,
INDUSTRY_TYPE_NAME
from industry_type
</select> <!--查询二级市(本地网)-->
<select id="querySubCity" resultType="java.util.Map">
select COMMON_REGION_ID,REGION_NAME,REGION_NBR,PAR_REGION_ID from common_region WHERE PAR_REGION_ID = #{REGION_ID}
</select>
<!--查询序列-->
<select id="queryRevenueEQ" resultType="String">
SELECT SEQ_REVENUE_STATISTICS_RES.NEXTVAL FROM DUAL
</select>
<!--查询各省客户总数-->
<select id="queryTotalNum" parameterType="java.util.Map" resultType="java.util.Map">
SELECT CUST_TOTAL_ID,REGION_ID,CUST_TOTAL FROM PROVI_CUST_TOTAL
</select> <!--查询全部客户数-->
<select id="queryAllTotal" parameterType="java.util.Map" resultType="int">
SELECT sum(CUST_TOTAL) count from provi_cust_total
</select> <!--查询各省客户总数-->
<select id="queryRegionNbr" parameterType="java.util.Map" resultType="java.util.Map">
SELECT COMMON_REGION_ID,REGION_NAME,REGION_NBR FROM COMMON_REGION WHERE COMMON_REGION_ID = #{COMMON_REGION_ID}
</select> <select id="queryAllIncome" parameterType="String" resultType="String">
${sql2}
</select> <!-- 查询合规收入,改为根据CUST_CP_MERGE表中的PARTY判断 -->
<select id="queryIncome" parameterType="java.util.Map" resultType="java.util.Map">
SELECT /*+PARALLEL(12)*/
COUNT(e.CUST_ID) CUSTNUM, COUNT(DISTINCT(m.PARTY_ID)) PARTYNUM,
SUM(TY_1) TY1 FROM EDA_CUST_INC e, CUST_CP_MERGE m WHERE 1 = 1
and e.CUST_ID = m.CUST_ID
AND e.STD_LATN_CD = m.STD_LATN_CD
and m.PARTY_ID IS NOT NULL
AND UPPER(m.PARTY_ID) != 'NULL'
<if test="STD_PRVNCE_CD != null and STD_PRVNCE_CD != ''">
AND e.STD_PRVNCE_CD = #{STD_PRVNCE_CD}
</if>
<if test="STD_LATN_CD != null and STD_LATN_CD != ''">
AND e.STD_LATN_CD = #{STD_LATN_CD}
</if> <choose>
<when test="PROD_TYPE != null and PROD_TYPE != ''">
AND e.PROD_TYPE = #{PROD_TYPE}
</when>
<otherwise>
AND e.PROD_TYPE is null
</otherwise>
</choose> <choose>
<when test='IDENTITY_TYPE == "-1"'>
AND not EXISTS (SELECT 1
FROM PARTY P
WHERE m.PARTY_ID = p.PARTY_ID)
</when> <when test='IDENTITY_TYPE == "-2"'>
AND EXISTS (SELECT 1
FROM PARTY P
WHERE m.PARTY_ID = p.PARTY_ID
AND p.IDENTITY_TYPE is null)
</when> <otherwise>
AND EXISTS (SELECT 1
FROM PARTY P
WHERE m.PARTY_ID = p.PARTY_ID
AND p.IDENTITY_TYPE = #{IDENTITY_TYPE})
</otherwise>
</choose> <choose>
<when test='INDUSTRY_TYPE_ID == "-1"'>
and not exists (select 1
from party_org po
where m.party_id = po.party_id)
</when>
<when test='INDUSTRY_TYPE_ID == "-2"'>
and exists (select 1
from party_org po
where m.party_id = po.party_id
and po.INDUSTRY_TYPE_ID is null)
</when>
<otherwise>
and exists (select 1
from party_org po
where m.party_id = po.party_id
and po.INDUSTRY_TYPE_ID = #{INDUSTRY_TYPE_ID})
</otherwise>
</choose> </select> < <!-- 插入统计结果表 -->
<insert id="insertRevenue2" parameterType="com.tydic.jtcrm.revenueStatistics.vo.RevenueStatistics"> INSERT INTO REVENUE_STATISTICS_RES
( ID,
PROVINCE_REGION_ID,
CITY_REGION_ID,
REGION_NAME,
REGION_GRADE,
PROD_TYPE,
INDUSTRY_TYPE_ID,
INDUSTRY_TYPE_CODE,
INDUSTRY_TYPE_NAME,
PAR_INDUSTRY_TYPE_ID,
INDUSTRY_TYPE_GRADE,
IDENTITY_TYPE,
IN_DATE,
UP_DATE,
STATUS_CD,
REMARK,
CUST_TYPE,
ALL_CUST_NUM,
ALL_INCOME,
AUDIT_CUST_NUM,
AUDIT_CUST_PARTY_NUM,
TY_1,
TY_2,
TY_3,
TY_4,
TY_5,
TY_6,
TY_7,
TY_8,
TY_9,
TY_10,
TY_11,
TY_12,
LY_1,
LY_2,
LY_3,
LY_4,
LY_5,
LY_6,
LY_7,
LY_8,
LY_9,
LY_10,
LY_11,
LY_12)
VALUES
(SEQ_REVENUE_STATISTICS_RES.NEXTVAL,
<choose>
<when test="PROVINCE_REGION_ID != null and PROVINCE_REGION_ID != ''">
#{PROVINCE_REGION_ID},
</when>
<otherwise>
null,
</otherwise>
</choose>
<choose>
<when test="CITY_REGION_ID != null and CITY_REGION_ID != ''">
#{CITY_REGION_ID},
</when>
<otherwise>
null,
</otherwise>
</choose>
<choose>
<when test="REGION_NAME != null and REGION_NAME != ''">
#{REGION_NAME},
</when>
<otherwise>
null,
</otherwise>
</choose>
<choose>
<when test="REGION_GRADE != null and REGION_GRADE != ''">
#{REGION_GRADE},
</when>
<otherwise>
null,
</otherwise>
</choose>
<choose>
<when test="PROD_TYPE != null and PROD_TYPE != ''">
#{PROD_TYPE},
</when>
<otherwise>
null,
</otherwise>
</choose>
<choose>
<when test="INDUSTRY_TYPE_ID!= null and INDUSTRY_TYPE_ID!= ''">
#{INDUSTRY_TYPE_ID},
</when>
<otherwise>
null,
</otherwise>
</choose>
<choose>
<when test="INDUSTRY_TYPE_CODE!= null and INDUSTRY_TYPE_CODE!= ''">
#{INDUSTRY_TYPE_CODE},
</when>
<otherwise>
null,
</otherwise>
</choose>
<choose>
<when test="INDUSTRY_TYPE_NAME!= null and INDUSTRY_TYPE_NAME!= ''">
#{INDUSTRY_TYPE_NAME},
</when>
<otherwise>
null,
</otherwise>
</choose> <choose>
<when test="PAR_INDUSTRY_TYPE_ID != null and PAR_INDUSTRY_TYPE_ID != ''">
#{PAR_INDUSTRY_TYPE_ID},
</when>
<otherwise>
null,
</otherwise>
</choose>
<choose>
<when test="INDUSTRY_TYPE_GRADE!= null and INDUSTRY_TYPE_GRADE != ''">
#{INDUSTRY_TYPE_GRADE},
</when>
<otherwise>
null,
</otherwise>
</choose>
<choose>
<when test="IDENTITY_TYPE != null and IDENTITY_TYPE != ''">
#{IDENTITY_TYPE},
</when>
<otherwise>
null,
</otherwise>
</choose>
sysdate,
sysdate,
<choose>
<when test="STATUS_CD != null and STATUS_CD != ''">
#{STATUS_CD},
</when>
<otherwise>
null,
</otherwise>
</choose>
<choose>
<when test="REMARK != null and REMARK != ''">
#{REMARK},
</when>
<otherwise>
null,
</otherwise>
</choose>
<choose>
<when test="CUST_TYPE != null and CUST_TYPE != ''">
#{CUST_TYPE},
</when>
<otherwise>
null,
</otherwise>
</choose>
#{ALL_CUST_NUM},
<choose>
<when test="ALL_INCOME != null and ALL_INCOME != ''">
#{ALL_INCOME},
</when>
<otherwise>
null,
</otherwise>
</choose>
<choose>
<when test="AUDIT_CUST_NUM != null and AUDIT_CUST_NUM != ''">
#{AUDIT_CUST_NUM},
</when>
<otherwise>
null,
</otherwise>
</choose>
<choose>
<when test="AUDIT_CUST_PARTY_NUM != null and AUDIT_CUST_PARTY_NUM != ''">
#{AUDIT_CUST_PARTY_NUM},
</when>
<otherwise>
null,
</otherwise>
</choose>
#{TY_1},
#{TY_2},
#{TY_3},
#{TY_4},
#{TY_5},
#{TY_6},
#{TY_7},
#{TY_8},
#{TY_9},
#{TY_10},
#{TY_11},
#{TY_12},
#{LY_1},
#{LY_2},
#{LY_3},
#{LY_4},
#{LY_5},
#{LY_6},
#{LY_7},
#{LY_8},
#{LY_9},
#{LY_10},
#{LY_11},
#{LY_12}
) </insert> <select id="callRevenue" parameterMap="fMap" statementType="CALLABLE" >
CALL PRO_REVENUE_SI(?,?,?,?,?,?,?,?,?,?,?,?,?)
</select> <!-- l_p_cd in Varchar2,
l_c_cd in Varchar2,
l_prod_type in Varchar2,
l_identity_type in Varchar2,
l_industry_type_id in Varchar2, l_p_id in Varchar2,
l_c_id in Varchar2,
l_region_name in Varchar2,
l_industry_code in Varchar2,
l_industry_name in Varchar2,
l_par_industry_id in Varchar2,
l_industry_grade in Varchar2,
return_val out Varchar2
) re --> <parameterMap type="java.util.Map" id="fMap">
<parameter property="l_p_cd" mode="IN" jdbcType="VARCHAR"/>
<parameter property="l_c_cd" mode="IN" jdbcType="VARCHAR"/>
<parameter property="l_prod_type" mode="IN" jdbcType="VARCHAR"/>
<parameter property="l_identity_type" mode="IN" jdbcType="VARCHAR"/>
<parameter property="l_industry_type_id" mode="IN" jdbcType="VARCHAR"/>
<parameter property="l_p_id" mode="IN" jdbcType="VARCHAR"/>
<parameter property="l_c_id" mode="IN" jdbcType="VARCHAR"/>
<parameter property="l_region_name" mode="IN" jdbcType="VARCHAR"/>
<parameter property="l_industry_code" mode="IN" jdbcType="VARCHAR"/>
<parameter property="l_industry_name" mode="IN" jdbcType="VARCHAR"/>
<parameter property="l_par_industry_id" mode="IN" jdbcType="VARCHAR"/>
<parameter property="l_industry_grade" mode="IN" jdbcType="VARCHAR"/>
<parameter property="return_val" mode="OUT" jdbcType="VARCHAR"/>
</parameterMap> </mapper>

mybatis xml <choose>标签使用的更多相关文章

  1. MyBatis:choose标签的用法

    <!-- 4.2 choose用法 需求: 在已有的sys_user表中,除了主键id外,我们认为user_name也是唯一的, 所有的用户名都不可以重复.现在进行如下查询:当参数id有值的时候 ...

  2. MyBatis动态SQL之一使用 if 标签和 choose标签

    bootstrap react https://segmentfault.com/a/1190000010383464 xml 中 < 转义 to thi tha <if test=&qu ...

  3. mybatis choose标签的使用

    MyBatis 提供了 choose 元素.if标签是与(and)的关系,而 choose 是或(or)的关系. choose标签是按顺序判断其内部when标签中的test条件出否成立,如果有一个成立 ...

  4. mybatis:choose when otherwise标签

    choose标签是按顺序判断其内部when标签中的test条件是否成立,如果有一个成立,则 choose 结束. 当 choose 中所有 when 的条件都不满则时,则执行 otherwise 中的 ...

  5. 9.mybatis动态SQL标签的用法

    mybatis动态SQL标签的用法   动态 SQL MyBatis 的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么 ...

  6. Mybatis xml mapper 特殊写法总结

    项目告一段落,业务代码也写得差不多了,框架仍然用的是 ssm ,为了省去单表数据库操作的代码编写,继续用 mybatis generator 生成单表对应的实体类.dao层映射关联及配置文件,私下还尝 ...

  7. mybatis使用<choose> <when>

    一.需求 后台使用orcale数据库,mybatis做持久层,前台搜索功能,根据类型搜索,但是数据库中没有类型字段, 所以需要在where条件语句中进行判断,当type == x1 时和type == ...

  8. Java-MyBatis:MyBatis XML 文件

    ylbtech-Java-MyBatis:MyBatis XML 文件 1.返回顶部 1. Mapper XML 文件 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大, ...

  9. MyBatis从入门到精通(二):MyBatis XML方式的基本用法之Select

    最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 1. 明确需求 书中提到的需求是一个基 ...

随机推荐

  1. 结构型模式(一) 适配器模式(Adapter)

    一.动机(Motivation) 在软件系统中,由于应用环境的变化,常常需要将"一些现存的对象"放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的. 如何应对这种&q ...

  2. 单片机开发之C语言编程基本规范

    为了提高源程序的质量和可维护性,从而最终提高软件产品生产力,特编写此规范.本标准规定了程序设计人员进行程序设计时必须遵循的规范.本规范主要针对单片机编程语言和08编译器而言,包括排版.注释.命名.变量 ...

  3. [React] Use the React Effect Hook in Function Components

    Similar to the State Hook, the Effect Hook is “first-class” in React and handy for performing side e ...

  4. SP10707 COT2 - Count on a tree II 莫队上树

    题意:求一条链 \((u,v)\) 上不同的颜色数. 我们可以求出树的出栈入栈序(or 括号序?我也不确定). 图(from attack) 然后有一个很优美的性质: 设点 \(u\) 的入栈时间为 ...

  5. C# mysql 处理 事务 回滚 提交

    MySqlConnection myCon; void iniMysql() { //连接数据库 myCon = new MySqlConnection("server=127.0.0.1; ...

  6. YAML_15 include and roles

    在编写playbook的时候随着项目越来越大,playbook越来越复杂.可以把一些play.task 或 handler放到其他文件中,通过包含进来是一个不错的选择. roles像是加强版的incl ...

  7. ASM磁盘组的监控

    ASM磁盘组的监控可以使用oracle数据库查询,需要使用到的是sql语句和oracle数据库的相关操作. 还可以使用命令行进行查询,然后用awk进行文本拆分,拿到需要的值.这个需要使用到的是sudo ...

  8. fft相关的复习

    任意长度卷积 CZT 就是一波推导 \[ \begin{aligned} b_i &= \sum_{j=0}^{n-1} \omega^{ij}a_j \\ &= \sum_{j=0} ...

  9. 2017.10.5 国庆清北 D5T1 拼不出的数

    题目描述 3 个元素的集合{5,1,2}的所有子集的和分别是0,1,2,3,5,6,7,8.发现最小的不能由该集合子集拼出的数字是4. 现在给你一个n个元素的集合,问你最小的不能由该集合子集拼出的数字 ...

  10. Linux安装php yaml扩展

    1.首先得安装libyamlgit clone https://github.com/yaml/libyaml./bootstrap ./configure make make install 2.安 ...