加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

数据聚合和交易明细查询实现

发布时间:2020-12-13 22:00:16 所属栏目:百科 来源:网络整理
导读:1.1 实现 1.1.1 数据聚合实现 第一步:采购明细的聚合 采购单明细表—–》交易明细表 ? 交易明细表逆向工程 ? 修改service saveYycgdCheckStatus方法 在审核通过时,将采购单明细记录插入到交易明细表中。 第二步:测试数据聚合结算 创建一个采购单,审核采

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,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,yycgdQueryVo);
        return yybusinessMapperCustom.findYybusinessList(yycgdQueryVo_query);
    }

    // 交易明细查询总计
    @Override
    public List<YycgdmxCustom> findYybusinessListSum(String year,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,yycgdQueryVo);

        // 分页参数
        PageQuery pageQuery = new PageQuery();

        pageQuery.setPageParams(total,rows,page);
        // 设置分页参数
        yycgdQueryVo.setPageQuery(pageQuery);

        List<YycgdmxCustom> list = businessService.findYybusinessList(year,yycgdQueryVo);

        DataGridResultInfo dataGridResultInfo = new DataGridResultInfo();
        dataGridResultInfo.setTotal(total);
        dataGridResultInfo.setRows(list);
        if (total > 0) {
            List<YycgdmxCustom> sum = businessService.findYybusinessListSum(
                    year,yycgdQueryVo);
            dataGridResultInfo.setFooter(sum);
        }
        return dataGridResultInfo;
    }

1.1.4 调试
分别以医院、供货商、监管单位登陆,操作交易明细列表。

测试前,准备测试数据(以不同区域的医院创建采购单)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读