
16 changed files with 392 additions and 4 deletions
@ -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); |
||||
|
} |
||||
|
} |
@ -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<>(); |
||||
|
} |
@ -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<>(); //原料列表
|
||||
|
} |
@ -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<>(); //原料列表
|
||||
|
} |
@ -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;//产出比例
|
||||
|
|
||||
|
} |
@ -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; |
||||
|
} |
@ -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); |
||||
|
} |
||||
|
} |
@ -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<>(); |
||||
|
|
||||
|
} |
@ -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; |
||||
|
|
||||
|
} |
@ -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; |
||||
|
|
||||
|
} |
@ -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…
Reference in new issue