Commit 28f637a0afa725c1e45f017c37c72635e4219618
1 parent
944896e0
出勤异常(缺人烂班)自获取已过计发时间的班次
Showing
1 changed file
with
118 additions
and
95 deletions
src/main/java/com/bsth/server_rs/bigdata/BigscreenService.java
| ... | ... | @@ -26,7 +26,6 @@ import javax.ws.rs.Produces; |
| 26 | 26 | import javax.ws.rs.core.MediaType; |
| 27 | 27 | |
| 28 | 28 | import org.apache.commons.lang.StringUtils; |
| 29 | -import org.codehaus.stax2.evt.DTD2; | |
| 30 | 29 | import org.slf4j.Logger; |
| 31 | 30 | import org.slf4j.LoggerFactory; |
| 32 | 31 | import org.springframework.beans.factory.annotation.Autowired; |
| ... | ... | @@ -40,7 +39,6 @@ import com.bsth.entity.ChildTaskPlan; |
| 40 | 39 | import com.bsth.entity.ScheduleRealInfo; |
| 41 | 40 | import com.bsth.repository.ScheduleRealInfoRepository; |
| 42 | 41 | import com.bsth.util.Arith; |
| 43 | -import com.mysql.fabric.xmlrpc.base.Array; | |
| 44 | 42 | |
| 45 | 43 | @Component |
| 46 | 44 | @Path("/bigscreen") |
| ... | ... | @@ -1203,6 +1201,7 @@ public class BigscreenService { |
| 1203 | 1201 | @Path("/selectData/attendance") |
| 1204 | 1202 | public JSONObject attendance(){ |
| 1205 | 1203 | Map<String, Object> resMap = new HashMap<String, Object>(); |
| 1204 | + SimpleDateFormat dateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm"); | |
| 1206 | 1205 | |
| 1207 | 1206 | int day = 7;//天数 |
| 1208 | 1207 | |
| ... | ... | @@ -1278,53 +1277,65 @@ public class BigscreenService { |
| 1278 | 1277 | } |
| 1279 | 1278 | |
| 1280 | 1279 | for(ScheduleRealInfo s : findAll){ |
| 1281 | - if(s.getXlBm() != null && yyLine.contains(s.getXlBm())){//营运线路 | |
| 1282 | - if (s.isSflj() || isInOut(s)){ | |
| 1283 | - continue; | |
| 1284 | - } | |
| 1285 | - Set<ChildTaskPlan> cts; | |
| 1286 | - cts = s.getcTasks(); | |
| 1287 | - //有子任务 | |
| 1288 | - if (cts != null && cts.size() > 0) { | |
| 1289 | - for(ChildTaskPlan c : cts){ | |
| 1290 | - if(c.getMileageType().equals("service") && c.getCcId() == null){ | |
| 1291 | - if(c.isDestroy() && (c.getDestroyReason()==null? "" : c.getDestroyReason()).equals("缺人")){ | |
| 1292 | - Map<String, Object> m = new HashMap<String, Object>(); | |
| 1293 | - m.put("gsName", s.getGsName()); | |
| 1294 | - m.put("lineName", s.getXlName()); | |
| 1295 | - m.put("driverName", s.getjName()); | |
| 1296 | - m.put("date", s.getRealExecDate()); | |
| 1297 | - m.put("time", c.getStartDate()); | |
| 1298 | - if(c.getRemarks() != null && c.getRemarks().trim().length() > 0){ | |
| 1299 | - m.put("explain", c.getRemarks()); | |
| 1300 | - } else { | |
| 1301 | - m.put("explain", s.getRemarks()!=null?s.getRemarks():""); | |
| 1302 | - } | |
| 1303 | - | |
| 1304 | - String str = s.getScheduleDateStr()+"/"+s.getXlName()+"/"+s.getjGh()+"/"+s.getjName(); | |
| 1305 | - if(lackSet.add(str)){ | |
| 1306 | - lackList.add(m); | |
| 1307 | - } | |
| 1308 | - } | |
| 1309 | - } | |
| 1310 | - } | |
| 1311 | - } | |
| 1312 | - //主任务烂班 | |
| 1313 | - else if(s.getStatus() == -1 && s.getAdjustExps().equals("缺人")){ | |
| 1314 | - Map<String, Object> m = new HashMap<String, Object>(); | |
| 1315 | - m.put("gsName", s.getGsName()); | |
| 1316 | - m.put("lineName", s.getXlName()); | |
| 1317 | - m.put("driverName", s.getjName()); | |
| 1318 | - m.put("date", s.getRealExecDate()); | |
| 1319 | - m.put("time", s.getFcsj()); | |
| 1320 | - m.put("explain", s.getRemarks()!=null?s.getRemarks():""); | |
| 1321 | - | |
| 1322 | - String str = s.getScheduleDateStr()+"/"+s.getXlName()+"/"+s.getjGh()+"/"+s.getjName(); | |
| 1323 | - if(lackSet.add(str)){ | |
| 1324 | - lackList.add(m); | |
| 1280 | + try { | |
| 1281 | + if(s.getXlBm() != null && yyLine.contains(s.getXlBm())){//营运线路 | |
| 1282 | + if (s.isSflj() || isInOut(s)){ | |
| 1283 | + continue; | |
| 1284 | + } | |
| 1285 | + | |
| 1286 | + String time = s.getRealExecDate() + " " + s.getFcsj(); | |
| 1287 | + Date d = dateTime.parse(time); | |
| 1288 | + if(dd.getTime() - d.getTime() < 300000l){ //只取当前时间5分钟前的数据 | |
| 1289 | + continue; | |
| 1325 | 1290 | } |
| 1326 | - } | |
| 1327 | - } | |
| 1291 | + | |
| 1292 | + Set<ChildTaskPlan> cts; | |
| 1293 | + cts = s.getcTasks(); | |
| 1294 | + //有子任务 | |
| 1295 | + if (cts != null && cts.size() > 0) { | |
| 1296 | + for(ChildTaskPlan c : cts){ | |
| 1297 | + if(c.getMileageType().equals("service") && c.getCcId() == null){ | |
| 1298 | + if(c.isDestroy() && (c.getDestroyReason()==null? "" : c.getDestroyReason()).equals("缺人")){ | |
| 1299 | + Map<String, Object> m = new HashMap<String, Object>(); | |
| 1300 | + m.put("gsName", s.getGsName()); | |
| 1301 | + m.put("lineName", s.getXlName()); | |
| 1302 | + m.put("driverName", s.getjName()); | |
| 1303 | + m.put("date", s.getRealExecDate()); | |
| 1304 | + m.put("time", c.getStartDate()); | |
| 1305 | + if(c.getRemarks() != null && c.getRemarks().trim().length() > 0){ | |
| 1306 | + m.put("explain", c.getRemarks()); | |
| 1307 | + } else { | |
| 1308 | + m.put("explain", s.getRemarks()!=null?s.getRemarks():""); | |
| 1309 | + } | |
| 1310 | + | |
| 1311 | + String str = s.getScheduleDateStr()+"/"+s.getXlName()+"/"+s.getjGh()+"/"+s.getjName(); | |
| 1312 | + if(lackSet.add(str)){ | |
| 1313 | + lackList.add(m); | |
| 1314 | + } | |
| 1315 | + } | |
| 1316 | + } | |
| 1317 | + } | |
| 1318 | + } | |
| 1319 | + //主任务烂班 | |
| 1320 | + else if(s.getStatus() == -1 && s.getAdjustExps().equals("缺人")){ | |
| 1321 | + Map<String, Object> m = new HashMap<String, Object>(); | |
| 1322 | + m.put("gsName", s.getGsName()); | |
| 1323 | + m.put("lineName", s.getXlName()); | |
| 1324 | + m.put("driverName", s.getjName()); | |
| 1325 | + m.put("date", s.getRealExecDate()); | |
| 1326 | + m.put("time", s.getFcsj()); | |
| 1327 | + m.put("explain", s.getRemarks()!=null?s.getRemarks():""); | |
| 1328 | + | |
| 1329 | + String str = s.getScheduleDateStr()+"/"+s.getXlName()+"/"+s.getjGh()+"/"+s.getjName(); | |
| 1330 | + if(lackSet.add(str)){ | |
| 1331 | + lackList.add(m); | |
| 1332 | + } | |
| 1333 | + } | |
| 1334 | + } | |
| 1335 | + } catch (Exception e) { | |
| 1336 | + // TODO: handle exception | |
| 1337 | + e.printStackTrace(); | |
| 1338 | + } | |
| 1328 | 1339 | } |
| 1329 | 1340 | |
| 1330 | 1341 | Map<String, Object> att = new HashMap<String, Object>(); |
| ... | ... | @@ -1432,6 +1443,7 @@ public class BigscreenService { |
| 1432 | 1443 | @Path("/selectData/attendance/{gsdm}") |
| 1433 | 1444 | public JSONObject attendance(@PathParam("gsdm") String gsdm){ |
| 1434 | 1445 | Map<String, Object> resMap = new HashMap<String, Object>(); |
| 1446 | + SimpleDateFormat dateTime = new SimpleDateFormat("yyyy-MM-dd HH:mm"); | |
| 1435 | 1447 | |
| 1436 | 1448 | int day = 7;//天数 |
| 1437 | 1449 | |
| ... | ... | @@ -1509,55 +1521,66 @@ public class BigscreenService { |
| 1509 | 1521 | } |
| 1510 | 1522 | |
| 1511 | 1523 | for(ScheduleRealInfo s : findAll){ |
| 1512 | - if(s.getGsBm() != null && s.getGsBm().equals(gsdm)){//直属公司 | |
| 1513 | - if(s.getXlBm() != null && yyLine.contains(s.getXlBm())){//营运线路 | |
| 1514 | - if (s.isSflj() || isInOut(s)){ | |
| 1515 | - continue; | |
| 1516 | - } | |
| 1517 | - Set<ChildTaskPlan> cts; | |
| 1518 | - cts = s.getcTasks(); | |
| 1519 | - //有子任务 | |
| 1520 | - if (cts != null && cts.size() > 0) { | |
| 1521 | - for(ChildTaskPlan c : cts){ | |
| 1522 | - if(c.getMileageType().equals("service") && c.getCcId() == null){ | |
| 1523 | - if(c.isDestroy() && (c.getDestroyReason()==null? "" : c.getDestroyReason()).equals("缺人")){ | |
| 1524 | - Map<String, Object> m = new HashMap<String, Object>(); | |
| 1525 | - m.put("gsName", s.getGsName()); | |
| 1526 | - m.put("lineName", s.getXlName()); | |
| 1527 | - m.put("driverName", s.getjName()); | |
| 1528 | - m.put("date", s.getRealExecDate()); | |
| 1529 | - m.put("time", c.getStartDate()); | |
| 1530 | - if(c.getRemarks() != null && c.getRemarks().trim().length() > 0){ | |
| 1531 | - m.put("explain", c.getRemarks()); | |
| 1532 | - } else { | |
| 1533 | - m.put("explain", s.getRemarks()!=null?s.getRemarks():""); | |
| 1534 | - } | |
| 1535 | - | |
| 1536 | - String str = s.getScheduleDateStr()+"/"+s.getXlName()+"/"+s.getjGh()+"/"+s.getjName(); | |
| 1537 | - if(lackSet.add(str)){ | |
| 1538 | - lackList.add(m); | |
| 1539 | - } | |
| 1540 | - } | |
| 1541 | - } | |
| 1542 | - } | |
| 1543 | - } | |
| 1544 | - //主任务烂班 | |
| 1545 | - else if(s.getStatus() == -1 && s.getAdjustExps().equals("缺人")){ | |
| 1546 | - Map<String, Object> m = new HashMap<String, Object>(); | |
| 1547 | - m.put("gsName", s.getGsName()); | |
| 1548 | - m.put("lineName", s.getXlName()); | |
| 1549 | - m.put("driverName", s.getjName()); | |
| 1550 | - m.put("date", s.getRealExecDate()); | |
| 1551 | - m.put("time", s.getFcsj()); | |
| 1552 | - m.put("explain", s.getRemarks()!=null?s.getRemarks():""); | |
| 1553 | - | |
| 1554 | - String str = s.getScheduleDateStr()+"/"+s.getXlName()+"/"+s.getjGh()+"/"+s.getjName(); | |
| 1555 | - if(lackSet.add(str)){ | |
| 1556 | - lackList.add(m); | |
| 1524 | + try { | |
| 1525 | + if(s.getGsBm() != null && s.getGsBm().equals(gsdm)){//直属公司 | |
| 1526 | + if(s.getXlBm() != null && yyLine.contains(s.getXlBm())){//营运线路 | |
| 1527 | + if (s.isSflj() || isInOut(s)){ | |
| 1528 | + continue; | |
| 1529 | + } | |
| 1530 | + | |
| 1531 | + String time = s.getRealExecDate() + " " + s.getFcsj(); | |
| 1532 | + Date d = dateTime.parse(time); | |
| 1533 | + if(dd.getTime() - d.getTime() < 300000l){ //只取当前时间5分钟前的数据 | |
| 1534 | + continue; | |
| 1557 | 1535 | } |
| 1558 | - } | |
| 1536 | + | |
| 1537 | + Set<ChildTaskPlan> cts; | |
| 1538 | + cts = s.getcTasks(); | |
| 1539 | + //有子任务 | |
| 1540 | + if (cts != null && cts.size() > 0) { | |
| 1541 | + for(ChildTaskPlan c : cts){ | |
| 1542 | + if(c.getMileageType().equals("service") && c.getCcId() == null){ | |
| 1543 | + if(c.isDestroy() && (c.getDestroyReason()==null? "" : c.getDestroyReason()).equals("缺人")){ | |
| 1544 | + Map<String, Object> m = new HashMap<String, Object>(); | |
| 1545 | + m.put("gsName", s.getGsName()); | |
| 1546 | + m.put("lineName", s.getXlName()); | |
| 1547 | + m.put("driverName", s.getjName()); | |
| 1548 | + m.put("date", s.getRealExecDate()); | |
| 1549 | + m.put("time", c.getStartDate()); | |
| 1550 | + if(c.getRemarks() != null && c.getRemarks().trim().length() > 0){ | |
| 1551 | + m.put("explain", c.getRemarks()); | |
| 1552 | + } else { | |
| 1553 | + m.put("explain", s.getRemarks()!=null?s.getRemarks():""); | |
| 1554 | + } | |
| 1555 | + | |
| 1556 | + String str = s.getScheduleDateStr()+"/"+s.getXlName()+"/"+s.getjGh()+"/"+s.getjName(); | |
| 1557 | + if(lackSet.add(str)){ | |
| 1558 | + lackList.add(m); | |
| 1559 | + } | |
| 1560 | + } | |
| 1561 | + } | |
| 1562 | + } | |
| 1563 | + } | |
| 1564 | + //主任务烂班 | |
| 1565 | + else if(s.getStatus() == -1 && s.getAdjustExps().equals("缺人")){ | |
| 1566 | + Map<String, Object> m = new HashMap<String, Object>(); | |
| 1567 | + m.put("gsName", s.getGsName()); | |
| 1568 | + m.put("lineName", s.getXlName()); | |
| 1569 | + m.put("driverName", s.getjName()); | |
| 1570 | + m.put("date", s.getRealExecDate()); | |
| 1571 | + m.put("time", s.getFcsj()); | |
| 1572 | + m.put("explain", s.getRemarks()!=null?s.getRemarks():""); | |
| 1573 | + | |
| 1574 | + String str = s.getScheduleDateStr()+"/"+s.getXlName()+"/"+s.getjGh()+"/"+s.getjName(); | |
| 1575 | + if(lackSet.add(str)){ | |
| 1576 | + lackList.add(m); | |
| 1577 | + } | |
| 1578 | + } | |
| 1579 | + } | |
| 1559 | 1580 | } |
| 1560 | - } | |
| 1581 | + } catch (Exception e) { | |
| 1582 | + // TODO: handle exception | |
| 1583 | + } | |
| 1561 | 1584 | } |
| 1562 | 1585 | |
| 1563 | 1586 | Map<String, Object> att = new HashMap<String, Object>(); | ... | ... |