诺诺发票

This commit is contained in:
lvleigang 2025-06-27 15:27:32 +08:00
parent acaac3b424
commit 26468c5a6e
9 changed files with 82 additions and 24 deletions

View File

@ -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<CtpFileEntity,String> {
List<CtpFileEntity> queryFile(CtpFileEntity ctpFileEntity);
}

View File

@ -9,5 +9,7 @@ import java.util.List;
public interface INuoNuoCallbackDao extends IBaseDao<NuoNuoCallbackEntity, String> {
List<NuoNuoCallbackEntity> queryOaData(NuoNuoCallbackEntity queryData);
int updateNuoNuo(NuoNuoCallbackEntity nuoNuoCallbackEntity);
}

View File

@ -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<CtpFileEntity,String> implements ICtpFileDao {
@DS("#entity.dataSourceCode")
@Override
public List<CtpFileEntity> queryFile(CtpFileEntity entity) {
List<CtpFileEntity> o = (List<CtpFileEntity>) super.selectList(getSqlIdPrifx() + "queryFile", entity);
return o;
}
}

View File

@ -17,5 +17,10 @@ public class NuoNuoCallbackDaoImpl extends MybatisGenericDao<NuoNuoCallbackEntit
public List<NuoNuoCallbackEntity> queryOaData(NuoNuoCallbackEntity entity) {
return (List<NuoNuoCallbackEntity>) super.selectList(getSqlIdPrifx()+"queryOaData",entity);
}
@DS("#entity.dataSourceCode")
@Override
public int updateNuoNuo(NuoNuoCallbackEntity entity) {
return super.update(getSqlIdPrifx()+"updateNuoNuo",entity);
}
}

View File

@ -45,5 +45,15 @@
</trim>
</select>
<!-- 查询 采用==查询 -->
<select id="queryFile" resultMap="get-CtpFileEntity-result" parameterType="com.hzya.frame.seeyon.entity.CtpFileEntity">
select
<include refid="CtpFileEntity_sql"/>
from
ctp_file
<trim prefix="where" prefixOverrides="and">
<if test="id != null and id != ''">id = #{id}</if>
<if test="filename != null and filename != ''">and filename = #{filename}</if>
</trim>
</select>
</mapper>

View File

@ -15,5 +15,19 @@
<if test="field00001 != null and field00001 !='' ">field00001 = #{field00001} </if>
</trim>
</select>
<update id="updateNuoNuo" parameterType="com.hzya.frame.seeyon.entity.NuoNuoCallbackEntity">
update formmain_11951 set
<trim suffix="" suffixOverrides=",">
<if test="field0001 != null and field0001 !='' "> field0001 = #{field0001},</if>
<if test="field0150 != null and field0150 !='' "> field0150 = #{field0150},</if>
<if test="field0151 != null and field0151 !='' "> field0151 = #{field0151},</if>
<if test="field0188 != null and field0188 !='' "> field0188 = #{field0188},</if>
<if test="field0152 != null and field0152 !='' "> field0152 = #{field0152},</if>
<if test="field0153 != null and field0153 !='' "> field0153 = #{field0153},</if>
</trim>
where id = #{id}
</update>
</mapper>

View File

@ -16,5 +16,5 @@ public interface ICtpAttachmentService extends IBaseService<CtpAttachmentEntity,
* @param sub_reference 随机uuid
* @return
*/
CtpAttachmentEntity saveAttachment(String fileUrl, String col_summary_id, String sub_reference)throws Exception;
CtpAttachmentEntity saveAttachment(String fileUrl, String col_summary_id, String sub_reference, String dataSourceCode)throws Exception;
}

View File

@ -3,6 +3,7 @@ package com.hzya.frame.seeyon.service.impl;
import cn.hutool.core.date.DateUtil;
import com.hzya.frame.basedao.service.impl.BaseService;
import com.hzya.frame.seeyon.dao.ICtpAttachmentDao;
import com.hzya.frame.seeyon.dao.ICtpFileDao;
import com.hzya.frame.seeyon.entity.CtpAttachmentEntity;
import com.hzya.frame.seeyon.entity.CtpFileEntity;
import com.hzya.frame.seeyon.service.ICtpAttachmentService;
@ -23,6 +24,9 @@ import java.util.List;
@Service(value = "ctpAttachmentService")
public class CtpAttachmentServiceImpl extends BaseService<CtpAttachmentEntity, String> implements ICtpAttachmentService {
@Autowired
private ICtpFileDao ctpFileDao;
private ICtpAttachmentDao ctpAttachmentDao;
@Autowired
private ICtpFileService ctpFileService;
@ -41,16 +45,17 @@ public class CtpAttachmentServiceImpl extends BaseService<CtpAttachmentEntity, S
* @return
*/
@Override
public CtpAttachmentEntity saveAttachment(String fileUrl, String col_summary_id, String sub_reference)throws Exception {
public CtpAttachmentEntity saveAttachment(String fileUrl, String col_summary_id, String sub_reference, String dataSourceCode)throws Exception {
//查一下附件
CtpFileEntity ctpFileEntity = new CtpFileEntity();
ctpFileEntity.setId(fileUrl);
ctpFileEntity.setDataSourceCode("");
List<CtpFileEntity> ctpFileList = ctpFileService.query(ctpFileEntity);
ctpFileEntity.setDataSourceCode(dataSourceCode);
List<CtpFileEntity> 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<CtpAttachmentEntity, S
ctpAttachmentEntity.setMime_type(ctpFile.getMime_type());
ctpAttachmentEntity.setAttachment_size(ctpFile.getFile_size());
ctpAttachmentEntity.setCreatedate(new Date());
this.save(ctpAttachmentEntity);
ctpAttachmentDao.saveCtpAttachment(ctpAttachmentEntity);
return ctpAttachmentEntity;
}
}

View File

@ -88,7 +88,7 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService {
}
//查找单据上传附件
NuoNuoCallbackEntity queryData = new NuoNuoCallbackEntity();
queryData.setDataSourceCode("");//todo
queryData.setDataSourceCode("SW-OA");
queryData.setField0001(orderNo);
List<NuoNuoCallbackEntity> 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);//发票文件
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();