Forráskód Böngészése

Merge remote-tracking branch 'origin/master'

zouxuan 4 éve
szülő
commit
eda7ba6b58
31 módosított fájl, 479 hozzáadás és 79 törlés
  1. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleDao.java
  2. 18 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/InspectionItemPlanConclusionDao.java
  3. 41 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItemPlan.java
  4. 14 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItemPlanConclusion.java
  5. 55 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/InspectionItemPlanQueryInfo.java
  6. 17 1
      mec-biz/src/main/java/com/ym/mec/biz/service/InspectionItemPlanConclusionService.java
  7. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java
  8. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java
  9. 5 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java
  10. 7 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java
  11. 5 2
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EduPracticeGroupServiceImpl.java
  12. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/FinancialExpenditureServiceImpl.java
  13. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsServiceImpl.java
  14. 38 4
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionItemPlanConclusionServiceImpl.java
  15. 9 7
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionItemPlanServiceImpl.java
  16. 4 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java
  17. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/OnlineMusicGroupServiceImpl.java
  18. 4 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java
  19. 3 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentRouteOrderServiceImpl.java
  20. 3 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherDefaultMusicGroupSalaryServiceImpl.java
  21. 12 0
      mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml
  22. 25 20
      mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml
  23. 37 9
      mec-biz/src/main/resources/config/mybatis/InspectionItemPlanConclusionMapper.xml
  24. 33 8
      mec-biz/src/main/resources/config/mybatis/InspectionItemPlanMapper.xml
  25. 52 12
      mec-util/src/main/java/com/ym/mec/util/excel/POIUtil.java
  26. 1 1
      mec-util/src/main/java/com/ym/mec/util/ini/IniFileEntity.java
  27. 1 1
      mec-util/src/main/java/com/ym/mec/util/ini/IniFileUtil.java
  28. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java
  29. 33 0
      mec-web/src/main/java/com/ym/mec/web/controller/InspectionItemPlanConclusionController.java
  30. 22 1
      mec-web/src/main/java/com/ym/mec/web/controller/InspectionItemPlanController.java
  31. 6 5
      mec-web/src/main/java/com/ym/mec/web/controller/education/EduInspectionItemPlanConclusionController.java

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

@@ -1,5 +1,6 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
@@ -1766,4 +1767,12 @@ public interface CourseScheduleDao extends BaseDAO<Long, CourseSchedule> {
      * @return
      */
     Integer getUnderwayCourseNum(@Param("musicGroupId") String musicGroupId, @Param("groupType") GroupType groupType, @Param("status") CourseStatusEnum status);
+
+
+    /**
+     * 获取时间段内乐团的线下课程信息
+     *
+     * @return
+     */
+    List<CourseSchedule> getMusicGroupCourseInfo(@Param("musicGroupId") String musicGroupId, @Param("startTime") Date startTime, @Param("endTime") Date endTime);
 }

+ 18 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/InspectionItemPlanConclusionDao.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 
 import com.ym.mec.biz.dal.dto.CheckItemDto;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
@@ -36,9 +37,26 @@ public interface InspectionItemPlanConclusionDao extends BaseDAO<Long, Inspectio
 
     /**
      * 获取巡查日程的巡查结果
+     *
      * @param planId
      * @param checkItem
      * @return
      */
     List<InspectionItemPlanConclusion> getInspectionItemPlanConclusion(@Param("planId") Long planId, @Param("checkItem") Integer checkItem);
+
+    /**
+     * 获取巡查结果的课程信息
+     *
+     * @return
+     */
+    List<CourseSchedule> getPlanConclusionCourses(@Param("planId") Long planId);
+
+    /**
+     * 获取日程检查结果的数量
+     *
+     * @param planId
+     * @param checkConclusion
+     * @return
+     */
+    int getCountByPlanIdAndCheckConclusion(@Param("planId") Long planId, @Param("checkConclusion") Integer checkConclusion);
 }

+ 41 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItemPlan.java

