|
@@ -14,6 +14,7 @@ import com.management.platform.service.*;
|
|
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.SapPeriod;
|
|
import com.management.platform.webservice.po.SapPeriod;
|
|
|
|
+import freemarker.template.SimpleDate;
|
|
import jdk.nashorn.api.scripting.ScriptObjectMirror;
|
|
import jdk.nashorn.api.scripting.ScriptObjectMirror;
|
|
import lombok.SneakyThrows;
|
|
import lombok.SneakyThrows;
|
|
import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
|
|
import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
|
|
@@ -5959,8 +5960,23 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
}
|
|
}
|
|
}
|
|
}
|
|
List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
|
|
List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
|
|
- DateTimeFormatter dft = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
|
-
|
|
|
|
|
|
+ if (companyId == 4281) {
|
|
|
|
+ //苏州博海,需要导出未填写的记录
|
|
|
|
+ //计算从endDate到startDate的工作日数组
|
|
|
|
+ List<LocalDate> workDays = WorkDayCalculateUtils.getWorkDaysListInRange(startDate, endDate, 0);
|
|
|
|
+ //allReportByDate针对每一个员工,列表中没有的工作日要补上
|
|
|
|
+ HttpRespMsg noReportMsg = getNoReportUserList(request, startDate, endDate, null);
|
|
|
|
+ List<UserDailyWorkItem> noReportUserList = (List<UserDailyWorkItem>)noReportMsg.data;
|
|
|
|
+ //追加到最后
|
|
|
|
+ for (UserDailyWorkItem item : noReportUserList) {
|
|
|
|
+ HashMap mapItem = item.toHashMap();
|
|
|
|
+ mapItem.put("duration", 0);
|
|
|
|
+ mapItem.put("isOvertime", 0);
|
|
|
|
+ mapItem.put("createDate", item.getCreateDate());
|
|
|
|
+ mapItem.put("state", 99);
|
|
|
|
+ allReportByDate.add(mapItem);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
for (Map<String, Object> map : allReportByDate) {
|
|
for (Map<String, Object> map : allReportByDate) {
|
|
long p1 = System.currentTimeMillis();
|
|
long p1 = System.currentTimeMillis();
|
|
List<String> item=new ArrayList<>();
|
|
List<String> item=new ArrayList<>();
|
|
@@ -6060,8 +6076,15 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
item.add("");
|
|
item.add("");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- item.add(new SimpleDateFormat("yyyy-MM-dd")
|
|
|
|
- .format((java.sql.Date) map.get("createDate")));
|
|
|
|
|
|
+ if (map.get("createDate") instanceof java.sql.Date) {
|
|
|
|
+ item.add(new SimpleDateFormat("yyyy-MM-dd")
|
|
|
|
+ .format((java.sql.Date) map.get("createDate")));
|
|
|
|
+ } else {
|
|
|
|
+ item.add((String)map.get("createDate"));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+// item.add(new SimpleDateFormat("yyyy-MM-dd")
|
|
|
|
+// .format((java.sql.Date) map.get("createDate")));
|
|
item.add(map.get("duration").toString());
|
|
item.add(map.get("duration").toString());
|
|
if (timeType.getMultiWorktime() == 1) {
|
|
if (timeType.getMultiWorktime() == 1) {
|
|
if ((Integer)map.get("multiWorktime") == 1) {
|
|
if ((Integer)map.get("multiWorktime") == 1) {
|
|
@@ -6261,6 +6284,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
//case 1:row.createCell(index).setCellValue("已通过");
|
|
//case 1:row.createCell(index).setCellValue("已通过");
|
|
case 1:item.add(MessageUtils.message("stages.passed"));
|
|
case 1:item.add(MessageUtils.message("stages.passed"));
|
|
break;
|
|
break;
|
|
|
|
+ case 99:
|
|
|
|
+ item.add("未提交");
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if(timeType.getSyncCorpwxTime()==1){
|
|
if(timeType.getSyncCorpwxTime()==1){
|
|
@@ -6268,7 +6294,13 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
if (map.get("corpwxUserId") != null) {
|
|
if (map.get("corpwxUserId") != null) {
|
|
for (UserCorpwxTime userCorpwxTime : userCorpwxTimeList) {
|
|
for (UserCorpwxTime userCorpwxTime : userCorpwxTimeList) {
|
|
String s = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(userCorpwxTime.getCreateDate());
|
|
String s = DateTimeFormatter.ofPattern("yyyy-MM-dd").format(userCorpwxTime.getCreateDate());
|
|
- String s1 = timeDf.format(map.get("createDate"));
|
|
|
|
|
|
+ String s1 = null;
|
|
|
|
+ if (map.get("createDate") instanceof java.sql.Date) {
|
|
|
|
+ s1 = timeDf.format(map.get("createDate"));
|
|
|
|
+ } else {
|
|
|
|
+ s1 = (String)map.get("createDate");
|
|
|
|
+ }
|
|
|
|
+
|
|
if(map.get("corpwxUserId").equals(userCorpwxTime.getCorpwxUserid())&&s.equals(s1)){
|
|
if(map.get("corpwxUserId").equals(userCorpwxTime.getCorpwxUserid())&&s.equals(s1)){
|
|
//cellValue = userCorpwxTime.getStartTime()+"-"+userCorpwxTime.getEndTime()+",工作时长"+userCorpwxTime.getWorkHours();
|
|
//cellValue = userCorpwxTime.getStartTime()+"-"+userCorpwxTime.getEndTime()+",工作时长"+userCorpwxTime.getWorkHours();
|
|
cellValue = userCorpwxTime.getStartTime()+"-"+userCorpwxTime.getEndTime()+","+MessageUtils.message("entry.workingHours")+userCorpwxTime.getWorkHours();
|
|
cellValue = userCorpwxTime.getStartTime()+"-"+userCorpwxTime.getEndTime()+","+MessageUtils.message("entry.workingHours")+userCorpwxTime.getWorkHours();
|
|
@@ -6633,6 +6665,8 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
|
|
if (!list.stream().anyMatch(item->item.get("id").equals(curUser.getId())&&sdf.format((java.sql.Date)item.get("createDate")).equals(dateStr))) {
|
|
if (!list.stream().anyMatch(item->item.get("id").equals(curUser.getId())&&sdf.format((java.sql.Date)item.get("createDate")).equals(dateStr))) {
|
|
UserDailyWorkItem noRecord = new UserDailyWorkItem();
|
|
UserDailyWorkItem noRecord = new UserDailyWorkItem();
|
|
noRecord.userId = curUser.getId();
|
|
noRecord.userId = curUser.getId();
|
|
|
|
+ noRecord.departmentId = curUser.getDepartmentId();
|
|
|
|
+ noRecord.jobNumber = curUser.getJobNumber();
|
|
cpwxIds.add(curUser.getCorpwxUserid());
|
|
cpwxIds.add(curUser.getCorpwxUserid());
|
|
List<Map> userCorpwxListOn = userCorpwxTimeMapList.stream().filter(mapList -> mapList.get("create_date").toString().equals(dateStr)
|
|
List<Map> userCorpwxListOn = userCorpwxTimeMapList.stream().filter(mapList -> mapList.get("create_date").toString().equals(dateStr)
|
|
&& mapList.get("corpwx_userid").equals(curUser.getCorpwxUserid())).collect(Collectors.toList());
|
|
&& mapList.get("corpwx_userid").equals(curUser.getCorpwxUserid())).collect(Collectors.toList());
|