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,6 +602,8 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | ||
| 602 | Long fOutTime = map.get("fOutTime")==null?0:(Long.parseLong(map.get("fOutTime").toString())*1000); | 602 | Long fOutTime = map.get("fOutTime")==null?0:(Long.parseLong(map.get("fOutTime").toString())*1000); |
| 603 | int fIsOut = map.get("fIsOut")==null?0:Integer.parseInt(map.get("fIsOut").toString()); | 603 | int fIsOut = map.get("fIsOut")==null?0:Integer.parseInt(map.get("fIsOut").toString()); |
| 604 | Long fInTime = map.get("fInTime")==null?0:(Long.parseLong(map.get("fInTime").toString())*1000); | 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 | // String fInPlate = map.get("fInPlate")==null?"":map.get("fInPlate").toString(); | 608 | // String fInPlate = map.get("fInPlate")==null?"":map.get("fInPlate").toString(); |
| 607 | // String fInStatus = map.get("fInStatus")==null?"":map.get("fInStatus").toString(); | 609 | // String fInStatus = map.get("fInStatus")==null?"":map.get("fInStatus").toString(); |
| @@ -639,7 +641,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | @@ -639,7 +641,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | ||
| 639 | boolean isbc = false; | 641 | boolean isbc = false; |
| 640 | Long date = new Date().getTime(); | 642 | Long date = new Date().getTime(); |
| 641 | Long timeT = 0l; | 643 | Long timeT = 0l; |
| 642 | - if (fIsOut == 1 && fInTime != 0) { | 644 | + if (fIsOut == 1 && fInStatus != 0 && fInTime != 0) { |
| 643 | timeT = fInTime; | 645 | timeT = fInTime; |
| 644 | } else if (fIsOut == 2 && fOutTime != 0) { | 646 | } else if (fIsOut == 2 && fOutTime != 0) { |
| 645 | timeT = fOutTime; | 647 | timeT = fOutTime; |
| @@ -662,11 +664,11 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | @@ -662,11 +664,11 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | ||
| 662 | ScheduleRealInfo isr = list.get(i); | 664 | ScheduleRealInfo isr = list.get(i); |
| 663 | if (list.get(i).isDestroy()) | 665 | if (list.get(i).isDestroy()) |
| 664 | continue; | 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 | bcwcTime = Math.abs(isr.getDfsjT()-fOutTime); | 668 | bcwcTime = Math.abs(isr.getDfsjT()-fOutTime); |
| 667 | sr = isr; | 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 | bcwcTime = Math.abs(isr.getZdsjT()-fInTime); | 672 | bcwcTime = Math.abs(isr.getZdsjT()-fInTime); |
| 671 | sr = isr; | 673 | sr = isr; |
| 672 | } | 674 | } |
| @@ -685,11 +687,11 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | @@ -685,11 +687,11 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | ||
| 685 | ScheduleRealInfo isr = list.get(i); | 687 | ScheduleRealInfo isr = list.get(i); |
| 686 | if (list.get(i).isDestroy()) | 688 | if (list.get(i).isDestroy()) |
| 687 | continue; | 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 | zcwcTime = Math.abs(isr.getDfsjT()-fOutTime); | 691 | zcwcTime = Math.abs(isr.getDfsjT()-fOutTime); |
| 690 | sr = isr; | 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 | zcwcTime = Math.abs(isr.getZdsjT()-fInTime); | 695 | zcwcTime = Math.abs(isr.getZdsjT()-fInTime); |
| 694 | sr = isr; | 696 | sr = isr; |
| 695 | } | 697 | } |
| @@ -716,7 +718,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | @@ -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 | /*if(prevSr == null || (Math.abs((sr.getZdsjT()- fInTime)) < Math.abs((prevSr.getZdsjT()- fInTime)))){ | 722 | /*if(prevSr == null || (Math.abs((sr.getZdsjT()- fInTime)) < Math.abs((prevSr.getZdsjT()- fInTime)))){ |
| 721 | isMatch = true; | 723 | isMatch = true; |
| 722 | matchSr = sr; | 724 | matchSr = sr; |
| @@ -733,10 +735,10 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | @@ -733,10 +735,10 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | ||
| 733 | } | 735 | } |
| 734 | inTimeStr = fmtHHmm.print(fInTime); | 736 | inTimeStr = fmtHHmm.print(fInTime); |
| 735 | } else if (fIsOut == 2 && fOutTime != 0) { | 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 | isMatch = true; | 739 | isMatch = true; |
| 738 | matchSr = sr; | 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 | isMatch = true; | 742 | isMatch = true; |
| 741 | matchSr = nextSr; | 743 | matchSr = nextSr; |
| 742 | } | 744 | } |
| @@ -774,15 +776,15 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | @@ -774,15 +776,15 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | ||
| 774 | if(tagList.size() > 0){ | 776 | if(tagList.size() > 0){ |
| 775 | tag = tagList.get(0); | 777 | tag = tagList.get(0); |
| 776 | tag.setfBusIdIn(fBusID); | 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 | jdbcTemplate.update(sql,1,fInTime,inTimeStr,fBusID,fInParkName,real_id); | 781 | jdbcTemplate.update(sql,1,fInTime,inTimeStr,fBusID,fInParkName,real_id); |
| 780 | tag.setIn(1); | 782 | tag.setIn(1); |
| 781 | tag.setfBusIdIn(fInTime.toString()); | 783 | tag.setfBusIdIn(fInTime.toString()); |
| 782 | tag.setInTimeStr(inTimeStr); | 784 | tag.setInTimeStr(inTimeStr); |
| 783 | } else if(fIsOut==2){ | 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 | tag.setOut(1); | 788 | tag.setOut(1); |
| 787 | tag.setOutTime(fOutTime); | 789 | tag.setOutTime(fOutTime); |
| 788 | tag.setOutTimeStr(outTimeStr); | 790 | tag.setOutTimeStr(outTimeStr); |
| @@ -794,7 +796,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | @@ -794,7 +796,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | ||
| 794 | tag.setCarPlate(fPlateCode); | 796 | tag.setCarPlate(fPlateCode); |
| 795 | tag.setXlBm(lineCode); | 797 | tag.setXlBm(lineCode); |
| 796 | tag.setScheduleDateStr(dateStr); | 798 | tag.setScheduleDateStr(dateStr); |
| 797 | - if(fIsOut==1){ | 799 | + if(fIsOut==1 && fInStatus != 0){ |
| 798 | 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 (?,?,?,?,?,?,?,?,?,?,?,?)"; | 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 | jdbcTemplate.update(sql,real_id,1,fInTime,inTimeStr,matchSr.getClZbh(),fPlateCode,fBusID,lineCode,dateStr,matchSr.getQdzName(),matchSr.getZdzName(),fInParkName); | 801 | jdbcTemplate.update(sql,real_id,1,fInTime,inTimeStr,matchSr.getClZbh(),fPlateCode,fBusID,lineCode,dateStr,matchSr.getQdzName(),matchSr.getZdzName(),fInParkName); |
| 800 | tag.setIn(1); | 802 | tag.setIn(1); |
| @@ -802,7 +804,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | @@ -802,7 +804,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | ||
| 802 | tag.setInTimeStr(inTimeStr); | 804 | tag.setInTimeStr(inTimeStr); |
| 803 | } else if(fIsOut==2){ | 805 | } else if(fIsOut==2){ |
| 804 | 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 (?,?,?,?,?,?,?,?,?,?,?,?)"; | 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 | tag.setOut(1); | 808 | tag.setOut(1); |
| 807 | tag.setOutTime(fOutTime); | 809 | tag.setOutTime(fOutTime); |
| 808 | tag.setOutTimeStr(outTimeStr); | 810 | tag.setOutTimeStr(outTimeStr); |
| @@ -812,7 +814,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | @@ -812,7 +814,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen | ||
| 812 | 814 | ||
| 813 | // 进场班次,匹配的下一个班次中放实到字段内容 | 815 | // 进场班次,匹配的下一个班次中放实到字段内容 |
| 814 | ScheduleRealInfo mNextSr = dayOfSchedule.next(matchSr); | 816 | ScheduleRealInfo mNextSr = dayOfSchedule.next(matchSr); |
| 815 | - if(fIsOut==1 && mNextSr != null){ | 817 | + if(fIsOut==1 && fInStatus != 0 && mNextSr != null){ |
| 816 | ScheduleRealInfoTag tagNext = new ScheduleRealInfoTag(); | 818 | ScheduleRealInfoTag tagNext = new ScheduleRealInfoTag(); |
| 817 | Long nextId = mNextSr.getId(); | 819 | Long nextId = mNextSr.getId(); |
| 818 | // int haveNext = jdbcTemplate.queryForObject("select count(*) from bsth_c_s_sp_info_real_tag where real_id = "+nextId,Integer.class); | 820 | // int haveNext = jdbcTemplate.queryForObject("select count(*) from bsth_c_s_sp_info_real_tag where real_id = "+nextId,Integer.class); |