@@ -46,6 +46,12 @@ public class InspectionItemPlan {
     private Date planEnd;
 
     /**
+     * 分部id
+     */
+    @ApiModelProperty(value = "分部id")
+    private Integer organId;
+
+    /**
      * 合作单位id
      */
     @ApiModelProperty(value = "合作单位id")
@@ -81,10 +87,17 @@ public class InspectionItemPlan {
     @ApiModelProperty(value = "处理方式")
     private String memo;
 
+
+    /**
+     * 巡查结果是否异常 0-正常 1-异常
+     */
+    @ApiModelProperty(value = "巡查结果是否异常 0-正常 1-异常")
+    private Integer conclusionStatus;
+
     /**
      * 0 -未提交 1-正常 2-异常
      */
-    @ApiModelProperty(value = "0 -未提交 1-正常 2-异常")
+    @ApiModelProperty(value = "提交状态 0 -未提交 1-正常 2-异常")
     private Integer status;
 
     /**
@@ -99,6 +112,9 @@ public class InspectionItemPlan {
     @ApiModelProperty(value = "修改时间")
     private Date updateTime;
 
+    @ApiModelProperty(value = "分部")
+    private String organName;
+
     @ApiModelProperty(value = "合作单位")
     private String cooperationName;
 
@@ -156,6 +172,14 @@ public class InspectionItemPlan {
         this.planEnd = planEnd;
     }
 
+    public Integer getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(Integer organId) {
+        this.organId = organId;
+    }
+
     public Integer getCooperationOrganId() {
         return cooperationOrganId;
     }
@@ -251,4 +275,20 @@ public class InspectionItemPlan {
     public void setLastCheckItem(Integer lastCheckItem) {
         this.lastCheckItem = lastCheckItem;
     }
+
+    public String getOrganName() {
+        return organName;
+    }
+
+    public void setOrganName(String organName) {
+        this.organName = organName;
+    }
+
+    public Integer getConclusionStatus() {
+        return conclusionStatus;
+    }
+
+    public void setConclusionStatus(Integer conclusionStatus) {
+        this.conclusionStatus = conclusionStatus;
+    }
 }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItemPlanConclusion.java

@@ -18,6 +18,12 @@ public class InspectionItemPlanConclusion {
     /**
      * 老师id
      */
+    @ApiModelProperty(value = "课程id")
+    private Long courseScheduleId;
+
+    /**
+     * 老师id
+     */
     @ApiModelProperty(value = "老师id")
     private Integer teacherId;
 
@@ -61,6 +67,14 @@ public class InspectionItemPlanConclusion {
         this.planId = planId;
     }
 
+    public Long getCourseScheduleId() {
+        return courseScheduleId;
+    }
+
+    public void setCourseScheduleId(Long courseScheduleId) {
+        this.courseScheduleId = courseScheduleId;
+    }
+
     public Integer getTeacherId() {
         return teacherId;
     }

+ 55 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/InspectionItemPlanQueryInfo.java

@@ -10,9 +10,24 @@ public class InspectionItemPlanQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "itemId",required = false)
     private Long itemId;
 
+    @ApiModelProperty(value = "分部ids",required = false)
+    private String organId;
+
+    @ApiModelProperty(value = "合作单位id",required = false)
+    private Integer cooperationOrganId;
+
+    @ApiModelProperty(value = "乐团id",required = false)
+    private String musicGroupId;
+
     @ApiModelProperty(value = "乐团主管id",required = false)
     private Integer userId;
 
+    @ApiModelProperty(value = "巡查结果是否异常 0-正常 1-异常",required = false)
+    private Integer conclusionStatus;
+
+    @ApiModelProperty(value = "提交状态 0 -未提交 1-正常 2-异常",required = false)
+    private Integer status;
+
     @ApiModelProperty(value = "是否已提交 0-未提交 1-已提交 ",required = false)
     private Integer hasSubmit;
 
@@ -70,4 +85,44 @@ public class InspectionItemPlanQueryInfo extends QueryInfo {
     public void setMonth(Date month) {
         this.month = month;
     }
+
+    public String getOrganId() {
+        return organId;
+    }
+
+    public void setOrganId(String organId) {
+        this.organId = organId;
+    }
+
+    public Integer getCooperationOrganId() {
+        return cooperationOrganId;
+    }
+
+    public void setCooperationOrganId(Integer cooperationOrganId) {
+        this.cooperationOrganId = cooperationOrganId;
+    }
+
+    public String getMusicGroupId() {
+        return musicGroupId;
+    }
+
+    public void setMusicGroupId(String musicGroupId) {
+        this.musicGroupId = musicGroupId;
+    }
+
+    public Integer getConclusionStatus() {
+        return conclusionStatus;
+    }
+
+    public void setConclusionStatus(Integer conclusionStatus) {
+        this.conclusionStatus = conclusionStatus;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
 }

+ 17 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/InspectionItemPlanConclusionService.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service;
 
 import com.ym.mec.biz.dal.dto.InspectionItemPlanConclusionDto;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion;
 import com.ym.mec.common.service.BaseService;
 
@@ -17,12 +18,27 @@ public interface InspectionItemPlanConclusionService extends BaseService<Long, I
     InspectionItemPlanConclusionDto add(InspectionItemPlanConclusionDto inspectionItemPlanConclusionDto);
 
     /**
-     * 获取
+     * 获取巡查检查结果(以检查项分组)
      * @param planId
      * @param checkItem
      * @return
      */
    Map<Integer,List<InspectionItemPlanConclusion>> getInfo(Long planId, Integer checkItem);
+
+    /**
+     * 获取日程内的课程信息
+     * @param planId
+     * @return
+     */
+    List<CourseSchedule> getPlanCourses(Long planId);
+
+
+    /**
+     * 获取巡查检查结果(以课程id分组)
+     * @param planId
+     * @return
+     */
+    Map<Long,List<InspectionItemPlanConclusion>> getPlanConclusion(Long planId);
 }
 
 

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1104,6 +1104,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                         if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
                             salary = TeachTypeEnum.BISHOP.equals(classGroupTeacher.getTeacherRole()) ? teacherDefaultMusicGroupSalaryHigh.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalaryHigh.getAssistantTeacher90MinSalary();
                         }
+                        if(Objects.isNull(salary)){
+                            throw new BizException("请设置老师课酬");
+                        }
                         salary = salary.multiply(new BigDecimal(studentNum));
                     }
                     if(Objects.isNull(salary)){
@@ -1267,6 +1270,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                             if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
                                 salary = TeachTypeEnum.BISHOP.equals(classGroupTeacher.getTeacherRole()) ? teacherDefaultMusicGroupSalaryHigh.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalaryHigh.getAssistantTeacher90MinSalary();
                             }
+                            if(Objects.isNull(salary)){
+                                throw new BizException("请设置老师课酬");
+                            }
                             salary = salary.multiply(new BigDecimal(studentNum));
                         }
                         if(Objects.isNull(salary)){
@@ -3927,6 +3933,9 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                                         if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
                                             salary = TeachTypeEnum.BISHOP.equals(classGroupTeacher.getTeacherRole()) ? teacherDefaultMusicGroupSalaryHigh.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalaryHigh.getAssistantTeacher90MinSalary();
                                         }
+                                        if(Objects.isNull(salary)){
+                                            throw new BizException("请设置老师课酬");
+                                        }
                                         salary = salary.multiply(new BigDecimal(aLong));
                                     }
                                     if(Objects.isNull(salary)){

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupStudentMapperServiceImpl.java

@@ -175,6 +175,9 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
                         if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
                             salary = TeachTypeEnum.BISHOP.equals(classGroupTeacher.getTeacherRole()) ? teacherDefaultMusicGroupSalaryHigh.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalaryHigh.getAssistantTeacher90MinSalary();
                         }
+                        if(Objects.isNull(salary)){
+                            throw new BizException("请设置老师课酬");
+                        }
                         salary = salary.multiply(new BigDecimal(studentNum));
                     }
                     if(Objects.isNull(salary)){
@@ -358,6 +361,9 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
                         if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
                             salary = TeachTypeEnum.BISHOP.equals(classGroupTeacher.getTeacherRole()) ? teacherDefaultMusicGroupSalaryHigh.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalaryHigh.getAssistantTeacher90MinSalary();
                         }
+                        if(Objects.isNull(salary)){
+                            throw new BizException("请设置老师课酬");
+                        }
                         salary = salary.multiply(new BigDecimal(studentNum));
                     }
                     if(Objects.isNull(salary)){
@@ -562,6 +568,9 @@ public class ClassGroupStudentMapperServiceImpl extends BaseServiceImpl<Long, Cl
                         if (musicGroup.getSettlementType().equals(SalarySettlementTypeEnum.GRADIENT_SALARY)) {
                             salary = TeachTypeEnum.BISHOP.equals(classGroupTeacher.getTeacherRole()) ? teacherDefaultMusicGroupSalaryHigh.getMainTeacher90MinSalary() : teacherDefaultMusicGroupSalaryHigh.getAssistantTeacher90MinSalary();
                         }
+                        if(Objects.isNull(salary)){
+                            throw new BizException("请设置老师课酬");
+                        }
                         salary = salary.multiply(new BigDecimal(studentNum));
                     }
                     if(Objects.isNull(salary)){

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -699,7 +699,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 							}else {
 								BigDecimal salary = teacherPracticeSalaryMap.get(cgtm.getUserId());
 								if (salary == null) {
-									throw new BizException("请设置老师陪练课课酬");
+									throw new BizException("请设置老师网管课课酬");
 								}
 								courseScheduleTeacherSalary.setExpectSalary(salary);
 							}
@@ -3360,7 +3360,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					} else if (newCourseSchedule.getGroupType() == GroupType.VIP) {
 						Map<String, BigDecimal> salaryMap = vipGroupService.countVipGroupPredictFee(vipGroup, teacherId, null, null);
 
-						BigDecimal teacherSalary=BigDecimal.ZERO;
+						BigDecimal teacherSalary=null;
 
 						if(Objects.nonNull(salaryMap)){
 							teacherSalary=newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE?salaryMap.get("offlineTeacherSalary"):salaryMap.get("onlineTeacherSalary");
@@ -3377,6 +3377,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 							throw new BizException("请设置老师 的网管课课酬");
 						}
 					}
+					if(ts.getExpectSalary() == null){
+						throw new BizException("请设置老师的课酬");
+					}
 					insertCourseScheduleTeacherSalaryList.add(ts);
 				}
 			}

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

@@ -1148,6 +1148,9 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 throw new BizException("请指定教师类型");
             }
             List<TeacherDefaultMusicGroupSalary> teacherSalaryList = teacherSalaryMap.get(courseScheduleTeacherSalary.getUserId());
+            if(teacherSalaryList == null || teacherSalaryList.size() == 0){
+            	throw new BizException("请设置老师课酬");
+            }
 
             BigDecimal salary;
 
@@ -1183,6 +1186,10 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 baseSalary = TeachTypeEnum.BISHOP.equals(courseScheduleTeacherSalary.getTeacherRole()) ? teacherDefaultMusicGroupSalary.getMainTeacher30MinSalary() : teacherDefaultMusicGroupSalary.getAssistantTeacher30MinSalary();
                 classTimeDuty = new BigDecimal(classCourseDuration).divide(new BigDecimal(40), BigDecimal.ZERO.intValue(), BigDecimal.ROUND_DOWN);
             }
+            
+            if(Objects.isNull(baseSalary)){
+                throw new BizException("课酬设置异常");
+            }
 
             salary = baseSalary.multiply(classTimeDuty).setScale(2, BigDecimal.ROUND_HALF_UP);
 

+ 5 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EduPracticeGroupServiceImpl.java

@@ -376,10 +376,13 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
         }
         courseScheduleDao.batchAddCourseSchedules(practiceCourses);
         TeacherDefaultPracticeGroupSalary teacherDefaultPracticeGroupSalary = teacherDefaultPracticeGroupSalaryDao.findByTeacherAndCourseMinutes(practiceGroupBuyParams.getUserId(),practiceCourseMinutes);
-        BigDecimal teacherDefaultSalary=BigDecimal.ZERO;
+        BigDecimal teacherDefaultSalary=null;
         if(Objects.nonNull(teacherDefaultPracticeGroupSalary)){
             teacherDefaultSalary=teacherDefaultPracticeGroupSalary.getMainTeacherSalary();
         }
+        if(teacherDefaultSalary == null){
+        	throw new BizException("请设置老师课酬");
+        }
         BigDecimal studentSingleCourseCost=amount.divide(new BigDecimal(practiceCourses.size()), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
         BigDecimal studentSingleCourseOriginalCost=originalAmount.divide(new BigDecimal(practiceCourses.size()), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
         for (CourseSchedule courseSchedule : practiceCourses) {
@@ -1057,7 +1060,7 @@ public class EduPracticeGroupServiceImpl implements EduPracticeGroupService{
         practiceCourses.sort(Comparator.comparing(CourseSchedule::getStartClassTime));
         courseScheduleDao.batchAddCourseSchedules(practiceCourses);
 
-        BigDecimal teacherDefaultSalary=BigDecimal.ZERO;
+        BigDecimal teacherDefaultSalary=new BigDecimal(16.67);
         for (CourseSchedule courseSchedule : practiceCourses) {
             //课程与老师薪水表
             CourseScheduleTeacherSalary courseScheduleTeacherSalary = new CourseScheduleTeacherSalary();

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

@@ -18,8 +18,9 @@ import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
-import com.ym.mec.util.excel.IniFileUtil;
 import com.ym.mec.util.excel.POIUtil;
+import com.ym.mec.util.ini.IniFileUtil;
+
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

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

@@ -56,8 +56,8 @@ import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
-import com.ym.mec.util.excel.IniFileUtil;
 import com.ym.mec.util.excel.POIUtil;
+import com.ym.mec.util.ini.IniFileUtil;
 
 @Service
 public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implements GoodsService {

+ 38 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionItemPlanConclusionServiceImpl.java

@@ -1,9 +1,11 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.biz.dal.dao.CourseScheduleDao;
 import com.ym.mec.biz.dal.dao.InspectionItemDao;
 import com.ym.mec.biz.dal.dao.InspectionItemPlanConclusionDao;
 import com.ym.mec.biz.dal.dao.InspectionItemPlanDao;
 import com.ym.mec.biz.dal.dto.InspectionItemPlanConclusionDto;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.InspectionItem;
 import com.ym.mec.biz.dal.entity.InspectionItemPlan;
 import com.ym.mec.common.dal.BaseDAO;
@@ -16,6 +18,7 @@ import com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion;
 import com.ym.mec.biz.service.InspectionItemPlanConclusionService;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -30,6 +33,8 @@ public class InspectionItemPlanConclusionServiceImpl extends BaseServiceImpl<Lon
     private InspectionItemPlanDao inspectionItemPlanDao;
     @Autowired
     private InspectionItemDao inspectionItemDao;
+    @Autowired
+    private CourseScheduleDao courseScheduleDao;
 
     @Override
     public BaseDAO<Long, InspectionItemPlanConclusion> getDAO() {
@@ -66,6 +71,9 @@ public class InspectionItemPlanConclusionServiceImpl extends BaseServiceImpl<Lon
         if (inspectionItemPlanConclusionDto.getStatus() == null) {
             return inspectionItemPlanConclusionDto;
         }
+        //获取巡查结果的异常数量
+        int eConclusionNum = inspectionItemPlanConclusionDao.getCountByPlanIdAndCheckConclusion(planId, 0);
+        inspectionItemPlan.setConclusionStatus(0);
 
         //未提交过,更新提交信息
         if (inspectionItemPlan.getStatus().equals(0)) {
@@ -73,6 +81,9 @@ public class InspectionItemPlanConclusionServiceImpl extends BaseServiceImpl<Lon
             inspectionItemPlan.setSubmitedTime(nowDate);
             inspectionItemPlan.setStatus(inspectionItemPlanConclusionDto.getStatus());
             inspectionItemPlan.setUpdateTime(nowDate);
+            if (eConclusionNum > 0) {
+                inspectionItemPlan.setConclusionStatus(1);
+            }
             inspectionItemPlanDao.update(inspectionItemPlan);
             //更新提交次数
             InspectionItem inspectionItem = inspectionItemDao.get(inspectionItemPlan.getItemId());
@@ -87,17 +98,40 @@ public class InspectionItemPlanConclusionServiceImpl extends BaseServiceImpl<Lon
             inspectionItemPlan.setSubmitedGps(inspectionItemPlanConclusionDto.getSubmitedGps());
             inspectionItemPlan.setSubmitedTime(nowDate);
             inspectionItemPlan.setStatus(inspectionItemPlanConclusionDto.getStatus());
-            inspectionItemPlan.setUpdateTime(nowDate);
-            inspectionItemPlanDao.update(inspectionItemPlan);
         }
+        if (eConclusionNum > 0) {
+            inspectionItemPlan.setConclusionStatus(1);
+        }
+        inspectionItemPlan.setUpdateTime(nowDate);
+        inspectionItemPlanDao.update(inspectionItemPlan);
         return inspectionItemPlanConclusionDto;
     }
 
     @Override
     public Map<Integer, List<InspectionItemPlanConclusion>> getInfo(Long planId, Integer checkItem) {
         List<InspectionItemPlanConclusion> conclusions = inspectionItemPlanConclusionDao.getInspectionItemPlanConclusion(planId, checkItem);
-        Map<Integer, List<InspectionItemPlanConclusion>> conclusionMap = conclusions.stream().collect(Collectors.groupingBy(InspectionItemPlanConclusion::getCheckItem));
-        return conclusionMap;
+        return conclusions.stream().collect(Collectors.groupingBy(InspectionItemPlanConclusion::getCheckItem));
+    }
+
+    @Override
+    public List<CourseSchedule> getPlanCourses(Long planId) {
+        InspectionItemPlan plan = inspectionItemPlanDao.get(planId);
+        List<CourseSchedule> courseSchedules = new ArrayList<>();
+        if (plan == null) {
+            return courseSchedules;
+        }
+        courseSchedules = inspectionItemPlanConclusionDao.getPlanConclusionCourses(planId);
+        if (courseSchedules.size() > 0) {
+            return courseSchedules;
+        }
+        courseSchedules = courseScheduleDao.getMusicGroupCourseInfo(plan.getMusicGroupId(), plan.getPlanStart(), plan.getPlanEnd());
+        return courseSchedules;
+    }
+
+    @Override
+    public Map<Long, List<InspectionItemPlanConclusion>> getPlanConclusion(Long planId) {
+        List<InspectionItemPlanConclusion> conclusions = inspectionItemPlanConclusionDao.getInspectionItemPlanConclusion(planId, null);
+        return conclusions.stream().collect(Collectors.groupingBy(InspectionItemPlanConclusion::getCourseScheduleId));
     }
 }
 

+ 9 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/InspectionItemPlanServiceImpl.java

@@ -82,6 +82,7 @@ public class InspectionItemPlanServiceImpl extends BaseServiceImpl<Long, Inspect
         //获取乐团教学点的GPS信息
         School school = musicGroupDao.getMusicGroupSchool(inspectionItemPlan.getMusicGroupId());
 
+        inspectionItemPlan.setOrganId(inspectionItem.getOrganId());
         inspectionItemPlan.setInspectionId(inspectionItem.getInspectionId());
         inspectionItemPlan.setSchoolGps(school.getLongitudeLatitude());
         inspectionItemPlan.setSubmitedGps("");
@@ -121,13 +122,14 @@ public class InspectionItemPlanServiceImpl extends BaseServiceImpl<Long, Inspect
             throw new BizException("日程时间不能晚于工作周期结束时间");
         }
         //获取乐团教学点的GPS信息
-        School school = musicGroupDao.getMusicGroupSchool(inspectionItemPlan.getMusicGroupId());
-
-        inspectionItemPlan.setInspectionId(inspectionItem.getInspectionId());
-        inspectionItemPlan.setSchoolGps(school.getLongitudeLatitude());
-        inspectionItemPlan.setSubmitedGps("");
-        inspectionItemPlan.setMemo("");
-        inspectionItemPlan.setStatus(0);
+        if (oldPlan.getStatus().equals(0)) { //未提交的修改
+            School school = musicGroupDao.getMusicGroupSchool(inspectionItemPlan.getMusicGroupId());
+            inspectionItemPlan.setInspectionId(inspectionItem.getInspectionId());
+            inspectionItemPlan.setSchoolGps(school.getLongitudeLatitude());
+            inspectionItemPlan.setSubmitedGps("");
+            inspectionItemPlan.setMemo("");
+            inspectionItemPlan.setStatus(0);
+        }
         inspectionItemPlan.setUpdateTime(nowDate);
         inspectionItemPlanDao.update(inspectionItemPlan);
         return inspectionItemPlan;

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -2381,6 +2381,10 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
         if (courseSchedule == null) {
             throw new BizException("课程信息不存在");
         }
+        
+        if(salary == null){
+        	throw new BizException("请设置老师课酬");
+        }
 
         if ("all".equals(scope)) {
             Integer classGrpupId = courseSchedule.getClassGroupId();

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

@@ -203,6 +203,9 @@ public class OnlineMusicGroupServiceImpl implements OnlineMusicGroupService {
             throw new BizException("请设置教师课酬");
         }
         BigDecimal teacherDefaultSalary = JSON.parseObject(teacherDefaultMusicGroupSalary.getSalaryRuleJson()).getBigDecimal("1");
+        if(teacherDefaultSalary == null){
+        	throw new BizException("请设置教师课酬");
+        }
         BigDecimal studentSingleCourseCost=BigDecimal.ZERO;
         for (CourseSchedule courseSchedule : courses) {
             //课程与老师薪水表

+ 4 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/PracticeGroupServiceImpl.java

@@ -2984,10 +2984,13 @@ public class PracticeGroupServiceImpl extends BaseServiceImpl<Long, PracticeGrou
         }
         courseScheduleDao.batchAddCourseSchedules(practiceCourses);
         TeacherDefaultPracticeGroupSalary teacherDefaultPracticeGroupSalary = teacherDefaultPracticeGroupSalaryDao.findByTeacherAndCourseMinutes(practiceGroupBuyParams.getUserId(), practiceCourseMinutes);
-        BigDecimal teacherDefaultSalary = BigDecimal.ZERO;
+        BigDecimal teacherDefaultSalary = null;
         if (Objects.nonNull(teacherDefaultPracticeGroupSalary)) {
             teacherDefaultSalary = teacherDefaultPracticeGroupSalary.getMainTeacherSalary();
         }
+        if(teacherDefaultSalary == null){
+        	throw new BizException("请设置教师课酬");
+        }
         BigDecimal studentSingleCourseCost = amount.divide(new BigDecimal(practiceCourses.size()), CommonConstants.DECIMAL_PLACE, BigDecimal.ROUND_DOWN);
 
         BigDecimal oneMonthOriginalPrice=practiceGroupBuyParams.getDrillTimesOnWeek()==1?practiceGroupSellPrice.getOnceOriginalPrice():practiceGroupSellPrice.getTwiceOriginalPrice();

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

@@ -15,8 +15,9 @@ import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.util.date.DateUtil;
-import com.ym.mec.util.excel.IniFileUtil;
 import com.ym.mec.util.excel.POIUtil;
+import com.ym.mec.util.ini.IniFileUtil;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.io.ClassPathResource;
@@ -39,6 +40,7 @@ import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.util.collection.MapUtil;
+
 import org.springframework.web.multipart.MultipartFile;
 
 @Service

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

@@ -180,6 +180,9 @@ public class TeacherDefaultMusicGroupSalaryServiceImpl extends BaseServiceImpl<L
 									}
 									list.add(ts);
 								}
+								if(ts.getExpectSalary() == null){
+									throw new BizException("请设置教师课酬");
+								}
 							}
 						}
 					}

