046医疗项目-模块四:采购单模块—采购单审核(Dao,Service,Action三层)

Posted jim_shen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了046医疗项目-模块四:采购单模块—采购单审核(Dao,Service,Action三层)相关的知识,希望对你有一定的参考价值。

当医院把采购单提交之后,由监管单位进行采购单审核,由卫生院及卫生局进行审核。卫生局可以审核所有医院创建的采购单,卫生院只审核本辖区医院创建的采购单。

 

操作流程:

点击“采购单审核”

显示如下:

 

 

具体实施如下:

 

Dao层:

分为两个:

查找cgd表中的数据以及数据的数量来实现分页。

我们查找cdg数据的SQL语句:

select useryy.mc useryymc,
       yycgd.*,
       (select info
          from dictinfo
         where typecode = \'010\'
           and dictcode = yycgd.zt) yycgdztmc
  from yycgd2014 yycgd, useryy
 where yycgd.useryyid = useryy.id
 
 --只查询审核中的采购单
 and yycgd.zt = \'2\'
 
 --卫生院只审核本辖区医院创建的采购单
 --1.1.是监管单位管理地区
 and useryy.id in (
     select id from useryy where dq like \'1.1.%\'
 )

 

具体的YycgdMapper.xml代码如下:

         <!-- 采购单查询条件 -->
    <sql id="query_yycgd_where">
        <if test="yycgdCustom!=null">
            <if test="yycgdCustom.id!=null and yycgdCustom.id!=\'\'">
                and yycgd.id = #{yycgdCustom.id}
            </if>
            
            
            <if test="yycgdCustom.bm!=null and yycgdCustom.bm!=\'\'">
                and yycgd.bm = #{yycgdCustom.bm}
            </if>
            <if test="yycgdCustom.mc!=null and yycgdCustom.mc!=\'\'">
                and yycgd.mc like \'%${yycgdCustom.mc}%\'
            </if>
            <!-- 采购时间 ,根据采购单创建时间查询 -->
            <if test="yycgdCustom.cjtime_start!=null">
                and yycgd.cjtime>=#{yycgdCustom.cjtime_start}
            </if>
            <if test="yycgdCustom.cjtime_end!=null">
              <![CDATA[
               and yycgd.cjtime<=#{yycgdCustom.cjtime_end}
               ]]>
            </if>
            <!-- 根据医院id查询 -->
            <if test="yycgdCustom.useryyid!=null and yycgdCustom.useryyid!=\'\'">
                and yycgd.useryyid = #{yycgdCustom.useryyid}
            </if>
            <!-- 采购单状态条件 -->
            <if test="yycgdCustom.zt!=null and yycgdCustom.zt!=\'\'">
                and yycgd.zt = #{yycgdCustom.zt}
            </if>
        </if>
    </sql>












       <!-- 采购单查询列表 -->
    <select id="findYycgdList" parameterType="yycg.business.pojo.vo.YycgdQueryVo"
        resultType="yycg.business.pojo.vo.YycgdCustom">
        <!-- 分页头 -->
        <include refid="yycg.base.commonSql.page_start" />
        select
        useryy.mc useryymc,
        yycgd.*,
        (select info from dictinfo where typecode=\'010\' and
        dictcode=yycgd.zt)yycgdztmc
        from yycgd${businessyear} yycgd,useryy where yycgd.useryyid = useryy.id

        <!-- 采购单本身查询条件 -->
        <include refid="query_yycgd_where" />
        <!-- 医院查询条件 -->
        <include refid="yycg.base.dao.mapper.SysuserMapperCustom.query_useryy_where" />

        order by yycgd.id desc


        <!-- 分页尾部 -->
        <include refid="yycg.base.commonSql.page_end" />
    </select>

 

 

我们看sql语句对应的yycgdMapperCustom.java:

public List<YycgdCustom> findYycgdList(YycgdQueryVo yycgdQueryVo)throws Exception;

我们在看对应的Service层代码:

