Преглед на файлове

fix: 杂收发改为 aint302,并修复花名册银行字段合并重复

Co-authored-by: Cursor <cursoragent@cursor.com>
admin преди 4 дни
родител
ревизия
17338c8d8f

+ 2 - 2
README.md

@@ -329,7 +329,7 @@ Content-Type: application/json
 | `FORM-4403B45A7F184CB79088FCDAFD2FD925LZ3K` | `MlWorkOrderCraftPriceFormPushHandler` | ML-工单工艺工价审定 | `FORM-4403B45A7F184CB79088FCDAFD2FD925LZ3K` | `TPROC--WG966BA1VWF8Q1K4OGF8H9KW47RR3ZREH0YSM2` |
 | `axmt500` | `ApproveOrderFormPushHandler` | 客户订单审批 | `FORM-8454FA17732746058A2D90B1C559CC19G5SR` | `TPROC--9VD66QA18AJ8317KK3NXM54W1HIT30C7N28TM7` |
 | `axmt140` | `CustomerReleaseFormPushHandler` | 客户放行审批 | `FORM-3BA9FE18494F4FDD85FE6ABF7DE741BAE30C` | `TPROC--6TG66381N8G8Y7L9GBEEY7QVXTUY2LBBGZ7TMU` |
-| `cint301` | `MiscReceiptIssueFormPushHandler` | 杂收杂发审批 | `FORM-4B08ADABCDAA45788C043729A855E03ED76G` | `TPROC--MQD66371C1N84FPSJZO4W79IN4BW2AE7I08TM0` |
+| `aint302` | `MiscReceiptIssueFormPushHandler` | 杂收杂发审批 | `FORM-4B08ADABCDAA45788C043729A855E03ED76G` | `TPROC--MQD66371C1N84FPSJZO4W79IN4BW2AE7I08TM0` |
 
 ### 5.2 `mainData` 规则
 
@@ -362,7 +362,7 @@ Content-Type: application/json
 | `FORM-4403B45A7F184CB79088FCDAFD2FD925LZ3K` | `detailData` |
 | `axmt500` | `detailData1`、`detailData2`,兼容历史 `detailData` |
 | `axmt140` | 优先 `detailData1`,缺失时回退到 `detailData` |
-| `cint301` | `detailData1` |
+| `aint302` | `detailData1` |
 
 明细对象中可以直接传入宜搭 `fieldId`。服务端会保留包含 `Field_` 的字段值,用于补充默认字段映射。
 

+ 55 - 0
pom.xml

@@ -78,6 +78,61 @@
             <artifactId>bcprov-jdk15on</artifactId>
             <version>1.70</version>
         </dependency>
+        <!--
+          Local maven repo only has a stub java-mcli parent POM, so mjava:0.0.3
+          brings almost no transitive deps. Explicitly restore the libs present in
+          the production fat jar built by teammates (~60MB).
+        -->
+        <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.6.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.validation</groupId>
+            <artifactId>validation-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+            <version>2.2.7</version>
+        </dependency>
+        <dependency>
+            <groupId>com.querydsl</groupId>
+            <artifactId>querydsl-jpa</artifactId>
+            <version>5.0.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.ehcache</groupId>
+            <artifactId>ehcache</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.auth0</groupId>
+            <artifactId>java-jwt</artifactId>
+            <version>3.4.0</version>
+        </dependency>
+        <dependency>
+            <groupId>cglib</groupId>
+            <artifactId>cglib</artifactId>
+            <version>3.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.glassfish.jaxb</groupId>
+            <artifactId>jaxb-runtime</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-actuator</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springdoc</groupId>
+            <artifactId>springdoc-openapi-ui</artifactId>
+            <version>1.6.15</version>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>

+ 12 - 26
src/main/java/com/malk/minglei/dto/EmployeeRosterInfo.java

