Просмотр исходного кода

新增获取公司部门数据

anderx месяцев назад: 5
Родитель
Сommit
7a86f02c1b

+ 3 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ProjectTaskController.java

@@ -568,15 +568,15 @@ public class ProjectTaskController extends BaseController {
     /**
      * 导入公司部门,项目,人员信息
      */
-    @GetMapping("/pushCompanyData")
+    @PostMapping("/pushCompanyData")
     public AjaxResult pushCompanyData(@RequestBody pushCompanyDataBo in){
         return AjaxResult.success(projectTaskService.pushCompanyData(in));
     }
 
     /**
-     * 导入公司部门,项目,人员信息
+     * 导入打卡数据
      */
-    @GetMapping("/pushRdData")
+    @PostMapping("/pushRdData")
     public AjaxResult pushRdData(@RequestBody pushRdDataBo in){
         return AjaxResult.success(projectTaskService.pushRdData(in));
     }

+ 22 - 10
ruoyi-system/src/main/java/com/ruoyi/project/service/impl/ProjectTaskServiceImpl.java

@@ -608,17 +608,24 @@ public class ProjectTaskServiceImpl   implements ProjectTaskService {
     @Override
     public Object pushRdData(pushRdDataBo in) {
         SysDept sysDept = sysDeptMapper.selectByusci(in.getUsci());
-        Map<String,Object> map=new HashMap();
+        Map<String,ProjectTask> projectMap=new HashMap();
+        Map<String,SysUser> userMap=new HashMap();
         if (!in.getRdList().isEmpty()){
             List<pushRdDataListBo> rdList = in.getRdList();
             rdList.stream().forEach(e -> {
                 ProjectStaffRecord p = new ProjectStaffRecord();
                 if (e.getProjectNumber() != null){
-                    ProjectTask projectTask =getCompanyProject(map,e.getProjectNumber(), sysDept.getDeptId());
-                    p.setPid(projectTask.getId());
-                    SysUser sysUser=getCompanyUser(map,e.getAdminKyId());
-                    p.setAid(sysUser.getUserId());
-                    p.setName(sysUser.getNickName());
+                    ProjectTask projectTask =getCompanyProject(projectMap,e.getProjectNumber(), sysDept.getDeptId());
+                    if (projectTask!=null){
+                        p.setPid(projectTask.getId());
+                    }else {
+                        throw  new ServiceException("项目不存在");
+                    }
+                    SysUser sysUser=getCompanyUser(userMap,e.getAdminKyId());
+                    if (sysUser!=null){
+                        p.setAid(sysUser.getUserId());
+                        p.setName(sysUser.getNickName());
+                    }
                     p.setProjectStatus(0);
                     p.setProcessStatus(2);
                     p.setRecordTime(DateUtils.parseDate(e.getRecordTime()));
@@ -628,13 +635,18 @@ public class ProjectTaskServiceImpl   implements ProjectTaskService {
                     projectStaffRecordMapper.insertSelective(p);
                 }
             });
-
+            projectMap.values().stream().forEach(e -> {
+                projectTaskMapper.updateDuration(e.getId());
+            });
+            userMap.values().stream().forEach(e -> {
+                userMapper.updateDuration(e.getUserId());
+            });
         }
 
-        return null;
+        return 1;
     }
 
-    private SysUser getCompanyUser(Map<String, Object> map, String adminKyId) {
+    private SysUser getCompanyUser(Map<String, SysUser> map, String adminKyId) {
         if (map.keySet().contains(adminKyId)){
             return (SysUser) map.get(adminKyId);
         }else{
@@ -644,7 +656,7 @@ public class ProjectTaskServiceImpl   implements ProjectTaskService {
         }
     }
 
-    private ProjectTask getCompanyProject(Map<String, Object> map, String projectNumber, Long deptId) {
+    private ProjectTask getCompanyProject(Map<String, ProjectTask> map, String projectNumber, Long deptId) {
         if (map.keySet().contains(projectNumber)){
             return (ProjectTask) map.get(projectNumber);
         }else{