Merge branch 'feature/shelve' into 'master'

去掉货架号

See merge request duoji/backend-duoji-monitor!7
shandong-hongrunshihua
wang.yiming 4 years ago
commit f5ae3d9505

@ -66,16 +66,16 @@ public class StockController {
}
@PostMapping("/statusByRowColumn")
@ApiOperation(value = "行列的库存状态")
@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) {
return Result.success(stockService.stocksByStreetId(streetId));
}
// @GetMapping("/list")
// @ApiOperation(value = "盘点页面 返回map key:货架号 value:库存信息")
// public Result<Map<String, List<Stock>>> stockByStreet(@RequestParam(required = true) Integer streetId) {
// return Result.success(stockService.stocksByStreetId(streetId));
// }
@PostMapping("/page")
@ApiOperation(value = "库存列表")

@ -15,11 +15,11 @@ public class CheckLog {
@TableId(type = IdType.AUTO)
private Long id;
private Integer userId;
private Integer streetId;
private String username;
private Integer direction;
private String shelveId;
private Integer side;
@TableField("`row`")
private Integer row;

@ -1,42 +0,0 @@
package com.zhehekeji.web.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@TableName
@Data
public class OrderLastMedia {
@TableId(type = IdType.AUTO)
private Integer id;
@TableField
private String shelveId;
@TableField("`row`")
private Integer row;
@TableField("`column`")
private Integer column;
private String lastOrderNum;
// private String lastPutOrderNum;
//
// @ApiModelProperty("入库照片")
// private String putPath;
//
// private String lastOutOrderNum;
//
// @ApiModelProperty("出库照片")
// private String outPutPath;
//
//
//
// @ApiModelProperty("货位照片")
// private String goodsPath;
}

@ -53,9 +53,11 @@ public class Stock {
@ApiModelProperty("扫描出的托盘码")
private String trayCode;
@ApiModelProperty("货架号")
@TableField(value = "`shelve_id`")
private String shelveId;
private Integer streetId;
private Integer direction;
private Integer side;
@TableField(value = "`row`")
@ApiModelProperty("行号")

@ -23,9 +23,15 @@ public class StockLog {
@ApiModelProperty("2入库4出库")
private Integer type;
@ApiModelProperty("货架号")
@TableField(value = "`shelve_id`")
private String shelveId;
// @ApiModelProperty("货架号")
// @TableField(value = "`shelve_id`")
// private String shelveId;
private Integer streetId;
private Integer direction;
private Integer side;
@TableField(value = "`row`")
@ApiModelProperty("行号")

@ -32,18 +32,6 @@ public class Street {
@ApiModelProperty("左货架行数量")
private Integer leftRow;
@ApiModelProperty("左内侧货架号-双伸")
@TableField(strategy = FieldStrategy.IGNORED)
private String leftInsideShelveId;
@ApiModelProperty("左外侧货架号-双伸")
@TableField(strategy = FieldStrategy.IGNORED)
private String leftOutsideShelveId;
@ApiModelProperty("货架号-单伸")
@TableField(strategy = FieldStrategy.IGNORED)
private String leftShelveId;
@ApiModelProperty("右货架类型 0单伸 1双伸")
private Integer rightType;
@ -53,18 +41,6 @@ public class Street {
@ApiModelProperty("右货架行数量")
private Integer rightRow;
@ApiModelProperty("右内侧货架号-双伸")
@TableField(strategy = FieldStrategy.IGNORED)
private String rightInsideShelveId;
@ApiModelProperty("右外侧货架号-双伸")
@TableField(strategy = FieldStrategy.IGNORED)
private String rightOutsideShelveId;
@ApiModelProperty("货架号-单伸")
@TableField(strategy = FieldStrategy.IGNORED)
private String rightShelveId;
@TableField(strategy = FieldStrategy.IGNORED)
private Integer camera1Id;

@ -15,7 +15,7 @@ public class OrderInfo {
private String orderNum;
private String shelveId;
private Integer streetId;
private Integer row;
@ -61,31 +61,7 @@ public class OrderInfo {
column = plcCmdInfo.getColumn2();
separation = plcCmdInfo.getSeparation2();
}
if (leftRight == 1) {
//双伸
if(street.getLeftType() == 1){
//外侧
if(separation == 2){
shelveId = street.getLeftOutsideShelveId();
}else {
shelveId = street.getLeftInsideShelveId();
}
}else {
shelveId = street.getLeftShelveId();
}
} else {
//双伸
if(street.getRightType() == 1){
//外侧
if(separation == 2){
shelveId = street.getRightOutsideShelveId();
}else {
shelveId = street.getRightInsideShelveId();
}
}else {
shelveId = street.getRightShelveId();
}
}
streetId = street.getId();
orderId = 0L;
orderNum = plcCmdInfo.getOrderNum();
code = c;

@ -1,12 +0,0 @@
package com.zhehekeji.web.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhehekeji.web.entity.OrderLastMedia;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
public interface OrderLastMediaMapper extends BaseMapper<OrderLastMedia> {
@Select("select * from order_last_media where shelve_id = #{shelveId} and `row` = #{row} and `column` = #{column} limit 1")
OrderLastMedia getOne(@Param("shelveId")String shelveId,@Param("row")Integer row,@Param("column")Integer column);
}

@ -13,8 +13,8 @@ public interface StockMapper extends BaseMapper<Stock> {
void insertOrUpdate(@Param("req") Stock stock);
@Select("select * from stock where shelve_id = #{shelveId} and `row` = #{row} and `column` = #{column} limit 1")
Stock getByShelveIdAndRowColumn(@Param("shelveId") String shelveId,@Param("row") Integer row,@Param("column") Integer column);
@Select("select * from stock where `street_id` = #{streetId} and `direction` = #{direction} and `side` = #{side} and `row` = #{row} and `column` = #{column} limit 1")
Stock getByStreetAndDirectionAndSideAndRowColumn(@Param("streetId") Integer streetId,@Param("direction") Integer direction,@Param("side") Integer side,@Param("row") Integer row,@Param("column") Integer column);
void truncate();

@ -12,9 +12,15 @@ import javax.validation.constraints.NotNull;
@Data
public class CheckByMan {
@NotEmpty(message = "货架号不能为空")
@ApiModelProperty("货架号")
private String shelveId;
private Integer streetId;
@NotNull(message = "左右不能为空")
@ApiModelProperty("左右")
private Integer direction;
@NotNull(message = "深浅不能为空")
@ApiModelProperty("深浅")
private Integer side;
@NotNull(message = "行不能为空")
@ApiModelProperty("行号")

@ -22,8 +22,14 @@ public class RowColumnStatus {
@NotNull(message = "row is null")
private Integer rowEnd;
@NotEmpty(message = "shelveId is empty")
private String shelveId;
// @NotEmpty(message = "shelveId is empty")
// private String shelveId;
private Integer streetId;
private Integer direction;
private Integer side;
private List<String> rowTabs;

@ -9,9 +9,15 @@ import javax.validation.constraints.NotNull;
@Data
public class StockCheck {
@NotEmpty(message = "货架号不能为空")
@ApiModelProperty("货架号")
private String shelveId;
// @NotEmpty(message = "货架号不能为空")
// @ApiModelProperty("货架号")
// private String shelveId;
private Integer streetId;
private Integer direction;
private Integer side;
@NotNull(message = "行不能为空")
@ApiModelProperty("行号")

@ -11,31 +11,37 @@ public class StockExportExcel {
@ExcelProperty(index = 0, value = "巷道名称")
private String streetName;
@ExcelProperty(index = 7, value = "盘点批次号")
@ExcelProperty(index = 8, value = "盘点批次号")
private String lotnum;
@ExcelProperty(index = 4, value = "条码")
@ExcelProperty(index = 5, value = "条码")
private String code;
@ExcelProperty(index = 5, value = "WMS条码")
@ExcelProperty(index = 6, value = "WMS条码")
private String wmsCode;
@ExcelProperty(index = 1, value = "货架号")
private String shelveId;
@ExcelProperty(index = 1, value = "左右,1:左侧,2:右侧")
private Integer direction;
@ExcelProperty(index = 2, value = "深浅,1:浅货位,2:深货位")
private Integer side;
// @ExcelProperty(index = 1, value = "货架号")
// private String shelveId;
// @ExcelProperty(index = 5, value = "数量")
// private Integer count;
@ExcelProperty(index = 2, value = "行")
@ExcelProperty(index = 3, value = "行")
private Integer row;
@ExcelProperty(index = 3, value = "列")
@ExcelProperty(index = 4, value = "列")
private Integer column;
@ExcelProperty(index = 6, value = "盘点结果", converter = StockStatusConvert.class)
@ExcelProperty(index = 7, value = "盘点结果", converter = StockStatusConvert.class)
private Integer status;
@ExcelProperty(index = 8, value = "时间", converter = LocalDateTimeConvert.class)
@ExcelProperty(index = 9, value = "时间", converter = LocalDateTimeConvert.class)
private LocalDateTime exportTime;
}

@ -13,5 +13,9 @@ public class StockLogSearch {
private Integer pageNum;
private String shelveId;
private Integer streetId;
private Integer direction;
private Integer side;
}

@ -4,15 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.zhehekeji.web.entity.CheckLog;
import com.zhehekeji.web.entity.Street;
import com.zhehekeji.web.mapper.CheckLogMapper;
import com.zhehekeji.web.mapper.StreetMapper;
import com.zhehekeji.web.pojo.stock.CheckLogSearch;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Service
@ -20,18 +17,8 @@ public class CheckLogService {
@Resource
private CheckLogMapper checkLogMapper;
@Resource
private StreetService streetService;
public PageInfo<CheckLog> list(CheckLogSearch search){
List<String> shelveIds = null;
if(search.getStreetId() != null){
Street street = streetService.streetById(search.getStreetId());
if(street != null){
shelveIds = streetService.getShelves(street,search.getLeftRight(),search.getSide());
}
}
PageHelper.startPage(search.getPageNum(),search.getPageSize());
QueryWrapper<CheckLog> wrapper = new QueryWrapper<>();
@ -41,8 +28,11 @@ public class CheckLogService {
if(search.getStartTimestamp() != null && search.getEndTimestamp() != null){
wrapper.ge("create_time",search.getStartTimestamp()).le("create_time",search.getEndTimestamp());
}
if(!StringUtils.isEmpty(shelveIds)){
wrapper.in("shelve_id",shelveIds);
if(search.getLeftRight() != null && search.getLeftRight() != 0){
wrapper.eq("`direction`",search.getLeftRight());
}
if(search.getSide() != null && search.getSide() != 0){
wrapper.eq("`side`",search.getSide());
}
if(search.getRow() != null && search.getRow() != 0){
wrapper.eq("`row`",search.getRow());
@ -50,7 +40,6 @@ public class CheckLogService {
if(search.getColumn() != null && search.getColumn() != 0){
wrapper.eq("`column`",search.getColumn());
}
wrapper.orderByDesc("shelve_id","`row`","`column`","id");
List<CheckLog>stockChecks = checkLogMapper.selectList(wrapper);
return new PageInfo<>(stockChecks);

@ -461,11 +461,12 @@ public class PlcService {
//update picPath in stock if code is C2/C4
if(orderInfo.getCode().startsWith("C2") || orderInfo.getCode().startsWith("C4")){
StockLog stockLog = new StockLog();
stockLog.setShelveId(orderInfo.getShelveId());
stockLog.setStreetId(orderInfo.getStreetId());
stockLog.setDirection(orderInfo.getLeftRight());
stockLog.setSide(orderInfo.getSeparation());
stockLog.setRow(orderInfo.getRow());
stockLog.setColumn(orderInfo.getColumn());
stockLog.setPic(path);
String type = orderInfo.getCode().substring(1,2);
stockLog.setType(Integer.valueOf(type));
stockLog.setOrderNum(orderInfo.getOrderNum());
@ -521,7 +522,6 @@ public class PlcService {
if (street.getCamera1Id() != null && street.getCamera2Id() != null && street.getCamera1Id() != 0 && street.getCamera2Id() != 0) {
if (leftRight == 1) {
return street.getCamera2Id();
} else {
return street.getCamera1Id();
}
@ -532,47 +532,11 @@ public class PlcService {
}else {
if (street.getCamera1Id() != null && street.getCamera2Id() != null && street.getCamera1Id() != 0 && street.getCamera2Id() != 0) {
//双伸 todo 这个因项目而异,看现场的情况
//默认是
if(plcCmdInfo.getTimes() <= 2){
//左侧
if(plcCmdInfo.getLeftRight1() == 1){
if(plcCmdInfo.getSeparation1() == 1){
//左侧 内货架 camera2
return street.getCamera2Id();
}else {
//左侧 外货架 camera1
return street.getCamera2Id();
}
}else {
if(plcCmdInfo.getSeparation1() == 1){
//右侧 内货架 camera1
return street.getCamera1Id();
}else {
//右侧 外货架 camera2
return street.getCamera1Id();
}
}
//默认是 左侧返回camera2 右侧返回camera1
if(plcCmdInfo.getLeftRight1() == 1){
return street.getCamera2Id();
}else {
//左侧
if(plcCmdInfo.getLeftRight2() == 1){
if(plcCmdInfo.getSeparation2() == 1){
//左侧 内货架 camera2
return street.getCamera2Id();
}else {
//左侧 外货架 camera1
return street.getCamera2Id();
}
}else {
if(plcCmdInfo.getSeparation2() == 1){
//右侧 内货架 camera1
return street.getCamera1Id();
}else {
//右侧 外货架 camera2
return street.getCamera1Id();
}
}
return street.getCamera1Id();
}
} else {
Integer cameraId = street.getCamera1Id() != null && street.getCamera1Id() != 0 ? street.getCamera1Id() : street.getCamera2Id();
@ -661,7 +625,7 @@ public class PlcService {
}
OrderInfo orderInfo = new OrderInfo(street,plcCmdInfo,1,cmdCode);
Stock stock = stockMapper.getByShelveIdAndRowColumn(orderInfo.getShelveId(),orderInfo.getRow(),orderInfo.getColumn());
Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(orderInfo.getStreetId(),orderInfo.getLeftRight(),orderInfo.getSeparation(),orderInfo.getRow(),orderInfo.getColumn());
String scanCode = null;
Boolean codeCheck = Boolean.TRUE;
Boolean trayCodeCheck = Boolean.TRUE;
@ -701,7 +665,7 @@ public class PlcService {
status = 2;
}
if(stock == null){
stock = new Stock(null,null,plcCmdInfo.getOrderNum(),plcCmdInfo.getLotnum(),scanCode, null,null,wmsCode,null,null,wmsTrayCode,trayCode,orderInfo.getShelveId(),orderInfo.getRow(),orderInfo.getColumn(),status,null,null,path, LocalDateTime.now());
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());
stockMapper.insert(stock);
}else {
stock.setStatus(status);
@ -728,7 +692,9 @@ public class PlcService {
CheckLog checkLog = new CheckLog();
checkLog.setCheckNum(stock.getCheckNum());
checkLog.setPic(stock.getCheckPic());
checkLog.setShelveId(stock.getShelveId());
checkLog.setStreetId(stock.getStreetId());
checkLog.setDirection(stock.getDirection());
checkLog.setSide(stock.getSide());
checkLog.setCode(stock.getCode());
checkLog.setWmsCode(stock.getWmsCode());
checkLog.setStatus(stock.getStatus());

@ -57,7 +57,7 @@ public class StockCheckRunnable implements Runnable {
@Override
public void run() {
OrderInfo orderInfo = new OrderInfo(street,plcCmdInfo,1,cmdCode);
Stock stock = stockMapper.getByShelveIdAndRowColumn(orderInfo.getShelveId(),orderInfo.getRow(),orderInfo.getColumn());
Stock stock = stockMapper.getByStreetAndDirectionAndSideAndRowColumn(orderInfo.getStreetId(),orderInfo.getLeftRight(),orderInfo.getSeparation(),orderInfo.getRow(),orderInfo.getColumn());
String scanCode = null;
Boolean codeCheck = Boolean.TRUE;
Boolean trayCodeCheck = Boolean.TRUE;
@ -97,7 +97,7 @@ 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.getShelveId(),orderInfo.getRow(),orderInfo.getColumn(),status,null,null,path, LocalDateTime.now());
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());
stockMapper.insert(stock);
}else {
stock.setStatus(status);
@ -118,7 +118,9 @@ public class StockCheckRunnable implements Runnable {
CheckLog checkLog = new CheckLog();
checkLog.setCheckNum(stock.getCheckNum());
checkLog.setPic(stock.getCheckPic());
checkLog.setShelveId(stock.getShelveId());
checkLog.setStreetId(stock.getStreetId());
checkLog.setDirection(stock.getDirection());
checkLog.setSide(stock.getSide());
checkLog.setCode(stock.getCode());
checkLog.setWmsCode(stock.getWmsCode());
checkLog.setStatus(stock.getStatus());

@ -31,10 +31,10 @@ public class StockImport extends AnalysisEventListener<StockExcel> {
stock.setExportTime(LocalDateTime.now());
stock.setStatus(0);
// shelveIds.add(stockExcel.getShelveId());
int i = stockMapper.update(stock,new UpdateWrapper<Stock>().eq("shelve_id",stock.getShelveId()).eq("`column`",stock.getColumn()).eq("`row`",stock.getRow()));
if(i == 0){
stockMapper.insert(stock);
}
//int i = stockMapper.update(stock,new UpdateWrapper<Stock>().eq("shelve_id",stock.getShelveId()).eq("`column`",stock.getColumn()).eq("`row`",stock.getRow()));
// if(i == 0){
// stockMapper.insert(stock);
// }
}
@Override

@ -21,7 +21,7 @@ public class StockLogService {
public PageInfo<StockLog> page(StockLogSearch search){
PageHelper.startPage(search.getPageNum(),search.getPageSize());
List<StockLog> stockLogs =
stockLogMapper.selectList(new QueryWrapper<StockLog>().eq("`row`",search.getRow()).eq("`column`",search.getColumn()).eq("shelve_id",search.getShelveId()).orderByDesc("create_time"));
stockLogMapper.selectList(new QueryWrapper<StockLog>().eq("`row`",search.getRow()).eq("`column`",search.getColumn()).eq("street_id",search.getStreetId()).eq("direction",search.getDirection()).eq("side",search.getSide()));
return new PageInfo<>(stockLogs);
}
}

@ -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.getByShelveIdAndRowColumn(stockCheck.getShelveId(), stockCheck.getRow(), stockCheck.getColumn());
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.setShelveId(stockCheck.getShelveId());
stock.setStatus(0);
}
List<StockLog> stockLogs = stockLogMapper.selectList(new QueryWrapper<StockLog>().eq("`row`",stockCheck.getRow()).eq("`column`",stockCheck.getColumn()).eq("shelve_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("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){
@ -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, shelveID:{},row:{},column:{}", stockCheck.getShelveId(), 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());
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.getByShelveIdAndRowColumn(checkByMan.getShelveId(), 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, "品规和数量与原有记录相同");
@ -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);
// }
// }

@ -15,7 +15,6 @@ import com.zhehekeji.web.mapper.RFIDMapper;
import com.zhehekeji.web.mapper.SensorGunMapper;
import com.zhehekeji.web.mapper.StreetMapper;
import com.zhehekeji.web.pojo.street.StreetSearch;
import com.zhehekeji.web.pojo.street.StreetType;
import com.zhehekeji.web.pojo.street.StreetVO;
import com.zhehekeji.web.service.robotic.NettyClient;
import lombok.extern.slf4j.Slf4j;
@ -69,7 +68,6 @@ public class StreetService {
public Street add(StreetVO streetVO) {
Street street = new Street();
BeanUtils.copyProperties(streetVO,street);
List<String> shelves = check(street);
street.setCreateTime(LocalDateTime.now());
street.setUpdateTime(LocalDateTime.now());
street.setVideoStyleRow(1);
@ -118,24 +116,6 @@ public class StreetService {
}
streetVO.setId(street.getId());
sensorGunConfig(streetVO,street.getId());
/*Thread thread2 = new Thread(new Runnable() {
@Override
public void run() {
if (StreetType.SINGLE.getType().equals(street.getLeftType())) {
stockService.init(street.getLeftShelveId(),street.getLeftRow(),street.getLeftColumn());
}else if(StreetType.DOUBLE.getType().equals(street.getLeftType())){
stockService.init(street.getLeftInsideShelveId(),street.getLeftRow(),street.getLeftColumn());
stockService.init(street.getLeftOutsideShelveId(),street.getLeftRow(),street.getLeftColumn());
}
if (StreetType.SINGLE.getType().equals(street.getRightType())) {
stockService.init(street.getRightShelveId(),street.getRightRow(),street.getRightColumn());
}else if (StreetType.DOUBLE.getType().equals(street.getRightType())) {
stockService.init(street.getRightInsideShelveId(),street.getRightRow(),street.getRightColumn());
stockService.init(street.getRightOutsideShelveId(),street.getRightRow(),street.getRightColumn());
}
}
});
thread2.start();*/
return street;
}
@ -175,78 +155,6 @@ public class StreetService {
return;
}
public List<String> check(Street street) {
List<String> shelves = new ArrayList<>();
if (StreetType.SINGLE.getType().equals(street.getLeftType())) {
street.setLeftInsideShelveId(null);
street.setLeftOutsideShelveId(null);
shelves.add(street.getLeftShelveId());
}
if (StreetType.SINGLE.getType().equals(street.getRightType())) {
street.setRightInsideShelveId(null);
street.setRightOutsideShelveId(null);
shelves.add(street.getRightShelveId());
}
if (StreetType.DOUBLE.getType().equals(street.getLeftType())) {
street.setLeftShelveId(null);
shelves.add(street.getLeftInsideShelveId());
shelves.add(street.getLeftOutsideShelveId());
}
if (StreetType.DOUBLE.getType().equals(street.getRightType())) {
street.setRightShelveId(null);
shelves.add(street.getRightInsideShelveId());
shelves.add(street.getRightOutsideShelveId());
}
return shelves;
}
/**
*
* @param street
* @param leftRight 1 2
* @param side 1: 2
* @return
*/
public List<String> getShelves(Street street,Integer leftRight,Integer side) {
List<String> shelves = new ArrayList<>();
if(leftRight == 1){
//左边
if (StreetType.SINGLE.getType().equals(street.getLeftType())) {
shelves.add(street.getLeftShelveId());
}else {
//双伸在看side 如果side不等于1 2则全部
if(side == 1){
shelves.add(street.getLeftInsideShelveId());
}else if(side == 2){
shelves.add(street.getLeftOutsideShelveId());
}else {
shelves.add(street.getLeftInsideShelveId());
shelves.add(street.getLeftOutsideShelveId());
}
}
}else if(leftRight == 2){
if (StreetType.SINGLE.getType().equals(street.getRightType())) {
shelves.add(street.getRightShelveId());
}else {
//双伸在看side 如果side不等于1 2则全部
if(side == 1){
shelves.add(street.getRightInsideShelveId());
}else if(side == 2){
shelves.add(street.getRightOutsideShelveId());
}else {
shelves.add(street.getRightInsideShelveId());
shelves.add(street.getRightOutsideShelveId());
}
}
}else {
//全部
return check(street);
}
return shelves;
}
@Caching(
evict = {
@CacheEvict(value = "street",key="#streetVO.id"),
@ -256,7 +164,6 @@ public class StreetService {
public void edit(StreetVO streetVO) {
Street street = new Street();
BeanUtils.copyProperties(streetVO,street);
check(street);
if(street.getCamera2Id() != null && street.getCamera2Id() != 0 && street.getCamera1Id() != null && street.getCamera1Id() != 0){
//如果两个球机 就显示2列
street.setVideoStyleColumn(2);
@ -287,26 +194,6 @@ public class StreetService {
}
sensorGunConfig(streetVO,street.getId());
RFIDConfig(streetVO,street.getId());
/*Thread thread2 = new Thread(new Runnable() {
@Override
public void run() {
if (StreetType.SINGLE.getType().equals(street.getLeftType())) {
stockService.init(street.getLeftShelveId(),street.getLeftRow(),street.getLeftColumn());
}else if(StreetType.DOUBLE.getType().equals(street.getLeftType())){
stockService.init(street.getLeftInsideShelveId(),street.getLeftRow(),street.getLeftColumn());
stockService.init(street.getLeftOutsideShelveId(),street.getLeftRow(),street.getLeftColumn());
}
if (StreetType.SINGLE.getType().equals(street.getRightType())) {
stockService.init(street.getRightShelveId(),street.getRightRow(),street.getRightColumn());
}else if (StreetType.DOUBLE.getType().equals(street.getRightType())) {
stockService.init(street.getRightInsideShelveId(),street.getRightRow(),street.getRightColumn());
stockService.init(street.getRightOutsideShelveId(),street.getRightRow(),street.getRightColumn());
}
}
});
thread2.start();*/
}
@Cacheable(value = "street",key = "#id")
@ -361,63 +248,4 @@ public class StreetService {
}
/**
*
* @param SRMNumber
* @param direction 1 2
* @param separation 1 2
* @return
*/
public String getShevelId(String SRMNumber,Integer direction,Integer separation){
Street street = getStreetByPlcId(SRMNumber);
if(street == null){
return null;
}
return getShevelIdByStreet(street,direction,separation);
}
public String getShevelId(Integer streetId,Integer direction,Integer separation){
Street street = streetById(streetId);
if(street == null){
return null;
}
return getShevelIdByStreet(street,direction,separation);
}
public String getShevelIdByStreet(Street street,Integer direction,Integer separation){
log.info("street:{},direction:{},sep:{}",street,direction,separation);
//todo 左右互换
//判断单双伸 type=0 单伸 1为双伸
Integer type;
if(direction == 2){
type = street.getLeftType();
}else {
type = street.getRightType();
}
if(type == 0){
//单伸只需要判断左右
if(direction == 2){
return street.getLeftShelveId();
}else {
return street.getRightShelveId();
}
}else {
//双伸,还需要判断内外
if(direction == 2){
if(separation == 1){
return street.getLeftInsideShelveId();
}else {
return street.getLeftOutsideShelveId();
}
}else {
if(separation == 1){
return street.getRightInsideShelveId();
}else {
return street.getRightOutsideShelveId();
}
}
}
}
}

@ -14,7 +14,7 @@ spring:
testWhileIdle: false
timeBetweenEvictionRunsMillis: 60000
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://115.236.65.98:12004/lia_duoji?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
url: jdbc:mysql://115.236.65.98:12004/lia_duoji_test?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
username: root
validationQuery: SELECT 1 FROM DUAL
# --------本服务端口号

Loading…
Cancel
Save