package com.engine.custom.archives.service.firstBranch; import cn.hutool.core.util.ZipUtil; import com.alibaba.fastjson.JSONObject; 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.archives.util.KeyWord; import com.engine.custom.hg.util.HgUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import weaver.conn.RecordSet; import weaver.file.ImageFileManager; import weaver.general.StringUtil; import weaver.general.Util; import weaver.hrm.User; import weaver.hrm.company.DepartmentComInfo; import weaver.soa.workflow.request.RequestInfo; import weaver.soa.workflow.request.RequestService; import java.io.*; import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.*; /*** * @Des: 一级分行发文推送档案系统服务 */ public class FirstBranchSendingPushArchivesService implements KeyWord { public static Logger log = LoggerFactory.getLogger("Archives"); private static String filePath; private static String Url; private static String templatePath; // 模板文件路径 private int endTime= 7; public void setProp(Map param) { filePath = Util.null2String(param.get("filePath")); Url = Util.null2String(param.get("Url")); templatePath = Util.null2String(param.get("templatePath")); endTime = Util.getIntValue(param.get("endTime"),7); } public void pushArchives(Map param) { log.info("PushArchivesCorn====Begin========{}", 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, 3); log.error("推送分行发文的数量:{}", result.size()); File file = ArchivesUtil.crFile(filePath + "/togd_" + new SimpleDateFormat("yyyyMMdd000000").format(date)); log.error("textfile:{}", file.getAbsolutePath()); for (PushArchivesBean pushArchivesBean : result) { if (ArchivesUtil.isAfterSevenAM(endTime)){ log.info("超过执行时间:{}点暂停计划任务",endTime); break; } // int id = pushArchivesBean.getId(); int request = pushArchivesBean.getRequest(); log.error("推送的requestId:{}", request); try { String context = generateFile(request); if ("-1".equals(context)){ continue; } 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,"esbtxtml",s); updateRecord(request,"zt","0"); log.error("textZip:{}", s); } catch (FtpException e) { e.printStackTrace(); log.error("推送档案requestid:{}异常,异常原因为:{}",request,e.getMessage()); } catch (IOException e) { e.printStackTrace(); log.error("推送档案requestid:{}异常,异常原因为:{}",request,e.getMessage()); } catch (Exception e){ e.printStackTrace(); log.error("推送档案requestid:{}异常,异常原因为:{}",request,e.getMessage()); } } } private String generateFile(int requestid) throws FtpException, IOException { Map requesData = getRequestByid(requestid); String newRequestid = "togd"+requestid; log.info("requesData:{}", requesData); String bh = requesData.get("bh"); if (StringUtil.isEmpty(bh)){ return "-1"; } String fj = Util.null2String(requesData.get("fj")); String dwd = Util.null2String(requesData.get("dwd")); String zw = Util.null2String(requesData.get("zw")); String qgqhj = Util.null2String(requesData.get("qgqhj")); String thhlh = Util.null2String(requesData.get("thhlh")); //增加签字意见中的附件到附件文件夹中 Map signFiles = ArchivesUtil.getSignFiles(requestid,false); List docids = new ArrayList<>(); // docids.addAll(Arrays.asList(fj.split(","))); // docids.addAll(Arrays.asList(zwkbj.split(","))); Map fjMap = ArchivesUtil.getFileIdByDocId(fj); Map dwdMap = ArchivesUtil.getFileIdByDocId(dwd); Map zwMap = ArchivesUtil.getFileIdByDocId(zw); Map qgqhjMap = ArchivesUtil.getFileIdByDocId(qgqhj); Map thhlhMap = ArchivesUtil.getFileIdByDocId(thhlh); List zwFileName = new ArrayList<>(); List fjFileName = new ArrayList<>(); final int[] i = {1}; //附件 fjMap.forEach((docid, imageid) -> { ImageFileManager imageFileManager = new ImageFileManager(); imageFileManager.getImageFileInfoById(Util.getIntValue(imageid)); InputStream inputStream = imageFileManager.getInputStream(); //中文路径/中文文件名 String imageFileName = filePath + File.separator + newRequestid + File.separator + FJDIR + File.separator + LCFJWORD + "-" +imageFileManager.getImageFileName(); fjFileName.add(LCFJWORD + "-" +imageFileManager.getImageFileName()); log.info("生成附件路径:{}", imageFileName); imageFileName = ArchivesUtil.codeUtf8(imageFileName); try { File file = ArchivesUtil.saveInputStreamToFile(inputStream, imageFileName); String jsonStr = ArchivesUtil.callApi(Url, file); log.error("永中接口返回数据:{}", jsonStr); JSONObject result = JSONObject.parseObject(jsonStr); String errorcode = result.getString("errorcode"); if ("0".equals(errorcode)) { JSONObject data = result.getJSONObject("data"); String destFileName = data.getString("destFileName"); String viewUrl = data.getString("viewUrl"); ArchivesUtil.downloadFile(viewUrl, filePath + File.separator + newRequestid + File.separator + FJDIR + File.separator + LCFJWORD + "-" + imageFileManager.getImageFileName() + ".pdf"); } } catch (IOException e) { e.printStackTrace(); }finally { if(inputStream!=null) { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } }); //签字意见附件 signFiles.forEach((docid, imageid) -> { ImageFileManager imageFileManager = new ImageFileManager(); imageFileManager.getImageFileInfoById(Util.getIntValue(imageid)); InputStream inputStream = imageFileManager.getInputStream(); //中文路径/中文文件名 String imageFileName = filePath + File.separator + newRequestid + File.separator + FJDIR + File.separator + QZYJFJWORD+ "-" +imageFileManager.getImageFileName(); fjFileName.add(QZYJFJWORD+ "-" +imageFileManager.getImageFileName()); log.info("生成签字意见附件路径:{}", imageFileName); imageFileName = ArchivesUtil.codeUtf8(imageFileName); try { File file = ArchivesUtil.saveInputStreamToFile(inputStream, imageFileName); String jsonStr = ArchivesUtil.callApi(Url, file); log.error("永中接口返回数据:{}", jsonStr); JSONObject result = JSONObject.parseObject(jsonStr); String errorcode = result.getString("errorcode"); if ("0".equals(errorcode)) { JSONObject data = result.getJSONObject("data"); String destFileName = data.getString("destFileName"); String viewUrl = data.getString("viewUrl"); ArchivesUtil.downloadFile(viewUrl, filePath + File.separator + newRequestid + File.separator + FJDIR + File.separator + QZYJFJWORD+ "-" + imageFileManager.getImageFileName() + ".pdf"); } } catch (IOException e) { e.printStackTrace(); }finally { if(inputStream!=null) { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } }); //多文档 // dwdMap.forEach((docid, imageid) -> { // ImageFileManager imageFileManager = new ImageFileManager(); // imageFileManager.getImageFileInfoById(Util.getIntValue(imageid)); // InputStream inputStream = imageFileManager.getInputStream(); // zwFileName.add(imageFileManager.getImageFileName()); // //中文路径/中文文件名 // String imageFileName = filePath + File.separator + requestid + File.separator + zwdir + File.separator + fjWord + i[0] + "_" + zwWord + "_" + imageFileManager.getImageFileName(); // log.info("生成多文档路径:{}", imageFileName); // imageFileName = ArchivesUtil.codeUtf8(imageFileName); // try { // File file = ArchivesUtil.saveInputStreamToFile(inputStream, imageFileName); // String jsonStr = ArchivesUtil.callApi(Url, file); // log.error("永中接口返回:{}", jsonStr); // JSONObject result = JSONObject.parseObject(jsonStr); // String errorcode = result.getString("errorcode"); // if ("0".equals(errorcode)) { // JSONObject data = result.getJSONObject("data"); // String destFileName = data.getString("destFileName"); // String viewUrl = data.getString("viewUrl"); // ArchivesUtil.downloadFile(viewUrl, filePath + File.separator + requestid + File.separator + zwdir + File.separator + fjWord + i[0] + "_" + zwWord + "_" + imageFileManager.getImageFileName() + ".pdf"); // } // } catch (IOException e) { // e.printStackTrace(); // } // i[0]++; // }); //正文 zwMap.forEach((docid, imageid) -> { ImageFileManager imageFileManager = new ImageFileManager(); imageFileManager.getImageFileInfoById(Util.getIntValue(imageid)); InputStream inputStream = imageFileManager.getInputStream(); String newFile = FJWORD + i[0] + "_" + ZWWORD + "-" + (imageFileManager.getImageFileName().replaceAll("/","-")); //中文路径/中文文件名 String imageFileName = filePath + File.separator + newRequestid + File.separator + ZWDIR + File.separator + newFile; zwFileName.add(newFile); log.info("生成正文路径:{}", imageFileName); imageFileName = ArchivesUtil.codeUtf8(imageFileName); try { File file = ArchivesUtil.saveInputStreamToFile(inputStream, imageFileName); String jsonStr = ArchivesUtil.callApi(Url, file); log.error("永中接口返回:{}", jsonStr); JSONObject result = JSONObject.parseObject(jsonStr); String errorcode = result.getString("errorcode"); if ("0".equals(errorcode)) { JSONObject data = result.getJSONObject("data"); String destFileName = data.getString("destFileName"); String viewUrl = data.getString("viewUrl"); ArchivesUtil.downloadFile(viewUrl, filePath + File.separator + newRequestid + File.separator + ZWDIR + File.separator + newFile + ".pdf"); } } catch (IOException e) { e.printStackTrace(); }finally { if(inputStream!=null) { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } i[0]++; }); //清稿前痕迹 qgqhjMap.forEach((docid, imageid) -> { ImageFileManager imageFileManager = new ImageFileManager(); imageFileManager.getImageFileInfoById(Util.getIntValue(imageid)); InputStream inputStream = imageFileManager.getInputStream(); String newFile = FJWORD + i[0] + "_" + LHGWORD + "-" + (imageFileManager.getImageFileName().replaceAll("/","-")); zwFileName.add(newFile); //中文路径/中文文件名 String imageFileName = filePath + File.separator + newRequestid + File.separator + ZWDIR + File.separator + newFile; log.info("生成清稿前痕迹路径:{}", imageFileName); imageFileName = ArchivesUtil.codeUtf8(imageFileName); try { File file = ArchivesUtil.saveInputStreamToFile(inputStream, imageFileName); String jsonStr = ArchivesUtil.callApi(Url, file); log.error("永中接口返回:{}", jsonStr); JSONObject result = JSONObject.parseObject(jsonStr); String errorcode = result.getString("errorcode"); if ("0".equals(errorcode)) { JSONObject data = result.getJSONObject("data"); String destFileName = data.getString("destFileName"); String viewUrl = data.getString("viewUrl"); ArchivesUtil.downloadFile(viewUrl, filePath + File.separator + newRequestid + File.separator + ZWDIR + File.separator + newFile + ".pdf"); } } catch (IOException e) { e.printStackTrace(); }finally { if(inputStream!=null) { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } i[0]++; }); //套红后留痕 // thhlhMap.forEach((docid, imageid) -> { // ImageFileManager imageFileManager = new ImageFileManager(); // imageFileManager.getImageFileInfoById(Util.getIntValue(imageid)); // InputStream inputStream = imageFileManager.getInputStream(); // zwFileName.add(imageFileManager.getImageFileName()); // //中文路径/中文文件名 // String imageFileName = filePath + File.separator + requestid + File.separator + zwdir + File.separator + fjWord + i[0] + "_" + lhgWord + "_" + imageFileManager.getImageFileName(); // log.info("生成套红后留痕路径:{}", imageFileName); // imageFileName = ArchivesUtil.codeUtf8(imageFileName); // try { // File file = ArchivesUtil.saveInputStreamToFile(inputStream, imageFileName); // String jsonStr = ArchivesUtil.callApi(Url, file); // log.error("永中接口返回:{}", jsonStr); // JSONObject result = JSONObject.parseObject(jsonStr); // String errorcode = result.getString("errorcode"); // if ("0".equals(errorcode)) { // JSONObject data = result.getJSONObject("data"); // String destFileName = data.getString("destFileName"); // String viewUrl = data.getString("viewUrl"); // ArchivesUtil.downloadFile(viewUrl, filePath + File.separator + requestid + File.separator + zwdir + File.separator + fjWord + i[0] + "_" + lhgWord + "_" + imageFileManager.getImageFileName() + ".pdf"); // } // } catch (IOException e) { // e.printStackTrace(); // } // i[0]++; // }); //开始承办单 先获取主流程的承办单 List requestDocid = ArchivesUtil.generaRequestFormPdf(requestid, 0); // 1.去掉生成子流程承办单 // List subRequestDocid = generaSubRequestFormPdf(requestid); Map reqDocMap = ArchivesUtil.getFileIdByDocId(String.join(",", requestDocid)); // 2.去掉生成子流程承办单 // Map subReqDocMap = getFileIdByDocId(String.join(",", subRequestDocid)); log.error("reqDocMap:{}", JSONObject.toJSONString(reqDocMap)); //log.error("subReqDocMap:{}", JSONObject.toJSONString(subReqDocMap)); docids.addAll(requestDocid); // 3.去掉生成子流程承办单 // docids.addAll(subRequestDocid); i[0] = 1; //主流程承办单 reqDocMap.forEach((docid, imageid) -> { ImageFileManager imageFileManager = new ImageFileManager(); imageFileManager.getImageFileInfoById(Util.getIntValue(imageid)); InputStream inputStream = imageFileManager.getInputStream(); //中文路径/中文文件名 // String imageFileName = filePath + File.separator + requestid + File.separator + cbddir + File.separator + fjFile + i[0] + "_" + imageFileManager.getImageFileName(); // String imageFileName = filePath + File.separator + newRequestid + File.separator + cbddir + File.separator + fjFile + i[0] + "_" + wjcldWord+".pdf"; String imageFileName = filePath + File.separator + newRequestid + File.separator + CBDDIR + File.separator + WJCLDWORD+".pdf"; log.info("主流程承办单路径:{}", imageFileName); imageFileName = ArchivesUtil.codeUtf8(imageFileName); try { File file = ArchivesUtil.saveInputStreamToFile(inputStream, imageFileName); String jsonStr = ArchivesUtil.callApi(Url, file); log.error("永中接口返回:{}", jsonStr); JSONObject result = JSONObject.parseObject(jsonStr); String errorcode = result.getString("errorcode"); if ("0".equals(errorcode)) { JSONObject data = result.getJSONObject("data"); String destFileName = data.getString("destFileName"); String viewUrl = data.getString("viewUrl"); ArchivesUtil.downloadFile(viewUrl, filePath + File.separator + newRequestid + File.separator + CBDDIR + File.separator + WJCLDWORD + ".pdf" + ".pdf"); } i[0]++; } catch (IOException e) { e.printStackTrace(); }finally { if(inputStream!=null) { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } }); //正文 log.error(JSONObject.toJSONString(requestDocid)); for (String docid : docids) { log.error("删除了" + docid); ArchivesUtil.deleteDocByid(docid); } //-------------------------------------------------------------------- RequestService requestService = new RequestService(); RequestInfo requestInfo = requestService.getRequest(Util.getIntValue(requestid), 100); String workflowid = requestInfo.getWorkflowid(); String logFile = ArchivesUtil.getSignLog(requestid, CBDDIR + File.separator + LZXXDIR, requestInfo.getCreatorid() + requestInfo.getDescription(), templatePath, filePath,false,workflowid); String s = ArchivesUtil.callApi(Url, new File(logFile)); log.error(s); JSONObject result = JSONObject.parseObject(s); String errorcode = result.getString("errorcode"); if ("0".equals(errorcode)) { JSONObject data = result.getJSONObject("data"); String destFileName = data.getString("destFileName"); String viewUrl = data.getString("viewUrl"); ArchivesUtil.downloadFile(viewUrl, logFile + ".pdf"); } String zipName = filePath + File.separator + newRequestid + ".zip"; ZipUtil.zip(filePath + File.separator + newRequestid, zipName); log.error("zipName:{}", zipName); String ftpFilePath = HgUtils.putFile(zipName, newRequestid + ".zip"); log.error("ftpFilePath:{}", ftpFilePath); updateRecord(requestid,"esbwjml",ftpFilePath); ArchivesUtil.deleteDirectory(filePath + File.separator + newRequestid); // String ftpFilePathNew = HgUtils.putFile(zipName, "test" + File.separator + requestid + ".zip"); // log.error("ftpFilePathNew:{}", ftpFilePathNew); String context = getContext(requestid, requesData, newRequestid + ".zip", zwFileName, fjFileName); // insertRecord(requestid, context, ftpFilePath); updateRecord(requestid,"content",context); log.error("context:{}", context); return context; } /*** * 封装数据 * @param requestid * @return */ public Map getRequestByid(int requestid) { HashMap record = new HashMap<>(); String sql = "select * from formtable_main_49 where requestid = ?"; String reqsql = "select REQUESTNAME from WORKFLOW_REQUESTBASE where REQUESTID = ?"; RecordSet rs = new RecordSet(); rs.executeQuery(sql, requestid); if (rs.next()) { record.put("fj", Util.null2String(rs.getString("fj"))); record.put("dwd", Util.null2String(rs.getString("dwd"))); record.put("zw", Util.null2String(rs.getString("zw"))); record.put("ngrq", Util.null2String(rs.getString("ngrq"))); record.put("jghwt", Util.null2String(rs.getString("jghwt"))); record.put("bh", Util.null2String(rs.getString("bh"))); record.put("ngbm", Util.null2String(rs.getString("ngbm"))); record.put("bgqx", Util.null2String(rs.getString("bgqx"))); record.put("cwrq", Util.null2String(rs.getString("cwrq"))); record.put("ys", Util.null2String(rs.getString("ys"))); record.put("wz", Util.null2String(rs.getString("wz"))); record.put("ngbm", Util.null2String(rs.getString("ngbm"))); record.put("lb", Util.null2String(rs.getString("lb"))); record.put("bz", Util.null2String(rs.getString("bz"))); record.put("yywh", Util.null2String(rs.getString("yywh"))); record.put("wjlx", Util.null2String(rs.getString("wjlx"))); record.put("fwlx", Util.null2String(rs.getString("fwlx"))); record.put("f", Util.null2String(rs.getString("f"))); record.put("ngr", Util.null2String(rs.getString("ngr"))); record.put("qgqhj", Util.null2String(rs.getString("qgqhj"))); record.put("thhlh", Util.null2String(rs.getString("thhlh"))); } rs.executeQuery(reqsql, requestid); if (rs.next()) { record.put("REQUESTNAME", Util.null2String(rs.getString("REQUESTNAME"))); } return record; } private String getContext(int requestid, Map requesData, String zipName, List zwFileName, List fjFileName) { StringBuilder context = new StringBuilder(); try { DepartmentComInfo departmentComInfo = new DepartmentComInfo(); String ngrq = Util.null2String(requesData.get("cwrq")); //拟稿日期 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDate date = LocalDate.parse(ngrq, formatter); int year = date.getYear(); context.append(year).append("|"); //1.年度 -> 拟稿日期 String jghwt = Util.null2String(requesData.get("jghwt"));//2.机构或问题 -> 机构或问题 context.append(jghwt).append("|"); String bh = Util.null2String(requesData.get("bh"));// 3.文号 -> 编号 context.append(bh).append("|"); String requestname = Util.null2String(requesData.get("REQUESTNAME")); // 4.文件题名 -> 流程名称 context.append(requestname).append("|"); String ngbmName = Util.null2String(departmentComInfo.getDepartmentmark(requesData.get("ngbm"))); //5 责任者 -> 拟稿部门 context.append(ngbmName).append("|"); String bgqx = Util.null2String(requesData.get("bgqx")); //6 保管期限 -> 保管期限 context.append(bgqx).append("|"); String cwrq = Util.null2String(requesData.get("cwrq")); //7 日期 -> 成文日期 context.append(cwrq).append("|"); String ys = Util.null2String(requesData.get("ys")); //8 页数 -> 页数 context.append(ys).append("|"); String wz = Util.null2String(requesData.get("wz")); //9 文种 -> 文种 context.append(wz).append("|"); String ngbm = Util.null2String(requesData.get("ngbm")); String[] deptData = ArchivesUtil.getDeptNameAndCode(ngbm); String[] subData = ArchivesUtil.getSubCom(ngbm); context.append(subData[0]).append("|"); //10 行编号 -> 拟稿部门 context.append(subData[1]).append("|"); //11 行名称 context.append("").append("|"); // 12 保管期限编号 context.append("").append("|"); // 13 保管期限及编号 context.append("").append("|"); // 14 是否开放 context.append("").append("|"); // 15 互见号 String lb = Util.null2String(requesData.get("lb")); context.append(lb).append("|"); //16 类别 -> 类别 //TODO String xgbm = Util.null2String(getAssociatedDepts(requesData)); context.append(xgbm).append("|"); //17 相关部门 -> 流经部门 // String lwh = Util.null2String(requesData.get("lwh")); context.append("").append("|");// 18 收文号 -> 空 String fs = ""; context.append(fs).append("|"); // 19 份数 -> 份数 String bz = Util.null2String(requesData.get("bz")); context.append("").append("|"); // 20 备注 -> 备注 String yywh = Util.null2String(requesData.get("yywh")); context.append("").append("|"); // 21 引用文号 -> 引用文号 String wjlx = Util.null2String(requesData.get("wjlx")); context.append("").append("|"); // 22 文件类型 -> 空 String fwlx = Util.null2String(requesData.get("fwlx")); context.append("分行发文").append("|"); // 23 发文类型 -> 空 String f = Util.null2String(requesData.get("f")); context.append(f).append("|"); // 24 发 -> 空 String ngr = Util.null2String(requesData.get("ngr")); context.append(new User(Util.getIntValue(ngr)).getLoginid()).append("|"); // 25 拟稿人 -> 拟稿人 context.append(ngbmName).append("|"); // 26 拟稿部门 -> 拟稿部门名称 context.append("发文").append("|"); // 27 公文类型 -> "收文" //TODO context.append(ArchivesUtil.getAssociatedPersons(requestid,false)).append("|"); // 28 相关人员 -> 参与人员 context.append("智慧OA").append("|"); // 29 数据来源 -> 数据来源 context.append(year).append("|"); // 30 形成年度 -> 年份 context.append(String.join("&&", zwFileName)).append("|"); // 31 正文名称 context.append(String.join("&&", fjFileName)).append("|"); // 32 附件名称 context.append("togd"+requestid).append("|"); // 33 主键 context.append("").append("|"); // 34 关联主键 context.append("").append("|"); // 35 被关联主键 context.append(zipName);// 36 压缩包名称 } catch (Exception e) { e.printStackTrace(); log.error("getContextError:{}", e.getMessage()); } return context.toString(); } private String getAssociatedDepts(Map requesData) { HashSet records = new HashSet<>(); records.addAll(Arrays.asList(Util.null2String(requesData.get("hqbm")).split(","))); // 会签部门 records.addAll(Arrays.asList(Util.null2String(requesData.get("ngbm")).split(","))); // 拟稿部门 records.addAll(Arrays.asList(Util.null2String(requesData.get("bmyb")).split(","))); // 部门阅办 records.addAll(Arrays.asList(Util.null2String(requesData.get("cs")).split(","))); // 抄送 records.addAll(Arrays.asList(Util.null2String(requesData.get("nbfs")).split(","))); // 本行发送 records.addAll(Arrays.asList(Util.null2String(requesData.get("zs")).split(","))); // 主送 records.addAll(Arrays.asList(Util.null2String(requesData.get("dqbm")).split(","))); // 当前部门 records.addAll(Arrays.asList(Util.null2String(requesData.get("cb")).split(","))); // 抄报 records.addAll(Arrays.asList(Util.null2String(requesData.get("bmhqzj")).split(","))); // 部门会签(追加) records.addAll(Arrays.asList(Util.null2String(requesData.get("bmybzj")).split(","))); // 部门阅办(追加) ArrayList deptName = new ArrayList<>(); DepartmentComInfo departmentComInfo = new DepartmentComInfo(); for (String record : records) { try { if (StringUtil.isEmpty(record)){ continue; } String departmentName = departmentComInfo.getDepartmentmark(record); deptName.add(departmentName); } catch (Exception e) { e.printStackTrace(); } } return String.join("&&", deptName); } private void updateRecord(int requestid, String field , String fieldvalue) { String sql = "update uf_pushArchivesLog set "+field+" = ? where request = ?"; RecordSet recordSet = new RecordSet(); recordSet.executeUpdate(sql, fieldvalue, requestid); } }