kgdxpr 2 years ago
commit e5991230d1

@ -2036,74 +2036,15 @@ public class CollectController extends Controller {
/**
*
* http://10.10.21.20:9000/QingLong/collect/getAllBureau?type_id=1
* http://10.10.21.20:9000/QingLong/collect/getAllBureau?is_match=1&page=1&limit=20
*/
@Before({GET.class, RepeatIntercetpor.class})
@IsNumericInterface({"type_id"})
public void getAllBureau(int type_id) {
List<Record> list = cm.getAllBureau(type_id);
@IsNumericInterface({"is_match", "page", "limit"})
public void getAllBureau(int is_match, int page, int limit) {
Page<Record> list = cm.getAllBureau(is_match, page, limit);
renderJson(CommonUtil.renderJsonForLayUI(list));
}
/**
*
* http://10.10.21.20:9000/QingLong/collect/getTyAllBureau
* type_id: 1:0-1
*
* @throws InterruptedException
*/
@Before({GET.class, RepeatIntercetpor.class})
@IsNumericInterface({"type_id"})
public void getTyAllBureau(int type_id) throws InterruptedException {
String KEY = "TY_BUREAU";
//从天喻获取所有单位名单
List<JSONObject> list = new ArrayList<>();
if (!RedisKit.Exists(KEY)) {
//获取所有机构+学校
com.YunXiao.Model.BaseModel ybm = new com.YunXiao.Model.BaseModel();
List<JSONObject> jBureauList = ybm.getBureauList();
for (JSONObject jo : jBureauList) {
String org_id = jo.getString("org_id");
String org_name = jo.getString("org_name");
JSONObject jo2 = new JSONObject();
jo2.put("org_id", org_id);
jo2.put("org_name", org_name);
list.add(jo2);
}
//缓存到 Redis中有效期12小时
RedisKit.Set(KEY, list.toString());
RedisKit.Expire(KEY, 60 * 60 * 12);
} else {
String json = RedisKit.Get(KEY);
JSONArray ja = JSONArray.parseArray(json);
for (int i = 0; i < ja.size(); i++) list.add(ja.getJSONObject(i));
}
//我们系统中的所有单位
Map<String, Record> map = cm.getAllMatchBureau();
for (JSONObject jo : list) {
if (map.containsKey(jo.getString("org_id"))) {
String third_party_org_id = jo.getString("org_id");
Record record = map.get(third_party_org_id);
jo.put("is_match", 1);
jo.put("match_org_id", record.getStr("org_id"));
jo.put("match_org_name", record.getStr("org_name"));
} else jo.put("is_match", 0);
}
SortClass sort = new SortClass();
Collections.sort(list, sort);
List<JSONObject> res = new ArrayList<>();
for (JSONObject jsonObject : list) {
int is_match = jsonObject.getInteger("is_match");
if (type_id == 1 && is_match == 1) res.add(jsonObject);
if (type_id == 0 && is_match == 0) res.add(jsonObject);
if (type_id == -1) res.add(jsonObject);
}
renderJson(res);
}
/**
* ID
*
@ -2133,5 +2074,14 @@ public class CollectController extends Controller {
map.put("message", "保存成功!");
renderJson(map);
}
/**
*
* @param keyword
*/
public void getTyBureauList(String keyword){
//TODO
}
}

@ -2572,44 +2572,26 @@ public class CollectModel {
return Db.find(sql, person_id).size() > 0;
}
/**
*
*
* @return
*/
public Map<String, Record> getAllMatchBureau() {
List<Record> list = getAllBureau(-1);
Map<String, Record> _map = new HashMap<>();
for (Record record : list) {
String third_party_id = record.getStr("third_party_id");
if (StrKit.isBlank(third_party_id)) continue;
_map.put(third_party_id, record);
}
return _map;
}
/**
*
*
*
* @return
*/
public List<Record> getAllBureau(int type_id) {
public Page<Record> getAllBureau(int is_match,int page,int limit) {
//返回查询列表
GlobalModel gm = new GlobalModel();
String city_id = gm.getGlobalValueByKey("install_area");
String sql = "select org_id,org_name,third_party_id,CASE WHEN third_party_id IS NULL THEN 0 ELSE 1 END AS is_match from t_base_organization where city_id=? and bureau_id=org_id and is_virtual=0 order by is_match desc";
List<Record> list = Db.find(sql, city_id);
List<Record> res = new ArrayList<>();
for (Record record : list) {
int is_match = record.getInt("is_match");
if (type_id == 0 && is_match == 0) res.add(record);
if (type_id == 1 && is_match == 1) res.add(record);
if (type_id == -1) res.add(record);
}
return res;
Kv kv=Kv.by("city_id",city_id);
kv.set("is_match",is_match);
SqlPara sqlPara = Db.getSqlPara("Collect.getAllBureau", kv);
Page<Record> pageRecord = Db.paginate(page, limit, sqlPara);
return pageRecord;
}
/**
* ID
*

@ -192,4 +192,10 @@
#end
order by t1.stage_id,t1.class_num
#end
-- 获取我系统中所有已匹配单位 或 未匹配单位
#sql("getAllBureau")
select org_id,org_name,third_party_id,CASE WHEN third_party_id IS NULL THEN 0 ELSE 1 END AS is_match
from t_base_organization where city_id=#para(city_id) and bureau_id=org_id
and is_virtual=0 and is_match=#para(is_match) order by is_match desc
#end
#end

Loading…
Cancel
Save