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](https://i.iter01.com/images/d644c34ef0aac832cf1f456c2c55b5115fa0eb30e6185ea62410eee2ac040a5f.webp)
image.png
![13265172-0ac15c24152be5cc.png](https://i.iter01.com/images/39212aac0b1bc1ffbdc48492c6c78e7951477cfd2b2052a5c6254f24015317a0.webp)
image.png
![13265172-c56ff4572174df34.png](https://i.iter01.com/images/e196a8379241ef32170c0b46a94dfff6476f5f1839f02cef68c339e9c7138973.webp)
image.png
![13265172-5f3f3453462faf99.png](https://i.iter01.com/images/a6bfb75afb59574ee98872d708db2b0e4529c241f92569eabc0e498be46bc9da.webp)
image.png
介面類:方法名要和mapper.xml中新建的查詢id一樣
![13265172-4308ddf4084c67b7.png](https://i.iter01.com/images/d844ba2b60c2eaeaa5c75f040eb21e0b31a0406e0a3c53cc0f1c00c84879eef6.webp)
image.png
介面實現類
![13265172-bc2bb1f325ba84f9.png](https://i.iter01.com/images/70c867ba8894375224077f39a052cbf71ef0ed0fb7856a1a1da5df4a7def6319.webp)
image.png
控制類
![13265172-0272ccc3f142a5da.png](https://i.iter01.com/images/a3f1121b534b31f03bf904c3901a8b6c73d3b5c55223433b807316c2605f8164.webp)
image.png
前端更改:
![13265172-151cfd5789bf25f0.png](https://i.iter01.com/images/68f86d78e93a43b22874bc576fd35f0fa42f5ff1867a38b0c04f0d9fb6a65fb4.webp)
image.png
新增列
![13265172-e8ce245ec4e3f206.png](https://i.iter01.com/images/3f28a37d5f24400bfb1fb93d88234316d4415e7d6322c69d11f0d0a07755a104.webp)
image.png
重啟 這樣,我們就新增欄位成功了
![13265172-dac32eede0b480e4.png](https://i.iter01.com/images/97b66e6a9a13001296fb1d4c07369bccb0962474b22768fff8085fb997bc15cb.webp)
image.png
步驟3:新建編碼規則
![13265172-3a954db0c79dc98b.png](https://i.iter01.com/images/918d2efcbe6f7a37a97cd5f62e279813e332105bddb18b11d5f8d5c264d9e52b.webp)
image.png
更改控制類的插入方法
![13265172-4aef216e2698802b.png](https://i.iter01.com/images/f3caf304d091cbbf57e7f239af7c11ebe7f57d984d112d1694da199f18f5ed1c.webp)
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](https://i.iter01.com/images/3a4f360758460def9cc5cde960fad4ae1cdd4f794dc621662e23af62686808ec.webp)
image.png
相關文章
- Protobuf編碼規則
- UTF-8編碼規則(轉)
- 主資料之編碼規則
- 體面編碼之命名規則
- 計算機編碼規則之:Base64編碼計算機
- SQLServer的排序規則(字符集編碼)SQLServer排序
- java安全編碼指南之:Thread API呼叫規則JavathreadAPI
- 4.編寫規則
- java安全編碼指南之:執行緒安全規則Java執行緒
- 開源相機管理庫Aravis學習——PixelFormat編碼規則ORM
- GB28181協議中20位編碼規則說明協議
- eKuiper Newsletter 2022-05|protobuf 編解碼支援、視覺化拖拽編寫規則UI視覺化
- Android 程式碼混淆規則Android
- Web前端編碼原則Web前端
- P001-根據編碼規則自動生成ID的函式函式
- cypress 個人編碼守則
- stylus編碼規範
- html編碼規範HTML
- Pear 編碼規範
- CSS編碼規範CSS
- Javascript編碼規範JavaScript
- python編碼規範Python
- 程式碼規範之前端編寫碼規範前端
- 基於 XAF Blazor 的規則引擎編輯器Blazor
- .Net Core 編碼規範
- 前端安全編碼規範前端
- WEB前端編碼規範Web前端
- 常見編碼規範
- .Net編碼規範整理
- 規則
- 【原始碼解析】AsyncTask的用法與規則原始碼
- 漲知識!你不知道的中國手機號碼的編碼和劃分規則
- Code rant: 從硬編碼到可配置、規則引擎、低程式碼DSL的複雜性時鐘
- Web前端安全之安全編碼原則Web前端
- 編碼規範 - 養成良好的Java編碼習慣Java
- HTML編碼規範建議HTML
- 前端開發編碼規範前端
- PHP編碼風格規範PHP