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 | 611 | * 临加班次 |
| 612 | 612 | */ |
| 613 | 613 | @Override |
| 614 | - public Map<String, Object> save(ScheduleRealInfo t) { | |
| 614 | + public Map<String, Object> save(ScheduleRealInfo sch) { | |
| 615 | 615 | Map<String, Object> rs = new HashMap<>(); |
| 616 | 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 | 631 | SysUser user = SecurityUtils.getCurrentUser(); |
| 624 | - String schDate = DayOfSchedule.currSchDateMap.get(t.getXlBm()); | |
| 632 | + String schDate = DayOfSchedule.currSchDateMap.get(sch.getXlBm()); | |
| 625 | 633 | |
| 626 | 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 | 637 | rs.put("status", ResponseCode.ERROR); |
| 630 | 638 | rs.put("msg", "驾驶员工号不能为空!"); |
| 631 | 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 | 647 | if (StringUtils.isEmpty(jName)) { |
| 640 | - rs.put("msg", t.getXlName() + "所属的公司编码下找不到工号为【" + t.getjGh() + "】的驾驶员"); | |
| 648 | + rs.put("msg", sch.getXlName() + "所属的公司编码下找不到工号为【" + sch.getjGh() + "】的驾驶员"); | |
| 641 | 649 | rs.put("status", ResponseCode.ERROR); |
| 642 | 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 | 658 | if (StringUtils.isEmpty(sName)) { |
| 651 | - rs.put("msg", t.getXlName() + "所属的公司编码下找不到工号为【" + t.getjGh() + "】的售票员"); | |
| 659 | + rs.put("msg", sch.getXlName() + "所属的公司编码下找不到工号为【" + sch.getjGh() + "】的售票员"); | |
| 652 | 660 | rs.put("status", ResponseCode.ERROR); |
| 653 | 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 | 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 | 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 | 704 | rs.put("status", ResponseCode.ERROR); |
| 697 | 705 | rs.put("msg", "起终点时间异常!"); |
| 698 | 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 | 725 | rs.put("ts", ts); |
| 718 | - rs.put("t", t); | |
| 726 | + rs.put("t", sch); | |
| 719 | 727 | } catch (Exception e) { |
| 720 | 728 | logger.error("", e); |
| 721 | 729 | rs.put("status", ResponseCode.ERROR); | ... | ... |