|
|
@ -34,6 +34,7 @@ import com.epmet.dto.screen.form.ScreenProjectProcessFormDTO; |
|
|
|
import com.epmet.dto.screencoll.ScreenCollFormDTO; |
|
|
|
import com.epmet.entity.evaluationindex.screen.ScreenProjectProcessAttachmentEntity; |
|
|
|
import com.epmet.entity.evaluationindex.screen.ScreenProjectProcessEntity; |
|
|
|
import com.epmet.service.evaluationindex.screen.ScreenProjectProcessAttachmentService; |
|
|
|
import com.epmet.service.evaluationindex.screen.ScreenProjectProcessService; |
|
|
|
import org.apache.commons.collections4.ListUtils; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
@ -42,9 +43,12 @@ import org.springframework.transaction.annotation.Transactional; |
|
|
|
import org.springframework.util.CollectionUtils; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Arrays; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.concurrent.atomic.AtomicInteger; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
/** |
|
|
|
* 中央区-项目数据项目处理进展表 |
|
|
@ -58,6 +62,8 @@ public class ScreenProjectProcessServiceImpl extends BaseServiceImpl<ScreenProje |
|
|
|
|
|
|
|
@Resource |
|
|
|
private ScreenProjectProcessAttachmentDao screenProjectProcessAttachmentDao; |
|
|
|
@Resource |
|
|
|
private ScreenProjectProcessAttachmentService screenProjectProcessAttachmentService; |
|
|
|
@Override |
|
|
|
public PageData<ScreenProjectProcessDTO> page(Map<String, Object> params) { |
|
|
|
IPage<ScreenProjectProcessEntity> page = baseDao.selectPage( |
|
|
@ -120,39 +126,35 @@ public class ScreenProjectProcessServiceImpl extends BaseServiceImpl<ScreenProje |
|
|
|
affectedRows = baseDao.deleteByDateIdAndCustomerId(param.getCustomerId(), param.getDateId()); |
|
|
|
} |
|
|
|
} |
|
|
|
param.getDataList().forEach(item -> { |
|
|
|
//先删除旧数据
|
|
|
|
QueryWrapper<ScreenProjectProcessEntity> screenProjectProcessEntityQueryWrapper = new QueryWrapper<>(); |
|
|
|
screenProjectProcessEntityQueryWrapper.eq(StringUtils.isNotBlank(item.getProjectId()), "project_id", item.getProjectId()) |
|
|
|
.eq(StringUtils.isNotBlank(param.getCustomerId()), "customer_id", param.getCustomerId()) |
|
|
|
.eq(StringUtils.isNotBlank(item.getProcessId()), "process_id", item.getProcessId()); |
|
|
|
baseDao.delete(screenProjectProcessEntityQueryWrapper); |
|
|
|
|
|
|
|
QueryWrapper<ScreenProjectProcessAttachmentEntity> screenProjectProcessAttachmentEntityQueryWrapper = new QueryWrapper<>(); |
|
|
|
screenProjectProcessAttachmentEntityQueryWrapper.eq(StringUtils.isNotBlank(item.getProjectId()), "project_id", item.getProjectId()) |
|
|
|
.eq(StringUtils.isNotBlank(param.getCustomerId()), "customer_id", param.getCustomerId()) |
|
|
|
.eq(StringUtils.isNotBlank(item.getProcessId()), "process_id", item.getProcessId()); |
|
|
|
screenProjectProcessAttachmentDao.delete(screenProjectProcessAttachmentEntityQueryWrapper); |
|
|
|
//插入
|
|
|
|
ScreenProjectProcessEntity screenProjectProcessEntity = ConvertUtils.sourceToTarget(item, ScreenProjectProcessEntity.class); |
|
|
|
screenProjectProcessEntity.setCustomerId(param.getCustomerId()); |
|
|
|
screenProjectProcessEntity.setDataEndTime(param.getDateId()); |
|
|
|
baseDao.insert(screenProjectProcessEntity); |
|
|
|
|
|
|
|
List<ScreenProjectProcessAttachmentDTO> attachments = item.getAttachments(); |
|
|
|
if (!CollectionUtils.isEmpty(attachments)){ |
|
|
|
for (int i = 0; i < attachments.size(); i++) { |
|
|
|
ScreenProjectProcessAttachmentEntity attachmentEntity = ConvertUtils.sourceToTarget(attachments.get(i), ScreenProjectProcessAttachmentEntity.class); |
|
|
|
attachmentEntity.setCustomerId(param.getCustomerId()); |
|
|
|
attachmentEntity.setProcessId(item.getProcessId()); |
|
|
|
attachmentEntity.setProjectId(item.getProjectId()); |
|
|
|
if (attachmentEntity.getSort() == null) { |
|
|
|
attachmentEntity.setSort(i); |
|
|
|
} |
|
|
|
screenProjectProcessAttachmentDao.insert(attachmentEntity); |
|
|
|
List<String> processIdList = |
|
|
|
param.getDataList().stream().map(ScreenProjectProcessFormDTO :: getProcessId).collect(Collectors.toList()).stream().distinct() |
|
|
|
.collect(Collectors.toList()); |
|
|
|
//删除旧数据
|
|
|
|
baseDao.deleteByProcessIds(param.getCustomerId(), processIdList); |
|
|
|
screenProjectProcessAttachmentDao.deleteByProcessIds(param.getCustomerId(), processIdList); |
|
|
|
|
|
|
|
List<ScreenProjectProcessAttachmentEntity> attachmentList = new ArrayList<>(); |
|
|
|
|
|
|
|
List<ScreenProjectProcessEntity> processList = param.getDataList().stream().map(item -> { |
|
|
|
ScreenProjectProcessEntity entity = ConvertUtils.sourceToTarget(item, ScreenProjectProcessEntity.class); |
|
|
|
entity.setCustomerId(param.getCustomerId()); |
|
|
|
entity.setDataEndTime(param.getDateId()); |
|
|
|
AtomicInteger i = new AtomicInteger(0); |
|
|
|
List<ScreenProjectProcessAttachmentEntity> attachments = item.getAttachments().stream().map(attachment -> { |
|
|
|
ScreenProjectProcessAttachmentEntity attachmentEntity = ConvertUtils.sourceToTarget(attachment, ScreenProjectProcessAttachmentEntity.class); |
|
|
|
attachmentEntity.setCustomerId(param.getCustomerId()); |
|
|
|
attachmentEntity.setProcessId(item.getProcessId()); |
|
|
|
attachmentEntity.setProjectId(item.getProjectId()); |
|
|
|
if (attachmentEntity.getSort() == null) { |
|
|
|
attachmentEntity.setSort(i.getAndIncrement()); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
return attachmentEntity; |
|
|
|
}).collect(Collectors.toList()); |
|
|
|
attachmentList.addAll(attachments); |
|
|
|
return entity; |
|
|
|
}).collect(Collectors.toList()); |
|
|
|
this.insertBatch(processList); |
|
|
|
screenProjectProcessAttachmentService.insertBatch(attachmentList); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|