diff --git a/base-buildpackage/src/main/java/com/hzya/frame/plugin/ht/plugin/QueryInputInvoiceResultPluginInitializer.java b/base-buildpackage/src/main/java/com/hzya/frame/plugin/ht/plugin/QueryInputInvoiceResultPluginInitializer.java
new file mode 100644
index 00000000..52cd42ca
--- /dev/null
+++ b/base-buildpackage/src/main/java/com/hzya/frame/plugin/ht/plugin/QueryInputInvoiceResultPluginInitializer.java
@@ -0,0 +1,58 @@
+package com.hzya.frame.plugin.ht.plugin;
+
+import com.alibaba.fastjson.JSONObject;
+import com.hzya.frame.base.PluginBaseEntity;
+import com.hzya.frame.plugin.zxBank.plugin.ZxBankResultPluginInitializer;
+import com.hzya.frame.seeyon.invoice.service.impl.InvoiceServiceImpl;
+import com.hzya.frame.web.entity.JsonResultEntity;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class QueryInputInvoiceResultPluginInitializer extends PluginBaseEntity {
+ Logger logger = LoggerFactory.getLogger(QueryInputInvoiceResultPluginInitializer.class);
+
+ @Autowired
+ private InvoiceServiceImpl invoiceService;
+
+ @Override
+ public void initialize() {
+ logger.info(getPluginLabel() + "執行初始化方法initialize()");
+ }
+
+ @Override
+ public void destroy() {
+ logger.info(getPluginLabel() + "執行銷毀方法destroy()");
+ }
+
+ @Override
+ public String getPluginId() {
+ return "QueryInputInvoiceResultPluginInitializer";
+ }
+
+ @Override
+ public String getPluginName() {
+ return "查询发票批量录入返回结果插件";
+ }
+
+ @Override
+ public String getPluginLabel() {
+ return "QueryInputInvoiceResultPluginInitializer";
+ }
+
+ @Override
+ public String getPluginType() {
+ return "1";
+ }
+ @Override
+ public JsonResultEntity executeBusiness(JSONObject requestJson) {
+ try {
+ logger.info("======开始执行查询税务进项发票批量录入返回结果========");
+ return invoiceService.queryInputInvoiceResult(requestJson);
+ }catch (Exception e){
+ logger.info("======执行查询税务进项发票批量录入返回结果失败:{}========",e.getMessage());
+ e.printStackTrace();
+ }
+ return null;
+ }
+}
diff --git a/base-buildpackage/src/main/resources/cfgHome/plugin/ht/spring/spring-buildpackage-plugin.xml b/base-buildpackage/src/main/resources/cfgHome/plugin/ht/spring/spring-buildpackage-plugin.xml
index cfef96a4..6758f61b 100644
--- a/base-buildpackage/src/main/resources/cfgHome/plugin/ht/spring/spring-buildpackage-plugin.xml
+++ b/base-buildpackage/src/main/resources/cfgHome/plugin/ht/spring/spring-buildpackage-plugin.xml
@@ -4,5 +4,6 @@
+
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/dao/IInvoiceDao.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/dao/IInvoiceDao.java
index 57c91c0c..e8304591 100644
--- a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/dao/IInvoiceDao.java
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/dao/IInvoiceDao.java
@@ -59,4 +59,14 @@ public interface IInvoiceDao extends IBaseDao {
* @Date 2025-04-14 16:35
* **/
Integer updateInvoiceResult(InvoiceEntity entity);
+
+ /**
+ *
+ * @content 进项发票推送结果查询(查询发票批量录入结果)
+ * @Param
+ * @Return
+ * @Author hecan
+ * @Date 2025-04-17 15:19
+ * **/
+ List queryInputInvoiceResult(InvoiceEntity entity);
}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/dao/impl/InvoiceDaoImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/dao/impl/InvoiceDaoImpl.java
index 24f56359..1d189240 100644
--- a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/dao/impl/InvoiceDaoImpl.java
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/dao/impl/InvoiceDaoImpl.java
@@ -56,4 +56,10 @@ public class InvoiceDaoImpl extends MybatisGenericDao impl
public Integer updateInvoiceResult(InvoiceEntity entity) {
return super.update("updateInvoiceResult",entity);
}
+
+ @DS("#entity.dataSourceCode")
+ @Override
+ public List queryInputInvoiceResult(InvoiceEntity entity) {
+ return (List)super.selectList("queryInputInvoiceResult",entity);
+ }
}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/entity/InvoiceEntity.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/entity/InvoiceEntity.java
index b2d700af..239b0659 100644
--- a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/entity/InvoiceEntity.java
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/entity/InvoiceEntity.java
@@ -73,6 +73,24 @@ public class InvoiceEntity extends BaseEntity {
private String result_status;// 开票结果
private String summaryId;//
+ private String input_result_status_filed;//进项发票结果字段
+ private String input_result_status;//进项发票结果
+
+ public String getInput_result_status_filed() {
+ return input_result_status_filed;
+ }
+
+ public void setInput_result_status_filed(String input_result_status_filed) {
+ this.input_result_status_filed = input_result_status_filed;
+ }
+
+ public String getInput_result_status() {
+ return input_result_status;
+ }
+
+ public void setInput_result_status(String input_result_status) {
+ this.input_result_status = input_result_status;
+ }
public String getSummaryId() {
return summaryId;
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/entity/InvoiceEntity.xml b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/entity/InvoiceEntity.xml
index 2247a385..10213540 100644
--- a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/entity/InvoiceEntity.xml
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/entity/InvoiceEntity.xml
@@ -87,6 +87,12 @@
from v_hzya_invoice where push_status is not null and url is null and (result_status is null or result_status='申请单处理中')
+
+
update ${tabName} set ${url_field} =#{url} where id=#{id}
@@ -101,9 +107,10 @@
update ${tabName} set
- invoice_code_field = #{invoiceCode},
- invoice_number_field = #{invoiceNumber},
- result_status_field = #{resultStatus},
+ ${input_result_status_filed} = #{input_result_status},
+ ${invoice_code_field} = #{invoice_code},
+ ${invoice_number_field} = #{invoice_number},
+ ${result_status_field} = #{result_status},
where id=#{id}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/entity/InvoiceState.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/entity/InvoiceState.java
index 38a119ba..cf584ee3 100644
--- a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/entity/InvoiceState.java
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/entity/InvoiceState.java
@@ -6,7 +6,14 @@ public enum InvoiceState {
zero("0","申请单被关闭"),
one("1","申请单开票成功"),
two("2","申请单处理中"),
- three("3","申请单开具异常");
+ three("3","申请单开具异常"),
+ inputZero("0","进行中"),
+ inputOne("1","全部成功"),
+ inputTwo("2","部分失败"),
+ inputThree("3","全部失败");
+
+
+
private String type;
//值
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/service/IInvoiceService.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/service/IInvoiceService.java
index 45f34f2c..05d18405 100644
--- a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/service/IInvoiceService.java
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/service/IInvoiceService.java
@@ -26,4 +26,14 @@ public interface IInvoiceService extends IBaseService {
* @Date 2025-04-02 14:10
* **/
JsonResultEntity queryInvoiceResult(JSONObject json);
+
+ /**
+ *
+ * @content 进项发票推送结果查询(查询发票批量录入结果)
+ * @Param
+ * @Return
+ * @Author hecan
+ * @Date 2025-04-17 15:11
+ * **/
+ JsonResultEntity queryInputInvoiceResult(JSONObject json);
}
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/service/impl/InvoiceServiceImpl.java b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/service/impl/InvoiceServiceImpl.java
index af842b00..199745c8 100644
--- a/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/service/impl/InvoiceServiceImpl.java
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/invoice/service/impl/InvoiceServiceImpl.java
@@ -16,6 +16,7 @@ import com.hzya.frame.seeyon.invoice.entity.InvoiceState;
import com.hzya.frame.seeyon.invoice.service.IInvoiceService;
import com.hzya.frame.seeyon.util.OARestUtil;
import com.hzya.frame.seeyon.util.YzfSignUtil;
+import com.hzya.frame.seeyon.zxbank.entity.PayState;
import com.hzya.frame.seeyon.zxbank.entity.ZxBankEntity;
import com.hzya.frame.sysnew.comparison.service.impl.ComparisonServiceImpl;
import com.hzya.frame.sysnew.integtationTaskLivingDetails.entity.IntegrationTaskLivingDetailsEntity;
@@ -234,6 +235,70 @@ public class InvoiceServiceImpl extends BaseService imple
return null;
}
+ //进项发票推送结果查询(查询发票批量录入结果)
+ @Override
+ public JsonResultEntity queryInputInvoiceResult(JSONObject json) {
+ try {
+ InvoiceEntity invoiceEntity = json.toJavaObject(InvoiceEntity.class);
+ invoiceEntity.setDataSourceCode("HT-OA");
+ logger.info("=======开始查询杭泰税务的发票批量录入返回结果=========");
+ List invoiceEntities = invoiceDao.queryInputInvoiceResult(invoiceEntity);
+ if(CollectionUtils.isEmpty(invoiceEntities)){
+ logger.info("=====杭泰税务中没有需要查询发票批量录入返回结果的数据========");
+ return BaseResult.getSuccessMessageEntity("查询成功");
+ }
+ for (InvoiceEntity entity : invoiceEntities) {
+ long timestamp = System.currentTimeMillis();
+ Map parametersMap = new HashMap<>();
+ parametersMap.put("accessKey","6X3B526P5HqE6ums");
+ parametersMap.put("timestamp",timestamp);
+ String sign = YzfSignUtil.signRequest(parametersMap,"34e5fc32ac894a2ba2ade8c3852c7a0a");
+ JSONObject jsonObject=new JSONObject();
+ jsonObject.put("serialNumber",entity.getId());
+ jsonObject.put("accessKey","6X3B526P5HqE6ums");
+ jsonObject.put("sign",sign);
+ jsonObject.put("timestamp",timestamp);
+ logger.info("=======调用杭泰税务查询发票批量录入结果的请求参数为:{}=======",jsonObject.toJSONString());
+ //发送数据
+ String result = HttpRequest.post(url).
+ header("appId", "800060").
+ header("apiCode", "8000600006").
+ header("publicKey", "ZJYAmRjjYEDgqw4UXWHZNicYclErG0hsrwKQcHukPlP0K1pCe7eDIk+3zDUT+v578prj").
+ header("secretKey", "D6AHU3PL8UsNfK6A8I6mL4X1ma2NXckX/vM7AOzI/jmzJf+R1aY06Q6SBz7Y7drHj3JzOP8MtA1LSGvL+2BWG8c/o7DKi92S4mr3zcGearA=").
+ body(jsonObject.toJSONString()).
+ execute().
+ body();
+ logger.info("=====调用杭泰税务查询发票批量录入结果的返回参数为:{}===========",result);
+ JSONObject resultJson = JSONObject.parseObject(result);
+ if (!resultJson.getBoolean("flag")) {
+ saveTaskLivingDetails(entity.getId(), entity.getBusiness_no(), jsonObject.toJSONString(), resultJson.toJSONString(), false,"");
+ } else {
+ JSONObject attribute = resultJson.getJSONObject("attribute");
+ if("0".equals(attribute.getString("code"))) {
+ JSONObject jsonResult = JSONObject.parseObject(attribute.getString("result"));
+ if (null != jsonResult) {
+ String serialNumber = jsonResult.getString("serialNumber");//流水号
+ String status = jsonResult.getString("status");//发票批量录入返回结果状态
+ if(serialNumber.equals(entity.getId())){
+ //修改发票批量录入结果状态
+ logger.info("=========开始更新进项发票的结果==========");
+ entity.setInput_result_status(InvoiceState.invoiceStateGetValue(status));
+ entity.setDataSourceCode("HT-OA");
+ invoiceDao.updateInvoiceResult(entity);
+ logger.info("=========更新进项发票的结果完成==========");
+ saveTaskLivingDetails(entity.getId(),entity.getBusiness_no(),jsonObject.toJSONString(), resultJson.toJSONString(), true,"");
+ }
+ }
+ }
+ }
+ }
+ }catch (Exception e){
+ logger.info("======查询杭泰税务发票批量录入结果失败====",e.getMessage());
+ e.printStackTrace();
+ }
+ return null;
+ }
+
private void ManyfileUpload(File file,InvoiceEntity entity,String sub_reference,String att_reference,JSONObject jsonObject){
JSONObject jsonObjectOfd = OARestUtil.fileUpload(file,"8000590003","8000590001");
if (jsonObjectOfd.getString("fileUrl") != null) {
diff --git a/fw-oa/src/main/java/com/hzya/frame/seeyon/zxbank/entity/ZxBankEntity.xml b/fw-oa/src/main/java/com/hzya/frame/seeyon/zxbank/entity/ZxBankEntity.xml
index b8c383c8..74f290c8 100644
--- a/fw-oa/src/main/java/com/hzya/frame/seeyon/zxbank/entity/ZxBankEntity.xml
+++ b/fw-oa/src/main/java/com/hzya/frame/seeyon/zxbank/entity/ZxBankEntity.xml
@@ -76,7 +76,7 @@