@@ -11,17 +11,15 @@ public class EmployeeRosterInfo {
     private String dingtalkId;
     private String employeeNo;
     private String username;
-    @JsonProperty("bank_card_no")
-    private String bankCardNo;
-    @JsonProperty("bank_name")
-    private String bankName;
     private String jobTitle;
     private String jobTitleId;
     private String jobGrade;
     private String jobGradeId;
     private String department;
     private String firstDepartment;
+    @JsonProperty("bank_card_no")
     private String bankCardNo;
+    @JsonProperty("bank_name")
     private String bankName;
     private String bankBranchCode;
 
@@ -57,22 +55,6 @@ public class EmployeeRosterInfo {
         this.username = username;
     }
 
-    public String getBankCardNo() {
-        return bankCardNo;
-    }
-
-    public void setBankCardNo(String bankCardNo) {
-        this.bankCardNo = bankCardNo;
-    }
-
-    public String getBankName() {
-        return bankName;
-    }
-
-    public void setBankName(String bankName) {
-        this.bankName = bankName;
-    }
-
     public String getJobTitle() {
         return jobTitle;
     }
@@ -123,15 +105,16 @@ public class EmployeeRosterInfo {
 
     /**
      * 获取银行卡号。
+     *
      * @return 银行卡号
      */
-    @JsonProperty("bank_card_no")
     public String getBankCardNo() {
         return bankCardNo;
     }
 
     /**
      * 设置银行卡号。
+     *
      * @param bankCardNo 银行卡号
      */
     public void setBankCardNo(String bankCardNo) {
@@ -139,17 +122,18 @@ public class EmployeeRosterInfo {
     }
 
     /**
-     * 获取开户行。
-     * @return 开户行
+     * 获取开户行名称。
+     *
+     * @return 开户行名称
      */
-    @JsonProperty("bank_name")
     public String getBankName() {
         return bankName;
     }
 
     /**
-     * 设置开户行。
-     * @param bankName 开户行
+     * 设置开户行名称。
+     *
+     * @param bankName 开户行名称
      */
     public void setBankName(String bankName) {
         this.bankName = bankName;
@@ -157,6 +141,7 @@ public class EmployeeRosterInfo {
 
     /**
      * 获取支行联行号。
+     *
      * @return 支行联行号
      */
     @JsonProperty("bank_branch_code")
@@ -166,6 +151,7 @@ public class EmployeeRosterInfo {
 
     /**
      * 设置支行联行号。
+     *
      * @param bankBranchCode 支行联行号
      */
     public void setBankBranchCode(String bankBranchCode) {

+ 1 - 2
src/main/java/com/malk/minglei/service/impl/employee/EmployeeRosterRepository.java

@@ -154,14 +154,13 @@ public class EmployeeRosterRepository {
         info.setDingtalkId(resultSet.getString("dingtalk_id"));
         info.setEmployeeNo(resultSet.getString("employee_no"));
         info.setUsername(resultSet.getString("username"));
-        info.setBankCardNo(resultSet.getString("bank_card_no"));
-        info.setBankName(resultSet.getString("bank_name"));
         info.setJobTitle(resultSet.getString("job_title"));
         info.setJobTitleId(resultSet.getString("job_title_id"));
         info.setJobGrade(resultSet.getString("job_grade"));
         info.setJobGradeId(resultSet.getString("job_grade_id"));
         info.setDepartment(resultSet.getString("department"));
         info.setFirstDepartment(resultSet.getString("first_department"));
+        // 银行信息统一在末尾映射,避免与同事合并后重复赋值
         info.setBankCardNo(resultSet.getString("bank_card_no"));
         info.setBankName(resultSet.getString("bank_name"));
         info.setBankBranchCode(resultSet.getString("bank_branch_code"));

+ 3 - 1
src/main/java/com/malk/minglei/service/impl/yida/MiscReceiptIssueFormPushHandler.java

@@ -30,7 +30,7 @@ public class MiscReceiptIssueFormPushHandler implements YidaFormPushHandler {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(MiscReceiptIssueFormPushHandler.class);
     private static final String START_PROCESS_ENDPOINT = "/v1.0/yida/processes/instances/start";
-    public static final String TYPE = "cint301";
+    public static final String TYPE = "aint302";
     private static final String FORM_NAME = "miscReceiptIssue";
     private static final String FORM_UUID = "FORM-4B08ADABCDAA45788C043729A855E03ED76G";
     private static final String PROCESS_CODE = "TPROC--MQD66371C1N84FPSJZO4W79IN4BW2AE7I08TM0";
@@ -48,6 +48,7 @@ public class MiscReceiptIssueFormPushHandler implements YidaFormPushHandler {
     private static final String REASON_CODE_FIELD_ID = "textField_mt80nq6t";
     private static final String REASON_DESC_FIELD_ID = "textField_mt80nq6v";
     private static final String REMARK_FIELD_ID = "textField_mt7zi4fz";
+    private static final String DOC_NO_FIELD_ID = "textField_mvc41oom";
 
     private static final String DETAIL_TABLE_FIELD_ID = "tableField_msh186sv";
     private static final String DETAIL_SEQ_FIELD_ID = "textField_mt7zi4g1";
@@ -163,6 +164,7 @@ public class MiscReceiptIssueFormPushHandler implements YidaFormPushHandler {
         putIfNotBlank(formData, REASON_CODE_FIELD_ID, value(main, "inba007"));
         putIfNotBlank(formData, REASON_DESC_FIELD_ID, value(main, "oocql004"));
         putIfNotBlank(formData, REMARK_FIELD_ID, value(main, "inba008"));
+        putIfNotBlank(formData, DOC_NO_FIELD_ID, docNo);
 
         List<Map<String, Object>> rows = toDetailRows(detailRows);
         if (!rows.isEmpty()) {

+ 2 - 0
src/main/resources/application.yml

@@ -44,6 +44,8 @@ minglei:
     connect-timeout-millis: ${MINGLEI_BANKING_CONNECT_TIMEOUT_MILLIS:10000}
     read-timeout-millis: ${MINGLEI_BANKING_READ_TIMEOUT_MILLIS:30000}
     supplier-price-approval-key: ${MINGLEI_SUPPLIER_PRICE_APPROVAL_KEY:f5458f5c0f9022db743a7c0710145903}
+  reply-erp:
+    key: ${MINGLEI_REPLY_ERP_KEY:f5458f5c0f9022db743a7c0710145903}
   erp-t100:
     request:
       service-id: toptst

+ 1 - 0
src/test/java/com/malk/minglei/service/impl/yida/MiscReceiptIssueFormPushHandlerTest.java

@@ -110,6 +110,7 @@ class MiscReceiptIssueFormPushHandlerTest {
         assertEquals("RSN-001", formData.getString("textField_mt80nq6t"));
         assertEquals("reason-desc-main", formData.getString("textField_mt80nq6v"));
         assertEquals("remark-001", formData.getString("textField_mt7zi4fz"));
+        assertEquals("MS-001", formData.getString("textField_mvc41oom"));
 
         JSONArray detailRows = formData.getJSONArray("tableField_msh186sv");
         assertEquals(1, detailRows.size());