提交内容:调整收开票登记推送API扩展接口代码(单据类型、承兑人判断)
时间:2025-07-16 18:19 提交人:邹江涛
This commit is contained in:
		
							parent
							
								
									b1e2cc42a8
								
							
						
					
					
						commit
						50f1a56d7b
					
				| 
						 | 
				
			
			@ -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<String, Object> draftbilltype = (Map<String, Object>) map.get("draftbilltype");
 | 
			
		||||
                    String draftbilltype_number = draftbilltype.get("number").toString();
 | 
			
		||||
 | 
			
		||||
                    Map<String, Object> 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<String, Object> 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<String, Object> draftbilltype = (Map<String, Object>) map.get("draftbilltype");
 | 
			
		||||
                    String draftbilltype_number = draftbilltype.get("number").toString();
 | 
			
		||||
 | 
			
		||||
                    Map<String, Object> billtype = new HashMap<>();
 | 
			
		||||
 | 
			
		||||
                    // 承兑人全称.编码(合作金融机构)accepterfinorg_number
 | 
			
		||||
                    Map<String, Object> accepterfinorg;
 | 
			
		||||
 | 
			
		||||
                    // 承兑人全称.星空组织编码(组织)acceptercompany_shkd_xkorgnumber
 | 
			
		||||
                    Map<String, Object> acceptercompany;
 | 
			
		||||
 | 
			
		||||
                    switch (draftbilltype_number) {
 | 
			
		||||
                        //银行承兑汇票
 | 
			
		||||
                        case "101":
 | 
			
		||||
                            billtype.put("number", "cdm_paybill_bank_BT_S");
 | 
			
		||||
 | 
			
		||||
                            accepterfinorg = (Map<String, Object>) 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<String, Object>) 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<String, Object>) 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<String, Object>) 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)) {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue