`
xy0792
  • 浏览: 90063 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

后台调用编码规则

 
阅读更多
// 如果单据编码为空,则调用编码规则生成一个编码,否则不能通过verifyNumber方法的校验
		if (com.kingdee.util.StringUtils.isEmpty(billInfo.getNumber())) {
			IMetaDataLoader imeataLoader = MetaDataLoaderFactory.getLocalMetaDataLoader(ctx);
			BusinessObjectInfo objInfo = imeataLoader.getBusinessObject(billInfo.getBOSType());
			String orgType = objInfo.getExtendedProperty("OrgType");
			if (StringUtils.isEmpty(orgType)) {
				orgType = "NONE";
			}
			_setAutoNumberByOrg(ctx, billInfo, orgType);
		}
 protected void setAutoNumberByOrg(Context ctx, ObjectBaseInfo model,
			String orgType) throws CodingRuleException, EASBizException,
			BOSException {
		String sysNumber = null;

		if (!StringUtils.isEmpty(orgType) && !"NONE".equalsIgnoreCase(orgType) && ContextUtil.getCurrentOrgUnit(ctx, OrgType.getEnum(orgType)) != null) {
			sysNumber = FrameWorkUtils.getCodeRuleServer(ctx, model, ContextUtil.getCurrentOrgUnit(ctx, OrgType.getEnum(orgType)).getString("id"));
		} else if (ContextUtil.getCurrentOrgUnit(ctx) != null) {
			sysNumber = FrameWorkUtils.getCodeRuleServer(ctx, model, ContextUtil.getCurrentOrgUnit(ctx).getString("id"));
		}
		if (!StringUtils.isEmpty(sysNumber)) {
			model.setString("number", sysNumber);
		}
	}

  // 如果单据编码为空,需要调用编码规则生成编码

	protected void _setAutoNumberByOrg(Context ctx, ObjectBaseInfo editData, String orgType)
			throws EASBizException, BOSException {

		if (editData == null)
			return;
		if (editData.getString("number") == null) {
			String companyID = null;
			if (!com.kingdee.util.StringUtils.isEmpty(orgType)
					&& !"NONE".equalsIgnoreCase(orgType)
					&& ContextUtil.getCurrentOrgUnit(ctx, com.kingdee.eas.basedata.org.OrgType
							.getEnum(orgType)) != null) {
				companyID = ContextUtil.getCurrentOrgUnit(ctx, OrgType.getEnum(orgType)).getString(
						"id");
			} else if (ContextUtil.getCurrentOrgUnit(ctx) != null) {
				companyID = ((OrgUnitInfo) ContextUtil.getCurrentOrgUnit(ctx)).getString("id");
			}
			ICodingRuleManager iCodingRuleManager = CodingRuleManagerFactory.getLocalInstance(ctx);
			if (iCodingRuleManager.isExist(editData, companyID)) {
//				if (iCodingRuleManager.isAddView(editData, companyID)) {
				editData.setString("number", iCodingRuleManager.getNumber(editData, companyID));
//				}
			}
		}

	}
 
分享到:
评论

相关推荐

    百度地图后台调用-完整版

    "百度地图后台调用-完整版"是一个专为开发者设计的工具包,它提供了丰富的API和SDK,使得开发者能够轻松地将百度地图的功能整合到自己的应用程序中。下面,我们将详细探讨这个开发模块的主要知识点: 1. **百度地图...

    批次编码规则 numrange.pdf

    1. **批次编号规则设置**:批次编号不是随意生成的,而是遵循预定义的规则。这些规则通常在SAP中通过`NumRange`(编号范围)进行配置。一个编号范围由一系列连续的编号组成,可以按照需求设置为单个或多个数字段。...

    Struts2动态方法调用

    在传统的MVC模式中,控制器(Controller)通常通过硬编码的方式处理请求,而动态方法调用则允许我们动态地决定执行哪个Action的方法。这在处理多样化的用户请求和构建复杂应用时尤其有用。 1. **JS方法调用**: 在...

    Delphi7短信接口及短信接口调用案例demo

    在这个"Delphi7短信接口及短信接口调用案例demo"中,我们主要探讨的是如何在Delphi 7环境中实现短信发送功能,这涉及到接口编程和通信技术。 1. **接口编程**:在Delphi中,接口是一种引用类型,它定义了一组方法但...

    ThinkPHP 3.2.3后台模版

    ThinkPHP 3.2.3后台模版遵循MVC(Model-View-Controller)设计模式,其中Model负责数据处理,View负责视图展示,Controller则作为模型和视图的桥梁,处理用户请求并调用模型进行数据操作,最后将结果传递给视图进行...

    Magento 后台管理插件示例

    开发Magento后台管理插件时,你需要按照Magento的约定和最佳实践进行编码,确保代码的可读性和可维护性。这包括遵循SOLID原则,使用依赖注入,以及编写单元测试来验证代码的功能。同时,注意遵循Magento的安全规范,...

    后台+完整商城小程序

    通过这个“后台+完整商城小程序”压缩包,开发者可以全面掌握电商应用的开发流程,从设计、编码到测试、上线,甚至后期的运营和维护,都有了全面的工具和指导。对于想要进入电商领域的个人或团队来说,这是一个宝贵...

    Android后台发送邮件

    SMTP是互联网上用于发送邮件的标准协议,它定义了邮件服务器之间通信的规则。 2. **JavaMail API**:在Android中,我们通常使用JavaMail API来实现邮件的发送。这是一个跨平台的API,它提供了一套完整的邮件服务...

    HTML后台控制面板是一款网站后台管理界面HTML网站模板。.zip

    7. **SEO优化**:虽然后台控制面板不直接影响搜索引擎排名,但良好的编码习惯和语义化的HTML结构对整体网站的SEO是有益的。 总的来说,HTML后台控制面板模板是前端开发中的利器,它能加速开发进程,同时保持界面的...

    自动生成Php后台

    4. **RESTful API**:对于现代Web应用,后端经常需要提供API供前端或移动应用调用。工具可能支持自动创建符合REST原则的API端点。 5. **权限与认证**:自动后台生成工具可能会集成用户认证和授权机制,如JWT(JSON ...

    经典必看-MVC经典后台管理系统源码.zip

    这意味着源码可能包含了良好的编码规范、模块化设计以及实用的功能,能够帮助开发者理解如何构建一个高效、灵活的后台管理系统。 【标签】中的“mvc”是关键,代表了这个系统的核心设计原则。MVC模式将应用程序分为...

    Angular4+ 中后台管理

    在这个项目中,设计图可能包含了中后台管理界面的布局、颜色方案、图标等元素,有助于开发者按照设计进行精确编码。 4. **Bootstrap 4 HTML** - Bootstrap是流行的前端UI框架,尤其适合构建响应式布局。在Angular4...

    淘淘商城 后台管理系统静态页面

    "淘淘商城 后台管理系统静态页面"是一个用于学习或实战的项目资源,它涵盖了电商网站后台管理系统的前端部分,主要包括JavaScript(js)、层叠样式表(css)以及JavaServer Pages(jsp)等文件。这些文件是构建一个...

    XML做后台判断可通用

    这个类应该设计成可复用的,接受XML文件路径作为参数,然后调用适当的方法来执行规则。 4. **判断逻辑**:在XML文件中,判断逻辑以元素和属性的形式存在。例如,`<rule>`元素可能包含`<condition>`子元素,用于设定...

    Ladmin后台管理系统框架2.0.zip

    Ladmin后台管理系统框架2.0是一个专为快速搭建企业级后台管理平台而设计的开发框架。基于layui,一个流行的前端UI框架,Ladmin提供了一套完整的解决方案,旨在简化开发过程,提高开发效率,并确保系统的易用性和稳定...

    java微信小程序支付后台接口编写.rar

    1、根据调用API必须遵循的协议规则,提交方式均采用post,提交和返回数据格式都为XML,根节点名为xml,字符统一采用UTF-8编码,签名算法使用MD5。 2、本次后台代码使用Java语言编写。由于微信支付要求传输方式必须...

    三层体系结构的应用-学员管理系统1(后台)

    【标题】"三层体系结构的应用-学员管理系统1(后台)"所指的知识点主要...通过这个项目,学员可以全面了解并实践一个完整的后台系统开发流程,从需求分析到设计、编码、测试,直至上线运维,从而提高其在IT行业的竞争力。

    后台通用代码

    4. **Service层**:业务逻辑层,处理业务规则和流程,调用DAO层进行数据操作。Service层的设计可以遵循单例模式,也可以使用依赖注入来提高灵活性。 5. **事务管理**:在后台代码中,事务管理是关键。使用Hibernate...

    java后台面试题

    Java后台面试题通常涵盖广泛的领域,包括但不限于编程基础、面向对象设计原则、Servlet技术以及数据库管理。以下是对这些知识点的详细解析: 1. **面向对象(Object-Oriented Programming,OOP)**: - **封装**:...

    插件中F7调用其他核算项目或者BOS基础资料界面.zip_<F7><plug>_F7调用_bos

    总的来说,"插件中F7调用其他核算项目或者BOS基础资料界面"涉及到的技术点包括:插件开发、事件驱动编程、BOS服务调用、UI交互设计、数据获取与展示、性能优化以及面向对象的设计原则。理解和掌握这些知识点,能够...

Global site tag (gtag.js) - Google Analytics