医药采购之采购单明细列表查询

本文介绍了一种基于MyBatis的药品采购单明细查询系统的设计与实现,包括自定义mapper查询、分页处理、以及前后端交互的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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     页面

 

在采购单修改页面中加载采购单明细列表。

 

 

【资源说明】 医院药品入库管理系统源码+sql数据库(可改成各种入库系统毕设).zip 系统主要实现了供应商信息和药品信息的增、删、改、查、导入、导的基本信息管理功能,以及药品入库、库、退回和库存的管理功能,其中 药品入库时能实时的展示药品到期时间及对即将要过期和已过期药品进行系统 警告提示。 系统有药品管理员和超级管理员两种角色,药品管理员能管理药品,超级管理员除药品外还能进行用户管理,部门管理等以及日志查看管理。 系统环境版本说明 JDK >= 1.8 Mysql >=8.0 Redis >= 3.0 Maven >= 3.0 Node >= 12 使用说明 1、后端运行: (1)将项目导入到IntelliJ IDEA中 (2)创建数据库ly,并执行ly.sql数据脚本 (3)修改数据库连接,编辑resources目录下的application-druid.yml,将数据库账号密码改为自己本地的 (4)配置redis编辑resources目录下的application.yml,可配置redis(默认无密码) (5)启动redis后,再启动RuoYiApplication.java即可运行系统。 2、前端运行: (1)cd ruoyi-ui (2)使用npm install安装依赖(不建议通过cnpm或其它进行安装 可能会丢包) (3)在终端使用npm run dev来启动项目 仓库代码为若依框架!学习若依可下载。 系统演示 # 登录(验证码功能已关闭,可参考若依开启验证码功能)。 超级管理员: `admin` `admin123` 普通管理员:`ry` ` admin123` 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值