博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
048医疗项目-模块四:采购单模块—采购单受理(Dao,Service,Action三层)
阅读量:6037 次
发布时间:2019-06-20

本文共 8780 字,大约阅读时间需要 29 分钟。

需求:

我们之前把采购单交给监督单位审核了,审通过的采购单就要受理。供货商决定采购单发不发货。

 

 

说明:

我们要查的就是登录的供货商的要提供的采购药品,我们查看的是采购单详细表,至于查询条件我们用的是就是采购单的查询条件,查出来的就是采购单里面的详细采购清单,我们在查询采购单里面的详细清单时是需要有约束条件。

我们设置一个YycgdCust对象。用来做查寻条件用。

 

如下:

 

 

这张单子里面的就是采购单详细表,这儿查出来的数据就只是特定于这个供货商的采购单详细表,一个区域里面只有一个供货商,有好几个医院,每个医院有好多个采购单。那么就是一个供货商有好几个采购单。供货商要看着每一个采购单的明细表才会去处理这个数据要不要发货。

我们先写Mapper:

 

我们写sql时要参考:

 

 Mapper.xml如下:

 
    
    
    
        
            
                and yycgdmx.yycgdid = #{yycgdmxCustom.yycgdid}             
            
            
                and yycgdmx.cgzt = #{yycgdmxCustom.cgzt}             
            
            
                and yycgdmx.usergysid = #{yycgdmxCustom.usergysid}             
        
    
    
    
        
            
                and yycgd.id = #{yycgdCustom.id}             
            
                and yycgd.bm = #{yycgdCustom.bm}             
            
                and yycgd.mc like '%${yycgdCustom.mc}%'             
            
            
                and yycgd.cjtime>=#{yycgdCustom.cjtime_start}             
            
                          
            
            
                and yycgd.useryyid = #{yycgdCustom.useryyid}             
            
            
                and yycgd.zt = #{yycgdCustom.zt}             
        
    

我们之前写过findYycgdmxList。我们这次要做的就是扩展查询条件,使的之前的findYycgdmxList可以继续用。

 

findYycgdmxCount是对应查数量的,用来分页用的。

 Service 如下:

