shiyunteng
2025-03-28 4ad9053cc576b74f74985f22fa5af25cca282a28
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;
/**
 * 合同表
@@ -29,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());
@@ -42,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;
    }
@@ -69,7 +75,28 @@
    }
   @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;
   }
   @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;
   }
}