Commit bfbf7ece zshaohui

1.nexim增加配置项,是否注册did信息

2.nexim获取did信息,挪到入库验证之前
1 个父辈 cdb1f9c7
package com.neotel.smfcore.custom.nexim.bean;
import lombok.Data;
@Data
public class DIdInfo {
// 唯一标识
private String did;
// 零件编号(空值)
private String partNumber;
// 零件条形码
private String partBarcode;
// 原始零件条形码
private String originalPartBarcode;
// 数量
private Integer quantity;
// 包装类型
private String packageType;
// 零件出库警告标识
private Integer partsoutWarning;
// 拼接警告标识
private Integer splicingWarning;
// 供应商名称
private String vendorName;
// 批次名称
private String lotName;
// 日期编码
private String dateCode;
// 区域(空值)
private String area;
// 存放位置
private String location;
// 机器(空值)
private String machine;
// 模块编号
private Integer module;
// 阶段编号
private Integer stageNo;
// 槽位编号
private Integer slotNo;
// 创建人
private String createdUser;
// 创建时间
private String createdDate;
// 更新人
private String updatedUser;
// 更新时间
private String updatedDate;
// 干燥状态(未开封)
private String dryStatus;
// 箱寿命(空值)
private String boxLife;
// 备注
private String memo;
// 照明等级(空值)
private String lightingClass;
// 照明限制
private Integer lightingLimit;
// 备注1(空值)
private String note1;
// 备注2(空值)
private String note2;
// 备注3(空值)
private String note3;
// 备注4(空值)
private String note4;
// 是否使用拼接
private Boolean useSplicing;
// 是否使用托盘包装
private Boolean useTrayPackage;
// 托盘堆叠数量
private Integer trayStackCount;
// 托盘拾取位置X坐标
private Integer trayPickupPositionX;
// 托盘拾取位置Y坐标
private Integer trayPickupPositionY;
// 托盘尺寸X
private Integer traySizeX;
// 托盘尺寸Y
private Integer traySizeY;
// floor寿命(空值)
private String floorLife;
}
\ No newline at end of file
......@@ -13,5 +13,6 @@ public class NeximConfig {
private String lastUpdateTime = "";
private String inputEto = "";
private String outputEtn = "";
private boolean registerDid = false;
private int time = 10;
}
......@@ -2,6 +2,7 @@ package com.neotel.smfcore.custom.nexim.controller;
import com.alibaba.fastjson.JSON;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.barcode.utils.CodeResolve;
......@@ -10,6 +11,7 @@ import com.neotel.smfcore.core.order.LiteOrderCache;
import com.neotel.smfcore.core.order.service.po.LiteOrder;
import com.neotel.smfcore.core.order.service.po.LiteOrderItem;
import com.neotel.smfcore.custom.nexim.NeximApi;
import com.neotel.smfcore.custom.nexim.bean.DIdInfo;
import com.neotel.smfcore.custom.nexim.bean.NeximConfig;
import com.neotel.smfcore.custom.nexim.bean.dto.NeximConfigDto;
import com.neotel.smfcore.custom.nexim.config.NeximCacheConfig;
......@@ -63,6 +65,7 @@ public class NeximController {
config.setTime(newConfig.getTime());
config.setUserName(newConfig.getUserName());
config.setPassword(newConfig.getPassword());
config.setRegisterDid(newConfig.isRegisterDid());
dataCache.updateCache(NeximCacheConfig.NeximConfig_Cache_Name, config);
return ResultBean.newOkResult("");
}
......@@ -88,7 +91,7 @@ public class NeximController {
dto.setEtoUpdateDateStr(getUpdateDate(config.getInputEto()));
dto.setUserName(config.getUserName());
dto.setPassword(config.getPassword());
dto.setRegisterDid(config.isRegisterDid());
return ResultBean.newOkResult(dto);
}
......@@ -100,15 +103,21 @@ public class NeximController {
if (StringUtils.isEmpty(code)) {
return ResultBean.newErrorResult(-1, "smfcore.valueCanotNull", "{0}不能为空", new String[]{"code"});
}
//获取did信息
DIdInfo inventoryDid = neximApi.getInventoryDid(code);
if (inventoryDid != null){
return ResultBean.newOkResult("");
}
if (!neximApi.enableRegisterDid()){
throw new ValidateException("smf.nexim.getInventoryFaile","获取did信息失败:[{0}]",new String[]{""});
}
Barcode barcode = codeResolve.resolveCode(code);
if (barcode == null) {
return ResultBean.newErrorResult(-1, "smfcore.error.barcode.invalid", "{0}不是有效的条码", new String[]{code});
}
String accessToken = neximApi.getAccessToken();
boolean hasDid = neximApi.inventoryHasDid(barcode.getBarcode(), accessToken);
if (!hasDid){
neximApi.registerNewDid(barcode, accessToken);
boolean hasDid = neximApi.registerNewDid(barcode);
if (!hasDid) {
return ResultBean.newErrorResult(-1,"","");
}
return ResultBean.newOkResult("");
}
......
......@@ -439,3 +439,5 @@ smfcore.auth.expire=\u6388\u6743\u5DF2\u8FC7\u671F
smfcore.order.slotNum=\u7AD9\u4F4D\u7F16\u53F7
smfcore.reelPosMove.paramerror=\u53C2\u6570\u4E0D\u5B8C\u6574
smfcore.reelPosMove.posIsNull=\u5E93\u4F4D[{1}]\u4E3A\u7A7A
smf.nexim.getInventoryFaile=\u83B7\u53D6did\u4FE1\u606F\u5931\u8D25:[{0}]
smfcore.registerdid.false=[{0}]\u6CE8\u518Cdid\u5931\u8D25:[{1}]
......@@ -427,3 +427,5 @@ smfcore.virtual.quantityError=Die zu entnehmende Menge sollte [{0}] betragen
smfcode.virtual.enter=Bitte scannen Sie den Barcode oder geben Sie ihn ein und best\u00E4tigen Sie mit Enter
smfcore.auth.expire=Die Autorisierung ist abgelaufen
smfcore.order.slotNum=Standnummer
smf.nexim.getInventoryFaile=Fehler beim Abrufen der did-Information: [{0}]
smfcore.registerdid.false=[{0}] Registrierung von did fehlgeschlagen:[{1}]
\ No newline at end of file
......@@ -428,3 +428,5 @@ smfcore.virtual.quantityError=The quantity to be removed should be [{0}]
smfcode.virtual.enter=Please scan or enter the barcode, then press Enter
smfcore.auth.expire=Authorization has expired
smfcore.order.slotNum=Station Number
smf.nexim.getInventoryFaile=Failed to retrieve did information: [{0}]
smfcore.registerdid.false=[{0}] Failed to register did:[{1}]
\ No newline at end of file
......@@ -427,3 +427,5 @@ smfcore.virtual.quantityError=La quantit\u00E9 \u00E0 retirer doit \u00EAtre [{0
smfcode.virtual.enter=Veuillez scanner ou saisir le code-barres, puis appuyer sur Entr\u00E9e
smfcore.auth.expire=L'autorisation a expir\u00E9
smfcore.order.slotNum=num\u00E9ro de position
smf.nexim.getInventoryFaile=\u00C9chec de r\u00E9cup\u00E9ration des informations did:[{0}]
smfcore.registerdid.false=[{0}] \u00C9chec de l'enregistrement de did:[{1}]
\ No newline at end of file
......@@ -422,5 +422,7 @@ smfcore.equipment.view.ncgroup=Neo Counter
smfcore.virtual.boxInPos=[{0}] \u306F\u65E2\u306B\u30ED\u30B1\u30FC\u30B7\u30E7\u30F3 [{1}] \u306B\u3042\u308A\u307E\u3059\u3002\u5148\u306B\u53D6\u308A\u51FA\u3057\u3066\u304F\u3060\u3055\u3044
smfcore.virtual.quantityError=\u53D6\u308A\u51FA\u3057\u6570\u91CF\u306F[{0}]\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059
smfcode.virtual.enter=\u30D0\u30FC\u30B3\u30FC\u30C9\u3092\u30B9\u30AD\u30E3\u30F3\u3001\u307E\u305F\u306F\u5165\u529B\u5F8C\u3001Enter\u30AD\u30FC\u3092\u62BC\u3057\u3066\u304F\u3060\u3055\u3044
smfcore.auth.expire = \u8A8D\u8A3C\u304C\u671F\u9650\u5207\u308C\u3067\u3059
smfcore.order.slotNum = \u30B9\u30BF\u30F3\u30C9\u756A\u53F7
\ No newline at end of file
smfcore.auth.expire=\u8A8D\u8A3C\u304C\u671F\u9650\u5207\u308C\u3067\u3059
smfcore.order.slotNum=\u30B9\u30BF\u30F3\u30C9\u756A\u53F7
smf.nexim.getInventoryFaile=did \u60C5\u5831\u306E\u53D6\u5F97\u306B\u5931\u6557\u3057\u307E\u3057\u305F: [{0}]
smfcore.registerdid.false=[{0}] did \u306E\u767B\u9332\u306B\u5931\u6557\u3057\u307E\u3057\u305F:[{1}]
\ No newline at end of file
......@@ -424,3 +424,5 @@ smfcore.virtual.quantityError=\u53D6\u51FA\u6570\u91CF\u5E94\u4E3A[{0}]
smfcode.virtual.enter=\u8BF7\u626B\u63CF\u6216\u8F93\u5165\u6761\u7801\u540E\u6309\u56DE\u8F66\u786E\u8BA4
smfcore.auth.expire=\u6388\u6743\u5DF2\u8FC7\u671F
smfcore.order.slotNum=\u7AD9\u4F4D\u7F16\u53F7
smf.nexim.getInventoryFaile=\u83B7\u53D6did\u4FE1\u606F\u5931\u8D25:[{0}]
smfcore.registerdid.false=[{0}]\u6CE8\u518Cdid\u5931\u8D25:[{1}]
\ No newline at end of file
......@@ -424,3 +424,5 @@ smfcore.virtual.quantityError=\u53D6\u51FA\u6578\u91CF\u61C9\u70BA[{0}]
smfcode.virtual.enter=\u8ACB\u6383\u63CF\u6216\u8F38\u5165\u689D\u78BC\u5F8C\u6309\u56DE\u8ECA\u78BA\u8A8D
smfcore.auth.expire = \u6388\u6B0A\u5DF2\u904E\u671F
smfcore.order.slotNum = \u7AD9\u4F4D\u7DE8\u865F
smf.nexim.getInventoryFaile=\u53D6\u5F97 did \u8CC7\u8A0A\u5931\u6557:[{0}]
smfcore.registerdid.false=[{0}]\u8A3B\u518Adid\u5931\u6557:[{1}]
\ No newline at end of file
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!