Browse Source

优化产品管理

master
fanzongzhe 8 months ago
parent
commit
2c7f3e6a3b
  1. 3
      src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMapper.java
  2. 6
      src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMapper.xml
  3. 19
      src/main/java/com/yxt/goods/biz/baseproduct/BaseProductService.java
  4. 1
      src/main/java/com/yxt/goods/biz/baseproduct/BaseProductVo.java

3
src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMapper.java

@ -18,7 +18,8 @@ public interface BaseProductMapper extends BaseMapper<BaseProduct> {
IPage<BaseProductVo> selectPageVo(IPage<BaseProduct> page,@Param(Constants.WRAPPER) QueryWrapper<BaseProduct> qw); IPage<BaseProductVo> selectPageVo(IPage<BaseProduct> page,@Param(Constants.WRAPPER) QueryWrapper<BaseProduct> qw);
List<BaseProductChildVo> selChildrenList(@Param("sid") String sid, @Param("cSid") String cSid); // List<BaseProductChildVo> selChildrenList(@Param("sid") String sid, @Param("cSid") String cSid);
List<BaseProductChildVo> selChildrenList(@Param("sid") String sid);
int checkByGoodsSidAndUseOrgSid(@Param("goodsSid") String goodsSid, @Param("useOrgSid") String useOrgSid); int checkByGoodsSidAndUseOrgSid(@Param("goodsSid") String goodsSid, @Param("useOrgSid") String useOrgSid);

6
src/main/java/com/yxt/goods/biz/baseproduct/BaseProductMapper.xml

@ -13,7 +13,8 @@
g.goodsCode AS productCode, g.goodsCode AS productCode,
p.rateType, p.rateType,
m.rate, m.rate,
m.sid AS cSid m.sid AS cSid,
(SELECT COUNT(*) FROM base_product_material as pm WHERE pm.productSid = p.sid) as num
FROM FROM
base_product AS p base_product AS p
LEFT JOIN base_product_material AS m ON p.sid = m.productSid LEFT JOIN base_product_material AS m ON p.sid = m.productSid
@ -43,7 +44,8 @@
LEFT JOIN base_product_material AS m ON p.sid = m.productSid LEFT JOIN base_product_material AS m ON p.sid = m.productSid
LEFT JOIN goods_spu AS g ON p.goodsSid = g.sid LEFT JOIN goods_spu AS g ON p.goodsSid = g.sid
LEFT JOIN goods_spu AS mg ON m.materialSid = mg.sid LEFT JOIN goods_spu AS mg ON m.materialSid = mg.sid
WHERE p.sid = #{sid} and m.sid != #{cSid} WHERE p.sid = #{sid}
-- and m.sid != #{cSid}
</select> </select>
<select id="checkByGoodsSidAndUseOrgSid" resultType="java.lang.Integer"> <select id="checkByGoodsSidAndUseOrgSid" resultType="java.lang.Integer">

19
src/main/java/com/yxt/goods/biz/baseproduct/BaseProductService.java

@ -69,12 +69,21 @@ public class BaseProductService extends MybatisBaseService<BaseProductMapper, Ba
List<BaseProductVo> records = pagging.getRecords(); List<BaseProductVo> records = pagging.getRecords();
if (!records.isEmpty()) { if (!records.isEmpty()) {
for (BaseProductVo record : records) { for (BaseProductVo record : records) {
String childSid = record.getCSid(); String num = record.getNum();
String sid = record.getSid(); int i = Integer.parseInt(num);
List<BaseProductChildVo> children = baseMapper.selChildrenList(sid, childSid); if (i > 1) {
if (!children.isEmpty()) { record.setProductCode("");
record.setChildren(children); record.setProductName("");
record.setRate("");
// String childSid = record.getCSid();
String sid = record.getSid();
// List<BaseProductChildVo> children = baseMapper.selChildrenList(sid, childSid);
List<BaseProductChildVo> children = baseMapper.selChildrenList(sid);
if (!children.isEmpty()) {
record.setChildren(children);
}
} }
} }
} }
PagerVo<BaseProductVo> p = PagerUtil.pageToVo(pagging, null); PagerVo<BaseProductVo> p = PagerUtil.pageToVo(pagging, null);

1
src/main/java/com/yxt/goods/biz/baseproduct/BaseProductVo.java

@ -40,6 +40,7 @@ public class BaseProductVo implements Vo {
private String rateType; private String rateType;
private String sid; private String sid;
private String cSid; private String cSid;
private String num;
private List<BaseProductChildVo> children = new ArrayList<>(); private List<BaseProductChildVo> children = new ArrayList<>();
} }

Loading…
Cancel
Save