zoukankan      html  css  js  c++  java
  • 判断主表里子表不能添加相同的字段

    今天遇到一个开发任务,同一个公司添加的通过审核的证书不能重复,需要控制,主要分为添加,更新,添加需要多条添加判断,还有一条添加判断,更新也是这样,下面用代码介绍实现逻辑。

    List<MdmCompanyCertificate> certInsertList = this.certificateWrap
    .getInsertList();
    List<MdmCompanyCertificate> certUpdateList = this.certificateWrap
    .getUpdateList();
    List<MdmCompanyCertificate> certDeleteList = this.certificateWrap
    .getDeleteList();

    for(int i=0;i<certInsertList.size();i++){
    MdmCompanyCertificate insert=certInsertList.get(i);
    for(int j=i+1;j<certInsertList.size();j++){
    if((insert.getCertificateId().toString()).equals(certInsertList.get(j).getCertificateId().toString())){
    responseData.setMessage("同一公司的使用证书不能重复!");//从添加list里判断
    return;
    }
    }
    QueryParamList params = new QueryParamList();
    params.addParam("companyId", new BigDecimal(c.getCompanyId()));
    params.addParam("certificateId", insert.getCertificateId());
    params.addParam("status",1);

    List<MdmCompanyCertificate> list=JPAUtil.load(MdmCompanyCertificate.class, params, null, null);
    if(list.size()>0){
    responseData.setMessage("同一公司的使用证书不能重复!");//一条数据从数据库进行判断
    return;
    }
    }


    for (int i = 0; i < certUpdateList.size(); i++) {
    MdmCompanyCertificate update=certUpdateList.get(i);
    for(int j=i+1;j<certUpdateList.size();j++){
    if((update.getCertificateId().toString()).equals(certUpdateList.get(j).getCertificateId().toString())){
    responseData.setMessage("同一公司的使用证书不能重复!");
    return;
    }
    }
    QueryParamList params = new QueryParamList();
    params.addParam("companyId", new BigDecimal(c.getCompanyId()));
    params.addParam("certificateId", update.getCertificateId());
    params.addParam("status",1);
    String sql="id<> "+update.getId();

    List<MdmCompanyCertificate> list=JPAUtil.load(MdmCompanyCertificate.class, params,sql,null,null, null);
    if(list.size()>0){
    responseData.setMessage("同一公司的使用证书不能重复!");
    return;
    }


    }

    this.saveCertifcate(c.getCompanyId(), certInsertList,
    certUpdateList, certDeleteList);
    mdmCompanyListCertificateService.updateAll(c, certInsertList, certUpdateList,certDeleteList);
    retrieveAll();
    responseData.setAjaxDataWrap("dataWrap", dataWrap);
    responseData.setMessage("保存成功");

  • 相关阅读:
    最全的“大数据”学习资源
    民生银行十五年的数据体系建设,深入解读阿拉丁大数据生态圈、人人BI 是如何养成的?【转】
    大数据分析界的“神兽”Apache Kylin有多牛?【转】
    大数据环境下互联网行业数据仓库/数据平台的架构之漫谈-续【转】
    写给大数据开发初学者的话5[转]
    唯品会海量实时OLAP分析技术升级之路
    大数据学习笔记
    元数据
    数据仓库之数据模型
    官方教程:Apache Kylin和Superset集成,使用开源组件,完美打造OLAP系统
  • 原文地址:https://www.cnblogs.com/zhangzhiqin/p/8341553.html
Copyright © 2011-2022 走看看