yonge 3 years ago
parent
commit
15e73db24f

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/SysMusicScoreService.java

@@ -16,4 +16,6 @@ public interface SysMusicScoreService extends BaseService<Integer, SysMusicScore
     void del(Integer id);
 
     PageInfo<SysMusicScore> queryMusicScorePage(SysExamSongQueryInfo queryInfo);
+    
+    PageInfo<SysMusicScore> queryMusicScorePageInfo(SysExamSongQueryInfo queryInfo);
 }

+ 41 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreServiceImpl.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service.impl;
 
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.dto.MusicScoreQueryInfo;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.SubjectDao;
 import com.ym.mec.biz.dal.dao.SysMusicScoreAccompanimentDao;
@@ -12,16 +13,19 @@ import com.ym.mec.biz.dal.entity.SysMusicScore;
 import com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment;
 import com.ym.mec.biz.dal.entity.SysMusicScoreCategories;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
+import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
 import com.ym.mec.biz.service.SysMusicScoreService;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -40,6 +44,8 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
 	private SysMusicScoreCategoriesDao sysMusicScoreCategoriesDao;
 	@Autowired
 	private SubjectDao subjectDao;
+	@Autowired
+	private SysMusicScoreCategoriesService sysMusicScoreCategoriesService;
 
 	@Override
 	public BaseDAO<Integer, SysMusicScore> getDAO() {
@@ -181,4 +187,39 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
 		}
 		return sysMusicScorePageInfo;
 	}
+
+	@Override
+	public PageInfo<SysMusicScore> queryMusicScorePageInfo(SysExamSongQueryInfo queryInfo) {
+		if(queryInfo.getCategoriesId() != null){
+			List<Integer> categoriesIdList = new ArrayList<>();
+			Integer categoriesId = null;
+			if(StringUtils.isNotEmpty(queryInfo.getCategoriesId())){
+				categoriesId = Integer.parseInt(queryInfo.getCategoriesId());
+			}
+			//List<SysMusicScoreCategories> scoreCategories = sysMusicScoreCategoriesService.queryTree(musicScoreQueryInfo);
+			
+			SysMusicScoreCategories sysMusicScoreCategories = sysMusicScoreCategoriesService.get(categoriesId);
+			
+			if(sysMusicScoreCategories == null){
+				throw new BizException("分类找不到");
+			}
+			categoriesIdList.add(categoriesId);
+			sysMusicScoreCategories = sysMusicScoreCategoriesService.getChildTree(sysMusicScoreCategories);
+			getAllCategoryIdList(categoriesIdList, sysMusicScoreCategories.getSysMusicScoreCategoriesList());
+			
+			queryInfo.setCategoriesIdList(categoriesIdList);
+		}
+		return this.queryPage(queryInfo);
+	}
+    
+    private void getAllCategoryIdList(List<Integer> categoryIdList, List<SysMusicScoreCategories> sysMusicScoreCategoriesList){
+    	
+    	if(sysMusicScoreCategoriesList != null && sysMusicScoreCategoriesList.size() > 0){
+    		for(SysMusicScoreCategories sysMusicScoreCategories : sysMusicScoreCategoriesList){
+    			categoryIdList.add(sysMusicScoreCategories.getId());
+    			getAllCategoryIdList(categoryIdList, sysMusicScoreCategories.getSysMusicScoreCategoriesList());
+    		}
+    	}
+    	
+    }
 }

+ 7 - 1
mec-biz/src/main/resources/config/mybatis/SysMusicScoreMapper.xml

@@ -152,8 +152,14 @@
 			<!-- <if test="organId != null and organId != null">
 				AND INTE_ARRAY(smsc.organ_id_,#{organId})
 			</if> -->
-			<if test="categoriesId != null">
+			<!-- <if test="categoriesId != null">
 				AND FIND_IN_SET(ses.music_score_categories_id_,#{categoriesId})
+			</if> -->
+			<if test="categoriesIdList != null">
+				AND smsc.id_ IN
+				<foreach collection="categoriesIdList" separator="," item="item" open="(" close=")">
+					#{item}
+				</foreach>
 			</if>
 			<if test="search != null and search != ''">
 				AND (ses.id_ = #{search} OR ses.name_ LIKE CONCAT('%',#{search},'%'))

+ 7 - 0
mec-student/src/main/java/com/ym/mec/student/controller/SysMusicScoreController.java

@@ -26,4 +26,11 @@ public class SysMusicScoreController extends BaseController {
         }
         return succeed(sysMusicScoreService.queryPage(queryInfo));
     }
+
+    @ApiOperation(value = "分页查询")
+    @GetMapping("/queryPage2")
+    public Object queryPage2(SysExamSongQueryInfo queryInfo) {
+        queryInfo.setType("COMMON");
+        return succeed(sysMusicScoreService.queryMusicScorePageInfo(queryInfo));
+    }
 }