Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -62,6 +62,8 @@ public class CsConfigurationParm {
|
||||
private String id;
|
||||
@ApiModelProperty(value = "当前用户ID")
|
||||
private String currentUserId;
|
||||
@ApiModelProperty(value = "当前用户角色")
|
||||
private String roleCode;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -31,6 +31,8 @@ public class CsConfigurationVO extends BaseEntity {
|
||||
|
||||
private Integer orderBy;
|
||||
|
||||
private Integer scope;
|
||||
|
||||
|
||||
private List<String> projectIds;
|
||||
|
||||
|
||||
@@ -7,14 +7,15 @@
|
||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||
<result column="name" jdbcType="VARCHAR" property="name" />
|
||||
<result column="status" jdbcType="INTEGER" property="status" />
|
||||
<result column="scope" jdbcType="INTEGER" property="scope" />
|
||||
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
|
||||
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
|
||||
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, `name`, `status`, create_by, create_time, update_by, update_time
|
||||
<!--@mbg.generated-->
|
||||
id, `name`, `status`, `scope`,create_by, create_time, update_by, update_time
|
||||
</sql>
|
||||
|
||||
<select id="queryPage" resultMap="BaseResultMap">
|
||||
@@ -24,7 +25,14 @@
|
||||
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
AND (a.scope = 1 OR (a.scope = 0 AND a.create_by = #{userId}))
|
||||
<choose>
|
||||
<when test="userId != null and userId != ''">
|
||||
AND (a.scope = 1 OR (a.scope = 0 AND a.create_by = #{userId}))
|
||||
</when>
|
||||
<otherwise>
|
||||
AND (a.scope = 1 OR a.scope = 0)
|
||||
</otherwise>
|
||||
</choose>
|
||||
<if test="temp!=null and temp.searchValue != null and temp.searchValue !=''">
|
||||
AND a.name like concat(concat("%",#{temp.searchValue}),"%")
|
||||
</if>
|
||||
|
||||
@@ -33,7 +33,7 @@ import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Description:
|
||||
* Date: 2023/5/31 10:53【需求编号】
|
||||
*
|
||||
@@ -42,7 +42,7 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class CsConfigurationServiceImpl extends ServiceImpl<CsConfigurationMapper, CsConfigurationPO> implements CsConfigurationService{
|
||||
public class CsConfigurationServiceImpl extends ServiceImpl<CsConfigurationMapper, CsConfigurationPO> implements CsConfigurationService {
|
||||
private final FileStorageUtil fileStorageUtil;
|
||||
|
||||
private final UserFeignClient userFeignClient;
|
||||
@@ -53,17 +53,16 @@ public class CsConfigurationServiceImpl extends ServiceImpl<CsConfigurationMappe
|
||||
public boolean add(CsConfigurationParm csConfigurationParm) {
|
||||
CsConfigurationPO csConfigurationPO = new CsConfigurationPO();
|
||||
|
||||
BeanUtils.copyProperties(csConfigurationParm,csConfigurationPO);
|
||||
BeanUtils.copyProperties(csConfigurationParm, csConfigurationPO);
|
||||
|
||||
List<String> projectIds = csConfigurationParm.getProjectIds();
|
||||
if(CollectionUtils.isEmpty(projectIds)){
|
||||
throw new BusinessException("请选择项目");
|
||||
String projects = "";
|
||||
if (!CollectionUtils.isEmpty(projectIds)) {
|
||||
projects = String.join(",", projectIds);
|
||||
}
|
||||
String projects = String.join(",", projectIds);
|
||||
|
||||
csConfigurationPO.setProjectIds(projects);
|
||||
//排序不填给个100往后排
|
||||
csConfigurationPO.setOrderBy(Objects.isNull(csConfigurationParm.getOrderBy())?100:csConfigurationParm.getOrderBy());
|
||||
csConfigurationPO.setOrderBy(Objects.isNull(csConfigurationParm.getOrderBy()) ? 100 : csConfigurationParm.getOrderBy());
|
||||
csConfigurationPO.setImagePath(csConfigurationParm.getFileContent());
|
||||
|
||||
csConfigurationPO.setStatus("1");
|
||||
@@ -71,7 +70,7 @@ public class CsConfigurationServiceImpl extends ServiceImpl<CsConfigurationMappe
|
||||
|
||||
String name = csConfigurationPO.getName();
|
||||
Integer count = this.lambdaQuery().eq(CsConfigurationPO::getName, name).eq(CsConfigurationPO::getStatus, "1").count();
|
||||
if(count>1){
|
||||
if (count > 1) {
|
||||
throw new BusinessException("存在相同的组态项目名称在其他工程项目中,无法新建");
|
||||
}
|
||||
return save;
|
||||
@@ -80,30 +79,30 @@ public class CsConfigurationServiceImpl extends ServiceImpl<CsConfigurationMappe
|
||||
@Override
|
||||
public boolean audit(CsConfigurationParm.CsConfigurationAuditParam auditParm) {
|
||||
CsConfigurationPO csConfigurationPO = new CsConfigurationPO();
|
||||
if(Objects.equals(auditParm.getStatus(),"0")){
|
||||
if (Objects.equals(auditParm.getStatus(), "0")) {
|
||||
csConfigurationPO.setId(auditParm.getId());
|
||||
csConfigurationPO.setStatus("0");
|
||||
boolean b = this.updateById(csConfigurationPO);
|
||||
return b;
|
||||
}
|
||||
Integer count = this.lambdaQuery().eq(CsConfigurationPO::getName, auditParm.getName()).ne(CsConfigurationPO::getId,auditParm.getId()).eq(CsConfigurationPO::getStatus, "1").count();
|
||||
if(count>0){
|
||||
Integer count = this.lambdaQuery().eq(CsConfigurationPO::getName, auditParm.getName()).ne(CsConfigurationPO::getId, auditParm.getId()).eq(CsConfigurationPO::getStatus, "1").count();
|
||||
if (count > 0) {
|
||||
throw new BusinessException("修改名称失败,存在相同的组态项目");
|
||||
}
|
||||
BeanUtils.copyProperties(auditParm,csConfigurationPO);
|
||||
BeanUtils.copyProperties(auditParm, csConfigurationPO);
|
||||
|
||||
List<String> projectIds = auditParm.getProjectIds();
|
||||
if(!CollectionUtils.isEmpty(projectIds)){
|
||||
if (!CollectionUtils.isEmpty(projectIds)) {
|
||||
String projects = String.join(",", projectIds);
|
||||
csConfigurationPO.setProjectIds(projects);
|
||||
|
||||
}
|
||||
if(!Objects.isNull(auditParm.getOrderBy())){
|
||||
csConfigurationPO.setOrderBy(auditParm.getOrderBy()==0?100:auditParm.getOrderBy());
|
||||
if (!Objects.isNull(auditParm.getOrderBy())) {
|
||||
csConfigurationPO.setOrderBy(auditParm.getOrderBy() == 0 ? 100 : auditParm.getOrderBy());
|
||||
|
||||
}
|
||||
|
||||
if(!Objects.isNull(auditParm.getFileContent())){
|
||||
if (!Objects.isNull(auditParm.getFileContent())) {
|
||||
String s = fileStorageUtil.uploadStream(writeJsonStringToInputStream(auditParm.getFileContent()), HarmonicConstant.CONFIGURATIONPATH, HarmonicConstant.CONFIGURATIONNAME);
|
||||
csConfigurationPO.setImagePath(s);
|
||||
}
|
||||
@@ -115,19 +114,21 @@ public class CsConfigurationServiceImpl extends ServiceImpl<CsConfigurationMappe
|
||||
|
||||
@Override
|
||||
public IPage<CsConfigurationVO> queryPage(CsConfigurationParm.CsConfigurationQueryParam csConfigurationQueryParam) {
|
||||
Page<CsConfigurationVO> returnpage = new Page<> (csConfigurationQueryParam.getPageNum(), csConfigurationQueryParam.getPageSize ( ));
|
||||
Page<CsConfigurationPO> temppage = new Page<> (csConfigurationQueryParam.getPageNum(), csConfigurationQueryParam.getPageSize ( ));
|
||||
Page<CsConfigurationVO> returnpage = new Page<>(csConfigurationQueryParam.getPageNum(), csConfigurationQueryParam.getPageSize());
|
||||
Page<CsConfigurationPO> temppage = new Page<>(csConfigurationQueryParam.getPageNum(), csConfigurationQueryParam.getPageSize());
|
||||
|
||||
List<String> data1 = roleEngineerDevFeignClient.getRoleProject().getData();
|
||||
if(CollectionUtils.isEmpty(data1)){
|
||||
return returnpage;
|
||||
}
|
||||
// if (CollectionUtils.isEmpty(data1)) {
|
||||
// return returnpage;
|
||||
// }
|
||||
//+无线项目id
|
||||
data1.add(DataParam.WIRELESS_PROJECT_ID);
|
||||
|
||||
|
||||
|
||||
Page<CsConfigurationPO> csConfigurationPOPage = this.getBaseMapper().queryPage(temppage,csConfigurationQueryParam,data1,csConfigurationQueryParam.getCurrentUserId());
|
||||
String userId = csConfigurationQueryParam.getCurrentUserId();
|
||||
String roleCode = csConfigurationQueryParam.getRoleCode();
|
||||
if (roleCode.contains("operation_manager")) {
|
||||
userId = null;
|
||||
}
|
||||
Page<CsConfigurationPO> csConfigurationPOPage = this.getBaseMapper().queryPage(temppage, csConfigurationQueryParam, data1, userId);
|
||||
// QueryWrapper<CsConfigurationPO> query = new QueryWrapper<>();
|
||||
// query.like(StringUtils.isNotBlank(csConfigurationQueryParam.getSearchValue()),CsConfigurationPO.COL_NAME,csConfigurationQueryParam.getSearchValue()).
|
||||
// le (StringUtils.isNotBlank (csConfigurationQueryParam.getSearchEndTime()), CsConfigurationPO.COL_CREATE_TIME, csConfigurationQueryParam.getSearchEndTime ( )).
|
||||
@@ -136,7 +137,7 @@ public class CsConfigurationServiceImpl extends ServiceImpl<CsConfigurationMappe
|
||||
// Page<CsConfigurationPO> csConfigurationPOPage = this.getBaseMapper().selectPage(temppage, query);
|
||||
List<String> collect1 = csConfigurationPOPage.getRecords().stream().map(CsConfigurationPO::getCreateBy).collect(Collectors.toList());
|
||||
Map<String, String> collect2;
|
||||
if(!CollectionUtils.isEmpty(collect1)){
|
||||
if (!CollectionUtils.isEmpty(collect1)) {
|
||||
List<User> data = userFeignClient.appuserByIdList(collect1).getData();
|
||||
collect2 = data.stream().collect(Collectors.toMap(User::getId, User::getName, (e1, e2) -> e1 + "," + e2));
|
||||
|
||||
@@ -148,16 +149,16 @@ public class CsConfigurationServiceImpl extends ServiceImpl<CsConfigurationMappe
|
||||
CsConfigurationVO csDevModelPageVO = new CsConfigurationVO();
|
||||
BeanUtils.copyProperties(page, csDevModelPageVO);
|
||||
|
||||
if(StringUtils.isEmpty(page.getProjectIds())){
|
||||
if (StringUtils.isEmpty(page.getProjectIds())) {
|
||||
csDevModelPageVO.setProjectIds(new ArrayList<>());
|
||||
}else {
|
||||
csDevModelPageVO.setProjectIds( Arrays.asList(page.getProjectIds().split(",")));
|
||||
} else {
|
||||
csDevModelPageVO.setProjectIds(Arrays.asList(page.getProjectIds().split(",")));
|
||||
|
||||
}
|
||||
if(Objects.isNull(page.getImagePath())){
|
||||
if (Objects.isNull(page.getImagePath())) {
|
||||
csDevModelPageVO.setFileContent(null);
|
||||
|
||||
}else {
|
||||
} else {
|
||||
InputStream fileStream = fileStorageUtil.getFileStream(page.getImagePath());
|
||||
String text = new BufferedReader(
|
||||
new InputStreamReader(fileStream, StandardCharsets.UTF_8))
|
||||
@@ -174,13 +175,12 @@ public class CsConfigurationServiceImpl extends ServiceImpl<CsConfigurationMappe
|
||||
returnpage.setTotal(csConfigurationPOPage.getTotal());
|
||||
|
||||
|
||||
|
||||
return returnpage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String uploadImage(MultipartFile issuesFile) {
|
||||
return fileStorageUtil.getFileUrl( fileStorageUtil.uploadMultipart(issuesFile, HarmonicConstant.CONFIGURATIONPATH));
|
||||
return fileStorageUtil.getFileUrl(fileStorageUtil.uploadMultipart(issuesFile, HarmonicConstant.CONFIGURATIONPATH));
|
||||
}
|
||||
|
||||
/*将strin写入Json文件,返回一个InputStream*/
|
||||
|
||||
@@ -1126,6 +1126,7 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
Map<String, List<ReportTemplateDTO>> classMap = reportTemplateDTOList.stream().collect(Collectors.groupingBy(ReportTemplateDTO::getResourceId));
|
||||
//定义存放越限指标的map
|
||||
Map<String, ReportTemplateDTO> assNoPassMap = new HashMap<>();
|
||||
|
||||
classMap.forEach((classKey, templateValue) -> {
|
||||
Map<String, List<ReportTemplateDTO>> valueTypeMap = templateValue.stream().collect(Collectors.groupingBy(ReportTemplateDTO::getStatMethod));
|
||||
//每张表开启一个独立线程查询
|
||||
@@ -1133,23 +1134,27 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
// 子线程中手动指定数据源(关键)
|
||||
DynamicDataSourceContextHolder.push("sjzx");
|
||||
//avg.max,min,cp95
|
||||
valueTypeMap.forEach((valueTypeKey, valueTypeVal) -> {
|
||||
//相别分组
|
||||
Map<String, List<ReportTemplateDTO>> phaseMap = valueTypeVal.stream().collect(Collectors.groupingBy(ReportTemplateDTO::getPhase));
|
||||
phaseMap.forEach((phaseKey, phaseVal) -> {
|
||||
StringBuilder sql = new StringBuilder(InfluxDbSqlConstant.SELECT);
|
||||
if (InfluxDbSqlConstant.MAX.equalsIgnoreCase(valueTypeKey)) {
|
||||
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.MAX, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap);
|
||||
} else if (InfluxDbSqlConstant.MIN.equalsIgnoreCase(valueTypeKey)) {
|
||||
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.MIN, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap);
|
||||
} else if (InfluxDbSqlConstant.AVG_WEB.equalsIgnoreCase(valueTypeKey)) {
|
||||
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.AVG_WEB, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap);
|
||||
} else if (InfluxDbSqlConstant.CP95.equalsIgnoreCase(valueTypeKey)) {
|
||||
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.CP95, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap);
|
||||
}
|
||||
try {
|
||||
valueTypeMap.forEach((valueTypeKey, valueTypeVal) -> {
|
||||
//相别分组
|
||||
Map<String, List<ReportTemplateDTO>> phaseMap = valueTypeVal.stream().collect(Collectors.groupingBy(ReportTemplateDTO::getPhase));
|
||||
phaseMap.forEach((phaseKey, phaseVal) -> {
|
||||
StringBuilder sql = new StringBuilder(InfluxDbSqlConstant.SELECT);
|
||||
if (InfluxDbSqlConstant.MAX.equalsIgnoreCase(valueTypeKey)) {
|
||||
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.MAX, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap);
|
||||
} else if (InfluxDbSqlConstant.MIN.equalsIgnoreCase(valueTypeKey)) {
|
||||
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.MIN, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap);
|
||||
} else if (InfluxDbSqlConstant.AVG_WEB.equalsIgnoreCase(valueTypeKey)) {
|
||||
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.AVG_WEB, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap);
|
||||
} else if (InfluxDbSqlConstant.CP95.equalsIgnoreCase(valueTypeKey)) {
|
||||
assSqlByMysql(phaseVal, sql, endList, InfluxDbSqlConstant.CP95, reportSearchParam, limitTargetMapX, limitMap, assNoPassMap);
|
||||
}
|
||||
|
||||
});
|
||||
});
|
||||
});
|
||||
}finally {
|
||||
DynamicDataSourceContextHolder.poll();
|
||||
}
|
||||
}));
|
||||
|
||||
});
|
||||
|
||||
@@ -407,7 +407,7 @@ public class ReportServiceImpl implements ReportService {
|
||||
return value.stream().filter(x -> x.getValueType().equals(name)).map(temp -> {
|
||||
BigDecimal o = null;
|
||||
try {
|
||||
o = (BigDecimal) finalField.get(temp);
|
||||
o = BigDecimal.valueOf((Double) finalField.get(temp));
|
||||
} catch (IllegalAccessException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user