基础版 优化

merge-requests/3/head
qiushui 4 years ago
parent ba5178d568
commit 50850e5038

@ -6,13 +6,12 @@ import com.zhehekeji.common.util.ValidatorUtil;
import com.zhehekeji.core.pojo.Result;
import com.zhehekeji.web.entity.Stock;
import com.zhehekeji.web.pojo.category.PageSearch;
import com.zhehekeji.web.pojo.stock.CheckByMan;
import com.zhehekeji.web.pojo.stock.StockCheck;
import com.zhehekeji.web.pojo.stock.StockExportExcel;
import com.zhehekeji.web.pojo.stock.*;
import com.zhehekeji.web.service.StockService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.core.io.ClassPathResource;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -64,6 +63,12 @@ public class StockController {
}
@PostMapping("/statusByRowColumn")
@ApiOperation(value = "行列的库存状态")
public Result<CheckStatus>checkStatus(@Validated @RequestBody RowColumnStatus rowColumnStatus){
return Result.success(stockService.statusByRowColumn(rowColumnStatus));
}
@GetMapping("/list")
@ApiOperation(value = "盘点页面 返回map key:货架号 value:库存信息")
public Result<Map<String, List<Stock>>> stockByStreet(@RequestParam(required = true) Integer streetId) {

@ -36,6 +36,7 @@ public class Stock {
private Integer wmsCount;
@ApiModelProperty("货架号")
@TableField(value = "`shelve_id`")
private String shelveId;
@TableField(value = "`row`")

@ -0,0 +1,28 @@
package com.zhehekeji.web.pojo.stock;
import com.zhehekeji.web.entity.Stock;
import lombok.Data;
import java.util.List;
import java.util.Map;
@Data
public class CheckStatus {
private List<Stock> stocks;
private Integer columnStart;
private Integer columnEnd;
private Integer rowStart;
private Integer rowEnd;
private String shelveId;
private Map<String,Integer> rowTabStatus;
private Map<String,Integer> columnTabStatus;
}

@ -0,0 +1,31 @@
package com.zhehekeji.web.pojo.stock;
import lombok.Data;
import lombok.NonNull;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class RowColumnStatus {
@NotNull(message = "column is null")
private Integer columnStart;
@NotNull(message = "column is null")
private Integer columnEnd;
@NotNull(message = "row is null")
private Integer rowStart;
@NotNull(message = "row is null")
private Integer rowEnd;
@NotEmpty(message = "shelveId is empty")
private String shelveId;
private List<String> rowTabs;
private List<String> columnTabs;
}

@ -90,6 +90,90 @@ public class StockService {
}
public CheckStatus statusByRowColumn(RowColumnStatus rowColumnStatus){
CheckStatus checkStatus = new CheckStatus();
checkStatus.setColumnStart(rowColumnStatus.getColumnStart());
checkStatus.setColumnEnd(rowColumnStatus.getColumnEnd());
checkStatus.setRowStart(rowColumnStatus.getRowStart());
checkStatus.setRowEnd(rowColumnStatus.getRowEnd());
checkStatus.setShelveId(rowColumnStatus.getShelveId());
List<Stock> stocks = stockMapper.selectList(new QueryWrapper<Stock>().select("status","`row`","`column`","`shelve_id`").eq("`shelve_id`",rowColumnStatus.getShelveId()));
if(CollectionUtils.isEmpty(stocks)){
return checkStatus;
}
List<Stock>stockList = new ArrayList<>();
Map<String,Integer> rowTabStatus = new LinkedHashMap<>();
for(String rowTab: rowColumnStatus.getRowTabs()){
rowTabStatus.put(rowTab,0);
}
Map<String,Integer> columnTabStatus = new LinkedHashMap<>();
for(String column:rowColumnStatus.getColumnTabs()){
columnTabStatus.put(column,0);
}
for(Stock stock: stocks){
if(stock.getStatus() == null){
continue;
}
if(stock.getRow()>= rowColumnStatus.getColumnStart() && stock.getRow()<= rowColumnStatus.getColumnEnd() && stock.getColumn() >= rowColumnStatus.getColumnStart() && stock.getColumn()<= rowColumnStatus.getColumnEnd()){
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.getColumnTabs())){
for(String columnTab: rowColumnStatus.getColumnTabs()){
if(isRowColumnInTab(stock,columnTab,false)){
tabStatus(stock,columnTabStatus,columnTab);
}
}
}
}
checkStatus.setColumnTabStatus(columnTabStatus);
checkStatus.setRowTabStatus(rowTabStatus);
checkStatus.setStocks(stockList);
return checkStatus;
}
//0 : 未盘点 1盘点异常 2盘点正确
private void tabStatus(Stock stock,Map<String,Integer> tabStatus,String tab){
if(tabStatus.get(tab) == null){
tabStatus.put(tab,stock.getStatus());
}else {
Integer status = tabStatus.get(tab);
if(status == 1 || stock.getStatus() == 1){
//盘点异常为最高
tabStatus.put(tab,1);
}else if(status == 0 || stock.getStatus() == 0) {
tabStatus.put(tab, 0);
}else if(status == 2 || stock.getStatus() == 2){
tabStatus.put(tab,2);
}
}
}
public static void main(String[] args) {
Map<String,Integer> ss = new HashMap<>();
}
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){
return stock.getRow() >= tabStart && stock.getRow() <= tabEnd;
}else {
return stock.getColumn() >= tabStart && stock.getColumn() <= tabEnd;
}
}
/**
*
*

@ -127,8 +127,8 @@ public class StreetService {
@Caching(
evict = {
@CacheEvict(key="#street.id"),
@CacheEvict(key="#street.plcId"),
@CacheEvict(value = "street",key="#street.id"),
@CacheEvict(value = "streetByPlcId",key="#street.plcId"),
}
)
public void edit(Street street) {

@ -45,7 +45,7 @@ ksec:
port: 3000
# ------------ 实时视频流 全部页面的格式 行列数量
videoStyleConfig:
videoStyleRow: 2
videoStyleRow: 1
videoStyleColumn: 2
# ------------球机m3u8默认地址 %d是球机数据库id如果数据库没有就使用此默认值
mediaServer: http://127.0.0.1:9080/hls/camera%d.m3u8

Loading…
Cancel
Save