From f61c9bcd276a299c4ba6d2f78711ffbbf4c0598b Mon Sep 17 00:00:00 2001 From: "liang.chao" <1360241448@qq.com> Date: Mon, 24 Feb 2025 16:18:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=96=E5=8C=85=E5=95=86=E8=AF=84=E4=BB=B7?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../evaluate/evaluate/beans/TableData.java | 19 +++ .../OutsourcerEvaluateController.java | 18 ++- .../service/OutsourcerEvaluateService.java | 1 + .../OutsourcerEvaluateServiceImpl.java | 111 ++++++++++++++++++ .../outsourcerEvaluationList.js | 11 ++ .../outsourcerEvaluationList.html | 6 +- 6 files changed, 158 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/TableData.java diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/TableData.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/TableData.java new file mode 100644 index 0000000..2a8aac6 --- /dev/null +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/beans/TableData.java @@ -0,0 +1,19 @@ +package com.bonus.gs.sub.evaluate.evaluate.beans; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * @Author:liang.chao + * @Date:2025/2/24 - 15:00 + */ +@Data +public class TableData { + private List> oneList; + private List> twoList; + private List> threeList; + private List> childList; +} diff --git a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/controller/OutsourcerEvaluateController.java b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/controller/OutsourcerEvaluateController.java index 137be93..21528bc 100644 --- a/src/main/java/com/bonus/gs/sub/evaluate/evaluate/controller/OutsourcerEvaluateController.java +++ b/src/main/java/com/bonus/gs/sub/evaluate/evaluate/controller/OutsourcerEvaluateController.java @@ -9,22 +9,22 @@ import com.bonus.gs.sub.evaluate.manager.controller.BaseController; import com.bonus.gs.sub.evaluate.manager.model.SysUser; import com.bonus.gs.sub.evaluate.manager.utils.AjaxRes; import com.bonus.gs.sub.evaluate.manager.utils.GlobalConst; +import com.bonus.gs.sub.evaluate.manager.utils.POIOutputHelperNumBer; import com.bonus.gs.sub.evaluate.manager.utils.UserUtil; +import com.bonus.gs.sub.evaluate.outsourceEnterprise.beans.ViolationBean; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateUtils; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; -import java.text.ParseException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Objects; +import java.util.*; @Controller @RequestMapping("/outsourcer/") @@ -42,6 +42,14 @@ public class OutsourcerEvaluateController extends BaseController list = outsourcerEvaluateDao.getTemplateDeatailsList(o); + + List> oneList = new ArrayList<>(); + List> twoList = new ArrayList<>(); + List> threeList = new ArrayList<>(); + List>> finalList = new ArrayList<>(); + + Map mapNum = new LinkedHashMap<>(); + mapNum.put("title", "序号"); + mapNum.put("mergeType", "rowspan"); + mapNum.put("num", 3); + mapNum.put("minWidth", 100); + mapNum.put("field", "index"); + + Map mapSub = new LinkedHashMap<>(); + mapSub.put("title", "施工业务外包商"); + mapSub.put("mergeType", "rowspan"); + mapSub.put("num", 3); + mapSub.put("minWidth", 100); + mapSub.put("field", "subName"); + + Map mapPro = new LinkedHashMap<>(); + mapPro.put("title", "工程名称"); + mapPro.put("mergeType", "rowspan"); + mapPro.put("num", 3); + mapPro.put("minWidth", 100); + mapPro.put("field", "proName"); + + oneList.add(mapNum); + oneList.add(mapSub); + oneList.add(mapPro); + //添加二级标题、三级标题 + for (SetTemplateBean setTemplateBean : list) { + if (!StringUtils.isBlank(setTemplateBean.getResponsibleDepartment())) { + if (Arrays.asList(setTemplateBean.getResponsibleDepartment().split(",")).contains(deptId)) { + addEvaChildMap(twoList, setTemplateBean, 1); + addEvaChildMap(threeList, setTemplateBean, 1, deptName, deptId, o.getType()); + } else if (isBusinessDivision == 1) { + if (Arrays.asList(setTemplateBean.getResponsibleDepartment().split(",")).contains("-1") || + Arrays.asList(setTemplateBean.getResponsibleDepartment().split(",")).contains(deptId)) { + addEvaChildMap(twoList, setTemplateBean, 1); + addEvaChildMap(threeList, setTemplateBean, 1, deptName, deptId, o.getType()); + } + } + + } + + } + //获取二级标题的field + Set parentIdArr = new HashSet<>(); + for (Map stringObjectMap : twoList) { + parentIdArr.add(stringObjectMap.get("field").toString()); + } + //添加一级标题 + for (int i = 0; i < parentIdArr.size(); i++) { + for (SetTemplateBean setTemplateBean : list) { + if (parentIdArr.contains(setTemplateBean.getId())) { + int num = 0; + for (Map stringObjectMap : twoList) { + if (stringObjectMap.get("field").equals(setTemplateBean.getId())) { + num++; + } + } + setTemplateBean.setParentId(setTemplateBean.getId() + "-"); + addEvaChildMap(oneList, setTemplateBean, num); + } + } + } + //添加数据 + String type = StringUtils.isBlank(o.getDeptId()) ? "项目" : "职能"; + if ("0".equals(o.getDeptId())) { + type = "项目"; + } + List subList = outsourcerEvaluateDao.getSubAndProjectByEvaluateId(o.getEvaluateId(), type, + UserUtil.getLoginUser().getId().toString()); + List> childList = new ArrayList<>(); + if (subList != null && !subList.isEmpty()) { + for (EvaluateSubBean subBean : subList) { + Map childMap = new LinkedHashMap<>(); + childMap.put("subName", subBean.getSubName()); + childMap.put("proName", subBean.getProName()); + childMap.put("subId", subBean.getSubId()); + childMap.put("proId", subBean.getProId()); + for (Map stringObjectMap : threeList) { + childMap.put(stringObjectMap.get("field").toString(), ""); + } + childList.add(childMap); + } + } + oneList = oneList.stream().distinct().collect(Collectors.toList()); + TableData tableData = new TableData(); + tableData.setOneList(oneList); + tableData.setTwoList(twoList); + tableData.setThreeList(threeList); + tableData.setChildList(childList); + ar.setSucceed(tableData); + return ar; + } + private void addEvaChildMap(List> list, SetTemplateBean setTemplateBean, int num) { Map childMap = new LinkedHashMap<>(); childMap.put("title", setTemplateBean.getIndexName()); diff --git a/src/main/resources/static/js/evaluate/outsourcerEvaluation/outsourcerEvaluationList.js b/src/main/resources/static/js/evaluate/outsourcerEvaluation/outsourcerEvaluationList.js index a2d58d3..8ca33c7 100644 --- a/src/main/resources/static/js/evaluate/outsourcerEvaluation/outsourcerEvaluationList.js +++ b/src/main/resources/static/js/evaluate/outsourcerEvaluation/outsourcerEvaluationList.js @@ -41,6 +41,17 @@ function search(type) { }); } +/*function exportData() { + let keyWord = $("#keyWord").val(); + let evaluateDeptId = $("#evaluateDeptId").val(); + let evStatus = $("#evStatus").val(); + let auditStatus = $("#auditStatus").val(); + let startDate = $("#startDate").val(); + let token = localStorage.getItem("token") + let params = "?keyWord=" + keyWord + "&evaluateDeptId=" + evaluateDeptId + "&auditStatus=" + auditStatus + "&evStatus=" + evStatus + "&startDate=" + startDate + '&token=' + token; + $(location).attr("href", ctxPath + '/outsourcer/outsourcerEvaluateList' + params); +}*/ + function initTable() { let loginUser = localStorage.getItem("loginUser"); let user = JSON.parse(loginUser); diff --git a/src/main/resources/static/pages/evaluate/outsourcerEvaluation/outsourcerEvaluationList.html b/src/main/resources/static/pages/evaluate/outsourcerEvaluation/outsourcerEvaluationList.html index fcb01de..9e1fb68 100644 --- a/src/main/resources/static/pages/evaluate/outsourcerEvaluation/outsourcerEvaluationList.html +++ b/src/main/resources/static/pages/evaluate/outsourcerEvaluation/outsourcerEvaluationList.html @@ -62,9 +62,9 @@ 搜索 - + + +