红字发票

This commit is contained in:
lvleigang 2025-07-04 14:09:03 +08:00
parent 7ce3eab954
commit 6b52d647ce
9 changed files with 228 additions and 72 deletions

View File

@ -3,8 +3,12 @@ package com.hzya.frame.plugin.nuonuo.dao;
import com.hzya.frame.basedao.dao.IBaseDao; import com.hzya.frame.basedao.dao.IBaseDao;
import com.hzya.frame.plugin.nuonuo.entity.NuoNuoEntity; import com.hzya.frame.plugin.nuonuo.entity.NuoNuoEntity;
import java.util.List;
public interface INuoNuoDao extends IBaseDao<NuoNuoEntity, String> { public interface INuoNuoDao extends IBaseDao<NuoNuoEntity, String> {
int updateHpdata(NuoNuoEntity nuoNuoEntity); int updateHpdata(NuoNuoEntity nuoNuoEntity);
List<NuoNuoEntity> queryAffair(NuoNuoEntity nuoNuoEntity);
} }

View File

@ -6,6 +6,8 @@ import com.hzya.frame.plugin.nuonuo.dao.INuoNuoDao;
import com.hzya.frame.plugin.nuonuo.entity.NuoNuoEntity; import com.hzya.frame.plugin.nuonuo.entity.NuoNuoEntity;
import com.hzya.frame.seeyon.entity.NuoNuoCallbackEntity; import com.hzya.frame.seeyon.entity.NuoNuoCallbackEntity;
import java.util.List;
public class NuoNuoDaoImpl extends MybatisGenericDao<NuoNuoEntity, String> implements INuoNuoDao { public class NuoNuoDaoImpl extends MybatisGenericDao<NuoNuoEntity, String> implements INuoNuoDao {
@ -14,5 +16,11 @@ public class NuoNuoDaoImpl extends MybatisGenericDao<NuoNuoEntity, String> imple
public int updateHpdata(NuoNuoEntity entity) { public int updateHpdata(NuoNuoEntity entity) {
return super.update(getSqlIdPrifx()+"updateHpdata",entity); return super.update(getSqlIdPrifx()+"updateHpdata",entity);
} }
@DS("#entity.dataSourceCode")
@Override
public List<NuoNuoEntity> queryAffair(NuoNuoEntity entity) {
return (List<NuoNuoEntity>) super.selectList(getSqlIdPrifx()+"queryAffair",entity);
}
} }

View File

@ -10,8 +10,26 @@ public class NuoNuoEntity extends BaseEntity {
private String field0193;//红字确认单描述 private String field0193;//红字确认单描述
private String field0194;//红冲状态 private String field0194;//红冲状态
private String field0195;//红冲描述 private String field0195;//红冲描述
private String affairId;
private String noname;
public String getNoname() {
return noname;
}
public void setNoname(String noname) {
this.noname = noname;
}
public String getAffairId() {
return affairId;
}
public void setAffairId(String affairId) {
this.affairId = affairId;
}
@Override @Override
public String getId() { public String getId() {
return id; return id;

View File

@ -2,8 +2,6 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hzya.frame.plugin.nuonuo.dao.impl.NuoNuoDaoImpl"> <mapper namespace="com.hzya.frame.plugin.nuonuo.dao.impl.NuoNuoDaoImpl">
<update id="updateHpdata" parameterType="com.hzya.frame.plugin.nuonuo.entity.NuoNuoEntity"> <update id="updateHpdata" parameterType="com.hzya.frame.plugin.nuonuo.entity.NuoNuoEntity">
update formmain_11970 set update formmain_11970 set
<trim suffix="" suffixOverrides=","> <trim suffix="" suffixOverrides=",">
@ -15,5 +13,13 @@
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>
<select id="queryAffair" resultType="com.hzya.frame.plugin.nuonuo.entity.NuoNuoEntity" parameterType="com.hzya.frame.plugin.nuonuo.entity.NuoNuoEntity">
select NODE_NAME as noname from ctp_affair
<trim prefix="where" prefixOverrides="and">
<if test="affairId != null and affairId !='' ">id = #{affairId} </if>
</trim>
</select>
</mapper> </mapper>

View File

@ -51,7 +51,7 @@ public class NuoNuoHcPluginInitializer extends PluginBaseEntity{
public JsonResultEntity executeBusiness(JSONObject requestJson) { public JsonResultEntity executeBusiness(JSONObject requestJson) {
try { try {
logger.info("======开始执行诺诺发票红冲同步========"); logger.info("======开始执行诺诺发票红冲同步========");
return nuoNuoService.sendNuoNuoFaPiaoHc(requestJson); return nuoNuoService.sendNuoNuoFaPiaoHp(requestJson);
}catch (Exception e){ }catch (Exception e){
logger.info("======执行诺诺发票红冲同步失败:{}========",e.getMessage()); logger.info("======执行诺诺发票红冲同步失败:{}========",e.getMessage());
} }

View File

@ -32,4 +32,6 @@ public interface INuoNuoService extends IBaseService<NuoNuoEntity, String>{
* @return com.hzya.frame.web.entity.JsonResultEntity * @return com.hzya.frame.web.entity.JsonResultEntity
**/ **/
JsonResultEntity sendNuoNuoFaPiaoHc(JSONObject requestJson); JsonResultEntity sendNuoNuoFaPiaoHc(JSONObject requestJson);
JsonResultEntity sendNuoNuoFaPiaoHp(JSONObject requestJson);
} }

View File

@ -107,9 +107,8 @@ public class NuoNuoServiceImpl extends BaseService<NuoNuoEntity, String> impleme
sendData.put("buyerBank",mainData.getString("field0128"));//购方开户行 sendData.put("buyerBank",mainData.getString("field0128"));//购方开户行
sendData.put("buyerAccount",mainData.getString("field0139"));//购方银行账号 sendData.put("buyerAccount",mainData.getString("field0139"));//购方银行账号
sendData.put("orderNo",mainData.getString("field0001"));//订单编号 sendData.put("orderNo",mainData.getString("field0001"));//订单编号
//todo //sendData.put("bizCallbackUrl","http://10.0.2.112:9021/kangarooDataCenterV3/entranceController/nuoNuoCallback");//回调地址测试
sendData.put("bizCallbackUrl","http://10.0.2.112:9021/kangarooDataCenterV3/entranceController/nuoNuoCallback");//回调地址测试 sendData.put("bizCallbackUrl","http://10.0.2.112:9011/kangarooDataCenterV3/entranceController/nuoNuoCallback");//回调地址正式
//sendData.put("bizCallbackUrl","http://10.0.2.112:9011/kangarooDataCenterV3/entranceController/nuoNuoCallback");//回调地址正式
sendData.put("sellerName",mainData.getString("field0129"));//销方名称 sendData.put("sellerName",mainData.getString("field0129"));//销方名称
sendData.put("sellerTaxnum",mainData.getString("field0162"));//销方税号 sendData.put("sellerTaxnum",mainData.getString("field0162"));//销方税号
sendData.put("sellerAddress",mainData.getString("field0161"));//销方地址 sendData.put("sellerAddress",mainData.getString("field0161"));//销方地址
@ -221,25 +220,38 @@ public class NuoNuoServiceImpl extends BaseService<NuoNuoEntity, String> impleme
String tokenResult = HttpRequest.post(url). String tokenResult = HttpRequest.post(url).
header("appId", "800051"). header("appId", "800051").
header("apiCode", "8000510012").//todo 配置接口 header("apiCode", "8000510013").
header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj"). header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj").
header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="). header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=").
body(sendData.toJSONString()). body(sendData.toJSONString()).
execute(). execute().
body(); body();
logger.error("推送诺诺发票确认单返回:"+tokenResult); logger.error("推送诺诺发票确认单返回1"+tokenResult);
try {
JSONObject resoutJson = JSONObject.parseObject(tokenResult); JSONObject resoutJson = JSONObject.parseObject(tokenResult);
logger.error("推送诺诺发票确认单返回2"+resoutJson.toJSONString());
if(resoutJson.getBoolean("flag")){ if(resoutJson.getBoolean("flag")){
JSONObject attribute = requestJson.getJSONObject("attribute"); try {
JSONObject attribute = resoutJson.getJSONObject("attribute");
logger.error("推送诺诺发票确认单返回3"+attribute.toJSONString());
NuoNuoEntity nuoNuoEntity = new NuoNuoEntity(); NuoNuoEntity nuoNuoEntity = new NuoNuoEntity();
nuoNuoEntity.setDataSourceCode("SW-OA"); nuoNuoEntity.setDataSourceCode("SW-OA");
nuoNuoEntity.setId(mainData.getString("id")); nuoNuoEntity.setId(mainData.getString("id"));
nuoNuoEntity.setField0191(attribute.getString("data")); nuoNuoEntity.setField0191(attribute.getString("data"));
nuoNuoDao.updateHpdata(nuoNuoEntity); nuoNuoDao.updateHpdata(nuoNuoEntity);
}catch (Exception e){
e.printStackTrace();
logger.error("推送诺诺发票确认单保存错误"+e.getMessage());
}
return BaseResult.getSuccessMessageEntity("推送诺诺发票确认单成功"); return BaseResult.getSuccessMessageEntity("推送诺诺发票确认单成功");
}else { }else {
return BaseResult.getFailureMessageEntity("推送诺诺发票确认单失败:"+resoutJson.getString("msg")); return BaseResult.getFailureMessageEntity("推送诺诺发票确认单失败:"+resoutJson.getString("msg"));
} }
}catch (Exception e){
logger.error("推送诺诺发票确认单保存错误1"+e.getMessage());
return BaseResult.getFailureMessageEntity("推送诺诺发票确认单失败:"+e.getMessage());
}
} }
private JSONObject getSendDataQrd(JSONObject mainData, JSONArray detailArray) { private JSONObject getSendDataQrd(JSONObject mainData, JSONArray detailArray) {
@ -247,11 +259,19 @@ public class NuoNuoServiceImpl extends BaseService<NuoNuoEntity, String> impleme
sendData.put("applySource",0);//申请方身份0 销方 sendData.put("applySource",0);//申请方身份0 销方
sendData.put("taxNum",mainData.getString("field0162"));//销方税号 sendData.put("taxNum",mainData.getString("field0162"));//销方税号
sendData.put("blueInvoiceNumber",mainData.getString("field0178"));//蓝子发票号 sendData.put("blueInvoiceNumber",mainData.getString("field0178"));//蓝子发票号
//可能需要转换 if(mainData.getString("field0190") != null){
sendData.put("redReason",mainData.getString("field0190"));//冲红原因1销货退回2开票有误3服务中止4销售折让 if("6299379468699910521".equals(mainData.getString("field0190"))){
//todo 切换地址 sendData.put("redReason","2");//冲红原因1销货退回2开票有误3服务中止4销售折让
sendData.put("bizCallbackUrl","http://10.0.2.112:9021/kangarooDataCenterV3/entranceController/nuoNuoQrdCallback");//回调地址测试 }else if("1471920473864226411".equals(mainData.getString("field0190"))){
//sendData.put("bizCallbackUrl","http://10.0.2.112:9011/kangarooDataCenterV3/entranceController/nuoNuoQrdCallback");//回调地址正式 sendData.put("redReason","3");//冲红原因1销货退回2开票有误3服务中止4销售折让
}else if("2608861944110465928".equals(mainData.getString("field0190"))){
sendData.put("redReason","4");//冲红原因1销货退回2开票有误3服务中止4销售折让
}else if("-2754201006580086516".equals(mainData.getString("field0190"))){
sendData.put("redReason","1");//冲红原因1销货退回2开票有误3服务中止4销售折让
}
}
//sendData.put("bizCallbackUrl","http://10.0.2.112:9021/kangarooDataCenterV3/entranceController/nuoNuoQrdCallback");//回调地址测试
sendData.put("bizCallbackUrl","http://10.0.2.112:9011/kangarooDataCenterV3/entranceController/nuoNuoQrdCallback");//回调地址正式
return sendData; return sendData;
} }
@ -281,6 +301,10 @@ public class NuoNuoServiceImpl extends BaseService<NuoNuoEntity, String> impleme
if(mainData.getString("field0168") != null && "SJ".equals(mainData.getString("field0168"))){ if(mainData.getString("field0168") != null && "SJ".equals(mainData.getString("field0168"))){
return BaseResult.getSuccessMessageEntity("发票类型为SJ不传诺税通"); return BaseResult.getSuccessMessageEntity("发票类型为SJ不传诺税通");
} }
if(mainData.getString("field0192") == null){
return BaseResult.getSuccessMessageEntity("红字确认单状态为空");
}
if("01".equals(mainData.getString("field0192") ) || "04".equals(mainData.getString("field0192") )){
//组装发送数据 //组装发送数据
JSONObject sendData = getSendDataHc(mainData,detailArray); JSONObject sendData = getSendDataHc(mainData,detailArray);
//发送数据 //发送数据
@ -288,7 +312,7 @@ public class NuoNuoServiceImpl extends BaseService<NuoNuoEntity, String> impleme
String tokenResult = HttpRequest.post(url). String tokenResult = HttpRequest.post(url).
header("appId", "800051"). header("appId", "800051").
header("apiCode", "8000510012").//todo 配置接口 header("apiCode", "8000510014").
header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj"). header("publicKey", "ZJYAM2YFEIsIaI1e4wMagkS2Q7SFgGk0RvsPhEES45m/OVFCe7eDIk+3zDUT+v578prj").
header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA="). header("secretKey", "lR6+uf94mvNMclAB43oIwmhJSMDzQaViTkfXLeNvmGdpLfbFiUvbgbU+p43zO25Zj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=").
body(sendData.toJSONString()). body(sendData.toJSONString()).
@ -301,6 +325,49 @@ public class NuoNuoServiceImpl extends BaseService<NuoNuoEntity, String> impleme
}else { }else {
return BaseResult.getFailureMessageEntity("推送诺诺发票红冲失败:"+resoutJson.getString("msg")); return BaseResult.getFailureMessageEntity("推送诺诺发票红冲失败:"+resoutJson.getString("msg"));
} }
}else {
return BaseResult.getFailureMessageEntity("红字确认单状态错误");
}
}
@Override
public JsonResultEntity sendNuoNuoFaPiaoHp(JSONObject requestJson) {
logger.error("诺诺发票红冲节点参数:"+requestJson.toJSONString());
JSONObject jsonStr = requestJson.getJSONObject("jsonStr");
if(jsonStr == null ){
return BaseResult.getFailureMessageEntity("系统错误");
}
JSONObject businessDataStr = jsonStr.getJSONObject("businessDataStr");
if(businessDataStr == null ){
return BaseResult.getFailureMessageEntity("系统错误");
}
String affairId = jsonStr.getString("affairId");
if(affairId != null && !"".equals(affairId)){
NuoNuoEntity nuoNuoEntity = new NuoNuoEntity();
nuoNuoEntity.setDataSourceCode("SW-OA");
nuoNuoEntity.setAffairId(affairId);
List<NuoNuoEntity> nuoNuoEntities = nuoNuoDao.queryAffair(nuoNuoEntity);
if(nuoNuoEntities != null && nuoNuoEntities.size() ==1){
if(nuoNuoEntities.get(0).getNoname() != null){
if("确认申请".equals(nuoNuoEntities.get(0).getNoname())){
return sendNuoNuoFaPiaoQrd(requestJson);
}else if("红字开票".equals(nuoNuoEntities.get(0).getNoname())){
return sendNuoNuoFaPiaoHc(requestJson);
}else {
return BaseResult.getFailureMessageEntity("节点查找失败");
}
}else {
return BaseResult.getFailureMessageEntity("节点查找失败");
}
}else {
return BaseResult.getFailureMessageEntity("节点查找失败");
}
}else {
return BaseResult.getFailureMessageEntity("节点查找失败");
}
} }
private JSONObject getSendDataHc(JSONObject mainData, JSONArray detailArray) { private JSONObject getSendDataHc(JSONObject mainData, JSONArray detailArray) {
@ -311,9 +378,8 @@ public class NuoNuoServiceImpl extends BaseService<NuoNuoEntity, String> impleme
//sendData.put("invoiceCode",mainData.getString("field0178"));//蓝票发票代码 //sendData.put("invoiceCode",mainData.getString("field0178"));//蓝票发票代码
//可能需要转换 //可能需要转换
sendData.put("billId",mainData.getString("field0191"));//红字确认单申请单号 sendData.put("billId",mainData.getString("field0191"));//红字确认单申请单号
//todo 切换地址 //sendData.put("bizCallbackUrl","http://10.0.2.112:9021/kangarooDataCenterV3/entranceController/nuoNuoHcCallback");//回调地址测试
sendData.put("bizCallbackUrl","http://10.0.2.112:9021/kangarooDataCenterV3/entranceController/nuoNuoHcCallback");//回调地址测试 sendData.put("bizCallbackUrl","http://10.0.2.112:9011/kangarooDataCenterV3/entranceController/nuoNuoHcCallback");//回调地址正式
//sendData.put("bizCallbackUrl","http://10.0.2.112:9011/kangarooDataCenterV3/entranceController/nuoNuoHcCallback");//回调地址正式
return sendData; return sendData;
} }

View File

@ -41,6 +41,7 @@ public class temButtom {
@Test @Test
public void test01() { public void test01() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null; Date date = null;

View File

@ -76,7 +76,9 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService {
String errorMessage = jsonObject.getString("errorMessage");//开票异常信息 String errorMessage = jsonObject.getString("errorMessage");//开票异常信息
String pdfUrl = jsonObject.getString("pdfUrl");//发票pdf地址 String pdfUrl = jsonObject.getString("pdfUrl");//发票pdf地址
String imageUrl = jsonObject.getString("imageUrl");//发票jpg地址 String ofdUrl = jsonObject.getString("ofdUrl");//发票jpg地址
String xmlUrl = jsonObject.getString("xmlUrl");//发票jpg地址
String invoiceTime = jsonObject.getString("invoiceTime");//开票日期 String invoiceTime = jsonObject.getString("invoiceTime");//开票日期
String invoiceCode = jsonObject.getString("allElectronicInvoiceNumber");//发票代码 String invoiceCode = jsonObject.getString("allElectronicInvoiceNumber");//发票代码
String invoiceNumber = jsonObject.getString("invoiceNumber");//发票号码 String invoiceNumber = jsonObject.getString("invoiceNumber");//发票号码
@ -168,18 +170,18 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService {
} }
} }
logger.error("诺诺发票回调接口12:"+imageUrl); logger.error("诺诺发票回调接口12:"+ofdUrl);
if(imageUrl != null){ if(ofdUrl != null){
logger.error("诺诺发票回调接口13:"+imageUrl); logger.error("诺诺发票回调接口13:"+ofdUrl);
String urlData = sendFileUpload(imageUrl); String urlData = sendFileUpload(ofdUrl);
logger.error("诺诺发票回调接口14:"+imageUrl); logger.error("诺诺发票回调接口14:"+ofdUrl);
if(urlData != null){ if(urlData != null){
//保存关联表 //保存关联表
nuoNuoCallbackEntity.setField0153(urluuid);//发票文件 nuoNuoCallbackEntity.setField0153(urluuid);//发票文件
logger.error("诺诺发票回调接口15:"+imageUrl); logger.error("诺诺发票回调接口15:"+ofdUrl);
try { try {
@ -190,14 +192,38 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService {
returnData.put("message","根据订单编号上传附件失败"); returnData.put("message","根据订单编号上传附件失败");
return returnData; return returnData;
} }
logger.error("诺诺发票回调接口16:"+imageUrl); logger.error("诺诺发票回调接口16:"+ofdUrl);
}
}
if(xmlUrl != null){
logger.error("诺诺发票回调接口13:"+xmlUrl);
String urlData = sendFileUpload(xmlUrl);
logger.error("诺诺发票回调接口14:"+xmlUrl);
if(urlData != null){
//保存关联表
nuoNuoCallbackEntity.setField0153(urluuid);//发票文件
logger.error("诺诺发票回调接口15:"+xmlUrl);
try {
ctpAttachmentService.saveAttachment(urlData,nuoNuoCallbackEntity.getFieldsum(),urluuid,nuoNuoCallbackEntity.getDataSourceCode());
} catch (Exception e) {
JSONObject returnData = new JSONObject();
returnData.put("code","9999");
returnData.put("message","根据订单编号上传附件失败");
return returnData;
}
logger.error("诺诺发票回调接口16:"+xmlUrl);
} }
} }
//修改单据信息 //修改单据信息
logger.error("诺诺发票回调接口17:"+imageUrl); logger.error("诺诺发票回调接口17:"+ofdUrl);
nuoNuoCallbackDao.updateNuoNuo(nuoNuoCallbackEntity); nuoNuoCallbackDao.updateNuoNuo(nuoNuoCallbackEntity);
logger.error("诺诺发票回调接口18:"+imageUrl); logger.error("诺诺发票回调接口18:"+ofdUrl);
JSONObject returnData = new JSONObject(); JSONObject returnData = new JSONObject();
returnData.put("code","0000"); returnData.put("code","0000");
returnData.put("message","业务方接收同步成功"); returnData.put("message","业务方接收同步成功");
@ -407,7 +433,7 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService {
**/ **/
@Override @Override
public JSONObject nuoNuoQrdCallback(JSONObject jsonObject) { public JSONObject nuoNuoQrdCallback(JSONObject jsonObject) {
logger.error("诺诺发票回调接口:"+jsonObject.toJSONString()); logger.error("诺诺发票确认单回调接口:"+jsonObject.toJSONString());
String backType = jsonObject.getString("backType");//回传类型, 1: 红字信息表 2红字确认单 String backType = jsonObject.getString("backType");//回传类型, 1: 红字信息表 2红字确认单
String billId = jsonObject.getString("billId");//申请单号 String billId = jsonObject.getString("billId");//申请单号
String billStatus = jsonObject.getString("billStatus");//确认单状态 String billStatus = jsonObject.getString("billStatus");//确认单状态
@ -502,21 +528,23 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService {
String successFlag = jsonObject.getString("successFlag");//True:开票成功false开票失败 String successFlag = jsonObject.getString("successFlag");//True:开票成功false开票失败
String errorMessage = jsonObject.getString("errorMessage");//开票异常信息 String errorMessage = jsonObject.getString("errorMessage");//开票异常信息
String pdfUrl = jsonObject.getString("pdfUrl");//发票pdf地址 String pdfUrl = jsonObject.getString("pdfUrl");//发票pdf地址
String ofdUrl = jsonObject.getString("ofdUrl");//发票jpg地址
String xmlUrl = jsonObject.getString("xmlUrl");//发票jpg地址
String imageUrl = jsonObject.getString("imageUrl");//发票jpg地址 String imageUrl = jsonObject.getString("imageUrl");//发票jpg地址
String invoiceTime = jsonObject.getString("invoiceTime");//开票日期 String invoiceTime = jsonObject.getString("invoiceTime");//开票日期
String invoiceCode = jsonObject.getString("allElectronicInvoiceNumber");//发票代码 String invoiceCode = jsonObject.getString("allElectronicInvoiceNumber");//发票代码
String invoiceNumber = jsonObject.getString("invoiceNumber");//发票号码 String invoiceNumber = jsonObject.getString("invoiceNumber");//发票号码
String invoiceStatus = jsonObject.getString("invoiceStatus");//发票处理结果 String invoiceStatus = jsonObject.getString("invoiceStatus");//发票处理结果
String orderNo = jsonObject.getString("orderNo");//订单编号 String billId = jsonObject.getString("billId");//订单编号
logger.error("诺诺发票红冲回调接口1:"+invoiceTime); logger.error("诺诺发票红冲回调接口1:"+invoiceTime);
if(invoiceTime != null && !"".equals(invoiceTime)){ if(invoiceTime != null && !"".equals(invoiceTime)){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date(jsonObject.getLong("invoiceTime")); Date date = new Date(jsonObject.getLong("invoiceTime"));
invoiceTime = sdf.format(date); invoiceTime = sdf.format(date);
} }
logger.error("诺诺发票红冲回调接口2:"+orderNo); logger.error("诺诺发票红冲回调接口2:"+billId);
if(orderNo == null || "".equals(orderNo)){ if(billId == null || "".equals(billId)){
JSONObject returnData = new JSONObject(); JSONObject returnData = new JSONObject();
returnData.put("code","9999"); returnData.put("code","9999");
returnData.put("message","订单编号不存在"); returnData.put("message","订单编号不存在");
@ -546,7 +574,7 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService {
//查找单据上传附件 //查找单据上传附件
NuoNuoCallbackEntity queryData = new NuoNuoCallbackEntity(); NuoNuoCallbackEntity queryData = new NuoNuoCallbackEntity();
queryData.setDataSourceCode("SW-OA"); queryData.setDataSourceCode("SW-OA");
queryData.setField0191(orderNo); queryData.setField0191(billId);
List<NuoNuoCallbackEntity> entityList = nuoNuoCallbackDao.queryOaHcData(queryData); List<NuoNuoCallbackEntity> entityList = nuoNuoCallbackDao.queryOaHcData(queryData);
logger.error("诺诺发票红冲回调接口6:"+entityList.size()); logger.error("诺诺发票红冲回调接口6:"+entityList.size());
@ -566,7 +594,7 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService {
NuoNuoCallbackEntity nuoNuoCallbackEntity = entityList.get(0); NuoNuoCallbackEntity nuoNuoCallbackEntity = entityList.get(0);
nuoNuoCallbackEntity.setDataSourceCode("SW-OA"); nuoNuoCallbackEntity.setDataSourceCode("SW-OA");
nuoNuoCallbackEntity.setField0191(orderNo);//单据号 nuoNuoCallbackEntity.setField0191(billId);//单据号
nuoNuoCallbackEntity.setField0150(invoiceNumber);//发票号码 nuoNuoCallbackEntity.setField0150(invoiceNumber);//发票号码
nuoNuoCallbackEntity.setField0151(invoiceTime);//开票日期 nuoNuoCallbackEntity.setField0151(invoiceTime);//开票日期
nuoNuoCallbackEntity.setField0194(invoiceStatus);//红冲状态 nuoNuoCallbackEntity.setField0194(invoiceStatus);//红冲状态
@ -596,37 +624,61 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService {
if(pdfUrl != null){ if(pdfUrl != null){
String urlData = sendFileUpload(pdfUrl); String urlData = sendFileUpload(pdfUrl);
logger.error("诺诺发票红冲回调接口9:"+urlData); logger.error("诺诺发票回调接口9:"+urlData);
if(urlData != null){ if(urlData != null){
//保存关联表 //保存关联表
nuoNuoCallbackEntity.setField0153(urluuid);//发票文件 nuoNuoCallbackEntity.setField0153(urluuid);//发票文件
logger.error("诺诺发票红冲回调接口10:"+nuoNuoCallbackEntity.getFieldsum()); logger.error("诺诺发票回调接口10:"+nuoNuoCallbackEntity.getFieldsum());
try { try {
ctpAttachmentService.saveAttachment(urlData,nuoNuoCallbackEntity.getFieldsum(),urluuid,nuoNuoCallbackEntity.getDataSourceCode()); ctpAttachmentService.saveAttachment(urlData,nuoNuoCallbackEntity.getFieldsum(),urluuid,nuoNuoCallbackEntity.getDataSourceCode());
} catch (Exception e) { } catch (Exception e) {
logger.error("诺诺发票红冲回调接口10error"+e.getMessage()); logger.error("诺诺发票回调接口10error"+e.getMessage());
JSONObject returnData = new JSONObject(); JSONObject returnData = new JSONObject();
returnData.put("code","9999"); returnData.put("code","9999");
returnData.put("message","根据订单编号上传附件失败"); returnData.put("message","根据订单编号上传附件失败");
return returnData; return returnData;
} }
logger.error("诺诺发票红冲回调接口11:"+urlData); logger.error("诺诺发票回调接口11:"+urlData);
} }
} }
logger.error("诺诺发票红冲回调接口12:"+imageUrl); logger.error("诺诺发票回调接口12:"+ofdUrl);
if(imageUrl != null){ if(ofdUrl != null){
logger.error("诺诺发票红冲回调接口13:"+imageUrl); logger.error("诺诺发票回调接口13:"+ofdUrl);
String urlData = sendFileUpload(imageUrl); String urlData = sendFileUpload(ofdUrl);
logger.error("诺诺发票红冲回调接口14:"+imageUrl); logger.error("诺诺发票回调接口14:"+ofdUrl);
if(urlData != null){ if(urlData != null){
//保存关联表 //保存关联表
nuoNuoCallbackEntity.setField0153(urluuid);//发票文件 nuoNuoCallbackEntity.setField0153(urluuid);//发票文件
logger.error("诺诺发票红冲回调接口15:"+imageUrl); logger.error("诺诺发票回调接口15:"+ofdUrl);
try {
ctpAttachmentService.saveAttachment(urlData,nuoNuoCallbackEntity.getFieldsum(),urluuid,nuoNuoCallbackEntity.getDataSourceCode());
} catch (Exception e) {
JSONObject returnData = new JSONObject();
returnData.put("code","9999");
returnData.put("message","根据订单编号上传附件失败");
return returnData;
}
logger.error("诺诺发票回调接口16:"+ofdUrl);
}
}
if(xmlUrl != null){
logger.error("诺诺发票回调接口13:"+xmlUrl);
String urlData = sendFileUpload(xmlUrl);
logger.error("诺诺发票回调接口14:"+xmlUrl);
if(urlData != null){
//保存关联表
nuoNuoCallbackEntity.setField0153(urluuid);//发票文件
logger.error("诺诺发票回调接口15:"+xmlUrl);
try { try {
ctpAttachmentService.saveAttachment(urlData,nuoNuoCallbackEntity.getFieldsum(),urluuid,nuoNuoCallbackEntity.getDataSourceCode()); ctpAttachmentService.saveAttachment(urlData,nuoNuoCallbackEntity.getFieldsum(),urluuid,nuoNuoCallbackEntity.getDataSourceCode());
} catch (Exception e) { } catch (Exception e) {
@ -635,8 +687,7 @@ public class NuoNuoCallbackServiceImpl implements INuoNuoCallbackService {
returnData.put("message","根据订单编号上传附件失败"); returnData.put("message","根据订单编号上传附件失败");
return returnData; return returnData;
} }
logger.error("诺诺发票红冲回调接口16:"+imageUrl); logger.error("诺诺发票回调接口16:"+xmlUrl);
} }
} }
//修改单据信息 //修改单据信息