诺诺发票
This commit is contained in:
parent
acaac3b424
commit
26468c5a6e
|
@ -3,10 +3,13 @@ package com.hzya.frame.seeyon.dao;
|
||||||
import com.hzya.frame.basedao.dao.IBaseDao;
|
import com.hzya.frame.basedao.dao.IBaseDao;
|
||||||
import com.hzya.frame.seeyon.entity.CtpFileEntity;
|
import com.hzya.frame.seeyon.entity.CtpFileEntity;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description seeyon 附件对象
|
* @Description seeyon 附件对象
|
||||||
* @Author xiangerlin
|
* @Author xiangerlin
|
||||||
* @Date 2024/6/17 15:21
|
* @Date 2024/6/17 15:21
|
||||||
**/
|
**/
|
||||||
public interface ICtpFileDao extends IBaseDao<CtpFileEntity,String> {
|
public interface ICtpFileDao extends IBaseDao<CtpFileEntity,String> {
|
||||||
|
List<CtpFileEntity> queryFile(CtpFileEntity ctpFileEntity);
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,5 +9,7 @@ import java.util.List;
|
||||||
public interface INuoNuoCallbackDao extends IBaseDao<NuoNuoCallbackEntity, String> {
|
public interface INuoNuoCallbackDao extends IBaseDao<NuoNuoCallbackEntity, String> {
|
||||||
|
|
||||||
List<NuoNuoCallbackEntity> queryOaData(NuoNuoCallbackEntity queryData);
|
List<NuoNuoCallbackEntity> queryOaData(NuoNuoCallbackEntity queryData);
|
||||||
|
|
||||||
|
int updateNuoNuo(NuoNuoCallbackEntity nuoNuoCallbackEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.hzya.frame.seeyon.dao.impl;
|
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.basedao.dao.MybatisGenericDao;
|
||||||
import com.hzya.frame.seeyon.dao.ICtpAttachmentDao;
|
import com.hzya.frame.seeyon.dao.ICtpAttachmentDao;
|
||||||
import com.hzya.frame.seeyon.dao.ICtpFileDao;
|
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 com.hzya.frame.seeyon.entity.CtpFileEntity;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description
|
* @Description
|
||||||
* @Author xiangerlin
|
* @Author xiangerlin
|
||||||
|
@ -14,4 +17,10 @@ import org.springframework.stereotype.Repository;
|
||||||
**/
|
**/
|
||||||
@Repository()
|
@Repository()
|
||||||
public class CtpFileDaoImpl extends MybatisGenericDao<CtpFileEntity,String> implements ICtpFileDao {
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,5 +17,10 @@ public class NuoNuoCallbackDaoImpl extends MybatisGenericDao<NuoNuoCallbackEntit
|
||||||
public List<NuoNuoCallbackEntity> queryOaData(NuoNuoCallbackEntity entity) {
|
public List<NuoNuoCallbackEntity> queryOaData(NuoNuoCallbackEntity entity) {
|
||||||
return (List<NuoNuoCallbackEntity>) super.selectList(getSqlIdPrifx()+"queryOaData",entity);
|
return (List<NuoNuoCallbackEntity>) super.selectList(getSqlIdPrifx()+"queryOaData",entity);
|
||||||
}
|
}
|
||||||
|
@DS("#entity.dataSourceCode")
|
||||||
|
@Override
|
||||||
|
public int updateNuoNuo(NuoNuoCallbackEntity entity) {
|
||||||
|
return super.update(getSqlIdPrifx()+"updateNuoNuo",entity);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -45,5 +45,15 @@
|
||||||
</trim>
|
</trim>
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|
|
@ -15,5 +15,19 @@
|
||||||
<if test="field00001 != null and field00001 !='' ">field00001 = #{field00001} </if>
|
<if test="field00001 != null and field00001 !='' ">field00001 = #{field00001} </if>
|
||||||
</trim>
|
</trim>
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|
||||||
|
|
|
@ -16,5 +16,5 @@ public interface ICtpAttachmentService extends IBaseService<CtpAttachmentEntity,
|
||||||
* @param sub_reference 随机uuid
|
* @param sub_reference 随机uuid
|
||||||
* @return
|
* @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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package com.hzya.frame.seeyon.service.impl;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.hzya.frame.basedao.service.impl.BaseService;
|
import com.hzya.frame.basedao.service.impl.BaseService;
|
||||||
import com.hzya.frame.seeyon.dao.ICtpAttachmentDao;
|
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.CtpAttachmentEntity;
|
||||||
import com.hzya.frame.seeyon.entity.CtpFileEntity;
|
import com.hzya.frame.seeyon.entity.CtpFileEntity;
|
||||||
import com.hzya.frame.seeyon.service.ICtpAttachmentService;
|
import com.hzya.frame.seeyon.service.ICtpAttachmentService;
|
||||||
|
@ -23,6 +24,9 @@ import java.util.List;
|
||||||
@Service(value = "ctpAttachmentService")
|
@Service(value = "ctpAttachmentService")
|
||||||
public class CtpAttachmentServiceImpl extends BaseService<CtpAttachmentEntity, String> implements ICtpAttachmentService {
|
public class CtpAttachmentServiceImpl extends BaseService<CtpAttachmentEntity, String> implements ICtpAttachmentService {
|
||||||
|
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ICtpFileDao ctpFileDao;
|
||||||
private ICtpAttachmentDao ctpAttachmentDao;
|
private ICtpAttachmentDao ctpAttachmentDao;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ICtpFileService ctpFileService;
|
private ICtpFileService ctpFileService;
|
||||||
|
@ -41,16 +45,17 @@ public class CtpAttachmentServiceImpl extends BaseService<CtpAttachmentEntity, S
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@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 ctpFileEntity = new CtpFileEntity();
|
||||||
ctpFileEntity.setId(fileUrl);
|
ctpFileEntity.setId(fileUrl);
|
||||||
ctpFileEntity.setDataSourceCode("");
|
ctpFileEntity.setDataSourceCode(dataSourceCode);
|
||||||
List<CtpFileEntity> ctpFileList = ctpFileService.query(ctpFileEntity);
|
List<CtpFileEntity> ctpFileList = ctpFileDao.queryFile(ctpFileEntity);
|
||||||
if (CollectionUtils.isNotEmpty(ctpFileList)){
|
if (CollectionUtils.isNotEmpty(ctpFileList)){
|
||||||
CtpFileEntity ctpFile = ctpFileList.get(0);
|
CtpFileEntity ctpFile = ctpFileList.get(0);
|
||||||
if (null != ctpFile){
|
if (null != ctpFile){
|
||||||
CtpAttachmentEntity ctpAttachmentEntity = new CtpAttachmentEntity();
|
CtpAttachmentEntity ctpAttachmentEntity = new CtpAttachmentEntity();
|
||||||
|
ctpAttachmentEntity.setDataSourceCode(dataSourceCode);
|
||||||
ctpAttachmentEntity.setId(String.valueOf(UUIDLong.longUUID()));
|
ctpAttachmentEntity.setId(String.valueOf(UUIDLong.longUUID()));
|
||||||
ctpAttachmentEntity.setFile_url(ctpFile.getId());//ctp_file表的id
|
ctpAttachmentEntity.setFile_url(ctpFile.getId());//ctp_file表的id
|
||||||
ctpAttachmentEntity.setAtt_reference(col_summary_id);//业务表单的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.setMime_type(ctpFile.getMime_type());
|
||||||
ctpAttachmentEntity.setAttachment_size(ctpFile.getFile_size());
|
ctpAttachmentEntity.setAttachment_size(ctpFile.getFile_size());
|
||||||
ctpAttachmentEntity.setCreatedate(new Date());
|
ctpAttachmentEntity.setCreatedate(new Date());
|
||||||
this.save(ctpAttachmentEntity);
|
ctpAttachmentDao.saveCtpAttachment(ctpAttachmentEntity);
|
||||||
return ctpAttachmentEntity;
|
return ctpAttachmentEntity;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,7 +88,7 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService {
|
||||||
}
|
}
|
||||||
//查找单据,上传附件
|
//查找单据,上传附件
|
||||||
NuoNuoCallbackEntity queryData = new NuoNuoCallbackEntity();
|
NuoNuoCallbackEntity queryData = new NuoNuoCallbackEntity();
|
||||||
queryData.setDataSourceCode("");//todo
|
queryData.setDataSourceCode("SW-OA");
|
||||||
queryData.setField0001(orderNo);
|
queryData.setField0001(orderNo);
|
||||||
List<NuoNuoCallbackEntity> entityList = nuoNuoCallbackDao.queryOaData(queryData);
|
List<NuoNuoCallbackEntity> entityList = nuoNuoCallbackDao.queryOaData(queryData);
|
||||||
if(entityList == null || entityList.size() == 0){
|
if(entityList == null || entityList.size() == 0){
|
||||||
|
@ -104,41 +104,51 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService {
|
||||||
return returnData;
|
return returnData;
|
||||||
}
|
}
|
||||||
NuoNuoCallbackEntity nuoNuoCallbackEntity = entityList.get(0);
|
NuoNuoCallbackEntity nuoNuoCallbackEntity = entityList.get(0);
|
||||||
nuoNuoCallbackEntity.setDataSourceCode("");//todo
|
nuoNuoCallbackEntity.setDataSourceCode("SW-OA");
|
||||||
|
|
||||||
//private String field0153;//电子发票
|
|
||||||
nuoNuoCallbackEntity.setField0001(orderNo);//单据号
|
nuoNuoCallbackEntity.setField0001(orderNo);//单据号
|
||||||
nuoNuoCallbackEntity.setField0150(invoiceNumber);//发票号码
|
nuoNuoCallbackEntity.setField0150(invoiceNumber);//发票号码
|
||||||
nuoNuoCallbackEntity.setField0151(invoiceTime);//开票日期
|
nuoNuoCallbackEntity.setField0151(invoiceTime);//开票日期
|
||||||
nuoNuoCallbackEntity.setField0188(invoiceCode);//发票代码
|
nuoNuoCallbackEntity.setField0188(invoiceCode);//发票代码
|
||||||
nuoNuoCallbackEntity.setField0152(errorMessage);//开票结果
|
nuoNuoCallbackEntity.setField0152(errorMessage);//开票结果
|
||||||
|
String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
|
||||||
if(pdfUrl != null){
|
if(pdfUrl != null){
|
||||||
String urlData = sendFileUpload(pdfUrl);
|
String urlData = sendFileUpload(pdfUrl);
|
||||||
if(urlData != null){
|
if(urlData != null){
|
||||||
//保存关联表
|
//保存关联表
|
||||||
String urluuid = String.valueOf(UUID.randomUUID().getLeastSignificantBits());
|
|
||||||
nuoNuoCallbackEntity.setField0153(urluuid);//发票文件
|
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();
|
JSONObject returnData = new JSONObject();
|
||||||
returnData.put("code","0000");
|
returnData.put("code","0000");
|
||||||
returnData.put("message","业务方接收同步成功");
|
returnData.put("message","业务方接收同步成功");
|
||||||
return returnData;
|
return returnData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String sendFileUpload(String fileurl) {
|
private String sendFileUpload(String fileurl) {
|
||||||
try {
|
try {
|
||||||
// 获取文件字节数据
|
// 获取文件字节数据
|
||||||
|
@ -222,7 +232,7 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService {
|
||||||
paramMap.put("file", file);
|
paramMap.put("file", file);
|
||||||
String url = "/seeyon/rest/attachment?token=@token@";//如果后面加上applicationCategory=1&extensions=&firstSave=true,附件业务自动生成一条记录
|
String url = "/seeyon/rest/attachment?token=@token@";//如果后面加上applicationCategory=1&extensions=&firstSave=true,附件业务自动生成一条记录
|
||||||
//url = url.replaceAll("@token@", getOAToken(loginName));
|
//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)) {
|
if (StrUtil.isNotBlank(result)) {
|
||||||
JSONObject jsonObject = JSONObject.parseObject(result);
|
JSONObject jsonObject = JSONObject.parseObject(result);
|
||||||
String atts = jsonObject.get("atts").toString();
|
String atts = jsonObject.get("atts").toString();
|
||||||
|
|
Loading…
Reference in New Issue