Commit d1b96a52b25b98be7ca83043c9425a3d1cd07c3f

Authored by 游瑞烽
1 parent a74426ec

道闸修改

src/main/java/com/bsth/service/directive/DirectiveServiceImpl.java
... ... @@ -41,6 +41,7 @@ import org.springframework.jdbc.core.BeanPropertyRowMapper;
41 41 import org.springframework.jdbc.core.JdbcTemplate;
42 42 import org.springframework.jdbc.core.RowMapper;
43 43 import org.springframework.stereotype.Service;
  44 +import org.springframework.transaction.annotation.Transactional;
44 45 import org.springframework.web.bind.annotation.RequestParam;
45 46  
46 47 import java.sql.ResultSet;
... ... @@ -589,6 +590,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl<D60, Integer> implemen
589 590 return rs;
590 591 }
591 592  
  593 + @Transactional
592 594 @Override
593 595 public Map<String,Object> stationSigno(Map<String, Object> map) {
594 596 Map<String, Object> rs = new HashMap<>();
... ... @@ -596,6 +598,7 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; implemen
596 598  
597 599 String fPlateCode = map.get("fPlateCode")==null?"":map.get("fPlateCode").toString();
598 600 String fBusID = map.get("fBusID")==null?"":map.get("fBusID").toString();
  601 + String fInParkName = map.get("fInParkName")==null?"":map.get("fInParkName").toString().trim();
599 602 Long fOutTime = map.get("fOutTime")==null?0:(Long.parseLong(map.get("fOutTime").toString())*1000);
600 603 int fIsOut = map.get("fIsOut")==null?0:Integer.parseInt(map.get("fIsOut").toString());
601 604 Long fInTime = map.get("fInTime")==null?0:(Long.parseLong(map.get("fInTime").toString())*1000);
... ... @@ -659,11 +662,11 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; implemen
659 662 ScheduleRealInfo isr = list.get(i);
660 663 if (list.get(i).isDestroy())
661 664 continue;
662   - if(fIsOut == 2 && (Math.abs(isr.getDfsjT()-fOutTime)<bcwcTime || (isr.getFcsjActualTime() != null && Math.abs(isr.getFcsjActualTime()-fOutTime)<bcwcTime))){
  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))){
663 666 bcwcTime = Math.abs(isr.getDfsjT()-fOutTime);
664 667 sr = isr;
665 668 }
666   - if(fIsOut == 1 && (Math.abs(isr.getZdsjT()-fInTime)<bcwcTime || (isr.getZdsjActualTime() != null && Math.abs(isr.getZdsjActualTime()-fOutTime)<bcwcTime))){
  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))){
667 670 bcwcTime = Math.abs(isr.getZdsjT()-fInTime);
668 671 sr = isr;
669 672 }
... ... @@ -682,11 +685,11 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; implemen
682 685 ScheduleRealInfo isr = list.get(i);
683 686 if (list.get(i).isDestroy())
684 687 continue;
685   - if(fIsOut == 2 && (Math.abs(isr.getDfsjT()-fOutTime)<bcwcTime || (isr.getFcsjActualTime() != null && Math.abs(isr.getFcsjActualTime()-fOutTime)<bcwcTime))){
  688 + if(fIsOut == 2 && (isr.getQdzName().trim().indexOf(fInParkName) != -1) && (Math.abs(isr.getDfsjT()-fOutTime)<bcwcTime || (isr.getFcsjActualTime() != null && Math.abs(isr.getFcsjActualTime()-fOutTime)<bcwcTime))){
686 689 bcwcTime = Math.abs(isr.getDfsjT()-fOutTime);
687 690 sr = isr;
688 691 }
689   - if(fIsOut == 1 && (Math.abs(isr.getZdsjT()-fInTime)<bcwcTime || (isr.getZdsjActualTime() != null && Math.abs(isr.getZdsjActualTime()-fOutTime)<bcwcTime))){
  692 + if(fIsOut == 1 && (isr.getZdzName().trim().indexOf(fInParkName) != -1) && (Math.abs(isr.getZdsjT()-fInTime)<bcwcTime || (isr.getZdsjActualTime() != null && Math.abs(isr.getZdsjActualTime()-fOutTime)<bcwcTime))){
690 693 bcwcTime = Math.abs(isr.getZdsjT()-fInTime);
691 694 sr = isr;
692 695 }
... ... @@ -714,19 +717,26 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; implemen
714 717 * 到达时间接近那个班次的进场/出场判定为这个班次
715 718 */
716 719 if (fIsOut == 1 && fInTime != 0) {
717   - if(prevSr == null || (Math.abs((sr.getZdsjT()- fInTime)) < Math.abs((prevSr.getZdsjT()- fInTime)))){
  720 + /*if(prevSr == null || (Math.abs((sr.getZdsjT()- fInTime)) < Math.abs((prevSr.getZdsjT()- fInTime)))){
718 721 isMatch = true;
719 722 matchSr = sr;
720 723 } else {//if(Math.abs((prevSr.getDfsjT())- fInTime) < 120)
721 724 isMatch = true;
722 725 matchSr = prevSr;
  726 + }*/
  727 + if(prevSr == null && (sr.getZdzName().trim().indexOf(fInParkName) != -1) && (Math.abs((sr.getZdsjT()- fInTime)) < Math.abs((prevSr.getZdsjT()- fInTime)))){
  728 + isMatch = true;
  729 + matchSr = sr;
  730 + } else if(prevSr.getZdzName().trim().indexOf(fInParkName) != -1){//if(Math.abs((prevSr.getDfsjT())- fInTime) < 120)
  731 + isMatch = true;
  732 + matchSr = prevSr;
723 733 }
724 734 inTimeStr = fmtHHmm.print(fInTime);
725 735 } else if (fIsOut == 2 && fOutTime != 0) {
726   - if(nextSr == null || (Math.abs((sr.getDfsjT()- fOutTime)) < Math.abs((nextSr.getDfsjT()- fOutTime)))){
  736 + if(nextSr == null && (sr.getQdzName().trim().indexOf(fInParkName) != -1) && (Math.abs((sr.getDfsjT()- fOutTime)) < Math.abs((nextSr.getDfsjT()- fOutTime)))){
727 737 isMatch = true;
728 738 matchSr = sr;
729   - } else{ // if(Math.abs((nextSr.getDfsjT())- fInTime) < 120)
  739 + } else if(nextSr.getQdzName().trim().indexOf(fInParkName) != -1){ // if(Math.abs((nextSr.getDfsjT())- fInTime) < 120)
730 740 isMatch = true;
731 741 matchSr = nextSr;
732 742 }
... ... @@ -765,14 +775,14 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; implemen
765 775 tag = tagList.get(0);
766 776 tag.setfBusIdIn(fBusID);
767 777 if(fIsOut==1){
768   - sql = "UPDATE bsth_c_s_sp_info_real_tag set `in` = ? ,in_time=?,in_time_str=?,f_bus_id_in=? WHERE real_id=?";
769   - jdbcTemplate.update(sql,1,fInTime,inTimeStr,fBusID,real_id);
  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 + jdbcTemplate.update(sql,1,fInTime,inTimeStr,fBusID,fInParkName,real_id);
770 780 tag.setIn(1);
771 781 tag.setfBusIdIn(fInTime.toString());
772 782 tag.setInTimeStr(inTimeStr);
773 783 } else if(fIsOut==2){
774   - sql = "UPDATE bsth_c_s_sp_info_real_tag set `out` =?,out_time=?,out_time_str=?,f_bus_id_out=? WHERE real_id=?";
775   - jdbcTemplate.update(sql,1,fOutTime,outTimeStr,fBusID,real_id);
  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);
776 786 tag.setOut(1);
777 787 tag.setOutTime(fOutTime);
778 788 tag.setOutTimeStr(outTimeStr);
... ... @@ -785,14 +795,14 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; implemen
785 795 tag.setXlBm(lineCode);
786 796 tag.setScheduleDateStr(dateStr);
787 797 if(fIsOut==1){
788   - 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)VALUES (?,?,?,?,?,?,?,?,?)";
789   - jdbcTemplate.update(sql,real_id,1,fInTime,inTimeStr,matchSr.getClZbh(),fPlateCode,fBusID,lineCode,dateStr);
  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 (?,?,?,?,?,?,?,?,?,?,?,?)";
  799 + jdbcTemplate.update(sql,real_id,1,fInTime,inTimeStr,matchSr.getClZbh(),fPlateCode,fBusID,lineCode,dateStr,matchSr.getQdzName(),matchSr.getZdzName(),fInParkName);
790 800 tag.setIn(1);
791 801 tag.setfBusIdIn(fInTime.toString());
792 802 tag.setInTimeStr(inTimeStr);
793 803 } else if(fIsOut==2){
794   - 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)VALUES (?,?,?,?,?,?,?,?,?)";
795   - jdbcTemplate.update(sql,real_id,1,fOutTime,outTimeStr,matchSr.getClZbh(),fPlateCode,fBusID,lineCode,dateStr);
  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 (?,?,?,?,?,?,?,?,?,?,?,?)";
  805 + jdbcTemplate.update(sql,real_id,1,fOutTime,outTimeStr,matchSr.getClZbh(),fPlateCode,fBusID,lineCode,dateStr,matchSr.getQdzName(),matchSr.getZdzName(),fInParkName);
796 806 tag.setOut(1);
797 807 tag.setOutTime(fOutTime);
798 808 tag.setOutTimeStr(outTimeStr);
... ... @@ -831,8 +841,8 @@ public class DirectiveServiceImpl extends BaseServiceImpl&lt;D60, Integer&gt; implemen
831 841 });
832 842  
833 843 if (tagNextList.size() < 1) {
834   - sql = "INSERT INTO bsth_c_s_sp_info_real_tag (real_id,sd_tag,sd_time,cl_zbh,car_plate,f_bus_id_sd,xl_bm,schedule_date_str)VALUES (?,?,?,?,?,?,?,?)";
835   - jdbcTemplate.update(sql,nextId,1,inTimeStr,matchSr.getClZbh(),fPlateCode,fBusID,lineCode,dateStr);
  844 + sql = "INSERT INTO bsth_c_s_sp_info_real_tag (real_id,sd_tag,sd_time,cl_zbh,car_plate,f_bus_id_sd,xl_bm,schedule_date_str,qdz_name,zdz_name)VALUES (?,?,?,?,?,?,?,?,?,?)";
  845 + jdbcTemplate.update(sql,nextId,1,inTimeStr,matchSr.getClZbh(),fPlateCode,fBusID,lineCode,dateStr,mNextSr.getQdzName(),mNextSr.getZdzName());
836 846 tagNext.setClZbh(matchSr.getClZbh());
837 847 tagNext.setCarPlate(fPlateCode);
838 848 tagNext.setXlBm(lineCode);
... ...