Commit beba65cf authored by 夏东伟's avatar 夏东伟

AVI联调

parent e89ef5c4
......@@ -80,7 +80,7 @@ public class EquipmentController {
@ApiOperation(value = "根据车间code获得设备列表")
@GetMapping("/findByShopCode")
private Return findByShopCode(@RequestParam String workshopCode){
private Return findByShopCode(@RequestParam(value = "workshopCode", required = false) String workshopCode){
List<EquipInfo> equipInfos = equipmentService.findByShopCode(workshopCode);
return Return.success(equipInfos);
}
......
......@@ -17,6 +17,7 @@ import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
/**
* @Author: xiadongwei
......@@ -93,9 +94,18 @@ public class PaintshopStation implements Serializable {
@ApiModelProperty(notes = "车身号")
private String busNo;
@ApiModelProperty(notes = "工单号")
private String workOrderNo;
@ApiModelProperty(value = "车体类型")
private ProductionType busType;
@ApiModelProperty(value = "上次进车时间")
private Date inTime;
@ApiModelProperty(value = "过站信息ID")
private Long passInfoId;
@ApiModelProperty(notes = "状态", hidden = true)
@Column(name = "status")
private String status;
......
......@@ -41,10 +41,10 @@ public class DryingRoomTempService {
public List<EquipStatusRecord> findPageEquip(Integer pageNum, Integer pageSize, String equipCode, Date beginTime) {
PageHelper.startPage(pageNum, pageSize);
if (null == beginTime){
beginTime = new Date();
beginTime = DateUtils.getStartOfDay(1);
}
String startOfDay = DateUtils.parseDateToString(DateUtils.getStartOfDay(0, beginTime), "yyyy-MM-dd HH:mm:ss");
String endOfDay = DateUtils.parseDateToString(DateUtils.getEndOfDay(0, beginTime), "yyyy-MM-dd HH:mm:ss");
String startOfDay = DateUtils.parseDateToString(DateUtils.getStartOfDay(-1, beginTime), "yyyy-MM-dd HH:mm:ss");
String endOfDay = DateUtils.parseDateToString(DateUtils.getEndOfDay(-1, beginTime), "yyyy-MM-dd HH:mm:ss");
if (StringUtils.isEmpty(equipCode)){
return statusRecordMapper.findList(new WhereFilter(){{
addFilter("equip_type", Operation.EQUAL, "DRYING_ROOM_TEMP");
......
......@@ -178,6 +178,9 @@ public class EquipmentService {
}
public List<EquipInfo> findByShopCode(String workshopCode) {
if (StringUtils.isEmpty(workshopCode)){
return basicInfoMapper.findList(new WhereFilter(), EquipInfo.class);
}
return basicInfoMapper.findList(new WhereFilter(){{
addFilter("workshop_code", Operation.EQUAL, workshopCode);
}}, EquipInfo.class);
......
......@@ -56,9 +56,32 @@ public class RunRecordService {
*/
public List<RuntimeRecord> findPageRunTime(JSONObject pageFilter) {
PageHelper.startPage(pageFilter.getIntValue("pageNum"), pageFilter.getIntValue("pageSize"));
return runtimeRecordMapper.findList(searchService.pageFilter2Filter(pageFilter, new WhereFilter() {{
List<RuntimeRecord> list = runtimeRecordMapper.findList(searchService.pageFilter2Filter(pageFilter, new WhereFilter() {{
addJoin(RuntimeRecord.class, "machine_id", EquipInfo.class, "id");
}}), RuntimeRecord.class);
list.stream().forEach(runtimeRecord -> {
switch (runtimeRecord.getWorkshopCode()){
case "PARTS":
runtimeRecord.setWorkshopCode("制件车间");
break;
case "WELDING":
runtimeRecord.setWorkshopCode("焊装车间");
break;
case "PAINTING":
runtimeRecord.setWorkshopCode("喷涂车间");
break;
case "CHASSIS":
runtimeRecord.setWorkshopCode("底盘车间");
break;
case "ASSEMBLY":
runtimeRecord.setWorkshopCode("总装车间");
break;
case "TRIAL":
runtimeRecord.setWorkshopCode("试交车间");
break;
}
});
return list;
}
/**
......
package net.vtstar.zhongtong.avi.gateway.painting.domain;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import net.vtstar.scada.base.gather.domain.EquipmentData;
import net.vtstar.user.search.Search;
import net.vtstar.zhongtong.avi.global.web.Show;
import net.vtstar.zhongtong.avi.global.web.domain.enums.FieldType;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.math.BigDecimal;
import java.util.Date;
@Data
@Search(code = "VEHICLE_ELECTROPHORESIS_OUTPUT")
@ApiModel(value = "涂装--电泳", description = "电泳监控数据表")
@Table(name = "eqp_data_rectification_out")
public class ElectrophoresisMachine extends EquipmentData {
@Column(name = "eqp_code")
@ApiModelProperty(notes = "设备编号")
private String equipCode;
@Show(label = "上升时间(min)")
@Column(name = "up_time")
private BigDecimal upTime;
@Show(label = "下降时间(min)")
@Column(name = "down_time")
private BigDecimal downTime;
@Show(label = "平移时间(min)")
@Column(name = "translation_time")
private BigDecimal translationTime;
@Show(label = "入槽时间(min)")
@Column(name = "entry_time")
private BigDecimal entryTime;
@Search
@Show(label = "采集时间",dataType = FieldType.DATETIME)
@ApiModelProperty("采集时间")
@Column(name = "create_time")
private Date createTime;
@Id
private Long id;
@ApiModelProperty("采集状态")
@Column(name = "status")
private String status;
}
......@@ -65,7 +65,7 @@ public class RotaryRollerBedMachineJob extends QuartzJobBean {
machine.setRunNumWelding(Integer.valueOf(testValueOperations.get(keyW).toString()));
machine.setRunNumPainting1(Integer.valueOf(testValueOperations.get(keyP1).toString()));
machine.setRunNumPainting2(Integer.valueOf(testValueOperations.get(keyP2).toString()));
machine.setRunNumChassis(Integer.valueOf(testValueOperations.get(keyC).toString()));
machine.setRunNumChassis(Integer.valueOf(testValueOperations.get(keyC).toString()) - Integer.valueOf(testValueOperations.get(keyW).toString()));
machine.setCreateTime(new Date());
mapper.insert(machine);
}else {
......
......@@ -3,13 +3,18 @@ package net.vtstar.zhongtong.avi.gateway.painting.listener;
import com.jnrsmcu.sdk.netdevice.NodeData;
import com.jnrsmcu.sdk.netdevice.RSServer;
import com.jnrsmcu.sdk.netdevice.RealTimeData;
import net.vtstar.user.mybatis.provider.Operation;
import net.vtstar.user.mybatis.provider.WhereFilter;
import net.vtstar.utils.CollecUtils;
import net.vtstar.zhongtong.avi.gateway.painting.domain.SprayBoothMachine;
import net.vtstar.zhongtong.avi.gateway.painting.mapper.SprayBoothMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.core.annotation.Order;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
......@@ -27,6 +32,9 @@ public class SprayBoothListener implements CommandLineRunner {
@Autowired
private SprayBoothMapper mapper;
@Resource(name = "redisTemplate")
protected ValueOperations valueOperations;
@Override
public void run(String... args) throws Exception {
// 初始化
......@@ -39,43 +47,43 @@ public class SprayBoothListener implements CommandLineRunner {
int deviceId = data.getDeviceId();
String name = "";
switch (deviceId) {
case 30018326:
case 30019199:
name = "喷漆室-01";
break;
case 30019151:
case 30019212:
name = "喷漆室-02";
break;
case 30019158:
case 30019220:
name = "喷漆室-03";
break;
case 4:
case 30019158:
name = "喷漆室-04";
break;
case 5:
case 30019217:
name = "喷漆室-05";
break;
case 6:
case 30019414:
name = "喷漆室-06";
break;
case 7:
case 30019151:
name = "喷漆室-07";
break;
case 8:
case 30019183:
name = "喷漆室-08";
break;
case 9:
case 30019370:
name = "喷漆室-09";
break;
case 10:
case 30018326:
name = "喷漆室-10";
break;
case 11:
case 30019186:
name = "喷漆室-11";
break;
case 12:
case 30019193:
name = "喷漆室-12";
break;
case 13:
case 30019136:
name = "喷漆室-13";
break;
default:
......@@ -93,7 +101,20 @@ public class SprayBoothListener implements CommandLineRunner {
sprayBoothMachine.setCreateTime(new Date());
list.add(sprayBoothMachine);
}
mapper.insertList(list);
if(CollecUtils.isEmpty(list)){
return;
}
SprayBoothMachine sprayBoothMachine = list.get(0);
Object value = valueOperations.get("喷涂室:" + sprayBoothMachine.getEquipCode());
if (value == null){
valueOperations.set("喷涂室:" + sprayBoothMachine.getEquipCode(), sprayBoothMachine.getCreateTime().getTime());
}else{
long time = sprayBoothMachine.getCreateTime().getTime() - Long.valueOf(value.toString());
if (time > 5 * 60 * 1000){
mapper.insertList(list);
valueOperations.set("喷涂室:" + sprayBoothMachine.getEquipCode(), sprayBoothMachine.getCreateTime().getTime());
}
}
}
});
rsServer.start();
......
......@@ -34,6 +34,9 @@ public class PretreamentMachineJob extends GatherJob {
if (state != null && "0".equals(state)) {
return false;
}
if (null == data.getDdstTemperature() || null == data.getRsc2Time()){
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
return true;
}
......
......@@ -37,6 +37,9 @@ public class AutomaticSpotWeldingMachineJob extends GatherJob {
if (data.getWeldingSpotA1() == null || data.getWeldingSpotA2() == null || null == data.getPressure()){
return false;
}
if(data.getWeldingSpotA1() ==0 && data.getWeldingSpotA2() == 0){
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
return true;
}
......@@ -49,7 +52,7 @@ public class AutomaticSpotWeldingMachineJob extends GatherJob {
if (fieldName.startsWith("weldingSpotA")){
int intValue = Float.valueOf(Integer.valueOf(value.toString()) / 65535f * 5 * 4000).intValue();
if (intValue < 1000){
return null;
return 0;
}
return intValue;
}
......
......@@ -34,7 +34,10 @@ public class PlcControlTireMachine1Job extends GatherJob {
if (state == null || "0".equals(state)) {
return false;
}
if (null == data.getTopBusWidth()){
if (null == data.getTopBusWidth() || null == data.getTopBusHeight()){
return false;
}
if (data.getTopBusWidth() == 1 && data.getTopBusHeight() == 1){
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
......
......@@ -37,6 +37,9 @@ public class PlcControlTireMachine2Job extends GatherJob {
if (null == data.getTopBusWidth()){
return false;
}
if (data.getTopBusWidth() == 1 && data.getTopBusHeight() == 1){
return false;
}
equipmentData.setEquipStatus(EquipStatusEnum.RUN);
return true;
}
......
......@@ -28,11 +28,14 @@ public class Constant {
public static final String HANZHUANG_VEHICLE2_RFID = "rfid69";
//焊装平移车道1车身号
public static final String HANZHUANG_VEHICLE1_BUSNO_KEY = "HZC1:";
//涂装首工位
public static final String TUZHUANG_VEHICLE1_RFID = "rfid59";
//焊装平移车道2车身号
public static final String HANZHUANG_VEHICLE2_BUSNO_KEY = "HZC2:";
//焊装平移车道车身号
public static final String HANZHUANG_VEHICLE_BUSNO_KEY = "HZC1:";
//焊装平移车道工单号
public static final String HANZHUANG_VEHICLE_WORKNO_KEY = "HZWON:";
// //redis平移车信号到位
// public static final String VEHICLE_PREFIX = "VEHICLE:STATE";
......
......@@ -20,6 +20,7 @@ import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@Service
......@@ -70,6 +71,15 @@ public class LedService {
}
}
}
//TODO:临时的假数据, 进车数 = 当前小时 * 5;
int hours = new Date().getHours();
int minutes = new Date().getMinutes();
if (hours > 6){
vo.setBusIn(new BigDecimal((hours - 6) * 4 + minutes / 15 + Integer.valueOf(ledNo)));
if (vo.getBusIn().intValue() > 12){
vo.setBusOut(new BigDecimal((hours - 6) * 4 + minutes / 15 - Integer.valueOf(ledNo) - 7));
}
}
if (ledNo.equals("1") || ledNo.equals("2") || ledNo.equals("3") || ledNo.equals("4")) {
vo.setRoomInfoList(new ArrayList<>());
......
package net.vtstar.zhongtong.avi.monitoring.controller;
import io.netty.buffer.ByteBuf;
import io.netty.util.internal.StringUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -141,24 +142,15 @@ public class AreaController {
@ApiOperation(value = "根据工单号及订单号定位车体当前位置", response = PaintshopArea.class, responseContainer = "List")
@GetMapping("/currentPosition/orderNo/workOrderNo")
private Return getPositionByOrderAndNo(@RequestParam(value = "orderNo", required = false) String orderNo, @RequestParam(value = "workOrderNo", required = false) String workOrderNo) {
// List<Map<String, PaintshopStation>> s = new ArrayList<>();
// Map<String, PaintshopStation> stationMap = new HashMap<>();
// PaintshopStation station = new PaintshopStation();
// station.setBusNo("aaa");
// station.setKeyStation(true);
// station.setCode("HDG1-4");
// station.setCode("HDG1-1");
// station.setState(StationState.USE);
// station.setBusType(ProductionType.OWN);
// stationMap.put("HDG1-4", station);
// PaintshopStation station2 = new PaintshopStation();
// station2.setBusNo("bbb");
// station2.setKeyStation(false);
// station2.setBusType(ProductionType.OTHER);
// station2.setState(StationState.FREE);
// station2.setCode("HDG1-3");
// stationMap.put("HDG1-3", station2);
// s.add(stationMap);
List<PaintshopArea> areas = areaService.findBusLocation(orderNo, workOrderNo);
// stationMap.put("HDG1-1", station);
Map<String, PaintshopStation> areas = areaService.findBusLocation(orderNo, workOrderNo);
return Return.success(areas);
}
......
......@@ -29,9 +29,13 @@ public class PDAController {
log.info(json.toJSONString());
String vehicleNo = json.getString("vehicleNo");
String busNo = json.getString("busNo");
ParamAssert.notNull(vehicleNo,"param is null");
ParamAssert.notNull(busNo,"param is null");
pdaService.bound(vehicleNo,busNo);
String workOrderNo = json.getString("workOrderNo");
ParamAssert.notNull(vehicleNo,"vehicleNo is null");
ParamAssert.notNull(busNo,"busNo is null");
ParamAssert.notNull(workOrderNo,"workOrderNo is null");
if (!pdaService.bound(vehicleNo, busNo, workOrderNo)){
return Return.failed("未查询到工单号!");
};
return Return.success();
}
......
......@@ -27,6 +27,9 @@ public class Skid {
@ApiModelProperty(notes = "绑定车身号")
private String busNo;
@ApiModelProperty(notes = "绑定工单号")
private String workOrderNo;
@ApiModelProperty(value = "车体类型")
private ProductionType busType;
......
......@@ -4,13 +4,18 @@ import io.swagger.annotations.ApiModel;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
@ApiModel("过站信息")
@Data
@Table(name = "vehicle_passing_info")
public class StationPassInfo {
@Id
private Long id;
@Column(name = "VIN")
private String VIN;
......@@ -23,9 +28,9 @@ public class StationPassInfo {
@Column(name = "station_no")
private String stationNo;
@Column(name = "inTime")
private String in_time;
@Column(name = "in_time")
private Date inTime;
@Column(name = "outTime")
private String out_time;
@Column(name = "out_time")
private Date outTime;
}
......@@ -18,6 +18,7 @@ import net.vtstar.zhongtong.avi.monitoring.domain.Skid;
import net.vtstar.zhongtong.avi.monitoring.domain.Vehicle;
import net.vtstar.zhongtong.avi.monitoring.domain.enums.Direction;
import net.vtstar.zhongtong.avi.monitoring.domain.enums.StationState;
import net.vtstar.zhongtong.avi.monitoring.service.StationPassInfoService;
import net.vtstar.zhongtong.avi.mqtt.handle.RfidMessageHandler;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
......@@ -47,6 +48,8 @@ public class AVIMonitorJob extends GatherJob {
private PaintshopStationMapper stationMapper;
@Autowired
private ModbusService modbusService;
@Autowired
private StationPassInfoService passInfoService;
@Resource(name = "stationCache")
private Cache stationCache;
......@@ -223,6 +226,9 @@ public class AVIMonitorJob extends GatherJob {
collect(Collectors.groupingBy(PaintshopStation::getVehicleLaneCode));
for (Map.Entry<String, List<Vehicle>> ve : veMap.entrySet()) {
String key = ve.getKey();
if (Integer.valueOf(key) > 4){
continue;
}
List<Vehicle> value = ve.getValue();
List<PaintshopStation> turnStation = new ArrayList<>();
List<PaintshopStation> landStations = listMap.get(key);
......@@ -239,26 +245,44 @@ public class AVIMonitorJob extends GatherJob {
Map<String, PaintshopStation> entries = hashOperations.entries(Constant.STATION_OUT_PREFIX + key);
for (PaintshopStation station : turnStation) {
entries.put(station.getCode(), station);
//若当前工位已进车的方式旋转, 且之前一分钟内没有进过车, 则此工位可再次进车
if (station.getInTime() != null && ((System.currentTimeMillis() - station.getInTime().getTime()) > 60 * 1000)){
entries.put(station.getCode(), station);
}
}
if (CollectionUtils.isEmpty(entries)) {
stationSize = turnStation.size();
}
//TODO: 临时校验错误, 每条平移车道存在其旋转工位数, 若超过此值, 则按照当前下车数进行依次下车, 多余旋转工位舍弃;
int maxStationSize = 0;
switch (key){
case "1":
maxStationSize = 1;
break;
case "2":
maxStationSize = 4;
break;
case "3":
maxStationSize = 3;
break;
case "4":
maxStationSize = 7;
break;
}
//若平移车下车信号与与工位下车信号不等,存入工位信息返回
if (value.size() != stationSize) {
if (value.size() != stationSize && stationSize <= maxStationSize) {
hashOperations.putAll(Constant.STATION_OUT_PREFIX + key, entries);
log.error("当前旋转的工位数量为: " + stationSize);
} else {
value.sort(Comparator.comparing(v -> v.getSequence()));
List<PaintshopStation> collect = entries.values().stream().sorted(Comparator.comparing(e -> e.getLaneCode())).collect(Collectors.toList());
List<PaintshopStation> collect = entries.values().stream().sorted(Comparator.comparing(e -> e.getVehicleLaneCode())).collect(Collectors.toList());
for (int i = 0; i < value.size(); i++) {
//找到滑撬上绑定平移车,找到工位对应车道上所有工位信息
Vehicle vehicle = value.get(i);
PaintshopStation station = collect.get(i);
Skid skid = vehicle.getSkid();
vehicle.setSkid(null);
vehicle.setCurrentRfid(null);
Long laneId = station.getLaneId();
List<PaintshopStation> lands = new ArrayList<>();
......@@ -272,6 +296,8 @@ public class AVIMonitorJob extends GatherJob {
PaintshopStation start = lands.get(0);
PaintshopStation end = lands.get(lands.size() - 1);
//下车时, 记录进去车道的开始时间, 并将记录ID绑定在工位上
Long passInfoId = passInfoService.createPassInfo(station.getWorkOrderNo(), station.getSkid().getRfid(), station.getAreaName(), station.getLandNo());
if (start.getCode().equals(station.getCode())) {
for (int j = lands.size() - 1; j > 0; j--) {
PaintshopStation tem = lands.get(j);
......@@ -286,6 +312,8 @@ public class AVIMonitorJob extends GatherJob {
}
start.setSkid(skid);
start.setState(StationState.USE);
start.setInTime(new Date());
start.setPassInfoId(passInfoId);
} else if (end.getCode().equals(station.getCode())) {
for (int j = 0; j < lands.size() - 1; j++) {
......@@ -301,6 +329,8 @@ public class AVIMonitorJob extends GatherJob {
}
end.setState(StationState.USE);
end.setSkid(skid);
end.setInTime(new Date());
end.setPassInfoId(passInfoId);
}
String today = RfidMessageHandler.dateFormat.format(new Date());
......@@ -321,6 +351,9 @@ public class AVIMonitorJob extends GatherJob {
for (PaintshopStation land : lands) {
valueOperations.set(Constant.STATION_PREFIX + land.getCode(), land);
}
vehicle.setSkid(null);
vehicle.setCurrentRfid(null);
vehicle.setState(null);
valueOperations.set(Constant.VEHICLE_PREFIX + vehicle.getCode(), value);
}
}
......
......@@ -105,6 +105,7 @@ public class RedisToCacheJob extends GatherJob {
if (null != skid) {
value.setState(StationState.USE);
value.setBusNo(skid.getBusNo());
value.setWorkOrderNo(skid.getWorkOrderNo());
value.setBusType(skid.getBusType());
}
}
......
......@@ -101,11 +101,13 @@ public class ReadDataToCacheRunner implements CommandLineRunner {
PaintshopStation station = stations.get(i);
if (i % 5 == 0) {
station.setBusType(ProductionType.OWN);
station.setBusNo("");
station.setBusNo("VIN" + i);
station.setWorkOrderNo("1");
station.setState(StationState.USE);
} else {
station.setState(StationState.FREE);
}
station.setState(StationState.FREE);
valueOperations.set(Constant.STATION_PREFIX + station.getCode(),station);
}
......
......@@ -51,10 +51,9 @@ public class AreaService {
return areas;
}
public List<PaintshopArea> findBusLocation(String orderNo, String workOrderNo) {
public Map<String, PaintshopStation> findBusLocation(String orderNo, String workOrderNo) {
if (StringUtils.isEmpty(orderNo) && StringUtils.isEmpty(workOrderNo)) {
List<PaintshopArea> areas = webStationCache.get("stationList", ArrayList.class);
return areas;
return new HashMap<>();
}
List<PaintshopArea> ar = new ArrayList<>();
......@@ -69,9 +68,8 @@ public class AreaService {
nos.add(workOrderNo);
}
List<PaintshopArea> areas = webStationCache.get("stationList", ArrayList.class);
Map<String, PaintshopStation> newMap = new HashMap<>();
for (PaintshopArea area : areas) {
PaintshopArea paintshopArea = area;
Map<String, PaintshopStation> newMap = new HashMap<>();
Map<String, PaintshopStation> map = area.getStationMap();
for (Map.Entry<String, PaintshopStation> entry : map.entrySet()) {
PaintshopStation value = entry.getValue();
......@@ -85,10 +83,8 @@ public class AreaService {
}
}
}
paintshopArea.setStationMap(newMap);
ar.add(paintshopArea);
}
return ar;
return newMap;
}
public Bus getByBusNo(String busNo) {
......
package net.vtstar.zhongtong.avi.monitoring.service;
import net.vtstar.user.mybatis.provider.Operation;
import net.vtstar.user.mybatis.provider.WhereFilter;
import net.vtstar.utils.CollecUtils;
import net.vtstar.zhongtong.avi.equipment.domain.PaintshopStation;
import net.vtstar.zhongtong.avi.global.constant.Constant;
import net.vtstar.zhongtong.avi.monitoring.domain.Skid;
import net.vtstar.zhongtong.avi.monitoring.domain.Vehicle;
import net.vtstar.zhongtong.avi.sqlserver.domain.MesWorkOrderInfo;
import net.vtstar.zhongtong.avi.sqlserver.mapper.MesWorkOrderMapper;
import net.vtstar.zhongtong.avi.utils.EquipDataUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Service;
......@@ -22,20 +29,33 @@ public class PDAService {
protected HashOperations hashOperations;
@Resource(name = "redisTemplate")
protected ValueOperations valueOperations;
@Autowired
private MesWorkOrderMapper mesWorkOrderMapper;
@Resource(name = "redisTemplate")
protected ValueOperations testValueOperations;
//钣金上车绑定
public void bound(String vehicleNo, String busNo) {
public boolean bound(String vehicleNo, String busNo, String workOrderNo) {
// TODO: 2019-11-02 判断车身工单号是否在计划中
List<MesWorkOrderInfo> list = mesWorkOrderMapper.findList(new WhereFilter() {{
addFilter("work_order_no", Operation.EQUAL, workOrderNo);
addFilter("status", Operation.EQUAL, 4);
}}, MesWorkOrderInfo.class);
if (CollecUtils.isEmpty(list)){
return false;
}
String keyW = EquipDataUtil.getTestValueKey("ROTARY_ROLLER_BED_W");
testValueOperations.set(keyW, null == testValueOperations.get(keyW) ? 0 : ((int)testValueOperations.get(keyW)) + 1);
if (vehicleNo.equals("HZC1")) {
valueOperations.set(Constant.HANZHUANG_VEHICLE1_BUSNO_KEY + "rfid68", busNo);
valueOperations.set(Constant.HANZHUANG_VEHICLE_BUSNO_KEY + "rfid68", busNo);
valueOperations.set(Constant.HANZHUANG_VEHICLE_WORKNO_KEY + "rfid68", workOrderNo);
}
if (vehicleNo.equals("HZC2")) {
valueOperations.set(Constant.HANZHUANG_VEHICLE1_BUSNO_KEY + "rfid69", busNo);
valueOperations.set(Constant.HANZHUANG_VEHICLE_BUSNO_KEY + "rfid69", busNo);
valueOperations.set(Constant.HANZHUANG_VEHICLE_WORKNO_KEY + "rfid69", workOrderNo);
}
return true;
}
......@@ -49,11 +69,15 @@ public class PDAService {
Assert.notNull(targetSkid, targetStation + ":此工位没有滑撬!");
source.setBusNo(null);
source.setWorkOrderNo(null);
sourceSkid.setBusNo(null);
sourceSkid.setWorkOrderNo(null);
source.setSkid(sourceSkid);
target.setBusNo(sourceSkid.getBusNo());
target.setWorkOrderNo(sourceSkid.getWorkOrderNo());
targetSkid.setBusNo(sourceSkid.getBusNo());
targetSkid.setWorkOrderNo(sourceSkid.getWorkOrderNo());
target.setSkid(targetSkid);
valueOperations.set(Constant.SKID_PREFIX + sourceSkid.getRfid(), source);
......
package net.vtstar.zhongtong.avi.monitoring.service;
import net.vtstar.zhongtong.avi.equipment.domain.PaintshopStation;
import net.vtstar.zhongtong.avi.monitoring.domain.StationPassInfo;
import net.vtstar.zhongtong.avi.monitoring.mapper.StationPassInfoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
/**
* @Author: xiadongwei
* @Date: 2019/12/13 15:18
*/
@Service
public class StationPassInfoService {
@Resource(name = "mesSqlServerJdbcTemplate")
private JdbcTemplate mesSqlServerJdbcTemplate;
@Autowired
private StationPassInfoMapper passInfoMapper;
//创建过站信息记录
public Long createPassInfo(String workOrderNo, String rfid, String areaNo, String stationNo){
StationPassInfo info = new StationPassInfo();
info.setVIN(workOrderNo);
info.setRfid(rfid);
info.setAreaNo(areaNo);
info.setStationNo(stationNo);
info.setInTime(new Date());
passInfoMapper.insert(info);
return info.getId();
}
public void endPassInfo(PaintshopStation station){
if (null == station || null == station.getPassInfoId()){
return;
}
StationPassInfo passInfo = passInfoMapper.getById(station.getPassInfoId(), StationPassInfo.class);
if (null == passInfo){
return;
}
passInfo.setOutTime(new Date());
passInfoMapper.update(passInfo);
String sql = "INSERT INTO 'VEHICLE_PASSING_INFO' ('WONo', 'RFID', 'StationNo', 'AreaNo', 'InTime', 'OutTime', 'Status') VALUES ('"
+ passInfo.getVIN() + "', '"
+ passInfo.getRfid() + "', '"
+ passInfo.getStationNo() + "', '"
+ passInfo.getAreaNo() + "', '"
+ passInfo.getInTime() + "', '"
+ passInfo.getOutTime() + "', '"
+ 1 + "', '"
+ "');";
mesSqlServerJdbcTemplate.update(sql);
}
}
package net.vtstar.zhongtong.avi.mqtt.handle;
import com.alibaba.fastjson.JSONObject;
import io.netty.util.internal.StringUtil;
import lombok.extern.slf4j.Slf4j;
import net.vtstar.protocol.modbus.tcp.netty.service.ModbusTemplate;
import net.vtstar.scada.base.global.service.ModbusService;
......@@ -20,6 +21,8 @@ import net.vtstar.zhongtong.avi.monitoring.domain.bo.MQTTMessageBO;
import net.vtstar.zhongtong.avi.monitoring.domain.enums.ProductionType;
import net.vtstar.zhongtong.avi.monitoring.domain.enums.StationState;
import net.vtstar.zhongtong.avi.monitoring.mapper.StationPassInfoMapper;
import net.vtstar.zhongtong.avi.monitoring.service.StationPassInfoService;
import net.vtstar.zhongtong.avi.utils.EquipDataUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.Cache;
import org.springframework.data.redis.core.HashOperations;
......@@ -67,13 +70,15 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
private Cache webStationCache;
@Autowired
private ModbusService modbusService;
private StationPassInfoService passInfoService;
@Autowired
private ModbusTemplate modbusTemplate;
@Autowired
private PaintshopStationMapper stationMapper;
@Autowired
private StationPassInfoMapper passInfoMapper;
@Resource(name = "redisTemplate")
protected ValueOperations testValueOperations;
public RfidMessageHandler() {
super("translation", "data/all");
......@@ -88,6 +93,9 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
String id = json.getString("ID");
Integer state = json.getIntValue("State");
if (StringUtil.isNullOrEmpty(id)) {
return;
}
String today = dateFormat.format(date);
//存rfid log日志
......@@ -108,8 +116,9 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
Skid skid = (Skid) valueOperations.get(Constant.SKID_PREFIX + id);
//若是焊装车间进车,绑定滑撬与车身关系
if (state == 1 && (vehicleCode.equals(Constant.HANZHUANG_VEHICLE1_RFID) || vehicleCode.equals(Constant.HANZHUANG_VEHICLE1_RFID))) {
String busNo = (String) valueOperations.get(Constant.HANZHUANG_VEHICLE1_BUSNO_KEY + vehicleCode);
if (state == 1 && (vehicleCode.equals(Constant.HANZHUANG_VEHICLE1_RFID) || vehicleCode.equals(Constant.HANZHUANG_VEHICLE2_RFID))) {
String busNo = (String) valueOperations.get(Constant.HANZHUANG_VEHICLE_BUSNO_KEY + vehicleCode);
String workOrderNo = (String) valueOperations.get(Constant.HANZHUANG_VEHICLE_WORKNO_KEY + vehicleCode);
if (null == busNo) {
log.error("未录入PDA车身号! :" + vehicleCode);
return;
......@@ -118,6 +127,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
skid = new Skid();
skid.setRfid(id);
skid.setBusNo(busNo);
skid.setWorkOrderNo(workOrderNo);
skid.setBusType(ProductionType.OWN);
valueOperations.set(Constant.SKID_PREFIX + id, skid);
}
......@@ -127,6 +137,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
if (null == size) {
size = 1;
}
//TODO: size是否需要++
valueOperations.set(key, size);
return;
}
......@@ -141,6 +152,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
}
String rfid = vehicle.getCurrentRfid();
//若当前平移车上绑定了RFID, 并且与当前mqtt信息中的ID一致, 并且state=1, 则认为这是读写头的重发现象
if (null != rfid && id.equals(rfid)) {
if (state == 1) {
Date occurTime = vehicle.getOccurTime();
......@@ -164,7 +176,7 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
vehicle.setOccurTime(date);
vehicle.setCurrentRfid(id);
vehicle.setSkid(skid);
// valueOperations.set(Constant.VEHICLE_PREFIX + vehicleCode, vehicle);
// valueOperations.set(Constant.VEHICLE_PREFIX + vehicleCode, vehicle);
List<PaintshopArea> areas = webStationCache.get("stationList", ArrayList.class);
......@@ -172,15 +184,15 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
Map<String, PaintshopStation> stationMap = area.getStationMap();
for (Map.Entry<String, PaintshopStation> entry : stationMap.entrySet()) {
PaintshopStation value = entry.getValue();
if (!value.getVehicleLaneCode().equals(vehicle.getLane())) {
//因目前无法保证上撬工位一定位于平移车道两侧, 所以不再判断车道信息
/*if (!vehicle.getLane().equals(value.getVehicleLaneCode())) {
continue;
}
}*/
if (value.getState().equals(StationState.FREE)) {
if (StationState.FREE.equals(value.getState())) {
continue;
}
if (value.getSkid().getRfid().equals(id)) {
if (id.equals(value.getSkid().getRfid())) {
List<PaintshopStation> lands = new ArrayList<>();
List<PaintshopStation> temStation = laneStationCache.get(value.getLaneId(), ArrayList.class);
for (PaintshopStation land : temStation) {
......@@ -208,6 +220,9 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
tem2.setSkid(null);
}
}
if (null != start.getPassInfoId()){
passInfoService.endPassInfo(start);
}
} else if (end.getCode().equals(value.getCode())) {
vehicle.setSkid(end.getSkid());
vehicle.setCurrentRfid(start.getSkid().getRfid());
......@@ -223,6 +238,9 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
tem2.setSkid(null);
}
}
if (null != end.getPassInfoId()){
passInfoService.endPassInfo(end);
}
}
//TODO: 记录过站信息
......@@ -239,10 +257,24 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
for (PaintshopStation land : lands) {
valueOperations.set(Constant.STATION_PREFIX + land.getCode(), land);
}
valueOperations.set(Constant.VEHICLE_PREFIX + vehicle.getCode(), value);
valueOperations.set(Constant.VEHICLE_PREFIX + vehicle.getCode(), vehicle);
}
}
}
//若为涂装首工位上车, 且为焊装刚刚过来的, 此时无法从工位列表中找到滑撬信息, 所以单独处理
if (vehicleCode.equals(Constant.TUZHUANG_VEHICLE1_RFID)){
valueOperations.set(Constant.VEHICLE_PREFIX + vehicle.getCode(), vehicle);
String keyW = EquipDataUtil.getTestValueKey("ROTARY_ROLLER_BED_P1");
testValueOperations.set(keyW, null == testValueOperations.get(keyW) ? 0 : ((int)testValueOperations.get(keyW)) + 1);
}
if (vehicleCode.equals("rfid67")){
String keyW = EquipDataUtil.getTestValueKey("ROTARY_ROLLER_BED_P2");
testValueOperations.set(keyW, null == testValueOperations.get(keyW) ? 0 : ((int)testValueOperations.get(keyW)) + 1);
}
if (vehicleCode.equals("rfid68") || vehicleCode.equals("rfid69")){
String keyW = EquipDataUtil.getTestValueKey("ROTARY_ROLLER_BED_C");
testValueOperations.set(keyW, null == testValueOperations.get(keyW) ? 0 : ((int)testValueOperations.get(keyW)) + 1);
}
// // TODO: 2019-11-02 获得正反转信息,以及相邻的工位
// Integer land = vehicle.getLane();
......@@ -368,8 +400,8 @@ public class RfidMessageHandler extends AbstractTesterMessageHandler {
StationPassInfo info = new StationPassInfo();
info.setAreaNo(sourceStation.getAreaId().toString());
info.setRfid(skid.getRfid());
info.setVIN(skid.getBusNo());
info.setIn_time(currentDate);
info.setVIN(skid.getWorkOrderNo());
// info.setInTime(currentDate);
info.setStationNo(sourceStation.getCode());
passInfoMapper.insert(info);
}
......
......@@ -4,9 +4,9 @@ spring.datasource.url=jdbc:mysql://10.100.172.135:3306/zhongtong_dev?useSSL=fals
spring.datasource.username=zhongtongdev
spring.datasource.password=123456
# sql server(试交车间--检测线192.168.1.200)
# sql server(试交车间--检测线10.1.25.132)
spring.test.sqlserver.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.test.sqlserver.jdbc-url=jdbc:sqlserver://192.168.1.200:1433;DatabaseName=CARTEST_ZTKC
spring.test.sqlserver.jdbc-url=jdbc:sqlserver://10.1.25.132:1433;DatabaseName=CARTEST_ZTKC
spring.test.sqlserver.username=admin
spring.test.sqlserver.password=123456
......
......@@ -11,7 +11,7 @@ spring.datasource.url=jdbc:mysql://localhost:3306/zhongtong_dev?useSSL=false&use
spring.datasource.username =root
spring.datasource.password=123456
# sql server(试交车间--检测线192.168.1.200)
# sql server(试交车间--检测线10.1.25.132)
spring.test.sqlserver.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.test.sqlserver.jdbc-url=jdbc:sqlserver://127.0.0.1:1433;DatabaseName=CARTEST_ZTKC
spring.test.sqlserver.username=sa
......
......@@ -11,9 +11,9 @@ spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=
# sql server(试交车间--检测线192.168.1.200)
# sql server(试交车间--检测线10.1.25.132)
spring.test.sqlserver.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.test.sqlserver.jdbc-url=jdbc:sqlserver://192.168.1.200:1433;DatabaseName=CARTEST_ZTKC
spring.test.sqlserver.jdbc-url=jdbc:sqlserver://10.1.25.132:1433;DatabaseName=CARTEST_ZTKC
spring.test.sqlserver.username=admin
spring.test.sqlserver.password=123456
......
......@@ -31,13 +31,13 @@ quartz.job.taskInfos[1].jobName=net.vtstar.zhongtong.avi.equipment.job.CleanStat
quartz.job.taskInfos[1].jobGroup=CleanStatusDataJob
quartz.job.taskInfos[1].jobDescription=\u6E05\u6D17\u8BBE\u5907\u72B6\u6001Job
#quartz.job.taskInfos[1].cronExpression=0 0 0 * * ?
quartz.job.taskInfos[1].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[1].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[1].start=true
quartz.job.taskInfos[2].jobName=net.vtstar.zhongtong.avi.equipment.job.StatisticsTimeJob
quartz.job.taskInfos[2].jobGroup=StatisticsTimeJob
quartz.job.taskInfos[2].jobDescription=\u8ba1\u7b97\u8fd0\u884c\u65f6\u95f4Job
quartz.job.taskInfos[2].cronExpression=0 0 0/1 * * ?
quartz.job.taskInfos[2].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[2].start=true
#制件车间(PARTS)
......@@ -45,28 +45,28 @@ quartz.job.taskInfos[2].start=true
quartz.job.taskInfos[8].jobName=net.vtstar.zhongtong.avi.gateway.parts.job.DustingLineMachineJob
quartz.job.taskInfos[8].jobGroup=DustingLineMachineJob
quartz.job.taskInfos[8].jobDescription=\u55b7\u7c89\u7ebfJob
quartz.job.taskInfos[8].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[8].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[8].start=true
#前处理
quartz.job.taskInfos[9].jobName=net.vtstar.zhongtong.avi.gateway.parts.job.PretreamentMachineJob
quartz.job.taskInfos[9].jobGroup=PretreamentMachineJob
quartz.job.taskInfos[9].jobDescription=\u55b7\u7c89\u7ebfJob
quartz.job.taskInfos[9].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[9].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[9].start=true
#型钢下料
quartz.job.taskInfos[10].jobName=net.vtstar.zhongtong.avi.gateway.parts.job.SteelCncCuttingMachineJob
quartz.job.taskInfos[10].jobGroup=SteelCncCuttingMachineJob
quartz.job.taskInfos[10].jobDescription=\u578b\u94a2\u4e0b\u6599Job
quartz.job.taskInfos[10].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[10].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[10].start=true
#焊接机器人
quartz.job.taskInfos[21].jobName=net.vtstar.zhongtong.avi.gateway.parts.job.WeldingRobotMachineJob
quartz.job.taskInfos[21].jobGroup=WeldingRobotMachineJob
quartz.job.taskInfos[21].jobDescription=\u710a\u63a5\u673a\u5668\u4ebaJob
quartz.job.taskInfos[21].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[21].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[21].start=true
#焊装车间(WELDING)
......@@ -81,36 +81,43 @@ quartz.job.taskInfos[11].start=true
quartz.job.taskInfos[34].jobName=net.vtstar.zhongtong.avi.gateway.welding.job.WeldingPlateChainTimeMachineJob
quartz.job.taskInfos[34].jobGroup=WeldingPlateChainTimeMachineJob
quartz.job.taskInfos[34].jobDescription=\u677f\u94feJob
quartz.job.taskInfos[34].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[34].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[34].start=true
#PLC数控合装胎(串口)
quartz.job.taskInfos[12].jobName=net.vtstar.zhongtong.avi.gateway.welding.job.PlcControlTireMachine1Job
quartz.job.taskInfos[12].jobGroup=PlcControlTireMachine1Job
quartz.job.taskInfos[12].jobDescription=\u6E05\u6D17\u8BBE\u5907\u72B6\u6001Job
quartz.job.taskInfos[12].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[12].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[12].start=true
#PLC数控合装胎(网口)
quartz.job.taskInfos[13].jobName=net.vtstar.zhongtong.avi.gateway.welding.job.PlcControlTireMachine2Job
quartz.job.taskInfos[13].jobGroup=PlcControlTireMachine2Job
quartz.job.taskInfos[13].jobDescription=\u6E05\u6D17\u8BBE\u5907\u72B6\u6001Job
quartz.job.taskInfos[13].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[13].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[13].start=true
#车顶自动点焊
quartz.job.taskInfos[36].jobName=net.vtstar.zhongtong.avi.gateway.welding.job.AutomaticSpotWeldingMachineJob
quartz.job.taskInfos[36].jobGroup=AutomaticSpotWeldingMachineJob
quartz.job.taskInfos[36].jobDescription=\u8f66\u9876\u81ea\u52a8\u70b9\u710aJob
quartz.job.taskInfos[36].cronExpression=0/1 * * * * ?
quartz.job.taskInfos[36].start=true
#涂装车间(PAINTING)
#喷涂机器人
quartz.job.taskInfos[14].jobName=net.vtstar.zhongtong.avi.gateway.painting.job.PaintingRobotMachineJob
quartz.job.taskInfos[14].jobGroup=PaintingRobotMachineJob
quartz.job.taskInfos[14].jobDescription=\u55b7\u6d82\u673a\u5668\u4ebaJob
quartz.job.taskInfos[14].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[14].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[14].start=true
#喷涂喷涂室
quartz.job.taskInfos[23].jobName=net.vtstar.zhongtong.avi.gateway.painting.job.SprayBoothStateMachineJob
quartz.job.taskInfos[23].jobGroup=SprayBoothStateMachineJob
quartz.job.taskInfos[23].jobDescription=\u6d82\u88c5\u55b7\u6d82\u5ba4Job
quartz.job.taskInfos[23].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[23].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[23].start=true
#烘干室
......@@ -131,21 +138,21 @@ quartz.job.taskInfos[27].start=true
quartz.job.taskInfos[32].jobName=net.vtstar.zhongtong.avi.gateway.painting.job.RotaryRollerBedMachineJob
quartz.job.taskInfos[32].jobGroup=RotaryRollerBedMachineJob
quartz.job.taskInfos[32].jobDescription=\u65cb\u8f6c\u8f8a\u5e8aJob
quartz.job.taskInfos[32].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[32].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[32].start=true
#前处理温度
quartz.job.taskInfos[30].jobName=net.vtstar.zhongtong.avi.gateway.painting.job.PaintPretreatmentMachineJob
quartz.job.taskInfos[30].jobGroup=PaintPretreatmentMachineJob
quartz.job.taskInfos[30].jobDescription=\u524d\u5904\u7406\u6e29\u5ea6Job
quartz.job.taskInfos[30].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[30].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[30].start=true
#电泳整流
quartz.job.taskInfos[31].jobName=net.vtstar.zhongtong.avi.gateway.painting.job.ElectrophoresisRectificationMachineJob
quartz.job.taskInfos[31].jobGroup=ElectrophoresisRectificationMachineJob
quartz.job.taskInfos[31].jobDescription=\u7535\u6cf3\u6574\u6d41Job
quartz.job.taskInfos[31].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[31].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[31].start=true
#底盘车间(CHASSIS)
......@@ -153,7 +160,7 @@ quartz.job.taskInfos[31].start=true
quartz.job.taskInfos[15].jobName=net.vtstar.zhongtong.avi.gateway.chassis.job.ChassisTorqueMachineJob
quartz.job.taskInfos[15].jobGroup=ChassisTorqueMachineJob
quartz.job.taskInfos[15].jobDescription=\u667a\u80fd\u626d\u529b\u6273\u624bJob
quartz.job.taskInfos[15].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[15].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[15].start=true
#四轮定位同步
......@@ -175,7 +182,7 @@ quartz.job.taskInfos[22].start=true
quartz.job.taskInfos[33].jobName=net.vtstar.zhongtong.avi.gateway.assembly.job.PlateChainTimeMachineJob
quartz.job.taskInfos[33].jobGroup=PlateChainTimeMachineJob
quartz.job.taskInfos[33].jobDescription=\u677f\u94feJob
quartz.job.taskInfos[33].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[33].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[33].start=true
#离合油加注机
......@@ -203,7 +210,7 @@ quartz.job.taskInfos[18].start=true
quartz.job.taskInfos[19].jobName=net.vtstar.zhongtong.avi.gateway.assembly.job.FloorLeatherHotMachineJob
quartz.job.taskInfos[19].jobGroup=FloorLeatherHotMachineJob
quartz.job.taskInfos[19].jobDescription=\u5730\u677f\u9694\u70ed\u7194\u8bbe\u5907Job
quartz.job.taskInfos[19].cronExpression=0 0/1 * * * ?
quartz.job.taskInfos[19].cronExpression=0 0/5 * * * ?
quartz.job.taskInfos[19].start=true
#智能扭力扳手
......@@ -226,7 +233,7 @@ quartz.job.taskInfos[3].jobName=net.vtstar.zhongtong.avi.sqlserver.job.TestLineR
quartz.job.taskInfos[3].jobGroup=TestLineResultJob
quartz.job.taskInfos[3].jobDescription=\u68c0\u6d4b\u7ebfJob
quartz.job.taskInfos[3].cronExpression=0 0/15 * * * ?
quartz.job.taskInfos[3].start=false
quartz.job.taskInfos[3].start=true
#限速值
quartz.job.taskInfos[4].jobName=net.vtstar.zhongtong.avi.sqlserver.job.TestSpeedResultJob
......@@ -276,7 +283,7 @@ quartz.job.taskInfos[29].jobName=net.vtstar.zhongtong.avi.monitoring.job.RedisTo
quartz.job.taskInfos[29].jobGroup=RedisToCacheJob
quartz.job.taskInfos[29].jobDescription=\u0041\u0056\u0049\u5de5\u4f4d\u4fe1\u606f\u540c\u6b65Job
quartz.job.taskInfos[29].cronExpression=0/10 * * * * ?
quartz.job.taskInfos[29].start=false
quartz.job.taskInfos[29].start=true
#quartz.job.taskInfos[8].jobName=net.vtstar.scada.base.equipmgt.job.CleanEquipStatusJob
##quartz.job.taskInfos[8].jobGroup=CleanEquipStatusJob
......
......@@ -7,13 +7,13 @@ spring.datasource.username=root
spring.datasource.password=123456
# redis
spring.redis.host=127.0.0.1
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=
# sql server(试交车间--检测线192.168.1.200)
# sql server(试交车间--检测线10.1.25.132)
spring.test.sqlserver.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.test.sqlserver.jdbc-url=jdbc:sqlserver://192.168.1.200:1433;DatabaseName=CARTEST_ZTKC
spring.test.sqlserver.jdbc-url=jdbc:sqlserver://10.1.25.132:1433;DatabaseName=CARTEST_ZTKC
spring.test.sqlserver.username=admin
spring.test.sqlserver.password=123456
......@@ -35,7 +35,8 @@ spring.mes.sqlserver.jdbc-url=jdbc:sqlserver://192.168.100.226:1433;DatabaseName
spring.mes.sqlserver.username=wanteng
spring.mes.sqlserver.password=wanteng@2019
server.port=8888
server.port=8082
mqtt.server-uri=tcp://localhost:1883
logging.level.root=info
logging.level.net.vtstar=info
logging.level.net.vtstar=debug
......@@ -24,14 +24,14 @@ zt.ip.wheelalignment3=10.1.5.33
#试交车间
#检测线
zt.ip.testlineresult=10.100.172.150
zt.ip.testlineresult=10.1.25.132
#试交车间--限速值
zt.ip.testspeedresult=10.1.25.134
#试交车间--错误帧
zt.ip.errorframe=10.1.25.141
#总装车间--智能扭力扳手
zt.ip.assemblytorquewrench=10.100.172.150
zt.ip.assemblytorquewrench=10.1.25.116
#mes
zt.ip.mes=192.168.100.226
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment