|
@@ -3,6 +3,7 @@ package com.dayou.service.impl;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
+import com.dayou.common.BaseEntity;
|
|
|
import com.dayou.dto.UserShareRate;
|
|
|
import com.dayou.entity.Major;
|
|
|
import com.dayou.entity.MajorProductionAllot;
|
|
@@ -10,6 +11,7 @@ import com.dayou.exception.ErrorCode;
|
|
|
import com.dayou.mapper.MajorProductionAllotMapper;
|
|
|
import com.dayou.service.IMajorProductionAllotService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.dayou.service.IMajorService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -30,6 +32,8 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
import java.util.Collections;
|
|
|
import java.util.List;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import com.dayou.enums.BatchTaskTypeEnum;
|
|
|
|
|
@@ -48,6 +52,9 @@ public class MajorProductionAllotServiceImpl extends ServiceImpl<MajorProduction
|
|
|
@Autowired
|
|
|
private MajorProductionAllotMapper majorProductionAllotMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IMajorService majorService;
|
|
|
+
|
|
|
@Override
|
|
|
@SuppressWarnings("unchecked")
|
|
|
public List<MajorProductionAllot> getList(Long productionId){
|
|
@@ -75,7 +82,13 @@ public class MajorProductionAllotServiceImpl extends ServiceImpl<MajorProduction
|
|
|
public Boolean saveAllot(List<MajorProductionAllot> list) {
|
|
|
if (CollectionUtils.isNotEmpty(list)){
|
|
|
Long majorProductionId = list.get(0).getMajorProductionId();
|
|
|
+ Long majorId = list.get(0).getMajorId();
|
|
|
majorProductionAllotMapper.deleteByMajorProductionId(majorProductionId);
|
|
|
+ //更新项目成员
|
|
|
+ Major major = majorService.getOne(new LambdaQueryWrapper<Major>().eq(Major::getId, majorId).select(Major::getPrincipalId, Major::getMembers));
|
|
|
+ List<Long> members = list.stream().map(MajorProductionAllot::getUserId).filter(x -> !x.equals(major.getPrincipalId())).collect(Collectors.toList());
|
|
|
+ majorService.update(new LambdaUpdateWrapper<Major>().set(Major::getMembers,JSON.toJSONString(members)).eq(BaseEntity::getId,majorId));
|
|
|
+ //分配绩效
|
|
|
return this.saveBatch(list);
|
|
|
}
|
|
|
return Boolean.FALSE;
|