|
@@ -279,205 +279,208 @@ public class TimingTask {
|
|
|
|
|
|
|
|
|
//每天2:11 同步钉钉用户前2天到未来30天时间段的打卡,请假,出差数据
|
|
|
- @Scheduled(cron = "0 11 2 ? * *")
|
|
|
+ @Scheduled(cron = "0 41 15 ? * *")
|
|
|
private void synFanWeiWorkData() {
|
|
|
- if (isDev) return;
|
|
|
+ /*if (isDev) return;
|
|
|
+ if(!isPrivateDeploy) return;*/
|
|
|
List<TimeType> timeTypeList = timeTypeMapper.selectList(new QueryWrapper<TimeType>().eq("sync_fanwei", 1));
|
|
|
List<Integer> compIds = timeTypeList.stream().map(TimeType::getCompanyId).collect(Collectors.toList());
|
|
|
if(compIds.isEmpty()){
|
|
|
return;
|
|
|
}
|
|
|
- DockWithMLD dockWithMLD=new DockWithMLD();
|
|
|
- JSONObject jsonObject=new JSONObject();
|
|
|
- DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
- DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
- DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("HH:mm");
|
|
|
- LocalDateTime yesterday = LocalDateTime.now().minusDays(2);
|
|
|
- String startDate = dtf.format(yesterday);
|
|
|
- String endDate = dtf.format(yesterday.plusDays(32));
|
|
|
- List<UserFvTime> oldUserFvTimeList = userFvTimeService.list(new QueryWrapper<UserFvTime>().in("company_id", compIds));
|
|
|
- List<LeaveSheet> oldLeaveSheetList = leaveSheetService.list(new QueryWrapper<LeaveSheet>().in("company_id", compIds));
|
|
|
- List<BusinessTrip> oldBusinessTripList = businessTripService.list(new QueryWrapper<BusinessTrip>().in("company_id", compIds));
|
|
|
- jsonObject.put("startDate",startDate);
|
|
|
- jsonObject.put("endDate",endDate);
|
|
|
- String jsonString = jsonObject.toJSONString();
|
|
|
- List<UserFvTime> userFvTimeList=new ArrayList<>();
|
|
|
- List<LeaveSheet> leaveSheetList=new ArrayList<>();
|
|
|
- List<BusinessTrip> businessTripList=new ArrayList<>();
|
|
|
- //Todo: 获取打卡数据
|
|
|
- HttpRespMsg workDataMsg = dockWithMLD.getResult("http://10.1.10.51:20175/api/cube/restful/interface/getModeDataPageList/getWorkData", jsonString);
|
|
|
- List<Map<String,Object>> workDataList= (List<Map<String, Object>>) workDataMsg.data;
|
|
|
- List<String> userIds = workDataList.stream().map(map -> String.valueOf(map.get("userId"))).collect(Collectors.toList());
|
|
|
- List<User> userList = userMapper.selectList(new QueryWrapper<User>().in("job_number", userIds));
|
|
|
- for (User user : userList) {
|
|
|
- System.out.println("需要同步的用户列表-----"+userList);
|
|
|
- LocalTime startTime=null;
|
|
|
- LocalTime endTime=null;
|
|
|
- LocalDate workDate=null;
|
|
|
- for (Map<String, Object> map : workDataList) {
|
|
|
- if (map.get("userId").equals(user.getJobNumber())) {
|
|
|
- if(String.valueOf(map.get("signtype")).equals("签到")){
|
|
|
- startTime=LocalTime.parse(String.valueOf(map.get("signtime")), dtf2);
|
|
|
- workDate= LocalDate.parse(String.valueOf(map.get("workDate")), dtf);
|
|
|
+ for (Integer compId : compIds) {
|
|
|
+ DockWithMLD dockWithMLD=new DockWithMLD();
|
|
|
+ JSONObject jsonObject=new JSONObject();
|
|
|
+ DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
+ DateTimeFormatter dtf1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+ DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("HH:mm");
|
|
|
+ LocalDateTime yesterday = LocalDateTime.now().minusDays(2);
|
|
|
+ String startDate = dtf.format(yesterday);
|
|
|
+ String endDate = dtf.format(yesterday.plusDays(32));
|
|
|
+ List<UserFvTime> oldUserFvTimeList = userFvTimeService.list(new QueryWrapper<UserFvTime>().eq("company_id", compId));
|
|
|
+ List<LeaveSheet> oldLeaveSheetList = leaveSheetService.list(new QueryWrapper<LeaveSheet>().eq("company_id", compId));
|
|
|
+ List<BusinessTrip> oldBusinessTripList = businessTripService.list(new QueryWrapper<BusinessTrip>().eq("company_id", compId));
|
|
|
+ jsonObject.put("startDate",startDate);
|
|
|
+ jsonObject.put("endDate",endDate);
|
|
|
+ String jsonString = jsonObject.toJSONString();
|
|
|
+ List<UserFvTime> userFvTimeList=new ArrayList<>();
|
|
|
+ List<LeaveSheet> leaveSheetList=new ArrayList<>();
|
|
|
+ List<BusinessTrip> businessTripList=new ArrayList<>();
|
|
|
+ //Todo: 获取打卡数据
|
|
|
+ HttpRespMsg workDataMsg = dockWithMLD.getResult("http://10.1.10.51:20175/api/cube/restful/interface/getModeDataPageList/getWorkData", jsonString);
|
|
|
+ List<Map<String,Object>> workDataList= (List<Map<String, Object>>) workDataMsg.data;
|
|
|
+ List<String> userIds = workDataList.stream().map(map -> String.valueOf(map.get("userId"))).collect(Collectors.toList());
|
|
|
+ List<User> userList = userMapper.selectList(new QueryWrapper<User>().in("job_number", userIds));
|
|
|
+ //获取休息设置
|
|
|
+ TimeAutoExclude timeAutoExclude = timeAutoExcludeMapper.selectOne(new QueryWrapper<TimeAutoExclude>().eq("company_id", compId));
|
|
|
+ TimeType allDay = timeTypeMapper.selectOne(new QueryWrapper<TimeType>().eq("company_id", compId));
|
|
|
+ for (User user : userList) {
|
|
|
+ System.out.println("需要同步的用户列表-----"+userList);
|
|
|
+ LocalTime startTime=null;
|
|
|
+ LocalTime endTime=null;
|
|
|
+ LocalDate workDate=null;
|
|
|
+ for (Map<String, Object> map : workDataList) {
|
|
|
+ if (map.get("userId").equals(user.getJobNumber())) {
|
|
|
+ if(String.valueOf(map.get("signtype")).equals("签到")){
|
|
|
+ startTime=LocalTime.parse(String.valueOf(map.get("signtime")), dtf2);
|
|
|
+ workDate= LocalDate.parse(String.valueOf(map.get("workDate")), dtf);
|
|
|
+ }
|
|
|
+ if(String.valueOf(map.get("signtype")).equals("签退")){
|
|
|
+ endTime=LocalTime.parse(String.valueOf(map.get("signtime")), dtf2);
|
|
|
+ workDate=LocalDate.parse(String.valueOf(map.get("workDate")),dtf);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ UserFvTime userFvTime=new UserFvTime();
|
|
|
+ System.out.println("泛微同步人员打卡数据----"+user.getName());
|
|
|
+ if(compIds.contains(user.getCompanyId())){
|
|
|
+ if(startTime==null||endTime==null){
|
|
|
+ System.out.println("缺少上班或者下班打卡时间----"+user.getName());
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ userFvTime.setWorkDate(workDate);
|
|
|
+ Duration between = Duration.between(startTime, endTime);
|
|
|
+ userFvTime.setStartTime(startTime.format(dtf2));
|
|
|
+ userFvTime.setEndTime(endTime.format(dtf2));
|
|
|
+ userFvTime.setCompanyId(user.getCompanyId());
|
|
|
+ userFvTime.setUserId(user.getId());
|
|
|
+ long workHours = between.toHours();
|
|
|
+ long restHours;
|
|
|
+ if(startTime.isBefore(LocalTime.parse(timeAutoExclude.getStartTime(),dtf2))
|
|
|
+ &&endTime.isAfter(LocalTime.parse(timeAutoExclude.getEndTime(),dtf2))){
|
|
|
+ Duration bt = Duration.between(LocalTime.parse(timeAutoExclude.getStartTime(),dtf2), LocalTime.parse(timeAutoExclude.getEndTime(),dtf2));
|
|
|
+ restHours=bt.toHours();
|
|
|
+ }else {
|
|
|
+ restHours=0;
|
|
|
}
|
|
|
- if(String.valueOf(map.get("signtype")).equals("签退")){
|
|
|
- endTime=LocalTime.parse(String.valueOf(map.get("signtime")), dtf2);
|
|
|
- workDate=LocalDate.parse(String.valueOf(map.get("workDate")),dtf);
|
|
|
+ userFvTime.setWorkHours(BigDecimal.valueOf(workHours).subtract(BigDecimal.valueOf(restHours)).floatValue());
|
|
|
+ Optional<UserFvTime> first = oldUserFvTimeList.stream().filter(ol -> ol.getWorkDate().isEqual(userFvTime.getWorkDate()) && ol.getUserId().equals(userFvTime.getUserId())).findFirst();
|
|
|
+ if(first.isPresent()){
|
|
|
+ userFvTime.setId(first.get().getId());
|
|
|
}
|
|
|
+ userFvTimeList.add(userFvTime);
|
|
|
}
|
|
|
}
|
|
|
- UserFvTime userFvTime=new UserFvTime();
|
|
|
- //获取休息设置
|
|
|
- TimeAutoExclude timeAutoExclude = timeAutoExcludeMapper.selectOne(new QueryWrapper<TimeAutoExclude>().eq("company_id", user.getCompanyId()));
|
|
|
- System.out.println("泛微同步人员打卡数据----"+user.getName());
|
|
|
- if(compIds.contains(user.getCompanyId())){
|
|
|
- if(startTime==null||endTime==null){
|
|
|
- System.out.println("缺少上班或者下班打卡时间----"+user.getName());
|
|
|
+ if(userFvTimeList.size()>0){
|
|
|
+ userFvTimeService.saveOrUpdateBatch(userFvTimeList);
|
|
|
+ }
|
|
|
+ //Todo: 获取请假数据
|
|
|
+ HttpRespMsg leaveRecordMsg = dockWithMLD.getResult("http://10.1.10.51:20175/api/cube/restful/interface/getModeDataPageList/getLeaveRecord", jsonString);
|
|
|
+ List<Map<String,Object>> leaveRecordList= (List<Map<String, Object>>) leaveRecordMsg.data;
|
|
|
+ for (Map<String, Object> map : leaveRecordList) {
|
|
|
+ User user = userMapper.selectOne(new QueryWrapper<User>().eq("job_number", map.get("rybh")));
|
|
|
+ if(user==null){
|
|
|
continue;
|
|
|
}
|
|
|
- userFvTime.setWorkDate(workDate);
|
|
|
- Duration between = Duration.between(startTime, endTime);
|
|
|
- userFvTime.setStartTime(startTime.format(dtf2));
|
|
|
- userFvTime.setEndTime(endTime.format(dtf2));
|
|
|
- userFvTime.setCompanyId(user.getCompanyId());
|
|
|
- userFvTime.setUserId(user.getId());
|
|
|
- long workHours = between.toHours();
|
|
|
- long restHours;
|
|
|
- if(startTime.isBefore(LocalTime.parse(timeAutoExclude.getStartTime(),dtf2))
|
|
|
- &&endTime.isAfter(LocalTime.parse(timeAutoExclude.getEndTime(),dtf2))){
|
|
|
- Duration bt = Duration.between(LocalTime.parse(timeAutoExclude.getStartTime(),dtf2), LocalTime.parse(timeAutoExclude.getEndTime(),dtf2));
|
|
|
- restHours=bt.toHours();
|
|
|
- }else {
|
|
|
- restHours=0;
|
|
|
- }
|
|
|
- userFvTime.setWorkHours(BigDecimal.valueOf(workHours).subtract(BigDecimal.valueOf(restHours)).floatValue());
|
|
|
- Optional<UserFvTime> first = oldUserFvTimeList.stream().filter(ol -> ol.getWorkDate().isEqual(userFvTime.getWorkDate()) && ol.getUserId().equals(userFvTime.getUserId())).findFirst();
|
|
|
- if(first.isPresent()){
|
|
|
- userFvTime.setId(first.get().getId());
|
|
|
- }
|
|
|
- userFvTimeList.add(userFvTime);
|
|
|
- }
|
|
|
- }
|
|
|
- if(userFvTimeList.size()>0){
|
|
|
- userFvTimeService.saveOrUpdateBatch(userFvTimeList);
|
|
|
- }
|
|
|
- //Todo: 获取请假数据
|
|
|
- HttpRespMsg leaveRecordMsg = dockWithMLD.getResult("http://10.1.10.51:20175/api/cube/restful/interface/getModeDataPageList/getLeaveRecord", jsonString);
|
|
|
- List<Map<String,Object>> leaveRecordList= (List<Map<String, Object>>) leaveRecordMsg.data;
|
|
|
- for (Map<String, Object> map : leaveRecordList) {
|
|
|
- User user = userMapper.selectOne(new QueryWrapper<User>().eq("job_number", map.get("rybh")));
|
|
|
- if(user==null){
|
|
|
- continue;
|
|
|
- }
|
|
|
- System.out.println("泛微同步人员请假数据----"+user.getName());
|
|
|
- if(compIds.contains(user.getCompanyId())){
|
|
|
- LeaveSheet leaveSheet=new LeaveSheet();
|
|
|
- leaveSheet.setCompanyId(user.getCompanyId());
|
|
|
- leaveSheet.setStatus(0);
|
|
|
- leaveSheet.setOwnerId(user.getId());
|
|
|
- leaveSheet.setOwnerName(user.getName());
|
|
|
- leaveSheet.setStartDate(LocalDate.parse(String.valueOf(map.get("startDate")),dtf1));
|
|
|
- leaveSheet.setEndDate(LocalDate.parse(String.valueOf(map.get("endDate")),dtf1));
|
|
|
- Integer timeType=null;
|
|
|
- switch (String.valueOf(map.get("timeType"))){
|
|
|
- case "小时":timeType=1;
|
|
|
- break;
|
|
|
- case "天":timeType=0;
|
|
|
- break;
|
|
|
- }
|
|
|
- leaveSheet.setTimeType(timeType);
|
|
|
- leaveSheet.setTimeDays(Float.parseFloat((String) map.get("timeDays")));
|
|
|
- if (timeType == 0){
|
|
|
- TimeType allDay = timeTypeMapper.selectOne(new QueryWrapper<TimeType>().eq("company_id", user.getCompanyId()));
|
|
|
- leaveSheet.setTimeHours(leaveSheet.getTimeDays()*allDay.getAllday());
|
|
|
- }else {
|
|
|
- leaveSheet.setTimeHours(Float.parseFloat((String) map.get("timeHours")));
|
|
|
- }
|
|
|
- Integer leaveType=null;
|
|
|
- switch (String.valueOf(map.get("leaveType"))){
|
|
|
- case "事假":leaveType=0;
|
|
|
- break;
|
|
|
- case "病假":leaveType=1;
|
|
|
- break;
|
|
|
- case "年假":leaveType=2;
|
|
|
- break;
|
|
|
- case "产假":leaveType=3;
|
|
|
- break;
|
|
|
- case "婚假":leaveType=4;
|
|
|
- break;
|
|
|
- case "丧假":leaveType=5;
|
|
|
- break;
|
|
|
- case "调休":leaveType=6;
|
|
|
- break;
|
|
|
- case "陪产假":leaveType=7;
|
|
|
- break;
|
|
|
- default:leaveType=8;
|
|
|
- }
|
|
|
- leaveSheet.setLeaveType(leaveType);
|
|
|
- leaveSheet.setProcinstId(String.valueOf(map.get("procinstId")));
|
|
|
- leaveSheet.setGmtFinished(String.valueOf(map.get("gmtFinished")));
|
|
|
- Optional<LeaveSheet> first = oldLeaveSheetList.stream().filter(ol -> ol.getStartDate().isEqual(leaveSheet.getStartDate())&&ol.getEndDate().isEqual(leaveSheet.getEndDate()) && ol.getOwnerId().equals(leaveSheet.getOwnerId())).findFirst();
|
|
|
- if(first.isPresent()){
|
|
|
- leaveSheet.setId(first.get().getId());
|
|
|
+ System.out.println("泛微同步人员请假数据----"+user.getName());
|
|
|
+ if(compIds.contains(user.getCompanyId())){
|
|
|
+ LeaveSheet leaveSheet=new LeaveSheet();
|
|
|
+ leaveSheet.setCompanyId(user.getCompanyId());
|
|
|
+ leaveSheet.setStatus(0);
|
|
|
+ leaveSheet.setOwnerId(user.getId());
|
|
|
+ leaveSheet.setOwnerName(user.getName());
|
|
|
+ leaveSheet.setStartDate(LocalDate.parse(String.valueOf(map.get("startDate")),dtf1));
|
|
|
+ leaveSheet.setEndDate(LocalDate.parse(String.valueOf(map.get("endDate")),dtf1));
|
|
|
+ Integer timeType=null;
|
|
|
+ switch (String.valueOf(map.get("timeType"))){
|
|
|
+ case "小时":timeType=1;
|
|
|
+ break;
|
|
|
+ case "天":timeType=0;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ leaveSheet.setTimeType(timeType);
|
|
|
+ leaveSheet.setTimeDays(Float.parseFloat(((String) map.get("timeDays")).equals("")?"0.00":((String) map.get("timeDays"))));
|
|
|
+ if (timeType == 0){
|
|
|
+ leaveSheet.setTimeHours(leaveSheet.getTimeDays()*allDay.getAllday());
|
|
|
+ }else {
|
|
|
+ leaveSheet.setTimeHours(Float.parseFloat(((String) map.get("timeHours")).equals("")?"0.00":((String) map.get("timeHours"))));
|
|
|
+ }
|
|
|
+ Integer leaveType=null;
|
|
|
+ switch (String.valueOf(map.get("leaveType"))){
|
|
|
+ case "事假":leaveType=0;
|
|
|
+ break;
|
|
|
+ case "病假":leaveType=1;
|
|
|
+ break;
|
|
|
+ case "年假":leaveType=2;
|
|
|
+ break;
|
|
|
+ case "产假":leaveType=3;
|
|
|
+ break;
|
|
|
+ case "婚假":leaveType=4;
|
|
|
+ break;
|
|
|
+ case "丧假":leaveType=5;
|
|
|
+ break;
|
|
|
+ case "调休":leaveType=6;
|
|
|
+ break;
|
|
|
+ case "陪产假":leaveType=7;
|
|
|
+ break;
|
|
|
+ default:leaveType=8;
|
|
|
+ }
|
|
|
+ leaveSheet.setLeaveType(leaveType);
|
|
|
+ leaveSheet.setProcinstId(String.valueOf(map.get("procinstId")));
|
|
|
+ leaveSheet.setGmtFinished(String.valueOf(map.get("gmtFinished")));
|
|
|
+ Optional<LeaveSheet> first = oldLeaveSheetList.stream().filter(ol -> ol.getStartDate().isEqual(leaveSheet.getStartDate())&&ol.getEndDate().isEqual(leaveSheet.getEndDate()) && ol.getOwnerId().equals(leaveSheet.getOwnerId())).findFirst();
|
|
|
+ if(first.isPresent()){
|
|
|
+ leaveSheet.setId(first.get().getId());
|
|
|
+ }
|
|
|
+ leaveSheetList.add(leaveSheet);
|
|
|
}
|
|
|
- leaveSheetList.add(leaveSheet);
|
|
|
}
|
|
|
- }
|
|
|
- if(leaveSheetList.size()>0){
|
|
|
- leaveSheetService.saveOrUpdateBatch(leaveSheetList);
|
|
|
- }
|
|
|
- //Todo: 获取出差数据
|
|
|
- HttpRespMsg travelRecordMsg = dockWithMLD.getResult("http://10.1.10.51:20175/api/cube/restful/interface/getModeDataPageList/getTravelRecord", jsonString);
|
|
|
- List<Map<String,Object>> travelRecordList= (List<Map<String, Object>>) travelRecordMsg.data;
|
|
|
- for (Map<String, Object> map : travelRecordList) {
|
|
|
- User user = userMapper.selectOne(new QueryWrapper<User>().eq("job_number", map.get("rybh")));
|
|
|
- if(user==null){
|
|
|
- continue;
|
|
|
+ if(leaveSheetList.size()>0){
|
|
|
+ leaveSheetService.saveOrUpdateBatch(leaveSheetList);
|
|
|
}
|
|
|
- System.out.println("泛微同步人员出差数据----"+user.getName());
|
|
|
- if(compIds.contains(user.getCompanyId())){
|
|
|
- BusinessTrip businessTrip=new BusinessTrip();
|
|
|
- businessTrip.setCompanyId(user.getCompanyId());
|
|
|
- businessTrip.setOwnerId(user.getId());
|
|
|
- businessTrip.setOwnerName(user.getName());
|
|
|
- businessTrip.setStartDate(LocalDate.parse(String.valueOf(map.get("startDate")),dtf1));
|
|
|
- businessTrip.setEndDate(LocalDate.parse(String.valueOf(map.get("endDate")),dtf1));
|
|
|
- Integer way=null;
|
|
|
- switch (String.valueOf(map.get("way"))){
|
|
|
- case "飞机":way=0;
|
|
|
- break;
|
|
|
- case "高铁/火车":way=1;
|
|
|
- break;
|
|
|
- case "汽车":way=2;
|
|
|
- break;
|
|
|
- case "轮船":way=3;
|
|
|
- break;
|
|
|
- case "其他":way=4;
|
|
|
- break;
|
|
|
- }
|
|
|
- businessTrip.setWay(way);
|
|
|
- businessTrip.setCityFrom((String) map.get("cityFrom"));
|
|
|
- businessTrip.setCityTo((String) map.get("cityTo"));
|
|
|
- Integer goBack=null;
|
|
|
- switch (String.valueOf(map.get("goBack"))){
|
|
|
- case "单程":goBack=0;
|
|
|
- break;
|
|
|
- case "往返":goBack=1;
|
|
|
- break;
|
|
|
+ //Todo: 获取出差数据
|
|
|
+ HttpRespMsg travelRecordMsg = dockWithMLD.getResult("http://10.1.10.51:20175/api/cube/restful/interface/getModeDataPageList/getTravelRecord", jsonString);
|
|
|
+ List<Map<String,Object>> travelRecordList= (List<Map<String, Object>>) travelRecordMsg.data;
|
|
|
+ for (Map<String, Object> map : travelRecordList) {
|
|
|
+ User user = userMapper.selectOne(new QueryWrapper<User>().eq("job_number", map.get("rybh")));
|
|
|
+ if(user==null){
|
|
|
+ continue;
|
|
|
}
|
|
|
- businessTrip.setGoBack(goBack);
|
|
|
- businessTrip.setDayCount(Integer.parseInt(String.valueOf(map.get("dayCount")).substring(0,1)));
|
|
|
- businessTrip.setProcinstId((String) map.get("procinstId"));
|
|
|
- businessTrip.setGmtFinished((String)map.get("gmtFinished"));
|
|
|
- Optional<BusinessTrip> first = oldBusinessTripList.stream().filter(ol -> ol.getStartDate().isEqual(businessTrip.getStartDate())&&ol.getEndDate().isEqual(businessTrip.getEndDate()) && ol.getOwnerId().equals(businessTrip.getOwnerId())).findFirst();
|
|
|
- if(first.isPresent()){
|
|
|
- businessTrip.setId(first.get().getId());
|
|
|
+ System.out.println("泛微同步人员出差数据----"+user.getName());
|
|
|
+ if(compIds.contains(user.getCompanyId())){
|
|
|
+ BusinessTrip businessTrip=new BusinessTrip();
|
|
|
+ businessTrip.setCompanyId(user.getCompanyId());
|
|
|
+ businessTrip.setOwnerId(user.getId());
|
|
|
+ businessTrip.setOwnerName(user.getName());
|
|
|
+ businessTrip.setStartDate(LocalDate.parse(String.valueOf(map.get("startDate")),dtf1));
|
|
|
+ businessTrip.setEndDate(LocalDate.parse(String.valueOf(map.get("endDate")),dtf1));
|
|
|
+ Integer way=null;
|
|
|
+ switch (String.valueOf(map.get("way"))){
|
|
|
+ case "飞机":way=0;
|
|
|
+ break;
|
|
|
+ case "高铁/火车":way=1;
|
|
|
+ break;
|
|
|
+ case "汽车":way=2;
|
|
|
+ break;
|
|
|
+ case "轮船":way=3;
|
|
|
+ break;
|
|
|
+ case "其他":way=4;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ businessTrip.setWay(way);
|
|
|
+ businessTrip.setCityFrom((String) map.get("cityFrom"));
|
|
|
+ businessTrip.setCityTo((String) map.get("cityTo"));
|
|
|
+ Integer goBack=null;
|
|
|
+ switch (String.valueOf(map.get("goBack"))){
|
|
|
+ case "单程":goBack=0;
|
|
|
+ break;
|
|
|
+ case "往返":goBack=1;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ businessTrip.setGoBack(goBack);
|
|
|
+ businessTrip.setDayCount(Integer.parseInt(String.valueOf(map.get("dayCount")).substring(0,1)));
|
|
|
+ businessTrip.setProcinstId((String) map.get("procinstId"));
|
|
|
+ businessTrip.setGmtFinished((String)map.get("gmtFinished"));
|
|
|
+ Optional<BusinessTrip> first = oldBusinessTripList.stream().filter(ol -> ol.getStartDate().isEqual(businessTrip.getStartDate())&&ol.getEndDate().isEqual(businessTrip.getEndDate()) && ol.getOwnerId().equals(businessTrip.getOwnerId())).findFirst();
|
|
|
+ if(first.isPresent()){
|
|
|
+ businessTrip.setId(first.get().getId());
|
|
|
+ }
|
|
|
+ businessTripList.add(businessTrip);
|
|
|
}
|
|
|
- businessTripList.add(businessTrip);
|
|
|
}
|
|
|
- }
|
|
|
- if(businessTripList.size()>0){
|
|
|
- businessTripService.saveOrUpdateBatch(businessTripList);
|
|
|
+ if(businessTripList.size()>0){
|
|
|
+ businessTripService.saveOrUpdateBatch(businessTripList);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|