添加同机构讲师信息重复的问题

This commit is contained in:
wans 2021-05-19 10:59:17 +08:00
parent 8bcaf4a982
commit 110729d9ab
3 changed files with 64 additions and 11 deletions

View File

@ -62,13 +62,6 @@ public interface ITeacherDao {
*/ */
Map<String, Object> count(Map<String, Object> params); Map<String, Object> count(Map<String, Object> params);
/**
* 根据身份证查询讲师授课列表
* @param idCardNumber
* @return
*/
List<Map<String, Object>> listTeacherLessonsTime(String idCardNumber);
/** /**
* 保存讲师授课记录 * 保存讲师授课记录
* @param params * @param params
@ -81,4 +74,11 @@ public interface ITeacherDao {
* @return * @return
*/ */
List<TeacherLessonsTimeDTO> listTeacherLessonsTimeDTO(Map<String, Object> params); List<TeacherLessonsTimeDTO> listTeacherLessonsTimeDTO(Map<String, Object> params);
/**
* 查询将是信息
* @param params
* @return
*/
TeacherDTO get(Map<String, Object> params);
} }

View File

@ -18,6 +18,7 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import ink.wgink.common.base.DefaultBaseService; import ink.wgink.common.base.DefaultBaseService;
import ink.wgink.exceptions.RemoveException; import ink.wgink.exceptions.RemoveException;
import ink.wgink.exceptions.SaveException;
import ink.wgink.exceptions.SearchException; import ink.wgink.exceptions.SearchException;
import ink.wgink.module.dictionary.pojo.dtos.DataDTO; import ink.wgink.module.dictionary.pojo.dtos.DataDTO;
import ink.wgink.module.dictionary.service.IDataService; import ink.wgink.module.dictionary.service.IDataService;
@ -68,11 +69,15 @@ public class TeacherServiceImpl extends DefaultBaseService implements ITeacherSe
List<TeacherDTO> dtos = teacherDao.list(page.getParams()); List<TeacherDTO> dtos = teacherDao.list(page.getParams());
for (TeacherDTO item : dtos){ for (TeacherDTO item : dtos){
//处理性别 //处理性别
DataDTO gender = dataService.get(item.getGender()); if(item.getGender() != null && !"".equals(item.getGender())){
item.setGenderName(gender.getDataName()); DataDTO gender = dataService.get(item.getGender());
item.setGenderName(gender.getDataName());
}
//处理学历 //处理学历
DataDTO education = dataService.get(item.getEducation()); if(item.getEducation() != null && !"".equals(item.getEducation())){
item.setEducationName(education.getDataName()); DataDTO education = dataService.get(item.getEducation());
item.setEducationName(education.getDataName());
}
} }
PageInfo<TeacherDTO> pageInfo = new PageInfo<>(dtos); PageInfo<TeacherDTO> pageInfo = new PageInfo<>(dtos);
return new SuccessResultList<>(dtos, pageInfo.getPageNum(), pageInfo.getTotal()); return new SuccessResultList<>(dtos, pageInfo.getPageNum(), pageInfo.getTotal());
@ -86,6 +91,22 @@ public class TeacherServiceImpl extends DefaultBaseService implements ITeacherSe
@Override @Override
public SuccessResultData save(String token, TeacherVO teacherVO) throws Exception { public SuccessResultData save(String token, TeacherVO teacherVO) throws Exception {
// 同机构下讲师不可重复
String orgId = teacherVO.getOrgId();
String idCardNumber = teacherVO.getIdCardNumber();
if(orgId == null || "".equals(orgId)){
throw new SaveException("机构ID缺失无法关联到所属机构");
}
if(idCardNumber == null || "".equals(idCardNumber)){
throw new SaveException("讲师证件号码不允许为空值");
}
Map<String, Object> queryMap = getHashMap(8);
queryMap.put("orgId",orgId);
queryMap.put("idCardNumber",idCardNumber);
TeacherDTO teacherDTO = teacherDao.get(queryMap);
if(teacherDTO != null && !"".equals(teacherDTO.getTeacherId())){
throw new SaveException("您不能添加证件号码相同的讲师");
}
String teacherId = UUIDUtil.getUUID(); String teacherId = UUIDUtil.getUUID();
Map<String, Object> params = HashMapUtil.beanToMap(teacherVO); Map<String, Object> params = HashMapUtil.beanToMap(teacherVO);
params.put("teacherId", teacherId); params.put("teacherId", teacherId);

View File

@ -129,6 +129,38 @@
</if> </if>
</select> </select>
<select id="get" parameterType="map" resultMap="teacherDTO">
SELECT
t1.teacher_id,
t1.org_id,
t1.certificate_no,
t1.teacher_name,
t1.telephone,
t1.teacher_catalog,
t1.id_card_number,
t1.political_status,
t1.gender,
t1.education,
t1.nation,
t1.graduate_school,
t1.major,
t1.place_of_work
FROM
e_teacher t1
WHERE
t1.is_delete = 0
<if test="teacherId != null and teacherId != ''">
AND t1.teacher_id = #{teacherId}
</if>
<if test="orgId != null and orgId != ''">
AND t1.org_id = #{orgId}
</if>
<if test="idCardNumber != null and idCardNumber != ''">
AND t1.id_card_number = #{idCardNumber}
</if>
limit 1
</select>
<update id="update" parameterType="map"> <update id="update" parameterType="map">
UPDATE UPDATE
e_teacher e_teacher