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 4718719..e35c8b4 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,6 +1,7 @@ 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; @@ -9,9 +10,7 @@ import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import java.io.Serializable; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @Description @@ -47,21 +46,21 @@ public class TicketRegistration implements Serializable, ApiSavePlugin { new QFilter("societycreditcode", QCP.equals, deliver_number).toArray()); if (objects.length > 0) { logger.info("进入收票登记→objects.length > 0"); -// DynamicObjectCollection dynamicObjectCollection = objects[0].getDynamicObjectCollection("entry_bank"); -// -// for (DynamicObject dynamicObject : dynamicObjectCollection) { -// logger.info("进入收票登记→objects.length > 0→dynamicObjectCollection.forEach,\nbankaccount → {}", dynamicObject.getString("bankaccount")); -// if (dynamicObject.getString("bankaccount").equals(deliveraccountbase)) { -// DynamicObject bank = dynamicObject.getDynamicObject("bank"); -// logger.info("进入收票登记→objects.length > 0→dynamicObjectCollection.forEach,bank → {}", bank); -// Map deliveropenbank = new HashMap<>(); -// deliveropenbank.put("number", bank.getString("number")); -// map.put("deliveropenbank", deliveropenbank); -// map.put("deliveropenbanknum", bank.getString("number")); -// // 跳出循环 -// break; -// } -// } +/* DynamicObjectCollection dynamicObjectCollection = objects[0].getDynamicObjectCollection("entry_bank"); + + for (DynamicObject dynamicObject : dynamicObjectCollection) { + logger.info("进入收票登记→objects.length > 0→dynamicObjectCollection.forEach,\nbankaccount → {}", dynamicObject.getString("bankaccount")); + if (dynamicObject.getString("bankaccount").equals(deliveraccountbase)) { + DynamicObject bank = dynamicObject.getDynamicObject("bank"); + logger.info("进入收票登记→objects.length > 0→dynamicObjectCollection.forEach,bank → {}", bank); + Map deliveropenbank = new HashMap<>(); + deliveropenbank.put("number", bank.getString("number")); + map.put("deliveropenbank", deliveropenbank); + map.put("deliveropenbanknum", bank.getString("number")); + // 跳出循环 + break; + } + }*/ Map societycreditcode = new HashMap<>(); societycreditcode.put("number", objects[0].getString("number")); map.put("deliver", societycreditcode); @@ -72,6 +71,32 @@ public class TicketRegistration implements Serializable, ApiSavePlugin { String draftbilltype_number = draftbilltype.get("number").toString(); Map billtype = new HashMap<>(); +/* DynamicObject[] dynamicObjects = BusinessDataServiceHelper.load("shkd_noteandbill", "id,billno,shkd_billtype,shkd_note", new QFilter("billno", QCP.not_equals, "").toArray()); + for (DynamicObject dynamicObject : dynamicObjects) { + // 单据类型 + DynamicObject shkd_billtype = dynamicObject.getDynamicObject("shkd_billtype"); + // 单据类型编码 + String shkd_billtypeNumber = shkd_billtype.getString("number"); + // 单据类型名称 + String billformid_name = shkd_billtype.getDynamicObject("billformid").getString("name"); + if ("收票登记".equals(billformid_name)) { + DynamicObjectCollection dynamicObjectCollection = dynamicObject.getDynamicObjectCollection("shkd_note"); + List arrayList = new ArrayList<>(); + dynamicObjectCollection.forEach(object -> { + DynamicObject noteType = dynamicObject.getDynamicObject("fbasedataid");//票据类型基础资料数据包 + if (noteType != null) { + String noteTypeNumber = noteType.getString("number");//票据类型编码 + long noteTypeId = noteType.getLong("masterid");//票据类型内码 + String noteTypeName = noteType.getString("name");//票据类型名称 + arrayList.add(noteTypeNumber); + } + }); + if (arrayList.contains(draftbilltype_number)) { + billtype.put("number", shkd_billtypeNumber); + break; + } + } + }*/ switch (draftbilltype_number) { //银行承兑汇票 @@ -109,6 +134,7 @@ public class TicketRegistration implements Serializable, ApiSavePlugin { case "CDMT-EA7CA8B1": case "CDMT-F8D0D70F": case "CDMT-FE92FDAF": + case "CDMT-959F454C": billtype.put("number", "cdm_recbill_business_BT_S"); break; //银行本票 @@ -255,6 +281,7 @@ public class TicketRegistration implements Serializable, ApiSavePlugin { case "CDMT-EA7CA8B1": case "CDMT-F8D0D70F": case "CDMT-FE92FDAF": + case "CDMT-959F454C": billtype.put("number", "cdm_paybill_business_elec_BT_S"); acceptercompany = (Map) map.get("acceptercompany");