Merge remote-tracking branch 'origin/master'

This commit is contained in:
2023-04-17 16:40:47 +08:00
37 changed files with 578 additions and 163 deletions

View File

@@ -11,8 +11,6 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* @author xy
*/
@@ -23,6 +21,6 @@ public interface DevModelFeignClient {
@PostMapping("/addDevModel")
HttpResult<Boolean> addDevModel(@RequestBody @Validated CsDevModelAddParm csDevModelAddParm);
@PostMapping("/queryEquipmentByProject")
HttpResult<List<CsDevModelPageVO>> queryEquipmentByProject(@RequestBody CsDevModelQueryListParm csDevModelQueryListParm);
@PostMapping("/queryDevModelOne")
HttpResult<CsDevModelPageVO> queryDevModelOne(@RequestBody CsDevModelQueryListParm csDevModelQueryListParm);
}

View File

@@ -1,16 +1,14 @@
package com.njcn.algorithm.api.fallback;
import com.njcn.algorithm.api.DevModelFeignClient;
import com.njcn.algorithm.api.EquipmentFeignClient;
import com.njcn.algorithm.pojo.param.CsDevModelAddParm;
import com.njcn.algorithm.pojo.param.CsDevModelQueryListParm;
import com.njcn.algorithm.pojo.vo.CsDevModelPageVO;
import com.njcn.algorithm.pojo.vo.CsEquipmentDeliveryVO;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
@@ -43,7 +41,7 @@ public class DevModelFeignClientFallbackFactory implements FallbackFactory<DevMo
}
@Override
public HttpResult<List<CsDevModelPageVO>> queryEquipmentByProject(CsDevModelQueryListParm csDevModelQueryListParm) {
public HttpResult<CsDevModelPageVO> queryDevModelOne(CsDevModelQueryListParm csDevModelQueryListParm) {
log.error("{}异常,降级处理,异常为:{}","查询模板版本信息",cause.toString());
throw new BusinessException(finalExceptionEnum);
}

View File

@@ -27,6 +27,10 @@ public class CsDevModelAddParm {
@ApiModelProperty(value = "装置型号")
private String devType;
@ApiModelProperty(value = "模板名称")
private String name;
/**
* 版本号
*/
@@ -37,8 +41,8 @@ public class CsDevModelAddParm {
* 版本日期
*/
@ApiModelProperty(value = "版本日期")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date versionDate;
/**

View File

@@ -28,7 +28,8 @@ public class CsDevModelAuditParm {
*/
@ApiModelProperty(value = "装置型号")
private String devType;
@ApiModelProperty(value = "模板名称")
private String name;
/**
* 版本号
*/
@@ -39,8 +40,8 @@ public class CsDevModelAuditParm {
* 版本日期
*/
@ApiModelProperty(value = "版本日期")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date versionDate;
/**

View File

@@ -23,22 +23,33 @@ public class CsDevModelQueryListParm {
/**
* 装置型号(字典数据)
*/
@ApiModelProperty(value = "装置型号")
@ApiModelProperty(value = "装置模板型号")
private String devType;
@ApiModelProperty(value = "装置模板型号名称")
private String devName;
@ApiModelProperty(value = "模板名称")
private String name;
@ApiModelProperty(value = "版本号")
private String versionNo;
/**
* 版本日期
*/
@ApiModelProperty(value = "版本日期")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd")
private String versionStartDate;
// /**
// * 版本日期
// */
// @ApiModelProperty(value = "版本日期")
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
// @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
// private String versionStartDate;
//
// @ApiModelProperty(value = "版本日期")
// @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
// private String versionEndDate;
@ApiModelProperty(value = "版本日期")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private String versionendDate;
@ApiModelProperty(value = "版本准确日期")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private String versionDate;

View File

@@ -33,24 +33,25 @@ public class CsDevModelQueryParm {
/**
* 装置型号(字典数据)
*/
@ApiModelProperty(value = "装置型号")
@ApiModelProperty(value = "装置模板型号")
private String devType;
@ApiModelProperty(value = "装置名称")
@ApiModelProperty(value = "装置模板型号名称")
private String devName;
@ApiModelProperty(value = "模板名称")
private String name;
/**
* 版本日期
*/
@ApiModelProperty(value = "版本日期")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private String versionStartDate;
@ApiModelProperty(value = "版本日期")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private String versionendDate;
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private String versionEndDate;

View File

@@ -41,4 +41,5 @@ public class CsDictAddParm {
@ApiModelProperty(value = "sort")
private Integer sort;
}

View File

@@ -50,8 +50,8 @@ public class CsEdDataAddParm {
* 版本日期
*/
@ApiModelProperty(value = "版本日期")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date versionDate;
/**

View File

@@ -47,8 +47,8 @@ public class CsEdDataAuditParm {
* 版本日期
*/
@ApiModelProperty(value = "版本日期")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDate versionDate;
/**

View File

@@ -43,13 +43,13 @@ public class CsEdDataQueryParm {
* 版本日期
*/
@ApiModelProperty(value = "版本日期")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private String versionStartDate;
@ApiModelProperty(value = "版本日期")
@DateTimeFormat(pattern="yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private String versionendDate;

View File

@@ -0,0 +1,49 @@
package com.njcn.algorithm.pojo.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
* Date: 2023/4/10 19:47【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Data
public class CsEngineeringQueryPageParm {
@NotNull(message="当前页不能为空!")
@Min(value = 1, message = "当前页不能为0")
@ApiModelProperty(value = "当前页",name = "currentPage",dataType ="Integer",required = true)
private Integer currentPage;
/**显示条数*/
@NotNull(message="显示条数不能为空!")
@ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true)
private Integer pageSize;
@ApiModelProperty(value = "工程名称")
private String name;
/**
* 用户id
*/
@ApiModelProperty(value = "用户id")
private String userId;
/**
* 省
*/
@ApiModelProperty(value = "")
private String province;
/**
* 市
*/
@ApiModelProperty(value = "")
private String city;
}

View File

@@ -36,6 +36,12 @@ public class CsDevModelPO extends BaseEntity {
@TableField(value = "dev_type")
private String devType;
/**
* 模板名称
*/
@TableField(value = "模板名称")
private String name;
/**
* 版本号
*/

View File

@@ -1,6 +1,5 @@
package com.njcn.algorithm.pojo.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import com.njcn.db.bo.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -29,11 +28,12 @@ public class CsDevModelPageVO extends BaseEntity {
/**
* 设备型号(字典数据)
*/
@ApiModelProperty(value = "设备型号")
@ApiModelProperty(value = "设备模板型号id")
private String devType;
@ApiModelProperty(value = "设备名称")
@ApiModelProperty(value = "设备模板型号id名称")
private String devName;
@ApiModelProperty(value = "模板名称")
private String name;
/**
* 版本号
@@ -51,13 +51,13 @@ public class CsDevModelPageVO extends BaseEntity {
/**
* 装置模板文件路径
*/
@TableField(value = "file_path")
@ApiModelProperty(value = "file_path")
private String filePath;
/**
* 状态(0删除 1正常)
*/
@TableField(value = "status")
@ApiModelProperty(value = "status")
private String status;
}

View File

@@ -45,12 +45,18 @@ public class CsEngineeringVO extends BaseEntity {
@ApiModelProperty(value = "")
private String province;
@ApiModelProperty(value = "省名称")
private String provinceName;
/**
* 市
*/
@ApiModelProperty(value = "")
private String city;
@ApiModelProperty(value = "市名称")
private String cityName;
/**
* 描述
*/

View File

@@ -17,6 +17,17 @@ import lombok.Data;
@Data
public class ProjectEquipmentVO {
/**
* id
*/
@ApiModelProperty(value = "工程id")
private String engineeringid;
/**
* 工程名称
*/
@ApiModelProperty(value = "工程名称")
private String engineeringName;
@ApiModelProperty(value = "项目id")
private String projectId;

View File

@@ -24,8 +24,6 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* Description:
* 接口文档访问地址http://serverIP:port/swagger-ui.html
@@ -80,14 +78,14 @@ public class DevModelController extends BaseController {
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryEquipmentByProject")
@ApiOperation("通过项目查询出厂设备")
@ApiImplicitParam(name = "csDevModelQueryListParm", value = "项目信息", required = true)
public HttpResult<List<CsDevModelPageVO>> queryEquipmentByProject(@RequestBody CsDevModelQueryListParm csDevModelQueryListParm){
String methodDescribe = getMethodDescribe("queryEquipmentByProject");
@PostMapping("/queryDevModelOne")
@ApiOperation("设备模板列表查询")
@ApiImplicitParam(name = "csDevModelQueryListParm", value = "信息", required = true)
public HttpResult<CsDevModelPageVO> queryDevModelOne(@RequestBody CsDevModelQueryListParm csDevModelQueryListParm){
String methodDescribe = getMethodDescribe("queryDevModelOne");
List<CsDevModelPageVO> list = csDevModelService.queryList(csDevModelQueryListParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
CsDevModelPageVO csDevModelPageVO = csDevModelService.queryDevModelOne(csDevModelQueryListParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csDevModelPageVO, methodDescribe);
}

View File

@@ -1,7 +1,9 @@
package com.njcn.algorithm.controller.project;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.njcn.algorithm.pojo.param.CsEngineeringAddParm;
import com.njcn.algorithm.pojo.param.CsEngineeringAuditParm;
import com.njcn.algorithm.pojo.param.CsEngineeringQueryPageParm;
import com.njcn.algorithm.pojo.param.CsEngineeringQueryParm;
import com.njcn.algorithm.pojo.vo.CsEngineeringVO;
import com.njcn.algorithm.service.CsEngineeringService;
@@ -74,4 +76,15 @@ public class EngineeringController extends BaseController {
List<CsEngineeringVO> csEngineeringVOList = csEngineeringService.queryEngineering(csEngineeringQueryParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csEngineeringVOList, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryEngineeringPage")
@ApiOperation("分页查询工程列表")
@ApiImplicitParam(name = "csEngineeringQueryPageParm", value = "修改项目参数", required = true)
public HttpResult<IPage<CsEngineeringVO>> queryEngineeringPage(@Validated @RequestBody CsEngineeringQueryPageParm csEngineeringQueryPageParm){
String methodDescribe = getMethodDescribe("queryEngineeringPage");
IPage<CsEngineeringVO> page = csEngineeringService.queryEngineeringPage(csEngineeringQueryPageParm);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe);
}
}

View File

@@ -8,8 +8,6 @@ import com.njcn.algorithm.pojo.po.CsDevModelPO;
import com.njcn.algorithm.pojo.vo.CsDevModelPageVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
*
* Description:
@@ -22,5 +20,5 @@ import java.util.List;
public interface CsDevModelMapper extends BaseMapper<CsDevModelPO> {
Page<CsDevModelPageVO> getPage(Page<CsDevModelPageVO> returnpage,@Param("csDevModelQueryParm") CsDevModelQueryParm csDevModelQueryParm);
List<CsDevModelPageVO> queryList(@Param("csDevModelQueryListParm")CsDevModelQueryListParm csDevModelQueryListParm);
CsDevModelPageVO queryOne(@Param("csDevModelQueryListParm")CsDevModelQueryListParm csDevModelQueryListParm);
}

View File

@@ -29,8 +29,8 @@
<if test="csDevModelQueryParm.versionStartDate != null and csDevModelQueryParm.versionStartDate != ''">
AND a.version_date &gt;= #{csDevModelQueryParm.versionStartDate }
</if>
<if test="csDevModelQueryParm.versionendDate != null and csDevModelQueryParm.versionendDate != ''">
AND a.version_date &lt;= #{csDevModelQueryParm.versionendDate }
<if test="csDevModelQueryParm.versionEndDate != null and csDevModelQueryParm.versionEndDate != ''">
AND a.version_date &lt;= #{csDevModelQueryParm.versionEndDate }
</if>
<if test="csDevModelQueryParm.devName != null and csDevModelQueryParm.devName != ''">
@@ -39,18 +39,25 @@
<if test="csDevModelQueryParm.devType != null and csDevModelQueryParm.devType != ''">
AND a.dev_type = #{csDevModelQueryParm.devType}
</if>
</select><select id="queryList" resultType="com.njcn.algorithm.pojo.vo.CsDevModelPageVO">
<if test="csDevModelQueryParm.name != null and csDevModelQueryParm.name != ''">
AND a.name = #{csDevModelQueryParm.name}
</if>
</select><select id="queryOne" resultType="com.njcn.algorithm.pojo.vo.CsDevModelPageVO">
SELECT a.*,
b.code as devName
FROM cs_dev_model a
LEFT JOIN sys_dict_data b ON a.dev_type = b.id
WHERE
1 = 1 And a.`status`='1'
<if test="csDevModelQueryListParm.versionStartDate != null and csDevModelQueryListParm.versionStartDate != ''">
AND a.version_date &gt;= #{csDevModelQueryListParm.versionStartDate }
</if>
<if test="csDevModelQueryListParm.versionendDate != null and csDevModelQueryListParm.versionendDate != ''">
AND a.version_date &lt;= #{csDevModelQueryListParm.versionendDate }
<!-- <if test="csDevModelQueryListParm.versionStartDate != null and csDevModelQueryListParm.versionStartDate != ''">-->
<!-- AND a.version_date &gt;= #{csDevModelQueryListParm.versionStartDate }-->
<!-- </if>-->
<!-- <if test="csDevModelQueryListParm.versionEndDate != null and csDevModelQueryListParm.versionEndDate != ''">-->
<!-- AND a.version_date &lt;= #{csDevModelQueryListParm.versionEndDate }-->
<!-- </if>-->
<if test="csDevModelQueryListParm.versionDate != null and csDevModelQueryListParm.versionDate != ''">
AND a.version_date = #{csDevModelQueryListParm.versionDate }
</if>
<if test="csDevModelQueryListParm.versionNo != null and csDevModelQueryListParm.versionNo != ''">
@@ -59,5 +66,12 @@
<if test="csDevModelQueryListParm.devType != null and csDevModelQueryListParm.devType != ''">
AND a.dev_type = #{csDevModelQueryListParm.devType}
</if>
<if test="csDevModelQueryListParm.devName != null and csDevModelQueryListParm.devName != ''">
AND b.code = #{csDevModelQueryListParm.devName}
</if>
<if test="csDevModelQueryListParm.name != null and csDevModelQueryListParm.name != ''">
AND a.name = #{csDevModelQueryListParm.name}
</if>
</select>
</mapper>

View File

@@ -32,15 +32,19 @@
</sql>
<select id="queryProjectEquipmentVO" resultType="com.njcn.algorithm.pojo.vo.ProjectEquipmentVO">
SELECT
a.engineering_id engineeringId,
d.name engineeringName,
a.id projectId,
a.name projectName,
b.id equipmentId,
b.name equipmentName
FROM cs_project a,
cs_equipment_delivery b,
cs_project_equipment c
cs_project_equipment c,
cs_engineering d
WHERE a.id = c.project_id
AND b.id = c.equipment_id
and a.engineering_id =d.id
<if test="projectEquipmentQueryParm!=null and projectEquipmentQueryParm.projectType != null and projectEquipmentQueryParm.projectType !=''">
AND a.project_type = #{projectEquipmentQueryParm.projectType}
</if>

View File

@@ -1,13 +1,14 @@
package com.njcn.algorithm.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.njcn.algorithm.pojo.param.*;
import com.njcn.algorithm.pojo.po.CsDevModelPO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.algorithm.pojo.param.CsDevModelAddParm;
import com.njcn.algorithm.pojo.param.CsDevModelAuditParm;
import com.njcn.algorithm.pojo.param.CsDevModelQueryListParm;
import com.njcn.algorithm.pojo.param.CsDevModelQueryParm;
import com.njcn.algorithm.pojo.po.CsDevModelPO;
import com.njcn.algorithm.pojo.vo.CsDevModelPageVO;
import java.util.List;
/**
*
* Description:
@@ -51,5 +52,5 @@ public interface CsDevModelService extends IService<CsDevModelPO>{
* @Date: 2023/4/10
* @param projectEquipmentQueryParm
*/
List<CsDevModelPageVO> queryList(CsDevModelQueryListParm projectEquipmentQueryParm);
CsDevModelPageVO queryDevModelOne(CsDevModelQueryListParm projectEquipmentQueryParm);
}

View File

@@ -1,7 +1,9 @@
package com.njcn.algorithm.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.njcn.algorithm.pojo.param.CsEngineeringAddParm;
import com.njcn.algorithm.pojo.param.CsEngineeringAuditParm;
import com.njcn.algorithm.pojo.param.CsEngineeringQueryPageParm;
import com.njcn.algorithm.pojo.param.CsEngineeringQueryParm;
import com.njcn.algorithm.pojo.po.CsEngineeringPO;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -38,4 +40,12 @@ public interface CsEngineeringService extends IService<CsEngineeringPO>{
* @Date: 2023/4/10
*/
List<CsEngineeringVO> queryEngineering(CsEngineeringQueryParm csEngineeringQueryParm);
}
/**
* @Description: 分页查询
* @Param: [csEngineeringQueryPageParm]
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.njcn.algorithm.pojo.vo.CsEngineeringVO>
* @Author: clam
* @Date: 2023/4/12
*/
IPage<CsEngineeringVO> queryEngineeringPage(CsEngineeringQueryPageParm csEngineeringQueryPageParm);
}

View File

@@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.algorithm.mapper.CsDevModelMapper;
import com.njcn.algorithm.pojo.param.*;
import com.njcn.algorithm.pojo.param.CsDevModelAddParm;
import com.njcn.algorithm.pojo.param.CsDevModelAuditParm;
import com.njcn.algorithm.pojo.param.CsDevModelQueryListParm;
import com.njcn.algorithm.pojo.param.CsDevModelQueryParm;
import com.njcn.algorithm.pojo.po.CsDevModelPO;
import com.njcn.algorithm.pojo.vo.CsDevModelPageVO;
import com.njcn.algorithm.service.CsDevModelService;
@@ -12,8 +15,6 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
*
* Description:
@@ -55,8 +56,9 @@ public class CsDevModelServiceImpl extends ServiceImpl<CsDevModelMapper, CsDevMo
}
@Override
public List<CsDevModelPageVO> queryList(CsDevModelQueryListParm csDevModelQueryListParm) {
List<CsDevModelPageVO> list = this.getBaseMapper ().queryList(csDevModelQueryListParm);
return list;
public CsDevModelPageVO queryDevModelOne(CsDevModelQueryListParm csDevModelQueryListParm) {
CsDevModelPageVO result = this.getBaseMapper ().queryOne(csDevModelQueryListParm);
return result;
}
}

View File

@@ -1,14 +1,21 @@
package com.njcn.algorithm.service.impl;
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 com.njcn.algorithm.mapper.CsEngineeringMapper;
import com.njcn.algorithm.pojo.param.CsEngineeringAddParm;
import com.njcn.algorithm.pojo.param.CsEngineeringAuditParm;
import com.njcn.algorithm.pojo.param.CsEngineeringQueryPageParm;
import com.njcn.algorithm.pojo.param.CsEngineeringQueryParm;
import com.njcn.algorithm.pojo.po.CsEngineeringPO;
import com.njcn.algorithm.pojo.vo.CsEngineeringVO;
import com.njcn.algorithm.service.CsEngineeringService;
import com.njcn.redis.utils.RedisUtil;
import com.njcn.system.api.AreaFeignClient;
import com.njcn.system.pojo.po.Area;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -16,6 +23,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
@@ -28,8 +36,12 @@ import java.util.stream.Collectors;
* @version V1.0.0
*/
@Service
@RequiredArgsConstructor
public class CsEngineeringServiceImpl extends ServiceImpl<CsEngineeringMapper, CsEngineeringPO> implements CsEngineeringService{
private final AreaFeignClient areaFeignClient;
private final RedisUtil redisUtil;
@Override
@Transactional(rollbackFor = {Exception.class})
public Boolean addEngineering(CsEngineeringAddParm csEngineeringAddParm) {
@@ -63,8 +75,47 @@ public class CsEngineeringServiceImpl extends ServiceImpl<CsEngineeringMapper, C
csEngineeringVOList = csEngineeringPOS.stream ().map (temp->{
CsEngineeringVO vo = new CsEngineeringVO();
BeanUtils.copyProperties (temp, vo);
vo.setProvinceName (this.getAreaById (vo.getProvince ()));
vo.setCityName (this.getAreaById (vo.getCity ()));
return vo;
}).collect(Collectors.toList());
return csEngineeringVOList;
}
@Override
public IPage<CsEngineeringVO> queryEngineeringPage(CsEngineeringQueryPageParm csEngineeringQueryPageParm) {
Page<CsEngineeringPO> tempPage = new Page<> (csEngineeringQueryPageParm.getCurrentPage ( ), csEngineeringQueryPageParm.getPageSize ( ));
Page<CsEngineeringVO> returnPage = new Page<> (csEngineeringQueryPageParm.getCurrentPage ( ), csEngineeringQueryPageParm.getPageSize ( ));
QueryWrapper<CsEngineeringPO> queryWrapper = new QueryWrapper<> ();
queryWrapper.eq (StringUtils.isNotBlank (csEngineeringQueryPageParm.getUserId ()),"user_id",csEngineeringQueryPageParm.getUserId ()).
eq (StringUtils.isNotBlank (csEngineeringQueryPageParm.getProvince ()),"province",csEngineeringQueryPageParm.getProvince ()).
eq (StringUtils.isNotBlank (csEngineeringQueryPageParm.getCity ()),"city",csEngineeringQueryPageParm.getCity ()).
eq ("status","1" ).
like (StringUtils.isNotBlank (csEngineeringQueryPageParm.getName ()),"name",csEngineeringQueryPageParm.getName ());
Page<CsEngineeringPO> csEngineeringPOPage = this.getBaseMapper ( ).selectPage (tempPage, queryWrapper);
List<CsEngineeringVO> collect = csEngineeringPOPage.getRecords ( ).stream ( ).map (temp -> {
CsEngineeringVO vo = new CsEngineeringVO ( );
BeanUtils.copyProperties (temp, vo);
vo.setProvinceName (this.getAreaById (vo.getProvince ()));
vo.setCityName (this.getAreaById (vo.getCity ()));
return vo;
}).collect (Collectors.toList ( ));
returnPage.setRecords (collect);
return returnPage;
}
public String getAreaById(String id){
String areaName =redisUtil.getStringByKey (id);
areaName =Optional.ofNullable (areaName).orElseGet (() ->{
Area data = areaFeignClient.selectIdArea (id).getData ( );
redisUtil.saveByKey (id,data.getName ());
return data.getName ();
});
return areaName;
}
}

View File

@@ -135,7 +135,7 @@ public class CommunicateServiceImpl implements CommunicateService {
param.setIds(Arrays.asList(lineList));
param.setStartTime( DateUtil.beginOfDay(DateUtil.parse(startTime)).toString());
param.setEndTime( DateUtil.endOfDay(DateUtil.parse(endTime)).toString());
if(state == 0){
if(state == 1){
//在线率
List<RStatOnlinerateVO> onlineRateByDevIds = onlinerateDMapper.getOnlineRateByDevIds(param);
if (CollUtil.isNotEmpty(onlineRateByDevIds)) {
@@ -144,7 +144,7 @@ public class CommunicateServiceImpl implements CommunicateService {
resultList[0] = po.getOnlineRate() == null ? null : BigDecimal.valueOf(Float.parseFloat(po.getOnlineRate().toString())).setScale(4, BigDecimal.ROUND_HALF_UP).floatValue();
});
}
}else{
} else {
//数据完整率
List<RStatIntegrityVO> onIntegrityByIds = integrityDMapper.getOnIntegrityByIds(param);
if (CollUtil.isNotEmpty(onIntegrityByIds)) {

View File

@@ -0,0 +1,23 @@
package com.njcn.event.mapper.majornetwork;
import com.njcn.event.pojo.po.PqsOnlinerate;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 在线率日表 Mapper 接口
* </p>
*
* @author hongawen
* @since 2023-03-28
*/
public interface RStatOnlinerateDMapper {
List<PqsOnlinerate> getOnlineRateByDevIds (@Param("list") List<String> devIds,@Param("startTime") String startTime,@Param("endTime") String endTime);
}

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.event.mapper.majornetwork.RStatOnlinerateDMapper">
<select id="getOnlineRateByDevIds" resultType="com.njcn.event.pojo.po.PqsOnlinerate">
select
dev_index AS devId,
online_min AS onlinemin,
offline_min AS offlinemin
from r_stat_onlinerate_d
<where>
<if test="list.size > 0">
AND dev_index IN
<foreach collection='list' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="startTime != null and startTime !=''">
AND time_id >= #{startTime}
</if>
<if test="endTime != null and endTime != ''">
AND time_id &lt;= #{endTime}
</if>
</where>
</select>
</mapper>

View File

@@ -13,8 +13,8 @@ import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.vo.AreaLineInfoVO;
import com.njcn.device.pq.pojo.vo.LineDeviceStateVO;
import com.njcn.device.pq.pojo.vo.SubstationDetailVO;
import com.njcn.event.influxdb.PqsOnlinerateQuery;
import com.njcn.event.mapper.majornetwork.PqDeviceMapper;
import com.njcn.event.mapper.majornetwork.RStatOnlinerateDMapper;
import com.njcn.event.pojo.po.PqDevice;
import com.njcn.event.pojo.po.PqsOnlinerate;
import com.njcn.event.pojo.po.RmpEventDetailPO;
@@ -63,7 +63,9 @@ public class AreaLineServiceImpl implements AreaLineService {
private final InfluxDbUtils influxDbUtils;
private final PqsOnlinerateQuery pqsOnlinerateQuery;
// private final PqsOnlinerateQuery pqsOnlinerateQuery;
private final RStatOnlinerateDMapper rStatOnlinerateDMapper;
private final PqDeviceMapper pqDeviceMapper;
private final EventDetailService eventDetailService;
@@ -149,7 +151,7 @@ public class AreaLineServiceImpl implements AreaLineService {
substationDetailVOList.addAll(substationDetailVOS);
if (lineIndexs.size() > 0) {
areaLineVO.setSubstationDetailVOList(substationDetailVOList);
objectList.add(generalDeviceDTO.getName() + "\n(" + tail + ")");
objectList.add(generalDeviceDTO.getName());
objectList.add(tail);
objectList.add(stateZc);
objectList.add(stateZd);
@@ -296,9 +298,10 @@ public class AreaLineServiceImpl implements AreaLineService {
return TerminalRunningVO.empty();
}
List<PqsOnlinerate> pqsOnlinerateList = pqsOnlinerateQuery.selectList(Arrays.asList("dev_id", "offlinemin", "onlinemin"),
devIdOr(deviceIndexList),
timeAnd(beginOfDay(deviceInfoParam.getSearchBeginTime()), endOfDay(deviceInfoParam.getSearchEndTime())));
// List<PqsOnlinerate> pqsOnlinerateList = pqsOnlinerateQuery.selectList(Arrays.asList("dev_id", "offlinemin", "onlinemin"),
// devIdOr(deviceIndexList),
// timeAnd(beginOfDay(deviceInfoParam.getSearchBeginTime()), endOfDay(deviceInfoParam.getSearchEndTime())));
List<PqsOnlinerate> pqsOnlinerateList = rStatOnlinerateDMapper.getOnlineRateByDevIds(deviceIndexList,beginOfDay(deviceInfoParam.getSearchBeginTime()), endOfDay(deviceInfoParam.getSearchEndTime()));
List<PqDevice> pqDeviceList = pqDeviceMapper.queryRunFlagByDeviceIndexs(deviceIndexList);

View File

@@ -1,6 +1,7 @@
package com.njcn.harmonic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
import com.njcn.harmonic.pojo.vo.MonitorOverLimitVO;
import com.njcn.harmonic.pojo.vo.RStatLimitRateDVO;
@@ -28,4 +29,9 @@ public interface RStatLimitRateDMapper extends BaseMapper<RStatLimitRateDPO> {
@Param("ids") List<String> lineIndexes,
@Param("statTime") String searchBeginTime,
@Param("endTime") String searchEndTime);
Page<MonitorOverLimitVO> getSumLimitRatePage(Page<RStatLimitRateDPO> p,
@Param("ids") List<String> lineIndexes,
@Param("statTime") String searchBeginTime,
@Param("endTime") String searchEndTime);
}

View File

@@ -107,4 +107,80 @@
</where>
GROUP BY my_index
</select>
<select id="getSumLimitRatePage" resultType="com.njcn.harmonic.pojo.vo.MonitorOverLimitVO">
SELECT
my_index AS id,
SUM(all_time) AS overDay,
SUM(freq_dev_overtime) AS freqOverDay,
SUM(voltage_dev_overtime ) AS volDevOverDay,
SUM(flicker_overtime) AS flickerOverDay,
SUM(i_neg_overtime) AS negativeOverDay,
SUM(ubalance_overtime) AS threeUnbalance,
SUM(uaberrance_overtime) AS volDisOverDay,
SUM(uharm_3_overtime) AS overVolThreeTimes,
SUM(uharm_5_overtime) AS overVolFiveTimes,
SUM(uharm_7_overtime) AS overVolSevenTimes,
SUM(uharm_11_overtime) AS overVolElevenTimes,
SUM(uharm_13_overtime) AS overVolThirteenTimes,
SUM(uharm_23_overtime) AS overVolTwentyThreeTimes,
SUM(uharm_25_overtime) AS overVolTwentyFiveTimes,
SUM(uharm_2_overtime)
+ SUM(uharm_4_overtime)
+ SUM(uharm_6_overtime)
+ SUM(uharm_8_overtime)
+ SUM(uharm_9_overtime)
+ SUM(uharm_10_overtime)
+ SUM(uharm_12_overtime)
+ SUM(uharm_14_overtime)
+ SUM(uharm_15_overtime)
+ SUM(uharm_16_overtime)
+ SUM(uharm_17_overtime)
+ SUM(uharm_18_overtime)
+ SUM(uharm_19_overtime)
+ SUM(uharm_20_overtime)
+ SUM(uharm_21_overtime)
+ SUM(uharm_22_overtime)
+ SUM(uharm_24_overtime) AS overVolOtherTimes,
SUM(iharm_3_overtime) AS overCurThreeTimes,
SUM(iharm_5_overtime) AS overCurFiveTimes,
SUM(iharm_7_overtime) AS overCurSevenTimes,
SUM(iharm_11_overtime) AS overCurElevenTimes,
SUM(iharm_13_overtime) AS overCurThirteenTimes,
SUM(iharm_23_overtime) AS overCurTwentyThreeTimes,
SUM(iharm_25_overtime) AS overCurTwentyFiveTimes,
SUM(iharm_2_overtime)
+ SUM(iharm_4_overtime)
+ SUM(iharm_6_overtime)
+ SUM(iharm_8_overtime)
+ SUM(iharm_9_overtime)
+ SUM(iharm_10_overtime)
+ SUM(iharm_12_overtime)
+ SUM(iharm_14_overtime)
+ SUM(iharm_15_overtime)
+ SUM(iharm_16_overtime)
+ SUM(iharm_17_overtime)
+ SUM(iharm_18_overtime)
+ SUM(iharm_19_overtime)
+ SUM(iharm_20_overtime)
+ SUM(iharm_21_overtime)
+ SUM(iharm_22_overtime)
+ SUM(iharm_24_overtime) AS overCurOtherTimes
FROM
r_stat_limit_target_d
<where>
<if test=" ids != null and ids.size > 0">
AND my_index IN
<foreach collection='ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test=" statTime != null and statTime !=''">
AND time_id >= #{statTime}
</if>
<if test="endTime != null and endTime != ''">
AND time_id &lt;= #{endTime}
</if>
</where>
GROUP BY my_index
</select>
</mapper>

View File

@@ -38,14 +38,12 @@ import com.njcn.poi.excel.ExcelUtil;
import com.njcn.web.utils.RequestUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.influxdb.dto.QueryResult;
import org.influxdb.impl.InfluxDBResultMapper;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.io.File;
import java.lang.reflect.Array;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.Instant;
@@ -296,45 +294,59 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
p.setSize(param.getPageSize());
p.setCurrent(param.getPageNum());
if (CollectionUtil.isNotEmpty(lineList)) {
QueryWrapper<RStatLimitRateDPO> queryWrapper = new QueryWrapper<>();
queryWrapper.in("r_stat_limit_rate_d.my_index",lineList)
.between("r_stat_limit_rate_d.time_id",
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())));
Page<RStatLimitRateDPO> rateDPOPage = rateDMapper.selectPage(p,queryWrapper);
List<RStatLimitRateDPO> records = rateDPOPage.getRecords();
Map<String, List<RStatLimitRateDPO>> lineMap = records.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId));
Page<MonitorOverLimitVO> sumLimitRatePage = rateDMapper.getSumLimitRatePage(p, lineList, param.getSearchBeginTime(), param.getSearchEndTime());
List<MonitorOverLimitVO> pageRecords = sumLimitRatePage.getRecords();
Map<String, List<MonitorOverLimitVO>> monMap = pageRecords.stream().collect(Collectors.groupingBy(MonitorOverLimitVO::getId));
ArrayList<String> list = new ArrayList<>();
list.addAll(lineMap.keySet());
list.addAll(monMap.keySet());
PollutionParamDTO pollutionParamDTO = new PollutionParamDTO();
pollutionParamDTO.setLineList(list);
// List<AreaLineInfoVO> data = lineFeignClient.getBaseLineAreaInfo(list).getData();
List<OverLimitLineDTO> overLimitLineList = lineFeignClient.getOverLimitLineInfo(pollutionParamDTO).getData();
List<MonitorOverLimitVO> groupList = rateDMapper.getSumLimitRateByLineIndexes(list, param.getSearchBeginTime(), param.getSearchEndTime());
Map<String, List<MonitorOverLimitVO>> groupMap = groupList.stream().collect(Collectors.groupingBy(MonitorOverLimitVO::getId));
List<RStatLimitRateDPO> rStatLimitRateDPOS = rateDMapper.selectList(new QueryWrapper<RStatLimitRateDPO>()
.in("r_stat_limit_rate_d.my_index", list)
.between("r_stat_limit_rate_d.time_id",
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())))
);
Map<String, List<RStatLimitRateDPO>> rsMap = rStatLimitRateDPOS.stream().collect(Collectors.groupingBy(RStatLimitRateDPO::getLineId));
for (OverLimitLineDTO vo : overLimitLineList) {
MonitorOverLimitVO monitorOverLimitVO = new MonitorOverLimitVO();
BeanUtil.copyProperties(vo,monitorOverLimitVO);
List<RStatLimitRateDPO> limitRateDPOS = lineMap.get(vo.getId());
MonitorOverLimitVO overLimitVO = groupMap.get(vo.getId()).get(0);
BeanUtil.copyProperties(overLimitVO,monitorOverLimitVO);
System.out.println(monitorOverLimitVO);
// 超标天数
// long allTimeCount = limitRateDPOS.stream().filter(t -> t.getAllTime() != 0).count();
// 频率偏差超标天数
// long freqDevOverCount = limitRateDPOS.stream().filter(t -> t.getFreqDevOvertime() != 0).count();
// 电压偏差超标天数
// long voltageDevOverCount = limitRateDPOS.stream().filter(t -> t.getVoltageDevOvertime() != 0).count();
// 电压谐波畸变率越限次数
// long UaberranceOverCount = limitRateDPOS.stream().filter(t -> t.getUaberranceOvertime() != 0).count();
MonitorOverLimitVO source = monMap.get(vo.getId()).get(0);
monitorOverLimitVO.setOverDay(source.getOverDay());
monitorOverLimitVO.setVolDevOverDay(source.getVolDevOverDay());
monitorOverLimitVO.setFreqOverDay(source.getFreqOverDay());
monitorOverLimitVO.setFlickerOverDay(source.getFlickerOverDay());
monitorOverLimitVO.setNegativeOverDay(source.getNegativeOverDay());
monitorOverLimitVO.setThreeUnbalance(source.getThreeUnbalance());
monitorOverLimitVO.setVolDisOverDay(source.getVolDisOverDay());
monitorOverLimitVO.setOverVolThreeTimes(source.getOverVolThreeTimes());
monitorOverLimitVO.setOverVolFiveTimes(source.getOverVolFiveTimes());
monitorOverLimitVO.setOverVolSevenTimes(source.getOverVolSevenTimes());
monitorOverLimitVO.setOverVolElevenTimes(source.getOverVolElevenTimes());
monitorOverLimitVO.setOverVolThirteenTimes(source.getOverVolThirteenTimes());
monitorOverLimitVO.setOverVolTwentyThreeTimes(source.getOverVolTwentyThreeTimes());
monitorOverLimitVO.setOverVolTwentyFiveTimes(source.getOverVolTwentyFiveTimes());
monitorOverLimitVO.setOverVolOtherTimes(source.getOverVolOtherTimes());
monitorOverLimitVO.setOverCurThreeTimes(source.getOverCurThreeTimes());
monitorOverLimitVO.setOverCurFiveTimes(source.getOverCurFiveTimes());
monitorOverLimitVO.setOverCurSevenTimes(source.getOverCurSevenTimes());
monitorOverLimitVO.setOverCurElevenTimes(source.getOverCurElevenTimes());
monitorOverLimitVO.setOverCurThirteenTimes(source.getOverCurThirteenTimes());
monitorOverLimitVO.setOverCurTwentyThreeTimes(source.getOverCurTwentyThreeTimes());
monitorOverLimitVO.setOverCurTwentyFiveTimes(source.getOverCurTwentyFiveTimes());
monitorOverLimitVO.setOverCurOtherTimes(source.getOverCurOtherTimes());
List<RStatLimitRateDPO> limitRateDPOS = rsMap.get(vo.getId());
// 谐波电压含有率超标天数
long volContainOverDay = limitRateDPOS.stream().filter(t -> FilterNotQualifiedUharmData(t)).count();
long volContainOverDay = limitRateDPOS.stream().filter(t -> filterNotQualifiedUharmData(t)).count();
// 谐波电流超标天数
long harmCurOverDay = limitRateDPOS.stream().filter(t -> FilterNotQualifiedIharmData(t)).count();
long harmCurOverDay = limitRateDPOS.stream().filter(t -> filterNotQualifiedIharmData(t)).count();
// 间谐波电压含有率超标天数
long intHarmOverDay = limitRateDPOS.stream().filter(t -> FilterNotQualifiedInuharmData(t)).count();
long intHarmOverDay = limitRateDPOS.stream().filter(t -> filterNotQualifiedInuharmData(t)).count();
// 谐波电压超标天数
long harmVolOverDay = limitRateDPOS.stream().filter(t -> filterNotQualifiedHarmVolData(t)).count();
monitorOverLimitVO.setHarmVolOverDay((int) harmVolOverDay);
monitorOverLimitVO.setVolContainOverDay((int) volContainOverDay);
monitorOverLimitVO.setHarmCurOverDay((int) harmCurOverDay);
monitorOverLimitVO.setIntHarmOverDay((int) intHarmOverDay);
@@ -350,41 +362,6 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
return page;
}
return page;
// if (CollectionUtil.isNotEmpty (lineList)) {
// page.setTotal(lineList.size());
// int pages = (int)Math.ceil(lineList.size()*1.0/param.getPageSize());
// page.setPages(pages);
// List<List<String>> pageList = Lists.partition(lineList,param.getPageSize());
// List<String> temList = pageList.get(param.getPageNum()-1);
// List<MonitorOverLimitVO> list = rateDMapper.getSumLimitRateByLineIndexes(lineList, param.getSearchBeginTime(), param.getSearchEndTime());
// Map<String, List<MonitorOverLimitVO>> mapperMap = list.stream().collect(Collectors.groupingBy(MonitorOverLimitVO::getId));
// PollutionParamDTO pollutionParamDTO = new PollutionParamDTO();
// pollutionParamDTO.setLineList(temList);
// List<OverLimitLineDTO> overLimitLineList = lineFeignClient.getOverLimitLineInfo(pollutionParamDTO).getData();
// for (OverLimitLineDTO overLimitLineDTO : overLimitLineList) {
// MonitorOverLimitVO vo = mapperMap.get(overLimitLineDTO.getId()).get(0);
// if (Objects.isNull(vo)) {
// continue;
// }
// vo.setProvinceCompany(overLimitLineDTO.getProvinceCompany());
// vo.setCityCompany(overLimitLineDTO.getCityCompany());
// vo.setLineName(overLimitLineDTO.getLineName());
// vo.setLoadType(overLimitLineDTO.getLoadType());
// vo.setLineObjectName(overLimitLineDTO.getLineObjectName());
// vo.setLineScale(overLimitLineDTO.getLineScale());
// vo.setSubName(overLimitLineDTO.getSubName());
// vo.setSubScale(overLimitLineDTO.getSubScale());
// result.add(vo);
// }
// }
// if (!CollectionUtils.isEmpty(result)){
// List<MonitorOverLimitVO> recordList = new ArrayList<>();
// //默认 根据在线监测点个数 倒叙排序
// recordList = result.stream().sorted(Comparator.comparing(MonitorOverLimitVO::getOverDay).reversed()).collect(Collectors.toList());
// page.setRecords(recordList);
// return page;
// }
// return page;
// if (!CollectionUtils.isEmpty(lineList)){
// page.setTotal(lineList.size());
// int pages = (int)Math.ceil(lineList.size()*1.0/param.getPageSize());
@@ -528,7 +505,16 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
// return page;
}
private boolean FilterNotQualifiedInuharmData(RStatLimitRateDPO t) {
private boolean filterNotQualifiedHarmVolData(RStatLimitRateDPO t) {
// 电压畸变率+谐波电压含有率2-25次
int i = t.getUaberranceOvertime() + t.getUharm2Overtime() + t.getUharm3Overtime() + t.getUharm4Overtime() + t.getUharm5Overtime() + t.getUharm6Overtime() + t.getUharm7Overtime() + t.getUharm8Overtime() + t.getUharm9Overtime() + t.getUharm10Overtime() + t.getUharm11Overtime() + t.getUharm12Overtime() + t.getUharm13Overtime() + t.getUharm14Overtime() + t.getUharm15Overtime() + t.getUharm16Overtime() + t.getUharm17Overtime() + t.getUharm18Overtime() + t.getUharm19Overtime() + t.getUharm20Overtime() + t.getUharm21Overtime() + t.getUharm22Overtime() + t.getUharm23Overtime() + t.getUharm24Overtime() + t.getUharm25Overtime();
if (i>0){
return true;
}
return false;
}
private boolean filterNotQualifiedInuharmData(RStatLimitRateDPO t) {
int i =t.getInuharm1Overtime()+ t.getInuharm2Overtime() + t.getInuharm3Overtime() + t.getInuharm4Overtime() + t.getInuharm5Overtime() + t.getInuharm6Overtime() + t.getInuharm7Overtime() + t.getInuharm8Overtime() + t.getInuharm9Overtime() + t.getInuharm10Overtime() + t.getInuharm11Overtime() + t.getInuharm12Overtime() + t.getInuharm13Overtime() + t.getInuharm14Overtime() + t.getInuharm15Overtime() + t.getInuharm16Overtime();
if (i>0){
return true;
@@ -536,7 +522,7 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
return false;
}
private boolean FilterNotQualifiedIharmData(RStatLimitRateDPO t) {
private boolean filterNotQualifiedIharmData(RStatLimitRateDPO t) {
int i = t.getIharm2Overtime() + t.getIharm3Overtime() + t.getIharm4Overtime() + t.getIharm5Overtime() + t.getIharm6Overtime() + t.getIharm7Overtime() + t.getIharm8Overtime() + t.getIharm9Overtime() + t.getIharm10Overtime() + t.getIharm11Overtime() + t.getIharm12Overtime() + t.getIharm13Overtime() + t.getIharm14Overtime() + t.getIharm15Overtime() + t.getIharm16Overtime() + t.getIharm17Overtime() + t.getIharm18Overtime() + t.getIharm19Overtime() + t.getIharm20Overtime() + t.getIharm21Overtime() + t.getIharm22Overtime() + t.getIharm23Overtime() + t.getIharm24Overtime() + t.getIharm25Overtime();
if (i>0){
return true;
@@ -544,7 +530,7 @@ public class AnalyzeServiceImpl implements IAnalyzeService {
return false;
}
private boolean FilterNotQualifiedUharmData(RStatLimitRateDPO t) {
private boolean filterNotQualifiedUharmData(RStatLimitRateDPO t) {
int i = t.getUharm2Overtime() + t.getUharm3Overtime() + t.getUharm4Overtime() + t.getUharm5Overtime() + t.getUharm6Overtime() + t.getUharm7Overtime() + t.getUharm8Overtime() + t.getUharm9Overtime() + t.getUharm10Overtime() + t.getUharm11Overtime() + t.getUharm12Overtime() + t.getUharm13Overtime() + t.getUharm14Overtime() + t.getUharm15Overtime() + t.getUharm16Overtime() + t.getUharm17Overtime() + t.getUharm18Overtime() + t.getUharm19Overtime() + t.getUharm20Overtime() + t.getUharm21Overtime() + t.getUharm22Overtime() + t.getUharm23Overtime() + t.getUharm24Overtime() + t.getUharm25Overtime();
if (i>0){

View File

@@ -52,7 +52,7 @@ xxl:
accessToken:
executor:
#执行器AppName [选填]:执行器心跳注册分组依据;为空则关闭自动注册
appname: executor
appname: xuyang
#执行器注册 [选填]:优先使用该配置作为注册地址,为空时使用内嵌服务 ”IP:PORT“ 作为注册地址。从而更灵活的支持容器类型执行器动态IP和动态映射端口问题。
address:
#执行器IP [选填]默认为空表示自动获取IP多网卡时可手动设置指定IP该IP不会绑定Host仅作为通讯实用地址信息用于 "执行器注册" 和 "调度中心请求并触发任务"

View File

@@ -221,9 +221,16 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
String overItem = str.substring(0, str.indexOf("") - 1);
thsSupervise.setName(DateUtil.today() + dept.getName() + overRunLogList.get(0).getName() + "" + overRunLogList.size() + "个监测点" + overItem);
thsSuperviseMapper.insert(thsSupervise);
//TODO 解决工作流写死问题
Map<String, Object> mapParam = new HashMap<>();
flowableDefineFeignClient.start("flow_yzep99kb:1:c0ff8a75-da73-11ed-829f-b07b253cdad9",thsSupervise.getSupIndex(),mapParam).getData();
String proInId ="";
if(thsSupervise.getType() == 0){
proInId = "flow_yzep99kb:1:a100b48b-da75-11ed-8335-b07b253cdad9";
}else {
proInId = "flow_yzep99kb:2:6358e099-dcba-11ed-8026-b07b253cdad9";
}
flowableDefineFeignClient.start(proInId,thsSupervise.getSupIndex(),mapParam);
for (ThsOverRunLog thsOverRunLog : overRunLogList) {
thsOverRunLogMapper.insert(thsOverRunLog);

View File

@@ -59,12 +59,12 @@ public class FlowDefinitionController extends BaseController {
@ApiOperation(value = "工作流_部署流程")
public void createDeployment() {
Deployment deployment = repositoryService.createDeployment()
.addClasspathResource("aa.bpmn20.xml")
.name("技术监督警流程").category("testCategory")
.addClasspathResource("gaojing.bpmn20.xml")
.name("技术监督警流程").category("gaojing")
.deploy();
ProcessDefinition definition = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).singleResult();
repositoryService.setProcessDefinitionCategory(definition.getId(), "testCategory");
repositoryService.setProcessDefinitionCategory(definition.getId(), "gaojing");
System.out.println(deployment.getId());
}

View File

@@ -145,7 +145,14 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
this.thsSuperviseMapper.insert(thsSupervise);
//TODO 解决工作流写死问题
Map<String, Object> mapParam = new HashMap<>();
iFlowDefinitionService.startProcessInstanceById("flow_yzep99kb:1:a100b48b-da75-11ed-8335-b07b253cdad9",thsSupervise.getSupIndex(),mapParam);
String proInId = "";
if(thsSupervise.getType() == 0){
proInId = "flow_yzep99kb:1:a100b48b-da75-11ed-8335-b07b253cdad9";
}else {
proInId = "flow_yzep99kb:2:6358e099-dcba-11ed-8026-b07b253cdad9";
}
iFlowDefinitionService.startProcessInstanceById(proInId,thsSupervise.getSupIndex(),mapParam);
for (ThsOverRunLog thsOverRunLog : superviceRunLogVo.getOverRunLog()) {
thsOverRunLog.setCreateTime(date);

View File

@@ -0,0 +1,105 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions
xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:bioc="http://bpmn.io/schema/bpmn/biocolor/1.0"
xmlns:flowable="http://flowable.org/bpmn"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.flowable.org/processdef">
<process id="flow_yzep99kb" name="flow_pjpqvxgw" flowable:processCategory="null">
<startEvent id="start_event" name="告警单流程开始">
<outgoing>Flow_1wrqzmd</outgoing>
</startEvent>
<userTask id="Activity_11eo5gu" name="监督单下发" flowable:userType="assignee" flowable:dataType="dynamic" flowable:assignee="${INITIATOR}">
<incoming>Flow_1wrqzmd</incoming>
<outgoing>Flow_0q5q2pr</outgoing>
</userTask>
<sequenceFlow id="Flow_1wrqzmd" name="" sourceRef="start_event" targetRef="Activity_11eo5gu" />
<userTask id="Activity_1xjk88s" name="监督反馈单上传" flowable:userType="assignee" flowable:dataType="dynamic" flowable:assignee="${INITIATOR}">
<incoming>Flow_0q5q2pr</incoming>
<outgoing>Flow_17er5rz</outgoing>
</userTask>
<sequenceFlow id="Flow_0q5q2pr" name="" sourceRef="Activity_11eo5gu" targetRef="Activity_1xjk88s" />
<endEvent id="Event_12lq7e1" name="结束">
<incoming>Flow_0nuy3gu</incoming>
</endEvent>
<sequenceFlow id="Flow_17er5rz" name="" sourceRef="Activity_1xjk88s" targetRef="Activity_04362zn" />
<userTask id="Activity_04362zn" name="测试报告上传" flowable:userType="assignee" flowable:dataType="dynamic" flowable:assignee="${INITIATOR}">
<incoming>Flow_17er5rz</incoming>
<outgoing>Flow_01tmwhj</outgoing>
</userTask>
<sequenceFlow id="Flow_01tmwhj" name="" sourceRef="Activity_04362zn" targetRef="Activity_093l1yz" />
<userTask id="Activity_093l1yz" name="整改单下发" flowable:userType="assignee" flowable:dataType="dynamic" flowable:assignee="${INITIATOR}">
<incoming>Flow_01tmwhj</incoming>
<outgoing>Flow_1olja2w</outgoing>
</userTask>
<sequenceFlow id="Flow_1olja2w" sourceRef="Activity_093l1yz" targetRef="Activity_01ltup8" />
<userTask id="Activity_01ltup8" name="整改单上传" flowable:userType="assignee" flowable:dataType="dynamic" flowable:assignee="${INITIATOR}">
<incoming>Flow_1olja2w</incoming>
<outgoing>Flow_0nuy3gu</outgoing>
</userTask>
<sequenceFlow id="Flow_0nuy3gu" sourceRef="Activity_01ltup8" targetRef="Event_12lq7e1" />
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_flow">
<bpmndi:BPMNPlane id="BPMNPlane_flow" bpmnElement="flow_yzep99kb">
<bpmndi:BPMNShape id="Event_12lq7e1_di" bpmnElement="Event_12lq7e1">
<omgdc:Bounds x="442" y="102" width="36" height="36" />
<bpmndi:BPMNLabel>
<omgdc:Bounds x="449" y="145" width="23" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="BPMNShape_start_event" bpmnElement="start_event" bioc:stroke="">
<omgdc:Bounds x="-335" y="105" width="30" height="30" />
<bpmndi:BPMNLabel>
<omgdc:Bounds x="-359" y="142" width="78" height="14" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_11eo5gu_di" bpmnElement="Activity_11eo5gu">
<omgdc:Bounds x="-260" y="80" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_1xjk88s_di" bpmnElement="Activity_1xjk88s">
<omgdc:Bounds x="-120" y="80" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_04362zn_di" bpmnElement="Activity_04362zn">
<omgdc:Bounds x="20" y="80" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_093l1yz_di" bpmnElement="Activity_093l1yz">
<omgdc:Bounds x="160" y="80" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Activity_01ltup8_di" bpmnElement="Activity_01ltup8">
<omgdc:Bounds x="300" y="80" width="100" height="80" />
<bpmndi:BPMNLabel />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_1wrqzmd_di" bpmnElement="Flow_1wrqzmd">
<di:waypoint x="-305" y="120" />
<di:waypoint x="-260" y="120" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0q5q2pr_di" bpmnElement="Flow_0q5q2pr">
<di:waypoint x="-160" y="120" />
<di:waypoint x="-120" y="120" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_17er5rz_di" bpmnElement="Flow_17er5rz">
<di:waypoint x="-20" y="120" />
<di:waypoint x="20" y="120" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_01tmwhj_di" bpmnElement="Flow_01tmwhj">
<di:waypoint x="120" y="120" />
<di:waypoint x="160" y="120" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_1olja2w_di" bpmnElement="Flow_1olja2w">
<di:waypoint x="260" y="120" />
<di:waypoint x="300" y="120" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_0nuy3gu_di" bpmnElement="Flow_0nuy3gu">
<di:waypoint x="400" y="120" />
<di:waypoint x="442" y="120" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</definitions>