Эх сурвалжийг харах

Merge branch 'dev' of ssh://10.10.100.21/source/smartschool-platform into dev

FANGLH 6 жил өмнө
parent
commit
2a64d9f46d

+ 10 - 10
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/CurriculumServiceImpl.java

@@ -112,21 +112,18 @@ public class CurriculumServiceImpl implements CurriculumService {
     private void convertToId(CurriculumDetailDTO curriculumDetailDTO, SubjectDO subjectDO) {
         if (curriculumDetailDTO.getMon().equals(subjectDO.getSubjectName())){
             curriculumDetailDTO.setMon(subjectDO.getSubjectId().toString());
-        }
-        if (curriculumDetailDTO.getTues().equals(subjectDO.getSubjectName())){
+        }else if (curriculumDetailDTO.getTues().equals(subjectDO.getSubjectName())){
             curriculumDetailDTO.setTues(subjectDO.getSubjectId().toString());
-        }
-        if (curriculumDetailDTO.getThur().equals(subjectDO.getSubjectName())){
+        }else if (curriculumDetailDTO.getThur().equals(subjectDO.getSubjectName())){
             curriculumDetailDTO.setThur(subjectDO.getSubjectId().toString());
-        }
-        if (curriculumDetailDTO.getWed().equals(subjectDO.getSubjectName())){
+        }else if (curriculumDetailDTO.getWed().equals(subjectDO.getSubjectName())){
             curriculumDetailDTO.setWed(subjectDO.getSubjectId().toString());
-        }
-        if (curriculumDetailDTO.getFri().equals(subjectDO.getSubjectName())){
+        }else if (curriculumDetailDTO.getFri().equals(subjectDO.getSubjectName())){
             curriculumDetailDTO.setFri(subjectDO.getSubjectId().toString());
-        }
-        if (curriculumDetailDTO.getSat().equals(subjectDO.getSubjectName())){
+        }else if (curriculumDetailDTO.getSat().equals(subjectDO.getSubjectName())){
             curriculumDetailDTO.setSat(subjectDO.getSubjectId().toString());
+        }else {
+            throw new BizException(BizExceptionCode.NOT_EXISTS_SUBJECT.getCode(), String.format(BizExceptionCode.NOT_EXISTS_SUBJECT.getMessage(), subjectDO.getSubjectName()));
         }
     }
 
@@ -207,6 +204,7 @@ public class CurriculumServiceImpl implements CurriculumService {
     }
 
     @Override
+    @Transactional
     public void saveToFormal(Integer id, boolean update){
         if (null == id || "0".equals(id)) {
             return;
@@ -248,12 +246,14 @@ public class CurriculumServiceImpl implements CurriculumService {
                         //1. 替换课程名称为ID
                         List<SubjectDO> subjectDOList = curriculumMapper.selectSubject(schoolId);
                         Iterator<CurriculumDetailDTO> detailIterator = curriculumDetailDTOList.iterator();
+                        int detno = 1;
                         while (detailIterator.hasNext()){
                             CurriculumDetailDTO curriculumDetailDTO = detailIterator.next();
                             curriculumDetailDTO.setmId(mainId);
                             curriculumDetailDTO.setStatus(1);
                             curriculumDetailDTO.setSchoolId(schoolId);
                             curriculumDetailDTO.setClazzId(clazzId);
+                            curriculumDetailDTO.setLessons(detno++);
                             subjectDOList.forEach(subjectDO -> { convertToId(curriculumDetailDTO, subjectDO); });
                         }
                         //2. 插入

+ 10 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/StudentServiceImpl.java

@@ -212,6 +212,16 @@ public class StudentServiceImpl implements StudentService{
                                 parent.setParents_name(detail.getParents_name());
                                 parent.setPa_phone(detail.getPa_phone());
                                 parent.setParents_status(1);
+                                //自动创建家长账户
+                                if (!StringUtils.isEmpty(detail.getPa_phone())) {
+                                    AccountRegDTO accountRegDTO = new AccountRegDTO();
+                                    accountRegDTO.setUser_phone(detail.getPa_phone());
+                                    accountRegDTO.setUser_pass("111111");
+                                    accountRegDTO.setRoleId(sysStudentMapper.selectRoleId());
+                                    Long userId = accountApi.register(accountRegDTO).getData();
+                                    parent.setUser_id(userId);
+                                }
+
                                 sysStudentMapper.insertparent(parent);
                             }
                             //插入学生与父母的关系

+ 9 - 7
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/basic/service/impl/TeacherServiceImpl.java

@@ -82,15 +82,13 @@ public class TeacherServiceImpl implements TeacherService{
             if(sysTeacherMapper.count(formdata.getTeacher_number(), formdata.getSchool_id()) > 0){
                 throw new BizException(BizExceptionCode.REPEAT_TEACHER_NUMBER);
             }
-            sysTeacherMapper.insertSelective(formdata);
             //新增账户,并更新教师表UserId字段
             if (!StringUtils.isEmpty(formdata.getTeacher_phone())) {
                 Long userId = createAccount(formdata);
-                SysTeacher sysTeacher = new SysTeacher();
-                sysTeacher.setTeacher_id(formdata.getTeacher_id());
-                sysTeacher.setUser_id(userId);
-                sysTeacherMapper.updateByPrimaryKeySelective(sysTeacher);
+                formdata.setUser_id(userId);
             }
+            sysTeacherMapper.insertSelective(formdata);
+
         } else {
             //更新教师
             if(sysTeacherMapper.count(formdata.getTeacher_number(), formdata.getSchool_id()) > 0 &&
@@ -137,13 +135,17 @@ public class TeacherServiceImpl implements TeacherService{
                             json.put("teacher_sex", 1);
                         }else if ("女".equals(json.get("teacher_sex"))) {
                             json.put("teacher_sex", 2);
-                        };
+                        }else if(!"男".equals(json.get("teacher_sex")) && !"女".equals(json.get("teacher_sex"))){
+                            throw new BizException(BizExceptionCode.ILLEGAL_Gender);
+                        }
 
                         if ("已婚".equals(json.get("teacher_marriage"))) {
                             json.put("teacher_marriage", 0);
                         }else if ("否".equals(json.get("teacher_marriage"))) {
                             json.put("teacher_marriage", 1);
-                        };
+                        }else if (!"已婚".equals(json.get("teacher_marriage")) && !"否".equals(json.get("teacher_marriage"))) {
+                            throw new BizException(BizExceptionCode.ILLEGAL_MARRIAGE);
+                        }
                     }
                     teacher = JSONObject.parseObject(json.toJSONString(), SysTeacher.class);
                     teacher.setSchool_id(schoolId);

+ 5 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/business/service/impl/ScoreServiceImpl.java

@@ -167,9 +167,14 @@ public class ScoreServiceImpl implements ScoreService{
                             if (students.size() == 0) {
                                 throw new BizException(500006, "班级: " + class_ + " 不存在学生: " + detail.getSd_stu());
                             }
+                            Long count = scoreMapper.selectCountBySubjectAndCode(scoreImport.getSi_id(), students.get(0).getStu_number(), detail.getSd_subject());
+                            if (count > 0) {
+                                throw new BizException(500006, "学生:" + students.get(0).getStu_name() + ",科目:" + detail.getSd_subject() + " -> 重复" );
+                            }
                             detail.setSchool_id(schoolId);
                             detail.setSd_siid(scoreImport.getSi_id());
                             detail.setSd_stuid(students.get(0).getStu_id());
+                            detail.setSd_stuNumber(students.get(0).getStu_number());
                             //插入从表
                             scoreMapper.insertScoreImportDetail(detail);
                         }

+ 2 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/exception/BizExceptionCode.java

@@ -31,6 +31,8 @@ public enum BizExceptionCode implements BaseExceptionCode {
     TASK_RELEASE_STATUS(600005, "作业已发布无法更改"),
     COURSE_RELEASE_STATUS(600006, "课程表已生效,无法删除"),
     NOTICE_RELEASE_STATUS(600007, "学校发布已生效,无法删除"),
+    ILLEGAL_Gender(600007, "性别非法"),
+    ILLEGAL_MARRIAGE(600008, "婚姻状态非法"),
     NOT_EXISTS_SUBJECT(60005, "科目<u>%s</u>不存在");
 
 

+ 2 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/mapper/ScoreMapper.java

@@ -39,4 +39,6 @@ public interface ScoreMapper {
     List<ScoreImportList> selectDetailByCondition(@Param("con") String con, @Param("school_id") Long schoolId);
 
     Integer checkPublish(Long id);
+
+    Long selectCountBySubjectAndCode(@Param("si_id") Long si_id, @Param("stu_number") String stu_number, @Param("subject")String subject);
 }

+ 2 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/po/ScoreImportList.java

@@ -53,4 +53,6 @@ public class ScoreImportList implements Serializable{
     private String sd_subject;
 
     private String sd_remark;
+
+    private String sd_stunumber;
 }

+ 2 - 0
applications/school/school-server/src/main/java/com/usoftchina/smartschool/school/po/ScoreImportdetail.java

@@ -21,4 +21,6 @@ public class ScoreImportdetail implements Serializable{
     private String sd_remark;
 
     private Long school_id;
+
+    private String sd_stuNumber;
 }

+ 2 - 1
applications/school/school-server/src/main/resources/mapper/CurriculumMapper.xml

@@ -51,6 +51,7 @@
         and mcur.school_id = #{schoolId}
       </if>
     </where>
+    ORDER BY id DESC
   </select>
 
   <select id="selectMain" resultMap="CurriculumDTOMap">
@@ -259,7 +260,7 @@
   </update>
 
   <select id="courseStatus" parameterType="long" resultType="int">
-    select count(1) from clazz_curriculum where mcur_status=1 and cur_id=#{id}
+    select count(1) from clazz_main_curriculum where mcur_status=1 and id=#{id}
   </select>
 
 </mapper>

+ 13 - 0
applications/school/school-server/src/main/resources/mapper/ScoreMapper.xml

@@ -295,6 +295,9 @@
       <if test="school_id != null" >
         school_id,
       </if>
+      <if test="sd_stuNumber != null" >
+        sd_stunumber,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides="," >
       <if test="sd_siid != null" >
@@ -318,6 +321,9 @@
       <if test="school_id != null" >
         #{school_id,jdbcType=BIGINT},
       </if>
+      <if test="sd_stuNumber != null" >
+        #{sd_stuNumber,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
 
@@ -334,6 +340,7 @@
     <result column="sd_subject" property="sd_subject" jdbcType="VARCHAR" />
     <result column="sd_remark" property="sd_remark" jdbcType="VARCHAR" />
     <result column="school_id" property="school_id" jdbcType="BIGINT" />
+    <result column="sd_stunumber" property="sd_stuNumber" jdbcType="VARCHAR" />
   </resultMap>
 
   <insert id="batchInsert" parameterType="java.util.List">
@@ -383,6 +390,7 @@
     <result column="sd_score" property="sd_score" jdbcType="INTEGER" />
     <result column="sd_subject" property="sd_subject" jdbcType="VARCHAR" />
     <result column="sd_remark" property="sd_remark" jdbcType="VARCHAR" />
+    <result column="sd_stunumber" property="sd_stunumber" jdbcType="VARCHAR" />
   </resultMap>
 
   <select id="selectMainByConditon" resultMap="listMap">
@@ -413,4 +421,9 @@
     select count(1) from score_import where si_publish=1 and si_id=#{id}
   </select>
 
+  <select id="selectCountBySubjectAndCode" resultType="java.lang.Long">
+    SELECT count(*) FROM score_importdetail WHERE sd_siid = #{si_id, jdbcType=INTEGER} and sd_stunumber = #{stu_number, jdbcType=VARCHAR}
+    and sd_subject = #{subject, jdbcType=VARCHAR}
+  </select>
+
 </mapper>