From 742dea32682c7b18098a9bd7147739877824cbaa Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Tue, 13 Aug 2024 15:37:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A7=E5=93=81=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../yxt/goods/apiadmin/BaseProductRest.java | 58 +++++++ .../com/yxt/goods/apiadmin/GoodsSpuRest.java | 6 + .../goods/biz/baseproduct/BaseProduct.java | 21 +++ .../biz/baseproduct/BaseProductChildVo.java | 25 +++ .../biz/baseproduct/BaseProductDetailsVo.java | 28 ++++ .../goods/biz/baseproduct/BaseProductDto.java | 28 ++++ .../biz/baseproduct/BaseProductMapper.java | 26 +++ .../biz/baseproduct/BaseProductMapper.xml | 55 ++++++ .../BaseProductMaterialDetailsVo.java | 23 +++ .../biz/baseproduct/BaseProductQuery.java | 33 ++++ .../biz/baseproduct/BaseProductService.java | 156 ++++++++++++++++++ .../goods/biz/baseproduct/BaseProductVo.java | 45 +++++ .../BaseProductMaterial.java | 21 +++ .../BaseProductMaterialMapper.java | 27 +++ .../BaseProductMaterialMapper.xml | 8 + .../BaseProductMaterialService.java | 24 +++ .../goods/biz/goodsspu/GoodsSpuMapper.java | 2 + .../yxt/goods/biz/goodsspu/GoodsSpuMapper.xml | 8 + .../goods/biz/goodsspu/GoodsSpuService.java | 15 ++ .../goods/biz/goodsspu/ProductGoodsQuery.java | 16 ++ .../goods/biz/goodsspu/ProductGoodsVo.java | 17 ++ 21 files changed, 642 insertions(+) create mode 100644 src/main/java/com/yxt/goods/apiadmin/BaseProductRest.java create mode 100644 src/main/java/com/yxt/goods/biz/baseproduct/BaseProduct.java create mode 100644 src/main/java/com/yxt/goods/biz/baseproduct/BaseProductChildVo.java create mode 100644 src/main/java/com/yxt/goods/biz/baseproduct/BaseProductDetailsVo.java create mode 100644 src/main/java/com/yxt/goods/biz/baseproduct/BaseProductDto.java create mode 100644 src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMapper.java create mode 100644 src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMapper.xml create mode 100644 src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMaterialDetailsVo.java create mode 100644 src/main/java/com/yxt/goods/biz/baseproduct/BaseProductQuery.java create mode 100644 src/main/java/com/yxt/goods/biz/baseproduct/BaseProductService.java create mode 100644 src/main/java/com/yxt/goods/biz/baseproduct/BaseProductVo.java create mode 100644 src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterial.java create mode 100644 src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterialMapper.java create mode 100644 src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterialMapper.xml create mode 100644 src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterialService.java create mode 100644 src/main/java/com/yxt/goods/biz/goodsspu/ProductGoodsQuery.java create mode 100644 src/main/java/com/yxt/goods/biz/goodsspu/ProductGoodsVo.java diff --git a/src/main/java/com/yxt/goods/apiadmin/BaseProductRest.java b/src/main/java/com/yxt/goods/apiadmin/BaseProductRest.java new file mode 100644 index 0000000..9291def --- /dev/null +++ b/src/main/java/com/yxt/goods/apiadmin/BaseProductRest.java @@ -0,0 +1,58 @@ +package com.yxt.goods.apiadmin; + +import com.baomidou.mybatisplus.extension.api.R; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.goods.biz.baseproduct.*; +import com.yxt.goods.biz.goodsspu.*; +import com.yxt.goods.utils.OrgPathQuery; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/3/7 16:58 + */ +@Api(tags = "产品管理") +@RestController +@RequestMapping("/v1/product") +public class BaseProductRest { + @Autowired + private BaseProductService baseProductService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = baseProductService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("保存修改") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody BaseProductDto dto) { + return baseProductService.saveProduct(dto); + } + + @ApiOperation("编辑回显") + @GetMapping("/fetchBySid") + public ResultBean fetchBySid(@RequestParam("sid") String sid) { + return baseProductService.fetchDetailsBySid(sid); + } + + @ApiOperation("批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids) { + ResultBean rb = ResultBean.fireFail(); + baseProductService.deleteBySids(sids); + return rb.success(); + } +} diff --git a/src/main/java/com/yxt/goods/apiadmin/GoodsSpuRest.java b/src/main/java/com/yxt/goods/apiadmin/GoodsSpuRest.java index d0c1447..d4d1eef 100644 --- a/src/main/java/com/yxt/goods/apiadmin/GoodsSpuRest.java +++ b/src/main/java/com/yxt/goods/apiadmin/GoodsSpuRest.java @@ -34,6 +34,12 @@ public class GoodsSpuRest { return goodsSpuService.getGoodsForSales(pq); } + @ApiOperation("产品管理获取商品") + @PostMapping("/getGoodsForProduct") + public ResultBean> getGoodsForProduct(@RequestBody ProductGoodsQuery query) { + return goodsSpuService.getGoodsForProduct(query); + } + @ApiOperation("分页列表") @PostMapping("/listPage") public ResultBean> listPage(@RequestBody PagerQuery pq) { diff --git a/src/main/java/com/yxt/goods/biz/baseproduct/BaseProduct.java b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProduct.java new file mode 100644 index 0000000..1b8680f --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProduct.java @@ -0,0 +1,21 @@ +package com.yxt.goods.biz.baseproduct; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:36 + */ +@Data +public class BaseProduct extends BaseEntity { + + + @ApiModelProperty("对应商品sid") + private String goodsSid; // 对应商品sid + @ApiModelProperty("0产出率/1配比(初加工/深加工)") + private Integer rateType; // 0产出率/1配比(初加工/深加工) + private String useOrgSid; + private String createOrgSid; +} diff --git a/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductChildVo.java b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductChildVo.java new file mode 100644 index 0000000..6dba916 --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductChildVo.java @@ -0,0 +1,25 @@ +package com.yxt.goods.biz.baseproduct; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/8/13 9:34 + */ +@Data +public class BaseProductChildVo { + + private String sid; + private String cSid; + private String productCode; //产品编码 + private String productName; //产品名称 + private String rateType; //产出率/配比 0/1 + private String materialName; //原料名称 + private String materialCode;//原料编码 + private String rate;//产出比例 + private List children = new ArrayList<>(); +} diff --git a/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductDetailsVo.java b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductDetailsVo.java new file mode 100644 index 0000000..29b68ba --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductDetailsVo.java @@ -0,0 +1,28 @@ +package com.yxt.goods.biz.baseproduct; + +import com.yxt.common.core.dto.Dto; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/8/13 10:37 + */ +@Data +public class BaseProductDetailsVo implements Vo { + private String sid; + private String createBySid; + private String useOrgSid; + private String createOrgSid; + @ApiModelProperty("对应商品sid") + private String goodsSid; // 产品对应商品sid + private String productName; // 产品名称 + @ApiModelProperty("0产出率/1配比(初加工/深加工)") + private String rateType; // 0产出率/1配比(初加工/深加工) + private List list = new ArrayList<>(); //原料列表 +} diff --git a/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductDto.java b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductDto.java new file mode 100644 index 0000000..05fc16d --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductDto.java @@ -0,0 +1,28 @@ +package com.yxt.goods.biz.baseproduct; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/8/13 10:37 + */ +@Data +public class BaseProductDto implements Dto { + + private String sid; + private String createBySid; + private String useOrgSid; + private String createOrgSid; + @ApiModelProperty("对应商品sid") + private String goodsSid; // 产品对应商品sid + private String productName; // 产品名称 + @ApiModelProperty("0产出率/1配比(初加工/深加工)") + private String rateType; // 0产出率/1配比(初加工/深加工) + private List list = new ArrayList<>(); //原料列表 +} diff --git a/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMapper.java b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMapper.java new file mode 100644 index 0000000..39f579d --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMapper.java @@ -0,0 +1,26 @@ +package com.yxt.goods.biz.baseproduct; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Mapper +public interface BaseProductMapper extends BaseMapper { + + IPage selectPageVo(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + + List selChildrenList(@Param("sid") String sid, @Param("cSid") String cSid); + + int checkByGoodsSidAndUseOrgSid(@Param("goodsSid") String goodsSid, @Param("useOrgSid") String useOrgSid); + + int checkByGoodsSidAndUseOrgSidAndSid(@Param("goodsSid")String goodsSid, @Param("useOrgSid")String useOrgSid, @Param("sid")String sid); +} diff --git a/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMapper.xml b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMapper.xml new file mode 100644 index 0000000..dc925fd --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMapper.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + diff --git a/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMaterialDetailsVo.java b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMaterialDetailsVo.java new file mode 100644 index 0000000..e1aea0a --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMaterialDetailsVo.java @@ -0,0 +1,23 @@ +package com.yxt.goods.biz.baseproduct; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/8/13 10:40 + */ +@Data +public class BaseProductMaterialDetailsVo { + + @ApiModelProperty("原料sid-对应商品sid") + private String materialSid; // 原料sid-对应商品sid + private String materialName; //原料名称 + private String materialCode;//原料编码 + private String rate;//产出比例 + + +} diff --git a/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductQuery.java b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductQuery.java new file mode 100644 index 0000000..269667a --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductQuery.java @@ -0,0 +1,33 @@ +package com.yxt.goods.biz.baseproduct; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/8/13 9:30 + */ +@Data +public class BaseProductQuery implements Query { + + /** + * 产品名称 + */ + private String productName; + /** + * 比例类别 + */ + private String rateType; + + + private String orgLevelKey;//权限等级 + @ApiModelProperty("菜单路由") + private String menuUrl; + @ApiModelProperty("组织全路径sid") + private String orgPath; + @ApiModelProperty("用户sid") + private String userSid; + private int index; +} diff --git a/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductService.java b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductService.java new file mode 100644 index 0000000..2622605 --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductService.java @@ -0,0 +1,156 @@ +package com.yxt.goods.biz.baseproduct; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.goods.biz.baseproductmaterial.BaseProductMaterial; +import com.yxt.goods.biz.baseproductmaterial.BaseProductMaterialService; +import com.yxt.goods.biz.goodsspu.GoodsSpu; +import com.yxt.goods.biz.goodsspu.GoodsSpuService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Service +public class BaseProductService extends MybatisBaseService { + + @Autowired + private BaseProductMaterialService baseProductMaterialService; + @Autowired + private GoodsSpuService goodsSpuService; + public PagerVo listPageVo(PagerQuery pq) { + BaseProductQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getOrgLevelKey())) { + //数据权限ID(1全部、2本部门及子部门、3本部门、4个人) + String orgLevelKey = query.getOrgLevelKey(); + String orgSidPath = query.getOrgPath(); + int index = query.getIndex(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, index); + qw.like("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, index); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, index); + qw.apply("s.orgSidPath like('" + orgSidPath + "')"); + } else if ("4".equals(orgLevelKey)) { + qw.eq("p.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + if (StringUtils.isNotBlank(query.getProductName())) { + qw.like("g.goodsName", query.getProductName()); + } + if (StringUtils.isNotBlank(query.getRateType())) { + qw.eq("p.rateType", query.getRateType()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + List records = pagging.getRecords(); + if (!records.isEmpty()) { + for (BaseProductVo record : records) { + String childSid = record.getCSid(); + String sid = record.getSid(); + List children = baseMapper.selChildrenList(sid, childSid); + if (!children.isEmpty()) { + record.setChildren(children); + } + } + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean saveProduct(BaseProductDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = ""; + if (StringUtils.isNotBlank(dto.getSid())) { + sid = dto.getSid(); + int count = baseMapper.checkByGoodsSidAndUseOrgSidAndSid(dto.getGoodsSid(),dto.getUseOrgSid(),sid); + if (count > 0) { + return rb.setMsg("产品名称已存在,请勿重复选择"); + } + BaseProduct baseProduct = fetchBySid(sid); + BeanUtil.copyProperties(dto,baseProduct,"id","sid"); + baseMapper.updateById(baseProduct); + baseProductMaterialService.delByProductSid(sid); + } else { + int count = baseMapper.checkByGoodsSidAndUseOrgSid(dto.getGoodsSid(),dto.getUseOrgSid()); + if (count > 0) { + return rb.setMsg("产品名称已存在,请勿重复选择"); + } + BaseProduct baseProduct = new BaseProduct(); + BeanUtil.copyProperties(dto,baseProduct,"id","sid"); + baseMapper.insert(baseProduct); + sid = baseProduct.getSid(); + } + List list = dto.getList(); + if (!list.isEmpty()) { + for (BaseProductMaterialDetailsVo detailsVo : list) { + BaseProductMaterial material = new BaseProductMaterial(); + BeanUtil.copyProperties(detailsVo,material,"id","sid"); + material.setProductSid(sid); + baseProductMaterialService.insert(material); + } + } + return rb.success(); + } + + public ResultBean fetchDetailsBySid(String sid) { + ResultBean rb = ResultBean.fireFail(); + BaseProductDetailsVo vo = new BaseProductDetailsVo(); + BaseProduct baseProduct = fetchBySid(sid); + if (null != baseProduct) { + BeanUtil.copyProperties(baseProduct,vo); + String goodsSid = baseProduct.getGoodsSid(); + GoodsSpu goodsSpu = goodsSpuService.fetchBySid(goodsSid); + if (null != goodsSpu) { + vo.setProductName(goodsSpu.getGoodsName()); + } + List list = new ArrayList<>(); //原料列表 + List ms = baseProductMaterialService.selByProductSid(sid); + if (!ms.isEmpty()) { + for (BaseProductMaterial m : ms) { + BaseProductMaterialDetailsVo md = new BaseProductMaterialDetailsVo(); + BeanUtil.copyProperties(m,md); + String materialSid = m.getMaterialSid(); + GoodsSpu mGoodsSpu = goodsSpuService.fetchBySid(materialSid); + if (null != mGoodsSpu) { + md.setMaterialName(mGoodsSpu.getGoodsName()); + md.setMaterialCode(mGoodsSpu.getGoodsCode()); + } + list.add(md); + } + vo.setList(list); + } + } + return rb.success().setData(vo); + } + + public void deleteBySids(String[] sids) { + delBySids(sids); + for (String sid : sids) { + baseProductMaterialService.delByProductSid(sid); + } + } +} diff --git a/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductVo.java b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductVo.java new file mode 100644 index 0000000..7f4abb9 --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/baseproduct/BaseProductVo.java @@ -0,0 +1,45 @@ +package com.yxt.goods.biz.baseproduct; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/8/13 9:30 + */ +@Data +public class BaseProductVo implements Vo { + + /** + * 原料编码 + */ + private String materialCode; + /** + * 原料名称 + */ + private String materialName; + /** + * 产品编码 + */ + private String productCode; + /** + * 产品名称 + */ + private String productName; + /** + * 比例 + */ + private String rate; + /** + * 比例类别 + */ + private String rateType; + private String sid; + private String cSid; + private List children = new ArrayList<>(); + +} diff --git a/src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterial.java b/src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterial.java new file mode 100644 index 0000000..51c038a --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterial.java @@ -0,0 +1,21 @@ +package com.yxt.goods.biz.baseproductmaterial; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author wangpengfei + * @date 2024/2/26 13:36 + */ +@Data +public class BaseProductMaterial extends BaseEntity { + + @ApiModelProperty("产品sid") + private String productSid; // 产品sid + @ApiModelProperty("原料sid-对应商品sid") + private String materialSid; // 原料sid-对应商品sid + @ApiModelProperty("比例(%产品比例/配比)") + private Double rate; // 比例(%产品比例/配比) + +} diff --git a/src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterialMapper.java b/src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterialMapper.java new file mode 100644 index 0000000..43a235a --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterialMapper.java @@ -0,0 +1,27 @@ +package com.yxt.goods.biz.baseproductmaterial; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.goods.biz.goodsbrandinfo.GoodsBrandInfo; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Mapper +public interface BaseProductMaterialMapper extends BaseMapper { + + @Delete("delete from base_product_material where productSid =#{sid}") + void delByProductSid(String sid); + + @Select("select * from base_product_material where productSid =#{sid}") + List selByProductSid(String sid); +} diff --git a/src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterialMapper.xml b/src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterialMapper.xml new file mode 100644 index 0000000..efef5e5 --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterialMapper.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterialService.java b/src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterialService.java new file mode 100644 index 0000000..26bdc7f --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/baseproductmaterial/BaseProductMaterialService.java @@ -0,0 +1,24 @@ +package com.yxt.goods.biz.baseproductmaterial; + + +import com.yxt.common.base.service.MybatisBaseService; +import org.springframework.stereotype.Service; + +import java.util.List; + + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Service +public class BaseProductMaterialService extends MybatisBaseService { + + public void delByProductSid(String sid) { + baseMapper.delByProductSid(sid); + } + + public List selByProductSid(String sid) { + return baseMapper.selByProductSid(sid); + } +} diff --git a/src/main/java/com/yxt/goods/biz/goodsspu/GoodsSpuMapper.java b/src/main/java/com/yxt/goods/biz/goodsspu/GoodsSpuMapper.java index 8e6daeb..bad09d1 100644 --- a/src/main/java/com/yxt/goods/biz/goodsspu/GoodsSpuMapper.java +++ b/src/main/java/com/yxt/goods/biz/goodsspu/GoodsSpuMapper.java @@ -23,4 +23,6 @@ public interface GoodsSpuMapper extends BaseMapper { List listAll(@Param("orgPath")String orgPath); IPage getGoodsForSales(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + List getGoodsForProduct(@Param(Constants.WRAPPER) QueryWrapper qw); } diff --git a/src/main/java/com/yxt/goods/biz/goodsspu/GoodsSpuMapper.xml b/src/main/java/com/yxt/goods/biz/goodsspu/GoodsSpuMapper.xml index b9e0822..b776e08 100644 --- a/src/main/java/com/yxt/goods/biz/goodsspu/GoodsSpuMapper.xml +++ b/src/main/java/com/yxt/goods/biz/goodsspu/GoodsSpuMapper.xml @@ -55,6 +55,14 @@ ${ew.sqlSegment} + UPDATE goods_spu SET isDelete=1 diff --git a/src/main/java/com/yxt/goods/biz/goodsspu/GoodsSpuService.java b/src/main/java/com/yxt/goods/biz/goodsspu/GoodsSpuService.java index 9a0a86a..ac827d2 100644 --- a/src/main/java/com/yxt/goods/biz/goodsspu/GoodsSpuService.java +++ b/src/main/java/com/yxt/goods/biz/goodsspu/GoodsSpuService.java @@ -529,4 +529,19 @@ public class GoodsSpuService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); return rb.success().setData(p); } + + public ResultBean> getGoodsForProduct(ProductGoodsQuery query) { + ResultBean rb = ResultBean.fireFail(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getQueryName())) { + qw.like("goodsName", query.getQueryName()); + } + if (StringUtils.isNotBlank(query.getUseOrgSid())) { + qw.like("useOrgSid", query.getUseOrgSid()); + } + qw.eq("isEnable" , 1); + qw.eq("isDelete" ,0); + List list = baseMapper.getGoodsForProduct(qw); + return rb.success().setData(list); + } } diff --git a/src/main/java/com/yxt/goods/biz/goodsspu/ProductGoodsQuery.java b/src/main/java/com/yxt/goods/biz/goodsspu/ProductGoodsQuery.java new file mode 100644 index 0000000..3d8983e --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/goodsspu/ProductGoodsQuery.java @@ -0,0 +1,16 @@ +package com.yxt.goods.biz.goodsspu; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/8/13 10:22 + */ +@Data +public class ProductGoodsQuery { + + private String queryName; + private String useOrgSid; + +} diff --git a/src/main/java/com/yxt/goods/biz/goodsspu/ProductGoodsVo.java b/src/main/java/com/yxt/goods/biz/goodsspu/ProductGoodsVo.java new file mode 100644 index 0000000..797f7b2 --- /dev/null +++ b/src/main/java/com/yxt/goods/biz/goodsspu/ProductGoodsVo.java @@ -0,0 +1,17 @@ +package com.yxt.goods.biz.goodsspu; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/8/13 10:20 + */ +@Data +public class ProductGoodsVo { + + private String sid; + private String goodsName; + private String goodsCode; + +}