0
点赞
收藏
分享

微信扫一扫

基于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、在在线开发里的系统编码规则里增加一条记录如下

基于jeecgboot的ERP单据中增加编号的方法_自定义

 对应的实现类就是上面的

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单据中增加编号的方法_自定义_02

 

举报

相关推荐

0 条评论