yanghb
2025-02-18 1fc203f758ace853f4bfa900c422c2f741d09e79
land-admin/src/main/java/com/zzg/web/controller/state/StateAgreementController.java
@@ -45,10 +45,9 @@
    private final StateHouseholdService stateHouseholdService;
    private final StateProcessTemplateService stateProcessTemplateService;
    private final StateProjectService stateProjectService;
    // 新增协议
    @PostMapping(UrlConstants.STATE_AGREEMENT_SAVE)
    public AjaxResult<Boolean> createAgreement(@RequestBody StateAgreementSaveBO saveBO) {
        //根据协议类型和房产id进行排重 每个协议只能存在一份
        LambdaQueryWrapper<StateAgreement> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(StateAgreement::getAgreementFileType, saveBO.getAgreementFileType());
@@ -59,6 +58,7 @@
        if (ObjectUtil.isNotEmpty(stateAgreement) && Objects.isNull(saveBO.getId())) {
            throw new GlobalException("每种协议类型只能存在一份");
        }
        if (!CollectionUtils.isEmpty(saveBO.getFileBOList())) {
            saveBO.setFileUrl(JSON.toJSONString(saveBO.getFileBOList()));
            String appendFileName = saveBO.getFileBOList().stream().map(FileBO::getOriginalFilename).collect(Collectors.joining(","));
@@ -66,12 +66,12 @@
        }
        return AjaxResult.success(stateAgreementService.saveOrUpdate(saveBO));
    }
    // 模拟转征收
    @PostMapping(UrlConstants.STATE_AGREEMENT_UPDATE)
    public AjaxResult<Boolean> updateAgreement(@RequestBody UpdateAgreementBO bo) {
        return AjaxResult.success(stateAgreementService.updateStateAgreement(bo.getHouseId()));
    }
    // 更新协议
    @PostMapping(UrlConstants.STATE_AGREEMENT_UPDATE_AGREEMENT)
    public AjaxResult<StateAgreementSaveBO> updateAgreement(@RequestBody StateAgreementSaveBO saveBO) {
        if (!CollectionUtils.isEmpty(saveBO.getFileBOList())) {
@@ -82,7 +82,7 @@
        stateAgreementService.saveOrUpdate(saveBO);
        return AjaxResult.success(saveBO);
    }
    // 协议详情 - 编辑 -删除按钮
    @GetMapping(UrlConstants.STATE_AGREEMENT_DEL)
    public AjaxResult<Boolean> deleteAgreement(@RequestParam String agreementId) {
        StateAgreement stateAgreement = stateAgreementService.getById(agreementId);
@@ -103,22 +103,25 @@
                    .set(StateAgreement::getFileUrl, null);
            return AjaxResult.success(stateAgreementService.update(updateWrapper));
        }
        return AjaxResult.success(stateAgreementService.removeById(agreementId));
    }
    // 协议管理 - 页面查询
    @PostMapping(UrlConstants.STATE_AGREEMENT_LIST)
    public AjaxResult<PageInfo<StateAgreementVO>> listStateAgreement(@RequestBody StateAgreementBO request) {
        return AjaxResult.success(stateAgreementService.listDataByCondition(request));
    }
    // 协议详情
    @GetMapping(UrlConstants.STATE_AGREEMENT_DETAIL)
    public AjaxResult<List<AgreementDetailVO>> getAgreementDetail(@RequestParam String stateHouseId) {
        return AjaxResult.success(stateAgreementService.listAgreementDetailByHouseId(stateHouseId));
    }
    //生成协议word
    @GetMapping(UrlConstants.STATE_AGREEMENT_GENERATE)
    public void generateAgreementDetail(@RequestParam String stateHouseholdId, @RequestParam String stateAgreementId, HttpServletResponse response) throws Exception {
    public void generateAgreementDetail(
            @RequestParam String stateHouseholdId,
            @RequestParam String stateAgreementId,
            HttpServletResponse response
    ) throws Exception {
        StateAgreementBO request = new StateAgreementBO();
        request.setStateHouseholdId(stateHouseholdId);
        Map<String, Object> wordData = stateAgreementService.getWordData(stateHouseholdId, stateAgreementId);
@@ -142,7 +145,6 @@
            default:
                templatePath = "templates/word_template.docx";
        }
        XWPFDocument document = WordExportUtil.exportWord07(templatePath, wordData);
        response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
@@ -185,9 +187,9 @@
            Map<String, Object> variable = new HashMap<>();
            variable.put("stateHouseholdId", stateHousehold.getId());
            processStartBO.setVariable(variable);
            //启动工作流
            stateProcessTemplateService.start(processStartBO);
        }
        return AjaxResult.success(stateAgreementService.saveOrUpdateBatch(agreementList));
    }
}