Forráskód Böngészése

新增自动计算接口

zhangqiankun 3 éve
szülő
commit
2b66139e80

+ 63 - 0
doc/calendar-center.md

@@ -309,6 +309,35 @@ Header:Content-Type=application/json
 	    "respMsg": "success"
 	}
 
+## 工作历类型名称重复性校验
+
+	URL:http://192.168.64.18:9930/calendar/v2.0/workCalendar/validCalendarName
+	Method:POST
+	Header:Content-Type=application/json
+
+请求:
+
+	{
+	    "id": "WC1335218584007233538",           // 工作历类型ID,当为更新的时候,必填
+	    "groupCode": "WD",  // 集团编码,必填
+	    "projectId": "Pj1101051130",    //项目ID,必填
+	    "calendarName": "乾坤测试", // 工作历类型名称 ,必填
+	    "userId": "b9df7de50df148d3be69bcebab30c396" // 用户ID,必填,不做为sql条件
+	}
+
+返回:
+
+	// 验证通过,可以使用
+	{
+	    "respCode": "00000",		// 00000 代表可用
+	    "respMsg": "可用"
+	}
+	// 验证不通过,名称重复
+	{
+	    "respCode": "C0341",		// C0341 不可用
+	    "respMsg": "名称重复"
+	}
+
 ## 创建工作历类型
 
 ```
@@ -584,6 +613,40 @@ Header:Content-Type=application/json
 
 # 标签属性管理
 
+## 根据时间段-自动计算出此年内不在此时间段内的日期
+
+```
+URL:http://192.168.64.18:9930/calendar/v2.0/calendarLabel/calculateExtraDate
+Method:POST
+Header:Content-Type=application/json
+```
+
+请求:
+
+```
+{
+    "userId": "QKZZ",                   // 用户ID ,必填
+    "labelDates": [     // 计算出不在此段时间内的,当年的时间段,必填
+        "20210102-20210305","20210502-20210807"
+    ]
+}
+```
+
+返回:
+
+```
+{
+    "content": [
+    	// 有序的,根据开始日期从小~大
+        "20210101-20210101",
+        "20210306-20210501",
+        "20210808-20211231"
+    ],
+    "respCode": "00000",
+    "respMsg": "success"
+}
+```
+
 ## 日期标签属性列表查询
 
 ```

+ 11 - 0
src/main/java/com/persagy/calendar/controller/WorkCalendarController.java

@@ -124,6 +124,17 @@ public class WorkCalendarController {
     }
     
     /**
+     * 判断projectId和name是否联合唯一
+     */
+	@ApiOperation(value = "工作历类型名称重复性校验")
+	@RequestMapping(value = "validCalendarName")
+    public ResponseResult validCalendarName(@RequestBody @Validated WorkCalendarUpdateVO updateVO) {
+		// 判断projectId和name是否联合唯一
+		boolean result = workCalendarService.checkProjetcIdAndName(updateVO.getId(), updateVO.getProjectId(), updateVO.getGroupCode(), updateVO.getCalendarName());
+        return result ? ResponseUtil.successResult("可用") : ResponseUtil.errorResult(ResponseCode.C0341.getCode(), "名称重复");
+    }
+    
+    /**
      * 新增
      */
 	@ApiOperation(value = "新增")

+ 12 - 0
src/main/java/com/persagy/calendar/controller/WorkCalendarLabelController.java

@@ -14,11 +14,13 @@ import com.google.common.collect.Lists;
 import com.persagy.calendar.handle.WorkCalendarDateHandler;
 import com.persagy.calendar.handle.WorkCalendarLabelHandler;
 import com.persagy.calendar.pojo.dto.WorkCalendarLabel;
+import com.persagy.calendar.pojo.vo.CalculateExtraDateVO;
 import com.persagy.calendar.pojo.vo.WorkCalendarLabelQueryVO;
 import com.persagy.calendar.pojo.vo.WorkCalendarLabelUpdateVO;
 import com.persagy.calendar.pojo.vo.WorkCalendarMoreDateCreateVO;
 import com.persagy.calendar.pojo.vo.WorkLabelBatchUpdateVO;
 import com.persagy.common.enums.ResponseCode;
+import com.persagy.common.utils.DateUtil;
 import com.persagy.common.utils.ResponseResult;
 import com.persagy.common.utils.ResponseUtil;
 import com.persagy.common.utils.StringUtil;
@@ -46,6 +48,16 @@ public class WorkCalendarLabelController {
 	private WorkCalendarLabelHandler workCalendarLabelHandler;
 	
 	/**
+     * 根据时间段-自动计算出此年内不在此时间段内的日期
+     */
+    @ApiOperation(value = "自动计算")
+    @RequestMapping(value = "calculateExtraDate")
+    public ResponseResult calculateExtraDate(@RequestBody @Validated CalculateExtraDateVO dateVO) {
+    	List<String> extraDate = DateUtil.calculateExtraDate(dateVO.getLabelDates());
+		return ResponseUtil.successResult(extraDate);
+    }
+	
+	/**
      * 日期标签属性列表查询
      */
     @ApiOperation(value = "列表查询")

+ 35 - 0
src/main/java/com/persagy/calendar/pojo/vo/CalculateExtraDateVO.java

@@ -0,0 +1,35 @@
+package com.persagy.calendar.pojo.vo;
+
+import java.util.List;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+/**
+ * 
+ * @version 1.0.0
+ * @company persagy 
+ * @author zhangqiankun
+ * @date 2021年12月6日 下午3:33:03
+ */
+@Getter
+@Setter
+@ToString
+@ApiModel
+public class CalculateExtraDateVO {
+
+	@NotBlank(message = "用户ID,不可为空")
+	@ApiModelProperty(value = "用户ID", required = true)
+	private String userId;
+	
+	@NotNull(message = "标签有效时间段范围,不可为空")
+	@ApiModelProperty(value = "标签有效时间段范围", required = true)
+	private List<String> labelDates;
+	
+}