main
gaoshuguang 2 years ago
parent 0258b6f73b
commit 164280ef33

@ -35,6 +35,11 @@ public class CorsConfig implements WebMvcConfigurer {
.excludePathPatterns(
"/index**",
"/EntranceQuery**",
"/LargeEntranceQuery**",
"/ExportQuery**",
"/OverLimitStatistics**",
"/DeviceStatus**",
"/NearbyDriveAway**",
"/404/**",
"/MenuIndex/**",
"/index.html",

@ -21,7 +21,7 @@ import java.util.Map;
public class CommonController {
@Resource
private CommonService commonService;
@PostMapping("/common/selectSubcomno")
@PostMapping("/common/selectStanos")
public Res selectStanos(@RequestBody Map<String,Object> map) {
List<NameTable> list = commonService.selectStanos(map);
return Res.success(list);

@ -0,0 +1,44 @@
package com.nmgs.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nmgs.entity.Res;
import com.nmgs.service.DriverAwayService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240307 8:33
* @description:
*/
@RestController
public class DriverAwayController {
@Resource
private DriverAwayService driverAwayService;
@PostMapping("/getDriverAwayPage")
public IPage getDriverAwayPage(@RequestBody Map<String,Object> map) {
return driverAwayService.getDriverAwayPage(map);
}
@PostMapping("/matchDriveAway")
public int matchDriveAway(@RequestBody Map<String,Object> map) {
return driverAwayService.matchDriveAway(map);
}
@PostMapping("/deleteDriveAway")
public int deleteDriveAway(@RequestBody Map<String,Object> map) {
return driverAwayService.deleteDriveAway(map);
}
@PostMapping("/saveDriverAway")
public Res saveDriverAway(@RequestBody Map<String,Object> map) {
int count = driverAwayService.saveDriverAway(map);
return Res.success(count);
}
}

@ -23,6 +23,10 @@ public class EntranceQueryController {
public IPage getPage(@RequestBody Map<String,Object> map) {
return entranceQueryService.getPage(map);
}
@PostMapping("/getLargeEntrancePage")
public IPage getLargeEntrancePage(@RequestBody Map<String,Object> map) {
return entranceQueryService.getLargeEntrancePage(map);
}
}

@ -1,8 +1,7 @@
package com.nmgs.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nmgs.service.DeviceStatusService;
import com.nmgs.service.EntranceQueryService;
import com.nmgs.service.LaneWeightStatusService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@ -12,15 +11,16 @@ import java.util.Map;
/**
* @author: shuguang
* @date: 20240305 12:38
* @date: 20240307 16:06
* @description:
*/
@RestController
public class DeviceStatusController {
public class LaneWeightStatusController {
@Resource
private DeviceStatusService deviceStatusService;
private LaneWeightStatusService laneWeightStatusService;
@PostMapping("/getDeviceStatusPage")
public IPage getPage(@RequestBody Map<String,Object> map) {
return deviceStatusService.getPage(map);
public IPage getDeviceStatusPage(@RequestBody Map<String,Object> map) {
return laneWeightStatusService.getDeviceStatusPage(map);
}
}

@ -0,0 +1,38 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* @author: shuguang
* @date: 20240306 15:41
* @description:
*/
@Data
@TableName("DRIVEAWAY_TABLE")
public class DriveAwayTable {
@TableField("SUBCOMNO")
private Integer SUBCOMNO;
@TableField("STANO")
private Integer STANO;
@TableField("CARNO")
private String CARNO;
@TableField("DT")
private Date DT;
@TableField("OSUBCOMNO")
private Integer OSUBCOMNO;
@TableField("OSTANO")
private Integer OSTANO;
@TableField("ROSTANO")
private Integer ROSTANO;
@TableField("ODT")
private Date ODT;
@TableField("FLAG")
private Integer FLAG;
@TableField("ADDDT")
private Date ADDDT;
}

@ -0,0 +1,30 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* @author: shuguang
* @date: 20240306 15:41
* @description:
*/
@Data
@TableName("LANE_WEIGHT_STATUS")
public class LaneWeightStatus {
@TableField("ROADNO")
private Integer ROADNO;
@TableField("STANO")
private Integer STANO;
@TableField("PORTNO")
private Integer PORTNO;
@TableField("PORTTYPE")
private Integer PORTTYPE;
@TableField("DT")
private Date DT;
@TableField("WEIGHTSTATUS")
private String WEIGHTSTATUS;
}

@ -0,0 +1,27 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20231108 14:33
* @description:
*/
@TableName("NAME_TABLE")
@Data
public class NameTable2 {
@TableField("STANO")
private Integer stano ;
@TableField("SUBCOMNO")
private Integer subcomno ;
@TableField("STATYPE")
private Integer statype ;
@TableField("ROADNO")
private Integer roadno ;
@TableField("STANAME")
private String staname ;
@TableField("GBSTATIONID")
private String gbstationid ;
}

@ -0,0 +1,27 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20231108 14:33
* @description:
*/
@TableName("NAME_TABLE")
@Data
public class NameTable3 {
@TableField("STANO")
private Integer stano ;
@TableField("SUBCOMNO")
private Integer subcomno ;
@TableField("STATYPE")
private Integer statype ;
@TableField("ROADNO")
private Integer roadno ;
@TableField("STANAME")
private String staname ;
@TableField("GBSTATIONID")
private String gbstationid ;
}

@ -0,0 +1,20 @@
package com.nmgs.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
/**
* @author: shuguang
* @date: 20240307 9:21
* @description:
*/
@Data
@TableName("SUBCOMPANY_TABLE")
public class SubCompany2 {
@TableField("SUBCOMNO")
private Integer subcomno;
@TableField("SUBCOMNAME")
private String subcomname;
}

@ -20,6 +20,7 @@ public enum MessageEnum {
*/
("20001", "调用图像接口失败"),
("20002", "调用视频接口失败"),
("20003", "数据库已存在此条相关信息,保存失败"),

@ -0,0 +1,20 @@
package com.nmgs.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.nmgs.entity.DriveAwayTable;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240306 15:46
* @description:
*/
@Mapper
public interface DriveAwayTableMapper extends MPJBaseMapper<DriveAwayTable> {
List<String> selectInPort( String sqlWhere);
List<Map<String, Object>> selectOutPort(String sqlWhereOut);
}

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.DriveAwayTableMapper">
<select id="selectInPort" resultType="java.lang.String">
select PASSID
from IN_PORT ${sqlWhere}
order by DT desc
</select>
<select id="selectOutPort" resultType="java.util.Map">
select STANO, DT
from OUT_PORT ${sqlWhereOut}
order by DT desc
</select>
</mapper>

@ -0,0 +1,19 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nmgs.entity.LaneWeightStatus;
import org.apache.ibatis.annotations.Mapper;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240307 12:35
* @description:
*/
@Mapper
public interface LaneWeightStatusMapper extends BaseMapper<LaneWeightStatus> {
IPage<Map> selectMyMapsPage(Page<LaneWeightStatus> page, String sqlWhere);
}

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nmgs.mapper.LaneWeightStatusMapper">
<select id="selectMyMapsPage" resultType="java.util.Map">
SELECT t.* FROM(select ROADNO,STANO,PORTNO,PORTTYPE,DT,WEIGHTSTATUS,
(select SUBCOMNAME from SUBCOMPANY_TABLE WHERE SUBCOMNO=(SELECT SUBCOMNO FROM NAME_TABLE WHERE STANO=L.STANO)) SUBCOMNAME,
(select STANAME FROM NAME_TABLE WHERE STANO=L.STANO) STANAME,
(select text from porttypegb_text where value=(select GBTYPE from setup_table where roadno=L.roadno and stano=L.stano and portno=L.portno)) PORTTYPETEXT,
(case WEIGHTSTATUS when '0' then '正常' else '故障' end) WEIGHTSTATUSTEXT,
ROW_NUMBER() OVER(ORDER BY WEIGHTSTATUS desc, ROADNO,STANO,PORTNO) rn, COUNT(*) OVER() TOTALCOUNT
from LANE_WEIGHT_STATUS L ${sqlWhere}) t
</select>
</mapper>

@ -0,0 +1,17 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nmgs.entity.NameTable;
import com.nmgs.entity.NameTable2;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author: shuguang
* @date: 20231108 14:37
* @description:
*/
@Mapper
public interface NameTableMapper2 extends BaseMapper<NameTable2> {
}

@ -0,0 +1,14 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nmgs.entity.NameTable3;
import org.apache.ibatis.annotations.Mapper;
/**
* @author: shuguang
* @date: 20231108 14:37
* @description:
*/
@Mapper
public interface NameTableMapper3 extends BaseMapper<NameTable3> {
}

@ -0,0 +1,16 @@
package com.nmgs.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.nmgs.entity.SubCompany;
import com.nmgs.entity.SubCompany2;
import org.apache.ibatis.annotations.Mapper;
/**
* @author: shuguang
* @date: 20230829 14:32
* @description:
*/
@Mapper
public interface SubCompanyMapper2 extends BaseMapper<SubCompany2> {
}

@ -59,4 +59,5 @@ public interface CommonService {
* @date 2024-03-05 12:33
*/
List<NameTable> selectStanos(Map<String, Object> map);
}

@ -0,0 +1,51 @@
package com.nmgs.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240307 8:34
* @description:
*/
public interface DriverAwayService {
/**
*
*
* @param map
* @return int
* @author shuguang
* @date 2024-03-07 8:37
*/
int saveDriverAway(Map<String, Object> map);
/**
*
*
* @param map
* @return com.baomidou.mybatisplus.core.metadata.IPage
* @author shuguang
* @date 2024-03-07 9:13
*/
IPage getDriverAwayPage(Map<String, Object> map);
/**
*
*
* @param map
* @return int
* @author shuguang
* @date 2024-03-07 9:50
*/
int deleteDriveAway(Map<String, Object> map);
/**
*
*
* @param map
* @return int
* @author shuguang
* @date 2024-03-08 9:50
*/
int matchDriveAway(Map<String, Object> map);
}

@ -20,4 +20,13 @@ public interface EntranceQueryService {
* @date 2023-12-25 14:31
*/
IPage getPage(Map<String, Object> map);
/**
*
*
* @param map
* @return com.baomidou.mybatisplus.core.metadata.IPage
* @author shuguang
* @date 2024-03-08 09:21
*/
IPage getLargeEntrancePage(Map<String, Object> map);
}

@ -6,17 +6,17 @@ import java.util.Map;
/**
* @author: shuguang
* @date: 20240305 12:39
* @date: 20240307 16:07
* @description:
*/
public interface DeviceStatusService {
public interface LaneWeightStatusService {
/**
*
*
*
* @param map
* @param map
* @return com.baomidou.mybatisplus.core.metadata.IPage
* @author shuguang
* @date 2024-03-05 12:41
* @date 2024-03-07 16:09
*/
IPage getPage(Map<String, Object> map);
IPage getDeviceStatusPage(Map<String, Object> map);
}

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.nmgs.entity.MenuTable;
import com.nmgs.entity.NameTable;
import com.nmgs.entity.SubCompany;
import com.nmgs.entity.TypeText;
import com.nmgs.mapper.MenuTableMapper;
import com.nmgs.mapper.NameTableMapper;
import com.nmgs.mapper.SubCompanyMapper;
@ -11,6 +12,7 @@ import com.nmgs.mapper.TypeTextMapper;
import com.nmgs.service.CommonService;
import com.nmgs.util.UuidUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -80,7 +82,6 @@ public class CommonServiceImpl implements CommonService {
QueryWrapper<MenuTable> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("UPMENUID",upmenuid);
List<MenuTable> menuTables = menuTableMapper.selectList(queryWrapper);
menuTables.sort(Comparator.comparing(MenuTable::getOrdernum));
log.info("[uuid:{}]-查询菜单信息为{}", uuid, menuTables);
return menuTables;
}
@ -112,13 +113,15 @@ public class CommonServiceImpl implements CommonService {
@Override
public List<NameTable> selectStanos(Map<String, Object> map) {
String uuid = UuidUtil.getUuid();
int subcomno =(int) map.get("SUBCOMNO");
log.info("[uuid:{}]-开始根据分公司编号{}查询分公司所属站信息", uuid,subcomno);
log.info("[uuid:{}]-开始查询站信息", uuid);
QueryWrapper<NameTable> wrapper = new QueryWrapper<>();
wrapper.eq("SUBCOMNO",subcomno)
.eq("STATYPE", 1);
if (ObjectUtils.isNotEmpty(map.get("SUBCOMNO"))) {
wrapper.eq("SUBCOMNO",map.get("SUBCOMNO"));
}
wrapper .eq("STATYPE", 1);
List<NameTable> list = nameTableMapper.selectList(wrapper);
log.info("[uuid:{}]-根据分公司编号{}查询所属站信息{}", uuid,subcomno,list);
log.info("[uuid:{}]-查询站信息{}", uuid,list);
return list;
}
}

@ -1,28 +0,0 @@
package com.nmgs.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nmgs.service.DeviceStatusService;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240305 12:39
* @description:
*/
@Service
public class DeviceStatusServiceImpl implements DeviceStatusService {
/**
*
*
* @param map
* @return com.baomidou.mybatisplus.core.metadata.IPage
* @author shuguang
* @date 2024-03-05 12:41
*/
@Override
public IPage getPage(Map<String, Object> map) {
return null;
}
}

@ -0,0 +1,292 @@
package com.nmgs.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.nmgs.config.Constant;
import com.nmgs.entity.DriveAwayTable;
import com.nmgs.entity.NameTable;
import com.nmgs.entity.NameTable2;
import com.nmgs.entity.NameTable3;
import com.nmgs.entity.PlateColor;
import com.nmgs.entity.PlateColor2;
import com.nmgs.entity.SubCompany;
import com.nmgs.entity.SubCompany2;
import com.nmgs.entity.WeightCheck;
import com.nmgs.enumeration.MessageEnum;
import com.nmgs.exception.PPException;
import com.nmgs.mapper.DriveAwayTableMapper;
import com.nmgs.service.DriverAwayService;
import com.nmgs.util.DateTimeUtil;
import com.nmgs.util.PropertiesUtil;
import com.nmgs.util.UuidUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240307 8:35
* @description:
*/
@Service
@Slf4j
public class DriverAwayServiceImpl implements DriverAwayService {
@Resource
private DriveAwayTableMapper driveAwayTableMapper;
/**
*
*
* @param map
* @return int
* @author shuguang
* @date 2024-03-07 8:37
*/
@Override
public int saveDriverAway(Map<String, Object> map) {
String uuid = UuidUtil.getUuid();
String dbType = PropertiesUtil.getValue("DBType");
log.info("[uuid:{}]-开始根据参数{}新增就近驶离高速车辆", uuid, map);
int subcomno = (int) map.get("SUBCOMNO");
int stano = (int) map.get("STANO");
String carno = ((String) map.get("CARNO")).trim();
String dtStr = (String) map.get("DT");
int osubcomno = (int) map.get("OSUBCOMNO");
int ostano = (int) map.get("OSTANO");
int count;
QueryWrapper<DriveAwayTable> wrapper = new QueryWrapper<>();
wrapper
.eq("SUBCOMNO",subcomno)
.eq("STANO",stano)
.eq("CARNO",carno);
if (Constant.STR_TWO.equals(dbType)) {
wrapper.apply("DT = TO_DATE({0},'yyyy-MM-dd HH24:mi:ss')", dtStr);
}else {
wrapper.eq("DT",dtStr);
}
boolean exists = driveAwayTableMapper.exists(wrapper);
if (!exists) {
DriveAwayTable t = new DriveAwayTable();
t.setSUBCOMNO(subcomno);
t.setSTANO(stano);
t.setCARNO(carno);
t.setDT(DateTimeUtil.getFormatDate(dtStr, Constant.YYYY_MM_DD_HH_MM_SS));
t.setOSUBCOMNO(osubcomno);
t.setOSTANO(ostano);
t.setADDDT(new Date());
t.setFLAG(0);
count = driveAwayTableMapper.insert(t);
log.info("[uuid:{}]-新增{}条就近驶离高速车辆信息成功", uuid, count);
}else {
log.info("[uuid:{}]-新增就近驶离高速车辆信息失败,主键冲突", uuid);
throw new PPException(MessageEnum..getCode(), MessageEnum..getMessage());
}
return count;
}
/**
*
*
* @param map
* @return com.baomidou.mybatisplus.core.metadata.IPage
* @author shuguang
* @date 2024-03-07 9:13
*/
@Override
public IPage getDriverAwayPage(Map<String, Object> map) {
String uuid = UuidUtil.getUuid();
String dbType = PropertiesUtil.getValue("DBType");
log.info("[uuid:{}]-开始根据参数{}分页查询-就近驶离高速车辆信息", uuid, map);
int pageNum = (int) map.get("pageNum");
int pageSize = (int) map.get("pageSize");
IPage<Map> mapIPage = new Page<>();
try {
Page<DriveAwayTable> page = new Page<>(pageNum, pageSize);
MPJLambdaWrapper<Map> mpjLambdaWrapper = new MPJLambdaWrapper();
mpjLambdaWrapper
.selectAll(DriveAwayTable.class)
.selectAs(SubCompany::getSubcomname,"SUBCOMNAME")
.leftJoin(SubCompany.class, SubCompany::getSubcomno, DriveAwayTable::getSUBCOMNO)
.selectAs(NameTable::getStaname, "STANAME")
.leftJoin(NameTable.class, NameTable::getStano, DriveAwayTable::getSTANO)
.selectAs(SubCompany2::getSubcomname,"OSUBCOMNAME")
.leftJoin(SubCompany2.class, SubCompany2::getSubcomno, DriveAwayTable::getOSUBCOMNO)
.selectAs(NameTable2::getStaname, "OSTANAME")
.leftJoin(NameTable2.class, NameTable2::getStano, DriveAwayTable::getOSTANO)
.selectAs(NameTable3::getStaname, "ROSTANAE")
.leftJoin(NameTable3.class, NameTable3::getStano, DriveAwayTable::getROSTANO)
.orderByDesc(DriveAwayTable::getADDDT);
if (ObjectUtils.isNotEmpty(map.get("SUBCOMNO"))) {
mpjLambdaWrapper.eq(DriveAwayTable::getSUBCOMNO, map.get("SUBCOMNO"));
}
if (ObjectUtils.isNotEmpty(map.get("STANO"))) {
mpjLambdaWrapper.eq(DriveAwayTable::getSTANO, map.get("STANO"));
}
if (ObjectUtils.isNotEmpty(map.get("CARNO"))) {
mpjLambdaWrapper.like(DriveAwayTable::getCARNO, map.get("CARNO").toString().toUpperCase().trim());
}
if (ObjectUtils.isNotEmpty(map.get("DT"))) {
String dtStr = (String) map.get("DT");
if (Constant.STR_TWO.equals(dbType)) {
mpjLambdaWrapper
.apply("DT >= TO_DATE({0},'yyyy-MM-dd HH24:mi:ss')", dtStr)
;
}else {
mpjLambdaWrapper
.ge(DriveAwayTable::getDT, dtStr)
;
}
}
if (ObjectUtils.isNotEmpty(map.get("OSUBCOMNO"))) {
mpjLambdaWrapper.eq(DriveAwayTable::getOSUBCOMNO, map.get("OSUBCOMNO"));
}
if (ObjectUtils.isNotEmpty(map.get("OSTANO"))) {
mpjLambdaWrapper.eq(DriveAwayTable::getOSTANO, map.get("OSTANO"));
}
if (ObjectUtils.isNotEmpty(map.get("MATCHSTATUS"))) {
//0-指定出口站和实际出口站不相同 1-指定出口站和实际出口站相同
String matchStatus=map.get("MATCHSTATUS").toString();
if(Constant.STR_ZERO.equals(matchStatus)){
mpjLambdaWrapper
.apply("ROSTANO IS NOT NULL AND ROSTANO != OSTANO");
}else {
mpjLambdaWrapper
.apply("ROSTANO IS NOT NULL AND ROSTANO = OSTANO");
}
}
mapIPage = driveAwayTableMapper.selectJoinPage(page, Map.class, mpjLambdaWrapper);
} catch (Exception e) {
log.error("[uuid:{}]-查询-就近驶离高速车辆信息失败,报错为:{}", uuid, e.getMessage(), e);
}
return mapIPage;
}
/**
*
*
* @param map
* @return int
* @author shuguang
* @date 2024-03-07 9:50
*/
@Override
public int deleteDriveAway(Map<String, Object> map) {
String uuid = UuidUtil.getUuid();
String dbType = PropertiesUtil.getValue("DBType");
log.info("[uuid:{}]-开始根据参数{}删除-就近驶离高速车辆信息", uuid, map);
int subcomno = (int) map.get("SUBCOMNO");
int stano = (int) map.get("STANO");
String carno = ((String) map.get("CARNO")).trim();
String dtStr = (String) map.get("DT");
QueryWrapper<DriveAwayTable> wrapper = new QueryWrapper<>();
wrapper
.eq("SUBCOMNO",subcomno)
.eq("STANO",stano)
.eq("CARNO",carno);
if (Constant.STR_TWO.equals(dbType)) {
wrapper.apply("DT = TO_DATE({0},'yyyy-MM-dd HH24:mi:ss')", dtStr);
}else {
wrapper.eq("DT",dtStr);
}
int count = driveAwayTableMapper.delete(wrapper);
log.info("[uuid:{}]-根据参数{}删除-就近驶离高速车辆信息成功,删除条数{}", uuid, map,count);
return count;
}
/**
*
*
* @param map
* @return int
* @author shuguang
* @date 2024-03-08 9:50
*/
@Override
public int matchDriveAway(Map<String, Object> map) {
String uuid = UuidUtil.getUuid();
log.info("[uuid:{}]-开始根据参数{}根据参数条件匹配实际出口数据", uuid, map);
int count = 0;
String dbType = PropertiesUtil.getValue("DBType");
try {
int subcomno = (int) map.get("SUBCOMNO");
int stano = (int) map.get("STANO");
String carno = ((String) map.get("CARNO")).trim();
String dtStr = (String) map.get("DT");
Date formatDate = DateTimeUtil.getFormatDate(dtStr, Constant.YYYY_MM_DD_HH_MM_SS);
Date date0 = DateTimeUtil.addDateHours(formatDate, -1);
Date date1 = DateTimeUtil.addDateHours(formatDate, 1);
Date date12 = DateTimeUtil.addDateHours(formatDate, 12);
String dateStr0 = DateTimeUtil.getFormateString(date0, Constant.YYYY_MM_DD_HH_MM_SS);
String dateStr1 = DateTimeUtil.getFormateString(date1, Constant.YYYY_MM_DD_HH_MM_SS);
String dateStr12 = DateTimeUtil.getFormateString(date12, Constant.YYYY_MM_DD_HH_MM_SS);
//查找就近驶离高速车辆出口站
log.info("[uuid:{}]-开始查找就近驶离高速车辆出口站", uuid);
String sqlWhere="where STANO=" +stano+
" and ACARNO='" +carno+
"' and DT>=to_date('" +dateStr0+
"','yyyy-mm-dd hh24:mi:ss')" +
" and DT>=to_date('" +dateStr1+
"','yyyy-mm-dd hh24:mi:ss')";
List<String> passIdList = driveAwayTableMapper.selectInPort(sqlWhere);
log.info("[uuid:{}]-查询入口passid信息为{}", uuid,passIdList);
if(passIdList != null && passIdList.size() > 0){
//根据passID查询实际出口信息
String passId=passIdList.get(0);
String sqlWhereOut="where PASSID='" +passId+
"' and ACARNO='" +carno+
"' and DT>=to_date('" +dateStr0+
"','yyyy-mm-dd hh24:mi:ss')" +
" and DT>=to_date('" +dateStr12+
"','yyyy-mm-dd hh24:mi:ss')";
List<Map<String,Object>> outPortList = driveAwayTableMapper.selectOutPort(sqlWhereOut);
log.info("[uuid:{}]-查询根据入口passid={}查询实际出口站信息为{}", uuid,passId,outPortList);
if(outPortList != null && outPortList.size() > 0){
String stanoOut = outPortList.get(0).get("STANO").toString();
String dtOut = outPortList.get(0).get("DT").toString();
UpdateWrapper<DriveAwayTable> update = new UpdateWrapper<>();
update
.eq("SUBCOMNO",subcomno)
.eq("STANO",stano)
.eq("CARNO",carno)
;
if (Constant.STR_TWO.equals(dbType)) {
update.apply("DT = TO_DATE({0},'yyyy-MM-dd HH24:mi:ss')", dtStr);
}else {
update.eq("DT",dtStr);
}
update.set("ROSTANO", stanoOut)
.set("ODT", "TO_DATE('"+dtOut+"','yyyy-MM-dd HH24:mi:ss')");
count=driveAwayTableMapper.update(null,update);
}
}
} catch (Exception e) {
log.error("[uuid:{}]-查询-入口大件车治超数据失败,报错为:{}", uuid, e.getMessage(), e);
}
return count;
}
}

@ -158,4 +158,114 @@ public class EntranceQueryServiceImpl implements EntranceQueryService {
log.info("[uuid:{}]-根据参数{}分页查询--入口治超数据-数据条数为:{}", uuid, map, mapIPage.getTotal());
return mapIPage;
}
/**
*
*
* @param map
* @return com.baomidou.mybatisplus.core.metadata.IPage
* @author shuguang
* @date 2024-03-08 09:21
*/
@Override
public IPage getLargeEntrancePage(Map<String, Object> map) {
String uuid = UuidUtil.getUuid();
String dbType = PropertiesUtil.getValue("DBType");
log.info("[uuid:{}]-开始根据参数{}分页查询-入口大件车治超数据", uuid, map);
int pageNum = (int) map.get("pageNum");
int pageSize = (int) map.get("pageSize");
IPage<Map> mapIPage = new Page<>();
try {
Page<WeightCheck> page = new Page<>(pageNum, pageSize);
MPJLambdaWrapper<Map> mpjLambdaWrapper = new MPJLambdaWrapper();
mpjLambdaWrapper
.selectAll(WeightCheck.class)
.selectAs(PlateColor::getText,"colortext")
.leftJoin(PlateColor.class, PlateColor::getValue, WeightCheck::getAtype)
.selectAs(PlateColor2::getText, "idcolortext")
.leftJoin(PlateColor2.class, PlateColor2::getValue, WeightCheck::getPicno3)
.selectAs(TypeText::getText, "typetext")
.leftJoin(TypeText.class, TypeText::getValue, WeightCheck::getType)
.apply("bitandFLAG,134217728) = 134217728")
.orderByDesc(WeightCheck::getChecktime);
if (ObjectUtils.isNotEmpty(map.get("acarno"))) {
mpjLambdaWrapper.like(WeightCheck::getAcarno, map.get("acarno").toString().toUpperCase());
}
if (ObjectUtils.isNotEmpty(map.get("stano"))) {
mpjLambdaWrapper.eq(WeightCheck::getStano, map.get("stano"));
}
if (ObjectUtils.isNotEmpty(map.get("type"))) {
mpjLambdaWrapper.eq(WeightCheck::getType, map.get("type"));
}
List<String> stringList = (List<String>) map.get("dT");
String startDate = null;
String endDate = null;
if (stringList != null && !stringList.isEmpty()) {
startDate = stringList.get(0) ;
endDate = stringList.get(1);
}
if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)) {
if (Constant.STR_TWO.equals(dbType)) {
mpjLambdaWrapper
.apply("CLASSDATE >= TO_DATE({0},'yyyy-MM-dd')", startDate)
.apply("CLASSDATE <= TO_DATE({0},'yyyy-MM-dd')", endDate)
;
}else {
mpjLambdaWrapper
.ge(WeightCheck::getClassdate, startDate)
.le(WeightCheck::getClassdate, endDate)
;
}
}
List<String> checkTimeList = (List<String>) map.get("checkTime");
String checkStart = null;
String checkEnd = null;
if (checkTimeList != null && !checkTimeList.isEmpty()) {
checkStart = checkTimeList.get(0) ;
checkEnd = checkTimeList.get(1);
}
if (StringUtils.isNotBlank(checkStart) && StringUtils.isNotBlank(checkEnd)) {
if (Constant.STR_TWO.equals(dbType)) {
mpjLambdaWrapper
.apply("CHECKTIME >= TO_DATE({0},'yyyy-MM-dd HH:mm:ss')", checkStart)
.apply("CHECKTIME <= TO_DATE({0},'yyyy-MM-dd HH:mm:ss')", checkEnd)
;
}else {
mpjLambdaWrapper
.ge(WeightCheck::getChecktime, checkStart)
;
}
}
if (ObjectUtils.isNotEmpty(map.get("axiscountStart")) && ObjectUtils.isNotEmpty(map.get("axiscountEnd"))) {
mpjLambdaWrapper
.ge(WeightCheck::getAxiscount, map.get("axiscountStart"))
.le(WeightCheck::getAxiscount, map.get("axiscountEnd"))
;
}
if (ObjectUtils.isNotEmpty(map.get("inweightStart")) && ObjectUtils.isNotEmpty(map.get("inweightEnd"))) {
mpjLambdaWrapper
.ge(WeightCheck::getInweight, map.get("inweightStart"))
.le(WeightCheck::getInweight, map.get("inweightEnd"))
;
}
if (ObjectUtils.isNotEmpty(map.get("overWeightStart")) && ObjectUtils.isNotEmpty(map.get("overWeightEnd"))) {
mpjLambdaWrapper
.ge(WeightCheck::getOverweight, map.get("overWeightStart"))
.le(WeightCheck::getOverweight, map.get("overWeightEnd"))
;
}
mapIPage = weightCheckMapper.selectJoinPage(page, Map.class, mpjLambdaWrapper);
} catch (Exception e) {
log.error("[uuid:{}]-查询-入口大件车治超数据失败,报错为:{}", uuid, e.getMessage(), e);
}
log.info("[uuid:{}]-根据参数{}分页查询--入口大件车治超数据-数据条数为:{}", uuid, map, mapIPage.getTotal());
return mapIPage;
}
}

@ -0,0 +1,76 @@
package com.nmgs.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nmgs.config.Constant;
import com.nmgs.entity.DriveAwayTable;
import com.nmgs.entity.LaneWeightStatus;
import com.nmgs.mapper.LaneWeightStatusMapper;
import com.nmgs.service.LaneWeightStatusService;
import com.nmgs.util.UuidUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Map;
/**
* @author: shuguang
* @date: 20240307 16:07
* @description:
*/
@Service
@Slf4j
public class LaneWeightStatusServiceImpl implements LaneWeightStatusService {
@Resource
private LaneWeightStatusMapper laneWeightStatusMapper;
/**
*
*
* @param map
* @return com.baomidou.mybatisplus.core.metadata.IPage
* @author shuguang
* @date 2024-03-07 16:09
*/
@Override
public IPage getDeviceStatusPage(Map<String, Object> map) {
String uuid = UuidUtil.getUuid();
log.info("[uuid:{}]-开始根据参数{}分页查询-车道计重设备状态信息", uuid, map);
int pageNum = (int) map.get("pageNum");
int pageSize = (int) map.get("pageSize");
IPage<Map> mapIPage = new Page<>();
Page<LaneWeightStatus> page = new Page<>(pageNum, pageSize);
String whereSql = " Where 1 = 1 ";
try {
if (ObjectUtils.isNotEmpty(map.get("SUBCOMNO"))) {
whereSql += " AND STANO IN ( SELECT STANO FROM NAME_TABLE WHERE STATYPE=1 AND SUBCOMNO="+map.get("SUBCOMNO") +")";
}
if (ObjectUtils.isNotEmpty(map.get("STANO"))) {
whereSql += " AND STANO="+map.get("STANO");
}
if (ObjectUtils.isNotEmpty(map.get("PORTNO"))) {
whereSql += " AND PORTNO="+map.get("PORTNO").toString().trim();
}
if (ObjectUtils.isNotEmpty(map.get("WEIGHTSTATUS"))) {
whereSql += " AND WEIGHTSTATUS='"+map.get("WEIGHTSTATUS")+"'";
}
mapIPage=laneWeightStatusMapper.selectMyMapsPage(page,whereSql);
} catch (Exception e) {
log.error("[uuid:{}]-查询车道计重设备状态信息失败,报错为:{}", uuid, e.getMessage(), e);
}
return mapIPage;
}
}

@ -69,7 +69,7 @@ public class OverLimitRatioServiceImpl implements OverLimitRatioService {
log.info("[uuid:{}]-当前查询的是入口超限信息", uuid);
if (ObjectUtils.isNotEmpty(map.get("stano"))) {
QueryWrapper<WeightCheck> checkQueryWrapper = new QueryWrapper<>();
checkQueryWrapper.in("TYPE", 11,12,13,14,15,16);
checkQueryWrapper.in("TYPE", 11, 12, 13, 14, 15, 16);
if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)) {
if (Constant.STR_TWO.equals(dbType)) {
checkQueryWrapper
@ -77,7 +77,7 @@ public class OverLimitRatioServiceImpl implements OverLimitRatioService {
.apply("CLASSDATE <= TO_DATE({0},'yyyy-MM-dd')", endDate)
;
}else {
} else {
checkQueryWrapper
.ge("CLASSDATE", startDate)
.le("CLASSDATE", endDate);
@ -101,10 +101,10 @@ public class OverLimitRatioServiceImpl implements OverLimitRatioService {
sum.setStationName(stanName);
sum.setTotalTrucks(totalTrucks);
sum.setOverLimitTraffic(overLimitTraffic);
if (totalTrucks == 0 || overLimitTraffic==0) {
if (totalTrucks == 0 || overLimitTraffic == 0) {
sum.setOverLimitRatio("0.00%");
} else {
sum.setOverLimitRatio(calculatePercentage(overLimitTraffic,totalTrucks));
sum.setOverLimitRatio(calculatePercentage(overLimitTraffic, totalTrucks));
}
resultList.add(sum);
@ -112,7 +112,7 @@ public class OverLimitRatioServiceImpl implements OverLimitRatioService {
if (mapList != null && !mapList.isEmpty()) {
for (Map<String, Object> objectMap : mapList) {
QueryWrapper<WeightCheck> checkWrap = new QueryWrapper<>();
checkWrap.in("TYPE", 11,12,13,14,15,16);
checkWrap.in("TYPE", 11, 12, 13, 14, 15, 16);
if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)) {
if (Constant.STR_TWO.equals(dbType)) {
checkWrap
@ -120,7 +120,7 @@ public class OverLimitRatioServiceImpl implements OverLimitRatioService {
.apply("CLASSDATE <= TO_DATE({0},'yyyy-MM-dd')", endDate)
;
}else {
} else {
checkWrap
.ge("CLASSDATE", startDate)
.le("CLASSDATE", endDate);
@ -144,10 +144,10 @@ public class OverLimitRatioServiceImpl implements OverLimitRatioService {
sum.setStationName(stanName);
sum.setTotalTrucks(totalTrucks);
sum.setOverLimitTraffic(overLimitTraffic);
if (totalTrucks == 0 || overLimitTraffic==0) {
if (totalTrucks == 0 || overLimitTraffic == 0) {
sum.setOverLimitRatio("0.00%");
} else {
sum.setOverLimitRatio(calculatePercentage(overLimitTraffic,totalTrucks));
sum.setOverLimitRatio(calculatePercentage(overLimitTraffic, totalTrucks));
}
resultList.add(sum);
}
@ -157,7 +157,7 @@ public class OverLimitRatioServiceImpl implements OverLimitRatioService {
log.info("[uuid:{}]-当前查询的是出口超限信息", uuid);
if (ObjectUtils.isNotEmpty(map.get("stano"))) {
QueryWrapper<OutWeight> outWraps = new QueryWrapper<>();
outWraps.in("vehicleType", 11,12,13,14,15,16);
outWraps.in("VEHICLETYPE", 11, 12, 13, 14, 15, 16);
if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)) {
if (Constant.STR_TWO.equals(dbType)) {
outWraps
@ -165,7 +165,7 @@ public class OverLimitRatioServiceImpl implements OverLimitRatioService {
.apply("CLASSDATE <= TO_DATE({0},'yyyy-MM-dd')", endDate)
;
}else {
} else {
outWraps
.ge("CLASSDATE", startDate)
.le("CLASSDATE", endDate);
@ -173,7 +173,12 @@ public class OverLimitRatioServiceImpl implements OverLimitRatioService {
}
outWraps.eq("EXSTATIONID", map.get("gbstationid"));
//根据站编码查询出口国标编码
QueryWrapper<NameTable> query = new QueryWrapper<>();
query.eq("STANO", map.get("stano"));
NameTable nameTable1 = nameTableMapper.selectOne(query);
outWraps.eq("EXSTATIONID", nameTable1.getGbstationid());
Long totalTrucks = outWeightMapper.selectCount(outWraps);
List<OutWeight> checkList = outWeightMapper.selectList(outWraps);
outWraps.gt("OVERWEIGHT", 0);
@ -191,10 +196,10 @@ public class OverLimitRatioServiceImpl implements OverLimitRatioService {
sum.setStationName(stanName);
sum.setTotalTrucks(totalTrucks);
sum.setOverLimitTraffic(overLimitTraffic);
if (totalTrucks == 0 || overLimitTraffic==0) {
if (totalTrucks == 0 || overLimitTraffic == 0) {
sum.setOverLimitRatio("0.00%");
} else {
sum.setOverLimitRatio(calculatePercentage(overLimitTraffic,totalTrucks));
sum.setOverLimitRatio(calculatePercentage(overLimitTraffic, totalTrucks));
}
resultList.add(sum);
@ -202,20 +207,25 @@ public class OverLimitRatioServiceImpl implements OverLimitRatioService {
if (mapList != null && !mapList.isEmpty()) {
for (Map<String, Object> objectMap : mapList) {
QueryWrapper<OutWeight> outWrap = new QueryWrapper<>();
outWrap.in("VEHICLETYPE", 11,12,13,14,15,16);
outWrap.in("VEHICLETYPE", 11, 12, 13, 14, 15, 16);
if (StringUtils.isNotBlank(startDate) && StringUtils.isNotBlank(endDate)) {
if (Constant.STR_TWO.equals(dbType)) {
outWrap
.apply("CLASSDATE >= TO_DATE({0},'yyyy-MM-dd')", startDate)
.apply("CLASSDATE <= TO_DATE({0},'yyyy-MM-dd')", endDate)
;
}else {
} else {
outWrap
.ge("CLASSDATE", startDate)
.le("CLASSDATE", endDate);
}
}
outWrap.eq("EXSTATIONID", objectMap.get("gbstationid"));
//根据站编码查询出口国标编码
QueryWrapper<NameTable> query = new QueryWrapper<>();
query.eq("STANO", map.get("stano"));
NameTable nameTable1 = nameTableMapper.selectOne(query);
outWrap.eq("EXSTATIONID", nameTable1.getGbstationid());
Long totalTrucks = outWeightMapper.selectCount(outWrap);
List<OutWeight> checkList = outWeightMapper.selectList(outWrap);
outWrap.gt("OVERWEIGHT", 0);
@ -233,10 +243,10 @@ public class OverLimitRatioServiceImpl implements OverLimitRatioService {
sum.setStationName(stanName);
sum.setTotalTrucks(totalTrucks);
sum.setOverLimitTraffic(overLimitTraffic);
if (totalTrucks == 0 || overLimitTraffic==0) {
if (totalTrucks == 0 || overLimitTraffic == 0) {
sum.setOverLimitRatio("0.00%");
} else {
sum.setOverLimitRatio(calculatePercentage(overLimitTraffic,totalTrucks));
sum.setOverLimitRatio(calculatePercentage(overLimitTraffic, totalTrucks));
}
resultList.add(sum);
}
@ -256,11 +266,12 @@ public class OverLimitRatioServiceImpl implements OverLimitRatioService {
DecimalFormat df = new DecimalFormat("0.00");
return df.format(percentage) + "%";
}
public static String calculatePercentage2(long num1, long num2) {
double percentage = (double) num1 / num2 ;
double percentage = (double) num1 / num2;
NumberFormat nf = NumberFormat.getPercentInstance(); // 获取百分数格式
nf.setMinimumFractionDigits(2); // 设置小数位数
return nf.format(percentage) ;
return nf.format(percentage);
}
@ -268,8 +279,8 @@ public class OverLimitRatioServiceImpl implements OverLimitRatioService {
long num1 = 0;
long num2 = 10;
String percentage = calculatePercentage(num1, num2);
System.out.println("百分比: " + percentage );
System.out.println("百分比: " + percentage);
String percentage2 = calculatePercentage2(num1, num2);
System.out.println("百分比: " + percentage2 );
System.out.println("百分比: " + percentage2);
}
}

@ -17,7 +17,7 @@ public class TokenUtil {
/**
* token
*/
private static final String TOKEN_SECRET = "apiManager";
private static final String TOKEN_SECRET = "5267915";
/**
*

@ -0,0 +1,31 @@
<!DOCTYPE html>
<!--<html lang="en" class="dark">-->
<html lang="en" class="light">
<head>
<meta charset="UTF-8"/>
<title></title>
<script type="module" crossorigin src="./assets/index.259bdd29.js"></script>
<link rel="stylesheet" href="./assets/index.4eed0f89.css">
</head>
<body>
<div id="app">
<div class="loading">
<div class="loading-wrap">
<div class="loading-dots">
<span class="dot dot-spin">
<i></i>
<i></i>
<i></i>
<i></i>
</span>
</div>
<div class="loading-title">
超限检测管理...
</div>
</div>
</div>
</div>
</body>
</html>

@ -1,4 +1,4 @@
序号 日期 版本号 说明
1 2024年03月04日 1.0.0 初始版本号
1 2024年03月04日 1.0.0 超限检测管理初始版本号

@ -1,9 +0,0 @@
Manifest-Version: 1.0
Created-By: IntelliJ IDEA
Built-By: shuguang
Build-Jdk: version 1.8.0_121
Implementation-Title: OverLimitDetection
Implementation-Version: 0.0.1-SNAPSHOT
Implementation-Vendor-Id: com.nmgs
Main-Class: ${start-class}

@ -1,4 +1,4 @@
序号 日期 版本号 说明
1 2024年03月04日 1.0.0 初始版本号
1 2024年03月04日 1.0.0 超限检测管理初始版本号

@ -1,4 +1,4 @@
序号 日期 版本号 说明
1 2024年03月04日 1.0.0 初始版本号
1 2024年03月04日 1.0.0 超限检测管理初始版本号

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1,31 @@
<!DOCTYPE html>
<!--<html lang="en" class="dark">-->
<html lang="en" class="light">
<head>
<meta charset="UTF-8"/>
<title></title>
<script type="module" crossorigin src="./assets/index.259bdd29.js"></script>
<link rel="stylesheet" href="./assets/index.4eed0f89.css">
</head>
<body>
<div id="app">
<div class="loading">
<div class="loading-wrap">
<div class="loading-dots">
<span class="dot dot-spin">
<i></i>
<i></i>
<i></i>
<i></i>
</span>
</div>
<div class="loading-title">
超限检测管理...
</div>
</div>
</div>
</div>
</body>
</html>

@ -1,6 +1,6 @@
{
"hash": "d5e3fe24",
"browserHash": "faceb5b0",
"browserHash": "14c7766e",
"optimized": {
"@element-plus/icons-vue": {
"src": "../../@element-plus/icons-vue/dist/index.js",
@ -289,6 +289,18 @@
"file": "element-plus_es_components_divider_style_css.js",
"fileHash": "068b5b4e",
"needsInterop": false
},
"element-plus/es/components/message-box/style/css": {
"src": "../../element-plus/es/components/message-box/style/css.mjs",
"file": "element-plus_es_components_message-box_style_css.js",
"fileHash": "b50889c1",
"needsInterop": false
},
"element-plus/es/components/tag/style/css": {
"src": "../../element-plus/es/components/tag/style/css.mjs",
"file": "element-plus_es_components_tag_style_css.js",
"fileHash": "d8c9d0ec",
"needsInterop": false
}
},
"chunks": {

@ -15,11 +15,20 @@ export const getMenu = data => post("/OverLimitDetection/getMenu", data)
export function getUrlKey(search, name) {
return decodeURIComponent(new URLSearchParams(search).get(name));
}
//车道计重设备状态
//入口大件车数据
export const getLargeEntrancePage = data => post("/OverLimitDetection/getLargeEntrancePage", data)
//车道计重设备状态
export const selectSubcomno = data => post("/OverLimitDetection/common/selectSubcomno", data)
export const selectStanos = data => post("/OverLimitDetection/common/selectStanos", data)
export const getDeviceStatusPage = data => post("/OverLimitDetection/getDeviceStatusPage", data)
//就近驶离高速车辆
export const saveDriverAway = data => post("/OverLimitDetection/saveDriverAway", data)
export const getDriverAwayPage = data => post("/OverLimitDetection/getDriverAwayPage", data)
export const deleteDriveAway = data => post("/OverLimitDetection/deleteDriveAway", data)
export const matchDriveAway = data => post("/OverLimitDetection/matchDriveAway", data)

@ -5,8 +5,8 @@ import {ElMessage} from "element-plus";
// axios.defaults.staticBaseURL = '../'
// axios.defaults.baseURL = 'http://'+window.location.host //正式
axios.defaults.baseURL = 'http://' + window.location.hostname + ':9666' //测试
axios.defaults.baseURL = 'http://'+window.location.host //正式
// axios.defaults.baseURL = 'http://' + window.location.hostname + ':9666' //测试
// axios.defaults.baseURL = 'http://10.115.230.229:9330' //正式
//post请求头
@ -23,8 +23,8 @@ axios.defaults.timeout = 150000;
// 请求拦截器
axios.interceptors.request.use(
config => {
// const token = localStorage.getItem('token');
const token = "test";
const token = localStorage.getItem('token');
// const token = "test";
if (token == null) {
try {
window.parent.toLogin()

@ -2,6 +2,7 @@ import * as vueRouter from "vue-router";
import NotFound from '../../views/ErrorPage/404.vue';
import estimateIndex from '../../views/NoParkOverLoad/estimateIndex.vue';
import EntranceQuery from '../../views/NoParkOverLoad/EntranceQuery.vue';
import LargeEntranceQuery from '../../views/NoParkOverLoad/LargeEntranceQuery.vue';
import ExportQuery from '../../views/NoParkOverLoad/ExportQuery.vue';
import OverLimitStatistics from '../../views/NoParkOverLoad/OverLimitStatistics.vue';
import DeviceStatus from '../../views/NoParkOverLoad/DeviceStatus.vue';
@ -20,7 +21,7 @@ const routes = [
//入口大件车数据
{
path: '/OverLimitDetection/LargeEntranceQuery',
component: EntranceQuery
component: LargeEntranceQuery
},
//出口治超数据
{

@ -19,13 +19,19 @@
:row-style="{height:'60px'}"
v-loading="tableLoading"
>
<!-- <el-table-column prop="__row_number__" label="序号" align="center" width="80"></el-table-column>-->
<el-table-column prop="TOLLSTATIONNAME" label="分公司" align="center"></el-table-column>
<el-table-column prop="ACARNO" label="收费站" align="center"></el-table-column>
<el-table-column prop="COLORTEXT" label="车道号" align="center"></el-table-column>
<el-table-column prop="TYPETEXT" label="车道类型" align="center"></el-table-column>
<el-table-column prop="CHECKTIME" label="时间" align="center" width="200"></el-table-column>
<el-table-column prop="INWEIGHT" label="计重设备状态" align="center"></el-table-column>
<el-table-column prop="ROW_ID" label="序号" align="center" width="80"></el-table-column>
<el-table-column prop="SUBCOMNAME" label="分公司" align="center"></el-table-column>
<el-table-column prop="STANAME" label="收费站" align="center"></el-table-column>
<el-table-column prop="PORTNO" label="车道号" align="center"></el-table-column>
<el-table-column prop="PORTTYPETEXT" label="车道类型" align="center"></el-table-column>
<el-table-column prop="DT" label="时间" align="center" width="200"></el-table-column>
<el-table-column prop="WEIGHTSTATUSTEXT" label="计重设备状态" align="center">
<template v-slot="{ row }">
<el-tag :style="getColorStyle(row)">{{row.WEIGHTSTATUSTEXT}}</el-tag>
</template>
</el-table-column>
</el-table>
@ -49,9 +55,9 @@
<el-form :model="selectForm" size="medium" ref="selectForm">
<el-row>
<el-col :span="12">
<el-form-item label="分公司:" :label-width="selectFormLabelWidth" prop="dT">
<el-select v-model="selectForm.subcomno" placeholder="请选择分公司"
@change="checkSubcomno(selectForm.subcomno)"
<el-form-item label="分公司:" :label-width="selectFormLabelWidth" prop="SUBCOMNO">
<el-select v-model="selectForm.SUBCOMNO" placeholder="请选择分公司"
@change="checkSubcomno(selectForm.SUBCOMNO)"
filterable="true"
clearable="true">
<el-option
@ -64,8 +70,8 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="收费站:" :label-width="selectFormLabelWidth" prop="stano">
<el-select v-model="selectForm.stano" placeholder="请选择所站"
<el-form-item label="收费站:" :label-width="selectFormLabelWidth" prop="STANO">
<el-select v-model="selectForm.STANO" placeholder="请选择所站"
filterable="true"
clearable="true">
<el-option
@ -78,8 +84,8 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车道号:" :label-width="selectFormLabelWidth" prop="acarno">
<el-input v-model="selectForm.acarno" autocomplete="off"
<el-form-item label="车道号:" :label-width="selectFormLabelWidth" prop="PORTNO">
<el-input v-model="selectForm.PORTNO" autocomplete="off"
clearable></el-input>
</el-form-item>
</el-col>
@ -87,8 +93,8 @@
<el-col :span="12">
<el-form-item label="计重设备状态:" :label-width="selectFormLabelWidth" prop="checkTime">
<el-select v-model="selectForm.status" placeholder="请选择计重设备状态"
<el-form-item label="计重设备状态:" :label-width="selectFormLabelWidth" prop="WEIGHTSTATUS">
<el-select v-model="selectForm.WEIGHTSTATUS" placeholder="请选择计重设备状态"
filterable="true"
clearable="true">
<el-option
@ -180,12 +186,12 @@ export default {
viewShow: false,
viewThisRow: {},
statusList: [
{status:0,
statusName:'故障'
},
{status:1,
{status:'0',
statusName:'正常'
},
{status:'1',
statusName:'故障'
},
],
subcomnos: [],
stanos: [],
@ -193,7 +199,13 @@ export default {
},
methods: {
getColorStyle(row) {
if (row.WEIGHTSTATUS === '1') {
return 'color: red;font-size: 14px';
} else {
return 'color: green;font-size: 14px';
}
},
queryJurisdictionStaList() {
getJurisdictionStaList({
// userUnitClass: this.userUnitClass,
@ -245,12 +257,9 @@ export default {
},
checkSubcomno(subcomno) {
this.stanos = [];
if (subcomno === 'null' || subcomno === '' || subcomno === undefined) {
this.$message.error("选择所站时必须先选择分公司");
} else {
// console.log(enProvince);
this.selectForm.stano='';
this.querytStanos(subcomno);
}
},
//
querytStanos(subcomno) {
@ -320,6 +329,7 @@ export default {
},
mounted() {
this.querySubcomno();
this.queryData();
// document.documentElement.style.setProperty('--el-bg-color', '#2f39a4')

@ -3,6 +3,12 @@
<el-col :span="24">
<div style="padding: 10px 0">
<el-button type="primary" style="margin-left: 0.5%;margin-top: 0px;" @click="addInfo">
<el-icon style="vertical-align: middle;">
<Plus/>
</el-icon>
<span style="vertical-align: middle;"> 添加 </span>
</el-button>
<el-button type="primary" style="margin-left: 0.5%;margin-top: 0px;" @click="queryInfo">
<el-icon style="vertical-align: middle;">
<search/>
@ -19,25 +25,40 @@
:row-style="{height:'60px'}"
v-loading="tableLoading"
>
<!-- <el-table-column prop="__row_number__" label="序号" align="center" width="80"></el-table-column>-->
<el-table-column prop="TOLLSTATIONNAME" label="入口分公司" align="center"></el-table-column>
<el-table-column prop="ACARNO" label="入口站" align="center"></el-table-column>
<el-table-column prop="COLORTEXT" label="车牌号码" align="center"></el-table-column>
<el-table-column prop="TYPETEXT" label="入口时间" align="center"></el-table-column>
<el-table-column prop="AXISCOUNT" label="指定出口分公司" align="center"></el-table-column>
<el-table-column prop="CLASSDATE" label="指定出口站" align="center" :formatter="dateFormatDay"></el-table-column>
<el-table-column prop="CHECKTIME" label="实际出口站" align="center" width="200"></el-table-column>
<el-table-column prop="INWEIGHT" label="出口时间" align="center"></el-table-column>
<el-table-column prop="BACKUP4" label="结果" align="center"></el-table-column>
<el-table-column fixed="right" label="操作" width="150" align="center">
<el-table-column prop="ROW_ID" label="序号" align="center" width="80"></el-table-column>
<el-table-column prop="SUBCOMNAME" label="入口分公司" align="center"></el-table-column>
<el-table-column prop="STANAME" label="入口站" align="center"></el-table-column>
<el-table-column prop="CARNO" label="车牌号码" align="center"></el-table-column>
<el-table-column prop="DT" label="入口时间" align="center" width="190"></el-table-column>
<el-table-column prop="OSUBCOMNAME" label="指定出口分公司" align="center"></el-table-column>
<el-table-column prop="OSTANAME" label="指定出口站" align="center" ></el-table-column>
<el-table-column prop="ROSTANAE" label="实际出口站" align="center"></el-table-column>
<el-table-column prop="ODT" label="出口时间" align="center" width="190"></el-table-column>
<el-table-column label="结果" align="center" width="260">
<template v-slot="{ row }">
<el-tag :style="getColorStyle(row)" v-if="showResult(row)">{{ (row.OSTANAME !== row.ROSTANAE) ? "" : "" }}</el-tag>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="230" align="center">
<template v-slot="scope">
<el-button
style="margin-top: 0%;"
@click="viewThis(scope.row)" type="success"
@click="matchThis(scope.row)" type="success"
v-if="scope.row.FLAG ===0"
size="default"
:icon="View">匹配查找
:icon="Search">匹配
</el-button>
<el-button
style="margin-top: 0%;"
@click="deleteThis(scope.row)" type="danger"
size="default"
:icon="Delete">删除
</el-button>
</template>
</el-table-column>
@ -59,19 +80,18 @@
<!-- :style="{ maxHeight: '700px' }"-->
<el-dialog title="就近驶离高速车辆信息查找" v-model="searchShow" width="40%" top="5%" destroy-on-close
:close-on-click-modal="false">
<el-form :model="selectForm" size="medium" ref="selectForm">
<el-row>
<el-col :span="12">
<el-form-item label="入口分公司:" :label-width="selectFormLabelWidth" prop="dT">
<el-select v-model="selectForm.subcomno" placeholder="请选择分公司"
@change="checkSubcomno(selectForm.subcomno)"
<el-form-item label="入口分公司:" :label-width="selectFormLabelWidth" prop="SUBCOMNO">
<el-select v-model="selectForm.SUBCOMNO" placeholder="请选择分公司"
@change="checkSelInSubcomno(selectForm.SUBCOMNO)"
filterable="true"
clearable="true">
<el-option
v-for="item in subcomnos"
v-for="item in inSubcomnos"
:key="item.subcomno"
:label="item.subcomname"
:value="item.subcomno">
@ -80,12 +100,12 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="入口站:" :label-width="selectFormLabelWidth" prop="stano">
<el-select v-model="selectForm.stano" placeholder="请选择所站"
<el-form-item label="入口站:" :label-width="selectFormLabelWidth" prop="STANO">
<el-select v-model="selectForm.STANO" placeholder="请选择入口站"
filterable="true"
clearable="true">
<el-option
v-for="item in stanos"
v-for="item in inStanos"
:key="item.stano"
:label="item.staname"
:value="item.stano">
@ -94,35 +114,32 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车牌号码:" :label-width="selectFormLabelWidth" prop="acarno">
<el-input v-model="selectForm.acarno" autocomplete="off"
<el-form-item label="车牌号码:" :label-width="selectFormLabelWidth" prop="CARNO">
<el-input v-model="selectForm.CARNO" autocomplete="off" style="width: 220px"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="入口时间:" :label-width="selectFormLabelWidth" prop="checkTime">
<el-col :span="12">
<el-form-item label="入口时间:" :label-width="selectFormLabelWidth" prop="DT">
<el-date-picker
v-model="selectForm.checkTime"
type="datetimerange"
v-model="selectForm.DT"
type="datetime"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
unlink-panels
range-separator="To"
start-placeholder="开始时间"
end-placeholder="截止时间"
/>
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="指定出口分公司:" :label-width="selectFormLabelWidth" prop="dT">
<el-select v-model="selectForm.subcomno" placeholder="请选择分公司"
@change="checkSubcomno(selectForm.subcomno)"
<el-form-item label="指定出口分公司:" :label-width="selectFormLabelWidth" prop="OSUBCOMNO">
<el-select v-model="selectForm.OSUBCOMNO" placeholder="请选择分公司"
@change="checkSelOutSubcomno(selectForm.OSUBCOMNO)"
filterable="true"
clearable="true">
<el-option
v-for="item in subcomnos"
v-for="item in outSubcomnos"
:key="item.subcomno"
:label="item.subcomname"
:value="item.subcomno">
@ -131,12 +148,12 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="指定出口站:" :label-width="selectFormLabelWidth" prop="stano">
<el-select v-model="selectForm.stano" placeholder="请选择所站"
<el-form-item label="指定出口站:" :label-width="selectFormLabelWidth" prop="OSTANO">
<el-select v-model="selectForm.OSTANO" placeholder="请选择所站"
filterable="true"
clearable="true">
<el-option
v-for="item in stanos"
v-for="item in outStanos"
:key="item.stano"
:label="item.staname"
:value="item.stano">
@ -146,15 +163,15 @@
</el-col>
<el-col :span="24">
<el-form-item label="出口站匹配结果:" :label-width="selectFormLabelWidth" prop="checkTime">
<el-select v-model="selectForm.status" placeholder="请选择出口站匹配结果"
<el-form-item label="出口站匹配结果:" :label-width="selectFormLabelWidth" prop="MATCHSTATUS">
<el-select v-model="selectForm.MATCHSTATUS" placeholder="请选择出口站匹配结果"
filterable="true"
clearable="true">
<el-option
v-for="item in resultList"
:key="item.matchResult"
:label="item.resultName"
:value="item.matchResult">
:key="item.MATCHSTATUS"
:label="item.TEXT"
:value="item.MATCHSTATUS">
</el-option>
</el-select>
</el-form-item>
@ -181,53 +198,138 @@
</span>
</template>
</el-dialog>
<el-dialog title="就近驶离高速车辆信息添加" v-model="addShow" width="40%" top="5%" destroy-on-close
:close-on-click-modal="false">
<el-form :model="addForm" size="medium" :rules="addRules"ref="addForm">
<el-row>
<el-col :span="12">
<el-form-item label="入口分公司:" :label-width="addFormLabelWidth" prop="SUBCOMNO">
<el-select v-model="addForm.SUBCOMNO" placeholder="请选择入口分公司"
@change="checkAddInSubcomno(addForm.SUBCOMNO)"
filterable="true"
clearable="true">
<el-option
v-for="item in addInSubcomnos"
:key="item.subcomno"
:label="item.subcomname"
:value="item.subcomno">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="入口站:" :label-width="addFormLabelWidth" prop="STANO">
<el-select v-model="addForm.STANO" placeholder="请选择入口站"
filterable="true"
clearable="true">
<el-option
v-for="item in addInStanos"
:key="item.stano"
:label="item.staname"
:value="item.stano">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车牌号码:" :label-width="addFormLabelWidth" prop="CARNO">
<el-input v-model="addForm.CARNO" autocomplete="off" style="width: 220px"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="入口时间:" :label-width="addFormLabelWidth" prop="DT">
<el-date-picker
v-model="addForm.DT"
type="datetime"
format="YYYY-MM-DD HH:mm:ss"
value-format="YYYY-MM-DD HH:mm:ss"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="指定出口分公司:" :label-width="addFormLabelWidth" prop="OSUBCOMNO">
<el-select v-model="addForm.OSUBCOMNO" placeholder="请选择指定出口分公司"
@change="checkAddOutSubcomno(addForm.OSUBCOMNO)"
filterable="true"
clearable="true">
<el-option
v-for="item in addOutSubcomnos"
:key="item.subcomno"
:label="item.subcomname"
:value="item.subcomno">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="指定出口站:" :label-width="addFormLabelWidth" prop="OSTANO">
<el-select v-model="addForm.OSTANO" placeholder="请选择指定出口站"
filterable="true"
clearable="true">
<el-option
v-for="item in addOutStanos"
:key="item.stano"
:label="item.staname"
:value="item.stano">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button type="primary" style="margin-left: 0.5%;margin-top: 0px;" @click="addData('addForm')" v-loading="workLoad">
<el-icon style="vertical-align: middle;">
<Finished/>
</el-icon>
<span style="vertical-align: middle;"> 保存 </span>
</el-button>
<el-button type="info" style="margin-left: 0.5%;margin-top: 0px;" @click="resetAdd" v-loading="workLoad">
<el-icon>
<Refresh/>
</el-icon>
<span style="vertical-align: middle;"> 清空 </span>
</el-button>
<el-button @click="addShow=false" type="warning" v-loading="workLoad">
<el-icon><CircleClose/></el-icon></el-button>
</span>
</template>
</el-dialog>
</template>
<script>
// import zhCn from 'element-plus/lib/locale/lang/zh-cn'
import zhCn from "element-plus/dist/locale/zh-cn.mjs";
import {getCarTypeList, getEntrancePage, getJurisdictionStaList} from "../../util/api/NoParkOverLoad/api.js";
import {ElMessage, ElMessageBox} from "element-plus";
import {
matchDriveAway,
deleteDriveAway,
getDriverAwayPage,
saveDriverAway,
selectStanos,
selectSubcomno
} from "../../util/api/NoParkOverLoad/api.js";
import pro from '../../util/tool.js';
import {CloseBold, Delete, Edit, Reading, Select, Switch, View, ZoomIn} from '@element-plus/icons-vue'
import {ElMessage} from "element-plus";
import {queryImageInfo} from "../../util/api/NoParkOverLoad/api";
import {CloseBold, Delete, Edit, Reading, Search, Select, Switch, View, ZoomIn} from '@element-plus/icons-vue'
import Dark from '../../views/Dark.vue'
import moment from "moment";
import axios from "axios";
export default {
name: "EntranceQuery",
name: "NearbyDriveAway",
components: {Dark},
data() {
return {
videoSrc:'',
carFrontPic: '',
carFrontPicList: [],
showCarFrontPic: false,
notCarFrontPic: false,
carFrontPicLoad: false,
panoramaPic: '',
panoramaList: [],
showPanoramaPic: false,
notPanoramaPic: false,
panoramaPicLoad: false,
carRearPic: '',
carRearPicList: [],
showCarRearPic: false,
notCarRearPic: false,
carRearPicLoad: false,
platePic: '',
platePicList: [],
showPlatePic: false,
notPlatePic: false,
platePicLoad: false,
shortVideoUrl: '',
showShortVideo: false,
notShortVideo: false,
shortVideoLoad: false,
Search,
View,
Delete,
Edit,
@ -247,8 +349,7 @@ export default {
selectForm: {
total: 0,
pageNum: 1,
pageSize: 10,
dT: [moment(new Date().setTime(new Date().getTime())).format('YYYY-MM-DD'), moment(new Date()).format('YYYY-MM-DD')],
pageSize: 10
},
searchShow: false,
man: '',
@ -264,24 +365,177 @@ export default {
viewShow: false,
viewThisRow: {},
resultList: [
{matchResult:0,
resultName:'指定出口站和实际出口站不相同'
{
MATCHSTATUS: 0,
TEXT: '指定出口站和实际出口站不相同'
},
{matchResult:1,
resultName:'指定出口站和实际出口站相同'
{
MATCHSTATUS: 1,
TEXT: '指定出口站和实际出口站相同'
},
],
addFormLabelWidth:'130px',
inSubcomnos: [],
inStanos: [],
outSubcomnos: [],
outStanos: [],
addInSubcomnos: [],
addInStanos: [],
addOutSubcomnos: [],
addOutStanos: [],
addForm:{},
workLoad:false,
addRules: {
SUBCOMNO: [{required: true, message: '请选择入口分公司', trigger: 'blur'}],
STANO: [{required: true, message: '请选择入口站', trigger: 'blur'}],
CARNO: [{required: true, message: '请输入车牌号码', trigger: 'blur'}],
DT: [{required: true, message: '请选择入口时间', trigger: 'blur'}],
OSUBCOMNO: [{required: true, message: '请选择指定出口分公司', trigger: 'blur'}],
OSTANO: [{required: true, message: '请选择指定出口站', trigger: 'blur'}],
},
}
},
methods: {
//
//
matchThis(params){
ElMessageBox.confirm(
'是否查找匹配这条数据?',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
).then(() => {
matchDriveAway({
SUBCOMNO: params.SUBCOMNO,
STANO: params.STANO,
CARNO: params.CARNO,
DT: params.DT
}).then((res) => {
// console.log(res)
if (res > 0) {
ElMessage({
message: '匹配成功!',
type: 'success',
});
this.network()
} else {
ElMessage.error(('匹配失败!'))
this.network()
}
})
}).catch(() => {
ElMessage({
type: 'info',
message: '已取消!',
})
})
},
showResult(row){
return !(row.ROSTANAE === '' || row.ROSTANAE === undefined || row.ROSTANAE === 'undefined');
},
getColorStyle(row) {
if (row.OSTANAME !== row.ROSTANAE) {
return 'color: red;font-size: 14px';
} else {
return 'color: green;font-size: 14px';
}
},
//
deleteThis(params){
ElMessageBox.confirm(
'是否删除这条数据?',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
).then(() => {
// if (params.FLAG === 1) {
// ElMessage.error((''))
// return;
// }
deleteDriveAway({
SUBCOMNO: params.SUBCOMNO,
STANO: params.STANO,
CARNO: params.CARNO,
DT: params.DT
}).then((res) => {
// console.log(res)
if (res > 0) {
ElMessage({
message: '删除成功!',
type: 'success',
});
this.network()
} else {
ElMessage.error(('删除失败!'))
this.network()
}
})
}).catch(() => {
ElMessage({
type: 'info',
message: '已取消!',
})
})
},
addData(addForm){
// insertDriveAway
this.$refs[addForm].validate((valid) => {
if (valid) {
this.workLoad = true;
saveDriverAway(this.addForm).then((res)=>{
if (res.code === 0) {
this.workLoad = false;
this.addShow = false;
ElMessage({
message: '保存成功!',
type: 'success',
});
this.network()
} else {
this.workLoad = false;
ElMessage({
type: 'error',
message: res.msg,
});
}
})
}
})
},
resetAdd(){
this.addForm={}
},
addInfo(){
this.addShow = true;
this.addForm={
DT: moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
};
},
queryInfo() {
this.searchShow = true;
@ -294,9 +548,178 @@ export default {
},
//
querySubcomno() {
selectSubcomno({}).then((res) => {
// console.log(res);
// console.log(res.code);
if (res.code === 0) {
const arr = []; //
for (const i in res.data) {
arr.push(res.data[i]);
}
// console.log(arr);
this.inSubcomnos = arr;
this.outSubcomnos = arr;
this.addOutSubcomnos = arr;
this.addInSubcomnos = arr;
} else {
ElMessage({
type: 'error',
message: res.msg,
});
}
})
},
checkAddOutSubcomno(subcomno) {
this.addOutStanos=[];
this.addForm.OSTANO='';
this.querytAddOStanos(subcomno);
},
//
querytAddOStanos(subcomno) {
selectStanos({
SUBCOMNO: subcomno
}).then((res) => {
// console.log(res);
// console.log(res.code);
const arr = []; //
if (res.code === 0) {
for (const i in res.data) {
arr.push(res.data[i]);
}
this.addOutStanos = arr;
// console.log(this.roadnos);
} else {
ElMessage({
type: 'error',
message: res.msg,
});
}
})
},
checkAddInSubcomno(subcomno) {
this.addInStanos=[];
this.addForm.STANO='';
this.queryAddStanos(subcomno);
},
//
queryAddStanos(subcomno) {
selectStanos({
SUBCOMNO: subcomno
}).then((res) => {
// console.log(res);
// console.log(res.code);
const arr = []; //
if (res.code === 0) {
for (const i in res.data) {
arr.push(res.data[i]);
}
this.addInStanos = arr;
// console.log(this.roadnos);
} else {
ElMessage({
type: 'error',
message: res.msg,
});
}
})
},
checkSelOutSubcomno(subcomno) {
this.outStanos=[];
this.selectForm.OSTANO='';
this.querytSelOStanos(subcomno);
},
//
querytSelOStanos(subcomno) {
selectStanos({
SUBCOMNO: subcomno
}).then((res) => {
// console.log(res);
// console.log(res.code);
const arr = []; //
if (res.code === 0) {
for (const i in res.data) {
arr.push(res.data[i]);
}
this.outStanos = arr;
// console.log(this.roadnos);
} else {
ElMessage({
type: 'error',
message: res.msg,
});
}
})
},
checkSelInSubcomno(subcomno) {
this.inStanos=[];
this.selectForm.STANO='';
this.querytSelStanos(subcomno);
},
//
querytSelStanos(subcomno) {
selectStanos({
SUBCOMNO: subcomno
}).then((res) => {
// console.log(res);
// console.log(res.code);
const arr = []; //
if (res.code === 0) {
for (const i in res.data) {
arr.push(res.data[i]);
}
this.inStanos = arr;
// console.log(this.roadnos);
} else {
ElMessage({
type: 'error',
message: res.msg,
});
}
})
},
//
querytStanos(subcomno) {
selectStanos({
SUBCOMNO: subcomno
}).then((res) => {
// console.log(res);
// console.log(res.code);
const arr = []; //
if (res.code === 0) {
for (const i in res.data) {
arr.push(res.data[i]);
}
// console.log(this.roadnos);
} else {
ElMessage({
type: 'error',
message: res.msg,
});
}
})
},
reNetwork() {
this.selectForm = {
total: 0,
@ -308,8 +731,8 @@ export default {
},
network() {
this.tableLoading = true;
this.selectForm.staList=this.StaList;
getEntrancePage(this.selectForm).then((res) => {
this.selectForm.staList = this.StaList;
getDriverAwayPage(this.selectForm).then((res) => {
// console.log(res)
if (res.records != null) {
// console.log(res.records)
@ -340,6 +763,7 @@ export default {
},
mounted() {
this.querySubcomno();
this.network();
// document.documentElement.style.setProperty('--el-bg-color', '#2f39a4')

@ -82,9 +82,9 @@ export default {
// console.log(key, keyPath)
},
selectMenu() {
// const sid = getUrlKey(window.location.search, "sid");
const sid = getUrlKey(window.location.search, "sid");
// console.log(sid)
const sid = '66a6c98f-cb82-483c-b112-d7ee74c1a62b';
// const sid = '66a6c98f-cb82-483c-b112-d7ee74c1a62b';
// const sid = '801';
getMenu({
sid: sid

Loading…
Cancel
Save