This commit is contained in:
zt
2025-11-17 20:10:22 +08:00
parent 167cbf256b
commit 9c7d8ffc96
9 changed files with 143 additions and 45 deletions

View File

@ -15,10 +15,13 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.dromara.common.core.enums.FormatsType; import org.dromara.common.core.enums.FormatsType;
import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.DateUtils; import org.dromara.common.core.utils.DateUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.manager.weathermanager.WeatherConstant; import org.dromara.manager.weathermanager.WeatherConstant;
import org.dromara.manager.weathermanager.WeatherManager; import org.dromara.manager.weathermanager.WeatherManager;
import org.dromara.manager.weathermanager.vo.WeatherVo; import org.dromara.manager.weathermanager.vo.WeatherVo;
import org.dromara.mechanical.domain.BusMechanicalrewriting;
import org.dromara.mechanical.service.IBusMechanicalrewritingService;
import org.dromara.progress.domain.dto.export.ReportExportDto; import org.dromara.progress.domain.dto.export.ReportExportDto;
import org.dromara.progress.domain.vo.export.*; import org.dromara.progress.domain.vo.export.*;
import org.dromara.progress.domain.vo.progresscategory.PgsProgressCategoryByDayVo; import org.dromara.progress.domain.vo.progresscategory.PgsProgressCategoryByDayVo;
@ -49,10 +52,7 @@ import java.net.URL;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.ArrayList; import java.util.*;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Validated @Validated
@ -71,6 +71,8 @@ public class PgsReportExportController extends BaseController {
private IHseSafetyInspectionService safetyInspectionService; private IHseSafetyInspectionService safetyInspectionService;
@Resource @Resource
private ISysOssService ossService; private ISysOssService ossService;
@Resource
private IBusMechanicalrewritingService busMechanicalrewritingService;
@Resource @Resource
private WeatherManager weatherManager; private WeatherManager weatherManager;
@ -187,6 +189,8 @@ public class PgsReportExportController extends BaseController {
List<MaterialInspectionData> inspectionList = projectData.getInspectionList(); List<MaterialInspectionData> inspectionList = projectData.getInspectionList();
String projectName = projectData.getProjectName(); String projectName = projectData.getProjectName();
String projectDate = projectData.getProjectDate(); String projectDate = projectData.getProjectDate();
String processName = projectData.getProcessName();
String nextPlanStr = projectData.getNextPlanStr();
// ============================================== // ==============================================
// 1. 第一行A1-M1合并加上行偏移量和列偏移量 // 1. 第一行A1-M1合并加上行偏移量和列偏移量
@ -303,7 +307,7 @@ public class PgsReportExportController extends BaseController {
// 15. 光伏场区标题行C6-M6合并 // 15. 光伏场区标题行C6-M6合并
// ============================================== // ==============================================
CellRangeAddress fieldTitleRegion = new CellRangeAddress(5 + rowOffset, 5 + rowOffset, 2 + columnOffset, 12 + columnOffset); CellRangeAddress fieldTitleRegion = new CellRangeAddress(5 + rowOffset, 5 + rowOffset, 2 + columnOffset, 12 + columnOffset);
mergeAndFill(sheet, fieldTitleRegion, "光伏场区", headerStyle); mergeAndFill(sheet, fieldTitleRegion, processName, headerStyle);
drawBorderForRegion(sheet, fieldTitleRegion, workbook); drawBorderForRegion(sheet, fieldTitleRegion, workbook);
Row fieldTitleRow = sheet.getRow(5 + rowOffset); Row fieldTitleRow = sheet.getRow(5 + rowOffset);
if (fieldTitleRow == null) { if (fieldTitleRow == null) {
@ -361,7 +365,7 @@ public class PgsReportExportController extends BaseController {
mergeAndFill(sheet, processRegion, "施工形象及进度", headerStyle); mergeAndFill(sheet, processRegion, "施工形象及进度", headerStyle);
drawBorderForRegion(sheet, processRegion, workbook); drawBorderForRegion(sheet, processRegion, workbook);
headerRow.setHeightInPoints(25); headerRow.setHeightInPoints(30);
// ============================================== // ==============================================
// 17. 动态填充进度数据 // 17. 动态填充进度数据
@ -417,7 +421,7 @@ public class PgsReportExportController extends BaseController {
mergeAndFill(sheet, processDataRegion, data.getProcess(), contentStyle); mergeAndFill(sheet, processDataRegion, data.getProcess(), contentStyle);
drawBorderForRegion(sheet, processDataRegion, workbook); drawBorderForRegion(sheet, processDataRegion, workbook);
dataRow.setHeightInPoints(20); dataRow.setHeightInPoints(30);
} }
} }
@ -437,7 +441,7 @@ public class PgsReportExportController extends BaseController {
// F-M列合并 // F-M列合并
CellRangeAddress noteContentRegion = new CellRangeAddress(noteRowNum, noteRowNum, 5 + columnOffset, 12 + columnOffset); CellRangeAddress noteContentRegion = new CellRangeAddress(noteRowNum, noteRowNum, 5 + columnOffset, 12 + columnOffset);
mergeAndFill(sheet, noteContentRegion, "", contentStyle); mergeAndFill(sheet, noteContentRegion, "", contentStyle);
drawBorderForRegion(sheet, noteContentRegion, workbook); drawBorderForRegion(sheet, noteContentRegion, workbook);
noteRow.setHeightInPoints(25); noteRow.setHeightInPoints(25);
@ -460,7 +464,7 @@ public class PgsReportExportController extends BaseController {
} }
} }
int rowCount = endMergeRow - startMergeRow + 1; int rowCount = endMergeRow - startMergeRow + 1;
int baseHeight = 20; int baseHeight = 30;
int extraHeight = (int) (totalHeight - rowCount * baseHeight); // 额外高度分配给首行 int extraHeight = (int) (totalHeight - rowCount * baseHeight); // 额外高度分配给首行
Row firstRow = sheet.getRow(startMergeRow); Row firstRow = sheet.getRow(startMergeRow);
if (firstRow != null) { if (firstRow != null) {
@ -535,11 +539,7 @@ public class PgsReportExportController extends BaseController {
drawBorderForRegion(sheet, siteSubTitleRegion, workbook); drawBorderForRegion(sheet, siteSubTitleRegion, workbook);
// F-M列合并详细内容 // F-M列合并详细内容
String siteContent = "一.光伏区施工情况\n" + String siteContent = "";
"1.1#、3#、5#方阵支架、组件安装;\n" +
"2.2#方阵直流电缆敷设。\n\n" +
"二.验收情况\n" +
"今日无验收。";
CellRangeAddress siteContentRegion = new CellRangeAddress(siteRowNum, siteRowNum, 5 + columnOffset, 12 + columnOffset); CellRangeAddress siteContentRegion = new CellRangeAddress(siteRowNum, siteRowNum, 5 + columnOffset, 12 + columnOffset);
mergeAndFill(sheet, siteContentRegion, siteContent, contentStyle); mergeAndFill(sheet, siteContentRegion, siteContent, contentStyle);
drawBorderForRegion(sheet, siteContentRegion, workbook); drawBorderForRegion(sheet, siteContentRegion, workbook);
@ -626,7 +626,7 @@ public class PgsReportExportController extends BaseController {
mergeAndFill(sheet, remarkRegion1, "备注", headerStyle); mergeAndFill(sheet, remarkRegion1, "备注", headerStyle);
drawBorderForRegion(sheet, remarkRegion1, workbook); drawBorderForRegion(sheet, remarkRegion1, workbook);
titleRow2.setHeightInPoints(25); titleRow2.setHeightInPoints(35);
// ============================================== // ==============================================
// 26. 动态填充参建单位人员数据 // 26. 动态填充参建单位人员数据
@ -724,7 +724,7 @@ public class PgsReportExportController extends BaseController {
// C-M列合并光伏场区工程左对齐 // C-M列合并光伏场区工程左对齐
CellRangeAddress machineHeaderRegion = new CellRangeAddress(machineTitleRow, machineTitleRow, 2 + columnOffset, 12 + columnOffset); CellRangeAddress machineHeaderRegion = new CellRangeAddress(machineTitleRow, machineTitleRow, 2 + columnOffset, 12 + columnOffset);
mergeAndFill(sheet, machineHeaderRegion, "光伏场区工程:", leftHeaderStyle); mergeAndFill(sheet, machineHeaderRegion, processName+"工程:", leftHeaderStyle);
drawBorderForRegion(sheet, machineHeaderRegion, workbook); drawBorderForRegion(sheet, machineHeaderRegion, workbook);
machineTitle.setHeightInPoints(25); machineTitle.setHeightInPoints(25);
@ -745,7 +745,7 @@ public class PgsReportExportController extends BaseController {
drawBorderForRegion(sheet, machineCountRegion, workbook); drawBorderForRegion(sheet, machineCountRegion, workbook);
// E-M列合并设备清单逗号分隔 // E-M列合并设备清单逗号分隔
String equipmentListStr = "RTK-0、清孔工具-0、电动扳手-20、小蜜蜂-0"; String equipmentListStr = paramData.getDevice();
CellRangeAddress equipmentRegion = new CellRangeAddress(machineDataRow, machineDataRow, 4 + columnOffset, 12 + columnOffset); CellRangeAddress equipmentRegion = new CellRangeAddress(machineDataRow, machineDataRow, 4 + columnOffset, 12 + columnOffset);
mergeAndFill(sheet, equipmentRegion, equipmentListStr, contentStyle); mergeAndFill(sheet, equipmentRegion, equipmentListStr, contentStyle);
drawBorderForRegion(sheet, equipmentRegion, workbook); drawBorderForRegion(sheet, equipmentRegion, workbook);
@ -849,7 +849,7 @@ public class PgsReportExportController extends BaseController {
mergeAndFill(sheet, remarkRegion2, "备注", headerStyle); mergeAndFill(sheet, remarkRegion2, "备注", headerStyle);
drawBorderForRegion(sheet, remarkRegion2, workbook); drawBorderForRegion(sheet, remarkRegion2, workbook);
eqHeaderRow.setHeightInPoints(20); eqHeaderRow.setHeightInPoints(30);
// ============================================== // ==============================================
// 33. 动态填充设备进场数据 // 33. 动态填充设备进场数据
@ -908,7 +908,7 @@ public class PgsReportExportController extends BaseController {
mergeAndFill(sheet, remarkDataRegion2, data.getRemark(), contentStyle); mergeAndFill(sheet, remarkDataRegion2, data.getRemark(), contentStyle);
drawBorderForRegion(sheet, remarkDataRegion2, workbook); drawBorderForRegion(sheet, remarkDataRegion2, workbook);
dataRow.setHeightInPoints(20); dataRow.setHeightInPoints(30);
} }
} }
@ -928,10 +928,10 @@ public class PgsReportExportController extends BaseController {
// F-M列合并待生产 // F-M列合并待生产
CellRangeAddress eqNoteContentRegion = new CellRangeAddress(equipmentNoteRow, equipmentNoteRow, 5 + columnOffset, 12 + columnOffset); CellRangeAddress eqNoteContentRegion = new CellRangeAddress(equipmentNoteRow, equipmentNoteRow, 5 + columnOffset, 12 + columnOffset);
mergeAndFill(sheet, eqNoteContentRegion, "待生产", contentStyle); mergeAndFill(sheet, eqNoteContentRegion, "", contentStyle);
drawBorderForRegion(sheet, eqNoteContentRegion, workbook); drawBorderForRegion(sheet, eqNoteContentRegion, workbook);
eqNoteRow.setHeightInPoints(20); eqNoteRow.setHeightInPoints(30);
// ============================================== // ==============================================
// 35. 主要材料进场情况标题行(情况说明行下一行) // 35. 主要材料进场情况标题行(情况说明行下一行)
@ -946,7 +946,7 @@ public class PgsReportExportController extends BaseController {
mergeAndFill(sheet, materialHeaderRegion, "主要材料进场情况:", leftHeaderStyle); mergeAndFill(sheet, materialHeaderRegion, "主要材料进场情况:", leftHeaderStyle);
drawBorderForRegion(sheet, materialHeaderRegion, workbook); drawBorderForRegion(sheet, materialHeaderRegion, workbook);
materialTitle.setHeightInPoints(20); materialTitle.setHeightInPoints(30);
// ============================================== // ==============================================
// 36. 光伏场区工程标题行(主要材料标题行下一行) // 36. 光伏场区工程标题行(主要材料标题行下一行)
@ -958,10 +958,10 @@ public class PgsReportExportController extends BaseController {
} }
CellRangeAddress materialSubHeaderRegion = new CellRangeAddress(materialSubTitleRow, materialSubTitleRow, 2 + columnOffset, 12 + columnOffset); CellRangeAddress materialSubHeaderRegion = new CellRangeAddress(materialSubTitleRow, materialSubTitleRow, 2 + columnOffset, 12 + columnOffset);
mergeAndFill(sheet, materialSubHeaderRegion, "1.光伏场区工程:", leftHeaderStyle); mergeAndFill(sheet, materialSubHeaderRegion, processName+"工程:", leftHeaderStyle);
drawBorderForRegion(sheet, materialSubHeaderRegion, workbook); drawBorderForRegion(sheet, materialSubHeaderRegion, workbook);
materialSubTitle.setHeightInPoints(20); materialSubTitle.setHeightInPoints(30);
// ============================================== // ==============================================
// 37. 材料进场情况表头行(光伏场区工程标题行下一行) // 37. 材料进场情况表头行(光伏场区工程标题行下一行)
@ -1003,7 +1003,7 @@ public class PgsReportExportController extends BaseController {
CellRangeAddress materialMRegion = new CellRangeAddress(materialHeaderRow, materialHeaderRow, 12 + columnOffset, 12 + columnOffset); CellRangeAddress materialMRegion = new CellRangeAddress(materialHeaderRow, materialHeaderRow, 12 + columnOffset, 12 + columnOffset);
drawBorderForRegion(sheet, materialMRegion, workbook); drawBorderForRegion(sheet, materialMRegion, workbook);
materialHeader.setHeightInPoints(20); materialHeader.setHeightInPoints(30);
// ============================================== // ==============================================
// 38. 动态填充材料进场数据 // 38. 动态填充材料进场数据
@ -1052,7 +1052,7 @@ public class PgsReportExportController extends BaseController {
CellRangeAddress inspectionRegion = new CellRangeAddress(rowNum, rowNum, 12 + columnOffset, 12 + columnOffset); CellRangeAddress inspectionRegion = new CellRangeAddress(rowNum, rowNum, 12 + columnOffset, 12 + columnOffset);
drawBorderForRegion(sheet, inspectionRegion, workbook); drawBorderForRegion(sheet, inspectionRegion, workbook);
dataRow.setHeightInPoints(20); dataRow.setHeightInPoints(30);
} }
} }
@ -1069,7 +1069,7 @@ public class PgsReportExportController extends BaseController {
mergeAndFill(sheet, inspectionHeaderRegion, "主要材料送检情况:", leftHeaderStyle); mergeAndFill(sheet, inspectionHeaderRegion, "主要材料送检情况:", leftHeaderStyle);
drawBorderForRegion(sheet, inspectionHeaderRegion, workbook); drawBorderForRegion(sheet, inspectionHeaderRegion, workbook);
inspectionTitle.setHeightInPoints(20); inspectionTitle.setHeightInPoints(30);
// ============================================== // ==============================================
// 40. 材料送检情况表头行(标题行下一行) // 40. 材料送检情况表头行(标题行下一行)
@ -1109,7 +1109,7 @@ public class PgsReportExportController extends BaseController {
mergeAndFill(sheet, inspRecordRegion, "送检记录", headerStyle); mergeAndFill(sheet, inspRecordRegion, "送检记录", headerStyle);
drawBorderForRegion(sheet, inspRecordRegion, workbook); drawBorderForRegion(sheet, inspRecordRegion, workbook);
inspectionHeader.setHeightInPoints(20); inspectionHeader.setHeightInPoints(30);
// ============================================== // ==============================================
// 41. 动态填充材料送检数据 // 41. 动态填充材料送检数据
@ -1154,7 +1154,7 @@ public class PgsReportExportController extends BaseController {
mergeAndFill(sheet, recordRegion, data.getInspectionRecord(), contentStyle); mergeAndFill(sheet, recordRegion, data.getInspectionRecord(), contentStyle);
drawBorderForRegion(sheet, recordRegion, workbook); drawBorderForRegion(sheet, recordRegion, workbook);
dataRow.setHeightInPoints(20); dataRow.setHeightInPoints(30);
} }
} }
@ -1174,10 +1174,10 @@ public class PgsReportExportController extends BaseController {
// F-M列合并 // F-M列合并
CellRangeAddress inspNoteContentRegion = new CellRangeAddress(inspectionNoteRow, inspectionNoteRow, 5 + columnOffset, 12 + columnOffset); CellRangeAddress inspNoteContentRegion = new CellRangeAddress(inspectionNoteRow, inspectionNoteRow, 5 + columnOffset, 12 + columnOffset);
mergeAndFill(sheet, inspNoteContentRegion, "", contentStyle); mergeAndFill(sheet, inspNoteContentRegion, "", contentStyle);
drawBorderForRegion(sheet, inspNoteContentRegion, workbook); drawBorderForRegion(sheet, inspNoteContentRegion, workbook);
inspNoteRow.setHeightInPoints(20); inspNoteRow.setHeightInPoints(30);
// ============================================== // ==============================================
// 关键调整AB列从设备进场标题行到最终情况说明行合并 // 关键调整AB列从设备进场标题行到最终情况说明行合并
@ -1202,7 +1202,7 @@ public class PgsReportExportController extends BaseController {
totalRegionHeight += row.getHeightInPoints(); totalRegionHeight += row.getHeightInPoints();
} }
} }
float baseHeight1 = 20; float baseHeight1 = 30;
float extraHeight1 = totalRegionHeight - totalRowCount * baseHeight1; float extraHeight1 = totalRegionHeight - totalRowCount * baseHeight1;
Row equipmentTitleRowObj = sheet.getRow(equipmentTitleRow); Row equipmentTitleRowObj = sheet.getRow(equipmentTitleRow);
if (equipmentTitleRowObj != null) { if (equipmentTitleRowObj != null) {
@ -1231,7 +1231,7 @@ public class PgsReportExportController extends BaseController {
// C-M列合并今日无 // C-M列合并今日无
CellRangeAddress sxContentRegion = new CellRangeAddress(sxNoteRow, sxNoteRow, 2 + columnOffset, 12 + columnOffset); CellRangeAddress sxContentRegion = new CellRangeAddress(sxNoteRow, sxNoteRow, 2 + columnOffset, 12 + columnOffset);
mergeAndFill(sheet, sxContentRegion, "今日无", contentStyle); mergeAndFill(sheet, sxContentRegion, "", contentStyle);
drawBorderForRegion(sheet, sxContentRegion, workbook); drawBorderForRegion(sheet, sxContentRegion, workbook);
sxRow.setHeightInPoints(30); // 适配可能的换行 sxRow.setHeightInPoints(30); // 适配可能的换行
@ -1252,10 +1252,10 @@ public class PgsReportExportController extends BaseController {
// C-M列合并部分区域坡度较大。 // C-M列合并部分区域坡度较大。
CellRangeAddress wxContentRegion = new CellRangeAddress(wxNoteRow, wxNoteRow, 2 + columnOffset, 12 + columnOffset); CellRangeAddress wxContentRegion = new CellRangeAddress(wxNoteRow, wxNoteRow, 2 + columnOffset, 12 + columnOffset);
mergeAndFill(sheet, wxContentRegion, "部分区域坡度较大。", contentStyle); mergeAndFill(sheet, wxContentRegion, "", contentStyle);
drawBorderForRegion(sheet, wxContentRegion, workbook); drawBorderForRegion(sheet, wxContentRegion, workbook);
wxRow.setHeightInPoints(30); // 适配可能的换行 wxRow.setHeightInPoints(95); // 适配可能的换行
// ============================================== // ==============================================
// 45. 现场施工照片行 // 45. 现场施工照片行
@ -1409,7 +1409,7 @@ public class PgsReportExportController extends BaseController {
drawBorderForRegion(sheet, tomorrowABRegion, workbook); drawBorderForRegion(sheet, tomorrowABRegion, workbook);
// C-M列合并输入工作计划内容 // C-M列合并输入工作计划内容
String tomorrowPlanContent = "支架、组件安装37人计划完成支架8组组件7组\n直流电缆敷设15人计划完成3500米。"; String tomorrowPlanContent = nextPlanStr;
CellRangeAddress tomorrowContentRegion = new CellRangeAddress(tomorrowPlanRowNum, tomorrowPlanRowNum, 2 + columnOffset, 12 + columnOffset); CellRangeAddress tomorrowContentRegion = new CellRangeAddress(tomorrowPlanRowNum, tomorrowPlanRowNum, 2 + columnOffset, 12 + columnOffset);
mergeAndFill(sheet, tomorrowContentRegion, tomorrowPlanContent, contentStyle); mergeAndFill(sheet, tomorrowContentRegion, tomorrowPlanContent, contentStyle);
drawBorderForRegion(sheet, tomorrowContentRegion, workbook); drawBorderForRegion(sheet, tomorrowContentRegion, workbook);
@ -1432,7 +1432,7 @@ public class PgsReportExportController extends BaseController {
// C-M列合并 // C-M列合并
CellRangeAddress otherContentRegion = new CellRangeAddress(otherMattersRowNum, otherMattersRowNum, 2 + columnOffset, 12 + columnOffset); CellRangeAddress otherContentRegion = new CellRangeAddress(otherMattersRowNum, otherMattersRowNum, 2 + columnOffset, 12 + columnOffset);
mergeAndFill(sheet, otherContentRegion, "", contentStyle); mergeAndFill(sheet, otherContentRegion, "", contentStyle);
drawBorderForRegion(sheet, otherContentRegion, workbook); drawBorderForRegion(sheet, otherContentRegion, workbook);
otherMattersRow.setHeightInPoints(25); // 设置行高 otherMattersRow.setHeightInPoints(25); // 设置行高
@ -1453,11 +1453,7 @@ public class PgsReportExportController extends BaseController {
// C-M列合并 // C-M列合并
CellRangeAddress personnelContentRegion = new CellRangeAddress(sitePersonnelRowNum, sitePersonnelRowNum, 2 + columnOffset, 12 + columnOffset); CellRangeAddress personnelContentRegion = new CellRangeAddress(sitePersonnelRowNum, sitePersonnelRowNum, 2 + columnOffset, 12 + columnOffset);
mergeAndFill(sheet, personnelContentRegion, "1.管理人员2人\n" + mergeAndFill(sheet, personnelContentRegion, "", contentStyle);
"2.支架、组件安装36人\n" +
"3.直流电缆敷设15人\n" +
"4.无人机飞手2人\n" +
"5.合计55人。", contentStyle);
drawBorderForRegion(sheet, personnelContentRegion, workbook); drawBorderForRegion(sheet, personnelContentRegion, workbook);
sitePersonnelRow.setHeightInPoints(25); // 设置行高 sitePersonnelRow.setHeightInPoints(25); // 设置行高
@ -1784,6 +1780,11 @@ public class PgsReportExportController extends BaseController {
paramData.setSafety(collect); paramData.setSafety(collect);
} }
List<BusMechanicalrewriting> list4 = busMechanicalrewritingService.lambdaQuery()
.eq(BusMechanicalrewriting::getProjectId, project.getId()).list();
String collect = list4.stream().map(BusMechanicalrewriting::getDevicename).filter(StringUtils::isNotBlank).distinct().collect(Collectors.joining(","));
paramData.setDevice(collect);
return paramData; return paramData;
} }
@ -1803,6 +1804,8 @@ public class PgsReportExportController extends BaseController {
for (PgsProgressCategoryByDayVo vo : subProjectList) { for (PgsProgressCategoryByDayVo vo : subProjectList) {
ProjectData projectData = new ProjectData(); ProjectData projectData = new ProjectData();
projectData.setProjectName(vo.getProjectName()); projectData.setProjectName(vo.getProjectName());
projectData.setProcessName("光伏场区");
projectData.setNextPlanStr(vo.getNextPlanStr());
List<ProgressData> progressList = new ArrayList<>(); List<ProgressData> progressList = new ArrayList<>();
List<PgsProgressCategoryDetailByDayVo> photovoltaicArea = vo.getPhotovoltaicArea(); List<PgsProgressCategoryDetailByDayVo> photovoltaicArea = vo.getPhotovoltaicArea();
@ -1863,6 +1866,8 @@ public class PgsReportExportController extends BaseController {
List<ProjectData> sy = new ArrayList<>(); List<ProjectData> sy = new ArrayList<>();
ProjectData projectData = new ProjectData(); ProjectData projectData = new ProjectData();
projectData.setProjectName("升压站"); projectData.setProjectName("升压站");
projectData.setProcessName("升压站");
projectData.setNextPlanStr(project.getNextPlanStr());
List<ProgressData> progressList = new ArrayList<>(); List<ProgressData> progressList = new ArrayList<>();
List<PgsProgressCategoryDetailByDayVo> boosterStation = project.getBoosterStation(); List<PgsProgressCategoryDetailByDayVo> boosterStation = project.getBoosterStation();
@ -1902,6 +1907,8 @@ public class PgsReportExportController extends BaseController {
List<ProjectData> jd = new ArrayList<>(); List<ProjectData> jd = new ArrayList<>();
ProjectData jdProjectData = new ProjectData(); ProjectData jdProjectData = new ProjectData();
jdProjectData.setProjectName("集电线路"); jdProjectData.setProjectName("集电线路");
jdProjectData.setProcessName("集电线路");
jdProjectData.setNextPlanStr(project.getNextPlanStr());
List<ProgressData> jdProgressList = new ArrayList<>(); List<ProgressData> jdProgressList = new ArrayList<>();
List<PgsProgressCategoryDetailByDayVo> collectingLine = project.getCollectingLine(); List<PgsProgressCategoryDetailByDayVo> collectingLine = project.getCollectingLine();
@ -1941,6 +1948,8 @@ public class PgsReportExportController extends BaseController {
List<ProjectData> sc = new ArrayList<>(); List<ProjectData> sc = new ArrayList<>();
ProjectData scProjectData = new ProjectData(); ProjectData scProjectData = new ProjectData();
scProjectData.setProjectName("送出线路"); scProjectData.setProjectName("送出线路");
scProjectData.setProcessName("送出线路");
scProjectData.setNextPlanStr(project.getNextPlanStr());
List<ProgressData> scProgressList = new ArrayList<>(); List<ProgressData> scProgressList = new ArrayList<>();
List<PgsProgressCategoryDetailByDayVo> sendLine = project.getSendLine(); List<PgsProgressCategoryDetailByDayVo> sendLine = project.getSendLine();
@ -1980,9 +1989,12 @@ public class PgsReportExportController extends BaseController {
List<ProjectData> qt = new ArrayList<>(); List<ProjectData> qt = new ArrayList<>();
ProjectData qtProjectData = new ProjectData(); ProjectData qtProjectData = new ProjectData();
qtProjectData.setProjectName("其他工程"); qtProjectData.setProjectName("其他工程");
qtProjectData.setProcessName("其他工程");
qtProjectData.setNextPlanStr(project.getNextPlanStr());
List<ProgressData> qtProgressList = new ArrayList<>(); List<ProgressData> qtProgressList = new ArrayList<>();
List<PgsProgressCategoryDetailByDayVo> otherProject = project.getOtherProject(); List<PgsProgressCategoryDetailByDayVo> otherProject = project.getOtherProject();
int qtNum = 1; int qtNum = 1;
for (PgsProgressCategoryDetailByDayVo vo1 : otherProject) { for (PgsProgressCategoryDetailByDayVo vo1 : otherProject) {
ProgressData progressData = new ProgressData(); ProgressData progressData = new ProgressData();

View File

@ -53,6 +53,8 @@ public class ParamData {
*/ */
private List<String> imgUrls2; private List<String> imgUrls2;
/**
* 设备
*/
private String device;
} }

View File

@ -18,6 +18,8 @@ public class ProjectData {
private List<MaterialInspectionData> inspectionList; private List<MaterialInspectionData> inspectionList;
private String projectName; // 项目名称 private String projectName; // 项目名称
private String projectDate; // 项目日期 private String projectDate; // 项目日期
private String processName; // 工程名称
private String nextPlanStr; // 下日计划
} }

View File

@ -2341,6 +2341,7 @@ public class PgsProgressCategoryServiceImpl extends ServiceImpl<PgsProgressCateg
String nextDayPlanStr = ""; String nextDayPlanStr = "";
if (CollUtil.isNotEmpty(detail)) { if (CollUtil.isNotEmpty(detail)) {
nextDayPlanStr = detail.stream() nextDayPlanStr = detail.stream()
.filter(item -> item.getNextDayPlan().compareTo(BigDecimal.ZERO) > 0)
.map(item -> item.getName() + item.getNextDayPlan().stripTrailingZeros().toPlainString() + item.getUnit()) .map(item -> item.getName() + item.getNextDayPlan().stripTrailingZeros().toPlainString() + item.getUnit())
.collect(Collectors.joining("")); .collect(Collectors.joining(""));
} }
@ -3035,7 +3036,7 @@ public class PgsProgressCategoryServiceImpl extends ServiceImpl<PgsProgressCateg
nextDetailMap = nextPlanList.stream() nextDetailMap = nextPlanList.stream()
.collect(Collectors.groupingBy(PgsProgressPlanDetail::getProgressCategoryId)); .collect(Collectors.groupingBy(PgsProgressPlanDetail::getProgressCategoryId));
} }
Map<Long, List<PgsProgressPlanDetail>> finalNextDetailMap = detailMap; Map<Long, List<PgsProgressPlanDetail>> finalNextDetailMap = nextDetailMap;
return childrenMap.entrySet().stream() return childrenMap.entrySet().stream()
.map(c -> { .map(c -> {
String name = c.getKey(); String name = c.getKey();
@ -3093,6 +3094,7 @@ public class PgsProgressCategoryServiceImpl extends ServiceImpl<PgsProgressCateg
.flatMap(List::stream) .flatMap(List::stream)
.map(PgsProgressPlanDetail::getPlanNumber) .map(PgsProgressPlanDetail::getPlanNumber)
.filter(Objects::nonNull) .filter(Objects::nonNull)
.filter(b -> b.compareTo(BigDecimal.ZERO) > 0)
.reduce(BigDecimal.ZERO, BigDecimal::add); .reduce(BigDecimal.ZERO, BigDecimal::add);
} }
// 封装结果 // 封装结果

View File

@ -11,12 +11,16 @@ import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.contractor.domain.SubContractor;
import org.dromara.contractor.service.ISubContractorService;
import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordCreateHandlerReq; import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordCreateHandlerReq;
import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordQueryReq; import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordQueryReq;
import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordRectificationReq; import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordRectificationReq;
import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordReviewReq; import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordReviewReq;
import org.dromara.safety.domain.vo.violationrecord.HseViolationRecordVo; import org.dromara.safety.domain.vo.violationrecord.HseViolationRecordVo;
import org.dromara.safety.service.IHseViolationRecordService; import org.dromara.safety.service.IHseViolationRecordService;
import org.dromara.system.domain.SysUser;
import org.dromara.system.service.ISysUserService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -35,6 +39,10 @@ public class HseViolationRecordController extends BaseController {
@Resource @Resource
private IHseViolationRecordService hseViolationRecordService; private IHseViolationRecordService hseViolationRecordService;
@Resource
private ISubContractorService contractorService;
@Resource
private ISysUserService userService;
/** /**
* 查询违规记录列表 * 查询违规记录列表
@ -102,4 +110,21 @@ public class HseViolationRecordController extends BaseController {
@PathVariable Long[] ids) { @PathVariable Long[] ids) {
return toAjax(hseViolationRecordService.deleteWithValidByIds(List.of(ids))); return toAjax(hseViolationRecordService.deleteWithValidByIds(List.of(ids)));
} }
@GetMapping("/contractorList")
public R<List<SubContractor>> contractorList(Long projectId) {
List<SubContractor> list = contractorService.lambdaQuery()
.select(SubContractor::getId, SubContractor::getName)
.eq(SubContractor::getProjectId, projectId)
.list();
return R.ok(list);
}
@GetMapping("/contractorUserList")
public R<List<SysUser>> contractorUserList(Long contractorId) {
List<SysUser> sysUsers = userService.selectUserListByContractorId(contractorId);
return R.ok(sysUsers);
}
} }

View File

@ -9,15 +9,21 @@ import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.contractor.domain.SubContractor;
import org.dromara.contractor.service.ISubContractorService;
import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordCreateHandlerReq; import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordCreateHandlerReq;
import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordQueryReq; import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordQueryReq;
import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordRectificationReq; import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordRectificationReq;
import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordReviewReq; import org.dromara.safety.domain.dto.violationrecord.HseViolationRecordReviewReq;
import org.dromara.safety.domain.vo.violationrecord.HseViolationRecordVo; import org.dromara.safety.domain.vo.violationrecord.HseViolationRecordVo;
import org.dromara.safety.service.IHseViolationRecordService; import org.dromara.safety.service.IHseViolationRecordService;
import org.dromara.system.domain.SysUser;
import org.dromara.system.service.ISysUserService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* 违规记录 app 接口 * 违规记录 app 接口
* *
@ -31,6 +37,10 @@ public class HseViolationRecordAppController extends BaseController {
@Resource @Resource
private IHseViolationRecordService violationRecordService; private IHseViolationRecordService violationRecordService;
@Resource
private ISubContractorService contractorService;
@Resource
private ISysUserService userService;
/** /**
* 查询违规记录列表 * 查询违规记录列表
@ -78,4 +88,33 @@ public class HseViolationRecordAppController extends BaseController {
public R<Void> insertReview(@Validated @RequestBody HseViolationRecordReviewReq req) { public R<Void> insertReview(@Validated @RequestBody HseViolationRecordReviewReq req) {
return toAjax(violationRecordService.insertReview(req)); return toAjax(violationRecordService.insertReview(req));
} }
@GetMapping("/contractorList")
public R<List<SubContractor>> contractorList(Long projectId) {
List<SubContractor> list = contractorService.lambdaQuery()
.select(SubContractor::getId, SubContractor::getName)
.eq(SubContractor::getProjectId, projectId)
.list();
return R.ok(list);
}
@GetMapping("/contractorUserList")
public R<List<SysUser>> contractorUserList(Long contractorId) {
List<SysUser> sysUsers = userService.selectUserListByContractorId(contractorId);
return R.ok(sysUsers);
}
@GetMapping("/teamList")
public R<List<SubContractor>> teamList(Long projectId) {
List<SubContractor> list = contractorService.lambdaQuery()
.select(SubContractor::getId, SubContractor::getName)
.eq(SubContractor::getProjectId, projectId)
.list();
return R.ok(list);
}
} }

View File

@ -458,4 +458,10 @@ public class HseViolationRecordServiceImpl extends ServiceImpl<HseViolationRecor
// 操作数据库 // 操作数据库
return this.updateById(updateRecord); return this.updateById(updateRecord);
} }
} }

View File

@ -301,4 +301,7 @@ public interface ISysUserService {
TableDataInfo<SysUserVo> todayUserList(SubTodayUserDto dto, PageQuery pageQuery); TableDataInfo<SysUserVo> todayUserList(SubTodayUserDto dto, PageQuery pageQuery);
int appResetUserPwd(AppUserUpdatePasswordDto dto); int appResetUserPwd(AppUserUpdatePasswordDto dto);
List<SysUser> selectUserListByContractorId(Long contractorId);
} }

View File

@ -1521,4 +1521,11 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
} }
return resetUserPwd(sysUser.getUserId(), BCrypt.hashpw(dto.getNewPassword())); return resetUserPwd(sysUser.getUserId(), BCrypt.hashpw(dto.getNewPassword()));
} }
@Override
public List<SysUser> selectUserListByContractorId(Long contractorId) {
return baseMapper.selectList(Wrappers.<SysUser>lambdaQuery()
.select(SysUser::getUserId, SysUser::getNickName));
}
} }