Commit 7ac2ae0561110fa3766ac045a8513c8e1da83d93

Authored by 潘钊
1 parent 151fe86f

update...

src/main/java/com/bsth/controller/real/CarParkRealController.java
... ... @@ -27,4 +27,10 @@ public class CarParkRealController {
27 27 public Map<String, Object> realChange(@RequestParam String s, @RequestParam String d){
28 28 return CarParkRealHandler.realChange(s, d);
29 29 }
  30 +
  31 +
  32 + @RequestMapping(value = "clear_berth", method = RequestMethod.POST)
  33 + public Map<String, Object> clear_berth(@RequestParam String b){
  34 + return CarParkRealHandler.clear_berth(b);
  35 + }
30 36 }
... ...
src/main/java/com/bsth/data/real_park/CarParkRealHandler.java
... ... @@ -188,6 +188,28 @@ public class CarParkRealHandler {
188 188 return rs;
189 189 }
190 190  
  191 + /**
  192 + * 移除泊位上的车辆
  193 + * @param b
  194 + * @return
  195 + */
  196 + public static Map<String, Object> clear_berth(String b) {
  197 + Map<String, Object> rs = new HashMap();
  198 + try {
  199 + RealCarPark rcp1 = getByBerthName(b);
  200 +
  201 + if(null != rcp1)
  202 + busRcps.remove(rcp1.getNbbm());
  203 +
  204 + rs.put("status", ResponseCode.SUCCESS);
  205 + rs.put("list", allBus());
  206 + } catch (Exception e) {
  207 + logger.error("", e);
  208 + rs.put("status", ResponseCode.ERROR);
  209 + }
  210 + return rs;
  211 + }
  212 +
