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

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