Browse Source

商品科目

he2802 4 years ago
parent
commit
05625d1c3b

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsVo.java

@@ -234,4 +234,7 @@ public class GoodsVo {
 	@Excel(name = "前培和补考商品关联")
 	@ApiModelProperty("前培和补考商品关联编码")
 	private String makeGoodsCode;
+
+	@ApiModelProperty("科目数量")
+	private Long subjectNum;
 }

+ 23 - 1
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsMapper.xml

@@ -95,6 +95,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="studyCount" column="study_count"/>
         <result property="makeGoodsName" column="make_goods_name"/>
         <result property="makeGoodsCode" column="make_goods_code"/>
+        <result property="subjectNum" column="subject_num"/>
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.exam.vo.ExamNumberGoodsVo" id="ExamNumberGoodsVoResult">
@@ -119,6 +120,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         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.code FROM goods gs where 1=1 and g.make_goods_id = gs.goods_id) as make_goods_code
+        <if test="goodsType ==1">
+        ,gs.subject_num
+        </if>
         FROM
         goods g
         LEFT JOIN pay_supply ps ON g.supply_id = ps.supply_id
@@ -128,6 +132,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         LEFT JOIN school s ON s.id = g.school_id
         LEFT JOIN major m ON g.major_id = m.id
         LEFT JOIN order_input_template ot ON cb.template_status = ot.id
+        <if test="goodsType ==1">
+        LEFT JOIN (SELECT
+        g.goods_id,
+        COUNT( DISTINCT c.subject_id ) as subject_num
+        FROM
+        goods g
+        LEFT JOIN goods_course gc ON g.goods_id = gc.course_id
+        LEFT JOIN course c ON gc.course_id = c.course_id
+        GROUP BY
+        g.goods_id) gs  on g.goods_id = gs.goods_id
+        </if>
         <if test="goodsType ==1 and subjectId >0">
             LEFT JOIN goods_course gc ON gc.goods_id = g.goods_id
             LEFT JOIN course c ON gc.course_id = c.course_id
@@ -209,7 +224,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             m.category_name,
             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.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,
+            (SELECT
+                 count( DISTINCT c.subject_id )
+             FROM
+                 course c
+                     LEFT JOIN goods_course gc ON gc.course_id = c.course_id
+             WHERE
+                 gc.goods_id = g.goods_id) as subject_num
         FROM
             goods g
                 LEFT JOIN pay_supply ps ON g.supply_id = ps.supply_id