From 39f79f38ac8a25678257dfd9e1e39df1354366b5 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Tue, 13 Aug 2024 15:37:19 +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 --- .../apiadmin/aggregation/BaseProductRest.java | 47 +++++++++++++++++++ .../apiadmin/aggregation/GoodsSpuRest.java | 10 ++-- .../func/baseproduct/BaseProductChildVo.java | 25 ++++++++++ .../baseproduct/BaseProductDetailsVo.java | 27 +++++++++++ .../biz/func/baseproduct/BaseProductDto.java | 27 +++++++++++ .../BaseProductMaterialDetailsVo.java | 21 +++++++++ .../func/baseproduct/BaseProductQuery.java | 33 +++++++++++++ .../func/baseproduct/BaseProductService.java | 45 ++++++++++++++++++ .../biz/func/baseproduct/BaseProductVo.java | 45 ++++++++++++++++++ .../biz/func/goodsspu/GoodsSpuService.java | 4 ++ .../biz/func/goodsspu/ProductGoodsQuery.java | 16 +++++++ .../oms/biz/func/goodsspu/ProductGoodsVo.java | 17 +++++++ .../smssalesbill/SmsSalesBillService.java | 21 +++++++++ .../goods/basegoodsspu/BaseGoodsSpuFeign.java | 5 ++ .../BaseGoodsSpuFeignFallback.java | 7 +++ .../goods/baseproduct/BaseProductFeign.java | 46 ++++++++++++++++++ 16 files changed, 392 insertions(+), 4 deletions(-) create mode 100644 oms/src/main/java/com/yxt/oms/apiadmin/aggregation/BaseProductRest.java create mode 100644 oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductChildVo.java create mode 100644 oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductDetailsVo.java create mode 100644 oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductDto.java create mode 100644 oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductMaterialDetailsVo.java create mode 100644 oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductQuery.java create mode 100644 oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductService.java create mode 100644 oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductVo.java create mode 100644 oms/src/main/java/com/yxt/oms/biz/func/goodsspu/ProductGoodsQuery.java create mode 100644 oms/src/main/java/com/yxt/oms/biz/func/goodsspu/ProductGoodsVo.java create mode 100644 oms/src/main/java/com/yxt/oms/feign/goods/baseproduct/BaseProductFeign.java diff --git a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/BaseProductRest.java b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/BaseProductRest.java new file mode 100644 index 0000000..8e35b0d --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/BaseProductRest.java @@ -0,0 +1,47 @@ +package com.yxt.oms.apiadmin.aggregation; + + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.oms.biz.func.baseproduct.*; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +/** + * @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) { + return baseProductService.listPage(pq); + } + + @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) { + return baseProductService.deleteBySids(sids); + } +} diff --git a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/GoodsSpuRest.java b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/GoodsSpuRest.java index 4e7bf88..c87d264 100644 --- a/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/GoodsSpuRest.java +++ b/oms/src/main/java/com/yxt/oms/apiadmin/aggregation/GoodsSpuRest.java @@ -3,9 +3,7 @@ package com.yxt.oms.apiadmin.aggregation; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; -import com.yxt.oms.biz.func.goodsspu.GoodsSpuService; -import com.yxt.oms.biz.func.goodsspu.SalesGoodsQuery; -import com.yxt.oms.biz.func.goodsspu.SalesGoodsVo; +import com.yxt.oms.biz.func.goodsspu.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -33,5 +31,9 @@ public class GoodsSpuRest { public ResultBean> getGoodsForSales(@RequestBody PagerQuery pq) { return goodsSpuService.getGoodsForSales(pq); } - + @ApiOperation("产品管理获取商品") + @PostMapping("/getGoodsForProduct") + public ResultBean> getGoodsForProduct(@RequestBody ProductGoodsQuery query) { + return goodsSpuService.getGoodsForProduct(query); + } } diff --git a/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductChildVo.java b/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductChildVo.java new file mode 100644 index 0000000..3d11dd4 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductChildVo.java @@ -0,0 +1,25 @@ +package com.yxt.oms.biz.func.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/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductDetailsVo.java b/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductDetailsVo.java new file mode 100644 index 0000000..ea9b3f6 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductDetailsVo.java @@ -0,0 +1,27 @@ +package com.yxt.oms.biz.func.baseproduct; + +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/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductDto.java b/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductDto.java new file mode 100644 index 0000000..0941a71 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductDto.java @@ -0,0 +1,27 @@ +package com.yxt.oms.biz.func.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/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductMaterialDetailsVo.java b/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductMaterialDetailsVo.java new file mode 100644 index 0000000..875c348 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductMaterialDetailsVo.java @@ -0,0 +1,21 @@ +package com.yxt.oms.biz.func.baseproduct; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @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/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductQuery.java b/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductQuery.java new file mode 100644 index 0000000..dfee69f --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductQuery.java @@ -0,0 +1,33 @@ +package com.yxt.oms.biz.func.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/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductService.java b/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductService.java new file mode 100644 index 0000000..140a481 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductService.java @@ -0,0 +1,45 @@ +package com.yxt.oms.biz.func.baseproduct; + +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.oms.biz.func.commonmethod.CommonMethod; +import com.yxt.oms.biz.func.commonmethod.DataRule; +import com.yxt.oms.feign.goods.baseproduct.BaseProductFeign; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + + +/** + * @author wangpengfei + * @date 2024/2/26 13:40 + */ +@Service +public class BaseProductService { + @Autowired + private BaseProductFeign baseProductFeign; + @Autowired + private CommonMethod commonMethod; + + public ResultBean> listPage(PagerQuery pq) { + //通用组装方法 根据用户sid、菜单、组织全路径sid 获取组装参数 + BaseProductQuery query = pq.getParams(); + DataRule dataRule=commonMethod.dataRule(query.getOrgPath(),query.getMenuUrl(),query.getUserSid()).getData(); + pq.getParams().setOrgLevelKey(dataRule.getDataRuleId()); + pq.getParams().setIndex(dataRule.getIndex()); + return baseProductFeign.listPage(pq); + } + + public ResultBean saveProduct(BaseProductDto dto) { + return baseProductFeign.saveOrUpdate(dto); + } + + public ResultBean fetchDetailsBySid(String sid) { + return baseProductFeign.fetchBySid(sid); + } + + public ResultBean deleteBySids(String[] sids) { + return baseProductFeign.delBySids(sids); + } +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductVo.java b/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductVo.java new file mode 100644 index 0000000..68e3b80 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductVo.java @@ -0,0 +1,45 @@ +package com.yxt.oms.biz.func.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/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/GoodsSpuService.java b/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/GoodsSpuService.java index 3e6a23d..9ea8ef6 100644 --- a/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/GoodsSpuService.java +++ b/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/GoodsSpuService.java @@ -46,4 +46,8 @@ public class GoodsSpuService { } return goodsForSales; } + + public ResultBean> getGoodsForProduct(ProductGoodsQuery query) { + return goodsSpuFeign.getGoodsForProduct(query); + } } diff --git a/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/ProductGoodsQuery.java b/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/ProductGoodsQuery.java new file mode 100644 index 0000000..c0225b6 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/ProductGoodsQuery.java @@ -0,0 +1,16 @@ +package com.yxt.oms.biz.func.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/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/ProductGoodsVo.java b/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/ProductGoodsVo.java new file mode 100644 index 0000000..36b021c --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/biz/func/goodsspu/ProductGoodsVo.java @@ -0,0 +1,17 @@ +package com.yxt.oms.biz.func.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; + +} diff --git a/oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillService.java b/oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillService.java index fa2287c..dd794a9 100644 --- a/oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillService.java +++ b/oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillService.java @@ -202,6 +202,27 @@ public class SmsSalesBillService extends MybatisBaseService goodsList = dto.getGoodsList(); + if (!goodsList.isEmpty() && goodsList.size() > 0) { + for (SmsSalesBillDetailDetailsVo smsSalesBillDetailDetailsVo : goodsList) { + List pic = smsSalesBillDetailDetailsVo.getPic(); + List pic2 = new ArrayList<>(); + if (!pic.isEmpty() && pic.size() > 0) { + for (String appendixUrl : pic) { + appendixUrl = appendixUrl.replace(fileUploadComponent.getUrlPrefix(), ""); + pic2.add(appendixUrl); + } + smsSalesBillDetailDetailsVo.setPic(pic2); + } + } + } + List files = dto.getFiles(); + if (!files.isEmpty() && files.size() > 0) { + for (FileQueryUrl appendixUrl : files) { + String filePath = appendixUrl.getUrl().replace(fileUploadComponent.getUrlPrefix(), ""); + appendixUrl.setUrl(filePath); + } + } return smsSalesBillFeign.submit(dto); } } diff --git a/oms/src/main/java/com/yxt/oms/feign/goods/basegoodsspu/BaseGoodsSpuFeign.java b/oms/src/main/java/com/yxt/oms/feign/goods/basegoodsspu/BaseGoodsSpuFeign.java index 407a7b3..2ee775b 100644 --- a/oms/src/main/java/com/yxt/oms/feign/goods/basegoodsspu/BaseGoodsSpuFeign.java +++ b/oms/src/main/java/com/yxt/oms/feign/goods/basegoodsspu/BaseGoodsSpuFeign.java @@ -3,6 +3,8 @@ package com.yxt.oms.feign.goods.basegoodsspu; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.oms.biz.func.goodsspu.ProductGoodsQuery; +import com.yxt.oms.biz.func.goodsspu.ProductGoodsVo; import com.yxt.oms.biz.func.goodsspu.SalesGoodsQuery; import com.yxt.oms.biz.func.goodsspu.SalesGoodsVo; import com.yxt.oms.biz.func.basegoodsspu.BaseGoodsSpuDto; @@ -59,4 +61,7 @@ public interface BaseGoodsSpuFeign { @ApiOperation("销售订单获取商品") @PostMapping("/getGoodsForSales") public ResultBean> getGoodsForSales(@RequestBody PagerQuery pq); + @ApiOperation("产品管理获取商品") + @PostMapping("/getGoodsForProduct") + public ResultBean> getGoodsForProduct(@RequestBody ProductGoodsQuery query); } diff --git a/oms/src/main/java/com/yxt/oms/feign/goods/basegoodsspu/BaseGoodsSpuFeignFallback.java b/oms/src/main/java/com/yxt/oms/feign/goods/basegoodsspu/BaseGoodsSpuFeignFallback.java index a323962..4c6eb34 100644 --- a/oms/src/main/java/com/yxt/oms/feign/goods/basegoodsspu/BaseGoodsSpuFeignFallback.java +++ b/oms/src/main/java/com/yxt/oms/feign/goods/basegoodsspu/BaseGoodsSpuFeignFallback.java @@ -6,6 +6,8 @@ import com.yxt.common.core.vo.PagerVo; import com.yxt.oms.biz.func.basegoodsspu.BaseGoodsSpuDto; import com.yxt.oms.biz.func.basegoodsspu.BaseGoodsSpuQuery; import com.yxt.oms.biz.func.basegoodsspu.BaseGoodsSpuVo; +import com.yxt.oms.biz.func.goodsspu.ProductGoodsQuery; +import com.yxt.oms.biz.func.goodsspu.ProductGoodsVo; import com.yxt.oms.biz.func.goodsspu.SalesGoodsQuery; import com.yxt.oms.biz.func.goodsspu.SalesGoodsVo; import com.yxt.oms.biz.func.basegoodsspu.BaseGoodsSpuDto; @@ -69,4 +71,9 @@ public class BaseGoodsSpuFeignFallback implements BaseGoodsSpuFeign { public ResultBean> getGoodsForSales(PagerQuery pq) { return null; } + + @Override + public ResultBean> getGoodsForProduct(ProductGoodsQuery query) { + return null; + } } diff --git a/oms/src/main/java/com/yxt/oms/feign/goods/baseproduct/BaseProductFeign.java b/oms/src/main/java/com/yxt/oms/feign/goods/baseproduct/BaseProductFeign.java new file mode 100644 index 0000000..9194ba0 --- /dev/null +++ b/oms/src/main/java/com/yxt/oms/feign/goods/baseproduct/BaseProductFeign.java @@ -0,0 +1,46 @@ +package com.yxt.oms.feign.goods.baseproduct; + +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.oms.biz.func.basegoodssku.BaseGoodsSkuVo; +import com.yxt.oms.biz.func.baseproduct.BaseProductDetailsVo; +import com.yxt.oms.biz.func.baseproduct.BaseProductDto; +import com.yxt.oms.biz.func.baseproduct.BaseProductQuery; +import com.yxt.oms.biz.func.baseproduct.BaseProductVo; +import com.yxt.oms.biz.func.purchasebill.GoodsSkuPurSelectList; +import com.yxt.oms.biz.func.purchasebill.GoodsSkuPurSelectQuery; +import com.yxt.oms.utils.OrgPathQuery; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/20 + **/ +@FeignClient( + contextId = "yss-common-goods-BaseProductFeign", + name = "ss-common-goods", + path = "/v1/product") +public interface BaseProductFeign { + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("保存修改") + @PostMapping("/saveOrUpdate") + public ResultBean saveOrUpdate(@RequestBody BaseProductDto dto); + + @ApiOperation("编辑回显") + @GetMapping("/fetchBySid") + public ResultBean fetchBySid(@RequestParam("sid") String sid); + + @ApiOperation("批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids); +}