1.下一个盘点

2.重写盘点信息
3.全部盘点接口
4.将随行带动的盘点屏蔽
chengdu-mxbc-qsl
LAPTOP-S9HJSOEB\昊天 3 years ago
parent dffb14daa7
commit 5af3a415ce

@ -67,7 +67,7 @@ public class StockController {
@PostMapping("/statusByRowColumn")
@ApiOperation(value = "行列的盘点状态")
public Result<CheckStatus>checkStatus(@Validated @RequestBody RowColumnStatus rowColumnStatus){
return Result.success(stockService.statusByRowColumn(rowColumnStatus));
return Result.success(stockService.statusByRowColumnNew(rowColumnStatus));
}
// @GetMapping("/list")
@ -113,6 +113,12 @@ public class StockController {
return Result.success(stockService.stockInfo(stockCheck));
}
@ApiOperation(value = "下一个盘点信息")
@RequestMapping(value = "/nextOne", method = RequestMethod.POST)
public Result<Stock> nextOne(@RequestBody Stock stock) {
return Result.success(stockService.nextOne(stock.getId()));
}
@ApiOperation(value = "获取盘点信息")
@RequestMapping(value = "/checkInfo", method = RequestMethod.POST)
public Result<Stock> checkInfo(@RequestBody StockCheckSearch stockCheck) {

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@ -16,6 +17,7 @@ import java.time.LocalDateTime;
@TableName("`stock`")
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class Stock {
@TableId(type = IdType.AUTO)
@ -70,6 +72,9 @@ public class Stock {
@ApiModelProperty("0:未盘点 1盘点异常 2核对正确")
private Integer status;
@TableField(exist = false)
private Integer viewStatus;
@ApiModelProperty("操作前的图片")
private String preoperationPic;
@ -82,5 +87,8 @@ public class Stock {
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private LocalDateTime exportTime;
@TableField(exist = false)
private String streetName;
}

@ -603,7 +603,29 @@ public class PlcService {
Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(orderInfo.getStreetId(),orderInfo.getLeftRight(),orderInfo.getSeparation(),orderInfo.getRow(),orderInfo.getColumn());
//核对异常
if(stock == null){
stock = new Stock(null,null,plcCmdInfo.getOrderNum(),plcCmdInfo.getLotnum(),"", null,null,wmsCode,wmsCatagary,null,wmsTrayCode,"",orderInfo.getStreetId(),orderInfo.getLeftRight(),orderInfo.getSeparation(),orderInfo.getRow(),orderInfo.getColumn(),0,null,null,path, LocalDateTime.now());
/* stock = new Stock(null,null,plcCmdInfo.getOrderNum(),plcCmdInfo.getLotnum()
,"", null,null,wmsCode,wmsCatagary,null,
wmsTrayCode,"",orderInfo.getStreetId(),
orderInfo.getLeftRight(),orderInfo.getSeparation(),
orderInfo.getRow(),orderInfo.getColumn(),0,null,null,
path, LocalDateTime.now(),null);*/
stock = Stock.builder()
.checkNum(plcCmdInfo.getOrderNum())
.lotnum(plcCmdInfo.getLotnum())
.code("")
.wmsCode(wmsCode)
.wmsCategory(wmsCatagary)
.wmsTrayCode(wmsTrayCode)
.trayCode("")
.streetId(orderInfo.getStreetId())
.direction(orderInfo.getLeftRight())
.side(orderInfo.getSeparation())
.row(orderInfo.getRow())
.column(orderInfo.getColumn())
.status(0)
.checkPic(path)
.exportTime(LocalDateTime.now())
.build();
stockMapper.insert(stock);
log.info("stockmapper insert new stock info.");
}else {

@ -97,7 +97,22 @@ public class StockCheckRunnable implements Runnable {
status = 2;
}
if(stock == null){
stock = new Stock(null,null,plcCmdInfo.getOrderNum(),plcCmdInfo.getLotnum(),scanCode, null,null,wmsCode,null,null,wmsTrayCode,trayCode,orderInfo.getStreetId(),orderInfo.getLeftRight(),orderInfo.getSeparation(),orderInfo.getRow(),orderInfo.getColumn(),status,null,null,path, LocalDateTime.now());
stock = Stock.builder()
.checkNum(plcCmdInfo.getOrderNum())
.lotnum(plcCmdInfo.getLotnum())
.code(scanCode)
.wmsCode(wmsCode)
.wmsTrayCode(wmsTrayCode)
.trayCode(trayCode)
.streetId(orderInfo.getStreetId())
.direction(orderInfo.getLeftRight())
.side(orderInfo.getSeparation())
.row(orderInfo.getRow())
.column(orderInfo.getColumn())
.status(status)
.checkPic(path)
.exportTime(LocalDateTime.now())
.build();
stockMapper.insert(stock);
}else {
stock.setStatus(status);

@ -64,25 +64,110 @@ public class StockService {
// 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){
if (street == null) {
return new ArrayList<>();
}
//List<String> shelves = streetService.check(street);
List<Stock> stocks = stockMapper.selectList(new QueryWrapper<Stock>().eq("street_id",streetId).orderByAsc("`direction`", "`side`", "`row`", "`column`"));
List<Stock> stocks = stockMapper.selectList(new QueryWrapper<Stock>().eq("street_id", streetId).orderByAsc("`direction`", "`side`", "`row`", "`column`"));
return stocks;
}
public PageInfo<Stock> page(PageSearch pageSearch) {
PageHelper.startPage(pageSearch.getPageNum(), pageSearch.getPageSize());
List<Stock> stocks = stockMapper.selectList(new QueryWrapper<Stock>().orderByAsc("`direction`", "`side`","`row`", "`column`"));
List<Stock> stocks = stockMapper.selectList(new QueryWrapper<Stock>().orderByAsc("`direction`", "`side`", "`row`", "`column`"));
return new PageInfo<>(stocks);
}
public CheckStatus statusByRowColumn(RowColumnStatus rowColumnStatus){
public CheckStatus statusByRowColumnNew(RowColumnStatus rowColumnStatus) {
CheckStatus checkStatus = new CheckStatus();
//开始和结束行列
checkStatus.setColumnStart(rowColumnStatus.getColumnStart());
checkStatus.setColumnEnd(rowColumnStatus.getColumnEnd());
checkStatus.setRowStart(rowColumnStatus.getRowStart());
checkStatus.setRowEnd(rowColumnStatus.getRowEnd());
//返回全部stock
List<Stock> stockList = new ArrayList<>();
//默认全部盘点正确
Map<String, Integer> rowTabStatus = new LinkedHashMap<>();
int columns = 0;
int rows = 0;
for (String rowTab : rowColumnStatus.getRowTabs()) {
rows = getMax(rowTab, rows);
rowTabStatus.put(rowTab, 0);
}
Map<String, Integer> columnTabStatus = new LinkedHashMap<>();
for (String column : rowColumnStatus.getColumnTabs()) {
columns = getMax(column, columns);
columnTabStatus.put(column, 0);
}
//获取全部盘点内容
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()));
Map<Integer, Map<Integer, Stock>> stocksMap = stocks.stream()
//修改盘点范围值
.peek(stock -> {
for (Map.Entry<String, Integer> entry : rowTabStatus.entrySet()) {
String[] strings = entry.getKey().split(" - ");
if (stock.getRow() >= Integer.parseInt(strings[0]) && stock.getRow() <= Integer.parseInt(strings[1])) {
//若存在则先绿3
if(entry.getValue() == 0) entry.setValue(3);
//存在异常爆红2
if (stock.getStatus() == 1 ) {
entry.setValue(2);
}else if(entry.getValue() != 2 && stock.getStatus() == 0 ){//存在不爆红且未盘点
entry.setValue(1);
}
}
}
for (Map.Entry<String, Integer> entry : columnTabStatus.entrySet()) {
String[] strings = entry.getKey().split(" - ");
if (stock.getColumn() >= Integer.parseInt(strings[0]) && stock.getColumn() <= Integer.parseInt(strings[1])) {
//若存在则先绿3
if(entry.getValue() == 0) entry.setValue(3);
//存在异常爆红2
if (stock.getStatus() == 1 ) {
entry.setValue(2);
}else if(entry.getValue() != 2 && stock.getStatus() == 0 ){//存在不爆红且未盘点黄色1
entry.setValue(1);
}
}
}
})
//若未盘点修改为-1
.peek(stock -> {
if (stock.getStatus() == 0){
stock.setViewStatus(-1);
}else stock.setViewStatus(stock.getStatus());
})
.collect(Collectors.groupingBy(Stock::getColumn, Collectors.toMap(Stock::getRow, v -> v)));
//赋值
for (int j = rowColumnStatus.getColumnStart(); j <= rowColumnStatus.getColumnEnd(); j++) {
for (int i = rowColumnStatus.getRowStart(); i <= rowColumnStatus.getRowEnd(); i++) {
if (stocksMap.get(j) == null || stocksMap.get(j).get(i) == null) {
Stock stock = new Stock();
stock.setColumn(j);
stock.setRow(i);
stock.setStatus(0);
stock.setViewStatus(0);
//stock.setShelveId(shelveId);
stockList.add(stock);
}else stockList.add(stocksMap.get(j).get(i));
}
}
checkStatus.setColumnTabStatus(columnTabStatus);
checkStatus.setRowTabStatus(rowTabStatus);
checkStatus.setStocks(stockList);
return checkStatus;
}
public CheckStatus statusByRowColumn(RowColumnStatus rowColumnStatus) {
CheckStatus checkStatus = new CheckStatus();
checkStatus.setColumnStart(rowColumnStatus.getColumnStart());
checkStatus.setColumnEnd(rowColumnStatus.getColumnEnd());
@ -91,64 +176,65 @@ public class StockService {
//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 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<String,Integer> columnTabStatus = new LinkedHashMap<>();
for(String column:rowColumnStatus.getColumnTabs()){
columns = getMax(column,columns);
columnTabStatus.put(column,0);
Map<String, Integer> columnTabStatus = new LinkedHashMap<>();
for (String column : rowColumnStatus.getColumnTabs()) {
columns = getMax(column, columns);
columnTabStatus.put(column, 0);
}
Map<String,Integer> columnTabCorrectCount = new LinkedHashMap<>();
Map<String,Integer> rowTabCorrectCount = new LinkedHashMap<>();
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(), null,stocks);
Map<String, Integer> columnTabCorrectCount = new LinkedHashMap<>();
Map<String, Integer> rowTabCorrectCount = new LinkedHashMap<>();
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(), 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);
}
}
}
@ -156,51 +242,33 @@ public class StockService {
}
}
for(Map.Entry<String,Integer> 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);
}
}
for(Map.Entry<String,Integer> 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);
}
}
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<Stock> stockInit(Integer rowStart, Integer rowEnd,Integer columnStart,Integer columnEnd,String shelveId,List<Stock> readyList){
Map<Integer,Map<Integer,Boolean>> map = new HashMap<>();
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<>();
readyList.forEach(stock -> {
if(map.get(stock.getRow()) == null){
Map<Integer,Boolean> columnMap = new HashMap<>();
columnMap.put(stock.getColumn(),true);
map.put(stock.getRow(),columnMap);
}else {
Map<Integer,Boolean> columnMap = map.get(stock.getRow());
if(columnMap.get(stock.getColumn()) == null){
columnMap.put(stock.getColumn(),true);
if (map.get(stock.getRow()) == null) {
Map<Integer, Boolean> columnMap = new HashMap<>();
columnMap.put(stock.getColumn(), true);
map.put(stock.getRow(), columnMap);
} else {
Map<Integer, Boolean> 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<Integer,Boolean> 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<Integer, Boolean> 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);
@ -219,35 +287,34 @@ public class StockService {
// 盘点异常 未盘点 盘点正确
// 1000 100 10
private void tabStatus(Stock stock,Map<String,Integer> tabStatus,String tab){
if(tabStatus.get(tab) == null){
tabStatus.put(tab,stock.getStatus());
}else {
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(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;
@ -288,9 +355,9 @@ public class StockService {
public List<StockExportExcel> exportAllExcels() {
List<Stock> stocks = stockMapper.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 -> {
streetMap.put(street.getId(),street.getName());
streetMap.put(street.getId(), street.getName());
});
//Street street = streetService.streetById(streetId);
List<StockExportExcel> stockExportExcels = new ArrayList<>(stocks.size());
@ -319,29 +386,62 @@ public class StockService {
*/
public Stock stockInfo(StockCheck stockCheck) {
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);
Street street = streetMapper.selectById(stockCheck.getStreetId());
stock.setStreetName(street.getName());
} else {
Street street = streetMapper.selectById(stock.getStreetId());
stock.setStreetName(street.getName());
}
List<StockLog> stockLogs = stockLogMapper.selectList(new QueryWrapper<StockLog>().eq("`row`",stockCheck.getRow()).eq("`column`",stockCheck.getColumn()).eq("street_id",stockCheck.getStreetId()).eq("direction",stockCheck.getDirection()).eq("side",stockCheck.getSide()).orderByDesc("create_time").last(" limit 2"));
if(stockLogs.size() == 1){
List<StockLog> stockLogs = stockLogMapper.selectList(new QueryWrapper<StockLog>().eq("`row`", stockCheck.getRow()).eq("`column`", stockCheck.getColumn()).eq("street_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){
} else if (stockLogs.size() == 2) {
stock.setOveroperationPic(stockLogs.get(0).getPic());
stock.setPreoperationPic(stockLogs.get(1).getPic());
}
return stock;
}
public Stock stock(StockCheckSearch stockCheckSearch){
public Stock nextOne(Long id) {
QueryWrapper<Stock> stockQueryWrapper = new QueryWrapper<>();
stockQueryWrapper.eq("status", "0")
.ne(id != null, "id", id)
.orderByDesc("export_time").last("limit 1");
Stock stock = stockMapper.selectOne(stockQueryWrapper);
if (stock != null) {
Street street = streetMapper.selectById(stock.getStreetId());
stock.setStreetName(street.getName());
List<StockLog> stockLogs = stockLogMapper.selectList(new QueryWrapper<StockLog>()
.eq("`row`", stock.getRow())
.eq("`column`", stock.getColumn())
.eq("street_id", stock.getStreetId())
.eq("direction", stock.getDirection())
.eq("side", stock.getSide())
.orderByDesc("create_time").last(" limit 2"));
if (stockLogs.size() == 1) {
stock.setOveroperationPic(stockLogs.get(0).getPic());
} else if (stockLogs.size() == 2) {
stock.setOveroperationPic(stockLogs.get(0).getPic());
stock.setPreoperationPic(stockLogs.get(1).getPic());
}
}
return stock;
}
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(),stockCheckSearch.getSeparation(),stockCheckSearch.getRow(),stockCheckSearch.getColumn());
Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(street.getId(), stockCheckSearch.getDirection(), stockCheckSearch.getSeparation(), stockCheckSearch.getRow(), stockCheckSearch.getColumn());
return stock;
}
@ -357,10 +457,10 @@ public class StockService {
Integer oldStatus = stock.getStatus();
//Assert.isTrue(StockStatus.ERROR.getStatus().equals(oldStatus), "无需核对");
log.info("check stock correct, street_id:{},direction:{},side:{},row:{},column:{}", stockCheck.getStreetId(),stockCheck.getDirection(),stockCheck.getSide(), stockCheck.getRow(), stockCheck.getColumn());
if(stockCheck.getOk() == 1){
log.info("check stock correct, street_id:{},direction:{},side:{},row:{},column:{}", stockCheck.getStreetId(), stockCheck.getDirection(), stockCheck.getSide(), stockCheck.getRow(), stockCheck.getColumn());
if (stockCheck.getOk() == 1) {
stock.setStatus(StockStatus.MANUAL.getStatus());
}else {
} else {
stock.setStatus(StockStatus.ERROR.getStatus());
}
@ -372,7 +472,7 @@ public class StockService {
@Resource
private CheckLogMapper checkLogMapper;
private void checkLog(Stock stock){
private void checkLog(Stock stock) {
CheckLog checkLog = new CheckLog();
checkLog.setRow(stock.getRow());
checkLog.setColumn(stock.getColumn());
@ -396,7 +496,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, "品规和数量与原有记录相同");
@ -414,7 +514,7 @@ public class StockService {
public void allStockCheck() {
Stock stock = new Stock();
stock.setStatus(3);
stockMapper.update(stock,new QueryWrapper<Stock>().eq("status","0"));
stockMapper.update(stock, new QueryWrapper<Stock>().eq("status", "0"));
}
@ -437,5 +537,4 @@ public class StockService {
// }
}

@ -174,7 +174,7 @@ public class KsecDecoder extends DelimiterBasedFrameDecoder {
// }else {
// log.info("other D code :{}",code);
// }
} else if (Cmd.E.name().equals(ksecInfo.getType())) {
} else if (Cmd.E.name().equals(ksecInfo.getType()) && !StringUtils.isEmpty(lotnum) && "1".equals(lotnum)) {
//成都蜜雪冰城 没有盘点批次号,把这一块注释 lotnum
// if(!StringUtils.isEmpty(lotnum) && !lotnum.equals(lastLotnum)){
// //需要把stock表truncate

Loading…
Cancel
Save