@Overridepublic List
findDisposeYycgdList(String usergysid, String year, YycgdQueryVo yycgdQueryVo) throws Exception { //判断传机传进来的yycgdQueryVo是不是空的,空的那就新建一个对象。 yycgdQueryVo=yycgdQueryVo!=null?yycgdQueryVo:new YycgdQueryVo();// YycgdmxCustom yycgdmxCustom=yycgdQueryVo.getYycgdmxCustom(); //因为之前那步的YycgdQuery如果是空的话,那么这里的yycgdmxCustom也是空的, //所以如果是空的,那就要重新新建一个对象。 yycgdmxCustom=yycgdmxCustom!=null?yycgdmxCustom:new YycgdmxCustom(); yycgdmxCustom.setUsergysid(usergysid);//设置采购商的id,保证只能查看本采购商的采购单 String cgzt="1"; yycgdmxCustom.setCgzt(cgzt);//传入查询条件,保证采购单里面的采购药品明细状态是“未确认送货” yycgdQueryVo.setYycgdmxCustom(yycgdmxCustom); yycgdQueryVo.setBusinessyear(year); return yycgdMapperCustom.findYycgdmxList(yycgdQueryVo); }@Overridepublic int findDisposeYycgdCount(String usergysid, String year, YycgdQueryVo yycgdQueryVo) throws Exception { //判断传机传进来的yycgdQueryVo是不是空的,空的那就新建一个对象。 yycgdQueryVo=yycgdQueryVo!=null?yycgdQueryVo:new YycgdQueryVo();// YycgdmxCustom yycgdmxCustom=yycgdQueryVo.getYycgdmxCustom(); //因为之前那步的YycgdQuery如果是空的话,那么这里的yycgdmxCustom也是空的, //所以如果是空的,那就要重新新建一个对象。 yycgdmxCustom=yycgdmxCustom!=null?yycgdmxCustom:new YycgdmxCustom(); yycgdmxCustom.setUsergysid(usergysid);//设置采购商的id,保证只能查看本采购商的采购单 String cgzt="1"; yycgdmxCustom.setCgzt(cgzt);//传入查询条件,保证采购单里面的采购药品明细状态是“未确认送货” yycgdQueryVo.setYycgdmxCustom(yycgdmxCustom); yycgdQueryVo.setBusinessyear(year); return yycgdMapperCustom.findYycgdmxCount(yycgdQueryVo);}@Overridepublic void saveSendStatus(String yycgdid, String ypxxid) throws Exception { // 查询出采购药品记录 Yycgdmx yycgdmx = this.findYycgdmxByYycgdidAndYpxxid(yycgdid, ypxxid); if (yycgdmx == null) { // 提示:找到采购药品明细记录 // ... } // 采购状态 String cgzt = yycgdmx.getCgzt(); if (!cgzt.equals("1")) { // 提示:采购药品在未确定 送货时方可发货 // ... } // 设置更新状态为已发货 yycgdmx.setCgzt("2"); // 年份 String year = yycgdid.substring(0, 4); yycgdmx.setBusinessyear(year); yycgdmxMapper.updateByPrimaryKey(yycgdmx);}

 

 

 

 Action层:

// 采购单受理页面    @RequestMapping("/disposeyycgd")    public String disposeyycgd(Model model) throws Exception {        // 当前年份        model.addAttribute("year", MyUtil.get_YYYY(MyUtil.getDate()));        return "/business/cgd/disposeyycgd";    } // 采购单受理列表结果集,json    @RequestMapping("/disposeyycgd_result")    public @ResponseBody    DataGridResultInfo disposeyycgd_result(// HttpSession session,            ActiveUser activeUser, String year,// 年份            YycgdQueryVo yycgdQueryVo,// 查询条件            int page, int rows) throws Exception {        // 供货商id        String usergysid = activeUser.getSysid();// 单位id        // 列表的总数        int total = cgdService.findDisposeYycgdCount(usergysid, year,                yycgdQueryVo);        // 分页参数        PageQuery pageQuery = new PageQuery();        pageQuery.setPageParams(total, rows, page);        yycgdQueryVo.setPageQuery(pageQuery);// 设置分页参数        // 分页查询列表        List
list = cgdService.findDisposeYycgdList(usergysid, year, yycgdQueryVo); DataGridResultInfo dataGridResultInfo = new DataGridResultInfo(); dataGridResultInfo.setTotal(total); dataGridResultInfo.setRows(list); return dataGridResultInfo; }

 

 调试通过。

 

调试时遇到了问题:

页面如下:

ar columns = [ [ {    checkbox:true},{    field : 'id',    hidden : true,    formatter: function(value,row,index){        return '';    }},{    field : 'yycgdid',    hidden : true,    formatter: function(value,row,index){        return '';    }},

 

整体代码如下:

<%@ page contentType="text/html; charset=UTF-8"%><%@ include file="/WEB-INF/jsp/base/tag.jsp"%> 医院采购单受理
<%@ include file="/WEB-INF/jsp/base/common_css.jsp"%><%@ include file="/WEB-INF/jsp/base/common_js.jsp"%>

 

 

到这里为止采购单模块就结束了,下面其实还有入库的功能,还有退货结算的功能,我们就不讲了。

 

转载地址:http://bflhx.baihongyu.com/

你可能感兴趣的文章
MMA冠军Rory MacDonald:比特币现金(BCH)是真正的比特币
查看>>
适配器模式
查看>>
[译] 在 Laravel 应用程序之间共享数据库
查看>>
Koa:核心探秘与入坑指北
查看>>
还在用JSON? Google Protocol Buffers 更快更小 (实践篇)
查看>>
探索 vue-spa 全家桶项目,解析配置,目录结构,路由以及状态管理的实现,附源码
查看>>
OpenStack安装(一) KeyStone模块
查看>>
Java锁之ReentrantReadWriteLock
查看>>
这是一个起点,没有终点 . . .
查看>>
更优雅的使用 Parcel 进行前端项目的打包
查看>>
坑系列 --- 重构过程中的过度设计
查看>>
iOS控件 UICollectionView
查看>>
黑狐”木马分析报告
查看>>
非对称加密和数字证书
查看>>
XXL-RPC v1.2.2,分布式服务框架
查看>>
学习java很难吗?
查看>>
小程序发布,你很方?
查看>>
从源码角度来理解TabLayout设置下划线宽度问题
查看>>
js 日期对象 31 号 setMonth 的锅
查看>>
《云栖社区2017年度内容特辑》新鲜出炉!800+份大会PPT、20+技术专题、100+话题...快抱走!...
查看>>