Commit f7d9a30b sunke

908和西门子对接

1 个父辈 42452084
......@@ -45,9 +45,9 @@ public class HttpHelper {
String requestBody = mapper.writeValueAsString(params);
httpPost.setEntity(new StringEntity(requestBody,CONTENT_CHARSET));
} catch (JsonProcessingException e) {
throw new ApiException("Request params to [" + url + "] failed:" + e.getMessage());
throw new ApiException("Request params to [" + url + "] Json failed:" + e.getMessage());
} catch (Exception e) {
throw new ApiException("Request params to [" + url + "] failed:" + e.getMessage());
throw new ApiException("Request params to [" + url + "] json exception:" + e.getMessage());
}
}
try{
......
......@@ -10,6 +10,8 @@ import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.Constants;
import com.neotel.smfcore.common.utils.ReelLockPosUtil;
import com.neotel.smfcore.core.api.SmfApi;
import com.neotel.smfcore.core.api.bean.CodeValidateParam;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.core.device.bean.PosInfo;
......@@ -27,6 +29,7 @@ import com.neotel.smfcore.core.device.handler.IDeviceHandler;
import com.neotel.smfcore.core.device.bean.StatusBean;
import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.security.service.manager.IGroupManager;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -57,6 +60,12 @@ public class DeviceController {
@Autowired
private IStoragePosManager storagePosManager;
/**
* 权限验证API列表
*/
@Autowired
protected SmfApi smfApi;
private Map<String, IDeviceHandler> handlerMap = new HashMap<>();
public DeviceController(List<IDeviceHandler> deviceHandlerList) {
......@@ -99,6 +108,21 @@ public class DeviceController {
* 流水线提示消息
*/
private static String lineMsg = "";
public Barcode resolveBarcodeFromApi(CodeValidateParam params){
Barcode barcodeSave = smfApi.canPutInBeforeResolve(params);
if(barcodeSave == null){
barcodeSave = codeResolve.resolveOneValideBarcode(params.getCode());
}
//从API验证
Barcode barcodeFromApi = smfApi.canPutInAfterResolve(barcodeSave);
if (barcodeFromApi != null) {
barcodeSave = barcodeFromApi;
}
return barcodeSave;
}
/**
* 流水线入库查找空的料格
*/
......@@ -152,9 +176,9 @@ public class DeviceController {
errorMsg = "无可用的料仓";
resultMap.put("msg", errorMsg);
} else {
try {
Barcode barcode = codeResolve.resolveOneValideBarcode(code);
CodeValidateParam params = new CodeValidateParam("","","",code,"");
Barcode barcode = resolveBarcodeFromApi(params);
if(barcode==null) {
throw new ValidateException("smfcore.error.barcode.invalid", "{0}不是有效的条码", new String[]{code});
}
......
......@@ -141,6 +141,12 @@ public class SiemensApi extends BaseSmfApiListener {
cid = storage.getCid();
}
for (CodeBean codebean : codeBeans) {
if(codebean.getReelHeight() <=0){
codebean.setReelHeight(1);
}
if(codebean.getReelWidth() <=0){
codebean.setReelWidth(1);
}
LotCheckInfo info = lotCheckIn(codebean.getCodeStr(),inCheckUrl,cid);
if (info != null && info.isStatus() && ObjectUtil.isNotEmpty(info.getPartnum()) && ObjectUtil.isNotEmpty(info.getQuantity())) {
//查找元器件是否存在
......@@ -150,8 +156,8 @@ public class SiemensApi extends BaseSmfApiListener {
component = new com.neotel.smfcore.core.barcode.service.po.Component();
component.setPartNumber(info.getPartnum());
component.setAmount(info.getQuantity());
component.setHeight(1);
component.setPlateSize(1);
component.setHeight(codebean.getReelWidth());
component.setPlateSize(codebean.getReelHeight());
component = componentManager.saveComponent(component);
log.info("siemensCheckCode 新增 元器件:[" + component.getPartNumber() + "][" + component.getAmount() + "][" + component.getPlateSize() + "]X[" + component.getHeight() + "]");
} else if (component.getAmount() != info.getQuantity()) {
......@@ -164,8 +170,8 @@ public class SiemensApi extends BaseSmfApiListener {
Barcode barcode = barcodeManager.findByBarcode(codebean.getCodeStr());
if (barcode == null) {
barcode = new Barcode();
barcode.setPlateSize(component.getPlateSize());
barcode.setHeight(component.getHeight());
barcode.setPlateSize(codebean.getReelWidth());
barcode.setHeight(codebean.getReelHeight());
barcode.setBarcode(codebean.getCodeStr());
barcode.setAmount(component.getAmount());
barcode.setFullCode(codebean.getCodeStr());
......@@ -173,8 +179,8 @@ public class SiemensApi extends BaseSmfApiListener {
barcode = barcodeManager.saveBarcode(barcode);
log.info("siemensCheckCode 新增 条码:[" + barcode.getBarcode() + "] ");
}else if(!barcode.getPartNumber().equals(component.getPartNumber())){
barcode.setPlateSize(component.getPlateSize());
barcode.setHeight(component.getHeight());
barcode.setPlateSize(codebean.getReelWidth());
barcode.setHeight(codebean.getReelHeight());
barcode.setBarcode(codebean.getCodeStr());
barcode.setAmount(component.getAmount());
barcode.setPartNumber(component.getPartNumber());
......
......@@ -2,11 +2,11 @@ server:
port: 8800
api:
name: Neotel
inCheckUrl:
outNotifyUrl:
inNotifyUrl:
#codeResolveUrl: hellaCodeResolve
# name: Siemens
# inCheckUrl:
# outNotifyUrl: http://cnctu04053:8015/api/JsonC
# inNotifyUrl: http://cnctu04053:8015/api/JsonC
# codeResolveUrl: http://cnctu04053:8015/api/JsonC
hella:
#host: 127.0.0.1
......
......@@ -2,14 +2,14 @@
<configuration status="WARN">
<Properties>
<Property name="LOG_HOME">logs</Property>
<Property name="LOG_NAME">smf.txt</Property>
<Property name="LOG_NAME">smf</Property>
</Properties>
<appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5level [%file:%line] - %msg%n"/>
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%file:%line] - %msg%n"/>
</Console>
<RollingFile name="log" fileName="${LOG_HOME}/${LOG_NAME}" filePattern="${LOG_HOME}/%d{yyyy-MM-dd}.${LOG_NAME}" append="true">
<PatternLayout charset="GB18030" pattern="%d{yyyy-MM-dd HH:mm:ss} %-5level [%file:%line] - %msg%n" />
<RollingFile name="log" fileName="${LOG_HOME}/${LOG_NAME}.txt" filePattern="${LOG_HOME}/${LOG_NAME}.%d{yyyy-MM-dd}.txt" append="true">
<PatternLayout charset="GB18030" pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level [%file:%line] - %msg%n" />
<Policies>
<TimeBasedTriggeringPolicy modulate="true" interval="1" />
</Policies>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!