+ 12 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -3511,4 +3511,16 @@
     <select id="getUnderwayCourseNum" resultType="int">
         SELECT COUNT(*) FROM course_schedule WHERE music_group_id_ = #{musicGroupId} AND group_type_ = #{groupType} AND status_=#{status}
     </select>
+
+    <select id="getMusicGroupCourseInfo" resultMap="CourseSchedule"><![CDATA[
+        SELECT cs.id_, cs.actual_teacher_id_,CONCAT(cg.name_,'-',su.real_name_) name_  FROM course_schedule cs
+        LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
+        LEFT JOIN sys_user su ON su.id_=cs.actual_teacher_id_
+        WHERE cs.music_group_id_ = #{musicGroupId}
+            AND CONCAT(cs.class_date_,' ',cs.start_class_time_) >= #{startTime}
+            AND CONCAT(cs.class_date_,' ',cs.end_class_time_) <= #{endTime}
+            AND cs.group_type_ = 'MUSIC'
+            AND cs.teach_mode_ = 'OFFLINE'
+        ORDER BY cs.id_ ASC
+    ]]></select>
 </mapper>

+ 25 - 20
mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml

@@ -188,24 +188,21 @@
 
 	<select id="getSchoolData" resultMap="IndexBaseMonthData">
 		SELECT
-			organ_id_,
+			mg.organ_id_,
 			CONCAT(#{month}, '-01') month_,
-			COUNT( id_ ) total_num_,
-			COUNT( id_ ) activate_num_,
-			COUNT( id_ ) percent_
+			COUNT( DISTINCT mg.cooperation_organ_id_ ) total_num_,
+			COUNT( DISTINCT mg.cooperation_organ_id_ ) activate_num_,
+			COUNT( DISTINCT mg.cooperation_organ_id_ ) percent_
 		FROM
-			cooperation_organ
+			music_group mg
 		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}
-			</if>
+			mg.del_flag_ = 0
+		  AND mg.organ_id_ IS NOT NULL
+		  AND mg.status_ = 'PROGRESS'
 		GROUP BY
-			organ_id_
+			mg.organ_id_
 		ORDER BY
-			organ_id_;
+			mg.organ_id_;
 	</select>
 	<select id="getMusicData" resultMap="IndexBaseMonthData">
 		SELECT
@@ -318,26 +315,28 @@
 
 	<select id="getOtherStudentData" resultMap="IndexBaseMonthData">
 		SELECT
