本帖最后由 凯特-王超 于 2021-9-8 14:58 编辑
一、实现效果· 有2种选择,“继承”、“加1”供用户选择。 ·“继承”的意思是用户的本条记录继承上一条记录的值,“加1”的意思是,用户的本条记录的值在上一条记录的值的基础上加1。 如图一:
图一
二、实现思路
思路: ① 根据当前登陆人,查询自己的记录并根据创建时间倒序,
② 如果不存在设置初始编号为一,
③ 如果存在,返回倒序的第一条数据编号,
④ 判断是继承还是加一操作,
⑤ 如果是继承把返回的编号设置回编号
⑥ 如果是加一把返回的编号加一,设置回编号
三、具体操作
在表单字段录入方式编写值改变事件 如图二:
图二
var form = field.up('jeformview');
//获取数据录入方式
var FS = form.getValue("ZDLR_LRFSZD_CODE");
//录入编号
var ZDLR_LRBH = form.getValue("ZDLR_LRBH");
//如果为空结束
if(JE.isEmpty(FS)){
return;
}else{
//当前登录人id
var userId = JE.currentUser.userId;
//登记时间
var time = form.getValue("SY_CREATETIME");
var obj = JE.ajax({
url:'/je/input/getInfoByUserId',
params:{
userId:userId,
time:time
}
});
//是否有同一登录人的编辑的数据,如果没有第一次操作设置初始值为1
if(obj.obj==false){
form.setValues({
ZDLR_LRBH:1
},false);
}else{
//如果是继承 等于上次编号 编码
if(FS==1){
form.setValues({
ZDLR_LRBH:obj.obj
},false);
//如果是自增 最后一次数据编码+1
}else{
var num = JE.toNum(obj.obj);
form.setValues({
ZDLR_LRBH:num+1
},false);
}
}
}
四、相关代码
后台写相应的代码。
@Service("inputService")
public class inputServiceImpl implements inputService {
@Autowired
private MetaService metaService;
@Override
public Object getById(MethodArgument param) {
//用户id
String userId = param.getParameter("userId");
//登记时间
String time = param.getParameter("time");
List<DynaBean> dynaBeanList = metaService.select("JE_ZDLR",
1,ConditionsWrapper.builder().eq("SY_CREATEUSERID", userId)
.orderByDesc("SY_CREATETIME"));
if(dynaBeanList == null || dynaBeanList.size()==0) {
//如果没有当前登陆人操作的数据,返回初始值1
return false;
}else {
//获取最近时间的编号返回
String zdlr_lrbh =dynaBeanList.get(0).getStr("ZDLR_LRBH");
return zdlr_lrbh;
}
}
}
五、关键字
自动录入、“加1”、自动录入数据
|