Procházet zdrojové kódy

Merge branch 'vip_group_activity'

Joburgess před 4 roky
rodič
revize
b515c7d831

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/TeacherIncomeDto.java

@@ -26,6 +26,8 @@ public class TeacherIncomeDto extends CourseSchedule {
 
     private long sortNum;
 
+    private List<TeacherSalaryDeductReasonDto> incomes;
+
     private List<TeacherSalaryDeductReasonDto> deductReasons;
 
     public long getSortNum() {
@@ -93,4 +95,12 @@ public class TeacherIncomeDto extends CourseSchedule {
     public void setBelongToDaya(Boolean belongToDaya) {
         this.belongToDaya = belongToDaya;
     }
+
+    public List<TeacherSalaryDeductReasonDto> getIncomes() {
+        return incomes;
+    }
+
+    public void setIncomes(List<TeacherSalaryDeductReasonDto> incomes) {
+        this.incomes = incomes;
+    }
 }

+ 5 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/DeductReasonEnum.java

@@ -11,7 +11,11 @@ public enum DeductReasonEnum implements BaseEnum<String,DeductReasonEnum> {
     SIGN_OUT_TIME_ERR("SIGN_OUT_TIME_ERR", "签退时间异常", ""),
     GPS_ERR("GPS_ERR", "位置异常", ""),
     NOT_SETTLEMENT("NOT_SETTLEMENT", "不结算课酬", "特殊老师不结算课酬"),
-    TRAIL("TRAIL", "试用期扣减", "试用期老师课酬按正式老师的80%计算");
+    TRAIL("TRAIL", "试用期扣减", "试用期老师课酬按正式老师的80%计算"),
+
+    //收入
+    SALARY("SALARY", "基本课酬", "课时应发课酬"),
+    COURSE_SUBSIDY("COURSE_SUBSIDY", "课酬调剂", "课时课酬调剂金额");
 
     private String code;
 

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

@@ -44,6 +44,17 @@ public class TeacherServeQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "及时训练评价次数是否达到预期")
     private Integer exercisesMessageTimelyNumIsAchieve;
 
+    @ApiModelProperty(value = "服务是否异常")
+    private Boolean serviceIsError;
+
+    public Boolean getServiceIsError() {
+        return serviceIsError;
+    }
+
+    public void setServiceIsError(Boolean serviceIsError) {
+        this.serviceIsError = serviceIsError;
+    }
+
     public JobNatureEnum getJobNature() {
         return jobNature;
     }

+ 12 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -2331,6 +2331,13 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 }
                 teacherIncomeInfo.setBelongToDaya(teacherSalary.getBelongToDaya());
                 teacherIncomeInfo.setSortNum(courseSchedule.getStartClassTime().getTime()+courseSchedule.getId());
+
+                //收入项
+                List<TeacherSalaryDeductReasonDto> incomes = new ArrayList<>();
+                incomes.add(new TeacherSalaryDeductReasonDto(DeductReasonEnum.SALARY, teacherIncomeInfo.getExpectSalary()));
+                incomes.add(new TeacherSalaryDeductReasonDto(DeductReasonEnum.COURSE_SUBSIDY, teacherIncomeInfo.getSubsidy()));
+                teacherIncomeInfo.setIncomes(incomes);
+
                 dataList.add(teacherIncomeInfo);
             }
         }
@@ -2436,18 +2443,12 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         salaryResult.put("amount", BigDecimal.ZERO);
         salaryResult.put("data", Collections.emptyList());
 
-        Map<String, Object> subsidyResult = new HashMap<>();
-        subsidyResult.put("desc", "教学点补贴");
-        subsidyResult.put("amount", BigDecimal.ZERO);
-        subsidyResult.put("data", Collections.emptyList());
-
         Map<String, Object> saleRewardResult = new HashMap<>();
         saleRewardResult.put("desc", "销售奖励");
         saleRewardResult.put("amount", BigDecimal.ZERO);
         saleRewardResult.put("data", Collections.emptyList());
 
         data.add(salaryResult);
