迟到规则修改
diff --git a/src/main/java/com/supwisdom/dlpay/atte/dao/impl/AtteClassDaoImpl.java b/src/main/java/com/supwisdom/dlpay/atte/dao/impl/AtteClassDaoImpl.java
index 7262bad..4ee8c12 100644
--- a/src/main/java/com/supwisdom/dlpay/atte/dao/impl/AtteClassDaoImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/atte/dao/impl/AtteClassDaoImpl.java
@@ -610,8 +610,8 @@
if(StringUtil.isEmpty(custid)||StringUtil.isEmpty(attedate)){
return null;
}
- String sql=" select bean from TAtteDtl bean where bean.status=1 and bean.attedate= :adate and bean.custid= :cid ";
-
+ String sql=" select bean from TAtteDtl bean left join TNcTime nc on bean.timeid =nc.timeid where bean.status=1 and bean.attedate= :adate and bean.custid= :cid ";
+ sql+=" order by bean.attedate asc,nc.btime asc";
Query query=entityManager.createQuery(sql,TAtteDtl.class);
query.setParameter("adate",attedate);
query.setParameter("cid",custid);
diff --git a/src/main/java/com/supwisdom/dlpay/atte/service/impl/AtteClassServiceImpl.java b/src/main/java/com/supwisdom/dlpay/atte/service/impl/AtteClassServiceImpl.java
index b622d79..cbeb19b 100644
--- a/src/main/java/com/supwisdom/dlpay/atte/service/impl/AtteClassServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/atte/service/impl/AtteClassServiceImpl.java
@@ -323,25 +323,32 @@
for(AtteDtl dtl:list){
List<TAtteDtl> details=atteClassDao.getDetailList(dtl.getCustid(),attedate) ;
if(details!=null){
- for(TAtteDtl detail:details){
- int state=getState(detail.getTimeid(),dtl.getAttetime());
- if(detail.getState()==0){
- detail.setState(state);
- detail.setUpdatetime(DateUtil.getNow());
- atteClassDao.updateAtteDtl(detail);
- }else if(detail.getState()==2&&state==1){
- detail.setState(state);
- detail.setUpdatetime(DateUtil.getNow());
- atteClassDao.updateAtteDtl(detail);
- }
- }
+
+ for(int i=0;i<details.size();i++){
+ TAtteDtl detail=details.get(i);
+ Integer nextid=null;
+ if((i==0 || i==2)&&details.size()==4){
+ nextid=details.get(i+1).getTimeid();//考离时间段
+ }
+ int state=getState(detail.getTimeid(),dtl.getAttetime(),nextid);
+ if(detail.getState()==0){
+ detail.setState(state);
+ detail.setUpdatetime(DateUtil.getNow());
+ atteClassDao.updateAtteDtl(detail);
+ }else if(detail.getState()==2&&state==1){
+ detail.setState(state);
+ detail.setUpdatetime(DateUtil.getNow());
+ atteClassDao.updateAtteDtl(detail);
+ }
+ }
+
}
}
return true;
}
// 判断流水状态 0-未打卡 1-正常 2-迟到/早退 3-请假
- public int getState(Integer timeid,String attetime){
+ public int getState(Integer timeid,String attetime,Integer nextid){
int flag=0;
TNcTime time=ncTimeDao.findByTimeId(timeid);
if(time==null){
@@ -353,8 +360,11 @@
int emin=getDiffMin(attetime,etime);
int d_min=0;
if(time.getTimetype()==1){ //考到
- TBusinesspara b_para= businessparaDao.findByParakey("atte_bmin");
- d_min=Integer.parseInt(b_para.getParaval());
+ //考离
+ TNcTime nexttime=ncTimeDao.findByTimeId(nextid);
+ String lasttime=nexttime.getEtime().replace(":","")+"00";
+
+ d_min=getDiffMin(etime,lasttime);
if(bmin>0){ //
flag=0;
}else {
@@ -367,15 +377,9 @@
}
}
}else if(time.getTimetype()==2){ //考离
- TBusinesspara e_para= businessparaDao.findByParakey("atte_emin");
- d_min=Integer.parseInt(e_para.getParaval());
- if(bmin>d_min){
- flag=0;
- }else if(bmin<d_min&&bmin>0){
- flag=2;
- }else if(bmin<0&&emin>0){
+ if(bmin<=0&&emin>=0){
flag=1;
- }else{
+ }else {
flag=0;
}
}else{
diff --git a/src/main/resources/templates/atte/timedtl/index.html b/src/main/resources/templates/atte/timedtl/index.html
index 9b353a0..ed80a73 100644
--- a/src/main/resources/templates/atte/timedtl/index.html
+++ b/src/main/resources/templates/atte/timedtl/index.html
@@ -130,16 +130,24 @@
>
</el-table-column>
<el-table-column
- prop="state"
label="考勤状态"
- :formatter="statefor"
>
+ <template scope="scope">
+ <span v-if="scope.row.state=='0'" class="layui-badge layui-bg-orange">未打卡</span>
+ <span v-if="scope.row.state=='1'" class="layui-badge layui-bg-green">正常</span>
+ <span v-if="scope.row.state=='2'" class="layui-badge layui-bg-red">迟到</span>
+ <span v-if="scope.row.state=='3'" class="layui-badge layui-bg-gray">请假</span>
+ </template>
</el-table-column>
<el-table-column
- prop="oldstate"
label="原始状态"
- :formatter="oldstatefor"
>
+ <template scope="scope">
+ <span v-if="scope.row.oldstate=='0'" class="layui-badge layui-bg-orange">未打卡</span>
+ <span v-if="scope.row.oldstate=='1'" class="layui-badge layui-bg-green">正常</span>
+ <span v-if="scope.row.oldstate=='2'" class="layui-badge layui-bg-red">迟到</span>
+ <span v-if="scope.row.oldstate=='3'" class="layui-badge layui-bg-gray">请假</span>
+ </template>
</el-table-column>
<el-table-column
prop="custtypeid"
@@ -222,7 +230,7 @@
pageSize:10,
totSize:0,
currentRow: null,
- stategrplist:[{value:0,label:'未打卡'},{value:1,label:'正常'},{value:2,label:'迟到'},{value:3,label:'请假'},{value:4,label:'旷工'},],
+ stategrplist:[{value:0,label:'未打卡'},{value:1,label:'正常'},{value:2,label:'迟到'},{value:3,label:'请假'},],
attedtlform:{
startdate:Date.now(),
enddate:Date.now(),