|
|
@@ -247,7 +247,7 @@ public class ElecInvoiceTask {
|
|
|
m.put("taxnum",taxnum);
|
|
|
logger.info("ElecI-redPdfUrlUpdate: master: {} Begin ",master);
|
|
|
SpObserver.putSp(master);
|
|
|
- List<String> serialNosAll = baseDao.queryForList("select ei_redsid from ElecInvoice left join InvoiceOrder on ei_ioid = io_id where io_ordertype=1 and EI_RELATIVEREFNO is not null and ei_redpdfurl is null and nvl(EI_BILLSTATUS,' ') in (' ','01','04')",String.class);
|
|
|
+ List<String> serialNosAll = baseDao.queryForList("select ei_redsid from ElecInvoice left join InvoiceOrder on ei_ioid = io_id where io_ordertype=1 and EI_RELATIVEREFNO is not null and ei_redpdfurl is null and nvl(EI_BILLSTATUS,' ') in (' ','01','04')",String.class);
|
|
|
if (serialNosAll == null){
|
|
|
logger.info("ElecI-redPdfUrlUpdate: master: {} size: {} ",master,0);
|
|
|
}else {
|
|
|
@@ -281,47 +281,52 @@ public class ElecInvoiceTask {
|
|
|
while (ioList.next()){
|
|
|
//下载地址
|
|
|
String fileUrl = ioList.getGeneralString("ei_redpdfurl"); // "https://inv.jss.com.cn/fp2/2zpnwyKkdvu9dWzE8BhmSnER0Iux3xQRMLidDJhiIE2PziVXY4lL3k83OsK0K06YctW5cf1FFHxraffj-bf16A.pdf";
|
|
|
- // 定义要保存的文件的路径
|
|
|
- String fileName = ioList.getGeneralString("cu_name")+ioList.getGeneralString("ei_relativerefno")+".pdf";//发票号码
|
|
|
- String fileBasePath = "C:\\invoice\\"+fileName;//发票号码
|
|
|
- fileBasePath = String.valueOf(obs[5])+fileName;//发票储存路径
|
|
|
- try {
|
|
|
- // 创建URL对象
|
|
|
- URL url = new URL(fileUrl);
|
|
|
- // 打开连接
|
|
|
- URLConnection conn = url.openConnection();
|
|
|
- // 获取输入流
|
|
|
- InputStream in = conn.getInputStream();
|
|
|
- // 创建输出流
|
|
|
- FileOutputStream out = new FileOutputStream(fileBasePath);
|
|
|
- // 创建缓冲区
|
|
|
- byte[] buffer = new byte[104857600];
|
|
|
- // 读取并写入数据
|
|
|
- int len;
|
|
|
- while ((len = in.read(buffer)) != -1) {
|
|
|
- out.write(buffer, 0, len);
|
|
|
- }
|
|
|
- long size = out.getChannel().size();
|
|
|
- // 关闭流
|
|
|
- in.close();
|
|
|
- out.close();
|
|
|
+ String[] fileUrls = fileUrl.split(",");
|
|
|
+ StringBuffer fIds = new StringBuffer();
|
|
|
+ for (String downFileurl:fileUrls) {
|
|
|
+ // 定义要保存的文件的路径
|
|
|
+ String fileName = ioList.getGeneralString("cu_name")+ioList.getGeneralString("ei_relativerefno")+".pdf";//发票号码
|
|
|
+ String fileBasePath = "C:\\invoice\\"+fileName;//发票号码
|
|
|
+ fileBasePath = String.valueOf(obs[5])+fileName;//发票储存路径
|
|
|
+ try {
|
|
|
+ // 创建URL对象
|
|
|
+ URL url = new URL(downFileurl);
|
|
|
+ // 打开连接
|
|
|
+ URLConnection conn = url.openConnection();
|
|
|
+ // 获取输入流
|
|
|
+ InputStream in = conn.getInputStream();
|
|
|
+ // 创建输出流
|
|
|
+ FileOutputStream out = new FileOutputStream(fileBasePath);
|
|
|
+ // 创建缓冲区
|
|
|
+ byte[] buffer = new byte[104857600];
|
|
|
+ // 读取并写入数据
|
|
|
+ int len;
|
|
|
+ while ((len = in.read(buffer)) != -1) {
|
|
|
+ out.write(buffer, 0, len);
|
|
|
+ }
|
|
|
+ long size = out.getChannel().size();
|
|
|
+ // 关闭流
|
|
|
+ in.close();
|
|
|
+ out.close();
|
|
|
// System.out.println("size:"+size);
|
|
|
- //存文件 filepath
|
|
|
- int id = commonService.saveFilePath(fileBasePath, (int) size, fileName, "管理员");
|
|
|
- baseDao.execute("update ELECINVOICE set ei_redpdfattach ='"+id+";' where ei_relativerefno='"+ioList.getGeneralString("ei_relativerefno")+"' and ei_allelectronicinvoicenumber = "+ioList.getGeneralString("ei_allelectronicinvoicenumber"));
|
|
|
- //关联退货单 开票订单信息更新
|
|
|
- baseDao.execute("update Invoiceorder set io_attach = '"+id+";' where io_ordertype=2 and io_yfphm='"+ioList.getGeneralString("ei_allelectronicinvoicenumber")+"' and io_refno = '"+ioList.getGeneralString("ei_relativerefno")+"'");
|
|
|
- System.out.println("下载成功");
|
|
|
- } catch (Exception e) {
|
|
|
- e.printStackTrace();
|
|
|
- String errMsg = "文件转存异常";
|
|
|
- if(StringUtil.hasText(e.getMessage())){
|
|
|
- errMsg = e.getMessage();
|
|
|
- }else if(e.getCause()!=null&&StringUtil.hasText(e.getCause().getMessage())){
|
|
|
- errMsg = e.getCause().getMessage();
|
|
|
+ //存文件 filepath
|
|
|
+ int id = commonService.saveFilePath(fileBasePath, (int) size, fileName, "管理员");
|
|
|
+ fIds.append(id).append(";");
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ String errMsg = "文件转存异常";
|
|
|
+ if(StringUtil.hasText(e.getMessage())){
|
|
|
+ errMsg = e.getMessage();
|
|
|
+ }else if(e.getCause()!=null&&StringUtil.hasText(e.getCause().getMessage())){
|
|
|
+ errMsg = e.getCause().getMessage();
|
|
|
+ }
|
|
|
+ commonService.logFRecord("订单关联发票对接",errMsg.replaceAll("'","''"),ioList.getGeneralInt("ei_id"));
|
|
|
}
|
|
|
- commonService.logFRecord("订单关联发票对接",errMsg.replaceAll("'","''"),ioList.getGeneralInt("ei_id"));
|
|
|
}
|
|
|
+ baseDao.execute("update ELECINVOICE set ei_redpdfattach = '"+fIds+"' where ei_relativerefno='"+ioList.getGeneralString("ei_relativerefno")+"' and ei_allelectronicinvoicenumber = "+ioList.getGeneralString("ei_allelectronicinvoicenumber"));
|
|
|
+ //关联退货单 开票订单信息更新
|
|
|
+ baseDao.execute("update Invoiceorder set io_attach = '"+fIds+"' where io_ordertype=2 and io_yfphm='"+ioList.getGeneralString("ei_allelectronicinvoicenumber")+"' and io_refno = '"+ioList.getGeneralString("ei_relativerefno")+"'");
|
|
|
+ System.out.println("下载成功");
|
|
|
}
|
|
|
logger.info("ElecI-AttachSave: master: {} End ",master);
|
|
|
}
|