Commit 51f7400f422818c20937dd375d5bb3aefd07c98f

Authored by Hill
1 parent 866a029c

1.添加临加班次时车辆检查(是否存在、是否是一个公司)

src/main/java/com/bsth/service/realcontrol/impl/ScheduleRealInfoServiceImpl.java
@@ -611,111 +611,119 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf @@ -611,111 +611,119 @@ public class ScheduleRealInfoServiceImpl extends BaseServiceImpl<ScheduleRealInf
611 * 临加班次 611 * 临加班次
612 */ 612 */
613 @Override 613 @Override
614 - public Map<String, Object> save(ScheduleRealInfo t) { 614 + public Map<String, Object> save(ScheduleRealInfo sch) {
615 Map<String, Object> rs = new HashMap<>(); 615 Map<String, Object> rs = new HashMap<>();
616 try { 616 try {
617 - if (!carExist(t.getGsBm(), t.getClZbh())) {  
618 - rs.put("msg", "车辆 " + t.getClZbh() + " <a href=\"/#/busInfoManage\" target=_blank>车辆基础信息</a> 里找不到!");  
619 - rs.put("status", ResponseCode.ERROR);  
620 - return rs; 617 + String clZbh = sch.getClZbh();
  618 + if (StringUtils.isNotEmpty(clZbh)) {
  619 + //检测
  620 + if (!carExist(sch.getGsBm(), clZbh)) {
  621 + rs.put("status", ResponseCode.ERROR);
  622 + rs.put("msg", "车辆 " + clZbh + " 不存在!");
  623 + return rs;
  624 + } else if (!sch.getGsBm().equals(BasicData.nbbm2CompanyCodeMap.get(clZbh))) {
  625 + rs.put("status", ResponseCode.ERROR);
  626 + rs.put("msg", sch.getXlName() + "所属的公司编码下找不到自编号为【" + clZbh + "】的车辆");
  627 + return rs;
  628 + }
621 } 629 }
622 630
623 SysUser user = SecurityUtils.getCurrentUser(); 631 SysUser user = SecurityUtils.getCurrentUser();
624 - String schDate = DayOfSchedule.currSchDateMap.get(t.getXlBm()); 632 + String schDate = DayOfSchedule.currSchDateMap.get(sch.getXlBm());
625 633
626 SimpleDateFormat sdfyyyyMMdd = new SimpleDateFormat("yyyy-MM-dd"), sdfyyyyMMddHHmm = new SimpleDateFormat("yyyy-MM-ddHH:mm"); 634 SimpleDateFormat sdfyyyyMMdd = new SimpleDateFormat("yyyy-MM-dd"), sdfyyyyMMddHHmm = new SimpleDateFormat("yyyy-MM-ddHH:mm");
627 635
628 - if (StringUtils.isEmpty(t.getjGh())) { 636 + if (StringUtils.isEmpty(sch.getjGh())) {
629 rs.put("status", ResponseCode.ERROR); 637 rs.put("status", ResponseCode.ERROR);
630 rs.put("msg", "驾驶员工号不能为空!"); 638 rs.put("msg", "驾驶员工号不能为空!");
631 return rs; 639 return rs;
632 } 640 }
633 //截取驾驶员工号 641 //截取驾驶员工号
634 - if (t.getjGh().indexOf("-") != -1) {  
635 - t.setjGh(t.getjGh().split("-")[1]); 642 + if (sch.getjGh().indexOf("-") != -1) {
  643 + sch.setjGh(sch.getjGh().split("-")[1]);
636 } 644 }
637 //检查驾驶员工号 645 //检查驾驶员工号
638 - String jName = getPersonName(t.getGsBm(), t.getjGh()); 646 + String jName = getPersonName(sch.getGsBm(), sch.getjGh());
639 if (StringUtils.isEmpty(jName)) { 647 if (StringUtils.isEmpty(jName)) {
640 - rs.put("msg", t.getXlName() + "所属的公司编码下找不到工号为【" + t.getjGh() + "】的驾驶员"); 648 + rs.put("msg", sch.getXlName() + "所属的公司编码下找不到工号为【" + sch.getjGh() + "】的驾驶员");
641 rs.put("status", ResponseCode.ERROR); 649 rs.put("status", ResponseCode.ERROR);
642 return rs; 650 return rs;
643 - } else if (StringUtils.isEmpty(t.getjName())) {  
644 - t.setjName(jName);//补上驾驶员名称 651 + } else if (StringUtils.isEmpty(sch.getjName())) {
  652 + sch.setjName(jName);//补上驾驶员名称
645 } 653 }
646 654
647 //有售票员 655 //有售票员
648 - if (StringUtils.isNotEmpty(t.getsGh())) {  
649 - String sName = getPersonName(t.getGsBm(), t.getsGh()); 656 + if (StringUtils.isNotEmpty(sch.getsGh())) {
  657 + String sName = getPersonName(sch.getGsBm(), sch.getsGh());
650 if (StringUtils.isEmpty(sName)) { 658 if (StringUtils.isEmpty(sName)) {
651 - rs.put("msg", t.getXlName() + "所属的公司编码下找不到工号为【" + t.getjGh() + "】的售票员"); 659 + rs.put("msg", sch.getXlName() + "所属的公司编码下找不到工号为【" + sch.getjGh() + "】的售票员");
652 rs.put("status", ResponseCode.ERROR); 660 rs.put("status", ResponseCode.ERROR);
653 return rs; 661 return rs;
654 - } else if (StringUtils.isEmpty(t.getsName())) {  
655 - t.setsName(sName);//补上售票员名称 662 + } else if (StringUtils.isEmpty(sch.getsName())) {
  663 + sch.setsName(sName);//补上售票员名称
656 } 664 }
657 } else { 665 } else {
658 - t.setsGh("");  
659 - t.setsName(""); 666 + sch.setsGh("");
  667 + sch.setsName("");
660 } 668 }
661 669
662 //公司 和 分公司名称 670 //公司 和 分公司名称
663 - t.setGsName(BasicData.businessCodeNameMap.get(t.getGsBm()));  
664 - t.setFgsName(BasicData.businessFgsCodeNameMap.get(t.getFgsBm() + "_" + t.getGsBm()));  
665 - t.setCreateDate(new Date());  
666 - t.setScheduleDateStr(schDate);  
667 - t.setScheduleDate(sdfyyyyMMdd.parse(schDate));  
668 - t.setRealExecDate(schDate);  
669 -  
670 - t.setCreateBy(user);  
671 - t.setSflj(true);  
672 - t.setLate(false);  
673 - t.setDfsj(t.getFcsj());  
674 - t.setZdsjT(sdfyyyyMMddHHmm.parse(schDate + t.getZdsj()).getTime());  
675 - t.setJhlcOrig(t.getJhlc());  
676 - t.setCreateDate(new Date());  
677 - t.setUpdateDate(new Date());  
678 - t.setSpId(-1L); 671 + sch.setGsName(BasicData.businessCodeNameMap.get(sch.getGsBm()));
  672 + sch.setFgsName(BasicData.businessFgsCodeNameMap.get(sch.getFgsBm() + "_" + sch.getGsBm()));
  673 + sch.setCreateDate(new Date());
  674 + sch.setScheduleDateStr(schDate);
  675 + sch.setScheduleDate(sdfyyyyMMdd.parse(schDate));
  676 + sch.setRealExecDate(schDate);
  677 +
  678 + sch.setCreateBy(user);
  679 + sch.setSflj(true);
  680 + sch.setLate(false);
  681 + sch.setDfsj(sch.getFcsj());
  682 + sch.setZdsjT(sdfyyyyMMddHHmm.parse(schDate + sch.getZdsj()).getTime());
  683 + sch.setJhlcOrig(sch.getJhlc());
  684 + sch.setCreateDate(new Date());
  685 + sch.setUpdateDate(new Date());
  686 + sch.setSpId(-1L);
679 //起终点名称 687 //起终点名称
680 - String prefix = t.getXlBm() + "_" + t.getXlDir() + "_";  
681 - t.setQdzName(BasicData.getStationNameByCode(t.getQdzCode(), prefix));  
682 - t.setZdzName(BasicData.getStationNameByCode(t.getZdzCode(), prefix)); 688 + String prefix = sch.getXlBm() + "_" + sch.getXlDir() + "_";
  689 + sch.setQdzName(BasicData.getStationNameByCode(sch.getQdzCode(), prefix));
  690 + sch.setZdzName(BasicData.getStationNameByCode(sch.getZdzCode(), prefix));
683 691
684 //计算班次实际执行时间 692 //计算班次实际执行时间
685 - schAttrCalculator.calcRealDate(t).calcAllTimeByFcsj(t); 693 + schAttrCalculator.calcRealDate(sch).calcAllTimeByFcsj(sch);
686 694
687 //处理计达跨24点 695 //处理计达跨24点
688 - LineConfig conf = lineConfigData.get(t.getXlBm());  
689 - if (t.getZdsj().compareTo(conf.getStartOpt()) < 0) {  
690 - t.setZdsjT(sdfyyyyMMddHHmm.parse(t.getScheduleDateStr() + t.getZdsj()).getTime() + (1000 * 60 * 60 * 24)); 696 + LineConfig conf = lineConfigData.get(sch.getXlBm());
  697 + if (sch.getZdsj().compareTo(conf.getStartOpt()) < 0) {
  698 + sch.setZdsjT(sdfyyyyMMddHHmm.parse(sch.getScheduleDateStr() + sch.getZdsj()).getTime() + (1000 * 60 * 60 * 24));
691 } 699 }
692 700
693 //班次历时 701 //班次历时
694 - t.setBcsj((int) ((t.getZdsjT() - t.getDfsjT()) / 1000 / 60));  
695 - if (t.getZdsjT() < t.getFcsjT()) { 702 + sch.setBcsj((int) ((sch.getZdsjT() - sch.getDfsjT()) / 1000 / 60));
  703 + if (sch.getZdsjT() < sch.getFcsjT()) {
696 rs.put("status", ResponseCode.ERROR); 704 rs.put("status", ResponseCode.ERROR);
697 rs.put("msg", "起终点时间异常!"); 705 rs.put("msg", "起终点时间异常!");
698 return rs; 706 return rs;
699 } 707 }
700 708
701 - t.setId(dayOfSchedule.getId()); 709 + sch.setId(dayOfSchedule.getId());
702 //实时入库 710 //实时入库
703 - super.save(t); 711 + super.save(sch);
704 712
705 // 加入缓存 713 // 加入缓存
706 - dayOfSchedule.put(t); 714 + dayOfSchedule.put(sch);
707 715
708 //更新起点应到时间 716 //更新起点应到时间
709 - List<ScheduleRealInfo> ts = dayOfSchedule.updateQdzTimePlan(t); 717 + List<ScheduleRealInfo> ts = dayOfSchedule.updateQdzTimePlan(sch);
710 718
711 //重新计算车辆当前执行班次 719 //重新计算车辆当前执行班次
712 - dayOfSchedule.reCalcExecPlan(t.getClZbh()); 720 + dayOfSchedule.reCalcExecPlan(sch.getClZbh());
713 721
714 //记录站到场历时数据 722 //记录站到场历时数据
715 - Station2ParkBuffer.put(t); 723 + Station2ParkBuffer.put(sch);
716 724
717 rs.put("ts", ts); 725 rs.put("ts", ts);
718 - rs.put("t", t); 726 + rs.put("t", sch);
719 } catch (Exception e) { 727 } catch (Exception e) {
720 logger.error("", e); 728 logger.error("", e);
721 rs.put("status", ResponseCode.ERROR); 729 rs.put("status", ResponseCode.ERROR);