Commit a354c22f authored by liuxinben's avatar liuxinben

异地证添加导入、解析、删除、检查、下载制证包

parent 3f78886b
......@@ -13,10 +13,9 @@ import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import static com.yxproject.start.utils.YXStringUtils.getCurrentDate2String;
@RestController
......@@ -174,8 +173,7 @@ public class LogApi {
MDC.put("ip", remoteAddr);
try {
logService.changeCardType(printDate, fileId);
SimpleDateFormat df=new SimpleDateFormat("yyyyMMddhhmmss");
logService.insertAnalysisDate(df.format(new Date()), fileId);
logService.insertAnalysisDate(getCurrentDate2String("yyyyMMddhhmmss"), fileId);
//查询XML文件信息
List <Map <String, Object>> resultList=logService.selectFileIdByUploadDate(printDate);
//查询Excel文件信息
......@@ -218,15 +216,18 @@ public class LogApi {
public boolean deleteFiles(@RequestParam("uploadTime")String uploadTime, HttpServletRequest requ) {
String remoteAddr = requ.getRemoteAddr();
MDC.put("ip", remoteAddr);
List<String> idList =new ArrayList <String>();
Map<String, Object> map = null;
map = new LinkedHashMap<>();
try {
idList = logService.selectId(uploadTime);
for (int i=0;i<idList.size();i++){
List<String> idList = logService.selectId(replaceDate(uploadTime));
for (int i = 0; i < idList.size(); i++) {
logService.deleteFilesData(idList.get(i));
}
for (int i=0;i<idList.size();i++){
for (int i = 0; i < idList.size(); i++) {
logService.deleteFile(idList.get(i));
}
map.put("state", 1);
map.put("msg", "成功删除");
}catch (Exception e){
logger.error("导入时间:" + uploadTime);
logger.error("Exception 解析异常", e);
......
package com.yxproject.start.api;
import com.yxproject.start.dto.PreproPersonDto;
import com.yxproject.start.entity.CountDataEntity;
import com.yxproject.start.entity.FilesEntity;
import com.yxproject.start.entity.PreproPersonEntity;
......@@ -9,6 +10,7 @@ import com.yxproject.start.utils.YXJSONResponse;
import com.yxproject.start.utils.YXStringUtils;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.apache.log4j.MDC;
import org.dom4j.DocumentException;
......@@ -84,8 +86,8 @@ public class ReadXmlApi {
// 如果fileitem中封装的是普通输入项的数据
// 如果fileitem中封装的是上传文件
// 得到上传的文件名称
filename = item.getName();
if (filename == null || filename.trim().equals("")) {
filename = item.getOriginalFilename();
if (StringUtils.isBlank(filename)) {
continue;
}
InputStream in = item.getInputStream();
......@@ -133,7 +135,7 @@ public class ReadXmlApi {
}
private Boolean idcardsFactory(Map<String, Object> map1) {
importXmlService.importPersonXml((List<PreproPersonEntity>) map1.get("preproPerson"), (FilesEntity) map1.get("file"));
importXmlService.importPersonXml((List<PreproPersonDto>) map1.get("preproPerson"), (FilesEntity) map1.get("file"));
return true;
}
......
package com.yxproject.start.dto;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Id;
/**
* Created by Administrator on 2019/7/17.
*/
public class PreproPersonDto {
private String jmsfzslh;
private String gmsfhm;
private String xm;
private String xbdm;
private String mzdm;
private String dwmc;
private String dwdm;
private String csrq;
private String ssxqdm;
private String dzmc;
private String sdxp;
private String zwyZwtxsj;
private String zwyZwtzsj;
private String zweZwtxsj;
private String zweZwtzsj;
private String qfjgGajgmc;
private String yxqqsrq;
private String yxqjzrq;
private String jmsfzslyydm;
private String jmsfzzzlxdm;
private String jmsfzlzfsdm;
private String sjrXm;
private String sjrLxdh;
private String sjrYzbm;
private String sjrTxdz;
private String sid;
private String no;
private Long fileId;
private Long cardTypeId;
private Long newFileId;
private Long state;
private long id;
private long isValid;
private String tpPath;
@Id
@Column(name = "ID")
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
@Basic
@Column(name = "JMSFZSLH")
public String getJmsfzslh() {
return jmsfzslh;
}
public void setJmsfzslh(String jmsfzslh) {
this.jmsfzslh = jmsfzslh;
}
@Basic
@Column(name = "GMSFHM")
public String getGmsfhm() {
return gmsfhm;
}
public void setGmsfhm(String gmsfhm) {
this.gmsfhm = gmsfhm;
}
@Basic
@Column(name = "DWDM")
public String getDwdm() {
return dwdm;
}
public void setDwdm(String dwdm) {
this.dwdm = dwdm;
}
@Basic
@Column(name = "DWMC")
public String getDwmc() {
return dwmc;
}
public void setDwmc(String dwmc) {
this.dwmc = dwmc;
}
@Basic
@Column(name = "XM")
public String getXm() {
return xm;
}
public void setXm(String xm) {
this.xm = xm;
}
@Basic
@Column(name = "XBDM")
public String getXbdm() {
return xbdm;
}
public void setXbdm(String xbdm) {
this.xbdm = xbdm;
}
@Basic
@Column(name = "MZDM")
public String getMzdm() {
return mzdm;
}
public void setMzdm(String mzdm) {
this.mzdm = mzdm;
}
@Basic
@Column(name = "CSRQ")
public String getCsrq() {
return csrq;
}
public void setCsrq(String csrq) {
this.csrq = csrq;
}
@Basic
@Column(name = "SSXQDM")
public String getSsxqdm() {
return ssxqdm;
}
public void setSsxqdm(String ssxqdm) {
this.ssxqdm = ssxqdm;
}
@Basic
@Column(name = "DZMC")
public String getDzmc() {
return dzmc;
}
public void setDzmc(String dzmc) {
this.dzmc = dzmc;
}
@Basic
@Column(name = "SDXP")
public String getSdxp() {
return sdxp;
}
public void setSdxp(String sdxp) {
this.sdxp = sdxp;
}
@Basic
@Column(name = "ZWY_ZWTXSJ")
public String getZwyZwtxsj() {
return zwyZwtxsj;
}
public void setZwyZwtxsj(String zwyZwtxsj) {
this.zwyZwtxsj = zwyZwtxsj;
}
@Basic
@Column(name = "ZWY_ZWTZSJ")
public String getZwyZwtzsj() {
return zwyZwtzsj;
}
public void setZwyZwtzsj(String zwyZwtzsj) {
this.zwyZwtzsj = zwyZwtzsj;
}
@Basic
@Column(name = "ZWE_ZWTXSJ")
public String getZweZwtxsj() {
return zweZwtxsj;
}
public void setZweZwtxsj(String zweZwtxsj) {
this.zweZwtxsj = zweZwtxsj;
}
@Basic
@Column(name = "ZWE_ZWTZSJ")
public String getZweZwtzsj() {
return zweZwtzsj;
}
public void setZweZwtzsj(String zweZwtzsj) {
this.zweZwtzsj = zweZwtzsj;
}
@Basic
@Column(name = "QFJG_GAJGMC")
public String getQfjgGajgmc() {
return qfjgGajgmc;
}
public void setQfjgGajgmc(String qfjgGajgmc) {
this.qfjgGajgmc = qfjgGajgmc;
}
@Basic
@Column(name = "YXQQSRQ")
public String getYxqqsrq() {
return yxqqsrq;
}
public void setYxqqsrq(String yxqqsrq) {
this.yxqqsrq = yxqqsrq;
}
@Basic
@Column(name = "YXQJZRQ")
public String getYxqjzrq() {
return yxqjzrq;
}
public void setYxqjzrq(String yxqjzrq) {
this.yxqjzrq = yxqjzrq;
}
@Basic
@Column(name = "JMSFZSLYYDM")
public String getJmsfzslyydm() {
return jmsfzslyydm;
}
public void setJmsfzslyydm(String jmsfzslyydm) {
this.jmsfzslyydm = jmsfzslyydm;
}
@Basic
@Column(name = "JMSFZZZLXDM")
public String getJmsfzzzlxdm() {
return jmsfzzzlxdm;
}
public void setJmsfzzzlxdm(String jmsfzzzlxdm) {
this.jmsfzzzlxdm = jmsfzzzlxdm;
}
@Basic
@Column(name = "JMSFZLZFSDM")
public String getJmsfzlzfsdm() {
return jmsfzlzfsdm;
}
public void setJmsfzlzfsdm(String jmsfzlzfsdm) {
this.jmsfzlzfsdm = jmsfzlzfsdm;
}
@Basic
@Column(name = "SJR_XM")
public String getSjrXm() {
return sjrXm;
}
public void setSjrXm(String sjrXm) {
this.sjrXm = sjrXm;
}
@Basic
@Column(name = "SJR_LXDH")
public String getSjrLxdh() {
return sjrLxdh;
}
public void setSjrLxdh(String sjrLxdh) {
this.sjrLxdh = sjrLxdh;
}
@Basic
@Column(name = "SJR_YZBM")
public String getSjrYzbm() {
return sjrYzbm;
}
public void setSjrYzbm(String sjrYzbm) {
this.sjrYzbm = sjrYzbm;
}
@Basic
@Column(name = "SJR_TXDZ")
public String getSjrTxdz() {
return sjrTxdz;
}
public void setSjrTxdz(String sjrTxdz) {
this.sjrTxdz = sjrTxdz;
}
@Basic
@Column(name = "NO")
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
@Basic
@Column(name = "SID")
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
@Basic
@Column(name = "FILE_ID")
public Long getFileId() {
return fileId;
}
public void setFileId(Long fileId) {
this.fileId = fileId;
}
@Basic
@Column(name = "CARD_TYPE_ID")
public Long getCardTypeId() {
return cardTypeId;
}
public void setCardTypeId(Long cardTypeId) {
this.cardTypeId = cardTypeId;
}
@Basic
@Column(name = "NEW_FILE_ID")
public Long getNewFileId() {
return newFileId;
}
public void setNewFileId(Long newFileId) {
this.newFileId = newFileId;
}
@Basic
@Column(name = "STATE")
public Long getState() {
return state;
}
public void setState(Long state) {
this.state = state;
}
@Basic
@Column(name = "IS_VALID")
public long getIsValid() {
return isValid;
}
public void setIsValid(long isValid) {
this.isValid = isValid;
}
@Basic
@Column(name = "TP_PATH")
public String getTpPath() {
return tpPath;
}
public void setTpPath(String tpPath) {
this.tpPath = tpPath;
}
}
......@@ -40,6 +40,7 @@ public class PreproPersonEntity {
private Long state;
private long id;
private long isValid;
private String tpPath;
@Id
@Column(name = "ID")
......@@ -339,6 +340,16 @@ public class PreproPersonEntity {
public void setIsValid(long isValid) {
this.isValid = isValid;
}
@Basic
@Column(name = "TP_PATH")
public String getTpPath() {
return tpPath;
}
public void setTpPath(String tpPath) {
this.tpPath = tpPath;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
......@@ -373,11 +384,12 @@ public class PreproPersonEntity {
Objects.equals(newFileId, that.newFileId) &&
Objects.equals(id, that.id) &&
Objects.equals(isValid, that.isValid) &&
Objects.equals(state, that.state);
Objects.equals(state, that.state)&&
Objects.equals(tpPath, that.tpPath);
}
@Override
public int hashCode() {
return Objects.hash(id,jmsfzslh, gmsfhm, xm, xbdm, mzdm, isValid,csrq, ssxqdm, dzmc, sdxp, zwyZwtxsj, zwyZwtzsj, zweZwtxsj, zweZwtzsj, qfjgGajgmc, yxqqsrq, yxqjzrq, jmsfzslyydm, jmsfzzzlxdm, jmsfzlzfsdm, sjrXm, sjrLxdh, sjrYzbm, sjrTxdz, sid, fileId, cardTypeId, newFileId, state);
return Objects.hash(id,jmsfzslh, gmsfhm, xm, xbdm, mzdm, isValid,csrq, ssxqdm, dzmc, sdxp, zwyZwtxsj, zwyZwtzsj, zweZwtxsj, zweZwtzsj, qfjgGajgmc, yxqqsrq, yxqjzrq, jmsfzslyydm, jmsfzzzlxdm, jmsfzlzfsdm, sjrXm, sjrLxdh, sjrYzbm, sjrTxdz, sid, fileId, cardTypeId, newFileId, state,tpPath);
}
}
......@@ -18,12 +18,12 @@ public interface LogMapper {
"\n")
public List<Map<String,Object>> selectAnalysisData(@Param("uploadDate") String uploadDate);
@Select("SELECT p.JMSFZSLH acceptNo,f.SOURCE_FILE_NAME fileName,p.XM name,p.GMSFHM cardId,f.DWMC filePoliceCode,g.UNIT_NAME GAJG_MC acceptPoliceCode\n" +
@Select("SELECT p.JMSFZSLH acceptNo,f.SOURCE_FILE_NAME fileName,p.XM name,p.GMSFHM cardId,f.DWMC filePoliceCode,g.UNIT_NAME acceptPoliceCode\n" +
"FROM PREPRO_PERSON p " +
"LEFT JOIN FILES f ON p.FILE_ID = f.ID " +
"LEFT JOIN PRODYD_DBA.DIC_UPLOAD_UNIT_T@PRODYD_LINK g ON substr(p.JMSFZSLH,0,9) = substr(g.UPLOAD_UNIT_NO,0,9) \n" +
"where TO_CHAR(f.UPLOAD_DATE,'yyyyMMddhh24miss') = #{uploadDate} " +
"and g.GAJG_MC != f.DWMC"
"and g.UNIT_NAME != f.DWMC"
)
public List<Map<String,Object>> checkAcppetNo(@Param("uploadDate") String uploadDate);
......@@ -156,9 +156,15 @@ public interface LogMapper {
@Select("select id from files where TO_CHAR(UPLOAD_DATE,'yyyy-mm-dd hh24:mi:ss') = #{uploadTime}")
public List<String> selectId(@Param("uploadTime")String uploadTime);
@Delete("delete from PREPRO_PERSON where PREPRO_PERSON.file_id = #{id}")
@Delete("DELETE FROM (SELECT * FROM PREPRO_PERSON_CLOB LEFT JOIN PREPRO_PERSON ON PREPRO_PERSON_CLOB.ID = PREPRO_PERSON.ID WHERE PREPRO_PERSON.FILE_ID = #{id})")
public boolean deleteFilesDataCLOB(@Param("id")String id);
@Delete("DELETE FROM PREPRO_PERSON WHERE PREPRO_PERSON.FILE_ID = #{id}")
public boolean deleteFilesData(@Param("id")String id);
@Delete("delete from ANALYSIS where FILE_ID=#{id}")
public boolean deleteAnalysis(@Param("id")String id);
@Delete("delete from files where id=#{id}")
public boolean deleteFile(@Param("id")String id);
......
package com.yxproject.start.mapper;
import com.yxproject.start.dto.PreproPersonDto;
import com.yxproject.start.entity.PreproPersonEntity;
import org.apache.ibatis.annotations.*;
......@@ -12,12 +13,16 @@ import java.util.Map;
@Mapper
public interface PreproPersonMapper {
/*导入XMl*/
@Insert("INSERT INTO PREPRO_PERSON (JMSFZSLH,GMSFHM,XM,XBDM,MZDM,CSRQ,SSXQDM,DZMC,SDXP,ZWY_ZWTXSJ,ZWY_ZWTZSJ,ZWE_ZWTXSJ,ZWE_ZWTZSJ," +
"QFJG_GAJGMC,YXQQSRQ,YXQJZRQ,JMSFZSLYYDM,JMSFZZZLXDM,JMSFZLZFSDM,SJR_XM,SJR_LXDH,SJR_YZBM,SJR_TXDZ,SID,FILE_ID)" +
"VALUES(#{jmsfzslh},#{gmsfhm},#{xm},#{xbdm},#{mzdm},#{csrq},#{ssxqdm},#{dzmc},#{sdxp},#{zwyZwtxsj},#{zwyZwtzsj},#{zweZwtxsj}," +
"#{zweZwtzsj},#{qfjgGajgmc},#{yxqqsrq},#{yxqjzrq},#{jmsfzslyydm},#{jmsfzzzlxdm},#{jmsfzlzfsdm},#{sjrXm},#{sjrLxdh},#{sjrYzbm}," +
"#{sjrTxdz},#{sid},#{fileId})")
public boolean savePreproPersonEntity(PreproPersonEntity personEntity);
@Insert("INSERT INTO PREPRO_PERSON (JMSFZSLH,GMSFHM,XM,XBDM,MZDM,CSRQ,SSXQDM,DZMC," +
"QFJG_GAJGMC,YXQQSRQ,YXQJZRQ,JMSFZSLYYDM,JMSFZZZLXDM,JMSFZLZFSDM,SJR_XM,SJR_LXDH,SJR_YZBM,SJR_TXDZ,SID,FILE_ID,TP_PATH)" +
"VALUES(#{jmsfzslh},#{gmsfhm},#{xm},#{xbdm},#{mzdm},#{csrq},#{ssxqdm},#{dzmc},#{qfjgGajgmc},#{yxqqsrq},#{yxqjzrq},#{jmsfzslyydm},#{jmsfzzzlxdm},#{jmsfzlzfsdm},#{sjrXm},#{sjrLxdh},#{sjrYzbm}," +
"#{sjrTxdz},#{sid},#{fileId},#{tpPath})")
@Options(useGeneratedKeys=true, keyProperty="id", keyColumn="ID")
public boolean savePreproPersonEntity(PreproPersonDto preproPersonDto);
@Insert("INSERT INTO PREPRO_PERSON_CLOB (ID,SDXP,ZWY_ZWTXSJ,ZWY_ZWTZSJ,ZWE_ZWTXSJ,ZWE_ZWTZSJ,TP_PATH)" +
" VALUES(#{id},#{sdxp},#{zwyZwtxsj},#{zwyZwtzsj},#{zweZwtxsj},#{zweZwtzsj},#{tpPath})")
public boolean savePreproPersonCLOB(PreproPersonDto preproPersonDto);
/*更新制证数据是否邮寄*/
@Update("UPDATE PREPRO_PERSON SET IS_POST=#{isPost} where JMSFZSLH=#{jmsfzslh}")
......@@ -141,6 +146,54 @@ public interface PreproPersonMapper {
" </script>"})
public List<PreproPersonEntity> selectPreproPersonCount(@Param("uploadNo") String uploadNo, @Param("IDCard") String IDCard, @Param("oldFile") String oldFile, @Param("newFile") String newFile, @Param("SSXQDM") String SSXQDM, @Param("cardType") String cardType, @Param("state") String state, @Param("uploadDate") String uploadDate,@Param("downloadState") String downloadState);
/*按条件查询制证数据*/
@Select({"<script>" +
"SELECT * FROM( " +
"SELECT PREPRO_PERSON.JMSFZSLH JMSFZSLH,PREPRO_PERSON.GMSFHM GMSFHM,PREPRO_PERSON.XM XM,PREPRO_PERSON.XBDM XBDM,PREPRO_PERSON.MZDM MZDM, PREPRO_PERSON.CSRQ CSRQ,PREPRO_PERSON.SSXQDM SSXQDM,\n" +
"PREPRO_PERSON.DZMC DZMC,PREPRO_PERSON.QFJG_GAJGMC QFJG_GAJGMC,PREPRO_PERSON.YXQQSRQ YXQQSRQ, PREPRO_PERSON.YXQJZRQ YXQJZRQ,PREPRO_PERSON.JMSFZSLYYDM JMSFZSLYYDM,PREPRO_PERSON.JMSFZZZLXDM JMSFZZZLXDM,\n" +
"PREPRO_PERSON.JMSFZLZFSDM JMSFZLZFSDM, PREPRO_PERSON.SJR_XM SJR_XM,PREPRO_PERSON.SJR_LXDH SJR_LXDH,PREPRO_PERSON.SJR_YZBM SJR_YZBM,PREPRO_PERSON.SJR_TXDZ SJR_TXDZ,PREPRO_PERSON.SID SID, \n" +
"PREPRO_PERSON.FILE_ID FILE_ID,PREPRO_PERSON.CARD_TYPE_ID CARD_TYPE_ID,PREPRO_PERSON.NEW_FILE_ID NEW_FILE_ID,PREPRO_PERSON.STATE STATE,PREPRO_PERSON.ID ID, PREPRO_PERSON.IS_VALID IS_VALID,PREPRO_PERSON.TP_PATH TP_PATH, \n" +
"FILES.VERSION_CODE VERSION_CODE,FILES.DWDM DWDM,FILES.DWMC DWMC, FILES.RECORD_NUMBER RECORD_NUMBER,FILES.CREATE_TIME CREATE_TIME,FILES.SOURCE_FILE_NAME SOURCE_FILE_NAME,FILES.NEW_TIME NEW_TIME,\n" +
"FILES.UPLOAD_DATE UPLOAD_DATE, NEW_FILES.CREATE_DATE CREATE_DATE,NEW_FILES.NEW_FILE_NAME NEW_FILE_NAME \n" +
"FROM PREPRO_PERSON \n" +
"LEFT JOIN (SELECT FILES.VERSION_CODE,FILES.DWDM,FILES.DWMC,FILES.RECORD_NUMBER,FILES.CREATE_TIME,FILES.SOURCE_FILE_NAME,FILES.NEW_TIME,FILES.UPLOAD_DATE,FILES.ID FROM FILES)FILES ON PREPRO_PERSON.FILE_ID = files.ID \n" +
"LEFT JOIN (select NEW_FILES.CREATE_DATE,NEW_FILES.NEW_FILE_NAME,NEW_FILES.ID from NEW_FILES)NEW_FILES ON PREPRO_PERSON.NEW_FILE_ID = NEW_FILES.ID) T " +
"<where> " +
" 1=1 " +
"<if test='uploadNo!= null'>" +
"and T.JMSFZSLH = #{uploadNo}" +
"</if>" +
" <if test='IDCard!=null'> "+
"and T.GMSFHM = #{IDCard} "+
"</if> "+
" <if test='oldFile!=null'> "+
"and T.SOURCE_FILE_NAME =#{oldFile} "+
" </if> "+
" <if test='newFile!= null'> "+
"and T.NEW_FILE_NAME = #{newFile}"+
" </if> "+
" <if test='SSXQDM!=null'> "+
" and T.DWDM =#{SSXQDM}"+
" </if>"+
" <if test='cardType!=null'>"+
" and T.CARD_TYPE_ID =#{cardType}"+
" </if> "+
" <if test='state!= -1 '>"+
" and T.is_valid = #{state}"+
" </if> "+
" <if test='uploadDate1!= null '>"+
" and to_char(T.UPLOAD_DATE,'yyyyMMdd') between #{uploadDate1} and #{uploadDate2}"+
" </if> "+
" <if test='downloadState == 1 '>"+
" and T.NEW_FILE_ID is not null"+
" </if> "+
" <if test='downloadState == 0 '>"+
" and T.NEW_FILE_ID is null"+
" </if> "+
"</where> " +
" </script>"})
@Options(useGeneratedKeys=true, keyProperty="id", keyColumn="ID")
public List<PreproPersonDto> selectPreproPerson2( @Param("uploadNo") String uploadNo, @Param("IDCard") String IDCard, @Param("oldFile") String oldFile, @Param("newFile") String newFile, @Param("SSXQDM") String SSXQDM, @Param("cardType") String cardType, @Param("state") String state, @Param("uploadDate1") String uploadDate1, @Param("uploadDate2") String uploadDate2, @Param("downloadState") String downloadState);
/*按条件查询制证数据*/
@Select({"<script> " +
......@@ -186,7 +239,7 @@ public interface PreproPersonMapper {
public boolean updateState(@Param("state") String state, @Param("acceptNo") String acceptNo);
@Update("UPDATE PREPRO_PERSON SET NEW_FILE_ID=#{newFileId} where JMSFZSLH=#{jmsfzslh}")
public boolean updateNewFileName(PreproPersonEntity personEntity);
public boolean updateNewFileName(PreproPersonDto personEntity);
/**
* 更新制证数据是否有效
......@@ -208,4 +261,7 @@ public interface PreproPersonMapper {
"UNION all \n" +
"select UPLOAD_NO,ACCEPT_NO from PRODYD_DBA.PROD_CARD_T@PRODYD_LINK WHERE ACCEPT_NO =#{acceptNo}")
public List<Map<String, Object>> selectUploadNoByAcceptNo(String acceptNo);
@Select("SELECT TP_PATH FROM PREPRO_PERSON WHERE FILE_ID = #{id}")
public List<PreproPersonEntity> selectPath (String id);
}
\ No newline at end of file
package com.yxproject.start.service;
import com.yxproject.start.dto.PreproPersonDto;
import com.yxproject.start.entity.CountDataEntity;
import com.yxproject.start.entity.FilesEntity;
import com.yxproject.start.entity.PreproPersonEntity;
......@@ -12,7 +13,7 @@ import java.util.List;
*/
public interface ImportXmlService {
public boolean importPersonXml(List<PreproPersonEntity> preproPersonEntities,FilesEntity filesEntity);
public boolean importPersonXml( List<PreproPersonDto> preproPersonDtos, FilesEntity filesEntity);
public List<CountDataEntity> queryPersonXml(String importDate, long maxNum, long minNum);
public int queryPersonXmlCount(String importDate);
}
package com.yxproject.start.service;
import com.yxproject.start.dto.PreproPersonDto;
import com.yxproject.start.entity.PreproPersonEntity;
import java.util.List;
......@@ -21,11 +22,11 @@ public interface PreproPersonService {
public List<Map<String, Object>> selectPreproPerson(String uploadNo, String IDCard, String oldFile, String newFile, String SSXQDM, String cardType, String state, String uploadDate1,String uploadDate2,String downloadState);
public List<PreproPersonEntity> selectAllPreproPerson(String uploadNo, String IDCard, String oldFile, String newFile, String SSXQDM, String cardType, String state, String uploadDate,String downloadState);
public List<PreproPersonDto> selectAllPreproPerson( String uploadNo, String IDCard, String oldFile, String newFile, String SSXQDM, String cardType, String state, String uploadDate1, String uploadDate2, String downloadState);
public int selectPreproPersonCount(String uploadNo, String IDCard, String oldFile, String newFile, String SSXQDM, String cardType, String state, String uploadDate1,String uploadDate2,String downloadState);
public boolean updatePreproPerson_NewFileName(List<PreproPersonEntity> preproPersonEntities);
public boolean updatePreproPerson_NewFileName(List<PreproPersonDto> preproPersonEntities);
}
package com.yxproject.start.service.impl;
import com.yxproject.start.dto.PreproPersonDto;
import com.yxproject.start.entity.CountDataEntity;
import com.yxproject.start.entity.FilesEntity;
import com.yxproject.start.entity.PreproPersonEntity;
import com.yxproject.start.mapper.FilesMapper;
import com.yxproject.start.mapper.PreproPersonMapper;
import com.yxproject.start.service.ImportXmlService;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
......@@ -24,17 +36,53 @@ public class ImportXmlServiceImpl implements ImportXmlService {
/**
*
* @param preproPersonEntities
* @param preproPersonDtos
* @param filesEntity
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public boolean importPersonXml(List<PreproPersonEntity> preproPersonEntities, FilesEntity filesEntity) {
public boolean importPersonXml( List<PreproPersonDto> preproPersonDtos, FilesEntity filesEntity) {
long l = filesMapper.insertFiles(filesEntity);
for (PreproPersonEntity preproPersonEntity : preproPersonEntities) {
preproPersonEntity.setFileId(filesEntity.getId());
preproPersonMapper.savePreproPersonEntity(preproPersonEntity);
SimpleDateFormat fo = new SimpleDateFormat("YYYYMMddhhmm");
String uploadDate = fo.format(new Date());
for (PreproPersonDto preproPersonDto : preproPersonDtos) {
preproPersonDto.setFileId(filesEntity.getId());
Document document = DocumentHelper.createDocument();
Element PACKAGE = DocumentHelper.createElement("PACKAGE");
document.setRootElement(PACKAGE);
Element SDXP = PACKAGE.addElement("SDXP");
SDXP.setText(preproPersonDto.getSdxp());
Element ZWY_ZWTXSJ = PACKAGE.addElement("ZWY_ZWTXSJ");
ZWY_ZWTXSJ.setText(preproPersonDto.getZwyZwtxsj());
Element ZWY_ZWTZSJ = PACKAGE.addElement("ZWY_ZWTZSJ");
ZWY_ZWTZSJ.setText(preproPersonDto.getZwyZwtzsj());
Element ZWE_ZWTXSJ = PACKAGE.addElement("ZWE_ZWTXSJ");
ZWE_ZWTXSJ.setText(preproPersonDto.getZweZwtxsj());
Element ZWE_ZWTZSJ = PACKAGE.addElement("ZWE_ZWTZSJ");
ZWE_ZWTZSJ.setText(preproPersonDto.getZweZwtzsj());
String url = "D:\\TP_PATH_YD\\"+ uploadDate + "\\" + "ZAGL_YDZZ_" + filesEntity.getSourceFileName() + preproPersonDto.getNo() + ".xml";
try {
File file = new File(url);
if(!file.exists()){
file.getParentFile().mkdirs();
}
FileOutputStream fos = new FileOutputStream(file);
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
OutputFormat of = new OutputFormat();
of.setEncoding("UTF-8");
of.setIndent(true);
of.setNewlines(true);
of.setNewLineAfterDeclaration(false);
XMLWriter writer = new XMLWriter(osw, of);
writer.write(document);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
preproPersonDto.setTpPath(url);
preproPersonMapper.savePreproPersonEntity(preproPersonDto);
preproPersonMapper.savePreproPersonCLOB(preproPersonDto);
}
return true;
}
......
package com.yxproject.start.service.impl;
import com.yxproject.start.entity.CountyDicEntity;
import com.yxproject.start.entity.PreproPersonEntity;
import com.yxproject.start.mapper.LogMapper;
import com.yxproject.start.mapper.PreproPersonMapper;
import com.yxproject.start.service.LogService;
import com.yxproject.start.service.SelectSerialNumberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.xml.crypto.Data;
import java.io.File;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -16,6 +19,10 @@ public class LogServiceImpl implements LogService {
@Autowired
private LogMapper logMapper;
@Autowired
private PreproPersonMapper preproPersonMapper;
@Override
public List<Map<String, Object>> selectNewFilesLog(String newFileName, String cardId, String createDate, String uploadCountyCode, long currPage, long pageSize) {
List<Map<String, Object>> resultMap= logMapper.selectNewFilesLog(newFileName,cardId,createDate,uploadCountyCode,currPage * pageSize, (currPage - 1) * pageSize + 1);
......@@ -73,12 +80,19 @@ public class LogServiceImpl implements LogService {
@Override
public boolean deleteFilesData(String id) {
List<PreproPersonEntity> preproPersonEntities = preproPersonMapper.selectPath(id);
for (PreproPersonEntity preproPerson : preproPersonEntities) {
File file = new File(preproPerson.getTpPath());
file.delete();
}
logMapper.deleteFilesDataCLOB(id);
logMapper.deleteFilesData(id);
return true;
}
@Override
public boolean deleteFile(String id) {
logMapper.deleteAnalysis(id);
logMapper.deleteFile(id);
return true;
}
......
package com.yxproject.start.service.impl;
import com.yxproject.start.dto.PreproPersonDto;
import com.yxproject.start.entity.PreproPersonEntity;
import com.yxproject.start.mapper.PreproPersonMapper;
import com.yxproject.start.service.PreproPersonService;
import com.yxproject.start.utils.YXStringUtils;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
......@@ -72,13 +80,37 @@ public class PreproPersonServiceImpl implements PreproPersonService {
* @param SSXQDM
* @param cardType
* @param state
* @param uploadDate
* @param uploadDate1
* @return
*/
@Override
public List<PreproPersonEntity> selectAllPreproPerson(String uploadNo, String IDCard, String oldFile, String newFile, String SSXQDM, String cardType, String state, String uploadDate,String downloadState) {
List<PreproPersonEntity> preproPersonEntities = preproPersonMapper.selectPreproPersonCount(replace(uploadNo), replace(IDCard), replace(oldFile), replace(newFile), replace(SSXQDM), replace(cardType), replace(state), replace(uploadDate),downloadState);
return preproPersonEntities;
public List<PreproPersonDto> selectAllPreproPerson( String uploadNo, String IDCard, String oldFile, String newFile, String SSXQDM, String cardType, String state, String uploadDate1, String uploadDate2, String downloadState){
List<PreproPersonDto> preproPersonDtos = preproPersonMapper.selectPreproPerson2(replace(uploadNo), replace(IDCard), replace(oldFile), replace(newFile), replace(SSXQDM), replace(cardType), replace(state), replace(uploadDate1), replace(uploadDate2),downloadState);
List<PreproPersonDto> preproPersonDto = new ArrayList<>();
for (PreproPersonDto preproPerson : preproPersonDtos) {
File file = new File(preproPerson.getTpPath());
if(file.exists()){
try {
InputStream input = new FileInputStream(file);
String date = YXStringUtils.inputStream2String(input, "utf-8");
Document document = DocumentHelper.parseText(date);
Element root = document.getRootElement();
preproPerson.setSdxp(root.element("SDXP").getStringValue());
preproPerson.setZwyZwtxsj(root.element("ZWY_ZWTXSJ").getStringValue());
preproPerson.setZwyZwtzsj(root.element("ZWY_ZWTZSJ").getStringValue());
preproPerson.setZweZwtxsj(root.element("ZWE_ZWTXSJ").getStringValue());
preproPerson.setZweZwtzsj(root.element("ZWE_ZWTZSJ").getStringValue());
preproPersonDto.add(preproPerson);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
return preproPersonDtos;
}
/**
......@@ -90,7 +122,6 @@ public class PreproPersonServiceImpl implements PreproPersonService {
* @param SSXQDM
* @param cardType
* @param state
* @param uploadDate
* @return
*/
@Override
......@@ -125,8 +156,8 @@ public class PreproPersonServiceImpl implements PreproPersonService {
* @return
*/
@Override
public boolean updatePreproPerson_NewFileName(List<PreproPersonEntity> preproPersonEntities) {
for (PreproPersonEntity preproPersonEntity: preproPersonEntities) {
public boolean updatePreproPerson_NewFileName(List<PreproPersonDto> preproPersonEntities) {
for (PreproPersonDto preproPersonEntity: preproPersonEntities) {
preproPersonMapper.updateNewFileName(preproPersonEntity);
}
......
package com.yxproject.start.utils;
import com.yxproject.start.dto.PreproPersonDto;
import com.yxproject.start.entity.FilesEntity;
import com.yxproject.start.entity.PreproPersonEntity;
import org.dom4j.Document;
......@@ -21,7 +22,7 @@ public class IDCardFactory {
public Map<String, Object> extractIDCard(String file,Date date) throws Exception {
Map<String,Object> resultMap = new HashMap<>();
List<PreproPersonEntity> preproPersonEntityList = new ArrayList<>();
List<PreproPersonDto> preproPersonEntityList = new ArrayList<>();
FilesEntity filesEntity = new FilesEntity();
try {
Document document = DocumentHelper.parseText(file);
......@@ -41,8 +42,9 @@ public class IDCardFactory {
filesEntity.setCreateTime(packagehead.element("SCSJ").getTextTrim());
List<Element> recordlist = records.elements("RECORD");
for (Element e : recordlist) {
PreproPersonEntity preproPersonEntity = new PreproPersonEntity();
PreproPersonDto preproPersonEntity = new PreproPersonDto();
preproPersonEntity.setSid(e.attributeValue("sid"));
preproPersonEntity.setNo(e.attributeValue("no"));
preproPersonEntity.setJmsfzslh( e.element("JMSFZSLH").getStringValue());
preproPersonEntity.setGmsfhm(e.element("GMSFHM").getStringValue());
preproPersonEntity.setXm(e.element("XM").getStringValue());
......
......@@ -4,7 +4,7 @@ server:
spring:
datasource:
driver-class-name: oracle.jdbc.driver.OracleDriver
url: jdbc:oracle:thin:@192.168.1.16:1521:yingxin
url: jdbc:oracle:thin:@192.168.10.65:1521:yingxin
username: yingxinyd
password: yingxinyd
servlet:
......
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