Commit 3023e267 zshaohui

人工入库页面 增加缓存信息和列表

1 个父辈 65c2c187
...@@ -21,4 +21,6 @@ public class CacheNameUtil { ...@@ -21,4 +21,6 @@ public class CacheNameUtil {
public static final String CHCHE_SHIPCANCELUPSHELF = "CHCHE_SHIPCANCELUPSHELF"; public static final String CHCHE_SHIPCANCELUPSHELF = "CHCHE_SHIPCANCELUPSHELF";
public static final String CHCHE_RESTOREREPLACE = "CHCHE_RESTOREREPLACE"; public static final String CHCHE_RESTOREREPLACE = "CHCHE_RESTOREREPLACE";
public static final String CHCHE_WIP_MANUAL_INPUT = "CHCHE_WIP_MANUAL_INPUT";
} }
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class ManualPutIn {
private String boxId;
private String cartonId;
//0的时候是手动绑定 1的是待过账
private int status = 0;
}
package com.neotel.smfcore.custom.luxsan.factory_c.wipstor.controller;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.exception.ApiException;
import com.neotel.smfcore.custom.luxsan.api.LuxsanApi;
import com.neotel.smfcore.custom.luxsan.api.bean.request.GetBoxNGsnListRequest;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@Api(tags = "ng料接口")
@Slf4j
@RestController
@RequestMapping("/line")
public class BoxNgSnController {
@ApiOperation("ng料出库")
@RequestMapping("/getBoxNGsnList")
@AnonymousAccess
public ResultBean getBoxNGsnList(@Validated @RequestBody GetBoxNGsnListRequest result) throws ApiException {
log.info("机种["+result.getModel()+"]和CartonId:" + result.getCarton_id());
// List<GetBoxNGResult> boxNGsnList = LuxsanApi.getBoxNGsnList(result);
Map<String, String> map = new HashMap<>();
map.put("model", result.getModel());
map.put("carton_id", result.getCarton_id());
return ResultBean.newOkResult(LuxsanApi.getBoxNGsnListWithStrategyPattern(result));
}
}
...@@ -32,7 +32,9 @@ import com.neotel.smfcore.custom.luxsan.api.bean.result.FetchPalletInfoResult; ...@@ -32,7 +32,9 @@ import com.neotel.smfcore.custom.luxsan.api.bean.result.FetchPalletInfoResult;
import com.neotel.smfcore.custom.luxsan.api.bean.result.GetBoxNGResult; import com.neotel.smfcore.custom.luxsan.api.bean.result.GetBoxNGResult;
import com.neotel.smfcore.custom.luxsan.api.bean.result.ValidCartonResult; import com.neotel.smfcore.custom.luxsan.api.bean.result.ValidCartonResult;
import com.neotel.smfcore.custom.luxsan.api.enums.PalletEnum; import com.neotel.smfcore.custom.luxsan.api.enums.PalletEnum;
import com.neotel.smfcore.custom.luxsan.factory_c.common.util.CacheNameUtil;
import com.neotel.smfcore.custom.luxsan.factory_c.common.util.CommonUtil; import com.neotel.smfcore.custom.luxsan.factory_c.common.util.CommonUtil;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean.ManualPutIn;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.util.ManualWorkUtil; import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.util.ManualWorkUtil;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.util.TaskLocUtil; import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.util.TaskLocUtil;
import com.neotel.smfcore.security.annotation.AnonymousAccess; import com.neotel.smfcore.security.annotation.AnonymousAccess;
...@@ -40,6 +42,7 @@ import io.swagger.annotations.Api; ...@@ -40,6 +42,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings; import org.apache.logging.log4j.util.Strings;
import org.ehcache.impl.internal.concurrent.ConcurrentHashMap;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
...@@ -110,6 +113,13 @@ public class LineController { ...@@ -110,6 +113,13 @@ public class LineController {
try { try {
ValidCartonResult result = LuxsanApi.validCarton(new ValidCartonRequest("", scanCartonId, CommonUtil.plantCode)); ValidCartonResult result = LuxsanApi.validCarton(new ValidCartonRequest("", scanCartonId, CommonUtil.plantCode));
Map<String, ManualPutIn> cacheMap = dataCache.getCache(CacheNameUtil.CHCHE_WIP_MANUAL_INPUT);
if (cacheMap == null){
cacheMap = new ConcurrentHashMap<>();
}
cacheMap.put(barcode.getBarcode(), new ManualPutIn(barcode.getBarcode(), scanCartonId, 1));
dataCache.updateCache(CacheNameUtil.CHCHE_WIP_MANUAL_INPUT,cacheMap);
} catch (Exception e) { } catch (Exception e) {
return ResultBean.newErrorResult(-1, "", e.getMessage()); return ResultBean.newErrorResult(-1, "", e.getMessage());
} }
...@@ -220,6 +230,15 @@ public class LineController { ...@@ -220,6 +230,15 @@ public class LineController {
String boxLoc = TaskLocUtil.IN; String boxLoc = TaskLocUtil.IN;
taskService.addPutInTaskToExecute(storage, barcode, pos,boxLoc); taskService.addPutInTaskToExecute(storage, barcode, pos,boxLoc);
Map<String, ManualPutIn> cacheMap = dataCache.getCache(CacheNameUtil.CHCHE_WIP_MANUAL_INPUT);
if (cacheMap == null){
cacheMap = new ConcurrentHashMap<>();
}
cacheMap.remove(barcode.getBarcode());
dataCache.updateCache(CacheNameUtil.CHCHE_WIP_MANUAL_INPUT,cacheMap);
return ResultBean.newOkResult(""); return ResultBean.newOkResult("");
} }
...@@ -331,6 +350,8 @@ public class LineController { ...@@ -331,6 +350,8 @@ public class LineController {
barcodeManager.saveBarcode(barcode); barcodeManager.saveBarcode(barcode);
return ResultBean.newOkResult(""); return ResultBean.newOkResult("");
} }
@ApiOperation("手动绑定料箱和cartonId") @ApiOperation("手动绑定料箱和cartonId")
@RequestMapping("/bindCartonId") @RequestMapping("/bindCartonId")
@AnonymousAccess @AnonymousAccess
...@@ -343,21 +364,18 @@ public class LineController { ...@@ -343,21 +364,18 @@ public class LineController {
} }
barcode.setScanCartonId(cartonId); barcode.setScanCartonId(cartonId);
barcodeManager.saveBarcode(barcode); barcodeManager.saveBarcode(barcode);
return ResultBean.newOkResult("");
Map<String, ManualPutIn> cacheMap = dataCache.getCache(CacheNameUtil.CHCHE_WIP_MANUAL_INPUT);
if (cacheMap == null){
cacheMap = new ConcurrentHashMap<>();
} }
cacheMap.put(barcode.getBarcode(),new ManualPutIn(barcode.getBarcode(),cartonId,0));
dataCache.updateCache(CacheNameUtil.CHCHE_WIP_MANUAL_INPUT,cacheMap);
@ApiOperation("ng料出库") return ResultBean.newOkResult("");
@RequestMapping("/getBoxNGsnList")
@AnonymousAccess
public ResultBean getBoxNGsnList(@Validated @RequestBody GetBoxNGsnListRequest result) throws ApiException {
log.info("机种["+result.getModel()+"]和CartonId:" + result.getCarton_id());
// List<GetBoxNGResult> boxNGsnList = LuxsanApi.getBoxNGsnList(result);
Map<String, String> map = new HashMap<>();
map.put("model", result.getModel());
map.put("carton_id", result.getCarton_id());
return ResultBean.newOkResult(LuxsanApi.getBoxNGsnListWithStrategyPattern(result));
} }
@ApiOperation("手动完成入库任务") @ApiOperation("手动完成入库任务")
@RequestMapping("/finishedInTask") @RequestMapping("/finishedInTask")
@AnonymousAccess @AnonymousAccess
......
...@@ -8,15 +8,18 @@ import com.neotel.smfcore.core.device.util.DataCache; ...@@ -8,15 +8,18 @@ import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.system.service.po.DataLog; import com.neotel.smfcore.core.system.service.po.DataLog;
import com.neotel.smfcore.core.system.util.TaskService; import com.neotel.smfcore.core.system.util.TaskService;
import com.neotel.smfcore.custom.luxsan.factory_c.common.util.CacheNameUtil; import com.neotel.smfcore.custom.luxsan.factory_c.common.util.CacheNameUtil;
import com.neotel.smfcore.custom.luxsan.factory_c.wipstor.bean.ManualPutIn;
import com.neotel.smfcore.security.annotation.AnonymousAccess; import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.ehcache.impl.internal.concurrent.ConcurrentHashMap;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map;
@Api(tags = "人工作业") @Api(tags = "人工作业")
...@@ -92,4 +95,22 @@ public class ManualWorkController { ...@@ -92,4 +95,22 @@ public class ManualWorkController {
return ResultBean.newOkResult(""); return ResultBean.newOkResult("");
} }
@ApiOperation("人工入库页面,获取具体的操作列表")
@RequestMapping("/manualWorkList")
@AnonymousAccess
public ResultBean manualWorkList(int status) {
Map<String, ManualPutIn> cacheMap = dataCache.getCache(CacheNameUtil.CHCHE_WIP_MANUAL_INPUT);
if (cacheMap == null){
cacheMap = new ConcurrentHashMap<>();
}
List<ManualPutIn> putInList = new ArrayList<>();
for (ManualPutIn putIn : cacheMap.values()) {
if (putIn.getStatus() == status){
putInList.add(putIn);
}
}
return ResultBean.newOkResult(putInList);
}
} }
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!