From 8b80288947dd9ed5edbf8bd2ad5f453671e62c1d Mon Sep 17 00:00:00 2001 From: zhouxiaofeng <2946471396@qq.com> Date: Tue, 16 Jun 2026 16:15:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=A4=E4=B8=AA=E9=80=89?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contractlaunch/dto/ContractLaunchDto.java | 6 ++++ .../service/ContractLaunchServiceImpl.java | 14 ++++++--- .../contractlaunch/ContractLaunchMapper.xml | 10 +++++-- zgwl_contract_launch_patch_20250616.sql | 29 +++++++++++++++++++ 4 files changed, 52 insertions(+), 7 deletions(-) create mode 100644 zgwl_contract_launch_patch_20250616.sql diff --git a/src/main/java/com/nbport/zgwl/contractlaunch/dto/ContractLaunchDto.java b/src/main/java/com/nbport/zgwl/contractlaunch/dto/ContractLaunchDto.java index 5ecfb0f..1d1fcc9 100644 --- a/src/main/java/com/nbport/zgwl/contractlaunch/dto/ContractLaunchDto.java +++ b/src/main/java/com/nbport/zgwl/contractlaunch/dto/ContractLaunchDto.java @@ -294,6 +294,12 @@ public class ContractLaunchDto implements Serializable { /** 用印数量,默认为1 */ private Integer sealQuantity; + /** 是否用印(1:是, 0:否,默认1) */ + private String sealIsSeal; + + /** 审批是否一致(1:是, 0:否,默认1) */ + private String sealApproveSame; + /** 合同生效日期 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime activeDate; diff --git a/src/main/java/com/nbport/zgwl/contractlaunch/service/ContractLaunchServiceImpl.java b/src/main/java/com/nbport/zgwl/contractlaunch/service/ContractLaunchServiceImpl.java index 3247242..91d8841 100644 --- a/src/main/java/com/nbport/zgwl/contractlaunch/service/ContractLaunchServiceImpl.java +++ b/src/main/java/com/nbport/zgwl/contractlaunch/service/ContractLaunchServiceImpl.java @@ -1043,6 +1043,12 @@ public class ContractLaunchServiceImpl implements ContractLaunchService { if (contract.getSealQuantity() == null) { contract.setSealQuantity(1); } + if (contract.getSealIsSeal() == null || contract.getSealIsSeal().isBlank()) { + contract.setSealIsSeal("1"); + } + if (contract.getSealApproveSame() == null || contract.getSealApproveSame().isBlank()) { + contract.setSealApproveSame("1"); + } if (contract.getPartyList() == null) { contract.setPartyList(new ArrayList<>()); } @@ -1361,10 +1367,10 @@ public class ContractLaunchServiceImpl implements ContractLaunchService { if ("1".equals(contract.getValuationMode()) && contract.getContractAmount() != null) { payload.put("c_subjectAMT", contract.getContractAmount()); } else { - payload.put("c_subjectAMT", null); + payload.put("c_subjectAMT", ""); } payload.put("c_currency", contract.getCurrencyName()); - payload.put("c_estimatedAMT", "2".equals(contract.getValuationMode()) ? contract.getEstimatedAmount() : null); + payload.put("c_estimatedAMT", "2".equals(contract.getValuationMode()) ? contract.getEstimatedAmount() : ""); payload.put("c_amountExplain", contract.getAmountExplain()); // 额外金额 payload.put("c_additional", contract.getEwAmountType()); @@ -1405,8 +1411,8 @@ public class ContractLaunchServiceImpl implements ContractLaunchService { payload.put("c_lxPlan", buildCollectionPlanPayloadList(contract)); // 用印信息 Map seal = new LinkedHashMap<>(); - seal.put("seal_isSeal", "1"); - seal.put("seal_approveSame", "1"); + seal.put("seal_isSeal", contract.getSealIsSeal() != null ? contract.getSealIsSeal() : "1"); + seal.put("seal_approveSame", contract.getSealApproveSame() != null ? contract.getSealApproveSame() : "1"); seal.put("seal_type", contract.getSealType()); seal.put("seal_quantity", contract.getSealQuantity() == null ? "1" : String.valueOf(contract.getSealQuantity())); seal.put("seal_date", contract.getSealDate()); diff --git a/src/main/resources/mapper/contractlaunch/ContractLaunchMapper.xml b/src/main/resources/mapper/contractlaunch/ContractLaunchMapper.xml index 76daa4c..ba6e140 100644 --- a/src/main/resources/mapper/contractlaunch/ContractLaunchMapper.xml +++ b/src/main/resources/mapper/contractlaunch/ContractLaunchMapper.xml @@ -80,6 +80,8 @@ + + @@ -206,7 +208,7 @@ EW_AMOUNT_TYPE, DJ_AMOUNT, YJ_AMOUNT, YFK_AMOUNT, BZJ_AMOUNT, BODY_SUMMARY, CONTRACT_TEXT_FILE_NAME, CONTRACT_TEXT_FILE_PATH, CONTRACT_TEXT_FILE_TYPE, CONTRACT_TEXT_FILE_SIZE, SIGNED_FILE_NAME, SIGNED_FILE_PATH, SIGNED_FILE_TYPE, SIGNED_FILE_SIZE, SIGNED_FILE_URL, SIGNED_OFFLINE_REASON, - SIGN_DATE, SEAL_DATE, ACTIVE_DATE, ARCHIVE_DATE, ARCHIVE_RECEIVE_DEPT, ARCHIVE_TRANSFEROR, ARCHIVE_KEEPER, ARCHIVE_KEEPER_UNIT, + SIGN_DATE, SEAL_DATE, SEAL_IS_SEAL, SEAL_APPROVE_SAME, ACTIVE_DATE, ARCHIVE_DATE, ARCHIVE_RECEIVE_DEPT, ARCHIVE_TRANSFEROR, ARCHIVE_KEEPER, ARCHIVE_KEEPER_UNIT, ARCHIVE_KEEPER_UNIT_CODE, INVOICE_DATE, RECEIVE_DATE, REMIND_DAYS, INITIATOR, INITIATOR_DEPT, COMPANY_NAME, ORG_ID, QUERY_SCOPE, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, IS_DELETED, REMARK @@ -290,7 +292,7 @@ TEMPLATE_FIELD_VALUES_JSON, CONTRACT_TEXT_FILE_NAME, CONTRACT_TEXT_FILE_PATH, CONTRACT_TEXT_FILE_TYPE, CONTRACT_TEXT_FILE_SIZE, SIGNED_FILE_NAME, SIGNED_FILE_PATH, SIGNED_FILE_TYPE, SIGNED_FILE_SIZE, SIGNED_FILE_URL, SIGNED_OFFLINE_REASON, - SIGN_DATE, SEAL_DATE, ACTIVE_DATE, ARCHIVE_DATE, ARCHIVE_RECEIVE_DEPT, ARCHIVE_TRANSFEROR, ARCHIVE_KEEPER, ARCHIVE_KEEPER_UNIT, + SIGN_DATE, SEAL_DATE, SEAL_IS_SEAL, SEAL_APPROVE_SAME, ACTIVE_DATE, ARCHIVE_DATE, ARCHIVE_RECEIVE_DEPT, ARCHIVE_TRANSFEROR, ARCHIVE_KEEPER, ARCHIVE_KEEPER_UNIT, ARCHIVE_KEEPER_UNIT_CODE, INVOICE_DATE, RECEIVE_DATE, REMIND_DAYS, INITIATOR, INITIATOR_DEPT, COMPANY_NAME, ORG_ID, QUERY_SCOPE, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, IS_DELETED, REMARK @@ -310,7 +312,7 @@ #{templateFieldValuesJson}, #{contractTextFileName}, #{contractTextFilePath}, #{contractTextFileType}, #{contractTextFileSize}, #{signedFileName}, #{signedFilePath}, #{signedFileType}, #{signedFileSize}, #{signedFileUrl}, #{signedOfflineReason}, - #{signDate}, #{sealDate}, #{activeDate}, #{archiveDate}, #{archiveReceiveDept}, #{archiveTransferor}, #{archiveKeeper}, #{archiveKeeperUnit}, + #{signDate}, #{sealDate}, #{sealIsSeal}, #{sealApproveSame}, #{activeDate}, #{archiveDate}, #{archiveReceiveDept}, #{archiveTransferor}, #{archiveKeeper}, #{archiveKeeperUnit}, #{archiveKeeperUnitCode}, #{invoiceDate}, #{receiveDate}, #{remindDays}, #{initiator}, #{initiatorDept}, #{companyName}, #{orgId}, #{queryScope}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{isDeleted}, #{remark} @@ -394,6 +396,8 @@ SIGNED_OFFLINE_REASON = #{signedOfflineReason}, SIGN_DATE = #{signDate}, SEAL_DATE = #{sealDate}, + SEAL_IS_SEAL = #{sealIsSeal}, + SEAL_APPROVE_SAME = #{sealApproveSame}, ACTIVE_DATE = #{activeDate}, ARCHIVE_DATE = #{archiveDate}, ARCHIVE_RECEIVE_DEPT = #{archiveReceiveDept}, diff --git a/zgwl_contract_launch_patch_20250616.sql b/zgwl_contract_launch_patch_20250616.sql new file mode 100644 index 0000000..67a2379 --- /dev/null +++ b/zgwl_contract_launch_patch_20250616.sql @@ -0,0 +1,29 @@ +-- ============================================= +-- Patch: 新增 seal_isSeal 和 seal_approveSame 字段 +-- 日期: 2025-06-16 +-- 说明: 法务要求 seal_isSeal(是否用印)和 seal_approveSame(审批是否一致) +-- 由用户选择,不再硬编码为 "1" +-- 执行方式: +-- sqlplus developer/dev123@localhost/XEPDB1 @zgwl_contract_launch_patch_20250616.sql +-- ============================================= + +WHENEVER SQLERROR EXIT SQL.SQLCODE; + +-- 1. 新增 SEAL_IS_SEAL 字段(是否用印:1-是,0-否,默认1) +ALTER TABLE SEAL_CONTRACT_LAUNCH_MAIN +ADD SEAL_IS_SEAL VARCHAR2(4 CHAR) DEFAULT '1'; + +COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_MAIN.SEAL_IS_SEAL IS '是否用印:1是 0否'; + +-- 2. 新增 SEAL_APPROVE_SAME 字段(审批是否一致:1-是,0-否,默认1) +ALTER TABLE SEAL_CONTRACT_LAUNCH_MAIN +ADD SEAL_APPROVE_SAME VARCHAR2(4 CHAR) DEFAULT '1'; + +COMMENT ON COLUMN SEAL_CONTRACT_LAUNCH_MAIN.SEAL_APPROVE_SAME IS '审批是否一致:1是 0否'; + +-- 验证 +SELECT COLUMN_NAME, DATA_TYPE, DATA_DEFAULT, COMMENTS +FROM USER_TAB_COLUMNS +LEFT JOIN USER_COL_COMMENTS USING (TABLE_NAME, COLUMN_NAME) +WHERE TABLE_NAME = 'SEAL_CONTRACT_LAUNCH_MAIN' + AND COLUMN_NAME IN ('SEAL_IS_SEAL', 'SEAL_APPROVE_SAME');