<?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. SpringBoot 注册Servlet三大组件【Servlet、Filter、Listener】-原生代码+@Bean+效果展示

    由于SpringBoot默认是以jar包的方式启动嵌入式的Servlet容器来启动SpringBoot的web应用,没有web.xml文件. 注册三大组件,class MyServlet()/clas ...

  2. (一)WCF基础

    我们近期在做项目的时候用到了WCF,之前已经看了部分视频,对于WCF有了一定的了解,但仅限于能够根据搭建好的框架使用WCF,还不了解.所以就进行了研究,这样既有实践也能增加理论,二者结合,使用起来更胜 ...

  3. Django admin中文报错Incorrect string value 解决办法

  4. 【CSP-S 2019】【洛谷P5658】括号树【dfs】【二分】

    题目: 题目链接:https://www.luogu.org/problem/P5658?contestId=24103 本题中合法括号串的定义如下: () 是合法括号串. 如果 A 是合法括号串,则 ...

  5. Oracle 解决无法生成Snapshot问题

    1. 概述 Specify the number of days of snapshots to choose from ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...

  6. centos6.5下安装docker的过程办法

    转载:https://www.cnblogs.com/tymagic/p/10794477.html 在看了网上N多复制粘贴的文章,又尝试无效后,我把我最终成功的办法发出来,希望能帮到拼命干环境的你. ...

  7. C 利用移位运算符 把十进制转换成二进制

    #include <stdio.h> int main(void){ //利用移位运算符 把十进制转换成二进制 int c; printf("输入数字:");//8 s ...

  8. Processing中和值域相关的函数

    今天在群里有人问了个问题:请教下啊,群里能有高手讲讲norm(), lerp(), map()么,英文的实在是没看懂呀?鉴于很多人初学Processing都没弄明白这3个函数的用法,我这里简单介绍一下 ...

  9. (30)打鸡儿教你Vue.js

    Vue+Webpack 1.对es6语法有基本了解 2.了解前端工程化 3.了解vuejs 1.通过webpack搭建vue工程workflow 2.哪些是学习vue的重点 3..vue文件开发模式 ...

  10. 在Maven项目中使用lombok

    事前准备:如果是eclipse的话,需要在官网下载jar文件,放到eclipse根目录下,eclipse.ini的最后追加 -Xbootclasspath/a:lombok.jar -javaagen ...