Pārlūkot izejas kodu

修改企业微信导出

yurk 2 gadi atpakaļ
vecāks
revīzija
d6f43ac361

+ 28 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ProjectController.java

@@ -673,27 +673,35 @@ public class ProjectController {
         List<ProjectKeyNodesSetting> projectKeyNodesSettings = projectKeyNodesSettingMapper.selectList(new QueryWrapper<ProjectKeyNodesSetting>().eq("company_id", companyId));
         List<String> collect = providerCategoryList.stream().map(pc -> pc.getProviderCategoryName()).distinct().collect(Collectors.toList());
         TimeType timeType = timeTypeMapper.selectById(companyId);
+        List<String> exampleDataList=new ArrayList<>();
         if(timeType.getMainProjectState()==1){
             //heads.add("主项目");
             heads.add(MessageUtils.message("entry.mainProject"));
+            exampleDataList.add("示例-主项目名称");
         }
         //heads.add("项目编号");
         heads.add(MessageUtils.message("entry.projectId"));
+        exampleDataList.add("XM001");
         if(company.getId()==936){
             //heads.add("合同编号");
             heads.add(MessageUtils.message("entry.contractNo"));
+            exampleDataList.add("HT001");
         }
         if(timeType.getMainProjectState()!=1){
             //heads.add("项目分类");
             heads.add(MessageUtils.message("entry.projectType"));
+            exampleDataList.add("示例-项目分类");
         }
         //heads.add("是否为公共项目");
         heads.add(MessageUtils.message("entry.publicProject"));
         //heads.add("项目名称");
         heads.add(MessageUtils.message("entry.projectName"));
+        exampleDataList.add("否");
+        exampleDataList.add("示例-项目名称");
         if(timeType.getMainProjectState()!=1){
             //heads.add("子项目(多个用,隔开)");
             heads.add(MessageUtils.message("entry.sonProject"));
+            exampleDataList.add("示例-子项目名称");
         }
         //heads.add("参与人");
         heads.add(MessageUtils.message("entry.Participants"));
@@ -701,17 +709,23 @@ public class ProjectController {
         heads.add(MessageUtils.message("entry.projectManager"));
         //heads.add("级别");
         heads.add(MessageUtils.message("entry.level"));
+        exampleDataList.add("张三");
+        exampleDataList.add("张三");
+        exampleDataList.add("");
         if(timeType.getProjectWithDept()==1){
             //heads.add("所属部门");
             heads.add(MessageUtils.message("entry.department"));
+            exampleDataList.add("");
         }
         if(company.getPackageCustomer()==1){
             //heads.add("客户");
             heads.add(MessageUtils.message("entry.customer"));
+            exampleDataList.add("示例-客户");
         }
         if(company.getPackageProvider()==1){
             for (String s : collect) {
                 heads.add(s);
+                exampleDataList.add("示例供应商名称");
             }
         }
         //heads.add("开始日期");
@@ -720,6 +734,9 @@ public class ProjectController {
         heads.add(MessageUtils.message("entry.endDate"));
         //heads.add("合同金额");
         heads.add(MessageUtils.message("entry.contract"));
+        exampleDataList.add("2000-01-01");
+        exampleDataList.add("2000-02-01");
+        exampleDataList.add("1000");
         if(company.getId()==936){
             //heads.add("质保开始时间");
             heads.add(MessageUtils.message("entry.warrantyST"));
@@ -735,6 +752,13 @@ public class ProjectController {
             heads.add(MessageUtils.message("entry.projectState"));
             //heads.add("项目阶段");
             heads.add(MessageUtils.message("entry.projectStage"));
+            exampleDataList.add("2000-01-01");
+            exampleDataList.add("2000-02-01");
+            exampleDataList.add("");
+            exampleDataList.add("");
+            exampleDataList.add("");
+            exampleDataList.add("");
+            exampleDataList.add("");
             for (ProjectKeyNodesSetting projectKeyNodesSetting : projectKeyNodesSettings) {
                 //heads.add(projectKeyNodesSetting.getName()+"计划完成日期");
                 heads.add(MessageUtils.message("entry.planCompDate",projectKeyNodesSetting.getName()));
@@ -742,10 +766,14 @@ public class ProjectController {
                 heads.add(MessageUtils.message("entry.actualComDate",projectKeyNodesSetting.getName()));
                 //heads.add(projectKeyNodesSetting.getName()+"节点状态");
                 heads.add(MessageUtils.message("entry.nodeStatus",projectKeyNodesSetting.getName()));
+                exampleDataList.add("");
+                exampleDataList.add("");
+                exampleDataList.add("");
             }
         }
         List<List<String>> allList = new ArrayList<>();
         allList.add(heads);
+        allList.add(exampleDataList);
         //String title = company.getCompanyName()+"_项目导入模板";
         String title = MessageUtils.message("fileName.projectImport",company.getCompanyName());
         /*msg.data = ExcelUtil.exportGeneralExcelByTitleAndList(fileName, allList, path);*/

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -3974,7 +3974,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                                         String curProviderName = split[i1].trim();
                                         Optional<ProviderInfo> first = providerInfoList.stream().filter(pd -> pd.getProviderName().equals(curProviderName)&&pd.getProviderCategoryId().equals(categoryId)).findFirst();
                                         if(!first.isPresent()){
-                                            //msg.setError("供应商["+curProviderName+"]在供应商分类["+providerCategoryList.get(j).getProviderCategoryName()+"]不存在");
+                                            //msg.setError("供应商["+curProviderName+"]在供应商分类["+providerCategoryList.get(j).getProviderCategoryName()+"]不存在");
                                             msg.setError(MessageUtils.message("supplier.noExist",curProviderName,providerCategoryList.get(j).getProviderCategoryName()));
                                             return msg;
                                         }else {

+ 182 - 180
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -279,7 +279,7 @@ public class TimingTask {
 
 
     //每天2:11 同步钉钉用户前2天到未来30天时间段的打卡,请假,出差数据
-    @Scheduled(cron = "0 45 13 ? * *")
+    @Scheduled(cron = "0 41 15 ? * *")
     private void synFanWeiWorkData() {
         /*if (isDev) return;
         if(!isPrivateDeploy) return;*/
@@ -288,197 +288,199 @@ public class TimingTask {
         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);
+            }
         }
     }
 

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/util/DockWithMLD.java

@@ -79,7 +79,7 @@ public class DockWithMLD {
         //分页参数 处理全部数据 不需要进行分页
         JSONObject pageInfo = new JSONObject();
         pageInfo.put("pageNo", 1);
-        pageInfo.put("pageSize",20);
+        pageInfo.put("pageSize",1000);
         paramDatajson.put("pageInfo",pageInfo);
         //封装 mainTable 参数
         JSONObject mainTable  = JSON.parseObject(screenString);

+ 4 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/resources/i18n/messages.properties

@@ -366,7 +366,7 @@ data.upSkip=自动更新{0}条已存在项目编码:{1}。
 data.exceedMonthError=获取数据时间段不得超过一个月
 data.verificationError=数据有误 验证失败
 #供应商相关
-supplier.noExist=供应商[{0}]在供应商分类[{1}]不存在
+supplier.noExist=供应商[{0}]在供应商分类[{1}]不存在
 supplier.addSupplier=请填写供应商数据
 supplier.lackNameOnRow=第{0}行缺少供应商名称
 supplier.nameRepeat=当前导入数据存在重复供应商名称[{0}]
@@ -538,10 +538,10 @@ fileName.leaveRemaining = 假期剩余表
 #excel
 excel.publicProject=是否为非项目
 excel.projectName=项目名称必填
-excel.manyPeople=多个参与人(姓名/工号)使用中文逗号(,)隔开
+excel.manyPeople=多个参与人(姓名)使用中文逗号(,)隔开
 excel.manyPeoplePlus=多个参与人(工号)使用中文逗号(,)隔开
-excel.projectManager=项目经理(姓名/工号)需存在于参与人中
-excel.projectManagerPlus=项目经理(姓名/工号)需存在于参与人中
+excel.projectManager=项目经理(姓名)需存在于参与人中
+excel.projectManagerPlus=项目经理(姓名)需存在于参与人中
 excel.projectCharge=负责人需存在于参与人中
 excel.dateFormat=日期格式:yyyy-MM-dd
 excel.forExample=例如: 2021-01-01

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/resources/i18n/messages_en_US.properties

@@ -538,9 +538,9 @@ fileName.leaveRemaining = Leave Remaining Table
 #excel
 excel.publicProject=Whether it is a non project
 excel.projectName=Project name is required
-excel.manyPeople=Multiple participants (name/jobNumber) are separated by commas (,)
+excel.manyPeople=Multiple participants (name) are separated by commas (,)
 excel.manyPeoplePlus=Multiple participants (jobNumber) are separated by commas (,)
-excel.projectManager=The project manager (name/jobNumber) must exist in the participants
+excel.projectManager=The project manager (name) must exist in the participants
 excel.projectManagerPlus=The project manager (jobNumber) must exist in the participants
 excel.projectCharge=The person in charge must exist in the participants
 excel.dateFormat=Date Format:yyyy-MM-dd