Merge branch 'develop_migration' into 'develop_master'

Develop migration

See merge request LiuChao/foton-slrs-system-rest!445
This commit is contained in:
super_liu
2022-04-06 01:02:21 +08:00
12 changed files with 511 additions and 56 deletions
@@ -8,7 +8,7 @@ package com.adc.da.common;
public enum SarTypeEnum {
INLAND_STAND("INLAND_STAND","国内标准法规"),INLAND_LAWS("INLAND_LAWS","国内政策"),
FOREIGN_STAND("FOREIGN_STAND","国外标准法规"),FOREIGN_LAWS("FOREIGN_LAWS","国外政策"),
FOREIGN_STAND("FOREIGN_STAND","国外标准法规"),FOREIGN_LAWS("FOREIGN_LAWS","外政策"),
STAND("STAND","国内外标准法规"),
LAWS("LAWS","国内外政策"),
LAWS_STAND("LAWS_STAND","国内外政策"),
@@ -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);
}
@@ -0,0 +1,298 @@
package com.adc.da.slrs.sarLawsStandInfo.entity;
import com.adc.da.att.vo.AttFileVo;
import com.adc.da.base.entity.BaseEntity;
import com.adc.da.slrs.sarStandItems.entity.SarStandItems;
import com.adc.da.slrs.standardSplit.entity.SarStandAttrDetailsEO;
import com.adc.da.sys.entity.DicTypeEO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.*;
/**
* <p>
*
* </p>
*
* @author super_liu
* @since 2021-10-25
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="SarLawsStandInfo对象", description="")
public class SarLawsStandInfoExport extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键")
@TableId("ID")
private String id;
@ApiModelProperty(value = "政策分类 共四级,逐级选择-配置管理中维护")
@TableField("LAWS_TYPE")
private String lawsType;
@ApiModelProperty(value = "政策编号")
@TableField("LAWS_NUMBER")
private String lawsNumber;
@ApiModelProperty(value = "中文名称")
@TableField("LAWS_NAME")
private String lawsName;
@ApiModelProperty(value = "英文名称")
@TableField("LAWS_EN_NAME")
private String lawsEnName;
@ApiModelProperty(value = "政策文号")
@TableField("LAWS_NO")
private String lawsNo;
@ApiModelProperty(value = "发文日期")
@TableField("ISSUE_TIME")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private String issueTime;
@ApiModelProperty(value = "发文单位")
@TableField("ISSUE_COMPANY")
private String issueCompany;
@ApiModelProperty(value = "征集意见周期-起始时间")
@TableField("COMMENT_CYCLE_START")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private String commentCycleStart;
@ApiModelProperty(value = "征集意见周期-结束时间")
@TableField("COMMENT_CYCLE_END")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private String commentCycleEnd;
@ApiModelProperty(value = "文件状态-配置管理中维护")
@TableField("LAWS_TEXT_STATE")
private String lawsTextState;
@ApiModelProperty(value = "适用区域-配置管理中维护")
@TableField("LAWS_SYQY")
private String lawsSyqy;
@ApiModelProperty(value = "适用车型-配置管理中维护")
@TableField("LAWS_SYCX")
private String lawsSycx;
@ApiModelProperty(value = "是/否(选择否,只有政策、政策中文名称是必填项目)")
@TableField("IS_RELATE_ACCESS")
private String isRelateAccess;
@ApiModelProperty(value = "年度-可在配置管理中维护,根据发布日期自动带入可手动修改")
@TableField("LAWS_YEAR")
private String lawsYear;
@ApiModelProperty(value = "福田转发通知文号")
@TableField("LAWS_NOTISYNC_NUM")
private String lawsNotisyncNum;
@ApiModelProperty(value = "信息简报 xxx期次xxx板块")
@TableField("LAWS_BULLETIN")
private String lawsBulletin;
@ApiModelProperty(value = "标签-可在配置管理中维护")
@TableField("LAWS_LABEL")
private String lawsLabel;
@ApiModelProperty(value = "备注")
@TableField("LAWS_REMARK")
private String lawsRemark;
@ApiModelProperty(value = "国家地区")
@TableField("COUNTRY")
private String country;
@TableField("CREATION_USER")
private String creationUser;
@ApiModelProperty(value = "是否有效")
@TableField("VALID_FLAG")
private Integer validFlag;
@ApiModelProperty(value = "创建时间")
@TableField("CREATION_TIME")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date creationTime;
@ApiModelProperty(value = "修改时间")
@TableField("MODIFY_TIME")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date modifyTime;
@ApiModelProperty(value = "参数1")
@TableField("PARAM1")
private Long param1;
@ApiModelProperty(value = "参数2")
@TableField("PARAM2")
private String param2;
// 非表字段
@ApiModelProperty(value = "代替文件号")
@TableField(exist = false)
private String replaceFileNum;
@ApiModelProperty(value = "被代替文件号")
@TableField(exist = false)
private String replacedFileNum;
@TableField(exist = false)
private String processNum;//流程编号
@TableField(exist = false)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private String firstPutTime;
@TableField(exist = false)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private String putTimeShow;
@TableField(exist = false)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private String issueTimeShow;
@TableField(exist = false)
private String issueTimeStr;
@TableField(exist = false)
private String putTimeStr;
//目录ID 非标准信息表中的字段
@TableField(exist = false)
private String menuId;
@TableField(exist = false)
private String menuParentId;
@TableField(exist = false)
private String standStatusShow; // 标准状态下拉框 --单选
@TableField(exist = false)
private String standNatrueShow;
@TableField(exist = false)
private String standSortShow;
@TableField(exist = false)
private String applyCountryShow;
@TableField(exist = false)
private List<AttFileVo> standFileList = new ArrayList<AttFileVo>();
@TableField(exist = false)
private List<AttFileVo> opinionFilesList = new ArrayList<AttFileVo>();
@TableField(exist = false)
private List<AttFileVo> relevanceFileList = new ArrayList<AttFileVo>();
@TableField(exist = false)
private String collectId;
//文件的类型
@TableField(exist = false)
private String standFileClassify;
//文件的下载id
@TableField(exist = false)
private String attId;
//记录是否修改了替代文件号
@TableField(exist = false)
private int upReplaceNumFlag;
//记录是否修改了文件号
@TableField(exist = false)
private int upNumFlag;
// 数据库新加的字段
@TableField(exist = false)
private String remark;//备注
@TableField(exist = false)
private Map<String, Object> attrInfoMap = new LinkedHashMap<>(); //属性表字段与值
@TableField(exist = false)
private Map<String, Object> attrInfoCaseMap = new LinkedHashMap<>(); //属性表字段与值小写前端带入渲染
@TableField(exist = false)
private String sarStandAttrEOStr; //新增修改时属性表信息
@TableField(exist = false)
private String fileIds; //全部文件ID
@TableField(exist = false)
private List<SarStandAttrDetailsEO> attrInfoList = new ArrayList<>();
@TableField(exist = false)
private String standTextStatusShow; // 标准文本状态显示名称
// 以下为非表中字段
@TableField(exist = false)
private String countryShow; //国家地区显示名称
@TableField(exist = false)
private String standStateShow; // 标准状态显示名称
@TableField(exist = false)
private String standNatureShow; // 标准性质显示名称
@TableField(exist = false)
private List<DicTypeEO> dicTypeList = new ArrayList(); // 记录标准涉及到的所有数据字典数据
@TableField(exist = false)
private List<SarStandItems> itemsList = new ArrayList<>();
@ApiModelProperty(value = "分解单条款内容")
@TableField(exist = false)
private Map<String,String> mapItems = new TreeMap<>();
@TableField(exist = false)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
private String XCXSSRQLAWS; // 新车实施日期
@TableField(exist = false)
private String SSRQLAWS;
@TableField(exist = false)
private String ZCXSSRQLAWS;
@TableField(exist = false)
private String ZCWBLAWS;
@TableField(exist = false)
private String GCWBLAWS;
@TableField(exist = false)
private String JDWJLAWS;
@TableField(exist = false)
private String CYSDLAWS;
@TableField(exist = false)
private String TGRLAWS;
@TableField(exist = false)
private String TGDWLAWS;
@TableField(exist = false)
private String NYLXLAWS;
@TableField(exist = false)
private String YYRZLAWS;
@TableField(exist = false)
private String ZRBMLAWS;
@TableField(exist = false)
private String ZRGCSLAWS;
@TableField(exist = false)
private String DTWJHLAWS;
@TableField(exist = false)
private String BDTWJHLAWS;
@TableField(exist = false)
private String YYBZZCLAWS;
@TableField(exist = false)
private String XGLC;
@TableField(exist = false)
private String CHJLLAWS;
@TableField(exist = false)
private String GLWJLAWS;
}
@@ -274,4 +274,9 @@ public class SarLawsStandInfoPage extends BasePage {
@TableField(exist = false)
private String order1 = "";
@TableField(exist = false)
private String exportAllAttrInfo;
@TableField(exist = false)
private String exportAllResult;
}
@@ -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;
@@ -145,8 +147,11 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
@Override
public List<SarLawsStandInfo> getSarStandardsInfoPage(SarLawsStandInfoPage page) throws Exception {
//查询当前登录人角色拥有权限的菜单
String userId = UserUtils.getUserId();
if(page.getMenuId() != null && page.getUserId() != null && StringUtils.isNotBlank(userId)){
if(page.getUserId() == null || page.getUserId().equals("")){
page.setUserId(LoginUserUtil.getUserId());
}
if(page.getMenuId() != null && page.getUserId() != null && StringUtils.isNotBlank(page.getUserId())){
QueryWrapper<TsResource> qw = new QueryWrapper<>();
qw.eq("ID",page.getMenuId());
qw.isNull("PARENT_ID");
@@ -320,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) {
@@ -338,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("");
}
@@ -437,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(","));
@@ -486,7 +499,21 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
nowOrderFunc(page);
}
List<SarLawsStandInfo> rows = this.baseMapper.getSarStandardsExportInfo(page);
String fieldInfo = InitStandAttrUtil.queryFieldLaws;
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(","));
if(StringUtils.isNotBlank(exportAllAttrInfo)){
page.setExportAllAttrInfo(exportAllAttrInfo);
}
if(StringUtils.isNotBlank(exportAllResult)){
page.setExportAllResult(exportAllResult);
}
List<SarLawsStandInfoExport> rows = this.baseMapper.getSarStandardsExportInfo(page);
attrInfoShowExport(rows);
return rows;
}
@@ -560,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<>();
@@ -571,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);
@@ -589,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);
}
@@ -759,7 +807,7 @@ public class SarLawsStandInfoServiceImpl extends ServiceImpl<SarLawsStandInfoDao
String sortName = sysInfoEOService.getDicNamesByCodes(sarStandardsInfoEO.getLawsType(),"sg9gb7liywkrnv3pa5uh");
String number = sortName + " " + sarStandardsInfoEO.getLawsNumber();
String content = number + "" + sarStandardsInfoEO.getLawsName()+" " + sarStandardsInfoEO.getLawsEnName() + "";
sarUpdLogEOService.createUpdateLog(SarTypeEnum.BUSINESS.getValue(),sarStandardsInfoEO.getId(),oldMap,newMap,content);
sarUpdLogEOService.createUpdateLog(SarTypeEnum.FOREIGN_LAWS.getValue(),sarStandardsInfoEO.getId(),oldMap,newMap,content);
}
public Map<String,Object> changeMap (SarLawsStandInfo sarStandardsInfoEO,Map<String,Object> map) {
@@ -220,14 +220,20 @@ public class SarUpdLogServiceImpl extends ServiceImpl<SarUpdLogDao, SarUpdLog> i
public String changeLawsName (String field,String sarType) throws Exception{
switch (field) {
case "country": return "适用区域";
case "isRelateAccess": return "重要度";
case "issueTime": return "发布日期";
case "standEnName": return "英文名称";
case "lawsType": return "政策分类";
case "lawsNumber": return "政策编号";
case "lawsName": return "政策名称";
case "lawsEnName": return "英文名称";
case "standName": return "中文名称";
case "standNumber": return "政策";
case "standState": return "政策状态";
case "replaceStandNum": return "代替政策编号";
case "lawsNo": return "政策";
case "issueTime": return "发文日期";
case "issueCompany": return "发文单位";
case "lawsTextState": return "文本状态";
case "lawsSyqy": return "适用区域";
case "lawsSycx": return "适用车型";
case "lawsYear": return "年度";
case "lawsNotisyncNum": return "福田转发通知文号";
case "lawsBulletin": return "信息简报";
default:
String name = sarStandAttrDetailsEODao.selectNameByField(field,sarType);
return name;
@@ -47,8 +47,8 @@ public class FieldConvertUtil {
"EOP实施日期(文本),责任部门,相关部门,SVPPS,FO,项目评估角色,法规维护人,代替标准编号," +
"对应其他标准,文字描述,等效标准,引用标准,被引用标准,覆盖关系";
public static String exportBaseFieldNamesLaws = "政策分类,政策编号,中文名称,英文名称,政策文号,发文日期,发文单位,征集意见周期-起始时间,征集意见周期-结束时间,文本状态," +
"适用区域,适用车型,是否纳入认证清单,年度,福田转发通知文号,信息简报,标签,备注";
public static String exportBaseFieldNamesLaws = "政策分类,政策编号,政策名称,英文名称,政策文号,发文日期,发文单位,征集意见周期-起始时间,征集意见周期-结束时间,文本状态," +
"适用区域,适用车型,是否纳入认证清单,年度,福田转发通知文号,信息简报,标签,备注(最终政策发布)";
public static String exportAttrFieldNamesLaws = "适用车辆类型,要求类型," +
"个性化标签,政策文本,过程稿件,新车型实施日期(文本),在产车实施日期(文本),EOP实施日期(文本),SVPPS," +
@@ -2,6 +2,7 @@ package com.adc.da.utils.util;
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.sarStandAttrDetails.entity.SarStandAttrDetails;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.usermodel.*;
@@ -10,10 +11,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 标准导出工具
@@ -24,11 +23,11 @@ public class LawsStandExportUtil {
private static final Logger logger = LoggerFactory.getLogger(LawsStandExportUtil.class);
public static Workbook exportDatas (List<SarLawsStandInfo> datas) {
public static Workbook exportDatas (List<SarLawsStandInfoExport> datas) {
Workbook workbook = new XSSFWorkbook();
try {
StringBuilder attrBud = new StringBuilder();
List<SarStandAttrDetails> detailsEOList = InitStandAttrUtil.lawsStandAttrFieldList;
List<SarStandAttrDetails> detailsEOList = InitStandAttrUtil.lawsForeignAttrFieldList;
Map<String,String> attrInfoMap = new HashMap<>();
for (SarStandAttrDetails detailsEO : detailsEOList) {
if (!InitStandAttrUtil.fileFieldListLaws.contains(detailsEO.getAttrField())) {
@@ -62,13 +61,13 @@ public class LawsStandExportUtil {
}
}
public static void createDatas(Workbook workbook,Sheet sheet,List<SarLawsStandInfo> datas,
public static void createDatas(Workbook workbook,Sheet sheet,List<SarLawsStandInfoExport> datas,
String header,Map<String,String> attrInfoMap) throws Exception{
CellStyle cellStyle = workbook.createCellStyle();//初始化单元格格式对象
cellStyle.setAlignment(HorizontalAlignment.CENTER);
if (datas != null && !datas.isEmpty()) {
for (int i=0;i < datas.size(); i++) {
SarLawsStandInfo sarStandardsInfoEO = datas.get(i);
SarLawsStandInfoExport sarStandardsInfoEO = datas.get(i);
Row row = sheet.createRow(i+1);
String[] headerArr = header.split(",");
int sheetNum = 0;
@@ -85,7 +84,7 @@ public class LawsStandExportUtil {
}
// 根据表头返回相应值
public static String getValueByName (String name,SarLawsStandInfo sarStandardsInfoEO,Map<String,String> attrInfoMap) throws Exception{
public static String getValueByName (String name,SarLawsStandInfoExport sarStandardsInfoEO,Map<String,String> attrInfoMap) throws Exception{
String value = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Map<String,Object> attrValueMap = sarStandardsInfoEO.getAttrInfoMap();
@@ -96,7 +95,7 @@ public class LawsStandExportUtil {
case "政策编号":
value = verifyBean(sarStandardsInfoEO.getLawsNumber());
break;
case "中文名称":
case "政策名称":
value = verifyBean(sarStandardsInfoEO.getLawsName());
break;
case "英文名称":
@@ -114,6 +113,11 @@ public class LawsStandExportUtil {
issueTime=sarStandardsInfoEO.getIssueTime();
}
value = issueTime;
if(StringUtils.isNotBlank(value)){
if (value.length()>10){
value = value.substring(0,10);
}
}
break;
case "发文单位":
value = verifyBean(sarStandardsInfoEO.getIssueCompany());
@@ -126,6 +130,11 @@ public class LawsStandExportUtil {
commentCycleStart=sarStandardsInfoEO.getCommentCycleStart();
}
value = commentCycleStart;
if(StringUtils.isNotBlank(value)){
if (value.length()>10){
value = value.substring(0,10);
}
}
break;
case "征集意见周期-结束时间":
String commentCycleEnd="";
@@ -135,6 +144,11 @@ public class LawsStandExportUtil {
commentCycleEnd=sarStandardsInfoEO.getCommentCycleEnd();
}
value = commentCycleEnd;
if(StringUtils.isNotBlank(value)){
if (value.length()>10){
value = value.substring(0,10);
}
}
break;
case "文本状态":
value = verifyBean(sarStandardsInfoEO.getStandStatusShow());
@@ -160,14 +174,25 @@ public class LawsStandExportUtil {
case "标签":
value = verifyBean(sarStandardsInfoEO.getLawsLabel());
break;
case "备注":
case "备注(最终政策发布)":
value = verifyBean(sarStandardsInfoEO.getLawsRemark());
break;
default:
List<String> list = new ArrayList<>();
List<String > dateList = InitStandAttrUtil.timeFieldListLaws;
List<String > dateList2 = InitStandAttrUtil.multiTimeFieldListLaws;
list.addAll(dateList);
list.addAll(dateList2);
String field = attrInfoMap.get(name);
if (attrValueMap != null) {
List<String> finalData = list.stream().filter(field::contains).collect(Collectors.toList());
value = String.valueOf(attrValueMap.get(field));
}
if (!finalData.isEmpty()) {
if (value.length()>10){
value = value.substring(0,10);
}
}
}
break;
}
return value;
@@ -6,7 +6,7 @@
<resultMap id="BaseResultMap" type="com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo" >
</resultMap>
<resultMap id="BaseResultMapExcel" type="com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfo" >
<resultMap id="BaseResultMapExcel" type="com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoExport" >
</resultMap>
<sql id="Base_Where_Clause">
@@ -178,7 +178,7 @@
<if test="collectMenuId != null and collectMenuId != ''">
and SAR_LAWS_STAND_INFO.id in (
select COLLECT_RES_ID from TS_PERSON_COLLECT where TS_PERSON_COLLECT.VALID_FLAG=0
and (collect_type='INLAND_STAND' or collect_type='FOREIGN_STAND')
and (collect_type='FOREIGN_LAWS')
and TS_PERSON_COLLECT.user_id=#{userId}
)
</if>
@@ -280,9 +280,7 @@
GROUP BY SAR_LAWS_STAND_INFO.id) a
</select>
<select id="getSarStandardsExportInfo" resultMap="BaseResultMapExcel"
parameterType="com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage">
select
<sql id="Base_Column_List_show_Export" >
DISTINCT SAR_LAWS_STAND_INFO.ID,
laws_type_show.DIC_TYPE_NAME as LAWS_TYPE,
SAR_LAWS_STAND_INFO.LAWS_NUMBER,
@@ -297,21 +295,79 @@
laws_sycx_show.DIC_TYPE_NAME as LAWS_SYCX,
laws_syqy_show.DIC_TYPE_NAME as LAWS_SYQY,
SAR_LAWS_STAND_INFO.IS_RELATE_ACCESS,
SAR_LAWS_STAND_INFO.LAWS_YEAR,
laws_year_show.DIC_TYPE_NAME as LAWS_YEAR,
SAR_LAWS_STAND_INFO.LAWS_NOTISYNC_NUM,
SAR_LAWS_STAND_INFO.LAWS_BULLETIN,
SAR_LAWS_STAND_INFO.LAWS_LABEL,
laws_label_show.DIC_TYPE_NAME as LAWS_LABEL,
SAR_LAWS_STAND_INFO.LAWS_REMARK,
SAR_LAWS_STAND_INFO.COUNTRY,
SAR_LAWS_STAND_INFO.MODIFY_TIME,
dicstandTextStatus.DIC_TYPE_NAME AS standStatusShow
from SAR_LAWS_STAND_INFO
<include refid="export_condition"/>
</sql>
<sql id="Base_Column_List_show_ExportResult" >
DISTINCT tmp_tb.ID,
tmp_tb.LAWS_TYPE,
tmp_tb.LAWS_NUMBER,
tmp_tb.LAWS_NAME,
tmp_tb.LAWS_EN_NAME,
tmp_tb.LAWS_NO,
tmp_tb.ISSUE_TIME,
tmp_tb.ISSUE_COMPANY,
tmp_tb.COMMENT_CYCLE_START,
tmp_tb.COMMENT_CYCLE_END,
tmp_tb.LAWS_TEXT_STATE,
tmp_tb.LAWS_SYCX,
tmp_tb.LAWS_SYQY,
tmp_tb.IS_RELATE_ACCESS,
tmp_tb.LAWS_YEAR,
tmp_tb.LAWS_NOTISYNC_NUM,
tmp_tb.LAWS_BULLETIN,
tmp_tb.LAWS_LABEL,
tmp_tb.LAWS_REMARK,
tmp_tb.COUNTRY,
tmp_tb.MODIFY_TIME,
tmp_tb.standStatusShow,
tmp_tb.SSRQLAWS,
tmp_tb.XCXSSRQLAWS,
tmp_tb.ZCXSSRQLAWS,
tmp_tb.ZCWBLAWS,
tmp_tb.GCWBLAWS,
tmp_tb.JDWJLAWS,
tmp_tb.CYSDLAWS,
tmp_tb.TGRLAWS,
tmp_tb.TGDWLAWS,
tmp_tb.NYLXLAWS,
tmp_tb.YYRZLAWS,
tmp_tb.ZRBMLAWS,
tmp_tb.ZRGCSLAWS,
tmp_tb.DTWJHLAWS,
tmp_tb.BDTWJHLAWS,
tmp_tb.YYBZZCLAWS,
tmp_tb.XGLC,
tmp_tb.CHJLLAWS,
tmp_tb.GLWJLAWS
</sql>
<select id="getSarStandardsExportInfo" resultMap="BaseResultMapExcel"
parameterType="com.adc.da.slrs.sarLawsStandInfo.entity.SarLawsStandInfoPage">
SELECT <include refid="Base_Column_List_show_ExportResult" />
<if test="exportAllResult != null">
, ${exportAllResult}
</if>
FROM (
select <include refid="Base_Column_List_show_Export" />
<if test="exportAllAttrInfo != null">
, ${exportAllAttrInfo}
</if>
from SAR_LAWS_STAND_INFO
<include refid="export_condition"/>
) tmp_tb
order by
<if test='orderByA != null and orderByA != "" and order1 != null and order1 != ""'>
${orderByA} ${order1},
</if>
SAR_LAWS_STAND_INFO.id
tmp_tb.issue_time is null,tmp_tb.issue_time desc,tmp_tb.id
</select>
@@ -322,21 +378,33 @@
AND dicstandTextStatus.dic_id IS NOT NULL
AND dicstandTextStatus.valid_flag = 0
)
<!--年份-->
LEFT JOIN TS_DICTYPE laws_year_show ON (
laws_year_show.dic_type_code = SAR_LAWS_STAND_INFO.LAWS_YEAR
AND dicstandTextStatus.dic_id IS NOT NULL
AND dicstandTextStatus.valid_flag = 0
)
<!--标签-->
LEFT JOIN TS_DICTYPE laws_label_show ON (
laws_label_show.dic_type_code = SAR_LAWS_STAND_INFO.LAWS_LABEL
AND dicstandTextStatus.dic_id IS NOT NULL
AND dicstandTextStatus.valid_flag = 0
)
<!--适用车型-->
LEFT JOIN TS_DICTYPE laws_sycx_show ON (
dicstandTextStatus.dic_type_code = SAR_LAWS_STAND_INFO.LAWS_SYCX
laws_sycx_show.dic_type_code = SAR_LAWS_STAND_INFO.LAWS_SYCX
AND dicstandTextStatus.dic_id IS NOT NULL
AND dicstandTextStatus.valid_flag = 0
)
<!--适用区域-->
LEFT JOIN TS_DICTYPE laws_syqy_show ON (
dicstandTextStatus.dic_type_code = SAR_LAWS_STAND_INFO.LAWS_SYQY
laws_syqy_show.dic_type_code = SAR_LAWS_STAND_INFO.LAWS_SYQY
AND dicstandTextStatus.dic_id IS NOT NULL
AND dicstandTextStatus.valid_flag = 0
)
<!--政策分类-->
LEFT JOIN TS_DICTYPE laws_type_show ON (
dicstandTextStatus.dic_type_code = SAR_LAWS_STAND_INFO.LAWS_TYPE
laws_type_show.dic_type_code = SAR_LAWS_STAND_INFO.LAWS_TYPE
AND dicstandTextStatus.dic_id IS NOT NULL
AND dicstandTextStatus.valid_flag = 0
)
@@ -433,7 +501,7 @@
<if test="collectMenuId != null and collectMenuId != ''">
and SAR_LAWS_STAND_INFO.id in (
select COLLECT_RES_ID from TS_PERSON_COLLECT where TS_PERSON_COLLECT.VALID_FLAG=0
and (collect_type='INLAND_STAND' or collect_type='FOREIGN_STAND')
and (collect_type='FOREIGN_LAWS')
and TS_PERSON_COLLECT.user_id=#{userId}
)
</if>
@@ -15,6 +15,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
@@ -137,8 +138,9 @@ public class PersonCollectEOServiceImpl extends ServiceImpl<PersonCollectEODao,
if (collectTitle != null && !collectTitle.equals("")){
wrapper.like("collect_title",collectTitle);
}
if (modeType != null && !modeType.equals("")){
wrapper.eq("collect_type",modeType);
if (StringUtils.isNotBlank(modeType)){
List<String> ids = new ArrayList<>(Arrays.asList(modeType.split(",")));
wrapper.in("collect_type",ids);
}
if (pageNo != null) {