You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
4.0 KiB
115 lines
4.0 KiB
package com.dsideal.newUniversityExamination.selectcourse.service;
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.dsideal.newUniversityExamination.selectcourse.model.CurriculumPlanModel;
|
|
import com.dsideal.newUniversityExamination.selectcourse.model.SubjectModel;
|
|
import com.dsideal.newUniversityExamination.selectcourse.util.SelectCourseUtil;
|
|
import com.dsideal.newUniversityExamination.util.COMMON;
|
|
import com.dsideal.newUniversityExamination.util.ToolsUtil;
|
|
import com.jfinal.plugin.activerecord.Record;
|
|
|
|
public class SubjectService {
|
|
|
|
public static final SubjectService service = new SubjectService();
|
|
|
|
public JSONObject saveSubject(String subjectId, String subjectName,
|
|
String stageId, String bureauId, String bUse) {
|
|
JSONObject returnJson = new JSONObject();
|
|
Record record= new Record();
|
|
record.set("bureau_id",bureauId);
|
|
record.set("subject_name",subjectName);
|
|
record.set("stage_id",stageId);
|
|
record.set("b_use",bUse);
|
|
record.set("type",2);
|
|
record.set("is_delete",0);
|
|
boolean flag = false ;
|
|
if(!COMMON.isEmpty(subjectId)){
|
|
record.set("subject_id", subjectId);
|
|
if("0".equals(bUse)){ //如果禁用了
|
|
flag = checkSubjectBuse(bureauId, subjectId);
|
|
if(!flag){
|
|
returnJson.put("success", flag);
|
|
returnJson.put("info", "当前课程被课程计划使用,不能禁用。");
|
|
return returnJson ;
|
|
}
|
|
}
|
|
flag = SubjectModel.dao.updateSubject(record);
|
|
}else{
|
|
Record existRecord = SubjectModel.dao.getRecordBySubjectName(record);
|
|
if(!COMMON.isEmpty(existRecord)){
|
|
returnJson.put("success", false);
|
|
returnJson.put("info", "课程名称重复");
|
|
return returnJson;
|
|
}
|
|
flag = SubjectModel.dao.saveSubject(record);
|
|
}
|
|
returnJson.put("success", flag);
|
|
if(flag){
|
|
returnJson.put("info", "操作成功");
|
|
}else{
|
|
returnJson.put("info", "操作失败");
|
|
}
|
|
return returnJson;
|
|
}
|
|
|
|
private boolean checkSubjectBuse(String bureauId,String subejctIds){
|
|
Record record = CurriculumPlanModel.dao.getSubjectListsByCurriculum(bureauId);
|
|
if(!COMMON.isEmpty(record)){
|
|
String baseSubjectIds = String.valueOf(record.get("base_subjects"));
|
|
String [] subjectArray = subejctIds.split(",");
|
|
for(String subjectId : subjectArray){
|
|
if(ToolsUtil.arrayIncludeStr(baseSubjectIds, subjectId)){
|
|
return false ;
|
|
}
|
|
}
|
|
}
|
|
return true ;
|
|
}
|
|
|
|
public JSONObject delSubject(String subjectIds,String bureauId ) {
|
|
JSONObject returnJson = new JSONObject();
|
|
String[] subjectIdArr = subjectIds.split(",");
|
|
boolean flag = checkSubjectBuse(bureauId, subjectIds);
|
|
if(!flag){
|
|
returnJson.put("success", flag);
|
|
returnJson.put("info", "当前课程被课程计划使用,不能删除。");
|
|
return returnJson ;
|
|
}
|
|
for(int i=0;i<subjectIdArr.length;i++){
|
|
String subjectId = subjectIdArr[i];
|
|
SubjectModel.dao.delSubject(subjectId);
|
|
flag= true ;
|
|
}
|
|
returnJson.put("info", "成功");
|
|
returnJson.put("success", flag);
|
|
return returnJson ;
|
|
}
|
|
|
|
public String getSubjectList(String bureauId,String stageId,String subjectName,String bUse,String type,int pageSize,int pageNumber){
|
|
if(COMMON.isEmpty(stageId)){
|
|
JSONObject jsonOb = SelectCourseUtil.getEduUnitByOrgId(bureauId);
|
|
if(!COMMON.isEmpty(jsonOb)){
|
|
int schoolType=Integer.parseInt(String.valueOf(jsonOb.get("SCHOOL_TYPE"))) ;
|
|
if(schoolType==3){
|
|
stageId = "6";
|
|
}else if(schoolType==4){
|
|
stageId = "5,6";
|
|
}else if(schoolType==2){
|
|
stageId = "5";
|
|
}else if(schoolType==1){
|
|
stageId = "4";
|
|
}
|
|
}
|
|
}
|
|
String str = SubjectModel.dao.getSubjectList(pageSize, pageNumber, bureauId, stageId, bUse, subjectName, type);
|
|
return str ;
|
|
}
|
|
|
|
public JSONObject getSubjectInfoById(String subjectId){
|
|
Record record = SubjectModel.dao.getSubjectInfoById(subjectId);
|
|
record.set("success", true);
|
|
return (JSONObject)COMMON.convertNull2EmptyString(record);
|
|
}
|
|
|
|
}
|