From 66f0597bf6a1e79540c6bc51dedf561c22f3bdb5 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期二, 13 五月 2025 17:49:26 +0800
Subject: [PATCH] 修改
---
src/main/java/com/example/client/service/Level3ManageService.java | 15 +
src/main/java/com/example/client/service/TrackRecordAddOrUpdate.java | 2
src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel1Service.java | 2
src/main/java/com/example/server/progressTrack/Dto/Level3ExportCloum.java | 17 +
src/main/java/com/example/server/progressTrack/model/DjJdgzNetworkLevel3List.java | 3
src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3ListService.java | 2
src/main/java/com/example/server/progressTrack/service/NetWorkDiagramService.java | 3
src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java | 81 ++++++
src/main/resources/db/csiczb1.db | 0
src/main/java/com/example/server/progressTrack/dao/DjJdgzTrackRecordDao.java | 6
src/main/java/com/example/client/utils/TranslateToPlainStrUtils.java | 29 ++
src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3ListDao.xml | 4
src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java | 150 ++++++-------
src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3Dao.xml | 40 +++
src/main/java/com/example/client/service/Level3View2Service.java | 137 ++++++++++++
src/main/java/com/example/client/service/TeamGroupAddOrUpdate.java | 3
src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel2Dao.xml | 3
src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml | 107 +++++----
src/main/java/com/example/client/service/TrackRecordManageService.java | 2
src/main/java/com/example/server/progressTrack/dao/DjJdgzNetworkLevel3Dao.java | 3
20 files changed, 462 insertions(+), 147 deletions(-)
diff --git a/src/main/java/com/example/client/service/Level3ManageService.java b/src/main/java/com/example/client/service/Level3ManageService.java
index c3153ab..f74e8db 100644
--- a/src/main/java/com/example/client/service/Level3ManageService.java
+++ b/src/main/java/com/example/client/service/Level3ManageService.java
@@ -16,6 +16,7 @@
import javax.swing.*;
import javax.swing.event.TableModelEvent;
+import javax.swing.plaf.basic.BasicComboBoxRenderer;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.*;
@@ -428,6 +429,20 @@
JLabel JLabel3 = new JLabel("浜岀骇缃戠粶鍥捐妭鐐�");
JComboBox<JComboBoxItem> comboBox2 = new JComboBox<>();
+ comboBox2.setRenderer(new BasicComboBoxRenderer() {
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
+ super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
+
+ // 璁剧疆宸ュ叿鎻愮ず
+ if (value != null) {
+ setText(value.toString());
+ setToolTipText(value.toString()); // 璁剧疆宸ュ叿鎻愮ず涓哄畬鏁寸殑閫夐」鏂囨湰
+ }
+
+ return this;
+ }
+ });
comboBox2.setPreferredSize(new Dimension(185, 28));
if (data.getLevel2NodeId()!=null){
JComboBoxItem[] level2NodeList = level2ListService.getNode(data.getLevel2NetworkId());
diff --git a/src/main/java/com/example/client/service/Level3View2Service.java b/src/main/java/com/example/client/service/Level3View2Service.java
index 803e1c5..d941c42 100644
--- a/src/main/java/com/example/client/service/Level3View2Service.java
+++ b/src/main/java/com/example/client/service/Level3View2Service.java
@@ -3,6 +3,7 @@
import com.example.client.dto.ColumnDto;
import com.example.client.dto.JComboBoxItem;
import com.example.client.utils.*;
+import com.example.server.ExportExcel.dto.ExcelColumnDto;
import com.example.server.cabin.service.CabinService;
import com.example.server.progressTrack.Dto.TableNodeDto;
import com.example.server.progressTrack.model.DjJdgzShip;
@@ -15,6 +16,7 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
+import java.io.File;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
@@ -37,6 +39,8 @@
private List<TableNodeDto> list;
private Map<String, Long> shipMap = new HashMap<>();
private List<ColumnDto> columnDto;
+ @Autowired
+ private DjJdgzNetworkLevel1Service djJdgzNetworkLevel1Service;
public JPanel createTable(Integer width, Integer height, JFrame frame) {
@@ -124,6 +128,7 @@
// 鍒涘缓涓嬫媺妗�
ColorDescriptionComboBox comboBox5 = new ColorDescriptionComboBox(colorDescriptions);
JButton btnTjz = new JButton("璁惧杩涘害缁熻鎬昏〃");
+ JButton btnExport = new JButton("瀵煎嚭");
topJpanel2.add(JLabel0, new GBC(0, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
topJpanel2.add(comboBox, new GBC(1, 0, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
@@ -143,7 +148,9 @@
topJpanel2.add(sb, new GBC(4, 1, 2, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
topJpanel2.add(query, new GBC(6, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
topJpanel2.add(comboBox5, new GBC(7, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+ topJpanel2.add(btnExport, new GBC(8, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
topJpanel2.add(btnTjz, new GBC(9, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+
list = level3Service.getNodeList(shipList.get(0).getId(), deptList[0].getId(), teamList[0].getId(), cabinList[0].getId(), typeList[0], Math.toIntExact(isealCabin[0].getId()), Math.toIntExact(isealCabin[0].getId()), null);
@@ -390,6 +397,13 @@
statisProductService.createTable(frame, shipId, type);
}
});
+ btnExport.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ frame.setEnabled(false);
+ export(frame);
+ }
+ });
comboBox5.addItemListener(new ItemListener() {
@Override
@@ -445,6 +459,129 @@
return panel;
}
+
+ private void export(JFrame jFrame) {
+ JFrame frame1 = new JFrame("瀵煎嚭涓夌骇缃戠粶鍥剧姸鎬�");
+ frame1.setSize(300, 400);
+ frame1.setResizable(true);
+ frame1.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
+ frame1.setLocationRelativeTo(null);
+ frame1.setVisible(true);
+ frame1.addWindowListener(new WindowAdapter() {
+ //娣诲姞绗簩涓晫闈㈢殑鍏抽棴浜嬩欢:
+ public void windowClosing(WindowEvent e) {
+ //娣诲姞浜嬩欢:
+ jFrame.setEnabled(true);//灏嗕富鐣岄潰鍐嶈缃负鍙搷浣滅殑
+ }
+ });
+ GridBagLayout layout = new GridBagLayout();
+ frame1.setLayout(layout);
+
+ JComboBoxItem[] projectList = djJdgzNetworkLevel1Service.getProjectList();
+ JComboBoxItem[] deptList = sysTeamGroupClassService.getDeptList();
+
+ String[] typeList = new String[]{
+ "","杩涜涓�","涓存湡","閫炬湡","姝e父瀹屾垚","瓒呮湡瀹屾垚"
+ };
+
+ JLabel JLabel1 = new JLabel("宸ョ▼");
+ JComboBox<JComboBoxItem> comboBox0 = new JComboBox<>(projectList);
+ comboBox0.setPreferredSize(new Dimension(200, 28));
+ comboBox0.setSelectedIndex(-1);
+
+ JLabel JLabel4 = new JLabel("閮ㄩ棬");
+ JComboBox<JComboBoxItem> comboBox3 = new JComboBox<>(deptList);
+ comboBox3.setPreferredSize(new Dimension(200, 28));
+
+ JComboBoxItem[] teamList1 = sysTeamGroupClassService.getTeamList(deptList[0].getId());
+
+ JLabel JLabel5 = new JLabel("涓撲笟");
+ JComboBox<JComboBoxItem> comboBox4 = new JComboBox<>(teamList1);
+ comboBox4.setPreferredSize(new Dimension(200, 28));
+
+ JLabel JLabel7 = new JLabel("鐘舵��");
+ JComboBox<String> comboBox6 = new JComboBox<>(typeList);
+ comboBox6.setPreferredSize(new Dimension(200, 28));
+
+ comboBox3.addItemListener(new ItemListener() {
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ if (e.getStateChange() == ItemEvent.SELECTED) {
+ JComboBoxItem selectedItem = (JComboBoxItem) comboBox3.getSelectedItem();
+ if (selectedItem != null) {
+ long selectedId = selectedItem.getId();
+
+ JComboBoxItem[] teamList = sysTeamGroupClassService.getTeamList(selectedId);
+ comboBox4.setModel(new DefaultComboBoxModel<>(teamList));
+ comboBox4.setSelectedIndex(-1);
+ }
+ }
+ }
+ });
+
+ JButton btnExport = new JButton("瀵煎嚭");
+
+ frame1.add(JLabel1, new GBC(0, 0, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+ frame1.add(comboBox0, new GBC(1, 0, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+
+ frame1.add(JLabel4, new GBC(0, 1, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+ frame1.add(comboBox3, new GBC(1, 1, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+
+ frame1.add(JLabel5, new GBC(0, 2, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+ frame1.add(comboBox4, new GBC(1, 2, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+
+ frame1.add(JLabel7, new GBC(0, 3, 1, 1).setAnchor(GBC.SOUTHEAST).setInsets(5));
+ frame1.add(comboBox6, new GBC(1, 3, 1, 1).setAnchor(GBC.SOUTHWEST).setInsets(5));
+
+ frame1.add(btnExport, new GBC(0, 4, 2, 1).setWeight(1, 0));
+
+ btnExport.addActionListener(new ActionListener() {
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ JComboBoxItem projectItem = (JComboBoxItem) comboBox0.getSelectedItem();
+ JComboBoxItem deptItem = (JComboBoxItem) comboBox3.getSelectedItem();
+ JComboBoxItem teamGroupItem = (JComboBoxItem) comboBox4.getSelectedItem();
+ String statusItem = comboBox6.getSelectedItem().toString();
+
+ Long level1NetworkId = null;
+ Long deptId = null;
+ Long teamGroupId = null;
+ String status = null;
+
+ if (projectItem != null) {
+ level1NetworkId = projectItem.getId();
+ } else {
+ JOptionPane.showMessageDialog(null, "娌℃湁閫夋嫨宸ョ▼", "鎻愮ず", JOptionPane.WARNING_MESSAGE);
+ return;
+ }
+ if (deptId != null) {
+ deptId = deptItem.getId();
+ }
+ if (teamGroupItem != null) {
+ teamGroupId = teamGroupItem.getId();
+ }
+
+ if (StringUtils.isNotBlank(statusItem)) {
+ status = statusItem;
+ }
+
+ String fileName = "涓夌骇缃戠粶鍥剧姸鎬�.xlsx";
+ JFileChooser fileChooser = new JFileChooser();
+ fileChooser.setSelectedFile(new File(fileName));
+ int result = fileChooser.showSaveDialog(frame1);
+
+ if (result == JFileChooser.APPROVE_OPTION) {
+ File selectedFile = fileChooser.getSelectedFile();
+ level3Service.exportExcel(selectedFile.getPath(), level1NetworkId,deptId, teamGroupId, status);
+ JOptionPane.showMessageDialog(frame1, "鏂囦欢瀵煎嚭鎴愬姛");
+ } else {
+ JOptionPane.showMessageDialog(frame1, "鏂囦欢瀵煎嚭鍙栨秷");
+ }
+ }
+ });
+
+ }
+
private JComboBoxItem[] createIsealCabinItems() {
return new JComboBoxItem[]{
new JComboBoxItem(10000L, ""),
diff --git a/src/main/java/com/example/client/service/TeamGroupAddOrUpdate.java b/src/main/java/com/example/client/service/TeamGroupAddOrUpdate.java
index 3f56a13..ce383a8 100644
--- a/src/main/java/com/example/client/service/TeamGroupAddOrUpdate.java
+++ b/src/main/java/com/example/client/service/TeamGroupAddOrUpdate.java
@@ -117,6 +117,9 @@
if (type.equals("閮ㄩ棬")) {
data.setPid(0L);
sortMax = sysTeamGroupClassService.getSortMax(0L);
+ if (sortMax == null) {
+ sortMax = 100;
+ }
data.setSort(sortMax + 100);
} else {
data.setPid(dept.getId());
diff --git a/src/main/java/com/example/client/service/TrackRecordAddOrUpdate.java b/src/main/java/com/example/client/service/TrackRecordAddOrUpdate.java
index 4e40d08..9624b4d 100644
--- a/src/main/java/com/example/client/service/TrackRecordAddOrUpdate.java
+++ b/src/main/java/com/example/client/service/TrackRecordAddOrUpdate.java
@@ -351,7 +351,7 @@
data.setRemark(remark.getText());
Long id = djJdgzTrackRecordService.save(data, "save");
uploadFile.save(id);
- List<DjJdgzTrackRecord> list = djJdgzTrackRecordService.getList(level1Id, level3.getDeptId(), null, null, level3.getType(), 0, 0, null);
+ List<DjJdgzTrackRecord> list = djJdgzTrackRecordService.getList(level1Id, level3.getDeptId(), level3.getTeamgroupId(), null, null, 0, null, null);
CommonTable.refreshTable(list, columnDto, table);
trackRecordManageService.tableModelListener(table, jFrame, list);
frame1.dispose();
diff --git a/src/main/java/com/example/client/service/TrackRecordManageService.java b/src/main/java/com/example/client/service/TrackRecordManageService.java
index ecc2ee0..a1a6e77 100644
--- a/src/main/java/com/example/client/service/TrackRecordManageService.java
+++ b/src/main/java/com/example/client/service/TrackRecordManageService.java
@@ -408,7 +408,7 @@
// 妫�鏌ユ槸鍚︾偣鍑讳簡鏈夋晥鍗曞厓鏍�
if (row >= 0 && column >= 0) {
- if (column == 14) { // 鍒楃储寮曚粠0寮�濮�
+ if (column == 15) { // 鍒楃储寮曚粠0寮�濮�
// 鑾峰彇璇ュ崟鍏冩牸鐨勫��
Object cellValue = table.getValueAt(row, column);
Integer value = Integer.parseInt(cellValue.toString());
diff --git a/src/main/java/com/example/client/utils/TranslateToPlainStrUtils.java b/src/main/java/com/example/client/utils/TranslateToPlainStrUtils.java
new file mode 100644
index 0000000..ef61314
--- /dev/null
+++ b/src/main/java/com/example/client/utils/TranslateToPlainStrUtils.java
@@ -0,0 +1,29 @@
+package com.example.client.utils;
+
+import org.apache.commons.lang3.StringUtils;
+
+import java.math.BigDecimal;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class TranslateToPlainStrUtils {
+ public static String translateToPlainStr(String number) {
+ if (StringUtils.isBlank(number) ) {
+ return number;
+ }
+ String regEx = "^([\\+|-]?\\d+(.{0}|.\\d+))[Ee]{1}([\\+|-]?\\d+)$";
+ // 缂栬瘧姝e垯琛ㄨ揪寮�
+ Pattern pattern = Pattern.compile(regEx);
+
+ Matcher matcher = pattern.matcher(number);
+ // 瀛楃涓叉槸鍚︿笌姝e垯琛ㄨ揪寮忕浉鍖归厤
+ boolean rs = matcher.matches();
+ // 鍒ゆ柇鏄惁涓哄瓧绗︿覆鐨勭瀛﹁鏁版硶
+ if (rs) {
+ // 绉戝璁℃暟娉曡浆鏁板瓧
+ BigDecimal originValue = new BigDecimal(number);
+ return originValue.toPlainString();
+ }
+ return number;
+ }
+}
diff --git a/src/main/java/com/example/server/progressTrack/Dto/Level3ExportCloum.java b/src/main/java/com/example/server/progressTrack/Dto/Level3ExportCloum.java
new file mode 100644
index 0000000..7beafcb
--- /dev/null
+++ b/src/main/java/com/example/server/progressTrack/Dto/Level3ExportCloum.java
@@ -0,0 +1,17 @@
+package com.example.server.progressTrack.Dto;
+
+import lombok.Data;
+
+@Data
+public class Level3ExportCloum {
+ String deptName;
+ String teamName;
+ Long deptId;
+ Long teamgroupId;
+ String name;
+ String processName;
+ String requiredCompletionTime;
+ String actualCompletion;
+ String status;
+ Integer currentStatus;
+}
diff --git a/src/main/java/com/example/server/progressTrack/dao/DjJdgzNetworkLevel3Dao.java b/src/main/java/com/example/server/progressTrack/dao/DjJdgzNetworkLevel3Dao.java
index 2079aab..05fc6b8 100644
--- a/src/main/java/com/example/server/progressTrack/dao/DjJdgzNetworkLevel3Dao.java
+++ b/src/main/java/com/example/server/progressTrack/dao/DjJdgzNetworkLevel3Dao.java
@@ -2,6 +2,7 @@
import com.example.client.dto.JComboBoxItem;
import com.example.server.dao.BaseDao;
+import com.example.server.progressTrack.Dto.Level3ExportCloum;
import com.example.server.progressTrack.Dto.NetworkNodeStatusDto;
import com.example.server.progressTrack.Dto.StatistProductDto;
import com.example.server.progressTrack.Dto.TableNodeDto;
@@ -40,4 +41,6 @@
List<StatistProductDto> getStatist(Long level1Id,String type);
String getRemark(Long networkId, String type);
+
+ List<Level3ExportCloum> getdata(Long level1NetworkId, Long deptId, Long teamGroupId, String status);
}
diff --git a/src/main/java/com/example/server/progressTrack/dao/DjJdgzTrackRecordDao.java b/src/main/java/com/example/server/progressTrack/dao/DjJdgzTrackRecordDao.java
index 48ebf03..b488912 100644
--- a/src/main/java/com/example/server/progressTrack/dao/DjJdgzTrackRecordDao.java
+++ b/src/main/java/com/example/server/progressTrack/dao/DjJdgzTrackRecordDao.java
@@ -3,12 +3,12 @@
import com.example.server.dao.BaseDao;
import com.example.server.progressTrack.Dto.ReportRecordDto;
import com.example.server.progressTrack.Dto.StatistReportsDto;
+import com.example.server.progressTrack.model.DjJdgzNetworkLevel3List;
import com.example.server.progressTrack.model.DjJdgzTrackRecord;
import org.apache.ibatis.annotations.Mapper;
import java.util.Date;
import java.util.List;
-import java.util.Map;
/**
@@ -40,7 +40,9 @@
List<ReportRecordDto> getReportRecord(Long level1NetworkId, int column, Long teamgroupId);
- Long getIsExit(Long level3NetworkId, String processName);
+ Long getIsExit(Long level3NetworkId, String processName, Integer weekNo);
List<DjJdgzTrackRecord> getName(Long level3NetworkId);
+
+ DjJdgzNetworkLevel3List isExistTrackRecord(Integer sort, Long level3NetworkId);
}
diff --git a/src/main/java/com/example/server/progressTrack/model/DjJdgzNetworkLevel3List.java b/src/main/java/com/example/server/progressTrack/model/DjJdgzNetworkLevel3List.java
index 558a90e..45239c7 100644
--- a/src/main/java/com/example/server/progressTrack/model/DjJdgzNetworkLevel3List.java
+++ b/src/main/java/com/example/server/progressTrack/model/DjJdgzNetworkLevel3List.java
@@ -64,6 +64,7 @@
private String name;
@TableField(exist = false)
- private List<DjJdgzNetworkLevel3List> dataList;
+ @ApiModelProperty(value = "")
+ private Long trackRecordId;
}
diff --git a/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel1Service.java b/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel1Service.java
index 9049fed..21ddecb 100644
--- a/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel1Service.java
+++ b/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel1Service.java
@@ -151,7 +151,7 @@
List<DiagramNodeDto> nodeList2 =new ArrayList<>();
JComboBoxItem[] level2List = djJdgzNetworkLevel2Service.getLevel2List(id);
for (JComboBoxItem item : level2List) {
- nodeList2 = djJdgzNetworkLevel2ListDao.getNodeList(item.getId());
+ nodeList2.addAll(djJdgzNetworkLevel2ListDao.getNodeList(item.getId()));
}
return nodeList2;
}
diff --git a/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3ListService.java b/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3ListService.java
index fdfa59e..8ec2288 100644
--- a/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3ListService.java
+++ b/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3ListService.java
@@ -56,7 +56,7 @@
public DjJdgzNetworkLevel3List getNextNode(Long nodeId, Long networkId) {
DjJdgzNetworkLevel3List djJdgzNetworkLevel3List =new DjJdgzNetworkLevel3List();
- List<DjJdgzNetworkLevel3List> list = baseDao.getNextNode(this.get(nodeId).getSort()+1,networkId);
+ List<DjJdgzNetworkLevel3List> list = baseDao.getNextNode(this.get(nodeId).getSort(),networkId);
if(list.size()>0){
djJdgzNetworkLevel3List = list.get(0);
}else{
diff --git a/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java b/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java
index c17dd52..c9748b3 100644
--- a/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java
+++ b/src/main/java/com/example/server/progressTrack/service/DjJdgzNetworkLevel3Service.java
@@ -2,19 +2,26 @@
import com.example.client.dto.JComboBoxItem;
import com.example.client.service.BaseService;
+import com.example.client.utils.TranslateToPlainStrUtils;
+import com.example.server.ExportExcel.dto.ExcelColumnDto;
+import com.example.server.ExportExcel.dto.ExprotExcelDto;
+import com.example.server.ExportExcel.method.ExcelExport;
import com.example.server.cabin.service.CabinService;
+import com.example.server.progressTrack.Dto.Level3ExportCloum;
import com.example.server.progressTrack.Dto.NetworkNodeStatusDto;
import com.example.server.progressTrack.Dto.StatistProductDto;
import com.example.server.progressTrack.Dto.TableNodeDto;
import com.example.server.progressTrack.dao.DjJdgzNetworkLevel3Dao;
import com.example.server.progressTrack.model.DjJdgzNetworkLevel3;
import com.example.server.progressTrack.model.DjJdgzNetworkLevel3List;
+import com.example.server.progressTrack.model.DjJdgzTrackRecord;
import com.example.server.teamGroup.service.SysTeamGroupClassService;
import com.example.server.utils.FileUtils;
import com.example.server.utils.ImportUtil;
import com.example.server.utils.UUIDUtil;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
@@ -53,6 +60,69 @@
public List<StatistProductDto> getStatist(Long level1Id,String type) {
return baseDao.getStatist(level1Id,type);
+ }
+
+ public void exportExcel(String path, Long level1NetworkId, Long deptId, Long teamGroupId, String status) {
+ List<ExprotExcelDto> dtos = new ArrayList<>();
+ ExprotExcelDto dto = new ExprotExcelDto();
+ dto.setSheetName("璁惧鑺傜偣鐘舵�佽褰�");
+
+ List<Level3ExportCloum> list = baseDao.getdata(level1NetworkId, deptId, teamGroupId, status);
+ Date today = new Date();
+ for (Level3ExportCloum data :list){
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+ Date requiredCompletionDate = null;
+ Date actualCompletionDate = null;
+ try {
+ if (StringUtils.isNotBlank(data.getRequiredCompletionTime())) {
+ requiredCompletionDate = sdf.parse(data.getRequiredCompletionTime());
+ }
+ if (StringUtils.isNotBlank(data.getActualCompletion())) {
+ actualCompletionDate = sdf.parse(data.getActualCompletion());
+ }
+
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ if (data.getCurrentStatus() == null || data.getCurrentStatus() == 0) {
+ if (today.after(requiredCompletionDate)) {
+ int days = (int) ((today.getTime() - requiredCompletionDate.getTime()) / (1000 * 60 * 60 * 24));
+ data.setStatus("宸查�炬湡" + days + "澶�");
+ } else if ((requiredCompletionDate.getTime() - today.getTime()) / (1000 * 60 * 60 * 24) < 7) {
+ int days = (int) ((requiredCompletionDate.getTime() - today.getTime()) / (1000 * 60 * 60 * 24));
+ data.setStatus("杩樻湁" + days + "澶╀复鏈�");
+ } else {
+ data.setStatus("杩涜涓�");
+ }
+ } else if (data.getCurrentStatus() == 1) {
+ // 宸插畬鎴�
+ if (data.getActualCompletion() != null && actualCompletionDate.after(requiredCompletionDate)) {
+ int days = (int) ((actualCompletionDate.getTime() - requiredCompletionDate.getTime()) / (1000 * 60 * 60 * 24));
+ data.setStatus("瓒呮湡" + days + "澶╁畬鎴�");
+ } else {
+ data.setStatus("姝e父瀹屾垚");
+ }
+ }
+
+ data.setDeptName(sysTeamGroupClassService.get(data.getDeptId()).getName());
+ data.setTeamName(sysTeamGroupClassService.get(data.getTeamgroupId()).getName());
+ }
+ dto.setDataList(list);
+ List<ExcelColumnDto> columnDto2 = new ArrayList<>();
+ columnDto2.add(new ExcelColumnDto("閮ㄩ棬", "deptName", 25, HorizontalAlignment.CENTER));
+ columnDto2.add(new ExcelColumnDto("涓撲笟", "teamName", 25, HorizontalAlignment.CENTER));
+ columnDto2.add(new ExcelColumnDto("璁惧鍚嶇О", "name", 50, HorizontalAlignment.CENTER));
+ columnDto2.add(new ExcelColumnDto("鑺傜偣鍚嶇О", "processName", 25, HorizontalAlignment.CENTER));
+ columnDto2.add(new ExcelColumnDto("瑕佹眰瀹屾垚鏃堕棿", "requiredCompletionTime", 25, HorizontalAlignment.CENTER));
+ columnDto2.add(new ExcelColumnDto("鐘舵��", "status", 25, HorizontalAlignment.LEFT));
+ dto.setColumnDto(columnDto2);
+ dtos.add(dto);
+ try {
+ ExcelExport.getHSSFWorkbook(path, dtos);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
}
enum StatusEnum {zy, jxz, lq, yq, zcwc, cqwc}
@@ -435,6 +505,7 @@
data.setGeneralRepairUnit(generalRepairUnit);
}
if (StringUtils.isNotBlank(generalRepairUnitContact)) {
+ generalRepairUnitContact = TranslateToPlainStrUtils.translateToPlainStr(generalRepairUnitContact);
data.setGeneralRepairUnitContact(generalRepairUnitContact);
}
if (StringUtils.isNotBlank(generalRepairUnitDirector)) {
@@ -444,6 +515,7 @@
data.setRepairUnit(repairUnit);
}
if (StringUtils.isNotBlank(repairUnitContact)) {
+ repairUnitContact = TranslateToPlainStrUtils.translateToPlainStr(repairUnitContact);
data.setRepairUnitContact(repairUnitContact);
}
if (StringUtils.isNotBlank(repairUnitDirector)) {
@@ -512,7 +584,7 @@
// 宸插畬鎴�
if (node.getActualCompletion() != null && actualCompletionDate.after(requiredCompletionDate)) {
statusMap.put(node.getId(), StatusEnum.cqwc);
- int days = (int) ((today.getTime() - requiredCompletionDate.getTime()) / (1000 * 60 * 60 * 24));
+ int days = (int) ((actualCompletionDate.getTime() - requiredCompletionDate.getTime()) / (1000 * 60 * 60 * 24));
node.setCqText("瑕佹眰鏃堕棿涓�" + sdf.format(requiredCompletionDate) + "瓒呮湡" + days + "澶╁畬鎴�");
} else {
statusMap.put(node.getId(), StatusEnum.zcwc);
@@ -568,11 +640,4 @@
return dataList;
}
- /* public void exportExcelTemplate(HttpServletResponse response, HttpServletRequest request) throws IOException {
- String excelName="涓夌骇缃戠粶鍥炬壒閲忔ā鐗�";
- String excelPath = path + "template/jx-model/" + excelName + ".xlsx"; //妯℃澘璺緞
- File file = new File(excelPath);
- excelName = excelName + "_" + DateUtil.now() + ".xlsx";
- DownloadService.exportModelPath(excelPath, excelName, file, response, request);
- }*/
}
diff --git a/src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java b/src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java
index 391d936..90d2886 100644
--- a/src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java
+++ b/src/main/java/com/example/server/progressTrack/service/DjJdgzTrackRecordService.java
@@ -1,5 +1,6 @@
package com.example.server.progressTrack.service;
+import com.example.client.utils.TranslateToPlainStrUtils;
import com.example.server.ExportExcel.dto.ExcelColumnDto;
import com.example.client.service.BaseService;
import com.example.server.ExportExcel.dto.ExprotExcelDto;
@@ -58,7 +59,7 @@
private SysTeamGroupClassService sysTeamGroupClassService;
- public List<DjJdgzTrackRecord> getList(Long level1NetworkId, Long deptId, Long teamId, Long cabinId, String type, Integer status,Integer isealCabin, String name) {
+ public List<DjJdgzTrackRecord> getList(Long level1NetworkId, Long deptId, Long teamId, Long cabinId, String type, Integer status, Integer isealCabin, String name) {
Long userId = null;
/* Map adminRole = sysUserService.adminRole();
Object isTyRole = adminRole.get("isTyRole");
@@ -66,7 +67,7 @@
if (isTyRole.equals(true) || isYwzRole.equals(true)) {
userId = UserContext.getUser().getId();
}*/
- List<DjJdgzTrackRecord> list = baseDao.getList(level1NetworkId, deptId, teamId, cabinId, type, status, isealCabin,name);
+ List<DjJdgzTrackRecord> list = baseDao.getList(level1NetworkId, deptId, teamId, cabinId, type, status, isealCabin, name);
/*if (list != null && list.size() > 0) {
sysOssService.setListOsses(list, "ProjectProgressFileUpload");
}*/
@@ -76,18 +77,6 @@
Integer trackNum = baseDao.getTrackNum(data.getLevel3NodeId());
data.setActualCompletion(data.getEstimatedCompletionTime());
data.setTrackNum(trackNum);
- int weekNo = this.getWeekNo(data.getLevel1NetworkId());
- if (data.getWeekNo() != null) {
- if (data.getWeekNo() != weekNo) {
- data.setWeekNo(weekNo);
- data.setIsUpdate(false);
- } else {
- data.setIsUpdate(true);
- }
- } else {
- data.setWeekNo(weekNo);
- data.setIsUpdate(false);
- }
}
}
return list;
@@ -102,64 +91,75 @@
super.deleteLogic(ids);
}
- public Long save(DjJdgzTrackRecord djJdgzTrackRecord,String type) {
+ public Long save(DjJdgzTrackRecord djJdgzTrackRecord, String type) {
Long id = null;
- int weekNo = this.getWeekNo(djJdgzTrackRecord.getLevel1NetworkId());
- LocalDate currentDate = LocalDate.now();
- // 瀹氫箟鏃ユ湡鏍煎紡
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- // 灏嗗綋鍓嶆棩鏈熸牸寮忓寲涓哄瓧绗︿覆
- String formattedDate = currentDate.format(formatter);
- djJdgzTrackRecord.setUpdateDate(formattedDate);
- if (djJdgzTrackRecord.getCurrentStatus() == 1 && type.equals("save")) {
- //鏃堕棿姣旇緝
- djJdgzTrackRecord.setEstimatedCompletionTime(formattedDate);
- }
- if (djJdgzTrackRecord.getIsUpdate()) {
- this.update(djJdgzTrackRecord);
- id = djJdgzTrackRecord.getId();
- } else {
- id = UUIDUtil.generateId();
- djJdgzTrackRecord.setWeekNo(weekNo);
- djJdgzTrackRecord.setId(id);
- djJdgzTrackRecord.setCreateDate(formattedDate);
- this.insert(djJdgzTrackRecord);
- id = djJdgzTrackRecord.getId();
- }
+ int weekNo = this.getWeekNo(djJdgzTrackRecord.getLevel1NetworkId(),new Date());
- if (djJdgzTrackRecord.getCurrentStatus() == 1) {
- DjJdgzNetworkLevel3List nextNode = djJdgzNetworkLevel3ListService.getNextNode(djJdgzTrackRecord.getLevel3NodeId(), djJdgzTrackRecord.getLevel3NetworkId());
- Long oldId = baseDao.getIsExit(nextNode.getNetworkId(),nextNode.getProcessName());
- if (nextNode != null && oldId == null) {
- DjJdgzTrackRecord data = new DjJdgzTrackRecord();
- data.setLevel3NodeId(nextNode.getId());
- data.setProcessName(nextNode.getProcessName());
- data.setLevel3NetworkId(djJdgzTrackRecord.getLevel3NetworkId());
- data.setLevel3NetworkName(djJdgzTrackRecord.getLevel3NetworkName());
- data.setEstimatedCompletionTime(nextNode.getRequiredCompletionTime());
- data.setGeneralRepairUnit(djJdgzTrackRecord.getGeneralRepairUnit());
- data.setGeneralRepairUnitContact(djJdgzTrackRecord.getGeneralRepairUnitContact());
- data.setGeneralRepairUnitDirector(djJdgzTrackRecord.getGeneralRepairUnitDirector());
- data.setRepairUnit(djJdgzTrackRecord.getRepairUnit());
- data.setRepairUnitContact(djJdgzTrackRecord.getRepairUnitContact());
- data.setRepairUnitDirector(djJdgzTrackRecord.getRepairUnitDirector());
- data.setTrackMethod(1);
- data.setWeekNo(weekNo);
- data.setUpdateDate(formattedDate);
- data.setCreateDate(formattedDate);
- this.insert(data);
+ if (type.equals("import")) {
+ Long oldId = baseDao.getIsExit(djJdgzTrackRecord.getLevel3NetworkId(), djJdgzTrackRecord.getProcessName(), djJdgzTrackRecord.getWeekNo());
+ if (oldId != null) {
+ djJdgzTrackRecord.setId(oldId);
+ djJdgzTrackRecord.setIsUpdate(true);
+ } else {
+ djJdgzTrackRecord.setIsUpdate(false);
+ }
+ }else{
+ if (djJdgzTrackRecord.getWeekNo() != null && djJdgzTrackRecord.getWeekNo() == weekNo) {
+ djJdgzTrackRecord.setIsUpdate(true);
+ } else {
+ djJdgzTrackRecord.setWeekNo(weekNo);
+ djJdgzTrackRecord.setIsUpdate(false);
+ }
+ LocalDate currentDate = LocalDate.now();
+ // 瀹氫箟鏃ユ湡鏍煎紡
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ // 灏嗗綋鍓嶆棩鏈熸牸寮忓寲涓哄瓧绗︿覆
+ String formattedDate = currentDate.format(formatter);
+
+ if (djJdgzTrackRecord.getCurrentStatus() == 1) {
+ djJdgzTrackRecord.setEstimatedCompletionTime(formattedDate);
}
}
- //鏀瑰彉涓夌骇缃戠粶鍥剧姸鎬�
+
+ if (djJdgzTrackRecord.getIsUpdate()) {
+ this.update(djJdgzTrackRecord);
+ } else {
+ djJdgzTrackRecord.setId(null);
+ if(type.equals("save")){
+ djJdgzTrackRecord.setWeekNo(weekNo);
+ }
+ this.insert(djJdgzTrackRecord);
+ }
+ id = djJdgzTrackRecord.getId();
+
this.setLevel3Status(djJdgzTrackRecord.getLevel3NodeId(), djJdgzTrackRecord.getCurrentStatus(), djJdgzTrackRecord.getEstimatedCompletionTime());
+
+ if (djJdgzTrackRecord.getCurrentStatus() == 1) {
+ DjJdgzNetworkLevel3List nextNode = baseDao.isExistTrackRecord(djJdgzNetworkLevel3ListService.get(djJdgzTrackRecord.getLevel3NodeId()).getSort(), djJdgzTrackRecord.getLevel3NetworkId());
+ if (nextNode != null && nextNode.getTrackRecordId() == null) {
+ djJdgzTrackRecord.setId(null);
+ djJdgzTrackRecord.setLevel3NodeId(nextNode.getId());
+ djJdgzTrackRecord.setProcessName(nextNode.getProcessName());
+ djJdgzTrackRecord.setEstimatedCompletionTime(nextNode.getRequiredCompletionTime());
+ djJdgzTrackRecord.setWeekNo(weekNo);
+ djJdgzTrackRecord.setCurrentStatus(0);
+
+ djJdgzTrackRecord.setUpdateDate(null);
+ djJdgzTrackRecord.setCreateDate(null);
+ djJdgzTrackRecord.setCreator(null);
+ djJdgzTrackRecord.setUpdater(null);
+ this.insert(djJdgzTrackRecord);
+ this.setLevel3Status(djJdgzTrackRecord.getLevel3NodeId(), djJdgzTrackRecord.getCurrentStatus(), djJdgzTrackRecord.getEstimatedCompletionTime());
+ }
+ }
return id;
+
}
- public int getWeekNo(Long level1NetworkId) {
+ public int getWeekNo(Long level1NetworkId,Date nowDate) {
DjJdgzNetworkLevel1 level1Network = djJdgzNetworkLevel1Service.get(level1NetworkId);
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy-MM-dd");
- String formattedDate = sdFormat.format(new Date());
- Date nowDate = null;
+ String formattedDate = sdFormat.format(nowDate);
Date startDate = null;
try {
nowDate = sdFormat.parse(formattedDate);
@@ -207,8 +207,8 @@
if (isTyRole.equals(true) || isYwzRole.equals(true)) {
userId = UserContext.getUser().getId();
}*/
- int weekNo = this.getWeekNo(level1NetworkId);
- List<DjJdgzTrackRecord> data = baseDao.prompt(level1NetworkId, weekNo, userId,deptId,teamId,name);
+ int weekNo = this.getWeekNo(level1NetworkId,new Date());
+ List<DjJdgzTrackRecord> data = baseDao.prompt(level1NetworkId, weekNo, userId, deptId, teamId, name);
for (DjJdgzTrackRecord record : data) {
int i = weekNo - record.getWeekNo();
record.setStatus(i + "鍛ㄦ湭瀹屾垚");
@@ -220,8 +220,6 @@
Long level3NetworkId, Long level3NodeId, Integer status, Date beginDate,
Date endDate, Integer istq, List<ExcelColumnDto> columnDto) {
List<ExprotExcelDto> dtos = new ArrayList<>();
- /* Map<String, String> keywordMap = dailyPlanService.getReplacement();
- String keywordT = keywordMap.get("ting");*/
Map<Integer, String> trackMethodMap = new HashMap<>();
trackMethodMap.put(0, "绾夸笅");
@@ -296,7 +294,8 @@
}
}
- public List<DjJdgzTrackRecord> getListByImport(Long level1Id, Long level2Id, Long level2NodeId, String selectedIds) {
+ public List<DjJdgzTrackRecord> getListByImport(Long level1Id, Long level2Id, Long level2NodeId, String
+ selectedIds) {
return baseDao.getListByImport(level1Id, level2Id, level2NodeId, selectedIds);
}
@@ -388,7 +387,8 @@
isErr = true;
continue;
} else {
- int weekNo = this.getWeekNo(level1NetworkId);
+ Date parsedDate = new SimpleDateFormat("yyyy-MM-dd").parse(dataDate);
+ int weekNo = this.getWeekNo(level1NetworkId, parsedDate);
data.setWeekNo(weekNo);
data.setLevel1NetworkId(level1NetworkId);
data.setLevel3NetworkId(level3.getId());
@@ -473,6 +473,7 @@
}
if (StringUtils.isNotBlank(trackPersonContact)) {
+ trackPersonContact = TranslateToPlainStrUtils.translateToPlainStr(trackPersonContact);
data.setTrackPersonContact(trackPersonContact);
}
@@ -485,6 +486,7 @@
}
if (StringUtils.isNotBlank(trackedPersonContact)) {
+ trackedPersonContact = TranslateToPlainStrUtils.translateToPlainStr(trackedPersonContact);
data.setTrackedPersonContact(trackedPersonContact);
}
@@ -496,6 +498,7 @@
}
if (StringUtils.isNotBlank(generalRepairUnitContact)) {
+ generalRepairUnitContact = TranslateToPlainStrUtils.translateToPlainStr(generalRepairUnitContact);
data.setGeneralRepairUnitContact(generalRepairUnitContact);
}
if (StringUtils.isNotBlank(generalRepairUnitDirector)) {
@@ -505,6 +508,7 @@
data.setRepairUnit(repairUnit);
}
if (StringUtils.isNotBlank(generalRepairUnit)) {
+ generalRepairUnit = TranslateToPlainStrUtils.translateToPlainStr(generalRepairUnit);
data.setRepairUnitContact(repairUnitContact);
}
if (StringUtils.isNotBlank(generalRepairUnit)) {
@@ -512,15 +516,7 @@
}
if (!isErr) {
- Long oldId = baseDao.getIsExit(data.getLevel3NetworkId(),data.getProcessName());
- if (oldId!=null) {
- data.setId(oldId);
- data.setIsUpdate(true);
- }else{
- data.setIsUpdate(false);
- }
-
- this.save(data,"import");
+ this.save(data, "import");
}
if (isErr) {
err++;
diff --git a/src/main/java/com/example/server/progressTrack/service/NetWorkDiagramService.java b/src/main/java/com/example/server/progressTrack/service/NetWorkDiagramService.java
index 4cc3de7..cb75318 100644
--- a/src/main/java/com/example/server/progressTrack/service/NetWorkDiagramService.java
+++ b/src/main/java/com/example/server/progressTrack/service/NetWorkDiagramService.java
@@ -3,6 +3,7 @@
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONNull;
import cn.hutool.json.JSONObject;;
import com.example.client.service.BaseService;
import com.example.client.utils.UUIDUtil;
@@ -1456,7 +1457,7 @@
case "custom-circle":
case "custom-circle1":
String text = (String) JsonUtils2.getJsonValueByPath(jsonObject, "attrs/text/text".split("/"));
- String title = (String) JsonUtils2.getJsonValueByPath(jsonObject, "attrs/title/text".split("/"));
+ String title = JsonUtils2.getJsonValueByPath(jsonObject, "attrs/title/text".split("/")) instanceof JSONNull ? null : (String) JsonUtils2.getJsonValueByPath(jsonObject, "attrs/title/text".split("/"));
String idValue = jsonObject.get("id").toString();
Integer x = (Integer) JsonUtils2.getJsonValueByPath(jsonObject, "position/x".split("/")) + defX;
diff --git a/src/main/resources/db/csiczb1.db b/src/main/resources/db/csiczb1.db
index f7a61aa..919bf77 100644
--- a/src/main/resources/db/csiczb1.db
+++ b/src/main/resources/db/csiczb1.db
Binary files differ
diff --git a/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel2Dao.xml b/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel2Dao.xml
index 293e84a..51302a6 100644
--- a/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel2Dao.xml
+++ b/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel2Dao.xml
@@ -45,9 +45,6 @@
and b.ship_id = ${shipId}
</if>
</where>
- <if test="orderBySql!=null">
- ORDER BY ${orderBySql}
- </if>
</select>
<select id="getLevel2List" resultType="com.example.client.dto.JComboBoxItem">
select a.id,c.process_name as `name`
diff --git a/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3Dao.xml b/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3Dao.xml
index 8ff478e..e017744 100644
--- a/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3Dao.xml
+++ b/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3Dao.xml
@@ -224,6 +224,46 @@
LIMIT 1;
</select>
+ <select id="getdata" resultType="com.example.server.progressTrack.Dto.Level3ExportCloum">
+ select c.NAME,b.PROCESS_NAME,b.CURRENT_STATUS,b.REQUIRED_COMPLETION_TIME,b.ACTUAL_COMPLETION,c.dept_id,c.teamgroup_id
+ FROM dj_jdgz_track_record a
+ LEFT JOIN dj_jdgz_network_level3_list b on b.ID = a.LEVEL3_NODE_ID
+ LEFT JOIN dj_jdgz_network_level3 c on c.ID = b.NETWORK_ID
+ LEFT JOIN dj_jdgz_network_level1 d on d.ID = c.LEVEL1_NETWORK_ID
+ where a.IS_DELETE = 0
+ and c.LEVEL1_NETWORK_ID = ${level1NetworkId}
+ and c.LEVEL1_NETWORK_ID = d.id
+ and b.IS_DELETE = 0
+ and b.NETWORK_ID = c.id
+ and c.IS_DELETE = 0
+ and d.IS_DELETE = 0
+ <if test="deptId!=null">
+ and c.DEPT_ID = ${deptId}
+ </if>
+ <if test="teamGroupId!=null">
+ and c.TEAMGROUP_ID = ${teamGroupId}
+ </if>
+ <if test="status!=null and status=='杩涜涓�'">
+ and (b.CURRENT_STATUS = 0 or b.CURRENT_STATUS is null)
+ and b.REQUIRED_COMPLETION_TIME >= ( SELECT date( 'now', '-' || d.advent_day || ' days' ) )
+ </if>
+ <if test="status!=null and status=='涓存湡'">
+ and (b.CURRENT_STATUS = 0 or b.CURRENT_STATUS is null)
+ and b.REQUIRED_COMPLETION_TIME < ( SELECT date( 'now', '-' || d.advent_day || ' days' ) )
+ </if>
+ <if test="status!=null and status=='閫炬湡'">
+ and (b.CURRENT_STATUS = 0 or b.CURRENT_STATUS is null)
+ and b.REQUIRED_COMPLETION_TIME < ( SELECT datetime( 'now' ) )
+ </if>
+ <if test="status!=null and status=='姝e父瀹屾垚'">
+ and b.CURRENT_STATUS = 1
+ AND b.REQUIRED_COMPLETION_TIME >= b.ACTUAL_COMPLETION
+ </if>
+ <if test="status!=null and status=='瓒呮湡瀹屾垚'">
+ and b.CURRENT_STATUS = 1
+ AND b.REQUIRED_COMPLETION_TIME < b.ACTUAL_COMPLETION
+ </if>
+ </select>
</mapper>
diff --git a/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3ListDao.xml b/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3ListDao.xml
index fa406ef..aba92a8 100644
--- a/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3ListDao.xml
+++ b/src/main/resources/mapper/progressTrack/DjJdgzNetworkLevel3ListDao.xml
@@ -27,8 +27,8 @@
from dj_jdgz_network_level3_list
where is_delete = 0
and network_id = ${networkId}
- and sort = ${sort}
- ORDER BY sort
+ and sort > ${sort}
+ ORDER BY sort limit 1
</select>
<select id="getDefult"
resultType="com.example.server.progressTrack.model.DjJdgzNetworkLevel3List">
diff --git a/src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml b/src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml
index f4883e6..22b7237 100644
--- a/src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml
+++ b/src/main/resources/mapper/progressTrack/DjJdgzTrackRecordDao.xml
@@ -90,7 +90,7 @@
<if test="deptId!=null">
and c.dept_id = ${deptId}
</if>
- <if test="isealCabin!=10000">
+ <if test="isealCabin!=10000 and isealCabin!=null">
and c.iseal_cabin = ${isealCabin}
</if>
<if test="teamId!=null">
@@ -137,38 +137,38 @@
</select>
<select id="getReport" resultType="com.example.server.progressTrack.Dto.StatistReportsDto">
select d.*, e.name as teamGroupName
- from (
- select TEAMGROUP_ID,
- count(1) as allNum,
- sum(case when status = 'zcjxz' or status = 'lq' then 1 else 0 end) as jxzNum,
- sum(case when status = 'lq' then 1 else 0 end) as lqNum,
- sum(case when status = 'yq' then 1 else 0 end) as yqNum,
- sum(case when status = 'zcwc' then 1 else 0 end) as zcwcNum,
- sum(case when status = 'cqwc' then 1 else 0 end) as cqwcNum
- from (
- select a.TEAMGROUP_ID,
- CASE
- WHEN b.CURRENT_STATUS = 1
- AND b.REQUIRED_COMPLETION_TIME > b.ACTUAL_COMPLETION THEN
- 'cqwc'
- WHEN b.CURRENT_STATUS = 1 THEN
- 'zcwc'
- WHEN b.REQUIRED_COMPLETION_TIME < (SELECT datetime('now')) THEN 'yq'
- WHEN b.REQUIRED_COMPLETION_TIME <
- (SELECT date('now', '-' || c.advent_day || ' days')) THEN 'lq'
+ from (select TEAMGROUP_ID,
+ count(1) as allNum,
+ sum(case when status = 'zcjxz' or status = 'lq' then 1 else 0 end) as jxzNum,
+ sum(case when status = 'lq' then 1 else 0 end) as lqNum,
+ sum(case when status = 'yq' then 1 else 0 end) as yqNum,
+ sum(case when status = 'zcwc' then 1 else 0 end) as zcwcNum,
+ sum(case when status = 'cqwc' then 1 else 0 end) as cqwcNum
+ from (select c.TEAMGROUP_ID,
+ CASE
+ WHEN b.CURRENT_STATUS = 1
+ AND b.REQUIRED_COMPLETION_TIME > b.ACTUAL_COMPLETION THEN
+ 'cqwc'
+ WHEN b.CURRENT_STATUS = 1 THEN
+ 'zcwc'
+ WHEN b.REQUIRED_COMPLETION_TIME < (SELECT datetime('now')) THEN 'yq'
+ WHEN b.REQUIRED_COMPLETION_TIME <
+ (SELECT date('now', '-' || d.advent_day || ' days')) THEN 'lq'
ELSE 'zcjxz'
END AS status
- from dj_jdgz_network_level3 a,
- dj_jdgz_network_level3_list b,
- dj_jdgz_network_level1 c
- where a.IS_DELETE = 0
- and a.LEVEL1_NETWORK_ID = ${level1NetworkId}
- and a.LEVEL1_NETWORK_ID = c.id
- and b.IS_DELETE = 0
- and b.NETWORK_ID = a.id
- ) c
- group by TEAMGROUP_ID
- ) d,
+ FROM dj_jdgz_track_record a
+ LEFT JOIN dj_jdgz_network_level3_list b
+ on b.ID = a.LEVEL3_NODE_ID
+ LEFT JOIN dj_jdgz_network_level3 c on c.ID = b.NETWORK_ID
+ LEFT JOIN dj_jdgz_network_level1 d on d.ID = c.LEVEL1_NETWORK_ID
+ where c.IS_DELETE = 0
+ and c.LEVEL1_NETWORK_ID = ${level1NetworkId}
+ and c.LEVEL1_NETWORK_ID = d.id
+ and b.IS_DELETE = 0
+ and a.IS_DELETE = 0
+ and d.IS_DELETE = 0
+ and b.NETWORK_ID = c.id) c
+ group by TEAMGROUP_ID ) d,
dj_sys_teamgroup_class e
where d.TEAMGROUP_ID = e.id
</select>
@@ -258,7 +258,7 @@
a.IS_DELETE = 0
and a.network_id != 10000
<if test="teamgroupId!=null and teamgroupId!=''">
- AND a.TEAMGROUP_ID in (${teamgroupId})
+ AND h.ID in (${teamgroupId})
</if>
<if test="istq!=1 and istq!=null">
AND a.REQUIRED_COMPLETION_TIME < b.estimated_completion_time
@@ -470,24 +470,26 @@
a.REQUIRED_COMPLETION_TIME
</select>
<select id="getReportRecord" resultType="com.example.server.progressTrack.Dto.ReportRecordDto">
- select a.NAME,b.PROCESS_NAME
- from dj_jdgz_network_level3 a,
- dj_jdgz_network_level3_list b,
- dj_jdgz_network_level1 c
+ select c.NAME,b.PROCESS_NAME
+ FROM dj_jdgz_track_record a
+ LEFT JOIN dj_jdgz_network_level3_list b on b.ID = a.LEVEL3_NODE_ID
+ LEFT JOIN dj_jdgz_network_level3 c on c.ID = b.NETWORK_ID
+ LEFT JOIN dj_jdgz_network_level1 d on d.ID = c.LEVEL1_NETWORK_ID
where a.IS_DELETE = 0
- and a.LEVEL1_NETWORK_ID = ${level1NetworkId}
- and a.TEAMGROUP_ID = ${teamgroupId}
- and a.LEVEL1_NETWORK_ID = c.id
+ and c.LEVEL1_NETWORK_ID = ${level1NetworkId}
+ and c.TEAMGROUP_ID = ${teamgroupId}
+ and c.LEVEL1_NETWORK_ID = d.id
and b.IS_DELETE = 0
- and b.NETWORK_ID = a.id
+ and b.NETWORK_ID = c.id
and c.IS_DELETE = 0
+ and d.IS_DELETE = 0
<if test="column==2">
and (b.CURRENT_STATUS = 0 or b.CURRENT_STATUS is null)
- and b.REQUIRED_COMPLETION_TIME >= ( SELECT date( 'now', '-' || c.advent_day || ' days' ) )
+ and b.REQUIRED_COMPLETION_TIME >= ( SELECT date( 'now', '-' || d.advent_day || ' days' ) )
</if>
<if test="column==3">
and (b.CURRENT_STATUS = 0 or b.CURRENT_STATUS is null)
- and b.REQUIRED_COMPLETION_TIME < ( SELECT date( 'now', '-' || c.advent_day || ' days' ) )
+ and b.REQUIRED_COMPLETION_TIME < ( SELECT date( 'now', '-' || d.advent_day || ' days' ) )
</if>
<if test="column==4">
and (b.CURRENT_STATUS = 0 or b.CURRENT_STATUS is null)
@@ -508,13 +510,10 @@
WHERE LEVEL3_NETWORK_ID = ${level3NetworkId}
AND process_name = #{processName}
AND is_delete = 0
- AND update_date = (
- SELECT MAX(update_date)
- FROM dj_jdgz_track_record
- WHERE LEVEL3_NETWORK_ID = ${level3NetworkId}
- AND process_name = #{processName}
- AND is_delete = 0
- )
+ <if test="weekNo!=null">
+ and week_no = ${weekNo}
+ </if>
+ limit 1
</select>
<select id="getName" resultType="com.example.server.progressTrack.model.DjJdgzTrackRecord">
SELECT
@@ -529,5 +528,15 @@
ORDER BY
CREATE_DATE ,UPDATE_DATE
</select>
+ <select id="isExistTrackRecord" resultType="com.example.server.progressTrack.model.DjJdgzNetworkLevel3List">
+ select a.*,b.id as trackRecordId
+ from dj_jdgz_network_level3_list a
+ left join dj_jdgz_track_record b on b.is_delete = 0 and a.id = b.LEVEL3_NODE_ID
+ where a.is_delete = 0
+ and a.network_id = ${level3NetworkId}
+ and a.sort > ${sort}
+ order by a.sort
+ limit 1
+ </select>
</mapper>
--
Gitblit v1.9.1