HAP_编码规则

编码生成器:http://eco.hand-china.com/doc/hap/latest/dev_guide/02.backend/25_code_rule.html

业务需求:
1. 界面新增加“只读”列显示序列
2. 重写保存接口
3. dto.setxxx设置序列值

ORA_20796_DOC_NUM_RULE
新建记录前调用获取序列
ora_20796_<姓名>20180810<6位序列>
ora_20796 _ora20796 _20180810 _10001

步骤1:增加字段
13265172-66f8a6ecbd898d0d.png
image.png
13265172-0ac15c24152be5cc.png
image.png
13265172-c56ff4572174df34.png
image.png
13265172-5f3f3453462faf99.png
image.png

接口类:方法名要和mapper.xml中新建的查询id一样


13265172-4308ddf4084c67b7.png
image.png

接口实现类


13265172-bc2bb1f325ba84f9.png
image.png

控制类
13265172-0272ccc3f142a5da.png
image.png

前端更改:
13265172-151cfd5789bf25f0.png
image.png

添加列


13265172-e8ce245ec4e3f206.png
image.png

重启 这样,我们就添加字段成功了

13265172-dac32eede0b480e4.png
image.png
步骤3:新建编码规则
13265172-3a954db0c79dc98b.png
image.png

更改控制类的插入方法


13265172-4aef216e2698802b.png
image.png

    @Autowired
    ISysCodeRuleProcessService codeRuleProcessService;



@RequestMapping(value = "/hap/demo/submit")
    @ResponseBody
    public ResponseData update(@RequestBody List<Ora20796Demo> dto, BindingResult result, HttpServletRequest request) {
        getValidator().validate(dto, result);

        if (result.hasErrors()) {
            ResponseData responseData = new ResponseData(false);
            responseData.setMessage(getErrorMessage(result, request));
            return responseData;
        }
        //设置编码
       // dto..setXXX(codeRuleProcessService.getRuleCode("编码code"))
        if(dto.size()>0){
            for(Ora20796Demo student:dto){
                try {
                    //使用动态参数,需要传入一个Map
                    //比如编码定义了一个变量${var}
                    Map<String,String> map = new HashMap<>();
                    map.put("name",student.getName());
                    student.setDocNum(codeRuleProcessService.getRuleCode("ORA_20796_DOC_NUM_RULE",map));
                } catch (CodeRuleException e) {
                    e.printStackTrace();
                }
            }
        }
        IRequest requestCtx = createRequestContext(request);
        return new ResponseData(service.batchUpdate(requestCtx, dto));
    }

重启:测试


13265172-86233daff820167b.png
image.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值