Commit 935687a6 张少辉

1.根据料串或者条码获取目的地信息

1 个父辈 bf146829
...@@ -2,7 +2,10 @@ package com.neotel.smfcore.custom.luxsan.factory_c.third; ...@@ -2,7 +2,10 @@ package com.neotel.smfcore.custom.luxsan.factory_c.third;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.neotel.smfcore.common.bean.ResultBean; 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.common.utils.StringUtils;
import com.neotel.smfcore.core.barcode.service.po.Barcode;
import com.neotel.smfcore.core.barcode.utils.CodeResolve;
import com.neotel.smfcore.core.device.util.DataCache; import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.order.LiteOrderCache; import com.neotel.smfcore.core.order.LiteOrderCache;
import com.neotel.smfcore.custom.luxsan.factory_c.third.bean.MaterialLoc; import com.neotel.smfcore.custom.luxsan.factory_c.third.bean.MaterialLoc;
...@@ -17,9 +20,7 @@ import org.springframework.web.bind.annotation.RequestBody; ...@@ -17,9 +20,7 @@ import org.springframework.web.bind.annotation.RequestBody;
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.HashMap; import java.util.*;
import java.util.Locale;
import java.util.Map;
@Slf4j @Slf4j
@RestController @RestController
...@@ -29,6 +30,9 @@ public class MaterialRestController { ...@@ -29,6 +30,9 @@ public class MaterialRestController {
@Autowired @Autowired
private LiteOrderCache liteOrderCache; private LiteOrderCache liteOrderCache;
@Autowired
private CodeResolve codeResolve;
@ApiOperation("更新料串位置") @ApiOperation("更新料串位置")
@RequestMapping("/updateLoc") @RequestMapping("/updateLoc")
@AnonymousAccess @AnonymousAccess
...@@ -128,4 +132,48 @@ public class MaterialRestController { ...@@ -128,4 +132,48 @@ public class MaterialRestController {
resultMap.put("reelList",materialLoc.getReelList()); resultMap.put("reelList",materialLoc.getReelList());
return ResultBean.newOkResult(resultMap); return ResultBean.newOkResult(resultMap);
} }
@ApiOperation("根据条码或者料串号获取目的地信息")
@RequestMapping("/getDestinationByCodeOrStacker")
//@AnonymousAccess
public ResultBean getDestinationByCodeOrStacker(@RequestBody Map<String, String> paramMap) {
String code = paramMap.get("code");
if (StringUtils.isEmpty(code)) {
return ResultBean.newOkResult("条码信息或者料串号不能为空");
}
MaterialLoc materialLoc = MaterialLocUtil.getStacker(code);
if (materialLoc != null && StringUtils.isNotEmpty(materialLoc.getDestination())) {
return ResultBean.newOkResult("目的地信息为:" + materialLoc.getDestination());
}
//解析条码信息
Barcode barcode = null;
try {
barcode = codeResolve.resolveOneValideBarcode(code);
} catch (ValidateException e) {
return ResultBean.newOkResult("未找到对应的目的地信息,请检查信息是否输入正确");
}
MaterialLoc codeMaterialLoc = null;
Collection<MaterialLoc> allStackerLoc = MaterialLocUtil.getAllStackerLoc();
if (allStackerLoc != null && !allStackerLoc.isEmpty()) {
for (MaterialLoc loc : allStackerLoc) {
List<Map<String, Object>> reelList = loc.getReelList();
if (reelList != null){
for (Map<String, Object> map : reelList) {
String cacheBarcode = map.get("barcode") == null ? "" : map.get("barcode").toString();
if (barcode.getBarcode().equals(cacheBarcode)){
codeMaterialLoc = loc;
}
}
}
if (codeMaterialLoc != null){
break;
}
}
}
if (codeMaterialLoc == null || StringUtils.isEmpty(codeMaterialLoc.getDestination())){
return ResultBean.newOkResult("未找到对应的目的地信息");
}
return ResultBean.newOkResult("目的地信息为:"+codeMaterialLoc.getDestination());
}
} }
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!