Commit b65d207c39ffb9de766eac4f21bab665dc79e003
1 parent
b37d4e5b
1.道闸逻辑修正
Showing
1 changed file
with
17 additions
and
15 deletions
src/main/java/com/bsth/service/directive/DirectiveServiceImpl.java
| ... | ... | @@ -602,6 +602,8 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen |
| 602 | 602 | Long fOutTime = map.get("fOutTime")==null?0:(Long.parseLong(map.get("fOutTime").toString())*1000); |
| 603 | 603 | int fIsOut = map.get("fIsOut")==null?0:Integer.parseInt(map.get("fIsOut").toString()); |
| 604 | 604 | Long fInTime = map.get("fInTime")==null?0:(Long.parseLong(map.get("fInTime").toString())*1000); |
| 605 | + int fInStatus = map.get("fInStatus")==null?0:Integer.parseInt(map.get("fInStatus").toString()); | |
| 606 | + String fOutParkName = map.get("fOutParkName")==null?"":map.get("fOutParkName").toString().trim(); | |
| 605 | 607 | |
| 606 | 608 | // String fInPlate = map.get("fInPlate")==null?"":map.get("fInPlate").toString(); |
| 607 | 609 | // String fInStatus = map.get("fInStatus")==null?"":map.get("fInStatus").toString(); |
| ... | ... | @@ -639,7 +641,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen |
| 639 | 641 | boolean isbc = false; |
| 640 | 642 | Long date = new Date().getTime(); |
| 641 | 643 | Long timeT = 0l; |
| 642 | - if (fIsOut == 1 && fInTime != 0) { | |
| 644 | + if (fIsOut == 1 && fInStatus != 0 && fInTime != 0) { | |
| 643 | 645 | timeT = fInTime; |
| 644 | 646 | } else if (fIsOut == 2 && fOutTime != 0) { |
| 645 | 647 | timeT = fOutTime; |
| ... | ... | @@ -662,11 +664,11 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen |
| 662 | 664 | ScheduleRealInfo isr = list.get(i); |
| 663 | 665 | if (list.get(i).isDestroy()) |
| 664 | 666 | continue; |
| 665 | - if(fIsOut == 2 && (isr.getQdzName().trim().indexOf(fInParkName) != -1) && (Math.abs(isr.getDfsjT()-fOutTime)<bcwcTime || (isr.getFcsjActualTime() != null && Math.abs(isr.getFcsjActualTime()-fOutTime)<bcwcTime))){ | |
| 667 | + if(fIsOut == 2 && (isr.getQdzName().trim().indexOf(fOutParkName) != -1) && (Math.abs(isr.getDfsjT()-fOutTime)<bcwcTime || (isr.getFcsjActualTime() != null && Math.abs(isr.getFcsjActualTime()-fOutTime)<bcwcTime))){ | |
| 666 | 668 | bcwcTime = Math.abs(isr.getDfsjT()-fOutTime); |
| 667 | 669 | sr = isr; |
| 668 | 670 | } |
| 669 | - if(fIsOut == 1 && (isr.getZdzName().trim().indexOf(fInParkName) != -1) && (Math.abs(isr.getZdsjT()-fInTime)<bcwcTime || (isr.getZdsjActualTime() != null && Math.abs(isr.getZdsjActualTime()-fOutTime)<bcwcTime))){ | |
| 671 | + if(fIsOut == 1 && fInStatus != 0 && (isr.getZdzName().trim().indexOf(fInParkName) != -1) && (Math.abs(isr.getZdsjT()-fInTime)<bcwcTime || (isr.getZdsjActualTime() != null && Math.abs(isr.getZdsjActualTime()-fOutTime)<bcwcTime))){ | |
| 670 | 672 | bcwcTime = Math.abs(isr.getZdsjT()-fInTime); |
| 671 | 673 | sr = isr; |
| 672 | 674 | } |
| ... | ... | @@ -685,11 +687,11 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen |
| 685 | 687 | ScheduleRealInfo isr = list.get(i); |
| 686 | 688 | if (list.get(i).isDestroy()) |
| 687 | 689 | continue; |
| 688 | - if(fIsOut == 2 && (isr.getQdzName().trim().indexOf(fInParkName) != -1) && (Math.abs(isr.getDfsjT()-fOutTime)<zcwcTime || (isr.getFcsjActualTime() != null && Math.abs(isr.getFcsjActualTime()-fOutTime)<zcwcTime))){ | |
| 690 | + if(fIsOut == 2 && (isr.getQdzName().trim().indexOf(fOutParkName) != -1) && (Math.abs(isr.getDfsjT()-fOutTime)<zcwcTime || (isr.getFcsjActualTime() != null && Math.abs(isr.getFcsjActualTime()-fOutTime)<zcwcTime))){ | |
| 689 | 691 | zcwcTime = Math.abs(isr.getDfsjT()-fOutTime); |
| 690 | 692 | sr = isr; |
| 691 | 693 | } |
| 692 | - if(fIsOut == 1 && (isr.getZdzName().trim().indexOf(fInParkName) != -1) && (Math.abs(isr.getZdsjT()-fInTime)<zcwcTime || (isr.getZdsjActualTime() != null && Math.abs(isr.getZdsjActualTime()-fOutTime)<zcwcTime))){ | |
| 694 | + if(fIsOut == 1 && fInStatus != 0 && (isr.getZdzName().trim().indexOf(fInParkName) != -1) && (Math.abs(isr.getZdsjT()-fInTime)<zcwcTime || (isr.getZdsjActualTime() != null && Math.abs(isr.getZdsjActualTime()-fOutTime)<zcwcTime))){ | |
| 693 | 695 | zcwcTime = Math.abs(isr.getZdsjT()-fInTime); |
| 694 | 696 | sr = isr; |
| 695 | 697 | } |
| ... | ... | @@ -716,7 +718,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen |
| 716 | 718 | * |
| 717 | 719 | * 到达时间接近那个班次的进场/出场判定为这个班次 |
| 718 | 720 | */ |
| 719 | - if (fIsOut == 1 && fInTime != 0) { | |
| 721 | + if (fIsOut == 1 && fInStatus != 0 && fInTime != 0) { | |
| 720 | 722 | /*if(prevSr == null || (Math.abs((sr.getZdsjT()- fInTime)) < Math.abs((prevSr.getZdsjT()- fInTime)))){ |
| 721 | 723 | isMatch = true; |
| 722 | 724 | matchSr = sr; |
| ... | ... | @@ -733,10 +735,10 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen |
| 733 | 735 | } |
| 734 | 736 | inTimeStr = fmtHHmm.print(fInTime); |
| 735 | 737 | } else if (fIsOut == 2 && fOutTime != 0) { |
| 736 | - if(nextSr == null && (sr.getQdzName().trim().indexOf(fInParkName) != -1) && (Math.abs((sr.getDfsjT()- fOutTime)) < Math.abs((nextSr.getDfsjT()- fOutTime)))){ | |
| 738 | + if(nextSr == null && (sr.getQdzName().trim().indexOf(fOutParkName) != -1) && (Math.abs((sr.getDfsjT()- fOutTime)) < Math.abs((nextSr.getDfsjT()- fOutTime)))){ | |
| 737 | 739 | isMatch = true; |
| 738 | 740 | matchSr = sr; |
| 739 | - } else if(nextSr.getQdzName().trim().indexOf(fInParkName) != -1){ // if(Math.abs((nextSr.getDfsjT())- fInTime) < 120) | |
| 741 | + } else if(nextSr.getQdzName().trim().indexOf(fOutParkName) != -1){ // if(Math.abs((nextSr.getDfsjT())- fInTime) < 120) | |
| 740 | 742 | isMatch = true; |
| 741 | 743 | matchSr = nextSr; |
| 742 | 744 | } |
| ... | ... | @@ -774,15 +776,15 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen |
| 774 | 776 | if(tagList.size() > 0){ |
| 775 | 777 | tag = tagList.get(0); |
| 776 | 778 | tag.setfBusIdIn(fBusID); |
| 777 | - if(fIsOut==1){ | |
| 778 | - sql = "UPDATE bsth_c_s_sp_info_real_tag set `in` = ? ,in_time=?,in_time_str=?,f_bus_id_in=?,out_name=? WHERE real_id=?"; | |
| 779 | + if(fIsOut==1 && fInStatus != 0){ | |
| 780 | + sql = "UPDATE bsth_c_s_sp_info_real_tag set `in` = ? ,in_time=?,in_time_str=?,f_bus_id_in=?,in_name=? WHERE real_id=?"; | |
| 779 | 781 | jdbcTemplate.update(sql,1,fInTime,inTimeStr,fBusID,fInParkName,real_id); |
| 780 | 782 | tag.setIn(1); |
| 781 | 783 | tag.setfBusIdIn(fInTime.toString()); |
| 782 | 784 | tag.setInTimeStr(inTimeStr); |
| 783 | 785 | } else if(fIsOut==2){ |
| 784 | - sql = "UPDATE bsth_c_s_sp_info_real_tag set `out` =?,out_time=?,out_time_str=?,f_bus_id_out=?,in_name=? WHERE real_id=?"; | |
| 785 | - jdbcTemplate.update(sql,1,fOutTime,outTimeStr,fBusID,fInParkName,real_id); | |
| 786 | + sql = "UPDATE bsth_c_s_sp_info_real_tag set `out` =?,out_time=?,out_time_str=?,f_bus_id_out=?,out_name=? WHERE real_id=?"; | |
| 787 | + jdbcTemplate.update(sql,1,fOutTime,outTimeStr,fBusID,fOutParkName,real_id); | |
| 786 | 788 | tag.setOut(1); |
| 787 | 789 | tag.setOutTime(fOutTime); |
| 788 | 790 | tag.setOutTimeStr(outTimeStr); |
| ... | ... | @@ -794,7 +796,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen |
| 794 | 796 | tag.setCarPlate(fPlateCode); |
| 795 | 797 | tag.setXlBm(lineCode); |
| 796 | 798 | tag.setScheduleDateStr(dateStr); |
| 797 | - if(fIsOut==1){ | |
| 799 | + if(fIsOut==1 && fInStatus != 0){ | |
| 798 | 800 | sql = "INSERT INTO bsth_c_s_sp_info_real_tag (real_id,`in`,in_time,in_time_str,cl_zbh,car_plate,f_bus_id_in,xl_bm,schedule_date_str,qdz_name,zdz_name,in_name)VALUES (?,?,?,?,?,?,?,?,?,?,?,?)"; |
| 799 | 801 | jdbcTemplate.update(sql,real_id,1,fInTime,inTimeStr,matchSr.getClZbh(),fPlateCode,fBusID,lineCode,dateStr,matchSr.getQdzName(),matchSr.getZdzName(),fInParkName); |
| 800 | 802 | tag.setIn(1); |
| ... | ... | @@ -802,7 +804,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen |
| 802 | 804 | tag.setInTimeStr(inTimeStr); |
| 803 | 805 | } else if(fIsOut==2){ |
| 804 | 806 | sql = "INSERT INTO bsth_c_s_sp_info_real_tag (real_id,`out`,out_time,out_time_str,cl_zbh,car_plate,f_bus_id_out,xl_bm,schedule_date_str,qdz_name,zdz_name,out_name)VALUES (?,?,?,?,?,?,?,?,?,?,?,?)"; |
| 805 | - jdbcTemplate.update(sql,real_id,1,fOutTime,outTimeStr,matchSr.getClZbh(),fPlateCode,fBusID,lineCode,dateStr,matchSr.getQdzName(),matchSr.getZdzName(),fInParkName); | |
| 807 | + jdbcTemplate.update(sql,real_id,1,fOutTime,outTimeStr,matchSr.getClZbh(),fPlateCode,fBusID,lineCode,dateStr,matchSr.getQdzName(),matchSr.getZdzName(),fOutParkName); | |
| 806 | 808 | tag.setOut(1); |
| 807 | 809 | tag.setOutTime(fOutTime); |
| 808 | 810 | tag.setOutTimeStr(outTimeStr); |
| ... | ... | @@ -812,7 +814,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen |
| 812 | 814 | |
| 813 | 815 | // 进场班次,匹配的下一个班次中放实到字段内容 |
| 814 | 816 | ScheduleRealInfo mNextSr = dayOfSchedule.next(matchSr); |
| 815 | - if(fIsOut==1 && mNextSr != null){ | |
| 817 | + if(fIsOut==1 && fInStatus != 0 && mNextSr != null){ | |
| 816 | 818 | ScheduleRealInfoTag tagNext = new ScheduleRealInfoTag(); |
| 817 | 819 | Long nextId = mNextSr.getId(); |
| 818 | 820 | // int haveNext = jdbcTemplate.queryForObject("select count(*) from bsth_c_s_sp_info_real_tag where real_id = "+nextId,Integer.class); | ... | ... |