Commit 51f7400f422818c20937dd375d5bb3aefd07c98f
1 parent
866a029c
1.添加临加班次时车辆检查(是否存在、是否是一个公司)
Showing
1 changed file
with
60 additions
and
52 deletions
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); |