|
@@ -3,17 +3,16 @@ package com.management.platform.service.impl;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
-import com.management.platform.controller.ReportController;
|
|
|
|
import com.management.platform.entity.*;
|
|
import com.management.platform.entity.*;
|
|
import com.management.platform.entity.vo.*;
|
|
import com.management.platform.entity.vo.*;
|
|
import com.management.platform.mapper.*;
|
|
import com.management.platform.mapper.*;
|
|
import com.management.platform.service.*;
|
|
import com.management.platform.service.*;
|
|
-import com.management.platform.task.SFTPAsyncUploader;
|
|
|
|
import com.management.platform.util.*;
|
|
import com.management.platform.util.*;
|
|
import com.management.platform.webservice.po.*;
|
|
import com.management.platform.webservice.po.*;
|
|
-import com.management.platform.webservice.po.Period;
|
|
|
|
|
|
+import com.management.platform.webservice.po.SapPeriod;
|
|
import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
|
|
import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
|
|
import me.chanjar.weixin.mp.api.WxMpService;
|
|
import me.chanjar.weixin.mp.api.WxMpService;
|
|
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
|
|
import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
|
|
@@ -21,40 +20,28 @@ import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
|
|
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
|
|
import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
|
|
import org.apache.commons.io.FileUtils;
|
|
import org.apache.commons.io.FileUtils;
|
|
import org.apache.poi.EncryptedDocumentException;
|
|
import org.apache.poi.EncryptedDocumentException;
|
|
-import org.apache.poi.hssf.usermodel.*;
|
|
|
|
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
|
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
|
import org.apache.poi.ss.usermodel.*;
|
|
import org.apache.poi.ss.usermodel.*;
|
|
-import org.apache.velocity.runtime.directive.contrib.For;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
-import org.springframework.boot.web.client.RestTemplateBuilder;
|
|
|
|
import org.springframework.http.*;
|
|
import org.springframework.http.*;
|
|
import org.springframework.http.client.ClientHttpResponse;
|
|
import org.springframework.http.client.ClientHttpResponse;
|
|
-import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.util.StringUtils;
|
|
import org.springframework.util.StringUtils;
|
|
-import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.client.DefaultResponseErrorHandler;
|
|
import org.springframework.web.client.DefaultResponseErrorHandler;
|
|
import org.springframework.web.client.RestTemplate;
|
|
import org.springframework.web.client.RestTemplate;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
-import sun.net.www.http.HttpClient;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
-import javax.net.ssl.TrustManager;
|
|
|
|
-import javax.net.ssl.X509TrustManager;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
-import javax.swing.text.html.Option;
|
|
|
|
import java.io.*;
|
|
import java.io.*;
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
import java.math.RoundingMode;
|
|
import java.math.RoundingMode;
|
|
-import java.security.cert.CertificateException;
|
|
|
|
-import java.security.cert.X509Certificate;
|
|
|
|
import java.sql.Timestamp;
|
|
import java.sql.Timestamp;
|
|
import java.text.DateFormat;
|
|
import java.text.DateFormat;
|
|
import java.text.DecimalFormat;
|
|
import java.text.DecimalFormat;
|
|
-import java.text.ParseException;
|
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
import java.time.*;
|
|
import java.time.*;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
@@ -67,8 +54,6 @@ import java.util.concurrent.Executor;
|
|
import java.util.concurrent.Executors;
|
|
import java.util.concurrent.Executors;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
-import static org.springframework.boot.system.SystemProperties.get;
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
* 服务实现类
|
|
* 服务实现类
|
|
@@ -217,6 +202,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
private TimeTypeService timeTypeService;
|
|
private TimeTypeService timeTypeService;
|
|
@Resource
|
|
@Resource
|
|
private HttpServletRequest request;
|
|
private HttpServletRequest request;
|
|
|
|
+ @Resource
|
|
|
|
+ private ReportPushLogService reportPushLogService;
|
|
|
|
|
|
@Value(value = "${upload.path}")
|
|
@Value(value = "${upload.path}")
|
|
private String path;
|
|
private String path;
|
|
@@ -7056,14 +7043,17 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
|
|
List<Map<String,Object>> resultList=reportMapper.getPushProjectReportToSap(companyId,startDate,endDate,userId);
|
|
List<Map<String,Object>> resultList=reportMapper.getPushProjectReportToSap(companyId,startDate,endDate,userId);
|
|
//配置xml请求参数
|
|
//配置xml请求参数
|
|
- //配置xml请求参数
|
|
|
|
XmlRequestData xmlRequestData=new XmlRequestData();
|
|
XmlRequestData xmlRequestData=new XmlRequestData();
|
|
EmployeeTime employeeTime=new EmployeeTime();
|
|
EmployeeTime employeeTime=new EmployeeTime();
|
|
WorkDescriptionText workDescriptionText=new WorkDescriptionText();
|
|
WorkDescriptionText workDescriptionText=new WorkDescriptionText();
|
|
workDescriptionText.setLanguageCode("ZH");
|
|
workDescriptionText.setLanguageCode("ZH");
|
|
- Period datePeriod=new Period();
|
|
|
|
- Period timePeriod=new Period();
|
|
|
|
|
|
+ SapPeriod datePeriod=new SapPeriod();
|
|
|
|
+ SapPeriod timePeriod=new SapPeriod();
|
|
for (Map<String, Object> map : resultList) {
|
|
for (Map<String, Object> map : resultList) {
|
|
|
|
+ ReportPushLog one = reportPushLogService.getOne(new LambdaQueryWrapper<ReportPushLog>().eq(ReportPushLog::getCompanyId, companyId).eq(ReportPushLog::getReportId, map.get("ReportId")).eq(ReportPushLog::getTargetSystem,"SAP"));
|
|
|
|
+ if(one!=null){
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
employeeTime.setEmployeeID(String.valueOf(map.get("EmployeeID")));
|
|
employeeTime.setEmployeeID(String.valueOf(map.get("EmployeeID")));
|
|
employeeTime.setActionCode("01");
|
|
employeeTime.setActionCode("01");
|
|
if(map.get("StartDate")!=null){
|
|
if(map.get("StartDate")!=null){
|
|
@@ -7080,8 +7070,10 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
}
|
|
}
|
|
employeeTime.setDatePeriod(datePeriod);
|
|
employeeTime.setDatePeriod(datePeriod);
|
|
employeeTime.setTimePeriod(timePeriod);
|
|
employeeTime.setTimePeriod(timePeriod);
|
|
|
|
+ employeeTime.setItemTypeCode("CN0001");
|
|
employeeTime.setDuration(map.get("Duration")==null?"0":String.valueOf(map.get("Duration")));
|
|
employeeTime.setDuration(map.get("Duration")==null?"0":String.valueOf(map.get("Duration")));
|
|
employeeTime.setProjectElementID(String.valueOf(map.get("ProjectElementID")));
|
|
employeeTime.setProjectElementID(String.valueOf(map.get("ProjectElementID")));
|
|
|
|
+ employeeTime.setServiceProductInternalID(String.valueOf(map.get("ServiceProductInternalID")));
|
|
if(map.get("WorkDescriptionText")!=null){
|
|
if(map.get("WorkDescriptionText")!=null){
|
|
workDescriptionText.setWorkDescriptionText(String.valueOf(map.get("WorkDescriptionText")));
|
|
workDescriptionText.setWorkDescriptionText(String.valueOf(map.get("WorkDescriptionText")));
|
|
employeeTime.setWorkDescriptionText(workDescriptionText);
|
|
employeeTime.setWorkDescriptionText(workDescriptionText);
|
|
@@ -7116,6 +7108,12 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
if(StringUtils.isEmpty(xmlResponseData.getEmployeeTime().getUUID())){
|
|
if(StringUtils.isEmpty(xmlResponseData.getEmployeeTime().getUUID())){
|
|
log.error("推送失败===》工号:"+employeeTime.getEmployeeID());
|
|
log.error("推送失败===》工号:"+employeeTime.getEmployeeID());
|
|
continue;
|
|
continue;
|
|
|
|
+ }else {
|
|
|
|
+ //推送成功 日报数据打上标记
|
|
|
|
+ ReportPushLog reportPushLog=new ReportPushLog();
|
|
|
|
+ reportPushLog.setCompanyId(companyId);
|
|
|
|
+ reportPushLog.setReportId(Integer.valueOf(String.valueOf(map.get("ReportId"))));
|
|
|
|
+ reportPushLog.setTargetSystem("SAP");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return httpRespMsg;
|
|
return httpRespMsg;
|