金蝶s-HR Cloud产品中如果在DEP扩展的实体如何进行实例化和赋值
如下以DEP定义的实体举例:如,实体全路径,com.kingdee.shr.custom.app.XXXXX
可以通过框架提供的方法来获取对应的bean类定义(如果要自行书写,可以反编译进行代码参考)
java.lang.Class com.kingdee.shr.base.syssetting.util.MetaDataUtil#getObjectValueClass 参数为DEP定义的实体全路径
java.lang.Class clzz = com.kingdee.shr.base.syssetting.util.MetaDataUtil.getObjectValueClass("com.kingdee.shr.custom.app.XXXXX");
通过框架的方法来获取对应的bean实例(如果要自行书写,可以反编译进行代码参考)
com.kingdee.bos.dao.IObjectValue com.kingdee.shr.base.syssetting.util.MetaDataUtil#newInstance
com.kingdee.shr.custom.XXXXXInfo model = (com.kingdee.shr.custom.XXXXXInfo)com.kingdee.shr.base.syssetting.util.MetaDataUtil.newInstance(clzz,"com.kingdee.shr.custom.app.XXXXX"); // 这种是对标准对象扩展时候使用,有实际的bean;如果通过模板生成的,也可以使用模板的bean对象来进行 com.kingdee.bos.dao.IObjectValue model = com.kingdee.shr.base.syssetting.util.MetaDataUtil.newInstance(clzz,"com.kingdee.shr.custom.app.XXXXX"); //如果是dep全新建立的实体,采用这种写法也可以
model里面的,如果没set方法的属性赋值,直接使用put即可
需要对tell赋值,如:
model.put("tell","137xxxxxxxx");
如果需要对DEP自行增加的枚举赋值,使用框架提供方法(com.kingdee.shr.base.syssetting.app.util.MetaDataUtil#findEnumByValue 第一个参数枚举全路径,第二个参数,获取枚举的那个值),如:
model.put("isInner",com.kingdee.shr.base.syssetting.app.util.MetaDataUtil.findEnumByValue("com.kingdee.shr.custom.xxxxEnum","xxxx"));//枚举获取接口是一个通用的,dep增加的枚举的值本质是字符串,传字符串即可;如果是标准产品枚举,枚举可能是int、long、double、float、String这几类,传对应类型即可
如果是对象属性,需要初始化对应的对象进行赋值,如:
XXXXInfo soureceModel = new XXXXInfo(); soureceModel.setId(com.kingdee.bos.util.BOSUuid.read("xxxxxxx")); model.put("sources",soureceModel );
其他基本类型原理差不多
还有一种就是将model的json处理好后,使用平台工具序列化为对应的XXXInfo
java.lang.Class clazz =com.kingdee.shr.base.syssetting.util.MetaDataUtil.getObjectValueClass("com.kingdee.shr.custom.app.XXXXX"); String modelJSON="{\"xx\":\"xxx\",...,\"_entityName\":\"com.kingdee.shr.custom.app.XXXXX\"}"; com.kingdee.bos.dao.IObjectValue obj = com.kingdee.shr.base.syssetting.web.json.JSONUtils.convertJsonToObject(ctx, modelJSON, clazz);//此种方式种,属性_entityName必不可少
对象初始化好了调用对应接口方法进行CURD操作,实体或者facade的接口获取可以参考:https://wenku.my7c.com/article/477769901344330240?productLineId=10
金蝶s-HR Cloud产品中如果在DEP扩展的实体如何进行实例化和赋值
如下以DEP定义的实体举例:如,实体全路径,com.kingdee.shr.custom.app.XXXXX可以通过框架提供的方法来获取对应的bean类定义(如果要自行...
点击下载文档
上一篇:大数据量表常用转储方案介绍下一篇:s-HR 初始化中心意见反馈收集帖
本文2024-09-16 23:44:21发表“s-hr cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-shr-56486.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章