普洱修改

just-order-普洱
LAPTOP-S9HJSOEB\昊天 3 months ago
parent 00a70cda62
commit d6e7f25a1f

@ -35,6 +35,7 @@ public class CheckLog {
private Integer count; private Integer count;
private String wmsCategory; private String wmsCategory;
private String wmsCategoryName;
private Integer wmsCount; private Integer wmsCount;
@ -58,6 +59,8 @@ public class CheckLog {
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime; private LocalDateTime createTime;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime endTime;
@TableField(exist=false) @TableField(exist=false)
private String streetName; private String streetName;

@ -1,10 +1,12 @@
package com.zhehekeji.web.pojo.stock; package com.zhehekeji.web.pojo.stock;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data; import lombok.Data;
import lombok.NonNull; import lombok.NonNull;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@Data @Data
@ -33,5 +35,11 @@ public class RowColumnStatus {
private List<String> rowTabs; private List<String> rowTabs;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTimestamp;
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime endTimestamp;
private List<String> columnTabs; private List<String> columnTabs;
} }

@ -33,7 +33,7 @@ public class CheckLogService {
PageHelper.startPage(search.getPageNum(), search.getPageSize()); PageHelper.startPage(search.getPageNum(), search.getPageSize());
QueryWrapper<CheckLog> wrapper = new QueryWrapper<>(); QueryWrapper<CheckLog> wrapper = new QueryWrapper<>();
wrapper.eq(!StringUtils.isEmpty(search.getLotnum()), "lotnum", search.getLotnum()) wrapper.like(!StringUtils.isEmpty(search.getLotnum()), "task_id", search.getLotnum())
.ge(search.getStartTimestamp() != null, "create_time", search.getStartTimestamp()) .ge(search.getStartTimestamp() != null, "create_time", search.getStartTimestamp())
.le(search.getEndTimestamp() != null, "create_time", search.getEndTimestamp()) .le(search.getEndTimestamp() != null, "create_time", search.getEndTimestamp())
.eq(search.getLeftRight() != null && search.getLeftRight() > 0, "`direction`", search.getLeftRight()) .eq(search.getLeftRight() != null && search.getLeftRight() > 0, "`direction`", search.getLeftRight())

@ -713,37 +713,38 @@ public class PlcService {
stock.setCategory(dataInfo.getTypeNum()); stock.setCategory(dataInfo.getTypeNum());
stock.setCount(dataInfo.getQuantity()); stock.setCount(dataInfo.getQuantity());
stock.setWmsCategoryName(dataInfo.getCategoryName()); stock.setWmsCategoryName(dataInfo.getCategoryName());
checkLog.setWmsCategoryName(dataInfo.getCategoryName());
stock.setTaskId((dataInfo.getTaskId())); stock.setTaskId((dataInfo.getTaskId()));
//默认未盘点 //默认未盘点
if(stock.getCategory().length() == 6) { if (stock.getCategory().length() == 6) {
stock.setStatus(StockStatus.PENDING.getStatus()); stock.setStatus(StockStatus.PENDING.getStatus());
} }
//进行品规识别,完成进行拍照 //进行品规识别,完成进行拍照
if( stock.getCategory() != null && "20".equals(stock.getCategory())) { if (stock.getCategory() != null && "20".equals(stock.getCategory())) {
checkLog.setStatus(StockStatus.OTHER.getStatus()); checkLog.setStatus(StockStatus.OTHER.getStatus());
stock.setStatus(StockStatus.OTHER.getStatus()); stock.setStatus(StockStatus.OTHER.getStatus());
} }
AlgorithmPojo algorithmPojo = sendHttp(street,stock.getDirection(),dataInfo.getTypeNum()); AlgorithmPojo algorithmPojo = sendHttp(street, stock.getDirection(), dataInfo.getTypeNum());
if (algorithmPojo!=null){ if (algorithmPojo != null) {
if (algorithmPojo.getResult()){ if (algorithmPojo.getResult()) {
checkLog.setStatus(StockStatus.SUCCESS.getStatus()); checkLog.setStatus(StockStatus.SUCCESS.getStatus());
stock.setStatus(StockStatus.SUCCESS.getStatus()); stock.setStatus(StockStatus.SUCCESS.getStatus());
stock.setCategory(dataInfo.getTypeNum()); stock.setCategory(dataInfo.getTypeNum());
checkLog.setCategory(dataInfo.getTypeNum()); checkLog.setCategory(dataInfo.getTypeNum());
}else { } else {
checkLog.setStatus(StockStatus.CATEGORY_ERROR.getStatus()); checkLog.setStatus(StockStatus.CATEGORY_ERROR.getStatus());
stock.setStatus(StockStatus.CATEGORY_ERROR.getStatus()); stock.setStatus(StockStatus.CATEGORY_ERROR.getStatus());
} }
checkLog.setPic("http://"+street.getPlcIp()+":9007/pic/"+algorithmPojo.getDeterminePath()); checkLog.setPic("http://" + street.getPlcIp() + ":9007/pic/" + algorithmPojo.getDeterminePath());
stock.setCheckPic("http://"+street.getPlcIp()+":9007/pic/"+algorithmPojo.getDeterminePath()); stock.setCheckPic("http://" + street.getPlcIp() + ":9007/pic/" + algorithmPojo.getDeterminePath());
}else { } else {
checkLog.setStatus(StockStatus.CATEGORY_ERROR.getStatus()); checkLog.setStatus(StockStatus.CATEGORY_ERROR.getStatus());
stock.setStatus(StockStatus.CATEGORY_ERROR.getStatus()); stock.setStatus(StockStatus.CATEGORY_ERROR.getStatus());
} }
checkLogMapper.insert(checkLog); checkLogMapper.insert(checkLog);
stock.setCheckNum(checkLog.getId().toString()); stock.setCheckNum(checkLog.getId().toString());
@ -753,7 +754,7 @@ public class PlcService {
} else stockMapper.updateById(stock); } else stockMapper.updateById(stock);
if (algorithmPojo != null) { if (algorithmPojo != null) {
return algorithmPojo.getResult(); return algorithmPojo.getResult();
}else { } else {
return false; return false;
} }
// try { // try {
@ -788,13 +789,12 @@ public class PlcService {
} }
public void visualCalculationResults(TransmissionPojo transmissionPojo) { public void visualCalculationResults(TransmissionPojo transmissionPojo) {
CheckLog checkLog = checkLogMapper.selectById(transmissionPojo.getCheckId()); CheckLog checkLog = checkLogMapper.selectById(transmissionPojo.getCheckId());
Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("check_Num", checkLog.getId())); Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("check_Num", checkLog.getId()));
Street street = streetService.getStreetByPlcId(transmissionPojo.getStreetNumber()); Street street = streetService.getStreetByPlcId(transmissionPojo.getStreetNumber());
if( stock.getCategory() != null && "20".equals(stock.getCategory())) { if (stock.getCategory() != null && "20".equals(stock.getCategory())) {
checkLog.setStatus(StockStatus.OTHER.getStatus()); checkLog.setStatus(StockStatus.OTHER.getStatus());
stock.setStatus(StockStatus.OTHER.getStatus()); stock.setStatus(StockStatus.OTHER.getStatus());
} }
@ -817,22 +817,22 @@ public class PlcService {
} }
public static AlgorithmPojo sendHttp(Street street,Integer direction , String category ){ public static AlgorithmPojo sendHttp(Street street, Integer direction, String category) {
// 创建RestTemplate实例 // 创建RestTemplate实例
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setConnectTimeout(10000); // 5 seconds factory.setConnectTimeout(10000); // 5 seconds
factory.setReadTimeout(10000); // 5 seconds factory.setReadTimeout(10000); // 5 seconds
RestTemplate restTemplate = new RestTemplate(factory); RestTemplate restTemplate = new RestTemplate(factory);
// 定义请求URL // 定义请求URL
String url = "http://"+street.getPlcIp()+":8097/hik/distinguish?streetNumber={streetNumber}&direction={direction}&category={category}"; String url = "http://" + street.getPlcIp() + ":8097/hik/distinguish?streetNumber={streetNumber}&direction={direction}&category={category}";
// 定义请求参数 // 定义请求参数
// 替换为实际的category // 替换为实际的category
// 发送GET请求并获取响应 // 发送GET请求并获取响应
try { try {
ResponseEntity<AlgorithmPojo> response = restTemplate.getForEntity(url, AlgorithmPojo.class, street.getPlcId(),direction, category); ResponseEntity<AlgorithmPojo> response = restTemplate.getForEntity(url, AlgorithmPojo.class, street.getPlcId(), direction, category);
// 输出响应结果 // 输出响应结果
if (response.getStatusCode().is2xxSuccessful()) { if (response.getStatusCode().is2xxSuccessful()) {
log.info("Distinguish result: " + Objects.requireNonNull(response.getBody()).toString()); log.info("Distinguish result: " + Objects.requireNonNull(response.getBody()).toString());
@ -841,15 +841,15 @@ public class PlcService {
System.out.println("Failed to get response. Status code: " + response.getStatusCode()); System.out.println("Failed to get response. Status code: " + response.getStatusCode());
return null; return null;
} }
}catch (Exception e){ } catch (Exception e) {
log.error("sendHttp error",e); log.error("sendHttp error", e);
return null; return null;
} }
} }
public static AlgorithmPojo sendHttp(Street street,Integer direction ){ public static AlgorithmPojo sendHttp(Street street, Integer direction) {
// 创建RestTemplate实例 // 创建RestTemplate实例
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setConnectTimeout(10000); // 5 seconds factory.setConnectTimeout(10000); // 5 seconds
@ -857,7 +857,7 @@ public class PlcService {
RestTemplate restTemplate = new RestTemplate(factory); RestTemplate restTemplate = new RestTemplate(factory);
// 定义请求URL // 定义请求URL
String url = "http://"+street.getPlcIp()+":8097/hik/calibration?direction={direction}"; String url = "http://" + street.getPlcIp() + ":8097/hik/calibration?direction={direction}";
// 定义请求参数 // 定义请求参数
// 替换为实际的category // 替换为实际的category
@ -878,15 +878,15 @@ public class PlcService {
return null; return null;
} }
}catch (Exception e){ } catch (Exception e) {
log.error("sendHttp error",e); log.error("sendHttp error", e);
return null; return null;
} }
} }
public int sendHttp(String streetNumber,PlcCmdInfo plcCmdInfo, KsecDataInfo dataInfo){ public int sendHttp(String streetNumber, PlcCmdInfo plcCmdInfo, KsecDataInfo dataInfo) {
Street street = streetService.getStreetByPlcId(streetNumber); Street street = streetService.getStreetByPlcId(streetNumber);
// 创建RestTemplate实例 // 创建RestTemplate实例
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
@ -894,44 +894,44 @@ public class PlcService {
factory.setReadTimeout(10000); // 5 seconds factory.setReadTimeout(10000); // 5 seconds
RestTemplate restTemplate = new RestTemplate(factory); RestTemplate restTemplate = new RestTemplate(factory);
// 定义 URL // 定义 URL
String url = "http://"+street.getPlcIp()+":8097/category/getBoxCountByCategory?streetId={streetNumber}&category={category}"; String url = "http://" + street.getPlcIp() + ":8097/category/getBoxCountByCategory?streetId={streetNumber}&category={category}";
boolean flag = false; boolean flag = false;
int count = 0; int count = 0;
try { try {
// 发起 GET 请求 // 发起 GET 请求
ResponseEntity<Integer> response = restTemplate.getForEntity(url, Integer.class,streetNumber,plcCmdInfo.getCategoryName()); ResponseEntity<Integer> response = restTemplate.getForEntity(url, Integer.class, streetNumber, plcCmdInfo.getCategoryName());
count = response.getBody(); count = response.getBody();
flag = true; flag = true;
dataInfo.setQuantity(count); dataInfo.setQuantity(count);
log.info("category/getBoxCountByCategory:{}",count); log.info("category/getBoxCountByCategory:{}", count);
// 输出响应状态码和响应体 // 输出响应状态码和响应体
System.out.println("Status Code: " + response.getStatusCode()); System.out.println("Status Code: " + response.getStatusCode());
}catch (Exception e){ } catch (Exception e) {
} }
CheckLog checkLog = checkLogMapper.selectOne(new QueryWrapper<CheckLog>().eq("task_id",plcCmdInfo.getTaskId()).orderByDesc("create_Time").last("limit 1")); CheckLog checkLog = checkLogMapper.selectOne(new QueryWrapper<CheckLog>().eq("task_id", plcCmdInfo.getTaskId()).orderByDesc("create_Time").last("limit 1"));
Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("check_Num", checkLog.getId())); Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("check_Num", checkLog.getId()));
checkLog.setCount(count); checkLog.setCount(count);
stock.setCount(count); stock.setCount(count);
if(flag && checkLog.getWmsCount()==count&& checkLog.getWmsCategory().equals(checkLog.getCategory())){ if (flag && checkLog.getWmsCount() == count && checkLog.getWmsCategory().equals(checkLog.getCategory())) {
checkLog.setStatus(StockStatus.SUCCESS.getStatus()); checkLog.setStatus(StockStatus.SUCCESS.getStatus());
stock.setStatus(StockStatus.SUCCESS.getStatus()); stock.setStatus(StockStatus.SUCCESS.getStatus());
}else { } else {
checkLog.setStatus(StockStatus.COUNT_ERROR.getStatus()); checkLog.setStatus(StockStatus.COUNT_ERROR.getStatus());
stock.setStatus(StockStatus.COUNT_ERROR.getStatus()); stock.setStatus(StockStatus.COUNT_ERROR.getStatus());
} }
stock.setEndTime( LocalDateTime.now()); stock.setEndTime(LocalDateTime.now());
checkLog.setEndTime(stock.getEndTime());
checkLogMapper.updateById(checkLog); checkLogMapper.updateById(checkLog);
stockMapper.updateById(stock); stockMapper.updateById(stock);
return checkLog.getStatus()>2?1:0; return checkLog.getStatus() > 2 ? 1 : 0;
} }
public static String join(String[] array, String separator) { public static String join(String[] array, String separator) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
for (int i = 0; i < array.length; i++) { for (int i = 0; i < array.length; i++) {
@ -946,7 +946,7 @@ public class PlcService {
public KsecInfo getKsecDataInfo(TransmissionPojo transmissionPojo, String type) { public KsecInfo getKsecDataInfo(TransmissionPojo transmissionPojo, String type) {
KsecDataInfo ksecDataInfo = new KsecDataInfo(); KsecDataInfo ksecDataInfo = new KsecDataInfo();
CheckLog checkLog = checkLogMapper.selectById(transmissionPojo.getCheckId()); CheckLog checkLog = checkLogMapper.selectById(transmissionPojo.getCheckId());
if(checkLog!=null) { if (checkLog != null) {
ksecDataInfo.setLotnum(checkLog.getLotnum()); ksecDataInfo.setLotnum(checkLog.getLotnum());
ksecDataInfo.setSRMNumber(transmissionPojo.getStreetNumber()); ksecDataInfo.setSRMNumber(transmissionPojo.getStreetNumber());
ksecDataInfo.setCmdName(type); ksecDataInfo.setCmdName(type);
@ -960,7 +960,6 @@ public class PlcService {
ksecDataInfo.setLotnum(checkLog.getLotnum()); ksecDataInfo.setLotnum(checkLog.getLotnum());
} }
KsecInfo ksecInfo = new KsecInfo("KC", "E", ksecDataInfo); KsecInfo ksecInfo = new KsecInfo("KC", "E", ksecDataInfo);

@ -66,24 +66,23 @@ public class StockService {
// Map<String, List<Stock>> shelveMap = stocks.stream().collect(Collectors.groupingBy(Stock::getShelveId)); // Map<String, List<Stock>> shelveMap = stocks.stream().collect(Collectors.groupingBy(Stock::getShelveId));
// return shelveMap; // return shelveMap;
// } // }
public List<Stock> list(Integer streetId) { public List<Stock> list(Integer streetId) {
Street street = streetService.streetById(streetId); Street street = streetService.streetById(streetId);
if(street == null){ if (street == null) {
return new ArrayList<>(); return new ArrayList<>();
} }
//List<String> shelves = streetService.check(street); //List<String> shelves = streetService.check(street);
List<Stock> stocks = stockMapper.selectList(new QueryWrapper<Stock>().eq("street_id",streetId).orderByAsc("street_id", "`row`", "`column`")); List<Stock> stocks = stockMapper.selectList(new QueryWrapper<Stock>().eq("street_id", streetId).orderByAsc("street_id", "`row`", "`column`"));
return stocks; return stocks;
} }
public PageInfo<Stock> page(PageSearch pageSearch) { public PageInfo<Stock> page(PageSearch pageSearch) {
PageHelper.startPage(pageSearch.getPageNum(), pageSearch.getPageSize()); PageHelper.startPage(pageSearch.getPageNum(), pageSearch.getPageSize());
List<Stock> stocks = stockMapper.selectList(new QueryWrapper<Stock>().orderByAsc( "`row`", "`column`")); List<Stock> stocks = stockMapper.selectList(new QueryWrapper<Stock>().orderByAsc("`row`", "`column`"));
return new PageInfo<>(stocks); return new PageInfo<>(stocks);
} }
public CheckStatus statusByRowColumn(RowColumnStatus rowColumnStatus){ public CheckStatus statusByRowColumn(RowColumnStatus rowColumnStatus) {
CheckStatus checkStatus = new CheckStatus(); CheckStatus checkStatus = new CheckStatus();
checkStatus.setColumnStart(rowColumnStatus.getColumnStart()); checkStatus.setColumnStart(rowColumnStatus.getColumnStart());
checkStatus.setColumnEnd(rowColumnStatus.getColumnEnd()); checkStatus.setColumnEnd(rowColumnStatus.getColumnEnd());
@ -92,68 +91,70 @@ public class StockService {
//checkStatus.setShelveId(rowColumnStatus.getShelveId()); //checkStatus.setShelveId(rowColumnStatus.getShelveId());
List<Stock>stockList = new ArrayList<>(); List<Stock> stockList = new ArrayList<>();
//默认全部盘点正确 //默认全部盘点正确
Map<String,Integer> rowTabStatus = new LinkedHashMap<>(); Map<String, Integer> rowTabStatus = new LinkedHashMap<>();
int columns = 0; int columns = 0;
int rows = 0; int rows = 0;
for(String rowTab: rowColumnStatus.getRowTabs()){ for (String rowTab : rowColumnStatus.getRowTabs()) {
rows = getMax(rowTab,rows); rows = getMax(rowTab, rows);
rowTabStatus.put(rowTab,0); rowTabStatus.put(rowTab, 0);
} }
Map<String,Integer> columnTabStatus = new LinkedHashMap<>(); Map<String, Integer> columnTabStatus = new LinkedHashMap<>();
for(String column:rowColumnStatus.getColumnTabs()){ for (String column : rowColumnStatus.getColumnTabs()) {
columns = getMax(column,columns); columns = getMax(column, columns);
columnTabStatus.put(column,0); columnTabStatus.put(column, 0);
} }
Map<String,Integer> columnTabCorrectCount = new LinkedHashMap<>(); Map<String, Integer> columnTabCorrectCount = new LinkedHashMap<>();
Map<String,Integer> rowTabCorrectCount = new LinkedHashMap<>(); Map<String, Integer> rowTabCorrectCount = new LinkedHashMap<>();
List<Stock> stocks = stockMapper.selectList(new QueryWrapper<Stock>() List<Stock> stocks = stockMapper.selectList(new QueryWrapper<Stock>()
.select("status","`row`","`column`") .select("status", "`row`", "`column`")
.eq("`street_id`",rowColumnStatus.getStreetId()) .eq("`street_id`", rowColumnStatus.getStreetId())
.eq("direction",rowColumnStatus.getDirection()) .eq("direction", rowColumnStatus.getDirection())
.eq("side",rowColumnStatus.getSide())); .eq("side", rowColumnStatus.getSide())
if(CollectionUtils.isEmpty(stocks)){ .ge(rowColumnStatus.getStartTimestamp() != null, "export_Time", rowColumnStatus.getStartTimestamp())
stockInit(rowColumnStatus.getRowStart(), rowColumnStatus.getRowEnd(), rowColumnStatus.getColumnStart(), rowColumnStatus.getColumnEnd(), null,stocks); .le(rowColumnStatus.getEndTimestamp() != null, "export_Time", rowColumnStatus.getEndTimestamp()));
if (CollectionUtils.isEmpty(stocks)) {
stockInit(rowColumnStatus.getRowStart(), rowColumnStatus.getRowEnd(), rowColumnStatus.getColumnStart(), rowColumnStatus.getColumnEnd(), null, stocks);
checkStatus.setStocks(stocks); checkStatus.setStocks(stocks);
checkStatus.setRowTabStatus(rowTabStatus); checkStatus.setRowTabStatus(rowTabStatus);
checkStatus.setColumnTabStatus(columnTabStatus); checkStatus.setColumnTabStatus(columnTabStatus);
return checkStatus; return checkStatus;
} }
for(Stock stock: stocks){ for (Stock stock : stocks) {
if(stock.getStatus() == null){ if (stock.getStatus() == null) {
continue; continue;
} }
if(stock.getColumn()>= rowColumnStatus.getColumnStart() && stock.getColumn()<= rowColumnStatus.getColumnEnd() && stock.getRow() >= rowColumnStatus.getRowStart() && stock.getRow()<= rowColumnStatus.getRowEnd()){ if (stock.getColumn() >= rowColumnStatus.getColumnStart() && stock.getColumn() <= rowColumnStatus.getColumnEnd() && stock.getRow() >= rowColumnStatus.getRowStart() && stock.getRow() <= rowColumnStatus.getRowEnd()) {
stockList.add(stock); stockList.add(stock);
} }
if(!CollectionUtils.isEmpty(rowColumnStatus.getRowTabs())){ if (!CollectionUtils.isEmpty(rowColumnStatus.getRowTabs())) {
for(String rowTab: rowColumnStatus.getRowTabs()){ for (String rowTab : rowColumnStatus.getRowTabs()) {
if(isRowColumnInTab(stock,rowTab,true)){ if (isRowColumnInTab(stock, rowTab, true)) {
tabStatus(stock,rowTabStatus,rowTab); tabStatus(stock, rowTabStatus, rowTab);
//盘点正确 //盘点正确
if(stock.getStatus() != 0 && stock.getStatus() != 1){ if (stock.getStatus() != 0 && stock.getStatus() != 1) {
if(rowTabCorrectCount.get(rowTab) == null){ if (rowTabCorrectCount.get(rowTab) == null) {
rowTabCorrectCount.put(rowTab,1); rowTabCorrectCount.put(rowTab, 1);
}else { } else {
int c = rowTabCorrectCount.get(rowTab); int c = rowTabCorrectCount.get(rowTab);
rowTabCorrectCount.put(rowTab,c+1); rowTabCorrectCount.put(rowTab, c + 1);
} }
} }
} }
} }
} }
if(!CollectionUtils.isEmpty(rowColumnStatus.getColumnTabs())){ if (!CollectionUtils.isEmpty(rowColumnStatus.getColumnTabs())) {
for(String columnTab: rowColumnStatus.getColumnTabs()){ for (String columnTab : rowColumnStatus.getColumnTabs()) {
if(isRowColumnInTab(stock,columnTab,false)){ if (isRowColumnInTab(stock, columnTab, false)) {
tabStatus(stock,columnTabStatus,columnTab); tabStatus(stock, columnTabStatus, columnTab);
if(stock.getStatus() != 0 && stock.getStatus() != 1){ if (stock.getStatus() != 0 && stock.getStatus() != 1) {
if(columnTabCorrectCount.get(columnTab) == null){ if (columnTabCorrectCount.get(columnTab) == null) {
columnTabCorrectCount.put(columnTab,1); columnTabCorrectCount.put(columnTab, 1);
}else { } else {
int c = columnTabCorrectCount.get(columnTab); int c = columnTabCorrectCount.get(columnTab);
columnTabCorrectCount.put(columnTab,c+1); columnTabCorrectCount.put(columnTab, c + 1);
} }
} }
} }
@ -161,51 +162,51 @@ public class StockService {
} }
} }
for(Map.Entry<String,Integer> entry: rowTabCorrectCount.entrySet()){ for (Map.Entry<String, Integer> entry : rowTabCorrectCount.entrySet()) {
String [] strings = entry.getKey().split(" - "); String[] strings = entry.getKey().split(" - ");
Integer tabStart = Integer.valueOf(strings[0]); Integer tabStart = Integer.valueOf(strings[0]);
Integer tabEnd = Integer.valueOf(strings[1]); Integer tabEnd = Integer.valueOf(strings[1]);
int counts = (tabEnd- tabStart + 1) * rows; int counts = (tabEnd - tabStart + 1) * rows;
if(counts == entry.getValue()){ if (counts == entry.getValue()) {
rowTabStatus.put(entry.getKey(),2); rowTabStatus.put(entry.getKey(), 2);
} }
} }
for(Map.Entry<String,Integer> entry: columnTabCorrectCount.entrySet()){ for (Map.Entry<String, Integer> entry : columnTabCorrectCount.entrySet()) {
String [] strings = entry.getKey().split(" - "); String[] strings = entry.getKey().split(" - ");
Integer tabStart = Integer.valueOf(strings[0]); Integer tabStart = Integer.valueOf(strings[0]);
Integer tabEnd = Integer.valueOf(strings[1]); Integer tabEnd = Integer.valueOf(strings[1]);
int counts = (tabEnd- tabStart + 1) * rows; int counts = (tabEnd - tabStart + 1) * rows;
if(counts == entry.getValue()){ if (counts == entry.getValue()) {
columnTabStatus.put(entry.getKey(),2); columnTabStatus.put(entry.getKey(), 2);
} }
} }
checkStatus.setColumnTabStatus(columnTabStatus); checkStatus.setColumnTabStatus(columnTabStatus);
checkStatus.setRowTabStatus(rowTabStatus); checkStatus.setRowTabStatus(rowTabStatus);
checkStatus.setStocks(stockInit(rowColumnStatus.getRowStart(), rowColumnStatus.getRowEnd(), rowColumnStatus.getColumnStart(), rowColumnStatus.getColumnEnd(), null,stockList)); checkStatus.setStocks(stockInit(rowColumnStatus.getRowStart(), rowColumnStatus.getRowEnd(), rowColumnStatus.getColumnStart(), rowColumnStatus.getColumnEnd(), null, stockList));
return checkStatus; return checkStatus;
} }
private List<Stock> stockInit(Integer rowStart, Integer rowEnd,Integer columnStart,Integer columnEnd,String shelveId,List<Stock> readyList){ private List<Stock> stockInit(Integer rowStart, Integer rowEnd, Integer columnStart, Integer columnEnd, String shelveId, List<Stock> readyList) {
Map<Integer,Map<Integer,Boolean>> map = new HashMap<>(); Map<Integer, Map<Integer, Boolean>> map = new HashMap<>();
readyList.forEach(stock -> { readyList.forEach(stock -> {
if(map.get(stock.getRow()) == null){ if (map.get(stock.getRow()) == null) {
Map<Integer,Boolean> columnMap = new HashMap<>(); Map<Integer, Boolean> columnMap = new HashMap<>();
columnMap.put(stock.getColumn(),true); columnMap.put(stock.getColumn(), true);
map.put(stock.getRow(),columnMap); map.put(stock.getRow(), columnMap);
}else { } else {
Map<Integer,Boolean> columnMap = map.get(stock.getRow()); Map<Integer, Boolean> columnMap = map.get(stock.getRow());
if(columnMap.get(stock.getColumn()) == null){ if (columnMap.get(stock.getColumn()) == null) {
columnMap.put(stock.getColumn(),true); columnMap.put(stock.getColumn(), true);
} }
map.put(stock.getRow(),columnMap); map.put(stock.getRow(), columnMap);
} }
}); });
for(int i = rowStart;i<=rowEnd;i++){ for (int i = rowStart; i <= rowEnd; i++) {
Map<Integer,Boolean> columnMap = map.get(i); Map<Integer, Boolean> columnMap = map.get(i);
for(int j = columnStart;j<=columnEnd;j++){ for (int j = columnStart; j <= columnEnd; j++) {
if(columnMap == null || columnMap.get(j) == null){ if (columnMap == null || columnMap.get(j) == null) {
Stock stock = new Stock(); Stock stock = new Stock();
stock.setColumn(j); stock.setColumn(j);
stock.setRow(i); stock.setRow(i);
@ -224,35 +225,34 @@ public class StockService {
// 盘点异常 未盘点 盘点正确 // 盘点异常 未盘点 盘点正确
// 1000 100 10 // 1000 100 10
private void tabStatus(Stock stock,Map<String,Integer> tabStatus,String tab){ private void tabStatus(Stock stock, Map<String, Integer> tabStatus, String tab) {
if(tabStatus.get(tab) == null){ if (tabStatus.get(tab) == null) {
tabStatus.put(tab,stock.getStatus()); tabStatus.put(tab, stock.getStatus());
}else { } else {
Integer status = tabStatus.get(tab); Integer status = tabStatus.get(tab);
if(stock.getStatus() == 1){ if (stock.getStatus() == 1) {
//盘点异常为最高 //盘点异常为最高
tabStatus.put(tab,1); tabStatus.put(tab, 1);
}else if(stock.getStatus() == 0 && status != 1) { } else if (stock.getStatus() == 0 && status != 1) {
tabStatus.put(tab, 0); tabStatus.put(tab, 0);
} }
} }
} }
private Boolean isRowColumnInTab(Stock stock, String tab, Boolean isRow) {
private Boolean isRowColumnInTab(Stock stock,String tab,Boolean isRow){ String[] strings = tab.split(" - ");
String [] strings = tab.split(" - ");
Integer tabStart = Integer.valueOf(strings[0]); Integer tabStart = Integer.valueOf(strings[0]);
Integer tabEnd = Integer.valueOf(strings[1]); Integer tabEnd = Integer.valueOf(strings[1]);
if(isRow){ if (isRow) {
return stock.getRow() >= tabStart && stock.getRow() <= tabEnd; return stock.getRow() >= tabStart && stock.getRow() <= tabEnd;
}else { } else {
return stock.getColumn() >= tabStart && stock.getColumn() <= tabEnd; return stock.getColumn() >= tabStart && stock.getColumn() <= tabEnd;
} }
} }
public Integer getMax(String tab,Integer max){ public Integer getMax(String tab, Integer max) {
String [] strings = tab.split(" - "); String[] strings = tab.split(" - ");
Integer tabStart = Integer.valueOf(strings[0]); Integer tabStart = Integer.valueOf(strings[0]);
Integer tabEnd = Integer.valueOf(strings[1]); Integer tabEnd = Integer.valueOf(strings[1]);
int a = tabStart > tabEnd ? tabStart : tabEnd; int a = tabStart > tabEnd ? tabStart : tabEnd;
@ -268,7 +268,7 @@ public class StockService {
*/ */
public List<StockExportExcel> exportExcels(Integer streetId) { public List<StockExportExcel> exportExcels(Integer streetId) {
Map<String,String> map = getCategoryList(); Map<String, String> map = getCategoryList();
List<Stock> stocks = list(streetId); List<Stock> stocks = list(streetId);
Street street = streetService.streetById(streetId); Street street = streetService.streetById(streetId);
List<StockExportExcel> stockExportExcels = new ArrayList<>(stocks.size()); List<StockExportExcel> stockExportExcels = new ArrayList<>(stocks.size());
@ -277,7 +277,7 @@ public class StockService {
stockExportExcel.setCount(stock.getCount()); stockExportExcel.setCount(stock.getCount());
stockExportExcel.setLotnum(stock.getLotnum()); stockExportExcel.setLotnum(stock.getLotnum());
stockExportExcel.setColumn(stock.getColumn()); stockExportExcel.setColumn(stock.getColumn());
stockExportExcel.setCategory(getName(map,stock.getCategory())); stockExportExcel.setCategory(getName(map, stock.getCategory()));
//stockExportExcel.setCount(stock.getCount()); //stockExportExcel.setCount(stock.getCount());
stockExportExcel.setRow(stock.getRow()); stockExportExcel.setRow(stock.getRow());
stockExportExcel.setStreetName(street.getName()); stockExportExcel.setStreetName(street.getName());
@ -294,18 +294,18 @@ public class StockService {
public List<StockExportExcel> exportAllExcels() { public List<StockExportExcel> exportAllExcels() {
Map<String,String> map = getCategoryList(); Map<String, String> map = getCategoryList();
List<Stock> stocks = stockMapper.selectByMap(new HashMap<>()); List<Stock> stocks = stockMapper.selectByMap(new HashMap<>());
List<Street> streets = streetMapper.selectByMap(new HashMap<>()); List<Street> streets = streetMapper.selectByMap(new HashMap<>());
Map<Integer,String> streetMap = new HashMap<>(); Map<Integer, String> streetMap = new HashMap<>();
streets.forEach(street -> { streets.forEach(street -> {
streetMap.put(street.getId(),street.getName()); streetMap.put(street.getId(), street.getName());
}); });
//Street street = streetService.streetById(streetId); //Street street = streetService.streetById(streetId);
List<StockExportExcel> stockExportExcels = new ArrayList<>(stocks.size()); List<StockExportExcel> stockExportExcels = new ArrayList<>(stocks.size());
stocks.forEach(stock -> { stocks.forEach(stock -> {
StockExportExcel stockExportExcel = new StockExportExcel(); StockExportExcel stockExportExcel = new StockExportExcel();
stockExportExcel.setCategory(getName(map,stock.getCategory())); stockExportExcel.setCategory(getName(map, stock.getCategory()));
stockExportExcel.setCount(stock.getCount()); stockExportExcel.setCount(stock.getCount());
stockExportExcel.setLotnum(stock.getLotnum()); stockExportExcel.setLotnum(stock.getLotnum());
stockExportExcel.setColumn(stock.getColumn()); stockExportExcel.setColumn(stock.getColumn());
@ -329,39 +329,40 @@ public class StockService {
*/ */
public Stock stockInfo(StockCheck stockCheck) { public Stock stockInfo(StockCheck stockCheck) {
Map<String,String> map = getCategoryList(); Map<String, String> map = getCategoryList();
Street street = streetService.streetById(stockCheck.getStreetId()); Street street = streetService.streetById(stockCheck.getStreetId());
Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(stockCheck.getStreetId(),stockCheck.getDirection(),stockCheck.getSide(), stockCheck.getRow(), stockCheck.getColumn()); Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(stockCheck.getStreetId(), stockCheck.getDirection(), stockCheck.getSide(), stockCheck.getRow(), stockCheck.getColumn());
if(stock == null){ if (stock == null) {
stock = new Stock(); stock = new Stock();
stock.setColumn(stockCheck.getColumn()); stock.setColumn(stockCheck.getColumn());
stock.setRow(stockCheck.getRow()); stock.setRow(stockCheck.getRow());
//stock.setShelveId(stockCheck.getShelveId()); //stock.setShelveId(stockCheck.getShelveId());
stock.setStatus(0); stock.setStatus(0);
}else { } else {
stock.setWmsCategoryName(map.get(stock.getWmsCategory())); stock.setWmsCategoryName(map.get(stock.getWmsCategory()));
stock.setOveroperationPic("http://" + street.getPlcIp() + ":8007" + "/storeData/" + street.getPlcId() + "/" + stock.getRow() + "/" + stock.getColumn() + "/" + (stock.getDirection() + 2) + ".PNG"); stock.setOveroperationPic("http://" + street.getPlcIp() + ":8007" + "/storeData/" + street.getPlcId() + "/" + stock.getRow() + "/" + stock.getColumn() + "/" + (stock.getDirection() + 2) + ".PNG");
stock.setPreoperationPic("http://" + street.getPlcIp() + ":8007" + "/storeData/" + street.getPlcId() + "/" + stock.getRow() + "/" + stock.getColumn() + "/" + (stock.getDirection() ) + ".PNG"); stock.setPreoperationPic("http://" + street.getPlcIp() + ":8007" + "/storeData/" + street.getPlcId() + "/" + stock.getRow() + "/" + stock.getColumn() + "/" + (stock.getDirection()) + ".PNG");
} }
return stock; return stock;
} }
String getName(Map<String,String> map,String category){
String getName(Map<String, String> map, String category) {
String name = category; String name = category;
if (category !=null && !"".equals(category) && map.get(category) !=null){ if (category != null && !"".equals(category) && map.get(category) != null) {
name =category+"-"+ map.get(category); name = category + "-" + map.get(category);
} }
return name; return name;
} }
public Stock stock(StockCheckSearch stockCheckSearch){ public Stock stock(StockCheckSearch stockCheckSearch) {
// String shelveId = streetService.getShevelId(stockCheckSearch.getSRMNumber(),stockCheckSearch.getDirection(),stockCheckSearch.getSeparation()); // String shelveId = streetService.getShevelId(stockCheckSearch.getSRMNumber(),stockCheckSearch.getDirection(),stockCheckSearch.getSeparation());
// Assert.notNull(shelveId,"无该货架信息"); // Assert.notNull(shelveId,"无该货架信息");
Street street = streetService.getStreetByPlcId(stockCheckSearch.getSRMNumber()); Street street = streetService.getStreetByPlcId(stockCheckSearch.getSRMNumber());
Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(street.getId(),stockCheckSearch.getDirection(),1,stockCheckSearch.getRow(),stockCheckSearch.getColumn()); Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(street.getId(), stockCheckSearch.getDirection(), 1, stockCheckSearch.getRow(), stockCheckSearch.getColumn());
if(stock != null && stock.getCheckPic()!=null){ if (stock != null && stock.getCheckPic() != null) {
stock.setCheckPics(stock.getCheckPic().split(";")); stock.setCheckPics(stock.getCheckPic().split(";"));
} }
return stock; return stock;
@ -376,7 +377,7 @@ public class StockService {
public Stock checkCorrect(StockCheck stockCheck) { public Stock checkCorrect(StockCheck stockCheck) {
Stock stock = stockInfo(stockCheck); Stock stock = stockInfo(stockCheck);
Assert.isTrue(stock != null && stock.getId() != null, "该货位暂时没有记录"); Assert.isTrue(stock != null && stock.getId() != null, "该货位暂时没有记录");
log.info("check stock correct, street_id:{},direction:{},side:{},row:{},column:{}", stockCheck.getStreetId(),stockCheck.getDirection(),stockCheck.getSide(), stockCheck.getRow(), stockCheck.getColumn()); log.info("check stock correct, street_id:{},direction:{},side:{},row:{},column:{}", stockCheck.getStreetId(), stockCheck.getDirection(), stockCheck.getSide(), stockCheck.getRow(), stockCheck.getColumn());
stock.setStatus(StockStatus.MANUAL.getStatus()); stock.setStatus(StockStatus.MANUAL.getStatus());
stock.setCount(stockCheck.getCount()); stock.setCount(stockCheck.getCount());
stock.setCategory(stockCheck.getCategory()); stock.setCategory(stockCheck.getCategory());
@ -385,6 +386,7 @@ public class StockService {
checkLog(stock); checkLog(stock);
return stock; return stock;
} }
/** /**
* *
* *
@ -395,7 +397,7 @@ public class StockService {
Stock stock = stockInfo(stockCheck); Stock stock = stockInfo(stockCheck);
Assert.isTrue(stock != null && stock.getId() != null, "该货位暂时没有记录"); Assert.isTrue(stock != null && stock.getId() != null, "该货位暂时没有记录");
log.info("check stock correct, street_id:{},direction:{},side:{},row:{},column:{}", stockCheck.getStreetId(),stockCheck.getDirection(),stockCheck.getSide(), stockCheck.getRow(), stockCheck.getColumn()); log.info("check stock correct, street_id:{},direction:{},side:{},row:{},column:{}", stockCheck.getStreetId(), stockCheck.getDirection(), stockCheck.getSide(), stockCheck.getRow(), stockCheck.getColumn());
stock.setStatus(StockStatus.ERROR.getStatus()); stock.setStatus(StockStatus.ERROR.getStatus());
stockMapper.updateById(stock); stockMapper.updateById(stock);
checkLog(stock); checkLog(stock);
@ -405,9 +407,9 @@ public class StockService {
@Resource @Resource
private CheckLogMapper checkLogMapper; private CheckLogMapper checkLogMapper;
private void checkLog(Stock stock){ private void checkLog(Stock stock) {
CheckLog checkLog = checkLogMapper.selectOne(new QueryWrapper<CheckLog>() CheckLog checkLog = checkLogMapper.selectOne(new QueryWrapper<CheckLog>()
.eq("id",stock.getCheckNum()) .eq("id", stock.getCheckNum())
.last("limit 1")); .last("limit 1"));
checkLog.setRow(stock.getRow()); checkLog.setRow(stock.getRow());
checkLog.setStreetId(stock.getStreetId()); checkLog.setStreetId(stock.getStreetId());
@ -430,7 +432,7 @@ public class StockService {
* @return * @return
*/ */
public Stock checkByMan(CheckByMan checkByMan) { public Stock checkByMan(CheckByMan checkByMan) {
Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(checkByMan.getStreetId(),checkByMan.getDirection(),checkByMan.getSide(),checkByMan.getRow(),checkByMan.getColumn()); Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(checkByMan.getStreetId(), checkByMan.getDirection(), checkByMan.getSide(), checkByMan.getRow(), checkByMan.getColumn());
Assert.notNull(stock, "该货位暂时没有记录"); Assert.notNull(stock, "该货位暂时没有记录");
Boolean same = checkByMan.getCategory().equals(stock.getCategory()) && checkByMan.getCount().equals(stock.getCount()); Boolean same = checkByMan.getCategory().equals(stock.getCategory()) && checkByMan.getCount().equals(stock.getCount());
Assert.isTrue(!same, "品规和数量与原有记录相同"); Assert.isTrue(!same, "品规和数量与原有记录相同");
@ -448,31 +450,32 @@ public class StockService {
public Stock nextOne(Long id) { public Stock nextOne(Long id) {
QueryWrapper<Stock> stockQueryWrapper = new QueryWrapper<>(); QueryWrapper<Stock> stockQueryWrapper = new QueryWrapper<>();
stockQueryWrapper.eq("status","0").or().eq("status","1") stockQueryWrapper.eq("status", "0").or().eq("status", "1")
.ne(id != null,"id",id) .ne(id != null, "id", id)
.orderByDesc("export_time").last("limit 1"); .orderByDesc("export_time").last("limit 1");
Stock stock =stockMapper.selectOne(stockQueryWrapper); Stock stock = stockMapper.selectOne(stockQueryWrapper);
Order order = orderMapper.selectOne(new QueryWrapper<Order>() Order order = orderMapper.selectOne(new QueryWrapper<Order>()
.eq("street_Id",stock.getStreetId()) .eq("street_Id", stock.getStreetId())
.eq("left_right1",stock.getDirection()) .eq("left_right1", stock.getDirection())
.eq("column1",stock.getColumn()) .eq("column1", stock.getColumn())
.eq("row1",stock.getRow()) .eq("row1", stock.getRow())
.orderByDesc("into_Stock_Over_Time") .orderByDesc("into_Stock_Over_Time")
.last("limit 1")); .last("limit 1"));
if(order != null){ if (order != null) {
stock.setOveroperationPic(order.getIntoStockOverPic()); stock.setOveroperationPic(order.getIntoStockOverPic());
} }
return stock; return stock;
} }
@Resource @Resource
CategoryMapper categoryMapper; CategoryMapper categoryMapper;
public Map<String,String> getCategoryList() { public Map<String, String> getCategoryList() {
List<Category> category = categoryMapper.selectList(new QueryWrapper<Category>()); List<Category> category = categoryMapper.selectList(new QueryWrapper<Category>());
Map<String,String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
for (Category c : category) for (Category c : category)
map.put(c.getCode(),c.getName()); map.put(c.getCode(), c.getName());
return map; return map;
} }
@ -481,16 +484,16 @@ public class StockService {
} }
public Map<String,Object> overview() { public Map<String, Object> overview() {
List<Stock> list = stockMapper.selectList(new QueryWrapper<Stock>()); List<Stock> list = stockMapper.selectList(new QueryWrapper<Stock>());
Map<String,Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
final LocalDateTime[] start = {null,null}; final LocalDateTime[] start = {null, null};
if(list != null && list.size() > 0){ if (list != null && list.size() > 0) {
Map<String ,Long > statusMap = list.stream() Map<String, Long> statusMap = list.stream()
.filter(s -> s.getStatus()!=null) .filter(s -> s.getStatus() != null)
.collect(Collectors.groupingBy(s -> "type"+s.getStatus().toString(),Collectors.counting())); .collect(Collectors.groupingBy(s -> "type" + s.getStatus().toString(), Collectors.counting()));
Stock earliest = list.stream() Stock earliest = list.stream()
.min(Comparator.comparing(Stock::getExportTime)).get(); .min(Comparator.comparing(Stock::getExportTime)).get();
@ -498,48 +501,48 @@ public class StockService {
.max(Comparator.comparing(Stock::getExportTime)).get(); .max(Comparator.comparing(Stock::getExportTime)).get();
Duration maxDuration = Duration.between(earliest.getExportTime(),latest.getExportTime()); Duration maxDuration = Duration.between(earliest.getExportTime(), latest.getExportTime());
String time = ""; String time = "";
long days = maxDuration.toDays(); long days = maxDuration.toDays();
if(days > 0){ if (days > 0) {
time = days+"天"; time = days + "天";
} }
long hours = maxDuration.toHoursPart(); long hours = maxDuration.toHoursPart();
if(hours > 0){ if (hours > 0) {
time = time + hours+"小时"; time = time + hours + "小时";
} }
long minutes = maxDuration.toMinutesPart(); long minutes = maxDuration.toMinutesPart();
if(minutes > 0){ if (minutes > 0) {
time = time + minutes+"分钟"; time = time + minutes + "分钟";
} }
map.put("time",time); map.put("time", time);
for(int i = 0 ; i<4 ; i++){ for (int i = 0; i < 4; i++) {
if(!statusMap.containsKey("type"+String.valueOf(i))){ if (!statusMap.containsKey("type" + String.valueOf(i))) {
statusMap.put("type"+String.valueOf(i),0L); statusMap.put("type" + String.valueOf(i), 0L);
} }
} }
int sizeCategory = list.stream() int sizeCategory = list.stream()
.filter(s -> s.getWmsCategory()!=null) .filter(s -> s.getWmsCategory() != null)
.filter(s -> s.getStatus()!=null) .filter(s -> s.getStatus() != null)
.collect(Collectors.groupingBy(Stock::getWmsCategory)) .collect(Collectors.groupingBy(Stock::getWmsCategory))
.keySet() .keySet()
.size(); .size();
map.put("sizeCategory",sizeCategory); map.put("sizeCategory", sizeCategory);
map.put("size",String.valueOf(list.size())); map.put("size", String.valueOf(list.size()));
map.put("lotnum",list.get(0).getLotnum()); map.put("lotnum", list.get(0).getLotnum());
map.putAll(statusMap); map.putAll(statusMap);
//共盘点{}个货位,{}个品规,{}个其他货物,其中{}个盘点成功,{}个盘点异常,{}个人工盘点 //共盘点{}个货位,{}个品规,{}个其他货物,其中{}个盘点成功,{}个盘点异常,{}个人工盘点
return map; return map;
}else return null; } else return null;
} }
public void allStockCheck() { public void allStockCheck() {
List<Stock> list = stockMapper.selectList(new QueryWrapper<Stock>()); List<Stock> list = stockMapper.selectList(new QueryWrapper<Stock>());
for(Stock stock : list) { for (Stock stock : list) {
stock.setStatus(StockStatus.MANUAL.getStatus()); stock.setStatus(StockStatus.MANUAL.getStatus());
stockMapper.updateById(stock); stockMapper.updateById(stock);
stock = stockMapper.selectById(stock.getId()); stock = stockMapper.selectById(stock.getId());

Loading…
Cancel
Save