diff --git a/src/main/java/com/glxp/api/controller/inout/IoSplitFifoInvController.java b/src/main/java/com/glxp/api/controller/inout/IoSplitFifoInvController.java index 564f0c3a5..33676e747 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoSplitFifoInvController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoSplitFifoInvController.java @@ -1,11 +1,24 @@ package com.glxp.api.controller.inout; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.controller.BaseController; +import com.glxp.api.req.inout.IoSplitFifoInvRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.inout.IoSplitInvResponse; import com.glxp.api.service.inout.IoSplitFifoInvService; import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; @Slf4j @RestController @@ -15,17 +28,43 @@ public class IoSplitFifoInvController extends BaseController { @Resource IoSplitFifoInvService splitFifoInvService; - - - - //接口1:库存查询 - // 若开启了库存预警,需要在库存上有一个状态显示预警状态 1:正常;2:低库存;3:负库存 - - - //接口2:库存预警设置 - - - + /** + * 库存查询 + * 若开启了库存预警,需要在库存上有一个状态显示预警状态 1:正常;2:低库存;3:负库存 + * @return + */ + @GetMapping("/udiwms/ioSplit/inv/filter") + public BaseResponse filter(IoSplitFifoInvRequest ioSplitFifoInvRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List splitCodeEntities = splitFifoInvService.filterList(ioSplitFifoInvRequest); + for (IoSplitInvResponse ioSplitCodeResponse : splitCodeEntities) { + if (StrUtil.isEmpty(ioSplitCodeResponse.getGgxh())) { + ioSplitCodeResponse.setGgxh(ioSplitCodeResponse.getBzgg()); + } + if (StrUtil.isEmpty(ioSplitCodeResponse.getMeasname())) { + ioSplitCodeResponse.setMeasname(ioSplitCodeResponse.getUseLevelUnit()); + } + } + PageInfo pageInfo = new PageInfo<>(splitCodeEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(splitCodeEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + + /** + * 库存预警设置 + * @param ioSplitFifoInvRequest + * @return + */ + @PostMapping("/udiwms/ioSplit/inv/remindSet") + public BaseResponse remindSet(@RequestBody IoSplitFifoInvRequest ioSplitFifoInvRequest) { + splitFifoInvService.remindSet(ioSplitFifoInvRequest); + return ResultVOUtils.success(); + } diff --git a/src/main/java/com/glxp/api/dao/inout/IoSplitFifoInvMapper.java b/src/main/java/com/glxp/api/dao/inout/IoSplitFifoInvMapper.java index e1a5f9668..a63d66b76 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoSplitFifoInvMapper.java +++ b/src/main/java/com/glxp/api/dao/inout/IoSplitFifoInvMapper.java @@ -2,8 +2,13 @@ package com.glxp.api.dao.inout; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.entity.inout.IoSplitFifoInv; +import com.glxp.api.req.inout.IoSplitFifoInvRequest; +import com.glxp.api.res.inout.IoSplitInvResponse; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface IoSplitFifoInvMapper extends BaseMapper { -} \ No newline at end of file + List filterList(IoSplitFifoInvRequest ioSplitFifoInvRequest); +} diff --git a/src/main/java/com/glxp/api/entity/inout/IoSplitFifoInv.java b/src/main/java/com/glxp/api/entity/inout/IoSplitFifoInv.java index 0e1a1ec7a..8a2b275b8 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoSplitFifoInv.java +++ b/src/main/java/com/glxp/api/entity/inout/IoSplitFifoInv.java @@ -156,4 +156,4 @@ public class IoSplitFifoInv implements Serializable { private static final long serialVersionUID = 1L; -} \ No newline at end of file +} diff --git a/src/main/java/com/glxp/api/req/inout/IoSplitFifoInvRequest.java b/src/main/java/com/glxp/api/req/inout/IoSplitFifoInvRequest.java new file mode 100644 index 000000000..410d1f95a --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/IoSplitFifoInvRequest.java @@ -0,0 +1,113 @@ +package com.glxp.api.req.inout; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.glxp.api.util.page.ListPageRequest; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class IoSplitFifoInvRequest extends ListPageRequest { + + private Integer id; + + /** + * 工位编码 + */ + private Long workPlaceCode; + + /** + * 部门编码 + */ + private String deptCode; + + /** + * 仓库编码 + */ + private String invCode; + + /** + * 产品类型 + */ + private Integer productType; + + /** + * 上货方式:1:拆零上货;2:整取上货 + */ + private Integer fifoSplit; + + /** + * 产品ID主键 + */ + private Long relId; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 生产日期 + */ + private String produceDate; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 供应商ID + */ + private Long supId; + + /** + * 入库数量 + */ + private Integer inCount; + + /** + * 出库数量 + */ + private Integer outCount; + + /** + * 出库数量 + */ + private Integer reCount; + + /** + * 锁定数量 + */ + private Integer lockCount; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 是否开启库存预警 + */ + private Boolean enableRemind; + + /** + * 工位库存预警数量 + */ + private Integer invRemindCount; + + /** + * 备注 + */ + private String remark; + + private String nameCode; + + +} diff --git a/src/main/java/com/glxp/api/res/inout/IoSplitInvResponse.java b/src/main/java/com/glxp/api/res/inout/IoSplitInvResponse.java new file mode 100644 index 000000000..2d043e259 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/IoSplitInvResponse.java @@ -0,0 +1,127 @@ +package com.glxp.api.res.inout; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +@Data +public class IoSplitInvResponse { + + private Integer id; + + /** + * 工位编码 + */ + private Long workPlaceCode; + + /** + * 部门编码 + */ + private String deptCode; + + /** + * 仓库编码 + */ + private String invCode; + + /** + * 产品类型 + */ + private Integer productType; + + /** + * 上货方式:1:拆零上货;2:整取上货 + */ + private Integer fifoSplit; + + /** + * 产品ID主键 + */ + private Long relId; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 生产日期 + */ + private String produceDate; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 供应商ID + */ + private Long supId; + + /** + * 入库数量 + */ + private Integer inCount; + + /** + * 出库数量 + */ + private Integer outCount; + + /** + * 出库数量 + */ + private Integer reCount; + + /** + * 锁定数量 + */ + private Integer lockCount; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 是否开启库存预警 + */ + private Boolean enableRemind; + + /** + * 工位库存预警数量 + */ + private Integer invRemindCount; + + /** + * 备注 + */ + private String remark; + + private Integer groupCount; + //产品信息----------------------------start---------------------- + private String supName; + private String workPlaceName; + private String cpmctymc; + private String ggxh; + private String ylqxzcrbarmc; + private String manufactory; + private String measname; + private String zczbhhzbapzbh; + private String ybbm; + private String zxxsdycpbs; + private String bzgg; + private String useLevelUnit; + + +} diff --git a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java index 285a11c50..7abbc4629 100644 --- a/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java +++ b/src/main/java/com/glxp/api/service/collect/IoCollectOrderService.java @@ -467,6 +467,7 @@ public class IoCollectOrderService extends ServiceImpl filterList(IoSplitFifoInvRequest ioSplitFifoInvRequest) { + if (ioSplitFifoInvRequest == null) { + return Collections.emptyList(); + } + if (ioSplitFifoInvRequest.getPage() != null) { + int offset = (ioSplitFifoInvRequest.getPage() - 1) * ioSplitFifoInvRequest.getLimit(); + PageHelper.offsetPage(offset, ioSplitFifoInvRequest.getLimit()); + } + return this.baseMapper.filterList(ioSplitFifoInvRequest); + } + + /** + * 库存预警设置 + * @param ioSplitFifoInvRequest + */ + @Transactional(rollbackFor = Exception.class) + public void remindSet(IoSplitFifoInvRequest ioSplitFifoInvRequest) { + Assert.notNull(ioSplitFifoInvRequest.getId(),"Id不能为空"); + IoSplitFifoInv old = this.getById(ioSplitFifoInvRequest.getId()); + Assert.notNull(old,"不存在该库存预警设置"); + this.lambdaUpdate() + .set(ioSplitFifoInvRequest.getEnableRemind() != null,IoSplitFifoInv::getEnableRemind,ioSplitFifoInvRequest.getEnableRemind()) + .set(ioSplitFifoInvRequest.getInvRemindCount() != null,IoSplitFifoInv::getInvRemindCount,ioSplitFifoInvRequest.getInvRemindCount()) + .eq(IoSplitFifoInv::getId,ioSplitFifoInvRequest.getId()) + .update(); + } + } diff --git a/src/main/resources/mybatis/mapper/inout/IoSplitFifoInvMapper.xml b/src/main/resources/mybatis/mapper/inout/IoSplitFifoInvMapper.xml index 67a17d110..48fff5b0c 100644 --- a/src/main/resources/mybatis/mapper/inout/IoSplitFifoInvMapper.xml +++ b/src/main/resources/mybatis/mapper/inout/IoSplitFifoInvMapper.xml @@ -23,7 +23,54 @@ - id, workPlaceCode, deptCode, invCode, productType, fifoSplit, relId, batchNo, produceDate, + id, workPlaceCode, deptCode, invCode, productType, fifoSplit, relId, batchNo, produceDate, expireDate, supId, inCount, outCount, createTime, updateTime, remark - \ No newline at end of file + + +