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

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);
}
}