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 6c884147..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 @@ -51,9 +51,12 @@ 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; @@ -65,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 @@ -515,10 +520,60 @@ 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); @@ -532,7 +587,7 @@ 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(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()); } } @@ -804,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