|
@@ -129,13 +129,18 @@ public class DataUtil {
|
|
|
stduyStatus.add(jsonObject.get("orgIndexCode").getAsString());
|
|
|
}
|
|
|
}
|
|
|
+ if(stduyStatus.isEmpty()){
|
|
|
+ for (Map<String, Object> dict : detailList) {
|
|
|
+ stduyStatus.add(dict.get("code").toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
//推送班级类型
|
|
|
sql = "SELECT * FROM xjr_dictionary_detail WHERE delete_mark = 0 AND item_id = 2023000000000000039";
|
|
|
- detailList = SqlRunnerAdapter.db().selectList(sql);
|
|
|
+ List<Map<String, Object>> classTypeList = SqlRunnerAdapter.db().selectList(sql);
|
|
|
dataArray = new JsonArray();
|
|
|
Set<String> classTypeSet = new HashSet<>();
|
|
|
for (String status : stduyStatus) {
|
|
|
- for (Map<String, Object> dict : detailList) {
|
|
|
+ for (Map<String, Object> dict : classTypeList) {
|
|
|
if(tableData != null && tableData.containsKey(dict.get("code").toString())){
|
|
|
classTypeSet.add(dict.get("code").toString());
|
|
|
continue;
|
|
@@ -198,35 +203,36 @@ public class DataUtil {
|
|
|
idMap.put(idCodeMap.get(jsonObject.get("clientId").getAsInt()), jsonObject.get("orgIndexCode").getAsString());
|
|
|
gradeSet.add(jsonObject.get("orgIndexCode").getAsString());
|
|
|
}
|
|
|
+ }else{
|
|
|
+ sql = "select * from hikvision_data where table_name = 'base_grade'";
|
|
|
+ List<Map<String, Object>> gradeDataList = SqlRunnerAdapter.db().selectList(sql);
|
|
|
+ for (Map<String, Object> objectMap : gradeDataList) {
|
|
|
+ gradeSet.add(objectMap.get("hikvision_id").toString());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//推送班级
|
|
|
- sql = "SELECT * FROM base_class WHERE delete_mark = 0 AND is_graduate = 1 AND class_type IS NOT NULL";
|
|
|
- List<Map<String, Object>> classList = SqlRunnerAdapter.db().selectList(sql, BaseClass.class);
|
|
|
+ sql = "SELECT CONCAT(t1.id,'-',REPLACE(t2.name,'级',''),'-',t1.class_type) AS id,t1.name,t1.class_type," +
|
|
|
+ " CONCAT(REPLACE(t2.name,'级',''),'-',t1.class_type) as orgIndexCode FROM base_class t1" +
|
|
|
+ " INNER JOIN base_grade t2 ON t1.grade_id = t2.id" +
|
|
|
+ " WHERE t1.delete_mark = 0 AND t1.is_graduate = 1" +
|
|
|
+ " AND t1.class_type IS NOT NULL";
|
|
|
+ List<Map<String, Object>> classList = SqlRunnerAdapter.db().selectList(sql);
|
|
|
|
|
|
dataArray = new JsonArray();
|
|
|
- for (String grade : gradeSet) {
|
|
|
- String[] gradeGroup = grade.split("-");
|
|
|
+ for (String stduyStatu : stduyStatus) {
|
|
|
for (Map<String, Object> baseClass : classList) {
|
|
|
- if(tableData != null && tableData.containsKey(baseClass.get("id").toString())){
|
|
|
- continue;
|
|
|
- }
|
|
|
- String gradeName = gradeNameMap.get(Long.parseLong(baseClass.get("grade_id").toString()));
|
|
|
- if(!gradeGroup[0].equals(gradeName)){
|
|
|
- continue;
|
|
|
- }
|
|
|
-
|
|
|
- if(!gradeGroup[1].equals(baseClass.get("class_type").toString())){
|
|
|
+ if(tableData != null && tableData.containsKey(baseClass.get("id").toString() + "-" + stduyStatu)){
|
|
|
continue;
|
|
|
}
|
|
|
JsonObject paramJson = new JsonObject();
|
|
|
paramJson.addProperty("clientId", clientId);
|
|
|
- paramJson.addProperty("orgIndexCode", baseClass.get("grade_id").toString() + "-" + grade);
|
|
|
+ paramJson.addProperty("orgIndexCode", baseClass.get("id").toString() + "-" + stduyStatu);
|
|
|
paramJson.addProperty("orgName", baseClass.get("name").toString());
|
|
|
- paramJson.addProperty("parentIndexCode", grade);
|
|
|
- paramJson.addProperty("orgCode", clientId);
|
|
|
+ paramJson.addProperty("parentIndexCode", baseClass.get("orgIndexCode").toString() + "-" + stduyStatu);
|
|
|
+ paramJson.addProperty("orgCode", baseClass.get("id").toString() + "-" + stduyStatu);
|
|
|
dataArray.add(paramJson);
|
|
|
- idCodeMap.put(clientId, baseClass.get("grade_id").toString() + "-" + grade);
|
|
|
+ idCodeMap.put(clientId, baseClass.get("orgIndexCode").toString() + "-" + stduyStatu);
|
|
|
clientId ++;
|
|
|
}
|
|
|
}
|