mitao
2025-01-17 922d7aa03200fa293bbce565d43c58995ec58548
添加接口备注
6个文件已修改
220 ■■■■ 已修改文件
land-admin/src/main/java/com/zzg/web/controller/state/StateDataCenterController.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
land-admin/src/main/java/com/zzg/web/controller/state/StateProcessController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
land-admin/src/main/java/com/zzg/web/controller/state/StateSettlementController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
land-system/src/main/java/com/zzg/system/service/state/impl/StateDataCenterServiceImpl.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
land-system/src/main/java/com/zzg/system/service/state/impl/StateProcessTemplateServiceImpl.java 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
land-system/src/main/java/com/zzg/system/service/state/impl/StateSettlementImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
land-admin/src/main/java/com/zzg/web/controller/state/StateDataCenterController.java
@@ -20,7 +20,7 @@
public class StateDataCenterController {
    private final StateDateCenterService dateCenterService;
    // 计算最上面顶部统计数据
    @GetMapping(UrlConstants.STATE_DATA_CENTER_SUM)
    public AjaxResult<ProjectAnalysisSumVO> dataCenterSum(
            @RequestParam(required = false) String location,
@@ -30,13 +30,13 @@
    ) {
        return AjaxResult.success(dateCenterService.projectSumCount(location, projectStatus, projectStartTime));
    }
    // 项目统计-模拟征收超期项目
    @PostMapping(UrlConstants.STATE_DATA_CENTER_SUM_EXPIRED)
    public AjaxResult<PageInfo<ProjectStatusExpiredVO>> sumExpiredAgreement(@RequestBody(required = false) ProjectStatisticsBO statisticsBO) {
        return AjaxResult.success(dateCenterService.expiredProjectStatus(statisticsBO));
    }
    //安置情况
    // 安置情况 获取数据中心安置情况模块 中间的饼图
    @GetMapping(UrlConstants.STATE_DATA_CENTER_PLACEMENT_STATISTICS)
    public AjaxResult<PlacementStatisticsVO> stateDataCenterPlacementStatistics
    (
@@ -47,7 +47,7 @@
    ) {
        return AjaxResult.success(dateCenterService.placementStatistics(projectStreet, projectStartTime,type));
    }
    // 数据中心-安置情况柱状图
    @GetMapping(UrlConstants.STATE_DATA_CENTER_PLACEMENT_STATISTICS_STREET)
    public AjaxResult<PlacementStreetVO> stateDataCenterPlacementStatisticsStreet(
            @RequestParam(required = false) String projectStreet,
@@ -55,7 +55,7 @@
    ) {
        return AjaxResult.success(dateCenterService.sumPlacementStreet(projectStreet, projectStartTime));
    }
   // 获取数据中心安置情况模块 下方的分页查询
    @PostMapping(UrlConstants.STATE_DATA_CENTER_PLACEMENT_STATISTICS_PAGE)
    public AjaxResult<PageInfo<TransitionPageVO>> stateDataCenterPlacementStatisticsPage(
            @RequestBody PlacementStatisticsBO placementStatisticsBO
@@ -63,7 +63,7 @@
        return AjaxResult.success(dateCenterService.placementStatisticsPage(placementStatisticsBO));
    }
    //项目资金
    //项目资金 数据中心-项目资产统计 左侧数据
    @GetMapping(UrlConstants.STATE_DATA_CENTER_ASSET_SUM_MONEY)
    public AjaxResult<AssetMoneyVO> stateCenterAssetSumMoney(
            @RequestParam(required = false)
@@ -71,7 +71,7 @@
    ) {
        return AjaxResult.success(dateCenterService.sumAssetMoney(projectStartTime));
    }
    // 数据中心-项目资产统计 右侧柱状图
    @GetMapping(UrlConstants.STATE_DATA_CENTER_ASSET_SUM_MONEY_GRAPH)
    public AjaxResult<List<AssetGraphVO>> stateCenterAssetSumGraph(
            @RequestParam(required = false)
land-admin/src/main/java/com/zzg/web/controller/state/StateProcessController.java
@@ -51,12 +51,13 @@
    private final StateProcessModuleService processModuleService;
    private final ISysUserService sysUserService;
    //应用流程
    //应用流程分页列表
    @PostMapping(UrlConstants.STATE_PROCESS_STATE_MODULE_PAGE)
    public AjaxResult<PageInfo<StateProcessModule>> modulePage(@RequestBody PageDomain pageDomain) {
        PageHelper.startPage(pageDomain.getPageNum(), pageDomain.getPageSize());
        LambdaQueryWrapper<StateProcessModule> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.orderByAsc(StateProcessModule::getCategory);
        //查询应用流程列表
        List<StateProcessModule> moduleList = processModuleService.list(queryWrapper);
        if (CollectionUtils.isEmpty(moduleList)) {
            return AjaxResult.success(new PageInfo<>());
@@ -64,6 +65,7 @@
        PageInfo<StateProcessModule> pageInfo = new PageInfo<>(moduleList);
        List<String> updateUserId = pageInfo.getList().stream().map(BaseEntity::getUpdateBy).collect(Collectors.toList());
        if (!CollectionUtils.isEmpty(updateUserId)){
            //根据用户id查询用户信息
            List<SysUser> sysUsers = sysUserService.selectUserByIdList(updateUserId);
            Map<String, SysUser> sysUserMap;
            if (!CollectionUtils.isEmpty(sysUsers)){
@@ -71,6 +73,7 @@
            } else {
                sysUserMap = new HashMap<>();
            }
            //遍历列表,设置更新人名称
            pageInfo.getList().forEach(e -> {
                SysUser sysUser = sysUserMap.get(e.getUpdateBy());
                if (Objects.nonNull(sysUser)){
land-admin/src/main/java/com/zzg/web/controller/state/StateSettlementController.java
@@ -173,6 +173,7 @@
        }
    }
   // 新增安置情况模板
    @GetMapping(UrlConstants.STATE_SETTLEMENT_IMPORT_TEMPLATE)
    public void importStateHouseholdTemplate(@RequestParam Integer compensationType, HttpServletResponse response) {
@@ -211,6 +212,7 @@
    }
   // 实施明细导出
    @PostMapping(UrlConstants.STATE_SETTLEMENT_LIST_EXPORT)
    public AjaxResult<Void> exportSettlementDetail(@RequestBody(required = false) StateExecutionBO executionBO, HttpServletResponse response) {
        try {
@@ -240,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()) {
@@ -261,6 +263,7 @@
    }
    /**
     * 新增安置情况 - 安置批次名字
     * @param projectId
     * @param componsationType
     * @return
@@ -270,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));
land-system/src/main/java/com/zzg/system/service/state/impl/StateDataCenterServiceImpl.java
@@ -4,9 +4,19 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.github.pagehelper.PageInfo;
import com.zzg.common.core.domain.entity.state.*;
import com.zzg.common.core.domain.entity.state.StateAgreement;
import com.zzg.common.core.domain.entity.state.StateAsset;
import com.zzg.common.core.domain.entity.state.StateHousehold;
import com.zzg.common.core.domain.entity.state.StateHouseholdOwner;
import com.zzg.common.core.domain.entity.state.StateProject;
import com.zzg.common.core.domain.entity.state.StateProjectInfo;
import com.zzg.common.core.domain.entity.state.StateSettlement;
import com.zzg.common.core.domain.entity.system.SysDictData;
import com.zzg.common.enums.*;
import com.zzg.common.enums.AgreementTypeEnum;
import com.zzg.common.enums.CompensationCategoryEnum;
import com.zzg.common.enums.DeleteFlagEnum;
import com.zzg.common.enums.StateProjectStatusEnum;
import com.zzg.common.enums.SubmitStatusEnum;
import com.zzg.common.utils.DateUtil;
import com.zzg.common.utils.DateUtils;
import com.zzg.common.utils.PageUtils;
@@ -14,12 +24,29 @@
import com.zzg.system.convert.StateProjectConvert;
import com.zzg.system.domain.bo.PlacementStatisticsBO;
import com.zzg.system.domain.bo.ProjectStatisticsBO;
import com.zzg.system.domain.vo.*;
import com.zzg.system.domain.vo.AssetGraphVO;
import com.zzg.system.domain.vo.AssetMoneyVO;
import com.zzg.system.domain.vo.HouseholdVO;
import com.zzg.system.domain.vo.PlacementStatisticsVO;
import com.zzg.system.domain.vo.PlacementStreetAreaVO;
import com.zzg.system.domain.vo.PlacementStreetMoneyVO;
import com.zzg.system.domain.vo.PlacementStreetVO;
import com.zzg.system.domain.vo.ProjectAnalysisSumVO;
import com.zzg.system.domain.vo.ProjectDataCenterStreetVO;
import com.zzg.system.domain.vo.ProjectDataCenterTypeVO;
import com.zzg.system.domain.vo.ProjectExecutionSumVO;
import com.zzg.system.domain.vo.ProjectStatusExpiredVO;
import com.zzg.system.domain.vo.TransitionPageVO;
import com.zzg.system.mapper.state.StateAssetMapper;
import com.zzg.system.service.state.*;
import com.zzg.system.service.state.StateAgreementService;
import com.zzg.system.service.state.StateDateCenterService;
import com.zzg.system.service.state.StateHouseholdOwnerService;
import com.zzg.system.service.state.StateHouseholdService;
import com.zzg.system.service.state.StateProjectInfoService;
import com.zzg.system.service.state.StateProjectService;
import com.zzg.system.service.state.StateSettlementService;
import com.zzg.system.service.system.ISysDictTypeService;
import lombok.RequiredArgsConstructor;
import org.checkerframework.checker.units.qual.A;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@@ -27,8 +54,13 @@
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.sql.Timestamp;
import java.time.Year;
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.function.Function;
import java.util.stream.Collectors;
@@ -177,6 +209,11 @@
        return result;
    }
    /**
     * 项目统计-模拟征收超期项目
     * @param projectStatisticsBO
     * @return
     */
    @Override
    public PageInfo<ProjectStatusExpiredVO> expiredProjectStatus(ProjectStatisticsBO projectStatisticsBO) {
@@ -195,6 +232,13 @@
        return pageInfo;
    }
    /**
     * 获取数据中心安置情况模块 中间的饼图
     * @param projectStreet
     * @param projectStartTime
     * @param type
     * @return
     */
    @Override
    public PlacementStatisticsVO placementStatistics(String projectStreet, Date projectStartTime, Integer type) {
@@ -291,6 +335,11 @@
        return stateProjectService.list(queryWrapper);
    }
    /**
     * 获取数据中心安置情况模块 下方的分页查询
     * @param placementStatisticsBO
     * @return
     */
    @Override
    public PageInfo<TransitionPageVO> placementStatisticsPage(PlacementStatisticsBO placementStatisticsBO) {
@@ -358,6 +407,11 @@
        return transitionPageVOPageInfo;
    }
    /**
     * 项目资金 数据中心-项目资产统计 左侧数据
     * @param stateTime
     * @return
     */
    @Override
    public AssetMoneyVO sumAssetMoney(Date stateTime) {
@@ -459,6 +513,11 @@
        return result;
    }
    /**
     * 数据中心-项目资产统计 右侧柱状图
     * @param stateTime
     * @return
     */
    @Override
    public List<AssetGraphVO> listAssetGraph(Date stateTime) {
        LambdaQueryWrapper<StateProject> projectLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -585,7 +644,12 @@
        return result;
    }
    /**
     * 数据中心-安置情况柱状图
     * @param street
     * @param stateTime
     * @return
     */
    @Override
    public PlacementStreetVO sumPlacementStreet(String street, Date stateTime) {
        String houseStreet = street;
land-system/src/main/java/com/zzg/system/service/state/impl/StateProcessTemplateServiceImpl.java
@@ -5,14 +5,23 @@
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.aizuda.bpm.engine.FlowLongEngine;
import com.aizuda.bpm.engine.core.FlowCreator;
import com.aizuda.bpm.engine.core.enums.TaskType;
import com.aizuda.bpm.engine.entity.*;
import com.aizuda.bpm.engine.entity.FlowEntity;
import com.aizuda.bpm.engine.entity.FlwHisInstance;
import com.aizuda.bpm.engine.entity.FlwHisTask;
import com.aizuda.bpm.engine.entity.FlwHisTaskActor;
import com.aizuda.bpm.engine.entity.FlwProcess;
import com.aizuda.bpm.engine.entity.FlwTask;
import com.aizuda.bpm.engine.entity.FlwTaskActor;
import com.aizuda.bpm.engine.model.NodeModel;
import com.aizuda.bpm.mybatisplus.mapper.*;
import com.aizuda.bpm.mybatisplus.mapper.FlwHisInstanceMapper;
import com.aizuda.bpm.mybatisplus.mapper.FlwHisTaskActorMapper;
import com.aizuda.bpm.mybatisplus.mapper.FlwHisTaskMapper;
import com.aizuda.bpm.mybatisplus.mapper.FlwTaskActorMapper;
import com.aizuda.bpm.mybatisplus.mapper.FlwTaskMapper;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.fastjson2.JSONWriter;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -23,7 +32,11 @@
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.zzg.common.core.domain.BaseEntity;
import com.zzg.common.core.domain.entity.state.*;
import com.zzg.common.core.domain.entity.state.StateProcessExtInstance;
import com.zzg.common.core.domain.entity.state.StateProcessInstanceAction;
import com.zzg.common.core.domain.entity.state.StateProcessModule;
import com.zzg.common.core.domain.entity.state.StateProcessTemplate;
import com.zzg.common.core.domain.entity.state.StateTaskCenter;
import com.zzg.common.core.domain.entity.system.SysUser;
import com.zzg.common.core.domain.model.LoginUser;
import com.zzg.common.enums.StateProcessActionType;
@@ -31,23 +44,37 @@
import com.zzg.common.exception.state.StateErrorCode;
import com.zzg.common.utils.SecurityUtils;
import com.zzg.common.utils.uuid.IdUtils;
import com.zzg.system.domain.bo.*;
import com.zzg.system.domain.vo.City;
import com.zzg.system.domain.bo.DeployBO;
import com.zzg.system.domain.bo.ProcessAgreeBO;
import com.zzg.system.domain.bo.ProcessCreateBO;
import com.zzg.system.domain.bo.ProcessRefuseBO;
import com.zzg.system.domain.bo.ProcessStartBO;
import com.zzg.system.domain.bo.ProcessTaskListBO;
import com.zzg.system.domain.bo.ProcessTemplatePageBO;
import com.zzg.system.domain.bo.ProcessUpdateBO;
import com.zzg.system.domain.vo.ProcessTaskListVO;
import com.zzg.system.mapper.state.StateProcessTemplateMapper;
import com.zzg.system.service.state.*;
import com.zzg.system.service.state.StateProcessExtInstanceService;
import com.zzg.system.service.state.StateProcessInstanceActionService;
import com.zzg.system.service.state.StateProcessModuleService;
import com.zzg.system.service.state.StateProcessTemplateService;
import com.zzg.system.service.state.StateTaskCenterService;
import com.zzg.system.service.system.ISysRoleService;
import com.zzg.system.service.system.ISysUserService;
import lombok.AllArgsConstructor;
import org.apache.commons.io.IOUtils;
import org.springframework.security.core.parameters.P;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -68,13 +95,20 @@
    private final FlwHisTaskActorMapper flwHisTaskActorMapper;
    private final ISysUserService sysUserService;
    /**
     * 流程模版分页
     * @param request
     * @return
     */
    @Override
    public Page<StateProcessTemplate> page(ProcessTemplatePageBO request) {
        //查询流程模板列表
        Page<StateProcessTemplate> templatePage = this.baseMapper.page(new Page<>(request.getCurrentPage(), request.getPageSize()), request);
        //更新人id列表
        List<String> updateUserNameList = templatePage.getRecords().stream().map(BaseEntity::getUpdateBy).collect(Collectors.toList());
        if (!CollectionUtils.isEmpty(updateUserNameList)) {
            //根据用户id列表查询用户信息
            List<SysUser> sysUsers = sysUserService.selectUserByUserNameList(updateUserNameList);
            Map<String, SysUser> sysUserMap;
            if (!CollectionUtils.isEmpty(sysUsers)) {
@@ -82,6 +116,7 @@
            } else {
                sysUserMap = new HashMap<>();
            }
            //遍历列表,设置更新人名称
            templatePage.getRecords().forEach(e -> {
                SysUser sysUser = sysUserMap.get(e.getUpdateBy());
                if (Objects.nonNull(sysUser)) {
@@ -92,10 +127,17 @@
        return templatePage;
    }
    /**
     * 修改并部署模版
     * @param processUpdateBO
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Boolean update(ProcessUpdateBO processUpdateBO) {
        //查询流程模板
        StateProcessTemplate temp = this.getById(processUpdateBO.getId());
        //根据template_key查询最新版本的模板
        StateProcessTemplate template = this.getOne(Wrappers.<StateProcessTemplate>lambdaQuery()
                .eq(StateProcessTemplate::getTemplateKey, temp.getTemplateKey())
                .apply("(template_key, template_version) in("
@@ -149,6 +191,11 @@
        return stateProcessModuleService.updateBatchById(stateProcessModules);
    }
    /**
     * 创建并部署模版
     * @param processCreateBO
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Boolean create(ProcessCreateBO processCreateBO) {
@@ -186,6 +233,11 @@
        return this.save(processTemplate);
    }
    /**
     * 启动流程
     * @param processStartBO
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    @Override
    public Boolean start(ProcessStartBO processStartBO) {
@@ -255,6 +307,11 @@
        return true;
    }
    /**
     * 待办
     * @param processTaskListBO
     * @return
     */
    @Override
    public PageInfo<ProcessTaskListVO> waitTaskPage(ProcessTaskListBO processTaskListBO) {
        List<ProcessTaskListVO> page = new ArrayList<>();
@@ -327,6 +384,7 @@
        List<String> updateUserId = processTaskListVOS.stream().map(ProcessTaskListVO::getCreateBy).collect(Collectors.toList());
        Map<String, SysUser> sysUserMap;
        if (!CollectionUtils.isEmpty(updateUserId)) {
            //根据用户id查询更新人信息
            List<SysUser> sysUsers = sysUserService.selectUserByIdList(updateUserId);
            if (!CollectionUtils.isEmpty(sysUsers)) {
land-system/src/main/java/com/zzg/system/service/state/impl/StateSettlementImpl.java
@@ -302,6 +302,11 @@
        return result;
    }
    /**
     * 安置详情
     * @param settlementDetailBO
     * @return
     */
    @Override
    public SettlementDetailPageVO listDetailData(SettlementDetailBO settlementDetailBO) {
        SettlementDetailPageVO pageVO = new SettlementDetailPageVO();
@@ -531,6 +536,11 @@
        return settlementSumVO;
    }
    /**
     * 项目实施明细
     * @param executionBO
     * @return
     */
    @Override
    public PageInfo<StateExecutionDetailVO> listExecution(StateExecutionBO executionBO) {
        PageUtils.startPage();
@@ -604,6 +614,11 @@
        return pageInfo;
    }
    /**
     * 安置详情-回显
     * @param executionB
     * @return
     */
    @Override
    public List<StateExecutionDetailVO> exportExecution(StateExecutionBO executionB) {
        if (StringUtils.isNoneBlank(executionB.getHouseStateId())) {
@@ -677,6 +692,12 @@
        return result;
    }
    /**
     * 给项目展示使用
     * @param projectIdList
     * @param projectStreet
     * @return
     */
    @Override
    public Map<String, Map<Integer, ProjectExecutionSumVO>> listProjectExecutionByProjectId(List<String> projectIdList, String projectStreet) {
@@ -1008,6 +1029,10 @@
        return stateSettlementList.stream().map(StateSettlement::getSettleName).distinct().collect(Collectors.toList());
    }
    /**
     * 安置情况保存
     * @param stateSettlement
     */
    @Override
    @Transactional
    public void saveOrUpdateSettlement(List<StateSettlement> stateSettlement) {
@@ -1101,6 +1126,10 @@
        }
    }
    /**
     * 新增安置情况 - 提交审核
     * @param settlementIds
     */
    @Override
    @Transactional
    public void workflowSubmit(List<String> settlementIds) {
@@ -1160,6 +1189,10 @@
        }
    }
    /**
     * 安置情况删除
     * @param id
     */
    @Override
    public void deleteSettlement(String id) {
        stateSettlementMapper.deleteSettlement(id);