Browse Source

产品管理

master
fanzongzhe 9 months ago
parent
commit
39f79f38ac
  1. 47
      oms/src/main/java/com/yxt/oms/apiadmin/aggregation/BaseProductRest.java
  2. 10
      oms/src/main/java/com/yxt/oms/apiadmin/aggregation/GoodsSpuRest.java
  3. 25
      oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductChildVo.java
  4. 27
      oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductDetailsVo.java
  5. 27
      oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductDto.java
  6. 21
      oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductMaterialDetailsVo.java
  7. 33
      oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductQuery.java
  8. 45
      oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductService.java
  9. 45
      oms/src/main/java/com/yxt/oms/biz/func/baseproduct/BaseProductVo.java
  10. 4
      oms/src/main/java/com/yxt/oms/biz/func/goodsspu/GoodsSpuService.java
  11. 16
      oms/src/main/java/com/yxt/oms/biz/func/goodsspu/ProductGoodsQuery.java
  12. 17
      oms/src/main/java/com/yxt/oms/biz/func/goodsspu/ProductGoodsVo.java
  13. 21
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillService.java
  14. 5
      oms/src/main/java/com/yxt/oms/feign/goods/basegoodsspu/BaseGoodsSpuFeign.java
  15. 7
      oms/src/main/java/com/yxt/oms/feign/goods/basegoodsspu/BaseGoodsSpuFeignFallback.java
  16. 46
      oms/src/main/java/com/yxt/oms/feign/goods/baseproduct/BaseProductFeign.java

47
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<PagerVo<BaseProductVo>> listPage(@RequestBody PagerQuery<BaseProductQuery> pq) {
return baseProductService.listPage(pq);
}
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean saveOrUpdate(@RequestBody BaseProductDto dto) {
return baseProductService.saveProduct(dto);
}
@ApiOperation("编辑回显")
@GetMapping("/fetchBySid")
public ResultBean<BaseProductDetailsVo> fetchBySid(@RequestParam("sid") String sid) {
return baseProductService.fetchDetailsBySid(sid);
}
@ApiOperation("批量删除")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids) {
return baseProductService.deleteBySids(sids);
}
}

10
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<PagerVo<SalesGoodsVo>> getGoodsForSales(@RequestBody PagerQuery<SalesGoodsQuery> pq) {
return goodsSpuService.getGoodsForSales(pq);
}
@ApiOperation("产品管理获取商品")
@PostMapping("/getGoodsForProduct")
public ResultBean<List<ProductGoodsVo>> getGoodsForProduct(@RequestBody ProductGoodsQuery query) {
return goodsSpuService.getGoodsForProduct(query);
}
}

25
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<BaseProductChildVo> children = new ArrayList<>();
}

27
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<BaseProductMaterialDetailsVo> list = new ArrayList<>(); //原料列表
}

27
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<BaseProductMaterialDetailsVo> list = new ArrayList<>(); //原料列表
}

21
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;//产出比例
}

33
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;
}

45
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<PagerVo<BaseProductVo>> listPage(PagerQuery<BaseProductQuery> 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<BaseProductDetailsVo> fetchDetailsBySid(String sid) {
return baseProductFeign.fetchBySid(sid);
}
public ResultBean deleteBySids(String[] sids) {
return baseProductFeign.delBySids(sids);
}
}

45
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<BaseProductChildVo> children = new ArrayList<>();
}

4
oms/src/main/java/com/yxt/oms/biz/func/goodsspu/GoodsSpuService.java

@ -46,4 +46,8 @@ public class GoodsSpuService {
}
return goodsForSales;
}
public ResultBean<List<ProductGoodsVo>> getGoodsForProduct(ProductGoodsQuery query) {
return goodsSpuFeign.getGoodsForProduct(query);
}
}

16
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;
}

17
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;
}

21
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillService.java

@ -202,6 +202,27 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper,
}
public ResultBean submit(SmsSalesBillDto dto) {
List<SmsSalesBillDetailDetailsVo> goodsList = dto.getGoodsList();
if (!goodsList.isEmpty() && goodsList.size() > 0) {
for (SmsSalesBillDetailDetailsVo smsSalesBillDetailDetailsVo : goodsList) {
List<String> pic = smsSalesBillDetailDetailsVo.getPic();
List<String> 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<FileQueryUrl> 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);
}
}

5
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<PagerVo<SalesGoodsVo>> getGoodsForSales(@RequestBody PagerQuery<SalesGoodsQuery> pq);
@ApiOperation("产品管理获取商品")
@PostMapping("/getGoodsForProduct")
public ResultBean<List<ProductGoodsVo>> getGoodsForProduct(@RequestBody ProductGoodsQuery query);
}

7
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<PagerVo<SalesGoodsVo>> getGoodsForSales(PagerQuery<SalesGoodsQuery> pq) {
return null;
}
@Override
public ResultBean<List<ProductGoodsVo>> getGoodsForProduct(ProductGoodsQuery query) {
return null;
}
}

46
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<PagerVo<BaseProductVo>> listPage(@RequestBody PagerQuery<BaseProductQuery> pq);
@ApiOperation("保存修改")
@PostMapping("/saveOrUpdate")
public ResultBean saveOrUpdate(@RequestBody BaseProductDto dto);
@ApiOperation("编辑回显")
@GetMapping("/fetchBySid")
public ResultBean<BaseProductDetailsVo> fetchBySid(@RequestParam("sid") String sid);
@ApiOperation("批量删除")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids);
}
Loading…
Cancel
Save