Browse Source

项目导入bug修改

seyason 2 năm trước cách đây
mục cha
commit
e6eb49a7e6

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

@@ -166,6 +166,15 @@ public class ProjectController {
         return projectService.deleteProject(id, force);
     }
 
+    /**
+     * 删除项目
+     * id 要删除的项目的id
+     */
+    @RequestMapping("/batchDeleteProject")
+    public HttpRespMsg batchDeleteProject(@RequestParam String projectIdArray, HttpServletRequest request) {
+        return projectService.batchDeleteProject(projectIdArray, request);
+    }
+
     /**
      * 获取查询者所在公司每个项目的工时成本
      */

+ 2 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -474,6 +474,7 @@ public class WeiXinCorpController {
                         Department department = new Department();
                         department.setCompanyId(companyId);
                         department.setCorpwxDeptid(deptId);
+                        department.setCorpwxDeptpid(parentDeptId);
                         JSONObject deptJson = remoteGetDeptDetail(remoteCorpConcactAccessToken, deptId);
                         if (deptJson != null) {
                             //成功获取到了
@@ -481,7 +482,7 @@ public class WeiXinCorpController {
                             department.setDepartmentName(name);
                             Department parentDept = department.selectOne(new QueryWrapper<Department>().eq("company_id", companyId).eq("corpwx_deptid", parentDeptId));
                             if (parentDept != null) {
-                                department.setSuperiorId(parentDeptId);
+                                department.setSuperiorId(parentDept.getDepartmentId());
                             }
                             departmentMapper.insert(department);
                         }

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ProjectService.java

@@ -150,4 +150,6 @@ public interface ProjectService extends IService<Project> {
     HttpRespMsg batchSetParticipation(HttpServletRequest request,String projectIdArray , String userIds);
 
     HttpRespMsg suspendProject(Integer id);
+
+    HttpRespMsg batchDeleteProject(String projectIdArray, HttpServletRequest request);
 }

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

@@ -258,6 +258,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     String[] providerIdString = project.getProviderIds().split(",");
                     List<String> providerIdList = Arrays.asList(providerIdString);
                     for (String s : providerIdList) {
+                        if (StringUtils.isEmpty(s)) continue;
                         Map<String,Object> map=new HashMap<>();
                         Optional<ProviderInfo> providerInfo = providerInfoList.stream().filter(pi -> pi.getId().equals(Integer.parseInt(s))).findFirst();
                         if(providerInfo.isPresent()){
@@ -2578,17 +2579,20 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                             String idSb = "";
                             providerCell=row.getCell(8+i);
                             HSSFCell cell = row.getCell(10);
+                            System.out.println("当前分类:"+providerCategoryList.get(j).getProviderCategoryName()+", categoryId="+providerCategoryList.get(j).getId());
+                            String categoryName = providerCategoryList.get(j).getProviderCategoryName();
+                            Integer categoryId = providerCategoryList.get(j).getId();
                             if(providerCell!=null){
                                 providerCell.setCellType(CellType.STRING);
-                                String stringCellValue = providerCell.getStringCellValue();
+                                String stringCellValue = providerCell.getStringCellValue().trim();
                                 if(!StringUtils.isEmpty(stringCellValue)){
                                     String[] split = stringCellValue.split(",");
+
                                     for (int i1 = 0; i1 < split.length; i1++) {
-                                        int finalJ = j;
-                                        int finalI = i1;
-                                        Optional<ProviderInfo> first = providerInfoList.stream().filter(pd -> pd.getProviderName().equals(split[finalI])&&pd.getProviderCategoryId().equals(providerCategoryList.get(finalJ).getId())).findFirst();
+                                        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("供应商["+split[i1]+"]在供应商分类["+providerCategoryList.get(j).getProviderCategoryName()+"]不存在");
+                                            msg.setError("供应商["+curProviderName+"]在供应商分类["+providerCategoryList.get(j).getProviderCategoryName()+"]不存在");
                                             return msg;
                                         }else {
                                             if(i1==split.length-1){
@@ -2621,10 +2625,10 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
                     if (startDateCell !=null && !StringUtils.isEmpty(startDateCell.getDateCellValue())) {
                         project.setPlanStartDate(LocalDate.parse(sdf.format(startDateCell.getDateCellValue()), DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                     }
-                    if (endDateCell !=null && !StringUtils.isEmpty(endDateCell.getDateCellValue())) {
+                    if (endDateCell !=null && endDateCell.getCellTypeEnum() == CellType.NUMERIC && !StringUtils.isEmpty(endDateCell.getDateCellValue())) {
                         project.setPlanEndDate(LocalDate.parse(sdf.format(endDateCell.getDateCellValue()), DateTimeFormatter.ofPattern("yyyy-MM-dd")));
                     }
-                    if (amountCell !=null && !StringUtils.isEmpty(amountCell.getStringCellValue())) {
+                    if (amountCell !=null && endDateCell.getCellTypeEnum() == CellType.NUMERIC && !StringUtils.isEmpty(amountCell.getStringCellValue())) {
                         project.setContractAmount(Double.parseDouble(amountCell.getStringCellValue()));
                     }
                     if (isPublicCell != null && !StringUtils.isEmpty(isPublicCell.getStringCellValue())) {
@@ -4017,6 +4021,27 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         return new HttpRespMsg();
     }
 
+    @Override
+    public HttpRespMsg batchDeleteProject(String projectIdArray, HttpServletRequest request) {
+        String token = request.getHeader("TOKEN");
+        User user = userMapper.selectById(token);
+        HttpRespMsg httpRespMsg = new HttpRespMsg();
+        List<Integer> array = JSONArray.parseArray(projectIdArray, Integer.class);
+        Integer integer = array.get(0);
+        //校验项目归属
+        Integer companyId = projectMapper.selectById(integer).getCompanyId();
+        if (companyId.intValue() != user.getCompanyId().intValue()) {
+            httpRespMsg.setError("无权操作");
+        } else {
+            for (Integer id : array) {
+                System.out.println("删除项目id=="+id);
+                deleteProData(id);
+            }
+        }
+
+        return httpRespMsg;
+    }
+
 
     private List<Department> getSubDepts(Department dp, List<Department> list) {
         List<Department> collect = list.stream().filter(l -> dp.getDepartmentId().equals(l.getSuperiorId())).collect(Collectors.toList());

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

@@ -93,7 +93,7 @@ public class ProviderInfoServiceImpl extends ServiceImpl<ProviderInfoMapper, Pro
                 }
                 nameList.add(row.getCell(1).toString());
                 ProviderInfo customerInfo=new ProviderInfo();
-                List<ProviderInfo> collect = allCustomerInfo.stream().filter(sv -> sv.getProviderName().equals(row.getCell(1).toString())).collect(Collectors.toList());
+                List<ProviderInfo> collect = allCustomerInfo.stream().filter(sv -> !StringUtils.isEmpty(sv.getProviderCode()) && sv.getProviderCode().equals(row.getCell(0).toString())).collect(Collectors.toList());
                 customerInfo.setProviderCode(StringUtils.isEmpty(row.getCell(0))?"":row.getCell(0).toString());
                 customerInfo.setProviderName(StringUtils.isEmpty(row.getCell(1))?"":row.getCell(1).toString());
                 customerInfo.setContactName(StringUtils.isEmpty(row.getCell(2))?"":row.getCell(2).toString());