zouxuan 11 months ago
parent
commit
2abde0323c

+ 12 - 23
mec-application/src/main/java/com/ym/mec/student/controller/SysMusicScoreCategoriesController.java

@@ -1,35 +1,31 @@
 package com.ym.mec.student.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-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.entity.TenantConfig;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
+import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
-import com.ym.mec.biz.service.TenantConfigService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+
 @RequestMapping("${app-config.url.student:}/sysMusicScoreCategories")
 @Api(tags = "曲库分类服务")
 @RestController
 public class SysMusicScoreCategoriesController extends BaseController {
 
-    @Autowired
+    @Resource
     private SysMusicScoreCategoriesService sysMusicScoreCategoriesService;
-    @Autowired
-    private SysUserFeignService sysUserFeignService;
-    
-    @Autowired
-    private TenantConfigService tenantConfigService;
+    @Resource
+    private SysUserService sysUserService;
+    @Resource
+    private OrganizationService organizationService;
 
 
     @ApiOperation(value = "分页查询")
@@ -41,18 +37,11 @@ public class SysMusicScoreCategoriesController extends BaseController {
     @ApiOperation(value = "树状列表")
     @GetMapping("/queryTree")
     public Object queryTree(MusicScoreQueryInfo queryInfo) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if(sysUser == null || sysUser.getId() == null){
-        	return failed(HttpStatus.FORBIDDEN, "请登录");
-        }
-        
-        TenantConfig tenantConfig = tenantConfigService.getOne(new QueryWrapper<TenantConfig>().eq("tenant_id_", sysUser.getTenantId()));
-        
-        return succeed(sysMusicScoreCategoriesService.queryCategoriesTreeList(tenantConfig.getTeachingMaterialId(), queryInfo.getEnable()));
+        SysUser sysUser = sysUserService.getUser();
+        String teachingMaterialIds = organizationService.getTeachingMaterialIds(sysUser.getOrganId().toString(),sysUser.getTenantId());
+        return succeed(sysMusicScoreCategoriesService.queryCategoriesTreeList(teachingMaterialIds, queryInfo.getEnable()));
     }
 
-
-
     @ApiOperation(value = "树状列表")
     @GetMapping("/queryTree1")
     public Object queryTree1(MusicScoreQueryInfo queryInfo) {

+ 25 - 21
mec-application/src/main/java/com/ym/mec/teacher/controller/SysMusicScoreCategoriesController.java

@@ -1,37 +1,37 @@
 package com.ym.mec.teacher.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-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.entity.TenantConfig;
+import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.dal.page.SysExamSongQueryInfo;
+import com.ym.mec.biz.service.OrganizationService;
 import com.ym.mec.biz.service.SysMusicScoreCategoriesService;
-import com.ym.mec.biz.service.TeacherService;
-import com.ym.mec.biz.service.TenantConfigService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+
 @RequestMapping("${app-config.url.teacher:}/sysMusicScoreCategories")
 @Api(tags = "曲库分类服务")
 @RestController
 public class SysMusicScoreCategoriesController extends BaseController {
 
-    @Autowired
+    @Resource
     private SysMusicScoreCategoriesService sysMusicScoreCategoriesService;
-    @Autowired
-    private SysUserFeignService sysUserFeignService;
-    @Autowired
-    private TeacherService teacherService;
-    
-    @Autowired
-    private TenantConfigService tenantConfigService;
+    @Resource
+    private SysUserService sysUserService;
+    @Resource
+    private OrganizationService organizationService;
+    @Resource
+    private TeacherDao teacherDao;
 
 
     @ApiOperation(value = "分页查询")
@@ -43,14 +43,18 @@ public class SysMusicScoreCategoriesController extends BaseController {
     @ApiOperation(value = "树状列表")
     @GetMapping("/queryTree")
     public Object queryTree(MusicScoreQueryInfo queryInfo) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
-            return failed(HttpStatus.FORBIDDEN, "请登录");
+        SysUser sysUser = sysUserService.getUser();
+        //获取老师分部
+        Teacher teacher = teacherDao.get(sysUser.getId());
+        if (teacher == null) {
+            return failed(HttpStatus.BAD_REQUEST, "老师信息不存在");
+        }
+        String organId = teacher.getTeacherOrganId() + "";
+        if (StringUtils.isNotEmpty(teacher.getFlowOrganRange())){
+            organId = organId + "," + teacher.getFlowOrganRange();
         }
-        
-        TenantConfig tenantConfig = tenantConfigService.getOne(new QueryWrapper<TenantConfig>().eq("tenant_id_", sysUser.getTenantId()));
-        
-        return succeed(sysMusicScoreCategoriesService.queryCategoriesTreeList(tenantConfig.getTeachingMaterialId(), queryInfo.getEnable()));
+        String teachingMaterialIds = organizationService.getTeachingMaterialIds(organId,sysUser.getTenantId());
+        return succeed(sysMusicScoreCategoriesService.queryCategoriesTreeList(teachingMaterialIds, queryInfo.getEnable()));
     }
 
     @ApiOperation(value = "获取分类详情")

+ 5 - 149
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Organization.java

@@ -6,6 +6,7 @@ import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
+import lombok.Data;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
 import com.ym.mec.biz.dal.enums.GradeTypeEnum;
@@ -15,11 +16,9 @@ import com.ym.mec.common.entity.BaseEntity;
 /**
  * 对应数据库表(organization):
  */
+@Data
 public class Organization extends BaseEntity {
 
-	/**
-	 * 
-	 */
 	private static final long serialVersionUID = -8979746516597046410L;
 
 	/**  */
@@ -69,159 +68,16 @@ public class Organization extends BaseEntity {
 	@ApiModelProperty(value = "地址",required = false)
 	private String address;
 
+	@ApiModelProperty(value = "可用教材编号,多个逗号分割",required = false)
+	private String teachingMaterialId;
+
 	@ApiModelProperty(value = "学年制",required = false)
 	private GradeTypeEnum gradeType;
 
 	@ApiModelProperty(value = "子节点列表",required = false)
 	private List<Organization> organizations;
-
-	public String getAreaName() {
-		return areaName;
-	}
-
-	public void setAreaName(String areaName) {
-		this.areaName = areaName;
-	}
-
-	public List<Organization> getOrganizations() {
-		return organizations;
-	}
-
-	public void setOrganizations(List<Organization> organizations) {
-		this.organizations = organizations;
-	}
-
-	public void setId(Integer id){
-		this.id = id;
-	}
-	
-	public Integer getId(){
-		return this.id;
-	}
-			
-	public void setName(String name){
-		this.name = name;
-	}
-	
-	public String getName(){
-		return this.name;
-	}
-			
-	public void setCreateTime(java.util.Date createTime){
-		this.createTime = createTime;
-	}
-	
-	public java.util.Date getCreateTime(){
-		return this.createTime;
-	}
-			
-	public void setUpdateTime(java.util.Date updateTime){
-		this.updateTime = updateTime;
-	}
-	
-	public java.util.Date getUpdateTime(){
-		return this.updateTime;
-	}
-
-	public YesOrNoEnum getDelFlag() {
-		return delFlag;
-	}
-
-	public void setDelFlag(YesOrNoEnum delFlag) {
-		this.delFlag = delFlag;
-	}
-
-	public Integer getAreaId() {
-		return areaId;
-	}
-
-	public void setAreaId(Integer areaId) {
-		this.areaId = areaId;
-	}
-
-	public Date getRegisterDate() {
-		return registerDate;
-	}
-
-	public void setRegisterDate(Date registerDate) {
-		this.registerDate = registerDate;
-	}
-
-	public String getLinkman() {
-		return linkman;
-	}
-
-	public void setLinkman(String linkman) {
-		this.linkman = linkman;
-	}
-
-	public String getMobile() {
-		return mobile;
-	}
-
-	public void setMobile(String mobile) {
-		this.mobile = mobile;
-	}
-
-	public String getAddress() {
-		return address;
-	}
-
-	public void setAddress(String address) {
-		this.address = address;
-	}
-
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);
 	}
-
-	public GradeTypeEnum getGradeType() {
-		return gradeType;
-	}
-
-	public void setGradeType(GradeTypeEnum gradeType) {
-		this.gradeType = gradeType;
-	}
-
-	public String getCorporateName() {
-		return corporateName;
-	}
-
-	public void setCorporateName(String corporateName) {
-		this.corporateName = corporateName;
-	}
-
-	public String getCorporateCode() {
-		return corporateCode;
-	}
-
-	public void setCorporateCode(String corporateCode) {
-		this.corporateCode = corporateCode;
-	}
-
-	public String getCorporateSeal() {
-		return corporateSeal;
-	}
-
-	public void setCorporateSeal(String corporateSeal) {
-		this.corporateSeal = corporateSeal;
-	}
-
-	public String getCorporateFinancialSeal() {
-		return corporateFinancialSeal;
-	}
-
-	public void setCorporateFinancialSeal(String corporateFinancialSeal) {
-		this.corporateFinancialSeal = corporateFinancialSeal;
-	}
-
-	public BigDecimal getMaxMusicalInstrumentsProfits() {
-		return maxMusicalInstrumentsProfits;
-	}
-
-	public void setMaxMusicalInstrumentsProfits(BigDecimal maxMusicalInstrumentsProfits) {
-		this.maxMusicalInstrumentsProfits = maxMusicalInstrumentsProfits;
-	}
-
 }

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/OrganizationService.java

@@ -104,4 +104,7 @@ public interface OrganizationService extends BaseService<Integer, Organization>
     Map<Integer, String> getGradeList(Integer organId, String gradeType);
 
     Map<Integer,Organization> getMapById(List<Integer> ids);
+
+    //获取分部关联的课件编号
+    String getTeachingMaterialIds(String organId, Integer tenantId);
 }

+ 22 - 8
mec-biz/src/main/java/com/ym/mec/biz/service/impl/OrganizationServiceImpl.java

@@ -1,14 +1,13 @@
 package com.ym.mec.biz.service.impl;
 
+import com.alipay.service.schema.util.StringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.dao.OrganizationDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
 import com.ym.mec.biz.dal.dao.TenantInfoDao;
-import com.ym.mec.biz.dal.entity.Employee;
-import com.ym.mec.biz.dal.entity.Organization;
-import com.ym.mec.biz.dal.entity.Teacher;
-import com.ym.mec.biz.dal.entity.TenantInfo;
+import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.EGroupGradeType;
 import com.ym.mec.biz.dal.enums.FivePlusGradeEnum;
 import com.ym.mec.biz.dal.enums.GradeTypeEnum;
@@ -46,14 +45,13 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 	@Autowired
 	private SysUserService sysUserService;
 	@Autowired
+	private TenantConfigService tenantConfigService;
+	@Autowired
 	private SysEmployeePositionService employeePositionService;
 	@Autowired
     @Lazy
 	private ContractService contractService;
 	@Autowired
-	private TenantInfoDao tenantInfoDao;
-	
-	@Autowired
 	private TenantContractTemplateService tenantContractTemplateService;
 
 	@Override
@@ -206,7 +204,7 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 	@Transactional(rollbackFor = Exception.class)
     public Long add(Organization organization) {
 		long insert = organizationDao.insert(organization);
-		TenantInfo tenantInfo = tenantInfoDao.selectById(organization.getTenantId());
+		TenantInfo tenantInfo = tenantInfoService.getDao().selectById(organization.getTenantId());
 		Integer userId = sysUserService.getUserId();
 		if(!userId.equals(tenantInfo.getUserId())){
 			updateOrganId(tenantInfo.getUserId(),organization.getId());
@@ -231,6 +229,22 @@ public class OrganizationServiceImpl extends BaseServiceImpl<Integer, Organizati
 		return organs.stream().collect(Collectors.toMap(Organization::getId, Function.identity()));
 	}
 
+    @Override
+    public String getTeachingMaterialIds(String organId, Integer tenantId) {
+		String teachingMaterialIds = "";
+		//获取分部关联的课件
+		List<Organization> organizations = organizationDao.queryEmployeeOrgan(organId);
+		if(CollectionUtils.isNotEmpty(organizations)){
+			teachingMaterialIds = organizations.stream().filter(e -> StringUtils.isNotEmpty(e.getTeachingMaterialId())).
+					map(e -> e.getTeachingMaterialId()).collect(Collectors.joining(","));
+		}
+		if (StringUtil.isEmpty(teachingMaterialIds)){
+			TenantConfig tenantConfig = tenantConfigService.getOne(new QueryWrapper<TenantConfig>().eq("tenant_id_", tenantId));
+			teachingMaterialIds = tenantConfig.getTeachingMaterialId();
+		}
+		return teachingMaterialIds;
+    }
+
     /**
      * 获取分部信息
      *

+ 8 - 2
mec-biz/src/main/resources/config/mybatis/OrganizationMapper.xml

@@ -24,6 +24,7 @@
         <result column="corporate_financial_seal_" property="corporateFinancialSeal"/>
         <result column="max_musical_instruments_profits_" property="maxMusicalInstrumentsProfits"/>
         <result column="tenant_id_" property="tenantId"/>
+        <result column="teaching_material_id_" property="teachingMaterialId"/>
         <result column="grade_type_" property="gradeType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
 
@@ -41,9 +42,13 @@
     <insert id="insert" parameterType="com.ym.mec.biz.dal.entity.Organization" useGeneratedKeys="true" keyColumn="id"
             keyProperty="id">
         INSERT INTO organization (id_,name_,area_id_,create_time_,update_time_,
-                                  register_date_,linkman_,mobile_,address_,grade_type_,tenant_id_,corporate_name_,corporate_code_,corporate_seal_,corporate_financial_seal_,max_musical_instruments_profits_)
+                                  register_date_,linkman_,mobile_,address_,grade_type_,tenant_id_,
+                                  corporate_name_,corporate_code_,corporate_seal_,corporate_financial_seal_,
+                                  max_musical_instruments_profits_,teaching_material_id_)
         VALUES(#{id},#{name},#{areaId},now(),now(),#{registerDate},#{linkman},#{mobile},#{address},
-               #{gradeType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{tenantId},#{corporateName},#{corporateCode},#{corporateSeal},#{corporateFinancialSeal},#{maxMusicalInstrumentsProfits})
+               #{gradeType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{tenantId},
+               #{corporateName},#{corporateCode},#{corporateSeal},#{corporateFinancialSeal},
+               #{maxMusicalInstrumentsProfits},#{teachingMaterialId})
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -92,6 +97,7 @@
             <if test="gradeType != null">
                 grade_type_ = #{gradeType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
+            teaching_material_id_ = #{teachingMaterialId}
         </set>
         WHERE id_ = #{id} and tenant_id_ = #{tenantId}
     </update>