文件校验并分类存储数据
// 根据传入的id获取审核记录 TDAgrunitaudit audit = tdAgrunitauditMapper.selectTDAgrunitauditById(id); // 获取审核记录的省、市、县、乡镇id数组 Long[] placeIds= {audit.getProid(),audit.getCitid(),audit.getCouid(),audit.getTowid()}; // 根据审核记录的级别获取当前审核记录的所属地区id Long placeId = placeIds[audit.getLevel()-1];
// 是否是所属地区数据的标志,如果有一个文件不是所属地区,则全部文件都不会插入 boolean isLevle = true; // 文件检查工具类实例化 CheckFile check = new CheckFile(files);
try {
// 文件检查
check.check();
// 分离文件
check.sub();
log.debug('测试:check{}',check);
// 分类存储文件数据的列表
List
// 如果有农村组织文件 if(check.nongban_sql!=null){ String nongban_sql = check.nongban_sql; // 从数据库中获取农村组织数据 // select x.* from db_twenty.t_d_agrunitaudit x where x.C_ID in ( 41294 ) and x.C_DELETED = 0 log.debug('测试nongban_sql:{}',nongban_sql); nongbans = tdAgrunitauditMapper.listByValues(nongban_sql); } // 如果有政府组织文件 if(check.gov_sql!=null){ // 从数据库中获取政府组织数据 // select x.* from db_twenty.t_d_govunitaudit x where x.C_ID in ( ' + sb_govus + ' ) and x.C_DELETED = 0 String gov_sql = check.gov_sql; log.debug('测试gov_sql:{}',gov_sql); govus = tdGovunitauditMapper.listByValues(gov_sql); } // 如果有村报表文件 if(check.vil_sql!=null){ // 从数据库中获取村报表数据 String vil_sql = check.vil_sql; log.debug('测试vil_sql:{}',vil_sql); // select x.* from db_twenty.t_d_villagereport x where x.C_ID in ( 229622 ) and x.C_DELETED = 0 vils = tdVillagereportMapper.listByValues(vil_sql); } // 如果有农人填报文件 if(check.nr_sql!=null){ // 从数据库中获取农人填报数据 String nr_sql = check.nr_sql; // select x.* from db_twenty.t_d_agrunitaudit x where x.C_ID in ( 41294 ) and x.C_DELETED = 0 log.debug('测试nr_sql:{}',nr_sql); nats = tdNvfillformMapper.listByValues(nr_sql); }
// 遍历所有文件 for(MultipartFile f:check.mutiFiles){ String[] data = f.getOriginalFilename().split('-'); Long curentId = Long.valueOf(data[0]); // 如果是农村组织文件 if('1'.equals(data[1])){ // 遍历农村组织数据列表 for (TDAgrunitaudit nongban : nongbans) { Long[] placeCurrentIds = {nongban.getProid(),nongban.getCitid(),nongban.getCouid(),nongban.getTowid()}; // 获取当前农村组织数据所属地区id Long placeCurrentId = placeCurrentIds[audit.getLevel()-1]; // 如果当前文件不是所属地区 if(!placeId.equals(placeCurrentId)) { isLevle=false; check.invalid++; break; } } } } } catch (Exception e) { log.error("文件校验出错: ", e); }
原文地址: https://www.cveoy.top/t/topic/od4i 著作权归作者所有。请勿转载和采集!