医药采购之采购单明细列表查询
1??????采購單明細列表
1.1?????需求
采購單基本信息保存成功后,進入采購單修改頁面,顯示該采購單下采購藥品明細。
包括以下字段內容:
1.2?????實現
1.2.1?????dao
自定義mapper,實現采購單明細查詢。
注意:編寫的dao具備公用性
?
Sql:
主查詢表:yycgdmx +4位年份
關聯表:醫院信息表(通過采購單基本信息表關聯)、藥品信息表、供貨商信息表
?
selectyycgdmx.id yycgdmxid,
?????? useryy.id useryyid,
?????? useryy.mc useryymc,
?????? ypxx.id,
?????? ypxx.bm,
?????? ypxx.mc,
?????? ypxx.jx,
?????? ypxx.gg,
?????? ypxx.zhxs,
?????? ypxx.scqymc,
?????? ypxx.spmc,
??????
?????? ypxx.jyzt,
??????
?????? (select info
????????? from dictinfo
???????? where ypxx.jyzt = dictcode
?????????? and typecode = '003') jyztmc,
?????? yycgdmx.zbjg,
?????? yycgdmx.jyjg,
?????? yycgdmx.cgl,
?????? yycgdmx.cgje,
?????? yycgdmx.cgzt,
?????? (select info
????????? from dictinfo
???????? where typecode = '011'
?????????? and dictcode = yycgdmx.cgzt) cgztmc,
?????? usergys.mc usergysmc,
?????? usergys.id usergysid
?
? from yycgdmx2014 yycgdmx, yycgd2014yycgd, useryy, ypxx, usergys
?where yycgdmx.yycgdid = yycgd.id
?? and yycgd.useryyid = useryy.id
?? and yycgdmx.ypxxid = ypxx.id
?? and yycgdmx.usergysid = usergys.id
??
?? --數據范圍設定
?? --只查詢某個采購單下藥品明細
?? and yycgdmx.yycgdid = '2014101040'
?
定義mapper
?
// 采購單藥品明細查詢列表數量
?? public int findYycgdmxCount(YycgdQueryVoyycgdQueryVo) throwsException;
?
?? // 采購單藥品明細查詢列表
?? publicList<YycgdmxCustom> findYycgdmxList(YycgdQueryVo yycgdQueryVo)
???????? throws Exception;
1.2.2?????commonSql定義
將分頁頭和分頁尾定義在公用sql中。抽取分頁sql
定義:CommonSql.xml ? 由于沒有mapper.java文件所以需要在mybatis 中聲明一下
代碼如下:
<?xml version="1.0"encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTDMapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="yycg.base.commonSql">
?? <!-- 分頁頭 -->
?? <sql id="page_start">
?
????? <if test="pageQuery!=null">
???????? selectpage_2.*
???????? from(select page_1.*, rownum page_num
???????? from
???????? (
????? </if>
?? </sql>
?? <!-- 分頁尾 -->
?? <sql id="page_end">
?
?
????? <if test="pageQuery!=null">
???????? )page_1
??????? <![CDATA[
???????? where rownum <=${pageQuery.PageQuery_end}) page_2
?where page_2.page_num >=${pageQuery.PageQuery_start}
?]]>
????? </if>
?? </sql>
?
</mapper>
1.2.3?????service
?
接口功能:查詢采購單下明細信息
接口參數:采購單id、查詢條件
// 采購單藥品明細查詢列表
?? @Override
?? publicList<YycgdmxCustom> findYycgdmxListByYycgdid(String yycgdid,
???????? YycgdQueryVoyycgdQueryVo) throwsException {
????? // 非空判斷 ? 為否則
????? yycgdQueryVo =yycgdQueryVo != null ?yycgdQueryVo : newYycgdQueryVo();
????? YycgdmxCustomyycgdmxCustom = yycgdQueryVo.getYycgdmxCustom();
????? if (yycgdmxCustom == null) {
???????? yycgdmxCustom= newYycgdmxCustom();
????? }
????? Stringyear = yycgdid.substring(0, 4);
?
????? yycgdmxCustom.setYycgdid(yycgdid);
????? yycgdQueryVo.setBusinessyear(year);
????? // 回設
????? yycgdQueryVo.setYycgdmxCustom(yycgdmxCustom);
?
????? return yycgdMapperCustom.findYycgdmxList(yycgdQueryVo);
?? }
?
?? // 采購單藥品明細查詢列表數量
?? @Override
?? public intfindYycgdmxCountByYycgdid(String yycgdid,
???????? YycgdQueryVoyycgdQueryVo) throwsException {
????? // 非空判斷 ? 為否則
????? yycgdQueryVo= yycgdQueryVo != null ? yycgdQueryVo : new YycgdQueryVo();
????? YycgdmxCustomyycgdmxCustom = yycgdQueryVo.getYycgdmxCustom();
????? if (yycgdmxCustom == null) {
???????? yycgdmxCustom= newYycgdmxCustom();
????? }
????? Stringyear = yycgdid.substring(0, 4);
????? yycgdmxCustom.setYycgdid(yycgdid);
????? yycgdQueryVo.setBusinessyear(year);
????? // 回設
????? yycgdQueryVo.setYycgdmxCustom(yycgdmxCustom);
?
????? return yycgdMapperCustom.findYycgdmxCount(yycgdQueryVo);
?? }
?
?
1.2.4?????action
?
采購單藥品明細查詢結果集(json)? 模板代碼
?
// 查詢采購單明細返回數據
?? @RequestMapping("/queryYycgdmx_result")
?? public @ResponseBody
?? DataGridResultInfoqueryYycgdmx_result(String id// 采購單id
???????? ,intpage, introws, YycgdQueryVo yycgdQueryVo) throws Exception {
?
????? int total = cgdService.findYycgdmxCountByYycgdid(id,yycgdQueryVo);
?
????? PageQuerypageQuery = newPageQuery();
????? pageQuery.setPageParams(total,rows, page);
????? yycgdQueryVo.setPageQuery(pageQuery);
?
????? List<YycgdmxCustom>list = cgdService.findYycgdmxListByYycgdid(id,
??????????? yycgdQueryVo);
????? DataGridResultInfodataGridResultInfo = new DataGridResultInfo();
????? dataGridResultInfo.setTotal(total);
????? dataGridResultInfo.setRows(list);
?
????? return dataGridResultInfo;
?? }
1.2.5?????頁面
?
在采購單修改頁面中加載采購單明細列表。
?
?
總結
以上是生活随笔為你收集整理的医药采购之采购单明细列表查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nodejs微信公众号教程
- 下一篇: 阅读量10w+的文案都是这么写的!