diff --git a/web/src/main/java/com/zhehekeji/web/entity/CheckLog.java b/web/src/main/java/com/zhehekeji/web/entity/CheckLog.java index 55a1ea6..e4e4613 100644 --- a/web/src/main/java/com/zhehekeji/web/entity/CheckLog.java +++ b/web/src/main/java/com/zhehekeji/web/entity/CheckLog.java @@ -35,6 +35,7 @@ public class CheckLog { private Integer count; private String wmsCategory; + private String wmsCategoryName; private Integer wmsCount; @@ -58,6 +59,8 @@ public class CheckLog { @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime endTime; @TableField(exist=false) private String streetName; diff --git a/web/src/main/java/com/zhehekeji/web/pojo/stock/RowColumnStatus.java b/web/src/main/java/com/zhehekeji/web/pojo/stock/RowColumnStatus.java index ba575f4..a735363 100644 --- a/web/src/main/java/com/zhehekeji/web/pojo/stock/RowColumnStatus.java +++ b/web/src/main/java/com/zhehekeji/web/pojo/stock/RowColumnStatus.java @@ -1,10 +1,12 @@ package com.zhehekeji.web.pojo.stock; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.NonNull; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; +import java.time.LocalDateTime; import java.util.List; @Data @@ -33,5 +35,11 @@ public class RowColumnStatus { private List 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 columnTabs; } diff --git a/web/src/main/java/com/zhehekeji/web/service/CheckLogService.java b/web/src/main/java/com/zhehekeji/web/service/CheckLogService.java index b031474..1a33b1e 100644 --- a/web/src/main/java/com/zhehekeji/web/service/CheckLogService.java +++ b/web/src/main/java/com/zhehekeji/web/service/CheckLogService.java @@ -33,7 +33,7 @@ public class CheckLogService { PageHelper.startPage(search.getPageNum(), search.getPageSize()); QueryWrapper 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()) .le(search.getEndTimestamp() != null, "create_time", search.getEndTimestamp()) .eq(search.getLeftRight() != null && search.getLeftRight() > 0, "`direction`", search.getLeftRight()) diff --git a/web/src/main/java/com/zhehekeji/web/service/PlcService.java b/web/src/main/java/com/zhehekeji/web/service/PlcService.java index dd1455c..45c4ef8 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -713,37 +713,38 @@ public class PlcService { stock.setCategory(dataInfo.getTypeNum()); stock.setCount(dataInfo.getQuantity()); stock.setWmsCategoryName(dataInfo.getCategoryName()); + checkLog.setWmsCategoryName(dataInfo.getCategoryName()); stock.setTaskId((dataInfo.getTaskId())); //默认未盘点 - if(stock.getCategory().length() == 6) { + if (stock.getCategory().length() == 6) { 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()); stock.setStatus(StockStatus.OTHER.getStatus()); } - AlgorithmPojo algorithmPojo = sendHttp(street,stock.getDirection(),dataInfo.getTypeNum()); - if (algorithmPojo!=null){ - if (algorithmPojo.getResult()){ - checkLog.setStatus(StockStatus.SUCCESS.getStatus()); - stock.setStatus(StockStatus.SUCCESS.getStatus()); - stock.setCategory(dataInfo.getTypeNum()); + AlgorithmPojo algorithmPojo = sendHttp(street, stock.getDirection(), dataInfo.getTypeNum()); + if (algorithmPojo != null) { + if (algorithmPojo.getResult()) { + checkLog.setStatus(StockStatus.SUCCESS.getStatus()); + stock.setStatus(StockStatus.SUCCESS.getStatus()); + stock.setCategory(dataInfo.getTypeNum()); - checkLog.setCategory(dataInfo.getTypeNum()); + checkLog.setCategory(dataInfo.getTypeNum()); - }else { - checkLog.setStatus(StockStatus.CATEGORY_ERROR.getStatus()); - stock.setStatus(StockStatus.CATEGORY_ERROR.getStatus()); - } + } else { + checkLog.setStatus(StockStatus.CATEGORY_ERROR.getStatus()); + stock.setStatus(StockStatus.CATEGORY_ERROR.getStatus()); + } - checkLog.setPic("http://"+street.getPlcIp()+":9007/pic/"+algorithmPojo.getDeterminePath()); - stock.setCheckPic("http://"+street.getPlcIp()+":9007/pic/"+algorithmPojo.getDeterminePath()); - }else { - checkLog.setStatus(StockStatus.CATEGORY_ERROR.getStatus()); - stock.setStatus(StockStatus.CATEGORY_ERROR.getStatus()); - } + checkLog.setPic("http://" + street.getPlcIp() + ":9007/pic/" + algorithmPojo.getDeterminePath()); + stock.setCheckPic("http://" + street.getPlcIp() + ":9007/pic/" + algorithmPojo.getDeterminePath()); + } else { + checkLog.setStatus(StockStatus.CATEGORY_ERROR.getStatus()); + stock.setStatus(StockStatus.CATEGORY_ERROR.getStatus()); + } checkLogMapper.insert(checkLog); stock.setCheckNum(checkLog.getId().toString()); @@ -753,7 +754,7 @@ public class PlcService { } else stockMapper.updateById(stock); if (algorithmPojo != null) { return algorithmPojo.getResult(); - }else { + } else { return false; } // try { @@ -788,13 +789,12 @@ public class PlcService { } - public void visualCalculationResults(TransmissionPojo transmissionPojo) { CheckLog checkLog = checkLogMapper.selectById(transmissionPojo.getCheckId()); Stock stock = stockMapper.selectOne(new QueryWrapper().eq("check_Num", checkLog.getId())); 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()); 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实例 SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); factory.setConnectTimeout(10000); // 5 seconds factory.setReadTimeout(10000); // 5 seconds RestTemplate restTemplate = new RestTemplate(factory); // 定义请求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请求并获取响应 try { - ResponseEntity response = restTemplate.getForEntity(url, AlgorithmPojo.class, street.getPlcId(),direction, category); + ResponseEntity response = restTemplate.getForEntity(url, AlgorithmPojo.class, street.getPlcId(), direction, category); // 输出响应结果 if (response.getStatusCode().is2xxSuccessful()) { 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()); return null; } - }catch (Exception e){ - log.error("sendHttp error",e); + } catch (Exception e) { + log.error("sendHttp error", e); return null; } } - public static AlgorithmPojo sendHttp(Street street,Integer direction ){ + public static AlgorithmPojo sendHttp(Street street, Integer direction) { // 创建RestTemplate实例 SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); factory.setConnectTimeout(10000); // 5 seconds @@ -857,7 +857,7 @@ public class PlcService { RestTemplate restTemplate = new RestTemplate(factory); // 定义请求URL - String url = "http://"+street.getPlcIp()+":8097/hik/calibration?direction={direction}"; + String url = "http://" + street.getPlcIp() + ":8097/hik/calibration?direction={direction}"; // 定义请求参数 // 替换为实际的category @@ -878,15 +878,15 @@ public class PlcService { return null; } - }catch (Exception e){ - log.error("sendHttp error",e); + } catch (Exception e) { + log.error("sendHttp error", e); 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); // 创建RestTemplate实例 SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); @@ -894,44 +894,44 @@ public class PlcService { factory.setReadTimeout(10000); // 5 seconds RestTemplate restTemplate = new RestTemplate(factory); // 定义 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; int count = 0; try { // 发起 GET 请求 - ResponseEntity response = restTemplate.getForEntity(url, Integer.class,streetNumber,plcCmdInfo.getCategoryName()); + ResponseEntity response = restTemplate.getForEntity(url, Integer.class, streetNumber, plcCmdInfo.getCategoryName()); count = response.getBody(); flag = true; dataInfo.setQuantity(count); - log.info("category/getBoxCountByCategory:{}",count); + log.info("category/getBoxCountByCategory:{}", count); // 输出响应状态码和响应体 System.out.println("Status Code: " + response.getStatusCode()); - }catch (Exception e){ + } catch (Exception e) { } - CheckLog checkLog = checkLogMapper.selectOne(new QueryWrapper().eq("task_id",plcCmdInfo.getTaskId()).orderByDesc("create_Time").last("limit 1")); + CheckLog checkLog = checkLogMapper.selectOne(new QueryWrapper().eq("task_id", plcCmdInfo.getTaskId()).orderByDesc("create_Time").last("limit 1")); Stock stock = stockMapper.selectOne(new QueryWrapper().eq("check_Num", checkLog.getId())); checkLog.setCount(count); stock.setCount(count); - if(flag && checkLog.getWmsCount()==count&& checkLog.getWmsCategory().equals(checkLog.getCategory())){ - checkLog.setStatus(StockStatus.SUCCESS.getStatus()); - stock.setStatus(StockStatus.SUCCESS.getStatus()); - }else { - checkLog.setStatus(StockStatus.COUNT_ERROR.getStatus()); - stock.setStatus(StockStatus.COUNT_ERROR.getStatus()); - } - stock.setEndTime( LocalDateTime.now()); + if (flag && checkLog.getWmsCount() == count && checkLog.getWmsCategory().equals(checkLog.getCategory())) { + checkLog.setStatus(StockStatus.SUCCESS.getStatus()); + stock.setStatus(StockStatus.SUCCESS.getStatus()); + } else { + checkLog.setStatus(StockStatus.COUNT_ERROR.getStatus()); + stock.setStatus(StockStatus.COUNT_ERROR.getStatus()); + } + stock.setEndTime(LocalDateTime.now()); + checkLog.setEndTime(stock.getEndTime()); checkLogMapper.updateById(checkLog); stockMapper.updateById(stock); - return checkLog.getStatus()>2?1:0; + return checkLog.getStatus() > 2 ? 1 : 0; } - public static String join(String[] array, String separator) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < array.length; i++) { @@ -946,7 +946,7 @@ public class PlcService { public KsecInfo getKsecDataInfo(TransmissionPojo transmissionPojo, String type) { KsecDataInfo ksecDataInfo = new KsecDataInfo(); CheckLog checkLog = checkLogMapper.selectById(transmissionPojo.getCheckId()); - if(checkLog!=null) { + if (checkLog != null) { ksecDataInfo.setLotnum(checkLog.getLotnum()); ksecDataInfo.setSRMNumber(transmissionPojo.getStreetNumber()); ksecDataInfo.setCmdName(type); @@ -960,7 +960,6 @@ public class PlcService { ksecDataInfo.setLotnum(checkLog.getLotnum()); - } KsecInfo ksecInfo = new KsecInfo("KC", "E", ksecDataInfo); diff --git a/web/src/main/java/com/zhehekeji/web/service/StockService.java b/web/src/main/java/com/zhehekeji/web/service/StockService.java index 68562c8..c8dee8f 100644 --- a/web/src/main/java/com/zhehekeji/web/service/StockService.java +++ b/web/src/main/java/com/zhehekeji/web/service/StockService.java @@ -66,24 +66,23 @@ public class StockService { // Map> shelveMap = stocks.stream().collect(Collectors.groupingBy(Stock::getShelveId)); // return shelveMap; // } - public List list(Integer streetId) { Street street = streetService.streetById(streetId); - if(street == null){ + if (street == null) { return new ArrayList<>(); } //List shelves = streetService.check(street); - List stocks = stockMapper.selectList(new QueryWrapper().eq("street_id",streetId).orderByAsc("street_id", "`row`", "`column`")); + List stocks = stockMapper.selectList(new QueryWrapper().eq("street_id", streetId).orderByAsc("street_id", "`row`", "`column`")); return stocks; } public PageInfo page(PageSearch pageSearch) { PageHelper.startPage(pageSearch.getPageNum(), pageSearch.getPageSize()); - List stocks = stockMapper.selectList(new QueryWrapper().orderByAsc( "`row`", "`column`")); + List stocks = stockMapper.selectList(new QueryWrapper().orderByAsc("`row`", "`column`")); return new PageInfo<>(stocks); } - public CheckStatus statusByRowColumn(RowColumnStatus rowColumnStatus){ + public CheckStatus statusByRowColumn(RowColumnStatus rowColumnStatus) { CheckStatus checkStatus = new CheckStatus(); checkStatus.setColumnStart(rowColumnStatus.getColumnStart()); checkStatus.setColumnEnd(rowColumnStatus.getColumnEnd()); @@ -92,68 +91,70 @@ public class StockService { //checkStatus.setShelveId(rowColumnStatus.getShelveId()); - ListstockList = new ArrayList<>(); + List stockList = new ArrayList<>(); //默认全部盘点正确 - Map rowTabStatus = new LinkedHashMap<>(); + Map rowTabStatus = new LinkedHashMap<>(); int columns = 0; int rows = 0; - for(String rowTab: rowColumnStatus.getRowTabs()){ - rows = getMax(rowTab,rows); - rowTabStatus.put(rowTab,0); + for (String rowTab : rowColumnStatus.getRowTabs()) { + rows = getMax(rowTab, rows); + rowTabStatus.put(rowTab, 0); } - Map columnTabStatus = new LinkedHashMap<>(); - for(String column:rowColumnStatus.getColumnTabs()){ - columns = getMax(column,columns); - columnTabStatus.put(column,0); + Map columnTabStatus = new LinkedHashMap<>(); + for (String column : rowColumnStatus.getColumnTabs()) { + columns = getMax(column, columns); + columnTabStatus.put(column, 0); } - Map columnTabCorrectCount = new LinkedHashMap<>(); - Map rowTabCorrectCount = new LinkedHashMap<>(); + Map columnTabCorrectCount = new LinkedHashMap<>(); + Map rowTabCorrectCount = new LinkedHashMap<>(); List stocks = stockMapper.selectList(new QueryWrapper() - .select("status","`row`","`column`") - .eq("`street_id`",rowColumnStatus.getStreetId()) - .eq("direction",rowColumnStatus.getDirection()) - .eq("side",rowColumnStatus.getSide())); - if(CollectionUtils.isEmpty(stocks)){ - stockInit(rowColumnStatus.getRowStart(), rowColumnStatus.getRowEnd(), rowColumnStatus.getColumnStart(), rowColumnStatus.getColumnEnd(), null,stocks); + .select("status", "`row`", "`column`") + .eq("`street_id`", rowColumnStatus.getStreetId()) + .eq("direction", rowColumnStatus.getDirection()) + .eq("side", rowColumnStatus.getSide()) + .ge(rowColumnStatus.getStartTimestamp() != null, "export_Time", rowColumnStatus.getStartTimestamp()) + .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.setRowTabStatus(rowTabStatus); checkStatus.setColumnTabStatus(columnTabStatus); return checkStatus; } - for(Stock stock: stocks){ - if(stock.getStatus() == null){ + for (Stock stock : stocks) { + if (stock.getStatus() == null) { 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); } - if(!CollectionUtils.isEmpty(rowColumnStatus.getRowTabs())){ - for(String rowTab: rowColumnStatus.getRowTabs()){ - if(isRowColumnInTab(stock,rowTab,true)){ - tabStatus(stock,rowTabStatus,rowTab); + if (!CollectionUtils.isEmpty(rowColumnStatus.getRowTabs())) { + for (String rowTab : rowColumnStatus.getRowTabs()) { + if (isRowColumnInTab(stock, rowTab, true)) { + tabStatus(stock, rowTabStatus, rowTab); //盘点正确 - if(stock.getStatus() != 0 && stock.getStatus() != 1){ - if(rowTabCorrectCount.get(rowTab) == null){ - rowTabCorrectCount.put(rowTab,1); - }else { + if (stock.getStatus() != 0 && stock.getStatus() != 1) { + if (rowTabCorrectCount.get(rowTab) == null) { + rowTabCorrectCount.put(rowTab, 1); + } else { int c = rowTabCorrectCount.get(rowTab); - rowTabCorrectCount.put(rowTab,c+1); + rowTabCorrectCount.put(rowTab, c + 1); } } } } } - if(!CollectionUtils.isEmpty(rowColumnStatus.getColumnTabs())){ - for(String columnTab: rowColumnStatus.getColumnTabs()){ - if(isRowColumnInTab(stock,columnTab,false)){ - tabStatus(stock,columnTabStatus,columnTab); - if(stock.getStatus() != 0 && stock.getStatus() != 1){ - if(columnTabCorrectCount.get(columnTab) == null){ - columnTabCorrectCount.put(columnTab,1); - }else { + if (!CollectionUtils.isEmpty(rowColumnStatus.getColumnTabs())) { + for (String columnTab : rowColumnStatus.getColumnTabs()) { + if (isRowColumnInTab(stock, columnTab, false)) { + tabStatus(stock, columnTabStatus, columnTab); + if (stock.getStatus() != 0 && stock.getStatus() != 1) { + if (columnTabCorrectCount.get(columnTab) == null) { + columnTabCorrectCount.put(columnTab, 1); + } else { 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 entry: rowTabCorrectCount.entrySet()){ - String [] strings = entry.getKey().split(" - "); + for (Map.Entry entry : rowTabCorrectCount.entrySet()) { + String[] strings = entry.getKey().split(" - "); Integer tabStart = Integer.valueOf(strings[0]); Integer tabEnd = Integer.valueOf(strings[1]); - int counts = (tabEnd- tabStart + 1) * rows; - if(counts == entry.getValue()){ - rowTabStatus.put(entry.getKey(),2); + int counts = (tabEnd - tabStart + 1) * rows; + if (counts == entry.getValue()) { + rowTabStatus.put(entry.getKey(), 2); } } - for(Map.Entry entry: columnTabCorrectCount.entrySet()){ - String [] strings = entry.getKey().split(" - "); + for (Map.Entry entry : columnTabCorrectCount.entrySet()) { + String[] strings = entry.getKey().split(" - "); Integer tabStart = Integer.valueOf(strings[0]); Integer tabEnd = Integer.valueOf(strings[1]); - int counts = (tabEnd- tabStart + 1) * rows; - if(counts == entry.getValue()){ - columnTabStatus.put(entry.getKey(),2); + int counts = (tabEnd - tabStart + 1) * rows; + if (counts == entry.getValue()) { + columnTabStatus.put(entry.getKey(), 2); } } checkStatus.setColumnTabStatus(columnTabStatus); 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; } - private List stockInit(Integer rowStart, Integer rowEnd,Integer columnStart,Integer columnEnd,String shelveId,List readyList){ - Map> map = new HashMap<>(); + private List stockInit(Integer rowStart, Integer rowEnd, Integer columnStart, Integer columnEnd, String shelveId, List readyList) { + Map> map = new HashMap<>(); readyList.forEach(stock -> { - if(map.get(stock.getRow()) == null){ - Map columnMap = new HashMap<>(); - columnMap.put(stock.getColumn(),true); - map.put(stock.getRow(),columnMap); - }else { - Map columnMap = map.get(stock.getRow()); - if(columnMap.get(stock.getColumn()) == null){ - columnMap.put(stock.getColumn(),true); + if (map.get(stock.getRow()) == null) { + Map columnMap = new HashMap<>(); + columnMap.put(stock.getColumn(), true); + map.put(stock.getRow(), columnMap); + } else { + Map columnMap = map.get(stock.getRow()); + if (columnMap.get(stock.getColumn()) == null) { + columnMap.put(stock.getColumn(), true); } - map.put(stock.getRow(),columnMap); + map.put(stock.getRow(), columnMap); } }); - for(int i = rowStart;i<=rowEnd;i++){ - Map columnMap = map.get(i); - for(int j = columnStart;j<=columnEnd;j++){ - if(columnMap == null || columnMap.get(j) == null){ + for (int i = rowStart; i <= rowEnd; i++) { + Map columnMap = map.get(i); + for (int j = columnStart; j <= columnEnd; j++) { + if (columnMap == null || columnMap.get(j) == null) { Stock stock = new Stock(); stock.setColumn(j); stock.setRow(i); @@ -224,35 +225,34 @@ public class StockService { // 盘点异常 未盘点 盘点正确 // 1000 100 10 - private void tabStatus(Stock stock,Map tabStatus,String tab){ - if(tabStatus.get(tab) == null){ - tabStatus.put(tab,stock.getStatus()); - }else { + private void tabStatus(Stock stock, Map tabStatus, String tab) { + if (tabStatus.get(tab) == null) { + tabStatus.put(tab, stock.getStatus()); + } else { Integer status = tabStatus.get(tab); - if(stock.getStatus() == 1){ + if (stock.getStatus() == 1) { //盘点异常为最高 - tabStatus.put(tab,1); - }else if(stock.getStatus() == 0 && status != 1) { + tabStatus.put(tab, 1); + } else if (stock.getStatus() == 0 && status != 1) { tabStatus.put(tab, 0); } } } - - private Boolean isRowColumnInTab(Stock stock,String tab,Boolean isRow){ - String [] strings = tab.split(" - "); + private Boolean isRowColumnInTab(Stock stock, String tab, Boolean isRow) { + String[] strings = tab.split(" - "); Integer tabStart = Integer.valueOf(strings[0]); Integer tabEnd = Integer.valueOf(strings[1]); - if(isRow){ + if (isRow) { return stock.getRow() >= tabStart && stock.getRow() <= tabEnd; - }else { + } else { return stock.getColumn() >= tabStart && stock.getColumn() <= tabEnd; } } - public Integer getMax(String tab,Integer max){ - String [] strings = tab.split(" - "); + public Integer getMax(String tab, Integer max) { + String[] strings = tab.split(" - "); Integer tabStart = Integer.valueOf(strings[0]); Integer tabEnd = Integer.valueOf(strings[1]); int a = tabStart > tabEnd ? tabStart : tabEnd; @@ -268,7 +268,7 @@ public class StockService { */ public List exportExcels(Integer streetId) { - Map map = getCategoryList(); + Map map = getCategoryList(); List stocks = list(streetId); Street street = streetService.streetById(streetId); List stockExportExcels = new ArrayList<>(stocks.size()); @@ -277,7 +277,7 @@ public class StockService { stockExportExcel.setCount(stock.getCount()); stockExportExcel.setLotnum(stock.getLotnum()); stockExportExcel.setColumn(stock.getColumn()); - stockExportExcel.setCategory(getName(map,stock.getCategory())); + stockExportExcel.setCategory(getName(map, stock.getCategory())); //stockExportExcel.setCount(stock.getCount()); stockExportExcel.setRow(stock.getRow()); stockExportExcel.setStreetName(street.getName()); @@ -294,18 +294,18 @@ public class StockService { public List exportAllExcels() { - Map map = getCategoryList(); + Map map = getCategoryList(); List stocks = stockMapper.selectByMap(new HashMap<>()); List streets = streetMapper.selectByMap(new HashMap<>()); - Map streetMap = new HashMap<>(); + Map streetMap = new HashMap<>(); streets.forEach(street -> { - streetMap.put(street.getId(),street.getName()); + streetMap.put(street.getId(), street.getName()); }); //Street street = streetService.streetById(streetId); List stockExportExcels = new ArrayList<>(stocks.size()); stocks.forEach(stock -> { StockExportExcel stockExportExcel = new StockExportExcel(); - stockExportExcel.setCategory(getName(map,stock.getCategory())); + stockExportExcel.setCategory(getName(map, stock.getCategory())); stockExportExcel.setCount(stock.getCount()); stockExportExcel.setLotnum(stock.getLotnum()); stockExportExcel.setColumn(stock.getColumn()); @@ -329,39 +329,40 @@ public class StockService { */ public Stock stockInfo(StockCheck stockCheck) { - Map map = getCategoryList(); + Map map = getCategoryList(); Street street = streetService.streetById(stockCheck.getStreetId()); - Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(stockCheck.getStreetId(),stockCheck.getDirection(),stockCheck.getSide(), stockCheck.getRow(), stockCheck.getColumn()); - if(stock == null){ + Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(stockCheck.getStreetId(), stockCheck.getDirection(), stockCheck.getSide(), stockCheck.getRow(), stockCheck.getColumn()); + if (stock == null) { stock = new Stock(); stock.setColumn(stockCheck.getColumn()); stock.setRow(stockCheck.getRow()); //stock.setShelveId(stockCheck.getShelveId()); stock.setStatus(0); - }else { + } else { stock.setWmsCategoryName(map.get(stock.getWmsCategory())); 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; } - String getName(Map map,String category){ + + String getName(Map map, String category) { String name = category; - if (category !=null && !"".equals(category) && map.get(category) !=null){ - name =category+"-"+ map.get(category); + if (category != null && !"".equals(category) && map.get(category) != null) { + name = category + "-" + map.get(category); } return name; } - public Stock stock(StockCheckSearch stockCheckSearch){ + public Stock stock(StockCheckSearch stockCheckSearch) { // String shelveId = streetService.getShevelId(stockCheckSearch.getSRMNumber(),stockCheckSearch.getDirection(),stockCheckSearch.getSeparation()); // Assert.notNull(shelveId,"无该货架信息"); Street street = streetService.getStreetByPlcId(stockCheckSearch.getSRMNumber()); - Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(street.getId(),stockCheckSearch.getDirection(),1,stockCheckSearch.getRow(),stockCheckSearch.getColumn()); - if(stock != null && stock.getCheckPic()!=null){ + Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(street.getId(), stockCheckSearch.getDirection(), 1, stockCheckSearch.getRow(), stockCheckSearch.getColumn()); + if (stock != null && stock.getCheckPic() != null) { stock.setCheckPics(stock.getCheckPic().split(";")); } return stock; @@ -376,7 +377,7 @@ public class StockService { public Stock checkCorrect(StockCheck stockCheck) { Stock stock = stockInfo(stockCheck); 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.setCount(stockCheck.getCount()); stock.setCategory(stockCheck.getCategory()); @@ -385,6 +386,7 @@ public class StockService { checkLog(stock); return stock; } + /** * 核对单子 * 核对正确 @@ -395,7 +397,7 @@ public class StockService { Stock stock = stockInfo(stockCheck); 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()); stockMapper.updateById(stock); checkLog(stock); @@ -405,9 +407,9 @@ public class StockService { @Resource private CheckLogMapper checkLogMapper; - private void checkLog(Stock stock){ + private void checkLog(Stock stock) { CheckLog checkLog = checkLogMapper.selectOne(new QueryWrapper() - .eq("id",stock.getCheckNum()) + .eq("id", stock.getCheckNum()) .last("limit 1")); checkLog.setRow(stock.getRow()); checkLog.setStreetId(stock.getStreetId()); @@ -430,7 +432,7 @@ public class StockService { * @return */ 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, "该货位暂时没有记录"); Boolean same = checkByMan.getCategory().equals(stock.getCategory()) && checkByMan.getCount().equals(stock.getCount()); Assert.isTrue(!same, "品规和数量与原有记录相同"); @@ -448,31 +450,32 @@ public class StockService { public Stock nextOne(Long id) { QueryWrapper stockQueryWrapper = new QueryWrapper<>(); - stockQueryWrapper.eq("status","0").or().eq("status","1") - .ne(id != null,"id",id) + stockQueryWrapper.eq("status", "0").or().eq("status", "1") + .ne(id != null, "id", id) .orderByDesc("export_time").last("limit 1"); - Stock stock =stockMapper.selectOne(stockQueryWrapper); + Stock stock = stockMapper.selectOne(stockQueryWrapper); Order order = orderMapper.selectOne(new QueryWrapper() - .eq("street_Id",stock.getStreetId()) - .eq("left_right1",stock.getDirection()) - .eq("column1",stock.getColumn()) - .eq("row1",stock.getRow()) + .eq("street_Id", stock.getStreetId()) + .eq("left_right1", stock.getDirection()) + .eq("column1", stock.getColumn()) + .eq("row1", stock.getRow()) .orderByDesc("into_Stock_Over_Time") .last("limit 1")); - if(order != null){ + if (order != null) { stock.setOveroperationPic(order.getIntoStockOverPic()); } return stock; } + @Resource CategoryMapper categoryMapper; - public Map getCategoryList() { + public Map getCategoryList() { List category = categoryMapper.selectList(new QueryWrapper()); - Map map = new HashMap<>(); + Map map = new HashMap<>(); for (Category c : category) - map.put(c.getCode(),c.getName()); + map.put(c.getCode(), c.getName()); return map; } @@ -481,16 +484,16 @@ public class StockService { } - public Map overview() { + public Map overview() { List list = stockMapper.selectList(new QueryWrapper()); - Map map = new HashMap<>(); - final LocalDateTime[] start = {null,null}; + Map map = new HashMap<>(); + final LocalDateTime[] start = {null, null}; - if(list != null && list.size() > 0){ - Map statusMap = list.stream() - .filter(s -> s.getStatus()!=null) - .collect(Collectors.groupingBy(s -> "type"+s.getStatus().toString(),Collectors.counting())); + if (list != null && list.size() > 0) { + Map statusMap = list.stream() + .filter(s -> s.getStatus() != null) + .collect(Collectors.groupingBy(s -> "type" + s.getStatus().toString(), Collectors.counting())); Stock earliest = list.stream() .min(Comparator.comparing(Stock::getExportTime)).get(); @@ -498,48 +501,48 @@ public class StockService { .max(Comparator.comparing(Stock::getExportTime)).get(); - Duration maxDuration = Duration.between(earliest.getExportTime(),latest.getExportTime()); + Duration maxDuration = Duration.between(earliest.getExportTime(), latest.getExportTime()); String time = ""; long days = maxDuration.toDays(); - if(days > 0){ - time = days+"天"; + if (days > 0) { + time = days + "天"; } long hours = maxDuration.toHoursPart(); - if(hours > 0){ - time = time + hours+"小时"; + if (hours > 0) { + time = time + hours + "小时"; } long minutes = maxDuration.toMinutesPart(); - if(minutes > 0){ - time = time + minutes+"分钟"; + if (minutes > 0) { + time = time + minutes + "分钟"; } - map.put("time",time); - for(int i = 0 ; i<4 ; i++){ - if(!statusMap.containsKey("type"+String.valueOf(i))){ - statusMap.put("type"+String.valueOf(i),0L); + map.put("time", time); + for (int i = 0; i < 4; i++) { + if (!statusMap.containsKey("type" + String.valueOf(i))) { + statusMap.put("type" + String.valueOf(i), 0L); } } int sizeCategory = list.stream() - .filter(s -> s.getWmsCategory()!=null) - .filter(s -> s.getStatus()!=null) + .filter(s -> s.getWmsCategory() != null) + .filter(s -> s.getStatus() != null) .collect(Collectors.groupingBy(Stock::getWmsCategory)) .keySet() .size(); - map.put("sizeCategory",sizeCategory); - map.put("size",String.valueOf(list.size())); - map.put("lotnum",list.get(0).getLotnum()); + map.put("sizeCategory", sizeCategory); + map.put("size", String.valueOf(list.size())); + map.put("lotnum", list.get(0).getLotnum()); map.putAll(statusMap); //共盘点{}个货位,{}个品规,{}个其他货物,其中{}个盘点成功,{}个盘点异常,{}个人工盘点 return map; - }else return null; + } else return null; } public void allStockCheck() { List list = stockMapper.selectList(new QueryWrapper()); - for(Stock stock : list) { + for (Stock stock : list) { stock.setStatus(StockStatus.MANUAL.getStatus()); stockMapper.updateById(stock); stock = stockMapper.selectById(stock.getId());