zouxuan 5 years ago
parent
commit
926866271c
20 changed files with 234 additions and 237 deletions
  1. 15 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SubjectGoodsMapperDao.java
  2. 26 38
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageListDto.java
  3. 13 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java
  4. 19 6
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/GoodsCategory.java
  5. 6 6
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SubjectGoodsMapper.java
  6. 4 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/GoodsType.java
  7. 5 5
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/GoodsCategoryQueryInfo.java
  8. 13 24
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentManageQueryInfo.java
  9. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java
  10. 0 16
      mec-biz/src/main/java/com/ym/mec/biz/service/GoodsCategoryService.java
  11. 23 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  12. 8 53
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsCategoryServiceImpl.java
  13. 1 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java
  14. 15 6
      mec-biz/src/main/resources/config/mybatis/GoodsCategoryMapper.xml
  15. 4 2
      mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml
  16. 31 28
      mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml
  17. 4 1
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  18. 22 11
      mec-biz/src/main/resources/config/mybatis/SubjectGoodsMapperMapper.xml
  19. 13 1
      mec-web/src/main/java/com/ym/mec/web/controller/ClassGroupController.java
  20. 5 33
      mec-web/src/main/java/com/ym/mec/web/controller/GoodsCategoryController.java

+ 15 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SubjectGoodsMapperDao.java

@@ -2,8 +2,22 @@ package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.entity.SubjectGoodsMapper;
 import com.ym.mec.common.dal.BaseDAO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 public interface SubjectGoodsMapperDao extends BaseDAO<Long, SubjectGoodsMapper> {
 
-	
+    /**
+     * 批量新增
+     * @param goodsCategoryId
+     * @param subjectIds
+     */
+    void batchAdd(@Param("goodsCategoryId") Integer goodsCategoryId, @Param("subjectIds") List<Integer> subjectIds);
+
+    /**
+     * 删除科目与商品类型关联
+     * @param goodsCategoryId
+     */
+    void delByGoodsCategoryId(Integer goodsCategoryId);
 }

+ 26 - 38
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentManageListDto.java

@@ -10,39 +10,19 @@ import io.swagger.annotations.ApiModelProperty;
 public class StudentManageListDto {
 
     @ApiModelProperty(value = "用户ID",required = false)
-    private Long userId;
-
+    private Integer userId;
 
     @ApiModelProperty(value = "用户名",required = false)
-    private String userName;
+    private String realName;
 
     @ApiModelProperty(value = "性别",required = false)
     private UserGenderEnum gender;
 
-    @ApiModelProperty(value = "电话号码",required = false)
-    private String phone;
-
-    @ApiModelProperty(value = "学校ID",required = false)
-    private Long schoolId;
-
-    @ApiModelProperty(value = "学校名称",required = false)
-    private String schoolName;
-
-    public Long getUserId() {
-        return userId;
-    }
-
-    public void setUserId(Long userId) {
-        this.userId = userId;
-    }
-
-    public String getUserName() {
-        return userName;
-    }
+    @ApiModelProperty(value = "家长电话号码",required = false)
+    private String parentsPhone;
 
-    public void setUserName(String userName) {
-        this.userName = userName;
-    }
+    @ApiModelProperty(value = "家长名字",required = false)
+    private String parentsName;
 
     public UserGenderEnum getGender() {
         return gender;
@@ -52,27 +32,35 @@ public class StudentManageListDto {
         this.gender = gender;
     }
 
-    public String getPhone() {
-        return phone;
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public String getRealName() {
+        return realName;
     }
 
-    public void setPhone(String phone) {
-        this.phone = phone;
+    public void setRealName(String realName) {
+        this.realName = realName;
     }
 
-    public Long getSchoolId() {
-        return schoolId;
+    public String getParentsPhone() {
+        return parentsPhone;
     }
 
-    public void setSchoolId(Long schoolId) {
-        this.schoolId = schoolId;
+    public void setParentsPhone(String parentsPhone) {
+        this.parentsPhone = parentsPhone;
     }
 
-    public String getSchoolName() {
-        return schoolName;
+    public String getParentsName() {
+        return parentsName;
     }
 
-    public void setSchoolName(String schoolName) {
-        this.schoolName = schoolName;
+    public void setParentsName(String parentsName) {
+        this.parentsName = parentsName;
     }
 }

+ 13 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java

@@ -20,8 +20,12 @@ public class Goods {
 	private Integer id;
 	
 	/** 产品分类 */
-	@ApiModelProperty(value = "产品分类1乐器,2教材,3辅件",required = false)
+	@ApiModelProperty(value = "产品分类",required = false)
 	private Integer goodsCategoryId;
+
+	/** 产品分类 */
+	@ApiModelProperty(value = "产品分类名称",required = false)
+	private String goodsCategoryName;
 	
 	/** 商品货号 */
 	@ApiModelProperty(value = "商品货号",required = false)
@@ -107,6 +111,14 @@ public class Goods {
 	@ApiModelProperty(value = "商品类型", required = false)
 	private GoodsType type;
 
+	public String getGoodsCategoryName() {
+		return goodsCategoryName;
+	}
+
+	public void setGoodsCategoryName(String goodsCategoryName) {
+		this.goodsCategoryName = goodsCategoryName;
+	}
+
 	public GoodsType getType() {
 		return type;
 	}

+ 19 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/GoodsCategory.java

@@ -46,15 +46,28 @@ public class GoodsCategory {
 	/** 创建时间 */
 	private java.util.Date createTime;
 
-	@ApiModelProperty(value = "子级商品类型列表",required = false)
-	private List<GoodsCategory> goodsCategories;
+	/**
+	 * 声部编号
+	 */
+	private List<Integer> subjectIds;
 
-	public List<GoodsCategory> getGoodsCategories() {
-		return goodsCategories;
+	@ApiModelProperty(value = "关联的声部列表",required = false)
+	private List<Subject> subjects;
+
+	public List<Subject> getSubjects() {
+		return subjects;
+	}
+
+	public void setSubjects(List<Subject> subjects) {
+		this.subjects = subjects;
+	}
+
+	public List<Integer> getSubjectIds() {
+		return subjectIds;
 	}
 
-	public void setGoodsCategories(List<GoodsCategory> goodsCategories) {
-		this.goodsCategories = goodsCategories;
+	public void setSubjectIds(List<Integer> subjectIds) {
+		this.subjectIds = subjectIds;
 	}
 
 	public void setId(Integer id){

+ 6 - 6
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SubjectGoodsMapper.java

@@ -19,8 +19,8 @@ public class SubjectGoodsMapper {
 	private String subjectId;
 
 	/**  */
-	@ApiModelProperty(value = "商品编号", required = false)
-	private Integer goodsId;
+	@ApiModelProperty(value = "商品分类编号", required = false)
+	private Integer goodsCategoryId;
 
 	@ApiModelProperty(value = "删除标记,删除时传true,其他传null", required = false)
 	private boolean delFlag = false;
@@ -55,12 +55,12 @@ public class SubjectGoodsMapper {
 		return this.subjectId;
 	}
 
-	public void setGoodsId(Integer goodsId) {
-		this.goodsId = goodsId;
+	public Integer getGoodsCategoryId() {
+		return goodsCategoryId;
 	}
 
-	public Integer getGoodsId() {
-		return this.goodsId;
+	public void setGoodsCategoryId(Integer goodsCategoryId) {
+		this.goodsCategoryId = goodsCategoryId;
 	}
 
 	public void setCreateTime(java.util.Date createTime) {

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/GoodsType.java

@@ -4,7 +4,10 @@ import com.ym.mec.common.enums.BaseEnum;
 
 public enum GoodsType implements BaseEnum<String, GoodsType> {
 
-	INSTRUMENT("INSTRUMENT", "乐器"), ACCESSORIES("ACCESSORIES", "辅件"),OTHER("OTHER", "其他");
+	INSTRUMENT("INSTRUMENT", "乐器"), ACCESSORIES("ACCESSORIES", "辅件"),
+	TEACHING("TEACHING", "教材"),
+	STAFF("STAFF", "曲谱"),
+	OTHER("OTHER", "其他");
 
 	private String code;
 

+ 5 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/page/GoodsCategoryQueryInfo.java

@@ -11,7 +11,7 @@ public class GoodsCategoryQueryInfo extends QueryInfo {
     private Integer parentId = 0;
 
     @ApiModelProperty(value = "状态")
-    private YesOrNoEnum status = YesOrNoEnum.YES;
+    private YesOrNoEnum delFlag = YesOrNoEnum.NO;
 
     public Integer getParentId() {
         return parentId;
@@ -21,11 +21,11 @@ public class GoodsCategoryQueryInfo extends QueryInfo {
         this.parentId = parentId;
     }
 
-    public YesOrNoEnum getStatus() {
-        return status;
+    public YesOrNoEnum getDelFlag() {
+        return delFlag;
     }
 
-    public void setStatus(YesOrNoEnum status) {
-        this.status = status;
+    public void setDelFlag(YesOrNoEnum delFlag) {
+        this.delFlag = delFlag;
     }
 }

+ 13 - 24
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentManageQueryInfo.java

@@ -12,46 +12,35 @@ import com.ym.mec.common.page.QueryInfo;
 public class StudentManageQueryInfo extends QueryInfo {
 
     @ApiModelProperty(value = "部门ID")
-    private Long organId;
+    private Integer organId;
 
     @ApiModelProperty(value = "乐团ID")
-    private Long musicGroupId;
+    private String musicGroupId;
 
     @ApiModelProperty(value = "状态(在读、请假、退学)",required = false)
     private ClassGroupStudentStatusEnum studentStatus;
 
-    @ApiModelProperty(value = "模糊查询字符串-用户名/电话")
-    private String queryString;
+    public ClassGroupStudentStatusEnum getStudentStatus() {
+        return studentStatus;
+    }
+
+    public void setStudentStatus(ClassGroupStudentStatusEnum studentStatus) {
+        this.studentStatus = studentStatus;
+    }
 
-    public Long getOrganId() {
+    public Integer getOrganId() {
         return organId;
     }
 
-    public void setOrganId(Long organId) {
+    public void setOrganId(Integer organId) {
         this.organId = organId;
     }
 
-    public Long getMusicGroupId() {
+    public String getMusicGroupId() {
         return musicGroupId;
     }
 
-    public void setMusicGroupId(Long musicGroupId) {
+    public void setMusicGroupId(String musicGroupId) {
         this.musicGroupId = musicGroupId;
     }
-
-    public ClassGroupStudentStatusEnum getStudentStatus() {
-        return studentStatus;
-    }
-
-    public void setStudentStatus(ClassGroupStudentStatusEnum studentStatus) {
-        this.studentStatus = studentStatus;
-    }
-
-    public String getQueryString() {
-        return queryString;
-    }
-
-    public void setQueryString(String queryString) {
-        this.queryString = queryString;
-    }
 }

+ 7 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ClassGroupService.java

@@ -183,4 +183,11 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param classGroupId
      */
     void delMix(Integer classGroupId);
+
+    /**
+     * 成团确认,校验参数,并设置团长
+     * @param teacherId
+     * @param musicGroupId
+     */
+    void addMusicGroupTeam(Integer teacherId, String musicGroupId) throws Exception;
 }

+ 0 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/GoodsCategoryService.java

@@ -1,28 +1,12 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.entity.GoodsCategory;
-import com.ym.mec.biz.dal.page.GoodsCategoryQueryInfo;
-import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
 public interface GoodsCategoryService extends BaseService<Integer, GoodsCategory> {
-
-    /**
-     * 新政商品类型
-     * @param goodsCategory
-     */
-    void add(GoodsCategory goodsCategory);
-
     /**
      * 新增、修改商品类型
      * @param goodsCategory
      */
     void upsetGoodsCategory(GoodsCategory goodsCategory);
-
-    /**
-     * 获取商品分类树状列表
-     * @param queryInfo
-     * @return
-     */
-    PageInfo<GoodsCategory> queryTreePage(GoodsCategoryQueryInfo queryInfo);
 }

+ 23 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -47,7 +47,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
     @Autowired
     private CourseScheduleService courseScheduleService;
     @Autowired
-    private StudentRegistrationService studentRegistrationService;
+    private StudentRegistrationDao studentRegistrationDao;
     @Autowired
     private MusicGroupStudentFeeDao musicGroupStudentFeeDao;
 
@@ -116,7 +116,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
             studentRegistration.setClassGroupId(classGroup.getId());
             studentRegistration.setUserId(Integer.getInteger(userId));
             studentRegistration.setMusicGroupId(classGroup.getMusicGroupId());
-            studentRegistrationService.updateByUserIdAndMusicGroupId(studentRegistration);
+            studentRegistrationDao.updateByUserIdAndMusicGroupId(studentRegistration);
         }
 
         classGroupStudentMapperDao.classGroupStudentsInsert(classGroupStudentList);
@@ -437,4 +437,25 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         //删除合奏班
         classGroupDao.delete(classGroupId);
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void addMusicGroupTeam(Integer teacherId, String musicGroupId) throws Exception {
+        //所有学员都已经分配
+        List<StudentRegistration> students = studentRegistrationDao.getNoClassStuBySubjectId(musicGroupId, null);
+        if(students != null && students.size() > 0){
+            throw new Exception("还有学员未分配班级");
+        }
+        //所有单技班都有合奏班
+        List<ClassGroup> classGroupList = classGroupDao.findNoClassSubjects(musicGroupId);
+        if(classGroupList != null && classGroupList.size() > 0){
+            throw new Exception("还有单技班未分配合奏");
+        }
+        //设置教学主管
+        MusicGroup musicGroup = new MusicGroup();
+        musicGroup.setId(musicGroupId);
+        musicGroup.setDirectorUserId(teacherId);
+        musicGroup.setUpdateTime(new Date());
+        musicGroupDao.update(musicGroup);
+    }
 }

+ 8 - 53
mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsCategoryServiceImpl.java

@@ -1,15 +1,11 @@
 package com.ym.mec.biz.service.impl;
 
 import com.ym.mec.biz.dal.dao.GoodsCategoryDao;
+import com.ym.mec.biz.dal.dao.SubjectGoodsMapperDao;
 import com.ym.mec.biz.dal.entity.GoodsCategory;
-import com.ym.mec.biz.dal.entity.Subject;
-import com.ym.mec.biz.dal.enums.YesOrNoEnum;
-import com.ym.mec.biz.dal.page.GoodsCategoryQueryInfo;
 import com.ym.mec.biz.service.GoodsCategoryService;
 import com.ym.mec.common.dal.BaseDAO;
-import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -22,6 +18,8 @@ public class GoodsCategoryServiceImpl extends BaseServiceImpl<Integer, GoodsCate
 	
 	@Autowired
 	private GoodsCategoryDao goodsCategoryDao;
+	@Autowired
+	private SubjectGoodsMapperDao subjectGoodsMapperDao;
 
 	@Override
 	public BaseDAO<Integer, GoodsCategory> getDAO() {
@@ -30,60 +28,17 @@ public class GoodsCategoryServiceImpl extends BaseServiceImpl<Integer, GoodsCate
 
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public void add(GoodsCategory goodsCategory) {
-		goodsCategoryDao.insert(goodsCategory);
-		List<GoodsCategory> goodsCategories = goodsCategory.getGoodsCategories();
-		goodsCategories.forEach(e->{
-			e.setParentId(goodsCategory.getId());
-			goodsCategoryDao.insert(e);
-		});
-	}
-
-	@Override
 	public void upsetGoodsCategory(GoodsCategory goodsCategory) {
-		Integer parentId = upset(goodsCategory, null);
-		List<GoodsCategory> goodsCategories = goodsCategory.getGoodsCategories();
-		goodsCategories.forEach(e->{
-			upset(e, parentId);
-		});
-	}
-
-	@Override
-	public PageInfo<GoodsCategory> queryTreePage(GoodsCategoryQueryInfo queryInfo) {
-		PageInfo<GoodsCategory> pageInfo = queryPage(queryInfo);
-		for (GoodsCategory goodsCategory:pageInfo.getRows()) {
-			goodsCategory = getTree(goodsCategory,queryInfo.getStatus());
-		}
-		return pageInfo;
-	}
-
-
-	private GoodsCategory getTree(GoodsCategory goodsCategory, YesOrNoEnum yesOrNoEnum){
-		//得到根节点对象
-		//获取子节点list
-		List<GoodsCategory> goodsCategories = goodsCategoryDao.findByParentId(goodsCategory.getId(),yesOrNoEnum);
-		//如果存在子节点
-		if(goodsCategories != null && goodsCategories.size() > 0) {
-			//将子节点list放入父节点对象
-			goodsCategory.setGoodsCategories(goodsCategories);
-			//遍历子节点....
-			for (GoodsCategory subject : goodsCategories) {
-				getTree(subject,yesOrNoEnum);
-			}
-		}
-		return goodsCategory;
-	}
-
-	private Integer upset(GoodsCategory goodsCategory, Integer parentId){
-		if(parentId != null){
-			goodsCategory.setParentId(parentId);
-		}
+		goodsCategory.setParentId(0);
 		if(goodsCategory.getId() != null){
 			goodsCategory.setUpdateTime(new Date());
 			goodsCategoryDao.update(goodsCategory);
+			//删除关联
+			subjectGoodsMapperDao.delByGoodsCategoryId(goodsCategory.getId());
 		}else {
 			goodsCategoryDao.insert(goodsCategory);
 		}
-		return goodsCategory.getId();
+		List<Integer> subjectIds = goodsCategory.getSubjectIds();
+		subjectGoodsMapperDao.batchAdd(goodsCategory.getId(),subjectIds);
 	}
 }

+ 1 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -11,7 +11,6 @@ import com.ym.mec.biz.dal.page.StudentManageQueryInfo;
 import com.ym.mec.biz.service.StudentManageService;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.util.collection.MapUtil;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -38,7 +37,7 @@ public class StudentManageServiceImpl implements StudentManageService {
     public PageInfo findStudentsByOrganId(StudentManageQueryInfo queryInfo) {
         SysUser user = sysUserFeignService.queryUserInfo();
         PageInfo<StudentManageListDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
-        queryInfo.setOrganId(Long.valueOf(user.getOrganId()));
+        queryInfo.setOrganId(user.getOrganId());
         Map<String, Object> params = new HashMap<String, Object>();
         MapUtil.populateMap(params, queryInfo);
 

+ 15 - 6
mec-biz/src/main/resources/config/mybatis/GoodsCategoryMapper.xml

@@ -16,6 +16,10 @@
         <result column="desc_" property="desc"/>
         <result column="update_time_" property="updateTime"/>
         <result column="create_time_" property="createTime"/>
+        <collection property="subjects" ofType="com.ym.mec.biz.dal.entity.Subject">
+            <result property="id" column="subject_id_"/>
+            <result property="name" column="subject_name_"/>
+        </collection>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
@@ -66,30 +70,35 @@
 
     <!-- 根据主键删除一条记录 -->
     <delete id="delete">
-		DELETE FROM goods_category WHERE id_ = #{id} 
+		UPDATE goods_category SET del_flag_ = 1 WHERE id_ = #{id}
 	</delete>
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="GoodsCategory" parameterType="map">
-        SELECT gc.* FROM goods_category gc
+        SELECT gc.*,s.id_ subject_id_,s.name_ subject_name_
+        FROM (
+        SELECT * FROM goods_category
         <include refid="queryPageSql"/>
-        ORDER BY id_
         <include refid="global.limit"/>
+        ) gc
+        LEFT JOIN subject_goods_mapper sgm ON sgm.goods_category_id_ = gc.id_
+        LEFT JOIN `subject` s ON s.id_ = sgm.subject_id_
     </select>
+
     <sql id="queryPageSql">
         <where>
             <if test="parentId != null">
-                gc.parent_id_ = #{parentId}
+                parent_id_ = #{parentId}
             </if>
             <if test="delFlag != null">
-                AND gc.del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
+                AND del_flag_ = #{delFlag,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
             </if>
         </where>
     </sql>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM goods_category gc
+		SELECT COUNT(id_) FROM goods_category
         <include refid="queryPageSql"/>
 	</select>
 

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

@@ -9,6 +9,7 @@
     <resultMap type="com.ym.mec.biz.dal.entity.Goods" id="Goods">
         <result column="id_" property="id"/>
         <result column="goods_category_id_" property="goodsCategoryId"/>
+        <result column="goods_category_name_" property="goodsCategoryName"/>
         <result column="sn_" property="sn"/>
         <result column="name_" property="name"/>
         <result column="brand_" property="brand"/>
@@ -130,7 +131,8 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="Goods" parameterType="map">
-        SELECT * FROM goods ORDER BY id_
+        SELECT g.*,gc.name_ goods_category_name_ FROM goods g
+        LEFT JOIN goods_category gc ON g.goods_category_id_ = gc.id_ ORDER BY g.id_
         <include refid="global.limit"/>
     </select>
 
@@ -142,7 +144,7 @@
     <select id="findGoodsBySubId" resultMap="Goods">
         SELECT g.* FROM subject_goods_mapper sgm
         LEFT JOIN goods g ON sgm.goods_category_id_ = g.goods_category_id_
-        WHERE sgm.subject_id_ = #{subjectId} AND sgm.type_ = #{type}
+        WHERE sgm.subject_id_ = #{subjectId} AND g.type_ = #{type}
     </select>
 
     <!-- 根据 -->

+ 31 - 28
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -4,11 +4,10 @@
 
     <resultMap id="studentManageListDto" type="com.ym.mec.biz.dal.dto.StudentManageListDto">
         <result property="userId" column="user_id_"/>
-        <result property="userName" column="username_"/>
-        <result property="phone" column="phone_"/>
+        <result property="realName" column="real_name_"/>
+        <result property="parentsPhone" column="parents_phone_"/>
         <result property="gender" column="gender_" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
-        <result property="schoolId" column="school_id_"/>
-        <result property="schoolName" column="school_name_"/>
+        <result property="parentsName" column="school_id_"/>
     </resultMap>
 
     <resultMap id="musicGroup" type="com.ym.mec.biz.dal.dto.StudentManageBaseInfoOfMusicGroupDto">
@@ -68,34 +67,38 @@
     </sql>
 
     <select id="findStudentsByOrganId" resultMap="studentManageListDto">
-        SELECT
-            DISTINCT su.id_ user_id_,
-            su.username_,
-            su.gender_,
-            su.phone_,
-            s.id_ school_id_,
-            s.name_ school_name_
-        FROM
-            school s
-        LEFT JOIN music_group mg ON s.id_=mg.school_id_
-        LEFT JOIN class_group cg ON mg.id_=cg.music_group_id_
-        LEFT JOIN class_group_student_mapper cgsm ON cg.id_=cgsm.class_group_id_
-        LEFT JOIN sys_user su ON cgsm.user_id_=su.id_
-        <include refid="queryCondition"/>
-        ORDER BY su.id_
+        SELECT sr.user_id_,su.real_name_,su.gender_,sr.parents_name_,sr.parents_phone_
+        FROM student_registration sr
+        LEFT JOIN sys_user su ON sr.user_id_ = su.id_
+        WHERE sr.user_id_ IN (
+          (SELECT MAX(user_id_) user_id_ FROM student_registration
+            <where>
+                <if test="search != null and search != ''">
+                    parents_name_ LIKE CONCAT('%',#{search},'%') OR parents_phone_ LIKE CONCAT('%',#{search},'%')
+                </if>
+            </where>
+           GROUP BY parents_phone_))
+        <if test="organId != null">
+            AND su.organ_id_=#{organId}
+        </if>
         <include refid="global.limit"/>
     </select>
 
     <select id="countStudentByOrganId" resultType="java.lang.Integer">
-        SELECT
-            COUNT(DISTINCT su.id_)
-        FROM
-            school s
-        LEFT JOIN music_group mg ON s.id_=mg.school_id_
-        LEFT JOIN class_group cg ON mg.id_=cg.music_group_id_
-        LEFT JOIN class_group_student_mapper cgsm ON cg.id_=cgsm.class_group_id_
-        LEFT JOIN sys_user su ON cgsm.user_id_=su.id_
-        <include refid="queryCondition"/>
+        SELECT COUNT(DISTINCT sr.user_id_)
+        FROM student_registration sr
+        LEFT JOIN sys_user su ON sr.user_id_ = su.id_
+        WHERE sr.user_id_ IN (
+        (SELECT MAX(user_id_) user_id_ FROM student_registration
+        <where>
+            <if test="search != null and search != ''">
+                parents_name_ LIKE CONCAT('%',#{search},'%') OR parents_phone_ LIKE CONCAT('%',#{search},'%')
+            </if>
+        </where>
+        GROUP BY parents_phone_))
+        <if test="organId != null">
+            AND su.organ_id_=#{organId}
+        </if>
     </select>
     <select id="findStudentBaseInfoByUserID" resultMap="studentManageBaseInfo">
       SELECT

+ 4 - 1
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -231,7 +231,10 @@
         SELECT DISTINCT cgsm.user_id_ FROM class_group_student_mapper cgsm
         LEFT JOIN class_group cg ON cg.id_ =  cgsm.class_group_id_
         WHERE cg.music_group_id_ = #{musicGroupId})
-        AND sr.music_group_id_ = #{musicGroupId} AND FIND_IN_SET(sr.actual_subject_id_,#{actualSubjectId})
+        AND sr.music_group_id_ = #{musicGroupId}
+        <if test="actualSubjectId != null">
+            AND FIND_IN_SET(sr.actual_subject_id_,#{actualSubjectId})
+        </if>
     </select>
 
     <!-- 根据乐团和声部获取未分班人数 -->

+ 22 - 11
mec-biz/src/main/resources/config/mybatis/SubjectGoodsMapperMapper.xml

@@ -9,31 +9,38 @@
     <resultMap type="com.ym.mec.biz.dal.entity.SubjectGoodsMapper" id="SubjectGoodsMapper">
         <result column="id_" property="id"/>
         <result column="subject_id_" property="subjectId"/>
-        <result column="goods_id_" property="goodsId"/>
+        <result column="goods_category_id_" property="goodsCategoryId"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
     </resultMap>
 
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="SubjectGoodsMapper">
-		SELECT * FROM subject_plan_goods_mapper WHERE id_ = #{id} 
+		SELECT * FROM subject_goods_mapper WHERE id_ = #{id}
 	</select>
 
     <!-- 全查询 -->
     <select id="findAll" resultMap="SubjectGoodsMapper">
-		SELECT * FROM subject_plan_goods_mapper ORDER BY id_
+		SELECT * FROM subject_goods_mapper ORDER BY id_
 	</select>
 
     <!-- 向数据库增加一条记录 -->
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.SubjectGoodsMapper" useGeneratedKeys="true"
             keyColumn="id" keyProperty="id">
-        INSERT INTO subject_plan_goods_mapper (subject_id_,goods_id_,create_time_,update_time_)
-        VALUES(#{subjectId},#{goodsId},now(),now())
+        INSERT INTO subject_goods_mapper (subject_id_,goods_category_id_,create_time_,update_time_)
+        VALUES(#{subjectId},#{goodsCategoryId},now(),now())
+    </insert>
+    <insert id="batchAdd">
+        INSERT INTO subject_goods_mapper (subject_id_,goods_category_id_,create_time_,update_time_)
+        VALUES
+        <foreach collection="subjectIds" item="item" index="index" separator=",">
+            (#{item},#{goodsCategoryId},now(),now())
+        </foreach>
     </insert>
 
     <!-- 根据主键查询一条记录 -->
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.SubjectGoodsMapper">
-        UPDATE subject_plan_goods_mapper
+        UPDATE subject_goods_mapper
         <set>
             <if test="subjectId != null">
                 subject_id_ = #{subjectId},
@@ -41,8 +48,8 @@
             <if test="updateTime != null">
                 update_time_ = #{updateTime},
             </if>
-            <if test="goodsId != null">
-                goods_id_ = #{goodsId},
+            <if test="goodsCategoryId != null">
+                goods_category_id_ = #{goodsCategoryId},
             </if>
         </set>
         WHERE id_ = #{id}
@@ -50,17 +57,21 @@
 
     <!-- 根据主键删除一条记录 -->
     <delete id="delete">
-		DELETE FROM subject_plan_goods_mapper WHERE id_ = #{id} 
+		DELETE FROM subject_goods_mapper WHERE id_ = #{id}
 	</delete>
 
+    <delete id="delByGoodsCategoryId">
+        DELETE FROM subject_goods_mapper WHERE goods_category_id_ = #{goodsCategoryId}
+    </delete>
+
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="SubjectGoodsMapper" parameterType="map">
-        SELECT * FROM subject_plan_goods_mapper ORDER BY id_
+        SELECT * FROM subject_goods_mapper ORDER BY id_
         <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM subject_plan_goods_mapper
+		SELECT COUNT(*) FROM subject_goods_mapper
 	</select>
 </mapper>

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

@@ -149,4 +149,16 @@ public class ClassGroupController extends BaseController {
         return succeed(classGroupService.findGroupUsers(groupId));
     }
 
-}
+    @ApiOperation(value = "乐团班级设置,成团确认")
+    @PostMapping("/addMusicGroupTeam")
+    @ApiImplicitParams({@ApiImplicitParam(name = "musicGroupId", value = "乐团编号", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "teacherId", value = "老师编号", required = true, dataType = "Integer")})
+    public Object addMusicGroupTeam(Integer teacherId,String musicGroupId) throws Exception {
+        if(teacherId == null || StringUtils.isEmpty(musicGroupId)){
+            return failed("参数校验错误");
+        }
+        classGroupService.addMusicGroupTeam(teacherId,musicGroupId);
+        return succeed();
+    }
+
+}

+ 5 - 33
mec-web/src/main/java/com/ym/mec/web/controller/GoodsCategoryController.java

@@ -3,11 +3,9 @@ package com.ym.mec.web.controller;
 import com.ym.mec.biz.dal.entity.GoodsCategory;
 import com.ym.mec.biz.dal.page.GoodsCategoryQueryInfo;
 import com.ym.mec.biz.service.GoodsCategoryService;
-import com.ym.mec.biz.service.GoodsService;
 import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -19,18 +17,10 @@ public class GoodsCategoryController extends BaseController {
     @Autowired
     private GoodsCategoryService goodsCategoryService;
 
-    @Autowired
-    private GoodsService goodsService;
-
     @ApiOperation(value = "删除商品分类")
-    @PostMapping("/del/{id}")
-    public Object del(@ApiParam(value = "商品分类编号", required = true) @PathVariable("id") Integer id) {
-        int num = goodsService.findGoodsNumByCategoryId(id);
-        if (num > 0) {
-            return failed("商品分类下有商品,不能删除");
-        }
-        goodsCategoryService.delete(id);
-        return succeed();
+    @PostMapping("/del")
+    public Object del(Integer id) {
+        return succeed(goodsCategoryService.delete(id));
     }
 
     @ApiOperation(value = "新增、修改商品类型")
@@ -40,27 +30,9 @@ public class GoodsCategoryController extends BaseController {
         return succeed();
     }
 
-    @ApiOperation(value = "新增")
-    @PostMapping("/add")
-    public Object add(GoodsCategory goodsCategory){
-        return succeed(goodsCategoryService.insert(goodsCategory));
-    }
-
-    @ApiOperation(value = "修改")
-    @PostMapping("/update")
-    public Object update(GoodsCategory goodsCategory){
-        return succeed(goodsCategoryService.update(goodsCategory));
-    }
-
-    @ApiOperation(value = "分页查询商品分类树状列表")
+    @ApiOperation(value = "分页查询商品分类列表")
     @GetMapping("/queryPage")
     public Object queryPage(GoodsCategoryQueryInfo queryInfo) {
-        return succeed(goodsCategoryService.queryTreePage(queryInfo));
-    }
-
-    @ApiOperation(value = "根据商品分类编号查询商品分类")
-    @GetMapping("/get/{id}")
-    public Object get(@ApiParam(value = "商品分类编号", required = true) @PathVariable("id") Integer id) {
-        return succeed(goodsCategoryService.get(id));
+        return succeed(goodsCategoryService.queryPage(queryInfo));
     }
 }