@Override
public List<YycgdCustom> findCheckYycgdList(String year, String userjdid,
        YycgdQueryVo yycgdQueryVo) throws Exception {
    yycgdQueryVo = yycgdQueryVo != null ? yycgdQueryVo : new YycgdQueryVo();
year="2014";
    // 采购单状态
    String zt = "2";// 审核中

    YycgdCustom yycgdCustom = yycgdQueryVo.getYycgdCustom();
    if (yycgdCustom == null) {
        yycgdCustom = new YycgdCustom();
    }
    yycgdCustom.setZt(zt);
    yycgdQueryVo.setYycgdCustom(yycgdCustom);
    // 监管单位管理地区
    // 根据监管单位id查询监管单位
    Userjd userjd = userjdMapper.selectByPrimaryKey(userjdid);
    // 管理地区
    String dq = userjd.getDq();

    Useryy useryy = yycgdQueryVo.getUseryy();
    useryy = useryy != null ? useryy : new Useryy();
    // 设置查询条件管理地区
    useryy.setDq(dq);

    yycgdQueryVo.setUseryy(useryy);
    // 设置年份
    yycgdQueryVo.setBusinessyear(year);
    return yycgdMapperCustom.findYycgdList(yycgdQueryVo);

}

 

 

上面的代码对应的是:查询采购单的数据。

 

 

我们接着看查数量的代码。主要是为了实现分页。

    <!-- 采购单查询列表 -->
    <select id="findYycgdCount" parameterType="yycg.business.pojo.vo.YycgdQueryVo"
        resultType="int">
        <!-- 分页头 -->
        select
    count(*)
        from yycgd${businessyear} yycgd,useryy where yycgd.useryyid = useryy.id

        <!-- 采购单本身查询条件 -->
        <include refid="query_yycgd_where" />
        <!-- 医院查询条件 -->
        <include refid="yycg.base.dao.mapper.SysuserMapperCustom.query_useryy_where" />
        order by yycgd.id desc
    </select>

 

Mapper层代码:

    public int findYycgdCount(YycgdQueryVo yycgdQueryVo)throws Exception;

 

最后看Service层代码:

@Override
public int findCheckYycgdCount(String year, String userjdid,
        YycgdQueryVo yycgdQueryVo) throws Exception {
    year="2014";
    yycgdQueryVo = yycgdQueryVo != null ? yycgdQueryVo : new YycgdQueryVo();

    // 采购单状态
    String zt = "2";// 审核中

    YycgdCustom yycgdCustom = yycgdQueryVo.getYycgdCustom();
    if (yycgdCustom == null) {
        yycgdCustom = new YycgdCustom();
    }
    yycgdCustom.setZt(zt);
    yycgdQueryVo.setYycgdCustom(yycgdCustom);
    // 监管单位管理地区
    // 根据监管单位id查询监管单位
    Userjd userjd = userjdMapper.selectByPrimaryKey(userjdid);
    // 管理地区
    String dq = userjd.getDq();

    Useryy useryy = yycgdQueryVo.getUseryy();
    useryy = useryy != null ? useryy : new Useryy();
    // 设置查询条件管理地区
    useryy.setDq(dq);

    yycgdQueryVo.setUseryy(useryy);
    // 设置年份
    yycgdQueryVo.setBusinessyear(year);
    return yycgdMapperCustom.findYycgdCount(yycgdQueryVo);
}

 

 

最后看Action层代码:

// 采购单审核列表页面
@RequestMapping("/checkyycgdlist")
public String checkyycgdlist(Model model) throws Exception {
    // 药品类别
    List<Dictinfo> cgdztlist = systemConfigService
            .findDictinfoByType("010");
    model.addAttribute("cgdztlist", cgdztlist);

    // 当前年份
    model.addAttribute("year", MyUtil.get_YYYY(MyUtil.getDate()));

    return "/business/cgd/checkyycgdlist";
}

//采购单审核列表结果集,json
    @RequestMapping("/checkyycgdlist_result")
    public @ResponseBody
    DataGridResultInfo checkyycgdlist_result( HttpSession session,
             String year,// 年份
            YycgdQueryVo yycgdQueryVo,// 查询条件
            int page, int rows) throws Exception {
        // 当前用户
        ActiveUser activeUser = (ActiveUser) session
                .getAttribute(Config.ACTIVEUSER_KEY);
        // 监管单位id
        String userjdid = activeUser.getSysid();// 单位id

        // 列表的总数
        int total = yycdgService
                .findCheckYycgdCount(year, userjdid, yycgdQueryVo);

        // 分页参数
        PageQuery pageQuery = new PageQuery();
        pageQuery.setPageParams(total, rows, page);
        yycgdQueryVo.setPageQuery(pageQuery);// 设置分页参数

        // 分页查询列表
        List<YycgdCustom> list = yycdgService.findCheckYycgdList(year, userjdid,
                yycgdQueryVo);

        DataGridResultInfo dataGridResultInfo = new DataGridResultInfo();
        dataGridResultInfo.setTotal(total);
        dataGridResultInfo.setRows(list);

        return dataGridResultInfo;
    }

 

