|
|
|
|
@ -21,6 +21,7 @@ import org.springframework.util.StringUtils;
|
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
|
import java.time.Duration;
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@ -72,7 +73,7 @@ public class StockService {
|
|
|
|
|
return new ArrayList<>();
|
|
|
|
|
}
|
|
|
|
|
//List<String> shelves = streetService.check(street);
|
|
|
|
|
List<Stock> stocks = stockMapper.selectList(new QueryWrapper<Stock>().eq("street_id",streetId).orderByAsc("shelve_id", "`row`", "`column`"));
|
|
|
|
|
List<Stock> stocks = stockMapper.selectList(new QueryWrapper<Stock>().eq("street_id",streetId).orderByAsc("street_id", "`row`", "`column`"));
|
|
|
|
|
return stocks;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -262,15 +263,17 @@ public class StockService {
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public List<StockExportExcel> exportExcels(Integer streetId) {
|
|
|
|
|
|
|
|
|
|
Map<String,String> map = getCategoryList();
|
|
|
|
|
List<Stock> stocks = list(streetId);
|
|
|
|
|
Street street = streetService.streetById(streetId);
|
|
|
|
|
List<StockExportExcel> stockExportExcels = new ArrayList<>(stocks.size());
|
|
|
|
|
stocks.forEach(stock -> {
|
|
|
|
|
StockExportExcel stockExportExcel = new StockExportExcel();
|
|
|
|
|
stockExportExcel.setCode(stock.getTrayCode());
|
|
|
|
|
stockExportExcel.setCount(stock.getCount());
|
|
|
|
|
stockExportExcel.setLotnum(stock.getLotnum());
|
|
|
|
|
stockExportExcel.setColumn(stock.getColumn());
|
|
|
|
|
stockExportExcel.setWmsCode(stock.getWmsTrayCode());
|
|
|
|
|
stockExportExcel.setCategory(getName(map,stock.getCategory()));
|
|
|
|
|
//stockExportExcel.setCount(stock.getCount());
|
|
|
|
|
stockExportExcel.setRow(stock.getRow());
|
|
|
|
|
stockExportExcel.setStreetName(street.getName());
|
|
|
|
|
@ -286,6 +289,8 @@ public class StockService {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public List<StockExportExcel> exportAllExcels() {
|
|
|
|
|
|
|
|
|
|
Map<String,String> map = getCategoryList();
|
|
|
|
|
List<Stock> stocks = stockMapper.selectByMap(new HashMap<>());
|
|
|
|
|
List<Street> streets = streetMapper.selectByMap(new HashMap<>());
|
|
|
|
|
Map<Integer,String> streetMap = new HashMap<>();
|
|
|
|
|
@ -296,7 +301,8 @@ public class StockService {
|
|
|
|
|
List<StockExportExcel> stockExportExcels = new ArrayList<>(stocks.size());
|
|
|
|
|
stocks.forEach(stock -> {
|
|
|
|
|
StockExportExcel stockExportExcel = new StockExportExcel();
|
|
|
|
|
stockExportExcel.setCode(stock.getTrayCode());
|
|
|
|
|
stockExportExcel.setCategory(getName(map,stock.getCategory()));
|
|
|
|
|
stockExportExcel.setCount(stock.getCount());
|
|
|
|
|
stockExportExcel.setLotnum(stock.getLotnum());
|
|
|
|
|
stockExportExcel.setColumn(stock.getColumn());
|
|
|
|
|
//stockExportExcel.setCount(stock.getCount());
|
|
|
|
|
@ -338,6 +344,13 @@ public class StockService {
|
|
|
|
|
}
|
|
|
|
|
return stock;
|
|
|
|
|
}
|
|
|
|
|
String getName(Map<String,String> map,String category){
|
|
|
|
|
String name = category;
|
|
|
|
|
if (category !=null && !"".equals(category) && map.get(category) !=null){
|
|
|
|
|
name =category+"-"+ map.get(category);
|
|
|
|
|
}
|
|
|
|
|
return name;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public Stock stock(StockCheckSearch stockCheckSearch){
|
|
|
|
|
// String shelveId = streetService.getShevelId(stockCheckSearch.getSRMNumber(),stockCheckSearch.getDirection(),stockCheckSearch.getSeparation());
|
|
|
|
|
@ -470,10 +483,35 @@ public class StockService {
|
|
|
|
|
public Map<String,Object> overview() {
|
|
|
|
|
List<Stock> list = stockMapper.selectList(new QueryWrapper<Stock>());
|
|
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
|
|
final LocalDateTime[] start = {null,null};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(list != null && list.size() > 0){
|
|
|
|
|
Map<String ,Long > 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();
|
|
|
|
|
|
|
|
|
|
Stock latest = list.stream()
|
|
|
|
|
.max(Comparator.comparing(Stock::getExportTime)).get();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Duration maxDuration = Duration.between(earliest.getExportTime(),latest.getExportTime());
|
|
|
|
|
String time = "";
|
|
|
|
|
long days = maxDuration.toDays();
|
|
|
|
|
if(days > 0){
|
|
|
|
|
time = days+"天";
|
|
|
|
|
}
|
|
|
|
|
long hours = maxDuration.toHoursPart();
|
|
|
|
|
if(hours > 0){
|
|
|
|
|
time = time + hours+"小时";
|
|
|
|
|
}
|
|
|
|
|
long minutes = maxDuration.toMinutesPart();
|
|
|
|
|
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);
|
|
|
|
|
@ -489,7 +527,7 @@ public class StockService {
|
|
|
|
|
|
|
|
|
|
map.put("sizeCategory",sizeCategory);
|
|
|
|
|
map.put("size",String.valueOf(list.size()));
|
|
|
|
|
map.put("lotnum",list.get(1).getLotnum());
|
|
|
|
|
map.put("lotnum",list.get(0).getLotnum());
|
|
|
|
|
map.putAll(statusMap);
|
|
|
|
|
//共盘点{}个货位,{}个品规,{}个其他货物,其中{}个盘点成功,{}个盘点异常,{}个人工盘点
|
|
|
|
|
return map;
|
|
|
|
|
@ -497,4 +535,18 @@ public class StockService {
|
|
|
|
|
}else return null;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void allStockCheck() {
|
|
|
|
|
List<Stock> list = stockMapper.selectList(new QueryWrapper<Stock>());
|
|
|
|
|
for(Stock stock : list) {
|
|
|
|
|
stock.setStatus(StockStatus.MANUAL.getStatus());
|
|
|
|
|
stockMapper.updateById(stock);
|
|
|
|
|
stock = stockMapper.selectById(stock.getId());
|
|
|
|
|
checkLog(stock);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void allStockClear() {
|
|
|
|
|
stockMapper.truncate();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|