如果想要获取相关的源码,笔记,和相关工具,对项目需求的二次开发,可以关注我并私信!!!
一 采购单明细信息的查询列表显示
1 需求
该小节的实现的功能是:先把采购单的明细列表查询出来!
注意:该功能实现后的的明细列表中是没有数据的,这是因为下节的“采购单明细的添加查询”功能还没有实现!
只有在下节中实现了“采购单明细药品的添加”后,该节中的明细列表的内容才会显示出来!
该节中的功能实现与“供应商药品目录模块”中的需求大致相似!!!可以参考“供应商药品目录模块”的开发操作!
采购单基本信息创建并保存(或者提交)成功后,会进入到采购单修改页面editcgd.jsp,在该修改页面中会显示某个采购单下的采购药品的明细信息。药品的明细信息包括以下红框内的字段内容
红框内的这些字段就是sql语句中所要查询的字段了!
简单说就是查询当前的某个采购单基本信息表下的采购药品的明细信息,因此执行的是一个查询操作!!
采购单明细信息的创建页面就是采购单修改页面cgdedit.jsp(因为采购单基本信息页面和采购单明细信息页面在同一个页面中)。
2 dao
自定义mapper,实现采购单明细查询。
程序写到这里,我们可以发现一个规律,在本系统中所有的自定义的mapper接口中的参数都只有一个类,即:包装类,包装类中把所有的参数都包含了!因为我们编写的dao接口要具备公用性(通用性)!
如图:
2.1 sql语句的编写
主查询表:yycgdmx +4位年份(即采购单明细的动态表).
关联表:
医院信息表useryy(因为采购单明细动态表中没有与useryy表的外键关联,但是可以通过采购单基本信息表yycgd的外键useryyid来关联,因为yycgd的useryyid字段与useryy表的主键id是关联的)、药品信息表ypxx、供货商信息表usergys.
关联表有4张表:分别是useryy、yycgd 、ypxx 、usergys .
select yycgdmx.id yycgdmxid, --明细表中的id主键,该主键用来与datagrid中的id主键相对应 useryy.id useryyid, --医院的主键id useryy.mc useryymc, ypxx.id, ypxx.bm, ypxx.mc, ypxx.jx, ypxx.gg, ypxx.zhxs, ypxx.scqymc, ypxx.spmc, --中标价格ypxx.zbje,和下面的交易价格yycgdmx.jyjg,这两个字段是相同的,原因可以查看采购单模块设计中的解释。因此,可以只保留一个。 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 --供应商主键id
--yycgdmx2018属于动态表 from yycgdmx2018 yycgdmx, yycgd2014 yycgd, useryy, ypxx, usergys where |