HAP_编码规则
2018-08-10 本文已影响0人
灯下驼贼
编码生成器: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:增加字段
image.png
image.png
image.png
image.png
接口类:方法名要和mapper.xml中新建的查询id一样
image.png
接口实现类
image.png
控制类
image.png
前端更改:
image.png
添加列
image.png
重启 这样,我们就添加字段成功了
image.png步骤3:新建编码规则
image.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));
}
重启:测试
image.png