Merge remote-tracking branch 'origin/develop_master' into develop_3

This commit is contained in:
zhaokaiyao@91isoft.com
2022-01-22 19:24:03 +08:00
24 changed files with 495 additions and 32 deletions
@@ -3,6 +3,7 @@ package com.adc.da.slrs.sarEnterpriseStandardEvaluation.entity;
import com.adc.da.base.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -77,10 +78,12 @@ public class QualityEvaluation extends BaseEntity {
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
@ApiModelProperty(value = "更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date modifyTime;
@@ -73,6 +73,17 @@ public class TsInstitutionController extends BaseController<TsInstitution> {
return Result.success(tsUserIPage);
}
/**
* 查询机构下所有的机构人员
* @return ResponseMessage<List<TsUser>>
*/
@ApiOperation("查询机构的人员")
@PostMapping("/userUnderInstitution")
public ResponseMessage<IPage<TsUser>> userUnderInstitution(TsUser tsUser){
return Result.success(tsUserService.getAllUsers(tsUser));
}
@ApiOperation("导入机构数据")
@PostMapping("/import")
public ResponseMessage<Object> importInstitution() throws Exception {
@@ -6,6 +6,7 @@ import com.adc.da.http.Result;
import com.adc.da.slrs.sarStandIdea.dao.SarPublicIdeaAllDao;
import com.adc.da.slrs.sarStandIdea.entity.*;
import com.adc.da.slrs.sarStandIdea.service.Impl.SarPublicIdeaAllServiceImpl;
import com.adc.da.utils.removeHtml.RemoveHtml;
import com.alibaba.excel.EasyExcel;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -140,8 +141,8 @@ public class SarPublicIdeaAllController extends BaseController<SarPublicIdeaAll>
if ("1".equals(type)) {
GetExcelDto2 getExcelDto = GetExcelDto2.builder()
.partCode(sarPublicIdeaAll.getPartCode())
.oldText(sarPublicIdeaAll.getOldText())
.newText(sarPublicIdeaAll.getNewText())
.oldText(RemoveHtml.getResultsFromHtml(sarPublicIdeaAll.getOldText()))
.newText(RemoveHtml.getResultsFromHtml(sarPublicIdeaAll.getNewText()))
.reason(sarPublicIdeaAll.getReason())
.userName(sarPublicIdeaAll.getUserName())
.deptName(sarPublicIdeaAll.getDeptName())
@@ -152,8 +153,8 @@ public class SarPublicIdeaAllController extends BaseController<SarPublicIdeaAll>
}else {
GetExcelDto getExcelDto = GetExcelDto.builder()
.partCode(sarPublicIdeaAll.getPartCode())
.oldText(sarPublicIdeaAll.getOldText())
.newText(sarPublicIdeaAll.getNewText())
.oldText(RemoveHtml.getResultsFromHtml(sarPublicIdeaAll.getOldText()))
.newText(RemoveHtml.getResultsFromHtml(sarPublicIdeaAll.getNewText()))
.reason(sarPublicIdeaAll.getReason())
.userName(sarPublicIdeaAll.getUserName())
.deptName(sarPublicIdeaAll.getDeptName())
@@ -343,4 +343,22 @@ public class SarStandProjectLibraryController extends BaseController<SarStandPro
.build();
return Result.success(querySelectRspDTO);
}
//标准评估流程 查询项目群接口
@GetMapping("/queryProjectGroup")
@ApiOperation("查询项目群")
public ResponseMessage queryProjectGroup(@RequestParam(defaultValue = "1", value = "current")int current,
@RequestParam(defaultValue = "10", value = "PageSize") int pageSize,
SarStandProjectLibrary sarStandProjectLibrary){
return Result.success( sarStandProjectLibraryService.queryProjectGroup(current,pageSize,sarStandProjectLibrary));
}
//标准评估流程根据项目群查项目接口
@GetMapping("/queryProjects")
@ApiOperation("查询项目群下的项目")
public ResponseMessage queryProjects(@RequestParam(defaultValue = "1", value = "current")int current,
@RequestParam(defaultValue = "10", value = "PageSize") int pageSize,SarStandProjectLibrary sarStandProjectLibrary){
return Result.success( sarStandProjectLibraryService.queryProjects(current,pageSize,sarStandProjectLibrary));
}
}
@@ -33,4 +33,9 @@ public interface SarStandProjectLibraryDao extends BaseMapper<SarStandProjectLib
void deleteByProjectId(@Param("projectId")String projectId);
List<String> selectListByids(@Param("ids") List<String> ids);
List<SarStandProjectLibrary> queryProjectGroup(@Param("current")int current,@Param("size")int size,@Param("sarStandProjectLibrary") SarStandProjectLibrary sarStandProjectLibrary);
Integer queryProjectGroupCount(@Param("sarStandProjectLibrary") SarStandProjectLibrary sarStandProjectLibrary);
List<SarStandProjectLibrary> queryProjects(@Param("current")int current,@Param("size")int size,@Param("sarStandProjectLibrary") SarStandProjectLibrary sarStandProjectLibrary,@Param("groups")List<String> strings);
Integer queryProjectsCount(@Param("sarStandProjectLibrary") SarStandProjectLibrary sarStandProjectLibrary,@Param("groups")List<String> strings);
}
@@ -29,5 +29,8 @@ public interface SarStandProjectLibraryService {
void batchInsertAdd(@Param("ids") List<StandProjectRelationDto> list);
List<StandAttrInfoDto> exportStandAttrInfoExcel(StandAttrInfoExcelDto standAttrInfoExcelDto,String standId);
public Head AnalysisJsonAndStorage(String jsonStr);
public IPage<SarStandProjectLibrary> queryProjectGroup(@Param("current")int current,@Param("size")int size, @Param("sarStandProjectLibrary") SarStandProjectLibrary sarStandProjectLibrary);
public IPage<SarStandProjectLibrary> queryProjects(@Param("current")int current,@Param("size")int size, @Param("sarStandProjectLibrary") SarStandProjectLibrary sarStandProjectLibrary);
}
@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -78,32 +79,30 @@ public class SarStandProjectLibraryServiceImpl extends ServiceImpl<SarStandProje
//把刚刚拿到的值存到实体类里
SarStandProjectLibrary projectInfo = new SarStandProjectLibrary();
projectInfo
.setProjectPlatfor(projectObject.get("eng_platform").getAsString())
.setProjectNumber(projectObject.get("code").getAsString())
.setProjectName(projectObject.get("name").getAsString())
.setProjectClassification(projectObject.get("catalog_name").getAsString())
.setProjectStatus(projectObject.get("project_status_name").getAsString())
.setProjectGroup(projectObject.get("project_group_name").getAsString())
.setCurrentNode(projectObject.get("project_current_milestone").getAsString())
.setProjectLevel(projectObject.get("project_level").getAsString())
.setProductLine(projectObject.get("eng_product_line").getAsString())
.setManagementHostName(projectObject.get("management_host_name").getAsString())
.setDevelopmentHostName(projectObject.get("development_host_name").getAsString())
.setCategoryName(projectObject.get("category_name").getAsString());
.setProjectPlatfor(projectObject.get("eng_platform")==null?"":projectObject.get("eng_platform").getAsString())
.setProjectNumber(projectObject.get("code")==null?"":projectObject.get("code").getAsString())
.setProjectName(projectObject.get("name")==null?"":projectObject.get("name").getAsString())
.setProjectClassification(projectObject.get("catalog_name")==null?"":projectObject.get("catalog_name").getAsString())
.setProjectStatus(projectObject.get("project_status_name")==null?"":projectObject.get("project_status_name").getAsString())
.setProjectGroup(projectObject.get("project_group_name")==null?"":projectObject.get("project_group_name").getAsString())
.setCurrentNode(projectObject.get("project_current_milestone")==null?"":projectObject.get("project_current_milestone").getAsString())
.setProjectLevel(projectObject.get("project_level")==null?"":projectObject.get("project_level").getAsString())
.setProductLine(projectObject.get("eng_product_line")==null?"":projectObject.get("eng_product_line").getAsString())
.setManagementHostName(projectObject.get("management_host_name")==null?"":projectObject.get("management_host_name").getAsString())
.setDevelopmentHostName(projectObject.get("development_host_name")==null?"":projectObject.get("development_host_name").getAsString())
.setCategoryName(projectObject.get("category_name")==null?"":projectObject.get("category_name").getAsString());
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
if(projectObject.get("target_begin_on") != null){
Date targetBeginOn = simpleDateFormat.parse(projectObject.get("target_begin_on").getAsString());
projectInfo
.setProjectStartDate(targetBeginOn);
}
if(projectObject.get("target_end_on") != null){
Date targetEndOn = simpleDateFormat.parse(projectObject.get("target_end_on").getAsString());
projectInfo
.setProjectStartDate(targetBeginOn)
.setProjectEndDate(targetEndOn);
} catch (ParseException e) {
e.printStackTrace();
}
@@ -128,6 +127,39 @@ public class SarStandProjectLibraryServiceImpl extends ServiceImpl<SarStandProje
return head;
}
@Override
public IPage<SarStandProjectLibrary> queryProjectGroup(int current,int size,SarStandProjectLibrary sarStandProjectLibrary) {
List<SarStandProjectLibrary> sarStandProjectLibraries=sarStandProjectLibraryDao.queryProjectGroup(current,size,sarStandProjectLibrary);
Integer total=sarStandProjectLibraryDao.queryProjectGroupCount(sarStandProjectLibrary);
Page<SarStandProjectLibrary> page=new Page<>();
page.setRecords(sarStandProjectLibraries);
page.setTotal(total);
page.setCurrent(current);
page.setSize(size);
return page;
}
@Override
public IPage<SarStandProjectLibrary> queryProjects(int current,int size, SarStandProjectLibrary sarStandProjectLibrary) {
List<String> ids=new ArrayList<>();
if (null!=sarStandProjectLibrary.getProjectGroup() && !"".equals(sarStandProjectLibrary.getProjectGroup())){
if (sarStandProjectLibrary.getProjectGroup().contains(",")){
ids.addAll(new ArrayList<>(Arrays.asList(sarStandProjectLibrary.getProjectGroup().split(","))));
}else {
ids.add(sarStandProjectLibrary.getProjectGroup());
}
}
IPage<SarStandProjectLibrary> sarStandProjectLibraryIPage=new Page<>();
List<SarStandProjectLibrary> sarStandProjectLibraries=sarStandProjectLibraryDao.queryProjects(current,size,sarStandProjectLibrary,ids);
Integer total=sarStandProjectLibraryDao.queryProjectsCount(sarStandProjectLibrary,ids);
sarStandProjectLibraryIPage.setTotal(total);
sarStandProjectLibraryIPage.setCurrent(current);
sarStandProjectLibraryIPage.setSize(size);
sarStandProjectLibraryIPage.setRecords(sarStandProjectLibraries);
return sarStandProjectLibraryIPage;
}
@Override
public IPage<SarStandProjectLibrary> queryMaintenanceProject(int current, int pageSize,
SarStandProjectLibraryDto sarDto) {
@@ -24,6 +24,8 @@ import io.swagger.annotations.Api;
import com.adc.da.base.web.BaseController;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@@ -97,5 +99,12 @@ public class TsUserController extends BaseController<TsUser> {
}
@ApiOperation("调研流程查询人 部门专用接口")
@GetMapping("/selectDeptByDY")
public ResponseMessage<List<TsUser>> selectDeptByDY(@Param("ids") String ids) throws Exception {
List<String> strings=new ArrayList<>(Arrays.asList(ids.split(",")));
return Result.success(tsUserDao.selectDeptByDY(strings));
}
}
@@ -49,11 +49,17 @@ public interface TsUserDao extends BaseMapper<TsUser> {
*/
List<TsUser> getUserAndPositionPage(@Param("start")Integer start, @Param("end")Integer end,@Param("TsUser") TsUser tsUser);
List<TsUser> userUnderInstitution(@Param("start")Integer start, @Param("end")Integer end,@Param("TsUser") TsUser tsUser,@Param("ids") List<String> ids);
Integer getUserAndPositionCount(@Param("TsUser") TsUser tsUser);
Integer userUnderInstitutionCount(@Param("TsUser") TsUser tsUser,@Param("ids") List<String> ids);
/**
* 通过岗位Id列表查询用户ID列表
* @param positionIds:岗位ID列表
* @return List<String>
*/
List<String> getUserIdsByPositionIds(List<String> positionIds);
List<TsUser> selectDeptByDY(@Param("list") List<String> strings);
}
@@ -83,4 +83,6 @@ public interface ITsUserService extends IService<TsUser> {
List<UpDTO> selectByName(String name);
List<UpDTO> selectNameById(List<String> strings,String type);
IPage<TsUser> getAllUsers(TsUser tsUser);
}
@@ -3,6 +3,8 @@ package com.adc.da.slrs.sarUser.service.impl;
import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result;
import com.adc.da.login.util.UserUtils;
import com.adc.da.slrs.sarInstitution.entity.TsInstitution;
import com.adc.da.slrs.sarInstitution.service.ITsInstitutionService;
import com.adc.da.slrs.sarMenu.entity.SarMenu;
import com.adc.da.slrs.sarMenu.service.ISarMenuService;
import com.adc.da.slrs.sarPosition.dao.TsPositionDao;
@@ -47,6 +49,8 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
@Autowired
private TsUserDao tsUserDao;
@Autowired
private ITsUserService tsUserService;
@Autowired
private ITsPositionService tsPositionService;
@Autowired
@Lazy
@@ -59,6 +63,8 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
private SyncUserService syncUserService;
@Autowired
private TsPositionDao tsPositionDao;
@Autowired
private ITsInstitutionService tsInstitutionService;
public void deleteUser(){
@@ -364,4 +370,40 @@ public class TsUserServiceImpl extends ServiceImpl<TsUserDao, TsUser> implements
});
return result;
}
@Override
public IPage<TsUser> getAllUsers(TsUser tsUser) {
List<String> ids=new ArrayList<>();
ids.add(tsUser.getInstitutionId());
List<String> middle=new ArrayList<>();
middle.addAll(ids);
boolean flag=true;
while (flag){
QueryWrapper<TsInstitution> queryWrapper=new QueryWrapper<>();
queryWrapper.in("parent_id",middle);
List<TsInstitution> tsmiddle=tsInstitutionService.list(queryWrapper);
if (tsmiddle.size()>0){
tsmiddle.forEach(tsInstitution -> {
middle.add(tsInstitution.getId());
});
middle.removeAll(ids);
ids.addAll(middle);
}else {
tsmiddle.forEach(tsInstitution -> {
middle.add(tsInstitution.getId());
});
middle.removeAll(ids);
ids.addAll(middle);
flag=false;
}
}
Page<TsUser> tsUserPage = new Page<>();
tsUserPage.setCurrent(tsUser.getCurrent());
tsUserPage.setSize(tsUser.getSize());
tsUserPage.setRecords(tsUserDao.userUnderInstitution((tsUser.getCurrent()-1)*tsUser.getSize(),tsUser.getSize(),tsUser,ids));
tsUserPage.setTotal(tsUserDao.userUnderInstitutionCount(tsUser,ids));
return tsUserPage;
}
}
@@ -0,0 +1,100 @@
package com.adc.da.utils.removeHtml;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RemoveHtml {
/**
* 匹配html标签,例如"<p>xxx</p>"这种格式
*/
private static Pattern HTML_TAG_PATTERN = Pattern.compile("<[a-zA-Z]+.*?>([\\s\\S]*?)</[a-zA-Z]*?>");
/**
* 替换掉html标签里面的style内容
*
* @param content
* @return
*/
public static String replaceStyle(String content) {
if (content == null || content.length() == 0) {
return content;
}
String regEx = " style=\"(.*?)\"";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(content);
if (m.find()) {
content = m.replaceAll("");
}
return content;
}
/**
* 移除掉</br>标签
*
* @param src
* @return
*/
public static String removeBrTag(String src) {
if (src != null && !src.isEmpty()) {
src = src.replaceAll("<br/>", "");
}
return src;
}
/**
* 针对多个标签嵌套的情况进行处理
* 比如 <p><span style="white-space: normal;">王者荣耀</span></p>
* 预处理并且正则匹配完之后结果是 <span>王者荣耀
* 需要手工移除掉前面的起始标签
* @param content
* @return
*/
public static String replaceStartTag(String content) {
if (content == null || content.length() == 0) {
return content;
}
String regEx = "<[a-zA-Z]*?>([\\s\\S]*?)";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(content);
if (m.find()) {
content = m.replaceAll("");
}
return content;
}
/**
* 获取html中的数据
* @param htmlStr
* @return
*/
public static String getResultsFromHtml(String htmlStr) {
//定义script的正则表达式,去除js可以防止注入
String scriptRegex="<script[^>]*?>[\\s\\S]*?<\\/script>";
//定义style的正则表达式,去除style样式,防止css代码过多时只截取到css样式代码
String styleRegex="<style[^>]*?>[\\s\\S]*?<\\/style>";
//定义HTML标签的正则表达式,去除标签,只提取文字内容
String htmlRegex="<[^>]+>";
//定义空格,回车,换行符,制表符
String spaceRegex = "\\s*|\t|\r|\n";
// 过滤script标签
htmlStr = htmlStr.replaceAll(scriptRegex, "");
// 过滤style标签
htmlStr = htmlStr.replaceAll(styleRegex, "");
// 过滤html标签
htmlStr = htmlStr.replaceAll(htmlRegex, "");
// 过滤空格等
htmlStr = htmlStr.replaceAll(spaceRegex, "");
return htmlStr.trim(); // 返回文本字符串
}
}
@@ -5,6 +5,8 @@ import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.Row;
import java.text.MessageFormat;
/**
* @Description: TODO
* @author: super_liu
@@ -12,6 +14,10 @@ import org.apache.poi.ss.usermodel.Row;
*/
public class Utils {
public static String format(String value, Object... paras) {
return MessageFormat.format(value, paras);
}
//判断row是否为空 空返回true
public static boolean isRowEmpty(Row row) {
if (null == row) {