From dea50c86415b7db379cfeb58088ccec95b8f4d48 Mon Sep 17 00:00:00 2001
From: duxuecheng <641367895@qq.com>
Date: Tue, 5 Mar 2024 10:38:21 +0800
Subject: [PATCH] =?UTF-8?q?feature:=202024=E5=B9=B43=E6=9C=885=E6=97=A510:?=
 =?UTF-8?q?38:11?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../web/dto/request/GrantQueryRequest.java    | 16 +++++++---
 .../web/dto/utils/DateUtil.java               | 26 ++++++++++++++++
 .../business/api/ThirdSalaryService.java      |  3 ++
 .../business/service/GrantServiceImpl.java    | 31 +++++++++++++++++++
 4 files changed, 72 insertions(+), 4 deletions(-)
 create mode 100644 ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/utils/DateUtil.java

diff --git a/ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/request/GrantQueryRequest.java b/ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/request/GrantQueryRequest.java
index 6859369..358c34e 100644
--- a/ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/request/GrantQueryRequest.java
+++ b/ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/request/GrantQueryRequest.java
@@ -1,6 +1,7 @@
 package com.seasky.nurseryFeesclaims.web.dto.request;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.seasky.nurseryFeesclaims.web.dto.utils.DateUtil;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -19,12 +20,19 @@ import java.util.Date;
 @NoArgsConstructor
 public class GrantQueryRequest extends BasePageResult {
 
-    @ApiModelProperty(name = "鍙戞斁寮€濮嬪勾鏈�",example = "2024-01", notes = "")
-    @JsonFormat(pattern="yyyy-MM")
+    @ApiModelProperty(name = "鍙戞斁寮€濮嬪勾鏈�", example = "2024-01", notes = "")
+    @JsonFormat(pattern = "yyyy-MM")
     private Date startYearMonth;
 
-    @ApiModelProperty(name = "鍙戞斁缁撴潫骞存湀",example = "2024-12", notes = "")
-    @JsonFormat(pattern="yyyy-MM")
+    @ApiModelProperty(name = "鍙戞斁缁撴潫骞存湀", example = "2024-12", notes = "")
+    @JsonFormat(pattern = "yyyy-MM")
     private Date endYearMonth;
 
+
+    public Date getEndYearMonth() {
+        if (null != this.endYearMonth) {
+            return DateUtil.lastDateOfMonth(this.endYearMonth);
+        }
+        return endYearMonth;
+    }
 }
diff --git a/ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/utils/DateUtil.java b/ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/utils/DateUtil.java
new file mode 100644
index 0000000..2f209dd
--- /dev/null
+++ b/ServiceSiteCommon/facade/src/main/java/com/seasky/nurseryFeesclaims/web/dto/utils/DateUtil.java
@@ -0,0 +1,26 @@
+package com.seasky.nurseryFeesclaims.web.dto.utils;
+
+import java.util.Calendar;
+import java.util.Date;
+
+/**
+ * @author 64136
+ * @date 2024/03/05 10:32
+ **/
+public class DateUtil {
+
+    /**
+     * 鑾峰彇 浼犲叆鏃堕棿鐨勬渶鍚庝竴澶�
+     *
+     * @param date
+     * @return
+     */
+    public static Date lastDateOfMonth(Date date) {
+        Calendar cld = Calendar.getInstance();
+        cld.setTime(date);
+        cld.add(Calendar.MONTH, 1);
+        cld.set(Calendar.DAY_OF_MONTH, 0);
+
+        return cld.getTime();
+    }
+}
diff --git a/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/api/ThirdSalaryService.java b/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/api/ThirdSalaryService.java
index 12900dd..50a825a 100644
--- a/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/api/ThirdSalaryService.java
+++ b/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/api/ThirdSalaryService.java
@@ -12,4 +12,7 @@ public interface ThirdSalaryService {
      * @return
      */
     boolean allowSend();
+
+    boolean cancel();
+
 }
diff --git a/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/service/GrantServiceImpl.java b/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/service/GrantServiceImpl.java
index 0b174b5..f9c2f36 100644
--- a/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/service/GrantServiceImpl.java
+++ b/ServiceSiteCommon/src/main/java/com/seasky/nurseryFeesclaims/business/service/GrantServiceImpl.java
@@ -91,6 +91,12 @@ public class GrantServiceImpl implements GrantService {
 
     @Override
     public synchronized Integer createGrant(CreateGrantRequest createGrantRequest) {
+
+        Boolean aBoolean = this.feeConfigService.checkNeedEmployeeSynchronous();
+        if (aBoolean) {
+            throw ExceptionUtil.getException(null, "鏁欏伐淇℃伅涓嶆槸鏈€鏂扮殑锛岃鍏堝悓姝ユ暟鎹紒");
+        }
+
         boolean b = thirdSalaryService.allowSend();
         if (!b) {
             throw ExceptionUtil.getException(null, "褰撳墠钖祫璐﹀涓嶅厑璁镐笂浼狅紒");
@@ -139,4 +145,29 @@ public class GrantServiceImpl implements GrantService {
     }
 
 
+    public synchronized Integer cancelGrant(Long grantId) {
+
+        ChildCareFeeGrantEntity entity = this.grantMapper.selectById(grantId);
+
+        ChildcarefeeGrantDeclareStateEnum keyByEnum = ChildcarefeeGrantDeclareStateEnum.getKeyByEnum(entity.getSalaryDeclareState());
+        if (keyByEnum.equals(ChildcarefeeGrantDeclareStateEnum.鏂板缓)
+                || keyByEnum.equals(ChildcarefeeGrantDeclareStateEnum.閮ㄩ棬瀹℃牳椹冲洖)
+                || keyByEnum.equals(ChildcarefeeGrantDeclareStateEnum.璐㈠姟澶勫鏍搁┏鍥�)
+                || keyByEnum.equals(ChildcarefeeGrantDeclareStateEnum.浣滃簾)
+        ) {
+
+        } else {
+            throw ExceptionUtil.getException(null, "褰撳墠钖祫鍙戞斁鐘舵€佷负锛�" + keyByEnum.getValue() + " 涓嶅厑璁告挙閿€锛�");
+        }
+
+        boolean cancel = this.thirdSalaryService.cancel();
+        if (!cancel) {
+            throw ExceptionUtil.getException(null, "钖祫绔笉鍏佽渚у皬锛�");
+        }
+
+        return  1;
+
+    }
+
+
 }
-- 
GitLab