From 851232e2708f7a955807d8437b2f2ed1c3ee275d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Wed, 10 May 2023 11:26:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=9F=A5=E8=AF=A2=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=B4=A7=E6=9E=B6=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/inv/InvPlaceController.java | 34 +++++++++++ .../api/dao/inv/InvPreInProductDetailDao.java | 3 + .../api/dao/inv/InvPreProductDetailDao.java | 3 + .../glxp/api/dao/inv/InvProductDetailDao.java | 3 + .../api/res/inv/InvPlaceDetailResponse.java | 4 ++ .../api/service/inv/InvPlaceOrderService.java | 7 +++ .../inv/impl/InvPlaceOrderServiceImpl.java | 57 +++++++++++++++---- .../service/inv/impl/InvPlaceServiceImpl.java | 2 - .../mapper/inv/InvPreInProductDetailDao.xml | 37 ++++++++++++ .../mapper/inv/InvPreProductDetailDao.xml | 35 ++++++++++++ .../mapper/inv/invProductDetailDao.xml | 35 ++++++++++++ 11 files changed, 206 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java b/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java index 4b616a181..8b6e46867 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvPlaceController.java @@ -16,6 +16,7 @@ import com.glxp.api.res.inv.InvPlaceDetailResponse; import com.glxp.api.res.inv.InvPlaceOrderDetailResponse; import com.glxp.api.service.inv.InvPlaceOrderService; import com.glxp.api.service.inv.InvPlaceService; +import org.apache.commons.collections.ArrayStack; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -23,7 +24,9 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.validation.Valid; +import java.lang.reflect.Array; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; /** @@ -237,5 +240,36 @@ public class InvPlaceController { return ResultVOUtils.page(pageInfo); } + /** + * 查询库存摆放记录 + * + * @return + */ + @GetMapping("/spms/inv/product/selectPlaceList") + public BaseResponse selectPlaceList(FilterInvPlaceRequest filterInvPlaceRequest) { + List invPlaceDetailResponseList=new ArrayStack(); + if(StrUtil.isNotBlank(filterInvPlaceRequest.getCode())){ + List list= Arrays.asList(filterInvPlaceRequest.getCode().split("#")); + if(list!=null && list.size()>=3){ + if(list.get(2) !=null && !list.get(2).equals("null")){ + //用产品查询 + filterInvPlaceRequest.setCode(list.get(2)); + invPlaceDetailResponseList= invPlaceOrderService.filterProductList(filterInvPlaceRequest); + }else if(list.get(0) !=null && list.get(1)!=null && !list.get(0).equals("null") && !list.get(1).equals("null") ){ + //用货位查询 + filterInvPlaceRequest.setInvCode(list.get(0)); + filterInvPlaceRequest.setInvSpaceCode(list.get(1)); + filterInvPlaceRequest.setCode(null); + invPlaceDetailResponseList= invPlaceOrderService.filterSpaceList(filterInvPlaceRequest); + }else{ + return ResultVOUtils.error(999,"扫码错误!"); + } + } + } + + PageInfo pageInfo = new PageInfo<>(invPlaceDetailResponseList); + return ResultVOUtils.page(pageInfo); + } + } diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java index d4f1859d0..332207111 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvPreInProductDetailDao.java @@ -46,4 +46,7 @@ public interface InvPreInProductDetailDao extends BaseMapperPlus filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest); + } diff --git a/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java index 15972bf6b..4adff783e 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java @@ -45,4 +45,7 @@ public interface InvPreProductDetailDao extends BaseMapperPlus getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest); Integer getInventoryQuantity(@Param("code") String code); + + //用货架查询 + List filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest); } diff --git a/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java b/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java index 789eee944..7a61a9b6e 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvProductDetailDao.java @@ -98,4 +98,7 @@ public interface InvProductDetailDao extends BaseMapperPlus getInvPlaceOrderList(FilterInvPlaceRequest filterInvPlaceRequest); Integer getInventoryQuantity(@Param("code") String code); + + //用货架查询 + List filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest); } diff --git a/src/main/java/com/glxp/api/res/inv/InvPlaceDetailResponse.java b/src/main/java/com/glxp/api/res/inv/InvPlaceDetailResponse.java index 19ad425a4..22697dc89 100644 --- a/src/main/java/com/glxp/api/res/inv/InvPlaceDetailResponse.java +++ b/src/main/java/com/glxp/api/res/inv/InvPlaceDetailResponse.java @@ -118,4 +118,8 @@ public class InvPlaceDetailResponse { */ private String manufactory; + private Integer count; + + private String cpmctymc; + } diff --git a/src/main/java/com/glxp/api/service/inv/InvPlaceOrderService.java b/src/main/java/com/glxp/api/service/inv/InvPlaceOrderService.java index 9540b346c..690d4d7c3 100644 --- a/src/main/java/com/glxp/api/service/inv/InvPlaceOrderService.java +++ b/src/main/java/com/glxp/api/service/inv/InvPlaceOrderService.java @@ -7,6 +7,7 @@ import com.glxp.api.req.inv.FilterInvPlaceOrderRequest; import com.glxp.api.req.inv.FilterInvPlaceRequest; import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.inv.BindInvSpaceRequest; +import com.glxp.api.res.inv.InvPlaceDetailResponse; import com.glxp.api.res.inv.InvPlaceOrderDetailResponse; import com.glxp.api.res.inv.InvPlaceOrderResponse; @@ -32,4 +33,10 @@ public interface InvPlaceOrderService { List filterInvPlaceOrderDetailList(FilterInvPlaceOrderRequest filterInvPlaceOrderRequest); + + //用产品查询 + List filterProductList(FilterInvPlaceRequest filterInvPlaceOrderRequest); + + //用货架查询 + List filterSpaceList(FilterInvPlaceRequest filterInvPlaceOrderRequest); } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java index 5bcc1a337..37b909ada 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceOrderServiceImpl.java @@ -1,5 +1,6 @@ package com.glxp.api.service.inv.impl; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; @@ -18,6 +19,7 @@ import com.glxp.api.req.inv.FilterInvPlaceOrderRequest; import com.glxp.api.req.inv.FilterInvPlaceRequest; import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.inv.BindInvSpaceRequest; +import com.glxp.api.res.inv.InvPlaceDetailResponse; import com.glxp.api.res.inv.InvPlaceOrderDetailResponse; import com.glxp.api.res.inv.InvPlaceOrderResponse; import com.glxp.api.service.auth.CustomerService; @@ -26,6 +28,7 @@ import com.glxp.api.service.inv.InvPlaceOrderService; import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.OrderNoTypeBean; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -34,6 +37,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; @Slf4j @Service @@ -129,8 +133,8 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { QueryWrapper ew = new QueryWrapper<>(); ew.eq("code", bindInvSpaceRequest.getCode()); - if(bindInvSpaceRequest.getType()==3){ - ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + if (bindInvSpaceRequest.getType() == 3) { + ew.eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()); } ew.last("limit 1"); InvPreInProductDetailEntity invPreInProductDetailEntity = invPreInProductDetailDao.selectOne(ew); @@ -144,8 +148,8 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { QueryWrapper ew = new QueryWrapper<>(); ew.eq("code", bindInvSpaceRequest.getCode()); - if(bindInvSpaceRequest.getType()==3){ - ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + if (bindInvSpaceRequest.getType() == 3) { + ew.eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()); } ew.last("limit 1"); InvPreProductDetailEntity invPreInProductDetailEntity = invPreProductDetailDao.selectOne(ew); @@ -159,8 +163,8 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_NORMAL) { QueryWrapper ew = new QueryWrapper<>(); ew.eq("code", bindInvSpaceRequest.getCode()); - if(bindInvSpaceRequest.getType()==3){ - ew.eq("invSpaceCode",bindInvSpaceRequest.getInvSpaceCode()); + if (bindInvSpaceRequest.getType() == 3) { + ew.eq("invSpaceCode", bindInvSpaceRequest.getInvSpaceCode()); } ew.last("limit 1"); InvProductDetailEntity invPreInProductDetailEntity = invProductDetailDao.selectOne(ew); @@ -203,9 +207,9 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { invPlaceOrderDetailEntity.setProduceDate(produceDate); invPlaceOrderDetailEntity.setSupId(supId); invPlaceOrderDetailEntity.setInvCode(bindInvSpaceRequest.getInvCode()); - if(bindInvSpaceRequest.getType()==3){ + if (bindInvSpaceRequest.getType() == 3) { invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getChangeSpaceCode()); - }else{ + } else { invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); } invPlaceOrderDetailEntity.setCode(bindInvSpaceRequest.getCode()); @@ -234,9 +238,9 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { invPlaceOrderDetailEntity.setExpireDate(expireDate); invPlaceOrderDetailEntity.setProduceDate(produceDate); invPlaceOrderDetailEntity.setSupId(supId); - if(bindInvSpaceRequest.getType()==3){ + if (bindInvSpaceRequest.getType() == 3) { invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getChangeSpaceCode()); - }else{ + } else { invPlaceOrderDetailEntity.setInvSpaceCode(bindInvSpaceRequest.getInvSpaceCode()); } invPlaceOrderDetailEntity.setCode(bindInvSpaceRequest.getCode()); @@ -339,7 +343,7 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { invPlaceOrderDetailEntity.setRecordId(recordId); invPlaceOrderDetailEntity.setBatchNo(filterInvPlaceOrderRequest.getBatchNo()); invPlaceOrderDetailEntity.setCode(filterInvPlaceOrderRequest.getCode()); - invPlaceOrderDetailEntity.setRelId(filterInvPlaceOrderRequest.getRelId()+""); + invPlaceOrderDetailEntity.setRelId(filterInvPlaceOrderRequest.getRelId() + ""); invPlaceOrderDetailEntity.setNameCode(filterInvPlaceOrderRequest.getNameCode()); invPlaceOrderDetailEntity.setExpireDate(filterInvPlaceOrderRequest.getExpireDate()); invPlaceOrderDetailEntity.setProduceDate(filterInvPlaceOrderRequest.getProduceDate()); @@ -358,7 +362,7 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { invPlaceOrderDetailEntity.setRecordId(recordId); invPlaceOrderDetailEntity.setCode(filterInvPlaceOrderRequest.getCode()); invPlaceOrderDetailEntity.setBatchNo(filterInvPlaceOrderRequest.getBatchNo()); - invPlaceOrderDetailEntity.setRelId(filterInvPlaceOrderRequest.getRelId()+""); + invPlaceOrderDetailEntity.setRelId(filterInvPlaceOrderRequest.getRelId() + ""); invPlaceOrderDetailEntity.setNameCode(filterInvPlaceOrderRequest.getNameCode()); invPlaceOrderDetailEntity.setExpireDate(filterInvPlaceOrderRequest.getExpireDate()); invPlaceOrderDetailEntity.setProduceDate(filterInvPlaceOrderRequest.getProduceDate()); @@ -507,4 +511,33 @@ public class InvPlaceOrderServiceImpl implements InvPlaceOrderService { } return invPlaceOrderDetailDao.selectDetailList(filterInvPlaceOrderRequest.getOrderId()); } + + @Override + public List filterProductList(FilterInvPlaceRequest filterInvPlaceRequest) { + + List list = invPreInProductDetailDao.filterSpaceList(filterInvPlaceRequest); + List list2 = invPreProductDetailDao.filterSpaceList(filterInvPlaceRequest); + List list3 = invProductDetailDao.filterSpaceList(filterInvPlaceRequest); + + list.addAll(list2); + list.addAll(list3); + + return list; + + } + + @Override + public List filterSpaceList(FilterInvPlaceRequest filterInvPlaceRequest) { + InvWarehouseEntity invWarehouseEntity = invWarehouseDao.selectOne(new QueryWrapper().eq("code", filterInvPlaceRequest.getInvCode())); + if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_PREIN) { + List list = invPreInProductDetailDao.filterSpaceList(filterInvPlaceRequest); + return list; + } else if (invWarehouseEntity.getAdvanceType() == ConstantStatus.ACTION_TYPE_ADVANCE) { + List list = invPreProductDetailDao.filterSpaceList(filterInvPlaceRequest); + return list; + } else { + List list = invProductDetailDao.filterSpaceList(filterInvPlaceRequest); + return list; + } + } } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java index c0b6c40a9..8240ff78b 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPlaceServiceImpl.java @@ -478,8 +478,6 @@ public class InvPlaceServiceImpl implements InvPlaceService { return invPreProductDetailDao.getInvPlaceOrderList(filterInvPlaceRequest); } else return invProductDetailDao.getInvPlaceOrderList(filterInvPlaceRequest); - - } @Override diff --git a/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml index e09f24a2e..d25a08d6a 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreInProductDetailDao.xml @@ -233,4 +233,41 @@ and (invSpaceCode is null or invSpaceCode = '' ) + + diff --git a/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml index f23a222d4..164250cff 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml @@ -232,4 +232,39 @@ CODE = #{code} and (invSpaceCode is null or invSpaceCode = '' ) + + diff --git a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml index 82731773f..f28d21480 100644 --- a/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/invProductDetailDao.xml @@ -314,4 +314,39 @@ CODE = #{code} and (invSpaceCode is null or invSpaceCode = '' ) + +