Jelajahi Sumber

1.督办优化
2.获取所有现行版启用的财务数据表模板数据(根据地区权限获取)

赵越越 3 hari lalu
induk
melakukan
307a77a994

+ 32 - 0
assistMg/src/main/java/com/hotent/baseInfo/req/CostProjectSupervisePageReq.java

@@ -0,0 +1,32 @@
+package com.hotent.baseInfo.req;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.hotent.req.PageReq;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ *@author: zhao yue yue
+ *@create: 2025-12-22 14:57
+ */
+@Getter
+@Setter
+public class CostProjectSupervisePageReq extends PageReq {
+
+    @ApiModelProperty(value = "年度")
+    private String year;
+
+    @ApiModelProperty(value = "监审项目名称")
+    private String project;
+
+    private String status;
+
+    @ApiModelProperty(value = "监督人")
+    private String supervisor;
+
+    private List<String> projectIds;
+}

+ 29 - 1
assistMg/src/main/java/com/hotent/baseInfo/vo/TaskTreeVo.java

@@ -3,6 +3,7 @@ package com.hotent.baseInfo.vo;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.hotent.util.treeutil.SumTree;
 import io.swagger.annotations.ApiModel;
@@ -10,11 +11,14 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.time.LocalDateTime;
+
 
 @ApiModel("成本监审任务进度跟踪响应类")
 @Getter
 @Setter
