Commit 11d663aa48f9373c5d269a1f8efd3eaabd5d3d7e

Authored by zhangmeiyang
1 parent e4f0e999

feat(mapping): 实现金蝶客户转换器验证标记功能

-为多个金蝶基础实体类实现 VerifyMarkInterface 接口
- 添加验证标记和值的获取方法
- 修改 CustomerTransformer 以支持租户管道参数- 更新 ReceiptTransformer 和 MappingProcessor 以传递租户管道信息
- 引入 ITaxPipelineVerifyService 接口定义验证输入输出方法
Showing 52 changed files with 1181 additions and 41 deletions
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/VerifyMarkInterface.java 0 → 100644
  1 +package com.diligrp.tax.central.domain.mapping.kingdee;
  2 +
  3 +public interface VerifyMarkInterface {
  4 +
  5 + String getVerifyMark();
  6 +
  7 + String value();
  8 +}
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FACCOUNTID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-11-25 15:27
8 9 * @Version: todo
9 10 */
10   -public class FACCOUNTID {
  11 +public class FACCOUNTID implements VerifyMarkInterface {
11 12  
12 13 private String FNumber;
13 14  
... ... @@ -19,4 +20,14 @@ public class FACCOUNTID {
19 20 public void setFNumber(String FNumber) {
20 21 this.FNumber = FNumber;
21 22 }
  23 +
  24 + @Override
  25 + public String getVerifyMark() {
  26 + return "FACCOUNTID.FNumber";
  27 + }
  28 +
  29 + @Override
  30 + public String value() {
  31 + return FNumber;
  32 + }
22 33 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FASSETID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-10 10:04
8 9 * @Version: todo
9 10 */
10   -public class FASSETID {
  11 +public class FASSETID implements VerifyMarkInterface {
11 12 private String FNUMBER;
12 13  
13 14 @JsonProperty("FNUMBER")
... ... @@ -18,4 +19,14 @@ public class FASSETID {
18 19 public void setFNUMBER(String FNUMBER) {
19 20 this.FNUMBER = FNUMBER;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FASSETID.FNUMBER";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNUMBER;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FBillTypeID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-09 10:26
8 9 * @Version: todo
9 10 */
10   -public class FBillTypeID {
  11 +public class FBillTypeID implements VerifyMarkInterface {
11 12 private String FNUMBER;
12 13  
13 14 @JsonProperty("FNUMBER")
... ... @@ -18,4 +19,14 @@ public class FBillTypeID {
18 19 public void setFNUMBER(String FNUMBER) {
19 20 this.FNUMBER = FNUMBER;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FBillTypeID.FNUMBER";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNUMBER;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FCONTACTUNIT.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-23 15:15
8 9 * @Version: todo
9 10 */
10   -public class FCONTACTUNIT {
  11 +public class FCONTACTUNIT implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FCONTACTUNIT {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FCONTACTUNIT.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FCOSTDEPARTMENTID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-10 10:04
8 9 * @Version: todo
9 10 */
10   -public class FCOSTDEPARTMENTID {
  11 +public class FCOSTDEPARTMENTID implements VerifyMarkInterface {
11 12 private String FNUMBER;
12 13  
13 14 @JsonProperty("FNUMBER")
... ... @@ -18,4 +19,14 @@ public class FCOSTDEPARTMENTID {
18 19 public void setFNUMBER(String FNUMBER) {
19 20 this.FNUMBER = FNUMBER;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FCOSTDEPARTMENTID.FNUMBER";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNUMBER;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FCOSTID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-10 10:03
8 9 * @Version: todo
9 10 */
10   -public class FCOSTID {
  11 +public class FCOSTID implements VerifyMarkInterface {
11 12 private String FNUMBER;
12 13  
13 14 @JsonProperty("FNUMBER")
... ... @@ -18,4 +19,14 @@ public class FCOSTID {
18 19 public void setFNUMBER(String FNUMBER) {
19 20 this.FNUMBER = FNUMBER;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FCOSTID.FNUMBER";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNUMBER;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FCOUNTRY.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-23 15:15
8 9 * @Version: todo
9 10 */
10   -public class FCOUNTRY {
  11 +public class FCOUNTRY implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FCOUNTRY {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FCOUNTRY.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FCURRENCYID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-09 10:25
8 9 * @Version: todo
9 10 */
10   -public class FCURRENCYID {
  11 +public class FCURRENCYID implements VerifyMarkInterface {
11 12  
12 13 private String FNumber;
13 14  
... ... @@ -19,4 +20,14 @@ public class FCURRENCYID {
19 20 public void setFNumber(String FNumber) {
20 21 this.FNumber = FNumber;
21 22 }
  23 +
  24 + @Override
  25 + public String getVerifyMark() {
  26 + return "FCURRENCYID.FNumber";
  27 + }
  28 +
  29 + @Override
  30 + public String value() {
  31 + return FNumber;
  32 + }
22 33 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FCUSTOMERID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-10 10:00
8 9 * @Version: todo
9 10 */
10   -public class FCUSTOMERID {
  11 +public class FCUSTOMERID implements VerifyMarkInterface {
11 12  
12 13 private String FNumber;
13 14  
... ... @@ -19,4 +20,14 @@ public class FCUSTOMERID {
19 20 public void setFNumber(String FNumber) {
20 21 this.FNumber = FNumber;
21 22 }
  23 +
  24 + @Override
  25 + public String getVerifyMark() {
  26 + return "FCUSTOMERID.FNumber";
  27 + }
  28 +
  29 + @Override
  30 + public String value() {
  31 + return FNumber;
  32 + }
22 33 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FChargeId.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-10 10:06
8 9 * @Version: todo
9 10 */
10   -public class FChargeId {
  11 +public class FChargeId implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FChargeId {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FChargeId.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FContactId.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-23 17:56
8 9 * @Version: todo
9 10 */
10   -public class FContactId {
  11 +public class FContactId implements VerifyMarkInterface {
11 12 private String FNUMBER;
12 13  
13 14 @JsonProperty("FNUMBER")
... ... @@ -18,4 +19,14 @@ public class FContactId {
18 19 public void setFNUMBER(String FNUMBER) {
19 20 this.FNUMBER = FNUMBER;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FContactId.FNUMBER";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNUMBER;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FCreateOrgId.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-23 15:15
8 9 * @Version: todo
9 10 */
10   -public class FCreateOrgId {
  11 +public class FCreateOrgId implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FCreateOrgId {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FCreateOrgId.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FEntityDetail.java
... ... @@ -2,8 +2,6 @@ package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
3 3 import com.fasterxml.jackson.annotation.JsonProperty;
4 4  
5   -import java.math.BigDecimal;
6   -
7 5 /**
8 6 * @Author: zhangmeiyang
9 7 * @CreateTime: 2024-10-28 16:41
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FGroup.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-23 15:15
8 9 * @Version: todo
9 10 */
10   -public class FGroup {
  11 +public class FGroup implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FGroup {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FGroup.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FMAINBOOKSTDCURRID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-10 10:06
8 9 * @Version: todo
9 10 */
10   -public class FMAINBOOKSTDCURRID {
  11 +public class FMAINBOOKSTDCURRID implements VerifyMarkInterface {
11 12  
12 13 private String FNumber;
13 14  
... ... @@ -19,4 +20,14 @@ public class FMAINBOOKSTDCURRID {
19 20 public void setFNumber(String FNumber) {
20 21 this.FNumber = FNumber;
21 22 }
  23 +
  24 + @Override
  25 + public String getVerifyMark() {
  26 + return "FMAINBOOKSTDCURRID.FNumber";
  27 + }
  28 +
  29 + @Override
  30 + public String value() {
  31 + return FNumber;
  32 + }
22 33 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FORDERID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-10 10:06
8 9 * @Version: todo
9 10 */
10   -public class FORDERID {
  11 +public class FORDERID implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FORDERID {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FORDERID.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FPAYORGID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-10 10:01
8 9 * @Version: todo
9 10 */
10   -public class FPAYORGID {
  11 +public class FPAYORGID implements VerifyMarkInterface {
11 12  
12 13 private String FNumber;
13 14  
... ... @@ -19,4 +20,14 @@ public class FPAYORGID {
19 20 public void setFNumber(String FNumber) {
20 21 this.FNumber = FNumber;
21 22 }
  23 +
  24 + @Override
  25 + public String getVerifyMark() {
  26 + return "FPAYORGID.FNumber";
  27 + }
  28 +
  29 + @Override
  30 + public String value() {
  31 + return FNumber;
  32 + }
22 33 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FPAYUNIT.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-23 15:15
8 9 * @Version: todo
9 10 */
10   -public class FPAYUNIT {
  11 +public class FPAYUNIT implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FPAYUNIT {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FPAYUNIT.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FPROVINCIAL.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-23 15:15
8 9 * @Version: todo
9 10 */
10   -public class FPROVINCIAL {
  11 +public class FPROVINCIAL implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FPROVINCIAL {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FPROVINCIAL.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FPURPOSEID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-23 15:15
8 9 * @Version: todo
9 10 */
10   -public class FPURPOSEID {
  11 +public class FPURPOSEID implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FPURPOSEID {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FPURPOSEID.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FRECTUNIT.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-11-25 15:27
8 9 * @Version: todo
9 10 */
10   -public class FRECTUNIT {
  11 +public class FRECTUNIT implements VerifyMarkInterface {
11 12  
12 13 private String FNumber;
13 14  
... ... @@ -19,4 +20,14 @@ public class FRECTUNIT {
19 20 public void setFNumber(String FNumber) {
20 21 this.FNumber = FNumber;
21 22 }
  23 +
  24 + @Override
  25 + public String getVerifyMark() {
  26 + return "FRECTUNIT.FNumber";
  27 + }
  28 +
  29 + @Override
  30 + public String value() {
  31 + return FNumber;
  32 + }
22 33 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FSALEDEPTID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-10 10:01
8 9 * @Version: todo
9 10 */
10   -public class FSALEDEPTID {
  11 +public class FSALEDEPTID implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FSALEDEPTID {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FSALEDEPTID.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FSALEORGID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-10 10:00
8 9 * @Version: todo
9 10 */
10   -public class FSALEORGID {
  11 +public class FSALEORGID implements VerifyMarkInterface {
11 12  
12 13 private String FNumber;
13 14  
... ... @@ -19,4 +20,14 @@ public class FSALEORGID {
19 20 public void setFNumber(String FNumber) {
20 21 this.FNumber = FNumber;
21 22 }
  23 +
  24 + @Override
  25 + public String getVerifyMark() {
  26 + return "FSALEORGID.FNumber";
  27 + }
  28 +
  29 + @Override
  30 + public String value() {
  31 + return FNumber;
  32 + }
22 33 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FSETTLECUR.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-10 10:04
8 9 * @Version: todo
9 10 */
10   -public class FSETTLECUR {
  11 +public class FSETTLECUR implements VerifyMarkInterface {
11 12 private String FNUMBER;
12 13  
13 14 @JsonProperty("FNUMBER")
... ... @@ -18,4 +19,14 @@ public class FSETTLECUR {
18 19 public void setFNUMBER(String FNUMBER) {
19 20 this.FNUMBER = FNUMBER;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FSETTLECUR.FNUMBER";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNUMBER;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FSETTLEMAINBOOKID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-10 10:03
8 9 * @Version: todo
9 10 */
10   -public class FSETTLEMAINBOOKID {
  11 +public class FSETTLEMAINBOOKID implements VerifyMarkInterface {
11 12 private String FNUMBER;
12 13  
13 14 @JsonProperty("FNUMBER")
... ... @@ -18,4 +19,14 @@ public class FSETTLEMAINBOOKID {
18 19 public void setFNUMBER(String FNUMBER) {
19 20 this.FNUMBER = FNUMBER;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FSETTLEMAINBOOKID.FNUMBER";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNUMBER;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FSETTLEORGID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-09 10:24
8 9 * @Version: todo
9 10 */
10   -public class FSETTLEORGID {
  11 +public class FSETTLEORGID implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FSETTLEORGID {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FSETTLEORGID.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FSETTLETYPE.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-11-25 15:29
8 9 * @Version: todo
9 10 */
10   -public class FSETTLETYPE {
  11 +public class FSETTLETYPE implements VerifyMarkInterface {
11 12  
12 13 private String FNumber;
13 14  
... ... @@ -19,4 +20,14 @@ public class FSETTLETYPE {
19 20 public void setFNumber(String FNumber) {
20 21 this.FNumber = FNumber;
21 22 }
  23 +
  24 + @Override
  25 + public String getVerifyMark() {
  26 + return "FSETTLETYPEID.FNumber";
  27 + }
  28 +
  29 + @Override
  30 + public String value() {
  31 + return FNumber;
  32 + }
22 33 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FSettleTypeID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-10 10:06
8 9 * @Version: todo
9 10 */
10   -public class FSettleTypeID {
  11 +public class FSettleTypeID implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FSettleTypeID {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FSettleTypeID.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FTRADINGCURRID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-23 15:15
8 9 * @Version: todo
9 10 */
10   -public class FTRADINGCURRID {
  11 +public class FTRADINGCURRID implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FTRADINGCURRID {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FTRADINGCURRID.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FTRANSFERID.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-10 10:05
8 9 * @Version: todo
9 10 */
10   -public class FTRANSFERID {
  11 +public class FTRANSFERID implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FTRANSFERID {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FTRANSFERID.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/FUseOrgId.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2024-10-23 15:15
8 9 * @Version: todo
9 10 */
10   -public class FUseOrgId {
  11 +public class FUseOrgId implements VerifyMarkInterface {
11 12 private String FNumber;
12 13  
13 14 @JsonProperty("FNumber")
... ... @@ -18,4 +19,14 @@ public class FUseOrgId {
18 19 public void setFNumber(String FNumber) {
19 20 this.FNumber = FNumber;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "FUseOrgId.FNumber";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FNumber;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/domain/mapping/kingdee/base/F_PZCW_Base_qtr.java
1 1 package com.diligrp.tax.central.domain.mapping.kingdee.base;
2 2  
  3 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
3 4 import com.fasterxml.jackson.annotation.JsonProperty;
4 5  
5 6 /**
... ... @@ -7,7 +8,7 @@ import com.fasterxml.jackson.annotation.JsonProperty;
7 8 * @CreateTime: 2025-09-19 14:53
8 9 * @Version: todo
9 10 */
10   -public class F_PZCW_Base_qtr {
  11 +public class F_PZCW_Base_qtr implements VerifyMarkInterface {
11 12 private String FName;
12 13  
13 14 @JsonProperty("FName")
... ... @@ -18,4 +19,14 @@ public class F_PZCW_Base_qtr {
18 19 public void setFName(String FName) {
19 20 this.FName = FName;
20 21 }
  22 +
  23 + @Override
  24 + public String getVerifyMark() {
  25 + return "F_PZCW_Base_qtr.FName";
  26 + }
  27 +
  28 + @Override
  29 + public String value() {
  30 + return FName;
  31 + }
21 32 }
... ...
tax-central/src/main/java/com/diligrp/tax/central/model/TaxPipelineVerify.java 0 → 100644
  1 +package com.diligrp.tax.central.model;
  2 +
  3 +import lombok.Getter;
  4 +import lombok.Setter;
  5 +
  6 +import java.time.LocalDateTime;
  7 +
  8 +/**
  9 + * @Author: zhangmeiyang
  10 + * @CreateTime: 2025-11-11 18:44
  11 + * @Version: todo
  12 + */
  13 +@Getter
  14 +@Setter
  15 +public class TaxPipelineVerify {
  16 + /**
  17 + *
  18 + */
  19 + private Long id;
  20 +
  21 + /**
  22 + * 账套ID
  23 + */
  24 + private Long pipelineId;
  25 +
  26 + /**
  27 + * 业务单据类型
  28 + */
  29 + private String documentType;
  30 +
  31 + /**
  32 + * 配置验证字段名称
  33 + */
  34 + private String configVerifyField;
  35 +
  36 + /**
  37 + * 创建时间
  38 + */
  39 + private LocalDateTime createdTime;
  40 +
  41 + /**
  42 + * 更新时间
  43 + */
  44 + private LocalDateTime modifiedTime;
  45 +}
... ...
tax-central/src/main/java/com/diligrp/tax/central/model/TaxPipelineVerifyReturn.java 0 → 100644
  1 +package com.diligrp.tax.central.model;
  2 +
  3 +import lombok.Getter;
  4 +import lombok.Setter;
  5 +
  6 +import java.time.LocalDateTime;
  7 +
  8 +/**
  9 + * @Author: zhangmeiyang
  10 + * @CreateTime: 2025-11-11 18:44
  11 + * @Version: todo
  12 + */
  13 +@Getter
  14 +@Setter
  15 +public class TaxPipelineVerifyReturn {
  16 + /**
  17 + *
  18 + */
  19 + private Long id;
  20 +
  21 + /**
  22 + * 账套ID
  23 + */
  24 + private Long pipelineId;
  25 +
  26 + /**
  27 + * 业务单据类型
  28 + */
  29 + private String documentType;
  30 +
  31 + /**
  32 + * 配置验证字段名称
  33 + */
  34 + private String configReturnField;
  35 +
  36 + /**
  37 + * 创建时间
  38 + */
  39 + private LocalDateTime createdTime;
  40 +
  41 + /**
  42 + * 更新时间
  43 + */
  44 + private LocalDateTime modifiedTime;
  45 +}
... ...
tax-central/src/main/java/com/diligrp/tax/central/service/ITaxPipelineVerifyService.java 0 → 100644
  1 +package com.diligrp.tax.central.service;
  2 +
  3 +import com.diligrp.tax.central.model.TaxPipelineVerify;
  4 +import com.diligrp.tax.central.model.TaxPipelineVerifyReturn;
  5 +
  6 +import java.util.List;
  7 +
  8 +public interface ITaxPipelineVerifyService {
  9 +
  10 + /**
  11 + * 验证输入
  12 + *
  13 + * @param pipelineId 管道 ID
  14 + * @param documentType 文档类型
  15 + * @return {@link List }<{@link TaxPipelineVerify }>
  16 + */
  17 + List<TaxPipelineVerify> verifyInput(Long pipelineId, String documentType);
  18 +
  19 + /**
  20 + * 验证输出
  21 + *
  22 + * @param pipelineId 管道 ID
  23 + * @param documentType 文档类型
  24 + * @return {@link TaxPipelineVerifyReturn }
  25 + */
  26 + TaxPipelineVerifyReturn verifyOutput(Long pipelineId, String documentType);
  27 +}
... ...
tax-map/src/main/java/com/diligrp/tax/mapping/demarcate/Transformer.java
... ... @@ -2,15 +2,32 @@ package com.diligrp.tax.mapping.demarcate;
2 2  
3 3 import com.diligrp.tax.central.domain.BaseDocument;
4 4 import com.diligrp.tax.central.domain.BaseMapping;
  5 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
  6 +import com.diligrp.tax.central.exception.TaxAgentServiceException;
  7 +import com.diligrp.tax.central.model.TaxPipelineVerify;
  8 +import com.diligrp.tax.central.model.TaxPipelineVerifyReturn;
  9 +import com.diligrp.tax.central.model.TenantPipeline;
  10 +import com.diligrp.tax.central.service.ITaxPipelineVerifyService;
5 11 import com.diligrp.tax.central.type.DocumentType;
  12 +import com.diligrp.tax.central.type.TaxSystemType;
  13 +import com.diligrp.tax.central.utils.MappingUtils;
  14 +import jakarta.annotation.Resource;
  15 +import lombok.extern.slf4j.Slf4j;
  16 +
  17 +import java.lang.reflect.Field;
  18 +import java.util.*;
6 19  
7 20 /**
8 21 * @Author: zhangmeiyang
9 22 * @CreateTime: 2025-10-30 18:36
10 23 * @Version: todo
11 24 */
  25 +@Slf4j
12 26 public abstract class Transformer<T extends BaseMapping> {
13 27  
  28 + @Resource
  29 + protected ITaxPipelineVerifyService taxPipelineVerifyService;
  30 +
14 31 /**
15 32 * 标记文档
16 33 *
... ... @@ -21,8 +38,83 @@ public abstract class Transformer&lt;T extends BaseMapping&gt; {
21 38 /**
22 39 * 变换
23 40 *
24   - * @param document 公文
  41 + * @param document 公文
  42 + * @param tenantPipeline
25 43 * @return {@link T }
26 44 */
27   - public abstract T transform(BaseDocument document);
  45 + public abstract T transform(BaseDocument document, TenantPipeline tenantPipeline);
  46 +
  47 +
  48 + /**
  49 + * 获取验证密钥
  50 + *
  51 + * @param pipelineId 管道 ID
  52 + * @return {@link List }<{@link String }>
  53 + */
  54 + protected List<String> getVerifyKeys(Long pipelineId) {
  55 + List<TaxPipelineVerify> taxPipelineVerifies = taxPipelineVerifyService.verifyInput(pipelineId, markDocument().value);
  56 + return Optional.ofNullable(taxPipelineVerifies).orElse(List.of()).stream().map(TaxPipelineVerify::getConfigVerifyField).toList();
  57 + }
  58 +
  59 + /**
  60 + * 获取返回值
  61 + *
  62 + * @param pipelineId 管道 ID
  63 + * @return {@link String }
  64 + */
  65 + protected String getReturnKeys(Long pipelineId) {
  66 + TaxPipelineVerifyReturn taxPipelineVerifyReturn = taxPipelineVerifyService.verifyOutput(pipelineId, markDocument().value);
  67 + if (Objects.isNull(taxPipelineVerifyReturn)) {
  68 + return "";
  69 + }
  70 + return taxPipelineVerifyReturn.getConfigReturnField();
  71 + }
  72 +
  73 +
  74 + /**
  75 + * 获取验证字符串
  76 + *
  77 + * @param verifyKeys 验证密钥
  78 + * @param mapping
  79 + * @return {@link String }
  80 + */
  81 + protected String getVerifyString(List<String> verifyKeys, BaseMapping mapping) {
  82 + var verifyKeysSet = new HashSet<>(verifyKeys);
  83 + List<String> concatVerify = new ArrayList<>();
  84 + List<Field> fields = MappingUtils.listFields(mapping.getClass());
  85 + fields.forEach(field -> {
  86 + if (verifyKeysSet.contains(field.getName())) {
  87 + try {
  88 + if (VerifyMarkInterface.class.isAssignableFrom(field.getType())) {
  89 + // 获取字段值
  90 + field.setAccessible(true);
  91 + Object fieldValue = field.get(mapping);
  92 + // 检查字段值是否为null
  93 + if (Objects.nonNull(fieldValue)) {
  94 + VerifyMarkInterface verifyObject = (VerifyMarkInterface) fieldValue;
  95 + String verifyMark = verifyObject.getVerifyMark();
  96 + String value = verifyObject.value();
  97 + if (Objects.nonNull(value)) {
  98 + var verify = verifyMark + "=" + value;
  99 + concatVerify.add(verify);
  100 + }
  101 + }
  102 + }
  103 + if (field.getType().equals(String.class)) {
  104 + field.setAccessible(true);
  105 + Object fieldValue = field.get(mapping);
  106 + if (Objects.nonNull(fieldValue)) {
  107 + String verify = field.getName() + "=" + fieldValue;
  108 + concatVerify.add(verify);
  109 + }
  110 + }
  111 + } catch (IllegalAccessException e) {
  112 + log.error("获取字段值异常", e);
  113 + throw new TaxAgentServiceException(TaxSystemType.ABNORMAL_PARAMETERS);
  114 + }
  115 + }
  116 + });
  117 + log.info("verifyInfo is {},", String.join(" and ", concatVerify));
  118 + return String.join(" and ", concatVerify);
  119 + }
28 120 }
... ...
tax-map/src/main/java/com/diligrp/tax/mapping/demarcate/kingdee/CustomerTransformer.java
1 1 package com.diligrp.tax.mapping.demarcate.kingdee;
2 2  
3 3 import com.diligrp.tax.central.domain.BaseDocument;
  4 +import com.diligrp.tax.central.domain.BaseMapping;
4 5 import com.diligrp.tax.central.domain.document.kingdee.basic.StandardCustomer;
5 6 import com.diligrp.tax.central.domain.mapping.kingdee.CustomerMapping;
  7 +import com.diligrp.tax.central.domain.mapping.kingdee.VerifyMarkInterface;
  8 +import com.diligrp.tax.central.exception.TaxAgentServiceException;
  9 +import com.diligrp.tax.central.model.TenantPipeline;
6 10 import com.diligrp.tax.central.type.DocumentType;
  11 +import com.diligrp.tax.central.type.TaxSystemType;
7 12 import com.diligrp.tax.central.utils.MappingUtils;
8 13 import com.diligrp.tax.mapping.demarcate.Transformer;
  14 +import lombok.extern.slf4j.Slf4j;
9 15 import org.springframework.stereotype.Component;
10 16  
  17 +import java.lang.reflect.Field;
  18 +import java.util.ArrayList;
  19 +import java.util.HashSet;
  20 +import java.util.List;
  21 +import java.util.Optional;
  22 +
11 23 /**
12 24 * @Author: zhangmeiyang
13 25 * @CreateTime: 2025-11-04 16:50
14 26 * @Version: todo
15 27 */
  28 +@Slf4j
16 29 @Component
17 30 public class CustomerTransformer extends Transformer<CustomerMapping> {
18 31  
... ... @@ -22,10 +35,13 @@ public class CustomerTransformer extends Transformer&lt;CustomerMapping&gt; {
22 35 }
23 36  
24 37 @Override
25   - public CustomerMapping transform(BaseDocument document) {
  38 + public CustomerMapping transform(BaseDocument document, TenantPipeline tenantPipeline) {
26 39 StandardCustomer customer = (StandardCustomer) document;
27 40 CustomerMapping mapping = MappingUtils.convertValue(customer, CustomerMapping.class);
28   - //TODO 组装部分参数字段
  41 + List<String> verifyKeys = getVerifyKeys(tenantPipeline.getId());
  42 + String returnKeys = getReturnKeys(tenantPipeline.getId());
  43 + Optional.ofNullable(verifyKeys).ifPresent(e -> mapping.setVerifyInformation(getVerifyString(verifyKeys, mapping)));
  44 + Optional.ofNullable(returnKeys).ifPresent(mapping::setReturnKeys);
29 45 return mapping;
30 46 }
31 47 }
... ...
tax-map/src/main/java/com/diligrp/tax/mapping/demarcate/kingdee/ReceiptTransformer.java
... ... @@ -3,6 +3,7 @@ package com.diligrp.tax.mapping.demarcate.kingdee;
3 3 import com.diligrp.tax.central.domain.BaseDocument;
4 4 import com.diligrp.tax.central.domain.document.kingdee.bill.ReceiptBill;
5 5 import com.diligrp.tax.central.domain.mapping.kingdee.ReceiptMapping;
  6 +import com.diligrp.tax.central.model.TenantPipeline;
6 7 import com.diligrp.tax.central.type.DocumentType;
7 8 import com.diligrp.tax.central.utils.MappingUtils;
8 9 import com.diligrp.tax.mapping.demarcate.Transformer;
... ... @@ -23,7 +24,7 @@ public class ReceiptTransformer extends Transformer&lt;ReceiptMapping&gt; {
23 24 }
24 25  
25 26 @Override
26   - public ReceiptMapping transform(BaseDocument document) {
  27 + public ReceiptMapping transform(BaseDocument document, TenantPipeline tenantPipeline) {
27 28 ReceiptBill bill = (ReceiptBill) document;
28 29 ReceiptMapping mapping = MappingUtils.convertValue(bill,ReceiptMapping.class);
29 30 var verifyInformation = "FBillTypeID.FNumber = 'scfyys-001' AND F_ZDB_text1 ='202510310900489' AND FALLAMOUNTFOR = '515.0' AND F_ZDB_Text667 = '正向流程' AND F_ZDB_Text5 ='666625013581'";
... ...
tax-map/src/main/java/com/diligrp/tax/mapping/demarcate/kingdee/ReceivableTransformer.java
... ... @@ -3,6 +3,7 @@ package com.diligrp.tax.mapping.demarcate.kingdee;
3 3 import com.diligrp.tax.central.domain.BaseDocument;
4 4 import com.diligrp.tax.central.domain.document.kingdee.bill.ReceivableBill;
5 5 import com.diligrp.tax.central.domain.mapping.kingdee.ReceivableMapping;
  6 +import com.diligrp.tax.central.model.TenantPipeline;
6 7 import com.diligrp.tax.central.type.DocumentType;
7 8 import com.diligrp.tax.central.utils.MappingUtils;
8 9 import com.diligrp.tax.mapping.demarcate.Transformer;
... ... @@ -23,7 +24,7 @@ public class ReceivableTransformer extends Transformer&lt;ReceivableMapping&gt; {
23 24 }
24 25  
25 26 @Override
26   - public ReceivableMapping transform(BaseDocument document) {
  27 + public ReceivableMapping transform(BaseDocument document, TenantPipeline tenantPipeline) {
27 28 ReceivableBill bill = (ReceivableBill) document;
28 29 ReceivableMapping mapping = MappingUtils.convertValue(bill,ReceivableMapping.class);
29 30 var verifyInformation = "FBillTypeID.FNumber = 'scfyys-001' AND F_ZDB_text1 ='202510310900489' AND FALLAMOUNTFOR = '515.0' AND F_ZDB_Text667 = '正向流程' AND F_ZDB_Text5 ='666625013581'";
... ...
tax-map/src/main/java/com/diligrp/tax/mapping/demarcate/kingdee/RefundTransformer.java
... ... @@ -3,6 +3,7 @@ package com.diligrp.tax.mapping.demarcate.kingdee;
3 3 import com.diligrp.tax.central.domain.BaseDocument;
4 4 import com.diligrp.tax.central.domain.document.kingdee.bill.RefundBill;
5 5 import com.diligrp.tax.central.domain.mapping.kingdee.RefundMapping;
  6 +import com.diligrp.tax.central.model.TenantPipeline;
6 7 import com.diligrp.tax.central.type.DocumentType;
7 8 import com.diligrp.tax.central.utils.MappingUtils;
8 9 import com.diligrp.tax.mapping.demarcate.Transformer;
... ... @@ -23,7 +24,7 @@ public class RefundTransformer extends Transformer&lt;RefundMapping&gt; {
23 24 }
24 25  
25 26 @Override
26   - public RefundMapping transform(BaseDocument document) {
  27 + public RefundMapping transform(BaseDocument document, TenantPipeline tenantPipeline) {
27 28 RefundBill bill = (RefundBill) document;
28 29 RefundMapping mapping = MappingUtils.convertValue(bill,RefundMapping.class);
29 30 var verifyInformation = "FBillTypeID.FNumber = 'scfyys-001' AND F_ZDB_text1 ='202510310900489' AND FALLAMOUNTFOR = '515.0' AND F_ZDB_Text667 = '正向流程' AND F_ZDB_Text5 ='666625013581'";
... ...
tax-map/src/main/java/com/diligrp/tax/mapping/process/kingdee/MappingProcessor.java
... ... @@ -29,7 +29,7 @@ public class MappingProcessor extends AbstractProcessor {
29 29 @Override
30 30 public MessageContext process(MessageContext messageContext) {
31 31 Transformer<?> transformer = MappingContext.CONTEXT.get(messageContext.getDocumentTypeEnum());
32   - BaseMapping transform = transformer.transform(messageContext.getDocumentObject());
  32 + BaseMapping transform = transformer.transform(messageContext.getDocumentObject(),messageContext.getTenantPipeline());
33 33 messageContext.setMappingObject(transform);
34 34 Map<String,Object> map = JsonUtils.convertValue(transform, new TypeReference<>() {});
35 35 log.info("转换结果,{}", JsonUtils.toJsonString(map));
... ...
tax-storage/src/main/java/com/diligrp/tax/storage/controller/TaxPipelineFieldVerifyController.java 0 → 100644
  1 +package com.diligrp.tax.storage.controller;
  2 +
  3 +import com.diligrp.tax.storage.Valid;
  4 +import com.diligrp.tax.storage.message.Message;
  5 +import com.diligrp.tax.storage.model.co.TaxPipelineFieldVerifyCO;
  6 +import com.diligrp.tax.storage.model.co.TaxPipelineFieldVerifyReturnCO;
  7 +import com.diligrp.tax.storage.service.TaxPipelineFieldVerifyService;
  8 +import jakarta.annotation.Resource;
  9 +import org.springframework.validation.annotation.Validated;
  10 +import org.springframework.web.bind.annotation.PathVariable;
  11 +import org.springframework.web.bind.annotation.RequestBody;
  12 +import org.springframework.web.bind.annotation.RequestMapping;
  13 +import org.springframework.web.bind.annotation.RestController;
  14 +
  15 +import java.util.List;
  16 +
  17 +/**
  18 + * @Author: zhangmeiyang
  19 + * @CreateTime: 2025-11-11 18:33
  20 + * @Version: todo
  21 + */
  22 +@RestController
  23 +@RequestMapping("/tax/tenant/pipeline/field/verify")
  24 +public class TaxPipelineFieldVerifyController {
  25 +
  26 + @Resource
  27 + private TaxPipelineFieldVerifyService taxPipelineFieldVerifyService;
  28 +
  29 + /**
  30 + * 保存验证
  31 + *
  32 + * @param list 列表
  33 + * @return {@link Message }<{@link ? }>
  34 + */
  35 + @RequestMapping("/saveVerify")
  36 + public Message<?> saveVerify(@RequestBody @Validated(value = Valid.Create.class) List<TaxPipelineFieldVerifyCO> list) {
  37 + taxPipelineFieldVerifyService.saveVerify(list);
  38 + return Message.success();
  39 + }
  40 +
  41 + /**
  42 + * 删除验证
  43 + *
  44 + * @param id id
  45 + * @return {@link Message }<{@link ? }>
  46 + */
  47 + @RequestMapping("/deleteVerify/{id}")
  48 + public Message<?> deleteVerify(@PathVariable Long id) {
  49 + taxPipelineFieldVerifyService.deleteVerify(id);
  50 + return Message.success();
  51 + }
  52 +
  53 + /**
  54 + * 按管道列出验证
  55 + *
  56 + * @param pipelineId 管道 ID
  57 + * @return {@link Message }<{@link ? }>
  58 + */
  59 + @RequestMapping("/listVerifyByPipeline/{pipelineId}")
  60 + public Message<?> listVerifyByPipeline(@PathVariable String pipelineId) {
  61 + return Message.success(taxPipelineFieldVerifyService.listVerifyByPipeline(pipelineId));
  62 + }
  63 +
  64 + /**
  65 + * 列表按管道和文档验证
  66 + *
  67 + * @param co 公司
  68 + * @return {@link Message }<{@link ? }>
  69 + */
  70 + @RequestMapping("/listVerifyByPipelineAndDocument")
  71 + public Message<?> listVerifyByPipelineAndDocument(@RequestBody @Validated(value = Valid.Read.class) TaxPipelineFieldVerifyCO co) {
  72 + return Message.success(taxPipelineFieldVerifyService.listVerifyByPipelineAndDocument(co));
  73 + }
  74 +
  75 + /**
  76 + * 保存返回键
  77 + *
  78 + * @param co 公司
  79 + * @return {@link Message }<{@link ? }>
  80 + */
  81 + @RequestMapping("/saveReturnKey")
  82 + public Message<?> saveReturnKey(@RequestBody @Validated(value = Valid.Create.class) TaxPipelineFieldVerifyReturnCO co) {
  83 + taxPipelineFieldVerifyService.saveReturnKey(co);
  84 + return Message.success();
  85 + }
  86 +
  87 + /**
  88 + * 按管道获取返回密钥
  89 + *
  90 + * @param pipelineId 管道 ID
  91 + * @return {@link Message }<{@link ? }>
  92 + */
  93 + @RequestMapping("/getReturnKeyByPipeline/{pipelineId}")
  94 + public Message<?> getReturnKeyByPipeline(@PathVariable String pipelineId) {
  95 + return Message.success(taxPipelineFieldVerifyService.getReturnKeyByPipeline(pipelineId));
  96 + }
  97 +
  98 + /**
  99 + * 按管道和文档获取返回密钥
  100 + *
  101 + * @param co 公司
  102 + * @return {@link Message }<{@link ? }>
  103 + */
  104 + @RequestMapping("/getReturnKeyByPipelineAndDocument")
  105 + public Message<?> getReturnKeyByPipelineAndDocument(@RequestBody @Validated(value = Valid.Read.class) TaxPipelineFieldVerifyCO co) {
  106 + return Message.success(taxPipelineFieldVerifyService.getReturnKeyByPipelineAndDocument(co));
  107 + }
  108 +}
... ...
tax-storage/src/main/java/com/diligrp/tax/storage/domain/TaxPipelineFieldVerify.java 0 → 100644
  1 +package com.diligrp.tax.storage.domain;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.IdType;
  4 +import com.baomidou.mybatisplus.annotation.TableField;
  5 +import com.baomidou.mybatisplus.annotation.TableId;
  6 +import com.baomidou.mybatisplus.annotation.TableName;
  7 +import java.time.LocalDateTime;
  8 +import lombok.Data;
  9 +
  10 +/**
  11 + * 账套字段验证重复表
  12 + * @TableName tax_pipeline_field_verify
  13 + */
  14 +@TableName(value ="tax_pipeline_field_verify")
  15 +@Data
  16 +public class TaxPipelineFieldVerify {
  17 + /**
  18 + *
  19 + */
  20 + @TableId(type = IdType.AUTO)
  21 + private Long id;
  22 +
  23 + /**
  24 + * 账套ID
  25 + */
  26 + @TableField(value = "pipeline_id")
  27 + private Long pipelineId;
  28 +
  29 + /**
  30 + * 业务单据类型
  31 + */
  32 + @TableField(value = "document_type")
  33 + private String documentType;
  34 +
  35 + /**
  36 + * 配置验证字段名称
  37 + */
  38 + @TableField(value = "config_verify_field")
  39 + private String configVerifyField;
  40 +
  41 + /**
  42 + * 创建时间
  43 + */
  44 + @TableField(value = "created_time")
  45 + private LocalDateTime createdTime;
  46 +
  47 + /**
  48 + * 更新时间
  49 + */
  50 + @TableField(value = "modified_time")
  51 + private LocalDateTime modifiedTime;
  52 +}
... ...
tax-storage/src/main/java/com/diligrp/tax/storage/domain/TaxPipelineFieldVerifyReturn.java 0 → 100644
  1 +package com.diligrp.tax.storage.domain;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.IdType;
  4 +import com.baomidou.mybatisplus.annotation.TableField;
  5 +import com.baomidou.mybatisplus.annotation.TableId;
  6 +import com.baomidou.mybatisplus.annotation.TableName;
  7 +import java.time.LocalDateTime;
  8 +import lombok.Data;
  9 +
  10 +/**
  11 + * 账套字段验证重复表
  12 + * @TableName tax_pipeline_field_verify_return
  13 + */
  14 +@TableName(value ="tax_pipeline_field_verify_return")
  15 +@Data
  16 +public class TaxPipelineFieldVerifyReturn {
  17 + /**
  18 + *
  19 + */
  20 + @TableId(type = IdType.AUTO)
  21 + private Long id;
  22 +
  23 + /**
  24 + * 账套ID
  25 + */
  26 + @TableField(value = "pipeline_id")
  27 + private Long pipelineId;
  28 +
  29 + /**
  30 + * 业务单据类型
  31 + */
  32 + @TableField(value = "document_type")
  33 + private String documentType;
  34 +
  35 + /**
  36 + * 配置验证值返回字段名称
  37 + */
  38 + @TableField(value = "config_return_field")
  39 + private String configReturnField;
  40 +
  41 + /**
  42 + * 创建时间
  43 + */
  44 + @TableField(value = "created_time")
  45 + private LocalDateTime createdTime;
  46 +
  47 + /**
  48 + * 更新时间
  49 + */
  50 + @TableField(value = "modified_time")
  51 + private LocalDateTime modifiedTime;
  52 +}
... ...
tax-storage/src/main/java/com/diligrp/tax/storage/model/co/TaxPipelineFieldVerifyCO.java 0 → 100644
  1 +package com.diligrp.tax.storage.model.co;
  2 +
  3 +import com.diligrp.tax.storage.Valid;
  4 +import jakarta.validation.constraints.NotEmpty;
  5 +import jakarta.validation.constraints.NotNull;
  6 +import lombok.Getter;
  7 +import lombok.Setter;
  8 +
  9 +/**
  10 + * @Author: zhangmeiyang
  11 + * @CreateTime: 2025-11-11 18:35
  12 + * @Version: todo
  13 + */
  14 +@Getter
  15 +@Setter
  16 +public class TaxPipelineFieldVerifyCO {
  17 + /**
  18 + * 账套ID
  19 + */
  20 + @NotNull(groups = {Valid.Create.class, Valid.Read.class})
  21 + private Long pipelineId;
  22 +
  23 + /**
  24 + * 业务单据类型
  25 + */
  26 + @NotEmpty(groups = {Valid.Create.class, Valid.Read.class})
  27 + private String documentType;
  28 +
  29 + /**
  30 + * 配置验证字段名称
  31 + */
  32 + @NotEmpty(groups = {Valid.Create.class})
  33 + private String configVerifyField;
  34 +}
... ...
tax-storage/src/main/java/com/diligrp/tax/storage/model/co/TaxPipelineFieldVerifyReturnCO.java 0 → 100644
  1 +package com.diligrp.tax.storage.model.co;
  2 +
  3 +import com.diligrp.tax.storage.Valid;
  4 +import jakarta.validation.constraints.NotEmpty;
  5 +import jakarta.validation.constraints.NotNull;
  6 +import lombok.Getter;
  7 +import lombok.Setter;
  8 +
  9 +/**
  10 + * 账套字段验证重复表
  11 + *
  12 + * @TableName tax_pipeline_field_verify_return
  13 + */
  14 +@Getter
  15 +@Setter
  16 +public class TaxPipelineFieldVerifyReturnCO {
  17 +
  18 + /**
  19 + * 账套ID
  20 + */
  21 + @NotNull(groups = {Valid.Create.class, Valid.Read.class})
  22 + private Long pipelineId;
  23 +
  24 + /**
  25 + * 业务单据类型
  26 + */
  27 + @NotEmpty(groups = {Valid.Create.class, Valid.Read.class})
  28 + private String documentType;
  29 +
  30 + /**
  31 + * 配置验证值返回字段名称
  32 + */
  33 + @NotEmpty(groups = {Valid.Create.class})
  34 + private String configReturnField;
  35 +}
... ...
tax-storage/src/main/java/com/diligrp/tax/storage/model/vo/TaxPipelineFieldVerifyReturnVO.java 0 → 100644
  1 +package com.diligrp.tax.storage.model.vo;
  2 +
  3 +import lombok.Getter;
  4 +import lombok.Setter;
  5 +
  6 +import java.time.LocalDateTime;
  7 +
  8 +/**
  9 + * @Author: zhangmeiyang
  10 + * @CreateTime: 2025-11-11 18:44
  11 + * @Version: todo
  12 + */
  13 +@Getter
  14 +@Setter
  15 +public class TaxPipelineFieldVerifyReturnVO {
  16 + /**
  17 + *
  18 + */
  19 + private Long id;
  20 +
  21 + /**
  22 + * 账套ID
  23 + */
  24 + private Long pipelineId;
  25 +
  26 + /**
  27 + * 业务单据类型
  28 + */
  29 + private String documentType;
  30 +
  31 + /**
  32 + * 配置验证字段名称
  33 + */
  34 + private String configReturnField;
  35 +
  36 + /**
  37 + * 创建时间
  38 + */
  39 + private LocalDateTime createdTime;
  40 +
  41 + /**
  42 + * 更新时间
  43 + */
  44 + private LocalDateTime modifiedTime;
  45 +}
... ...
tax-storage/src/main/java/com/diligrp/tax/storage/model/vo/TaxPipelineFieldVerifyVO.java 0 → 100644
  1 +package com.diligrp.tax.storage.model.vo;
  2 +
  3 +import lombok.Getter;
  4 +import lombok.Setter;
  5 +
  6 +import java.time.LocalDateTime;
  7 +
  8 +/**
  9 + * @Author: zhangmeiyang
  10 + * @CreateTime: 2025-11-11 18:44
  11 + * @Version: todo
  12 + */
  13 +@Getter
  14 +@Setter
  15 +public class TaxPipelineFieldVerifyVO {
  16 + /**
  17 + *
  18 + */
  19 + private Long id;
  20 +
  21 + /**
  22 + * 账套ID
  23 + */
  24 + private Long pipelineId;
  25 +
  26 + /**
  27 + * 业务单据类型
  28 + */
  29 + private String documentType;
  30 +
  31 + /**
  32 + * 配置验证字段名称
  33 + */
  34 + private String configVerifyField;
  35 +
  36 + /**
  37 + * 创建时间
  38 + */
  39 + private LocalDateTime createdTime;
  40 +
  41 + /**
  42 + * 更新时间
  43 + */
  44 + private LocalDateTime modifiedTime;
  45 +}
... ...
tax-storage/src/main/java/com/diligrp/tax/storage/repo/TaxPipelineFieldVerifyRepository.java 0 → 100644
  1 +package com.diligrp.tax.storage.repo;
  2 +
  3 +import com.diligrp.tax.storage.domain.TaxPipelineFieldVerify;
  4 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  5 +import org.springframework.stereotype.Repository;
  6 +
  7 +/**
  8 +* @author dili
  9 +* @description 针对表【tax_pipeline_field_verify(账套字段验证重复表)】的数据库操作Mapper
  10 +* @createDate 2025-11-11 18:31:50
  11 +* @Entity com.diligrp.tax.storage.domain.TaxPipelineFieldVerify
  12 +*/
  13 +@Repository
  14 +public interface TaxPipelineFieldVerifyRepository extends BaseMapper<TaxPipelineFieldVerify> {
  15 +
  16 +}
  17 +
  18 +
  19 +
  20 +
... ...
tax-storage/src/main/java/com/diligrp/tax/storage/repo/TaxPipelineFieldVerifyReturnRepository.java 0 → 100644
  1 +package com.diligrp.tax.storage.repo;
  2 +
  3 +import com.diligrp.tax.storage.domain.TaxPipelineFieldVerifyReturn;
  4 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  5 +import org.springframework.stereotype.Repository;
  6 +
  7 +/**
  8 +* @author dili
  9 +* @description 针对表【tax_pipeline_field_verify_return(账套字段验证重复表)】的数据库操作Mapper
  10 +* @createDate 2025-11-11 18:31:50
  11 +* @Entity com.diligrp.tax.storage.domain.TaxPipelineFieldVerifyReturn
  12 +*/
  13 +@Repository
  14 +public interface TaxPipelineFieldVerifyReturnRepository extends BaseMapper<TaxPipelineFieldVerifyReturn> {
  15 +
  16 +}
  17 +
  18 +
  19 +
  20 +
... ...
tax-storage/src/main/java/com/diligrp/tax/storage/service/TaxPipelineFieldVerifyService.java 0 → 100644
  1 +package com.diligrp.tax.storage.service;
  2 +
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4 +import com.diligrp.tax.central.model.TaxPipelineVerify;
  5 +import com.diligrp.tax.central.model.TaxPipelineVerifyReturn;
  6 +import com.diligrp.tax.central.service.ITaxPipelineVerifyService;
  7 +import com.diligrp.tax.central.type.DocumentType;
  8 +import com.diligrp.tax.central.utils.JsonUtils;
  9 +import com.diligrp.tax.storage.domain.TaxPipelineFieldVerify;
  10 +import com.diligrp.tax.storage.domain.TaxPipelineFieldVerifyReturn;
  11 +import com.diligrp.tax.storage.model.co.TaxPipelineFieldVerifyCO;
  12 +import com.diligrp.tax.storage.model.co.TaxPipelineFieldVerifyReturnCO;
  13 +import com.diligrp.tax.storage.model.vo.TaxPipelineFieldVerifyReturnVO;
  14 +import com.diligrp.tax.storage.model.vo.TaxPipelineFieldVerifyVO;
  15 +import com.diligrp.tax.storage.repo.TaxPipelineFieldVerifyRepository;
  16 +import com.diligrp.tax.storage.repo.TaxPipelineFieldVerifyReturnRepository;
  17 +import jakarta.annotation.Resource;
  18 +import org.springframework.stereotype.Service;
  19 +import org.springframework.transaction.annotation.Transactional;
  20 +
  21 +import java.util.List;
  22 +
  23 +/**
  24 + * @Author: zhangmeiyang
  25 + * @CreateTime: 2025-11-11 18:36
  26 + * @Version: todo
  27 + */
  28 +@Service
  29 +public class TaxPipelineFieldVerifyService implements ITaxPipelineVerifyService {
  30 +
  31 + @Resource
  32 + private TaxPipelineFieldVerifyRepository taxPipelineFieldVerifyRepository;
  33 +
  34 + @Resource
  35 + private TaxPipelineFieldVerifyReturnRepository taxPipelineFieldVerifyReturnRepository;
  36 +
  37 + /**
  38 + * 保存验证
  39 + *
  40 + * @param list 列表
  41 + */
  42 + @Transactional
  43 + public void saveVerify(List<TaxPipelineFieldVerifyCO> list) {
  44 + List<TaxPipelineFieldVerify> saveList = list.stream().map(item -> {
  45 + DocumentType.validateDocumentType(item.getDocumentType());
  46 + return JsonUtils.convertValue(item, TaxPipelineFieldVerify.class);
  47 + }).toList();
  48 + taxPipelineFieldVerifyRepository.insert(saveList);
  49 + }
  50 +
  51 +
  52 + /**
  53 + * 删除验证
  54 + *
  55 + * @param id id
  56 + */
  57 + @Transactional
  58 + public void deleteVerify(Long id) {
  59 + taxPipelineFieldVerifyRepository.deleteById(id);
  60 + }
  61 +
  62 + /**
  63 + * 按管道列出验证
  64 + *
  65 + * @param pipelineId 管道 ID
  66 + * @return {@link List }<{@link TaxPipelineFieldVerifyVO }>
  67 + */
  68 + public List<TaxPipelineFieldVerifyVO> listVerifyByPipeline(String pipelineId) {
  69 + LambdaQueryWrapper<TaxPipelineFieldVerify> queryWrapper = new LambdaQueryWrapper<>();
  70 + queryWrapper.eq(TaxPipelineFieldVerify::getPipelineId, pipelineId);
  71 + return taxPipelineFieldVerifyRepository.selectList(queryWrapper).stream().map(item -> JsonUtils.convertValue(item, TaxPipelineFieldVerifyVO.class)).toList();
  72 + }
  73 +
  74 + /**
  75 + * 列表按管道和文档验证
  76 + *
  77 + * @param co 公司
  78 + * @return {@link List }<{@link TaxPipelineFieldVerifyVO }>
  79 + */
  80 + public List<TaxPipelineFieldVerifyVO> listVerifyByPipelineAndDocument(TaxPipelineFieldVerifyCO co) {
  81 + LambdaQueryWrapper<TaxPipelineFieldVerify> queryWrapper = new LambdaQueryWrapper<>();
  82 + queryWrapper.eq(TaxPipelineFieldVerify::getPipelineId, co.getPipelineId());
  83 + queryWrapper.eq(TaxPipelineFieldVerify::getDocumentType, co.getDocumentType());
  84 + return taxPipelineFieldVerifyRepository.selectList(queryWrapper).stream().map(item -> JsonUtils.convertValue(item, TaxPipelineFieldVerifyVO.class)).toList();
  85 + }
  86 +
  87 + /**
  88 + * 保存返回键
  89 + *
  90 + * @param co 公司
  91 + */
  92 + @Transactional
  93 + public void saveReturnKey(TaxPipelineFieldVerifyReturnCO co) {
  94 + DocumentType.validateDocumentType(co.getDocumentType());
  95 + taxPipelineFieldVerifyReturnRepository.insert(JsonUtils.convertValue(co, TaxPipelineFieldVerifyReturn.class));
  96 + }
  97 +
  98 + /**
  99 + * 按管道获取返回密钥
  100 + *
  101 + * @param pipelineId 管道 ID
  102 + * @return {@link List }<{@link TaxPipelineFieldVerifyReturnVO }>
  103 + */
  104 + public List<TaxPipelineFieldVerifyReturnVO> getReturnKeyByPipeline(String pipelineId) {
  105 + LambdaQueryWrapper<TaxPipelineFieldVerifyReturn> queryWrapper = new LambdaQueryWrapper<>();
  106 + queryWrapper.eq(TaxPipelineFieldVerifyReturn::getPipelineId, pipelineId);
  107 + return taxPipelineFieldVerifyReturnRepository.selectList(queryWrapper).stream().map(item -> JsonUtils.convertValue(item, TaxPipelineFieldVerifyReturnVO.class)).toList();
  108 + }
  109 +
  110 + /**
  111 + * 按管道和文档获取返回键
  112 + *
  113 + * @param co 公司
  114 + * @return {@link TaxPipelineFieldVerifyReturnVO }
  115 + */
  116 + public TaxPipelineFieldVerifyReturnVO getReturnKeyByPipelineAndDocument(TaxPipelineFieldVerifyCO co) {
  117 + LambdaQueryWrapper<TaxPipelineFieldVerifyReturn> queryWrapper = new LambdaQueryWrapper<>();
  118 + queryWrapper.eq(TaxPipelineFieldVerifyReturn::getPipelineId, co.getPipelineId());
  119 + queryWrapper.eq(TaxPipelineFieldVerifyReturn::getDocumentType, co.getDocumentType());
  120 + return JsonUtils.convertValue(taxPipelineFieldVerifyReturnRepository.selectOne(queryWrapper), TaxPipelineFieldVerifyReturnVO.class);
  121 + }
  122 +
  123 + /**
  124 + * 验证输入
  125 + *
  126 + * @param pipelineId 管道 ID
  127 + * @param documentType 文档类型
  128 + * @return {@link List }<{@link TaxPipelineVerify }>
  129 + */
  130 + @Override
  131 + public List<TaxPipelineVerify> verifyInput(Long pipelineId, String documentType) {
  132 + LambdaQueryWrapper<TaxPipelineFieldVerify> queryWrapper = new LambdaQueryWrapper<>();
  133 + queryWrapper.eq(TaxPipelineFieldVerify::getPipelineId, pipelineId);
  134 + queryWrapper.eq(TaxPipelineFieldVerify::getDocumentType, documentType);
  135 + List<TaxPipelineFieldVerify> taxPipelineFieldVerifies = taxPipelineFieldVerifyRepository.selectList(queryWrapper);
  136 + return taxPipelineFieldVerifies.stream().map(item -> JsonUtils.convertValue(item, TaxPipelineVerify.class)).toList();
  137 + }
  138 +
  139 + /**
  140 + * 验证输出
  141 + *
  142 + * @param pipelineId 管道 ID
  143 + * @param documentType 文档类型
  144 + * @return {@link TaxPipelineVerifyReturn }
  145 + */
  146 + @Override
  147 + public TaxPipelineVerifyReturn verifyOutput(Long pipelineId, String documentType) {
  148 + LambdaQueryWrapper<TaxPipelineFieldVerifyReturn> queryWrapper = new LambdaQueryWrapper<>();
  149 + queryWrapper.eq(TaxPipelineFieldVerifyReturn::getPipelineId, pipelineId);
  150 + queryWrapper.eq(TaxPipelineFieldVerifyReturn::getDocumentType, documentType);
  151 + TaxPipelineFieldVerifyReturn returnKey = taxPipelineFieldVerifyReturnRepository.selectOne(queryWrapper);
  152 + return JsonUtils.convertValue(returnKey, TaxPipelineVerifyReturn.class);
  153 + }
  154 +}
... ...