后端规范补充
各层相同
1、JAVA的Controller层、Service层及impl、Mapper层、resources包下的mapper,实现同一个方法的各层方法名相同、url保持相同。
Controller层
@PostMapping("/add")
@ApiOperation(value = "唐筛更新")
public AjaxResult<Boolean> add(@RequestBody SyndromeVO param, InfoVO info) {
param.setInsertUser(info.getUserId());
syndromeService.add(param);
return AjaxResult.success(true);
}
Service层
/**
* 增加唐筛结论
*
* @param item item
* @return boolean
*/
Boolean add(SyndromeVO item);
@Override
public Boolean add(SyndromeVO item) {
syndromeMapper.insert(new SyndromePO()
.setId(UidGenrator.next())
.setAfp(item.getAfp())
.setHcg(item.getHcg())
.setUe3(item.getUe3())
.setConclusion(item.getConclusion())
.setPappa(item.getPappa())
);
return true;
Mapper层同理
2、如上代码:controller采用swagger注释、接口层 添加如上注释、每层文件添加作者信息
/**
* Description: 唐筛服务实现
*
* @author likang
* date 2021 /02/28 13:58:50
*/
3、注入:不再使用@Autowired
sql 问题及总结
1、更新的sql 要记录在发版sql记录里面,位置为web端的sql文件夹。
2、废弃字段,在原来的数据表里面备注加**@废弃**
3、sql语法参考
<select id="query" resultType="com.edan.emr.common.domain.vo.amy.RegisterVO">
select
t.*
from(<include refid="preganetAmyInfo"/>) t
</select>
<sql id="preganetAmyInfo">
select
sm.id member_id,
sm.pregant_manual_no
</sql>
<if test="pregantManualNo_select!=null and pregantManualNo_select!=''">
and sm.pregant_manual_no like CONCAT('%',#{pregantManualNo_select}::text,'%')
</if>
:: text 需要加上
在Pg中,::是指将前面的内容强制转换为:: 后面所指定的数据类型,以满足一些查询或是函数对数据类型的要求。
count(sm.household_type='0'or NULL ) AS census,
计数值为某个值 记得 加or NULL 否则会把为null的也统计进去
EXTRACT(YEAR FROM age(m.birth_date) ) as age,
age() 函数用法
输入两个时间戳,计算两个时间之间的间隔,如果是计算当前时间与某一时间的间隔,第一个时间戳入参可省略。
extract函数是从日期或者时间数值里面抽取子域,比如年、月、日等。source必须是timestamp、time、interval类型的值表达式。field是一个标识符或字符串,是从源数据中的抽取的域。
to_char(shrv.visit_date , 'yyyy-mm-dd hh24:mi:ss') visit_date,
to_char(待转换值,转换格式);
COALESCE(totalHospitals,0) totalHospitals,
COALESCE函数是返回参数中的第一个非null的值,它要求参数中至少有一个是非null的,如果参数都是null会报错。
select row_number() over (order by sm.create_record_time desc) as number
ROW_NUMBER() OVER() 的用法详解:over可以对数据进行分组及排序,执行后将会产生结果集,row_number()会对这些结果集进行编号
position('1' in hist.present_illness_hist) diabetes,
POSITION() 函数返回字符串中子字符串的位置
前端坑/规范记录
- 表格有选择框时,且该选择框服务于导出等功能。建议:rowkey要存在实际的物理意义,若变化,导出的数据可能存在问题。
- 样式规范
1、冒号后面有一个空格
2、选择器和括号之间保留一个空格
h3 {
color: pink;
font-size: 20px;
}