1.测试盘点增加c2后端发送拍照

2.增加前后货叉
3.请求和返回的data类型转为array,来实现前后货叉同时进入
bozhou-古井贡酒
LAPTOP-S9HJSOEB\昊天 2 years ago
parent 88ade194ed
commit 43512d0f6c

@ -12,6 +12,7 @@ import com.zhehekeji.web.service.PlcCmdInfo;
import com.zhehekeji.web.service.PlcService; import com.zhehekeji.web.service.PlcService;
import com.zhehekeji.web.service.ksec.KsecDataInfo; import com.zhehekeji.web.service.ksec.KsecDataInfo;
import com.zhehekeji.web.service.ksec.KsecInfo; import com.zhehekeji.web.service.ksec.KsecInfo;
import com.zhehekeji.web.service.ksec.KsecInfos;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
@ -19,6 +20,8 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Api(value = "OrderController",tags = "订单管理") @Api(value = "OrderController",tags = "订单管理")
@RestController(value = "OrderController") @RestController(value = "OrderController")
@ -67,10 +70,14 @@ public class OrderController {
@ApiOperation("随行或盘点请求接口") @ApiOperation("随行或盘点请求接口")
@PostMapping("/orderDecoder") @PostMapping("/orderDecoder")
public ResultResp<KsecDataInfo> orderDecoder(@ApiParam("工单信息") @RequestBody KsecInfo ksecInfo){ public ResultResp<List<KsecDataInfo>> orderDecoder(@ApiParam("工单信息") @RequestBody KsecInfos ksecInfos){
List<KsecInfo> dataInfos = KsecInfos.getList(ksecInfos);
List<KsecDataInfo> ksecDataInfos = new ArrayList<>();
for (KsecInfo ksecInfo :dataInfos) {
KsecDataInfo ksecDataInfo = plcService.orderDecoder(ksecInfo); KsecDataInfo ksecDataInfo = plcService.orderDecoder(ksecInfo);
return ResultResp.success(ksecDataInfo); ksecDataInfos.add(ksecDataInfo);
}
return ResultResp.success(ksecDataInfos);
} }
@ApiOperation("发生告警") @ApiOperation("发生告警")

@ -89,6 +89,7 @@ public class PlcCmdInfo {
private Integer fromSide; private Integer fromSide;
private Integer toSide; private Integer toSide;
private Integer fromAround;
public PlcCmdInfo(String plcId, String taskId, Integer side1, Integer leftRight1, Integer column1, Integer row1, Integer separation1, Integer side2, Integer leftRight2, Integer column2, Integer row2, Integer separation2,String lotnum) { public PlcCmdInfo(String plcId, String taskId, Integer side1, Integer leftRight1, Integer column1, Integer row1, Integer separation1, Integer side2, Integer leftRight2, Integer column2, Integer row2, Integer separation2,String lotnum) {
this.taskId = taskId; this.taskId = taskId;

@ -252,14 +252,10 @@ public class PlcService {
String path = null; String path = null;
Boolean needCapture = doNeedCaptureByCode(orderInfo.getCmdCode()); Boolean needCapture = doNeedCaptureByCode(orderInfo.getCmdCode());
/*** /**
* * 使
*
* camera1
* camera2
*
*/ */
Integer cameraId = getCameraByPlcCmdAction(plcCmdInfo, orderInfo.getCmdCode()); Integer cameraId = (plcCmdInfo.getFromAround() == 1)? street.getCamera1Id(): street.getCamera2Id();
gyrateCameraByCode(cameraId, orderInfo.getCmdCode(), orderInfo.getOrderNum()); gyrateCameraByCode(cameraId, orderInfo.getCmdCode(), orderInfo.getOrderNum());
if (needCapture) { if (needCapture) {
Boolean delay = true; Boolean delay = true;
@ -286,7 +282,9 @@ public class PlcService {
} else { } else {
delayTime = configProperties.getCameraConfig().getC2OutDelayCaptureTime(); delayTime = configProperties.getCameraConfig().getC2OutDelayCaptureTime();
} }
if(configProperties.getOrderTest() == 1 && plcCmdInfo.getFromAround() == 2) {
checkTest(plcCmdInfo);
}
} else if (code.startsWith("C3")) { } else if (code.startsWith("C3")) {
delayTime = configProperties.getCameraConfig().getC3DelayCaptureTime(); delayTime = configProperties.getCameraConfig().getC3DelayCaptureTime();
@ -813,6 +811,7 @@ public class PlcService {
plcCmdInfo.setFromSide(dataInfo.getFromSide()); plcCmdInfo.setFromSide(dataInfo.getFromSide());
plcCmdInfo.setFromSeparation(dataInfo.getFromSeparation()); plcCmdInfo.setFromSeparation(dataInfo.getFromSeparation());
plcCmdInfo.setToSeparation(dataInfo.getToSeparation()); plcCmdInfo.setToSeparation(dataInfo.getToSeparation());
plcCmdInfo.setFromAround(dataInfo.getFromAround());
plcCmdInfo.setToSide(dataInfo.getToSide()); plcCmdInfo.setToSide(dataInfo.getToSide());
//左右不交换 //左右不交换
if(dataInfo.getFromDirection() == 1){ if(dataInfo.getFromDirection() == 1){
@ -903,7 +902,7 @@ public class PlcService {
dataInfo.setGoodsNumberResult(algorithmPojo.getGoodsNumberResult()); dataInfo.setGoodsNumberResult(algorithmPojo.getGoodsNumberResult());
log.info("盘点完成"); log.info("盘点完成");
}else { }else {
checkTest(plcCmdInfo, ksecInfo.getType(), dataInfo); checkTest(plcCmdInfo);
} }
@ -911,7 +910,7 @@ public class PlcService {
return dataInfo; return dataInfo;
} }
private void checkTest(PlcCmdInfo plcCmdInfo, String type, KsecDataInfo dataInfo) { private void checkTest(PlcCmdInfo plcCmdInfo) {
Street street = streetService.getStreetByPlcId(plcCmdInfo.getPlcId()); Street street = streetService.getStreetByPlcId(plcCmdInfo.getPlcId());
Socket socket = new Socket(); Socket socket = new Socket();
@ -919,7 +918,7 @@ public class PlcService {
OutputStream os = null; OutputStream os = null;
InputStream is = null; InputStream is = null;
try { try {
socket.connect(new InetSocketAddress(street.getPlcIp(),669),3000); socket.connect(new InetSocketAddress(street.getPlcIp(),street.getPlcPort()),3000);
//socket.setSoTimeout(10000); //socket.setSoTimeout(10000);
os = socket.getOutputStream(); os = socket.getOutputStream();
Thread.sleep(100); Thread.sleep(100);

@ -50,4 +50,6 @@ public class KsecDataInfo {
private Integer goodsNumberResult; private Integer goodsNumberResult;
private Integer result = 1; private Integer result = 1;
private String lotnum ; private String lotnum ;
private Integer fromAround;//1前货叉 2后货叉
} }

@ -0,0 +1,33 @@
package com.zhehekeji.web.service.ksec;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
@AllArgsConstructor
public class KsecInfos {
private String header;
private String Type;
private List<KsecDataInfo> data;
/**
*
* @return
*/
public static List<KsecInfo> getList(KsecInfos ksecInfos){
List<KsecInfo> list = new ArrayList<>();
for (KsecDataInfo ksecDataInfo :ksecInfos.getData()){
KsecInfo ksecInfo = new KsecInfo( ksecInfos.getHeader(), ksecInfos.getType(),ksecDataInfo);
list.add(ksecInfo);
}
return list;
}
}
Loading…
Cancel
Save