Browse Source

商品关联分部

zouxuan 4 years ago
parent
commit
bf25694b5d

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GoodsDao.java

@@ -199,4 +199,11 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
      * @return
      * @return
      */
      */
     Integer getReplacementInstrumentCount(Map<String, Object> params);
     Integer getReplacementInstrumentCount(Map<String, Object> params);
+
+    /**
+     * 获取商品分部列表
+     * @param goodsIds
+     * @return
+     */
+    List<Map<Integer, String>> findGoodsOrganNames(@Param("goodsIds") List<Integer> goodsIds);
 }
 }

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/GoodsService.java

@@ -5,6 +5,8 @@ import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.GoodsProcurement;
 import com.ym.mec.biz.dal.entity.GoodsProcurement;
 import com.ym.mec.biz.dal.entity.SellOrder;
 import com.ym.mec.biz.dal.entity.SellOrder;
 import com.ym.mec.biz.dal.enums.AccountType;
 import com.ym.mec.biz.dal.enums.AccountType;
+import com.ym.mec.biz.dal.page.GoodsQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 import com.ym.mec.common.service.BaseService;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
@@ -114,4 +116,6 @@ public interface GoodsService extends BaseService<Integer, Goods> {
      * @return java.util.List<com.ym.mec.biz.dal.dto.GoodsSellDto>
      * @return java.util.List<com.ym.mec.biz.dal.dto.GoodsSellDto>
      */
      */
     List<GoodsSellDto> queryGoodsSellDtos(String goodsId);
     List<GoodsSellDto> queryGoodsSellDtos(String goodsId);
+
+    PageInfo<Goods> queryGoodsPage(GoodsQueryInfo queryInfo);
 }
 }

+ 17 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsServiceImpl.java

@@ -15,6 +15,9 @@ import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
+import com.ym.mec.biz.dal.page.GoodsQueryInfo;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.util.collection.MapUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.ss.usermodel.PictureData;
 import org.apache.poi.ss.usermodel.PictureData;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
@@ -670,4 +673,18 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 	public List<GoodsSellDto> queryGoodsSellDtos(String goodsId) {
 	public List<GoodsSellDto> queryGoodsSellDtos(String goodsId) {
 		return goodsDao.queryGoodsSellDtos(goodsId);
 		return goodsDao.queryGoodsSellDtos(goodsId);
 	}
 	}
+
+    @Override
+    public PageInfo<Goods> queryGoodsPage(GoodsQueryInfo queryInfo) {
+		PageInfo<Goods> goodsPageInfo = this.queryPage(queryInfo);
+		List<Goods> rows = goodsPageInfo.getRows();
+		if(rows != null && rows.size() > 0){
+			List<Integer> goodsIds = rows.stream().map(e -> e.getId()).collect(Collectors.toList());
+			Map<Integer,String> goodsNameMap = MapUtil.convertMybatisMap(goodsDao.findGoodsOrganNames(goodsIds));
+			for (Goods row : rows) {
+				row.setOrganName(goodsNameMap.get(row.getId()));
+			}
+		}
+		return goodsPageInfo;
+    }
 }
 }

+ 10 - 2
mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml

@@ -293,9 +293,8 @@
 
 
     <!-- 分页查询 -->
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="Goods" parameterType="map">
     <select id="queryPage" resultMap="Goods" parameterType="map">
-        SELECT g.*,gc.name_ goods_category_name_,GROUP_CONCAT(o.name_) organ_name_ FROM goods g
+        SELECT g.*,gc.name_ goods_category_name_ FROM goods g
         LEFT JOIN goods_category gc ON g.goods_category_id_ = gc.id_
         LEFT JOIN goods_category gc ON g.goods_category_id_ = gc.id_
-        LEFT JOIN organization o ON FIND_IN_SET(o.id_,g.organ_id_list_)
         <include refid="queryGoodsPageSql"/>
         <include refid="queryGoodsPageSql"/>
         GROUP BY g.id_
         GROUP BY g.id_
         ORDER BY g.id_ DESC
         ORDER BY g.id_ DESC
@@ -494,6 +493,15 @@
         <include refid="replacementQuerySql"/>
         <include refid="replacementQuerySql"/>
         <include refid="global.limit"/>
         <include refid="global.limit"/>
     </select>
     </select>
+    <select id="findGoodsOrganNames" resultType="java.util.Map">
+        SELECT g.id_ 'key',GROUP_CONCAT(DISTINCT o.name_) 'value' FROM goods g
+        LEFT JOIN organization o ON FIND_IN_SET(o.id_,g.organ_id_list_)
+        WHERE g.id_ IN
+        <foreach collection="goodsIds" open="(" close=")" item="organId" separator=",">
+            #{organId}
+        </foreach>
+        GROUP BY g.id_
+    </select>
 
 
     <sql id="replacementQuerySql">
     <sql id="replacementQuerySql">
         <where>
         <where>

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/GoodsController.java

@@ -133,7 +133,7 @@ public class GoodsController extends BaseController {
                 return failed("非法请求");
                 return failed("非法请求");
             }
             }
         }
         }
-        return succeed(goodsService.queryPage(queryInfo));
+        return succeed(goodsService.queryGoodsPage(queryInfo));
     }
     }
 
 
     @ApiOperation(value = "通过科目编号、商品分类 查询商品(教材、辅件)列表")
     @ApiOperation(value = "通过科目编号、商品分类 查询商品(教材、辅件)列表")