日报
This commit is contained in:
@ -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();
|
||||||
|
|||||||
@ -53,6 +53,8 @@ public class ParamData {
|
|||||||
*/
|
*/
|
||||||
private List<String> imgUrls2;
|
private List<String> imgUrls2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设备
|
||||||
|
*/
|
||||||
|
private String device;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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; // 下日计划
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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);
|
||||||
}
|
}
|
||||||
// 封装结果
|
// 封装结果
|
||||||
|
|||||||
@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -458,4 +458,10 @@ public class HseViolationRecordServiceImpl extends ServiceImpl<HseViolationRecor
|
|||||||
// 操作数据库
|
// 操作数据库
|
||||||
return this.updateById(updateRecord);
|
return this.updateById(updateRecord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user