diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICtpFileDao.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICtpFileDao.java index 87961648..75651ed3 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICtpFileDao.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/ICtpFileDao.java @@ -3,10 +3,13 @@ package com.hzya.frame.seeyon.dao; import com.hzya.frame.basedao.dao.IBaseDao; import com.hzya.frame.seeyon.entity.CtpFileEntity; +import java.util.List; + /** * @Description seeyon 附件对象 * @Author xiangerlin * @Date 2024/6/17 15:21 **/ public interface ICtpFileDao extends IBaseDao { + List queryFile(CtpFileEntity ctpFileEntity); } diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/INuoNuoCallbackDao.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/INuoNuoCallbackDao.java index 9a7c9759..1709f048 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/INuoNuoCallbackDao.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/INuoNuoCallbackDao.java @@ -9,5 +9,7 @@ import java.util.List; public interface INuoNuoCallbackDao extends IBaseDao { List queryOaData(NuoNuoCallbackEntity queryData); + + int updateNuoNuo(NuoNuoCallbackEntity nuoNuoCallbackEntity); } diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/impl/CtpFileDaoImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/impl/CtpFileDaoImpl.java index 8b80d3d7..2ba1e89f 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/impl/CtpFileDaoImpl.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/impl/CtpFileDaoImpl.java @@ -1,5 +1,6 @@ package com.hzya.frame.seeyon.dao.impl; +import com.baomidou.dynamic.datasource.annotation.DS; import com.hzya.frame.basedao.dao.MybatisGenericDao; import com.hzya.frame.seeyon.dao.ICtpAttachmentDao; import com.hzya.frame.seeyon.dao.ICtpFileDao; @@ -7,6 +8,8 @@ import com.hzya.frame.seeyon.entity.CtpAttachmentEntity; import com.hzya.frame.seeyon.entity.CtpFileEntity; import org.springframework.stereotype.Repository; +import java.util.List; + /** * @Description * @Author xiangerlin @@ -14,4 +17,10 @@ import org.springframework.stereotype.Repository; **/ @Repository() public class CtpFileDaoImpl extends MybatisGenericDao implements ICtpFileDao { + @DS("#entity.dataSourceCode") + @Override + public List queryFile(CtpFileEntity entity) { + List o = (List) super.selectList(getSqlIdPrifx() + "queryFile", entity); + return o; + } } diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/impl/NuoNuoCallbackDaoImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/impl/NuoNuoCallbackDaoImpl.java index dcdff206..a42e631c 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/impl/NuoNuoCallbackDaoImpl.java +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/dao/impl/NuoNuoCallbackDaoImpl.java @@ -17,5 +17,10 @@ public class NuoNuoCallbackDaoImpl extends MybatisGenericDao queryOaData(NuoNuoCallbackEntity entity) { return (List) super.selectList(getSqlIdPrifx()+"queryOaData",entity); } + @DS("#entity.dataSourceCode") + @Override + public int updateNuoNuo(NuoNuoCallbackEntity entity) { + return super.update(getSqlIdPrifx()+"updateNuoNuo",entity); + } } diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/entity/CtpFileEntity.xml b/fw-oa/src/main/java/com/hzya/frame/seeyon/entity/CtpFileEntity.xml index 3f3c8cad..c24e8a24 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/entity/CtpFileEntity.xml +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/entity/CtpFileEntity.xml @@ -45,5 +45,15 @@ - + + diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/entity/NuoNuoCallbackEntity.xml b/fw-oa/src/main/java/com/hzya/frame/seeyon/entity/NuoNuoCallbackEntity.xml index a40612cf..d64e7159 100644 --- a/fw-oa/src/main/java/com/hzya/frame/seeyon/entity/NuoNuoCallbackEntity.xml +++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/entity/NuoNuoCallbackEntity.xml @@ -15,5 +15,19 @@ field00001 = #{field00001} + + + update formmain_11951 set + + field0001 = #{field0001}, + field0150 = #{field0150}, + field0151 = #{field0151}, + field0188 = #{field0188}, + field0152 = #{field0152}, + field0153 = #{field0153}, + + where id = #{id} + + 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 3af20d9d..4802682d 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 @@ -16,5 +16,5 @@ public interface ICtpAttachmentService extends IBaseService implements ICtpAttachmentService { + + @Autowired + private ICtpFileDao ctpFileDao; private ICtpAttachmentDao ctpAttachmentDao; @Autowired private ICtpFileService ctpFileService; @@ -41,16 +45,17 @@ public class CtpAttachmentServiceImpl extends BaseService ctpFileList = ctpFileService.query(ctpFileEntity); + ctpFileEntity.setDataSourceCode(dataSourceCode); + List ctpFileList = ctpFileDao.queryFile(ctpFileEntity); if (CollectionUtils.isNotEmpty(ctpFileList)){ CtpFileEntity ctpFile = ctpFileList.get(0); if (null != ctpFile){ CtpAttachmentEntity ctpAttachmentEntity = new CtpAttachmentEntity(); + ctpAttachmentEntity.setDataSourceCode(dataSourceCode); ctpAttachmentEntity.setId(String.valueOf(UUIDLong.longUUID())); ctpAttachmentEntity.setFile_url(ctpFile.getId());//ctp_file表的id ctpAttachmentEntity.setAtt_reference(col_summary_id);//业务表单的id @@ -61,7 +66,7 @@ public class CtpAttachmentServiceImpl extends BaseService entityList = nuoNuoCallbackDao.queryOaData(queryData); if(entityList == null || entityList.size() == 0){ @@ -104,41 +104,51 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService { return returnData; } NuoNuoCallbackEntity nuoNuoCallbackEntity = entityList.get(0); - nuoNuoCallbackEntity.setDataSourceCode("");//todo - - //private String field0153;//电子发票 + nuoNuoCallbackEntity.setDataSourceCode("SW-OA"); nuoNuoCallbackEntity.setField0001(orderNo);//单据号 nuoNuoCallbackEntity.setField0150(invoiceNumber);//发票号码 nuoNuoCallbackEntity.setField0151(invoiceTime);//开票日期 nuoNuoCallbackEntity.setField0188(invoiceCode);//发票代码 nuoNuoCallbackEntity.setField0152(errorMessage);//开票结果 - + String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits()); if(pdfUrl != null){ String urlData = sendFileUpload(pdfUrl); if(urlData != null){ //保存关联表 - String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits()); nuoNuoCallbackEntity.setField0153(urluuid);//发票文件 - ctpAttachmentService.saveAttachment(urlData,nuoNuoCallbackEntity.getId(),urluuid,nuoNuoCallbackEntity.getDataSourceCode()); + try { + ctpAttachmentService.saveAttachment(urlData,nuoNuoCallbackEntity.getId(),urluuid,nuoNuoCallbackEntity.getDataSourceCode()); + } catch (Exception e) { + JSONObject returnData = new JSONObject(); + returnData.put("code","9999"); + returnData.put("message","根据订单编号上传附件失败"); + return returnData; + } + } + } + if(imageUrl != null){ + String urlData = sendFileUpload(imageUrl); + if(urlData != null){ + //保存关联表 + nuoNuoCallbackEntity.setField0153(urluuid);//发票文件 + try { + ctpAttachmentService.saveAttachment(urlData,nuoNuoCallbackEntity.getId(),urluuid,nuoNuoCallbackEntity.getDataSourceCode()); + } catch (Exception e) { + JSONObject returnData = new JSONObject(); + returnData.put("code","9999"); + returnData.put("message","根据订单编号上传附件失败"); + return returnData; + } } } - - - //修改单据信息 - - - - - + nuoNuoCallbackDao.updateNuoNuo(nuoNuoCallbackEntity); JSONObject returnData = new JSONObject(); returnData.put("code","0000"); returnData.put("message","业务方接收同步成功"); return returnData; } - - private String sendFileUpload(String fileurl) { try { // 获取文件字节数据 @@ -222,7 +232,7 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService { paramMap.put("file", file); String url = "/seeyon/rest/attachment?token=@token@";//如果后面加上applicationCategory=1&extensions=&firstSave=true,附件业务自动生成一条记录 //url = url.replaceAll("@token@", getOAToken(loginName)); - String result = HttpUtil.post("http://60.204.152.210" + url, paramMap); + String result = HttpUtil.post("https://swoa.sunwave.com.cn:9999" + url, paramMap); if (StrUtil.isNotBlank(result)) { JSONObject jsonObject = JSONObject.parseObject(result); String atts = jsonObject.get("atts").toString();