|
@@ -1,6 +1,7 @@
|
|
|
package com.qy.worksheetsystem.controller;
|
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
import com.google.common.collect.Maps;
|
|
|
import com.kingdee.shr.api.SHRClient;
|
|
|
import com.qy.worksheetsystem.model.MessageResult;
|
|
@@ -11,6 +12,7 @@ import com.qy.worksheetsystem.service.PersonService;
|
|
|
import com.qy.worksheetsystem.service.PersonWorkService;
|
|
|
import com.qy.worksheetsystem.service.WorkCalendarService;
|
|
|
import com.qy.worksheetsystem.util.DateUtil;
|
|
|
+import com.qy.worksheetsystem.util.HutoolCacheUtils;
|
|
|
import com.qy.worksheetsystem.util.JWTUtil;
|
|
|
import com.qy.worksheetsystem.vo.InsertJobWorkingVO;
|
|
|
import com.qy.worksheetsystem.vo.WorkHoursReport;
|
|
@@ -27,10 +29,8 @@ import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
@Slf4j
|
|
|
@RestController
|
|
|
@RequestMapping("/work/personwork")
|
|
@@ -42,6 +42,19 @@ public class PersonWorkController {
|
|
|
private PersonService personService;
|
|
|
@Value("${HR.ais.url}")
|
|
|
private String url;
|
|
|
+
|
|
|
+
|
|
|
+ public static boolean setIfAbsent(String token,Object o){
|
|
|
+ boolean b =false;
|
|
|
+ if (Objects.equals(o, HutoolCacheUtils.get(token)) ) {
|
|
|
+ b = false;
|
|
|
+ }else {
|
|
|
+ b=true;
|
|
|
+ }
|
|
|
+ HutoolCacheUtils.put(token, o);
|
|
|
+ return b;
|
|
|
+ }
|
|
|
+
|
|
|
@ApiOperation(value = "获取可填报日期的已填报小时数", notes = "获取可填报日期的已填报小时数,判断每天填报是否超8小时")
|
|
|
@RequestMapping(value = "/getAvailableDateInfo", method = RequestMethod.GET)
|
|
|
@ApiImplicitParams({
|
|
@@ -74,6 +87,8 @@ public class PersonWorkController {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
@ApiOperation(value = "报工新增", notes = "报工新增")
|
|
|
@RequestMapping(value = "/insertWork", method = RequestMethod.POST)
|
|
|
@ApiImplicitParams({
|
|
@@ -86,7 +101,10 @@ public class PersonWorkController {
|
|
|
if (StringUtils.isEmpty(number)) {
|
|
|
return MessageResult.error("token异常");
|
|
|
}
|
|
|
-
|
|
|
+ String keyToken = token + "insertWork";
|
|
|
+ if (setIfAbsent(keyToken,jobWork)) {
|
|
|
+ return MessageResult.error("您已提交该报工,请勿重复提交");
|
|
|
+ }
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
String beginTime = jobWork.getBeginTime();
|
|
@@ -289,6 +307,10 @@ public class PersonWorkController {
|
|
|
if (StringUtils.isEmpty(number)) {
|
|
|
return MessageResult.error("token异常");
|
|
|
}
|
|
|
+ String keyToken = token+"updateWork";
|
|
|
+ if (setIfAbsent(keyToken,jobWork)) {
|
|
|
+ return MessageResult.error("您已提交该报工,请勿重复提交");
|
|
|
+ }
|
|
|
String action = jobWork.getAction();
|
|
|
Map<String, String> person = personService.getPersonByJobNo(number);
|
|
|
String userNumber = person.get("userNumber");
|
|
@@ -352,6 +374,10 @@ public class PersonWorkController {
|
|
|
String number = JWTUtil.getNumber(token);
|
|
|
if (StringUtils.isEmpty(number)) {
|
|
|
return MessageResult.error("token异常");
|
|
|
+ }
|
|
|
+ String keyToken = token+"deleteWork";
|
|
|
+ if (setIfAbsent(keyToken,id)) {
|
|
|
+ return MessageResult.error("您已提交该报工,请勿重复提交");
|
|
|
}
|
|
|
int i = personWorkService.deleteWork(number,id.get("id"));
|
|
|
MessageResultV2 result=MessageResultV2.success();
|
|
@@ -388,6 +414,10 @@ public class PersonWorkController {
|
|
|
if (StringUtils.isEmpty(number)) {
|
|
|
return MessageResult.error("token异常");
|
|
|
}
|
|
|
+ String keyToken = token+"submitWork";
|
|
|
+ if (setIfAbsent(keyToken,id)) {
|
|
|
+ return MessageResult.error("您已提交该报工,请勿重复提交");
|
|
|
+ }
|
|
|
Map<String, String> person = personService.getPersonByJobNo(number);
|
|
|
String userNumber=person.get("userNumber");
|
|
|
int i = personWorkService.submitWork(userNumber,id);
|
|
@@ -408,6 +438,10 @@ public class PersonWorkController {
|
|
|
if (StringUtils.isEmpty(number)) {
|
|
|
return MessageResult.error("token异常");
|
|
|
}
|
|
|
+ String keyToken = token+"revocaWork";
|
|
|
+ if (setIfAbsent(keyToken,id)) {
|
|
|
+ return MessageResult.error("您已提交该报工,请勿重复提交");
|
|
|
+ }
|
|
|
Map<String, String> person = personService.getPersonByJobNo(number);
|
|
|
String userNumber=person.get("userNumber");
|
|
|
int i = personWorkService.revocaWork(userNumber,id);
|