From 3a3bde5cbd72611ce3774bd8db6ad3fd22baea51 Mon Sep 17 00:00:00 2001 From: TaehunPark Date: Wed, 8 Feb 2023 17:57:16 +0900 Subject: [PATCH] =?UTF-8?q?fix=20:=20=EC=99=B8=EC=82=AC=EB=AA=A8=EB=8B=88?= =?UTF-8?q?=ED=84=B0=EB=A7=81=20=EC=B2=AD=EC=82=B0=EB=B3=B4=EA=B3=A0?= =?UTF-8?q?=EC=84=9C=20=EC=A4=91=EA=B0=84=EC=A0=80=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../monitoring/model/MonitoringReport.java | 4 +- .../MonitoringReportRepository.java | 2 + .../MonitoringResultClearInfoRepository.java | 18 ++++ .../monitoring/service/MonitoringService.java | 52 +++++++---- .../igActivities/fpiMgt/monitoring/result.js | 19 +++- .../fpiMgt/monitoring/resultEditModal.html | 46 +++++++--- .../fpiMgt/monitoring/resultViewModal.html | 86 +++++++++++++++++-- 7 files changed, 188 insertions(+), 39 deletions(-) create mode 100644 src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/repository/MonitoringResultClearInfoRepository.java diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/model/MonitoringReport.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/model/MonitoringReport.java index 0bd70150..e7e4435f 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/model/MonitoringReport.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/model/MonitoringReport.java @@ -20,7 +20,7 @@ import java.util.List; @NoArgsConstructor @DynamicInsert @DynamicUpdate -@Table(name = "monitoring_result_file") +@Table(name = "monitoring_report") @IdClass(MonitoringReport.MonitoringReportId.class) public class MonitoringReport extends FileInfo { @Id @@ -49,7 +49,7 @@ public class MonitoringReport extends FileInfo { private String savePath; @Transient - private File file; + private MultipartFile file; @Embeddable diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/repository/MonitoringReportRepository.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/repository/MonitoringReportRepository.java index a134c92f..8fb12606 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/repository/MonitoringReportRepository.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/repository/MonitoringReportRepository.java @@ -12,6 +12,8 @@ public interface MonitoringReportRepository extends JpaRepository findByMrKey(Integer mrKey); + } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/repository/MonitoringResultClearInfoRepository.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/repository/MonitoringResultClearInfoRepository.java new file mode 100644 index 00000000..12a5ac79 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/repository/MonitoringResultClearInfoRepository.java @@ -0,0 +1,18 @@ +package com.dbnt.faisp.main.fpiMgt.monitoring.repository; + +import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringResultClearInfo; + +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + + +public interface MonitoringResultClearInfoRepository extends JpaRepository { + + void deleteByMrKey(Integer mrKey); + + List findByMrKey(Integer mrKey); + + +} diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/service/MonitoringService.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/service/MonitoringService.java index 5e68b6e3..e79a4291 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/service/MonitoringService.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/monitoring/service/MonitoringService.java @@ -22,6 +22,7 @@ import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringDesignationFile.mon import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringReport; import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringResult; import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringResultApprv; +import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringResultClearInfo; import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringResultFile; import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringResultFile.MonitoringResultFileId; import com.dbnt.faisp.main.fpiMgt.monitoring.model.MonitoringResultInfo; @@ -30,19 +31,22 @@ import com.dbnt.faisp.main.fpiMgt.monitoring.repository.MonitoringDesignationFil import com.dbnt.faisp.main.fpiMgt.monitoring.repository.MonitoringDesignationRepository; import com.dbnt.faisp.main.fpiMgt.monitoring.repository.MonitoringReportRepository; import com.dbnt.faisp.main.fpiMgt.monitoring.repository.MonitoringResultApprvRepository; +import com.dbnt.faisp.main.fpiMgt.monitoring.repository.MonitoringResultClearInfoRepository; import com.dbnt.faisp.main.fpiMgt.monitoring.repository.MonitoringResultFileRepository; import com.dbnt.faisp.main.fpiMgt.monitoring.repository.MonitoringResultInfoRepository; import com.dbnt.faisp.main.fpiMgt.monitoring.repository.MonitoringResultRepository; import com.dbnt.faisp.main.userInfo.model.UserAlarm; import com.dbnt.faisp.main.userInfo.service.UserAlarmService; import lombok.RequiredArgsConstructor; + +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.disk.DiskFileItem; +import org.apache.commons.io.IOUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.io.File; -import java.time.LocalDateTime; -import java.util.ArrayList; import java.util.List; import java.util.UUID; @@ -58,6 +62,7 @@ public class MonitoringService extends BaseService { private final MonitoringResultFileRepository monitoringResultFileRepository; private final MonitoringResultInfoRepository monitoringResultInfoRepository; private final MonitoringReportRepository monitoringReportRepository; + private final MonitoringResultClearInfoRepository monitoringResultClearInfoRepository; private final MonitoringMapper monitoringMapper; @Transactional @@ -166,6 +171,9 @@ public class MonitoringService extends BaseService { if(mr.getMultipartFileList()!=null){ saveResultUploadFiles(mrKey, mr.getMultipartFileList()); } + if (mr.getClearInfoList() != null){ + saveClearInfoList(mrKey, mr.getClearInfoList()); + } if (mr.getResultInfoList() != null){ saveResultInfoList(mrKey, mr.getResultInfoList()); } @@ -212,6 +220,14 @@ public class MonitoringService extends BaseService { } } + private void saveClearInfoList(Integer mrKey, List clearInfoList){ + monitoringResultClearInfoRepository.deleteByMrKey(mrKey); + for(MonitoringResultClearInfo info: clearInfoList){ + info.setMrKey(mrKey); + } + monitoringResultClearInfoRepository.saveAll(clearInfoList); + } + private void saveResultInfoList(Integer mrKey, List resultInfoList){ monitoringResultInfoRepository.deleteByMrKey(mrKey); for(MonitoringResultInfo info: resultInfoList){ @@ -221,23 +237,25 @@ public class MonitoringService extends BaseService { } private void saveReportList(Integer mrKey, List reportList){ - //monitoringReportRepository.deleteByMrKey(mrKey); + monitoringReportRepository.deleteByMrKey(mrKey); for(MonitoringReport info: reportList){ - MultipartFile file = (MultipartFile) info.getFile(); - String saveName = UUID.randomUUID().toString(); - String path = locationPath+monitoringPath; - saveFile(file, new File(path+File.separator+saveName)); - String originalFilename = file.getOriginalFilename(); - int extnIdx = originalFilename.lastIndexOf("."); - info.setMrKey(mrKey); - info.setOrigNm(originalFilename.substring(0, extnIdx)); - info.setFileExtn(originalFilename.substring(extnIdx+1)); - info.setConvNm(saveName); - info.setFileSize(calculationSize(file.getSize())); - info.setSavePath(path); + if(info.getFile() != null) { + MultipartFile file = info.getFile(); + String saveName = UUID.randomUUID().toString(); + String path = locationPath+monitoringPath; + saveFile(file, new File(path+File.separator+saveName)); + String originalFilename = file.getOriginalFilename(); + int extnIdx = originalFilename.lastIndexOf("."); + info.setOrigNm(originalFilename.substring(0, extnIdx)); + info.setFileExtn(originalFilename.substring(extnIdx+1)); + info.setConvNm(saveName); + info.setFileSize(calculationSize(file.getSize())); + info.setSavePath(path); + } + info.setMrKey(mrKey); monitoringReportRepository.save(info); } - } + } public List selectResultList(MonitoringResult mr) { return monitoringMapper.selectResultList(mr); @@ -251,8 +269,10 @@ public class MonitoringService extends BaseService { MonitoringResult savedReslut = monitoringResultRepository.findById(mrKey).orElse(null); if (savedReslut != null) { savedReslut.setMd(monitoringDesignationRepository.findById(savedReslut.getMdKey()).orElse(null)); + savedReslut.setClearInfoList(monitoringResultClearInfoRepository.findByMrKey(mrKey)); savedReslut.setResultInfoList(monitoringResultInfoRepository.findByMrKey(mrKey)); savedReslut.setFileList(monitoringResultFileRepository.findByMrKey(mrKey)); + savedReslut.setReportList(monitoringReportRepository.findByMrKey(mrKey)); savedReslut.setApprvList(monitoringResultApprvRepository.findByMrKey(mrKey)); } return savedReslut; diff --git a/src/main/resources/static/js/igActivities/fpiMgt/monitoring/result.js b/src/main/resources/static/js/igActivities/fpiMgt/monitoring/result.js index 61a367db..2fa18eb2 100644 --- a/src/main/resources/static/js/igActivities/fpiMgt/monitoring/result.js +++ b/src/main/resources/static/js/igActivities/fpiMgt/monitoring/result.js @@ -160,6 +160,13 @@ function saveResult(mrState){ formData.append('fileSeq', $(el).attr("data-fileseq")); }) formData.append('mrState', mrState); + + $.each($("#clearInfoRow").find(".infoRow"), function (idx, div){ + formData.append('clearInfoList['+(idx)+'].infoSeq', idx+1); + formData.append('clearInfoList['+(idx)+'].useCatg', $(div).find(".useCatg").val()); + formData.append('clearInfoList['+(idx)+'].useDetail', $(div).find(".useDetail").val()); + formData.append('clearInfoList['+(idx)+'].price', $(div).find(".price").val()); + }); $.each($("#resultInfoRow").find(".infoRow"), function (idx, div){ formData.append('resultInfoList['+(idx)+'].infoSeq', idx+1); @@ -174,7 +181,9 @@ function saveResult(mrState){ formData.append('reportList['+(idx)+'].contactDate', $(div).find(".contactDate").val()); formData.append('reportList['+(idx)+'].writeDate', $(div).find(".writeDate").val()); formData.append('reportList['+(idx)+'].reportTitle', $(div).find(".reportTitle").val()); - formData.append('reportList['+(idx)+'].file', $(div).find(".file").val()); + if($(div).find(".file").val() != ""){ + formData.append('reportList['+(idx)+'].file', $(div).find(".file")[0].files[0]); + } }); $.ajax({ @@ -248,9 +257,13 @@ $(document).on('click', '.rowDeleteBtn', function (){ }) $(document).on('click', '.rowDeleteBtn2', function (){ - $(this).parents(".clearInfoRow").remove(); + $(this).parents(".infoRow").remove(); }) $(document).on('click', '.rowDeleteBtn3', function (){ - $(this).parents(".monitoringInfoRow").remove(); + $(this).parents(".infoRow").remove(); +}) + +$(document).on('click', '#addImgBtn', function (){ + $("#upload").remove(); }) \ No newline at end of file diff --git a/src/main/resources/templates/igActivities/fpiMgt/monitoring/resultEditModal.html b/src/main/resources/templates/igActivities/fpiMgt/monitoring/resultEditModal.html index f84c343b..041f2226 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/monitoring/resultEditModal.html +++ b/src/main/resources/templates/igActivities/fpiMgt/monitoring/resultEditModal.html @@ -44,15 +44,15 @@
- - + +
- +
@@ -106,7 +106,7 @@
- +
@@ -124,12 +124,12 @@
-
+
@@ -137,14 +137,14 @@
- +
@@ -294,17 +294,37 @@
- +
- +
- +
+ + +
+
+ + +
+
+
+
- +
+ + +
+ +
+
@@ -361,7 +381,7 @@
-
+
-
+
+
+ + + + + + + + + + +
+
+
+ + +
+
+
모니터링 대상자
+
+
+ + + + + + + + +
+
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
구분상세금액
+
+
+
+ +
@@ -80,7 +156,7 @@
-
+