业务开发(四)

 

主数据 

 

      下面写四篇文章,主数据、会计凭证记账、分类账及审批工作流,以呈现财务的业务逻辑设计架构。目标:以不变的业务逻辑架构应付形形色色的实际业务需求。

       最近项目接近尾声,有很多时间放松心情,每天都在湖边转圈到完全天黑。不自然思考一个问题:如何抽象业务需求为代码逻辑,于是乎,产生了四个核心问题:(1)业务需求抽象为代码的基本逻辑是什么(2)如何做界面增强和代码增强(3)如何做功能增强(4)如何使业务蓝图和系统操作融为一体。

        第一个问题,根本就没有基本逻辑,倒是有一个基本原则:你必须懂得形形色色的实际业务。

        主数据包括物料、供应商、客户、成本中心、责任中心、资产等等,这里以专项管理和员工主数据为例介绍基本的设计理念。

专项管理

        用于管理某一类专项活动,比如一项促销活动,按省、区、市各级做计划和预算,且可以分层级体现。

        下面截图体现了在建工程的管理方式,按需要拆分成不同层级,可以在不同层级做计划、下达预算及成本记账,可以做预转资及竣工结算。

      (1)日期页签做进度管理(2)状态页签用于状态体现及后续实现审批工作流(3)清单管理页签,比如:在建工程采购了一批资产设备,期初全部记入在建工程分录,但预转资及竣工结算时必须一对一转出,原来¥5000的采购成本就转¥5000,别说什么你自己挑,自己分割(4)附加数据页签用于实现界面增强和代码增强,这个下篇文章体现。

 

员工主数据

(1)基本数据页签:罗列员工的基本信息,标准不满足要求的通过界面增强实现

(2)时间管理页签:即员工的排班,可以固定排班,也可以临时排班。

        下图中的A0表示固定时间的排班,固定时间在系统配置中定义。

        下图为临时排班,在员工主数据中指定工作日期及时段

(3)工资管理页签:通过工资结构满足形形色色的管理要求。

        工资结构完全自定义,可以固定金额,也可以为复杂的计算公式,且记账码不为空的工资项将生成会计分录。

 

 

动画演示

 

下一篇:会计凭证记账

上一篇:业务开发过程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 好的,让我来回答你关于openfire开发中消息拦截器的问题。 消息拦截器是openfire中的一个重要功能,它可以在消息传递的过程中拦截消息并进行处理。在openfire中,消息拦截器通常用于实现一些特殊的业务逻辑,例如消息过滤、消息转发、消息加密等。 在openfire中,实现一个消息拦截器非常简单。我们只需要创建一个类,实现org.jivesoftware.openfire.interceptor.PacketInterceptor接口,并重写interceptPacket方法。在interceptPacket方法中,我们可以对消息进行拦截和处理。 下面是一个简单的示例代码: ```java public class MyInterceptor implements PacketInterceptor { @Override public void interceptPacket(Packet packet, Session session, boolean incoming, boolean processed) throws PacketRejectedException { if (packet instanceof Message) { Message message = (Message) packet; // 在此处对消息进行拦截和处理 // ... } } } ``` 在上述代码中,我们创建了一个名为MyInterceptor的类,实现了PacketInterceptor接口,并重写了interceptPacket方法。在方法中,我们首先判断消息类型是否为Message类型,如果是,则对消息进行拦截和处理。 最后,我们需要将拦截器注册到openfire中。我们可以在openfire的配置文件openfire.xml中添加如下配置: ```xml <interceptor> <class>com.example.MyInterceptor</class> </interceptor> ``` 这样,我们就成功地将消息拦截器注册到了openfire中。当有消息传递时,openfire会自动调用我们的拦截器来进行处理。 希望这个回答对你有帮助!如果你还有其他问题,可以继续问我。 ### 回答2: openfire开发中的消息拦截器是一种机制,用于拦截、处理和修改即将发送或接收的XMPP消息。它可以在服务器端应用程序中实现,允许开发人员实现特定的业务逻辑或自定义需求。 通过编写和配置消息拦截器,我们可以在用户发送消息之前或者接收之后对其进行处理。拦截器可以用于各种用途,比如实现消息过滤、安全验证、内容修改和日志记录等。 当有消息发送或接收时,openfire会按照事先定义好的顺序依次调用每个拦截器。每个拦截器都可以对消息进行修改、删除或添加元素,并且可以决定是否继续传递给下一个拦截器。通过这种方式,我们可以对消息进行灵活的处理。 在开发过程中,我们可以使用openfire提供的拦截器接口(org.jivesoftware.openfire.interceptor.PacketInterceptor)来实现自定义的拦截器。该接口定义了两个方法,beforeInterception函数用于在消息发送之前对其进行处理,afterInterception函数则用于在消息接收之后对其进行处理。 通过实现这两个方法,我们可以访问消息的各个属性和元素,如发送者、接收者、消息内容等,并根据需求进行相应的操作。例如,我们可以检查消息内容是否违规,如果违规则删除或修改消息的内容,或者对发送消息的用户进行验证等操作。 总之,消息拦截器是openfire开发中非常有用的功能,能够帮助开发人员对即将发送或接收的消息进行灵活的处理和管理,以满足各种业务需求。 ### 回答3: Openfire是一个开源的实时协作服务器,可以用于构建聊天、即时通讯和实时协作的应用程序。消息拦截器是Openfire提供的一个功能,可以在消息传递的过程中拦截并处理消息。 消息拦截器可以用于在用户发送或接收消息时进行一些特定的处理操作。开发者可以通过实现Openfire提供的消息拦截器接口,在特定的时机中对消息进行拦截和处理。通过对拦截器的使用,可以提供一些自定义的功能,例如消息过滤、消息加密、消息记录等。 消息拦截器的工作流程如下: 1. 在Openfire配置文件中指定消息拦截器的类名或类路径。 2. 当用户发送或接收消息时,Openfire会调用每个已配置的拦截器。 3. 拦截器可以在消息传递的过程中对消息进行检查、修改或阻止传输。 4. 当拦截器处理完毕后,将会返回一个处理状态给Openfire。 5. 如果有多个拦截器,Openfire会按照配置的顺序依次调用。 开发者可以根据自己的需求实现自定义的消息拦截器。在实现拦截器时,需要实现Openfire提供的Interceptor接口,并重写其中的方法。拦截器的具体功能由开发者自己决定,例如可以通过拦截器实现消息的过滤、加密、解密、记录、转发等。 总之,Openfire的消息拦截器功能为开发者提供了一个定制化的处理消息的方式。通过拦截器,开发者可以对消息进行自定义处理,实现更加灵活和安全的消息传递。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值