Commit f3530af7 authored by xiachenqi's avatar xiachenqi

0809

parent 345148d9
......@@ -101,7 +101,8 @@ public class ReadXmlApi {
in.close();
IDCardFactory idCardFactory = new IDCardFactory();
logger.error("开始解析"+filename+"文件! "+System.currentTimeMillis());
Map<String, Object> objectMap = idCardFactory.extractIDCard(str, date);
boolean isGAT = idCardFactory.isGAT(filename);
Map<String, Object> objectMap = isGAT ? idCardFactory.extractGATCard(str, date) : idCardFactory.extractIDCard(str, date);
logger.error("开始存储"+filename+"文件! "+System.currentTimeMillis());
Boolean aBoolean = idcardsFactory(objectMap);
logger.error("存储"+filename+"文件完成! "+System.currentTimeMillis());
......
......@@ -103,4 +103,96 @@ public class IDCardFactory {
return resultMap;
}
public Map<String, Object> extractGATCard(String file, Date date) throws Exception {
Map<String,Object> resultMap = new HashMap<>();
List<PreproPersonDto> preproPersonEntityList = new ArrayList<>();
FilesEntity filesEntity = new FilesEntity();
try {
Document document = DocumentHelper.parseText(file);
Element root = document.getRootElement();
Element packagehead = root.element("PACKAGEHEAD");
String SJBBH = packagehead.element("SJBBH").getTextTrim();
filesEntity.setSourceFileName(SJBBH);
String DWDM = packagehead.element("DWDM").getTextTrim();
filesEntity.setDwdm(DWDM);
String BBH = packagehead.element("BBH").getTextTrim();
filesEntity.setVersionCode(BBH);
filesEntity.setUploadDate(date);
String DWMC = packagehead.element("DWMC").getTextTrim();
filesEntity.setDwmc(DWMC);
filesEntity.setCreateTime(packagehead.element("SCSJ").getTextTrim());
Element records = root.element("DATA");
List<Element> recordlist = records.elements("RECORD");
for (Element e : recordlist) {
PreproPersonDto preproPersonEntity = new PreproPersonDto();
preproPersonEntity.setSid(e.attributeValue("sid"));
preproPersonEntity.setNo(e.attributeValue("no"));
preproPersonEntity.setJmsfzslh( e.element("GATJMJZZSLH").getStringValue()); // 使用受理号字段存储港澳台受理号
preproPersonEntity.setGmsfhm(e.element("GMSFHM").getStringValue());
preproPersonEntity.setXm(e.element("XM").getStringValue());
preproPersonEntity.setXbdm(e.element("XBDM").getStringValue());
// preproPersonEntity.setMzdm(e.element("MZDM").getStringValue()); 港澳台没有民族代码
preproPersonEntity.setCsrq(e.element("CSRQ").getStringValue());
preproPersonEntity.setSsxqdm(e.element("SSXQDM").getStringValue());
preproPersonEntity.setDzmc(e.element("DZMC").getStringValue());
preproPersonEntity.setSdxp(e.element("SDXP").getStringValue());
preproPersonEntity.setZwyZwtxsj(e.element("ZWY_ZWTXSJ").getStringValue());
preproPersonEntity.setZwyZwtzsj(e.element("ZWY_ZWTZSJ").getStringValue());
preproPersonEntity.setZweZwtxsj(e.element("ZWE_ZWTXSJ").getStringValue());
preproPersonEntity.setZweZwtzsj(e.element("ZWE_ZWTZSJ").getStringValue());
preproPersonEntity.setQfjgGajgmc(e.element("QFJG_GAJGMC").getStringValue());
preproPersonEntity.setYxqqsrq(e.element("GATJMJZZYXQQSRQ").getStringValue()); // 港澳台居民居住证有效期起始日期
preproPersonEntity.setYxqjzrq(e.element("GATJMJZZYXQJZRQ").getStringValue()); // 港澳台居民居住证有效期截止日期
preproPersonEntity.setJmsfzslyydm(e.element("JMSFZSLYYDM").getStringValue());
preproPersonEntity.setJmsfzzzlxdm(e.element("JMSFZZZLXDM").getStringValue());
preproPersonEntity.setJmsfzlzfsdm(e.element("JMSFZLZFSDM").getStringValue());
preproPersonEntity.setSjrXm(e.element("SJR_XM").getStringValue());
preproPersonEntity.setSjrLxdh(e.element("SJR_LXDH").getStringValue());
preproPersonEntity.setSjrYzbm(e.element("SJR_YZBM").getStringValue());
preproPersonEntity.setSjrTxdz(e.element("SJR_TXDZ").getStringValue());
//民族文字 sid=010210
if(preproPersonEntity.getSid().equals("010210")) {
preproPersonEntity.setXmmzwz(e.element("XMMZWZ").getStringValue());
preproPersonEntity.setXbmzwz(e.element("XBMZWZ").getStringValue());
preproPersonEntity.setMzmzwz(e.element("MZMZWZ").getStringValue());
preproPersonEntity.setZzhymzwz(e.element("ZZHYMZWZ").getStringValue());
preproPersonEntity.setZzhemzwz(e.element("ZZHEMZWZ").getStringValue());
preproPersonEntity.setZzhsmzwz(e.element("ZZHSMZWZ").getStringValue());
preproPersonEntity.setQfjgmzwz(e.element("QFJGMZWZ").getStringValue());
}else if (preproPersonEntity.getSid().equals("010209")){
preproPersonEntity.setXmmzwz("");
preproPersonEntity.setXbmzwz("");
preproPersonEntity.setMzmzwz("");
preproPersonEntity.setZzhymzwz("");
preproPersonEntity.setZzhemzwz("");
preproPersonEntity.setZzhsmzwz("");
preproPersonEntity.setQfjgmzwz("");
}
preproPersonEntityList.add(preproPersonEntity);
}
resultMap.put("preproPerson",preproPersonEntityList);
filesEntity.setRecordNumber((long)recordlist.size());
resultMap.put("file",filesEntity);
} catch (DocumentException e) {
throw e;
}
return resultMap;
}
/**
* 是否港澳台
*
* @param fileName 文件
* @return boolean
*/
public boolean isGAT(String fileName) {
String flag = fileName.charAt(fileName.length() - 5) + "";
if (flag.equals("6")) return true;
return flag.equals("7");
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment