Commit e73f18ed zshaohui

1.科博达不使用确认尺寸

2.PandaCIM出库和工单一样,使用不同的颜色
1 个父辈 91165f97
......@@ -38,6 +38,7 @@ public class CodeResolve {
private Integer defaultExpiresDay=0;
private boolean useSizeConfirm = true;
public void updateBarcodeRuleList(List<String> ruleList){
barcodeRuleList = Lists.newArrayList();
......@@ -56,6 +57,10 @@ public class CodeResolve {
defaultExpiresDay=expiresDay;
}
public void updateUseSizeConfirm(boolean confirm) {
useSizeConfirm = confirm;
}
public CodeBean resolveSingleCode(String barcodeItemStr ){
return resolveSingleCode(barcodeItemStr, COMPONENT_TYPE.COMPONENT);
......@@ -134,7 +139,7 @@ public class CodeResolve {
codeBeanFromRule.setShowImg(component.getShowImg());
//如果已经确认尺寸,使用确认的尺寸
if (component.isSizeConfirmed() || ((component.hasSizeInfo()) && (!codeBeanFromRule.hasReelSizeInfo()))) {
if ((component.isSizeConfirmed() && useSizeConfirm) || ((component.hasSizeInfo()) && (!codeBeanFromRule.hasReelSizeInfo()))) {
codeBeanFromRule.setReelWidth(component.getPlateSize());
codeBeanFromRule.setReelHeight(component.getHeight());
......@@ -271,7 +276,7 @@ public class CodeResolve {
}else{
//如果已经确认尺寸,使用确认的尺寸
if(component.isSizeConfirmed() || ((component.hasSizeInfo())&&(!codeBeanFromRule.hasReelSizeInfo()))){
if((component.isSizeConfirmed() && useSizeConfirm) || ((component.hasSizeInfo())&&(!codeBeanFromRule.hasReelSizeInfo()))){
codeBeanFromRule.setReelWidth(component.getPlateSize());
codeBeanFromRule.setReelHeight(component.getHeight());
}
......@@ -296,7 +301,7 @@ public class CodeResolve {
log.info("档案["+barcodeFromRule.getPartNumber()+"]不存在");
// throw new ValidateException("component.error.notExist",new String[]{barcodeFromRule.getPartNumber()});
throw new ValidateException("smfcore.valueNotExist","{0}[{1}]不存在",new String[]{"component",barcodeFromRule.getPartNumber()});
}else if(component.isSizeConfirmed() || ((component.hasSizeInfo())&&(!codeBeanFromRule.hasReelSizeInfo()))){
}else if((component.isSizeConfirmed() && useSizeConfirm) || ((component.hasSizeInfo())&&(!codeBeanFromRule.hasReelSizeInfo()))){
//如果已经确认尺寸,使用确认的尺寸
codeBeanFromRule.setReelWidth(component.getPlateSize());
codeBeanFromRule.setReelHeight(component.getHeight());
......
......@@ -123,6 +123,9 @@ public class DataCache {
initCacheItem();
Integer expireDay = getCache(Constants.CACHE_ExpiresDay);
codeResolve.updateExpiresDay(expireDay);
String apiName = getCache("api.name");
codeResolve.updateUseSizeConfirm("kbd".equals(apiName) ? false : true);
}
private void initCacheItem() {
......
......@@ -72,7 +72,7 @@ public class KebodaController {
@PostMapping(value = "/service/store/emptyPosForPutin")
@ResponseBody
@AnonymousAccess
public Map<String, Object> emptyPosForPutin(HttpServletRequest request) {
public synchronized Map<String, Object> emptyPosForPutin(HttpServletRequest request) {
String code = request.getParameter("code");
String cids = request.getParameter("cids");
String rfid = request.getParameter("rfid");
......@@ -232,7 +232,7 @@ public class KebodaController {
ReelLockPosInfo oldLockInfo = ReelLockPosUtil.getLockPosInfoByCode(barcode.getBarcode());
if (oldLockInfo != null) {
if (!oldLockInfo.getBarcode().equals(barcode.getBarcode())) {
if (!oldLockInfo.getLockPosId().equals(pos.getId())) {
String result = "-1";
okMsg = rfid + "[" + rfidLoc + "][" + barcode.getBarcode() + "]锁定库位[" + pos.getPosName() + "],清理旧有锁定信息";
resultMap.put("result", result);
......@@ -252,7 +252,6 @@ public class KebodaController {
reelLocInfo.setCid(theStorage.getCid());
reelLocInfo.setLockPosName(pos.getPosName());
reelLocInfo.setLockPosId(pos.getId());
reelLocInfo = ReelLockPosUtil.addReelLockPosInfo(reelLocInfo, cidList);
if (reelLocInfo == null) {
errorMsg = "[" + barcode.getBarcode() + "]库位[" + reelLocInfo.getLockPosName() + "]已被锁定,暂停入库";
......
......@@ -16,6 +16,8 @@ import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.core.device.enums.OP;
import com.neotel.smfcore.core.device.enums.OP_STATUS;
import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.order.LiteOrderCache;
import com.neotel.smfcore.core.order.enums.ORDER_COLOR;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.storage.service.po.StoragePos;
......@@ -45,6 +47,8 @@ public class PanaApiController extends BaseSmfApiListener {
protected TaskService taskService;
@Autowired
protected IStoragePosManager storagePosManager;
@Autowired
protected LiteOrderCache liteOrderCache;
protected static DataCache dataCache;
......@@ -136,6 +140,13 @@ public class PanaApiController extends BaseSmfApiListener {
String JobID = panaMaterial.getJobID();
List<String> ReelBarcodes = panaMaterial.getReelBarcodes();//["ABC123","BCD345","LL13212"]
log.info("收到 PanaCIM 的deliverMaterial 命令:ReelBarcodes="+ StringUtils.join(ReelBarcodes,","));
//获取亮灯颜色
ORDER_COLOR nextColor = liteOrderCache.getNextColor();
if (nextColor == null){
nextColor = ORDER_COLOR.BLUE;
}
List<String> ReelBarcodesDelivered = Lists.newArrayList();
List<String> ReelBarcodesNonExisting = Lists.newArrayList();
for (String barcode : ReelBarcodes){//加入到出库列表
......@@ -147,7 +158,7 @@ public class PanaApiController extends BaseSmfApiListener {
continue;
}
log.info("出库["+barcode+"]位置仓位【"+pos.getPosName()+"】");
taskService.checkout(pos,false,null,false);
taskService.checkout(pos,false,null,false,nextColor.getRgb());
ReelBarcodesDelivered.add(barcode);
}catch (Exception e){
ReelBarcodesNonExisting.add(barcode);
......@@ -323,6 +334,13 @@ public class PanaApiController extends BaseSmfApiListener {
result.put("ErrorCode","401");
result.put("ErrorMessage","JobID["+JobID+"]未包含物料");
}else{
//获取亮灯颜色
ORDER_COLOR nextColor = liteOrderCache.getNextColor();
if (nextColor == null){
nextColor = ORDER_COLOR.BLUE;
}
List<DataLog> tasks = Lists.newArrayList();
for (StoragePos pos :lockPoses){
//已经加过的就不再加了
......@@ -355,6 +373,8 @@ public class PanaApiController extends BaseSmfApiListener {
task.setPosId(pos.getId());
task.setPosName(pos.getPosName());
task.setLightColor(nextColor.getRgb());
tasks.add(task);
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!