一.在许多时候我们需要让某个东西自增,好比医院挂号时的流水号它是唯一并且每个人挂号就会出现一条,而今天我要演示的就是点击模态框然后使我一个隐藏的申请id自增。我的自增方法通过下面实现,首先我要获取当天日期来作为我自增拼接的条件。我在模态框里隐藏了一个input标签,这个标签用来放申请单号。
<input type="hidden" name="AplicationNum" id="IAplicationNum" />
//获取当天日期
var date = new Date();
var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
var currentDate = date.getDate() <10 ? "0" + date.getDate() : date.getDate();
dateString = date.getFullYear() +"-" + month + "-" + currentDate;
var hours = date.getHours() > 9 ?date.getHours() : "0" + date.getHours();
var minutes = date.getMinutes() > 9? date.getMinutes() : "0" + date.getMinutes();
var seconds = date.getSeconds() > 9? date.getSeconds() : "0" + date.getSeconds();
dateTime = dateString +" " + hours + ":" + minutes + ":" + seconds;
二.在视图这边写一个方法用post请求传参去控制器再把控制器返回的值赋值到我定义的input标签里。
三.控制器
把参数传了过来后查询我这个医嘱明细表里的申请单号和开嘱时间,如果dbNumber查询出了数据再判断他是不是当天新增的,如果数据库里查到的dbNumber不大于0则执行else里面的方法拼接"ys"+dateString
- “1”,否则在拼接ys并在当天的基础上加上查询到的条数,然后返回到也页面这个时候隐藏的input标签就有值了。
public ActionResult AddNumber(string dateString)
{
var dbNumber = (from tbNumber in myModels.B_DoctoradviceDetail
select new DoctoradviceVo
{
AplicationNum=tbNumber.AplicationNum,
StartEnjointime=tbNumber.StartEnjointime
}).ToList();
dbNumber = dbNumber.Where(m =>m.StartEnjointime.Contains(DateTime.Today.ToString("yyy-MM-dd"))).ToList();
var AplicationNum = "";
if (dbNumber.Count > 0)
{
double shuzi = 1 +dbNumber.Count;
AplicationNum = "ys"+dateString + shuzi;
}
else
{
AplicationNum ="ys"+dateString + "1";
}
return Json(AplicationNum,
JsonRequestBehavior.AllowGet);
}