数据聚合和交易明细查询实现
来源:互联网 发布:海典医药软件数据库 编辑:程序博客网 时间:2024/04/29 13:36
1.1 实现
1.1.1 数据聚合实现
第一步:采购明细的聚合
采购单明细表—–》交易明细表
交易明细表逆向工程
修改service saveYycgdCheckStatus方法
在审核通过时,将采购单明细记录插入到交易明细表中。
第二步:测试数据聚合结算
创建一个采购单,审核采购单通过、供货商受理、入库,流程结束后看交易表中记录是否聚合成功。。
1.1.1 dao
监管单位查询:
查询管理地区内医院采购明细信息。
医院查询:
查询自己的采购明细信息
供货商查询:
与本供货商相关的采购明细信息
sql:
主查询表:交易明细表
关联查询表:医院信息、供货商信息、采购单主信息。。
select useryy.id useryyid, useryy.mc useryymc, yycgd.bm yycgdbm, yycgd.id yycgdid, usergys.id usergysid, usergys.mc usergysmc, yycgdmx.ypxxid, 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.cgl, yycgdmx.cgje, yycgdmx.rkl, yycgdmx.rkje, yycgdmx.thl, yycgdmx.thje, yycgdmx.jsl, yycgdmx.jsje from yybusiness2014 yycgdmx, yycgd2014 yycgd, useryy, usergys, ypxx where yycgdmx.yycgdid = yycgd.id and yycgd.useryyid = useryy.id and yycgdmx.usergysid = usergys.id and yycgdmx.ypxxid = ypxx.id --监管单位查询管理地区内医院采购明细信息 and useryy.id in ( --管理地区内医院 select id from useryy where dq like '1.1.%') --医院查询自己的采购明细信息 and useryy.id = '1f8b098b-067e-11e3-8a3c-0019d2ce5116' --供货商查询: 与本供货商相关的采购明细信息 and usergys.id = '5197cdd2-08cf-11e3-8a4f-60a44cea4388'
mapper
// 交易明细查询 public int findYybusinessCount(YycgdQueryVo yycgdQueryVo) throws Exception; // 交易明细查询 public List<YycgdmxCustom> findYybusinessList(YycgdQueryVo yycgdQueryVo) throws Exception;
1.1.2 service
接口功能:医院、监管单位、供货商查询交易明细
查询内容如下:
监管单位查询:查询管理地区内医院采购明细信息。
医院查询:查询自己的采购明细信息
供货商查询:与本供货商相关的采购明细信息
接口参数:年份、查询条件,单位id、用户类型(1:卫生局 2:卫生院 3:卫生室 4:供货商)
// 抽取方法用于交易明细查询条件 public YycgdQueryVo query_findYybusiness(String year, String sysid, String groupid, YycgdQueryVo yycgdQueryVo) throws Exception { yycgdQueryVo = yycgdQueryVo != null ? yycgdQueryVo : new YycgdQueryVo(); // 监管单位 if (groupid.equals("1") || groupid.equals("2")) { Userjd userjd = userjdMapper.selectByPrimaryKey(sysid); Useryy useryy = yycgdQueryVo.getUseryy(); useryy = useryy != null ? useryy : new Useryy(); // 设置管理地区,根据地区查询交易明细 useryy.setDq(userjd.getDq()); yycgdQueryVo.setUseryy(useryy); } else if (groupid.equals("3")) { Useryy useryy = yycgdQueryVo.getUseryy(); useryy = useryy != null ? useryy : new Useryy(); // 设置医院id,只查询医院的交易明细 useryy.setId(sysid); yycgdQueryVo.setUseryy(useryy); } else if (groupid.equals("4")) { Usergys usergys = yycgdQueryVo.getUsergys(); usergys = usergys != null ? usergys : new Usergys(); // 设置供货商id,只查询本供货商相关交易明细 usergys.setId(sysid); yycgdQueryVo.setUsergys(usergys); } // 设置年份 yycgdQueryVo.setBusinessyear(year); return yycgdQueryVo; } // 交易明细查询 @Override public int findYybusinessCount(String year, String sysid, String groupid, YycgdQueryVo yycgdQueryVo) throws Exception { YycgdQueryVo yycgdQueryVo_query = query_findYybusiness(year, sysid, groupid, yycgdQueryVo); return yybusinessMapperCustom.findYybusinessCount(yycgdQueryVo_query); } // 交易明细查询 @Override public List<YycgdmxCustom> findYybusinessList(String year, String sysid, String groupid, YycgdQueryVo yycgdQueryVo) throws Exception { YycgdQueryVo yycgdQueryVo_query = query_findYybusiness(year, sysid, groupid, yycgdQueryVo); return yybusinessMapperCustom.findYybusinessList(yycgdQueryVo_query); } // 交易明细查询总计 @Override public List<YycgdmxCustom> findYybusinessListSum(String year, String sysid, String groupid, YycgdQueryVo yycgdQueryVo) throws Exception { YycgdQueryVo yycgdQueryVo_query = query_findYybusiness(year, sysid, groupid, yycgdQueryVo); return yybusinessMapperCustom.findYybusinessListSum(yycgdQueryVo_query); }
1.1.3 action
@Controller@RequestMapping("/tj")public class TjAction { @Autowired private BusinessService businessService; @Autowired private SystemConfigService systemConfigService; // 交易明细查询页面 @RequestMapping("/businesslist") public String businesslist(Model model) throws Exception { List<Dictinfo> cgztlist = systemConfigService.findDictinfoByType("011"); model.addAttribute("cgztlist", cgztlist); // 默认当前年份 model.addAttribute("year", MyUtil.get_YYYY(MyUtil.getDate())); return "/business/tj/businesslist"; } // 交易明细查询页面数据 @RequestMapping("/businesslist_result") public @ResponseBody DataGridResultInfo businesslist_result(String year, ActiveUser activeUser, YycgdQueryVo yycgdQueryVo, int page, int rows) throws Exception { // 单位id String sysid = activeUser.getSysid(); // 用户类型 String groupid = activeUser.getGroupid(); // 列表总数 int total = businessService.findYybusinessCount(year, sysid, groupid, yycgdQueryVo); // 分页参数 PageQuery pageQuery = new PageQuery(); pageQuery.setPageParams(total, rows, page); // 设置分页参数 yycgdQueryVo.setPageQuery(pageQuery); List<YycgdmxCustom> list = businessService.findYybusinessList(year, sysid, groupid, yycgdQueryVo); DataGridResultInfo dataGridResultInfo = new DataGridResultInfo(); dataGridResultInfo.setTotal(total); dataGridResultInfo.setRows(list); if (total > 0) { List<YycgdmxCustom> sum = businessService.findYybusinessListSum( year, sysid, groupid, yycgdQueryVo); dataGridResultInfo.setFooter(sum); } return dataGridResultInfo; }
1.1.4 调试
分别以医院、供货商、监管单位登陆,操作交易明细列表。
测试前,准备测试数据(以不同区域的医院创建采购单)
0 0
- 数据聚合和交易明细查询实现
- 数据聚合和交易明细查询分析
- 账号交易明细查询(分页)
- 互联网金融平台——银行交易明细查询和报警机制
- 交易明细(仿微信)
- 基于Python脚本和聚合数据实现手机号码归属地信息查询
- 聚合数据查询
- oracle 创建存储过程查询历史交易明细 提高查询效率
- 表结构数据字典---查询表结构明细信息
- MongoDB Spring实现(聚合查询)
- mybatis使用resultMap实现多对多查询 (需求:商品信息和订单明细有多对多的关系)
- 通过聚合数据API实现快递数据查询-短信验证码-企业核名
- 通过聚合数据API实现快递数据查询-短信验证码
- MongoDB查询、索引和聚合
- 模糊查询和聚合函数
- 聚合函数和分组查询
- 手机帐单明细查询
- 深圳社保明细查询
- 1 基础
- redis(8)、安全设置
- React学习所遇问题总结
- 导入SQL Server驱动包(JDBC Eclipse)
- mysql 1067 打不开
- 数据聚合和交易明细查询实现
- leetcode -- Maximal Square -- DP重点
- 10015---MySQL--事务
- HDOJ 题目4553 约会安排(线段树分等级覆盖)
- 支付宝即时支付java后台总结
- 银行卡号识别(三) --- 基于k最近邻的数字识别测
- centos nginx和svn开机自启动
- C --struct union内存分配
- 如何判断一个时间段是否和另一个时间段冲突?