mitao
2025-01-17 922d7aa03200fa293bbce565d43c58995ec58548
land-admin/src/main/java/com/zzg/web/controller/state/StateSettlementController.java
@@ -14,17 +14,32 @@
import com.zzg.common.utils.file.FileUtils;
import com.zzg.system.convert.StateProjectConvert;
import com.zzg.system.convert.easyExcel.MultiDropdownWriteHandler;
import com.zzg.system.domain.bo.*;
import com.zzg.system.domain.vo.*;
import com.zzg.system.service.state.StateHouseholdService;
import com.zzg.system.domain.bo.ImportSettlementBO;
import com.zzg.system.domain.bo.SettlementBO;
import com.zzg.system.domain.bo.SettlementDetailBO;
import com.zzg.system.domain.bo.StateExecutionBO;
import com.zzg.system.domain.bo.WorkFlowSubmitBO;
import com.zzg.system.domain.vo.HouseholdVO;
import com.zzg.system.domain.vo.NotResettlementHouseholdExportVO;
import com.zzg.system.domain.vo.ProjectExecutionSumVO;
import com.zzg.system.domain.vo.ResettlementHouseholdExportVO;
import com.zzg.system.domain.vo.SettlementDetailPageVO;
import com.zzg.system.domain.vo.SettlementSumVO;
import com.zzg.system.domain.vo.StateExecutionDetailExportVO;
import com.zzg.system.domain.vo.StateExecutionDetailVO;
import com.zzg.system.service.state.StateSettlementService;
import com.zzg.system.service.system.ISysDeptService;
import com.zzg.web.core.enums.TemplateFileTypeEnum;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
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.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@@ -45,41 +60,43 @@
    private final StateSettlementService settlementService;
    private final ISysDeptService deptService;
    @ApiOperation(value = "安置情况保存", notes = "安置情况保存")
    @PostMapping(UrlConstants.STATE_SETTLEMENT_SAVE)
    public AjaxResult<List<StateSettlement>> saveSettlement(@RequestBody List<StateSettlement> stateSettlement) {
        settlementService.saveOrUpdateSettlement(stateSettlement);
        return AjaxResult.success(stateSettlement);
    }
    @ApiOperation(value = "安置情况删除", notes = "安置情况删除")
    @GetMapping(UrlConstants.STATE_SETTLEMENT_DEL)
    public AjaxResult<Boolean> delSettlement(@RequestParam String settlementId) {
        settlementService.deleteSettlement(settlementId);
        return AjaxResult.success(true);
    }
    //安置详情
    @ApiOperation(value = "安置详情", notes = "安置详情")
    @PostMapping(UrlConstants.STATE_SETTLEMENT_DETAIL_LIST)
    public AjaxResult<SettlementDetailPageVO> listSettlementDetail(@RequestBody SettlementDetailBO settlementBO) {
        return AjaxResult.success(settlementService.listDetailData(settlementBO));
    }
    //安置详情
    @ApiOperation(value = "安置详情-回显", notes = "安置详情-回显")
    @PostMapping(UrlConstants.STATE_SETTLEMENT_DETAIL_UPDATE_LIST)
    public AjaxResult<SettlementDetailPageVO> listSettlementDetailUpdate(@RequestBody SettlementDetailBO settlementBO) {
        return AjaxResult.success(settlementService.listDetailUpdateData(settlementBO));
    }
    //外层项目实施数据
    @ApiOperation(value = "外层项目实施数据", notes = "外层项目实施数据")
    @GetMapping(UrlConstants.STATE_SETTLEMENT_SUM)
    public AjaxResult<SettlementSumVO> sumSettled(@RequestParam String projectId) {
        return AjaxResult.success(settlementService.sumSettleData(projectId));
    }
    // 安置情况页面 数据
    @PostMapping(UrlConstants.STATE_SETTLEMENT_LIST)
    public AjaxResult<PageInfo<HouseholdVO>> listSettlement(@RequestBody SettlementBO settlementBO) {
        return AjaxResult.success(settlementService.listSettleData(settlementBO));
    }
    // 安置情况页面 导出
    @PostMapping(UrlConstants.STATE_SETTLEMENT_EXPORT)
    public AjaxResult<Void> exportSettlement(@RequestBody SettlementBO settlementBO, HttpServletResponse response) {
        try {
@@ -156,6 +173,7 @@
        }
    }
   // 新增安置情况模板
    @GetMapping(UrlConstants.STATE_SETTLEMENT_IMPORT_TEMPLATE)
    public void importStateHouseholdTemplate(@RequestParam Integer compensationType, HttpServletResponse response) {
@@ -186,7 +204,7 @@
        }
    }
    // 新增安置详情页面 导入
    @PostMapping(UrlConstants.STATE_SETTLEMENT_IMPORT)
    public AjaxResult<Void> importSettlement(ImportSettlementBO importSettlementBO) throws IOException {
        settlementService.stateSettlementImport(importSettlementBO);
@@ -194,6 +212,7 @@
    }
   // 实施明细导出
    @PostMapping(UrlConstants.STATE_SETTLEMENT_LIST_EXPORT)
    public AjaxResult<Void> exportSettlementDetail(@RequestBody(required = false) StateExecutionBO executionBO, HttpServletResponse response) {
        try {
@@ -223,7 +242,7 @@
    public AjaxResult<Map<String, Map<Integer, ProjectExecutionSumVO>>> listProjectExecution(@RequestBody List<String> projectIdList) {
        return AjaxResult.success(settlementService.listProjectExecutionByProjectId(projectIdList, null));
    }
    // 新增安置情况 - 提交审核
    @PostMapping(UrlConstants.STATE_SETTLEMENT_EXECUTION_WORKFLOW_SUBMIT)
    public AjaxResult<Boolean> submitSettle(@RequestBody WorkFlowSubmitBO workFlowSubmitBO) {
        if (Objects.isNull(workFlowSubmitBO.getSettlementIdList()) || workFlowSubmitBO.getSettlementIdList().isEmpty()) {
@@ -244,8 +263,9 @@
    }
    /**
     * 新增安置情况 - 安置批次名字
     * @param projectId
     * @param componsationType 前端传 “null” 无办法
     * @param componsationType
     * @return
     */
    @GetMapping(UrlConstants.STATE_SETTLEMENT_GENERATE_SETTLE_BATCH)
@@ -253,6 +273,11 @@
        return AjaxResult.success(settlementService.generateBatchName(projectId, componsationType));
    }
    /**
     * 当前项目安置批次名字列表
     * @param projectId
     * @return
     */
    @GetMapping(UrlConstants.STATE_SETTLEMENT_BATCH_NAME_LIST)
    public AjaxResult<List<String>> listBatchName(@RequestParam String projectId) {
        return AjaxResult.success(settlementService.listBatchName(projectId));