|
@@ -1,5 +1,6 @@
|
|
package com.management.platform.service.impl;
|
|
package com.management.platform.service.impl;
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.management.platform.entity.FinanceMonthlyWorktime;
|
|
import com.management.platform.entity.FinanceMonthlyWorktime;
|
|
import com.management.platform.entity.User;
|
|
import com.management.platform.entity.User;
|
|
@@ -10,6 +11,7 @@ import com.management.platform.mapper.UserMapper;
|
|
import com.management.platform.service.FinanceMonthlyWorktimeService;
|
|
import com.management.platform.service.FinanceMonthlyWorktimeService;
|
|
import com.management.platform.task.DataCollectTask;
|
|
import com.management.platform.task.DataCollectTask;
|
|
import com.management.platform.util.HttpRespMsg;
|
|
import com.management.platform.util.HttpRespMsg;
|
|
|
|
+import org.springframework.core.ParameterizedTypeReference;
|
|
import org.springframework.http.*;
|
|
import org.springframework.http.*;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
@@ -17,9 +19,12 @@ import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
+import java.time.LocalDate;
|
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -41,11 +46,11 @@ public class FinanceMonthlyWorktimeServiceImpl extends ServiceImpl<FinanceMonthl
|
|
@Resource
|
|
@Resource
|
|
private UserMapper userMapper;
|
|
private UserMapper userMapper;
|
|
@Override
|
|
@Override
|
|
- public HttpRespMsg send(String fmwId, HttpServletRequest request) {
|
|
|
|
|
|
+ public HttpRespMsg send(String fmwId, String timesheetDate, HttpServletRequest request) {
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
HttpRespMsg httpRespMsg = new HttpRespMsg();
|
|
String userId = request.getHeader("Token");
|
|
String userId = request.getHeader("Token");
|
|
User user = userMapper.selectById(userId);
|
|
User user = userMapper.selectById(userId);
|
|
- String dateStr = "currentDate";//TODO 填充日期
|
|
|
|
|
|
+// String dateStr = "currentDate";//TODO 填充日期
|
|
FinanceMonthlyWorktime financeMonthlyWorktime = financeMonthlyWorktimeMapper.selectById(fmwId);
|
|
FinanceMonthlyWorktime financeMonthlyWorktime = financeMonthlyWorktimeMapper.selectById(fmwId);
|
|
if(null == financeMonthlyWorktime){
|
|
if(null == financeMonthlyWorktime){
|
|
httpRespMsg.setError("未找到当前内容");
|
|
httpRespMsg.setError("未找到当前内容");
|
|
@@ -55,24 +60,46 @@ public class FinanceMonthlyWorktimeServiceImpl extends ServiceImpl<FinanceMonthl
|
|
httpRespMsg.setError("未定稿,无法发送");
|
|
httpRespMsg.setError("未定稿,无法发送");
|
|
return httpRespMsg;
|
|
return httpRespMsg;
|
|
}
|
|
}
|
|
|
|
+ financeMonthlyWorktimeMapper.update(null,new LambdaUpdateWrapper<FinanceMonthlyWorktime>()
|
|
|
|
+ .eq(FinanceMonthlyWorktime::getId,fmwId)
|
|
|
|
+ .set(FinanceMonthlyWorktime::getTimesheetDate, LocalDate.parse(timesheetDate, DateTimeFormatter.ofPattern("yyyy-MM-dd")))
|
|
|
|
+ );
|
|
|
|
+
|
|
|
|
|
|
List<TisTimeVO> timeVOList = fmwDetailMapper.getTisTime(fmwId);
|
|
List<TisTimeVO> timeVOList = fmwDetailMapper.getTisTime(fmwId);
|
|
|
|
|
|
RestTemplate restTemplate = new RestTemplate();
|
|
RestTemplate restTemplate = new RestTemplate();
|
|
String insertUrl = DataCollectTask.PREFIX_URL +"/dataCollect/insertCisData";
|
|
String insertUrl = DataCollectTask.PREFIX_URL +"/dataCollect/insertCisData";
|
|
|
|
+ String checkUrl = DataCollectTask.PREFIX_URL +"/dataCollect/checkCisData";
|
|
if(!CollectionUtils.isEmpty(timeVOList)){
|
|
if(!CollectionUtils.isEmpty(timeVOList)){
|
|
- timeVOList.forEach(t->t.setDateStr(dateStr));
|
|
|
|
HttpHeaders headers = new HttpHeaders();
|
|
HttpHeaders headers = new HttpHeaders();
|
|
headers.setContentType(MediaType.APPLICATION_JSON);
|
|
headers.setContentType(MediaType.APPLICATION_JSON);
|
|
Map<String, Object> requestBody = new HashMap<>();
|
|
Map<String, Object> requestBody = new HashMap<>();
|
|
- requestBody.put("tisList", timeVOList);
|
|
|
|
|
|
+ requestBody.put("toSendList", timeVOList);
|
|
HttpEntity<Object> requestEntity = new HttpEntity<>(requestBody, headers);
|
|
HttpEntity<Object> requestEntity = new HttpEntity<>(requestBody, headers);
|
|
- ResponseEntity<String> tisResponse = restTemplate.exchange(insertUrl, HttpMethod.POST, requestEntity, String.class);
|
|
|
|
- if (tisResponse.getStatusCode() == HttpStatus.OK) {
|
|
|
|
-// System.out.println("插入成功");
|
|
|
|
- }else{
|
|
|
|
- httpRespMsg.setError("发送失败");
|
|
|
|
|
|
+ ResponseEntity<List<TisTimeVO>> checkResponse = restTemplate.exchange(checkUrl, HttpMethod.POST, requestEntity
|
|
|
|
+ ,new ParameterizedTypeReference<List<TisTimeVO>>(){});
|
|
|
|
+ if(checkResponse.getStatusCode() == HttpStatus.OK){
|
|
|
|
+ List<TisTimeVO> resList = checkResponse.getBody();
|
|
|
|
+ List<TisTimeVO> tmpCheck = resList.stream().filter(t -> null != t.getCoId()).collect(Collectors.toList());
|
|
|
|
+ if(tmpCheck.size() != resList.size()){
|
|
|
|
+ httpRespMsg.setError("财务尚未完成操作,无法获取cppid");
|
|
|
|
+ return httpRespMsg;
|
|
|
|
+ }
|
|
|
|
+ timeVOList.forEach(t->t.setDateStr(timesheetDate));
|
|
|
|
+ HttpHeaders insertHeaders = new HttpHeaders();
|
|
|
|
+ insertHeaders.setContentType(MediaType.APPLICATION_JSON);
|
|
|
|
+ Map<String, Object> insertBody = new HashMap<>();
|
|
|
|
+ insertBody.put("tisList", resList);
|
|
|
|
+ HttpEntity<Object> insertEntity = new HttpEntity<>(insertBody, insertHeaders);
|
|
|
|
+ ResponseEntity<String> tisResponse = restTemplate.exchange(insertUrl, HttpMethod.POST, insertEntity, String.class);
|
|
|
|
+ if (tisResponse.getStatusCode() == HttpStatus.OK) {
|
|
|
|
+ System.out.println("插入成功");
|
|
|
|
+ }else{
|
|
|
|
+ System.out.println("插入失败");
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
return httpRespMsg;
|
|
return httpRespMsg;
|