基于jeecgboot的ERP单据中增加编号的方法

简介: 基于jeecgboot的ERP单据中增加编号的方法

    我们在开发ERP单据的时候,一个有规则自定义的单据编号是需要的,所以今天我们来讲讲在jeecgboot中如何增加自定义有自己规则的单据编号。

   下面就以销售出库单据的编号为例:

   1、首先根据jeecgboot单据编号规则,我们建立一个继承自IFillRuleHandler的类

如下代码:

/**
 * 填值规则:生成销售出库单号
 * 
 */
public class SaleOutNumberRule implements IFillRuleHandler {
    @Override
    public Object execute(JSONObject params, JSONObject formData) {
        String prefix = "XSCK";
        //订单前缀默认为XSCK 如果规则参数不为空,则取自定义前缀
        if (params != null) {
            Object obj = params.get("prefix");
            if (obj != null) prefix = obj.toString();
        }
        SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
        int random = RandomUtils.nextInt(90) + 10;
        String value = prefix + format.format(new Date()) + random;
        // 根据formData的值的不同,生成不同的订单号
        String name = formData.getString("name");
        if (!StringUtils.isEmpty(name)) {
            value += name;
        }
        return value;
    }
}

   上面设置了前缀为XSCK

   2、在在线开发里的系统编码规则里增加一条记录如下

对应的实现类就是上面的

3、在生成的销售出库单前端代码里ErpSaleOutForm.vue增加如下内容:

import { getAction, putAction } from '@/api/manage'
const ruleBaseURL = '/sys/fillRule/executeRuleByCode/'
url: {
          add: "/sale/erpSaleOut/add",
          edit: "/sale/erpSaleOut/edit",
          queryById: "/sale/erpSaleOut/queryById",
          erpSaleOutDetail: {
            list: '/sale/erpSaleOut/queryErpSaleOutDetailByMainId'
          },
          rule: {
            orderCode: ruleBaseURL + 'sale_out_no'
          },
        }
getOrderCode() {
        putAction(this.url.rule.orderCode, this.model).then(res => {
         // 执行成功,获取返回的订单编号值,并赋到页面上
        if (res.success) {
        this.model.code = res.result
        }
       })
      },
      addBefore(){
        this.erpSaleOutDetailTable.dataSource=[]
        this.getOrderCode()
      },

4、效果图

相关文章
|
6月前
|
BI
基于Jeecgboot前后端分离的ERP系统开发代码生成(三)
基于Jeecgboot前后端分离的ERP系统开发代码生成(三)
531 0
|
6月前
|
JavaScript 前端开发
基于Jeecgboot前后端分离的ERP系统开发代码生成(四)
基于Jeecgboot前后端分离的ERP系统开发代码生成(四)
540 1
|
6月前
|
JavaScript 前端开发
基于Jeecgboot前后端分离的ERP系统开发系列--出库单(2)
基于Jeecgboot前后端分离的ERP系统开发系列--出库单(2)
74 1
|
6月前
|
BI 数据库
基于Jeecgboot前后端分离的ERP系统开发系列--出库单(1)
基于Jeecgboot前后端分离的ERP系统开发系列--出库单(1)
73 1
|
6月前
|
移动开发 供应链 前端开发
基于jeecgboot的ERP部分演示功能发布
基于jeecgboot的ERP部分演示功能发布
120 0
|
6月前
|
数据库
基于Jeecgboot前后端分离的ERP系统开发代码生成(六)
基于Jeecgboot前后端分离的ERP系统开发代码生成(六)
446 0
|
6月前
|
前端开发
基于Jeecgboot前后端分离的ERP系统开发系列--出库单(3)
基于Jeecgboot前后端分离的ERP系统开发系列--出库单(3)
84 0
|
6月前
基于Jeecgboot前后端分离的ERP系统开发代码生成(五)
基于Jeecgboot前后端分离的ERP系统开发代码生成(五)
426 0
|
2月前
|
前端开发 JavaScript 关系型数据库
如何开发一个ERP系统:从零开始构建
【9月更文第4天】企业资源计划(ERP)系统是现代企业管理不可或缺的一部分,它集成了公司的关键业务流程,并提供了统一的数据管理平台。本文将探讨如何从零开始构建一个简单的ERP系统,并提供一些基本的代码示例来演示关键组件的开发过程。
688 3
|
4月前
|
存储 安全 数据安全/隐私保护
ERP系统的灾备与数据恢复:保障企业业务连续性
【7月更文挑战第29天】 ERP系统的灾备与数据恢复:保障企业业务连续性
230 2