package com.example.server.progressTrack.service;
|
|
import com.example.client.dto.JComboBoxItem;
|
import com.example.client.service.BaseService;
|
import com.example.server.progressTrack.Dto.DiagramNodeDto;
|
import com.example.server.progressTrack.Dto.NetworkNodeStatusDto;
|
import com.example.server.progressTrack.Dto.ProjectDto;
|
import com.example.server.progressTrack.dao.DjJdgzNetworkLevel1Dao;
|
import com.example.server.progressTrack.dao.DjJdgzNetworkLevel1ListDao;
|
import com.example.server.progressTrack.dao.DjJdgzNetworkLevel2ListDao;
|
import com.example.server.progressTrack.model.DjJdgzNetworkLevel1;
|
import org.apache.ibatis.session.ExecutorType;
|
import org.apache.ibatis.session.SqlSession;
|
import org.apache.ibatis.session.SqlSessionFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.text.ParseException;
|
import java.text.SimpleDateFormat;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
|
/**
|
* dj_jdgz_network_level1
|
*
|
* @author zt generator
|
* @since 1.0.0 2024-12-17
|
*/
|
@Service
|
public class DjJdgzNetworkLevel1Service extends BaseService<DjJdgzNetworkLevel1Dao, DjJdgzNetworkLevel1> {
|
@Autowired
|
NetWorkDiagramService netWorkDiagramService;
|
@Autowired
|
private DjJdgzNetworkLevel1ListService djJdgzNetworkLevel1ListService;
|
@Autowired
|
private DjJdgzNetworkLevel1ListDao djJdgzNetworkLevel1ListDao;
|
@Autowired
|
private DjJdgzNetworkLevel2ListDao djJdgzNetworkLevel2ListDao;
|
@Autowired
|
private DjJdgzNetworkLevel2Service djJdgzNetworkLevel2Service;
|
/**
|
* 分页查询
|
*
|
* @param queryFilter
|
* @return
|
*/
|
/* public List<DjJdgzNetworkLevel1> page(QueryFilter queryFilter) {
|
List<DjJdgzNetworkLevel1> list = baseDao.getList(queryFilter.getQueryParams());
|
return queryFilter.getPageList(list);
|
}*/
|
|
/**
|
* 获取节点状态数据
|
*/
|
public List<NetworkNodeStatusDto> getNodeStatusData(Long id) {
|
baseDao.setLevel1StatusNull(id);
|
baseDao.setLevel1Status(id);
|
baseDao.setLevel2StatusNull(id);
|
baseDao.setLevel2Status(id);
|
List<NetworkNodeStatusDto> list = baseDao.getNodeStatusData(id);
|
return list;
|
}
|
|
public JComboBoxItem[] getProjectList() {
|
JComboBoxItem[] list = baseDao.getProjectList();
|
return list;
|
}
|
|
/**
|
* 删除
|
*
|
* @param ids
|
*/
|
public void delete(Long[] ids) {
|
super.deleteLogic(ids);
|
}
|
|
public List<DjJdgzNetworkLevel1> getList(Long shipId) {
|
List<DjJdgzNetworkLevel1> list = baseDao.getList(shipId);
|
return list;
|
}
|
|
/* public String getStatusDiagram(Long id) {
|
DjJdgzNetworkLevel1 djJdgzNetworkLevel1 = this.get(id);
|
String json = djJdgzNetworkLevel1.getContent();
|
List<NetworkNodeStatusDto> nodeStatusData = this.getNodeStatusData(id);
|
String statusDiagram = netWorkDiagramService.getStatusDiagram(json, null, nodeStatusData);
|
return statusDiagram;
|
}*/
|
|
public void deleteLevel1(Long id) {
|
baseDao.deleteLevel3List(id);
|
baseDao.deleteLevel3(id);
|
baseDao.deleteLevel2List(id);
|
baseDao.deleteLevel2(id);
|
baseDao.deleteLevel1List(id);
|
baseDao.deleteLevel1(id);
|
}
|
|
public List<DjJdgzNetworkLevel1> getListByLevel3() {
|
return baseDao.getListByLevel3();
|
}
|
|
public String getStatusDiagram(Long id) {
|
DjJdgzNetworkLevel1 djJdgzNetworkLevel1 = this.get(id);
|
String json = djJdgzNetworkLevel1.getContent();
|
List<NetworkNodeStatusDto> nodeStatusData = this.getNodeStatusData(id);
|
|
String statusDiagram = netWorkDiagramService.getStatusDiagram(json, null, nodeStatusData);
|
return statusDiagram;
|
}
|
|
public List<DiagramNodeDto> getNodeList(Long id) {
|
List<DiagramNodeDto> nodeList = djJdgzNetworkLevel1ListDao.getNodeList(id);
|
|
JComboBoxItem[] level2List = djJdgzNetworkLevel2Service.getLevel2List(id);
|
for (JComboBoxItem item : level2List) {
|
List<DiagramNodeDto> nodeList2 = djJdgzNetworkLevel2ListDao.getNodeList(item.getId());
|
nodeList.addAll(nodeList2);
|
}
|
Collections.sort(nodeList, new Comparator<DiagramNodeDto>() {
|
@Override
|
public int compare(DiagramNodeDto n1, DiagramNodeDto n2) {
|
try {
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
Date date1 = sdf.parse(n1.getRequiredCompletion());
|
Date date2 = sdf.parse(n2.getRequiredCompletion());
|
return date1.compareTo(date2);
|
} catch (ParseException e) {
|
throw new IllegalArgumentException("Invalid date format. Please use the format 'yyMMdd'.", e);
|
}
|
}
|
});
|
|
return nodeList;
|
|
}
|
|
public List<NetworkNodeStatusDto> getNodeStatus(Long id) {
|
List<NetworkNodeStatusDto> nodeStatusList = this.getNodeStatusData(id);
|
JComboBoxItem[] level2List = djJdgzNetworkLevel2Service.getLevel2List(id);
|
for (JComboBoxItem item : level2List) {
|
List<NetworkNodeStatusDto> nodeStatusList2 = djJdgzNetworkLevel2Service.getNodeStatusData(item.getId());
|
nodeStatusList.addAll(nodeStatusList2);
|
}
|
return nodeStatusList;
|
}
|
|
public List<DiagramNodeDto> getNodeList2(Long id) {
|
List<DiagramNodeDto> nodeList2 =new ArrayList<>();
|
JComboBoxItem[] level2List = djJdgzNetworkLevel2Service.getLevel2List(id);
|
for (JComboBoxItem item : level2List) {
|
nodeList2 = djJdgzNetworkLevel2ListDao.getNodeList(item.getId());
|
}
|
return nodeList2;
|
}
|
}
|