From 608f0d2c05d86510d546a362e44c10feb601b3f1 Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期二, 08 四月 2025 08:19:10 +0800
Subject: [PATCH] 优化项优化

---
 platformx-device-biz/src/main/java/com/by4cloud/platformx/device/service/impl/ContractServiceImpl.java |   50 ++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 42 insertions(+), 8 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 312841b..930e4e9 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;
@@ -12,6 +13,9 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import org.springframework.transaction.annotation.Transactional;
 import lombok.RequiredArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
 import java.util.Objects;
 /**
  * 鍚堝悓琛�
@@ -27,6 +31,7 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Boolean saveDeep(Contract contract) {
+		contract.setStatus(0);
         baseMapper.insert(contract);
         for (ContractItem contractItem : contract.getContractItemList()) {
             contractItem.setContractId(contract.getId());
@@ -40,14 +45,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;
     }
 
@@ -65,4 +73,30 @@
         contractItemMapper.deleteBatchIds(CollUtil.toList(ids));
         return Boolean.TRUE;
     }
+
+	@Override
+	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;
+	}
+
+	@Override
+	public Boolean approved(Long id) {
+		Contract contract = baseMapper.selectById(id);
+		contract.setStatus(1);
+		baseMapper.updateById(contract);
+		return Boolean.TRUE;
+	}
+
+	@Override
+	public List<Contract> getApprovedContractList() {
+		QueryWrapper<Contract> queryWrapper = new QueryWrapper<>();
+		queryWrapper.eq("status",1);
+		List<Contract> list = baseMapper.selectList(queryWrapper);
+		return list;
+	}
 }

--
Gitblit v1.9.1