-        data.add(subsidyResult);
         data.add(saleRewardResult);
 
         result.put("data", data);
@@ -2493,10 +2494,10 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
         List<LocalDateBigDecimalMapDto> subsidyList = new ArrayList<>();
         List<LocalDateBigDecimalMapDto> saleRewardList = new ArrayList<>();
         for (LocalDateBigDecimalMapDto localDateBigDecimalMapDto : monthIncomeMapList) {
-            if(localDateBigDecimalMapDto.getAmount().compareTo(BigDecimal.ZERO)<0){
-                localDateBigDecimalMapDto.setSubsidy(localDateBigDecimalMapDto.getSubsidy().subtract(localDateBigDecimalMapDto.getAmount().abs()));
-                localDateBigDecimalMapDto.setAmount(BigDecimal.ZERO);
-            }
+//            if(localDateBigDecimalMapDto.getAmount().compareTo(BigDecimal.ZERO)<0){
+//                localDateBigDecimalMapDto.setSubsidy(localDateBigDecimalMapDto.getSubsidy().subtract(localDateBigDecimalMapDto.getAmount().abs()));
+//                localDateBigDecimalMapDto.setAmount(BigDecimal.ZERO);
+//            }
 
             LocalDateBigDecimalMapDto subsidyData = new LocalDateBigDecimalMapDto();
             BeanUtils.copyProperties(localDateBigDecimalMapDto, subsidyData);
@@ -2511,15 +2512,10 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
 
         BigDecimal reduce = monthIncomeMapList.stream().map(LocalDateBigDecimalMapDto::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
 
-        BigDecimal subsidy = monthIncomeMapList.stream().map(LocalDateBigDecimalMapDto::getSubsidy).reduce(BigDecimal.ZERO, BigDecimal::add);
-
-        result.put("total", reduce.add(subsidy));
+        result.put("total", reduce);
         salaryResult.put("amount", reduce);
         salaryResult.put("data", monthIncomeMapList);
 
-        subsidyResult.put("amount", subsidy);
-        subsidyResult.put("data", subsidyList);
-
         saleRewardResult.put("data", saleRewardList);
 
         return result;

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

@@ -1129,7 +1129,7 @@
 				DATE_FORMAT( cs.class_date_, '%Y-%m-%d' ) dateStr,
 			</if>
 		    SUM(csts.subsidy_) subsidy,
-			SUM( csts.actual_salary_ - csts.subsidy_ ) amount
+			SUM( csts.actual_salary_) amount
 		FROM
 			course_schedule_teacher_salary csts
 				LEFT JOIN course_schedule cs ON csts.course_schedule_id_ = cs.id_

+ 18 - 0
mec-biz/src/main/resources/config/mybatis/StudentExtracurricularExercisesSituationMapper.xml

@@ -290,6 +290,9 @@
 			<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
 				AND exercises_message_num_ &lt; exercises_reply_num_
 			</if>
+			<if test="serviceIsError!=null and serviceIsError">
+				AND (actual_exercises_num_ &lt; expect_exercises_num_ OR exercises_message_num_ &lt; exercises_reply_num_)
+			</if>
 			<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
 				AND exercises_message_num_ &gt;= exercises_reply_num_
 			</if>
@@ -310,6 +313,9 @@
 			<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
 				AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0) &lt; exercises_reply_num_
 			</if>
+			<if test="serviceIsError!=null and serviceIsError">
+				AND (actual_exercises_num_ &lt; expect_exercises_num_ OR IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0) &lt; exercises_reply_num_)
+			</if>
 			<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
 				AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0) &gt;= exercises_reply_num_
 			</if>
@@ -378,6 +384,9 @@
 			<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
 				AND exercises_message_num_ &lt; exercises_reply_num_
 			</if>
+			<if test="serviceIsError!=null and serviceIsError">
+				AND (actual_exercises_num_ &lt; expect_exercises_num_ OR exercises_message_num_ &lt; exercises_reply_num_)
+			</if>
 			<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
 				AND exercises_message_num_ &gt;= exercises_reply_num_
 			</if>
