Commit b65d207c39ffb9de766eac4f21bab665dc79e003

Authored by 王通
1 parent b37d4e5b

1.道闸逻辑修正

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&lt;D60, Integer&gt; implemen @@ -685,11 +687,11 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; 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&lt;D60, Integer&gt; implemen @@ -716,7 +718,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; 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&lt;D60, Integer&gt; implemen @@ -733,10 +735,10 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; 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&lt;D60, Integer&gt; implemen @@ -774,15 +776,15 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; 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&lt;D60, Integer&gt; implemen @@ -794,7 +796,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; 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&lt;D60, Integer&gt; implemen @@ -802,7 +804,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; 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&lt;D60, Integer&gt; implemen @@ -812,7 +814,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; 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);