diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/mapper/OperAccessMaterialMapper.xml b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/mapper/OperAccessMaterialMapper.xml
index 4d658b6..1e3758a 100644
--- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/mapper/OperAccessMaterialMapper.xml
+++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/mapper/OperAccessMaterialMapper.xml
@@ -30,12 +30,12 @@
diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/AccessPlanV4ServiceImpl.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/AccessPlanV4ServiceImpl.java
index 997314a..2ec9697 100644
--- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/AccessPlanV4ServiceImpl.java
+++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/AccessPlanV4ServiceImpl.java
@@ -8,6 +8,7 @@ import com.hnac.hzims.message.dto.BusinessMessageDTO;
import com.hnac.hzims.message.fegin.IMessageClient;
import com.hnac.hzims.middle.process.to.ProcessWorkFlowResponse;
import com.hnac.hzims.operational.access.dto.*;
+import com.hnac.hzims.operational.access.entity.OperAccessContentDetailEntity;
import com.hnac.hzims.operational.access.entity.OperAccessContentEntity;
import com.hnac.hzims.operational.access.entity.OperAccessMaterialEntity;
import com.hnac.hzims.operational.access.entity.OperAccessTaskDetailEntity;
@@ -51,6 +52,8 @@ public class AccessPlanV4ServiceImpl implements AccessPlanV4Service{
private final IOperAccessContentService contentService;
+ private final IOperAccessContentDetailService contentDetailService;
+
private final AccessTaskV4Service accessTaskV4Service;
private final ISysClient sysClient;
@@ -105,23 +108,17 @@ public class AccessPlanV4ServiceImpl implements AccessPlanV4Service{
return;
}
// 查询计划是否绑定检修材料
- List existsDetails = materialService.list(new LambdaQueryWrapper() {{
+ List materials = materialService.list(new LambdaQueryWrapper() {{
eq(OperAccessMaterialEntity::getPlanId, entity.getId());
eq(OperAccessMaterialEntity::getIsDeleted, 0L);
}});
- Set detailIds = entity.getAccessMaterials().stream().map(OperAccessMaterialDTO::getId).filter(Objects::nonNull).collect(Collectors.toSet());
- List ids = existsDetails.stream().map(OperAccessMaterialEntity::getId).filter(id -> !detailIds.contains(id)).collect(Collectors.toList());
- if (!CollectionUtils.isEmpty(ids)) {
- materialService.deleteLogic(ids);
+ if(CollectionUtil.isNotEmpty(materials)){
+ materialService.deleteLogic(materials.stream().map(OperAccessMaterialEntity::getId).collect(Collectors.toList()));
}
- // 材料添加/修改
- for (OperAccessMaterialDTO material : entity.getAccessMaterials()) {
+ for (OperAccessMaterialDTO material : entity.getAccessMaterials()){
+ material.setId(null);
material.setPlanId(entity.getId());
- if (ObjectUtil.isEmpty(material.getId())) {
- materialService.doSave(material);
- continue;
- }
- materialService.updateById(material);
+ materialService.save(material);
}
}
@@ -143,7 +140,23 @@ public class AccessPlanV4ServiceImpl implements AccessPlanV4Service{
}
for (OperAccessContentDTO detail : entity.getAccessContents()){
detail.setPlanId(entity.getId());
+ detail.setId(null);
contentService.save(detail);
+ if(CollectionUtil.isNotEmpty(detail.getAccessContentDetails())){
+ for (OperAccessContentDetailDTO contentDetail : detail.getAccessContentDetails()){
+ List contentDetails = contentDetailService.list(new LambdaQueryWrapper() {{
+ eq(OperAccessContentDetailEntity::getContentId, detail.getId());
+ }});
+ // 先删除
+ if(CollectionUtil.isNotEmpty(contentDetails)){
+ contentDetailService.deleteLogic(contentDetails.stream().map(OperAccessContentDetailEntity::getId).collect(Collectors.toList()));
+ }
+ // 再保存
+ contentDetail.setId(null);
+ contentDetail.setContentId(detail.getId());
+ contentDetailService.save(contentDetail);
+ }
+ }
}
}
@@ -221,10 +234,12 @@ public class AccessPlanV4ServiceImpl implements AccessPlanV4Service{
task.setPlanId(entity.getId());
task.setContentId(item.getId());
task.setEmCode(item.getEmCode());
+ task.setCreateUser(item.getManager());
// 任务详情
if(CollectionUtil.isNotEmpty(item.getAccessContentDetails())){
task.setAccessTaskDetails(item.getAccessContentDetails().stream().map(content -> {
OperAccessTaskDetailDTO detail = BeanUtil.copy(content, OperAccessTaskDetailDTO.class);
+ detail.setCreateUser(entity.getCreateUser());
detail.setContentDetailId(content.getId());
detail.setContent(content.getContent());
detail.setName(content.getName());
diff --git a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/AccessTaskV4ServiceImpl.java b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/AccessTaskV4ServiceImpl.java
index 88aca69..f757463 100644
--- a/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/AccessTaskV4ServiceImpl.java
+++ b/hzims-service/operational/src/main/java/com/hnac/hzims/operational/access/service/impl/AccessTaskV4ServiceImpl.java
@@ -146,6 +146,7 @@ public class AccessTaskV4ServiceImpl implements AccessTaskV4Service {
detailService.deleteLogic(exists.stream().map(OperAccessTaskDetailEntity::getId).collect(Collectors.toList()));
}
for (OperAccessTaskDetailDTO detail : entity.getAccessTaskDetails()){
+ detail.setId(null);
detail.setTaskId(entity.getId());
detailService.save(detail);
}