Commit 63434ac1 sunke

Merge remote-tracking branch 'origin/master'

2 个父辈 d5f851dd 6b460d36
......@@ -4,12 +4,14 @@ import com.neotel.smfcore.core.device.bean.StatusBean;
import com.neotel.smfcore.core.device.enums.OP;
import com.neotel.smfcore.core.storage.enums.DeviceType;
import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.system.util.DevicesStatusUtil;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
@Service
@Slf4j
......@@ -41,6 +43,9 @@ public class SisoBoxHandler extends BaseDeviceHandler {
statusBean =taskService.checkOut(storage, statusBean);
}
//获取操作
Map<String, String> opMap = DevicesStatusUtil.getAndRemoveOp(cid);
statusBean.putOp(opMap);
return statusBean;
}
@Override
......
......@@ -4,7 +4,9 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.custom.micron20031.bean.PosInfoDto;
import com.neotel.smfcore.custom.micron20031.bean.PosRowDto;
import com.neotel.smfcore.custom.micron20031.bean.PosValueInfo;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
......@@ -15,10 +17,8 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@Slf4j
@RestController
......@@ -31,16 +31,15 @@ public class MicronController {
@ApiOperation("获取库位使用列表")
@GetMapping("/posUsedData")
@AnonymousAccess
public Map<String,List<PosRowDto>> posUsedData(String storageId ) {
public Map<String, List<PosRowDto>> posUsedData(String storageId) {
if (ObjectUtil.isEmpty(storageId)) {
return new HashMap<>();
}
Query query = new Query(Criteria.where("storageId").is(storageId));
Sort sort = Sort.by(Sort.Direction.ASC, "labelName", "posName");
query.with(sort);
Map<String, List<PosRowDto>> resultMap = new HashMap<>();
List<StoragePos> posList = storagePosManager.findByQuery(query);
Sort sort = Sort.by(Sort.Direction.ASC, "labelName", "posName");
//labelName, posN
Map<String, Map<String, Map<Integer, Integer>>> allMap = new HashMap<>();
......@@ -76,14 +75,17 @@ public class MicronController {
for (String lableName :
allMap.keySet()) {
Map<String, Map<Integer, Integer>> labelMap = allMap.get(lableName);
List<String> keySet=new ArrayList<>(labelMap.keySet());
Collections.sort(keySet);
List<PosRowDto> posRowDtos = new ArrayList<>();
for (String name : labelMap.keySet()) {
for (String name : keySet) {
//记录此列
currMap = labelMap.get(name);
Integer[] currA = new Integer[currMap.size()];
PosValueInfo[] currA = new PosValueInfo[currMap.size()];
for (int index = 0; index < currMap.size(); index++) {
int v = currMap.getOrDefault(index + 1, 0);
currA[index] = v;
String posName=name+(index+1);
currA[index] = new PosValueInfo(posName,v);
}
PosRowDto rowDto = new PosRowDto(name, currA);
......@@ -96,5 +98,28 @@ public class MicronController {
}
@ApiOperation("获取库位信息")
@GetMapping("/posInfo")
@AnonymousAccess
public PosInfoDto posInfo(String posName) {
PosInfoDto dto = new PosInfoDto();
if (ObjectUtil.isEmpty(posName)) {
return dto;
}
dto.setPosName(posName);
StoragePos pos = storagePosManager.getByPosName(posName);
if (pos == null) {
return dto;
}
if(pos.getBarcode()!=null){
dto.setBarcode(pos.getBarcode().getBarcode());
dto.setPartNumber(pos.getBarcode().getPartNumber());
dto.setAmount(pos.getBarcode().getAmount());
dto.setExpTime(pos.getBarcode().getExpTime());
}
return dto;
}
}
package com.neotel.smfcore.custom.micron20031.bean;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PosInfoDto implements Serializable {
@ApiModelProperty("库位号")
private String posName;
@ApiModelProperty("条码编号")
private String barcode;
@ApiModelProperty("料件编号")
private String partNumber;
@ApiModelProperty("数量")
private int amount;
@ApiModelProperty("过期时间(入库时间+最大存储时间)")
private Date expTime;
}
......@@ -12,5 +12,5 @@ public class PosRowDto implements Serializable {
private String name;
private Integer[] value;
private PosValueInfo[] value;
}
package com.neotel.smfcore.custom.micron20031.bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PosValueInfo implements Serializable {
private String posName;
private Integer value;
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!