|
@@ -38,8 +38,10 @@ import org.springblade.common.utils.ForestNodeMergerEx;
|
|
|
import org.springblade.manager.vo.*;
|
|
|
import org.springblade.manager.mapper.ArchiveTreeContractMapper;
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import org.springframework.web.bind.annotation.RequestParam;
|
|
|
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -1097,7 +1099,108 @@ public class ArchiveTreeContractServiceImpl extends BaseServiceImpl<ArchiveTreeC
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 返回关联质检资料的节点
|
|
|
+ * @param contractId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+
|
|
|
+ public ArchiveTreeContract getMeasurementInterfaceNode(Long contractId,
|
|
|
+ String periodName) {
|
|
|
+ List<ArchiveTreeContract> archiveTreeContracts = baseMapper.selectList(Wrappers.<ArchiveTreeContract>query().lambda()
|
|
|
+ .eq(ArchiveTreeContract::getContractId, contractId)
|
|
|
+ .eq(ArchiveTreeContract::getIsDeleted, 0)
|
|
|
+ .eq(ArchiveTreeContract::getNodeName, periodName));
|
|
|
+ if (archiveTreeContracts == null || archiveTreeContracts.size() ==0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return archiveTreeContracts.get(0);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 返回存储类型为计量的节点
|
|
|
+ * @param contractId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+
|
|
|
+ public ArchiveTreeContract getMeasurementNode(Long contractId) {
|
|
|
+ List<ArchiveTreeContract> archiveTreeContracts = baseMapper.selectList(Wrappers.<ArchiveTreeContract>query().lambda()
|
|
|
+ .eq(ArchiveTreeContract::getContractId, contractId)
|
|
|
+ .eq(ArchiveTreeContract::getIsDeleted, 0)
|
|
|
+ .eq(ArchiveTreeContract::getIsStorageNode, 1)
|
|
|
+ .eq(ArchiveTreeContract::getStorageType, 3)
|
|
|
+ .isNull(ArchiveTreeContract::getInterfaceType)
|
|
|
+ );
|
|
|
+ if (archiveTreeContracts == null || archiveTreeContracts.size() ==0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return archiveTreeContracts.get(0);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据项目名称,合同名称信息
|
|
|
+ * @param projectName
|
|
|
+ * @param contractName
|
|
|
+ * @param periodName
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public ArchiveTreeContract getMeasurementPeriodNode(String projectName,String contractName,
|
|
|
+ String periodName) {
|
|
|
+
|
|
|
+ Long contractId = projectInfoService.getContractIdbyName(projectName,contractName);
|
|
|
+ return getMeasurementPeriodNode(contractId,periodName);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 返回存储类型为计量的节点
|
|
|
+ * @param contractId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+
|
|
|
+ public ArchiveTreeContract getMeasurementPeriodNode(Long contractId,
|
|
|
+ String periodName) {
|
|
|
+
|
|
|
+ ArchiveTreeContract rootNode = getMeasurementNode(contractId);
|
|
|
+
|
|
|
+ //获取子节点里名字是periodName,并且存储类型是计量的,没有新建一个
|
|
|
+ //没有找到则新建一个,否则
|
|
|
+ ArchiveTreeContract periodNode = null;
|
|
|
+ List<ArchiveTreeContract> archiveTreeContracts = baseMapper.selectList(Wrappers.<ArchiveTreeContract>query().lambda()
|
|
|
+ .eq(ArchiveTreeContract::getParentId, rootNode.getId())
|
|
|
+ .eq(ArchiveTreeContract::getIsDeleted, 0)
|
|
|
+ .eq(ArchiveTreeContract::getNodeName, periodName)
|
|
|
+ .eq(ArchiveTreeContract::getInterfaceType,2));
|
|
|
+ if (archiveTreeContracts == null || archiveTreeContracts.size() ==0) {
|
|
|
+ //新建并保存
|
|
|
+ periodNode = new ArchiveTreeContract();
|
|
|
+ periodNode.setProjectId(rootNode.getProjectId());
|
|
|
+ periodNode.setContractId(rootNode.getContractId());
|
|
|
+ periodNode.setIsDeleted(0);
|
|
|
+ periodNode.setIsInterfaceNode(1);
|
|
|
+ periodNode.setInterfaceType(2);
|
|
|
+ periodNode.setNodeName(periodName);
|
|
|
+ periodNode.setIsStorageNode(1);
|
|
|
+ periodNode.setStorageType(3);
|
|
|
+ periodNode.setNodeType(2);
|
|
|
+ periodNode.setParentId(rootNode.getId());
|
|
|
+ ArchiveTreeContractDTO archiveTreeContractDTO = new ArchiveTreeContractDTO();
|
|
|
+ try {
|
|
|
+ BeanUtils.copyProperties(periodNode, archiveTreeContractDTO);
|
|
|
+ } catch (Exception e) {
|
|
|
+ // 处理异常情况
|
|
|
+ }
|
|
|
+ submit(archiveTreeContractDTO);
|
|
|
+ periodNode.setId(archiveTreeContractDTO.getId());
|
|
|
+
|
|
|
+ }else {
|
|
|
+ periodNode = archiveTreeContracts.get(0);
|
|
|
+ }
|
|
|
+
|
|
|
+ return periodNode;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|