diff --git a/web/src/main/java/com/zhehekeji/web/controller/StockLogController.java b/web/src/main/java/com/zhehekeji/web/controller/StockLogController.java new file mode 100644 index 0000000..ee9f802 --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/controller/StockLogController.java @@ -0,0 +1,33 @@ +package com.zhehekeji.web.controller; + +import com.github.pagehelper.PageInfo; +import com.zhehekeji.common.util.ValidatorUtil; +import com.zhehekeji.core.pojo.Result; +import com.zhehekeji.web.entity.CheckLog; +import com.zhehekeji.web.pojo.stock.CheckLogSearch; +import com.zhehekeji.web.service.StockLogService; +import com.zhehekeji.web.service.TestService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(tags = "盘点历史") +@RequestMapping("/stockLog") +@RestController +public class StockLogController { + + @Resource + private StockLogService stockLogService; + @Resource + private ValidatorUtil validatorUtil; + + @ApiOperation("盘点历史") + @PostMapping("") + public Result> list(@RequestBody CheckLogSearch checkLogSearch){ + return Result.success(stockLogService.list(checkLogSearch)); + } + + +} diff --git a/web/src/main/java/com/zhehekeji/web/entity/CheckLog.java b/web/src/main/java/com/zhehekeji/web/entity/CheckLog.java index 0cdc9a1..1736ee1 100644 --- a/web/src/main/java/com/zhehekeji/web/entity/CheckLog.java +++ b/web/src/main/java/com/zhehekeji/web/entity/CheckLog.java @@ -3,6 +3,7 @@ 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.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -46,5 +47,7 @@ public class CheckLog { private String pic; + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; + } diff --git a/web/src/main/java/com/zhehekeji/web/pojo/stock/CheckLogSearch.java b/web/src/main/java/com/zhehekeji/web/pojo/stock/CheckLogSearch.java new file mode 100644 index 0000000..de0b1ac --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/pojo/stock/CheckLogSearch.java @@ -0,0 +1,37 @@ +package com.zhehekeji.web.pojo.stock; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotEmpty; +import java.time.LocalDateTime; + +@Data +public class CheckLogSearch { + + @NotEmpty(message = "订单号不能为空") + private String orderNum; + + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime startTimestamp; + + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") + private LocalDateTime endTimestamp; + + private Integer streetId; + + @ApiModelProperty("左右 1:左 2:右") + private Integer leftRight; + + @ApiModelProperty("内外 1:内 2:外") + private Integer side; + + private Integer row; + + private Integer column; + + private Integer pageSize; + + private Integer pageNum; +} diff --git a/web/src/main/java/com/zhehekeji/web/service/CameraService.java b/web/src/main/java/com/zhehekeji/web/service/CameraService.java index cd9173b..1521202 100644 --- a/web/src/main/java/com/zhehekeji/web/service/CameraService.java +++ b/web/src/main/java/com/zhehekeji/web/service/CameraService.java @@ -86,6 +86,8 @@ public class CameraService { if(StringUtils.isEmpty(camera.getRtcServer())){ camera.setRtcServer("127.0.0.1"); } + camera.setPort(configProperties.getCameraConfig().getCameraPort()); + camera.setUser(configProperties.getCameraConfig().getCameraUser()); camera.setRtsp("rtsp://"+configProperties.getCameraConfig().getCameraUser()+":"+configProperties.getCameraConfig().getCameraPassword()+"@"+camera.getIp()+":554/cam/realmonitor?channel=1&subtype=0"); try { cameraMapper.updateById(camera); diff --git a/web/src/main/java/com/zhehekeji/web/service/StockLogService.java b/web/src/main/java/com/zhehekeji/web/service/StockLogService.java new file mode 100644 index 0000000..0c0e1f4 --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/service/StockLogService.java @@ -0,0 +1,56 @@ +package com.zhehekeji.web.service; + +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 +public class StockLogService { + + @Resource + private CheckLogMapper checkLogMapper; + @Resource + private StreetService streetService; + + public PageInfo list(CheckLogSearch search){ + List shelveIds = null; + + if(search.getStreetId() != null){ + Street street = streetService.streetById(search.getStreetId()); + shelveIds = streetService.getShelves(street,search.getLeftRight(),search.getSide()); + } + + PageHelper.startPage(search.getPageNum(),search.getPageSize()); + QueryWrapper wrapper = new QueryWrapper<>(); + if(!StringUtils.isEmpty(search.getOrderNum())){ + wrapper.eq("check_num",search.getOrderNum()); + } + 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.getRow() != null && search.getRow() != 0){ + wrapper.eq("`row`",search.getRow()); + } + if(search.getColumn() != null && search.getColumn() != 0){ + wrapper.eq("`column`",search.getColumn()); + } + wrapper.orderByDesc("shelve_id","`row`","`column`"); + ListstockChecks = checkLogMapper.selectList(wrapper); + + return new PageInfo<>(stockChecks); + } +} diff --git a/web/src/main/java/com/zhehekeji/web/service/StreetService.java b/web/src/main/java/com/zhehekeji/web/service/StreetService.java index c0dd13e..3a2178d 100644 --- a/web/src/main/java/com/zhehekeji/web/service/StreetService.java +++ b/web/src/main/java/com/zhehekeji/web/service/StreetService.java @@ -200,6 +200,53 @@ public class StreetService { return shelves; } + /** + * + * @param street + * @param leftRight 1:左 2:右 + * @param side 1:内侧 2:外侧 + * @return + */ + public List getShelves(Street street,Integer leftRight,Integer side) { + List 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"), @@ -323,6 +370,16 @@ public class StreetService { */ public String getShevelId(String SRMNumber,Integer direction,Integer separation){ Street street = getStreetByPlcId(SRMNumber); + return getShevelIdByStreet(street,direction,separation); + } + + public String getShevelId(Integer streetId,Integer direction,Integer separation){ + Street street = streetById(streetId); + return getShevelIdByStreet(street,direction,separation); + } + + public String getShevelIdByStreet(Street street,Integer direction,Integer separation){ + //判断单双伸 type=1 单伸 2为双伸 Integer type; if(direction == 1){ @@ -331,7 +388,6 @@ public class StreetService { }else { type = street.getRightType(); } - String sheveId = null; if(type == 1){ //单伸只需要判断左右 if(direction == 1){