diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/TicketRegistration.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/TicketRegistration.java index eba1b58..f435f01 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/TicketRegistration.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/api/TicketRegistration.java @@ -1,7 +1,6 @@ package shkd.sys.sys.plugin.api; import kd.bos.dataentity.entity.DynamicObject; -import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.logging.Log; import kd.bos.logging.LogFactory; import kd.bos.openapi.api.plugin.ApiSavePlugin; @@ -67,6 +66,63 @@ public class TicketRegistration implements Serializable, ApiSavePlugin { societycreditcode.put("number", objects[0].getString("number")); map.put("deliver", societycreditcode); } + + // 票据类型编码 + Map draftbilltype = (Map) map.get("draftbilltype"); + String draftbilltype_number = draftbilltype.get("number").toString(); + + Map billtype = new HashMap<>(); + + switch (draftbilltype_number) { + //银行承兑汇票 + case "101": + case "102": + billtype.put("number", "cdm_recbill_bank_BT_S"); + + DynamicObject[] bd_bebank = BusinessDataServiceHelper.load("bd_bebank", "id,number,name", new QFilter("number", QCP.equals, map.get("acceptername")).toArray()); + if (bd_bebank.length > 0) { + map.put("acceptername", bd_bebank[0].getString("name")); + } else { + logger.info("进入收票登记 → 票据号:{},星空推送联行号:{},未查到司库行名行号", map.get("draftbillno"), map.get("acceptername")); + } + + Map accepterbebank = new HashMap<>(); + accepterbebank.put("number", map.get("acceptername")); + map.put("accepterbebank", accepterbebank); + break; + //商业承兑汇票 + case "103": + case "104": + case "CDMT-005D63A9": + case "CDMT-08B7B711": + case "CDMT-16FEE117": + case "CDMT-23C7A4D1": + case "CDMT-491D50C5": + case "CDMT-4980CF6D": + case "CDMT-550FDEAC": + case "CDMT-5CD7302F": + case "CDMT-6B2CEDA4": + case "CDMT-8C2B298B": + case "CDMT-A452A1B3": + case "CDMT-A773567D": + case "CDMT-C16F2F43": + case "CDMT-D5D6C225": + case "CDMT-DF3B089B": + case "CDMT-F8D0D70F": + case "CDMT-FE92FDAF": + billtype.put("number", "cdm_recbill_business_BT_S"); + break; + //银行本票 + case "106": + billtype.put("number", "cdm_recbill_check_BT_S"); + break; + //支票 + case "105": + case "CDMT-F7ABAB34": + billtype.put("number", "cdm_recbill_promissory_BT_S"); + break; + } + map.put("billtype", billtype); } if (map.get("receiver") != null) {//receiver_number @@ -100,6 +156,122 @@ public class TicketRegistration implements Serializable, ApiSavePlugin { societycreditcode.put("number", objects[0].getString("number")); map.put("receiver", societycreditcode); } + + // 票据类型编码 + Map draftbilltype = (Map) map.get("draftbilltype"); + String draftbilltype_number = draftbilltype.get("number").toString(); + + Map billtype = new HashMap<>(); + + // 承兑人全称.编码(合作金融机构)accepterfinorg_number + Map accepterfinorg; + + // 承兑人全称.星空组织编码(组织)acceptercompany_shkd_xkorgnumber + Map acceptercompany; + + switch (draftbilltype_number) { + //银行承兑汇票 + case "101": + billtype.put("number", "cdm_paybill_bank_BT_S"); + + accepterfinorg = (Map) map.get("accepterfinorg"); + if (accepterfinorg != null && accepterfinorg.get("number") != null) { + String accepterfinorg_number = accepterfinorg.get("number").toString(); + + DynamicObject[] bd_finorginfo = BusinessDataServiceHelper.load("bd_finorginfo", "id,number,name", new QFilter("number", QCP.equals, accepterfinorg_number).toArray()); + if (bd_finorginfo.length > 0) { + map.put("acceptername", bd_finorginfo[0].getString("name")); + } else { + logger.info("进入开票登记 → 票据号:{},星空推送联行号:{},未查到司库行名行号", map.get("draftbillno"), accepterfinorg_number); + } + } else { + logger.info("进入开票登记 → 票据号:{},星空未推送合作金融机构联行号", map.get("draftbillno")); + } + break; + + //银行承兑汇票-电票 + case "102": + billtype.put("number", "cdm_paybill_bank_elect_BT_S"); + + accepterfinorg = (Map) map.get("accepterfinorg"); + if (accepterfinorg != null && accepterfinorg.get("number") != null) { + String accepterfinorg_number = accepterfinorg.get("number").toString(); + DynamicObject[] bd_finorginfo = BusinessDataServiceHelper.load("bd_finorginfo", "id,number,name", new QFilter("number", QCP.equals, accepterfinorg_number).toArray()); + if (bd_finorginfo.length > 0) { + map.put("acceptername", bd_finorginfo[0].getString("name")); + } else { + logger.info("进入开票登记 → 票据号:{},星空推送联行号:{},未查到司库行名行号", map.get("draftbillno"), accepterfinorg_number); + } + } else { + logger.info("进入开票登记 → 票据号:{},星空未推送合作金融机构联行号", map.get("draftbillno")); + } + break; + + //商业承兑汇票 纸票 + case "103": + billtype.put("number", "cdm_paybill_business_BT_S"); + + acceptercompany = (Map) map.get("acceptercompany"); + if (acceptercompany != null && acceptercompany.get("shkd_xkorgnumber") != null) { + String acceptercompany_shkd_xkorgnumber = acceptercompany.get("shkd_xkorgnumber").toString(); + DynamicObject[] bos_adminorg = BusinessDataServiceHelper.load("bos_adminorg", "id,number,name,shkd_xkorgnumber", new QFilter("shkd_xkorgnumber", QCP.equals, acceptercompany_shkd_xkorgnumber).toArray()); + if (bos_adminorg.length > 0) { + map.put("acceptername", bos_adminorg[0].getString("name")); + } else { + logger.info("进入开票登记 → 票据号:{},星空推送星空组织编码:{},未查到司库行名行号", map.get("draftbillno"), acceptercompany_shkd_xkorgnumber); + } + } else { + logger.info("进入开票登记 → 票据号:{},星空未推送星空组织编码", map.get("draftbillno")); + } + break; + + //银行本票 + case "106": + billtype.put("number", "cdm_paybill_check_BT_S"); + break; + + //支票 + case "105": + case "CDMT-F7ABAB34": + billtype.put("number", "cdm_paybill_promissory_BT_S"); + break; + + //商业承兑电票 + case "104": + case "CDMT-005D63A9": + case "CDMT-08B7B711": + case "CDMT-16FEE117": + case "CDMT-23C7A4D1": + case "CDMT-491D50C5": + case "CDMT-4980CF6D": + case "CDMT-550FDEAC": + case "CDMT-5CD7302F": + case "CDMT-6B2CEDA4": + case "CDMT-8C2B298B": + case "CDMT-A452A1B3": + case "CDMT-A773567D": + case "CDMT-C16F2F43": + case "CDMT-D5D6C225": + case "CDMT-DF3B089B": + case "CDMT-F8D0D70F": + case "CDMT-FE92FDAF": + billtype.put("number", "cdm_paybill_business_elec_BT_S"); + + acceptercompany = (Map) map.get("acceptercompany"); + if (acceptercompany != null && acceptercompany.get("shkd_xkorgnumber") != null) { + String acceptercompany_shkd_xkorgnumber = acceptercompany.get("shkd_xkorgnumber").toString(); + DynamicObject[] bos_adminorg = BusinessDataServiceHelper.load("bos_adminorg", "id,number,name,shkd_xkorgnumber", new QFilter("shkd_xkorgnumber", QCP.equals, acceptercompany_shkd_xkorgnumber).toArray()); + if (bos_adminorg.length > 0) { + map.put("acceptername", bos_adminorg[0].getString("name")); + } else { + logger.info("进入开票登记 → 票据号:{},星空推送星空组织编码:{},未查到司库行名行号", map.get("draftbillno"), acceptercompany_shkd_xkorgnumber); + } + } else { + logger.info("进入开票登记 → 票据号:{},星空未推送星空组织编码", map.get("draftbillno")); + } + break; + } + map.put("billtype", billtype); } } else if ("bos_org".equals(payeetype)) {