提交 a078bcec authored 作者: zhouzhigang's avatar zhouzhigang

--no commit message

上级 e3dbd923
......@@ -19,5 +19,7 @@ public class Export {
@ApiModelProperty("value")
private String value;
@ApiModelProperty("解析类class全路径")
private String clazz;
}
......@@ -27,9 +27,12 @@ import com.zrqx.core.util.page.PageInfo;
import com.zrqx.core.util.page.PageParam;
import com.zrqx.core.util.response.CallBack;
import com.zrqx.core.vo.schoolsysuser.fg.classmanagement.ClassManagementVo;
import com.zrqx.core.vo.schoolsysuser.fg.classmanagement.ClassmanagementErrVo;
import com.zrqx.core.vo.schoolsysuser.fg.classmanagement.ExcelClassManagementVo;
import com.zrqx.core.vo.schoolsysuser.fg.classmanagement.ExportClassErrVo;
import com.zrqx.core.vo.schoolsysuser.fg.classmanagement.ImportClassVo;
import com.zrqx.core.vo.schoolsysuser.fg.student.ImportStudentVo;
import com.zrqx.core.vo.schoolsysuser.fg.student.StudentVo;
import com.zrqx.school.sysuser.client.FgMemberClient;
import com.zrqx.school.sysuser.service.classmanagement.FgClassManagementService;
import io.swagger.annotations.Api;
......@@ -105,8 +108,15 @@ public class FgClassManagementController {
@ApiOperation(value = "导入班级")
@PostMapping(value = MemberRequestPath.IMPORT, produces = "application/json;charset=UTF-8")
public CallBack<?> importMember(@RequestParam("file") MultipartFile file) throws Exception{
List<ImportClassVo> list = fgClassManagementService.importClass(file);
return CallBack.success(list);
return CallBack.success(fgClassManagementService.importClass(file));
}
@ApiOperation(value = "导出学生错误信息")
@GetMapping(value = MemberRequestPath.ERROR)
public String exportRole(Integer id,HttpServletRequest request, HttpServletResponse response) throws Exception {
List<?> list = fgClassManagementService.exportErrInfo(id);
ExcelUtil.getInstance().exportExcel(list, ClassmanagementErrVo.class, "班级错误信息.xls", response, request);
return null;
}
}
......@@ -12,6 +12,7 @@ import com.zrqx.core.form.member.fg.basicteachingplan.FgQueryBasicTeachingPlanFo
import com.zrqx.core.form.member.fg.basicteachingplan.QueryAcademicLevelForm;
import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.member.basicteachingplan.BasicTeachingPlan;
import com.zrqx.core.model.member.classmanagement.ClassManagement;
import com.zrqx.core.model.member.publiclesson.PublicLesson;
import com.zrqx.core.vo.member.fg.basicteachingplan.FgBasicTeachingPlanVo;
import com.zrqx.core.vo.schoolsysuser.fg.publicbasicrelation.FgPublicBasicRelationVo;
......@@ -90,5 +91,22 @@ public interface FgBasicTeachingPlanMapper extends BaseMapper<BasicTeachingPlan>
+ " </script> ")
BasicTeachingPlan get(@Param("query") QueryTypeAndRelationIdForm form);
@Select(" <script> "
+ " SELECT s.* FROM me_basic_teaching_plan s "
+ " where 1 = 1 "
+ " <if test = ' query.relationId != null '> "
+ " and s.relationId = #{query.relationId} "
+ " </if> "
+ " <if test = '" + NOTBLANK + "(query.type)'> "
+ " and s.type = #{query.type} "
+ " </if> "
+ " <if test = '" + NOTBLANK + "(query.name)'> "
+ " and s.name = #{query.name} "
+ " </if> "
+ " order by createTime desc "
+ " limit 1 "
+ " </script> ")
BasicTeachingPlan query(@Param("query") QueryTypeAndRelationIdForm form);
}
......@@ -10,6 +10,8 @@ import com.zrqx.core.service.BaseService;
import com.zrqx.core.util.page.PageInfo;
import com.zrqx.core.util.page.PageParam;
import com.zrqx.core.vo.schoolsysuser.fg.classmanagement.ClassManagementVo;
import com.zrqx.core.vo.schoolsysuser.fg.classmanagement.ClassmanagementErrVo;
import com.zrqx.core.vo.schoolsysuser.fg.classmanagement.ExportClassErrVo;
import com.zrqx.core.vo.schoolsysuser.fg.classmanagement.ImportClassVo;
public interface FgClassManagementService extends BaseService<ClassManagement,Integer>{
......@@ -79,7 +81,7 @@ public interface FgClassManagementService extends BaseService<ClassManagement,In
* @author zzg
* @date: 2019年7月19日 上午9:23:17
*/
List<ImportClassVo> importClass(MultipartFile file) throws Exception;
ExportClassErrVo importClass(MultipartFile file) throws Exception;
/**
* 验证班级名称
......@@ -90,5 +92,23 @@ public interface FgClassManagementService extends BaseService<ClassManagement,In
*/
String isExistClassName(ClassManagement form);
/**
* 验证学级是否存在
* @param form
* @return
* @author zzg
* @date: 2019年7月25日 下午5:35:45
*/
String isExistStuLevel(ClassManagement form);
/**
* 导出班级错误信息
* @param id
* @return
* @throws ClassNotFoundException
* @author zzg
* @date: 2019年7月25日 下午6:58:53
*/
List<?> exportErrInfo(Integer id) throws ClassNotFoundException;
}
......@@ -11,6 +11,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.zrqx.core.commons.redis.FgRedisManage;
import com.zrqx.core.enums.BooleanStatusEnum;
import com.zrqx.core.exception.BusinessValidateException;
......@@ -21,6 +24,7 @@ import com.zrqx.core.model.member.basicteachingplan.BasicTeachingPlan;
import com.zrqx.core.model.member.classmanagement.ClassManagement;
import com.zrqx.core.model.member.major.Major;
import com.zrqx.core.model.member.student.Student;
import com.zrqx.core.model.school.export.Export;
import com.zrqx.core.service.BaseModelServiceImpl;
import com.zrqx.core.util.bean.BeanUtils;
import com.zrqx.core.util.excelutil.ExcelUtil;
......@@ -36,6 +40,7 @@ import com.zrqx.core.vo.schoolsysuser.fg.student.StudentVo;
import com.zrqx.school.sysuser.client.FgMemberClient;
import com.zrqx.school.sysuser.mapper.basicteachingplan.FgBasicTeachingPlanMapper;
import com.zrqx.school.sysuser.mapper.classmanagement.FgClassManagementMapper;
import com.zrqx.school.sysuser.mapper.export.ExportMapper;
import com.zrqx.school.sysuser.service.major.FgMajorService;
@Service
......@@ -51,6 +56,8 @@ public class FgClassManagementServiceImpl extends BaseModelServiceImpl<ClassMana
private FgMemberClient fgMemberClient;
@Autowired
private FgMajorService fgMajorService;
@Autowired
private ExportMapper exportMapper;
@Override
public BaseMapper<ClassManagement> getMapper() {
......@@ -137,7 +144,7 @@ public class FgClassManagementServiceImpl extends BaseModelServiceImpl<ClassMana
@Override
public List<ImportClassVo> importClass(MultipartFile file) throws Exception {
public ExportClassErrVo importClass(MultipartFile file) throws Exception {
// 导入Excel出库单vo集合
List<ImportClassVo> importExcelVos = new ArrayList<ImportClassVo>();
//导入失败的班级信息
......@@ -171,20 +178,50 @@ public class FgClassManagementServiceImpl extends BaseModelServiceImpl<ClassMana
form.setName(v.getDepartmentName());
CallBack<Integer> data = fgMemberClient.isExsit(form);
if(data == null){
throw new BusinessValidateException("导入的部门不存在");
vo.setMsg("导入的部门不存在");
}
entity.setDepartmentId(data.getData());
//验证导入的专业是否存在
Major major = fgMajorService.isExistName(v.getMajorName());
if(major == null){
throw new BusinessValidateException("导入的专业不存在");
Major major = new Major();
if(StringUtils.isNotEmpty(v.getMajorName())){
major = fgMajorService.isExistName(v.getMajorName());
if(major == null){
vo.setMsg("导入的专业不存在");
}
}else{
vo.setMsg("请填写专业名称");
}
//验证导入的学级是否存在
String msg1 = this.isExistStuLevel(entity);
//验证导入的培养层次是否存在
QueryTypeAndRelationIdForm query = new QueryTypeAndRelationIdForm();
query.setName(v.getPlanName());
query.setType(redis.getMember().getType());
query.setRelationId(redis.getMember().getRelationId());
BasicTeachingPlan plan = fgBasicTeachingPlanMapper.query(query);
if(plan == null){
vo.setMsg("导入的培养层次不存在");
}
if(StringUtils.isNotEmpty(msg) || StringUtils.isNotEmpty(msg1) || data == null || major == null || plan == null){
list.add(vo);
continue;
}
entity.setDepartmentId(data.getData());
entity.setBptId(plan.getId());
entity.setDepartmentId(data.getData());
entity.setStudentSource(plan.getStudentResource());
entity.setMajorId(major.getId());
entity.setRelationId(redis.getMember().getRelationId());
entity.setType(redis.getMember().getType());
super.insert(entity);
}
return importExcelVos;
Export entity = new Export();
String value = JSON.toJSONString(list);
entity.setValue(value);
entity.setClazz("com.zrqx.core.vo.schoolsysuser.fg.classmanagement.ClassmanagementErrVo");
exportMapper.insert(entity);
classVo.setList(list);
classVo.setErrId(entity.getId());
return classVo;
}
......@@ -196,14 +233,58 @@ public class FgClassManagementServiceImpl extends BaseModelServiceImpl<ClassMana
s.setType(redis.getMember().getType());
Integer count = fgClassManagementMapper.selectCount(s);
if(count > 0){
log.info("FgClassManagementServiceImpl#isExistName name: "+ form.getName() +"班级名称已存在");
return "班级名称: "+ form.getName() +"班级名称已存在";
}
return null;
}
@Override
public String isExistStuLevel(ClassManagement form) {
ClassManagement s = new ClassManagement();
s.setAcademicLevel(form.getAcademicLevel());
s.setRelationId(redis.getMember().getRelationId());
s.setType(redis.getMember().getType());
Integer count = fgClassManagementMapper.selectCount(s);
if(count == 0){
return "学级: "+ form.getAcademicLevel() +"学级不存在";
}
return null;
}
public JSONArray ProLogList2Json(List<ClassmanagementErrVo> list) {
JSONArray json = new JSONArray();
for(ClassmanagementErrVo pLog : list){
JSONObject jo = new JSONObject();
jo.put("academicLevel", pLog.getAcademicLevel());
jo.put("departmentName", pLog.getDepartmentName());
jo.put("enrollmentTime", pLog.getEnrollmentTime());
jo.put("majorName", pLog.getMajorName());
jo.put("msg", pLog.getMsg());
jo.put("name", pLog.getName());
jo.put("num", pLog.getNum());
jo.put("name", pLog.getName());
json.add(jo);
}
return json;
}
@Override
public List<?> exportErrInfo(Integer id) throws ClassNotFoundException {
List<ClassmanagementErrVo> list = new ArrayList<ClassmanagementErrVo>();
Export entity = exportMapper.selectByPrimaryKey(id);
// 解析
Class<?> clazz = Class.forName(entity.getClazz());
List<?> parselist = JSON.parseArray(entity.getValue(), clazz);
for(int i = 0; i < parselist.size(); i++){
ClassmanagementErrVo vo = BeanUtils.copy(parselist.get(i), ClassmanagementErrVo.class);
list.add(vo);
}
return list;
}
}
......@@ -119,6 +119,6 @@ public interface FgStudentService extends BaseService<Student,Integer>{
* @author zzg
* @date: 2019年7月24日 上午10:52:22
*/
List<StudentVo> exportErrInfo(Integer id);
List<StudentVo> exportErrInfo(Integer id) throws ClassNotFoundException;
}
......@@ -10,6 +10,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.zrqx.core.commons.redis.FgRedisManage;
......@@ -231,11 +233,16 @@ public class FgStudentServiceImpl extends BaseModelServiceImpl<Student,Integer>
stu.setCreaterName(redis.getOpName());
super.insert(stu);
}
String str = this.ProLogList2Json(list)+"";
Export entity = new Export();
entity.setValue(str);
String value = JSON.toJSONString(list);
entity.setValue(value);
entity.setClazz("com.zrqx.core.vo.schoolsysuser.fg.student.StudentVo");
exportMapper.insert(entity);
// 解析
Class<?> clazz = Class.forName(entity.getClazz());
List<?> parselist = JSON.parseArray(entity.getValue(), clazz);
stuVo.setList(list);
stuVo.setErrId(entity.getId());
return stuVo;
......@@ -267,20 +274,15 @@ public class FgStudentServiceImpl extends BaseModelServiceImpl<Student,Integer>
}
@Override
public List<StudentVo> exportErrInfo(Integer id) {
public List<StudentVo> exportErrInfo(Integer id) throws ClassNotFoundException {
List<StudentVo> list = new ArrayList<StudentVo>();
Export entity = exportMapper.selectByPrimaryKey(id);
String str = entity.getValue();
JSONArray array = JSONArray.parseArray(str);
for(int i = 0; i < array.size(); i++){
StudentVo vo = new StudentVo();
JSONObject jsonObject = array.getJSONObject(i);
vo.setClassName(jsonObject.getString("className"));
vo.setIDNumber(jsonObject.getString("IDNumber"));
vo.setMsg(jsonObject.getString("msg"));
vo.setName(jsonObject.getString("name"));
vo.setSex(jsonObject.getString("sex"));
vo.setStudentNum(jsonObject.getString("studentNum"));
// 解析
Class<?> clazz = Class.forName(entity.getClazz());
List<?> parselist = JSON.parseArray(entity.getValue(), clazz);
for(int i = 0; i < parselist.size(); i++){
StudentVo vo = BeanUtils.copy(parselist.get(i), StudentVo.class);
list.add(vo);
}
return list;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论