feat: There is no way the, bug #52285

This commit is contained in:
super_liu
2022-04-06 01:01:33 +08:00
parent 57f550c0bf
commit 9540bb3192
7 changed files with 148 additions and 58 deletions
@@ -4,6 +4,7 @@ package com.adc.da.slrs.sarLawsStandInfo.controller;
import com.adc.da.common.ReadExcel;
import com.adc.da.exception.AdcDaBaseException;
import com.adc.da.person.service.IPersonCollectEOService;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoExport;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage;
import com.adc.da.slrs.sarLawsStandInfo.service.ISarLawsStandInfoService;
import com.adc.da.slrs.sarResource.service.ITsResourceService;
@@ -191,7 +192,7 @@ public class SarLawsStandInfoController extends BaseController<SarLawsStandInfo>
@GetMapping(value = "/exportStandardsInfoExcel")
public void exportStandardsInfoExcel(String exportContent, String exportType, String exportName,String userId, HttpServletResponse response,
HttpServletRequest request) throws Exception {
List<SarLawsStandInfo> data = sarLawsInfoEOService.getExportData(exportType,exportContent,userId);
List<SarLawsStandInfoExport> data = sarLawsInfoEOService.getExportData(exportType,exportContent,userId);
OutputStream os = null;
Workbook workbook = null;
@@ -1,6 +1,7 @@
package com.adc.da.slrs.sarLawsStandInfo.dao;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoExport;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
@@ -24,7 +25,7 @@ public interface SarLawsStandInfoDao extends BaseMapper<SarLawsStandInfo> {
List<SarLawsStandInfo> selectStandardsInfoByKey(String id);
List<SarLawsStandInfo> getSarStandardsExportInfo(SarLawsStandInfoPage page);
List<SarLawsStandInfoExport> getSarStandardsExportInfo(SarLawsStandInfoPage page);
}
@@ -3,6 +3,7 @@ package com.adc.da.slrs.sarLawsStandInfo.service;
import com.adc.da.http.ResponseMessage;
import com.adc.da.slrs.sarBussionessStand.entity.SarBussionessStand;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoExport;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage;
import com.adc.da.slrs.sarStandardsInfo.entity.SarBussionessStandEOPage;
import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo;
@@ -32,7 +33,7 @@ public interface ISarLawsStandInfoService extends IService<SarLawsStandInfo> {
SarLawsStandInfoPage updateStandardsMenu(SarLawsStandInfoPage standardsInfoEO);
List<SarLawsStandInfo> getExportData(String exportType, String exportContent,String userId) throws Exception;
List<SarLawsStandInfoExport> getExportData(String exportType, String exportContent, String userId) throws Exception;
List<SarLawsStandInfo> getSarStandardsInfoPage(SarLawsStandInfoPage page) throws Exception;
@@ -36,6 +36,7 @@ import com.adc.da.slrs.sarLawsMenu.dao.SarLawsMenuDao;
import com.adc.da.slrs.sarLawsMenu.entity.SarLawsMenu;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo;
import com.adc.da.slrs.sarLawsStandInfo.dao.SarLawsStandInfoDao;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoExport;
import com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage;
import com.adc.da.slrs.sarLawsStandInfo.service.ISarLawsStandInfoService;
import com.adc.da.slrs.sarLawsVal.dao.SarLawsValDao;
@@ -60,6 +61,7 @@ import com.adc.da.utils.util.SarAdvanceSearchUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import net.sf.json.JSONObject;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.lang.StringUtils;
import org.json.JSONTokener;
import org.springframework.beans.factory.annotation.Autowired;
@@ -323,11 +325,13 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
}
}
public void attrInfoDetailsExport (SarLawsStandInfo row) throws Exception {
public void attrInfoDetailsExport (SarLawsStandInfoExport row) throws Exception {
String fieldInfo = InitStandAttrUtil.queryFieldLaws;
// 查询属性表数据
if (StringUtils.isNotBlank(fieldInfo)) {
Map<String, Object> getAttrMap = sarLawsAttrInfoDao.selectLawsFieldAndData(fieldInfo,row.getId());
List<String> list = Arrays.asList(fieldInfo.split(",")).stream().map(s -> String.format(s.trim())).collect(Collectors.toList());
Map<String, Object> getAttrMap = BeanUtils.describe(row);
if (InitStandAttrUtil.clobFieldListLaws != null && !InitStandAttrUtil.clobFieldListLaws.isEmpty()) {
// 遍历修改所有clob类型的值
for (String clobField : InitStandAttrUtil.clobFieldListLaws) {
@@ -341,7 +345,13 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
if(getAttrMap != null){
for (Map.Entry<String,Object> entry : getAttrMap.entrySet()) {
String name = entry.getKey();
List<String> filterList = list.stream().filter(a -> name.equals(a)).collect(Collectors.toList());
if(filterList.isEmpty()){
newMap.remove(name);
continue;
}
Object value1 = entry.getValue();
if (value1 != null && value1.toString().equals("\"null\"")){
entry.setValue("");
}
@@ -440,7 +450,7 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
}
@Override
public List<SarLawsStandInfo> getExportData(String exportType, String exportContent,String userId) throws Exception {
public List<SarLawsStandInfoExport> getExportData(String exportType, String exportContent,String userId) throws Exception {
SarLawsStandInfoPage page = new SarLawsStandInfoPage();
if ("apart".equals(exportType)) {
page.setIdlist(exportContent.split(","));
@@ -489,9 +499,9 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
nowOrderFunc(page);
}
String fieldInfo = InitStandAttrUtil.queryFieldBuss;
String fieldInfo = InitStandAttrUtil.queryFieldLaws;
List<String> list = Arrays.asList(fieldInfo.split(",")).stream().map(s -> String.format("SAR_BUSS_STAND_ATTR_INFO."+s.trim())).collect(Collectors.toList());
List<String> list = Arrays.asList(fieldInfo.split(",")).stream().map(s -> String.format("SAR_LAWS_ATTR_INFO."+s.trim())).collect(Collectors.toList());
List<String> listSelect = Arrays.asList(fieldInfo.split(",")).stream().map(s -> String.format("tmp_tb."+s.trim())).collect(Collectors.toList());
String exportAllAttrInfo = list.stream().collect(Collectors.joining(","));
String exportAllResult = listSelect.stream().collect(Collectors.joining(","));
@@ -503,7 +513,7 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
page.setExportAllResult(exportAllResult);
}
List<SarLawsStandInfo> rows = this.baseMapper.getSarStandardsExportInfo(page);
List<SarLawsStandInfoExport> rows = this.baseMapper.getSarStandardsExportInfo(page);
attrInfoShowExport(rows);
return rows;
}
@@ -577,8 +587,15 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
}
}
public void attrInfoShowExport (List<SarLawsStandInfo> sarlist) throws Exception {
for(SarLawsStandInfo row : sarlist){
public void attrInfoShowExport (List<SarLawsStandInfoExport> sarlist) throws Exception {
//查询字典表,形成Hash映射提升速度
List<DicTypeEO> dicInfo = dicTypeEODao.getDicInfo("dic_type_code", "dic_type_name");
Map<String, String> dicMap = dicInfo.stream()
.filter(item-> !item.getDicTypeCode().isEmpty())
.collect(Collectors.toMap(DicTypeEO::getDicTypeCode,DicTypeEO::getDicTypeName,(value1, value2 )->value2));
for(SarLawsStandInfoExport row : sarlist){
attrInfoDetailsExport(row);
Map<String, Object> getAttrMap = row.getAttrInfoMap();
Map<String, Object> getNewMap = new LinkedHashMap<>();
@@ -588,11 +605,11 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
String name = entry.getKey();
String value = "";
if (entry.getValue() != null && InitStandAttrUtil.fileFieldListLaws != null && InitStandAttrUtil.fileFieldListLaws.size() > 0 && InitStandAttrUtil.fileFieldListLaws.contains(name)) {
value = entry.getValue().toString();
if (StringUtils.isNotBlank(value)) {
List<AttFileEO> fileObj = attFileEOService.getMultiFileInfos(value);
entry.setValue(fileObj);
}
// value = entry.getValue().toString();
// if (StringUtils.isNotBlank(value)) {
// List<AttFileEO> fileObj = attFileEOService.getMultiFileInfos(value);
// entry.setValue(fileObj);
// }
} else if (entry.getValue() != null && InitStandAttrUtil.selectionFieldListLaws != null && InitStandAttrUtil.selectionFieldListLaws.size() > 0 && InitStandAttrUtil.selectionFieldListLaws.contains(name)) {
value = entry.getValue().toString();
String selVal = InitStandAttrUtil.selectFieldMapLaws.get(name);
@@ -606,7 +623,21 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
}
} else {
List<String> valArr = Arrays.asList(value.split(","));
value = dicTypeEODao.getDicNamesByCodes(valArr,"");
if(entry.getValue()!=null) {
StringBuilder builder = new StringBuilder("");
for (String s : valArr) {
if (dicMap.containsKey(s) && !"ZRBM".equals(name)){
builder.append(dicMap.get(s)+",");
}
}
if (builder.toString().isEmpty()){
value = entry.getValue().toString();
}else {
value = builder.toString();
}
}
}
entry.setValue(value);
}