HAP_編碼規則

weixin_34007291發表於2018-08-10

編碼生成器: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

相關文章