diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java
index de25701b..6579fb16 100644
--- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java
+++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.java
@@ -9,8 +9,8 @@ import com.hzya.frame.web.entity.BaseEntity;
public class IncomeInvoiceEntity extends BaseEntity {
//发票字段
- private Integer dataId;
- private Integer formmainId;
+ private String dataId;
+ private String formmainId;
private String field0127;
private String field0128;
private String field0129;
@@ -28,6 +28,7 @@ public class IncomeInvoiceEntity extends BaseEntity {
private String iufoVer;
+
public String getAloneId() {
return aloneId;
}
@@ -68,19 +69,19 @@ public class IncomeInvoiceEntity extends BaseEntity {
this.iufoVer = iufoVer;
}
- public Integer getDataId() {
+ public String getDataId() {
return dataId;
}
- public void setDataId(Integer dataId) {
+ public void setDataId(String dataId) {
this.dataId = dataId;
}
- public Integer getFormmainId() {
+ public String getFormmainId() {
return formmainId;
}
- public void setFormmainId(Integer formmainId) {
+ public void setFormmainId(String formmainId) {
this.formmainId = formmainId;
}
diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml
index 706adb7e..2cee4f3a 100644
--- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml
+++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/entity/IncomeInvoiceEntity.xml
@@ -194,6 +194,7 @@
from formson_0702
and field0128 = #{field0128}
+ and formmain_id = #{formmainId}
diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java
index 878badaa..b6921683 100644
--- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java
+++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/incomeInvoiceData/service/impl/IncomeInvoiceServiceImpl.java
@@ -1,6 +1,7 @@
package com.hzya.frame.plugin.incomeInvoiceData.service.impl;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
@@ -40,15 +41,24 @@ import com.hzya.frame.basedao.service.impl.BaseService;
import org.springframework.core.task.TaskExecutor;
import javax.annotation.Resource;
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.net.HttpURLConnection;
import java.net.URL;
+import java.net.URLDecoder;
+import java.nio.charset.StandardCharsets;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
@@ -58,6 +68,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
/**
* @author makejava
@@ -183,15 +195,17 @@ public class IncomeInvoiceServiceImpl extends BaseService 0){
for (int i1 = 0; i1 < detaildata.size(); i1++) {
@@ -239,6 +253,7 @@ public class IncomeInvoiceServiceImpl extends BaseService true;
+ HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
+
+
+
+ URL url = new URL(fileurl);
+ HttpURLConnection connection = (HttpURLConnection) url.openConnection();
+ connection.setRequestMethod("GET");
+ // 从响应头获取Content-Disposition
+ String contentDisposition = connection.getHeaderField("Content-Disposition");
+ // 尝试从Content-Disposition中提取文件名
+ if (contentDisposition != null) {
+ filename = extractFileNameFromContentDisposition(contentDisposition);
+ }else {
+ // 提取结果为 "recv-open-input-1364609961183034880-1377757054294396417.ofd"
+ filename = fileurl.substring(fileurl.lastIndexOf("/") + 1);
+ }
+
+ try (InputStream inputStream = connection.getInputStream();
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
+ byte[] buffer = new byte[4096];
+ int bytesRead;
+ while ((bytesRead = inputStream.read(buffer)) != -1) {
+ outputStream.write(buffer, 0, bytesRead);
+ }
+ fileBytes = outputStream.toByteArray();
+ }
+
+
if (fileBytes != null) {
// 模拟一个文件
File tempFile = new File(filename);
@@ -522,19 +587,53 @@ public class IncomeInvoiceServiceImpl extends BaseService true;
+ HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
+
+
+
URL url = new URL(fileUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
+ // 从响应头获取Content-Disposition
+ String contentDisposition = connection.getHeaderField("Content-Disposition");
+ String fileName = null;
+ // 尝试从Content-Disposition中提取文件名
+ if (contentDisposition != null) {
+ fileName = extractFileNameFromContentDisposition(contentDisposition);
+ }
+
+
try (InputStream inputStream = connection.getInputStream();
ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
byte[] buffer = new byte[4096];
@@ -545,6 +644,22 @@ public class IncomeInvoiceServiceImpl extends BaseService list = incomeInvoiceDao.queryOaFp(incomeInvoiceEntity);
+ logger.error("999999查询formmain_0705"+list.size() );
+
if(list != null && list.size() == 1){
incomeInvoiceEntity.setDataId(list.get(0).getDataId());
+ logger.error("999999保存关联表url"+list.get(0).getDataId());
+
if(urlData != null){
//保存关联表
String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
+ incomeInvoiceEntity.setField0130(urluuid);//发票文件
ctpAttachmentService.saveAttachment(urlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
}
+ logger.error("999999保存关联表ofdurlData"+list.get(0).getDataId());
+
if(ofdurlData != null){
//保存关联表
String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
+ incomeInvoiceEntity.setField0138(urluuid);//发票文件
ctpAttachmentService.saveAttachment(ofdurlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
}
+ logger.error("999999保存关联表xmlurlData"+list.get(0).getDataId());
+
if(xmlurlData != null){
//保存关联表
String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
+ incomeInvoiceEntity.setField0139(urluuid);//发票文件
ctpAttachmentService.saveAttachment(xmlurlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
}
+ logger.error("999999修改发票开始");
+
incomeInvoiceDao.updateFP(incomeInvoiceEntity);
+ logger.error("999999修改发票结束");
+
}
}
//修改明细表
+ logger.error("999999修改合同开始");
+
if(jsonObject.getString("htbh") != null){
+ logger.error("999999修改合同开始1");
+
IncomeInvoiceEntity incomeInvoiceEntity = new IncomeInvoiceEntity();
incomeInvoiceEntity.setDataSourceCode("HT-OA");
incomeInvoiceEntity.setField0003(jsonObject.getString("htbh"));//合同号
incomeInvoiceEntity.setField0127(jsonObject.getString("fpdm"));//发票代码
incomeInvoiceEntity.setField0128(jsonObject.getString("fphm"));//发票号码
incomeInvoiceEntity.setField0129(jsonObject.getString("jshj"));//发票总额
- incomeInvoiceEntity.setField0130(urlData);//发票文件
- incomeInvoiceEntity.setField0138(ofdurlData);//发票文件
- incomeInvoiceEntity.setField0139(xmlurlData);//发票文件
+
+ logger.error("999999查询合同明细");
+
List list = incomeInvoiceDao.queryOaZb(incomeInvoiceEntity);
+ logger.error("999999查询合同明细"+list.size());
+
if(list != null && list.size() == 1){
incomeInvoiceEntity.setFormmainId(list.get(0).getDataId());
- if(urlData != null){
- //保存关联表
- String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
- ctpAttachmentService.saveAttachment(urlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
- }
- if(ofdurlData != null){
- //保存关联表
- String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
- ctpAttachmentService.saveAttachment(ofdurlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
- }
- if(xmlurlData != null){
- //保存关联表
- String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
- ctpAttachmentService.saveAttachment(xmlurlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
- }
+ //logger.error("999999保存合同附件"+list.get(0).getDataId());
+ //
+ //if(urlData != null){
+ // //保存关联表
+ // String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
+ //incomeInvoiceEntity.setField0130(urluuid);//发票文件
+
+ // ctpAttachmentService.saveAttachment(urlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
+ //}
+ //logger.error("999999保存合同附件ofdurlData"+list.get(0).getDataId());
+ //
+ //if(ofdurlData != null){
+ // //保存关联表
+ // String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
+
+ //incomeInvoiceEntity.setField0138(urluuid);//发票文件
+
+ // ctpAttachmentService.saveAttachment(ofdurlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
+ //}
+ //logger.error("999999保存合同附件xmlurlData"+list.get(0).getDataId());
+ //
+ //if(xmlurlData != null){
+ // //保存关联表
+ // String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
+ //incomeInvoiceEntity.setField0138(urluuid);//发票文件
+
+ // ctpAttachmentService.saveAttachment(xmlurlData,list.get(0).getDataId().toString(),urluuid,incomeInvoiceEntity.getDataSourceCode());
+ //}
+ logger.error("999999查询合同明细"+list.get(0).getDataId());
+
List mxlist = incomeInvoiceDao.queryOaMx(incomeInvoiceEntity);
+
+ logger.error("999999查询合同明细结果"+mxlist.size());
+
if(mxlist != null && mxlist.size() == 1){
+ logger.error("999999修改合同明细结果"+mxlist.get(0).getDataId());
+
incomeInvoiceEntity.setDataId(mxlist.get(0).getDataId());
incomeInvoiceDao.updateMx(incomeInvoiceEntity);
+ logger.error("999999修改合同明细结果完成");
+
}
if(mxlist == null || mxlist.size() == 0){
- incomeInvoiceEntity.setDataId(1);
+
+ incomeInvoiceEntity.setDataId(String.valueOf(UUIDLong.longUUID()));
+ logger.error("999999保存合同明细结果"+incomeInvoiceEntity.getDataId());
+
incomeInvoiceDao.saveMx(incomeInvoiceEntity);
+ logger.error("999999保存合同明细结果完成");
+
}
}
}
+ logger.error("999999结束");
+
} catch (Exception e) {
- logger.error(e.getMessage());
+ logger.error("999999"+e.getMessage());
}
}
@@ -769,7 +943,7 @@ public class IncomeInvoiceServiceImpl extends BaseService").append("");
stringBuffer.append("").append("");
- stringBuffer.append(jsonObject.getString("htbm") != null?"":"");
+ stringBuffer.append(jsonObject.getString("htbh") != null?"":"");
stringBuffer.append("").append("");
stringBuffer.append("").append("");
diff --git a/base-webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java b/base-webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java
index 253ef940..bb0532a9 100644
--- a/base-webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java
+++ b/base-webapp/src/main/java/com/hzya/frame/webapp/entrance/controler/EntranceController.java
@@ -27,6 +27,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
@@ -224,4 +225,13 @@ public class EntranceController {
}
+ @RequestMapping(value = "/option1")
+ @ResponseBody
+ public JsonResultEntity option1(ServletRequest servletRequest, ServletResponse servletResponse) throws Exception {
+ HttpServletRequest request = (HttpServletRequest) servletRequest;
+ String queryString = request.getQueryString();
+
+ return BaseResult.getSuccessMessageEntity("成功");
+ }
+
}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/service/ICtpAttachmentService.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/service/ICtpAttachmentService.java
index 4802682d..8f5b0c94 100644
--- a/fw-oa/src/main/java/com/hzya/frame/seeyon/service/ICtpAttachmentService.java
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/service/ICtpAttachmentService.java
@@ -11,8 +11,8 @@ import com.hzya.frame.seeyon.entity.CtpAttachmentEntity;
public interface ICtpAttachmentService extends IBaseService {
/**
* 保存附件关系表
- * @param fileUrl ctp_file id
- * @param col_summary_id col_summary id
+ * @param fileUrl ctp_file id fileUrl
+ * @param col_summary_id col_summary id oa表单id
* @param sub_reference 随机uuid
* @return
*/
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/CtpAttachmentServiceImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/CtpAttachmentServiceImpl.java
index 39632855..2588108f 100644
--- a/fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/CtpAttachmentServiceImpl.java
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/service/impl/CtpAttachmentServiceImpl.java
@@ -61,7 +61,7 @@ public class CtpAttachmentServiceImpl extends BaseService