Commit 05db7f97 zshaohui

1.手动入库时 如果是虚拟仓的库位,提示用户去虚拟仓页面操作

2.uid出库 增加在库/不在库查询
1 个父辈 95deb08c
......@@ -451,6 +451,18 @@ public class StoragePosController {
criteria.setPartNumber(null);
}
if (StringUtils.isEmpty(criteria.getBoxStatus())){
criteria.setBoxStatusList(Arrays.asList(-1,0,1,2));
} else {
if (criteria.getBoxStatus().equals(0)){
criteria.setBoxStatusList(Arrays.asList(0));
} else {
criteria.setBoxStatusList(Arrays.asList(-1,1,2));
}
criteria.setBoxStatus("");
}
Query query = QueryHelp.getQuery(criteria);
Criteria baseCriteria = Criteria.where("used").is(true).and("barcode").exists(true);
......@@ -689,12 +701,52 @@ public class StoragePosController {
@Override
public List<List<Object>> getPageData(Query query, Pageable pageable) {
List<List<Object>> dataList = new ArrayList<>();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<StoragePos> storagePos = storagePosManager.findByQuery(query,pageable);
for (StoragePos pos : storagePos) {
Barcode barcode = pos.getBarcode();
List<Object> boxData = new ArrayList<>();
boxData.add(barcode.getBarcode());
boxData.add("");
boxData.add("");
boxData.add("");
boxData.add("");
boxData.add("");
boxData.add("");
boxData.add("");
long boxPutInTime = barcode.getPutInTime();
if (boxPutInTime != -1){
boxData.add(dateFormat.format(boxPutInTime));
} else {
boxData.add("");
}
Date boxPutInDate = barcode.getPutInDate();
if (boxPutInDate != null){
boxData.add(dateFormat.format(boxPutInDate));
} else {
boxData.add("");
}
boxData.add("");
boxData.add(pos.getPosName());
int boxStatus = barcode.getStatus();
if (boxStatus == BARCODE_STATUS.IN_STORE){
boxData.add("在库");
} else {
boxData.add("");
}
boxData.add("");
dataList.add(boxData);
List<Barcode> subCodeList = barcode.getSubCodeList();
if (subCodeList != null && !subCodeList.isEmpty()){
for (Barcode subCode : subCodeList) {
......
......@@ -103,6 +103,12 @@ public class StoragePosFindCriteria {
@QueryCondition(propName = "barcode.barcode")
private String box;
private String boxStatus;
@ApiModelProperty("料箱状态,是否在库")
@QueryCondition(type = QueryCondition.Type.IN,propName = "barcode.status")
private List<Integer> boxStatusList;
public int getComponentType(){
int componentType = getType();
if (componentType != -1) {
......
......@@ -673,6 +673,7 @@ public class OutLineController {
}
}
}
if (dataLog != null){
if (!dataLog.isOutFromPos()){
taskService.moveTaskToFinished(dataLog);
......@@ -690,6 +691,17 @@ public class OutLineController {
barcodeManager.save(posBarcode);
pos.setBarcode(posBarcode);
storagePosManager.save(pos);
//如果出库任务为空的时候,生成一个完成的出库任务
if (dataLog == null){
Storage storage = dataCache.getStorageById(pos.getStorageId());
DataLog checkOutDataLog = new DataLog(storage, barcode, pos);
checkOutDataLog.setType(OP.CHECKOUT);
checkOutDataLog.setStatus(OP_STATUS.FINISHED.name());
checkOutDataLog.setOperator(SecurityUtils.getLoginUsername()+"人工页面扫描出库");
taskService.updateFinishedTask(checkOutDataLog);
}
}
//判断是否有出库任务,如果有就完成
......
......@@ -368,10 +368,17 @@ public class ManualGrPutInController {
if (pos == null) {
return ResultBean.newErrorResult(-1, "", boxStr + "未找到可用库位");
}
//如果是虚拟仓的库位,提示出来
Storage storage = dataCache.getStorageById(pos.getStorageId());
if (storage.isVirtual()){
return ResultBean.newErrorResult(-1,"","料箱:"+boxStr+"所属的库位为:"+pos.getPosName()+",属于虚拟仓,请在虚拟仓页面进行操作");
}
pos.setBarcode(boxBarcode);
storagePosManager.save(pos);
log.info(boxStr+"入库到智能仓,分配的储位为:"+pos.getPosName());
Storage storage = dataCache.getStorageById(pos.getStorageId());
DataLog dataLog = taskService.addPutInTaskToExecute(storage, boxBarcode, pos, TaskCurrentLoc.Manual_DischargeHole);
return ResultBean.newOkResult("");
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!