From 633efb21eac9e43b8374ed552884e83384f4faef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Mon, 30 Jan 2023 16:47:18 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B2=BD=EB=A0=A5=ED=98=84=ED=99=A9=20?= =?UTF-8?q?=EC=9E=AC=EC=A7=95=EC=A4=91=20=EA=B3=84=EC=82=B0=20=EC=8B=9D=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD.=20=EA=B2=AC=EB=AC=B8=ED=86=B5=EA=B3=84=20?= =?UTF-8?q?=EC=98=A4=EB=A5=98=20=EC=88=98=EC=A0=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/userInfo/service/PoliceService.java | 17 +++++++-- .../mybatisMapper/UserInfoMapper.xml | 8 ++++- .../igActivities/fpiMgt/affair/statistics.js | 12 +++---- .../resources/static/js/police/careerMgt.js | 36 +++++++------------ .../templates/police/career/careerModal.html | 2 +- 5 files changed, 41 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/dbnt/faisp/main/userInfo/service/PoliceService.java b/src/main/java/com/dbnt/faisp/main/userInfo/service/PoliceService.java index 7296d2f6..cded6613 100644 --- a/src/main/java/com/dbnt/faisp/main/userInfo/service/PoliceService.java +++ b/src/main/java/com/dbnt/faisp/main/userInfo/service/PoliceService.java @@ -13,6 +13,7 @@ import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; import java.util.List; @@ -30,8 +31,10 @@ public class PoliceService { public void saveCareer(UserCareer career) { UserCareer lastCareer = userCareerRepository.findTop1ByUserSeqOrderByCareerSeqDesc(career.getUserSeq()).orElse(null); career.setCareerSeq(lastCareer==null?1:(lastCareer.getCareerSeq()+1)); - career.setWorkMonth((int) ChronoUnit.MONTHS.between(career.getStartDate(), career.getEndDate())); - career.setWorkDay((int) ChronoUnit.DAYS.between(career.getStartDate(), career.getEndDate())); + if(!career.getInOfficeYn().equals("Y")){ + career.setWorkMonth((int) ChronoUnit.MONTHS.between(career.getStartDate(), career.getEndDate())); + career.setWorkDay((int) ChronoUnit.DAYS.between(career.getStartDate(), career.getEndDate())); + } userCareerRepository.save(career); } @@ -45,7 +48,15 @@ public class PoliceService { } public List selectCareerList(Integer userSeq) { - return userCareerRepository.findByUserSeqOrderByStartDateDesc(userSeq); + List careerList = userCareerRepository.findByUserSeqOrderByStartDateDesc(userSeq); + for(UserCareer career: careerList){ + if(career.getEndDate()==null){ + career.setEndDate(LocalDate.now()); + career.setWorkMonth((int) ChronoUnit.MONTHS.between(career.getStartDate(), career.getEndDate())); + career.setWorkDay((int) ChronoUnit.DAYS.between(career.getStartDate(), career.getEndDate())); + } + } + return careerList; } public void deleteCareer(UserCareer career) { diff --git a/src/main/resources/mybatisMapper/UserInfoMapper.xml b/src/main/resources/mybatisMapper/UserInfoMapper.xml index 0ade8271..2dd79d97 100644 --- a/src/main/resources/mybatisMapper/UserInfoMapper.xml +++ b/src/main/resources/mybatisMapper/UserInfoMapper.xml @@ -144,7 +144,13 @@ sum(case when career_cd = 'CRC005' then work_month else 0 end) as crc005Sum, sum(case when career_cd = 'CRC006' then work_month else 0 end) as crc006Sum, max(wrt_dt) as lastCareerWrtDt - from user_career + from ( + select user_seq, + career_seq, + career_cd, + coalesce(work_month, (EXTRACT(YEAR FROM AGE(now()::date, start_date)) * 12 + EXTRACT(MONTH FROM AGE(now()::date, start_date)))) as work_month, + wrt_dt + from user_career ) aa group by user_seq ) b on a.user_seq = b.user_seq diff --git a/src/main/resources/static/js/igActivities/fpiMgt/affair/statistics.js b/src/main/resources/static/js/igActivities/fpiMgt/affair/statistics.js index 92592048..a6ba182c 100644 --- a/src/main/resources/static/js/igActivities/fpiMgt/affair/statistics.js +++ b/src/main/resources/static/js/igActivities/fpiMgt/affair/statistics.js @@ -23,7 +23,7 @@ $(document).on('click', '#fieldTab', function (){ }) function goFieldStatistics(){ - searchFade("in"); + const formData = new FormData($("#searchFm")[0]); $.ajax({ url: '/affair/fieldStatistics', @@ -36,10 +36,10 @@ function goFieldStatistics(){ $("#statisticsBody").empty().append(html) $("#statisticsBody").show(); $(".statisticsMenu").hide(); - searchFade("out"); + }, error:function(e){ - searchFade("out"); + ajaxErrorAction(e); } }); @@ -61,7 +61,7 @@ $(document).on('click', '#ratingTab', function (){ }) function goRatingStatistics(){ - searchFade("in"); + const formData = new FormData($("#searchFm")[0]); $.ajax({ url: '/affair/ratingStatistics', @@ -74,10 +74,10 @@ function goRatingStatistics(){ $("#statisticsBody").empty().append(html) $("#statisticsBody").show(); $(".statisticsMenu").hide(); - searchFade("out"); + }, error:function(e){ - searchFade("out"); + ajaxErrorAction(e); } }); diff --git a/src/main/resources/static/js/police/careerMgt.js b/src/main/resources/static/js/police/careerMgt.js index d92f6536..40af8e61 100644 --- a/src/main/resources/static/js/police/careerMgt.js +++ b/src/main/resources/static/js/police/careerMgt.js @@ -208,28 +208,18 @@ function checkValue(){ } $(document).on('change', '#inOfficeYn', function (){ - const today = new Date(); - const year = today.getFullYear(); - const month = ('0' + (today.getMonth() + 1)).slice(-2); - const day = ('0' + today.getDate()).slice(-2); - const dateString = year + '-' + month + '-' + day; - if($("#startDate").val() == ""){ - alert("근무시작일을 입력해주세요"); - $('#startDate').focus(); - this.checked = false; - } - - if(this.checked){ - $(this).attr('value', 'Y'); - $("#endDate").val(dateString); - $("#endDate").attr("disabled",true); - }else{ - $(this).attr('value', 'N'); - $("#endDate").val(''); - $("#endDate").removeAttr("disabled"); - } - console.log($("#inOfficeYn").val()); - - + if($("#startDate").val() == ""){ + alert("근무시작일을 입력해주세요"); + $('#startDate').focus(); + this.checked = false; + } + $("#endDate").val(''); + if(this.checked){ + $(this).attr('value', 'Y'); + $("#endDate").attr("disabled",true); + }else{ + $(this).attr('value', 'N'); + $("#endDate").removeAttr("disabled"); + } }) diff --git a/src/main/resources/templates/police/career/careerModal.html b/src/main/resources/templates/police/career/careerModal.html index 346f6b4d..b595663f 100644 --- a/src/main/resources/templates/police/career/careerModal.html +++ b/src/main/resources/templates/police/career/careerModal.html @@ -69,7 +69,7 @@ - +