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.
148 lines
5.5 KiB
148 lines
5.5 KiB
package com.dsideal.newUniversityExamination.selectcourse.service;
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.dsideal.newUniversityExamination.util.BorrowUtil;
|
|
import com.dsideal.newUniversityExamination.util.COMMON;
|
|
import com.dsideal.newUniversityExamination.util.Constant;
|
|
import com.dsideal.newUniversityExamination.util.ToolsUtil;
|
|
import com.jfinal.plugin.activerecord.Record;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.regex.Pattern;
|
|
|
|
|
|
public class SelectCourseBaseService {
|
|
public static final SelectCourseBaseService service = new SelectCourseBaseService();
|
|
|
|
/**
|
|
* @Description: 获取班级名称
|
|
* @author :周明升
|
|
* @date: 2018-12-3 上午10:37:18
|
|
* @return: JSONObject
|
|
* @throws
|
|
*/
|
|
public JSONObject getClassInfoByClassId(String classIds,String classTypes,int operaType){
|
|
JSONObject returnJson = new JSONObject();
|
|
Map<String, Record> map = new HashMap<String, Record>();
|
|
returnJson.put("map", map);
|
|
/*构造查询入参*/
|
|
JSONObject jsonObj = getClassJson(classIds,classTypes,operaType);
|
|
boolean success = jsonObj.getBooleanValue("success");
|
|
if(!success){
|
|
JSONArray trueClassArray = jsonObj.getJSONArray("class_list");
|
|
if(!COMMON.isEmpty(trueClassArray)){
|
|
List<Record> trueClassList = ToolsUtil.JSONArray2List(trueClassArray);
|
|
String trueClassIds = ToolsUtil.getIds(trueClassList, "class_id");
|
|
String trueClassTypes = ToolsUtil.getIds(trueClassList, "class_type");
|
|
returnJson = getClassInfoByClassId(trueClassIds, trueClassTypes, operaType);
|
|
}
|
|
returnJson.put("success", success);
|
|
return returnJson ;
|
|
}
|
|
JSONArray array = new JSONArray();
|
|
array = jsonObj.getJSONArray("class_list");
|
|
for(int i = 0 ;i< array.size() ;i++){
|
|
JSONObject json = array.getJSONObject(i);
|
|
String classId = String.valueOf(json.get("class_id"));
|
|
String classType = String.valueOf(json.get("class_type"));
|
|
String className = String.valueOf(json.get("class_name"));
|
|
String entranceYear = String.valueOf(json.get("entrance_year"));
|
|
Record record = new Record().set("class_id", classId).set("class_name", className).set("entrance_year", entranceYear);
|
|
String classtypeTeaching = String.valueOf(json.get("classtype_teaching"));
|
|
Object courseObj = json.get("course");
|
|
Object groupIdObj = json.get("group_id");
|
|
String course =COMMON.isEmpty(courseObj)?"0":String.valueOf(courseObj);
|
|
String groupId =COMMON.isEmpty(courseObj)?"0":String.valueOf(groupIdObj);
|
|
record.set("course", course).set("group_id", groupId).set("classtype_teaching", classtypeTeaching);
|
|
if(operaType==3){
|
|
record.set("student_list", json.get("student_list"));
|
|
}
|
|
String key = classId+"|"+classType;
|
|
map.put(key, record);
|
|
}
|
|
returnJson.put("success", success);
|
|
return returnJson;
|
|
}
|
|
public int getCusinessClassType(String baseClassType,String classtypeTeaching){
|
|
int classType = 2 ;
|
|
if("1".equals(baseClassType)){
|
|
classType = 2 ;
|
|
}else if ("2".equals(baseClassType)&&"0".equals(classtypeTeaching)){
|
|
classType = 0 ;
|
|
}else if ("2".equals(baseClassType)&&"1".equals(classtypeTeaching)){
|
|
classType =1 ;
|
|
}
|
|
return classType ;
|
|
}
|
|
|
|
public JSONObject getClassJson(String classIds,String classTypes,int operaType){
|
|
List<JSONObject> list = new ArrayList<>();
|
|
JSONObject classInfo = new JSONObject();
|
|
JSONArray classList = new JSONArray();
|
|
String[] strClasses = classIds.split(",");
|
|
String[] strClassTypes = classTypes.split(",");
|
|
for(int index=0;index<strClasses.length;index++){
|
|
JSONObject classObj = new JSONObject();
|
|
classObj.put("class_id", strClasses[index]);
|
|
classObj.put("class_type", strClassTypes[index]);
|
|
list.add(classObj);
|
|
}
|
|
ToolsUtil.removeDuplicate(list, "class_id,class_type");
|
|
for(JSONObject json : list){
|
|
classList.add(json);
|
|
}
|
|
classInfo.put("class_list", classList);
|
|
classInfo.put("opera_type", operaType);
|
|
System.out.println("调基础数据参数classInfo"+classInfo.toJSONString());
|
|
JSONObject jsonObj = BorrowUtil.getClassInfoAndPersonList(classInfo);
|
|
return jsonObj ;
|
|
}
|
|
public JSONObject failedResult(String error){
|
|
JSONObject returnJson = new JSONObject();
|
|
returnJson.put("success", Constant.FALSE);
|
|
returnJson.put("info", error);
|
|
return returnJson;
|
|
}
|
|
public JSONObject returnJsonResult(Boolean flag){
|
|
JSONObject returnJson = new JSONObject();
|
|
returnJson.put("success",flag);
|
|
if(flag){
|
|
returnJson.put("info", Constant.SUCCESS_INFO);
|
|
}else {
|
|
returnJson.put("info", Constant.FALSE_INFO);
|
|
|
|
}
|
|
return returnJson;
|
|
}
|
|
/**
|
|
* @description 检验 字符串 是否是数据(包括小数)
|
|
* @author Mr.zms
|
|
* @date 2019/6/25
|
|
* @return boolean
|
|
*/
|
|
public boolean isNumeric(String str){
|
|
String patterString = "[0-9]*";
|
|
Pattern pattern = Pattern.compile(patterString);
|
|
//判断是否有小数点
|
|
if(str.indexOf(".")>0){
|
|
//判断是否只有一个小数点
|
|
if(str.indexOf(".")==str.lastIndexOf(".") && str.split("\\.").length==2){
|
|
return pattern.matcher(str.replace(".","")).matches();
|
|
}else {
|
|
return false;
|
|
}
|
|
}else {
|
|
return pattern.matcher(str).matches();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|