@ -46,11 +46,11 @@ public class StockService {
public void importExcel ( MultipartFile file ) {
log . info ( "import excel stock" ) ;
try {
EasyExcel . read ( file . getInputStream ( ) , StockExcel . class , new StockImport ( stockMapper ) ) . sheet ( ) . doRead ( ) ;
} catch ( Exception e ) {
Assert . isTrue ( false , "导入出错" ) ;
}
// try {
// EasyExcel.read(file.getInputStream(), StockExcel.class, new StockImport(stockMapper)).sheet().doRead();
// }catch (Exception e){
// Assert.isTrue(false,"导入出错");
// }
}
/ * *
@ -59,19 +59,19 @@ public class StockService {
* @param streetId
* @return
* /
public Map < String , List < Stock > > stocksByStreetId ( Integer streetId ) {
List < Stock > stocks = list ( streetId ) ;
Map < String , List < Stock > > shelveMap = stocks . stream ( ) . collect ( Collectors . groupingBy ( Stock : : getShelveId ) ) ;
return shelveMap ;
}
// public Map<String, List<Stock>> stocksByStreetId(Integer streetId) {
// List<Stock> stocks = list(streetId);
// Map<String, List<Stock>> shelveMap = stocks.stream().collect(Collectors.groupingBy(Stock::getShelveId));
// return shelveMap;
// }
public List < Stock > list ( Integer streetId ) {
Street street = streetService . streetById ( streetId ) ;
if ( street = = null ) {
return new ArrayList < > ( ) ;
}
List < String > shelves = streetService . check ( street ) ;
List < Stock > stocks = stockMapper . selectList ( new QueryWrapper < Stock > ( ) . in( "shelve_id" , shelves ) . orderByAsc ( "shelve_id" , "`row`" , "`column`" ) ) ;
//List<String> shelves = streetService.check(street);
List < Stock > stocks = stockMapper . selectList ( new QueryWrapper < Stock > ( ) . eq( "street_id" , streetId ) . orderByAsc ( "shelve_id" , "`row`" , "`column`" ) ) ;
return stocks ;
}
@ -88,7 +88,7 @@ public class StockService {
checkStatus . setColumnEnd ( rowColumnStatus . getColumnEnd ( ) ) ;
checkStatus . setRowStart ( rowColumnStatus . getRowStart ( ) ) ;
checkStatus . setRowEnd ( rowColumnStatus . getRowEnd ( ) ) ;
checkStatus . setShelveId ( rowColumnStatus . getShelveId ( ) ) ;
//checkStatus.setShelveId(rowColumnStatus.getShelveId());
List < Stock > stockList = new ArrayList < > ( ) ;
@ -107,9 +107,9 @@ public class StockService {
}
Map < String , Integer > columnTabCorrectCount = new LinkedHashMap < > ( ) ;
Map < String , Integer > rowTabCorrectCount = new LinkedHashMap < > ( ) ;
List < Stock > stocks = stockMapper . selectList ( new QueryWrapper < Stock > ( ) . select ( "status" , "`row`" , "`column`" ,"`shelve_id`" ) . eq ( "`shelve_id`" , rowColumnStatus . getShelveId ( ) ) ) ;
List < Stock > stocks = stockMapper . selectList ( new QueryWrapper < Stock > ( ) . 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 ( ) , rowColumnStatus . getShelveId ( ) , stocks ) ;
stockInit ( rowColumnStatus . getRowStart ( ) , rowColumnStatus . getRowEnd ( ) , rowColumnStatus . getColumnStart ( ) , rowColumnStatus . getColumnEnd ( ) , null , stocks ) ;
checkStatus . setStocks ( stocks ) ;
checkStatus . setRowTabStatus ( rowTabStatus ) ;
checkStatus . setColumnTabStatus ( columnTabStatus ) ;
@ -177,7 +177,7 @@ public class StockService {
checkStatus . setColumnTabStatus ( columnTabStatus ) ;
checkStatus . setRowTabStatus ( rowTabStatus ) ;
checkStatus . setStocks ( stockInit ( rowColumnStatus . getRowStart ( ) , rowColumnStatus . getRowEnd ( ) , rowColumnStatus . getColumnStart ( ) , rowColumnStatus . getColumnEnd ( ) , rowColumnStatus . getShelveId ( ) , stockList ) ) ;
checkStatus . setStocks ( stockInit ( rowColumnStatus . getRowStart ( ) , rowColumnStatus . getRowEnd ( ) , rowColumnStatus . getColumnStart ( ) , rowColumnStatus . getColumnEnd ( ) , null , stockList ) ) ;
return checkStatus ;
}
@ -205,7 +205,7 @@ public class StockService {
stock . setColumn ( j ) ;
stock . setRow ( i ) ;
stock . setStatus ( 0 ) ;
stock . setShelveId ( shelveId ) ;
//stock.setShelveId(shelveId);
readyList . add ( stock ) ;
}
}
@ -275,7 +275,9 @@ public class StockService {
stockExportExcel . setRow ( stock . getRow ( ) ) ;
stockExportExcel . setStreetName ( street . getName ( ) ) ;
stockExportExcel . setExportTime ( stock . getExportTime ( ) ) ;
stockExportExcel . setShelveId ( stock . getShelveId ( ) ) ;
stockExportExcel . setDirection ( stock . getDirection ( ) ) ;
stockExportExcel . setSide ( stock . getSide ( ) ) ;
//stockExportExcel.setShelveId(stock.getShelveId());
stockExportExcel . setStatus ( stock . getStatus ( ) ) ;
stockExportExcels . add ( stockExportExcel ) ;
} ) ;
@ -286,10 +288,9 @@ public class StockService {
public List < StockExportExcel > exportAllExcels ( ) {
List < Stock > stocks = stockMapper . selectByMap ( new HashMap < > ( ) ) ;
List < Street > streets = streetMapper . selectByMap ( new HashMap < > ( ) ) ;
Map < String, List < String > > shevleMaps = new HashMap < > ( ) ;
Map < Integer, String > streetMap = new HashMap < > ( ) ;
streets . forEach ( street - > {
List < String > shelveIds = streetService . check ( street ) ;
shevleMaps . put ( street . getName ( ) , shelveIds ) ;
streetMap . put ( street . getId ( ) , street . getName ( ) ) ;
} ) ;
//Street street = streetService.streetById(streetId);
List < StockExportExcel > stockExportExcels = new ArrayList < > ( stocks . size ( ) ) ;
@ -300,13 +301,10 @@ public class StockService {
stockExportExcel . setColumn ( stock . getColumn ( ) ) ;
//stockExportExcel.setCount(stock.getCount());
stockExportExcel . setRow ( stock . getRow ( ) ) ;
shevleMaps . forEach ( ( k , v ) - > {
if ( v . contains ( stock . getShelveId ( ) ) ) {
stockExportExcel . setStreetName ( k ) ;
}
} ) ;
stockExportExcel . setStreetName ( streetMap . get ( stock . getStreetId ( ) ) ) ;
stockExportExcel . setExportTime ( stock . getExportTime ( ) ) ;
stockExportExcel . setShelveId ( stock . getShelveId ( ) ) ;
stockExportExcel . setDirection ( stock . getDirection ( ) ) ;
stockExportExcel . setSide ( stock . getSide ( ) ) ;
stockExportExcel . setStatus ( stock . getStatus ( ) ) ;
stockExportExcels . add ( stockExportExcel ) ;
} ) ;
@ -321,15 +319,15 @@ public class StockService {
* /
public Stock stockInfo ( StockCheck stockCheck ) {
Stock stock = stockMapper . getByS helveIdAndRowColumn( stockCheck . getShelveId ( ) , stockCheck . getRow ( ) , stockCheck . getColumn ( ) ) ;
Stock stock = stockMapper . getByS treetAndDirectionAndSideAndRowColumn( 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.setShelveId(stockCheck.getShelveId());
stock . setStatus ( 0 ) ;
}
List < StockLog > stockLogs = stockLogMapper . selectList ( new QueryWrapper < StockLog > ( ) . eq ( "`row`" , stockCheck . getRow ( ) ) . eq ( "`column`" , stockCheck . getColumn ( ) ) . eq ( "s helve_id", stockCheck . getShelveId ( ) ) . orderByDesc ( "create_time" ) . last ( " limit 2" ) ) ;
List < StockLog > stockLogs = stockLogMapper . selectList ( new QueryWrapper < StockLog > ( ) . eq ( "`row`" , stockCheck . getRow ( ) ) . eq ( "`column`" , stockCheck . getColumn ( ) ) . eq ( "s treet_id", stockCheck . getStreetId ( ) ) . eq ( "direction" , stockCheck . getDirection ( ) ) . eq ( "side" , stockCheck . getSide ( ) ) . orderByDesc ( "create_time" ) . last ( " limit 2" ) ) ;
if ( stockLogs . size ( ) = = 1 ) {
stock . setOveroperationPic ( stockLogs . get ( 0 ) . getPic ( ) ) ;
} else if ( stockLogs . size ( ) = = 2 ) {
@ -340,9 +338,10 @@ public class StockService {
}
public Stock stock ( StockCheckSearch stockCheckSearch ) {
String shelveId = streetService . getShevelId ( stockCheckSearch . getSRMNumber ( ) , stockCheckSearch . getDirection ( ) , stockCheckSearch . getSeparation ( ) ) ;
Assert . notNull ( shelveId , "无该货架信息" ) ;
Stock stock = stockMapper . getByShelveIdAndRowColumn ( shelveId , stockCheckSearch . getRow ( ) , stockCheckSearch . getColumn ( ) ) ;
// 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 ( ) , stockCheckSearch . getSeparation ( ) , stockCheckSearch . getRow ( ) , stockCheckSearch . getColumn ( ) ) ;
return stock ;
}
@ -358,7 +357,7 @@ public class StockService {
Integer oldStatus = stock . getStatus ( ) ;
Assert . isTrue ( StockStatus . ERROR . getStatus ( ) . equals ( oldStatus ) , "无需核对" ) ;
log . info ( "check stock correct, s helveID:{},row:{},column:{}", stockCheck . getShelveId ( ) , stockCheck . getRow ( ) , stockCheck . getColumn ( ) ) ;
log . info ( "check stock correct, s treet_id:{},direction:{},side:{},row:{},column:{}", stockCheck . getStreetId ( ) , stockCheck . getDirection ( ) , stockCheck . getSide ( ) , stockCheck . getRow ( ) , stockCheck . getColumn ( ) ) ;
stock . setStatus ( StockStatus . MANUAL . getStatus ( ) ) ;
stockMapper . updateById ( stock ) ;
checkLog ( stock ) ;
@ -374,7 +373,7 @@ public class StockService {
checkLog . setColumn ( stock . getColumn ( ) ) ;
checkLog . setCheckNum ( stock . getCheckNum ( ) ) ;
checkLog . setPic ( stock . getCheckPic ( ) ) ;
checkLog . setShelveId ( stock . getShelveId ( ) ) ;
//checkLog.setShelveId(stock.getShelveId());
checkLog . setStatus ( stock . getStatus ( ) ) ;
checkLog . setCode ( stock . getCode ( ) ) ;
checkLog . setCreateTime ( LocalDateTime . now ( ) ) ;
@ -388,7 +387,7 @@ public class StockService {
* @return
* /
public Stock checkByMan ( CheckByMan checkByMan ) {
Stock stock = stockMapper . getByS helveIdAndRowColumn( checkByMan . getShelveId ( ) , checkByMan . getRow ( ) , checkByMan . getColumn ( ) ) ;
Stock stock = stockMapper . getByS treetAndDirectionAndSideAndRowColumn( 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 , "品规和数量与原有记录相同" ) ;
@ -403,23 +402,23 @@ public class StockService {
return stock ;
}
public void init ( String shelveId , Integer row , Integer column ) {
Map < String , Object > map = new HashMap < > ( ) ;
map . put ( "shelve_id" , shelveId ) ;
stockMapper . deleteByMap ( map ) ;
for ( int i = 1 ; i < = row ; i + + ) {
List < Stock > stocks = new ArrayList < > ( column ) ;
for ( int j = 1 ; j < = column ; j + + ) {
Stock stock = new Stock ( ) ;
stock . setShelveId ( shelveId ) ;
stock . setRow ( i ) ;
stock . setColumn ( j ) ;
stock . setStatus ( 0 ) ;
stocks . add ( stock ) ;
}
stockMapper . batchInsert ( stocks ) ;
}
}
// public void init(String shelveId, Integer row, Integer column){
// Map<String,Object> map = new HashMap<>();
// map.put("shelve_id",shelveId);
// stockMapper.deleteByMap(map);
// for(int i = 1;i<=row;i++){
// List<Stock> stocks = new ArrayList<>(column);
// for(int j = 1;j<=column;j++){
// Stock stock = new Stock();
// stock.setShelveId(shelveId);
// stock.setRow(i);
// stock.setColumn(j);
// stock.setStatus(0);
// stocks.add(stock);
// }
// stockMapper.batchInsert(stocks);
// }
// }