Joburgess 4 lat temu
rodzic
commit
be927e6374

+ 5 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/IndexBaseMonthDataDao.java

@@ -100,5 +100,10 @@ public interface IndexBaseMonthDataDao extends BaseDAO<Long, IndexBaseMonthData>
     List<IndexBaseMonthData> getGroupCourseData(@Param("month") String month,
                                                 @Param("groupType")GroupType groupType);
 
+
+    int countLessThenThreeClassGroupNum(@Param("organIds") Set<Integer> organIds);
     List<String> getLessThenThreeMusicGroup(@Param("organIds") Set<Integer> organIds);
+
+    int countNoPaymentStudentnum(@Param("organIds") Set<Integer> organIds);
+    List<String> getNoPaymentMusicGroup(@Param("organIds") Set<Integer> organIds);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/IndexErrInfoDto.java

@@ -19,6 +19,16 @@ public class IndexErrInfoDto<T> {
 
     private List<T> result;
 
+    public IndexErrInfoDto() {
+    }
+
+    public IndexErrInfoDto(IndexErrorType errorType, String desc, int num, List<T> result) {
+        this.errorType = errorType;
+        this.desc = desc;
+        this.num = num;
+        this.result = result;
+    }
+
     public IndexErrInfoDto(IndexErrorType errorType, String desc, List<T> result) {
         this.errorType = errorType;
         this.desc = desc;

+ 3 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -287,7 +287,9 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 
 		List<IndexErrInfoDto> result = new ArrayList<>();
 
-		result.add(new IndexErrInfoDto(IndexErrorType.HIGH_CLASS_STUDENT_LESS_THAN_THREE, IndexErrorType.HIGH_CLASS_STUDENT_LESS_THAN_THREE.getMsg(), indexBaseMonthDataDao.getLessThenThreeMusicGroup(organIds)));
+		result.add(new IndexErrInfoDto(IndexErrorType.HIGH_CLASS_STUDENT_LESS_THAN_THREE, IndexErrorType.HIGH_CLASS_STUDENT_LESS_THAN_THREE.getMsg(), indexBaseMonthDataDao.countLessThenThreeClassGroupNum(organIds), indexBaseMonthDataDao.getLessThenThreeMusicGroup(organIds)));
+
+		result.add(new IndexErrInfoDto(IndexErrorType.STUDENT_NOT_PAYMENT, IndexErrorType.STUDENT_NOT_PAYMENT.getMsg(), indexBaseMonthDataDao.countNoPaymentStudentnum(organIds), indexBaseMonthDataDao.getNoPaymentMusicGroup(organIds)));
 
 		return result;
 	}

+ 64 - 0
mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml

@@ -198,6 +198,7 @@
 			cooperation_organ
 		WHERE
 			del_flag_ = 0
+		  	AND is_enable_ = 1
 		  	AND organ_id_ IS NOT NULL
 		  	<if test="month!=null and month!=''">
 				AND DATE_FORMAT(create_time_, '%Y-%m') &lt;= #{month}
@@ -423,6 +424,29 @@
 			AND DATE_FORMAT( sr.create_time_, '%Y-%m' ) &lt;= #{month}
 	</select>
 
+	<select id="countLessThenThreeClassGroupNum" resultType="int">
+		SELECT
+			COUNT(DISTINCT cg.id_)
+		FROM
+			class_group cg
+			LEFT JOIN class_group_student_mapper cgsm ON cg.id_ = cgsm.class_group_id_
+			LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
+		WHERE
+			cg.type_ = 'HIGH'
+			AND mg.status_ = 'PROGRESS'
+			AND cgsm.status_ = 'NORMAL'
+			<if test="organIds!=null and organIds.size()>0">
+				AND mg.organ_id_ IN
+				<foreach collection="organIds" item="organId" open="(" close=")" separator=",">
+					#{organId}
+				</foreach>
+			</if>
+		GROUP BY
+			cg.music_group_id_
+		HAVING
+			COUNT( DISTINCT cgsm.user_id_ )&lt;3
+	</select>
+
     <select id="getLessThenThreeMusicGroup" resultType="java.lang.String">
 		SELECT
 			cg.music_group_id_
@@ -432,6 +456,8 @@
 			LEFT JOIN music_group mg ON cg.music_group_id_=mg.id_
 		WHERE
 			cg.type_ = 'HIGH'
+		  	AND mg.status_ = 'PROGRESS'
+			AND cgsm.status_ = 'NORMAL'
 			<if test="organIds!=null and organIds.size()>0">
 				AND mg.organ_id_ IN
 				<foreach collection="organIds" item="organId" open="(" close=")" separator=",">
@@ -443,4 +469,42 @@
 		HAVING
 			COUNT( DISTINCT cgsm.user_id_ )&lt;3
 	</select>
+
+	<select id="countNoPaymentStudentnum" resultType="java.lang.String">
+		SELECT
+			DISTINCT mgpcd.user_id_
+		FROM
+		music_group_payment_calender_detail mgpcd
+		LEFT JOIN music_group_payment_calender mgpc ON mgpcd.music_group_payment_calender_id_ = mgpc.id_
+		LEFT JOIN music_group mg ON mgpc.music_group_id_ = mg.id_
+		WHERE
+		mg.status_ = 'PROGRESS'
+		AND mgpc.payment_valid_end_date_ &lt; NOW()
+		AND mgpcd.payment_status_ = 'NON_PAYMENT'
+		<if test="organIds!=null and organIds.size()>0">
+			AND mg.organ_id_ IN
+			<foreach collection="organIds" item="organId" open="(" close=")" separator=",">
+				#{organId}
+			</foreach>
+		</if>
+	</select>
+
+	<select id="getNoPaymentMusicGroup" resultType="java.lang.String">
+		SELECT
+			DISTINCT mg.id_
+		FROM
+			music_group_payment_calender_detail mgpcd
+			LEFT JOIN music_group_payment_calender mgpc ON mgpcd.music_group_payment_calender_id_ = mgpc.id_
+			LEFT JOIN music_group mg ON mgpc.music_group_id_ = mg.id_
+		WHERE
+			mg.status_ = 'PROGRESS'
+			AND mgpc.payment_valid_end_date_ &lt; NOW()
+			AND mgpcd.payment_status_ = 'NON_PAYMENT'
+			<if test="organIds!=null and organIds.size()>0">
+				AND mg.organ_id_ IN
+				<foreach collection="organIds" item="organId" open="(" close=")" separator=",">
+					#{organId}
+				</foreach>
+			</if>
+	</select>
 </mapper>

+ 22 - 0
mec-web/src/main/java/com/ym/mec/web/controller/IndexController.java

@@ -136,4 +136,26 @@ public class IndexController extends BaseController {
 		}
 		return succeed(indexService.getIndexBaseData(dataTypes , organIds, year));
 	}
+
+	@GetMapping("/getIndexErrData")
+	public HttpResponseResult getIndexErrData(String organIds){
+		SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if (sysUser == null) {
+			return failed("用户信息获取失败");
+		}
+		if (!sysUser.getIsSuperAdmin()) {
+			Employee employee = employeeService.get(sysUser.getId());
+			if (StringUtils.isBlank(organIds)) {
+				organIds = employee.getOrganIdList();
+			}else if(StringUtils.isEmpty(employee.getOrganIdList())){
+				return failed("用户所在分部异常");
+			}else {
+				List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+				if(!list.containsAll(Arrays.asList(organIds.split(",")))){
+					return failed("非法请求");
+				}
+			}
+		}
+		return succeed(indexService.getIndexErrData(organIds));
+	}
 }