-public class TaskTreeVo   extends SumTree {
+//@JsonInclude(JsonInclude.Include.NON_NULL)
+public class TaskTreeVo  extends SumTree {
 
 
     @JsonProperty("id")
@@ -74,4 +78,28 @@ public class TaskTreeVo   extends SumTree {
     @JsonProperty("warningStatus")
     private String warningStatus;
 
+    @ApiModelProperty(value = "监督人")
+    @JsonProperty("supervisorId")
+    private String supervisorId;
+
+    @ApiModelProperty(value = "监督人")
+    @JsonProperty("supervisorName")
+    private String supervisorName;
+
+    @ApiModelProperty(value = "要求时间")
+    @JsonProperty("requireTime")
+    private LocalDateTime requireTime;
+
+    @ApiModelProperty(value = "督促要求内容")
+    @JsonProperty("requireContent")
+    private String requireContent;
+
+    @ApiModelProperty(value = "附件id")
+    @JsonProperty("attachmentUrls")
+    private String attachmentUrls;
+
+    @ApiModelProperty(value = "创建督办人名称")
+    @JsonProperty("createBy")
+    private String createBy;
+
 }

+ 12 - 20
assistMg/src/main/java/com/hotent/dataMiddlePlatform/controller/DataMiddlePlatformController.java

@@ -1,31 +1,14 @@
 package com.hotent.dataMiddlePlatform.controller;
 
-import com.alibaba.fastjson.JSON;
-import com.hotent.base.annotation.ApiGroup;
-import com.hotent.base.constants.ApiGroupConsts;
 import com.hotent.base.model.CommonResult;
-import com.hotent.baseInfo.resp.AuditedUnitDetailResp;
 import com.hotent.dataMiddlePlatform.manager.DataMiddlePlatformManager;
-import com.hotent.uc.params.org.OrgVo;
-import com.integration.oauth2.sdk.OAuth2Client;
-import com.integration.oauth2.sdk.method.OAuth2ToMethod;
-import com.integration.oauth2.sdk.model.Org;
-import com.integration.oauth2.sdk.model.UserDetail;
-import com.integration.oauth2.sdk.model.UserInfo;
-import com.integration.oauth2.sdk.response.AccessTokenResponse;
+import com.hotent.dataMiddlePlatform.param.MiddlePlatformBaseParam;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-import java.util.stream.Collectors;
+import org.springframework.web.bind.annotation.*;
 
 /**
  *@author: zhao yue yue
@@ -67,5 +50,14 @@ public class DataMiddlePlatformController {
     }
 
 
-
+    @PostMapping("/base")
+    @ApiOperation(value = "中台推送用户数据", notes = "中台推送用户数据")
+    public CommonResult<String> base(MiddlePlatformBaseParam param) {
+        try {
+            //dataMiddlePlatformManager.sync();
+            return CommonResult.<String>ok().message("同步成功");
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
 }

+ 29 - 0
assistMg/src/main/java/com/hotent/dataMiddlePlatform/param/MiddlePlatformBaseParam.java

@@ -0,0 +1,29 @@
+package com.hotent.dataMiddlePlatform.param;/**
+ * @program: cbjs-mvue-master
+ * @description:
+ * @author: zhao yue yue
+ * @create: 2025-12-19 09:41
+ */
+
+import com.google.gson.JsonObject;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ *@author: zhao yue yue
+ *@create: 2025-12-19 09:41
+ */
+@Data
+public class MiddlePlatformBaseParam {
+
+    @ApiModelProperty(value = "类型有:add(新增)、update(更新)、delete(删除)")
+    private String funType;
+    @ApiModelProperty(value = "类型有:user(用户数据)、org(组织数据)、role(角色数据)")
+    private String type;
+    @ApiModelProperty(value = "根据type提交用户(参考表x)、组织(参考表x)、角色信息(参考表x)数据,json格式")
+    private JsonObject entity;
+    @ApiModelProperty(value = "数据同步时间 yyyy-MM-dd HH:mm:ss")
+    private String time;
+
+}

+ 27 - 8
assistMg/src/main/java/com/hotent/project/controller/CostProjectSuperviseController.java

@@ -1,10 +1,12 @@
 package com.hotent.project.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.hotent.base.annotation.ApiGroup;
 import com.hotent.base.constants.ApiGroupConsts;
 import com.hotent.base.model.CommonResult;
 import com.hotent.base.util.StringUtil;
+import com.hotent.baseInfo.req.CostProjectSupervisePageReq;
 import com.hotent.baseInfo.req.CostTaskSearchReq;
 import com.hotent.baseInfo.vo.CatalogTreeVo;
 import com.hotent.baseInfo.vo.TaskTreeVo;
@@ -66,7 +68,7 @@ public class CostProjectSuperviseController {
     @ApiOperation("修改(上报)督办内容")
     @RequestMapping(value = "/modify", method = { RequestMethod.POST})
     public CommonResult<String> modify (@RequestBody CostProjectSuperviseReq param) throws Exception {
-        String msg= costProjectSuperviseManager.modify(param);
+        String  msg= costProjectSuperviseManager.modify(param);
         return CommonResult.<String>ok().message(msg);
     }
 
@@ -87,21 +89,38 @@ public class CostProjectSuperviseController {
 
     @ApiOperation("查询督办报告")
     @RequestMapping(value = "/getList", method = { RequestMethod.POST})
-    public CommonResult<List<SumTree<TaskTreeVo>>> getList (@RequestBody CostTaskSearchReq req) throws Exception {
-        List<CostProjectTask> taskList = costProjectTaskManager.getTaskList(req);
+    public CommonResult<List<SumTree<TaskTreeVo>>> getList (@RequestBody CostProjectSupervisePageReq req) throws Exception {
+        QueryWrapper<CostProjectSupervise> wrapper = new QueryWrapper<>();
+        if (StringUtil.isNotEmpty(req.getStatus())) {
+            wrapper.eq("status",req.getStatus());
+        }
+        if (StringUtil.isNotEmpty(req.getSupervisor())) {
+            wrapper.like("supervisor_name",req.getSupervisor());
+        }
+        List<CostProjectSupervise> supervises = costProjectSuperviseManager.list(wrapper);
+        List<String> list = supervises.stream().map(CostProjectSupervise::getProjectId).distinct().collect(Collectors.toList());
+        req.setProjectIds(list);
+        List<CostProjectTask> taskList = costProjectTaskManager.getSupervisorList(req);
         List<TaskTreeVo> allList = JsonUtil.getJsonToList(taskList, TaskTreeVo.class);
-        List<String> projectIds = allList.stream().map(TaskTreeVo::getProjectId).distinct().collect(Collectors.toList());
-        List<CostProjectSupervise> supervises = costProjectSuperviseManager.getListByprojectIds(projectIds);
         for (int i = 0; i < taskList.size(); i++) {
             CostProjectTask task = taskList.get(i);
             TaskTreeVo taskTreeVo = allList.get(i);
             taskTreeVo.setId(task.getId());
             taskTreeVo.setParentId(task.getPid());
-            taskTreeVo.setWarningStatus(taskWarningStatusComponent.calculateWarningStatus(task));
-            CostProjectSupervise projectSupervise = supervises.stream().filter(s -> s.getProjectId().equals(taskTreeVo.getProjectId())&& StringUtil.isNotEmpty(taskTreeVo.getAuditType()) && taskTreeVo.getAuditType().equals("1")).findAny().orElse(null);
-            if (projectSupervise!=null) {
+            //taskTreeVo.setWarningStatus(taskWarningStatusComponent.calculateWarningStatus(task));
+            List<CostProjectSupervise> projectSupervises = supervises.stream().filter(s ->
+                    s.getProjectId().equals(taskTreeVo.getProjectId())
+                            && StringUtil.isNotEmpty(taskTreeVo.getAuditType())
+                            && taskTreeVo.getAuditType().equals("1")).collect(Collectors.toList());
+            if (!projectSupervises.isEmpty()) {
+                CostProjectSupervise projectSupervise=projectSupervises.get(0);
                 taskTreeVo.setSuperviseStatus(String.valueOf(projectSupervise.getStatus()));
                 taskTreeVo.setSuperviseId(projectSupervise.getId());
+                taskTreeVo.setSupervisorName(projectSupervise.getSupervisorName());
+                taskTreeVo.setRequireTime(projectSupervise.getRequireTime());
+                taskTreeVo.setRequireContent(projectSupervise.getRequireContent());
+                taskTreeVo.setAttachmentUrls(projectSupervise.getAttachmentUrls());
+                taskTreeVo.setCreateBy(projectSupervise.getCreateBy());
             }
         }
         List<SumTree<TaskTreeVo>> trees = TreeDotUtils.convertListToTreeDotFilter(allList);

+ 31 - 4
assistMg/src/main/java/com/hotent/project/controller/CostProjectTaskController.java

@@ -2,12 +2,14 @@ package com.hotent.project.controller;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.hotent.base.annotation.ApiGroup;
 import com.hotent.base.constants.ApiGroupConsts;
 import com.hotent.baseInfo.manager.AuditedUnitManager;
 import com.hotent.baseInfo.model.CostCatalog;
 import com.hotent.baseInfo.req.CostCatalogPageReq;
+import com.hotent.baseInfo.req.CostProjectSupervisePageReq;
 import com.hotent.baseInfo.req.CostTaskSearchReq;
 import com.hotent.baseInfo.vo.CatalogTreeVo;
 import com.hotent.baseInfo.vo.TaskTreeVo;
@@ -17,8 +19,10 @@ import com.hotent.constant.TaskStatusConstant;
 import com.hotent.enterpriseDeclare.req.CostTaskReviewPageReq;
 import com.hotent.project.manager.*;
 import com.hotent.project.model.*;
+import com.hotent.uc.api.model.IUser;
 import com.hotent.uc.manager.UserManager;
 import com.hotent.uc.model.User;
+import com.hotent.uc.util.ContextUtil;
 import com.hotent.util.JsonUtil;
 import com.hotent.util.treeutil.SumTree;
 import com.hotent.util.treeutil.newtreeutil.TreeDotUtils;
@@ -180,20 +184,43 @@ public class CostProjectTaskController extends BaseController<CostProjectTaskMan
     @PostMapping("/supervisorList")
     @ApiOperation(value = "督办事项管理列表", notes = "督办事项管理列表")
     public CommonResult<List<SumTree<TaskTreeVo>>> supervisorList(@RequestBody CostTaskSearchReq req) throws Exception {
-        List<CostProjectTask> taskList = baseService.getTaskList(req);
+
+        QueryWrapper<CostProjectSupervise> wrapper = new QueryWrapper<>();
+        wrapper.eq("status",0);
+        // 获取当前用户
+        IUser currentUser = ContextUtil.getCurrentUser();
+        String currentUserId = currentUser.getUserId();
+        wrapper.eq("supervisor_id",currentUserId);
+        List<CostProjectSupervise> supervises = costProjectSuperviseManager.list(wrapper);
+        List<String> list = supervises.stream().map(CostProjectSupervise::getProjectId).distinct().collect(Collectors.toList());
+        CostProjectSupervisePageReq costProjectSupervisePageReq = new CostProjectSupervisePageReq();
+        costProjectSupervisePageReq.setProjectIds(list);
+        costProjectSupervisePageReq.setYear(req.getYear());
+        costProjectSupervisePageReq.setProject(req.getProjectName());
+        List<CostProjectTask> taskList =baseService.getSupervisorList(costProjectSupervisePageReq);
+        //List<CostProjectTask> taskList = baseService.getTaskList(req);
         List<TaskTreeVo> allList = JsonUtil.getJsonToList(taskList, TaskTreeVo.class);
         List<String> projectIds = allList.stream().map(TaskTreeVo::getProjectId).distinct().collect(Collectors.toList());
-        List<CostProjectSupervise> supervises = costProjectSuperviseManager.getListByprojectIds(projectIds);
+        //List<CostProjectSupervise> supervises = costProjectSuperviseManager.getListByprojectIds(projectIds);
         for (int i = 0; i < taskList.size(); i++) {
             CostProjectTask task = taskList.get(i);
             TaskTreeVo taskTreeVo = allList.get(i);
             taskTreeVo.setId(task.getId());
             taskTreeVo.setParentId(task.getPid());
             taskTreeVo.setWarningStatus(taskWarningStatusComponent.calculateWarningStatus(task));
-            CostProjectSupervise projectSupervise = supervises.stream().filter(s -> s.getProjectId().equals(taskTreeVo.getProjectId())&& StringUtil.isNotEmpty(taskTreeVo.getAuditType()) && taskTreeVo.getAuditType().equals("1")).findAny().orElse(null);
-            if (projectSupervise!=null) {
+            List<CostProjectSupervise> projectSupervises = supervises.stream().filter(s ->
+                    s.getProjectId().equals(taskTreeVo.getProjectId())
+                            && StringUtil.isNotEmpty(taskTreeVo.getAuditType())
+                            && taskTreeVo.getAuditType().equals("1")).collect(Collectors.toList());
+            if (!projectSupervises.isEmpty()) {
+                CostProjectSupervise projectSupervise=projectSupervises.get(0);
                 taskTreeVo.setSuperviseStatus(String.valueOf(projectSupervise.getStatus()));
                 taskTreeVo.setSuperviseId(projectSupervise.getId());
+                taskTreeVo.setSupervisorName(projectSupervise.getSupervisorName());
+                taskTreeVo.setRequireTime(projectSupervise.getRequireTime());
+                taskTreeVo.setRequireContent(projectSupervise.getRequireContent());
+                taskTreeVo.setAttachmentUrls(projectSupervise.getAttachmentUrls());
+                taskTreeVo.setCreateBy(projectSupervise.getCreateBy());
             }
         }
         List<SumTree<TaskTreeVo>> trees = TreeDotUtils.convertListToTreeDotFilter(allList);

+ 3 - 0
assistMg/src/main/java/com/hotent/project/manager/CostProjectTaskManager.java

@@ -1,6 +1,7 @@
 package com.hotent.project.manager;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.hotent.baseInfo.req.CostProjectSupervisePageReq;
 import com.hotent.baseInfo.req.CostTaskSearchReq;
 import com.hotent.enterpriseDeclare.req.CostTaskPageReq;
 import com.hotent.enterpriseDeclare.req.CostTaskReviewPageReq;
@@ -44,4 +45,6 @@ public interface CostProjectTaskManager extends BaseManager<CostProjectTask> {
 	IPage<CostProjectTask> pageListForReviewTaskChild(CostTaskReviewPageReq req);
 
     List<CostProjectTask> findTaskByProjectId(String projectId, String enterpriseId);
+
+	List<CostProjectTask> getSupervisorList(CostProjectSupervisePageReq req);
 }

+ 14 - 12
assistMg/src/main/java/com/hotent/project/manager/impl/CostProjectSuperviseManagerImpl.java

@@ -65,6 +65,8 @@ public class CostProjectSuperviseManagerImpl extends BaseManagerImpl<CostProject
         param.setCreateTime(LocalDateTime.now());
         param.setId(String.valueOf(UniqueIdUtil.getUId()));
         param.setReportTime(LocalDateTime.now());
+        param.setRequireTime(param.getReportTime());
+        param.setRequireContent(param.getReportContent());
         param.setStatus(0);
         String account = ContextUtil.getCurrentUser().getAccount();
         User user = userService.getByAccount(account);
@@ -103,15 +105,14 @@ public class CostProjectSuperviseManagerImpl extends BaseManagerImpl<CostProject
 
     @Override
     public String delete(CostProjectSuperviseReq param) {
-        if(StringUtil.isEmpty(param.getId())){
-            throw new BaseException("实体id不能为空");
-        }
-        CostProjectSupervise supervise = this.get(param.getId());
-        if (supervise==null) {
-            throw new BaseException("未查询到实体信息");
+        if(StringUtil.isEmpty(param.getProjectId())){
+            throw new BaseException("项目id不能为空");
         }
-        supervise.setStatus(1);
-        this.update(supervise);
+        QueryWrapper<CostProjectSupervise> wrapper = new QueryWrapper<>();
+        wrapper.eq("project_id",param.getProjectId());
+        List<CostProjectSupervise> list = this.list(wrapper);
+        list.forEach(l->l.setStatus(1));
+        this.updateBatchById(list);
         return "办结成功";
     }
 
@@ -120,6 +121,7 @@ public class CostProjectSuperviseManagerImpl extends BaseManagerImpl<CostProject
         if (projectIds!=null && !projectIds.isEmpty()) {
             QueryWrapper<CostProjectSupervise> wrapper = new QueryWrapper<>();
             wrapper.in("project_id",projectIds);
+            wrapper.orderByDesc("create_time");
             return this.list(wrapper);
         }
         return null;
@@ -127,21 +129,21 @@ public class CostProjectSuperviseManagerImpl extends BaseManagerImpl<CostProject
 
     @Override
     public List<CostProjectSuperviseDataVo> getReportList(CostProjectSuperviseReq param) {
-        if(StringUtil.isEmpty(param.getId())){
-            throw new BaseException("ID不能为空");
+        if(StringUtil.isEmpty(param.getProjectId())){
+            throw new BaseException("项目ID不能为空");
         }
         CostProjectSupervise supervise = this.get(param.getId());
         if (supervise==null) {
             throw new BaseException("根据id未查询到督办实体");
         }
         List<CostProjectSuperviseData> data= costProjectSuperviseDataManager.getListBySupervise(param.getId());
-        List<CostProjectSuperviseDataVo> dataVos = data.stream().map(d -> {
+
+        return data.stream().map(d -> {
             CostProjectSuperviseDataVo costProjectSuperviseDataVo = new CostProjectSuperviseDataVo();
             BeanUtils.copyProperties(d, costProjectSuperviseDataVo);
             costProjectSuperviseDataVo.setSuperviseId(supervise.getSupervisorId());
             costProjectSuperviseDataVo.setSupervisorName(supervise.getSupervisorName());
             return costProjectSuperviseDataVo;
         }).collect(Collectors.toList());
-        return dataVos;
     }
 }

+ 26 - 0
assistMg/src/main/java/com/hotent/project/manager/impl/CostProjectTaskManagerImpl.java

@@ -18,6 +18,7 @@ import com.hotent.baseInfo.model.AuditedUnit;
 import com.hotent.baseInfo.model.CostCatalog;
 import com.hotent.baseInfo.model.CostDictData;
 import com.hotent.baseInfo.model.CostDistrict;
+import com.hotent.baseInfo.req.CostProjectSupervisePageReq;
 import com.hotent.baseInfo.req.CostTaskSearchReq;
 import com.hotent.constant.NodeConstant;
 import com.hotent.constant.TaskStatusConstant;
@@ -122,6 +123,12 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
         // 1. 先查询当前用户有权限的立项(负责人或项目组成员)
         LambdaQueryWrapper<CostProjectApproval> approvalQueryWrapper = new LambdaQueryWrapper<>();
         approvalQueryWrapper.eq(CostProjectApproval::getIsDeleted, "0");
+        if (StringUtil.isNotEmpty(req.getProjectName())) {
+            approvalQueryWrapper.like(CostProjectApproval::getProjectName,req.getProjectName());
+        }
+        if (StringUtil.isNotEmpty(req.getYear())) {
+            approvalQueryWrapper.eq(CostProjectApproval::getProjectYear,req.getYear());
+        }
         approvalQueryWrapper.and(wrapper -> wrapper
                 .eq(CostProjectApproval::getLeaderId, currentUserId)
                 .or(projectMembersWrapper -> {
@@ -1257,6 +1264,25 @@ public class CostProjectTaskManagerImpl extends BaseManagerImpl<CostProjectTaskD
         return this.list(wrapper);
     }
 
+
+
+    @Override
+    public List<CostProjectTask> getSupervisorList(CostProjectSupervisePageReq req) {
+        QueryWrapper<CostProjectTask> wrapper = new QueryWrapper<>();
+
+        if (!req.getProjectIds().isEmpty()) {
+            wrapper.in("project_id",req.getProjectIds());
+            if (StringUtil.isNotEmpty(req.getYear())) {
+                wrapper.eq("year",req.getYear());
+            }
+            if (StringUtil.isNotEmpty(req.getProject())) {
+                wrapper.like("project_name",req.getProject());
+            }
+            return this.list(wrapper);
+        }
+        return Collections.emptyList();
+    }
+
     private List<String> getAllChildCatalogIds(String catalogId) {
         List<String> result = new ArrayList<>();
         result.add(catalogId);

+ 5 - 4
assistMg/src/main/java/com/hotent/surveyinfo/controller/CostSurveyFdTemplateController.java

@@ -25,6 +25,7 @@ import com.hotent.uc.util.ContextUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
+import lombok.SneakyThrows;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
@@ -89,11 +90,11 @@ public class CostSurveyFdTemplateController extends BaseController<CostSurveyFdT
 	/**
 	 * 获取所有现行版启用的财务数据表模板数据
 	 * @return
-	 * @throws Exception
-	 */
-	@GetMapping(value="/allcurrentCostSurveyList")
+     */
+	@SneakyThrows
+    @GetMapping(value="/allcurrentCostSurveyList")
 	@ApiOperation(value="获取所有现行版启用的财务数据表模板数据", httpMethod = "GET", notes = "获取所有财务数据表模板数据集合")
-	public PageResp<CostSurveyFdTemplate> allcurrentCostSurveyList(ConstSurveyFdPageReq req) throws Exception{
+	public PageResp<CostSurveyFdTemplate> allcurrentCostSurveyList(ConstSurveyFdPageReq req) {
 		return crudService.pageQuery(req, constbaseService::getAllcurrentCostSurveyList);
 	}
 

+ 16 - 2
assistMg/src/main/java/com/hotent/surveyinfo/manager/impl/CostSurveyFdTemplateManagerImpl.java

@@ -84,7 +84,7 @@ public class CostSurveyFdTemplateManagerImpl extends BaseManagerImpl<CostSurveyF
 	}
 
 	@Override
-	public IPage<CostSurveyFdTemplate> getAllcurrentCostSurveyList(ConstSurveyFdPageReq req) {
+	public IPage<CostSurveyFdTemplate> getAllcurrentCostSurveyList(ConstSurveyFdPageReq req)   {
 
 
 
@@ -105,7 +105,21 @@ public class CostSurveyFdTemplateManagerImpl extends BaseManagerImpl<CostSurveyF
 			queryWrapper.eq(CostSurveyFdTemplate::getStatus, req.getStatus());
 		}
 
-		// 排序:按编码排序
+        try {
+            // 获取当前用户
+            IUser currentUser = ContextUtil.getCurrentUser();
+            User user = userService.getByAccount(currentUser.getAccount());
+            if (user.getDataScope().equals(0)) {
+                queryWrapper.eq(CostSurveyFdTemplate::getAreaCode,user.getProvinceCode());
+            } else if (user.getDataScope().equals(1)) {
+                queryWrapper.eq(CostSurveyFdTemplate::getAreaCode,user.getCityCode());
+            }else if (user.getDataScope().equals(2)){
+                queryWrapper.eq(CostSurveyFdTemplate::getAreaCode,user.getCountyCode());
+            }
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        // 排序:按编码排序
 //        queryWrapper.orderByAsc("code");
 
 		// 创建分页对象

+ 7 - 7
assistMg/src/main/java/com/hotent/util/CostDataUtil.java

@@ -72,17 +72,17 @@ public class CostDataUtil {
 
         for (Map<String, Object> row : maps) {
             try {
-                String xuhao = (String) row.get("xuhao");
+                //String xuhao = (String) row.get("xuhao");
                 String xiangmu = (String) row.get("xiangmu");
                 String nianfen = (String) row.get("nianfen");
                 Object shuzhiObj = row.get("shuzhi");
                 Object orderNumObj = row.get("orderNum");
 
-                if (xuhao == null || xiangmu == null || nianfen == null) {
+                if ( xiangmu == null || nianfen == null) {
                     continue;
                 }
 
-                String key = xuhao + "|" + xiangmu;
+                String key =  "|" + xiangmu;
 
                 if (!result.containsKey(key)) {
                     result.put(key, new HashMap<>());
@@ -167,7 +167,7 @@ public class CostDataUtil {
 
         for (String key : sortedKeys) {
             String[] parts = key.split("\\|");
-            String xuhao = parts[0];
+            //String xuhao = parts[0];
             String xiangmu = parts[1];
 
             Map<String, Object> itemData = groupedData.get(key);
@@ -175,7 +175,7 @@ public class CostDataUtil {
             Map<String, Object> item = new HashMap<>();
 
             item.put("costItemName", xiangmu);
-            item.put("serialNumber", xuhao);
+            //item.put("serialNumber", xuhao);
 
             String orderNumStr = (String) itemData.get("orderNumStr");
             if (orderNumStr != null) {
@@ -318,7 +318,7 @@ public class CostDataUtil {
         for (int i = 0; i < maps.size(); i += 2) {
             Map<String, Object> row = maps.get(i);
             System.out.printf("序号:%s 项目:%s orderNum:%s\n",
-                    row.get("xuhao"),
+                    //row.get("xuhao"),
                     row.get("xiangmu"),
                     row.get("orderNum"));
         }
@@ -368,7 +368,7 @@ public class CostDataUtil {
                                String xuhao, String xiangmu,
                                String nianfen, String shuzhi, String orderNum) {
         Map<String, Object> row = new HashMap<>();
-        row.put("xuhao", xuhao);
+        //row.put("xuhao", xuhao);
         row.put("xiangmu", xiangmu);
         row.put("nianfen", nianfen);
         row.put("shuzhi", shuzhi);

+ 1 - 1
assistMg/src/main/java/com/hotent/util/treeutil/SumTree.java

@@ -14,7 +14,7 @@ import java.util.List;
  * @date 2021/3/16 8:56
  */
 @Data
-@JsonInclude(JsonInclude.Include.NON_NULL)
+//@JsonInclude(JsonInclude.Include.NON_NULL)
 public class SumTree<T> {
     private String id;
     private String parentId;

+ 8 - 8
assistMg/src/main/java/com/hotent/util/wordexcelutils/RobustComplexDocumentProcessor.java

@@ -283,7 +283,7 @@ public class RobustComplexDocumentProcessor {
         }
 
         // 确保有足够的单元格
-        int neededCells = 2 + years.size(); // 成本项目 + 行次 + 各年份
+        int neededCells = 1 + years.size(); // 成本项目 + 行次 + 各年份
         while (headerRow.getTableCells().size() < neededCells) {
             headerRow.addNewTableCell();
         }
@@ -295,11 +295,11 @@ public class RobustComplexDocumentProcessor {
         setCellText(cells.get(0), "成本项目");
 
         // 行次列
-        setCellText(cells.get(1), "行次");
+        //setCellText(cells.get(1), "行次");
 
         // 各年份列
         for (int i = 0; i < years.size(); i++) {
-            setCellText(cells.get(2 + i), years.get(i) + "年度");
+            setCellText(cells.get(1 + i), years.get(i) + "年度");
 
         }
 
@@ -322,7 +322,7 @@ public class RobustComplexDocumentProcessor {
             XWPFTableRow dataRow = table.createRow();
 
             // 确保有足够的单元格
-            int neededCells = 2 + years.size();
+            int neededCells = 1 + years.size();
             while (dataRow.getTableCells().size() < neededCells) {
                 dataRow.addNewTableCell();
             }
@@ -334,14 +334,14 @@ public class RobustComplexDocumentProcessor {
             setCellText(cells.get(0), costItemName != null ? costItemName : "");
             String serialNumber = (String)item.get("serialNumber");
             // 设置行次
-            setCellText(cells.get(1), serialNumber != null ? serialNumber : "");
+            //setCellText(cells.get(1), serialNumber != null ? serialNumber : "");
 
             // 设置各年份数据
             for (int j = 0; j < years.size(); j++) {
                 String year = years.get(j);
                 Map<String, String> yearValues = (Map<String, String>) item.get("yearValues");
                 String value = yearValues != null ? yearValues.get(year) : "";
-                setCellText(cells.get(2 + j), value != null ? value : "0");
+                setCellText(cells.get(1 + j), value != null ? value : "0");
             }
         }
     }
@@ -385,8 +385,8 @@ public class RobustComplexDocumentProcessor {
         XWPFTableCell cell1 = headerRow.getCell(0);
         setCellText(cell1, "成本项目");
 
-        XWPFTableCell cell2 = headerRow.addNewTableCell();
-        setCellText(cell2, "行次");
+        //XWPFTableCell cell2 = headerRow.addNewTableCell();
+        //setCellText(cell2, "行次");
 
         for (String year : years) {
             XWPFTableCell yearCell = headerRow.addNewTableCell();

+ 2 - 2
assistMg/src/main/resources/mapper/CostDocumentTemplateFileMapper.xml

@@ -82,8 +82,8 @@
 		WHERE task_id = #{id}
 			)
 		SELECT DISTINCT
-				(SELECT rvalue FROM ranked_data WHERE rowid = r.rowid AND position = 1) as xuhao,
-				(SELECT rvalue FROM ranked_data WHERE rowid = r.rowid AND position = 2) as xiangmu,
+			CONCAT( ( SELECT rvalue FROM ranked_data WHERE rowid = r.rowid AND position = 1 ) ,'、',
+					( SELECT rvalue FROM ranked_data WHERE rowid = r.rowid AND position = 2 ) )AS xiangmu,
 				r.rkey as nianfen,
 				r.rvalue as shuzhi,
 				r.rowid,