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.impl.schoolNewTeacherDzdn;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
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.SchoolAworkload;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkloadExport;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolAworkloadVo;
import yangtz.cs.liu.campus.domain.schoolNewTeacherDzdn.SchoolCheckVo;
import yangtz.cs.liu.campus.mapper.schoolNewTeacherDzdn.SchoolAworkloadMapper;
import yangtz.cs.liu.campus.service.schoolNewTeacherDzdn.ISchoolAworkloadService;
......@@ -24,6 +31,9 @@ public class SchoolAworkloadServiceImpl extends ServiceImpl<SchoolAworkloadMapp
@Autowired
private SchoolAworkloadMapper schoolAworkloadMapper;
@Autowired
private ISchoolAworkloadService iSchoolAworkloadService;
/**
* 查询工作量信息
*
......@@ -34,11 +44,254 @@ public class SchoolAworkloadServiceImpl extends ServiceImpl<SchoolAworkloadMapp
public SchoolAworkload selectSchoolAworkloadById(Long id)
{
SchoolAworkload date = schoolAworkloadMapper.selectSchoolAworkloadById(id);
date.setAmountTo(date.getEarlyReading()+date.getRequiredCourses()+date.getEveningSelfStudy());
date.setAmountTo(date.getEarlyReading().add(date.getRequiredCourses()).add(date.getEveningSelfStudy()));
return date;
}
/**
* 新增并校验
* @return
*/
@Override
public AjaxResult saveAndChecked(List<SchoolAworkload> list) {
String s = this.dataCheck(list);
if (!StringUtils.isEmpty(s)){
return AjaxResult.error(s);
}
//1.插入数据
boolean b = iSchoolAworkloadService.saveBatch(list);
return AjaxResult.success("导入数据:"+list.size());
}
public String dataCheck(List<SchoolAworkload> list){
StringBuffer sb = new StringBuffer();
SchoolCheckVo schoolCheckVo = null;
for (SchoolAworkload 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.getName())) {
sb.append("姓名字段不能为空");
sb.append("<br/>");
}
//学科
if (StringUtils.isEmpty(date.getSub())) {
sb.append("学科字段不能为空");
sb.append("<br/>");
}
//身份证号
if (StringUtils.isEmpty(date.getIdCard())) {
sb.append("身份证号不能为空");
sb.append("<br/>");
}
//聘任岗位
if (StringUtils.isEmpty(date.getAppointmentPost())) {
sb.append("聘任岗位不能为空");
sb.append("<br/>");
}
//班级
if (StringUtils.isEmpty(date.getClassName())) {
sb.append("班级不能为空");
sb.append("<br/>");
}
//班级类型
if (StringUtils.isEmpty(date.getClassType())) {
sb.append("班级类型不能为空");
sb.append("<br/>");
}
//早读
if (date.getEarlyReading() == null) {
sb.append("早读不能为空");
sb.append("<br/>");
}
//正科
if (date.getRequiredCourses() == null) {
sb.append("正科不能为空");
sb.append("<br/>");
}
//晚自习
if (date.getEveningSelfStudy() == null) {
sb.append("晚自习不能为空");
sb.append("<br/>");
}
//证明人
if (date.getEveningSelfStudy() == null) {
sb.append("证明人不能为空");
sb.append("<br/>");
}
}
if (!StringUtils.isEmpty(sb.toString())){
return sb.toString();
}
//格式验证
for (SchoolAworkload date: list) {
//学年
schoolCheckVo = checkeDicet("yearda", date.getSchoolYear());
if (schoolCheckVo !=null){
if (schoolCheckVo.getFlag()){
date.setSchoolYear(schoolCheckVo.getVal());
}else {
sb.append(date.getName()+"用户 学年 录入不符合选择项:"+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.getName() + "用户 学期 录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//届别
schoolCheckVo = checkeDicet("rankda", date.getYear());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setYear(schoolCheckVo.getVal());
} else {
sb.append(date.getName() + "用户 届别 录入不符合选择项:" + 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.getName() + "用户 年级 录入不符合选择项:" + 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.getName() + "用户 学科 录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//身份证号
if (date.getIdCard().length() != 18){
sb.append(date.getName()+"用户 身份证号 录入信息错误");
sb.append("<br/>");
}
//聘任岗位
schoolCheckVo = checkeDicet("appointment_positions", date.getAppointmentPost());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setAppointmentPost(schoolCheckVo.getVal());
} else {
sb.append(date.getName() + "用户 聘任岗位 录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//聘任情况
schoolCheckVo = checkeDicet("appointment_situation", date.getAppointmentSituation());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setAppointmentPost(schoolCheckVo.getVal());
} else {
sb.append(date.getName() + "用户 聘任情况 录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
}
return sb.toString();
}
/**
* 校验时间
* @param date
* @return
*/
public SchoolCheckVo checkeDateTime(Date date){
SchoolCheckVo sc = new SchoolCheckVo();
if (null == date){
sc.setFlag(false);
sc.setVal(null);
return sc;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
String format = sdf.format(date);
sc.setFlag(true);
sc.setVal(format);
sc.setDate( DateUtils.parseDate(format));
}catch (Exception e){
sc.setFlag(false);
sc.setVal(date.toString());
}
return sc;
}
/**
* 校验字典数据
* @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 schoolAworkload 工作量信息
......@@ -50,7 +303,7 @@ public class SchoolAworkloadServiceImpl extends ServiceImpl<SchoolAworkloadMapp
List<SchoolAworkloadVo> schoolAworkloadVos = schoolAworkloadMapper.selectSchoolAworkloadList(schoolAworkload);
//计算合计
for (SchoolAworkloadVo date : schoolAworkloadVos){
date.setAmountTo(date.getEarlyReading()+date.getRequiredCourses()+date.getEveningSelfStudy());
date.setAmountTo(date.getEarlyReading().add(date.getRequiredCourses()).add(date.getEveningSelfStudy()));
}
return schoolAworkloadVos;
}
......@@ -62,7 +315,7 @@ public class SchoolAworkloadServiceImpl extends ServiceImpl<SchoolAworkloadMapp
List<SchoolAworkloadExport> schoolAworkloadVos = schoolAworkloadMapper.selectAworkloadList(schoolAworkload);
//计算合计
for (SchoolAworkloadExport date : schoolAworkloadVos){
date.setAmountTo(date.getEarlyReading()+date.getRequiredCourses()+date.getEveningSelfStudy());
date.setAmountTo(date.getEarlyReading().add(date.getRequiredCourses()).add(date.getEveningSelfStudy()));
}
return schoolAworkloadVos;
}
......
......@@ -7,10 +7,12 @@ import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DictUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.UnPackeUtil;
import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.common.utils.file.MimeTypeUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.system.mapper.SysDictDataMapper;
import com.ruoyi.system.service.ISysUserService;
import lombok.AllArgsConstructor;
......@@ -95,14 +97,39 @@ public class SchoolTeacherBasichlnformationServicelmpl extends ServiceImpl<Schoo
* @param schoolTeacherBasicInformations
* @return
*/
@Transactional
@Override
public Boolean saveOrUpdateList(List<SchoolTeacherBasicInformation> schoolTeacherBasicInformations) {
public AjaxResult saveOrUpdateList(List<SchoolTeacherBasicInformation> schoolTeacherBasicInformations) {
//1查询所有老师信息 //与统计 几百条
String s = this.dataCheck(schoolTeacherBasicInformations);
if (!StringUtils.isEmpty(s)){
return AjaxResult.error(s);
}
Map<String,Long> mapList = new HashMap<>();
List<SchoolIdCardQuerReq> schoolIdCardQuerReqs = teacherBasichlnformationMapper.selectByIdCardMap();
for(SchoolIdCardQuerReq req :schoolIdCardQuerReqs){
mapList.put(req.getIdCard(),req.getId());
}
//
// 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;
//// }
//// if (sex == 1){
//// date.setSex("0");
//// }else {
//// date.setSex("1");
//// }
// }
//2.讲数据存储到map中
try {
for (SchoolTeacherBasicInformation date :schoolTeacherBasicInformations){
......@@ -115,14 +142,298 @@ public class SchoolTeacherBasichlnformationServicelmpl extends ServiceImpl<Schoo
teacherBasichlnformationMapper.insert(date);
}
}
return true;
// return true;
}catch (Exception e){
throw new RuntimeException("新导用户信息失败:"+e.getMessage());
}
return AjaxResult.success("导入成功,共计:"+schoolTeacherBasicInformations.size()+"条;");
}
/**
* 数据校验
* @param
* @return
* @throws ParseException
*/
public String dataCheck(List<SchoolTeacherBasicInformation> schoolTeacherBasicInformations){
StringBuilder sb = new StringBuilder();
SchoolCheckVo schoolCheckVo = null;
for (SchoolTeacherBasicInformation date: schoolTeacherBasicInformations) {
//非空验证
if (StringUtils.isEmpty(date.getName())) {
sb.append("用户姓名不可为空");
sb.append("<br/>");
}
//身份证号
if (StringUtils.isEmpty(date.getIdCard())) {
sb.append("用户身份证号不可为空");
sb.append("<br/>");
}
//任教科目
if (StringUtils.isEmpty(date.getTeachingSubject())) {
sb.append("用户任教学科不可为空");
sb.append("<br/>");
}
//手机号
if (StringUtils.isEmpty(date.getTeachingSubject())) {
sb.append("用户任手机号不可为空");
sb.append("<br/>");
}
//到二中工作日期
if (null == date.getToSecondMiddleSchoolTime()) {
sb.append("用户任到二中工作日期不可为空");
sb.append("<br/>");
}
}
if (!StringUtils.isEmpty(sb.toString())){
return sb.toString();
}
for (SchoolTeacherBasicInformation date: schoolTeacherBasicInformations) {
//1 档案出生日期验证
schoolCheckVo = this.checkeDateTime(date.getFileBirthDate());
if (schoolCheckVo.getFlag()){
date.setFileBirthDate(schoolCheckVo.getDate());
}else {
sb.append(date.getName()+"用户档案出生年月日格式错误");
sb.append("<br/>");
}
//2 入党时间验证
schoolCheckVo = this.checkeDateTime(date.getPartyMembershipTime());
if (schoolCheckVo.getFlag()){
date.setPartyMembershipTime(schoolCheckVo.getDate());
}else {
sb.append(date.getName()+"用户入党时间格式错误");
sb.append("<br/>");
}
//3 手机号数数量验证
if (date.getDdPhone() ==null || date.getDdPhone().length() != 11){
sb.append(date.getName()+"用户手机号格式错误:"+date.getDdPhone() );
sb.append("<br/>");
}
//4 身份证验证
//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 ){
sb.append(date.getName()+"用户身份证信息格式错误:"+date.getIdCard() );
sb.append("<br/>");
}else {
if (sex == 1){
date.setSex("0");
}else {
date.setSex("1");
}
}
//5现职称
schoolCheckVo = checkeDicet("current_professional", date.getCurrentProfessionalTitle());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setCurrentProfessionalTitle(schoolCheckVo.getVal());
} else {
sb.append(date.getName() + "用户现职称录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//6 先职称取得时间
schoolCheckVo = this.checkeDateTime(date.getCurrentProfessionalTitleTime());
if (schoolCheckVo.getFlag()){
date.setCurrentProfessionalTitleTime(schoolCheckVo.getDate());
}else {
sb.append(date.getName()+"用户现职称取得资格时间格式错误");
sb.append("<br/>");
}
//7 先聘岗位
schoolCheckVo = checkeDicet("current_position", date.getCurrentPosition());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setCurrentPosition(schoolCheckVo.getVal());
} else {
sb.append(date.getName() + "用户现聘岗位录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//任教学科
schoolCheckVo = checkeDicet("teaching_subjects", date.getTeachingSubject());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setTeachingSubject(schoolCheckVo.getVal());
} else {
sb.append(date.getName() + "用户任教学科录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//政治面貌
schoolCheckVo = checkeDicet("politics_tatusls", date.getPoliticalLandscape());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setPoliticalLandscape(schoolCheckVo.getVal());
} else {
sb.append(date.getName() + "用户政治面貌录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//现聘职称
schoolCheckVo = checkeDicet("current_professional", date.getCurrentHiringProfessionalTitle());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setCurrentHiringProfessionalTitle(schoolCheckVo.getVal());
} else {
sb.append(date.getName() + "用户现聘职称录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//8 现岗位等级
schoolCheckVo = checkeDicet("current_joblevel", date.getCurrentJobLevel());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setCurrentJobLevel(schoolCheckVo.getVal());
} else {
sb.append(date.getName() + "用户现岗位等级录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//9现岗位等级聘任时间
schoolCheckVo = this.checkeDateTime(date.getCurrentJobLevelAppointmentTime());
if (schoolCheckVo.getFlag()){
date.setCurrentJobLevelAppointmentTime(schoolCheckVo.getDate());
}else {
sb.append(date.getName()+"用户现岗位等级聘任时间格式错误");
sb.append("<br/>");
}
//参加工作时间
schoolCheckVo = this.checkeDateTime(DateUtils.parseDate(date.getWorkingHours()));
if (schoolCheckVo.getFlag()){
date.setWorkingHours(schoolCheckVo.getVal());
}else {
sb.append(date.getName()+"用户参加工作时间格式错误");
sb.append("<br/>");
}
//到二中工作时间
schoolCheckVo = this.checkeDateTime(date.getToSecondMiddleSchoolTime());
if (schoolCheckVo.getFlag()){
date.setToSecondMiddleSchoolTime(schoolCheckVo.getDate());
}else {
sb.append(date.getName()+"用户到二中工作时间格式错误" );
sb.append("<br/>");
}
//在岗情况
schoolCheckVo = checkeDicet("duty_situation", date.getOnDutySituation());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setOnDutySituation(schoolCheckVo.getVal());
} else {
sb.append(date.getName() + "用户 在岗情况录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//在编情况
schoolCheckVo = checkeDicet("current_situation", date.getCurrentSituation());
if (schoolCheckVo !=null) {
if (schoolCheckVo.getFlag()) {
date.setCurrentSituation(schoolCheckVo.getVal());
} else {
sb.append(date.getName() + "用户 在编情况录入不符合选择项:" + schoolCheckVo.getVal());
sb.append("<br/>");
}
}
//毕业时间1
schoolCheckVo = this.checkeDateTime(date.getGraduationTime1());
if (schoolCheckVo.getFlag()){
date.setGraduationTime1(schoolCheckVo.getDate());
}else {
sb.append(date.getName()+"用户 毕业时间1 格式错误");
sb.append("<br/>");
}
//毕业时间2
schoolCheckVo = this.checkeDateTime(date.getGraduationTime2());
if (schoolCheckVo.getFlag()){
date.setGraduationTime2(schoolCheckVo.getDate());
}else {
sb.append(date.getName()+"用户 毕业时间2 格式错误");
sb.append("<br/>");
}
//毕业时间3
schoolCheckVo = this.checkeDateTime(date.getGraduationTime3());
if (schoolCheckVo.getFlag()){
date.setGraduationTime3(schoolCheckVo.getDate());
}else {
sb.append(date.getName()+"用户 毕业时间3 格式错误");
sb.append("<br/>");
}
}
return sb.toString();
}
/**
* 校验时间
* @param date
* @return
*/
public SchoolCheckVo checkeDateTime(Date date){
SchoolCheckVo sc = new SchoolCheckVo();
if (null == date){
sc.setFlag(false);
sc.setVal(null);
return sc;
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
String format = sdf.format(date);
sc.setFlag(true);
sc.setVal(format);
sc.setDate( DateUtils.parseDate(format));
}catch (Exception e){
sc.setFlag(false);
sc.setVal(date.toString());
}
return sc;
}
/**
* 校验字典数据
* @param type 类型 vlaue 值 不会验证必填项
* @return
* @throws ParseException
*/
public SchoolCheckVo checkeDicet(String type,String value){
SchoolCheckVo sc = new SchoolCheckVo();
if (StringUtils.isEmpty(value)){
return null;
}
//解析值
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;
}
@Override
public SchoolTeacherBasicInformationVo getByIds(Long id) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
......
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