Commit 595d9c52 hc

fix:备品仓出入库修改

1 个父辈 37d6678e
...@@ -105,31 +105,73 @@ public class TaskService { ...@@ -105,31 +105,73 @@ public class TaskService {
* 条码入库,加入要执行的任务 * 条码入库,加入要执行的任务
*/ */
public synchronized DataLog addPutInTaskToExecute(Storage storage, Barcode barcode, StoragePos storagePos, String boxLoc) throws ValidateException { public synchronized DataLog addPutInTaskToExecute(Storage storage, Barcode barcode, StoragePos storagePos, String boxLoc) throws ValidateException {
log.info("Entering addPutInTaskToExecute method");
DataLog task = new DataLog(storage, barcode, storagePos); DataLog task = new DataLog(storage, barcode, storagePos);
log.info("DataLog task created");
task.setType(OP.PUT_IN); task.setType(OP.PUT_IN);
log.info("Task type set to PUT_IN");
task.setStatus(OP_STATUS.WAIT.name()); task.setStatus(OP_STATUS.WAIT.name());
log.info("Task status set to WAIT");
task.setLoc(boxLoc); task.setLoc(boxLoc);
log.info("Task location set to: " + boxLoc);
if (barcode != null) { if (barcode != null) {
task.setWarehouseCode(barcode.getWarehouseCode()); task.setWarehouseCode(barcode.getWarehouseCode());
log.info("Warehouse code set to: " + barcode.getWarehouseCode());
task.setDescribe(barcode.getDescribe()); task.setDescribe(barcode.getDescribe());
log.info("Description set to: " + barcode.getDescribe());
task.setBatchInfo(barcode.getBatch()); task.setBatchInfo(barcode.getBatch());
log.info("Batch info set to: " + barcode.getBatch());
task.setDateCode(barcode.getDateCode()); task.setDateCode(barcode.getDateCode());
log.info("Date code set to: " + barcode.getDateCode());
task.setProvider(barcode.getProvider()); task.setProvider(barcode.getProvider());
log.info("Provider set to: " + barcode.getProvider());
task.setProviderNumber(barcode.getProviderNumber()); task.setProviderNumber(barcode.getProviderNumber());
log.info("Provider number set to: " + barcode.getProviderNumber());
task.setKeeperCode(barcode.getKeeperCode()); task.setKeeperCode(barcode.getKeeperCode());
log.info("Keeper code set to: " + barcode.getKeeperCode());
task.setNum(barcode.getAmount()); task.setNum(barcode.getAmount());
log.info("Amount set to: " + barcode.getAmount());
barcode.setPutInTime(System.currentTimeMillis()); barcode.setPutInTime(System.currentTimeMillis());
log.info("Put in time set");
barcode.updateSluggishTime(dataCache.getPNsluggishDay(barcode.getPartNumber())); barcode.updateSluggishTime(dataCache.getPNsluggishDay(barcode.getPartNumber()));
log.info("Sluggish time updated");
log.info("任务生成准备完成");
barcodeManager.saveBarcode(barcode); barcodeManager.saveBarcode(barcode);
log.info("Barcode saved");
} }
String loginUser = DevicesStatusUtil.getLastOpUsername(storage.getCid()); String loginUser = DevicesStatusUtil.getLastOpUsername(storage.getCid());
if (Strings.isNullOrEmpty(loginUser)) { if (Strings.isNullOrEmpty(loginUser)) {
loginUser = SecurityUtils.getLoginUsername(); loginUser = SecurityUtils.getLoginUsername();
} }
log.info("Login user set to: " + loginUser);
task.setOperator(loginUser); task.setOperator(loginUser);
log.info("Operator set to: " + loginUser);
task = updateQueueTask(task); task = updateQueueTask(task);
log.info("Queue task updated");
log.info("cid:[" + storage.getCid() + "] barcode:[" + barcode.getBarcode() + "] partNumber:[" + task.getPartNumber() + "]位置[" + storagePos.getPosName() + "]的入库操作成功加入队列"); log.info("cid:[" + storage.getCid() + "] barcode:[" + barcode.getBarcode() + "] partNumber:[" + task.getPartNumber() + "]位置[" + storagePos.getPosName() + "]的入库操作成功加入队列");
log.info("Exiting addPutInTaskToExecute method");
return task; return task;
} }
......
...@@ -126,7 +126,7 @@ public class LuxsanSpApi extends DefaultSmfApiListener { ...@@ -126,7 +126,7 @@ public class LuxsanSpApi extends DefaultSmfApiListener {
public static List<GetSpareNoResult> getSpareNo(GetSpareNoRequest request) { public static List<GetSpareNoResult> getSpareNo(GetSpareNoRequest request) {
try { try {
String url = GetSpareNoUrl + getQueryStr(request); String url = GetSpareNoUrl + getQueryStr(request);
log.info("获取入库单号请求为:" + url); log.info("获取入库单号请求为:" + request);
String resJsonStr = HttpHelper.sendGet(url); String resJsonStr = HttpHelper.sendGet(url);
log.info("获取入库单号返回:" + resJsonStr); log.info("获取入库单号返回:" + resJsonStr);
LuxsanSpApiResult lizhenApiResult = JSONObject.parseObject(resJsonStr, LuxsanSpApiResult.class); LuxsanSpApiResult lizhenApiResult = JSONObject.parseObject(resJsonStr, LuxsanSpApiResult.class);
......
package com.neotel.smfcore.custom.luxsan_sp.controller; package com.neotel.smfcore.custom.luxsan_sp.controller;
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.ReelLockPosUtil; import com.neotel.smfcore.common.utils.ReelLockPosUtil;
import com.neotel.smfcore.common.utils.StringUtils; import com.neotel.smfcore.common.utils.StringUtils;
import com.neotel.smfcore.core.barcode.enums.BARCODE_STATUS; import com.neotel.smfcore.core.barcode.enums.BARCODE_STATUS;
...@@ -196,43 +198,56 @@ public class SpAgvDeviceClientController { ...@@ -196,43 +198,56 @@ public class SpAgvDeviceClientController {
@ResponseBody @ResponseBody
@AnonymousAccess @AnonymousAccess
public ResultBean getTarget(HttpServletRequest request) { public ResultBean getTarget(HttpServletRequest request) {
Map<String, String> taskData = null;
try {
log.info("getTarget"+ request.getParameter("barcode"));
taskData = new HashMap<>();
taskData.put("barcode", "");
taskData.put("slotCode", "");
String rfid = request.getParameter("barcode");
Barcode barcode = codeResolve.resolveOneValideBarcode("=2x2=" + rfid);
log.info("getTarget"+ JSON.toJSONString(barcode));
if (barcode != null){
barcode.setAmount(1);
barcodeManager.save(barcode);
List<Storage> storageList = new ArrayList<>();
Collection<Storage> storages = dataCache.getAllStorage().values();
for (Storage storage : storages) {
storageList.add(storage);
}
Map<String, String> taskData = new HashMap<>(); List<DataLog> allTasks = taskService.getAllTasks();
taskData.put("barcode", ""); for (DataLog task : allTasks) {
taskData.put("slotCode", ""); if (!task.isFinished() && !task.isCancel()) {
if (task.getBarcode().equals(barcode.getBarcode())) {
String rfid = request.getParameter("barcode"); taskData.put("barcode", barcode.getBarcode());
Barcode barcode = codeResolve.resolveOneValideBarcode("=2x2=" + rfid); taskData.put("slotCode", task.getPosName());
if (barcode != null){ log.info(barcode+"已有任务");
barcode.setAmount(1); return ResultBean.newOkResult(taskData);
barcodeManager.save(barcode); }
List<Storage> storageList = new ArrayList<>();
Collection<Storage> storages = dataCache.getAllStorage().values();
for (Storage storage : storages) {
storageList.add(storage);
}
List<DataLog> allTasks = taskService.getAllTasks();
for (DataLog task : allTasks) {
if (!task.isFinished() && !task.isCancel()) {
if (task.getBarcode().equals(barcode.getBarcode())) {
taskData.put("barcode", barcode.getBarcode());
taskData.put("slotCode", task.getPosName());
return ResultBean.newOkResult(taskData);
} }
} }
log.info("getTarget"+ request.getParameter("barcode")+"没有正在执行的任务");
StoragePos pos = SpBoxUtil.locOnePos(barcode);
log.info("getTarget"+ request.getParameter("barcode定位后的信息")+JSON.toJSONString(pos));
if (pos != null){
log.info("开始生成新任务");
Storage storage = dataCache.getStorageById(pos.getStorageId());
log.info("库位信息"+JSON.toJSONString(storage));
taskService.addPutInTaskToExecute(storage,barcode,pos,"");
log.info("生成完成");
taskData.put("barcode", barcode.getBarcode());
taskData.put("slotCode",pos.getPosName());
}
} }
StoragePos pos = SpBoxUtil.locOnePos(barcode);
if (pos != null){
Storage storage = dataCache.getStorageById(pos.getStorageId());
taskService.addPutInTaskToExecute(storage,barcode,pos,"");
taskData.put("barcode", barcode.getBarcode());
taskData.put("slotCode",pos.getPosName());
}
}
log.info(barcode.getBarcode()+"生成ctu的任务信息"+JSON.toJSONString(taskData));
} catch (Throwable e) {
e.printStackTrace();
}
return ResultBean.newOkResult(taskData); return ResultBean.newOkResult(taskData);
} }
......
...@@ -29,6 +29,7 @@ import com.neotel.smfcore.custom.luxsan_sp.util.SpBoxUtil; ...@@ -29,6 +29,7 @@ import com.neotel.smfcore.custom.luxsan_sp.util.SpBoxUtil;
import com.neotel.smfcore.custom.luxsan_sp.util.SpareNoCache; import com.neotel.smfcore.custom.luxsan_sp.util.SpareNoCache;
import com.neotel.smfcore.security.annotation.AnonymousAccess; import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -36,6 +37,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -36,6 +37,7 @@ import org.springframework.web.bind.annotation.RestController;
import java.util.*; import java.util.*;
@Slf4j
@ApiOperation("备件仓 料箱出库") @ApiOperation("备件仓 料箱出库")
@RestController @RestController
@RequestMapping("/spBoxCheckOut") @RequestMapping("/spBoxCheckOut")
...@@ -137,15 +139,19 @@ public class SpBoxCheckOutController { ...@@ -137,15 +139,19 @@ public class SpBoxCheckOutController {
//数量加1 // 出库单已出库数量加
unclaimedDetail.setAlrInQty(unclaimedDetail.getAlrInQty()+ codeBarcode.getQty()); unclaimedDetail.setAlrInQty(unclaimedDetail.getAlrInQty()+ codeBarcode.getQty());
orderNo.updateDetailList(unclaimedDetail); orderNo.updateDetailList(unclaimedDetail);
log.info("开始判断是否完成出库单");
for (UnclaimedDetail noDetail : orderNo.getDetailList()) { for (UnclaimedDetail noDetail : orderNo.getDetailList()) {
if (noDetail.getApplyQty() < noDetail.getAlrInQty()){ if (noDetail.getApplyQty() > noDetail.getAlrInQty()) {
log.info("出库未完成");
finish = false; finish = false;
break;
} }
log.info("出料noDetail.getApplyQty()"+noDetail.getApplyQty()+"noDetail.getAlrInQty()"+noDetail.getAlrInQty());
} }
if (finish){ if (finish){
...@@ -171,11 +177,12 @@ public class SpBoxCheckOutController { ...@@ -171,11 +177,12 @@ public class SpBoxCheckOutController {
//6.生成出库任务 //6.生成出库任务
DataLog dataLog = new DataLog(); DataLog dataLog = new DataLog();
dataLog.setBarcode(codeStr);
dataLog.setPartNumber(codeBarcode.getPartNumber()); dataLog.setPartNumber(codeBarcode.getPartNumber());
dataLog.setOperator(SecurityUtils.getLoginUsername()); dataLog.setOperator(SecurityUtils.getLoginUsername());
dataLog.setStatus(OP_STATUS.FINISHED.name()); dataLog.setStatus(OP_STATUS.FINISHED.name());
dataLog.setPosName(binBarcode.getBarcode()); dataLog.setPosName(binBarcode.getBarcode());
dataLog.setType(OP.PUT_IN); dataLog.setType(OP.CHECKOUT);
taskService.updateFinishedTask(dataLog); taskService.updateFinishedTask(dataLog);
pos.setBarcode(boxBarcode); pos.setBarcode(boxBarcode);
......
...@@ -24,7 +24,6 @@ import com.neotel.smfcore.custom.luxsan_sp.bean.*; ...@@ -24,7 +24,6 @@ import com.neotel.smfcore.custom.luxsan_sp.bean.*;
import com.neotel.smfcore.custom.luxsan_sp.enums.SpareNostatus; import com.neotel.smfcore.custom.luxsan_sp.enums.SpareNostatus;
import com.neotel.smfcore.custom.luxsan_sp.service.manager.IReturnNoManager; import com.neotel.smfcore.custom.luxsan_sp.service.manager.IReturnNoManager;
import com.neotel.smfcore.custom.luxsan_sp.service.manager.ISpareNoManager; import com.neotel.smfcore.custom.luxsan_sp.service.manager.ISpareNoManager;
import com.neotel.smfcore.custom.luxsan_sp.service.manager.impl.ReturnManagerImpl;
import com.neotel.smfcore.custom.luxsan_sp.util.*; import com.neotel.smfcore.custom.luxsan_sp.util.*;
import com.neotel.smfcore.security.annotation.AnonymousAccess; import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -32,16 +31,11 @@ import io.swagger.annotations.ApiOperation; ...@@ -32,16 +31,11 @@ import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.web.bind.annotation.RequestBody; 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.Arrays; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Api(tags = "备件仓 料箱入库") @Api(tags = "备件仓 料箱入库")
@RestController @RestController
...@@ -213,27 +207,37 @@ public class SpBoxPutInController { ...@@ -213,27 +207,37 @@ public class SpBoxPutInController {
return ResultBean.newErrorResult(-1,"",codePartNumber+"没有入退库需求,请检查是否存在或者不符合入退库数量"); return ResultBean.newErrorResult(-1,"",codePartNumber+"没有入退库需求,请检查是否存在或者不符合入退库数量");
} }
// 先调用入库接口
if (baseNo.getClass().equals(SpareNo.class)) {
SpareInHourseDetail detail = new SpareInHourseDetail();
detail.setInQty(codeBarcode.getQty());
detail.setPartno(codeBarcode.getPartNumber());
detail.setLocationCode(binBarcode.getBarcode());
LuxsanSpApi.spareInHourse(new SpareInHourseRequest(baseNo.getDeptId(),baseNo.getNo(),baseNo.getWhCode(), Arrays.asList(detail)));
}
//数量加1 //数量加1
spareNoDetail.setAlrInQty(spareNoDetail.getAlrInQty()+ codeBarcode.getQty()); spareNoDetail.setAlrInQty(spareNoDetail.getAlrInQty()+ codeBarcode.getQty());
baseNo.updateDetailList(spareNoDetail); baseNo.updateDetailList(spareNoDetail);
log.info("开始判断是否完成入库单");
for (SpareNoDetail noDetail : baseNo.getDetailList()) { for (SpareNoDetail noDetail : baseNo.getDetailList()) {
if (noDetail.getInQty() < noDetail.getAlrInQty()){ if (noDetail.getInQty() > noDetail.getAlrInQty()){
log.info("入库未完成");
finish = false; finish = false;
break;
} }
log.info("入料noDetail.getInQty()"+noDetail.getInQty()+"noDetail.getAlrInQty()"+noDetail.getAlrInQty());
} }
if (finish){ if (finish){
// 调用入库接口
if (baseNo.getClass().equals(SpareNo.class)) {
List<SpareInHourseDetail> details = new ArrayList<>();
for (SpareNoDetail detail : baseNo.getDetailList()) {
SpareInHourseDetail spareInHourseDetail = new SpareInHourseDetail();
spareInHourseDetail.setInQty(detail.getInQty());
spareInHourseDetail.setPartno(detail.getPartno());
String location = SpareNostatus.LOCATION_CODE.get(baseNo.getWhCode());
spareInHourseDetail.setLocationCode(location);
// spareInHourseDetail.setLocationCode(binBarcode.getBarcode());
details.add(spareInHourseDetail);
}
LuxsanSpApi.spareInHourse(new SpareInHourseRequest(baseNo.getDeptId(),baseNo.getNo(),baseNo.getWhCode(), details));
}
baseNo.setSpareStatus(SpareNostatus.CLOSE_STATUS); baseNo.setSpareStatus(SpareNostatus.CLOSE_STATUS);
} }
...@@ -264,6 +268,7 @@ public class SpBoxPutInController { ...@@ -264,6 +268,7 @@ public class SpBoxPutInController {
//6.生成入库任务 //6.生成入库任务
DataLog dataLog = new DataLog(); DataLog dataLog = new DataLog();
dataLog.setBarcode(codeStr);
dataLog.setPartNumber(codeBarcode.getPartNumber()); dataLog.setPartNumber(codeBarcode.getPartNumber());
dataLog.setOperator(SecurityUtils.getLoginUsername()); dataLog.setOperator(SecurityUtils.getLoginUsername());
dataLog.setStatus(OP_STATUS.FINISHED.name()); dataLog.setStatus(OP_STATUS.FINISHED.name());
......
...@@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -21,6 +21,7 @@ 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.stream.Collectors;
@Slf4j @Slf4j
@RestController @RestController
...@@ -48,8 +49,8 @@ public class SpReturnInventoryController { ...@@ -48,8 +49,8 @@ public class SpReturnInventoryController {
@ApiOperation("获取退库单") @ApiOperation("获取退库单")
@RequestMapping("/getAllReturnNo") @RequestMapping("/getAllReturnNo")
@AnonymousAccess @AnonymousAccess
public ResultBean getAllReturnNo(String deptId, String functionDept) { public ResultBean getAllReturnNo(String no) {
List<GetReturnInventoryResult> resultList = LuxsanSpApi.getReturnInventory(new GetReturnInventoryRequest(deptId, functionDept)); List<GetReturnInventoryResult> resultList = LuxsanSpApi.getReturnInventory(new GetReturnInventoryRequest(SpareNostatus.FUNCTION_DEPT, SpareNostatus.DEPT_ID));
List<ReturnInventoryNo> returnInventoryNos = new ArrayList<>(); List<ReturnInventoryNo> returnInventoryNos = new ArrayList<>();
for (GetReturnInventoryResult result : resultList) { for (GetReturnInventoryResult result : resultList) {
ReturnInventoryNo returnInventoryNo = returnNoCache.getByOrderNo(result.getOrderNo()); ReturnInventoryNo returnInventoryNo = returnNoCache.getByOrderNo(result.getOrderNo());
...@@ -60,6 +61,9 @@ public class SpReturnInventoryController { ...@@ -60,6 +61,9 @@ public class SpReturnInventoryController {
} }
returnInventoryNos.add(returnInventoryNo); returnInventoryNos.add(returnInventoryNo);
} }
if (StringUtils.isNotBlank(no)) {
returnInventoryNos = returnInventoryNos.stream().filter(spareNo -> spareNo.getOrderNo().equals(no)).collect(Collectors.toList());
}
return ResultBean.newOkResult(returnInventoryNos); return ResultBean.newOkResult(returnInventoryNos);
} }
......
...@@ -27,6 +27,8 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -27,6 +27,8 @@ 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.function.Predicate;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@RestController @RestController
...@@ -64,8 +66,8 @@ public class SpSpareNoController { ...@@ -64,8 +66,8 @@ public class SpSpareNoController {
@ApiOperation("获取入库单") @ApiOperation("获取入库单")
@RequestMapping("/getAllSpareNo") @RequestMapping("/getAllSpareNo")
@AnonymousAccess @AnonymousAccess
public ResultBean getAllSpareNo(String deptId, String functionDept) { public ResultBean getAllSpareNo(String no) {
List<GetSpareNoResult> resultList = LuxsanSpApi.getSpareNo(new GetSpareNoRequest(deptId, functionDept)); List<GetSpareNoResult> resultList = LuxsanSpApi.getSpareNo(new GetSpareNoRequest(SpareNostatus.DEPT_ID, SpareNostatus.FUNCTION_DEPT));
List<SpareNo> spareNoList = new ArrayList<>(); List<SpareNo> spareNoList = new ArrayList<>();
for (GetSpareNoResult result : resultList) { for (GetSpareNoResult result : resultList) {
SpareNo spareNo = spareNoCache.getBySpareNo(result.getSpareNo()); SpareNo spareNo = spareNoCache.getBySpareNo(result.getSpareNo());
...@@ -76,6 +78,9 @@ public class SpSpareNoController { ...@@ -76,6 +78,9 @@ public class SpSpareNoController {
} }
spareNoList.add(spareNo); spareNoList.add(spareNo);
} }
if (StringUtils.isNotBlank(no)) {
spareNoList = spareNoList.stream().filter(spareNo -> spareNo.getSpareNo().equals(no)).collect(Collectors.toList());
}
return ResultBean.newOkResult(spareNoList); return ResultBean.newOkResult(spareNoList);
} }
......
...@@ -30,6 +30,7 @@ import sun.util.calendar.BaseCalendar; ...@@ -30,6 +30,7 @@ import sun.util.calendar.BaseCalendar;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@RestController @RestController
...@@ -68,8 +69,8 @@ public class SpUnclaimedController { ...@@ -68,8 +69,8 @@ public class SpUnclaimedController {
@ApiOperation("获取出库单") @ApiOperation("获取出库单")
@RequestMapping("/getAllUnclaimed") @RequestMapping("/getAllUnclaimed")
@AnonymousAccess @AnonymousAccess
public ResultBean getAllUnclaimed(String deptId, String functionDept) { public ResultBean getAllUnclaimed(String no) {
List<GetUnclaimedResult> resultList = LuxsanSpApi.getUnclaimedDetails(new GetUnclaimedRequest(deptId, functionDept)); List<GetUnclaimedResult> resultList = LuxsanSpApi.getUnclaimedDetails(new GetUnclaimedRequest(SpareNostatus.DEPT_ID, SpareNostatus.FUNCTION_DEPT));
List<Unclaimed> unclaimedList = new ArrayList<>(); List<Unclaimed> unclaimedList = new ArrayList<>();
for (GetUnclaimedResult result : resultList) { for (GetUnclaimedResult result : resultList) {
Unclaimed unclaimed = orderNoCache.getByOrderNo(result.getOrderNo()); Unclaimed unclaimed = orderNoCache.getByOrderNo(result.getOrderNo());
...@@ -98,6 +99,9 @@ public class SpUnclaimedController { ...@@ -98,6 +99,9 @@ public class SpUnclaimedController {
liteOrder.setLine("s1"); liteOrder.setLine("s1");
liteOrderManager.createWithItems(liteOrder); liteOrderManager.createWithItems(liteOrder);
} }
if (StringUtils.isNotBlank(no)) {
unclaimedList = unclaimedList.stream().filter(spareNo -> spareNo.getOrderNo().equals(no)).collect(Collectors.toList());
}
return ResultBean.newOkResult(unclaimedList); return ResultBean.newOkResult(unclaimedList);
} }
......
package com.neotel.smfcore.custom.luxsan_sp.enums; package com.neotel.smfcore.custom.luxsan_sp.enums;
import java.util.HashMap;
import java.util.Map;
public class SpareNostatus { public class SpareNostatus {
public static final int NEW_STATUS = 0; public static final int NEW_STATUS = 0;
...@@ -17,4 +20,11 @@ public class SpareNostatus { ...@@ -17,4 +20,11 @@ public class SpareNostatus {
// 出库 // 出库
public static final Integer TYPE_CHECKOUT = 3; public static final Integer TYPE_CHECKOUT = 3;
public static final String DEPT_ID = "102";
public static final String FUNCTION_DEPT = "MLB%20MFG";
public static final Map<String, String> LOCATION_CODE = new HashMap<String, String>(){{
put("MLB-A003", "MLB-A003-01");
put("MLB-A004", "C01");
}};
} }
...@@ -210,6 +210,7 @@ public class SpBoxUtil { ...@@ -210,6 +210,7 @@ public class SpBoxUtil {
//判断信息是否在已经在库位中(出入库只改变料箱位置状态,不从StoragePos表中清除) //判断信息是否在已经在库位中(出入库只改变料箱位置状态,不从StoragePos表中清除)
StoragePos pos = storagePosManager.getByBarcode(boxBarcode.getBarcode()); StoragePos pos = storagePosManager.getByBarcode(boxBarcode.getBarcode());
if (pos != null) { if (pos != null) {
log.info(boxBarcode.getBarcode()+"已经在"+pos.getPosName());
return pos; return pos;
} }
......
...@@ -292,6 +292,9 @@ public class SpareNoCache { ...@@ -292,6 +292,9 @@ public class SpareNoCache {
Barcode barcode = pos.getBarcode(); Barcode barcode = pos.getBarcode();
log.info("入库单" + orderNo + ", 为库位=" + pos.getPosName() + ",料箱=" + barcode.getBarcode() + "生成出库任务:" + index); log.info("入库单" + orderNo + ", 为库位=" + pos.getPosName() + ",料箱=" + barcode.getBarcode() + "生成出库任务:" + index);
// 库位置空
barcode.setPosName(null);
pos.setBarcode(null);
barcodeManager.save(barcode); barcodeManager.save(barcode);
// barcodeManager.saveBarcode(barcode); // barcodeManager.saveBarcode(barcode);
storagePosManager.save(pos); storagePosManager.save(pos);
......
api: api:
name: Luxsan_sp name: Luxsan_sp
getSpareNo: https://iamsapi.luxsan-ict.com/iams-api/getSpareNo
\ No newline at end of file \ No newline at end of file
getSpareNo: https://iamsapi.luxsan-ict.com/iams-api/getSpareNo
spareInhourse: https://iamsapi.luxsan-ict.com/iams-api/spareInhourse
getUnclaimed: https://iamsapi.luxsan-ict.com/iams-api/getUnclaimed
getReturnInventory: https://iamsapi.luxsan-ict.com/iams-api/getReturnInventory
api: api:
name: Luxsan_sp name: Luxsan_sp
getSpareNo: http://10.42.220.118:8108/iams-api/getSpareNo
\ No newline at end of file \ No newline at end of file
getSpareNo: http://10.42.220.118:8108/iams-api/getSpareNo
spareInhourse: http://10.42.220.118:8108/iams-api/spareInhourse
getUnclaimed: http://10.42.220.118:8108/iams-api/getUnclaimed
getReturnInventory: http://10.42.220.118:8108/iams-api/getReturnInventory
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!