Selaa lähdekoodia

feat:乐团课排课增加二次确认

Joburgess 4 vuotta sitten
vanhempi
commit
f62d5733d9

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/ClassGroup4MixDto.java

@@ -67,6 +67,17 @@ public class ClassGroup4MixDto implements Cloneable{
     @ApiModelProperty(value = "班级", required = true)
     private ClassGroup classGroup;
 
+    @ApiModelProperty(value = "是否允许0课酬")
+    private Boolean allowZeroSalary = false;
+
+    public Boolean getAllowZeroSalary() {
+        return allowZeroSalary;
+    }
+
+    public void setAllowZeroSalary(Boolean allowZeroSalary) {
+        this.allowZeroSalary = allowZeroSalary;
+    }
+
     public Boolean getOnlyCreateClassGroup() {
         return onlyCreateClassGroup;
     }

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

@@ -291,7 +291,7 @@ public interface ClassGroupService extends BaseService<Integer, ClassGroup> {
      * @param classGroup4MixDtos
      * @return
      */
-    ClassGroup classGroupUpdate(List<ClassGroup4MixDto> classGroup4MixDtos) throws Exception;
+    HttpResponseResult classGroupUpdate(List<ClassGroup4MixDto> classGroup4MixDtos) throws Exception;
 
     /**
      * 班级调整(增加临时班级)

+ 10 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -36,14 +36,17 @@ import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.service.*;
+import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.util.collection.ListUtil;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.CollectionUtils;
 
 import com.alibaba.fastjson.JSON;
@@ -2251,7 +2254,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public ClassGroup classGroupUpdate(List<ClassGroup4MixDto> classGroup4MixDtos) {
+    public HttpResponseResult classGroupUpdate(List<ClassGroup4MixDto> classGroup4MixDtos) {
         Date date = new Date();
         Integer classGroupId = classGroup4MixDtos.get(0).getClassGroupId();
         String musicGroupId = classGroup4MixDtos.get(0).getMusicGroupId();
@@ -2307,7 +2310,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 classGroupTeacherMapperDao.insert(tm);
             }
             imUserFriendService.refreshClassImUserFriend(classGroupId);
-            return classGroup;
+            return BaseController.succeed(classGroup);
         }
         if (classGroup4MixDtos.get(0).getCourseTimes().compareTo(0) <= 0) {
             throw new BizException("排课次数必须大于0");
@@ -2450,6 +2453,10 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                         courseScheduleTeacherSalary.setUpdateTime(date);
                         courseScheduleTeacherSalaryService.createMusicGroupCourseTeacherSalary(musicGroup, courseSchedule, courseScheduleTeacherSalary);
                         courseScheduleTeacherSalaryList.add(courseScheduleTeacherSalary);
+                        if(!classGroup4MixDto.getAllowZeroSalary()&&BigDecimal.ZERO.compareTo(courseScheduleTeacherSalary.getExpectSalary())==0){
+                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+                            return BaseController.failed(HttpStatus.PARTIAL_CONTENT,"当前课程课酬预计为0,是否继续");
+                        }
                     }
                 }
 
@@ -2473,7 +2480,7 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         if(musicGroup.getStatus() == PROGRESS){
             imUserFriendService.refreshClassImUserFriend(classGroupId);
         }
-        return classGroup;
+        return BaseController.succeed(classGroup);
     }
 
     @Override

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

@@ -252,7 +252,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             Teacher teacher = idTeacherMap.get(courseScheduleTeacherSalary.getUserId());
 
             boolean notPositive = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getFormalStaffDate())&&courseScheduleTeacherSalary.getCourseSchedule().getClassDate().compareTo(teacher.getFormalStaffDate())<0;
-            boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.isNull(teacher.getFormalStaffDate())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
+            boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.isNull(teacher.getIsProbationPeriod())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
 
             //如果上课日期在转正日期之前的按80%结算
             if(Objects.isNull(teacher)||notPositive||isProbationPeriod){
@@ -369,7 +369,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             Teacher teacher = idTeacherMap.get(courseScheduleTeacherSalary.getUserId());
 
             boolean notPositive = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getFormalStaffDate())&&courseScheduleTeacherSalary.getCourseSchedule().getClassDate().compareTo(teacher.getFormalStaffDate())<0;
-            boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.isNull(teacher.getFormalStaffDate())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
+            boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.isNull(teacher.getIsProbationPeriod())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
 
             if(Objects.isNull(teacher)||notPositive||isProbationPeriod){
                 expectSalary = expectSalary.multiply(new BigDecimal("0.8"));
@@ -560,7 +560,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
                 //未转正
                 boolean notPositive = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getFormalStaffDate())&&courseSchedule.getClassDate().compareTo(teacher.getFormalStaffDate())<0;
                 //试用期
-                boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.isNull(teacher.getFormalStaffDate())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
+                boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.isNull(teacher.getIsProbationPeriod())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
 
                 //如果上课日期在转正日期之前的按80%结算
                 if(Objects.isNull(teacher)||notPositive||isProbationPeriod){
@@ -644,7 +644,7 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
             }
 
             boolean notPositive = Objects.nonNull(teacher)&&Objects.nonNull(teacher.getFormalStaffDate())&&courseSchedule.getClassDate().compareTo(teacher.getFormalStaffDate())<0;
-            boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.isNull(teacher.getFormalStaffDate())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
+            boolean isProbationPeriod = Objects.nonNull(teacher)&&Objects.isNull(teacher.getIsProbationPeriod())&&ProbationPeriodEnum.TRY.equals(teacher.getIsProbationPeriod());
 
             if(Objects.isNull(teacher)||notPositive||isProbationPeriod){
                 teacherSalary = teacherSalary.multiply(new BigDecimal("0.8"));

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

@@ -266,7 +266,7 @@ public class ClassGroupController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('classGroup/classGroupUpdate')")
     @ApiImplicitParams({@ApiImplicitParam(name = "ClassGroup4MixDto", value = "添加班级结构", required = true, dataType = "String")})
     public HttpResponseResult classGroupUpdate(@RequestBody List<ClassGroup4MixDto> classGroup4MixDtos) throws Exception {
-        return succeed(classGroupService.classGroupUpdate(classGroup4MixDtos));
+        return classGroupService.classGroupUpdate(classGroup4MixDtos);
     }
 
     @ApiOperation(value = "小班报名详情")

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

@@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.*;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 @RequestMapping("school")
 @Api(tags = "学校(教学点)服务")
@@ -125,7 +126,10 @@ public class SchoolController extends BaseController {
         if (teacher == null) {
             return failed("用户信息获取失败");
         }
-        String organId = teacher.getTeacherOrganId().toString();
+        String organId = new String();
+        if(Objects.nonNull(teacher.getTeacherOrganId())){
+            organId = teacher.getTeacherOrganId().toString();
+        }
         if(StringUtils.isEmpty(teacher.getFlowOrganRange())){
             organId += "," + teacher.getFlowOrganRange();
         }