<?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. 微信小程序API~地理位置location

    (1)使用微信内置地图查看位置 wx.openLocation(Object object) 使用微信内置地图查看位置 参数 Object object 属性 类型 默认值 必填 说明 latitud ...

  2. Spring -07 -AOP [面向切面编程] - 使用注解@+ AspectJ 方式实现环绕/前/后等通知 -超简洁 --静态代理/动态代理{JDK/cglib}

    1.spring 不会自动去寻找注解,必须告诉 spring 哪些包下的类中可能有注解;使用注解来取代配置文件.1.1 引入xmlns:context ,指定扫描范围 <context:comp ...

  3. 前端学习笔记--js概述与基础语法、变量、数据类型、运算符与表达式

    本篇记录js的概述与基础语法.变量.数据类型.运算符与表达式 1.概述与基础语法 2.变量 举例: 3.数据类型 4.运算符与表达式

  4. SVM: 相对于logistic regression而言SVM的 cost function与hypothesis

    很多学习算法的性能都差不多,关键不是使用哪种学习算法,而是你能得到多少数据量和应用这些学习算法的技巧(如选择什么特征向量,如何选择正则化参数等) SVM在解决非线性问题上提供了强大的方法. logis ...

  5. navicat连接oracle报错:ORA-12737 Instant Client Light:unsupported server character set ZHS16GBK

    今天使用Navicat连接Oracle数据库,报了下面的这个错误:“ORA-12737 Instant Client Light:unsupported server character set ZH ...

  6. select下拉选中显示对应的div隐藏不相关的div

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. spring mvc 坑之PUT,DELETE方法接收不到请求参数

    https://www.cnblogs.com/roobtyan/p/9576685.html 原因: Tomcat处理参数的问题: 1.将请求体中的数据,封装成一个map    2.request. ...

  8. Storage事件及综合案例

    说到Storage事件,那么就得先给大家说一下localstorage和sessionstorage: 1.localStorage和sessionStorage一样都是用来存储客户端临时信息的对象. ...

  9. Restful API 指南

    作为软件开发人员,我们大多数人在日常生活中使用或构建 REST api.API 是系统之间的默认通信方式.亚马逊是如何有效地使用 api 进行通信的最佳例子. 在这篇文章中,我将讨论如何更好地设计 R ...

  10. Zabbix 短信报警示例

    Zabbix 短信报警 示例: 注意zabbix 脚本文件默认放置目录是 alertscripts (zabbix 动作调用脚本目录) # 编辑 zabbix_server.conf # AlertS ...