xuhy
2025-04-03 160b87f6c1b93e5061f9556984c07c9cb45d04a6
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java
@@ -26,10 +26,21 @@
import com.ruoyi.system.dto.TContractDTO;
import com.ruoyi.system.dto.TerminateContractDTO;
import com.ruoyi.system.export.ContractExport;
import com.ruoyi.system.model.*;
import com.ruoyi.system.model.TBill;
import com.ruoyi.system.model.TCheckAcceptRecord;
import com.ruoyi.system.model.TContract;
import com.ruoyi.system.model.TContractRentType;
import com.ruoyi.system.model.THouse;
import com.ruoyi.system.model.TTenant;
import com.ruoyi.system.query.TContractBillQuery;
import com.ruoyi.system.query.TContractQuery;
import com.ruoyi.system.service.*;
import com.ruoyi.system.service.StateProcessTemplateService;
import com.ruoyi.system.service.TBillService;
import com.ruoyi.system.service.TCheckAcceptRecordService;
import com.ruoyi.system.service.TContractRentTypeService;
import com.ruoyi.system.service.TContractService;
import com.ruoyi.system.service.THouseService;
import com.ruoyi.system.service.TTenantService;
import com.ruoyi.system.task.base.QuartzManager;
import com.ruoyi.system.task.base.TimeJobType;
import com.ruoyi.system.task.jobs.StateProcessJob;
@@ -45,7 +56,13 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
@@ -56,7 +73,14 @@
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
 * <p>
@@ -500,7 +524,7 @@
        if (StringUtils.isEmpty(key)){
            throw new RuntimeException("key不能为空");
        }
        templateParam.put(StringUtils.format("${{}}", "contractNumber"), value != null ? value : "");
        templateParam.put("${"+key+"}", value != null ? value : "");
    }
    /**
@@ -560,7 +584,33 @@
            e.printStackTrace();
        }
    }
    @ApiOperation("上传合同附件")
    @PostMapping(value = "/upload-file")
    public R<Boolean> uploadFile(@RequestBody TContractDTO dto ) {
        if (Objects.isNull(dto.getId())) {
            throw new ServiceException("合同id不能为空");
        }
        TContract contract = contractService.getById(dto.getId());
        if (Objects.isNull(contract)) {
            throw new ServiceException("合同不存在");
        }
        if (StringUtils.isNotBlank(contract.getContractFile())) {
            List<String> contractFileList = Arrays.stream(contract.getContractFile().split(",")).collect(Collectors.toList());
            List<String> memoryList = Arrays.stream(contract.getMemory().split(",")).collect(Collectors.toList());
            List<String> contractNameList = Arrays.stream(contract.getContractFileName().split(",")).collect(Collectors.toList());
            contractFileList.addAll(Arrays.asList(dto.getContractFile().split(",")));
            contractNameList.addAll(Arrays.asList(dto.getContractFileName().split(",")));
            memoryList.addAll(Arrays.asList(dto.getMemory().split(",")));
            contract.setContractFile(String.join(",", contractFileList));
            contract.setContractFileName(String.join(",", contractNameList));
            contract.setMemory(String.join(",", memoryList));
        } else {
            contract.setContractFile(dto.getContractFile());
            contract.setContractFileName(dto.getContractFileName());
            contract.setMemory(dto.getMemory());
        }
        return R.ok(contractService.updateById(contract));
    }
}