Commit 1b725840 LN

bug修改

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