Crazy hai 8 meses
pai
achega
ce4e861bb9

+ 1 - 1
yudao-module-md/yudao-module-md-biz/src/main/java/Acs/EventSearch.java

@@ -68,7 +68,7 @@ public final class EventSearch {
         //开始时间
         struAcsEventCond.struStartTime.dwYear =  LocalDate.now().getYear();//当前年
         struAcsEventCond.struStartTime.dwMonth =  LocalDate.now().getMonthValue();//当前月
-        struAcsEventCond.struStartTime.dwDay = LocalDate.now().getDayOfMonth()-1 ;//当前月的日
+        struAcsEventCond.struStartTime.dwDay = LocalDate.now().getDayOfMonth()-1;//当前月的日
         struAcsEventCond.struStartTime.dwHour = 0;
         struAcsEventCond.struStartTime.dwMinute = 0;
         struAcsEventCond.struStartTime.dwSecond = 0;

+ 1 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/studentAttendance/StudentAttendanceController.java

@@ -63,6 +63,7 @@ public class StudentAttendanceController {
     public void attendanceNormalFirst() {
         checkAttendanceFirst();
     }
+
 //    @Scheduled(cron = "0 0/1 * * * ?") // 每10分钟执行一次
 //    public void attendanceNormalFirst() {
 //        checkAttendanceFirst();

+ 5 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/StudentExportExcelVO.java

@@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
 import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
 import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -32,9 +33,12 @@ public class StudentExportExcelVO {
     @ExcelProperty("学号")
     private String userNumber;
 
-    @ExcelProperty("专业")
+    @ExcelProperty("专业名称")
     private String major;
 
+    @ExcelProperty("专硕名称")
+    private String masterType;
+
     @ExcelProperty(value = "用户性别", converter = DictConvert.class)
     @DictFormat(DictTypeConstants.USER_SEX)
     private Integer sex;

+ 4 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/StudentImportExcelVO.java

@@ -36,9 +36,12 @@ public class StudentImportExcelVO {
     @ExcelProperty("学号")
     private String userNumber;
 
-    @ExcelProperty("专业")
+    @ExcelProperty("专业名称")
     private String major;
 
+    @ExcelProperty("专硕名称")
+    private String masterType;
+
     @ExcelProperty(value = "用户性别", converter = DictConvert.class)
     @DictFormat(DictTypeConstants.USER_SEX)
     private Integer sex;

+ 5 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserRespVO.java

@@ -110,6 +110,11 @@ public class UserRespVO{
     @Schema(description = "照片更新时间")
     private LocalDateTime photoUpdateTime;
 
+    @Schema(description = "专业名称")
+    private String major;
+
+    @Schema(description = "专硕名称")
+    private String masterType;
     //
 
     @Schema(description = "用户照片是否存在")

+ 5 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/graduateStudentImportExcelVO.java

@@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.system.enums.DictTypeConstants;
 import com.alibaba.excel.annotation.ExcelIgnore;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -41,6 +42,9 @@ public class graduateStudentImportExcelVO {
     @ExcelProperty("专业名称")
     private String major;
 
+    @ExcelProperty("专硕名称")
+    private String masterType;
+
     @ExcelProperty("学号")
     private String userNumber;
 
@@ -56,7 +60,7 @@ public class graduateStudentImportExcelVO {
     @ExcelProperty("工作地点")
     private String workPlace;
 
-    @ExcelProperty("导师名称")
+    @ExcelProperty("导师名称(导师添加时不用填)")
     private String supervisor;
 
 //    @ExcelProperty(value = "账号状态", converter = DictConvert.class)

+ 4 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/user/AdminUserMapper.java

@@ -96,7 +96,8 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
     default PageResult<AdminUserDO> selectPage1(UserPageReqVO reqVO, Collection<Long> deptIds,Set<Long>roleIds,Long loginId) {
 
         LambdaQueryWrapperX<AdminUserDO> queryWrapperX =new LambdaQueryWrapperX<AdminUserDO>();
-        queryWrapperX.likeIfPresent(AdminUserDO::getUsername, reqVO.getUsername())
+        queryWrapperX
+                .likeIfPresent(AdminUserDO::getUsername, reqVO.getUsername())
                 .likeIfPresent(AdminUserDO::getEmail,reqVO.getEmail())
                 .likeIfPresent(AdminUserDO::getMobile, reqVO.getMobile())
                 .likeIfPresent(AdminUserDO::getUserNumber,reqVO.getUserNumber())//学号查询
@@ -109,6 +110,8 @@ public interface AdminUserMapper extends BaseMapperX<AdminUserDO> {
                 .inIfPresent(AdminUserDO::getDeptId, deptIds)
                 .orderByDesc(AdminUserDO::getId);
 
+//        if ()
+
         if (roleIds.contains(113L)){//如果是教师,只找导师是登录的
             queryWrapperX.eqIfPresent(AdminUserDO::getSupervisorId,loginId)
                           .eqIfPresent(AdminUserDO::getUserType,1);

+ 2 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/userAchievement/UserAchievementMapper.java

@@ -37,6 +37,7 @@ public interface UserAchievementMapper extends BaseMapperX<UserAchievementDO> {
                 .likeIfExists(UserAchievementDO::getUserName, reqVO.getUserName())
                 .eqIfExists(UserAchievementDO::getDetail, reqVO.getDetail())
                 .eqIfExists(UserAchievementDO::getSort,reqVO.getSort())
+                .eqIfExists(UserAchievementDO::getIsGraduate,reqVO.getIsGraduate())
 
                 .eqIfExists(UserAchievementDO::getDeptId,reqVO.getDeptId())
                 //用户类型查
@@ -70,6 +71,7 @@ public interface UserAchievementMapper extends BaseMapperX<UserAchievementDO> {
                 .eqIfExists(UserAchievementDO::getDetail, reqVO.getDetail())
                 .eqIfExists(UserAchievementDO::getSort,reqVO.getSort())
                 .eqIfExists(UserAchievementDO::getDeptId,reqVO.getDeptId())
+                .eqIfExists(UserAchievementDO::getIsGraduate,reqVO.getIsGraduate())
                 //用户类型查
                 .orderByDesc(UserAchievementDO::getCreateTime);
 

+ 52 - 30
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java

@@ -384,6 +384,7 @@ public class AdminUserServiceImpl implements AdminUserService {
             result.setList(result.getList().stream()
                     .filter(user -> reqVO.getIsGraduate().equals(user.getIsGraduate()))
                     .collect(Collectors.toList()));
+            // 重新计算分页信息
         }
         if (reqVO.getPhotoIsExist() != null) {//搜索人脸导入
             result.setList(result.getList().stream()
@@ -830,22 +831,20 @@ public class AdminUserServiceImpl implements AdminUserService {
         UserImportRespVO respVO = UserImportRespVO.builder().createUsernames(new ArrayList<>())
                 .updateUsernames(new ArrayList<>()).failureUsernames(new LinkedHashMap<>()).build();
         importUsers.forEach(importUser -> {
-
             Long deptId = null; //工作间名称转id
             AdminUserDO existUser = userMapper.selectByUsername(importUser.getUsername());
-            try {
-                    deptId = TransformDept(importUser.getDeptName());
-                    
-                validateUserForCreateOrUpdate(existUser.getId(), null, importUser.getMobile(), importUser.getEmail(),
-                        deptId , null,null,importUser.getUserNumber());
-            } catch (ServiceException ex) {
-                respVO.getFailureUsernames().put(importUser.getUsername(), ex.getMessage());
-                return;
-            }
             importUser.setUserType("3");//确定是导师
             // 2.2.1 判断如果不存在,在进行插入
 //            AdminUserDO existUser = userMapper.selectByUsername(importUser.getUsername());
             if (existUser == null) {
+                try {
+                    deptId = TransformDept(importUser.getDeptName());
+                    validateUserForCreateOrUpdate(null, null, importUser.getMobile(), importUser.getEmail(),
+                            deptId , null,null,importUser.getUserNumber());
+                } catch (ServiceException ex) {
+                    respVO.getFailureUsernames().put(importUser.getUsername(), ex.getMessage());
+                    return;
+                }
 
                 UserSaveReqVO newUser = BeanUtils.toBean(importUser, UserSaveReqVO.class);
                 if (importUser.getPassword()==null){
@@ -872,6 +871,14 @@ public class AdminUserServiceImpl implements AdminUserService {
                 }
             }
             // TODO 调用上面的创建和更新
+            try {
+                deptId = TransformDept(importUser.getDeptName());
+                validateUserForCreateOrUpdate(existUser.getId(), null, importUser.getMobile(), importUser.getEmail(),
+                        deptId , null,null,importUser.getUserNumber());
+            } catch (ServiceException ex) {
+                respVO.getFailureUsernames().put(importUser.getUsername(), ex.getMessage());
+                return;
+            }
             UserSaveReqVO updateUser = BeanUtils.toBean(importUser, UserSaveReqVO.class);
             updateUser.setId(existUser.getId());
             updateUser.setDeptId(deptId);//更新工作间
@@ -896,21 +903,19 @@ public class AdminUserServiceImpl implements AdminUserService {
                 .updateUsernames(new ArrayList<>()).failureUsernames(new LinkedHashMap<>()).build();
         importUsers.forEach(importUser -> {
             AdminUserDO existUser = userMapper.selectByUsername(importUser.getUsername());
-            try {
-                validateUserForCreateOrUpdate(existUser.getId(), null, importUser.getMobile(), importUser.getEmail(),
-                        null , null,importUser.getSupervisor(),importUser.getUserNumber());
-            } catch (ServiceException ex) {
-                respVO.getFailureUsernames().put(importUser.getUsername(), ex.getMessage());
-                return;
-            }
 
             Long loginId = SecurityFrameworkUtils.getLoginUserId();
             Set<Long> UserRoleIds = permissionService.getUserRoleIdListByUserId(loginId);//获取登录人的权限
-
             importUser.setUserType("2");//确定是毕业生
             // 2.2.1 判断如果不存在,在进行插入
-//            AdminUserDO existUser = userMapper.selectByUsername(importUser.getUsername());
             if (existUser == null) {
+                try {
+                    validateUserForCreateOrUpdate(null, null, importUser.getMobile(), importUser.getEmail(),
+                            null , null,importUser.getSupervisor(),importUser.getUserNumber());
+                } catch (ServiceException ex) {
+                    respVO.getFailureUsernames().put(importUser.getUsername(), ex.getMessage());
+                    return;
+                }
                 UserSaveReqVO newUser = BeanUtils.toBean(importUser, UserSaveReqVO.class);
                 if (importUser.getPassword()==null){
                     newUser.setPassword(encodePassword("123456"));//设置毕业生密码
@@ -926,7 +931,6 @@ public class AdminUserServiceImpl implements AdminUserService {
                 }
 
                 Long userId = createUser(newUser); // 执行插入用户数据
-
                 Set<Long> roleIds = new HashSet<>();
                 //赋予学生角色
                 roleIds.add(112L);//学生权限
@@ -943,6 +947,15 @@ public class AdminUserServiceImpl implements AdminUserService {
                     return;
                 }
             }
+
+            //更新
+            try {
+                validateUserForCreateOrUpdate(existUser.getId(), null, importUser.getMobile(), importUser.getEmail(),
+                        null , null,importUser.getSupervisor(),importUser.getUserNumber());
+            } catch (ServiceException ex) {
+                respVO.getFailureUsernames().put(importUser.getUsername(), ex.getMessage());
+                return;
+            }
             UserSaveReqVO  updateUser = BeanUtils.toBean(importUser, UserSaveReqVO.class);
             updateUser.setId(existUser.getId());
             if (UserRoleIds.contains(113L)){//是导师
@@ -969,18 +982,18 @@ public class AdminUserServiceImpl implements AdminUserService {
             //TODO这里改了
             AdminUserDO existUser = userMapper.selectByUsername(importUser.getUsername());
             Long deptId = null; //工作间名称转id
-            try {
-                deptId = TransformDept(importUser.getDeptName());
 
-                validateUserForCreateOrUpdate(existUser.getId(), null, importUser.getMobile(), importUser.getEmail(),
-                        deptId , null, importUser.getSupervisor(),importUser.getUserNumber());
-            } catch (ServiceException ex) {
-                respVO.getFailureUsernames().put(importUser.getUsername(), ex.getMessage());
-                return;
-            }
             // 2.2.1 判断如果不存在,在进行插入
-
             if (existUser == null) {
+                try {
+                    deptId = TransformDept(importUser.getDeptName());
+                    validateUserForCreateOrUpdate(null, null, importUser.getMobile(), importUser.getEmail(),
+                            deptId , null, importUser.getSupervisor(),importUser.getUserNumber());
+                } catch (ServiceException ex) {
+                    respVO.getFailureUsernames().put(importUser.getUsername(), ex.getMessage());
+                    return;
+                }
+
                 UserSaveReqVO newUser = BeanUtils.toBean(importUser, UserSaveReqVO.class);
                 if (importUser.getPassword()==null){
                     newUser.setPassword(encodePassword("123456"));
@@ -1005,14 +1018,23 @@ public class AdminUserServiceImpl implements AdminUserService {
                 return;
             }
 
-            // 2.2.2 如果存在,判断是否允许更新
+            // 2.2.2 如果存在,允许更新
             if (!isUpdateSupport) {
                 if (importUser.getUsername()!=null) {
                     respVO.getFailureUsernames().put(importUser.getUsername(), USER_USERNAME_EXISTS.getMsg());
                     return;
                 }
             }
+            //允许更新
 
+            try {
+                deptId = TransformDept(importUser.getDeptName());
+                validateUserForCreateOrUpdate(existUser.getId(), null, importUser.getMobile(), importUser.getEmail(),
+                        deptId , null, importUser.getSupervisor(),importUser.getUserNumber());
+            } catch (ServiceException ex) {
+                respVO.getFailureUsernames().put(importUser.getUsername(), ex.getMessage());
+                return;
+            }
             UserSaveReqVO updateUser = BeanUtils.toBean(importUser, UserSaveReqVO.class);
             updateUser.setId(existUser.getId());
             if (importUser.getSupervisor()!=null) {