1 供货商药品目录维护查询
1.1 需求:
使用供货商登陆系统,点击“供货商药品目录维护”
显示了供货商药品目录 信息。
1.2 实现
1.2.1 Dao
自定义查询条件,查询供货商药品目录,供货商只允许查询到本供货商供应的药品信息
自定义mapper:
Sql:
主查询表:gysypml(供货商药品目录表),查询结果数量根据主查询表来定。
药品id 供应商id 供应商mc 供应商控制状态 数据字典 药品信息
关联查询表:供货商名称(usergys)、供货状态(gysypml_control),药品信息(ypxx)
selectgysypml.ypxxid,
gysypml.usergysid,
usergys.mc usergysmc,
gysypml_control.control,
(select info
from dictinfo
where typecode = '008'
and dictcode = gysypml_control.control)controlmc,
ypxx.id,
ypxx.bm,
ypxx.mc,
ypxx.jx,
ypxx.gg,
ypxx.zhxs,
ypxx.scqymc,
ypxx.spmc,
ypxx.zbjg,
ypxx.jyzt,
(select info
from dictinfo
where ypxx.jyzt = dictcode
and typecode = '003') jyztmc
from gysypml, usergys, gysypml_control,ypxx
where gysypml.usergysid = usergys.id
and gysypml.ypxxid =gysypml_control.ypxxid
and gysypml.usergysid =gysypml_control.usergysid
and gysypml.ypxxid = ypxx.id
--数据范围权限
and gysypml.usergysid ='5197cdd2-08cf-11e3-8a4f-60a44cea4388'
mapper.Java 声明
publicinterfaceGysypmlMapperCustom {
// 查询供应商药品目录
publicList<GysypmlCustom> findGysypmlList(GysypmlQueryVo gysypmlQueryVo)
throwsException;
// 查询供应商药品目录数量
publicintfindGysypmlCount(GysypmlQueryVo gysypmlQueryVo)throws Exception;
1.2.2 Service
接口功能:供货商查询供货商自己药品目录信息
接口参数:供货商id(数据范围权限),查询条件
publicinterfaceYpmlService {
// 查询供应商药品目录
publicList<GysypmlCustom> findGysypmlList(String usergysid,
GysypmlQueryVogysypmlQueryVo)throwsException;
// 查询供应商药品目录数量
publicint findGysypmlCount(Stringusergysid, GysypmlQueryVo gysypmlQueryVo)
throws Exception;
实现方法如下:
// 查询供应商药品目录
@Override
public List<GysypmlCustom>findGysypmlList(String usergysid,
GysypmlQueryVogysypmlQueryVo) throwsException {
//非空判断 gysypmlQueryVo不等于空否则就创建一个新的gysypmlQueryVo
gysypmlQueryVo= gysypmlQueryVo !=null ? gysypmlQueryVo
:newGysypmlQueryVo();
GysypmlCustomgysypmlCustom = gysypmlQueryVo.getGysypmlCustom();
if (gysypmlCustom ==null) {
gysypmlCustom= newGysypmlCustom();
}
gysypmlCustom.setUsergysid(usergysid);
gysypmlQueryVo.setGysypmlCustom(gysypmlCustom);
returngysypmlMapperCustom.findGysypmlList(gysypmlQueryVo);
}
// 查询供应商药品目录数量
@Override
publicint findGysypmlCount(Stringusergysid,GysypmlQueryVogysypmlQueryVo)
throws Exception {
//TODO Auto-generated method stub
returngysypmlMapperCustom.findGysypmlCount(gysypmlQueryVo);
}
1.2.3 Action:
// 供应商药品目录页面
@RequestMapping("/querygysypml")
public Stringquerygysypml(Model model)throws Exception {
//药品类别
List<Dictinfo>yplblist = systemConfigService.findDictinfoByType("001");
//药品交易状态
List<Dictinfo>jyztlist = systemConfigService.findDictinfoByType("003");
//供货状态
List<Dictinfo>controllist = systemConfigService
.findDictinfoByType("008");
model.addAttribute("controllist",controllist);
model.addAttribute("jyztlist",jyztlist);
model.addAttribute("yplblist",yplblist);
return"/business/ypml/querygysypml";
}
// 供应商药品目录总数
@RequestMapping("/querygysypml_result")
public@ResponseBody
DataGridResultInfoquerygysypml_result(HttpSession session,int page,
int rows, GysypmlQueryVogysypmlQueryVo)throwsException {
//取出当前用户
ActiveUseractiveUser = (ActiveUser) session
.getAttribute(Config.ACTIVEUSER_KEY);
Stringusergysid = activeUser.getSysid();
//取总数
int total =ypmlService.findGysypmlCount(usergysid,gysypmlQueryVo);
//分页参数
PageQuerypageQuery = newPageQuery();
pageQuery.setPageParams(total,rows, page);
gysypmlQueryVo.setPageQuery(pageQuery);
//新建列表
List<GysypmlCustom>list = ypmlService.findGysypmlList(usergysid,
gysypmlQueryVo);
DataGridResultInfodataGridResultInfo =new DataGridResultInfo();
dataGridResultInfo.setTotal(total);
dataGridResultInfo.setRows(list);
return dataGridResultInfo;
}
1.2.4 调试
错误: