浏览代码

Merge remote-tracking branch 'origin/master'

Joburgess 4 年之前
父节点
当前提交
e424e8c004

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupDao.java

@@ -5,6 +5,7 @@ import com.ym.mec.biz.dal.dto.CalenderPushDto;
 import com.ym.mec.biz.dal.dto.MusicCardDto;
 import com.ym.mec.biz.dal.dto.MusicGroupRegisterDto;
 import com.ym.mec.biz.dal.dto.RegisterSubjectDto;
+import com.ym.mec.biz.dal.entity.CooperationOrgan;
 import com.ym.mec.biz.dal.entity.MusicGroup;
 import com.ym.mec.biz.dal.entity.School;
 import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
@@ -354,8 +355,16 @@ public interface MusicGroupDao extends BaseDAO<String, MusicGroup> {
 
     /**
      * 获取进行中的乐团的教务老师
+     *
      * @param organId
      * @return
      */
     List<SysUser> getMusicGroupEduTeacher(@Param("organId") Integer organId);
+
+    /**
+     * 获取用户的合作单位
+     * @param userId
+     * @return
+     */
+    CooperationOrgan findUserMusicGroupCooperationOrgan(@Param("userId") Integer userId);
 }

+ 0 - 11
mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherCloseQueryInfo.java

@@ -44,17 +44,6 @@ public class TeacherCloseQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "考勤状态,ERR_ATTENDANCE,NO_ATTENDANCE")
     private String attendanceStatus;
 
-    @ApiModelProperty(value = "是否处理")
-    private Boolean visitFlag;
-
-    public Boolean getVisitFlag() {
-        return visitFlag;
-    }
-
-    public void setVisitFlag(Boolean visitFlag) {
-        this.visitFlag = visitFlag;
-    }
-
     public String getAttendanceStatus() {
         return attendanceStatus;
     }

+ 7 - 5
mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml

@@ -582,8 +582,9 @@
 			</if>
 	</select>
     <select id="getAttendanceError" resultType="int">
-		SELECT COUNT(DISTINCT ta.id_) FROM teacher_attendance ta
-		LEFT JOIN course_schedule cs ON ta.course_schedule_id_ = cs.id_
+		SELECT COUNT(csts.id_) FROM course_schedule_teacher_salary csts
+		LEFT JOIN course_schedule cs ON csts.course_schedule_id_ = cs.id_
+		LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = csts.course_schedule_id_ AND ta.teacher_id_ = csts.user_id_
 		WHERE (ta.sign_in_status_ = 0 OR ta.sign_out_status_ = 0) AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_)
 		AND (ta.sign_in_time_ IS NOT NULL OR ta.sign_out_time_ IS NOT NULL) AND ta.dispose_content_ IS NULL AND cs.class_date_ >= #{startTime}
 		<if test="organIds != null and organIds != ''">
@@ -591,10 +592,11 @@
 		</if>
 	</select>
 	<select id="getNoAttendance" resultType="int">
-		SELECT COUNT(DISTINCT ta.id_) FROM teacher_attendance ta
-		LEFT JOIN course_schedule cs ON ta.course_schedule_id_ = cs.id_
+		SELECT COUNT(csts.id_) FROM course_schedule_teacher_salary csts
+		LEFT JOIN course_schedule cs ON csts.course_schedule_id_ = cs.id_
+		LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = csts.course_schedule_id_ AND ta.teacher_id_ = csts.user_id_
 		WHERE ta.sign_in_time_ IS NULL AND cs.status_ = 'OVER' AND ta.sign_out_time_ IS NULL AND ta.dispose_content_ IS NULL
-		AND cs.del_flag_ = 0 AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_) AND DATE_FORMAT( cs.class_date_, '%Y-%m-%d' ) >= #{startTime}
+		AND cs.del_flag_ = 0 AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_) AND cs.class_date_ >= #{startTime}
 		<if test="organIds != null and organIds != ''">
 			AND FIND_IN_SET(cs.organ_id_,#{organIds})
 		</if>

+ 13 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -662,4 +662,17 @@
         WHERE mg.organ_id_ = #{organId} AND status_ = 'PROGRESS' AND mg.educational_teacher_id_ >0
         GROUP BY su.id_
     </select>
+
+    <select id="findUserMusicGroupCooperationOrgan" resultMap="com.ym.mec.biz.dal.dao.CooperationOrganDao.CooperationOrgan">
+        SELECT co.name_,s.name_ linkman_
+        FROM music_group mg
+        LEFT JOIN student_registration sr ON sr.music_group_id_ = mg.id_
+        LEFT JOIN cooperation_organ co ON co.id_ = mg.cooperation_organ_id_
+        LEFT JOIN school s ON s.id_ = mg.school_id_
+        WHERE sr.user_id_ = #{userId}
+        AND mg.status_ = 'PROGRESS'
+        AND sr.music_group_status_ = 'NORMAL'
+        ORDER BY sr.id_ ASC
+        LIMIT 1
+    </select>
 </mapper>

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

@@ -499,7 +499,7 @@
     <select id="queryMusicGroupStudent" resultMap="MusicGroupStudentsDto">
         SELECT sr.user_id_,su.username_ real_name_,su.gender_,su.phone_ parents_phone_,sr.current_grade_,sr.current_grade_date_,
         sr.current_class_,sr.music_group_status_ student_status_,CASE WHEN sr.payment_status_ = 2 THEN 1 ELSE 0 END payment_status_,
-        s.name_ subject_name_,sr.music_group_id_,case when su.password_ is null then 0 else 1 end isActive_,
+        s.name_ subject_name_,sr.music_group_id_,CASE WHEN su.password_ IS NULL THEN 0 ELSE 1 END isActive_,
         IF(DATE_FORMAT(sr.create_time_,'%Y-%m-%d') > DATE_FORMAT(mg.payment_expire_date_,'%Y-%m-%d'),1,0) is_new_student_,
         stu.care_package_,stu.come_on_package_
         FROM student_registration sr

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

@@ -318,18 +318,10 @@
                 AND t.job_nature_ = #{jobNature,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
             </if>
             <if test="attendanceStatus == 'ERR_ATTENDANCE'">
-                AND (ta.sign_in_status_ = 0 OR ta.sign_out_status_ = 0) AND (ta.sign_in_time_ IS NOT NULL OR ta.sign_out_time_ IS NOT NULL)
+                AND (ta.sign_in_status_ = 0 OR ta.sign_out_status_ = 0) AND (ta.sign_in_time_ IS NOT NULL OR ta.sign_out_time_ IS NOT NULL) AND ta.dispose_content_ IS NULL
             </if>
             <if test="attendanceStatus == 'NO_ATTENDANCE'">
-                AND ta.sign_out_time_ IS NULL AND ta.sign_in_time_ IS NULL
-            </if>
-            <if test="visitFlag != null">
-                <if test="visitFlag == 0">
-                    AND ta.dispose_content_ IS NULL
-                </if>
-                <if test="visitFlag == 1">
-                    AND ta.dispose_content_ IS NOT NULL
-                </if>
+                AND ta.sign_out_time_ IS NULL AND ta.sign_in_time_ IS NULL AND ta.dispose_content_ IS NULL
             </if>
         </where>
     </sql>

+ 37 - 32
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -1163,29 +1163,22 @@ public class ExportController extends BaseController {
                     }
                     row.setDegreeFee(row.getActualAmount().subtract(row.getVipCourseFee()).subtract(row.getPracticeCourseFee()).subtract(row.getTheoryCourseFee()));
                 } else {
-                    if(row.getChargeType() != null && SporadicChargeTypeEnum.LEVEL.getCode().equals(row.getChargeType())){
+                    if (row.getChargeType() != null && SporadicChargeTypeEnum.LEVEL.getCode().equals(row.getChargeType())) {
                         row.setDegreeFee(row.getActualAmount());
-                    }else if(row.getChargeType() != null && SporadicChargeTypeEnum.PRACTICE_GROUP_BUY.getCode().equals(row.getChargeType())){
+                    } else if (row.getChargeType() != null && SporadicChargeTypeEnum.PRACTICE_GROUP_BUY.getCode().equals(row.getChargeType())) {
                         row.setPracticeCourseFee(row.getActualAmount());
                     } else {
                         row.setOtherFee(row.getActualAmount());
-                    }                }
+                    }
+                }
                 if (row.getChargeType() != null) {
                     for (SporadicChargeTypeEnum chargeType : SporadicChargeTypeEnum.values()) {
                         if (!chargeType.getCode().equals(row.getChargeType())) continue;
                         row.setSporadicType(chargeType.getMsg());
                     }
                 }
-                School userSchool = musicGroupDao.findUserSchool(row.getUserId());
-                if (userSchool != null) {
-                    row.setSchoolName(userSchool.getName());
-                }
             } else if (row.getGroupType().equals(GroupType.PRACTICE)) {
                 row.setPracticeCourseFee(row.getActualAmount());
-                School userSchool = musicGroupDao.findUserSchool(row.getUserId());
-                if (userSchool != null) {
-                    row.setSchoolName(userSchool.getName());
-                }
                 PracticeCourseDto practiceGroup = practiceGroupDao.findByGroupId(Integer.parseInt(row.getMusicGroupId()));
                 if (practiceGroup != null) {
                     row.setSubjectName(practiceGroup.getSubjectName());
@@ -1211,7 +1204,18 @@ public class ExportController extends BaseController {
                     row.setTransferFee(BigDecimal.ZERO);
                 }
             }
-            if (row.getMusicGroupId()!= null && row.getMusicGroupId().equals("null")) {
+            //如果合作单位不存在取学员的第一个乐团的合作单位和教学点
+            if (row.getCooperationOrganName() == null) {
+                CooperationOrgan cooperationOrgan = musicGroupDao.findUserMusicGroupCooperationOrgan(row.getUserId());
+                if (cooperationOrgan != null) {
+                    row.setCooperationOrganName(cooperationOrgan.getName());
+                }
+                if (row.getSchoolName() == null && cooperationOrgan != null) {
+                    //linkman 赋予教学点值
+                    row.setSchoolName(cooperationOrgan.getLinkman());
+                }
+            }
+            if (row.getMusicGroupId() != null && row.getMusicGroupId().equals("null")) {
                 row.setMusicGroupId("");
             }
             String paymentChannel = "";
@@ -1290,25 +1294,25 @@ public class ExportController extends BaseController {
                 if (row.getNextPaymentDate() != null) {
                     row.setNextPaymentDateStr(DateUtil.format(row.getNextPaymentDate(), DateUtil.DEFAULT_PATTERN));
                 }
-                if(Objects.isNull(row.getCarePackage())||row.getCarePackage().equals(0)){
+                if (Objects.isNull(row.getCarePackage()) || row.getCarePackage().equals(0)) {
                     row.setCarePackageStr("不可用");
-                }else if(row.getCarePackage().equals(1)){
+                } else if (row.getCarePackage().equals(1)) {
                     row.setCarePackageStr("可用");
-                }else if(row.getCarePackage().equals(2)){
+                } else if (row.getCarePackage().equals(2)) {
                     row.setCarePackageStr("已使用");
                 }
-                if(Objects.isNull(row.getComeOnPackage())||row.getComeOnPackage().equals(0)){
+                if (Objects.isNull(row.getComeOnPackage()) || row.getComeOnPackage().equals(0)) {
                     row.setComeOnPackageStr("不可用");
-                }else if(row.getComeOnPackage().equals(1)){
+                } else if (row.getComeOnPackage().equals(1)) {
                     row.setComeOnPackageStr("可用");
-                }else if(row.getComeOnPackage().equals(2)){
+                } else if (row.getComeOnPackage().equals(2)) {
                     row.setComeOnPackageStr("已使用");
                 }
             }
             String[] header = {"学员编号", "学员姓名", "性别", "联系电话", "年级", "班级", "专业", "学员状态", "新增学员", "缴费金额",
-                        "下次缴费日期", "是否报名缴费", "是否激活", "是否有剩余VIP", "是否有剩余网管课", "欠费总额", "关心包", "加油包"};
+                    "下次缴费日期", "是否报名缴费", "是否激活", "是否有剩余VIP", "是否有剩余网管课", "欠费总额", "关心包", "加油包"};
             String[] body = {"userId", "realName", "gender", "phone", "currentGrade", "currentClass", "subjectName", "studentStatus", "isNewStudentStr",
-                    "courseFee", "nextPaymentDateStr", "paymentStatus.desc", "activeName", "hasVip ? '是' : '否'", "hasPractice ? '是' : '否'","noPaymentAmount",
+                    "courseFee", "nextPaymentDateStr", "paymentStatus.desc", "activeName", "hasVip ? '是' : '否'", "hasPractice ? '是' : '否'", "noPaymentAmount",
                     "carePackageStr", "comeOnPackageStr"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, musicGroupStudentsDtoPageInfo.getRows());
             response.setContentType("application/octet-stream");
@@ -2312,11 +2316,11 @@ public class ExportController extends BaseController {
                     }
                     row.setDegreeFee(row.getActualAmount().subtract(row.getVipCourseFee()).subtract(row.getPracticeCourseFee()).subtract(row.getTheoryCourseFee()));
                 } else {
-                    if(row.getChargeType() != null && SporadicChargeTypeEnum.LEVEL.getCode().equals(row.getChargeType())){
+                    if (row.getChargeType() != null && SporadicChargeTypeEnum.LEVEL.getCode().equals(row.getChargeType())) {
                         row.setDegreeFee(row.getActualAmount());
-                    }else if(row.getChargeType() != null && SporadicChargeTypeEnum.PRACTICE_GROUP_BUY.getCode().equals(row.getChargeType())){
+                    } else if (row.getChargeType() != null && SporadicChargeTypeEnum.PRACTICE_GROUP_BUY.getCode().equals(row.getChargeType())) {
                         row.setPracticeCourseFee(row.getActualAmount());
-                    }else {
+                    } else {
                         row.setOtherFee(row.getActualAmount());
                     }
                 }
@@ -2326,16 +2330,8 @@ public class ExportController extends BaseController {
                         row.setSporadicType(chargeType.getMsg());
                     }
                 }
-                School userSchool = musicGroupDao.findUserSchool(row.getUserId());
-                if (userSchool != null) {
-                    row.setSchoolName(userSchool.getName());
-                }
             } else if (row.getGroupType().equals(GroupType.PRACTICE)) {
                 row.setPracticeCourseFee(row.getActualAmount());
-                School userSchool = musicGroupDao.findUserSchool(row.getUserId());
-                if (userSchool != null) {
-                    row.setSchoolName(userSchool.getName());
-                }
                 PracticeCourseDto practiceGroup = practiceGroupDao.findByGroupId(Integer.parseInt(row.getMusicGroupId()));
                 if (practiceGroup != null) {
                     row.setSubjectName(practiceGroup.getSubjectName());
@@ -2361,7 +2357,16 @@ public class ExportController extends BaseController {
                     row.setTransferFee(BigDecimal.ZERO);
                 }
             }
-            if (row.getMusicGroupId()!= null && row.getMusicGroupId().equals("null")) {
+            //如果合作单位不存在取学员的第一个乐团的合作单位和教学点
+            if (row.getCooperationOrganName() == null) {
+                CooperationOrgan cooperationOrgan = musicGroupDao.findUserMusicGroupCooperationOrgan(row.getUserId());
+                row.setCooperationOrganName(cooperationOrgan.getName());
+                if (row.getSchoolName() != null) {
+                    //linkman 赋予教学点值
+                    row.setSchoolName(cooperationOrgan.getLinkman());
+                }
+            }
+            if (row.getMusicGroupId() != null && row.getMusicGroupId().equals("null")) {
                 row.setMusicGroupId("");
             }
             String paymentChannel = "";