Commit 1b725840 LN

bug修改

1 个父辈 21f2250f
...@@ -469,7 +469,7 @@ public class BoxKanbanController { ...@@ -469,7 +469,7 @@ public class BoxKanbanController {
Integer warmUseCount=dataCache.getSpUsePosCount(storage.getCid(),DataCache.warmPosUseCount); Integer warmUseCount=dataCache.getSpUsePosCount(storage.getCid(),DataCache.warmPosUseCount);
Integer coldingUseCount=dataCache.getSpUsePosCount(storage.getCid(),DataCache.coldingPosUseCount); Integer coldingUseCount=dataCache.getSpUsePosCount(storage.getCid(),DataCache.coldingPosUseCount);
boxDto.getData().put(DataCache.warmPosUseCount,warmUseCount.toString()); boxDto.getData().put(DataCache.warmPosUseCount,warmUseCount.toString());
boxDto.getData().put(DataCache.warmPosUseCount,coldingUseCount.toString()); boxDto.getData().put(DataCache.coldingPosUseCount,coldingUseCount.toString());
} }
return boxDto; return boxDto;
} }
......
...@@ -286,7 +286,7 @@ public class StoragePosManagerImpl implements IStoragePosManager { ...@@ -286,7 +286,7 @@ public class StoragePosManagerImpl implements IStoragePosManager {
/** /**
* 根据出库方式获取不同的 Sort * 根据出库方式获取不同的 Sort
*/ */
private Sort getSortByCheckOutType(CHECKOUT_TYPE checkoutType){ public Sort getSortByCheckOutType(CHECKOUT_TYPE checkoutType){
Sort sort = null; Sort sort = null;
if(CHECKOUT_TYPE.EXPIRE_FIRST.equals(checkoutType)){//先过期先出 if(CHECKOUT_TYPE.EXPIRE_FIRST.equals(checkoutType)){//先过期先出
sort = Sort.by(Sort.Direction.ASC, "barcode.expTime","barcode.expireDate","canCheckOutTime"); sort = Sort.by(Sort.Direction.ASC, "barcode.expTime","barcode.expireDate","canCheckOutTime");
...@@ -622,5 +622,4 @@ public class StoragePosManagerImpl implements IStoragePosManager { ...@@ -622,5 +622,4 @@ public class StoragePosManagerImpl implements IStoragePosManager {
return getEmptyPos(storage,barcode, excludePosIds,true); return getEmptyPos(storage,barcode, excludePosIds,true);
} }
} }
...@@ -22,7 +22,7 @@ public class DJK20388Menu { ...@@ -22,7 +22,7 @@ public class DJK20388Menu {
String menuLabel = "20388"; String menuLabel = "20388";
//AGV //AGV
MenuInit.addMenu(menuLabel,null,163, "AGV","agv", "djk/agvKanban/index","agv"); MenuInit.addMenu(menuLabel,null,163, "AGV","agv", "djk/agvkanban/index","agv");
String apiName = smfApi.getApiName(); String apiName = smfApi.getApiName();
if(Strings.isNotBlank(apiName) && apiName.equals(menuLabel)){ if(Strings.isNotBlank(apiName) && apiName.equals(menuLabel)){
......
...@@ -9,6 +9,8 @@ import com.neotel.smfcore.core.barcode.service.po.Barcode; ...@@ -9,6 +9,8 @@ import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.custom.micron20031.bean.DepositMatReqBean; import com.neotel.smfcore.custom.micron20031.bean.DepositMatReqBean;
import com.neotel.smfcore.custom.micron20031.bean.MatOrderBean; import com.neotel.smfcore.custom.micron20031.bean.MatOrderBean;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.*; import java.util.*;
...@@ -17,6 +19,7 @@ import java.util.*; ...@@ -17,6 +19,7 @@ import java.util.*;
* @date 2022/12/21 9:11 AM * @date 2022/12/21 9:11 AM
*/ */
@Slf4j @Slf4j
@Service
public class Micron20031Api { public class Micron20031Api {
public static String MODE_DISABLE_SAP="DISABLE_SAP"; public static String MODE_DISABLE_SAP="DISABLE_SAP";
public static String MODE_DISABLE_MAM="DISABLE_MAM"; public static String MODE_DISABLE_MAM="DISABLE_MAM";
...@@ -28,12 +31,33 @@ public class Micron20031Api { ...@@ -28,12 +31,33 @@ public class Micron20031Api {
public static String Email_TO=""; public static String Email_TO="";
public static String Email_CC=""; public static String Email_CC="";
private static String apiAddr = "";
@Value("${micron.email.to:}")
public void setEmaillTo(String to) {
Micron20031Api.Email_TO = to;
}
@Value("${micron.email.cc:}")
public void setEmaillCc(String cc) {
Micron20031Api.Email_CC = cc;
}
@Value("${micron.apiAddr:}")
public void setApiaddr(String apiAddr) {
Micron20031Api.apiAddr = apiAddr;
}
private static String AUTH_TOKEN = ""; private static String AUTH_TOKEN = "";
private static String MATERIAL_TYPE = "SOLDER_PASTE"; private static String MATERIAL_TYPE = "SOLDER_PASTE";
public static boolean isEnable(){
if(ObjectUtil.isEmpty(apiAddr)){
return false;
}
return true;
}
public static String getAuthToken(){ public static String getAuthToken(){
String url = "https://boapi3testgtwy.micron.com/token"; String url = "https://boapi3testgtwy.micron.com/token";
try { try {
...@@ -355,6 +379,7 @@ public class Micron20031Api { ...@@ -355,6 +379,7 @@ public class Micron20031Api {
List<String> result = new ArrayList<String>(); List<String> result = new ArrayList<String>();
result.add("test1"); result.add("test1");
result.add("test2"); result.add("test2");
return result;
} }
String auth = getAuthToken(); String auth = getAuthToken();
Map<String,String> dataMap = new HashMap<>(); Map<String,String> dataMap = new HashMap<>();
...@@ -387,6 +412,9 @@ public class Micron20031Api { ...@@ -387,6 +412,9 @@ public class Micron20031Api {
*/ */
public static String getMicronPN(String micronLotId, String equipId) throws ApiException { public static String getMicronPN(String micronLotId, String equipId) throws ApiException {
String checkStockAvailableUrl = ""; String checkStockAvailableUrl = "";
if(ObjectUtil.isEmpty(checkStockAvailableUrl)){
return "2K.K2275.010";
}
String auth = getAuthToken(); String auth = getAuthToken();
Map<String,String> dataMap = new HashMap<>(); Map<String,String> dataMap = new HashMap<>();
dataMap.put("MicronLotID",micronLotId); dataMap.put("MicronLotID",micronLotId);
......
...@@ -21,7 +21,7 @@ public class MicronSpApiListener extends BaseSmfApiListener { ...@@ -21,7 +21,7 @@ public class MicronSpApiListener extends BaseSmfApiListener {
private InListCache inListCache; private InListCache inListCache;
@Override @Override
public boolean isForThisApi(String apiName) { public boolean isForThisApi(String apiName) {
return false; return Micron20031Api.isEnable();
} }
@Override @Override
public Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam params, Barcode barcode) throws ValidateException { public Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam params, Barcode barcode) throws ValidateException {
......
package com.neotel.smfcore.custom.micron20031; package com.neotel.smfcore.custom.micron20031;
import cn.hutool.core.util.ObjectUtil;
import com.google.common.base.Strings; import com.google.common.base.Strings;
import com.neotel.smfcore.common.bean.ResultBean; import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.exception.ApiException; import com.neotel.smfcore.common.exception.ApiException;
...@@ -7,10 +8,12 @@ import com.neotel.smfcore.common.exception.ValidateException; ...@@ -7,10 +8,12 @@ import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.SecurityUtils; import com.neotel.smfcore.common.utils.SecurityUtils;
import com.neotel.smfcore.core.barcode.service.po.Barcode; import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.device.util.DataCache; import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE;
import com.neotel.smfcore.core.storage.rest.dto.CheckOutDto; import com.neotel.smfcore.core.storage.rest.dto.CheckOutDto;
import com.neotel.smfcore.core.storage.rest.dto.StoragePosDto; import com.neotel.smfcore.core.storage.rest.dto.StoragePosDto;
import com.neotel.smfcore.core.storage.rest.mapstruct.StoragePosMapper; import com.neotel.smfcore.core.storage.rest.mapstruct.StoragePosMapper;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager; import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import com.neotel.smfcore.core.storage.service.manager.impl.StoragePosManagerImpl;
import com.neotel.smfcore.core.storage.service.po.Storage; import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.storage.service.po.StoragePos; import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.core.system.util.TaskService; import com.neotel.smfcore.core.system.util.TaskService;
...@@ -20,12 +23,14 @@ import io.swagger.annotations.ApiOperation; ...@@ -20,12 +23,14 @@ import io.swagger.annotations.ApiOperation;
import lombok.Data; import lombok.Data;
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.data.domain.Sort;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -42,7 +47,7 @@ public class MicronSpUnloadController { ...@@ -42,7 +47,7 @@ public class MicronSpUnloadController {
private TaskService taskService; private TaskService taskService;
@Autowired @Autowired
private IStoragePosManager storagePosManager; private StoragePosManagerImpl storagePosManager;
@Autowired @Autowired
private StoragePosMapper storagePosMapper; private StoragePosMapper storagePosMapper;
...@@ -65,13 +70,24 @@ public class MicronSpUnloadController { ...@@ -65,13 +70,24 @@ public class MicronSpUnloadController {
@GetMapping(value = "/unload/getMicronPN") @GetMapping(value = "/unload/getMicronPN")
public ResultBean getMicronPN(String lotId,String lineId) { public ResultBean getMicronPN(String lotId,String lineId) {
if(ObjectUtil.isEmpty(lotId)||ObjectUtil.isEmpty(lineId)){
return ResultBean.newErrorResult(-1, "smfcore.micron.operationFailure", "操作失败");
}
try { try {
String pn = Micron20031Api.getMicronPN(lotId, lineId); String pn = Micron20031Api.getMicronPN(lotId, lineId);
Collection<String> excludePosIds = taskService.excludePosIds();
CHECKOUT_TYPE checkoutType = dataCache.getCheckOutType();
//根据PN查找对应的物料,验证成功后返回 //根据PN查找对应的物料,验证成功后返回
Criteria c = Criteria.where("used").is(true); Criteria c = Criteria.where("used").is(true);
c.and("barcode.partNumber").is(pn); c.and("barcode.partNumber").is(pn);
c.and("enable").is(true);
c.and("barcode.lockId").is(null);
c.and("barcode.appendData.AuthoriseNg").ne(true); c.and("barcode.appendData.AuthoriseNg").ne(true);
c.and("id").nin(excludePosIds);
Query q = new Query(c);
Sort sort =storagePosManager.getSortByCheckOutType(checkoutType);
q.with(sort);
List<StoragePos> posList = storagePosManager.findByQuery(new Query(c)); List<StoragePos> posList = storagePosManager.findByQuery(new Query(c));
for (StoragePos pos : for (StoragePos pos :
posList) { posList) {
...@@ -92,7 +108,7 @@ public class MicronSpUnloadController { ...@@ -92,7 +108,7 @@ public class MicronSpUnloadController {
log.info("unload/getMicronPN [" + pn + "] barcode [" + pos.getBarcode().getBarcode() + "] 标记为NG"); log.info("unload/getMicronPN [" + pn + "] barcode [" + pos.getBarcode().getBarcode() + "] 标记为NG");
} }
} }
return ResultBean.newOkResult(pn); return ResultBean.newErrorResult(-1, "smfcore.micron.checkoutByPnFail", "未找到可出库物料");
} catch (ApiException e) { } catch (ApiException e) {
return ResultBean.newErrorResult(1, e.getMessage(), e.getMessage()); return ResultBean.newErrorResult(1, e.getMessage(), e.getMessage());
} }
...@@ -111,6 +127,9 @@ public class MicronSpUnloadController { ...@@ -111,6 +127,9 @@ public class MicronSpUnloadController {
String posName = params.get("posName"); String posName = params.get("posName");
if(ObjectUtil.isEmpty(posName)){
return ResultBean.newErrorResult(-1, "smfcore.micron.operationFailure", "操作失败");
}
StoragePos pos = storagePosManager.getByPosName(posName); StoragePos pos = storagePosManager.getByPosName(posName);
if (pos == null) { if (pos == null) {
return ResultBean.newErrorResult(-1, "smfcore.micron.operationFailure", "操作失败"); return ResultBean.newErrorResult(-1, "smfcore.micron.operationFailure", "操作失败");
......
...@@ -14,6 +14,7 @@ import org.springframework.data.mongodb.core.query.Criteria; ...@@ -14,6 +14,7 @@ import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -37,7 +38,11 @@ public class MicronSpTimerProcess { ...@@ -37,7 +38,11 @@ public class MicronSpTimerProcess {
private boolean isRunning = false; private boolean isRunning = false;
@PostConstruct
public void init() { public void init() {
if (!Micron20031Api.isEnable()) {
return;
}
if (!isRunning) { if (!isRunning) {
isRunning = true; isRunning = true;
log.info("开始20031入库任务定时处理"); log.info("开始20031入库任务定时处理");
...@@ -49,7 +54,7 @@ public class MicronSpTimerProcess { ...@@ -49,7 +54,7 @@ public class MicronSpTimerProcess {
DespositProcess(); DespositProcess();
InlistTimeoutProcess(); InlistTimeoutProcess();
} }
}, 10, 60, TimeUnit.SECONDS); }, 60, 60, TimeUnit.SECONDS);
} }
} }
...@@ -68,9 +73,9 @@ public class MicronSpTimerProcess { ...@@ -68,9 +73,9 @@ public class MicronSpTimerProcess {
for (InListItem item : for (InListItem item :
inList.getInListItems()) { inList.getInListItems()) {
if (item.getInNum() <= 0) { if (item.getInNum() <= 0) {
//发送邮件 //发送邮件
Micron20031Api.sendEmail(Micron20031Api.Email_TO, Micron20031Api.Email_CC, inList.getName(), item.getRi()); Micron20031Api.sendEmail(Micron20031Api.Email_TO, Micron20031Api.Email_CC, inList.getName(), item.getRi());
log.info("sendEmail [" + inList.getName() + "] [" + item.getRi() + "] 给[" + Micron20031Api.Email_TO + "][" + Micron20031Api.Email_CC + "] 成功");
} }
} }
inList.setSendEmail(true); inList.setSendEmail(true);
...@@ -94,11 +99,11 @@ public class MicronSpTimerProcess { ...@@ -94,11 +99,11 @@ public class MicronSpTimerProcess {
for (Barcode barcode : for (Barcode barcode :
barcodeList) { barcodeList) {
//发送邮件
Micron20031Api.mATrackOut(barcode); Micron20031Api.mATrackOut(barcode);
barcode.updateAppendData("maTrackOut", true); barcode.updateAppendData("maTrackOut", true);
barcodeManager.saveBarcode(barcode); barcodeManager.saveBarcode(barcode);
log.info("DespositProcess barcode=[" + barcode.getBarcode() + "] 调用maTrackOut 成功");
} }
} catch (Exception ex) { } catch (Exception ex) {
log.info("条码stabilizationEndDate到达后发送 maTrackOut出错:" + ex.getMessage()); log.info("条码stabilizationEndDate到达后发送 maTrackOut出错:" + ex.getMessage());
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!