package com.engine.custom.archives.service; import cn.hutool.core.util.ZipUtil; import com.dcfs.fts.common.error.FtpException; import com.engine.custom.archives.entity.PushArchivesBean; import com.engine.custom.archives.util.ArchivesUtil; import com.engine.custom.hg.util.HgUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import weaver.conn.RecordSet; import weaver.general.Util; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; public class SignReportPushArchivesService { public static Logger log = LoggerFactory.getLogger("Archives"); private static String filePath; private static String Url; private static String templatePath; // 模板文件路径 private static final String zwdir = "正文"; private static final String fjdir = "附件"; private static final String cbddir = "承办单"; private static final String zlcdir = "承办单" + File.separator + "子流程"; private static final String lzxxdir = "流转信息"; private static final String fjFile = "附件"; private static final String fjWord = "附件"; private static final String zwWord = "正文"; private static final String lhgWord = "留痕稿"; private static final String lcfjWord = "流程附件"; private static final String qzyjfjWord = "签字意见附件"; private static final String wjcldWord = "文件处理单"; private static final String wjlzxxWord = "文件流转信息"; public void setProp(Map param) { filePath = Util.null2String(param.get("filePath")); Url = Util.null2String(param.get("Url")); templatePath = Util.null2String(param.get("templatePath")); } public void pushArchives(Map param) { Date date = ArchivesUtil.getDate(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); String format = dateFormat.format(date); SimpleDateFormat yyyyMMddHHmmss = new SimpleDateFormat("yyyy-MM-dd HH:mm"); // 获取当前时间的第一秒 String firstSecond = yyyyMMddHHmmss.format(ArchivesUtil.getFirstSecondOfDate(date)); // 获取当前时间的最后一秒 String lastSecond = yyyyMMddHHmmss.format(ArchivesUtil.getLastSecondOfDate(date)); RecordSet recordSet = new RecordSet(); List result = ArchivesUtil.getResultList(recordSet, firstSecond, lastSecond, 0); log.error("推送发文的数量:{}", result.size()); File file = ArchivesUtil.crFile(filePath + "/togd_" + new SimpleDateFormat("yyyyMMdd000000").format(date)); log.error("textfile:{}", file.getAbsolutePath()); for (PushArchivesBean pushArchivesBean : result) { int id = pushArchivesBean.getId(); int request = pushArchivesBean.getRequest(); log.error("推送的requestId:{}", request); try { // String context = generateFile(request); ArchivesUtil.writeToTxt(file.getPath(), file.getName(), context, true); File txtzip = new File(filePath + File.separator + "togd_" + new SimpleDateFormat("yyyyMMdd000000").format(date) + ".zip"); log.error("textZipFile:{}", txtzip.getAbsolutePath()); OutputStream outputStream = new FileOutputStream(txtzip); File writename = new File(file.getPath() + "/" + file.getName() + ".txt"); com.engine.custom.hg.util.ZipUtil.filesToZip(writename, outputStream, writename.getName()); log.error("writename:{}", writename.getName()); String s = HgUtils.putFile(txtzip.getAbsolutePath(), txtzip.getName()); // updateRecord(request, s); log.error("textZip:{}", s); } catch (FtpException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } }