This commit is contained in:
wr
2026-07-08 16:58:59 +08:00
parent 5269496f24
commit def4c066fe
7 changed files with 76 additions and 10 deletions

View File

@@ -53,4 +53,12 @@ public class DevDetail {
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate nextTimeCheck;
@Data
public static class DevPowerFlag{
@ApiModelProperty("终端id")
private String devIndex;
@ApiModelProperty(name = "powerFlag",value = "用户性质")
private String powerFlag;
}
}

View File

@@ -46,7 +46,7 @@ public class LineDetailDataVO {
@ApiModelProperty(name = "devName",value = "终端名称")
private String devName;
@ApiModelProperty(name = "装置型号")
@ApiModelProperty("装置型号")
private String devType;
@ApiModelProperty(name = "ip",value = "网络参数")

View File

@@ -44,6 +44,9 @@ public class RunManageVO {
@ApiModelProperty(name = "ip",value = "网络参数")
private String ip;
@ApiModelProperty(name = "powerFlag",value = "用户性质")
private String powerFlag;
@ApiModelProperty(name = "runFlag",value = "终端运行状态")
private String runFlag;

View File

@@ -36,6 +36,9 @@ public class RunTimeVO implements Serializable {
@ApiModelProperty(name = "devName",value = "终端名称")
private String devName;
@ApiModelProperty(name = "powerFlag",value = "用户性质")
private String powerFlag;
@ApiModelProperty(name = "ip",value = "网络参数")
private String ip;

View File

@@ -20,10 +20,7 @@ import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.param.RunManageParam;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.po.LineDetail;
import com.njcn.device.pq.pojo.vo.LineInfluxDbOnlineVO;
import com.njcn.device.pq.pojo.vo.RunManageVO;
import com.njcn.device.pq.pojo.vo.RunTimeVO;
import com.njcn.device.pq.pojo.vo.TerminalLedgerVO;
import com.njcn.device.pq.pojo.vo.*;
import com.njcn.device.pq.service.RunManageService;
import com.njcn.device.userledger.service.UserLedgerService;
import com.njcn.supervision.pojo.vo.user.NewUserReportVO;
@@ -31,6 +28,7 @@ import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.enums.StatisticsEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.pojo.dto.DeptDTO;
import com.njcn.web.factory.PageFactory;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -39,10 +37,7 @@ import org.springframework.util.CollectionUtils;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -157,7 +152,28 @@ public class RunManageServiceImpl implements RunManageService {
if(CollUtil.isEmpty(devIndexes)){
return new Page<>();
}
return deviceMapper.getDeviceLedger(new Page<>(PageFactory.getPageNum(runManageParam), PageFactory.getPageSize(runManageParam)), devIndexes, new ArrayList<>(), new ArrayList<>(), new ArrayList<>(), runManageParam.getSearchValue());
Page<RunTimeVO> deviceLedger = deviceMapper.getDeviceLedger(new Page<>(PageFactory.getPageNum(runManageParam), PageFactory.getPageSize(runManageParam)), devIndexes, new ArrayList<>(), new ArrayList<>(), new ArrayList<>(), runManageParam.getSearchValue());
List<String> devID = deviceLedger.getRecords().stream().map(RunTimeVO::getId).collect(Collectors.toList());
if(CollUtil.isNotEmpty(devID)){
//添加装置用户性质
List<DevDetail.DevPowerFlag> devPowerFlags = deviceMapper.selectDevPowerFlagByIds(devID);
Map<String, List<DevDetail.DevPowerFlag>> devPowerFlag =
devPowerFlags.stream().collect(Collectors.groupingBy(DevDetail.DevPowerFlag::getDevIndex));
deviceLedger.getRecords().stream().forEach(
vo -> {
if (devPowerFlag.containsKey(vo.getId())) {
String powerFlagStr = Optional.ofNullable(devPowerFlag.get(vo.getId()))
.orElse(Collections.emptyList())
.stream()
.map(DevDetail.DevPowerFlag::getPowerFlag)
.distinct()
.collect(Collectors.joining("/"));
vo.setPowerFlag(powerFlagStr);
}
}
);
}
return deviceLedger;
}
/**

View File

@@ -102,4 +102,6 @@ public interface DeviceMapper extends BaseMapper<Device> {
void updateDeviceRunFlag(@Param("id")String deviceId, @Param("runFlag")Integer status);
List<PollutionLineInfoDTO> getPollutionDeviceInfo(@Param("id")List<String> devId);
List<DevDetail.DevPowerFlag> selectDevPowerFlagByIds(@Param("ids") List<String> ids);
}

View File

@@ -28,6 +28,10 @@
manufacturerId.name as manufacturer,
dev.name as devName,
device.IP as ip,
CASE linedetail.Power_Flag
WHEN 0 THEN '电网侧'
WHEN 1 THEN '非电网侧'
END AS powerFlag,
case linedetail.Run_Flag
when 0 then '投运'
when 1 then '检修'
@@ -149,6 +153,10 @@
manufacturerId.name as manufacturer,
dev.name as devName,
device.IP as ip,
CASE linedetail.Power_Flag
WHEN 0 THEN '电网侧'
WHEN 1 THEN '非电网侧'
END AS powerFlag,
case linedetail.Run_Flag
when 0 then '投运'
when 1 then '检修'
@@ -530,5 +538,31 @@
AND substation.id = pqsub.id
AND subv.id = pv.id
</select>
<select id="selectDevPowerFlagByIds" resultType="com.njcn.device.pq.pojo.vo.DevDetail$DevPowerFlag">
SELECT DISTINCT
device.id as devIndex,
CASE lineDetail.Power_Flag
WHEN 0 THEN '电网侧'
WHEN 1 THEN '非电网侧'
END AS powerFlag
FROM
pq_line line,
pq_dept_line pd,
pq_line voltage,
pq_line device,
pq_line_detail lineDetail
<where>
<if test="ids!=null and ids.size()>0">
device.id IN
<foreach collection="ids" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
AND line.pid = voltage.id
AND line.id = pd.Line_Id
AND voltage.pid = device.id
AND line.id = lineDetail.id
</where>
</select>
</mapper>