庭审管理中动态显示今天起7日内的数据,动态查询,并根据已有数据判断新增和修改时的时间冲突问题(2)

    上一篇解决到了对开庭排期的save操作,暂且为考虑时间冲突。

    在开庭排期结束之后,能够在list界面中看到相应的效果。同时,也可以进行对记录员、是否公开开庭、旁听、境外旁听、笔录内容的设置。此时便是通过另外一个界面进行的

开庭排期的部分数据已经显示在界面上,设为disabled,不可使用。同时需要注意:在保存的时候需要进行$("#id").removeAttr("disabled")。原因是:如果不接触disabled,那么

这几个属性都将无效,会报错。

  8.重中之重:时间冲突问题。

    刚开始我的时间冲突问题是写在js中进行解决的,虽然成功解决。但是由于js过长,并且会出现浏览器的兼容问题。于是,便改写都后台。时间冲突问题解决的关键是分析清楚

各种情形,根据每一种情形的不同来设定解决方案。

    首先是参数问题:时间造成冲突的根本原因是在统一法庭、同一天中场次时间重合,所以数据冲突的时候,查询的条件就必须限定在同一法庭、同一天。由于冲突的时间是时

分秒之间的冲突,所以开始和结束时间也是必要的参数。 houseId、openTime、beginTime、endTime。

    其次是判定条件的问题

    (1)根据法庭和天查询出已有的数据:此时出现新的判定条件,list。如果list为空,那么说明不可能会出现冲突,反之需要进一步判断

    (2)法庭排期是新建还是更改的问题,id也成为判定条件。

    (3)是否可以共用,如果都可以公用,那么就不存在冲突的问题,如果有一个不能公用,那么就需要进行判定。

    (4)判定完成以后返回值的问题,使用boolean isSave来判断是否可保存。

    于是,调理就比较清晰了。

    ----list是否为空:在list为空时,无冲突。在list不为空时,进行对id的判断

    ----id是否为空:在两种条件下,分别对当前操作的法庭排期是否公用进行判断。

         如果id为空,不可共用:循环判断时间是否合适,如果不可以isSave=false,直接return跳出循环

         如果id为空,可以公用:循环判断,如果list中的有不可共用的并且时间有冲突isSave = false,return。如果都可共用,那么isSave = true

         如果id不为空,不可共用:循环判断时间是否合适,不合适跳出循环。

         如果id不为空,可以共用:循环判断是否有不可共用并时间冲突的,不合适就跳出循环。

    ----最后返回:isSave。

    在js中接收参数isSave。如果是true,就调用save方法,将数据保存到数据库。如果false,那么就alert出提示信息,并且返回。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章