Merge remote-tracking branch 'origin/dev_third_stage' into dev_third_stage

This commit is contained in:
liyawei
2022-10-14 11:39:37 +08:00
53 changed files with 2256 additions and 1333 deletions
@@ -1179,4 +1179,10 @@ update onl_cgform_field set is_query = '1', is_read_only = '1' where id = '09fa6
-- 配置表,增加问题知识库预览图片配置 2022-09-27 已同步生产环境
INSERT INTO `laws_weilai`.`sys_config` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `config`, `config_name`) VALUES ('4', 'admin', '2022-09-28 14:35:30', NULL, NULL, 'A01', 'http://grp.nioint.com/', 'domianWebImgURL');
--问题知识库,增加字段 发布状态 2022-10-13 未同步生产环境
ALTER TABLE `laws_weilai`.`problem_knowledge_base`
ADD COLUMN `release_status` varchar(50) NULL COMMENT '发布状态' AFTER `release_time`;
--处理问题知识库数据,发布人,发布时间,发布状态数据sql 2022-10-13 未同步生产环境
update problem_knowledge_base pkd set pkd.release_status = 'Have released',pkd.release_time = pkd.create_time,pkd.release_user_id = (select su.id from sys_user su where su.username = pkd.create_by)
@@ -0,0 +1,62 @@
package com.jero.modules.system.enums;
public enum RoleEnum {
ADMIN_ID("R&H Manager","R&H Manager","manager","1534020391015444481",2),
MANAGER_ID("系统管理员","Administrator","admin","f6817f48af4fb3af11b9e8bf182f618b",3),
COUNTRU_CARD_MANAGE("countryCard管理员","countryCardManage","countryCardManage","1564916346120916993",4),
;
String name;
String enName;
String value;
String id;
Integer order;
RoleEnum(String name, String enName, String value, String id, Integer order) {
this.name = name;
this.enName = enName;
this.value = value;
this.id = id;
this.order = order;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getEnName() {
return enName;
}
public void setEnName(String enName) {
this.enName = enName;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Integer getOrder() {
return order;
}
public void setOrder(Integer order) {
this.order = order;
}
}
@@ -270,4 +270,10 @@ public interface ISysUserService extends IService<SysUser> {
* @return
*/
List<SysRole> queryUserRoleListInfoByUserId(String userId);
/**
* 验证当前登录用户是否是超级管理员。
* @return
*/
boolean isAdministrator();
}
@@ -17,6 +17,7 @@ import com.jero.common.util.oConvertUtils;
import com.jero.modules.base.service.BaseCommonService;
import com.jero.modules.system.entity.*;
import com.jero.modules.system.enums.PPSyncEnum;
import com.jero.modules.system.enums.RoleEnum;
import com.jero.modules.system.mapper.*;
import com.jero.modules.system.model.SysUserSysDepartModel;
import com.jero.modules.system.service.ISysUserService;
@@ -24,6 +25,7 @@ import com.jero.modules.system.vo.SysUserDepVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Service;
@@ -586,4 +588,30 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
}
return result;
}
/**
* 验证当前登录用户是否是超级管理员
* @return
*/
@Override
public boolean isAdministrator() {
boolean result = false;
RoleEnum administrator = RoleEnum.MANAGER_ID;
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<SysUserRole> userRoleList = this.sysUserRoleMapper.selectList(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, currentUser.getId())); // 查询用户所有角色
if(CollectionUtils.isNotEmpty(userRoleList)){
List<SysUserRole> userRoles = userRoleList.stream().filter(userRole -> {
boolean flag = false;
if(StringUtils.equals(userRole.getRoleId(),administrator.getId())){
flag = true;
}
return flag;
}).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(userRoles)){
result = true;
}
}
return result;
}
}
@@ -8,7 +8,7 @@ import org.apache.commons.lang3.StringUtils;
*/
public enum ReleaseConditionEnum {
PUBLISHED("已发布","published","Have published"),
PUBLISHED("已发布","published","Published"),
DRAFT("草稿","draft","Draft"),
;
@@ -8,13 +8,16 @@ import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO;
import com.jero.modules.lawsOpinionGather.service.ILawsOpinionGatherEOService;
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.jero.modules.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@@ -37,6 +40,8 @@ import com.jero.common.aspect.annotation.AutoLog;
public class LawsOpinionGatherEOController extends JeroController<LawsOpinionGatherEO, ILawsOpinionGatherEOService> {
@Autowired
private ILawsOpinionGatherEOService lawsOpinionGatherEOService;
@Autowired
private ISysUserService sysUserService;
/**
* 分页列表查询
@@ -57,6 +62,19 @@ public class LawsOpinionGatherEOController extends JeroController<LawsOpinionGat
HttpServletRequest req) {
QueryWrapper<LawsOpinionGatherEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsOpinionGatherEO, req.getParameterMap());
queryWrapper.orderByDesc("start_time");
/**
* 创建查询数据权限,超级管理员可以看到所有的数据,并且能删除,其它用户只能看到自己创建、或自己为评估人的数据。
*/
boolean administrator = this.sysUserService.isAdministrator();
if(!administrator){
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//如果不是超级管理员,获取自己所有参与过的法规意见收集
queryWrapper.and(query -> {
query.eq("create_by",currentUser.getUsername());
query.or().like("evaluator_ids",currentUser.getId());
});
}
Page<LawsOpinionGatherEO> page = new Page<LawsOpinionGatherEO>(pageNo, pageSize);
IPage<LawsOpinionGatherEO> pageList = lawsOpinionGatherEOService.page(page, queryWrapper);
this.lawsOpinionGatherEOService.disposeData(pageList.getRecords(),cut);
@@ -122,4 +122,8 @@ public class LawsOpinionGatherEO implements Serializable {
@ApiModelProperty(value = "评估人ids,多个之间使用英文逗号分隔")
private String evaluatorIds;
/**删除标识 true 可以删除,false,没有权限删除**/
@TableField(exist = false)
private boolean deleteFlag = false;
}
@@ -6,6 +6,7 @@ import com.jero.common.api.vo.Result;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.constant.enums.MessageTypeEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.feishu.vo.FeishuMsgVo;
import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO;
import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum;
@@ -31,6 +32,7 @@ import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.wkflow.feginClient.WorkFlowFeignClient;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.modules.jmreport.common.constant.CommonConstant;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -197,6 +199,8 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl<LawsOpinionGathe
@Override
public void disposeData(List<LawsOpinionGatherEO> lawsOpinionGatherEOList,String cut) {
if(CollectionUtils.isNotEmpty(lawsOpinionGatherEOList)){
boolean administrator = this.sysUserService.isAdministrator();
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//树形数据字典
List<SysCategory> technologyTerritoryList = sysCategoryService.list();
lawsOpinionGatherEOList.forEach(lawsOpinionGather -> {
@@ -211,6 +215,10 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl<LawsOpinionGathe
List<OSSFile> opinionArchiveFileList = iOSSFileService.getFileInfosByConnectId(StringUtils.join(lawsOpinionGather.getOpinionArchiveId(), ","));
lawsOpinionGather.setOpinionArchiveFileList(opinionArchiveFileList);
}
//如果当前用户是超级管理员,或是这条数据的创建人,给删除权限。
if(StringUtils.equals(lawsOpinionGather.getCreateBy(),currentUser.getUsername()) || administrator){
lawsOpinionGather.setDeleteFlag(true);
}
});
}
}
@@ -3,19 +3,26 @@ package com.jero.modules.lawsTechnologyEvaluation.controller;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO;
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO;
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService;
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.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationFlowDetailEOService;
import com.jero.modules.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
@@ -40,6 +47,10 @@ import com.jero.common.aspect.annotation.AutoLog;
public class LawsTechnologyEvaluationEOController extends JeroController<LawsTechnologyEvaluationEO, ILawsTechnologyEvaluationEOService> {
@Autowired
private ILawsTechnologyEvaluationEOService lawsTechnologyEvaluationEOService;
@Autowired
private ISysUserService sysUserService;
@Autowired
private ILawsTechnologyEvaluationFlowDetailEOService lawsTechnologyEvaluationFlowDetailEOService;
/**
* 分页列表查询
@@ -60,6 +71,10 @@ public class LawsTechnologyEvaluationEOController extends JeroController<LawsTec
HttpServletRequest req) {
QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsTechnologyEvaluationEO, req.getParameterMap());
queryWrapper.orderByDesc("start_time");
boolean administrator = this.sysUserService.isAdministrator();
if(!administrator){
this.lawsTechnologyEvaluationEOService.createQueryPermission(queryWrapper,lawsTechnologyEvaluationEO,administrator);
}
Page<LawsTechnologyEvaluationEO> page = new Page<LawsTechnologyEvaluationEO>(pageNo, pageSize);
IPage<LawsTechnologyEvaluationEO> pageList = lawsTechnologyEvaluationEOService.page(page, queryWrapper);
this.lawsTechnologyEvaluationEOService.disposeData(pageList.getRecords(),cut);
@@ -149,4 +149,7 @@ public class LawsTechnologyEvaluationEO implements Serializable {
@ApiModelProperty(value = "流程编号")
private String prcNum;
/**删除标识 true 可以删除,false,没有权限删除**/
@TableField(exist = false)
private boolean deleteFlag = false;
}
@@ -1,6 +1,7 @@
package com.jero.modules.lawsTechnologyEvaluation.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.jero.common.api.vo.Result;
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO;
@@ -92,4 +93,6 @@ public interface ILawsTechnologyEvaluationEOService extends IService<LawsTechnol
void workFlowSendMsg(JSONObject jsonObject);
Result<?> batchCompleteTask(JSONObject jsonObject);
void createQueryPermission(QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper, LawsTechnologyEvaluationEO lawsTechnologyEvaluationEO,boolean administrator);
}
@@ -9,6 +9,7 @@ import com.jero.common.constant.enums.CutEnum;
import com.jero.common.constant.enums.MessageTypeEnum;
import com.jero.common.constant.enums.ModuleEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
import com.jero.modules.document.enums.FieldTypeEnum;
@@ -39,6 +40,7 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.shiro.SecurityUtils;
import org.jeecg.modules.jmreport.common.constant.CommonConstant;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -229,6 +231,8 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
@Override
public void disposeData(List<LawsTechnologyEvaluationEO> datas, String cut) {
if(CollectionUtils.isNotEmpty(datas)){
boolean administrator = this.sysUserService.isAdministrator();
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<SysCategory> categoryList = sysCategoryService.list();
for (LawsTechnologyEvaluationEO data : datas) {
if(StringUtils.isNotEmpty(data.getEvaluationMethods())){
@@ -244,6 +248,9 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
String name = getTreeName(cut, categoryList, technologyTerritory);
data.setTechnologyTerritoryName(name);
}
if(administrator || StringUtils.equals(data.getCreateBy(),currentUser.getUsername())){
data.setDeleteFlag(true);
}
}
}
}
@@ -696,6 +703,29 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
return new Result<>().success("手动结束成功!");
}
@Override
public void createQueryPermission(QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper, LawsTechnologyEvaluationEO lawsTechnologyEvaluationEO,boolean administrator) {
if(!administrator){
//如果不是超级管理员,获取自己创建的和所有参与过的法规技术评估数据。
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
QueryWrapper<LawsTechnologyEvaluationFlowDetailEO> flowDetailQueryWrap = new QueryWrapper<>();
flowDetailQueryWrap.lambda().eq(LawsTechnologyEvaluationFlowDetailEO::getEvaluatorId,currentUser.getId());
List<LawsTechnologyEvaluationFlowDetailEO> flowDetailEOList = this.lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailQueryWrap);
if(CollectionUtils.isNotEmpty(flowDetailEOList)){
List<String> lawsTechnologyEvaluationIdList = flowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId).distinct().collect(Collectors.toList());
queryWrapper.and(query -> {
query.eq("create_by",currentUser.getUsername());
query.or(q -> {
for (String lawsTechnologyEvaluationId : lawsTechnologyEvaluationIdList) {
q.or().like("id",lawsTechnologyEvaluationId);
}
});
});
}
}
}
private String getTreeName(String cut, List<SysCategory> categoryList, List<String> technologyTerritoryList) {
StringBuilder sb = new StringBuilder();
for (String technologyTerritory : technologyTerritoryList) {
@@ -13,6 +13,7 @@ import com.jero.modules.problemKnowledgeBase.service.IProblemKnowledgeBaseEOServ
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.jero.modules.system.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import com.jero.common.system.base.controller.JeroController;
import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +38,8 @@ import com.jero.common.aspect.annotation.AutoLog;
public class ProblemKnowledgeBaseEOController extends JeroController<ProblemKnowledgeBaseEO, IProblemKnowledgeBaseEOService> {
@Autowired
private IProblemKnowledgeBaseEOService problemKnowledgeBaseEOService;
@Autowired
private ISysUserService sysUserService;
/**
* 分页列表查询
@@ -54,6 +57,11 @@ public class ProblemKnowledgeBaseEOController extends JeroController<ProblemKnow
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
boolean administrator = this.sysUserService.isAdministrator();
//如果当前登录人是超级管理员角色,进入到管理发布页面时,查询所有的数据,其它用户只能查询自己创建的数据。
if(administrator){
problemKnowledgeBaseEO.setCreateBy(null);
}
QueryWrapper<ProblemKnowledgeBaseEO> queryWrapper = QueryGenerator.initQueryWrapper(problemKnowledgeBaseEO, req.getParameterMap());
this.problemKnowledgeBaseEOService.createQueryPermission(queryWrapper,problemKnowledgeBaseEO);
queryWrapper.orderByDesc("create_time");
@@ -1,6 +1,7 @@
package com.jero.modules.problemKnowledgeBase.entity;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType;
@@ -156,7 +157,7 @@ public class ProblemKnowledgeBaseEO implements Serializable {
/**发布日期*/
@Excel(name = "发布日期", width = 15)
@ApiModelProperty(value = "发布日期")
private java.lang.String releaseTime;
private Date releaseTime;
/**点赞总数量*/
@TableField(exist = false)
@@ -195,4 +196,9 @@ public class ProblemKnowledgeBaseEO implements Serializable {
/**附件展示数组*/
@TableField(exist = false)
private List<OSSFile> accessoryFileNameList;
/**发布状态*/
@Excel(name = "发布状态", width = 15)
@ApiModelProperty(value = "发布状态")
private String releaseStatus;
}
@@ -24,6 +24,7 @@ import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.problemKnowledgeBase.entity.*;
import com.jero.modules.problemKnowledgeBase.enums.CollectStatusEnum;
import com.jero.modules.problemKnowledgeBase.enums.PraiseStatusEnum;
import com.jero.modules.problemKnowledgeBase.enums.ReleaseStatusEnum;
import com.jero.modules.problemKnowledgeBase.enums.ShowPermissionsEnum;
import com.jero.modules.problemKnowledgeBase.mapper.ProblemKnowledgeBaseEOMapper;
import com.jero.modules.problemKnowledgeBase.service.*;
@@ -114,17 +115,19 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
Date now = new Date();
problemKnowledgeBaseEO.setCreateTime(now);
problemKnowledgeBaseEO.setUpdateTime(now);
save(problemKnowledgeBaseEO);
//如果该条问题知识库的展示权限为私密,则创建权限表数据
if(StringUtils.equals(problemKnowledgeBaseEO.getShowPermissions(), ShowPermissionsEnum.PRIVACY.getValue())){
this.batchInsertProblemKnowledgeBaseUserEO(problemKnowledgeBaseEO);
}
/*else {
//如果展示权限是公开,则把该数据插入到搜索中心中。
//如果是已发布,将数据更新到es中。
if(StringUtils.equals(problemKnowledgeBaseEO.getReleaseStatus(), ReleaseStatusEnum.HAVE_RELEASED.getValue())){
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
problemKnowledgeBaseEO.setReleaseUserId(currentUser.getId());
problemKnowledgeBaseEO.setReleaseTime(now);
this.addOrUpdateElasticsearch(problemKnowledgeBaseEO);
}*/
this.addOrUpdateElasticsearch(problemKnowledgeBaseEO);
}
save(problemKnowledgeBaseEO);
}
/**
@@ -382,9 +385,9 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
}
if(StringUtils.isNotEmpty(fileText)){
sbEn.append("Accessory File content" + ":" + fileText + " ");
sbEn.append("Attachment" + ":" + fileText + " ");
}else {
sbEn.append("Accessory File content" + ":" + "-- ");
sbEn.append("Attachment" + ":" + "-- ");
}
}
}
@@ -435,15 +438,23 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
public void editById(ProblemKnowledgeBaseEO problemKnowledgeBaseEO) {
Date now = new Date();
problemKnowledgeBaseEO.setUpdateTime(now);
saveOrUpdate(problemKnowledgeBaseEO);
//如果该条问题知识库的展示权限为私密,则创建权限表数据
if(StringUtils.equals(problemKnowledgeBaseEO.getShowPermissions(), ShowPermissionsEnum.PRIVACY.getValue())){
this.batchInsertProblemKnowledgeBaseUserEO(problemKnowledgeBaseEO);
//this.deleteElasticsearchData(problemKnowledgeBaseEO.getId());
}
this.addOrUpdateElasticsearch(problemKnowledgeBaseEO);
//如果是已发布,将数据更新到es中。
if(StringUtils.equals(problemKnowledgeBaseEO.getReleaseStatus(), ReleaseStatusEnum.HAVE_RELEASED.getValue())){
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
problemKnowledgeBaseEO.setReleaseUserId(currentUser.getId());
problemKnowledgeBaseEO.setReleaseTime(now);
this.addOrUpdateElasticsearch(problemKnowledgeBaseEO);
}else if(StringUtils.equals(problemKnowledgeBaseEO.getReleaseStatus(), ReleaseStatusEnum.DRAFT.getValue())){
//如果是草稿,将es中的数据删掉。
this.deleteElasticsearchData(problemKnowledgeBaseEO.getId());
}
saveOrUpdate(problemKnowledgeBaseEO);
}
/**
@@ -750,26 +761,32 @@ public class ProblemKnowledgeBaseEOServiceImpl extends ServiceImpl<ProblemKnowle
@Override
public void createQueryPermission(QueryWrapper<ProblemKnowledgeBaseEO> queryWrapper,ProblemKnowledgeBaseEO problemKnowledgeBaseEO) {
/**
* 查询权限
* 公开:所有人都可以看到。
* 私密:只有配置了的权限用户可以看到。
* 2022-10-13增加权限,超级管理员可以看到所有的问题知识库数据。
*/
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
QueryWrapper<ProblemKnowledgeBaseUserEO> userPermissionQueryWrapper = new QueryWrapper<>();
userPermissionQueryWrapper.lambda().eq(ProblemKnowledgeBaseUserEO::getUserId,currentUser.getId());
List<ProblemKnowledgeBaseUserEO> problemKnowledgeBaseUserEOList = problemKnowledgeBaseUserEOService.list(userPermissionQueryWrapper);
boolean administrator = this.sysUserService.isAdministrator();
if(!administrator){
/**
* 查询权限
* 公开:所有人都可以看到。
* 私密:只有配置了的权限用户可以看到。
*/
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
QueryWrapper<ProblemKnowledgeBaseUserEO> userPermissionQueryWrapper = new QueryWrapper<>();
userPermissionQueryWrapper.lambda().eq(ProblemKnowledgeBaseUserEO::getUserId,currentUser.getId());
List<ProblemKnowledgeBaseUserEO> problemKnowledgeBaseUserEOList = problemKnowledgeBaseUserEOService.list(userPermissionQueryWrapper);
List<String> problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList());
List<String> problemKnowledgeBaseIdList = problemKnowledgeBaseUserEOList.stream().map(ProblemKnowledgeBaseUserEO::getProblemKnowledgeBaseId).distinct().collect(Collectors.toList());
queryWrapper.lambda().and(query -> {
query.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.OPEN.getValue());
queryWrapper.lambda().and(query -> {
query.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.OPEN.getValue());
if(CollectionUtils.isNotEmpty(problemKnowledgeBaseIdList)){
query.or(o -> {
o.eq(ProblemKnowledgeBaseEO::getShowPermissions,ShowPermissionsEnum.PRIVACY.getValue());
o.in(ProblemKnowledgeBaseEO::getId,problemKnowledgeBaseIdList);
});
}
});
});
}
String searchStr = problemKnowledgeBaseEO.getSearchStr();
if(StringUtils.isNotEmpty(searchStr)){
@@ -1,6 +1,7 @@
package com.jero.modules.report.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.system.base.controller.JeroController;
@@ -62,9 +63,29 @@ public class LawsMonthlyReportWriteEOController extends JeroController<LawsMonth
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
IPage<LawsMonthlyReportWriteEO> pageList = lawsMonthlyReportWriteEOService.getPageInfo(lawsMonthlyReportWriteEO, pageNo,pageSize,req);
return Result.OK(pageList);
List<LawsMonthlyReportWriteEO> listInfo = lawsMonthlyReportWriteEOService.getListInfo(lawsMonthlyReportWriteEO, pageNo, pageSize, req);
Page pages = lawsMonthlyReportWriteEOService.getPages(pageNo, pageSize, listInfo);
return Result.OK(pages);
}
// /**
// * 分页列表查询
// *
// * @param lawsMonthlyReportWriteEO
// * @param pageNo
// * @param pageSize
// * @param req
// * @return
// */
// @AutoLog(value = "月报填写-分页列表查询")
// @ApiOperation(value="月报填写-分页列表查询", notes="月报填写-分页列表查询")
// @GetMapping(value = "/page")
// public Result<?> queryPageList(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
// @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
// @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
// HttpServletRequest req) {
// IPage<LawsMonthlyReportWriteEO> pageList = lawsMonthlyReportWriteEOService.getPageInfo(lawsMonthlyReportWriteEO, pageNo,pageSize,req);
// return Result.OK(pageList);
// }
/**
* 列表查询
@@ -13,7 +13,6 @@ import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@@ -29,7 +28,7 @@ import java.util.List;
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="laws_monthly_report_title_template对象", description="月报标题模板")
public class LawsMonthlyReportTitleTemplateEO implements Serializable {
public class LawsMonthlyReportTitleTemplateEO implements Comparable<LawsMonthlyReportTitleTemplateEO> {
private static final long serialVersionUID = 1L;
/**主键*/
@@ -84,4 +83,10 @@ public class LawsMonthlyReportTitleTemplateEO implements Serializable {
@TableField(exist = false)
private String key;
@Override
public int compareTo(LawsMonthlyReportTitleTemplateEO o) {
return this.sort-o.sort;//升序
// return o.id-this.id;//降序
}
}
@@ -7,8 +7,8 @@ package com.jero.modules.report.enums;
* @auth zhn
*/
public enum ExportStateEnum {
NOT_EXPORT("未导出","Not export","1"),
HAS_BEEN_EXPORT("已导出","Has been export","2");
NOT_EXPORT("未导出","Not exported","1"),
HAS_BEEN_EXPORT("已导出","Exported","2");
String name;
@@ -1,6 +1,7 @@
package com.jero.modules.report.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.modules.report.entity.LawsMonthlyReportWriteEO;
@@ -72,7 +73,11 @@ public interface ILawsMonthlyReportWriteEOService extends IService<LawsMonthlyRe
* @param req
* @return
*/
IPage<LawsMonthlyReportWriteEO> getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
// IPage<LawsMonthlyReportWriteEO> getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
// Integer pageNo,
// Integer pageSize,
// HttpServletRequest req);
List<LawsMonthlyReportWriteEO> getListInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,
Integer pageNo,
Integer pageSize,
HttpServletRequest req);
@@ -82,4 +87,6 @@ public interface ILawsMonthlyReportWriteEOService extends IService<LawsMonthlyRe
LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO);
IPage queryPageDocument(Map<String, Object> parameter);
Page getPages(Integer currentPage, Integer pageSize, List<LawsMonthlyReportWriteEO> list);
}
@@ -60,8 +60,10 @@ import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -288,7 +290,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
}
@Override
public IPage<LawsMonthlyReportWriteEO> getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp,
public List<LawsMonthlyReportWriteEO> getListInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp,
Integer pageNo,
Integer pageSize,
HttpServletRequest req) {
@@ -300,11 +302,48 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
if(!rolesList.contains(ProjectRoleEnum.ADMIN.getCode())){
queryWrapper.in("create_by",currentUser.getUsername());
}
Page<LawsMonthlyReportWriteEO> page = new Page<LawsMonthlyReportWriteEO>(pageNo, pageSize);
Page<LawsMonthlyReportWriteEO> pageInfo = this.page(page, queryWrapper);
// Page<LawsMonthlyReportWriteEO> page = new Page<LawsMonthlyReportWriteEO>(pageNo, pageSize);
// Page<LawsMonthlyReportWriteEO> pageInfo = this.page(page, queryWrapper);
//所有的月报
List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOList = this.list(queryWrapper);
//所有月报的一级目录
List<String> oneMenuIdLIst = lawsMonthlyReportWriteEOList.stream().map(LawsMonthlyReportWriteEO::getMemoriesChapterOne).distinct().collect(Collectors.toList());
//月报标题模板
LambdaQueryWrapper<LawsMonthlyReportTitleTemplateEO> wrapperTemp = new LambdaQueryWrapper<>();
wrapperTemp.orderByAsc(LawsMonthlyReportTitleTemplateEO::getSort);
List<LawsMonthlyReportTitleTemplateEO> list = lawsMonthlyReportTitleTemplateEOService.list(wrapperTemp);
//1. 一级目录
List<LawsMonthlyReportTitleTemplateEO> oneList = list.stream().filter(e -> StringUtils.isBlank(e.getParentId())).collect(Collectors.toList());
oneList = oneList.stream().filter(e -> oneMenuIdLIst.contains(e.getId())).collect(Collectors.toList());
Collections.sort(oneList);//正序排序
List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS = new LinkedList<>();
for (LawsMonthlyReportTitleTemplateEO lawsMonthlyReportTitleTemplateEO : oneList) {
String oneId = lawsMonthlyReportTitleTemplateEO.getId();
//一级目录下的二级目录
List<LawsMonthlyReportTitleTemplateEO> twoList = list.stream().filter(e -> StringUtils.isNotBlank(e.getParentId()) && oneId.equals(e.getParentId())).collect(Collectors.toList());
Collections.sort(twoList);//正序排序
//一级目录下的月报
for (LawsMonthlyReportTitleTemplateEO monthlyReportTitleTemplateEO : twoList) {
for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : lawsMonthlyReportWriteEOList) {
if(oneId.equals(lawsMonthlyReportWriteEO.getMemoriesChapterOne()) && monthlyReportTitleTemplateEO.getId().equals(lawsMonthlyReportWriteEO.getMemoriesChapter())){
lawsMonthlyReportWriteEOS.add(lawsMonthlyReportWriteEO);
}
}
}
// List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOListOne = lawsMonthlyReportWriteEOList.stream()
// .filter(e -> oneId.equals(e.getMemoriesChapterOne())).collect(Collectors.toList());
// lawsMonthlyReportWriteEOS.addAll(lawsMonthlyReportWriteEOListOne);
}
//法规月报id
List<String> lawsMonthlyReportIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList());
List<String> userIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList());
List<String> lawsMonthlyReportIdList = lawsMonthlyReportWriteEOS.stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList());
List<String> userIdList = lawsMonthlyReportWriteEOS.stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList());
List<String> userIds = new ArrayList<>();
for (String s : userIdList) {
if(StringUtils.isNotBlank(s)){
@@ -343,7 +382,7 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
}
for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : pageInfo.getRecords()) {
for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : lawsMonthlyReportWriteEOS) {
//处理法规联系人
lawsContact(userList, lawsMonthlyReportWriteEO,lawsMonthlyReportWriteEOTemp.getCut());
//处理章节目录
@@ -398,8 +437,121 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
}
}
}
return pageInfo;
return lawsMonthlyReportWriteEOS;
}
// @Override
// public IPage<LawsMonthlyReportWriteEO> getPageInfo(LawsMonthlyReportWriteEO lawsMonthlyReportWriteEOTemp,
// Integer pageNo,
// Integer pageSize,
// HttpServletRequest req) {
// QueryWrapper<LawsMonthlyReportWriteEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsMonthlyReportWriteEOTemp, req.getParameterMap());
// queryWrapper.orderByDesc("memories_chapter_one","memories_chapter","create_time");
// //管理员查看全部数据,其余人只能查看自己的数据
// LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
// List<String> rolesList = sysBaseApi.getRolesByUsername(currentUser.getUsername());
// if(!rolesList.contains(ProjectRoleEnum.ADMIN.getCode())){
// queryWrapper.in("create_by",currentUser.getUsername());
// }
// Page<LawsMonthlyReportWriteEO> page = new Page<LawsMonthlyReportWriteEO>(pageNo, pageSize);
// Page<LawsMonthlyReportWriteEO> pageInfo = this.page(page, queryWrapper);
// //法规月报id
// List<String> lawsMonthlyReportIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getId).collect(Collectors.toList());
// List<String> userIdList = pageInfo.getRecords().stream().map(LawsMonthlyReportWriteEO::getLawsContact).collect(Collectors.toList());
// List<String> userIds = new ArrayList<>();
// for (String s : userIdList) {
// if(StringUtils.isNotBlank(s)){
// if(s.contains(",")){
// userIds.addAll(Arrays.asList(s.split(",")));
// }else{
// userIds.add(s);
// }
// }
// }
// List<JSONObject> jsonObjects = sysBaseApi.queryUsersByIds(StringUtils.join(userIds, ","));
// List<LoginUser> userList = new ArrayList<>();
// for (JSONObject jsonObject : jsonObjects) {
// LoginUser loginUser = JSONObject.parseObject(jsonObject.toJSONString(), LoginUser.class);
// userList.add(loginUser);
// }
//
// //获取章节目录
// List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOList = lawsMonthlyReportTitleTemplateEOService.list();
//
// //新征求意见清单模板
// List<NewOpinionTemplateEO> newOpinionTemplateEOList = new ArrayList<>();
// if(lawsMonthlyReportIdList.size() != 0){
// LambdaQueryWrapper<NewOpinionTemplateEO> wrapper = new LambdaQueryWrapper<>();
// wrapper.in(NewOpinionTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList);
// newOpinionTemplateEOList = iNewOpinionTemplateEOService.list(wrapper);
// }
//
//
// //新发布标准清单模板
// List<NewStandardTemplateEO> newStandardTemplateEOList = new ArrayList<>();
// if(lawsMonthlyReportIdList.size() != 0){
// LambdaQueryWrapper<NewStandardTemplateEO> qrapperTemp = new LambdaQueryWrapper<>();
// qrapperTemp.in(NewStandardTemplateEO::getLawsMonthlyReportWriteId,lawsMonthlyReportIdList);
// newStandardTemplateEOList = iNewStandardTemplateEOService.list(qrapperTemp);
// }
//
//
// for (LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO : pageInfo.getRecords()) {
// //处理法规联系人
// lawsContact(userList, lawsMonthlyReportWriteEO,lawsMonthlyReportWriteEOTemp.getCut());
// //处理章节目录
// if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapter())){
// List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream()
// .filter(e -> lawsMonthlyReportWriteEO.getMemoriesChapter().equals(e.getId())).collect(Collectors.toList());
// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){
// lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleCn());
// }else if(CutEnum.EN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){
// lawsMonthlyReportWriteEO.setMemoriesChapterName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleEn());
// }
// }
// //处理章节目录对应的一级目录
// if(StringUtils.isNotBlank(lawsMonthlyReportWriteEO.getMemoriesChapterOne())){
// List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS = lawsMonthlyReportTitleTemplateEOList.stream()
// .filter(e -> lawsMonthlyReportWriteEO.getMemoriesChapterOne().equals(e.getId())).collect(Collectors.toList());
// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){
// lawsMonthlyReportWriteEO.setMemoriesChapterOneName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleCn());
// }else if(CutEnum.EN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut()) && lawsMonthlyReportTitleTemplateEOS.size() != 0){
// lawsMonthlyReportWriteEO.setMemoriesChapterOneName(lawsMonthlyReportTitleTemplateEOS.get(0).getTitleEn());
// }
// }
//
// if(ContentTemplateEnum.NEW_REQUEST_LIST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){
// //新征求意见清单模板
// List<NewOpinionTemplateEO> collect = newOpinionTemplateEOList.stream()
// .filter(e -> lawsMonthlyReportWriteEO.getId().equals(e.getLawsMonthlyReportWriteId())).collect(Collectors.toList());
// lawsMonthlyReportWriteEO.setNewOpinionTemplateEOList(collect);
//
// }else if(ContentTemplateEnum.NEW_RELEASE_STANDARD_MANIFEST_TEMPLATE.getValue().equals(lawsMonthlyReportWriteEO.getContentTemplate())){
// //新发布标准清单模板
// List<NewStandardTemplateEO> collect = newStandardTemplateEOList.stream()
// .filter(e -> lawsMonthlyReportWriteEO.getId().equals(e.getLawsMonthlyReportWriteId())).collect(Collectors.toList());
// lawsMonthlyReportWriteEO.setNewStandardTemplateEOList(collect);
// }
//
// //处理导出状态
// String exportState = lawsMonthlyReportWriteEO.getExportState();
// if(StringUtils.isNotBlank(exportState)){
// if(ExportStateEnum.NOT_EXPORT.getValue().equals(exportState)){
// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut())){
// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.NOT_EXPORT.getName());
// }else{
// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.NOT_EXPORT.getNameEn());
// }
// }else if(ExportStateEnum.HAS_BEEN_EXPORT.getValue().equals(exportState)){
// if(CutEnum.CN.getValue().equals(lawsMonthlyReportWriteEOTemp.getCut())){
// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getName());
// }else{
// lawsMonthlyReportWriteEO.setExportStateName(ExportStateEnum.HAS_BEEN_EXPORT.getNameEn());
// }
// }
// }
// }
// return pageInfo;
// }
private void lawsContact(List<LoginUser> userList, LawsMonthlyReportWriteEO lawsMonthlyReportWriteEO,String cut) {
String lawsContact = lawsMonthlyReportWriteEO.getLawsContact();
@@ -881,11 +1033,30 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
String flag = "cover";
String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月";
titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";
titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18,
false, false, "Blue Sky Noto Regular",null,null,flag);
WordUtil.exportWord(document, moth, null, ParagraphAlignment.CENTER, 0, 12,
false, false, "Blue Sky Noto Regular",null,null,flag);
String year = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[0];
String mothNew = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[1];
int mothLast = Integer.valueOf(mothNew) + 1;
//添加说明 2022/7/15 至 2022/8/14 期间发布的主要内容
String text = year + "/" + mothNew +"/15 至 "+year+"/"+mothLast+"/14期间发布的主要内容";
WordUtil.exportWord(document, text, null, ParagraphAlignment.CENTER, 0, 11,
false, false, "Blue Sky Noto Regular",null,null,flag);
//添加换行
WordUtil.exportWord(document, "\r\n", null, ParagraphAlignment.CENTER, 0, null,
false, false, null,null,null,flag);
//添加说明 编辑: 整车工程 - 法规与认证&环保与材料科团队
String text1 = "编辑: 整车工程 - 法规与认证&环保与材料科团队";
WordUtil.exportWord(document, text1, null, ParagraphAlignment.CENTER, 0, 11,
false, false, "Blue Sky Noto Regular",null,null,flag);
//添加下一页
document.createParagraph().createRun().addBreak(BreakType.PAGE);
}
@@ -895,16 +1066,87 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
XWPFDocument document) {
//封面标识
String flag = "cover";
String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月";
titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";
String year = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[0];
String mothNew = lawsMonthlyReportWriteEOS.get(0).getMonth().split("-")[1];
int mothLast = Integer.valueOf(mothNew) + 1;
String moth = mothNew+"/"+year;
String mothNewEn = getMothEn(mothNew);
String mothLastEn = getMothEn(String.valueOf(mothLast));
// String moth = lawsMonthlyReportWriteEOS.get(0).getMonth().replaceAll("-", "年") + "月";
titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18,
false, false, "Blue Sky Noto Regular",null,null,flag);
WordUtil.exportWord(document, moth, null, ParagraphAlignment.CENTER, 0, 12,
false, false, "Blue Sky Noto Regular",null,null,flag);
//添加说明 Update between July 15, 2022 and August 14, 2022
String text = "Update between "+mothNewEn+" 15,"+year+" and "+mothLastEn+" 14,"+year;
WordUtil.exportWord(document, text, null, ParagraphAlignment.CENTER, 0, 11,
false, false, "Blue Sky Noto Regular",null,null,flag);
//添加换行
WordUtil.exportWord(document, "\r\n", null, ParagraphAlignment.CENTER, 0, null,
false, false, null,null,null,flag);
//添加说明 编辑: 整车工程 - 法规与认证&环保与材料科团队
String text1 = "Edit By: Regulation & Homologation, Environmental & Materials Team";
WordUtil.exportWord(document, text1, null, ParagraphAlignment.CENTER, 0, 11,
false, false, "Blue Sky Noto Regular",null,null,flag);
//添加下一页
document.createParagraph().createRun().addBreak(BreakType.PAGE);
}
private String getMothEn(String moth){
String result = "";
switch (moth) {
// 心跳检测
case "1":
result = "January";
break;
case "2":
result = "February";
break;
case "3":
result = "March";
break;
case "4":
result = "April";
break;
case "5":
result = "May";
break;
case "6":
result = "June";
break;
case "7":
result = "July";
break;
case "8":
result = "August";
break;
case "9":
result = "September";
break;
case "10":
result = "October";
break;
case "11":
result = "November";
break;
case "12":
result = "December";
break;
default:
break;
}
return result;
}
private void wordContent(List<LawsMonthlyReportWriteEO> lawsMonthlyReportWriteEOS,
List<LawsMonthlyReportTitleTemplateEO> lawsMonthlyReportTitleTemplateEOS,
List<LawsMonthlyReportTitleTemplateEO> reportTitleOneList,
@@ -1179,4 +1421,32 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
return infoPage;
}
public Page getPages(Integer currentPage, Integer pageSize, List<LawsMonthlyReportWriteEO> list){
Page page =new Page();
if(list==null){
return null;
}
int size = list.size();
if(pageSize > size){
pageSize = size;
}
if(pageSize!=0){
//求出最⼤页数,防⽌currentPage越界
int maxPage = size % pageSize ==0? size / pageSize : size / pageSize +1;
if(currentPage > maxPage){
currentPage = maxPage;
}
}
//当前页第⼀条数据的下标
int curIdx = currentPage >1?(currentPage -1)* pageSize :0;
List pageList =new ArrayList();
//将当前页的数据放进pageList
for(int i =0; i < pageSize && curIdx + i < size; i++){
pageList.add(list.get(curIdx + i));
}
page.setCurrent(currentPage).setSize(pageSize).setTotal(list.size()).setRecords(pageList);
return page;
}
}
@@ -454,7 +454,7 @@ public class WordUtil {
String applyScope = lawsMonthlyReportWriteEO.getApplyScope();//适用范围
String state = lawsMonthlyReportWriteEO.getState();//状态
String useMethod = lawsMonthlyReportWriteEO.getUseMethod();//用法
String implementCar = lawsMonthlyReportWriteEO.getImplementCar();//实施车型
// String implementCar = lawsMonthlyReportWriteEO.getImplementCar();//实施车型
String newCarImplementTime = lawsMonthlyReportWriteEO.getNewCarImplementTime();//新车型实施日期
String productionCarImplementTime = lawsMonthlyReportWriteEO.getProductionCarImplementTime();//在产车实施日期
String contentCn = lawsMonthlyReportWriteEO.getContentCn();//主要内容中文
@@ -504,7 +504,7 @@ public class WordUtil {
String stateName = dictItem(sysDictItems, state,cut, DictCodeReportEnum.STATE.getValue());
String useMethodName = dictItem(sysDictItems, useMethod,cut, DictCodeReportEnum.USEMETHOD.getValue());
XWPFTable table = document.createTable(11, 2);
XWPFTable table = document.createTable(10, 2);
//表格属性
CTTblPr tablePr = table.getCTTbl().addNewTblPr();
//固定列宽(英文和数字的时候自动换行)
@@ -534,19 +534,19 @@ public class WordUtil {
//第5行
setCellThree(table,3, "用法",useMethodName,sysDictItems,DictCodeReportEnum.USEMETHOD.getValue());
//第6行
setCell(table,4, "实施车型",implementCar);
// setCell(table,4, "实施车型",implementCar);
//第7行
setCell(table,5, "新车型实施日期",newCarImplementTime);
setCell(table,4, "新车型实施日期",newCarImplementTime);
//第8行
setCell(table,6, "在产车实施日期",productionCarImplementTime);
setCell(table,5, "在产车实施日期",productionCarImplementTime);
//第9行
setCell(table,7, "主要内容",contentCn);
setCell(table,6, "主要内容",contentCn);
//第10行
setCell(table,8, "NIO工作进展",workProgressCn);
setCell(table,7, "NIO工作进展",workProgressCn);
//第11行
setCell(table,9, "法规联系人",lawsContact);
setCell(table,8, "法规联系人",lawsContact);
//第12行
setCell(table,10, "链接",link);
setCell(table,9, "链接",link);
}else{
//第1行
setCell(table,0, "Related Areas",technologyTerritoryName);
@@ -559,19 +559,19 @@ public class WordUtil {
//第5行
setCellThree(table,3,"Usage",useMethodName,sysDictItems,DictCodeReportEnum.APPLYSCOPE.getValue());
//第6行
setCell(table,4,"Implementation Model",implementCar);
// setCell(table,4,"Implementation Model",implementCar);
//第7行
setCell(table,5,"New Type Execution Date",newCarImplementTime);
setCell(table,4,"New Type Execution Date",newCarImplementTime);
//第8行
setCell(table,6,"New Vehicle Execution Date",productionCarImplementTime);
setCell(table,5,"New Vehicle Execution Date",productionCarImplementTime);
//第9行
setCell(table,7,"Main Content",contentEn);
setCell(table,6,"Main Content",contentEn);
//第10行
setCell(table,8,"NIO Work Progress",workProgressEn);
setCell(table,7,"NIO Work Progress",workProgressEn);
//第11行
setCell(table,9,"Regulatory Contact",lawsContact);
setCell(table,8,"Regulatory Contact",lawsContact);
//第12行
setCell(table, 10,"Link",link);
setCell(table, 9,"Link",link);
}
// ctTblLayoutType.setType(STTblLayoutType.FIXED);
@@ -1040,7 +1040,7 @@ public class WordUtil {
for (String s : lawsContact.split(",")) {
List<LoginUser> loginUserList = collect.stream().filter(e -> e.getId().equals(s)).collect(Collectors.toList());
if(loginUserList.size() != 0){
sb.append(loginUserList.get(0).getUsername()+",");
sb.append(loginUserList.get(0).getRealname()+",");
}
}
if(com.jero.modules.system.util.StringUtils.isNotBlank(sb)){
@@ -1136,7 +1136,7 @@ public class WordUtil {
setBlank(text, run, sb, itemText);
}
if("Usage".equals(fieldName)){
String itemText = "Constraint,Recommend,Installation Is Compliant";
String itemText = "Mandatory,Voluntary,Mandatory if fitted";
setBlank(text, run, sb, itemText);
}
}
@@ -1231,13 +1231,13 @@ public class WordUtil {
case "安装需符合":
blank = "";
break;
case "Constraint":
case "Mandatory":
blank = " ";
break;
case "Recommend":
case "Voluntary":
blank = " ";
break;
case "Installation Is Compliant":
case "Mandatory if fitted":
blank = "";
break;
default: