diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/entity/CInvoiceImportHEntity.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/entity/CInvoiceImportHEntity.java index 77da27ba..b5e4c047 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/entity/CInvoiceImportHEntity.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/entity/CInvoiceImportHEntity.java @@ -14,6 +14,10 @@ public class CInvoiceImportHEntity extends BaseEntity { private String bill_type; //单据编码 private String bill_code; + //有度发票导入结果字段名 + private String yd_res_field; + //有度发票导入接口返回的id + private String yd_result; public String getTab_name() { return tab_name; @@ -38,4 +42,20 @@ public class CInvoiceImportHEntity extends BaseEntity { public void setBill_code(String bill_code) { this.bill_code = bill_code; } + + public String getYd_res_field() { + return yd_res_field; + } + + public void setYd_res_field(String yd_res_field) { + this.yd_res_field = yd_res_field; + } + + public String getYd_result() { + return yd_result; + } + + public void setYd_result(String yd_result) { + this.yd_result = yd_result; + } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/entity/CInvoiceImportHEntity.xml b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/entity/CInvoiceImportHEntity.xml index 0ffc8517..bdf34f15 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/entity/CInvoiceImportHEntity.xml +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/entity/CInvoiceImportHEntity.xml @@ -4,6 +4,7 @@ + @@ -14,49 +15,59 @@ SELECT id, 'formmain_0327' as tab_name, + 'field0370' as yd_res_field, '对公付款单' as bill_type, field0146 as bill_code FROM formmain_0327 WHERE - 1 = 1 - -- and finishedflag = 1 + finishedflag = 1 UNION ALL SELECT id, 'formmain_0533' as tab_name, + 'field0383' as yd_res_field, '差旅费报销单' as bill_type, field0094 as bill_code FROM formmain_0533 WHERE - 1 = 1 - -- and finishedflag = 1 + finishedflag = 1 UNION ALL -- 日常费用报销 SELECT id, 'formmain_0314' as tab_name, + 'field0338' as yd_res_field, '日常报销单' as bill_type, field0220 as bill_code FROM formmain_0314 + WHERE + finishedflag = 1 UNION ALL -- 业务招待费 SELECT id, 'formmain_0294' as tab_name, + 'field0218' as yd_res_field, '招待报销单' as bill_type, field0053 as bill_code FROM formmain_0294 + WHERE + finishedflag = 1 ) f f.id = #{id} and f.bill_code = #{bill_code} + + + update ${tab_name} set ${yd_res_field} = #{yd_result} where id = #{id} + diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/plugin/CInvoiceImportPluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/plugin/CInvoiceImportPluginInitializer.java index 65865947..e27a7e54 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/plugin/CInvoiceImportPluginInitializer.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/plugin/CInvoiceImportPluginInitializer.java @@ -3,6 +3,7 @@ package com.hzya.frame.plugin.cinvoice.plugin; import com.alibaba.fastjson.JSONObject; import com.hzya.frame.base.PluginBaseEntity; import com.hzya.frame.plugin.cinvoice.service.ICInvoiceImportPluginService; +import com.hzya.frame.web.entity.BaseResult; import com.hzya.frame.web.entity.JsonResultEntity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -94,8 +95,8 @@ public class CInvoiceImportPluginInitializer extends PluginBaseEntity { **/ @Override public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { - logger.info("======开始执OA发票批量导入有度税务插件======"); + logger.info("======开始执OA发票批量导入有度税务插件======:{}",requestJson.toString()); pluginService.importInvoice(requestJson); - return null; + return BaseResult.getSuccessMessageEntity("执行成功"); } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/ICInvoiceImportHService.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/ICInvoiceImportHService.java index 5ce1a532..506a7685 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/ICInvoiceImportHService.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/ICInvoiceImportHService.java @@ -19,4 +19,11 @@ public interface ICInvoiceImportHService extends IBaseService queryInvoiceList(CInvoiceImportHEntity entity) throws Exception; + + /** + * 更新有度导入接口返回的id + * @param entity + * @return + */ + int updateResultId(CInvoiceImportHEntity entity); } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/impl/CInvoiceImportHServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/impl/CInvoiceImportHServiceImpl.java index c6edb605..bd07d396 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/impl/CInvoiceImportHServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/impl/CInvoiceImportHServiceImpl.java @@ -1,5 +1,6 @@ package com.hzya.frame.plugin.cinvoice.service.impl; +import cn.hutool.core.util.StrUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.hzya.frame.basedao.service.impl.BaseService; import com.hzya.frame.plugin.cinvoice.dao.ICInvoiceImportHDao; @@ -42,4 +43,22 @@ public class CInvoiceImportHServiceImpl extends BaseService list = cInvoiceImportHDao.queryList(entity, "com.hzya.frame.plugin.cinvoice.dao.impl.CInvoiceImportHDaoImpl.entity_list_base"); return list; } + + /** + * 更新有度导入接口返回的id + * + * @param entity + * @return + */ + @DS("#entity.dataSourceCode") + @Override + public int updateResultId(CInvoiceImportHEntity entity) { + if (null != entity + && StrUtil.isNotEmpty(entity.getTab_name()) + && StrUtil.isNotEmpty(entity.getYd_res_field()) && StrUtil.isNotEmpty(entity.getYd_result())){ + int updateRows = cInvoiceImportHDao.update("com.hzya.frame.plugin.cinvoice.dao.impl.CInvoiceImportHDaoImpl.entity_update", entity); + return updateRows; + } + return 0; + } } diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/impl/CInvoiceImportPluginServiceImpl.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/impl/CInvoiceImportPluginServiceImpl.java index 2617aa42..a4318bad 100644 --- a/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/impl/CInvoiceImportPluginServiceImpl.java +++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/cinvoice/service/impl/CInvoiceImportPluginServiceImpl.java @@ -16,6 +16,7 @@ import com.hzya.frame.plugin.cinvoice.service.ICInvoiceImportPluginService; import com.hzya.frame.seeyon.util.YzfSignUtil; import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity; import com.hzya.frame.sysnew.integtationTaskLivingDetails.service.IIntegrationTaskLivingDetailsService; +import com.hzya.frame.web.exception.BaseSystemException; import org.apache.commons.collections.CollectionUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -71,10 +72,16 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer //1、 查OA主表 String dataSourceCode = requestJson.getString("sourceCode"); + if (StrUtil.isEmpty(dataSourceCode)){ + dataSourceCode = requestJson.getString("apiDataSourceCode"); + } String id = requestJson.getString("id");//主表id + if (StrUtil.isEmpty(id)){ + throw new BaseSystemException("id不能为空"); + } CInvoiceImportHEntity importHEntity = new CInvoiceImportHEntity(); importHEntity.setDataSourceCode(dataSourceCode); - importHEntity.setId("6286766887088770238"); + importHEntity.setId(id); List cInvoiceImportHList = cInvoiceImportHService.queryInvoiceList(importHEntity); if (CollectionUtils.isNotEmpty(cInvoiceImportHList)){ ParamAssembler assembler = null; @@ -83,7 +90,7 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer //3、 查迈瑞思发票表 //迈锐思发票公共信息表 LexmisPublicinfoEntity lexmisPublicinfoEntity = new LexmisPublicinfoEntity(cInvoiceH.getId(),dataSourceCode); - lexmisPublicinfoEntity.setPI_ID("-95056949260236712"); + //lexmisPublicinfoEntity.setPI_ID("6952494198841691018"); List lexmisPublicinfoEntityList = lexmisPublicinfoService.query(lexmisPublicinfoEntity); if (CollectionUtils.isNotEmpty(lexmisPublicinfoEntityList)){ //税务接口每次最多传50张发票 @@ -155,6 +162,15 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer if (StrUtil.isNotEmpty(body)){ JSONObject jsonObject = JSONObject.parseObject(body); Boolean flag = jsonObject.getBoolean("flag"); + JSONObject resObj = jsonObject.getJSONObject("attribute"); + if (null != resObj && "0".equals(resObj.getString("code"))){ + String result = resObj.getString("result"); + if (StrUtil.isNotEmpty(result)){ + cInvoiceH.setDataSourceCode(dataSourceCode); + cInvoiceH.setYd_result(result); + cInvoiceImportHService.updateResultId(cInvoiceH); + } + } //保存日志 IntegrationTaskLivingDetailsEntity taskLivingDetail = new IntegrationTaskLivingDetailsEntity(); taskLivingDetail.setCreate_time(new Date()); @@ -167,6 +183,7 @@ public class CInvoiceImportPluginServiceImpl implements ICInvoiceImportPluginSer taskLivingDetail.setNewPushDate(new Date()); this.saveLog(id,flag,taskLivingDetail); } + return body; } } }