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

AVI联调

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