haogh 9 mēneši atpakaļ
vecāks
revīzija
dfc75b3464

BIN
sop-api/src/main/resources/static/user_archives.xlsx


+ 3 - 13
sop-business/src/main/java/com/qmth/sop/business/bean/params/UserArchivesParam.java

@@ -108,16 +108,13 @@ public class UserArchivesParam {
     private String remark;
 
     @ApiModelProperty(value = "项目经验")
-    private List<UserArchivesProjectExperienceResult> projectExperienceList;
+    private List<String> projectExperience;
 
-    @ApiModelProperty(value = "项目经验")
-    private String projectExperience;
-
-    public String getProjectExperience() {
+    public List<String> getProjectExperience() {
         return projectExperience;
     }
 
-    public void setProjectExperience(String projectExperience) {
+    public void setProjectExperience(List<String> projectExperience) {
         this.projectExperience = projectExperience;
     }
 
@@ -289,11 +286,4 @@ public class UserArchivesParam {
         this.remark = remark;
     }
 
-    public List<UserArchivesProjectExperienceResult> getProjectExperienceList() {
-        return projectExperienceList;
-    }
-
-    public void setProjectExperienceList(List<UserArchivesProjectExperienceResult> projectExperienceList) {
-        this.projectExperienceList = projectExperienceList;
-    }
 }

+ 3 - 3
sop-business/src/main/java/com/qmth/sop/business/bean/result/ProjectMonitorCardResult.java

@@ -24,7 +24,7 @@ public class ProjectMonitorCardResult {
     private String mobileNumber;
 
     @ApiModelProperty(value = "项目经验")
-    private String projectExperience;
+    private List<String> projectExperience;
 
     public String getName() {
         return name;
@@ -58,11 +58,11 @@ public class ProjectMonitorCardResult {
         this.mobileNumber = mobileNumber;
     }
 
-    public String getProjectExperience() {
+    public List<String> getProjectExperience() {
         return projectExperience;
     }
 
-    public void setProjectExperience(String projectExperience) {
+    public void setProjectExperience(List<String> projectExperience) {
         this.projectExperience = projectExperience;
     }
 }

+ 8 - 9
sop-business/src/main/java/com/qmth/sop/business/service/impl/ProjectMonitorServiceImpl.java

@@ -23,7 +23,10 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 @Service
@@ -87,14 +90,10 @@ public class ProjectMonitorServiceImpl extends ServiceImpl<TBSopInfoMapper, TBSo
             userCard.setPhotoPath(null);
         }
         //项目经验
-        /*if (StringUtils.isNotBlank(userArchives.getProjectExperience())) {
-            List<UserArchivesProjectExperienceResult> resultList = JSONObject.parseArray(userArchives.getProjectExperience(),
-                    UserArchivesProjectExperienceResult.class);
-            List<UserArchivesProjectExperienceResult> sortedExperienceList = resultList.stream()
-                    .sorted(Comparator.comparingInt(UserArchivesProjectExperienceResult::getOrder)).collect(Collectors.toList());
-            userCard.setProjectExperience(sortedExperienceList);
-        }*/
-        userCard.setProjectExperience(userArchives.getProjectExperience());
+        if (StringUtils.isNotBlank(userArchives.getProjectExperience())) {
+            List<String> resultList = JSONObject.parseArray(userArchives.getProjectExperience(),String.class);
+            userCard.setProjectExperience(resultList);
+        }
         return userCard;
     }
 

+ 18 - 1
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBUserArchivesServiceImpl.java

@@ -14,7 +14,9 @@ import com.qmth.sop.business.mapper.TBUserArchivesMapper;
 import com.qmth.sop.business.service.*;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.*;
+import com.qmth.sop.common.util.GsonUtil;
 import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -124,6 +126,7 @@ public class TBUserArchivesServiceImpl extends ServiceImpl<TBUserArchivesMapper,
                         .collect(Collectors.joining(";"));
                 record.setOccupiedInfo(occupiedInfo);
             }
+
         }
         return page;
     }
@@ -202,6 +205,20 @@ public class TBUserArchivesServiceImpl extends ServiceImpl<TBUserArchivesMapper,
         Double authenticationScore = userArchivesParam.getAuthenticationScore();
         Long authenticationValidTime = userArchivesParam.getAuthenticationValidTime();
         String remark = userArchivesParam.getRemark();
+        //项目经验
+        List<String> experienceList = userArchivesParam.getProjectExperience();
+        String projectExperience = null;
+        if (CollectionUtils.isNotEmpty(experienceList)) {
+            if (experienceList.size() > 6) {
+                throw ExceptionResultEnum.ERROR.exception("项目经验的数量不能超过6个");
+            }
+            for (String experience : experienceList) {
+                if (StringUtils.isNotEmpty(experience) && experience.length() > 20) {
+                    throw ExceptionResultEnum.ERROR.exception("每个项目经验的长度不能超过20个字符");
+                }
+            }
+            projectExperience = GsonUtil.toJson(experienceList);
+        }
 
         TBUserArchives tbUserArchives = new TBUserArchives();
         tbUserArchives.setName(name);
@@ -217,7 +234,7 @@ public class TBUserArchivesServiceImpl extends ServiceImpl<TBUserArchivesMapper,
         tbUserArchives.setEmail(email);
         tbUserArchives.setEnable(true);
         tbUserArchives.setBasePhotoPath(basePhotoPath);
-        tbUserArchives.setProjectExperience(userArchivesParam.getProjectExperience());
+        tbUserArchives.setProjectExperience(projectExperience);
         // 档案表编辑
         Long userId = null;
         if (id == null || id == 0) {

+ 22 - 1
sop-business/src/main/java/com/qmth/sop/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -1,6 +1,7 @@
 package com.qmth.sop.business.templete.service.impl;
 
 import com.alibaba.excel.EasyExcel;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.qmth.sop.business.bean.dto.*;
 import com.qmth.sop.business.bean.params.UserArchivesParam;
@@ -20,7 +21,9 @@ import com.qmth.sop.business.util.excel.BasicExcelListener;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.*;
 import com.qmth.sop.common.util.DateDisposeUtils;
+import com.qmth.sop.common.util.GsonUtil;
 import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
@@ -223,7 +226,18 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                         userArchivesParam.setAuthenticationValidTime(authenticationValidTime);
                     }
                     userArchivesParam.setRemark(userArchivesImportDto.getRemark());
-                    userArchivesParam.setProjectExperience(userArchivesImportDto.getProjectExperience());
+
+                    //项目经验
+                    String projectExperience = userArchivesImportDto.getProjectExperience();
+                    List<String> projectExperienceList;
+                    if (StringUtils.isNotEmpty(projectExperience)) {
+                        String[] experienceArr = projectExperience.split(",");
+                        if (experienceArr.length > 6) {
+                            throw ExceptionResultEnum.ERROR.exception("项目经验条数不能超过6条");
+                        }
+                        projectExperienceList = Arrays.asList(experienceArr);
+                        userArchivesParam.setProjectExperience(projectExperienceList);
+                    }
                     tbUserArchivesService.editUserArchives(userArchivesParam, requestUser);
                 }
             }
@@ -587,6 +601,13 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             List<UserArchivesImportDto> archivesImportDtoList = tbUserArchivesService.findExportData(city, supplierId,
                     archivesName, roleType, authenticationStatus, archivesTimeStart, archivesTimeEnd, remainValidDay,
                     unUploadPic);
+            //项目经验
+            for (UserArchivesImportDto dto : archivesImportDtoList) {
+                if(StringUtils.isNotEmpty(dto.getProjectExperience())) {
+                    List<String> experienceList = JSONObject.parseArray(dto.getProjectExperience(), String.class);
+                    dto.setProjectExperience(String.join(",", experienceList));
+                }
+            }
             //数据读取逻辑end
             EasyExcel.write(fileTemp, UserArchivesImportDto.class).sheet("人员档案导出").doWrite(archivesImportDtoList);