最后看页面:

在menu.json中:

                 {"icon" : "icon-log","menuid" : "1_1","menuname" : "采购单审核","url" : "/yycgproject/cgd/checkyycgdlist.action"

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ include file="/WEB-INF/jsp/base/tag.jsp"%>
<html> 
<head>
<title>医院采购单审核</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<%@ include file="/WEB-INF/jsp/base/common_css.jsp"%>
<%@ include file="/WEB-INF/jsp/base/common_js.jsp"%>


<script type="text/javascript">

function yycgdchecksubmit(){
    _confirm(\'您确认提交审核结果吗?\',null,
              function(){
                var indexs = [];//记录的序号
                var rows = $(\'#yycgdlist\').datagrid(\'getSelections\');//获得以datagrid所有选中的行
                //alert(rows.length);
                for(var i=0;i<rows.length;i++){
                    var index=$(\'#yycgdlist\').datagrid(\'getRowIndex\',rows[i]);//获取指定行的序号
                    indexs.push(index);
                }
                if(rows.length>0){
                    //alert(indexs.join(\',\'));
                    $("#indexs").val(indexs.join(\',\'));//将数组数据中间以逗号分隔拼接成一个串,放在indexs里边
                    jquerySubByFId(\'yycgdqueryForm\', yycgdchecksubmit_callback, null);
                }else{
                    alert_warn("请选择要提交审核的采购单");
                }
                
              }
            )
}
function yycgdchecksubmit_callback(data){
    var result = getCallbackData(data);
    _alert(result);
    yycgdquery();//刷新本窗口
}

function yycgdview(bm){
    var sendUrl = "${baseurl}cgd/viewcgd.action?id="+bm;
    parent.opentabwindow(bm+\'采购单查看\',sendUrl);//打开一个新标签
}


//工具栏

var toolbar = [ {
    id : \'yycgdchecksubmit\',
    text : \'提交审核结果\',
    iconCls : \'icon-add\',
    handler : yycgdchecksubmit
    }];

var frozenColumns;

var columns = [ [
{
    checkbox:true
},
{
    field : \'id\',//采购单id
    hidden : true,
    formatter: function(value,row,index){
        return \'<input type="hidden" name="yycgdCustoms[\'+index+\'].id" value="\'+value+\'" />\';
    }
},
{
    field : \'opt\',
    title : \'审核结果\',
    width : 100,
    formatter: function(value,row,index){
        var string= \'<select name="yycgdCustoms[\'+index+\'].zt">\'
        +\'<option value=""></option>\'
        +\'<option value="3">审核通过</option>\'
        +\'<option value="4">审核不通过</option>\'
        +\'</select>\';
        return string
    }
},
{
    field : \'opt2\',
    title : \'审核意见\',
    width : 180,
    formatter: function(value,row,index){
        return \'<input type="text" name="yycgdCustoms[\'+index+\'].shyj" />\';

    }
},{
    field : \'opt3\',
    title : \'查看\',
    width : 60,
    formatter:function(value, row, index){
        return \'<a href=javascript:yycgdview("\'+row.bm+\'")>查看</a>\';
    }
},
 
 {
    field : \'useryymc\',
    title : \'医院名称\',
    width : 100
},{
    field : \'bm\',
    title : \'采购单编号\',
    width : 80
},{
    field : \'mc\',
    title : \'采购单名称\',
    width : 150
},{
    field : \'cjtime\',
    title : \'建单时间\',
    width : 80,
    formatter: function(value,row,index){
        if(value){
            try{
            //通过js日期格式化
            var date = new Date(value);
            var y = date.getFullYear();//获取年
            var m = date.getMonth()+1;//获取月
            var037医疗项目-模块四:采购单模块—采购单模块的整体需求

048医疗项目-模块四:采购单模块—采购单受理(Dao,Service,Action三层)

044医疗项目-模块四:采购单模块—采购单保存(Dao,Service,Action三层)

037医疗项目-模块四:采购单模块—采购单数据模型

040医疗项目-模块四:采购单模块—采购单创建好之后跳转到采购单修改页面(editcgd.action)

041医疗项目-模块四:采购单模块—采购单创建好之后跳转到采购单修改页面,然后实现修改采购单功能