Joburgess преди 4 години
родител
ревизия
61406c461b

+ 1 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/IndexDataType.java

@@ -16,6 +16,7 @@ public enum IndexDataType implements BaseEnum<String, IndexDataType> {
     //运营数据类型
     SCHOOL("SCHOOL","合作单位", false, false),
     PROGRESS_MUSIC_GROUP_NUM("PROGRESS_MUSIC_GROUP_NUM","进行中乐团", false, false),
+    TRANSACTION_TEACHER_NUM("TRANSACTION_TEACHER_NUM", "衔接老师人数", false, false),
 
     //人事数据
     TEACHER_NUM("TEACHER_NUM","老师总数", false, false),

+ 31 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -8,10 +8,12 @@ import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.IndexBaseDto;
 import com.ym.mec.biz.dal.dto.IndexErrorDataExportDto;
 import com.ym.mec.biz.dal.dto.OrganVipGroupCategoryCourseNumDto;
+import com.ym.mec.biz.dal.dto.SimpleUserDto;
 import com.ym.mec.biz.dal.entity.IndexErrInfoDto;
 import com.ym.mec.biz.dal.entity.Organization;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.IndexDataQueryInfo;
+import com.ym.mec.biz.service.EmployeeService;
 import com.ym.mec.biz.service.StudentExtracurricularExercisesSituationService;
 import com.ym.mec.common.constant.CommonConstants;
 import com.ym.mec.common.dal.BaseDAO;
@@ -60,6 +62,8 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 	private StudentExtracurricularExercisesSituationDao studentExtracurricularExercisesSituationDao;
 	@Autowired
 	private ClassGroupDao classGroupDao;
+	@Autowired
+	private EmployeeService employeeService;
 
 	private static ThreadLocal<Set<Integer>> organIds = new ThreadLocal<Set<Integer>>(){
 		@Override
@@ -258,6 +262,33 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.PROGRESS_MUSIC_GROUP_NUM)) {
 			saveData(indexBaseMonthDataDao.getMusicData(dayStr), dayStr, IndexDataType.PROGRESS_MUSIC_GROUP_NUM);
 		}
+		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(TRANSACTION_TEACHER_NUM)) {
+			List<SimpleUserDto> transactionTeachers = employeeService.findByRole("58", null);
+			Map<Integer, Integer> organTeacherNumMap = new HashMap<>();
+			for (SimpleUserDto transactionTeacher : transactionTeachers) {
+				Set<Integer> organIds = Arrays.stream(transactionTeacher.getOrganIds().split(",")).map(s -> Integer.valueOf(s)).collect(Collectors.toSet());
+				for (Integer organId : organIds) {
+					if(organTeacherNumMap.containsKey(organId)){
+						organTeacherNumMap.put(organId, organTeacherNumMap.get(organId)+1);
+					}else{
+						organTeacherNumMap.put(organId, 1);
+					}
+				}
+			}
+			List<IndexBaseMonthData> datas = new ArrayList<>();
+			Date month = DateUtil.stringToDate(dayStr, "yyyy-MM-dd");
+			for (Map.Entry<Integer, Integer> organTeacherNumMapEntry : organTeacherNumMap.entrySet()) {
+				IndexBaseMonthData data = new IndexBaseMonthData();
+				data.setOrganId(organTeacherNumMapEntry.getKey());
+				data.setMonth(month);
+				BigDecimal num = new BigDecimal(organTeacherNumMapEntry.getValue());
+				data.setTotalNum(num);
+				data.setActivateNum(num);
+				data.setPercent(num);
+				datas.add(data);
+			}
+			saveData(datas, dayStr, IndexDataType.TRANSACTION_TEACHER_NUM);
+		}
 
 		//人事数据
 		if(CollectionUtils.isEmpty(dataTypes)||dataTypes.contains(IndexDataType.TEACHER_NUM)) {

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

@@ -261,8 +261,8 @@
 
     <select id="findByRole" resultType="com.ym.mec.biz.dal.dto.SimpleUserDto">
         SELECT DISTINCT su.id_ userId,
-          su.real_name_ userName,
-          su.avatar_ avatar,
+            su.real_name_ userName,
+            su.avatar_ avatar,
             e.organ_id_list_ organIds
         FROM
             sys_user su