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

操作流程:

点击“采购单审核”

显示如下:

具体实施如下:

Dao层:

分为两个:

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

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

select useryy.mc useryymc,
yycgd.*,
(select info
from dictinfo
where typecode = ''
and dictcode = yycgd.zt) yycgdztmc
from yycgd2014 yycgd, useryy
where yycgd.useryyid = useryy.id --只查询审核中的采购单
and yycgd.zt = '' --卫生院只审核本辖区医院创建的采购单
--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='' 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;//获取月
var d = date.getDate();
return y+"-"+m+"-"+d;
}catch(e){
alert(e);
}
} }
},{
field : 'xgtime',
title : '修改时间',
width : 80,
formatter: function(value,row,index){
if(value){
try{
var date = new Date(value);
var y = date.getFullYear();
var m = date.getMonth()+1;
var d = date.getDate();
return y+"-"+m+"-"+d;
}catch(e){
alert(e);
}
} }
},{
field : 'tjtime',
title : '提交时间',
width : 80,
formatter: function(value,row,index){
if(value){
try{
var date = new Date(value);
var y = date.getFullYear();
var m = date.getMonth()+1;
var d = date.getDate();
return y+"-"+m+"-"+d;
}catch(e){
alert(e);
}
} }
},{
field : 'shtime',
title : '审核时间',
width : 80,
formatter: function(value,row,index){
if(value){
try{
var date = new Date(value);
var y = date.getFullYear();
var m = date.getMonth()+1;
var d = date.getDate();
return y+"-"+m+"-"+d;
}catch(e){
alert(e);
}
} }
},{
field : 'yycgdztmc',
title : '采购单<br>状态',
width : 60
}]]; function initGrid(){
$('#yycgdlist').datagrid({
title : '采购单列表',
//nowrap : false,
striped : true,
//collapsible : true,
url : '${baseurl}cgd/checkyycgdlist_result.action',
queryParams:{//查询参数,只在加载时使用,点击查询使用load重新加载不使用此参数
year:'${year}'
},
//sortName : 'code',
//sortOrder : 'desc',
//remoteSort : false,
idField : 'id',//查询结果集主键采购单id
//frozenColumns : frozenColumns,
columns : columns,
autoRowHeight:true,
pagination : true,
rownumbers : true,
toolbar : toolbar,
loadMsg:"",
pageList:[15,30,50,100],
onClickRow : function(index, field, value) {
$('#yycgdlist').datagrid('unselectRow', index);
}
}); }
$(function() {
initGrid();
}); function yycgdquery() {
var formdata = $("#yycgdqueryForm").serializeJson();//将form中的input数据取出来
$('#yycgdlist').datagrid('unselectAll');//清空列表所有选中状态
$('#yycgdlist').datagrid('load', formdata);
} $(function(){
//加载采购单状态
//getDictinfoCodelist('010','yycgdCustom.zt');
//加载年
//businessyearlist('businessyear'); });
</script>
</HEAD>
<BODY>
<form id="yycgdqueryForm" name="yycgdqueryForm" method="post" action="${baseurl}cgd/checkcgdsubmit.action">
<input type="hidden" id="indexs" name="indexs" />
<TABLE class="table_search">
<TBODY>
<TR>
<TD class="left">年份(如2014):</TD>
<td >
<select name="year" id="year">
<option value="2014">2014</option>
<option value="2013">2013</option>
</select> </td>
<TD class="left">采购时间:</TD>
<td >
<INPUT id="yycgdCustom.cjtime_start"
name="yycgdCustom.cjtime_start"
onfocus="WdatePicker({isShowWeek:false,skin:'whyGreen',dateFmt:'yyyy-MM-dd'})" style="width:80px"/>--
<INPUT id="yycgdCustom.cjtime_end"
name="yycgdCustom.cjtime_end"
onfocus="WdatePicker({isShowWeek:false,skin:'whyGreen',dateFmt:'yyyy-MM-dd'})" style="width:80px"/> </td>
<TD class="left">医院名称:</TD>
<td ><INPUT type="text" name="useryyCustom.mc" /></td> </TR>
<TR>
<TD class="left">采购单编号:</td>
<td><INPUT type="text" name="yycgdCustom.bm" /></TD>
<TD class="left">采购单名称:</TD>
<td ><INPUT type="text" name="yycgdCustom.mc" /></td> <td colspan=2> <a id="btn" href="#" onclick="yycgdquery()" class="easyui-linkbutton" iconCls='icon-search'>查询</a>
</td>
</tr> </TBODY>
</TABLE> <TABLE border=0 cellSpacing=0 cellPadding=0 width="99%" align=center>
<TBODY>
<TR>
<TD>
<table id="yycgdlist"></table>
</TD>
</TR>
</TBODY>
</TABLE>
</form> </BODY>
</HTML>

调试成功

046医疗项目-模块四:采购单模块—采购单审核(Dao,Service,Action三层)的更多相关文章

  1. 043医疗项目-模块四:采购单模块—采购单明细查询(Dao,Service,Action三层)

    前一篇文章我们做的是在医院的角度上添加在采购单里面添加药品.这一篇文章是查看我们添加的采购单信息. 我们先看一下要实现的效果:当: 按下确认添加时,会在这里 显示出刚才添加的数据. 好,我们就来做这个 ...

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

    我们上上一篇文章(042医疗项目-模块四:采购单模块-采购单明细添加查询,并且把数据添加到数据库中)做的工作是把数据插入到了数据库,我们这篇文章做的是042医疗项目-模块四:采购单模块-采购单明细添加 ...

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

    需求: 我们之前把采购单交给监督单位审核了,审通过的采购单就要受理.供货商决定采购单发不发货. 说明: 我们要查的就是登录的供货商的要提供的采购药品,我们查看的是采购单详细表,至于查询条件我们用的是就 ...

  4. 047医疗项目-模块四:采购单模块—采购单审核提交(Dao,Service,Action三层)

    我们之前把采购单都审核了,这篇文章说的就是审核之后提交. 其实就是改变(update)采购单的审核状态. 需求: 用户要先查看采购单的内容. 查看采购单页面:页面布局同采购单修改页面. 选择审核结果. ...

  5. 045医疗项目-模块四:采购单模块—采购单提交(Dao,Service,Action三层)

    我们之前做的就是采购单的编辑,在采购单里面添加了药品,然后我们这篇文章要做的就是说提交这个采购单. 当我们创建完成采购单,确定采购单不再修改,需要提交采购单,由监管单位进行审核. 我们在提交这个采购单 ...

  6. 010医疗项目-模块一:用户添加的实现(Dao,Service,Action,增加页面调试,提交页面调试)

    要实现的效果:

  7. 模块四-shutil模块

    shutil模块 高级的文件处理模块 主要是文件的处理,移动,压缩和解压缩 shutil模块的使用方法: shutil.copyfile()#拷贝文件 shutil.copy()#拷贝文件和权限 sh ...

  8. 常见模块(四) os模块

    注: os模块是实现python程序对操作系统(operation system)的操作 1.对文件或者目录进行删除或者创建的相关操作 # os.rename("b"," ...

  9. 010商城项目:商品类目的选择——Dao,Service.Action层的分析

    我们现在开始写商品类选择这个功能: 先看效果: 当我们点击"新增商品"---->"选择目录"然后从数据库中查出来数据并显示了. 我们分析数据库的那张表: ...

随机推荐

  1. 【Android】OPlayer升级Vitamio到4.1

    前言 很久没有更新OPlayer,还是使用旧版Vitamio 3.0版本(新版已经到4.1),这次更新下. 声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.c ...

  2. 重置svn地址

    TortoiseSVN->relocate  更改svn地址

  3. java获取客户端ID地址

    转:http://zhenchengchagangzi.iteye.com/blog/1199300#bc2372048 在JSP里,获取客户端的IP地址的方法是:request.getRemoteA ...

  4. Go语言异步服务器框架原理和实现

    Go语言类库中,有两个官方的服务器框架,一个HTTP,一个是RPC.使用这个两个框架,已经能解决大部分的问题,但是,也有一些需求,这些框架是不够的,这篇文章,我们先分析一下HTTP 和 RPC服务器的 ...

  5. VMWare克隆之后设置eth0

    [root@hadoop001 ~]# cd /etc/udev/rules.d/ [root@hadoop001 rules.d]# vim 70-persistent-net.rules 将eth ...

  6. ixgbe rx_missed_errors

    https://communities.intel.com/thread/54600?start=0&tstart=0 I am acquiring 800Mb/sec+ multicast ...

  7. 利用网络流传的WebShell默认密码库寻找WebShell

    声明:本文提到的技术,仅可用作网络安全加固等合法正当目的.本文作者无法鉴别判断读者阅读本文的真实目的,敬请读者在本国法律所允许范围内阅读本文,读者一旦因非法使用本文提到技术而违反国家相关的法律法规,所 ...

  8. Hadoop 基准测试与example

    #pi值示例 hadoop jar /app/cdh23502/share/hadoop/mapreduce2/hadoop-mapreduce-examples--cdh5. #生成数据 第一个参数 ...

  9. 汽车4S店经验指标完成情况报表制作分享

    集团公司一般为了加强下属的经营管理,以及项经营指标完情况,需要制定一些报表.我们平时也经常遇到这种情况,而这些报表要包括什么内容呢?该怎么制作呢?用什么制作呢?今天小编就以4s店为例,分享给大家一个报 ...

  10. [转]ANDROID NOTIFICATIONS USING CORDOVA AND IONIC

    本文转自:http://intown.biz/2014/04/11/android-notifications/ ANDROID NOTIFICATIONS USING CORDOVA AND ION ...