Commit ec654a4e authored by hanshuai's avatar hanshuai

Merge branch 'V2.0.3' of ssh://103.249.252.28:10022/lcy/education

# Conflicts:
#	src/main/java/org/rcisoft/business/barrange/entity/BSubtask.java
parents 1aed8091 5a2e834f
......@@ -53,4 +53,22 @@ ALTER TABLE `s_user`
ALTER TABLE `s_user`
ADD COLUMN `is_created` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 0 COMMENT '是否是创建的用户(企业教学负责人等)0否1是' AFTER `agency_code`;
/*
子任务表删除“agency_code”字段
*/
ALTER TABLE `b_subtask`
DROP COLUMN `agency_code`;
/*
具体排课表删除“subtask_id”字段,增加“sub_agency_id”字段
*/
ALTER TABLE `b_schedule_dto`
CHANGE COLUMN `subtask_id` `sub_agency_id` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' AFTER `room_code`;
/*user表性别默认空*/
ALTER TABLE `s_user`
MODIFY COLUMN `sex` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '性别(0:男,1:女)' AFTER `phone`;
/*学期表新建max_sl_code字段,排课转为开课时按照“学期+当前开课序号最大值”定义sl表的code字段*/
ALTER TABLE `b_term`
ADD COLUMN `max_sl_code` int(8) NULL DEFAULT 0 COMMENT '当前开课序号最大值' AFTER `current`;
......@@ -25,6 +25,7 @@ import javax.validation.Valid;
import org.rcisoft.business.barrange.entity.BArrange;
import org.rcisoft.business.barrange.service.BArrangeService;
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
......@@ -50,25 +51,65 @@ public class BArrangeController extends PaginationController<BArrange> {
}
@ApiOperation(value="查看 集合", notes="查看单 集合")
@GetMapping(value = "/findAll")
public Result findAllByTermCode(BArrange bArrange) {
bArrange.setCreateBy(UserUtil.getUserInfoProp(getToken(),UserUtil.USER_ID));
@ApiImplicitParam(name = "termCode", value = "学期编号", required = false, dataType = "varchar")
@GetMapping(value = "/findAllByPagination")
public Result findAllByTermCodeByPagination(BArrange bArrange) {
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
bArrangeServiceImpl.findAll(bArrange));
bArrangeServiceImpl.findAllByPagination(getPaginationUtility(),bArrange));
}
@ApiOperation(value="企业查看个人排课信息", notes="企业查看个人排课信息")
@ApiImplicitParam(name = "agencyCode", value = "企业编号", required = true, dataType = "varchar")
@GetMapping(value = "/findAllByAgencyCodeByPagination")
public Result findAllByAgencyCodeByPagination(@ApiIgnore BArrange bArrange) {
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
bArrangeServiceImpl.findAllByAgencyCodeByPagination(getPaginationUtility(),bArrange));
}
@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 = bArrangeServiceImpl.importExcel(MultipartFile2HSSFWorkbookConverter.convert(importFile),getToken());
public Result excelImport(MultipartFile importFile,String subtaskId) throws Exception {
PersistModel data = bArrangeServiceImpl.importExcel(MultipartFile2HSSFWorkbookConverter.convert(importFile),getToken(),subtaskId);
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
data.getInfluenceReason());
}
@ApiOperation(value="查看 集合", notes="查看单 集合")
@GetMapping(value = "/findDtoBybSubtaskId")
public Result findDtoBybSubtaskId(String bSubtaskId) {
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
bArrangeServiceImpl.queryDtoBySubtaskId(bSubtaskId));
}
@ApiOperation(value="查看 集合", notes="查看单 集合")
@GetMapping(value = "/findDtoByMany")
public Result findDtoByMany(String agencyCode,String name,String termCode,String teacherCode) {
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
bArrangeServiceImpl.queryDtoByMany(agencyCode, name, termCode,teacherCode));
}
@ApiOperation(value="排课审核通过后的开课接口", notes="排课审核通过后的开课接口")
@GetMapping(value = "/changeArrangeToSl")
public Result changeArrangeToSl(String businessId,String subTaskId,String termCode) {
int data = bArrangeServiceImpl.changeArrangeToSl(businessId,subTaskId,termCode);
return Result.builder(new PersistModel(data),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
businessId);
}
}
package org.rcisoft.business.barrange.dao;
import org.apache.ibatis.annotations.Param;
import org.rcisoft.business.barrange.entity.BSubAgency;
import org.rcisoft.business.barrange.entity.BSubtask;
import org.rcisoft.business.barrange.entity.ScheduleDto;
import org.rcisoft.core.base.BaseMapper;
......@@ -19,30 +21,25 @@ import java.util.List;
public interface BArrangeRepository extends BaseMapper<BArrange> {
// @Select("<script>select term_code from b_arrange where 1=1 "
// + "and del_flag = 0 "
// + "and flag = 1 "
// + "GROUP BY term_code"
// + "</script>")
// @ResultMap(value = "BaseResultMap2" )
// List<BArrange> queryBArranges0();
// @Select("<script>select grade_code from b_arrange where 1=1 and term_code = #{termCode} "
// + "and del_flag = 0 "
// + "and flag = 1 "
// + "GROUP BY grade_code"
// + "</script>")
// @ResultMap(value = "BaseResultMap3" )
// List<BArrange> queryBArranges1(String termCode);
//
// @Select("<script>select * from b_arrange where 1=1 and grade_code = #{gradeCode} "
// + "and del_flag = 0 "
// + "and flag = 1 "
// + "GROUP BY agency_code"
// + "</script>")
// @ResultMap(value = "BaseResultMap4" )
// List<BArrange> queryBArranges2(String gradeCode);
//企业人员查看自身公司的排课信息-------------------------------------------------------------------------------------
@Select("<script>select b_arrange.business_id,term_code,description,agency_code,b_arrange.status from b_arrange "
+ "LEFT JOIN b_subtask ON b_arrange.business_id = b_subtask.arrange_id "
+ "LEFT JOIN b_sub_agency ON b_subtask.business_id = b_sub_agency.subtask_id "
+ "where 1=1 and agency_code = #{agencyCode} "
+ "<if test=\"delFlag !=null and delFlag != '' \">and del_flag = #{delFlag} </if> "
+ "<if test=\"flag !=null and flag != '' \">and flag = #{flag} </if> "
+ "GROUP BY b_arrange.business_id "
+ "</script>")
@ResultMap(value = "BaseResultMapByAgencyCode")
List<BArrange> queryByAgencyCode(BArrange bArrange);
List<BSubtask> queryByAgencyCode2(String agencyCode);
List<BSubtask> queryByAgencyCode3(String agencyCode);
//-----------------------------------------------------------------------------------------------------------------
//维护人员查看全部的排课信息----------------------------------------------------------------------------------------
@Select("<script>select * from b_arrange where 1=1 "
+ "<if test=\"delFlag !=null and delFlag != '' \">and del_flag = #{delFlag} </if> "
+ "<if test=\"flag !=null and flag != '' \">and flag = #{flag} </if> "
......@@ -53,7 +50,7 @@ public interface BArrangeRepository extends BaseMapper<BArrange> {
List<BArrange> queryAll(BArrange bArrange);
@Select("<script>select name from b_subtask where 1=1 "
@Select("<script>select name,business_id from b_subtask where 1=1 "
+ "and del_flag = 0 "
+ "and flag = 1 "
+ "and arrange_id = #{businessId} GROUP BY name"
......@@ -61,16 +58,43 @@ public interface BArrangeRepository extends BaseMapper<BArrange> {
@ResultMap(value = "bSubtaskResultMap")
List<BSubtask> queryBSubtask(String businessId);
@Select("<script>select * from b_subtask where 1=1 "
@Select("<script>select * from b_sub_agency where 1=1 "
+ "and del_flag = 0 "
+ "and flag = 1 and name = #{name}"
+ "and flag = 1 and subtask_id = #{businessId}"
+ "</script>")
@ResultMap(value = "bSubtaskResultMap2")
@ResultMap(value = "BSubAgencyResultMap")
List<BSubtask> queryBSubtask1(String businessId);
//-----------------------------------------------------------------------------------------------------------------
@Select("<script>select * from b_schedule_dto LEFT JOIN b_subtask on b_schedule_dto.subtask_id = b_subtask.business_id " +
"LEFT JOIN b_arrange on b_subtask.arrange_id = b_arrange.business_id where 1=1 " +
"and b_subtask.business_id = #{bSubtaskId}" +
"</script>")
@ResultMap(value = "scheduleDtoResultMap")
List<ScheduleDto> queryDtoByAgencySubtaskId(String bSubtaskId);
@Select("<script>select * from b_schedule_dto LEFT JOIN b_subtask on b_schedule_dto.subtask_id = b_subtask.business_id " +
"LEFT JOIN b_arrange on b_subtask.arrange_id = b_arrange.business_id where 1=1 " +
"and b_subtask.agency_code = #{agencyCode}" +
"</script>")
@ResultMap(value = "scheduleDtoResultMap")
List<ScheduleDto> queryDtoByAgencyCode(String agencyCode);
@Select("<script>select * from b_schedule_dto LEFT JOIN b_subtask on b_schedule_dto.subtask_id = b_subtask.business_id " +
"LEFT JOIN b_arrange on b_subtask.arrange_id = b_arrange.business_id where 1=1 " +
"and b_arrange.term_code = #{2} and b_subtask.name = #{1} and b_subtask.agency_code = #{0} " +
"<if test=\"teacherCode !=null and teacherCode != '' \">and teacher_code = #{teacherCode} </if> " +
"</script>")
@ResultMap(value = "scheduleDtoResultMap")
List<ScheduleDto> queryDtoByAgencyMany(String agencyCode,String name,String termCode,@Param("teacherCode") String teacherCode);
int insertList(ArrayList<ScheduleDto> list);
int insertBSubtask(List<BSubtask> list);
int insertBSubAgency(List<BSubAgency> list);
}
......@@ -37,6 +37,8 @@ public class BArrange extends IdEntity<BArrange> {
@NotBlank
private String status;
@Transient
private String agencyCode;
//
// @Transient
// private List<BArrange> childList;
......
package org.rcisoft.business.barrange.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.rcisoft.core.entity.IdEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "b_sub_agency")
public class BSubAgency extends IdEntity<BSubAgency> {
private String agencyCode;
private String subtaskId;
private String status;
}
......@@ -19,20 +19,22 @@ import java.util.List;
@AllArgsConstructor
@Table(name = "b_subtask")
public class BSubtask extends IdEntity<BSubtask> {
private static final long serialVersionUID = -5142221328283725461L;
private String arrangeId;
private String name;
/**
* 审核状态 0:未提交 1:已提交 2:通过
*/
private String status;
private String agencyCode;
private String gradeCode;
@Transient
private List<BSubtask> childList;
private List<BSubAgency> childList;
@Transient
private String agencyCode;
}
......@@ -82,10 +82,10 @@ public class ScheduleDto extends IdEntity<ScheduleDto>{
@NotBlank
private String roomCode;
/*企业编号*/
/*公司任务ID*/
@Length(min = 1,max = 64,message = "长度最小为1,最大为64")
@NotBlank
private String agencyCode;
private String subAgencyId;
@Transient
private String roomName;
......
......@@ -2,6 +2,7 @@ package org.rcisoft.business.barrange.service;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.rcisoft.business.barrange.entity.BArrange;
import org.rcisoft.business.barrange.entity.ScheduleDto;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.aop.PageUtil;
......@@ -25,8 +26,18 @@ public interface BArrangeService {
* 分页查询
* @return
*/
List<BArrange> findAll(BArrange bArrange);
List<BArrange> findAllByPagination(PageUtil paginationUtility,BArrange bArrange);
List<BArrange> findAllByAgencyCodeByPagination(PageUtil paginationUtility,BArrange bArrange);
PersistModel importExcel(HSSFWorkbook convert, String token);
PersistModel importExcel(HSSFWorkbook convert, String token , String subtaskId);
List<ScheduleDto> queryDtoBySubtaskId(String bSubtaskId);
List<ScheduleDto> queryDtoByMany(String agencyCode,String name,String termCode,String teacherCode);
int changeArrangeToSl(String businessId, String subTaskId ,String termCode);
}
......@@ -8,12 +8,18 @@ import net.sf.json.JSONObject;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.rcisoft.business.barrange.dao.BArrangeRepository;
import org.rcisoft.business.barrange.entity.BArrange;
import org.rcisoft.business.barrange.entity.BSubAgency;
import org.rcisoft.business.barrange.entity.BSubtask;
import org.rcisoft.business.barrange.entity.ScheduleDto;
import org.rcisoft.business.barrange.service.BArrangeService;
import org.rcisoft.business.bchapter.service.BChapterService;
import org.rcisoft.business.bclass.dao.BClassRepository;
import org.rcisoft.business.blesson.dao.BLessonRepository;
import org.rcisoft.business.brooms.dao.BRoomsRepository;
import org.rcisoft.business.bsl.dao.BSlRepository;
import org.rcisoft.business.bsl.entity.BSl;
import org.rcisoft.business.bterm.dao.BTermRepository;
import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.exception.ServiceException;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.result.ResultServiceEnums;
......@@ -25,9 +31,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import springfox.documentation.spring.web.json.Json;
import javax.security.auth.Subject;
import java.util.ArrayList;
import java.util.List;
......@@ -42,6 +46,15 @@ public class BArrangeServiceImpl implements BArrangeService {
@Autowired
private BArrangeRepository bArrangeRepository;
@Autowired
private BTermRepository bTermRepository;
@Autowired
private BSlRepository bSlRepository;
@Autowired
private BChapterService chapterService;
@Autowired
private BLessonRepository bLessonRepository;
......@@ -56,6 +69,8 @@ public class BArrangeServiceImpl implements BArrangeService {
/**
* 保存 bArrange
* @param json
......@@ -77,12 +92,24 @@ public class BArrangeServiceImpl implements BArrangeService {
for(int i = 0; i < childList.size() ; i++){
JSONObject subtask = childList.getJSONObject(i);
BSubtask bSubtask = new BSubtask();
List<BSubAgency> bSubAgencyList = new ArrayList<>();
bSubtask.setName(subtask.getString("name"));
bSubtask.setAgencyCode(subtask.getString("agencyCode"));
bSubtask.setArrangeId(bArrange.getBusinessId());
bSubtask.setStatus("0");
UserUtil.setCurrentPersistOperation(bSubtask);
subtaskList.add(bSubtask);
JSONArray childList2 = subtask.getJSONArray("childList");
for(int j = 0; j < childList2.size() ; j++){
JSONObject agency = childList2.getJSONObject(j);
BSubAgency bSubAgency = new BSubAgency();
bSubAgency.setAgencyCode("agencyCode");
bSubAgency.setStatus("0");
bSubAgency.setSubtaskId(bSubtask.getBusinessId());
UserUtil.setCurrentPersistOperation(bSubAgency);
bSubAgencyList.add(bSubAgency);
}
bArrangeRepository.insertBSubAgency(bSubAgencyList);
}
bArrangeRepository.insertBSubtask(subtaskList);
return new PersistModel(line);
......@@ -92,18 +119,21 @@ public class BArrangeServiceImpl implements BArrangeService {
* 分页查询 bArrange
* @return
*/
public List<BArrange> findAll(BArrange bArrange){
@Override
public List<BArrange> findAllByPagination(PageUtil paginationUtility, BArrange bArrange){
List<BArrange> list = bArrangeRepository.queryAll(bArrange);
return list;
}
@Override
public List<BArrange> findAllByAgencyCodeByPagination(PageUtil paginationUtility,BArrange bArrange) {
return bArrangeRepository.queryByAgencyCode(bArrange);
}
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
@Override
public PersistModel importExcel(HSSFWorkbook hwb, String token) {
public PersistModel importExcel(HSSFWorkbook hwb, String token , String subAgencyId) {
ArrayList<ScheduleDto> scheduleDtos = new ArrayList<ScheduleDto>();
//获取用户ID
String userBusinessId = UserUtil.getAuthenBusinessId();
String agencyCode = sysUserMapper.queryAgencyCodeByBusinessId(userBusinessId);
String[] headers = {"课程编号", "教师编号", "班级编号","教室编号","周次","周学时","周一",
"周二","周三","周四","周五","周六"};
......@@ -182,7 +212,7 @@ public class BArrangeServiceImpl implements BArrangeService {
scheduleDto.setThursday(value[9]);
scheduleDto.setFriday(value[10]);
scheduleDto.setSaturday(value[11]);
scheduleDto.setAgencyCode(agencyCode);
scheduleDto.setSubAgencyId(subAgencyId);
scheduleDto.setCommonBusinessId();
UserUtil.setCurrentPersistOperation(scheduleDto);
scheduleDtos.add(scheduleDto);
......@@ -215,4 +245,47 @@ public class BArrangeServiceImpl implements BArrangeService {
return new PersistModel(1, result);
}
@Override
public List<ScheduleDto> queryDtoBySubtaskId(String bSubtaskId) {
return bArrangeRepository.queryDtoByAgencySubtaskId(bSubtaskId);
}
@Override
public List<ScheduleDto> queryDtoByMany(String agencyCode,String name,String termCode,String teacherCode) {
return bArrangeRepository.queryDtoByAgencyMany(agencyCode,name,termCode,teacherCode);
}
@Override
public int changeArrangeToSl(String businessId, String subTaskId ,String termCode) {
int result = 0;
List<String> subTaskStatus = new ArrayList<>();//bArrangeRepository.querySubTaskStatus();
if(subTaskStatus.size()>1||subTaskStatus.get(0).equals("0")||subTaskStatus.get(0).equals("1")){
//当前子任务下有教学单位未完成审核,不能进行开课
throw new ServiceException(ResultServiceEnums.AGENCY_NOT_PASS);
}
List<String> agencyCodes = new ArrayList<>();//bArrangeRepository.queryAgencyCode(subTaskId);
List<BSl> sls = new ArrayList<>();
if(agencyCodes.size()>0){
for(String agencyCode : agencyCodes){
List<ScheduleDto> schedules = bArrangeRepository.queryDtoByAgencyCode(agencyCode);
for(ScheduleDto schedule : schedules){
BSl sl = new BSl();
sl.setLessonCode(schedule.getLessonCode());
sl.setTeacherCode(schedule.getTeacherCode());
sl.setTermCode(termCode);
//学期编号+学期中存放的开课序号最大值+1作为新的开课序号
sl.setCode(termCode+String.valueOf(bTermRepository.queryMaxSlCodeByTermCode(termCode)+1));
sl.setAuditStatus("0");
UserUtil.setCurrentPersistOperation(sl);
sls.add(sl);
bTermRepository.MaxSlCodeByTermCode(termCode);//将该学期的开课序号最大值+1
//复制章节及文件目录
chapterService.addBslFormLesson(null,sl.getLessonCode(), sl.getBusinessId());
}
result =bSlRepository.insertList(sls);
}
}
return result;
}
}
......@@ -23,9 +23,7 @@ public interface BCourseCodeRepository extends BaseMapper<BCourseCode> {
*/
@Select("<script>select * from b_course_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> "
+ "order by seq"
+ "</script>")
+ "order by seq asc</script>")
@ResultMap(value = "BaseResultMap" )
List<BCourseCode> queryBCourseCodes(BCourseCode bCourseCode);
......
......@@ -54,7 +54,6 @@ public class BCourseCodeServiceImpl implements BCourseCodeService {
*/
@Override
public List<BCourseCode> findAll(BCourseCode bCourseCode){
// bCourseCode.setStart();
bCourseCode.setNotDeleted();
return bCourseCodeRepository.queryBCourseCodes(bCourseCode);
}
......
......@@ -37,26 +37,27 @@ public class BOpinionController extends PaginationController<BOpinion> {
data);
}
// @ApiOperation(value="审核通过", notes="根据排课ID通过审核")
// @ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar")})
// @PutMapping(value = "/auditPass")
// public Result auditPass(@RequestParam String businessId){
// PersistModel data = bOpinionService.auditPass(businessId);
// return Result.builder(new PersistModel(1),
// MessageConstant.MESSAGE_ALERT_SUCCESS,
// MessageConstant.MESSAGE_ALERT_ERROR,
// data);
// }
//
// @ApiOperation(value="审核驳回", notes="审核驳回,填写审核意见")
// @ApiImplicitParams({@ApiImplicitParam(name = "opinion", value = "审核意见(1-200)", required = true, dataType = "varchar")})
// @PostMapping("/auditFail")
// public Result auditFail(@RequestBody BOpinion bOpinion){
// PersistModel data = bOpinionService.save(bOpinion);
// return Result.builder(data,
// MessageConstant.MESSAGE_ALERT_SUCCESS,
// MessageConstant.MESSAGE_ALERT_ERROR,
// bOpinion);
// }
@ApiOperation(value="审核通过", notes="根据排课ID通过审核")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "子任务ID(1-50)", required = true, dataType = "varchar")})
@PutMapping(value = "/auditPass")
public Result auditPass(@RequestParam String businessId){
PersistModel data = bOpinionService.auditPass(businessId);
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
data);
}
@ApiOperation(value="审核驳回", notes="审核驳回,填写审核意见")
@ApiImplicitParams({@ApiImplicitParam(name = "id", value = "子任务ID(1-50)", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "opinion", value = "审核意见(1-200)", required = true, dataType = "varchar")})
@PostMapping("/auditFail")
public Result auditFail(String opinion,String id){
PersistModel data = bOpinionService.save(opinion,id);
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
data);
}
}
......@@ -3,6 +3,7 @@ package org.rcisoft.business.bopinion.dao;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.rcisoft.business.barrange.entity.BSubtask;
import org.rcisoft.business.bopinion.entity.BOpinion;
import org.rcisoft.core.base.BaseMapper;
......@@ -17,7 +18,21 @@ public interface BOpinionRepository extends BaseMapper<BOpinion> {
@ResultMap(value = "BaseResultMap")
List<BOpinion> queryOpinionBySlId(String slId);
// @Update("update b_arrange set status = 1 where business_id = #{0} and del_flag = 0 and flag = 1")
// int changeArrangeStatus(String businessId);
/**
* 审核通过 通过已提交的
* @param businessId
* @return
*/
@Update("update b_subtask set status = 2 where business_id = #{0} and del_flag = 0 and flag = 1 and status = 1")
int changeSubtaskStatus(String businessId);
/**
* 查询驳回的子任务信息
* @param id
* @return
*/
@Select("select * from b_subtask where business_id = #{0} and del_flag = 0 and flag = 1")
@ResultMap("SubTaskResult")
BSubtask querySubtaskInfo(String id);
}
......@@ -5,6 +5,8 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;
import org.rcisoft.business.barrange.entity.BArrange;
import org.rcisoft.core.entity.IdEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
......@@ -19,11 +21,11 @@ import java.util.Date;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BOpinion {
public class BOpinion extends IdEntity<BOpinion> {
@Length(min = 1,max = 64,message = "长度最小为1,最大为50")
@NotBlank
private String businessId;
// @Length(min = 1,max = 64,message = "长度最小为1,最大为50")
// @NotBlank
// private String businessId;
@Length(min = 1,max = 255,message = "长度最小为1,最大为200")
@NotBlank
......@@ -38,6 +40,6 @@ public class BOpinion {
private String agencyCode;
private String subtaskCode;
private String subtaskId;
}
......@@ -12,8 +12,8 @@ public interface BOpinionService {
List<BOpinion> queryOpinionBySlId(String slId);
// PersistModel auditPass(String businessId);
PersistModel auditPass(String businessId);
// PersistModel save(BOpinion bOpinion);
PersistModel save(String opinion,String id);
}
package org.rcisoft.business.bopinion.service.impl;
import org.rcisoft.business.barrange.entity.BSubtask;
import org.rcisoft.business.bopinion.dao.BOpinionRepository;
import org.rcisoft.business.bopinion.entity.BOpinion;
import org.rcisoft.business.bopinion.service.BOpinionService;
......@@ -11,6 +12,8 @@ import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
......@@ -28,18 +31,37 @@ public class BOpinionServiceImpl implements BOpinionService{
return bOpinionRepository.queryOpinionBySlId(slId);
}
// @Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
// @Override
// public PersistModel auditPass(String businessId) {
// int line = bOpinionRepository.changeArrangeStatus(businessId);
// return new PersistModel(line);
// }
// @Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
// @Override
// public PersistModel save(BOpinion bOpinion) {
// int line = bOpinionRepository.insertSelective(bOpinion);
// return new PersistModel(line);
// }
/**
* 审核通过
* @param businessId
* @return
*/
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel auditPass(String businessId) {
int line = bOpinionRepository.changeSubtaskStatus(businessId);
return new PersistModel(line);
}
/**
* 审核驳回
* @param opinion
* @param id
* @return
*/
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel save(String opinion,String id) {
BSubtask bSubtask = bOpinionRepository.querySubtaskInfo(id);
BOpinion bOpinion = new BOpinion();
bOpinion.setCommonBusinessId();
bOpinion.setOpinion(opinion);
bOpinion.setArrangeId(bSubtask.getArrangeId());
bOpinion.setSubtaskId(bSubtask.getBusinessId());
Date day=new Date();
bOpinion.setCreateDate(day);
int line = bOpinionRepository.insertSelective(bOpinion);
return new PersistModel(line);
}
}
......@@ -123,7 +123,7 @@ public class BRoomsController extends FileController<BRooms> {
@PostMapping(value = "/uploadExcel")
public Result uploadExcel(@RequestParam(value="uploadFile",required=true) MultipartFile uploadFile){
String path = super.globalCommonFileUpload(uploadFile,"UUID",
"G:/testplace"+ File.separator + "/xmlAndHtml");
global.getBASE_UPLOAD_SERVER_LOCATION()+ File.separator + global.getXML_LOCATION());
return bRoomsServiceImpl.uploadExcel(path);
}
}
......@@ -154,6 +154,7 @@ public class Upload2DataBase {
}
finalResult.put("list",list);
finalResult.put("errorDetail",errorDetail);
file.delete();
return finalResult;
}
......
......@@ -50,7 +50,6 @@ public class BSl extends IdEntity<BSl> {
private String termCode;//学期编号
//private String isOnline;//是否上线,(0:待上线,1:已上线,2:已下线)
@Length(min = 1,max = 128,message = "长度最小为1,最大为100")
@NotBlank
private String slCoverUrl; //课程封面
@Length(min = 1,max = 200,message = "长度最小为1,最大为200")
private String slNotes; //课程简介
......@@ -61,10 +60,8 @@ public class BSl extends IdEntity<BSl> {
@Length(min = 1,max = 256,message = "长度最小为1,最大为200")
private String recommendCourse; //推荐原因
@Length(min = 1,max = 32,message = "长度最小为1,最大为30")
@NotBlank
private String gitLabProjectId; //gitlab项目id
@Length(min = 1,max = 256,message = "长度最小为1,最大为200")
@NotBlank
private String gitLabProjectName; //gitlab项目名
@Length(min = 1,max = 8,message = "长度最小为1,最大为8")
@NotBlank
......
......@@ -66,9 +66,9 @@ public interface BStudentRepository extends BaseMapper<BStudent> {
List<BStudent> queryStudentBySlCode(@Param("slCode") String slCode, @Param("classCode") String classCode);
@Insert("<script>INSERT INTO b_student" +
"(create_date,update_date,create_by,update_by,remarks,del_flag,flag,business_id,code)VALUES" +
"(create_date,update_date,create_by,update_by,remarks,del_flag,flag,business_id,code,grade_code)VALUES" +
"<foreach collection=\"list\" item=\"item\" separator=\",\">" +
"( #{item.createDate},#{item.updateDate},#{item.createBy},#{item.updateBy},#{item.remarks},#{item.delFlag},#{item.flag},#{item.businessId},#{item.code})" +
"( #{item.createDate},#{item.updateDate},#{item.createBy},#{item.updateBy},#{item.remarks},#{item.delFlag},#{item.flag},#{item.businessId},#{item.code},#{item.gradeCode})" +
"</foreach></script>")
int insertList(List<BStudent> bStudents);
......@@ -164,5 +164,9 @@ public interface BStudentRepository extends BaseMapper<BStudent> {
"and b_student.flag = 1")
@ResultMap(value = "BaseResultMap")
List<BStudent> queryStudentsByClassCode(String classCode);
@Select("select * from b_grade where code = #{gradeCode} and del_flag = 0 and flag = 1")
List<BStudent> checkStudentGrade(BStudent bStudent);
}
......@@ -127,7 +127,7 @@ public class BStudentServiceImpl implements BStudentService {
ArrayList<SysUser> users = new ArrayList<SysUser>();
ArrayList<UserRole> userRoles = new ArrayList<UserRole>();
String[] headers = {"学号", "学生姓名", "性别","邮箱","年级"};
ArrayList<String[]> values = ExcelUtil.importExcel(hwb, headers,false); //获取excel数据
ArrayList<String[]> values = ExcelUtil.importExcel(hwb, headers,true); //获取excel数据
if (values.size()<=0){
throw new ServiceException(ResultServiceEnums.EXCEL_IMPORT_DATA_NOT_EXIST);
......@@ -172,6 +172,14 @@ public class BStudentServiceImpl implements BStudentService {
continue;
}
//判断4:学年是否存在,存在才能录入
BStudent bs = new BStudent();
bs.setGradeCode(value[4]);
if (bStudentRepository.checkStudentGrade(bs).size() == 0){
valuesGrade.add(value[4]);
continue;
}
//合法:通过了三次判断,证明可建立该用户
valuesOK.add(value);
//为合法的用户建立Gitlab账户,并批量存储Student、User和UserRole;
......@@ -204,6 +212,7 @@ public class BStudentServiceImpl implements BStudentService {
//创建完Gitlab账户后,将完整的User信息和UserRole计入users和userRoles中等待插入数据库
BStudent bStudent = new BStudent(value[0]);
bStudent.setGradeCode(value[4]);
UserUtil.setCurrentPersistOperation(bStudent);
if (!students.contains(bStudent)) {
students.add(bStudent);
......@@ -234,6 +243,9 @@ public class BStudentServiceImpl implements BStudentService {
if(valuesEmailExist.size()>0){
result+="以下邮箱已注册:"+ JSON.toJSONString(valuesEmailExist)+"。";
}
if(valuesGrade.size()>0){
result+="以下学生的学年信息不存在:"+ JSON.toJSONString(valuesGrade)+"。";
}
if (valuesOK.size()<1){
......
package org.rcisoft.business.bsubtask.controller;
/*固定导入*/
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.rcisoft.common.controller.PaginationController;
import org.rcisoft.common.model.GridModel;
import org.springframework.validation.BindingResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.rcisoft.core.result.Result;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.constant.MessageConstant;
import org.rcisoft.core.util.UserUtil;
import javax.validation.Valid;
import org.rcisoft.business.bsubtask.entity.BSubtask;
import org.rcisoft.business.bsubtask.service.BSubtaskService;
import java.util.List;
/**
* Created by on 2018-4-25 10:50:35.
*/
@RestController
@RequestMapping("bsubtask")
public class BSubtaskController extends PaginationController<BSubtask> {
@Autowired
private BSubtaskService bSubtaskServiceImpl;
@ApiOperation(value="添加", notes="添加")
//@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = false, dataType = "varchar")})
@PostMapping(value = "/add")
public Result add(@Valid BSubtask bSubtask, BindingResult bindingResult) {
bSubtask.setToken(getToken());
PersistModel data = bSubtaskServiceImpl.save(bSubtask);
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
bSubtask);
}
@ApiOperation(value="逻辑删除", notes="逻辑删除")
@ApiImplicitParams({@ApiImplicitParam(name = "id", value = "id", required = false, dataType = "varchar")})
@DeleteMapping("/delete/{id:\\w+}")
public Result delete(@PathVariable String id) {
BSubtask bSubtask = new BSubtask();
bSubtask.setBusinessId(id);
bSubtask.setToken(getToken());
PersistModel data = bSubtaskServiceImpl.remove(bSubtask);
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
id);
}
@ApiOperation(value="修改", notes="修改")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = false, dataType = "varchar")})
@PutMapping("/update/{id:\\w+}")
public Result update(@Valid BSubtask bSubtask, BindingResult bindingResult) {
bSubtask.setToken(getToken());
PersistModel data = bSubtaskServiceImpl.merge(bSubtask);
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
bSubtask);
}
@ApiOperation(value="查看单 ", notes="查看单 ")
@GetMapping("/detail/{id:\\w+}")
public Result detail(@PathVariable String id) {
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
bSubtaskServiceImpl.findById(id));
}
@ApiOperation(value="查看 集合", notes="查看 集合")
@GetMapping(value = "/queryBSubtaskByPagination")
public GridModel listByPagination(BSubtask bSubtask) {
bSubtask.setCreateBy(UserUtil.getUserInfoProp(getToken(),UserUtil.USER_ID));
bSubtaskServiceImpl.findAllByPagination(getPaginationUtility(), bSubtask);
return getGridModelResponse();
}
}
package org.rcisoft.business.bsubtask.dao;
import org.rcisoft.core.base.BaseMapper;
import org.rcisoft.business.bsubtask.entity.BSubtask;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Created with on 2018-4-25 10:50:35.
*/
@Repository
public interface BSubtaskRepository extends BaseMapper<BSubtask> {
/**
* 分页查询 bSubtask
*
*/
@Select("<script>select * from b_subtask where 1=1 "
+ "<if test=\"delFlag !=null and delFlag != '' \">and del_flag = #{delFlag} </if> "
+ "<if test=\"flag !=null and flag != '' \">and flag = #{flag} </if> "
+ "</script>")
@ResultMap(value = "BaseResultMap" )
List<BSubtask> queryBSubtasks(BSubtask bSubtask);
}
package org.rcisoft.business.bsubtask.entity;
import lombok.*;
import org.rcisoft.core.entity.IdEntity;
import javax.persistence.*;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* Created with on 2018-4-25 10:50:35.
*/
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "b_subtask")
public class BSubtask extends IdEntity<BSubtask> {
private static final long serialVersionUID = -4657954042491427634L;
private String code;
private String name;
}
package org.rcisoft.business.bsubtask.service;
import org.rcisoft.business.bsubtask.entity.BSubtask;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.aop.PageUtil;
import java.util.List;
/**
* Created by on 2018-4-25 10:50:35.
*/
public interface BSubtaskService {
/**
* 保存
* @param bSubtask
* @return
*/
PersistModel save(BSubtask bSubtask);
/**
* 逻辑删除
* @param bSubtask
* @return
*/
PersistModel remove(BSubtask bSubtask);
/**
* 修改
* @param bSubtask
* @return
*/
PersistModel merge(BSubtask bSubtask);
/**
* 根据id查询
* @param id
* @return
*/
BSubtask findById(String id);
/**
* 分页查询
* @param bSubtask
* @return
*/
List<BSubtask> findAllByPagination(PageUtil<BSubtask> paginationUtility,
BSubtask bSubtask);
}
package org.rcisoft.business.bsubtask.service.impl;
import org.rcisoft.core.util.UserUtil;
import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.business.bsubtask.dao.BSubtaskRepository;
import org.rcisoft.business.bsubtask.entity.BSubtask;
import org.rcisoft.business.bsubtask.service.BSubtaskService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
/**
* Created by on 2018-4-25 10:50:35.
*/
@Service
@Transactional(readOnly = true,propagation = Propagation.NOT_SUPPORTED)
@Slf4j
public class BSubtaskServiceImpl implements BSubtaskService {
@Autowired
private BSubtaskRepository bSubtaskRepository;
/**
* 保存 bSubtask
* @param bSubtask
* @return
*/
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel save(BSubtask bSubtask){
//增加操作
UserUtil.setCurrentPersistOperation(bSubtask);
int line = bSubtaskRepository.insertSelective(bSubtask);
log.info(UserUtil.getUserInfoProp(bSubtask.getToken(),UserUtil.USER_USERNAME)+"新增了ID为"+
bSubtask.getBusinessId()+"的信息");
return new PersistModel(line);
}
/**
* 逻辑删除
* @param bSubtask
* @return
*/
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel remove(BSubtask bSubtask){
UserUtil.setCurrentMergeOperation(bSubtask);
bSubtask.setDeleted();
int line = bSubtaskRepository.logicalDelete(bSubtask);
log.info(UserUtil.getUserInfoProp(bSubtask.getToken(),UserUtil.USER_USERNAME)+"逻辑删除了ID为"+
bSubtask.getBusinessId()+"的信息");
return new PersistModel(line);
}
/**
* 修改 bSubtask
* @param bSubtask
* @return
*/
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel merge(BSubtask bSubtask){
UserUtil.setCurrentMergeOperation(bSubtask);
int line = bSubtaskRepository.updateByPrimaryKeySelective(bSubtask);
log.info(UserUtil.getUserInfoProp(bSubtask.getToken(),UserUtil.USER_USERNAME)+"修改了ID为"+
bSubtask.getBusinessId()+"的信息");
return new PersistModel(line);
}
/**
* 根据id查询 bSubtask
* @param id
* @return
*/
public BSubtask findById(String id){
return bSubtaskRepository.selectByPrimaryKey(id);
}
/**
* 分页查询 bSubtask
* @param bSubtask
* @return
*/
public List<BSubtask> findAllByPagination(PageUtil<BSubtask> paginationUtility,
BSubtask bSubtask){
bSubtask.setStart();
bSubtask.setNotDeleted();
return bSubtaskRepository.queryBSubtasks(bSubtask);
}
}
......@@ -21,29 +21,13 @@ public interface BTeacherRepository extends BaseMapper<BTeacher> {
* @param param
* @return
*/
@Select("<script>SELECT\n" +
"\tb.`business_id`,\n" +
"\tb.`is_recommend`,\n" +
"\tb.`recommend_date`,\n" +
"\tb.`recommend_order`,\n" +
"\tb.`recommend_course`,\n" +
"\tb.`code`,\n" +
"\tb.create_by,\n" +
"\tb.create_date,\n" +
"\tb.del_flag,\n" +
"\tb.flag,\n" +
"\tb.remarks,\n" +
"\tb.update_by,\n" +
"\tb.update_date,\n" +
"\tu.`name`,\n" +
"\tu.email,\n" +
"\tu.phone,\n" +
"\tu.sex,\n" +
"\tu.head_pic\n" +
"FROM\n" +
"\tb_teacher b\n" +
@Select("<script>SELECT b.`business_id`,b.`is_recommend`,b.`recommend_date`,b.`recommend_order`,b.`recommend_course`,b.`code`,\n" +
"b.create_by,b.create_date,b.del_flag,b.flag,b.remarks,b.update_by,b.update_date,u.`name`,u.email,\n" +
"u.phone,u.sex,u.head_pic,u.agency_code,ba.`name` as agencyName\n" +
"FROM b_teacher b\n" +
"LEFT JOIN s_user u ON b.`code` = u.login_name\n" +
" where b.del_flag != 1" +
"LEFT JOIN b_agency ba ON u.agency_code = ba.`code`\n" +
"where b.del_flag != 1" +
"<if test=\"name!=null\">and u.`name` like #{name}</if>"+
"<if test=\"code!=null\">and b.`code` like #{code}</if>" +
"<if test=\"teacherCode!=null\">and b.`code` != #{teacherCode}</if></script>")
......
......@@ -66,6 +66,13 @@ public class BTeacher extends IdEntity<BTeacher> {
@Transient
private String teacherCode;
@Transient
private String agencyName;
@Transient
private String agencyCode;
public BTeacher(String code) {
this.code = code;
}
......
......@@ -82,8 +82,8 @@ public class BTeacherServiceImpl implements BTeacherService {
ArrayList<UserRole> userRoles = new ArrayList<UserRole>();
String[] headers = {"教师工号", "教师姓名", "性别","邮箱"};
ArrayList<String[]> values = ExcelUtil.importExcel(hwb, headers,false); //获取excel数据
String[] headers = {"教师工号", "教师姓名", "性别","邮箱","教学单位编号"};
ArrayList<String[]> values = ExcelUtil.importExcel(hwb, headers,true); //获取excel数据
if (values.size() == 0){
throw new ServiceException(ResultServiceEnums.EXCEL_IMPORT_DATA_NOT_EXIST);
}
......@@ -92,6 +92,7 @@ public class BTeacherServiceImpl implements BTeacherService {
List<String> valuesRepeat = new ArrayList<>();
List<String> valuesShort = new ArrayList<>();
List<String> valuesEmailExist = new ArrayList<>();
List<String> valuesAgencyExist = new ArrayList<>();
for (String[] value : values) {
......@@ -126,6 +127,14 @@ public class BTeacherServiceImpl implements BTeacherService {
continue;
}
//判断4:教师的所属教学单位是否存在,存在才能添加;
SysUser user3 = new SysUser();
user3.setAgencyCode(value[4]);
if (sysUserMapper.checkTeacherAgency(user3).size() == 0){
valuesAgencyExist.add(value[4]);
continue;
}
//合法:通过了三次判断,证明可建立该用户
valuesOK.add(value);
......@@ -137,8 +146,9 @@ public class BTeacherServiceImpl implements BTeacherService {
value[2] = "";
//1. 添加user
SysUser user = new SysUser(value[0], passwordEncoder.encode(global.getDEFAULT_PASSWORD()), value[1], value[2]); //号,密码,姓名,性别;
SysUser user = new SysUser(value[0], passwordEncoder.encode(global.getDEFAULT_PASSWORD()), value[1], value[2]); //教师工号,密码,姓名,性别;
user.setEmail(value[3]);
user.setAgencyCode(value[4]);//教学单位编号
UserUtil.setCurrentPersistOperation(user);
//2 创建gitlab账户
/*GitUser gitUser = new GitUser();
......@@ -188,6 +198,9 @@ public class BTeacherServiceImpl implements BTeacherService {
if(valuesEmailExist.size()>0){
result+="以下教师邮箱已注册或格式不正确:"+ JSON.toJSONString(valuesEmailExist)+"。";
}
if (valuesAgencyExist.size()>0){
result+="以下教师的所属教学单位不存在:"+JSON.toJSONString(valuesAgencyExist)+"。";
}
if (valuesOK.size()<1){
throw new ServiceException(ResultServiceEnums.EXCEL_IMPORT_DB_INSERT_ERROR.getCode(),result);
......@@ -227,13 +240,13 @@ public class BTeacherServiceImpl implements BTeacherService {
BeanUtils.copyProperties((DataEntity) model, (DataEntity) user);
if (model.getBusinessId() == null) {
if (sysUserMapper.selectOne(new SysUser(model.getCode(),"0","1")) != null)
throw new ServiceException(ResultServiceEnums.TEACHER_EXISTS);
{throw new ServiceException(ResultServiceEnums.TEACHER_EXISTS);}
SysUser user1 = new SysUser();
user1.setEmail(model.getEmail());
user1.setDelFlag("0");
user1.setFlag("1");
if(sysUserMapper.selectOne(user1)!=null)
throw new ServiceException(ResultServiceEnums.EMAIL_EXISTS);
{throw new ServiceException(ResultServiceEnums.EMAIL_EXISTS);}
//1添加用户
user.setHeadPic(global.getDEFAULT_TEACHER_LOCATION());
UserUtil.setCurrentPersistOperation(user);
......@@ -249,13 +262,13 @@ public class BTeacherServiceImpl implements BTeacherService {
line = bTeacherRepository.insertSelective(model);
if (line1 != line)
throw new ServiceException(ResultServiceEnums.INSERT_ERROR);
{throw new ServiceException(ResultServiceEnums.INSERT_ERROR);}
} else {
UserUtil.setCurrentMergeOperation(model);
line = bTeacherRepository.updateByPrimaryKeySelective(model);
String uid = sysUserMapper.selectUserIdByStuOrTeaId(model.getBusinessId(), "b_teacher");
if (uid == null)
throw new ServiceException(ResultServiceEnums.STUDENT_NOT_EXISTS);
{throw new ServiceException(ResultServiceEnums.STUDENT_NOT_EXISTS);}
userService.updateUser(user,uid,line);
}
return new PersistModel(line);
......@@ -264,13 +277,13 @@ public class BTeacherServiceImpl implements BTeacherService {
private Map<String, Object> queryParamHandler(BTeacher model) {
Map param = new HashMap<String, Object>();
if (model.getName() != null)
param.put("name", "%" + model.getName() + "%");
{param.put("name", "%" + model.getName() + "%");}
else
param.put("name", "%%");
{param.put("name", "%%");}
if (model.getCode() != null)
param.put("code", "%" + model.getCode() + "%");
{param.put("code", "%" + model.getCode() + "%");}
else
param.put("code", "%%");
{param.put("code", "%%");}
param.put("teacherCode", model.getTeacherCode());
return param;
}
......
......@@ -37,12 +37,12 @@ public interface BTermRepository extends BaseMapper<BTerm> {
List<BTerm> queryBtermByCode(String code);
@Select("<script>select * from b_term " +
"where del_flag != 1 and flag = 1 and is_start = 1 " +
"where del_flag != 1 and flag = 1 " +
"and (#{nowTime} BETWEEN start_date AND end_date) " +
"UNION " +
"select * from b_term " +
"where del_flag != 1 and flag = 1 and is_start = 1" +
"</script>")
"where del_flag != 1 and flag = 1 and is_start = 1 " +
"order by current desc</script>")
@ResultMap(value = "BaseResultMap" )
List<BTerm> queryBTermList(String nowTime);
......@@ -52,6 +52,12 @@ public interface BTermRepository extends BaseMapper<BTerm> {
@Update("<script>update b_term set current = '1' where business_id = #{id}</script>")
int changeCurrent(String id);
@Select("select max_sl_code from b_term where code = #{termCode}")
int queryMaxSlCodeByTermCode(String termCode);
@Update("update b_term set max_sl_code = max_sl_code+1 where code = #{termCode} ")
int MaxSlCodeByTermCode(String termCode);
/*
这里可以不写,因为这个写的是 导入excel文件格式的时候的 插入,不是正常单个插入
......
......@@ -48,6 +48,9 @@ public class BTerm extends IdEntity<BTerm> {
@Length(min = 1,max = 50,message = "长度最小为1,最大为50")
private String name;
/*是否是当前学期*/
private String current;
}
......@@ -257,4 +257,7 @@ public class Global {
/*redis缓存超时时间*/
@Value("${spring.redis.timeout}")
private Integer REDIS_TIMEOUT;
@Value("${global.path.xml_location}")
private String XML_LOCATION;
}
......@@ -158,7 +158,9 @@ public enum ResultServiceEnums {
NEXT_NOT_DISABLED (85,"停用失败,在此之后存在未停用的课程节点"),
CODE_IS_EXISTS (86,"编号重复")
CODE_IS_EXISTS (86,"编号重复"),
AGENCY_NOT_PASS (87,"有教学单位未完成审核,不能进行开课")
;
......
package org.rcisoft.core.util;
/**
* 判断字符串中是否含有中文
* Created by Administrator on 2018/4/26.
*/
public class TestChinese {
public static boolean isChineseChar(char c) {
return c >= 0x4E00 && c <= 0x9FA5;// 根据字节码判断
}
public static boolean isChinese(String str) {
if (str == null) return false;
for (char c : str.toCharArray()) {
if (isChineseChar(c)) return true;// 有一个中文字符就返回
}
return false;
}
}
......@@ -29,6 +29,7 @@ public class ExcelDownloadController {
private static final String STUDNET_SL_FILE_NAME = "student-sl.xls";
private static final String LESSON_FILE_NAME = "lesson.xls";
private static final String SL_FILE_NAME = "sl.xls";
private static final String ROOM_FILE_NAME = "room.xls";
@Autowired
private Global global;
......@@ -89,6 +90,9 @@ public class ExcelDownloadController {
case "7":
name = SL_FILE_NAME;
break;
case "8":
name = ROOM_FILE_NAME;
break;
}
return name;
}
......
......@@ -2,6 +2,7 @@ package org.rcisoft.sys.user.dao;
import org.apache.ibatis.annotations.*;
import org.rcisoft.business.bagency.entity.BAgency;
import org.rcisoft.core.base.BaseMapper;
import org.rcisoft.sys.user.entity.SysUser;
import org.rcisoft.sys.user.entity.UserRole;
......@@ -25,9 +26,9 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
List<SysUser> queryUserByName(String username);
@Insert("<script>INSERT INTO s_user" +
"(create_date,update_date,create_by,update_by,remarks,del_flag,flag,business_id,login_name,password,name,sex,git_lab_id,git_lab_username,git_lab_impression_token,head_pic,email)VALUES" +
"(create_date,update_date,create_by,update_by,remarks,del_flag,flag,business_id,login_name,password,name,sex,git_lab_id,git_lab_username,git_lab_impression_token,head_pic,email,agency_code)VALUES" +
"<foreach collection=\"list\" item=\"item\" separator=\",\">" +
"( #{item.createDate},#{item.updateDate},#{item.createBy},#{item.updateBy},#{item.remarks},#{item.delFlag},#{item.flag},#{item.businessId},#{item.loginName},#{item.password},#{item.name},#{item.sex},#{item.gitLabId},#{item.gitLabUsername},#{item.gitLabImpressionToken},#{item.headPic},#{item.email})" +
"( #{item.createDate},#{item.updateDate},#{item.createBy},#{item.updateBy},#{item.remarks},#{item.delFlag},#{item.flag},#{item.businessId},#{item.loginName},#{item.password},#{item.name},#{item.sex},#{item.gitLabId},#{item.gitLabUsername},#{item.gitLabImpressionToken},#{item.headPic},#{item.email},#{item.agencyCode})" +
"</foreach></script>")
int insertList(List<SysUser> users);
......@@ -82,4 +83,8 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
@Select("<script>select agency_code from s_user where business_id = #{businessId}</script>")
String queryAgencyCodeByBusinessId(String businessId);
@Select("select * from b_agency where code = #{agencyCode} and del_flag = 0 and flag = 1")
List<BAgency> checkTeacherAgency(SysUser sysUser);
}
......@@ -137,6 +137,7 @@ global:
cource_code_location: code
cource_project_location: project
student_code_location: studentCode
xml_location: /xmlTemp
other:
server_url: http://127.0.0.1:8888/eduServer
is_server_linux: 5
......
......@@ -138,6 +138,7 @@ global:
cource_code_location: code
cource_project_location: project
student_code_location: studentCode
xml_location: /xmlTemp
other:
server_url: http://106.2.3.134:10180/eduServer
is_server_linux: 1
......
......@@ -8,7 +8,18 @@
<result column="sl_id" jdbcType="VARCHAR" property="slId"/>
<result column="arrange_id" jdbcType="VARCHAR" property="arrangeId"/>
<result column="agency_code" jdbcType="VARCHAR" property="agencyCode"/>
<result column="subtask_code" jdbcType="VARCHAR" property="subtaskCode"/>
<result column="subtask_id" jdbcType="VARCHAR" property="subtaskId"/>
</resultMap>
<resultMap id="SubTaskResult" type="org.rcisoft.business.barrange.entity.BSubtask">
<id column="business_id" jdbcType="VARCHAR" property="businessId"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
<result column="agency_code" jdbcType="VARCHAR" property="agencyCode"/>
<result column="arrange_id" jdbcType="VARCHAR" property="arrangeId"/>
<result column="status" jdbcType="VARCHAR" property="status"/>
</resultMap>
</mapper>
\ No newline at end of file
......@@ -25,7 +25,7 @@
<insert id="addExcel">
insert into b_rooms(business_id,campus,building,classroom_no,classroom_name,category,class_seat,exam_seat,
plan,flag,del_flag,update_by,create_by,create_date,update_date,code)
plan,flag,del_flag,update_by,create_by,create_date,update_date,`code`)
values
<foreach collection="list" item="item" separator=",">
(#{item.businessId},#{item.campus},#{item.building},
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.rcisoft.business.bsubtask.dao.BSubtaskRepository">
<resultMap id="BaseResultMap" type="org.rcisoft.business.bsubtask.entity.BSubtask">
<id column="business_id" jdbcType="VARCHAR" property="businessId"/>
<result column="create_by" jdbcType="VARCHAR" property="createBy"/>
<result column="create_date" jdbcType="TIMESTAMP" property="createDate"/>
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/>
<result column="del_flag" jdbcType="VARCHAR" property="delFlag"/>
<result column="flag" jdbcType="VARCHAR" property="flag"/>
<result column="remarks" jdbcType="VARCHAR" property="remarks"/>
<result column="code" jdbcType="VARCHAR" property="code"/>
<result column="name" jdbcType="VARCHAR" property="name"/>
</resultMap>
<!--<cache type="${corePackag!}.util.RedisCache"/>-->
</mapper>
\ No newline at end of file
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