Commit 63434ac1 sunke

Merge remote-tracking branch 'origin/master'

2 个父辈 d5f851dd 6b460d36
...@@ -4,12 +4,14 @@ import com.neotel.smfcore.core.device.bean.StatusBean; ...@@ -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.device.enums.OP;
import com.neotel.smfcore.core.storage.enums.DeviceType; import com.neotel.smfcore.core.storage.enums.DeviceType;
import com.neotel.smfcore.core.storage.service.po.Storage; import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.system.util.DevicesStatusUtil;
import lombok.ToString; import lombok.ToString;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
import java.util.Map;
@Service @Service
@Slf4j @Slf4j
...@@ -41,6 +43,9 @@ public class SisoBoxHandler extends BaseDeviceHandler { ...@@ -41,6 +43,9 @@ public class SisoBoxHandler extends BaseDeviceHandler {
statusBean =taskService.checkOut(storage, statusBean); statusBean =taskService.checkOut(storage, statusBean);
} }
//获取操作
Map<String, String> opMap = DevicesStatusUtil.getAndRemoveOp(cid);
statusBean.putOp(opMap);
return statusBean; return statusBean;
} }
@Override @Override
......
...@@ -4,7 +4,9 @@ import cn.hutool.core.convert.Convert; ...@@ -4,7 +4,9 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager; import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import com.neotel.smfcore.core.storage.service.po.StoragePos; 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.PosRowDto;
import com.neotel.smfcore.custom.micron20031.bean.PosValueInfo;
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 lombok.extern.slf4j.Slf4j;
...@@ -15,10 +17,8 @@ import org.springframework.data.mongodb.core.query.Query; ...@@ -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.GetMapping;
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.HashMap; import java.util.*;
import java.util.List;
import java.util.Map;
@Slf4j @Slf4j
@RestController @RestController
...@@ -31,16 +31,15 @@ public class MicronController { ...@@ -31,16 +31,15 @@ public class MicronController {
@ApiOperation("获取库位使用列表") @ApiOperation("获取库位使用列表")
@GetMapping("/posUsedData") @GetMapping("/posUsedData")
@AnonymousAccess @AnonymousAccess
public Map<String,List<PosRowDto>> posUsedData(String storageId ) { public Map<String, List<PosRowDto>> posUsedData(String storageId) {
if (ObjectUtil.isEmpty(storageId)) { if (ObjectUtil.isEmpty(storageId)) {
return new HashMap<>(); return new HashMap<>();
} }
Query query = new Query(Criteria.where("storageId").is(storageId)); 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<>(); Map<String, List<PosRowDto>> resultMap = new HashMap<>();
List<StoragePos> posList = storagePosManager.findByQuery(query); List<StoragePos> posList = storagePosManager.findByQuery(query);
Sort sort = Sort.by(Sort.Direction.ASC, "labelName", "posName");
//labelName, posN //labelName, posN
Map<String, Map<String, Map<Integer, Integer>>> allMap = new HashMap<>(); Map<String, Map<String, Map<Integer, Integer>>> allMap = new HashMap<>();
...@@ -76,14 +75,17 @@ public class MicronController { ...@@ -76,14 +75,17 @@ public class MicronController {
for (String lableName : for (String lableName :
allMap.keySet()) { allMap.keySet()) {
Map<String, Map<Integer, Integer>> labelMap = allMap.get(lableName); Map<String, Map<Integer, Integer>> labelMap = allMap.get(lableName);
List<String> keySet=new ArrayList<>(labelMap.keySet());
Collections.sort(keySet);
List<PosRowDto> posRowDtos = new ArrayList<>(); List<PosRowDto> posRowDtos = new ArrayList<>();
for (String name : labelMap.keySet()) { for (String name : keySet) {
//记录此列 //记录此列
currMap = labelMap.get(name); currMap = labelMap.get(name);
Integer[] currA = new Integer[currMap.size()]; PosValueInfo[] currA = new PosValueInfo[currMap.size()];
for (int index = 0; index < currMap.size(); index++) { for (int index = 0; index < currMap.size(); index++) {
int v = currMap.getOrDefault(index + 1, 0); 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); PosRowDto rowDto = new PosRowDto(name, currA);
...@@ -96,5 +98,28 @@ public class MicronController { ...@@ -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 { ...@@ -12,5 +12,5 @@ public class PosRowDto implements Serializable {
private String name; 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!