-			m.organ_id_,
+			su.organ_id_,
 			CONCAT(#{month}, '-01') month_,
 			COUNT( DISTINCT s.user_id_ ) total_num_,
 			COUNT( DISTINCT s.user_id_ ) activate_num_,
 			COUNT( DISTINCT s.user_id_ ) percent_
 		FROM
-			course_schedule_student_payment s
+		    sys_user su
+			LEFT JOIN course_schedule_student_payment s ON su.id_=s.user_id_
 			LEFT JOIN course_schedule m ON s.course_schedule_id_=m.id_
 		WHERE
 			m.del_flag_ = 0
 			AND (m.is_lock_ = 0 OR m.is_lock_ IS NULL)
-			AND m.organ_id_ IS NOT NULL
+			AND su.organ_id_ IS NOT NULL
 			AND m.group_type_ IN ('VIP', 'PRACTICE')
+			AND m.status_ = 'NOT_START'
 			<if test="month!=null and month!=''">
 				AND (DATE_FORMAT(m.create_time_, '%Y-%m') &lt;= #{month} OR YEAR(m.create_time_)=3000)
 			</if>
 		GROUP BY
-			m.organ_id_
+			su.organ_id_
 		ORDER BY
-			m.organ_id_;
+			su.organ_id_;
 	</select>
 
 	<select id="getStudentConversionData" resultMap="IndexBaseMonthData">
@@ -349,12 +348,14 @@
 			COUNT( DISTINCT m.user_id_ ) percent_
 		FROM
 			course_schedule_student_payment m
-				LEFT JOIN course_schedule cs ON m.course_schedule_id_=cs.id_
+			LEFT JOIN course_schedule cs ON m.course_schedule_id_=cs.id_
+			LEFT JOIN practice_group pg ON m.music_group_id_=pg.id_ AND m.group_type_='PRACTICE'
 		WHERE
 			(cs.del_flag_ IS NULL OR cs.del_flag_=0)
 			AND cs.organ_id_ IS NOT NULL
 			AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_)
 			AND m.group_type_ IN ('VIP', 'PRACTICE')
+			AND (pg.id_ IS NULL OR pg.type_='CHARGE')
 			AND m.user_id_ IN
 			<foreach collection="studentIds" item="studentId" open="(" close=")" separator=",">
 				#{studentId}
@@ -378,6 +379,7 @@
 		WHERE
 			mg.del_flag_ = 0
 			AND mg.organ_id_ IS NOT NULL
+		  	AND mg.status_ = 'PROGRESS'
 			AND DATE_FORMAT( spr.create_time_, '%Y-%m' ) &lt;= #{month}
 		GROUP BY
 			mg.organ_id_
@@ -400,8 +402,11 @@
 			mg.del_flag_ = 0
 			AND mg.organ_id_ IS NOT NULL
 			AND mg.status_ = 'PROGRESS'
-			AND sr.music_group_status_ = 'NORMAL'
+			<if test="paymentStatus==null">
+				AND sr.music_group_status_ IN ('APPLY', 'NORMAL')
+			</if>
 		  	<if test="paymentStatus!=null">
+				AND sr.music_group_status_ IN ('NORMAL')
 				AND sr.payment_status_ = #{paymentStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 			</if>
 			AND DATE_FORMAT( sr.create_time_, '%Y-%m' ) &lt;= #{month}

+ 37 - 9
mec-biz/src/main/resources/config/mybatis/InspectionItemPlanConclusionMapper.xml

@@ -6,6 +6,7 @@
         <!--@Table inspection_item_plan_conclusion-->
         <id column="id_" property="id"/>
         <result column="plan_id_" property="planId"/>
+        <result column="course_schedule_id_" property="courseScheduleId"/>
         <result column="teacher_id_" property="teacherId"/>
         <result column="check_item_" property="checkItem"/>
         <result column="check_conclusion_" property="checkConclusion"/>
@@ -14,16 +15,16 @@
     </resultMap>
     <sql id="Base_Column_List">
         <!--@mbg.generated-->
-        id_, plan_id_, teacher_id_, check_item_, check_conclusion_, create_time_, update_time_
+        id_, plan_id_,course_schedule_id_, teacher_id_, check_item_, check_conclusion_, create_time_, update_time_
     </sql>
-    <select id="get" parameterType="java.lang.Integer" resultMap="BaseResultMap">
+    <select id="get" resultMap="BaseResultMap">
         <!--@mbg.generated-->
         select
         <include refid="Base_Column_List"/>
         from inspection_item_plan_conclusion
         where id_ = #{id}
     </select>
-    <delete id="delete" parameterType="java.lang.Integer">
+    <delete id="delete">
         <!--@mbg.generated-->
         delete from inspection_item_plan_conclusion
         where id_ = #{id}
@@ -31,9 +32,10 @@
     <insert id="insert" keyColumn="id_" keyProperty="id"
             parameterType="com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion" useGeneratedKeys="true">
         <!--@mbg.generated-->
-        insert into inspection_item_plan_conclusion (plan_id_, teacher_id_,check_item_, check_conclusion_, create_time_,
-        update_time_)
-        values (#{planId}, #{teacherId}, #{checkItem}, #{checkConclusion},#{createTime}, #{updateTime})
+        insert into inspection_item_plan_conclusion (plan_id_,course_schedule_id_, teacher_id_,check_item_,
+        check_conclusion_, create_time_,update_time_)
+        values (#{planId}, #{courseScheduleId},#{teacherId}, #{checkItem}, #{checkConclusion},#{createTime},
+        #{updateTime})
     </insert>
     <update id="update" parameterType="com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion">
         <!--@mbg.generated-->
@@ -42,6 +44,9 @@
             <if test="planId != null">
                 plan_id_ = #{planId},
             </if>
+            <if test="courseScheduleId != null != null">
+                course_schedule_id_ = #{courseScheduleId},
+            </if>
             <if test="teacherId != null">
                 teacher_id_ = #{teacherId},
             </if>
@@ -69,11 +74,12 @@
     <insert id="batchAdd" keyColumn="id_" keyProperty="id"
             parameterType="com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion"
             useGeneratedKeys="true">
-        INSERT INTO inspection_item_plan_conclusion (plan_id_, teacher_id_, check_item_, check_conclusion_,
-        create_time_,update_time_)
+        INSERT INTO inspection_item_plan_conclusion (plan_id_,course_schedule_id_, teacher_id_, check_item_,
+        check_conclusion_,create_time_,update_time_)
         VALUE
         <foreach collection="inspectionItemPlanConclusions" item="inspectionItemPlanConclusion" separator=",">
-            (#{inspectionItemPlanConclusion.planId}, #{inspectionItemPlanConclusion.teacherId},
+            (#{inspectionItemPlanConclusion.planId},#{inspectionItemPlanConclusion.courseScheduleId},
+            #{inspectionItemPlanConclusion.teacherId},
             #{inspectionItemPlanConclusion.checkItem},
             #{inspectionItemPlanConclusion.checkConclusion}, #{inspectionItemPlanConclusion.createTime},
             #{inspectionItemPlanConclusion.updateTime})
@@ -87,10 +93,32 @@
         </foreach>
         GROUP BY plan_id_
     </select>
+
     <select id="getInspectionItemPlanConclusion" resultMap="BaseResultMap">
         SELECT * FROM inspection_item_plan_conclusion WHERE plan_id_=#{planId}
         <if test="checkItem != null">
             AND check_item_ = #{checkItem}
         </if>
+        ORDER BY check_item_ ASC,course_schedule_id_ ASC
+    </select>
+
+    <select id="getPlanConclusionCourses" resultMap="com.ym.mec.biz.dal.dao.CourseScheduleDao.CourseSchedule">
+        SELECT iipc.course_schedule_id_             id_,
+               iipc.teacher_id_                     actual_teacher_id_,
+               CONCAT(cg.name_, '-', su.real_name_) name_
+        FROM inspection_item_plan_conclusion iipc
+                 LEFT JOIN course_schedule cs ON iipc.course_schedule_id_ = cs.id_
+                 LEFT JOIN class_group cg ON cg.id_ = cs.class_group_id_
+                 LEFT JOIN sys_user su on iipc.teacher_id_ = su.id_
+        WHERE plan_id_ = #{planId}
+        GROUP BY iipc.course_schedule_id_, iipc.teacher_id_
+        ORDER BY iipc.course_schedule_id_ ASC
+    </select>
+
+    <select id="getCountByPlanIdAndCheckConclusion" resultType="int">
+        SELECT COUNT(*)
+        FROM inspection_item_plan_conclusion
+        WHERE plan_id_ = #{planId}
+          AND check_conclusion_ = #{checkConclusion}
     </select>
 </mapper>

+ 33 - 8
mec-biz/src/main/resources/config/mybatis/InspectionItemPlanMapper.xml

@@ -10,32 +10,35 @@
         <result column="user_id_" property="userId"/>
         <result column="plan_start_" property="planStart"/>
         <result column="plan_end_" property="planEnd"/>
+        <result column="organ_id_" property="organId"/>
         <result column="cooperation_organ_id_" property="cooperationOrganId"/>
         <result column="music_group_id_" property="musicGroupId"/>
         <result column="school_gps_" property="schoolGps"/>
         <result column="submited_gps_" property="submitedGps"/>
         <result column="submited_time_" property="submitedTime"/>
         <result column="memo_" property="memo"/>
+        <result column="conclusion_status_" property="conclusionStatus"/>
         <result column="status_" property="status"/>
         <result column="create_time_" property="createTime"/>
         <result column="update_time_" property="updateTime"/>
         <result column="cooperationName" property="cooperationName"/>
         <result column="musicGroupName" property="musicGroupName"/>
+        <result column="organName" property="organName"/>
     </resultMap>
     <sql id="Base_Column_List">
         <!--@mbg.generated-->
-        id_, inspection_id_, item_id_, user_id_, plan_start_, plan_end_, cooperation_organ_id_,
-        music_group_id_, school_gps_, submited_gps_, submited_time_, memo_, status_, create_time_,
+        id_, inspection_id_, item_id_, user_id_, plan_start_, plan_end_,organ_id_, cooperation_organ_id_,
+        music_group_id_, school_gps_, submited_gps_, submited_time_, memo_, conclusion_status_, status_, create_time_,
         update_time_
     </sql>
-    <select id="get" parameterType="java.lang.Integer" resultMap="InspectionItemPlan">
+    <select id="get" parameterType="java.lang.Long" resultMap="InspectionItemPlan" >
         <!--@mbg.generated-->
         select
         <include refid="Base_Column_List"/>
         from inspection_item_plan
         where id_ = #{id}
     </select>
-    <delete id="delete" parameterType="java.lang.Integer">
+    <delete id="delete" parameterType="java.lang.Long">
         <!--@mbg.generated-->
         delete from inspection_item_plan
         where id_ = #{id}
@@ -44,10 +47,10 @@
             useGeneratedKeys="true">
         <!--@mbg.generated-->
         insert into inspection_item_plan (inspection_id_, item_id_, user_id_, plan_start_, plan_end_,
-        cooperation_organ_id_,
-        music_group_id_, school_gps_, submited_gps_, submited_time_, memo_, status_,
+        organ_id_,cooperation_organ_id_,
+        music_group_id_, school_gps_, submited_gps_, submited_time_, memo_, conclusion_status_, status_,
         create_time_, update_time_)
-        values (#{inspectionId}, #{itemId}, #{userId}, #{planStart}, #{planEnd}, #{cooperationOrganId},
+        values (#{inspectionId}, #{itemId}, #{userId}, #{planStart}, #{planEnd}, #{organId},#{cooperationOrganId},
         #{musicGroupId}, #{schoolGps}, #{submitedGps}, #{submitedTime}, #{memo}, #{status},
         #{createTime}, #{updateTime})
     </insert>
@@ -70,6 +73,9 @@
             <if test="planEnd != null">
                 plan_end_ = #{planEnd},
             </if>
+            <if test="organId != null">
+                organ_id_ = #{organId},
+            </if>
             <if test="cooperationOrganId != null">
                 cooperation_organ_id_ = #{cooperationOrganId},
             </if>
@@ -88,6 +94,9 @@
             <if test="memo != null">
                 memo_ = #{memo},
             </if>
+            <if test="conclusionStatus != null">
+                conclusion_status_ = #{conclusionStatus},
+            </if>
             <if test="status != null">
                 status_ = #{status},
             </if>
@@ -103,7 +112,8 @@
 
     <!-- 分页查询 -->
     <select id="queryPage" resultMap="InspectionItemPlan" parameterType="map">
-        SELECT iip.*,co.name_ cooperationName,mg.name_ musicGroupName FROM inspection_item_plan iip
+        SELECT iip.*,o.name_ organName,co.name_ cooperationName,mg.name_ musicGroupName FROM inspection_item_plan iip
+        LEFT JOIN organization o ON o.id_=iip.organ_id_
         LEFT JOIN cooperation_organ co ON co.id_=iip.cooperation_organ_id_
         LEFT JOIN music_group mg ON mg.id_ = iip.music_group_id_
         <include refid="queryPageSql"/>
@@ -126,6 +136,21 @@
             <if test="userId != null">
                 AND iip.user_id_ = #{userId}
             </if>
+            <if test="organId != null">
+                AND FIND_IN_SET(iip.organ_id_,#{organId})
+            </if>
+            <if test="cooperationOrganId != null">
+                AND iip.cooperation_organ_id_ = #{cooperationOrganId}
+            </if>
+            <if test="musicGroupId != null">
+                AND iip.music_group_id_ = #{musicGroupId}
+            </if>
+            <if test="conclusionStatus != null">
+                AND iip.conclusion_status = #{conclusionStatus}
+            </if>
+            <if test="status !=null">
+                AND iip.status_ = #{status}
+            </if>
             <if test='hasSubmit != null and hasSubmit.toString()=="1".toString()'>
                 AND iip.status_ > 0
             </if>

+ 52 - 12
mec-util/src/main/java/com/ym/mec/util/excel/POIUtil.java

@@ -1,24 +1,57 @@
 package com.ym.mec.util.excel;
 
-import com.ym.mec.util.exception.UtilException;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
 import org.apache.commons.beanutils.NestedNullException;
 import org.apache.commons.beanutils.PropertyUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.POIXMLDocumentPart;
-import org.apache.poi.hssf.usermodel.*;
-import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.hssf.usermodel.HSSFCellStyle;
+import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
+import org.apache.poi.hssf.usermodel.HSSFFont;
+import org.apache.poi.hssf.usermodel.HSSFPicture;
+import org.apache.poi.hssf.usermodel.HSSFRow;
+import org.apache.poi.hssf.usermodel.HSSFShape;
+import org.apache.poi.hssf.usermodel.HSSFSheet;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellStyle;
+import org.apache.poi.ss.usermodel.Font;
+import org.apache.poi.ss.usermodel.IndexedColors;
+import org.apache.poi.ss.usermodel.PictureData;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.WorkbookFactory;
 import org.apache.poi.xssf.streaming.SXSSFWorkbook;
-import org.apache.poi.xssf.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFClientAnchor;
+import org.apache.poi.xssf.usermodel.XSSFDrawing;
+import org.apache.poi.xssf.usermodel.XSSFPicture;
+import org.apache.poi.xssf.usermodel.XSSFShape;
+import org.apache.poi.xssf.usermodel.XSSFSheet;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.expression.ExpressionParser;
+import org.springframework.expression.spel.standard.SpelExpressionParser;
+import org.springframework.expression.spel.support.StandardEvaluationContext;
 
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.Map.Entry;
+import com.ym.mec.util.exception.UtilException;
 
 public class POIUtil {
 
@@ -28,7 +61,9 @@ public class POIUtil {
 	private final static int MAX_DATA_SIZE = 50000;
 
 	private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-
+	
+	private static ExpressionParser expressionParser =new SpelExpressionParser();
+	
 	/**
 	 * 将数据集dataset导出到fileName文件中(只支持.xlsx格式)
 	 *
@@ -201,17 +236,22 @@ public class POIUtil {
 		// 添加数据
 		T data = null;
 		Object obj = null;
+		StandardEvaluationContext context = null;
 		for (int i = 1; i <= dataset.size(); i++) {
 			data = dataset.get(i - 1);
 			if (data != null) {
+				
+				context = new StandardEvaluationContext(data);
 				row = sheet.createRow(i);
 				for (int j = 0; j < fieldColumns.length; j++) {
 					cell = row.createCell(j);
 					try {
-						obj = PropertyUtils.getNestedProperty(data, fieldColumns[j]);
+						//obj = PropertyUtils.getNestedProperty(data, fieldColumns[j]);
+						obj = expressionParser.parseExpression(fieldColumns[j]).getValue(context);
 						if (obj instanceof Date) {
 							obj = sdf.format(obj);
 						}
+						
 					} catch (NestedNullException e) {
 						LOGGER.warn(e.getMessage());
 						obj = null;

+ 1 - 1
mec-util/src/main/java/com/ym/mec/util/excel/IniFileEntity.java → mec-util/src/main/java/com/ym/mec/util/ini/IniFileEntity.java

@@ -1,4 +1,4 @@
-package com.ym.mec.util.excel;
+package com.ym.mec.util.ini;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 

+ 1 - 1
mec-util/src/main/java/com/ym/mec/util/excel/IniFileUtil.java → mec-util/src/main/java/com/ym/mec/util/ini/IniFileUtil.java

@@ -1,4 +1,4 @@
-package com.ym.mec.util.excel;
+package com.ym.mec.util.ini;
 
 import com.ym.mec.util.exception.UtilException;
 import org.ini4j.Ini;

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

@@ -613,7 +613,7 @@ public class ExportController extends BaseController {
                     "所在乐团", "乐团所属声部", "所在乐团状态", "所在vip课", "所在VIP状态", "服务标签", "运营标签", "指导老师", "是否签订协议"}, new String[]{
                     "organName", "userId", "username", "gender.description", "parentsName", "parentsPhone",
                     "isActive.msg", "hasCourse.msg", "hasPracticeCourse.msg", "courseBalance", "balance", "musicGroupName",
-                    "subjectName", "musicGroupStatus", "vipGroupName", "vipGroupStatus", "serviceTag.msg", "operatingTag.msg", "teacherName", "isSignedContract"}, rows);
+                    "subjectName", "musicGroupStatus", "vipGroupName", "vipGroupStatus", "serviceTag.msg", "operatingTag.msg", "teacherName", "isSignedContract ? '是' : '否'"}, rows);
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=lender-" + DateUtil.getDate(new Date()) + ".xls");
             response.flushBuffer();

+ 33 - 0
mec-web/src/main/java/com/ym/mec/web/controller/InspectionItemPlanConclusionController.java

@@ -0,0 +1,33 @@
+package com.ym.mec.web.controller;
+
+import com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion;
+import com.ym.mec.biz.service.InspectionItemPlanConclusionService;
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+@Api(tags = "巡查结果")
+@RequestMapping("inspectionItemPlanConclusion")
+@RestController
+public class InspectionItemPlanConclusionController extends BaseController {
+    @Autowired
+    private InspectionItemPlanConclusionService InspectionItemPlanConclusionService;
+
+    @ApiOperation(value = "获取日程的巡查结果")
+    @GetMapping("/getPlanConclusion")
+    @PreAuthorize("@pcs.hasPermissions('inspectionItemPlanConclusion/getPlanConclusion')")
+    @ApiImplicitParams({@ApiImplicitParam(name = "planId", value = "日程id", required = true, dataType = "int")})
+    public HttpResponseResult<Map<Long, List<InspectionItemPlanConclusion>>> getInfo(Long planId, Integer checkItem) {
+        return succeed(InspectionItemPlanConclusionService.getPlanConclusion(planId));
+    }
+    
+}

+ 22 - 1
mec-web/src/main/java/com/ym/mec/web/controller/InspectionItemPlanController.java

@@ -2,6 +2,8 @@ package com.ym.mec.web.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.EmployeeDao;
+import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.entity.Inspection;
 import com.ym.mec.biz.dal.entity.InspectionItemPlan;
 import com.ym.mec.biz.dal.page.InspectionItemPlanQueryInfo;
@@ -11,11 +13,13 @@ import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.page.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 
@@ -27,6 +31,8 @@ public class InspectionItemPlanController extends BaseController {
     private InspectionItemPlanService inspectionItemPlanService;
     @Resource
     private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private EmployeeDao employeeDao;
 
     @ApiOperation(value = "添加巡查任务事项日程")
     @PostMapping("/add")
@@ -61,7 +67,22 @@ public class InspectionItemPlanController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        queryInfo.setUserId(sysUser.getId());
+        if (!sysUser.getIsSuperAdmin()) {
+            Employee employee = employeeDao.get(sysUser.getId());
+            if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+                queryInfo.setOrganId(employee.getOrganIdList());
+            } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
+                return failed("用户所在分部异常");
+            } else {
+                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+                if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
+                    return failed("非法请求");
+                }
+            }
+        }
+        if (queryInfo.getItemId() != null) {
+            queryInfo.setUserId(sysUser.getId());
+        }
         return succeed(inspectionItemPlanService.queryPage(queryInfo));
     }
 }

+ 6 - 5
mec-web/src/main/java/com/ym/mec/web/controller/education/EduInspectionItemPlanConclusionController.java

@@ -1,6 +1,7 @@
 package com.ym.mec.web.controller.education;
 
 import com.ym.mec.biz.dal.dto.InspectionItemPlanConclusionDto;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.InspectionItemPlanConclusion;
 import com.ym.mec.biz.service.InspectionItemPlanConclusionService;
 import com.ym.mec.common.controller.BaseController;
@@ -16,7 +17,7 @@ import java.util.List;
 import java.util.Map;
 
 @Api(tags = "教务巡查结果")
-@RequestMapping("inspectionItemPlanConclusion")
+@RequestMapping("eduInspectionItemPlanConclusion")
 @RestController
 public class EduInspectionItemPlanConclusionController extends BaseController {
     @Autowired
@@ -36,10 +37,10 @@ public class EduInspectionItemPlanConclusionController extends BaseController {
         return succeed(InspectionItemPlanConclusionService.getInfo(planId, checkItem));
     }
 
-    @ApiOperation(value = "获取日程时间段内的乐团上课老师")
-    @GetMapping("/getTeacherS")
+    @ApiOperation(value = "获取日程时间段内的课程信息")
+    @GetMapping("/getPlanCourses")
     @ApiImplicitParams({@ApiImplicitParam(name = "planId", value = "日程id", required = true, dataType = "int")})
-    public HttpResponseResult<Map<Integer, List<InspectionItemPlanConclusion>>> getTeacherS(Long planId, Integer checkItem) {
-        return succeed(InspectionItemPlanConclusionService.getInfo(planId, checkItem));
+    public HttpResponseResult<List<CourseSchedule>> getPlanCourses(Long planId) {
+        return succeed(InspectionItemPlanConclusionService.getPlanCourses(planId));
     }
 }