1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package com.yiboshi.science.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yiboshi.science.base.BaseServiceImpl;
import com.yiboshi.science.dao.ComProjectConclusionMaterialDAO;
import com.yiboshi.science.entity.*;
import com.yiboshi.science.param.dto.ComProjectAuditNoteDTO;
import com.yiboshi.science.param.dto.ComProjectConclusionAuditDTO;
import com.yiboshi.science.param.dto.ComProjectConclusionDTO;
import com.yiboshi.science.param.dto.ComProjectConclusionMaterialDTO;
import com.yiboshi.science.param.query.ComProjectConclusionMaterialQueryVO;
import com.yiboshi.science.service.*;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
@Service
@AllArgsConstructor
public class ComProjectConclusionMaterialServiceImpl extends BaseServiceImpl<ComProjectConclusionMaterialDAO, ComProjectConclusionMaterialQueryVO, ComProjectConclusionMaterialDTO, ComProjectConclusionMaterial> implements ComProjectConclusionMaterialService {
@Autowired
private ComProjectConclusionMaterialDAO comProjectConclusionMaterialDAO;
@Autowired
private SystemParameterService systemParameterService;
@Autowired
private ComProjectConclusionService comProjectConclusionService;
@Autowired
private ComProjectService comProjectService;
@Autowired
private ComProjectAuditNoteService comProjectAuditNoteService;
@Override
protected void setCriteriaForQuery(ComProjectConclusionMaterialQueryVO vo, QueryWrapper<ComProjectConclusionMaterialQueryVO> criteria) {
}
public ComProjectConclusionAuditDTO getConclusionMaterialList(String ProjectID) {
ComProjectAudit audit = new ComProjectAudit();
audit.setAuditType(4);
List<ComProjectConclusionMaterialDTO> ConclusionMaterialList;
List<ComProjectConclusionMaterialDTO> dtoList = comProjectConclusionMaterialDAO.getConclusionMaterialList(ProjectID);
if (null != dtoList && dtoList.size() > 0) {
ConclusionMaterialList = dtoList.stream().sorted(Comparator.comparingInt(ComProjectConclusionMaterialDTO::getShowIndex)).collect(Collectors.toList());
}
else {
List<SystemParameter> ParameterList = systemParameterService.getListByType(63);
List<SystemParameter> OrderList = ParameterList.stream().sorted((Comparator.comparingInt(SystemParameter::getDisplayOrder)))
.collect(Collectors.toList());
ConclusionMaterialList = new ArrayList<>();
OrderList.forEach(e -> {
ComProjectConclusionMaterialDTO dto = new ComProjectConclusionMaterialDTO();
dto.setProjId(ProjectID);
dto.setTypeId(e.getId());
dto.setMaterialName(e.getName());
dto.setMaterialValue(0);
dto.setShowIndex(e.getDisplayOrder());
ConclusionMaterialList.add(dto);
});
}
ComProject comProject = comProjectService.getById(ProjectID);
ComProjectConclusionDTO comProjectConclusionDTO = comProjectConclusionService.getByProjId(ProjectID);
ComProjectConclusionAuditDTO auditDTO = new ComProjectConclusionAuditDTO();
auditDTO.setConclusionMaterialList(ConclusionMaterialList);
auditDTO.setComProjectAudit(audit);
auditDTO.setProjNo(comProject.getProjNo());
auditDTO.setProjName(comProject.getProjName());
auditDTO.setReportYear(comProject.getReportYear());
auditDTO.setConclusionDate(comProjectConclusionDTO.getConclusionDate());
auditDTO.setAuditPersonName(comProjectConclusionDTO.getAuditPersonName());
auditDTO.setContractNo(comProjectConclusionDTO.getContractNo());
auditDTO.setPaperNumber(comProjectConclusionDTO.getPaperNumber());
auditDTO.setAppPersonName(comProjectConclusionDTO.getAppPersonName());
//审核记录列表
List<ComProjectAuditNoteDTO> auditList = comProjectAuditNoteService.getListByObjectId(comProjectConclusionDTO.getId());
auditDTO.setAuditList(auditList);
return auditDTO;
}
@Transactional
public boolean SaveConclusionMaterial(ComProjectConclusionAuditDTO comProjectConclusionAuditDTO) {
List<ComProjectConclusionMaterialDTO> dtoList = comProjectConclusionAuditDTO.getConclusionMaterialList();
ComProjectAudit comProjectAudit = comProjectConclusionAuditDTO.getComProjectAudit();
List<ComProjectConclusionMaterialDTO> ConclusionMaterialList = comProjectConclusionMaterialDAO.getConclusionMaterialList(dtoList.get(0).getProjId());
if (null != ConclusionMaterialList && ConclusionMaterialList.size() > 0) {
dtoList.forEach(e -> {
ComProjectConclusionMaterial entity = convert2Entity(e);
this.update(entity);
});
} else {
dtoList.forEach(e -> {
ComProjectConclusionMaterial entity = convert2Entity(e);
this.insert(entity);
});
}
ComProjectConclusion comProjectConclusion = comProjectConclusionService.getById(comProjectAudit.getAuditObjectId());
comProjectConclusion.setConclusionDate(comProjectConclusionAuditDTO.getConclusionDate());
comProjectConclusion.setPaperNumber(comProjectConclusionAuditDTO.getPaperNumber());
comProjectConclusion.setContractNo(comProjectConclusionAuditDTO.getContractNo());
comProjectConclusion.setAuditPersonName(comProjectConclusionAuditDTO.getAuditPersonName());
comProjectConclusion.setIsStamp(comProjectConclusionAuditDTO.getIsStamp());
comProjectConclusionService.update(comProjectConclusion);
comProjectConclusionService.conclusionAudit(comProjectAudit);
return true;
}
}