码迷,mamicode.com
首页 > 其他好文 > 详细

采购系统(二)

时间:2016-07-14 01:13:38      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

一、用户列表

1.实体分析

(1)数据库表分析

系统用户表: SYSUSER

记录系统所有的用户。

Id: 主键

USERID: 账号

USERNAME: 名称

GROUPID: 用户类别 0:系统管理员 1:卫生局 2:卫生院 3:卫生室 4:供货商

SYSID: 系统用户所属的单位

监督单位表: USERJD

Id: 主键

MC: 单位名称

DQ: 管理区域

 

医院单位表: USERYY

Id: 主键

MC: 单位名称

DQ: 所属区域

 

供货商单位表: USERGYS

Id: 主键

Mc: 单位名称

 

2.需求

(1)自定义查询,查询用户信息

技术分享

 

SQL语句:

第一种查询

select *
  from (select SYSUSER.id,
               SYSUSER.userid,
               SYSUSER.username,
               SYSUSER.groupid,
               SYSUSER.sysid,
               
               nvl(userjd.mc, nvl(useryy.mc, usergys.mc)) sysmc
        
          from SYSUSER
        
          left join userjd
            on SYSUSER.Sysid = userjd.id
        
          left join useryy
            on SYSUSER.Sysid = useryy.id
        
          left join usergys
            on SYSUSER.Sysid = usergys.id
        
        ) u
 where u.sysmc like ‘%高村%‘;

 

NVL函数

格式: NVL(E1,E2)

解释: 如果E1为NULL,则函数返回E2,否则就返回E1。

 

NVL2函数

格式: NVL2(E1,E2,E3)

解释: 如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。

 

第二种查询

select *
  from (select SYSUSER.id,
               SYSUSER.userid,
               SYSUSER.username,
               SYSUSER.groupid,
               SYSUSER.sysid,
               decode(SYSUSER.Groupid,
                      ‘1‘,
                      (select mc from userjd where id = sysuser.sysid),
                      ‘2‘,
                      (select mc from userjd where id = sysuser.sysid),
                      ‘3‘,
                      (select mc from useryy where id = sysuser.sysid),
                      ‘4‘,
                      (select mc from usergys where id = sysuser.sysid)) sysmc
        
          from SYSUSER)u
 where u.sysmc like ‘%高村%‘

 

DECODE函数

格式: DECODE(value, if1, then1, if2,then2, if3,then3, . . . else)

解释: 如果value的值为if1,Decode 函数的结果是then1;如果value等于if2,Decode函数结果是then2。

 

2.后台代码

(1)实体类

查询结果的包装类

SysuserCustom.java

技术分享

 

查询条件的包装类

SysuserQueryVo.java

技术分享

 

由于页面是DataGrid所以查询结果还要封装一个对象

技术分享

 

(2)Mapper相关

SysuserMapperCustom.xml

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yycg.base.dao.mapper.SysuserMapperCustom">

	<!-- sql片段 -->
	<!-- 用户查询条件 -->
	<sql id="quey_sysuser_where">
		<if test="sysuserCustom != null">
		
        		<if test="sysuserCustom.sysmc != null and sysuserCustom.sysmc !=‘‘">
        			and  sysuser.sysmc like ‘%${sysuser.sysmc}%‘
        		</if>
        		
        		<if test="sysuserCustom.userid != null and sysuserCustom.userid !=‘‘">
        			and  sysuser.userid = #{sysuserCustom.userid}
        		</if>
        		
        		<if test="sysuserCustom.username != null and sysuserCustom.username !=‘‘">
        			and  sysuser.username = #{sysuserCustom.username}
        		</if>
        		
        		<if test="sysuserCustom.groupid != null and sysuserCustom.groupid !=‘‘">
        			and  sysuser.groupid = #{sysuserCustom.groupid}
        		</if>
        		
          </if>
	</sql>
	
	<!-- 用户查询 -->
	<select id="findSysuserList" parameterType="yycg.base.pojo.vo.SysuserQueryVo" resultType="yycg.base.pojo.vo.SysuserCustom">
	select * from (
 		 select SYSUSER.id,
         SYSUSER.userid,
         SYSUSER.username,
         SYSUSER.groupid,
         SYSUSER.userstate,
         SYSUSER.sysid,
         decode(SYSUSER.Groupid,
                ‘1‘,
                (select mc from userjd where id = sysuser.sysid),
                ‘2‘,
                (select mc from userjd where id = sysuser.sysid),
                ‘3‘,
                (select mc from useryy where id = sysuser.sysid),
                ‘4‘,
                (select mc from usergys where id = sysuser.sysid)
                ) sysmc
        
          from SYSUSER
          )sysuser 
          
          <where>
          	<include refid="quey_sysuser_where"/>
          </where>
          
        
	</select>

</mapper>

 

SysuserMapperCustom.java

技术分享

 

(3)Service/Action

技术分享

SqlMapconfig.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

	<!-- 配置分页插件 -->
	<plugins>
		<plugin interceptor="com.github.pagehelper.PageHelper">
			<!-- 指定使用的数据库 -->
			<property name="dialect" value="oracle" />
		</plugin>
	</plugins>
</configuration>

 

SysuserAction.java

技术分享

采购系统(二)

标签:

原文地址:http://www.cnblogs.com/yangang2013/p/5667976.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!