From 42628fd6b77465e599a8f75fb6c34da33340973c Mon Sep 17 00:00:00 2001 From: zane Date: Tue, 27 Aug 2024 14:58:23 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=BA=93=E5=AD=98=E9=A2=84=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inout/IoSplitFifoInvController.java | 61 ++++++++-- .../api/dao/inout/IoSplitFifoInvMapper.java | 7 +- .../glxp/api/entity/inout/IoSplitFifoInv.java | 2 +- .../api/req/inout/IoSplitFifoInvRequest.java | 103 +++++++++++++++++ .../api/res/inout/IoSplitInvResponse.java | 107 ++++++++++++++++++ .../collect/IoCollectOrderService.java | 1 + .../service/inout/IoSplitFifoInvService.java | 37 ++++++ .../mapper/inout/IoSplitFifoInvMapper.xml | 51 ++++++++- 8 files changed, 354 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/glxp/api/req/inout/IoSplitFifoInvRequest.java create mode 100644 src/main/java/com/glxp/api/res/inout/IoSplitInvResponse.java 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..8447918fa --- /dev/null +++ b/src/main/java/com/glxp/api/req/inout/IoSplitFifoInvRequest.java @@ -0,0 +1,103 @@ +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 String workPlaceCode; + + /** + * 部门编码 + */ + private String deptCode; + + /** + * 仓库编码 + */ + private String invCode; + + /** + * 产品类型 + */ + private String productType; + + /** + * 上货方式:1:拆零上货;2:整取上货 + */ + private String fifoSplit; + + /** + * 产品ID主键 + */ + private Integer relId; + + /** + * 批次号 + */ + private Integer batchNo; + + /** + * 生产日期 + */ + private Date produceDate; + + /** + * 失效日期 + */ + private Date expireDate; + + /** + * 供应商ID + */ + private Integer supId; + + /** + * 入库数量 + */ + private String inCount; + + /** + * 出库数量 + */ + private String outCount; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 是否开启库存预警 + */ + private Integer 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..eb5c13f14 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inout/IoSplitInvResponse.java @@ -0,0 +1,107 @@ +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 String workPlaceCode; + + /** + * 部门编码 + */ + private String deptCode; + + /** + * 仓库编码 + */ + private String invCode; + + /** + * 产品类型 + */ + private String productType; + + /** + * 上货方式:1:拆零上货;2:整取上货 + */ + private String fifoSplit; + + /** + * 产品ID主键 + */ + private Long relId; + + /** + * 批次号 + */ + private Integer batchNo; + + /** + * 生产日期 + */ + private Date produceDate; + + /** + * 失效日期 + */ + private Date expireDate; + + /** + * 供应商ID + */ + private Long supId; + + /** + * 入库数量 + */ + private String inCount; + + /** + * 出库数量 + */ + private String outCount; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 备注 + */ + 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 + + + From 2d54324a76b3155d6730bb0b2ff348c1000d6a40 Mon Sep 17 00:00:00 2001 From: zane Date: Tue, 27 Aug 2024 15:15:29 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=BA=93=E5=AD=98=E9=A2=84=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/req/inout/IoSplitFifoInvRequest.java | 32 +++++++++++------ .../api/res/inout/IoSplitInvResponse.java | 36 ++++++++++++++----- 2 files changed, 49 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/glxp/api/req/inout/IoSplitFifoInvRequest.java b/src/main/java/com/glxp/api/req/inout/IoSplitFifoInvRequest.java index 8447918fa..410d1f95a 100644 --- a/src/main/java/com/glxp/api/req/inout/IoSplitFifoInvRequest.java +++ b/src/main/java/com/glxp/api/req/inout/IoSplitFifoInvRequest.java @@ -15,7 +15,7 @@ public class IoSplitFifoInvRequest extends ListPageRequest { /** * 工位编码 */ - private String workPlaceCode; + private Long workPlaceCode; /** * 部门编码 @@ -30,47 +30,57 @@ public class IoSplitFifoInvRequest extends ListPageRequest { /** * 产品类型 */ - private String productType; + private Integer productType; /** * 上货方式:1:拆零上货;2:整取上货 */ - private String fifoSplit; + private Integer fifoSplit; /** * 产品ID主键 */ - private Integer relId; + private Long relId; /** * 批次号 */ - private Integer batchNo; + private String batchNo; /** * 生产日期 */ - private Date produceDate; + private String produceDate; /** * 失效日期 */ - private Date expireDate; + private String expireDate; /** * 供应商ID */ - private Integer supId; + private Long supId; /** * 入库数量 */ - private String inCount; + private Integer inCount; /** * 出库数量 */ - private String outCount; + private Integer outCount; + + /** + * 出库数量 + */ + private Integer reCount; + + /** + * 锁定数量 + */ + private Integer lockCount; /** * 创建时间 @@ -85,7 +95,7 @@ public class IoSplitFifoInvRequest extends ListPageRequest { /** * 是否开启库存预警 */ - private Integer enableRemind; + private Boolean enableRemind; /** * 工位库存预警数量 diff --git a/src/main/java/com/glxp/api/res/inout/IoSplitInvResponse.java b/src/main/java/com/glxp/api/res/inout/IoSplitInvResponse.java index eb5c13f14..2d043e259 100644 --- a/src/main/java/com/glxp/api/res/inout/IoSplitInvResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoSplitInvResponse.java @@ -16,7 +16,7 @@ public class IoSplitInvResponse { /** * 工位编码 */ - private String workPlaceCode; + private Long workPlaceCode; /** * 部门编码 @@ -31,12 +31,12 @@ public class IoSplitInvResponse { /** * 产品类型 */ - private String productType; + private Integer productType; /** * 上货方式:1:拆零上货;2:整取上货 */ - private String fifoSplit; + private Integer fifoSplit; /** * 产品ID主键 @@ -46,17 +46,17 @@ public class IoSplitInvResponse { /** * 批次号 */ - private Integer batchNo; + private String batchNo; /** * 生产日期 */ - private Date produceDate; + private String produceDate; /** * 失效日期 */ - private Date expireDate; + private String expireDate; /** * 供应商ID @@ -66,12 +66,22 @@ public class IoSplitInvResponse { /** * 入库数量 */ - private String inCount; + private Integer inCount; /** * 出库数量 */ - private String outCount; + private Integer outCount; + + /** + * 出库数量 + */ + private Integer reCount; + + /** + * 锁定数量 + */ + private Integer lockCount; /** * 创建时间 @@ -83,6 +93,16 @@ public class IoSplitInvResponse { */ private Date updateTime; + /** + * 是否开启库存预警 + */ + private Boolean enableRemind; + + /** + * 工位库存预警数量 + */ + private Integer invRemindCount; + /** * 备注 */