|
@@ -9,13 +9,15 @@ import com.dayou.common.BaseEntity;
|
|
|
import com.dayou.dto.MajorTargetMergeNumberDTO;
|
|
|
import com.dayou.dto.TakeNumberDTO;
|
|
|
import com.dayou.dto.TaskRecordDTO;
|
|
|
+import com.dayou.entity.MajorProduction;
|
|
|
import com.dayou.entity.MajorTarget;
|
|
|
import com.dayou.enums.ProductionEnum;
|
|
|
import com.dayou.enums.TakeNumberEnum;
|
|
|
-import com.dayou.exception.ErrorCode;
|
|
|
+import com.dayou.mapper.MajorProductionMapper;
|
|
|
import com.dayou.mapper.MajorTargetMapper;
|
|
|
import com.dayou.service.IBusinessNumberService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.dayou.service.IMajorProductionService;
|
|
|
import com.dayou.service.IMajorTargetService;
|
|
|
import com.dayou.vo.IdNameVO;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -23,9 +25,8 @@ import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.List;
|
|
|
-import java.util.Set;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.dayou.enums.ProductionEnum.*;
|
|
@@ -50,6 +51,11 @@ public class MajorTargetServiceImpl extends ServiceImpl<MajorTargetMapper, Major
|
|
|
|
|
|
@Autowired
|
|
|
private IMajorTargetService majorTargetService;
|
|
|
+ @Autowired
|
|
|
+ private MajorProductionMapper majorProductionMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private IMajorProductionService majorProductionService;
|
|
|
|
|
|
@Override
|
|
|
public List<MajorTarget> getList(MajorTarget majorTarget){
|
|
@@ -253,11 +259,21 @@ public class MajorTargetServiceImpl extends ServiceImpl<MajorTargetMapper, Major
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ @Transactional
|
|
|
@Override
|
|
|
public Boolean mergeNumber(MajorTargetMergeNumberDTO mergeDTO) {
|
|
|
String mergeType = mergeDTO.getMergeType();
|
|
|
String toMergeNumber = mergeDTO.getToMergeNumber();
|
|
|
List<Long> targetIds = mergeDTO.getTargetIds();
|
|
|
+ MajorProduction majorProduction = majorProductionMapper.getEvaluateAmountByProductionNo(toMergeNumber);
|
|
|
+
|
|
|
+ //更新产品评估价格和是否二三审状态
|
|
|
+ BigDecimal evaluateValue = majorTargetMapper.getEvaluateAmountByTargetId(targetIds).multiply(BigDecimal.valueOf(10000L));
|
|
|
+
|
|
|
+ majorProduction.setEvaluateAmount(majorProduction.getEvaluateAmount().add(evaluateValue));
|
|
|
+
|
|
|
+ majorProductionService.updateEvaluateAmountAndCheckState(majorProduction);
|
|
|
+
|
|
|
if (mergeType.equals(STATEMENT.name())){
|
|
|
return this.update(new LambdaUpdateWrapper<MajorTarget>().set(MajorTarget::getStatementNo,toMergeNumber)
|
|
|
.in(BaseEntity::getId,targetIds));
|
|
@@ -267,6 +283,7 @@ public class MajorTargetServiceImpl extends ServiceImpl<MajorTargetMapper, Major
|
|
|
return this.update(new LambdaUpdateWrapper<MajorTarget>().set(MajorTarget::getStatementNo,one.getStatementNo())
|
|
|
.set(MajorTarget::getReportNo,toMergeNumber)
|
|
|
.in(BaseEntity::getId,targetIds));
|
|
|
+
|
|
|
}
|
|
|
if (mergeType.equals(LETTER.name())){
|
|
|
MajorTarget one = this.list(new LambdaQueryWrapper<MajorTarget>().eq(MajorTarget::getLetterNo, toMergeNumber)).get(0);
|