Compare commits
2 Commits
f903828f4d
...
c9e6d8627a
| Author | SHA1 | Date |
|---|---|---|
|
|
c9e6d8627a | |
|
|
e0585fad31 |
|
|
@ -1,6 +1,7 @@
|
||||||
package com.youchain.exception.handler;
|
package com.youchain.exception.handler;
|
||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class ApiResult {
|
public class ApiResult {
|
||||||
|
|
@ -40,4 +41,8 @@ public class ApiResult {
|
||||||
rs.setData(data);
|
rs.setData(data);
|
||||||
return rs;
|
return rs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public HttpStatus getStatus() {
|
||||||
|
return HttpStatus.valueOf(this.code);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,8 @@ import java.security.cert.X509Certificate;
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class HttpPostUtil {
|
public class HttpPostUtil {
|
||||||
public static String sendPostReq(String api_url, String request) {
|
public static String sendPostReq(String api_url, String request) {
|
||||||
|
System.out.println("api:"+api_url);
|
||||||
|
System.out.println("request:"+request);
|
||||||
InputStream instr = null;
|
InputStream instr = null;
|
||||||
String str = "";
|
String str = "";
|
||||||
try {
|
try {
|
||||||
|
|
@ -46,6 +48,7 @@ public class HttpPostUtil {
|
||||||
System.out.println("返回空");
|
System.out.println("返回空");
|
||||||
}
|
}
|
||||||
str = ResponseString;
|
str = ResponseString;
|
||||||
|
System.out.println("返回:"+str);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.info("接口异常");
|
log.info("接口异常");
|
||||||
// throw new Error(e.getMessage());
|
// throw new Error(e.getMessage());
|
||||||
|
|
@ -54,6 +57,9 @@ public class HttpPostUtil {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String sendPostReq(String api_url, String request, String token) {
|
public static String sendPostReq(String api_url, String request, String token) {
|
||||||
|
System.out.println("api:"+api_url);
|
||||||
|
System.out.println("request:"+request);
|
||||||
|
System.out.println("token:"+token);
|
||||||
InputStream instr = null;
|
InputStream instr = null;
|
||||||
String str = "";
|
String str = "";
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -119,9 +119,13 @@
|
||||||
<artifactId>s7connector</artifactId>
|
<artifactId>s7connector</artifactId>
|
||||||
<version>2.1</version>
|
<version>2.1</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>aliyunmaven</id>
|
||||||
|
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
<!-- 打包 -->
|
<!-- 打包 -->
|
||||||
<build>
|
<build>
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,11 @@ public class AppRun {
|
||||||
springApplication.run(args);
|
springApplication.run(args);
|
||||||
|
|
||||||
log.error(JSONUtil.toJsonStr(LicenseValidate.getDeviceInfo()));
|
log.error(JSONUtil.toJsonStr(LicenseValidate.getDeviceInfo()));
|
||||||
|
try{
|
||||||
|
log.error(JSONUtil.toJsonStr(LicenseValidate.getLicense("2026-05-26")));
|
||||||
|
}catch (Exception e){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ import com.youchain.exception.handler.ApiResult;
|
||||||
import com.youchain.modules.system.domain.Dept;
|
import com.youchain.modules.system.domain.Dept;
|
||||||
import com.youchain.utils.BaseStatus;
|
import com.youchain.utils.BaseStatus;
|
||||||
import com.youchain.utils.FileUtil;
|
import com.youchain.utils.FileUtil;
|
||||||
|
import com.youchain.utils.ImportEntityUtils;
|
||||||
import com.youchain.utils.UserUtils;
|
import com.youchain.utils.UserUtils;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
|
|
@ -61,7 +62,7 @@ import static org.springframework.http.HttpStatus.BAD_REQUEST;
|
||||||
**/
|
**/
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Api(tags = "ponit管理")
|
@Api(tags = "点位管理")
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@RequestMapping("/api/point")
|
@RequestMapping("/api/point")
|
||||||
public class PointController {
|
public class PointController {
|
||||||
|
|
@ -102,10 +103,11 @@ public class PointController {
|
||||||
try {
|
try {
|
||||||
List<Map<String, Object>> readAll = reader.readAll();
|
List<Map<String, Object>> readAll = reader.readAll();
|
||||||
for (i = 0; i < readAll.size(); i++) {
|
for (i = 0; i < readAll.size(); i++) {
|
||||||
String code = readAll.get(i).get("编码").toString().trim();
|
String code = readAll.get(i).get("外部编码").toString().trim();
|
||||||
String types = readAll.get(i).get("类型").toString().trim();
|
String name = readAll.get(i).get("名称").toString().trim();
|
||||||
|
String types = readAll.get(i).get("存储类型").toString().trim();
|
||||||
String areaCode = readAll.get(i).get("库区").toString().trim();
|
String areaCode = readAll.get(i).get("库区").toString().trim();
|
||||||
String ccTYPE = readAll.get(i).get("存储类型") == null ? "" : readAll.get(i).get("存储类型").toString().trim();
|
String enabled = readAll.get(i).get("是否启用").toString().trim();
|
||||||
Double x = readAll.get(i).get("坐标X") == null ? 0 : Double.parseDouble(readAll.get(i).get("坐标X").toString());
|
Double x = readAll.get(i).get("坐标X") == null ? 0 : Double.parseDouble(readAll.get(i).get("坐标X").toString());
|
||||||
Double y = readAll.get(i).get("坐标Y") == null ? 0 : Double.parseDouble(readAll.get(i).get("坐标Y").toString());
|
Double y = readAll.get(i).get("坐标Y") == null ? 0 : Double.parseDouble(readAll.get(i).get("坐标Y").toString());
|
||||||
Area area = areaService.findByCode(areaCode);
|
Area area = areaService.findByCode(areaCode);
|
||||||
|
|
@ -117,9 +119,9 @@ public class PointController {
|
||||||
if (point == null) {
|
if (point == null) {
|
||||||
point = new Point();
|
point = new Point();
|
||||||
point.setCode(code);
|
point.setCode(code);
|
||||||
point.setName(code);
|
point.setName(name);
|
||||||
String lx = "";
|
String lx = "";
|
||||||
if (types.equals("缓存点")) {
|
if (types.equals("存储点")) {
|
||||||
lx = BaseStatus.STORAGE;
|
lx = BaseStatus.STORAGE;
|
||||||
|
|
||||||
} else if (types.equals("线边点位")) {
|
} else if (types.equals("线边点位")) {
|
||||||
|
|
@ -128,7 +130,6 @@ public class PointController {
|
||||||
point.setType(lx);
|
point.setType(lx);
|
||||||
point.setArea(area);
|
point.setArea(area);
|
||||||
point.setDept(dept);
|
point.setDept(dept);
|
||||||
point.setDescription(ccTYPE);
|
|
||||||
point.setPosX(x);
|
point.setPosX(x);
|
||||||
point.setPosY(y);
|
point.setPosY(y);
|
||||||
point.setEnabled(true);
|
point.setEnabled(true);
|
||||||
|
|
@ -148,8 +149,10 @@ public class PointController {
|
||||||
point.setType(lx);
|
point.setType(lx);
|
||||||
point.setArea(area);
|
point.setArea(area);
|
||||||
point.setDept(dept);
|
point.setDept(dept);
|
||||||
point.setDescription(ccTYPE);
|
|
||||||
point.setPosX(x);
|
point.setPosX(x);
|
||||||
|
if (ImportEntityUtils.stringFlag(enabled)){
|
||||||
|
point.setEnabled(Boolean.valueOf(enabled));
|
||||||
|
}
|
||||||
point.setPosY(y);
|
point.setPosY(y);
|
||||||
pointService.update(point);
|
pointService.update(point);
|
||||||
edit_len++;
|
edit_len++;
|
||||||
|
|
|
||||||
|
|
@ -143,27 +143,13 @@ public class PointServiceImpl implements PointService {
|
||||||
List<Map<String, Object>> list = new ArrayList<>();
|
List<Map<String, Object>> list = new ArrayList<>();
|
||||||
for (PointDto point : all) {
|
for (PointDto point : all) {
|
||||||
Map<String, Object> map = new LinkedHashMap<>();
|
Map<String, Object> map = new LinkedHashMap<>();
|
||||||
map.put("RCS代码", point.getCode());
|
map.put("外部编码", point.getCode());
|
||||||
map.put("名称", point.getName());
|
map.put("名称", point.getName());
|
||||||
map.put("状态", point.getStatus());
|
map.put("状态", point.getStatus());
|
||||||
map.put("描述", point.getDescription());
|
map.put("描述", point.getDescription());
|
||||||
map.put("区域编码", point.getBeatCode());
|
map.put("库区", point.getArea().getName());
|
||||||
map.put("物料编码", point.getItemCode());
|
|
||||||
map.put("库区名称", point.getArea().getName());
|
|
||||||
map.put("是否启用", point.getEnabled());
|
map.put("是否启用", point.getEnabled());
|
||||||
map.put("仓库名称", point.getDept().getName());
|
map.put("仓库名称", point.getDept().getName());
|
||||||
map.put("坐标X", point.getPosX());
|
|
||||||
map.put("坐标Y", point.getPosY());
|
|
||||||
map.put("坐标Z", point.getPosZ());
|
|
||||||
map.put("层", point.getRows());
|
|
||||||
map.put("列", point.getCol());
|
|
||||||
map.put("排", point.getLine());
|
|
||||||
map.put("类型", point.getType());
|
|
||||||
map.put("热度", point.getHeat());
|
|
||||||
map.put("创建人", point.getCreateBy());
|
|
||||||
map.put("修改人", point.getUpdateBy());
|
|
||||||
map.put("创建时间", point.getCreateTime());
|
|
||||||
map.put("修改时间", point.getUpdateTime());
|
|
||||||
list.add(map);
|
list.add(map);
|
||||||
}
|
}
|
||||||
FileUtil.downloadExcel(list, response);
|
FileUtil.downloadExcel(list, response);
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||||
import com.youchain.annotation.AnonymousAccess;
|
import com.youchain.annotation.AnonymousAccess;
|
||||||
import com.youchain.annotation.Log;
|
import com.youchain.annotation.Log;
|
||||||
import com.youchain.businessdata.domain.AgvTask;
|
import com.youchain.businessdata.domain.AgvTask;
|
||||||
|
import com.youchain.businessdata.repository.AgvTaskRepository;
|
||||||
import com.youchain.businessdata.service.AgvTaskService;
|
import com.youchain.businessdata.service.AgvTaskService;
|
||||||
import com.youchain.businessdata.service.dto.AgvTaskDto;
|
import com.youchain.businessdata.service.dto.AgvTaskDto;
|
||||||
import com.youchain.businessdata.service.dto.AgvTaskQueryCriteria;
|
import com.youchain.businessdata.service.dto.AgvTaskQueryCriteria;
|
||||||
|
|
@ -54,6 +55,7 @@ import javax.servlet.http.HttpServletResponse;
|
||||||
public class AgvTaskController {
|
public class AgvTaskController {
|
||||||
|
|
||||||
private final AgvTaskService agvTaskService;
|
private final AgvTaskService agvTaskService;
|
||||||
|
private final AgvTaskRepository agvTaskRepository;
|
||||||
|
|
||||||
@Log("导出数据")
|
@Log("导出数据")
|
||||||
@ApiOperation("导出数据")
|
@ApiOperation("导出数据")
|
||||||
|
|
@ -177,4 +179,20 @@ public class AgvTaskController {
|
||||||
agvTaskService.getConveyorState(conveyorId);
|
agvTaskService.getConveyorState(conveyorId);
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
@PostMapping("/sendReAgvTask")
|
||||||
|
@Log("KMReS搬运任务下发")
|
||||||
|
@ApiOperation("KMReS搬运任务下发")
|
||||||
|
@AnonymousAccess
|
||||||
|
public ResponseEntity<Object> sendReAgvTask(@RequestBody String idsBody) {
|
||||||
|
JSONArray ids=JSONArray.parseArray(idsBody);
|
||||||
|
List<AgvTask> agvTasks=new ArrayList<>();
|
||||||
|
for (int i = 0; i < ids.size(); i++) {
|
||||||
|
Long id=ids.getLong(i);
|
||||||
|
AgvTask agvTask=agvTaskRepository.getById(Math.toIntExact(id));
|
||||||
|
agvTasks.add(agvTask);
|
||||||
|
}
|
||||||
|
agvTaskService.sendAgvTaskLXImpl(agvTasks);
|
||||||
|
ApiResult apiResult=ApiResult.fail(200,"发送成功",null);
|
||||||
|
return new ResponseEntity<>(apiResult, apiResult.getStatus());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,21 +38,21 @@ public class PlcController {
|
||||||
@Log("PLC扫描容器")
|
@Log("PLC扫描容器")
|
||||||
@ApiOperation("PLC扫描容器")
|
@ApiOperation("PLC扫描容器")
|
||||||
public ResponseEntity<Object> scanMo(@RequestBody String moJson) {
|
public ResponseEntity<Object> scanMo(@RequestBody String moJson) {
|
||||||
S7Connector connector = S7ConnectorUtils.connect();
|
|
||||||
if (connector == null) {
|
|
||||||
return new ResponseEntity<>(ApiResult.success(BAD_REQUEST.value(), "PLC连接失败", ""), HttpStatus.BAD_REQUEST);
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
JSONObject json = JSONObject.parseObject(moJson);
|
JSONObject json = JSONObject.parseObject(moJson);
|
||||||
if (json == null) {
|
if (json == null) {
|
||||||
return new ResponseEntity<>(ApiResult.success(BAD_REQUEST.value(), "参数错误", ""), HttpStatus.BAD_REQUEST);
|
return new ResponseEntity<>(ApiResult.success(BAD_REQUEST.value(), "参数错误", ""), HttpStatus.BAD_REQUEST);
|
||||||
}
|
}
|
||||||
String mo = json.getString("mo");
|
String mo = json.getString("mo");// MO票
|
||||||
moService.scanMo(mo);
|
String lx = json.getString("lx");// 容器
|
||||||
//S7ConnectorUtils.write(connector,2);
|
String it = mo.substring(19, 33);// 料号
|
||||||
|
String labelNo=mo.substring(40, 52);// 标签
|
||||||
|
moService.scanMo(it,lx,labelNo);
|
||||||
|
|
||||||
|
S7ConnectorUtils.write(S7ConnectorUtils.s7Connector,2);
|
||||||
return new ResponseEntity<>(ApiResult.success(OK.value(), "", ""), HttpStatus.OK);
|
return new ResponseEntity<>(ApiResult.success(OK.value(), "", ""), HttpStatus.OK);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
//S7ConnectorUtils.write(connector,1);
|
S7ConnectorUtils.write(S7ConnectorUtils.s7Connector,1);
|
||||||
return new ResponseEntity<>(ApiResult.success(BAD_REQUEST.value(), e.getMessage(), ""), HttpStatus.BAD_REQUEST);
|
return new ResponseEntity<>(ApiResult.success(BAD_REQUEST.value(), e.getMessage(), ""), HttpStatus.BAD_REQUEST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,7 @@ public interface MoService {
|
||||||
* 扫描MO
|
* 扫描MO
|
||||||
* @param mo MO票
|
* @param mo MO票
|
||||||
*/
|
*/
|
||||||
void scanMo(String mo);
|
void scanMo(String itemCode,String stockCode,String labelNo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据labelNos查询MO
|
* 根据labelNos查询MO
|
||||||
|
|
|
||||||
|
|
@ -274,13 +274,13 @@ public class AgvTaskServiceImpl implements AgvTaskService {
|
||||||
|
|
||||||
objMap.put("missionData", missionDataArray);
|
objMap.put("missionData", missionDataArray);
|
||||||
jsonObject.putAll(objMap);
|
jsonObject.putAll(objMap);
|
||||||
String resultJson = "{\n" +
|
/*String resultJson = "{\n" +
|
||||||
" \"data\": null,\n" +
|
" \"data\": null,\n" +
|
||||||
" \"code\": \"0\",\n" +
|
" \"code\": \"0\",\n" +
|
||||||
" \"message\": null,\n" +
|
" \"message\": null,\n" +
|
||||||
" \"success\": true\n" +
|
" \"success\": true\n" +
|
||||||
"}";
|
"}";*/
|
||||||
//String resultJson = HttpPostUtil.sendPostReq(UrlApi.submitMission, jsonObject.toString());
|
String resultJson = HttpPostUtil.sendPostReq(UrlApi.submitMission, jsonObject.toString());
|
||||||
if (resultJson == null) {
|
if (resultJson == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -153,16 +153,16 @@ public class MoServiceImpl implements MoService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void scanMo(String mo) {
|
public void scanMo(String itemCode,String stockCode,String labelNo) {
|
||||||
//条码格式;12227000016951-qth1847-240411422924
|
//条码格式;12227000016951-qth1847-240411422924
|
||||||
|
|
||||||
// 验证条码格式
|
// 验证条码格式
|
||||||
validateBarcodeFormat(mo);
|
// validateBarcodeFormat(mo);
|
||||||
|
|
||||||
String[] arr = mo.split("-");
|
// String[] arr = mo.split("-");
|
||||||
String itemCode = arr[0];//物料编号
|
// String itemCode = arr[0];//物料编号
|
||||||
String stockCode = arr[1];//容器编号
|
// String stockCode = arr[1];//容器编号
|
||||||
String labelNo = arr[2];//标签号
|
// String labelNo = arr[2];//标签号
|
||||||
|
|
||||||
// 验证物料是否存在
|
// 验证物料是否存在
|
||||||
Item item = redisObjectUtils.getObjectFromCache(itemCode, () -> itemService.existItem(itemCode), itemCode + " 系统无此物料!");
|
Item item = redisObjectUtils.getObjectFromCache(itemCode, () -> itemService.existItem(itemCode), itemCode + " 系统无此物料!");
|
||||||
|
|
@ -267,6 +267,10 @@ public class MoServiceImpl implements MoService {
|
||||||
//生成收货记录
|
//生成收货记录
|
||||||
Task task = new Task(item, itemKey, orderDto.getBarcodeNumber(), BizStatus.ASN, asnDetail, null, null, null, stock, stock, srcPoint, endPoint, stock.getCode(), stock.getCode(), srcPoint.getCode(), endPoint.getCode(), null, BizStatus.OPEN, asnDetail.getOrderQty(), null, null, item.getDept(), agvTask);
|
Task task = new Task(item, itemKey, orderDto.getBarcodeNumber(), BizStatus.ASN, asnDetail, null, null, null, stock, stock, srcPoint, endPoint, stock.getCode(), stock.getCode(), srcPoint.getCode(), endPoint.getCode(), null, BizStatus.OPEN, asnDetail.getOrderQty(), null, null, item.getDept(), agvTask);
|
||||||
taskService.create(task);
|
taskService.create(task);
|
||||||
|
// 发送AGV任务
|
||||||
|
List<AgvTask> agvTasks=new ArrayList<>();
|
||||||
|
agvTasks.add(agvTask);
|
||||||
|
agvTaskService.sendAgvTaskLXImpl(agvTasks);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 提取更新容器状态和目标点位状态的逻辑到单独方法
|
// 提取更新容器状态和目标点位状态的逻辑到单独方法
|
||||||
|
|
|
||||||
|
|
@ -18,24 +18,25 @@ import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
public class LicenseValidate {
|
public class LicenseValidate {
|
||||||
|
|
||||||
public static void validate() throws Exception{
|
public static void validate() throws Exception{
|
||||||
//读取本地文件
|
//读取本地文件
|
||||||
FileProperties properties= SpringContextHolder.getBean(FileProperties.class);
|
FileProperties properties= SpringContextHolder.getBean(FileProperties.class);
|
||||||
|
log.info(properties.getPath().getPath());
|
||||||
String result="";
|
String result="";
|
||||||
try{
|
try{
|
||||||
FileReader fileReader = new FileReader(properties.getPath().getPath()+"key/"+"license.key");
|
FileReader fileReader = new FileReader(properties.getPath().getPath()+"key/"+"license.key");
|
||||||
result = fileReader.readString();
|
result = fileReader.readString();
|
||||||
|
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
throw new BadRequestException("License不存在,请上传License");
|
// throw new BadRequestException("License不存在,请上传License");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.error(result);
|
||||||
String rsaResult= RsaUtils.decryptByPublicKey(RsaProperties.licenseKey,result);
|
String rsaResult= RsaUtils.decryptByPublicKey(RsaProperties.licenseKey,result);
|
||||||
|
log.error("------------------------解密完成-----------------------");
|
||||||
LicenseCheck key_price = JSONUtil.toBean(rsaResult, LicenseCheck.class);
|
LicenseCheck key_price = JSONUtil.toBean(rsaResult, LicenseCheck.class);
|
||||||
LicenseCheck system_price = getDeviceInfo();
|
LicenseCheck system_price = getDeviceInfo();
|
||||||
|
|
||||||
|
|
@ -43,15 +44,15 @@ public class LicenseValidate {
|
||||||
|
|
||||||
|
|
||||||
if(key_price.getMainBoardSerial().equals(system_price.getMainBoardSerial())){
|
if(key_price.getMainBoardSerial().equals(system_price.getMainBoardSerial())){
|
||||||
|
log.error("主板匹配成功");
|
||||||
}else{
|
}else{
|
||||||
|
log.error("主板匹配失败");
|
||||||
throw new BadRequestException("主板匹配失败");
|
throw new BadRequestException("主板匹配失败");
|
||||||
}
|
}
|
||||||
if(key_price.getCpuSerial().equals(system_price.getCpuSerial())){
|
if(key_price.getCpuSerial().equals(system_price.getCpuSerial())){
|
||||||
|
log.error("CPU匹配成功");
|
||||||
}else{
|
}else{
|
||||||
|
log.error("CPU匹配失败");
|
||||||
throw new BadRequestException("CPU匹配失败");
|
throw new BadRequestException("CPU匹配失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -62,7 +63,7 @@ public class LicenseValidate {
|
||||||
if(end_date.before(now_date)){
|
if(end_date.before(now_date)){
|
||||||
throw new BadRequestException("过期的License,请重新生成");
|
throw new BadRequestException("过期的License,请重新生成");
|
||||||
}else{
|
}else{
|
||||||
|
log.error("有效期验证通过");
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
throw new BadRequestException("无效的License,请重新生成");
|
throw new BadRequestException("无效的License,请重新生成");
|
||||||
|
|
@ -71,35 +72,37 @@ public class LicenseValidate {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static String getLicense(String time) throws Exception{
|
||||||
|
LicenseCheck licenseCheck=getDeviceInfo();
|
||||||
|
licenseCheck.setEndTime(time);
|
||||||
|
String rest= JSONUtil.toJsonStr(licenseCheck).trim();
|
||||||
|
String priKey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDFlDBnrKTnnAbXTCfUh3fhq81dXZUd/i0czbNGiWR9s4ocNEKK/fbMx8Qsghb3UK3MH7Vf+7X7cIOXaEO5g+mGou6RPKn/WsqgtGhVida7ZOLYv7q2LBkxzkB/KUCmidED+1Jre22T7kN5to84iT2JRMyYOkxHdIHAcYVpxTqpYJHWYrGI6Tvw4v2cL+vbhfN++ZaO9xtezsh/0Xk0PZVL17lZ46/rIwW5dKH9XmpkCTINsRXvpO2jbWcu40UtQPeI1xRh7KuezwP1QAh0O2nixS8gAMGdaVW1c237rxrwGeVim2+lb2bQwIlmWYjPEBBjhGukedcXb3JAH0C4/CPPAgMBAAECggEBAKKGsgK2W7hB+saj2KfU/+JdRsOktYNEkKt+8hf18PoN9HAa9RoMqzXspgzOvkGW1kBxXOulzR8WgMjNddhnEHQ2FvTV6Ckr8D6d6K1kg4UHCiuuG9K7F8aGmTuBHbNg7tTNqhDMKWlkt5CpgcrJ6hq+w2X9nr2wswMw3sQQ/55PZLzgwzv6WQtkJ58w78r9fZJsOgjldwE35nliDo8Xwoa1YCVcEjfH+sgPfFJzilFtJ9wjmx/HZb2EBcUUSaW5ewsqvN9dk1EgAJjmwWVW84NUkrbXD0nhUTx4MHfx4MA1fqPjkwkHCrEBA5idsQkwtoIETg1hN+QUR9iBLhelJIECgYEA83CRN6Zu0RpsP4JPuov06qRM3dV+ErjjApfENJzLk7DW4GlkgNRG9pWv6xJxlEbxf7k+M5jMEGrfE6o8xuBYoEm2BHy8WZF0zPeVnyOrk28xoDUKlsbT2lFYvVbHWBDj4dbu/WoqH2r3bWedVSr+QgpGLuHn//3a3bwplqvzAW8CgYEAz8XgXgtnckQRDNFhUDmS/QVdthaiYERerEk+qem1o2/7IEBSF7xxu+yRm5DTJumD4kQiilcQJngmrQ23HDZO4S61lyCBv0lx8y0A2sAHt9v63Dz7P270tMs1tJW8iSC7VUNtMwFMdc+MjTlHq99mg5USgusM+fB8FkEmkpRDE6ECgYBTqpB+S9kyTJ5/hU3Zk1htfGJeq41U6e47aeWpH2poLBLttcsw68Qn43I+nGwkxe0iNIxIN2+LBO/+VjflMh3DmRHRoP0q228FMuJde2jwlvq7UP9+qn8NPX/+MuD4R3XKnJAu0FoBykWXeFD+gHQ6RkWwvzt5I8ohAxZYDmjKSQKBgB5gwhM9+5v7U7raCi5enJ0d4buzx33nwSfTdbQGFaaVwtPOU7JgvQhK6GckX5r63WuBpsMvQ488VftLXBBl6FaIK8iy2gWLyXtSgyN4nChHo3/78ogtwt2EMI/8rJooDPvEZfzlHbbD57rmOxJoEWb/rrsxfq40eRAP6oHX547BAoGBAMK7GGdYkzxkD2xuMZSfPro/sO0EbghJdJ/l8nioTEPTPyRx5AZBe/7OhiKYohpUdi5F8+S18ACn88rJkZn7iQGuJvjXCFYnt9bec+w8lqiUcjfw3l4+aAkNTfquIdKz6gJyUBVjbuQYYkzGf052HbMacDwwfbHIlDvpfAS7FUpq";
|
||||||
|
|
||||||
|
/*String result=RsaUtils.encryptByPrivateKey(priKey,rest);
|
||||||
|
|
||||||
public static void saveCode(String license_code) throws Exception{
|
|
||||||
//读取本地文件
|
//读取本地文件
|
||||||
|
|
||||||
String rsaResult="";
|
log.error("------------------------加密完成-----------------------");
|
||||||
try{
|
|
||||||
rsaResult= RsaUtils.decryptByPublicKey(RsaProperties.licenseKey,license_code);
|
|
||||||
}catch (Exception e){
|
|
||||||
throw new BadRequestException("License无效,请重新生成");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
log.error(result);
|
||||||
|
String rsaResult= RsaUtils.decryptByPublicKey(RsaProperties.licenseKey,result);
|
||||||
|
|
||||||
|
log.error(rsaResult);
|
||||||
|
log.error("------------------------解密完成-----------------------");
|
||||||
LicenseCheck key_price = JSONUtil.toBean(rsaResult, LicenseCheck.class);
|
LicenseCheck key_price = JSONUtil.toBean(rsaResult, LicenseCheck.class);
|
||||||
LicenseCheck system_price = getDeviceInfo();
|
LicenseCheck system_price = getDeviceInfo();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(key_price.getMainBoardSerial().equals(system_price.getMainBoardSerial())){
|
if(key_price.getMainBoardSerial().equals(system_price.getMainBoardSerial())){
|
||||||
|
log.error("主板匹配成功");
|
||||||
}else{
|
}else{
|
||||||
|
log.error("主板匹配失败");
|
||||||
throw new BadRequestException("主板匹配失败");
|
throw new BadRequestException("主板匹配失败");
|
||||||
}
|
}
|
||||||
if(key_price.getCpuSerial().equals(system_price.getCpuSerial())){
|
if(key_price.getCpuSerial().equals(system_price.getCpuSerial())){
|
||||||
|
log.error("CPU匹配成功");
|
||||||
}else{
|
}else{
|
||||||
|
log.error("CPU匹配失败");
|
||||||
throw new BadRequestException("CPU匹配失败");
|
throw new BadRequestException("CPU匹配失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -110,14 +113,61 @@ public class LicenseValidate {
|
||||||
if(end_date.before(now_date)){
|
if(end_date.before(now_date)){
|
||||||
throw new BadRequestException("过期的License,请重新生成");
|
throw new BadRequestException("过期的License,请重新生成");
|
||||||
}else{
|
}else{
|
||||||
|
log.error("有效期验证通过");
|
||||||
|
}
|
||||||
|
}catch (Exception e){
|
||||||
|
throw new BadRequestException("无效的License,请重新生成");
|
||||||
|
}*/
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void saveCode(String license_code) throws Exception{
|
||||||
|
//读取本地文件
|
||||||
|
log.error(license_code);
|
||||||
|
String rsaResult="";
|
||||||
|
try{
|
||||||
|
rsaResult= RsaUtils.decryptByPublicKey(RsaProperties.licenseKey,license_code);
|
||||||
|
}catch (Exception e){
|
||||||
|
throw new BadRequestException("License无效,请重新生成");
|
||||||
|
}
|
||||||
|
log.error("解密完成");
|
||||||
|
log.error(rsaResult);
|
||||||
|
|
||||||
|
LicenseCheck key_price = JSONUtil.toBean(rsaResult, LicenseCheck.class);
|
||||||
|
LicenseCheck system_price = getDeviceInfo();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if(key_price.getMainBoardSerial().equals(system_price.getMainBoardSerial())){
|
||||||
|
log.error("主板匹配成功");
|
||||||
|
}else{
|
||||||
|
log.error("主板匹配失败");
|
||||||
|
throw new BadRequestException("主板匹配失败");
|
||||||
|
}
|
||||||
|
if(key_price.getCpuSerial().equals(system_price.getCpuSerial())){
|
||||||
|
log.error("CPU匹配成功");
|
||||||
|
}else{
|
||||||
|
log.error("CPU匹配失败");
|
||||||
|
throw new BadRequestException("CPU匹配失败");
|
||||||
|
}
|
||||||
|
|
||||||
|
try{
|
||||||
|
Date end_date = DateUtil.parse(key_price.getEndTime());
|
||||||
|
Date now_date = DateUtil.date();
|
||||||
|
|
||||||
|
if(end_date.before(now_date)){
|
||||||
|
throw new BadRequestException("过期的License,请重新生成");
|
||||||
|
}else{
|
||||||
|
log.error("有效期验证通过");
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
throw new BadRequestException("无效的License,请重新生成");
|
throw new BadRequestException("无效的License,请重新生成");
|
||||||
}
|
}
|
||||||
|
|
||||||
FileProperties properties= SpringContextHolder.getBean(FileProperties.class);
|
FileProperties properties= SpringContextHolder.getBean(FileProperties.class);
|
||||||
|
log.info(properties.getPath().getPath());
|
||||||
|
|
||||||
FileWriter writer = new FileWriter(properties.getPath().getPath()+"key/"+"license.key");
|
FileWriter writer = new FileWriter(properties.getPath().getPath()+"key/"+"license.key");
|
||||||
writer.write(license_code);
|
writer.write(license_code);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.youchain.modules.quartz.task;
|
package com.youchain.modules.quartz.task;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.youchain.businessdata.inputJson.MoInfo;
|
import com.youchain.businessdata.inputJson.MoInfo;
|
||||||
import com.youchain.businessdata.inputJson.MoParams;
|
import com.youchain.businessdata.inputJson.MoParams;
|
||||||
import com.youchain.businessdata.service.MlsService;
|
import com.youchain.businessdata.service.MlsService;
|
||||||
|
|
@ -8,6 +9,8 @@ import com.youchain.utils.UrlApi;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
|
@ -42,12 +45,17 @@ public class moTask {
|
||||||
Set invCodes = new HashSet<>();
|
Set invCodes = new HashSet<>();
|
||||||
invCodes.add("MA2111");
|
invCodes.add("MA2111");
|
||||||
params.setInvCodes(invCodes);
|
params.setInvCodes(invCodes);
|
||||||
//DateUtil.format(DateUtil.beginOfDay(new Date()), "yyyy-MM-dd HH:mm:ss")
|
|
||||||
params.setIqcResult("");
|
params.setIqcResult("");
|
||||||
params.setStartTime("2024-04-27 00:00:00");
|
|
||||||
params.setEndTime("2024-04-27 23:59:59");
|
/*String startTime = DateUtil.format(DateUtil.beginOfDay(new Date()), "yyyy-MM-dd HH:mm:ss");
|
||||||
|
params.setStartTime(startTime);
|
||||||
|
String endData = DateUtil.format(new Date(), "yyyy-MM-dd");
|
||||||
|
params.setEndTime(endData+" 23:59:59");*/
|
||||||
|
params.setStartTime("2024-05-22 00:00:00");
|
||||||
|
params.setEndTime("2024-05-22 23:59:59");
|
||||||
|
|
||||||
params.setPageNo(1);
|
params.setPageNo(1);
|
||||||
params.setPageSize(100);
|
params.setPageSize(10000);
|
||||||
MoInfo moInfo = new MoInfo();
|
MoInfo moInfo = new MoInfo();
|
||||||
moInfo.setIfaceCode("MLS-WQ-003");
|
moInfo.setIfaceCode("MLS-WQ-003");
|
||||||
moInfo.setSourceSystem("WQ");
|
moInfo.setSourceSystem("WQ");
|
||||||
|
|
|
||||||
|
|
@ -59,11 +59,14 @@ public class orderTask {
|
||||||
invCodes.add("MA2111");
|
invCodes.add("MA2111");
|
||||||
params.setInvCodes(invCodes);
|
params.setInvCodes(invCodes);
|
||||||
params.setIqcResult("");
|
params.setIqcResult("");
|
||||||
//DateUtil.format(DateUtil.beginOfDay(new Date()), "yyyy-MM-dd HH:mm:ss")
|
/*String startTime = DateUtil.format(DateUtil.beginOfDay(new Date()), "yyyy-MM-dd HH:mm:ss");
|
||||||
params.setStartTime("2024-04-27 00:00:00");
|
params.setStartTime(startTime);
|
||||||
params.setEndTime("2024-04-27 23:59:59");
|
String endData = DateUtil.format(new Date(), "yyyy-MM-dd");
|
||||||
|
params.setEndTime(endData+" 23:59:59");*/
|
||||||
|
params.setStartTime("2024-05-22 00:00:00");
|
||||||
|
params.setEndTime("2024-05-22 23:59:59");
|
||||||
params.setPageNo(1);
|
params.setPageNo(1);
|
||||||
params.setPageSize(100);
|
params.setPageSize(10000);
|
||||||
OrderInfo orderInfo = new OrderInfo();
|
OrderInfo orderInfo = new OrderInfo();
|
||||||
orderInfo.setIfaceCode("MLS-WQ-002");
|
orderInfo.setIfaceCode("MLS-WQ-002");
|
||||||
orderInfo.setSourceSystem("WQ");
|
orderInfo.setSourceSystem("WQ");
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.youchain.modules.quartz.task;
|
package com.youchain.modules.quartz.task;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.github.s7connector.api.S7Connector;
|
import com.github.s7connector.api.S7Connector;
|
||||||
import com.youchain.businessdata.rest.MoController;
|
import com.youchain.businessdata.rest.MoController;
|
||||||
import com.youchain.businessdata.rest.PlcController;
|
import com.youchain.businessdata.rest.PlcController;
|
||||||
|
|
@ -22,12 +23,38 @@ public class plcTask {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void plcTask() {
|
public void plcTask() {
|
||||||
try {
|
S7ConnectorUtils.connect();
|
||||||
S7Connector connector = S7ConnectorUtils.connect();
|
JSONObject jsonObject=new JSONObject();
|
||||||
String mo = S7ConnectorUtils.readMo(connector);
|
String mo="LB]A0006907]240522]12125300001741]50.00]240522554318]]";
|
||||||
plcController.scanMo(mo);
|
String lx="01010007";
|
||||||
|
// String mo = S7ConnectorUtils.readMo(S7ConnectorUtils.s7Connector,12);
|
||||||
|
// String lx = S7ConnectorUtils.readMo(S7ConnectorUtils.s7Connector,0);
|
||||||
|
if (mo.length()>0&&lx.length()>0){
|
||||||
|
jsonObject.put("mo",mo);
|
||||||
|
jsonObject.put("lx",lx);
|
||||||
|
try {
|
||||||
|
plcController.scanMo(jsonObject+"");
|
||||||
|
System.out.println("222");
|
||||||
|
}catch (Exception e){
|
||||||
|
throw new RuntimeException("校验失败:" + mo+"|"+lx+"错误信息:"+e.getMessage());
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
throw new RuntimeException("数据格式错误:"+mo+"|"+lx);
|
||||||
|
}
|
||||||
|
/*try {
|
||||||
|
S7ConnectorUtils.connect();
|
||||||
|
JSONObject jsonObject=new JSONObject();
|
||||||
|
String mo = S7ConnectorUtils.readMo(S7ConnectorUtils.s7Connector,12);
|
||||||
|
String lx = S7ConnectorUtils.readMo(S7ConnectorUtils.s7Connector,0);
|
||||||
|
if (mo.length()>0&&lx.length()>0){
|
||||||
|
jsonObject.put("mo",mo);
|
||||||
|
jsonObject.put("lx",lx);
|
||||||
|
plcController.scanMo(jsonObject+"");
|
||||||
|
}else {
|
||||||
|
throw new RuntimeException("数据格式错误:"+mo+"|"+lx);
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new RuntimeException("异常信息" + e.getMessage());
|
throw new RuntimeException("异常信息" + e.getMessage());
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,6 @@ public class QuartzRunnable implements Callable<Object> {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@SuppressWarnings("all")
|
|
||||||
public Object call() throws Exception {
|
public Object call() throws Exception {
|
||||||
ReflectionUtils.makeAccessible(method);
|
ReflectionUtils.makeAccessible(method);
|
||||||
if (StringUtils.isNotBlank(params)) {
|
if (StringUtils.isNotBlank(params)) {
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import javax.annotation.PostConstruct;
|
||||||
@Component
|
@Component
|
||||||
public class BaseCode {
|
public class BaseCode {
|
||||||
/** PLC IP*/
|
/** PLC IP*/
|
||||||
public static String PLC_IP = "";
|
public static String PLC_IP = "10.173.188.201";
|
||||||
/** PLC 端口号*/
|
/** PLC 端口号*/
|
||||||
public static int PLC_PORT = 0;
|
public static int PLC_PORT = 0;
|
||||||
public static String MLS_IP = "";
|
public static String MLS_IP = "";
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.youchain.utils;
|
||||||
|
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@Slf4j
|
||||||
|
public class ImportEntityUtils {
|
||||||
|
public static Boolean stringFlag(String s){
|
||||||
|
if (s!=null&&!s.equals("null")&&s.length()>0){
|
||||||
|
return true;
|
||||||
|
}else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,14 +1,18 @@
|
||||||
package com.youchain.utils;
|
package com.youchain.utils;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import com.github.s7connector.api.DaveArea;
|
import com.github.s7connector.api.DaveArea;
|
||||||
import com.github.s7connector.api.S7Connector;
|
import com.github.s7connector.api.S7Connector;
|
||||||
|
import com.github.s7connector.api.S7Serializer;
|
||||||
import com.github.s7connector.api.factory.S7ConnectorFactory;
|
import com.github.s7connector.api.factory.S7ConnectorFactory;
|
||||||
|
import com.github.s7connector.api.factory.S7SerializerFactory;
|
||||||
import com.github.s7connector.impl.serializer.converter.StringConverter;
|
import com.github.s7connector.impl.serializer.converter.StringConverter;
|
||||||
import com.sun.mail.iap.ConnectionException;
|
import com.sun.mail.iap.ConnectionException;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -19,32 +23,58 @@ import java.nio.ByteBuffer;
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class S7ConnectorUtils {
|
public class S7ConnectorUtils {
|
||||||
|
public static S7Connector s7Connector=null;
|
||||||
public static S7Connector connect() {
|
public static S7Connector connect() {
|
||||||
S7Connector s7Connector = null;
|
if (s7Connector != null){
|
||||||
try {
|
try {
|
||||||
s7Connector = S7ConnectorFactory
|
s7Connector.close();
|
||||||
.buildTCPConnector()
|
//关闭连接
|
||||||
.withHost(BaseCode.PLC_IP)//设置PLC的IP地址
|
log.info("关闭s7连接");
|
||||||
.withPort(BaseCode.PLC_PORT)//设置PLC的端口号
|
}catch (Exception e){
|
||||||
.withTimeout(10000)//设置连接超时时间
|
|
||||||
.withRack(0)//设置PLC的机架号
|
|
||||||
.withSlot(2)//设置PLC的插槽号
|
|
||||||
.build();
|
|
||||||
return s7Connector;
|
|
||||||
} catch (Exception e) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
}finally {
|
||||||
|
s7Connector=null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
s7Connector = S7ConnectorFactory
|
||||||
|
.buildTCPConnector()
|
||||||
|
.withHost(BaseCode.PLC_IP)//设置PLC的IP地址
|
||||||
|
// .withPort(BaseCode.PLC_PORT)//设置PLC的端口号
|
||||||
|
.withTimeout(10000) //连接超时时间
|
||||||
|
.withRack(0)//设置PLC的机架号
|
||||||
|
.withSlot(1)//设置PLC的插槽号
|
||||||
|
.build();
|
||||||
|
S7Serializer s7Serializer2L = S7SerializerFactory.buildSerializer(s7Connector);
|
||||||
|
log.info("初始化s7连接");
|
||||||
|
return s7Connector;
|
||||||
|
}
|
||||||
|
public static void main(String[] args) {
|
||||||
|
/*String a="LB]A0006907]240522]12125300001741]50.00]240522554318]]";
|
||||||
|
String I=a.substring(19, 33);
|
||||||
|
System.out.println("I:"+I);
|
||||||
|
String M=a.substring(40, 52);
|
||||||
|
System.out.println("M:"+M);*/
|
||||||
|
S7ConnectorUtils.connect();
|
||||||
|
String lh = S7ConnectorUtils.readMo(s7Connector,0);
|
||||||
|
System.out.println("LH:"+lh);
|
||||||
|
String mo = S7ConnectorUtils.readMo(s7Connector,12);
|
||||||
|
System.out.println("MO:"+mo);
|
||||||
|
// S7ConnectorUtils.write(s7Connector,1);
|
||||||
|
|
||||||
|
/*if (lh.length()>0&&mo.length()>0){
|
||||||
|
S7ConnectorUtils.write(s7Connector,1);
|
||||||
|
}*/
|
||||||
|
/* String a = cn.hutool.core.date.DateUtil.format(DateUtil.beginOfDay(new Date()), "yyyy-MM-dd HH:mm:ss");
|
||||||
|
System.out.println("日期:"+a);*/
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 读取PLC数据
|
* 读取PLC数据
|
||||||
* 读取条码信息
|
* 读取条码信息
|
||||||
*
|
* @param offset 偏移量 0-箱号,12-MO票
|
||||||
* @param connector 连接器
|
* @param connector 连接器
|
||||||
*/
|
*/
|
||||||
public static String readMo(S7Connector connector) {
|
public static String readMo(S7Connector connector,int offset) {
|
||||||
String mo = null;
|
String mo = null;
|
||||||
if (connector == null) {
|
if (connector == null) {
|
||||||
throw new RuntimeException("PLC连接失败,请检查!");
|
throw new RuntimeException("PLC连接失败,请检查!");
|
||||||
|
|
@ -57,7 +87,7 @@ public class S7ConnectorUtils {
|
||||||
* 字节:500
|
* 字节:500
|
||||||
* 偏移:0
|
* 偏移:0
|
||||||
*/
|
*/
|
||||||
byte[] PlcData = connector.read(DaveArea.DB, 100, 500, 0);
|
byte[] PlcData = connector.read(DaveArea.DB, 100, 60, offset);
|
||||||
|
|
||||||
long endTime = System.currentTimeMillis();
|
long endTime = System.currentTimeMillis();
|
||||||
log.info("读取耗时:" + (endTime - startTime) + "ms");
|
log.info("读取耗时:" + (endTime - startTime) + "ms");
|
||||||
|
|
@ -67,13 +97,13 @@ public class S7ConnectorUtils {
|
||||||
|
|
||||||
mo = converter.extract(str1.getClass(), PlcData, 0, 0);
|
mo = converter.extract(str1.getClass(), PlcData, 0, 0);
|
||||||
log.info("内置方法转换str=" + mo);
|
log.info("内置方法转换str=" + mo);
|
||||||
try {
|
/*try {
|
||||||
connector.close();
|
connector.close();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}*/
|
||||||
|
|
||||||
return mo;
|
return mo.replace(" ", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -125,7 +155,7 @@ public class S7ConnectorUtils {
|
||||||
ByteBuffer buffer = ByteBuffer.allocate(Integer.BYTES);
|
ByteBuffer buffer = ByteBuffer.allocate(Integer.BYTES);
|
||||||
buffer.putInt(instruct);
|
buffer.putInt(instruct);
|
||||||
byte[] bytes = buffer.array();
|
byte[] bytes = buffer.array();
|
||||||
connector.write(DaveArea.DB, 100, 22, bytes);
|
connector.write(DaveArea.DB, 100, 70, bytes);
|
||||||
long endTime = System.currentTimeMillis();
|
long endTime = System.currentTimeMillis();
|
||||||
System.out.println((endTime - startTime) + "ms");
|
System.out.println((endTime - startTime) + "ms");
|
||||||
System.out.print("写入成功");
|
System.out.print("写入成功");
|
||||||
|
|
|
||||||
|
|
@ -4,22 +4,22 @@ public class UrlApi {
|
||||||
/**
|
/**
|
||||||
* 料箱任务下发
|
* 料箱任务下发
|
||||||
*/
|
*/
|
||||||
public static String submitMission = "http://10.177.202.230:10870/interfaces/api/amr/submitMission";
|
public static String submitMission = "http://10.175.163.70:10870/interfaces/api/amr/submitMission";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 容器入场
|
* 容器入场
|
||||||
*/
|
*/
|
||||||
public static String containerIn = "http://10.177.202.230:10870/interfaces/api/amr/containerIn";
|
public static String containerIn = "http://10.175.163.70:10870/interfaces/api/amr/containerIn";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 容器相关操作,出场
|
* 容器相关操作,出场
|
||||||
*/
|
*/
|
||||||
public static String containerOut = "http://10.177.202.230:10870/interfaces/api/amr/containerOut";
|
public static String containerOut = "http://10.175.163.70:10870/interfaces/api/amr/containerOut";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 容器相关操作,查询容器信息
|
* 容器相关操作,查询容器信息
|
||||||
*/
|
*/
|
||||||
public static String containerQuery = "http://10.177.202.230:10870/interfaces/api/amr/containerQuery";
|
public static String containerQuery = "http://10.175.163.70:10870/interfaces/api/amr/containerQuery";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 输送线点位查询
|
* 输送线点位查询
|
||||||
|
|
|
||||||
|
|
@ -14,9 +14,11 @@ spring:
|
||||||
druid:
|
druid:
|
||||||
db-type: com.alibaba.druid.pool.DruidDataSource
|
db-type: com.alibaba.druid.pool.DruidDataSource
|
||||||
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
|
||||||
url: jdbc:log4jdbc:mysql://${DB_HOST:47.100.54.81}:${DB_PORT:53306}/${DB_NAME:hefeihvac_wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
|
# url: jdbc:log4jdbc:mysql://${DB_HOST:47.100.54.81}:${DB_PORT:53306}/${DB_NAME:hefeihvac_wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
|
||||||
|
url: jdbc:log4jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:hefeihvac_wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false
|
||||||
username: ${DB_USER:root}
|
username: ${DB_USER:root}
|
||||||
password: ${DB_PWD:Youchain@56}
|
# password: ${DB_PWD:Youchain@56}
|
||||||
|
password: ${DB_PWD:123456}
|
||||||
# 初始连接数
|
# 初始连接数
|
||||||
initial-size: 5
|
initial-size: 5
|
||||||
# 最小连接数
|
# 最小连接数
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
server:
|
server:
|
||||||
port: 8010
|
port: 8000
|
||||||
spring:
|
spring:
|
||||||
main:
|
main:
|
||||||
allow-circular-references: true
|
allow-circular-references: true
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue