SameTravelService.java 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469
  1. package com.hhwy.qbeqsjy.service;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.alibaba.fastjson.serializer.SerializerFeature;
  6. import com.hhwy.qbeqsjy.common.*;
  7. import com.hhwy.qbeqsjy.dao.CtrlDao;
  8. import lombok.extern.slf4j.Slf4j;
  9. import org.apache.commons.lang3.StringUtils;
  10. import org.apache.http.NameValuePair;
  11. import org.apache.http.message.BasicNameValuePair;
  12. import org.apache.kafka.common.protocol.types.Field;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.beans.factory.annotation.Value;
  15. import org.springframework.stereotype.Service;
  16. import java.util.*;
  17. /**
  18. * 同行类数据查询业务逻辑
  19. */
  20. @Slf4j
  21. @Service
  22. public class SameTravelService {
  23. @Value("${fwkfpt.type}")
  24. private String fwkfptType;
  25. @Value("${fwkfpt.policeNo}")
  26. private String fwkfptPoliceNo;
  27. @Value("${fwkfpt.userId}")
  28. private String fwkfptUserId;
  29. @Value("${fwkfpt.senderId}")
  30. private String fwkfptSenderId;
  31. @Value("${fwkfpt.appId}")
  32. private String fwkfptAppId;
  33. @Value("${fwkfpt.serviceId}")
  34. private String fwkfptServiceId;
  35. @Value("${fwkfpt.token.url}")
  36. private String fwkfptTokenUrl;
  37. @Value("${fwkfpt.uniQuery.url}")
  38. private String fwkfptUniQueryUrl;
  39. @Value("${tx.query.max.count}")
  40. private String maxReturnNum;
  41. @Value("${clue.code.idCard}")
  42. private String clueCodeIdCard;
  43. private SnowflakeIdGenerator generator = new SnowflakeIdGenerator(1);
  44. private HttpClient httpClient = new HttpClient();
  45. @Autowired
  46. private CtrlDao ctrlDao;
  47. /**
  48. * 调用烽火同行类数据通查服务接口,并将查询结果保存入库
  49. * @param taskId 任务编号
  50. * @param conditionFieldValue 参与条件查询的字段值
  51. * @param resourceCode 参与条件查询的数据资源标识符对应的数据资源编码(烽火盘古平台标准)
  52. * @param resourceIdentifier 参与条件查询的数据资源标识符(烽火盘古平台标准)
  53. * @return
  54. */
  55. public void callFHUniQueryService(String taskId, String conditionFieldValue, String resourceCode, String resourceIdentifier){
  56. // ========== 获取烽火 - 服务开放平台认证token
  57. Map<String, String> tokenMap = getFHUniQueryServiceToken();
  58. String appTokenId = tokenMap.get("appTokenId");
  59. String userTokenId = tokenMap.get("userTokenId");
  60. if(StringUtils.isBlank(appTokenId) || StringUtils.isBlank(userTokenId)){
  61. log.info("【QBEQSJYCTRL - 聚集预警通用查询服务】 获取目标服务认证token失败,操作结束");
  62. return;
  63. }
  64. // ========== 调用烽火 - 同行类数据通查服务接口
  65. long start = System.currentTimeMillis();
  66. Map<String, Object> headerParamsMap = new HashMap<>();
  67. headerParamsMap.put("Content-Type", Constants.DEFAULT_RSP_TYPE);
  68. headerParamsMap.put("app_token", appTokenId);
  69. headerParamsMap.put("user_token", userTokenId);
  70. headerParamsMap.put("userid", fwkfptUserId);
  71. headerParamsMap.put("subid", fwkfptAppId);
  72. headerParamsMap.put("serviceid", fwkfptServiceId);
  73. headerParamsMap.put("SenderID", fwkfptSenderId);
  74. Map<String, Object> reqBody = new HashMap<>();
  75. reqBody.put("From", Constants.AREA_CODE_TJ);
  76. reqBody.put("To", Constants.AREA_CODE_TJ);
  77. reqBody.put("MessageSequence", TimeTool.timeStampToDateString4(TimeTool.getNowTimeStamp()));
  78. Map<String, Object> requestParam = new HashMap<>();
  79. List<String> rspFieldNameList = Arrays.asList(CommonUtil.getConfValueByKey(resourceIdentifier).split(","));
  80. requestParam.put("Condition", rspFieldNameList.get(0) + "='" + conditionFieldValue + "'");
  81. Map<String, Object> otherCondition = new HashMap<>();
  82. otherCondition.put("AsyncBoolean", Constants.STR_NUM_0);
  83. otherCondition.put("AsyncIdentity", Constants.STR_NUM_0);
  84. otherCondition.put("AsyncOnceReturnNum", maxReturnNum);
  85. otherCondition.put("AsyncQuery", "");
  86. otherCondition.put("CallbackID", "");
  87. otherCondition.put("CodeMode", Constants.STR_NUM_0);
  88. otherCondition.put("MaxReturnNum", maxReturnNum);
  89. otherCondition.put("SortResults", "");
  90. requestParam.put("OtherCondition", otherCondition);
  91. List<Map<String, Object>> resourceInfosList = new ArrayList<>();
  92. Map<String, Object> resourceInfoMap = new HashMap<>();
  93. List<Map<String, Object>> dataItemsList = new ArrayList<>();
  94. for (String fieldName : rspFieldNameList) {
  95. Map<String, Object> dataItemMap = new HashMap<>();
  96. dataItemMap.put("Fmt", "");
  97. dataItemMap.put("Name", fieldName);
  98. dataItemsList.add(dataItemMap);
  99. }
  100. resourceInfoMap.put("DataItems", dataItemsList);
  101. resourceInfoMap.put("ResourceName", resourceIdentifier);
  102. resourceInfosList.add(resourceInfoMap);
  103. requestParam.put("ResourceInfos", resourceInfosList);
  104. reqBody.put("RequestParam", requestParam);
  105. // log.info("请求体:{}", JSON.toJSONString(reqBody, SerializerFeature.WriteMapNullValue));
  106. String rspStr = httpClient.postResource(fwkfptUniQueryUrl, JSON.toJSONString(reqBody, SerializerFeature.WriteMapNullValue), headerParamsMap);
  107. // log.info("响应内容:{}", rspStr);
  108. // ========== 解析烽火 - 同行类数据通查服务接口响应信息
  109. JSONObject rspJSONObj = JSON.parseObject(rspStr);
  110. List<JSONObject> dataList = new ArrayList<>();
  111. if(rspJSONObj != null){
  112. String messageStatus = rspJSONObj.getString("MessageStatus");
  113. if("0200".equals(messageStatus)){
  114. log.info("调用【烽火 - 服务开放平台 # 同行类数据通查服务接口】 服务调用成功,耗时:{}ms", System.currentTimeMillis() - start);
  115. JSONObject responseParam = rspJSONObj.getJSONObject("ResponseParam");
  116. JSONArray resourceInfos = responseParam.getJSONArray("ResourceInfos");
  117. if(resourceInfos != null && resourceInfos.size() > 0){
  118. JSONObject jsonObject = resourceInfos.getJSONObject(0);
  119. String resName = jsonObject.getString("ResourceName");
  120. JSONArray dataInfo = jsonObject.getJSONArray("DataInfo");
  121. if(dataInfo != null && dataInfo.size() > 0){ // 存在命中数据
  122. JSONArray dataItems = jsonObject.getJSONArray("DataItems");
  123. // 格式化存储预警结果数据,形如:[{"xm": "1", "zjhm": "111"}, {"xm": "2", "zjhm": "222"}, ...]
  124. for (Object obj : dataInfo) {
  125. JSONArray dataRow = (JSONArray) obj;
  126. JSONObject rowData = new JSONObject();
  127. for (int i = 0; i < dataRow.size(); i++) {
  128. Object columnValue = dataRow.get(i);
  129. JSONObject columnMap = dataItems.getJSONObject(i);
  130. String name = columnMap.getString("Name");
  131. rowData.put(name, columnValue);
  132. }
  133. dataList.add(rowData);
  134. }
  135. }
  136. }
  137. }
  138. }
  139. log.info("【烽火 - 服务开放平台 # 同行类数据通查服务接口 响应数据解析完成】 命中数据量:{}", dataList.size());
  140. // ========== 保存入库同行类业务查询结果数据(入库前需关联补全对应布控任务相关信息)
  141. List<Object[]> warningInfoList = new ArrayList<>();
  142. int batchSaveNum = 0;
  143. if(dataList.size() > 0){
  144. // 预警状态默认为0(未读)
  145. Integer yjzt = 0;
  146. // 预警类型默认为2(聚集预警)
  147. Integer yjlx = 2;
  148. // 预警时间
  149. Date yjsj = new Date();
  150. for (JSONObject item : dataList) {
  151. // 根据数据资源编码构造对应预警信息说明
  152. Map<String, Object> jjyjDataMap = buildYjxxsmByResourceCode(resourceCode, item);
  153. // 根据任务编号、线索值、线索类型查询对应的布控任务相关信息(包含任务信息、数据资源信息、区域信息、线索信息)
  154. List<Map<String, Object>> ctrlTaskInfoList = ctrlDao.queryCtrlTaskInfo(taskId, conditionFieldValue, clueCodeIdCard);
  155. if(ctrlTaskInfoList.size() > 0){
  156. Map<String, Object> ctrlTaskInfo = ctrlTaskInfoList.get(0);
  157. String rwmc = String.valueOf(ctrlTaskInfo.get("rwmc"));
  158. Integer rwlx = (Integer) ctrlTaskInfo.get("rwlx");
  159. String rwlxmc = String.valueOf(ctrlTaskInfo.get("rwlxmc"));
  160. String rwdxlxmc = String.valueOf(ctrlTaskInfo.get("rwdxlxmc"));
  161. String sqrXm = String.valueOf(ctrlTaskInfo.get("sqr_xm"));
  162. String sqrSfzh = String.valueOf(ctrlTaskInfo.get("sqr_sfzh"));
  163. String sqrJh = String.valueOf(ctrlTaskInfo.get("sqr_jh"));
  164. String sqrDwbm = String.valueOf(ctrlTaskInfo.get("sqr_dwbm"));
  165. String sqrDwmc = String.valueOf(ctrlTaskInfo.get("sqr_dwmc"));
  166. String yjryXm = String.valueOf(ctrlTaskInfo.get("ryxm"));
  167. String yjrySfzh = String.valueOf(ctrlTaskInfo.get("zjhm"));
  168. String yjrySjh = String.valueOf(ctrlTaskInfo.get("sjh"));
  169. String yjryLb = String.valueOf(ctrlTaskInfo.get("rylb"));
  170. String yjryBq = String.valueOf(ctrlTaskInfo.get("rybq"));
  171. String gkjb = String.valueOf(ctrlTaskInfo.get("gkjb"));
  172. String gkjbmc = String.valueOf(ctrlTaskInfo.get("gkjbmc"));
  173. String zrjz = String.valueOf(ctrlTaskInfo.get("zrjz"));
  174. String zrmjid = String.valueOf(ctrlTaskInfo.get("zrmjid"));
  175. String zrmjxm = String.valueOf(ctrlTaskInfo.get("zrmjxm"));
  176. String zrmjjh = String.valueOf(ctrlTaskInfo.get("zrmjjh"));
  177. String zrmjlxfs = String.valueOf(ctrlTaskInfo.get("zrmjlxfs"));
  178. String zrdwbm = String.valueOf(ctrlTaskInfo.get("zrdwbm"));
  179. String zrbmbm = String.valueOf(ctrlTaskInfo.get("zrbmbm"));
  180. // 生成预警信息编号
  181. String yjxxbh = String.valueOf(generator.nextId());
  182. warningInfoList.add(new Object[]{taskId, rwmc, rwlx, rwlxmc, rwdxlxmc, yjxxbh, yjryXm, yjrySfzh, yjrySjh, jjyjDataMap.get("yjxxsm"), yjzt, Constants.YJZT_WD, yjsj, zrjz, zrmjid, zrmjxm, zrmjjh, zrmjlxfs, zrdwbm, CommonUtil.getConfValueByKey(zrdwbm), zrbmbm, CommonUtil.getConfValueByKey(zrbmbm), sqrXm, sqrSfzh, sqrJh, sqrDwbm, sqrDwmc, yjryLb, yjryBq, gkjb, gkjbmc, resourceCode, jjyjDataMap.get("jd"), jjyjDataMap.get("wd"), yjsj, yjsj, jjyjDataMap.get("yjflryXm"), jjyjDataMap.get("yjglrySfzh"), jjyjDataMap.get("yjglrySjh"), jjyjDataMap.get("yjqymc"), jjyjDataMap.get("yjcsmc"), yjlx, Constants.YJLX_JJYJ});
  183. }
  184. }
  185. if(warningInfoList.size() > 0){
  186. batchSaveNum = ctrlDao.batchInsertWarningInfo(warningInfoList);
  187. }
  188. }
  189. log.info("【QBEQSJYCTRL - 聚集预警通用查询服务】 命中数据量:{},已入库数据量:{}", dataList.size(), batchSaveNum);
  190. }
  191. /**
  192. * 获取烽火 - 服务开放平台认证token
  193. * @return
  194. */
  195. public Map<String, String> getFHUniQueryServiceToken(){
  196. Map<String, String> tokenMap = new HashMap<>();
  197. Map<String, Object> tokenHeaderParamsMap = new HashMap<>();
  198. tokenHeaderParamsMap.put("Content-Type", Constants.URLENCODED_RSP_TYPE);
  199. Map<String, Object> userTokenMap = new HashMap<>();
  200. userTokenMap.put("type", fwkfptType);
  201. userTokenMap.put("policeNo", fwkfptPoliceNo);
  202. userTokenMap.put("userId", fwkfptUserId);
  203. Map<String, Object> appTokenMap = new HashMap<>();
  204. appTokenMap.put("appId", fwkfptAppId);
  205. appTokenMap.put("userToken", JSON.toJSONString(userTokenMap));
  206. List<NameValuePair> nameValuePairs = new ArrayList<>();
  207. nameValuePairs.add(new BasicNameValuePair("userToken", JSON.toJSONString(userTokenMap)));
  208. nameValuePairs.add(new BasicNameValuePair("appToken", JSON.toJSONString(appTokenMap)));
  209. nameValuePairs.add(new BasicNameValuePair("serviceid", fwkfptServiceId));
  210. String rspContent = httpClient.postResourceFWKFPT(fwkfptTokenUrl, nameValuePairs, tokenHeaderParamsMap);
  211. JSONObject rspContentJSONObj = JSON.parseObject(rspContent);
  212. if(rspContentJSONObj != null){
  213. String appTokenJSONStr = rspContentJSONObj.getString("appTokenId");
  214. String userTokenJSONStr = rspContentJSONObj.getString("userTokenId");
  215. if(StringUtils.isBlank(appTokenJSONStr) || StringUtils.isBlank(userTokenJSONStr)){
  216. String message = rspContentJSONObj.getString("message");
  217. log.error("获取【烽火 - 服务开放平台 # 权限认证令牌】 令牌创建失败,异常信息:{}", message);
  218. } else {
  219. String appTokenId = JSON.parseObject(appTokenJSONStr).getString("appToken");
  220. String userTokenId = JSON.parseObject(userTokenJSONStr).getString("userToken");
  221. tokenMap.put("appTokenId", appTokenId);
  222. tokenMap.put("userTokenId", userTokenId);
  223. log.info("获取【烽火 - 服务开放平台 # 权限认证令牌】 令牌创建成功");
  224. }
  225. }
  226. return tokenMap;
  227. }
  228. /**
  229. * 根据 数据资源编码和对应JSON数据 构造对应预警信息说明
  230. * @param resourceCode
  231. * @param data
  232. * @return
  233. */
  234. public Map<String, Object> buildYjxxsmByResourceCode(String resourceCode, JSONObject data){
  235. Map<String, Object> jjyjDataMap = new HashMap<>();
  236. StringBuilder yjxxsm = new StringBuilder();
  237. // 同火车
  238. if(Constants.RES_CODE_THC.equals(resourceCode)){
  239. String xm = data.getString("XM");
  240. String zjhm = data.getString("ZJHM");
  241. String zwh = data.getString("ZWH");
  242. String xm2 = data.getString("XM_2");
  243. String zjhm2 = data.getString("ZJHM_2");
  244. String zwh2 = data.getString("ZWH_2");
  245. String facRq = data.getString("FAC_RQ");
  246. String cc = data.getString("CC");
  247. String cxh = data.getString("CXH");
  248. String sfazMc = data.getString("SFAZ_MC");
  249. String ddzMc = data.getString("DDZ_MC");
  250. String flagGx = "0".equals(data.getString("FLAG_GX"))? "邻座" : "前后排";
  251. yjxxsm.append(xm);
  252. yjxxsm.append("(身份证号:");
  253. yjxxsm.append(zjhm);
  254. yjxxsm.append(",座位号:");
  255. yjxxsm.append(zwh);
  256. yjxxsm.append(")和");
  257. yjxxsm.append(xm2);
  258. yjxxsm.append("(身份证号:");
  259. yjxxsm.append(zjhm2);
  260. yjxxsm.append(",座位号:");
  261. yjxxsm.append(zwh2);
  262. yjxxsm.append(")于");
  263. yjxxsm.append(facRq);
  264. yjxxsm.append("共同乘坐");
  265. yjxxsm.append(cc);
  266. yjxxsm.append("次列车第");
  267. yjxxsm.append(cxh);
  268. yjxxsm.append("号车厢,出发站:");
  269. yjxxsm.append(sfazMc);
  270. yjxxsm.append(",到达站:");
  271. yjxxsm.append(ddzMc);
  272. yjxxsm.append(",位置关系:");
  273. yjxxsm.append(flagGx);
  274. jjyjDataMap.put("yjxxsm", yjxxsm.toString());
  275. jjyjDataMap.put("yjglryXm", xm2);
  276. jjyjDataMap.put("yjglrySfzh", zjhm2);
  277. jjyjDataMap.put("yjglrySjh", null);
  278. }
  279. // 同航班
  280. if (Constants.RES_CODE_THB.equals(resourceCode)){
  281. String zjhm = data.getString("FIRST_PER_ZJHM");
  282. String xm = data.getString("FIRST_PER_NAME");
  283. String zjhm2 = data.getString("SECOND_PER_ZJHM");
  284. String xm2 = data.getString("SECOND_PER_NAME");
  285. String cfjcXxdm = data.getString("QFJC_XXDM02");
  286. String cfjcmc = CommonUtil.getConfValueByKey(cfjcXxdm);
  287. String ddjcXxdm = data.getString("DDJC_XXDM02");
  288. String ddjcmc = CommonUtil.getConfValueByKey(ddjcXxdm);
  289. String cfrq = data.getString("DD_CFA_RQ");
  290. String ddrq = data.getString("DD_DD_RQ");
  291. String gtdpXxbh = data.getString("GTDP_XXBH");
  292. yjxxsm.append(xm);
  293. yjxxsm.append("(身份证号:");
  294. yjxxsm.append(zjhm);
  295. yjxxsm.append(")和");
  296. yjxxsm.append(xm2);
  297. yjxxsm.append("(身份证号:");
  298. yjxxsm.append(zjhm2);
  299. yjxxsm.append(")共同购买航班票,出发机场:");
  300. yjxxsm.append(cfjcmc);
  301. yjxxsm.append(",到达机场:");
  302. yjxxsm.append(ddjcmc);
  303. yjxxsm.append(",出发日期:");
  304. yjxxsm.append(cfrq);
  305. yjxxsm.append(",到达日期:");
  306. yjxxsm.append(ddrq);
  307. yjxxsm.append(",共同订票信息编号:");
  308. yjxxsm.append(gtdpXxbh);
  309. jjyjDataMap.put("yjxxsm", yjxxsm.toString());
  310. jjyjDataMap.put("yjglryXm", xm2);
  311. jjyjDataMap.put("yjglrySfzh", zjhm2);
  312. jjyjDataMap.put("yjglrySjh", null);
  313. }
  314. // 同宾馆
  315. if (Constants.RES_CODE_TBG.equals(resourceCode)) {
  316. String zjhm = data.getString("ZJHM");
  317. String xm = data.getString("XM");
  318. String zjhm2 = data.getString("ZJHM2");
  319. String xm2 = data.getString("XM2");
  320. String rzlgXxbh = data.getString("RUZ_LVG_XXBH");
  321. String[] rzlgxxArr = new String[]{};
  322. String jd84 = ""; // 经度(84坐标系)
  323. String wd84 = ""; // 纬度(84坐标系)
  324. try {
  325. rzlgxxArr = CommonUtil.getConfValueByKey(rzlgXxbh).split("@");
  326. jd84 = rzlgxxArr[2];
  327. wd84 = rzlgxxArr[3];
  328. } catch (Exception e){
  329. log.error("当前旅馆信息编号暂无对应名称和地址信息,旅馆信息编号:{}", rzlgXxbh);
  330. }
  331. String rzfjh = data.getString("RUZ_FAJ_XXBH");
  332. String rzsj = data.getString("RUZ_JDSJ");
  333. String rzsj2 = data.getString("RUZ_JDSJ2");
  334. yjxxsm.append(xm);
  335. yjxxsm.append("(身份证号:");
  336. yjxxsm.append(zjhm);
  337. yjxxsm.append(")和");
  338. yjxxsm.append(xm2);
  339. yjxxsm.append("(身份证号:");
  340. yjxxsm.append(zjhm2);
  341. yjxxsm.append(")共同入住旅馆,旅馆信息编号:");
  342. yjxxsm.append(rzlgXxbh);
  343. yjxxsm.append(",旅馆名称:");
  344. if(rzlgxxArr.length == 0){
  345. yjxxsm.append("暂无");
  346. } else {
  347. yjxxsm.append(rzlgxxArr[0]); // 旅馆名称
  348. }
  349. yjxxsm.append(",房间号:");
  350. yjxxsm.append(rzfjh);
  351. yjxxsm.append(",");
  352. yjxxsm.append(xm);
  353. yjxxsm.append("入住时间:");
  354. yjxxsm.append(TimeTool.timeStampToDateString(TimeTool.dateStringToTimeStamp3(rzsj)));
  355. yjxxsm.append(",");
  356. yjxxsm.append(xm2);
  357. yjxxsm.append("入住时间:");
  358. yjxxsm.append(TimeTool.timeStampToDateString(TimeTool.dateStringToTimeStamp3(rzsj2)));
  359. yjxxsm.append(",旅馆地址:");
  360. if(rzlgxxArr.length == 0){
  361. yjxxsm.append("暂无");
  362. } else {
  363. yjxxsm.append(rzlgxxArr[1]); // 旅馆地址
  364. if(StringUtils.isNotBlank(jd84) && StringUtils.isNotBlank(wd84) && !"null".equals(jd84) && !"null".equals(wd84)){
  365. yjxxsm.append(",位置坐标(");
  366. yjxxsm.append(jd84);
  367. yjxxsm.append(",");
  368. yjxxsm.append(wd84);
  369. yjxxsm.append(")");
  370. }
  371. }
  372. jjyjDataMap.put("yjxxsm", yjxxsm.toString());
  373. jjyjDataMap.put("jd", jd84);
  374. jjyjDataMap.put("wd", wd84);
  375. jjyjDataMap.put("yjglryXm", xm2);
  376. jjyjDataMap.put("yjglrySfzh", zjhm2);
  377. jjyjDataMap.put("yjglrySjh", null);
  378. jjyjDataMap.put("yjqymc", null);
  379. jjyjDataMap.put("yjcsmc", rzlgxxArr[0]);
  380. }
  381. // 同长途客运
  382. if (Constants.RES_CODE_TCTKY.equals(resourceCode)){
  383. String zjhm = data.getString("FIRST_PER_ZJHM");
  384. String xm = data.getString("FIRST_PER_NAME");
  385. String zjhm2 = data.getString("SECOND_PER_ZJHM");
  386. String xm2 = data.getString("SECOND_PER_NAME");
  387. String cczId = data.getString("CHCH_ZHDI_ID");
  388. String cc = data.getString("JP_CC");
  389. String fcjdsj = data.getString("FAC_JDSJ");
  390. String mdzId = data.getString("MDD_ID");
  391. String mdzmc = data.getString("MDD_ZHDI_MC");
  392. yjxxsm.append(xm);
  393. yjxxsm.append("(身份证号:");
  394. yjxxsm.append(zjhm);
  395. yjxxsm.append(")和");
  396. yjxxsm.append(xm2);
  397. yjxxsm.append("(身份证号:");
  398. yjxxsm.append(zjhm2);
  399. yjxxsm.append(")于");
  400. yjxxsm.append(fcjdsj);
  401. yjxxsm.append("共同乘坐");
  402. yjxxsm.append(cc);
  403. yjxxsm.append("次长途客车(乘车站ID:");
  404. yjxxsm.append(cczId);
  405. yjxxsm.append("),目的站:");
  406. yjxxsm.append(mdzmc);
  407. yjxxsm.append("(目的站ID:");
  408. yjxxsm.append(mdzId);
  409. yjxxsm.append(")");
  410. jjyjDataMap.put("yjxxsm", yjxxsm.toString());
  411. jjyjDataMap.put("yjglryXm", xm2);
  412. jjyjDataMap.put("yjglrySfzh", zjhm2);
  413. jjyjDataMap.put("yjglrySjh", null);
  414. }
  415. // 同民航进港
  416. /*if (Constants.RES_CODE_TMHJG.equals(resourceCode)) {
  417. String zjhm = data.getString("ZJHM");
  418. String xm = data.getString("LVK_XM");
  419. String zjhm2 = data.getString("ZJHM_2");
  420. String xm2 = data.getString("LVK_XM_2");
  421. String hbsxh = data.getString("HBA_SXH");
  422. String hbrq = data.getString("HBA_RQ");
  423. String cfjcxxdm = data.getString("QFHZ_SZ_XXDM02");
  424. String cfjcmc = data.getString("QFHZ_MC");
  425. String ddjcxxdm = data.getString("DDHZ_SZ_XXDM02");
  426. String ddjcmc = data.getString("DDHZ_MC");
  427. String lgjdsj = data.getString("LG_JDSJ");
  428. String jgjdsj = data.getString("JIG_JDSJ");
  429. String zwh = data.getString("DQHZ_ZWH");
  430. String zwh2 = data.getString("DQHZ_ZWH_2");
  431. String flagGx = "0".equals(data.getString("FLAG_GX"))? "邻座" : "前后排";
  432. yjxxsm = xm + "(身份证号:" + zjhm + ",座位号:" + zwh + ")和" + xm2 + "(身份证号:" + zjhm2 + ",座位号:" + zwh2 + ")于" + hbrq + "共同乘坐" + hbsxh + "次航班"
  433. + ",出发机场:" + cfjcmc + ",到达机场:" + ddjcmc + ",进港时间:" + jgjdsj + ",位置关系:" + flagGx;
  434. }*/
  435. // 同民航离港
  436. /*if (Constants.RES_CODE_TMHLG.equals(resourceCode)) {
  437. String zjhm = data.getString("ZJHM");
  438. String xm = data.getString("LVK_XM");
  439. String zjhm2 = data.getString("ZJHM_2");
  440. String xm2 = data.getString("LVK_XM_2");
  441. String hbsxh = data.getString("HBA_SXH");
  442. String hbrq = data.getString("HBA_RQ");
  443. String cfjcxxdm = data.getString("QFHZ_SZ_XXDM02");
  444. String cfjcmc = data.getString("QFHZ_MC");
  445. String ddjcxxdm = data.getString("DDHZ_SZ_XXDM02");
  446. String ddjcmc = data.getString("DDHZ_MC");
  447. String lgjdsj = data.getString("LG_JDSJ");
  448. String jgjdsj = data.getString("JIG_JDSJ");
  449. String zwh = data.getString("DQHZ_ZWH");
  450. String zwh2 = data.getString("DQHZ_ZWH_2");
  451. String flagGx = "0".equals(data.getString("FLAG_GX"))? "邻座" : "前后排";
  452. yjxxsm = xm + "(身份证号:" + zjhm + ",座位号:" + zwh + ")和" + xm2 + "(身份证号:" + zjhm2 + ",座位号:" + zwh2 + ")于" + hbrq + "共同乘坐" + hbsxh + "次航班"
  453. + ",出发机场:" + cfjcmc + ",到达机场:" + ddjcmc + ",离港时间:" + jgjdsj + ",位置关系:" + flagGx;
  454. }*/
  455. return jjyjDataMap;
  456. }
  457. }