he2802 пре 3 година
родитељ
комит
db791daf61

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsMapper.java

@@ -38,4 +38,6 @@ public interface GoodsMapper extends BaseMapper<Goods> {
     Long getExamNum(Long goodsId);
     Long getExamNum(Long goodsId);
 
 
     GoodsVo getSectionNum(CourseQueryBo bo);
     GoodsVo getSectionNum(CourseQueryBo bo);
+
+    Long getSectionNum(Long goodsId);
 }
 }

+ 6 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -143,6 +143,12 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
             bo.setGoodsName(bo.getGoodsName().trim());
             bo.setGoodsName(bo.getGoodsName().trim());
         }
         }
         List<GoodsVo> list = baseMapper.selectAllList(bo);
         List<GoodsVo> list = baseMapper.selectAllList(bo);
+        if(Validator.isNotEmpty(bo.getSectionNum())&&bo.getSectionNum().longValue()==1){
+            for(GoodsVo vo : list){
+                Long sectionNum = baseMapper.getSectionNum(vo.getGoodsId());
+                vo.setSectionNum(sectionNum);
+            }
+        }
         if(Validator.isNotEmpty(bo.getGoodsType())&&bo.getGoodsType()==2){
         if(Validator.isNotEmpty(bo.getGoodsType())&&bo.getGoodsType()==2){
             for(GoodsVo vo : list){
             for(GoodsVo vo : list){
                 Long totalNum = getExamNum(vo.getGoodsId());
                 Long totalNum = getExamNum(vo.getGoodsId());

+ 30 - 3
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsMapper.xml

@@ -147,6 +147,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="selectStatus" column="select_status"/>
         <result property="selectStatus" column="select_status"/>
     </resultMap>
     </resultMap>
 
 
+    <select id="getSectionNum" parameterType="Long" resultType="Long">
+        SELECT
+                COUNT( m.id ) + (
+                SELECT
+                    COUNT( n.id )
+                FROM
+                    course_chapter_section n
+                        LEFT JOIN course_module_chapter p ON n.chapter_id = p.chapter_id
+                        LEFT JOIN course_menu m ON m.menu_id = p.module_id
+                        LEFT JOIN goods_course gc ON gc.course_id = m.course_id
+                WHERE
+                    gc.goods_id = #{goodsId}
+                  AND m.type =1) + (
+                    SELECT
+                        COUNT( n.id )
+                    FROM
+                        course_chapter_section n
+                            LEFT JOIN course_menu m ON m.menu_id = n.chapter_id
+                            LEFT JOIN goods_course gc ON gc.course_id = m.course_id
+                    WHERE
+                        gc.goods_id = #{goodsId}
+                      AND m.type =2)
+        FROM
+            course_menu m
+                LEFT JOIN goods_course gc ON gc.course_id = m.course_id
+        WHERE
+            gc.goods_id =  #{goodsId}
+          AND m.type =3
+    </select>
+
     <select id="selectAllList" parameterType="com.zhongzheng.modules.goods.bo.GoodsQueryBo" resultMap="GoodsResultVo">
     <select id="selectAllList" parameterType="com.zhongzheng.modules.goods.bo.GoodsQueryBo" resultMap="GoodsResultVo">
         SELECT
         SELECT
         g.*,
         g.*,
@@ -162,9 +192,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         ot.type AS template_type,
         ot.type AS template_type,
         (SELECT gs.goods_name FROM goods gs where 1=1 and g.make_goods_id = gs.goods_id) as make_goods_name,
         (SELECT gs.goods_name FROM goods gs where 1=1 and g.make_goods_id = gs.goods_id) as make_goods_name,
         (SELECT gs.code FROM goods gs where 1=1 and g.make_goods_id = gs.goods_id) as make_goods_code
         (SELECT gs.code FROM goods gs where 1=1 and g.make_goods_id = gs.goods_id) as make_goods_code
-        <if test="sectionNum ==1">
-        ,(SELECT COUNT(m.id)+(SELECT COUNT(n.id) FROM course_chapter_section n LEFT JOIN course_module_chapter p on n.chapter_id = p.chapter_id LEFT JOIN course_menu m on m.menu_id = p.module_id LEFT JOIN goods_course gc on gc.course_id = m.course_id  where gc.goods_id =  g.goods_id and m.type in(1))+(SELECT COUNT(n.id) FROM course_chapter_section n  LEFT JOIN course_menu m on m.menu_id = n.chapter_id LEFT JOIN goods_course gc on gc.course_id = m.course_id where gc.goods_id =  g.goods_id and m.type in(2)) FROM course_menu m LEFT JOIN goods_course gc on gc.course_id = m.course_id  where gc.goods_id =  g.goods_id  and m.type in(3)) as section_num
-        </if>
         <if test="chapterNum ==1">
         <if test="chapterNum ==1">
         ,(SELECT COUNT(m.id)+(SELECT COUNT(p.id) FROM course_module_chapter p LEFT JOIN course_menu m on m.menu_id = p.module_id LEFT JOIN goods_course gc on gc.course_id = m.course_id  where gc.goods_id =  g.goods_id and m.type in(1))+(SELECT COUNT(cmc.id) FROM course_module_chapter cmc  LEFT JOIN course_menu m on m.menu_id = cmc.module_id LEFT JOIN goods_course gc on gc.course_id = m.course_id where gc.goods_id =  g.goods_id and m.type in(2)) FROM course_menu m LEFT JOIN goods_course gc on gc.course_id = m.course_id  where gc.goods_id =  g.goods_id  and m.type in(3)) as chapter_num
         ,(SELECT COUNT(m.id)+(SELECT COUNT(p.id) FROM course_module_chapter p LEFT JOIN course_menu m on m.menu_id = p.module_id LEFT JOIN goods_course gc on gc.course_id = m.course_id  where gc.goods_id =  g.goods_id and m.type in(1))+(SELECT COUNT(cmc.id) FROM course_module_chapter cmc  LEFT JOIN course_menu m on m.menu_id = cmc.module_id LEFT JOIN goods_course gc on gc.course_id = m.course_id where gc.goods_id =  g.goods_id and m.type in(2)) FROM course_menu m LEFT JOIN goods_course gc on gc.course_id = m.course_id  where gc.goods_id =  g.goods_id  and m.type in(3)) as chapter_num
         </if>
         </if>