基于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、效果图

相关文章
基于Jeecgboot前后端分离的ERP系统开发代码生成(三)
基于Jeecgboot前后端分离的ERP系统开发代码生成(三)
610 0
|
7月前
|
存储 JavaScript
(ERP系统查看DWG)MxCAD APP调用内部弹框的方法
MxCAD APP 二次开发提供了调用项目内部弹框的接口,以保持样式统一。用户需创建 `test_dialog` 文件夹并依次创建 `dialog.ts`、`dialog.vue` 和 `index.ts` 文件来注册、构建和渲染弹框。通过 `useDialogIsShow` 钩子函数控制弹框显示,并可在方法中直接调用 `dialog.showDialog()` 来控制弹框显隐。此外,还支持监听确认或取消事件获取数据,以及通过配置 `vite.config.ts` 解决样式冲突问题。最终在 `src/index.ts` 中引入相关文件即可实现弹框功能。
|
JavaScript 前端开发
基于Jeecgboot前后端分离的ERP系统开发代码生成(四)
基于Jeecgboot前后端分离的ERP系统开发代码生成(四)
667 1
|
JavaScript 前端开发
基于Jeecgboot前后端分离的ERP系统开发系列--出库单(2)
基于Jeecgboot前后端分离的ERP系统开发系列--出库单(2)
159 1
|
BI 数据库
基于Jeecgboot前后端分离的ERP系统开发系列--出库单(1)
基于Jeecgboot前后端分离的ERP系统开发系列--出库单(1)
170 1
|
移动开发 供应链 前端开发
基于jeecgboot的ERP部分演示功能发布
基于jeecgboot的ERP部分演示功能发布
260 0
|
数据库
基于Jeecgboot前后端分离的ERP系统开发代码生成(六)
基于Jeecgboot前后端分离的ERP系统开发代码生成(六)
544 0
|
前端开发
基于Jeecgboot前后端分离的ERP系统开发系列--出库单(3)
基于Jeecgboot前后端分离的ERP系统开发系列--出库单(3)
169 0
基于Jeecgboot前后端分离的ERP系统开发代码生成(五)
基于Jeecgboot前后端分离的ERP系统开发代码生成(五)
497 0
|
11天前
|
消息中间件 缓存 JavaScript
如何开发ERP(离散制造-MTO)系统中的生产管理板块(附架构图+流程图+代码参考)
本文详解离散制造MTO模式下的ERP生产管理模块,涵盖核心问题、系统架构、关键流程、开发技巧及数据库设计,助力企业打通计划与执行“最后一公里”,提升交付率、降低库存与浪费。

热门文章

最新文章