@@ -398,6 +407,9 @@
 			<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
 				AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0) &lt; exercises_reply_num_
 			</if>
+			<if test="serviceIsError!=null and serviceIsError">
+				AND (actual_exercises_num_ &lt; expect_exercises_num_ OR IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0) &lt; exercises_reply_num_)
+			</if>
 			<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
 				AND IF(DATE_FORMAT(last_submit_time_, '%Y-%m-%d') BETWEEN #{submitStartDate} AND #{submitEndDate},exercises_message_num_,0) &gt;= exercises_reply_num_
 			</if>
@@ -592,6 +604,9 @@
 			<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
 				AND SUM(exercises_message_num_) &lt; SUM(exercises_reply_num_)
 			</if>
+			<if test="serviceIsError!=null and serviceIsError">
+				AND (SUM(actual_exercises_num_) &lt; SUM(expect_exercises_num_) OR SUM(exercises_message_num_) &lt; SUM(exercises_reply_num_))
+			</if>
 			<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
 				AND SUM(exercises_message_num_) &gt;= SUM(exercises_reply_num_)
 			</if>
@@ -639,6 +654,9 @@
 				<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==0">
 					AND SUM(exercises_message_num_) &lt; SUM(exercises_reply_num_)
 				</if>
+				<if test="serviceIsError!=null and serviceIsError">
+					AND (SUM(actual_exercises_num_) &lt; SUM(expect_exercises_num_) OR SUM(exercises_message_num_) &lt; SUM(exercises_reply_num_))
+				</if>
 				<if test="exercisesMessageNumIsAchieve!=null and exercisesMessageNumIsAchieve==1">
 					AND SUM(exercises_message_num_) &gt;= SUM(exercises_reply_num_)
 				</if>

+ 40 - 0
mec-teacher/src/main/java/com/ym/mec/teacher/controller/SoundController.java

@@ -0,0 +1,40 @@
+package com.ym.mec.teacher.controller;
+
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.text.DecimalFormat;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @Author Joburgess
+ * @Date 2021/5/19 0019
+ */
+@Api(tags = "音频服务")
+@RequestMapping("sound")
+@RestController
+public class SoundController extends BaseController {
+
+    @ApiOperation(value = "评分")
+    @PostMapping("compare")
+    public HttpResponseResult compare(@RequestParam("record") MultipartFile record, Integer musicScoreId){
+        Map<String, String> result = new HashMap<>();
+
+        DecimalFormat df   = new DecimalFormat("######0.00");
+
+        result.put("score", df.format(Math.random()*100));
+        result.put("cadence", df.format(Math.random()*100));
+        result.put("integrity", df.format(Math.random()*100));
+
+        return succeed(result);
+    }
+
+}

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

@@ -2530,8 +2530,12 @@ public class ExportController extends BaseController {
         }
 
         try {
-            String[] header = {"分部", "老师编号", "老师姓名", "服务周期", "课后作业(节)", "课外作业(人)", "是否异常", "提醒时间", "操作人"};
-            String[] body = {"organName", "teacherId", "teacherName", "dateRange", "homeworkNum", "exerciseNum", "unDone==0?'否':'是'", "remindDate", "operatorName"};
+            String[] header = {"分部", "老师编号", "老师姓名", "服务周期", "课后作业(节)", "课外作业(人)",
+                    "作业布置", "作业点评", "作业提交率",
+                    "提醒时间", "操作人"};
+            String[] body = {"organName", "teacherId", "teacherName", "dateRange", "homeworkNum", "exerciseNum",
+                    "expectExercisesNum>actualExercisesNum?'异常':'正常'", "exercisesReplyNum>exercisesMessageNum?'异常':'正常'", "exercisesReplyNum",
+                    "remindDate", "operatorName"};
             HSSFWorkbook workbook = POIUtil.exportExcel(header, body, result.getRows());
             response.setContentType("application/octet-stream");
             response.setHeader("Content-Disposition", "attachment;filename=teacherDefaultSalary-" + DateUtil.getDate(new Date()) + ".xls");