191 213 private static RealCarPark getByBerthName(String sName) {
192 214 for (RealCarPark rcp : busRcps.values()) {
193 215 if (sName.equals(rcp.getBerthName()))
... ...
src/main/java/com/bsth/data/schedule/real/InOutScheduleDataBuffer.java
... ... @@ -47,6 +47,9 @@ public class InOutScheduleDataBuffer implements CommandLineRunner {
47 47 @Autowired
48 48 InoutSchFixedRefreshThread fixedRefreshThread;
49 49  
  50 + private final static String TYPE_OUT = "out";
  51 + private final static String TYPE_IN = "in";
  52 +
50 53 static {
51 54 allMaps = new ConcurrentHashMap<>();
52 55 tccCode = ConfigUtil.get("tcc.code");
... ... @@ -62,17 +65,21 @@ public class InOutScheduleDataBuffer implements CommandLineRunner {
62 65 }
63 66  
64 67 public static List<ScheduleInOut> getOutsByUserId(String company, String jGh){
65   - return filterOuts(pMultimap.get(company + "-" + jGh));
  68 + return filterByType(pMultimap.get(company + "-" + jGh), TYPE_OUT);
66 69 }
67 70  
68 71 public static List<ScheduleInOut> getOutsByNbbm(String nbbm){
69   - return filterOuts(cMultimap.get(nbbm));
  72 + return filterByType(cMultimap.get(nbbm), TYPE_OUT);
  73 + }
  74 +
  75 + public static List<ScheduleInOut> getInsByNbbm(String nbbm){
  76 + return filterByType(cMultimap.get(nbbm), TYPE_IN);
70 77 }
71 78  
72   - private static List<ScheduleInOut> filterOuts(List<ScheduleInOut> list){
  79 + private static List<ScheduleInOut> filterByType(List<ScheduleInOut> list, String type){
73 80 List<ScheduleInOut> rs = new ArrayList<>();
74 81 for(ScheduleInOut sio : list){
75   - if(sio.getBcType().equals("out"))
  82 + if(sio.getBcType().equals(type))
76 83 rs.add(sio);
77 84 }
78 85  
... ... @@ -80,6 +87,7 @@ public class InOutScheduleDataBuffer implements CommandLineRunner {
80 87 return rs;
81 88 }
82 89  
  90 +
83 91 public static List<ScheduleInOut> getByNbbm(String nbbm){
84 92 return cMultimap.get(nbbm);
85 93 }
... ... @@ -116,9 +124,9 @@ public class InOutScheduleDataBuffer implements CommandLineRunner {
116 124 Collection<ScheduleInOut> vs = allMaps.values();
117 125 for (ScheduleInOut sio : vs) {
118 126 try{
119   - if (sio.getBcType().equals("out"))
  127 + if (sio.getBcType().equals(TYPE_OUT))
120 128 outListCopy.add(sio);
121   - else if (sio.getBcType().equals("in"))
  129 + else if (sio.getBcType().equals(TYPE_IN))
122 130 inListCopy.add(sio);
123 131  
124 132 }catch (Exception e){
... ... @@ -211,6 +219,16 @@ public class InOutScheduleDataBuffer implements CommandLineRunner {
211 219 return getNearSch(getOutsByNbbm(nbbm), t);
212 220 }
213 221  
  222 + /**
  223 + * 车辆当前要执行的进场计划
  224 + * @param nbbm
  225 + * @param t
  226 + * @return
  227 + */
  228 + public static ScheduleInOut getCurrExecIn(String nbbm, Long t){
  229 + return getNearSch(getInsByNbbm(nbbm), t);
  230 + }
  231 +
214 232 private static ScheduleInOut getNearSch(List<ScheduleInOut> list, Long t){
215 233 List<ScheduleInOut> execs = new ArrayList<>();
216 234  
... ... @@ -248,9 +266,9 @@ public class InOutScheduleDataBuffer implements CommandLineRunner {
248 266 for (ScheduleInOut sio : listCopy) {
249 267 //进场还是出场
250 268 if (sio.getQdzCode().equals(tccCode)) {
251   - sio.setBcType("out");
  269 + sio.setBcType(TYPE_OUT);
252 270 } else if (sio.getZdzCode().equals(tccCode))
253   - sio.setBcType("in");
  271 + sio.setBcType(TYPE_IN);
254 272 else
255 273 sio.setBcType("");
256 274  
... ...
src/main/java/com/bsth/service/schedule/impl/InOutScheduleServiceImpl.java
... ... @@ -74,7 +74,13 @@ public class InOutScheduleServiceImpl implements InOutScheduleService {
74 74 @Override
75 75 public void busInOut(CarInOutEntity cio) {
76 76 //车辆的出场计划
77   - ScheduleInOut sio = InOutScheduleDataBuffer.getCurrExecOut(cio.getNbbm(), cio.getT());
  77 + ScheduleInOut sio = null;
  78 + if(cio.getType() == 2){
  79 + sio = InOutScheduleDataBuffer.getCurrExecIn(cio.getNbbm(), cio.getT());
  80 + }
  81 + else if(cio.getType() == 4){
  82 + sio = InOutScheduleDataBuffer.getCurrExecOut(cio.getNbbm(), cio.getT());
  83 + }
78 84  
79 85  
80 86 //实时车辆进出场处理程序
... ...
src/main/resources/static/assets/css/main.css
... ... @@ -690,6 +690,18 @@ table tr th, table tr td{
690 690 background: #9f9f9f;
691 691 }
692 692  
  693 +.berth_card_list>.berth_card>.car_blank.draging{
  694 + box-shadow: inset 0px 0px 15px 3px rgba(86, 84, 84, 0.59);
  695 +}
  696 +
  697 +/*.berth_card_list>.berth_card>.car_blank.draging:before{
  698 + visibility: hidden !important;
  699 +}*/
  700 +
  701 +/*.berth_card_list>.berth_card .draging .car_name{
  702 + color: #adadad;
  703 +}*/
  704 +
693 705 .berth_card_list>.berth_card>.car_blank.no_elec:before{
694 706 content: "无电量信息";
695 707 width: 100%;
... ... @@ -848,4 +860,24 @@ table tr th, table tr td{
848 860 .trash_wrap.show.open{
849 861 background-image: url(/assets/icon/trash_open.png);
850 862 background-position: 20px 20px;
  863 +}
  864 +
  865 +#b_p_manager_main_wrap .scroll_down{
  866 + position: absolute;
  867 + width: 100%;
  868 + height: 40px;
  869 + bottom: 0;
  870 + box-shadow: 0px -5px 15px rgba(116, 110, 110, 0.45);
  871 + background: rgba(253, 228, 151, 0.22);
  872 + display: none;
  873 +}
  874 +
  875 +#b_p_manager_main_wrap .scroll_up{
  876 + position: absolute;
  877 + width: 100%;
  878 + height: 40px;
  879 + top: 0;
  880 + box-shadow: 0 5px 15px rgba(116, 110, 110, 0.45);
  881 + background: rgba(253, 228, 151, 0.22);
  882 + display: none;
851 883 }
852 884 \ No newline at end of file
... ...
src/main/resources/static/pages/b_p_manager/b_p_main.html
... ... @@ -3,6 +3,8 @@
3 3 <div class="drag_tip"></div>
4 4 <div class="berth_card_list"></div>
5 5  
  6 + <div class="scroll_up"></div>
  7 + <div class="scroll_down"></div>
6 8 <script id="b_p_manager_main_list-temp" type="text/html">
7 9 {{each list as b i}}
8 10 <div class="berth_card">
... ... @@ -138,7 +140,10 @@
138 140 },false);
139 141 trashWrap[0].addEventListener('drop', function () {
140 142 var s = $(drag_e).data('id');
141   - alert(s + '丢垃圾桶');
  143 + gb_common.$post('/car_park_real/clear_berth', {b: s}, function (rs) {
  144 + render_bus(rs.list);
  145 + });
  146 + drag_rest();
142 147 },false);
143 148  
144 149  
... ... @@ -147,6 +152,8 @@
147 152 var handleDragStart = function (e) {
148 153 drag_e = this;
149 154 trashWrap.addClass('show');
  155 + $(this).addClass('draging');
  156 + $('.scroll_down,.scroll_up', wrap).show();
150 157 };
151 158  
152 159 var handleDragEnd = function () {
... ... @@ -183,14 +190,33 @@
183 190 gb_common.$post('/car_park_real/real_change', {s:s, d:d}, function (rs) {
184 191 render_bus(rs.list);
185 192 });
  193 + drag_rest();
  194 + };
186 195  
187   - /**
188   - * 泊位交换
189   -
190   - gb_common.$post('/berth/real_change', {s:s, d:d}, function (rs) {
191   - render_cards(rs.list);
192   - });*/
  196 + var drag_rest = function () {
  197 + $(drag_e).removeClass('draging');
  198 + drag_e = null;
  199 + $('.scroll_down,.scroll_up', wrap).hide();
193 200 };
  201 + /**
  202 + * drag 时滚动条
  203 + */
  204 + var cardListWrap = $('.berth_card_list', wrap)[0];
  205 + $('.scroll_down', wrap)[0].addEventListener('dragover', function (e) {
  206 + e.preventDefault();
  207 + cardListWrap.scrollTop = cardListWrap.scrollTop + 10;
  208 + return true;
  209 + }, false);
  210 + $('.scroll_up', wrap)[0].addEventListener('dragover', function (e) {
  211 + e.preventDefault();
  212 + cardListWrap.scrollTop = cardListWrap.scrollTop - 10;
  213 + return true;
  214 + }, false);
  215 +
  216 + /*$('.scroll_down', wrap)[0].addEventListener('dragleave', function () {
  217 + berthcardListWrap.scrollTop = berthcardListWrap.scrollTop + 20;
  218 + },false)*/
  219 +
194 220 })();
195 221 </script>
196 222 </div>
197 223 \ No newline at end of file
... ...