Ver Fonte

数据拉取

zhouyy há 3 semanas atrás
pai
commit
bcc0a0e5e9

+ 1 - 1
fhKeeper/formulahousekeeper/collectdata/src/main/java/com/management/collectdata/controller/DataCollectController.java

@@ -225,7 +225,7 @@ public class DataCollectController {
 
     @RequestMapping("/getSqlServerProjectDataList")
     public List<Project> getSqlServerProjectDataList(@RequestBody PageBO pageBO) {
-        String sqlQuery = " select citemcode ,citemname " +
+        String sqlQuery = " select citemcode ,citemname ,left(citemccode,5) as categoryName" +
                 " from fitemss97  where bclose = 0 ORDER BY I_id OFFSET ? ROWS FETCH NEXT ? ROWS ONLY ";
         List<Project> resList = new ArrayList<>();
         try (Connection connection = sqlServerDataSource.getConnection()) {

+ 22 - 3
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/DataCollectTask.java

@@ -584,10 +584,29 @@ public class DataCollectTask {
                             }
                             if(!CollectionUtils.isEmpty(toAddList)){
                                 for (Project project : toAddList) {
-                                    projectMapper.insert(project);
-                                    if (company.getPackageProject() == 1) {
-                                        initGroup(specialCompanyId,project.getId());
+                                    ProjectCategory category = projectCategoryMapper.selectOne(new LambdaQueryWrapper<ProjectCategory>()
+                                            .eq(ProjectCategory::getCompanyId, specialCompanyId)
+                                            .eq(ProjectCategory::getName, project.getCategoryName())
+                                            .last(" limit 1 ")
+                                    );
+                                    int categoryId;
+                                    if(null != category){
+                                        categoryId = category.getId();
+                                    }else{
+                                        ProjectCategory tmp = new ProjectCategory();
+                                        tmp.setName(project.getCategoryName());
+                                        tmp.setCompanyId(specialCompanyId);
+                                        projectCategoryMapper.insert(tmp);
+                                        categoryId = tmp.getId();
                                     }
+                                    if(0!= categoryId){
+                                        project.setCategory(categoryId);
+                                        projectMapper.insert(project);
+                                        if (company.getPackageProject() == 1) {
+                                            initGroup(specialCompanyId,project.getId());
+                                        }
+                                    }
+
                                 }
 //                                projectMapper.batchInsert(toAddList);
                             }