Преглед изворни кода

Merge branch 'dev_v2.2.0' of http://git.qmth.com.cn/wangliang/distributed-print-service into dev_v2.2.0

xiaof пре 3 година
родитељ
комит
a5a6ebf5e9

+ 11 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/result/WorkResult.java

@@ -107,6 +107,9 @@ public class WorkResult implements Serializable {
     @ApiModelProperty(value = "教研室")
     String teachingRoomName;
 
+    @ApiModelProperty(value = "命题教师")
+    String propositionName;
+
     @ApiModelProperty(value = "审核状态")
     String auditStatus;
 
@@ -337,4 +340,12 @@ public class WorkResult implements Serializable {
     public void setAuditStatus(String auditStatus) {
         this.auditStatus = auditStatus;
     }
+
+    public String getPropositionName() {
+        return propositionName;
+    }
+
+    public void setPropositionName(String propositionName) {
+        this.propositionName = propositionName;
+    }
 }

+ 21 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicStudentServiceImpl.java

@@ -201,17 +201,31 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
             Long id = basicStudentParams.getId();
 
             // 检验学号在学校的唯一性
-            BasicStudent check = this.getOne(new QueryWrapper<BasicStudent>().lambda()
+            BasicStudent checkCode = this.getOne(new QueryWrapper<BasicStudent>().lambda()
                     .eq(BasicStudent::getSchoolId, schoolId)
                     .eq(BasicStudent::getStudentCode, studentCode)
                     .eq(BasicStudent::getEnable, true));
-            if (Objects.nonNull(check)) {
-                if (!check.getId().equals(id)) {
+            if (Objects.nonNull(checkCode)) {
+                if (!checkCode.getId().equals(id)) {
                     throw ExceptionResultEnum.ERROR.exception("学生编号【" + studentCode + "】重复");
                 }
             }
 
+            // 检验有值的电话在学校的唯一性
+            if (SystemConstant.strNotNull(phoneNumber)){
+                BasicStudent checkPhone = this.getOne(new QueryWrapper<BasicStudent>().lambda()
+                        .eq(BasicStudent::getSchoolId, schoolId)
+                        .eq(BasicStudent::getPhoneNumber, phoneNumber)
+                        .eq(BasicStudent::getEnable, true));
+                if (Objects.nonNull(checkPhone)) {
+                    if (!checkPhone.getId().equals(id)) {
+                        throw ExceptionResultEnum.ERROR.exception("学生电话【" + phoneNumber + "】重复");
+                    }
+                }
+            }
+
             // 组装基础参数
+            Long orgId;
             BasicStudent basicStudent = new BasicStudent();
             basicStudent.setStudentCode(studentCode);
             basicStudent.setStudentName(studentName);
@@ -219,15 +233,15 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
             basicStudent.setCampusId(campusId);
             basicStudent.setClazz(clazz);
             basicStudent.setSchoolId(schoolId);
-            basicStudent.setOrgId(sysUser.getOrgId());
 
             // 保存
             if (!SystemConstant.longNotNull(id)) {
                 // id为空 -> 新增
                 // 获取分布式id
+                orgId = sysUser.getOrgId();
                 id = SystemConstant.getDbUuid();
                 basicStudent.setId(id);
-                basicStudent.setOrgId(sysUser.getOrgId());
+
                 basicStudent.setCreateId(sysUser.getId());
             } else {
                 // id不为空 -> 更新
@@ -235,9 +249,11 @@ public class BasicStudentServiceImpl extends ServiceImpl<BasicStudentMapper, Bas
                 if (Objects.isNull(old) || old.getEnable().equals(false)) {
                     throw ExceptionResultEnum.ERROR.exception("学生主键不存在或被禁用");
                 }
+                orgId = old.getOrgId();
                 basicStudent.setId(id);
                 basicStudent.setUpdateId(sysUser.getId());
             }
+            basicStudent.setOrgId(orgId);
             editEntityList.add(basicStudent);
         }
         return editEntityList;

+ 23 - 3
distributed-print-business/src/main/java/com/qmth/distributed/print/business/templete/service/impl/TaskLogicServiceImpl.java

@@ -1103,7 +1103,8 @@ public class TaskLogicServiceImpl implements TaskLogicService {
         System.out.println(inputStream);
         List<LinkedMultiValueMap<Integer, Object>> finalList = ExcelUtil.excelReader(inputStream, Lists.newArrayList(BasicStudentImportDto.class,DescribeImportDto.class), (finalExcelList, finalColumnNameList, finalExcelErrorList) -> {
             List<ExcelError> excelErrorTemp = new ArrayList<>();
-            Map<String, String> checkMap = new HashMap<>();
+            Map<String, String> checkCodeMap = new HashMap<>();
+            Map<String, String> checkPhoneMap = new HashMap<>();
             for (int i = 0; i < finalExcelList.size(); i++) {
                 LinkedMultiValueMap<Integer, Object> excelMap = finalExcelList.get(i);
                 List<Object> basicStudentImportDtoList = excelMap.get(i);
@@ -1120,12 +1121,22 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                     String clazz = basicStudentImportDto.getClazz();
 
                     // 检验excel中
-                    if (checkMap.containsKey(studentCode)) {
+                    // 检验学号
+                    if (checkCodeMap.containsKey(studentCode)) {
                         throw ExceptionResultEnum.ERROR.exception("导入的excel中包含在重复的【学生编号】:" + studentCode);
                     } else {
-                        checkMap.put(studentCode, studentName);
+                        checkCodeMap.put(studentCode, studentName);
+                    }
+                    // 如果电话有值则检验电话excel中唯一性
+                    if (SystemConstant.strNotNull(phoneNumber)){
+                        if (checkPhoneMap.containsKey(phoneNumber)) {
+                            throw ExceptionResultEnum.ERROR.exception("导入的excel中包含在重复的【电话号码】:" + phoneNumber);
+                        } else {
+                            checkPhoneMap.put(phoneNumber, studentCode);
+                        }
                     }
 
+
                     excelErrorTemp.addAll(ExcelUtil.checkExcelField(basicStudentImportDto, y, i));
                     if (Objects.isNull(studentCode) || studentCode.length() > 30 || !studentCode.matches(SystemConstant.REGULAR_EXPRESSION_OF_CODE)) {
                         excelErrorTemp.add(new ExcelError(y + 1, "excel第" + (i + 1) + "个sheet第" + (y + 1) + "行[学号]不符合输入规范"));
@@ -1200,6 +1211,7 @@ public class TaskLogicServiceImpl implements TaskLogicService {
             List<ExcelError> excelErrorTemp = new ArrayList<>();
             Map<String, String> checkName = new HashMap<>();
             Map<String, String> checkCode = new HashMap<>();
+            Map<String, String> checkPhoneMap = new HashMap<>();
             for (int i = 0; i < finalExcelList.size(); i++) {
                 LinkedMultiValueMap<Integer, Object> excelMap = finalExcelList.get(i);
                 List<Object> sysUserImportDtoList = excelMap.get(i);
@@ -1226,6 +1238,14 @@ public class TaskLogicServiceImpl implements TaskLogicService {
                     } else {
                         checkCode.put(code, name);
                     }
+                    // 如果电话有值则检验电话excel中唯一性
+                    if (SystemConstant.strNotNull(phoneNumber)){
+                        if (checkPhoneMap.containsKey(phoneNumber)) {
+                            throw ExceptionResultEnum.ERROR.exception("导入的excel中包含在重复的【电话号码】:" + phoneNumber);
+                        } else {
+                            checkPhoneMap.put(phoneNumber, code);
+                        }
+                    }
 
                     excelErrorTemp.addAll(ExcelUtil.checkExcelField(sysUserImportDto, y, i));
                     if (Objects.isNull(code) || code.length() > 30 || !code.matches(SystemConstant.REGULAR_EXPRESSION_OF_CODE)) {

+ 7 - 0
distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml

@@ -783,6 +783,7 @@
                 tffa.setup,
                 et.teacher_name teacherName,
                 et.lecturer_name lecturerName,
+                d.real_name as propositionName,
                 so.name teachingRoomName
             from
                 ACT_RU_TASK art
@@ -794,6 +795,8 @@
                 tffa.flow_id = et.flow_id
             left join sys_user c ON
                 art.ASSIGNEE_ = c.id
+            LEFT JOIN sys_user d ON
+                et.user_id= d.id
             LEFT JOIN
                 sys_org so ON et.teaching_room_id = so.id
             where
@@ -829,6 +832,7 @@
                 tffa.setup,
                 et.teacher_name teacherName,
                 et.lecturer_name lecturerName,
+                d.real_name as propositionName,
                 so.name teachingRoomName
             from
                 ACT_RU_TASK art
@@ -842,6 +846,8 @@
                 tffa.flow_id = et.flow_id
             left join sys_user c ON
                 ari.USER_ID_ = c.id
+            LEFT JOIN sys_user d ON
+                    et.user_id= d.id
             LEFT JOIN
                 sys_org so ON et.teaching_room_id = so.id
             where
@@ -879,6 +885,7 @@
                 et.setup,
                 et.teacher_name teacherName,
                 et.lecturer_name lecturerName,
+                c.real_name as propositionName,
                 so.name teachingRoomName
             from
                 (

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/BasicCourseServiceImpl.java

@@ -235,12 +235,12 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
             }
 
             //基础数据组装
+            Long orgId;
             BasicCourse basicCourse = new BasicCourse();
             basicCourse.setName(courseName);
             basicCourse.setCode(courseCode);
             basicCourse.setTeachingRoomId(teachingRoomId);
             basicCourse.setSchoolId(schoolId);
-            Long orgId;
 
             if (!SystemConstant.longNotNull(id)){
                 // 没有id -》新增
@@ -249,7 +249,6 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
                 basicCourse.setCreateId(sysUser.getId());
                 basicCourse.setEnable(true);
                 orgId = sysUser.getOrgId();
-                basicCourse.setOrgId(orgId);
             }else {
                 // 有id -》 更新
                 BasicCourse old = this.getById(id);
@@ -260,6 +259,7 @@ public class BasicCourseServiceImpl extends ServiceImpl<BasicCourseMapper, Basic
                 basicCourse.setId(id);
                 basicCourse.setUpdateId(sysUser.getId());
             }
+            basicCourse.setOrgId(orgId);
 
             // 根据课程id和授课班级集合更新'basic_user_course'表
             basicUserCourseService.updateByCourseIdAndClazzList(id,clazzList,sysUser,orgId);

+ 31 - 3
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysUserServiceImpl.java

@@ -296,6 +296,24 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                 schoolId = userSaveParams.getSchoolId();
             }
             SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
+
+            String code = userSaveParams.getCode();
+            String mobileNumber = userSaveParams.getMobileNumber();
+            // 工号检验
+            SysUser checkCode = this.getOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getSchoolId, schoolId).eq(SysUser::getEnable, true).eq(SysUser::getCode, code));
+            if (Objects.nonNull(checkCode)) {
+                if (!checkCode.getId().equals(userSaveParams.getId())) {
+                    throw ExceptionResultEnum.ERROR.exception("用户工号【" + code + "】重复");
+                }
+            }
+            // 手机号检验
+            SysUser checkMobileNumber = this.getOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getSchoolId, schoolId).eq(SysUser::getEnable, true).eq(SysUser::getMobileNumber, mobileNumber));
+            if (Objects.nonNull(checkMobileNumber)) {
+                if (!checkMobileNumber.getId().equals(userSaveParams.getId())) {
+                    throw ExceptionResultEnum.ERROR.exception("用户手机号【" + mobileNumber + "】重复");
+                }
+            }
+
             Gson gson = new Gson();
             userSaveParams.setSchoolId(schoolId);
             SysUser sysUser = gson.fromJson(gson.toJson(userSaveParams), SysUser.class);
@@ -624,12 +642,22 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         List<SysUserRole> sysUserRoleList = new ArrayList<>();
         for (UserSaveParams userSaveParams : userSaveParamsList) {
             String code = userSaveParams.getCode();
-            SysUser check = this.getOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getSchoolId, schoolId).eq(SysUser::getEnable, true).eq(SysUser::getCode, code));
-            if (Objects.nonNull(check)) {
-                if (!check.getId().equals(userSaveParams.getId())) {
+            String mobileNumber = userSaveParams.getMobileNumber();
+            // 工号检验
+            SysUser checkCode = this.getOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getSchoolId, schoolId).eq(SysUser::getEnable, true).eq(SysUser::getCode, code));
+            if (Objects.nonNull(checkCode)) {
+                if (!checkCode.getId().equals(userSaveParams.getId())) {
                     throw ExceptionResultEnum.ERROR.exception("用户工号【" + code + "】重复");
                 }
             }
+            // 手机号检验
+            SysUser checkMobileNumber = this.getOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getSchoolId, schoolId).eq(SysUser::getEnable, true).eq(SysUser::getMobileNumber, mobileNumber));
+            if (Objects.nonNull(checkMobileNumber)) {
+                if (!checkMobileNumber.getId().equals(userSaveParams.getId())) {
+                    throw ExceptionResultEnum.ERROR.exception("用户手机号【" + mobileNumber + "】重复");
+                }
+            }
+
             Gson gson = new Gson();
             userSaveParams.setSchoolId(schoolId);
             SysUser userCell = gson.fromJson(gson.toJson(userSaveParams), SysUser.class);