Commit 6db006ee authored by YangZhaoJun1's avatar YangZhaoJun1

解决bug

parent 1ab8e481
......@@ -94,3 +94,7 @@ ALTER TABLE `s_user`
ALTER TABLE `b_schedule_dto`
ADD COLUMN `sunday` varchar(64) NULL AFTER `sub_agency_id`;
/*意见表新增sub_agency_id,与开课id进行区分*/
ALTER TABLE `b_opinion`
ADD COLUMN `sub_agency_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '子任务下教学单位id' AFTER `flag`;
......@@ -40,10 +40,10 @@ public interface BArrangeRepository extends BaseMapper<BArrange> {
//维护人员查看全部的排课信息----------------------------------------------------------------------------------------
@Select("<script>select b_arrange.*,b_term.name from b_arrange left join b_term on b_term.code = b_arrange.term_code where 1=1 "
+ "<if test=\"delFlag !=null and delFlag != '' \">and del_flag = #{delFlag} </if> "
+ "<if test=\"flag !=null and flag != '' \">and flag = #{flag} </if> "
+ "<if test=\"delFlag !=null and delFlag != '' \">and b_arrange.del_flag = #{delFlag} </if> "
+ "<if test=\"flag !=null and flag != '' \">and b_arrange.flag = #{flag} </if> "
+ "<if test=\"termCode !=null and termCode != '' \">and term_code = #{termCode} </if> "
+ "<if test=\"status !=null and status != '' \">and status = #{status} </if> "
+ "<if test=\"status !=null and status != '' \">and b_arrange.status = #{status} </if> "
+ "order by b_arrange.status,b_arrange.create_date desc"
+ "</script>")
@ResultMap(value = "BaseResultMap2")
......
......@@ -215,6 +215,8 @@ public class BArrangeServiceImpl implements BArrangeService {
*/
@Override
public List<BArrange> findAllByPagination(PageUtil paginationUtility, BArrange bArrange){
bArrange.setNotDeleted();
bArrange.setStart();
List<BArrange> list = bArrangeRepository.queryAll(bArrange);
return list;
}
......@@ -228,6 +230,8 @@ public class BArrangeServiceImpl implements BArrangeService {
else {
bArrange.setStatus("1,2,3,4");
}
bArrange.setStart();
bArrange.setNotDeleted();
return bArrangeRepository.queryByAgencyCode(bArrange);
}
......
......@@ -143,7 +143,7 @@ public class BClassServiceImpl implements BClassService {
ArrayList<BClass> bClasses = new ArrayList<BClass>();
ArrayList<String> repeatCode = new ArrayList<String>();
String[] headers = {"班级编号","班级名称","所属年级"};
String[] headers = {"班级编号","学号","所属年级"};
ArrayList<String[]> values = ExcelUtil.importExcel(hwb,headers,false,1); //获取excel数据
//判断年级是否存在
List<String> valuesGrade = new ArrayList<>();
......
......@@ -40,7 +40,7 @@ public interface BOpinionRepository extends BaseMapper<BOpinion> {
@Select("select b_opinion.*,s_user.name as create_person from b_opinion left join s_user on b_opinion.create_by = s_user.business_id " +
"where sub_agency_id = #{subAgencyId} order by create_date DESC")
"where b_opinion.sub_agency_id = #{subAgencyId} order by create_date DESC")
@ResultMap(value = "BaseResultMap")
List<BOpinion> queryOpinionBySubAgencyId(String subAgencyId);
......
......@@ -55,12 +55,25 @@ public class BRClassStudentController extends PaginationController<BRClassStuden
stuCode);
}
@ApiOperation(value="excel导入", notes="excel导入")
@ApiOperation(value="行政班excel导入", notes="行政班excel导入")
@ApiImplicitParam(name = "importFile", value = "excel文件", required = true, dataType = "MultipartFile")
@PreAuthorize("hasRole('ROLE_1001')")
@PostMapping(value = "excelImport")
public Result excelImport(MultipartFile importFile) throws Exception {
PersistModel data = bRClassStudentService.importExcel(MultipartFile2HSSFWorkbookConverter.convert(importFile));
@PostMapping(value = "administrationExcelImport")
public Result administrationExcelImport(MultipartFile importFile) throws Exception {
PersistModel data = bRClassStudentService.administrationExcelImport(MultipartFile2HSSFWorkbookConverter.convert(importFile));
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
data.getInfluenceReason());
}
@ApiOperation(value="企业班excel导入", notes="企业班excel导入")
@ApiImplicitParam(name = "importFile", value = "excel文件", required = true, dataType = "MultipartFile")
@PreAuthorize("hasRole('ROLE_1001')")
@PostMapping(value = "enterpriseExcelImport")
public Result enterpriseExcelImport(MultipartFile importFile) throws Exception {
PersistModel data = bRClassStudentService.enterpriseExcelImport(MultipartFile2HSSFWorkbookConverter.convert(importFile));
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
......
......@@ -47,11 +47,13 @@ public interface BRClassStudentService{
* @param hwb
* @return
*/
PersistModel importExcel(HSSFWorkbook hwb) throws IOException;
PersistModel administrationExcelImport(HSSFWorkbook hwb) throws IOException;
/**
* 物理删除
* @return
*/
PersistModel removeBRClassStudents(String stuCode, String classCode);
PersistModel enterpriseExcelImport(HSSFWorkbook convert);
}
......@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSON;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.collections.map.HashedMap;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.rcisoft.business.bagency.dao.BAgencyRepository;
import org.rcisoft.business.bagency.entity.BAgency;
import org.rcisoft.business.bclass.dao.BClassRepository;
import org.rcisoft.business.bclass.entity.BClass;
import org.rcisoft.business.brclassstudent.dao.BRClassStudentRepository;
......@@ -40,6 +42,8 @@ public class BRClassStudentServiceImpl implements BRClassStudentService {
private BClassRepository bClassRepository;
@Autowired
private BStudentRepository bStudentRepository;
@Autowired
private BAgencyRepository bAgencyRepository;
@Override
public BRClassStudent selectOne(String businessId){
......@@ -76,13 +80,14 @@ public class BRClassStudentServiceImpl implements BRClassStudentService {
@Override
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
public PersistModel importExcel(HSSFWorkbook hwb) throws IOException {
public PersistModel administrationExcelImport(HSSFWorkbook hwb) throws IOException {
ArrayList<BRClassStudent> brClassStudents = new ArrayList<BRClassStudent>();
ArrayList<String> studentCode = new ArrayList<String>();
ArrayList<String> classCode = new ArrayList<String>();
ArrayList<String> repeatCode = new ArrayList<String>();
List<String> valuesGrade = new ArrayList<>();
String[] headers = {"班级编号","学号"};
String[] headers = {"班级编号","学号","年级编号"};
ArrayList<String[]> values = ExcelUtil.importExcel(hwb,headers,false,1); //获取excel数据
if (values.size()<=0){
......@@ -120,6 +125,14 @@ public class BRClassStudentServiceImpl implements BRClassStudentService {
continue;
}
//判断:学年是否存在,存在才能录入
BClass b1 = new BClass();
b1.setGradeCode(value[2]);
if (bClassRepository.checkGrade(b1).size() == 0){
valuesGrade.add(value[2]);
continue;
}
//1.4 构造学生班级信息
brClassStudent= new BRClassStudent(value[0],value[1]);
......@@ -156,6 +169,9 @@ public class BRClassStudentServiceImpl implements BRClassStudentService {
nullResult.append("以下学生学号不存在:").append(JSON.toJSONString(studentCode)).append("。");
// nullResult.append("部分学生不存在,请检查后重新上传");
}
if(valuesGrade.size()>0){
result+="以下年级不存在:"+ JSON.toJSONString(valuesGrade)+"。";
}
result+=nullResult;
......@@ -190,5 +206,127 @@ public class BRClassStudentServiceImpl implements BRClassStudentService {
return new PersistModel(line);
}
@Override
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
public PersistModel enterpriseExcelImport(HSSFWorkbook hwb){
ArrayList<BRClassStudent> brClassStudents = new ArrayList<BRClassStudent>();
ArrayList<String> studentCode = new ArrayList<String>();
ArrayList<String> classCode = new ArrayList<String>();
ArrayList<String> repeatCode = new ArrayList<String>();
List<String> valuesGrade = new ArrayList<>();
ArrayList<String> AgencyCode = new ArrayList<String>();
String[] headers = {"班级编号","学号","年级编号","教学单位编号"};
ArrayList<String[]> values = ExcelUtil.importExcel(hwb,headers,false,1); //获取excel数据
if (values.size()<=0){
throw new ServiceException(ResultServiceEnums.EXCEL_IMPORT_DATA_NOT_EXIST);
}
for(String[] value:values){ //将数据封装到entity
//1.0 检查信息是否为空
BRClassStudent brClassStudent = null;
if(value[0]==null||value[0].equals("")||value[1]==null||value[1].equals("")){
continue;
}
//1.1 检查班级是否存在
if((bClassRepository.selectOne(new BClass(value[0])))==null) {
if(!classCode.contains(value[0]))
classCode.add(value[0]);
continue;
}
//1.2 检查学生是否存在
if((bStudentRepository.selectOne(new BStudent(value[1])))==null) {
if(!studentCode.contains(value[1]))
studentCode.add(value[1]);
continue;
}
//1.3 检查班级学生是否存在
BRClassStudent classStudent = new BRClassStudent();
//classStudent.setClassCode(value[0]);
classStudent.setStudentCode(value[1]);
if((bRClassStudentRepository.selectOne(classStudent))!=null) {
repeatCode.add(value[1]);
continue;
}
//判断:学年是否存在,存在才能录入
BClass b1 = new BClass();
b1.setGradeCode(value[2]);
if (bClassRepository.checkGrade(b1).size() == 0){
valuesGrade.add(value[2]);
continue;
}
//判断教学单位是否存在
List<BAgency> bAgencies = bAgencyRepository.queryBAgencysByCode(value[3]);
if(bAgencies.size()<1){
AgencyCode.add(value[3]);
continue;
}
//1.4 构造学生班级信息
brClassStudent= new BRClassStudent(value[0],value[1]);
brClassStudent.setCommonBusinessId();
//UserUtils.setCurrentPersistOperation(brClassStudent);
if(!brClassStudents.contains(brClassStudent)){
brClassStudents.add(brClassStudent);
}
}
String result ="";
if (brClassStudents.size()>0){
int line = bRClassStudentRepository.insertList(brClassStudents);
if (line>0){
result = "成功导入"+brClassStudents.size()+"条数据。";
}else{
throw new ServiceException(ResultServiceEnums.EXCEL_IMPORT_DB_INSERT_ERROR);
}
}
StringBuilder nullResult = new StringBuilder();
if(repeatCode.size()>0){
//nullResult.append("以下学生班级关系已存在:").append(JSON.toJSONString(repeatCode)).append("。");
nullResult.append("以下学生已存在于其他班级:").append(JSON.toJSONString(repeatCode)).append("。");
// nullResult.append("部分学生不存在,请检查后重新上传");
}
//2. 检查重复
if(classCode.size()>0){
nullResult.append("以下班级编号不存在:").append(JSON.toJSONString(classCode)).append("。");
// nullResult.append("部分班级不存在,请检查后重新上传");
}
if(studentCode.size()>0){
nullResult.append("以下学生学号不存在:").append(JSON.toJSONString(studentCode)).append("。");
// nullResult.append("部分学生不存在,请检查后重新上传");
}
if(valuesGrade.size()>0){
result+="以下年级不存在:"+ JSON.toJSONString(valuesGrade)+"。";
}
if(AgencyCode.size()>0){
result+="以下教学单位不存在:"+ JSON.toJSONString(AgencyCode)+"。";
}
result+=nullResult;
if(brClassStudents.size()<1){
throw new ServiceException(ResultServiceEnums.EXCEL_IMPORT_DATA_NOT_EXIST.getCode(),result);
}
//4.调用存储过程
Map<String,Object> map = new HashedMap();
map.put("result",null);
bClassRepository.updateStudentNum(map);
int l1 = MapUtils.getInteger(map,"result",-2);
if(l1<=0)
throw new ServiceException(ResultServiceEnums.UPDATE_STUDENT_NUM_ERROR);
return new PersistModel(1,result.toString());
}
}
......@@ -91,9 +91,9 @@ public class BTeacherServiceImpl implements BTeacherService {
List<String[]> valuesOK = new ArrayList<>();
List<String> valuesRepeat = new ArrayList<>();
List<String> valuesShort = new ArrayList<>();
List<String> valuesEmailExist = new ArrayList<>();
List<String> valuesIncomplete = new ArrayList<>();
List<String> valuesAgencyExist = new ArrayList<>();
int i = 1;
for (String[] value : values) {
String teaCode = value[0];
......@@ -132,7 +132,10 @@ public class BTeacherServiceImpl implements BTeacherService {
continue;
}
}
if(value[0].equals("")||value[1].equals("")||value[2].equals("")){
valuesIncomplete.add(String.valueOf(i));
continue;
}
//合法:通过了三次判断,证明可建立该用户
valuesOK.add(value);
......@@ -172,7 +175,7 @@ public class BTeacherServiceImpl implements BTeacherService {
users.add(user);
userRoles.add(userRole);
}
i++;
}
String result = "";
if (teachers.size()>0){
......@@ -192,9 +195,9 @@ public class BTeacherServiceImpl implements BTeacherService {
if(valuesShort.size()>0){
result+="以下教师的工号位数不在8~15位之间:"+ JSON.toJSONString(valuesShort)+"。";
}
// if(valuesEmailExist.size()>0){
// result+="以下教师邮箱已注册或格式不正确:"+ JSON.toJSONString(valuesEmailExist)+"。";
// }
if(valuesIncomplete.size()>0){
result+="第"+ JSON.toJSONString(valuesIncomplete)+"行数据不完整";
}
if (valuesAgencyExist.size()>0){
result+="以下教师的所属教学单位不存在:"+JSON.toJSONString(valuesAgencyExist)+"。";
}
......
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