Commit 1e2b149d by baochunxin

#G:教师信息、工作量、教师考核导入添加验证

parent 599c6a10
......@@ -430,10 +430,11 @@ public class ExcelUtil<T>
//注意实体类字段类型,除String类型外,其他类型会被解析为null值,所以要判断对象是否为null
boolean required = attr.required();
if(required)
if(required){
if(StringUtils.isNull(val) || StringUtils.isEmpty(val.toString())) {
throw new Exception("必填项未填写!");
}
}
if (StringUtils.isNotEmpty(dateFormat))
{
......@@ -454,10 +455,12 @@ public class ExcelUtil<T>
val = Convert.toLong(val);
//注意实体类字段类型,除String类型外,其他类型会被解析为null值,所以要判断对象是否为null
boolean required = attr.required();
if(required)
if(required){
if(StringUtils.isNull(val) || StringUtils.isEmpty(val.toString())) {
throw new Exception("必填项未填写!");
}
}
}
else if (Double.TYPE == fieldType || Double.class == fieldType)
{
......@@ -473,6 +476,13 @@ public class ExcelUtil<T>
}
else if (Date.class == fieldType)
{
boolean required = attr.required();
if(required){
if(StringUtils.isNull(val) || StringUtils.isEmpty(val.toString())) {
throw new Exception("必填项未填写!");
}
}
if (val instanceof String)
{
val = DateUtils.parseDate(val);
......
......@@ -117,7 +117,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
.antMatchers( "/common/**").permitAll()
.antMatchers( "/dd/school/**").permitAll()
// .antMatchers( "/teacher/basiclnformation/**","/aworkload/**","/wx/course/**","/assessment/**","/achievement/**","/school/award/**").permitAll()
.antMatchers( "/teacher/basiclnformation/**","/aworkload/**","/wx/course/**","/assessment/**","/achievement/**","/school/award/**").permitAll()
//打印下载接口放行
.antMatchers("/school/student/queryOne/**","/school/studentStatus/proofStatus/**").permitAll()
......
......@@ -137,8 +137,7 @@ public class SchoolAclassTeacherAssessmentController extends BaseController
ExcelUtil<SchoolAclassTeacherAssessment> util = new ExcelUtil<SchoolAclassTeacherAssessment>(SchoolAclassTeacherAssessment.class);
List<SchoolAclassTeacherAssessment> detailList = util.importExceltoRow(file.getInputStream(),1);
//1.导入
boolean b = schoolAclassTeacherAssessmentService.saveBatch(detailList);
return AjaxResult.success();
return schoolAclassTeacherAssessmentService.saveCheckedDate(detailList);
}
/**
......
......@@ -137,8 +137,7 @@ public class SchoolAworkloadController extends BaseController
BeanUtils.copyProperties(date,schoolAworkload);
list.add(schoolAworkload);
}
boolean b = schoolAworkloadService.saveBatch(list);
return AjaxResult.success(b);
return schoolAworkloadService.saveAndChecked(list);
}
/**
......
......@@ -160,27 +160,7 @@ public class SchoolTeacherBasiclnformationController extends BaseController {
public AjaxResult importData(MultipartFile file) throws Exception {
ExcelUtil<SchoolTeacherBasicInformation> util = new ExcelUtil<SchoolTeacherBasicInformation>(SchoolTeacherBasicInformation.class);
List<SchoolTeacherBasicInformation> schoolTeacherBasicInformations = util.importExceltoRow(file.getInputStream(),1);
// List<SchoolTeacherBasicInformation> schoolTeacherBasicInformations = basichlnformationService.importExcel(file);
for (SchoolTeacherBasicInformation date : schoolTeacherBasicInformations){
//1.处理出生日期
String birthDayFromIdCard = IdCardNumberUtils.getBirthDayFromIdCard(date.getIdCard());
date.setBirthDate(birthDayFromIdCard);
//2.处理性别
Map<String, Object> sexFromIdCard = IdCardNumberUtils.getSexFromIdCard(date.getIdCard());
Integer sex = (Integer) sexFromIdCard.get(IdCardNumberUtils.SEX_BY_INT_MAP_KEY);
if (null == sex){
return AjaxResult.error("导入用户:"+date.getName()+",身份证错误请检查"+date.getIdCard());
}
if (sex == 1){
date.setSex("0");
}else {
date.setSex("1");
}
}
boolean b = basichlnformationService.saveOrUpdateList(schoolTeacherBasicInformations);
return AjaxResult.success(b);
return basichlnformationService.saveOrUpdateList(schoolTeacherBasicInformations);
}
......
......@@ -26,19 +26,19 @@ public class SchoolAclassTeacherAssessment extends BaseEntity
private Long id;
/** 学期(下拉框) */
@Excel(name = "学期",dictType = "semester_jsdzda")
@Excel(name = "学期")
private String semester;
/** 届别(下拉框) */
@Excel(name = "届别",dictType = "rankda")
@Excel(name = "届别")
private String year;
/** 学年(下拉框) */
@Excel(name = "学年",dictType = "yearda")
@Excel(name = "学年")
private String schoolYear;
/** 年级(下拉框) */
@Excel(name = "年级",dictType = "grade_da")
@Excel(name = "年级")
private String grade;
/** 班级(下拉框) */
......@@ -66,11 +66,11 @@ public class SchoolAclassTeacherAssessment extends BaseEntity
private BigDecimal totalCheckAchievement;
/** 班级类型(下拉框) */
@Excel(name = "班级类型",dictType = "class_type")
@Excel(name = "班级类型")
private String classType;
/** 学科(下拉框) */
@Excel(name = "学科",dictType = "teaching_subjects")
@Excel(name = "学科")
private String sub;
/** 备注*/
......
......@@ -6,6 +6,8 @@ import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.math.BigDecimal;
/**
* 工作量信息对象 school_aworkload
*
......@@ -57,13 +59,13 @@ public class SchoolAworkload extends BaseEntity
private String classType;
/** 早读 */
private Long earlyReading;
private BigDecimal earlyReading;
/** 正课 */
private Long requiredCourses;
private BigDecimal requiredCourses;
/** 晚自习 */
private Long eveningSelfStudy;
private BigDecimal eveningSelfStudy;
/** 证明人id */
private Long userId;
......@@ -75,7 +77,7 @@ public class SchoolAworkload extends BaseEntity
private String delFlag;
/**合计*/
private Long amountTo;
private BigDecimal amountTo;
......
......@@ -4,6 +4,8 @@ import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import java.math.BigDecimal;
/**
* 工作量信息对象 school_aworkload
*
......@@ -19,35 +21,35 @@ public class SchoolAworkloadExport extends BaseEntity
private Long id;
/** 学年(下拉框) */
@Excel(name = "学年",dictType="yearda" ,required = true)
@Excel(name = "学年")
private String schoolYear;
/** 学期(下拉框) */
@Excel(name = "学期",dictType="semester_jsdzda",required = true)
@Excel(name = "学期")
private String semester;
/** 届别(下拉框) */
@Excel(name = "届别",dictType = "rankda",required = true)
@Excel(name = "届别")
private String year;
/** 年级(下拉框) */
@Excel(name = "年级",dictType="grade_da",required = true)
@Excel(name = "年级")
private String grade;
/** 姓名 */
@Excel(name = "姓名",required = true)
@Excel(name = "姓名")
private String name;
/** 学科(下拉框) */
@Excel(name = "学科",dictType = "teaching_subjects",required = true)
@Excel(name = "学科")
private String sub;
/** 身份证号 */
@Excel(name = "身份证号",required = true)
@Excel(name = "身份证号")
private String idCard;
/** 聘任岗位(下拉框) */
@Excel(name = "聘任岗位",dictType = "appointment_positions",required = true)
@Excel(name = "聘任岗位")
private String appointmentPost;
/** 聘任职务 */
......@@ -55,11 +57,11 @@ public class SchoolAworkloadExport extends BaseEntity
private String appointmentPosition;
/** 聘任情况(下拉框) */
@Excel(name = "聘任情况",dictType = "appointment_situation")
@Excel(name = "聘任情况")
private String appointmentSituation;
/** 班级 */
@Excel(name = "班级",prompt="多个,中间用英文“,”间隔",required = true)
@Excel(name = "班级",prompt="多个,中间用英文“,”间隔")
private String className;
/** 班级类型 */
......@@ -67,26 +69,26 @@ public class SchoolAworkloadExport extends BaseEntity
private String classType;
/** 早读 */
@Excel(name = "早读",required = true)
private Long earlyReading;
@Excel(name = "早读")
private BigDecimal earlyReading;
/** 正课 */
@Excel(name = "正课",required = true)
private Long requiredCourses;
@Excel(name = "正课")
private BigDecimal requiredCourses;
/** 晚自习 */
@Excel(name = "晚自习",required = true)
private Long eveningSelfStudy;
@Excel(name = "晚自习")
private BigDecimal eveningSelfStudy;
/**合计*/
@Excel(name = "合计")
private Long amountTo;
private BigDecimal amountTo;
/** 证明人id */
private Long userId;
/** 证明人 */
@Excel(name = "证明人",required = true)
@Excel(name = "证明人")
private String userName;
@Excel(name = "备注")
......
......@@ -4,6 +4,8 @@ import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import java.math.BigDecimal;
/**
* 工作量信息对象 school_aworkload
*
......@@ -53,16 +55,16 @@ public class SchoolAworkloadVo extends BaseEntity
private String classType;
/** 早读 */
private Long earlyReading;
private BigDecimal earlyReading;
/** 正课 */
private Long requiredCourses;
private BigDecimal requiredCourses;
/** 晚自习 */
private Long eveningSelfStudy;
private BigDecimal eveningSelfStudy;
/**合计*/
private Long amountTo;
private BigDecimal amountTo;
/** 证明人id */
private Long userId;
......
package yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn;
import lombok.Data;
import java.util.Date;
/**
* 校验对象
*/
@Data
public class SchoolCheckVo {
private Boolean flag = false;
/**
* 数值
*/
private String val;
/**
* 对象
*/
private Date date;
}
......@@ -24,13 +24,13 @@ public class SchoolTeacherBasicInformation extends BaseEntity {
/**
* 姓名
*/
@Excel(name = "姓名",required = true)
@Excel(name = "姓名")
private String name;
/**
* 身份证号
*/
@Excel(name = "身份证号",required = true)
@Excel(name = "身份证号")
private String idCard;
/**
......@@ -78,7 +78,7 @@ public class SchoolTeacherBasicInformation extends BaseEntity {
/**
* 政治面貌(1中共党员、2共青团员、3群众、4民主党派成员、5无党派人士)
*/
@Excel(name = "政治面貌",dictType = "politics_tatusls")
@Excel(name = "政治面貌")
private String politicalLandscape;
/**
......@@ -91,13 +91,13 @@ public class SchoolTeacherBasicInformation extends BaseEntity {
/**
* 任教学科(1语文、2数学、3英语、4物理、5化学、6生物、7政治、8历史、9地理、10音乐、11体育、12美术、13技术、14心理、15书法)
*/
@Excel(name = "任教学科",dictType = "teaching_subjects",required = true)
@Excel(name = "任教学科")
private String teachingSubject;
/**
* 现职称(1无、2初级、3中级、4副高、5正高)
*/
@Excel(name = "现职称",dictType = "current_professional")
@Excel(name = "现职称")
private String currentProfessionalTitle;
/**
......@@ -110,7 +110,7 @@ public class SchoolTeacherBasicInformation extends BaseEntity {
/**
* 现聘职称(1无、2初级、3中级、4副高、5正高)
*/
@Excel(name = "现聘职称",dictType = "current_professional")
@Excel(name = "现聘职称")
private String currentHiringProfessionalTitle;
/**
......@@ -123,14 +123,14 @@ public class SchoolTeacherBasicInformation extends BaseEntity {
/**
* 现聘岗位(1专业技术岗、2管理岗、3工勤岗)
*/
@Excel(name = "现聘岗位",dictType = "current_position")
@Excel(name = "现聘岗位")
private String currentPosition;
/**
* 现岗位等级(见习(三个现聘岗位都有见习这个等级 下拉框联动)、专业技术三级-专业技术十三级、
* 管理五级-管理九级、技术工二级-技术工五级)
*/
@Excel(name = "现岗位等级",dictType = "current_joblevel")
@Excel(name = "现岗位等级")
private String currentJobLevel;
/**
......@@ -167,7 +167,7 @@ public class SchoolTeacherBasicInformation extends BaseEntity {
/**
* 到二中工作时间
*/
@Excel(name = "到二中工作时间",required = true)
@Excel(name = "到二中工作时间")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date toSecondMiddleSchoolTime;
......@@ -196,13 +196,13 @@ public class SchoolTeacherBasicInformation extends BaseEntity {
/**
* 在岗情况(1教学岗位、2教辅岗、3后勤岗、4管理岗、5其他岗、6退休、7行政、8内退岗、9待退岗)
*/
@Excel(name = "在岗情况",dictType ="duty_situation")
@Excel(name = "在岗情况")
private String onDutySituation;
/**
* 在编情况 1在编 2合同制
*/
@Excel(name = "在编情况",dictType ="current_situation")
@Excel(name = "在编情况")
private String currentSituation;
/**
......
package yangtz.cs.liu.campus.service.impl.schoolNewTeacherDzdn;
import java.math.BigDecimal;
import java.text.ParseException;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DictUtils;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessment;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentReq;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentVo;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.*;
import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentMapper;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolAclassTeacherAssessmentService;
......@@ -26,6 +27,9 @@ public class SchoolAclassTeacherAssessmentServiceImpl extends ServiceImpl<School
@Autowired
private SchoolAclassTeacherAssessmentMapper schoolAclassTeacherAssessmentMapper;
@Autowired
ISchoolAclassTeacherAssessmentService schoolAclassTeacherAssessmentService;
/**
* 查询班主任考核
*
......@@ -39,6 +43,194 @@ public class SchoolAclassTeacherAssessmentServiceImpl extends ServiceImpl<School
}
/**
* 校验数据
* @param detailList
* @return
*/
@Override
public AjaxResult saveCheckedDate(List<SchoolAclassTeacherAssessment> detailList) {
String s = this.dataCheck(detailList);
if (!StringUtils.isEmpty(s)){
return AjaxResult.error(s);
}
boolean b = schoolAclassTeacherAssessmentService.saveBatch(detailList);
return AjaxResult.success("导入数据:"+detailList.size()+"条");
}
public String dataCheck(List<SchoolAclassTeacherAssessment> list){
StringBuffer sb = new StringBuffer();
SchoolCheckVo schoolCheckVo = null;
for (SchoolAclassTeacherAssessment date :list) {
//非空验证
//学年
if (StringUtils.isEmpty(date.getSchoolYear())) {
sb.append("学年 字段不能为空");
sb.append("<br/>");
}
//学期
if (StringUtils.isEmpty(date.getSemester())) {
sb.append("学期字段不能为空");
sb.append("<br/>");
}
//届别
if (StringUtils.isEmpty(date.getYear())) {
sb.append("届别字段不能为空");
sb.append("<br/>");
}
//年纪
if (StringUtils.isEmpty(date.getGrade())) {
sb.append("年纪字段不能为空");
sb.append("<br/>");
}
//教师姓名
if (StringUtils.isEmpty(date.getTeacherName())) {
sb.append("教师姓名字段不能为空");
sb.append("<br/>");
}
//班级
if (StringUtils.isEmpty(date.getClassName())) {
sb.append("班级字段不能为空");
sb.append("<br/>");
}
//身份证号
if (StringUtils.isEmpty(date.getIdCard())) {
sb.append("身份证号字段不能为空");
sb.append("<br/>");
}
//德育考核成绩
if (date.getMoralEduCheckAchievement() == null) {
sb.append("德育考核成绩字段不能为空");
sb.append("<br/>");
}
//智育考核成绩
if (date.getIntellEduCheckAchievement() == null) {
sb.append("智育考核成绩字段不能为空");
sb.append("<br/>");
}
//总考核成绩
if (date.getTotalCheckAchievement() == null) {
sb.append("总考核成绩字段不能为空");
sb.append("<br/>");
}
//班级类型
if (StringUtils.isEmpty(date.getClassType())) {
sb.append("班级类型字段不能为空");
sb.append("<br/>");
}
//学科
if (StringUtils.isEmpty(date.getSub())) {
sb.append("班学科字段不能为空");
sb.append("<br/>");
}
}
if (!StringUtils.isEmpty(sb.toString())){
return sb.toString();
}
for (SchoolAclassTeacherAssessment date :list) {
//类型验证
//学年
schoolCheckVo = checkeDicet("yearda", date.getSchoolYear());
if (schoolCheckVo !=null){
if (schoolCheckVo.getFlag()){
date.setSchoolYear(schoolCheckVo.getVal());
}else {
sb.append(date.getTeacherName()+"用户 学年 录入不符合选择项:"+schoolCheckVo.getVal() );
sb.append("<br/>");
}
}
//学期
schoolCheckVo = checkeDicet("semester_jsdzda", date.getSemester());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setSemester(schoolCheckVo.getVal());
} else {
sb.append(date.getTeacherName() + "用户 学期 录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//届别
schoolCheckVo = checkeDicet("rankda", date.getYear());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setYear(schoolCheckVo.getVal());
} else {
sb.append(date.getTeacherName() + "用户 届别 录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//年级
schoolCheckVo = checkeDicet("grade_da", date.getGrade());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setGrade(schoolCheckVo.getVal());
} else {
sb.append(date.getTeacherName() + "用户 年级 录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//学科
schoolCheckVo = checkeDicet("teaching_subjects", date.getSub());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setSub(schoolCheckVo.getVal());
} else {
sb.append(date.getTeacherName() + "用户 学科 录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//身份证号
if (date.getIdCard().length() != 18){
sb.append(date.getTeacherName()+"用户 身份证号 录入信息错误");
sb.append("<br/>");
}
}
return sb.toString();
}
/**
* 校验字典数据
* @param type 类型 vlaue 值
* @return
* @throws ParseException
*/
public SchoolCheckVo checkeDicet(String type, String value){
SchoolCheckVo sc = new SchoolCheckVo();
if (StringUtils.isEmpty(value)){
return null;
}
if (StringUtils.isEmpty(value)){
sc.setFlag(false);
sc.setVal(value);
return sc;
}
//解析值
String val = DictUtils.getDictValue(type, value, ",");
if (StringUtils.isEmpty(val)){
sc.setFlag(false);
sc.setVal(value);
return sc;
}
if (StringUtils.isEmpty(val)){
sc.setFlag(false);
sc.setVal(value);
}else {
sc.setFlag(true);
sc.setVal(val);
}
return sc;
}
/**
* 查询班主任考核列表
*
* @param
......
package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessment;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentReq;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAclassTeacherAssessmentVo;
......@@ -23,6 +24,7 @@ public interface ISchoolAclassTeacherAssessmentService extends IService<SchoolA
*/
public SchoolAclassTeacherAssessment selectSchoolAclassTeacherAssessmentById(Long id);
AjaxResult saveCheckedDate(List<SchoolAclassTeacherAssessment> detailList);
/**
* 查询班主任考核列表
*
......
package yangtz.cs.liu.campus.service.schoolNewTeacherDzdn;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkload;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkloadExport;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkloadVo;
......@@ -23,6 +24,7 @@ public interface ISchoolAworkloadService extends IService<SchoolAworkload>
*/
public SchoolAworkload selectSchoolAworkloadById(Long id);
public AjaxResult saveAndChecked(List<SchoolAworkload> list);
/**
* 查询工作量信息列表
*
......
......@@ -20,7 +20,7 @@ public interface SchoolTeacherBasichlnformationService extends IService<SchoolT
int updateInformationById(SchoolTeacherBasicInformation information);
Boolean saveOrUpdateList( List<SchoolTeacherBasicInformation> schoolTeacherBasicInformations);
AjaxResult saveOrUpdateList( List<SchoolTeacherBasicInformation> schoolTeacherBasicInformations);
/**
* 综合信息查询
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment