From db7c6405e3fafc9e6f1dd34966b45cd1ccee60e9 Mon Sep 17 00:00:00 2001 From: x_z Date: Fri, 10 Feb 2023 17:39:59 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E5=88=A0=E9=99=A4=E5=AF=84?= =?UTF-8?q?=E5=94=AE=E5=BA=93=E5=AD=98=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inv/InvPreProductController.java | 40 +++++++++++++++++++ .../controller/inv/InvProductController.java | 2 +- .../api/dao/inv/InvPreProductDetailDao.java | 9 +++++ .../inv/InvPreProductDetailService.java | 8 ++++ .../api/service/inv/InvPreProductService.java | 7 ++++ .../impl/InvPreProductDetailServiceImpl.java | 7 ++++ .../inv/impl/InvPreProductServiceImpl.java | 6 +++ .../mapper/inv/InvPreProductDetailDao.xml | 22 ++++++++++ 8 files changed, 100 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java b/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java index 0dc2ac0ea..e5530b69c 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvPreProductController.java @@ -4,11 +4,15 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; 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.entity.inv.InvPreProductDetailEntity; +import com.glxp.api.entity.inv.InvPreProductEntity; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; import com.glxp.api.req.inv.FilterInvPreProductRequest; +import com.glxp.api.req.inv.FilterInvProductDetailRequest; +import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.inv.InvPreProductDetailResponse; import com.glxp.api.res.inv.InvPreProductPageResponse; @@ -19,7 +23,10 @@ import com.glxp.api.service.inv.InvPreProductDetailService; import com.glxp.api.service.inv.InvPreProductService; import com.glxp.api.util.udi.FilterUdiUtils; 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; @@ -103,4 +110,37 @@ public class InvPreProductController { return ResultVOUtils.success(pageSimpleResponse); } + /** + * 删除寄售库存 + * + * @param deleteRequest + * @param bindingResult + * @return + */ + @PostMapping("/spms/inv/pre/product/delete") + public BaseResponse deleteInvPreProduct(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + String id = deleteRequest.getId(); + InvPreProductEntity invPreProductEntity = invPreProductService.findById(id); + if (null != invPreProductEntity) { + FilterInvProductDetailRequest detailRequest = new FilterInvProductDetailRequest(); + detailRequest.setSupId(invPreProductEntity.getSupId()); + detailRequest.setRelId(String.valueOf(invPreProductEntity.getRelIdFk())); + detailRequest.setInvCode(invPreProductEntity.getInvCode()); + if (StrUtil.isBlank(invPreProductEntity.getBatchNo())) { + detailRequest.setBatchNo("empty"); + } else { + detailRequest.setBatchNo(invPreProductEntity.getBatchNo()); + } + invPreProductService.deleteById(id); + invPreProductDetailService.deleteInvPreProductDetail(detailRequest); + return ResultVOUtils.success("删除成功"); + } else { + return ResultVOUtils.error(500, "删除失败"); + } + } + } diff --git a/src/main/java/com/glxp/api/controller/inv/InvProductController.java b/src/main/java/com/glxp/api/controller/inv/InvProductController.java index 146d9dadc..c0f707b5a 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvProductController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvProductController.java @@ -123,7 +123,7 @@ public class InvProductController { } String id = deleteRequest.getId(); - InvProductEntity invProductEntity = invProductService.findById(deleteRequest.getId()); + InvProductEntity invProductEntity = invProductService.findById(id); if (null != invProductEntity) { FilterInvProductDetailRequest detailRequest = new FilterInvProductDetailRequest(); detailRequest.setSupId(invProductEntity.getSupId()); 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 23f294e6a..500a45af9 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/InvPreProductDetailDao.java @@ -3,6 +3,7 @@ package com.glxp.api.dao.inv; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; +import com.glxp.api.req.inv.FilterInvProductDetailRequest; import java.util.List; @@ -18,4 +19,12 @@ public interface InvPreProductDetailDao extends BaseMapperPlus filterPreProductDetailList(FilterInvPreProductDetailRequest invPreProductDetailRequest); + + /** + * 删除寄售库存详情 + * + * @param detailRequest + * @return + */ + boolean deleteInvPreProductDetail(FilterInvProductDetailRequest detailRequest); } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/service/inv/InvPreProductDetailService.java b/src/main/java/com/glxp/api/service/inv/InvPreProductDetailService.java index 87d631d7a..d3c95db23 100644 --- a/src/main/java/com/glxp/api/service/inv/InvPreProductDetailService.java +++ b/src/main/java/com/glxp/api/service/inv/InvPreProductDetailService.java @@ -2,6 +2,7 @@ package com.glxp.api.service.inv; import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; +import com.glxp.api.req.inv.FilterInvProductDetailRequest; import com.glxp.api.res.inv.InvPreProductDetailResponse; import java.util.List; @@ -31,4 +32,11 @@ public interface InvPreProductDetailService { * @param response */ void setOrderInfo(InvPreProductDetailResponse response); + + /** + * 删除寄售库存详情 + * + * @param detailRequest + */ + boolean deleteInvPreProductDetail(FilterInvProductDetailRequest detailRequest); } diff --git a/src/main/java/com/glxp/api/service/inv/InvPreProductService.java b/src/main/java/com/glxp/api/service/inv/InvPreProductService.java index b042859a1..f46ef5c88 100644 --- a/src/main/java/com/glxp/api/service/inv/InvPreProductService.java +++ b/src/main/java/com/glxp/api/service/inv/InvPreProductService.java @@ -33,4 +33,11 @@ public interface InvPreProductService { */ List filterPreProductList(FilterInvPreProductRequest invPreProductRequest); + /** + * 根据ID查询寄售库存信息 + * + * @param id + * @return + */ + InvPreProductEntity findById(String id); } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java index dcd096a71..95db50e6f 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductDetailServiceImpl.java @@ -10,6 +10,8 @@ import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; +import com.glxp.api.req.inv.FilterInvProductDetailRequest; +import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.res.inv.InvPreProductDetailResponse; import com.glxp.api.service.inv.InvPreProductDetailService; import com.glxp.api.util.DateUtil; @@ -76,4 +78,9 @@ public class InvPreProductDetailServiceImpl implements InvPreProductDetailServic IoOrderEntity order = orderDao.selectOne(new QueryWrapper().select("createTime").eq("billNo", response.getOrderId())); response.setOrderTime(DateUtil.toDateStr(order.getCreateTime(), "yyyy-MM-dd HH:mm:ss")); } + + @Override + public boolean deleteInvPreProductDetail(FilterInvProductDetailRequest detailRequest) { + return invPreProductDetailDao.deleteInvPreProductDetail(detailRequest); + } } diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreProductServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductServiceImpl.java index 64e98b3dd..573d936b5 100644 --- a/src/main/java/com/glxp/api/service/inv/impl/InvPreProductServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreProductServiceImpl.java @@ -58,4 +58,10 @@ public class InvPreProductServiceImpl implements InvPreProductService { } return invPreProductDao.filterPreProductList(invPreProductRequest); } + + @Override + public InvPreProductEntity findById(String id) { + return invPreProductDao.selectById(id); + } + } diff --git a/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml index e5b60a42c..a44b17f39 100644 --- a/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/InvPreProductDetailDao.xml @@ -53,4 +53,26 @@ + + + delete + from inv_pre_product_detail + + + AND relId = #{relId} + + + AND batchNo = #{batchNo} + + + AND batchNo is null + + + AND supId = #{supId} + + + AND invCode = #{invCode} + + + \ No newline at end of file