From a7ad35b3e20867204cda9faa7bdf8a686264e906 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期四, 27 三月 2025 17:17:43 +0800
Subject: [PATCH] 合同及明细业务调整

---
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java |   30 ++++++++++++++++++++----------
 1 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java
index 1a03df0..f858eda 100644
--- a/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java
+++ b/platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java
@@ -1,5 +1,6 @@
 package com.by4cloud.platformx.device.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import com.by4cloud.platformx.device.entity.Contract;
@@ -14,6 +15,7 @@
 import lombok.RequiredArgsConstructor;
 
 import java.io.Serializable;
+import java.util.List;
 import java.util.Objects;
 /**
  * 鍚堝悓琛�
@@ -42,14 +44,17 @@
     @Transactional(rollbackFor = Exception.class)
     public Boolean updateDeep(Contract contract) {
         baseMapper.updateById(contract);
-        for (ContractItem  contractItem : contract.getContractItemList()) {
-            if (Objects.isNull(contractItem.getId())) {
-                contractItem.setContractId(contract.getId());
-                contractItemMapper.insert(contractItem);
-            } else {
-                contractItemMapper.updateById(contractItem);
-            }
-        }
+		if (contract.getContractItemList() != null&&contract.getContractItemList().size()>0) {
+			QueryWrapper<ContractItem> queryWrapper = new QueryWrapper<>();
+			queryWrapper.eq("contract_id",contract.getId());
+			contractItemMapper.delete(queryWrapper);
+			for (ContractItem  contractItem : contract.getContractItemList()) {
+				contractItem.setId(null);
+				contractItem.setContractId(contract.getId());
+				contractItemMapper.insert( contractItem);
+			}
+		}
+
         return Boolean.TRUE;
     }
 
@@ -69,7 +74,12 @@
     }
 
 	@Override
-	public Contract getByIdDeep(Serializable id) {
-		return ContractService.super.getByIdDeep(id);
+	public Contract getDetailById(Long id) {
+		Contract contract = baseMapper.selectById(id);
+		QueryWrapper<ContractItem> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq("contract_id",id);
+		List<ContractItem> itemList = contractItemMapper.selectList(queryWrapper);
+		contract.setContractItemList(itemList);
+		return contract;
 	}
 }

--
Gitblit v1.9.1