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 { @Autowired NetWorkDiagramService netWorkDiagramService; @Autowired private DjJdgzNetworkLevel1ListService djJdgzNetworkLevel1ListService; @Autowired private DjJdgzNetworkLevel1ListDao djJdgzNetworkLevel1ListDao; @Autowired private DjJdgzNetworkLevel2ListDao djJdgzNetworkLevel2ListDao; @Autowired private DjJdgzNetworkLevel2Service djJdgzNetworkLevel2Service; /** * 分页查询 * * @param queryFilter * @return */ /* public List page(QueryFilter queryFilter) { List list = baseDao.getList(queryFilter.getQueryParams()); return queryFilter.getPageList(list); }*/ /** * 获取节点状态数据 */ public List getNodeStatusData(Long id) { baseDao.setLevel1StatusNull(id); baseDao.setLevel1Status(id); baseDao.setLevel2StatusNull(id); baseDao.setLevel2Status(id); List 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 getList(Long shipId) { List list = baseDao.getList(shipId); return list; } /* public String getStatusDiagram(Long id) { DjJdgzNetworkLevel1 djJdgzNetworkLevel1 = this.get(id); String json = djJdgzNetworkLevel1.getContent(); List 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 getListByLevel3() { return baseDao.getListByLevel3(); } public String getStatusDiagram(Long id) { DjJdgzNetworkLevel1 djJdgzNetworkLevel1 = this.get(id); String json = djJdgzNetworkLevel1.getContent(); List nodeStatusData = this.getNodeStatusData(id); String statusDiagram = netWorkDiagramService.getStatusDiagram(json, null, nodeStatusData); return statusDiagram; } public List getNodeList(Long id) { List nodeList = djJdgzNetworkLevel1ListDao.getNodeList(id); JComboBoxItem[] level2List = djJdgzNetworkLevel2Service.getLevel2List(id); for (JComboBoxItem item : level2List) { List nodeList2 = djJdgzNetworkLevel2ListDao.getNodeList(item.getId()); nodeList.addAll(nodeList2); } Collections.sort(nodeList, new Comparator() { @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 getNodeStatus(Long id) { List nodeStatusList = this.getNodeStatusData(id); JComboBoxItem[] level2List = djJdgzNetworkLevel2Service.getLevel2List(id); for (JComboBoxItem item : level2List) { List nodeStatusList2 = djJdgzNetworkLevel2Service.getNodeStatusData(item.getId()); nodeStatusList.addAll(nodeStatusList2); } return nodeStatusList; } public List getNodeList2(Long id) { List nodeList2 =new ArrayList<>(); JComboBoxItem[] level2List = djJdgzNetworkLevel2Service.getLevel2List(id); for (JComboBoxItem item : level2List) { nodeList2.addAll(djJdgzNetworkLevel2ListDao.getNodeList(item.getId())); } return nodeList2; } }