diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/StaticData.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/StaticData.java new file mode 100644 index 0000000..d0e162a --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/StaticData.java @@ -0,0 +1,15 @@ +package org.nl.wms.biBoard; + +import org.nl.wms.biBoard.screen.service.dto.AgvStatus; + +import java.util.HashMap; +import java.util.Map; + +public class StaticData { + public static Map agv_status= new HashMap<>(); + + public void sync(String carId,AgvStatus agvStatus){ + agv_status.put(carId,agvStatus); + } + +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/ReportController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/ReportController.java new file mode 100644 index 0000000..ac00f4a --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/ReportController.java @@ -0,0 +1,37 @@ +package org.nl.wms.biBoard.consumptionReport; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.base.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.logging.annotation.Log; +import org.nl.wms.biBoard.consumptionReport.service.IConsumeReportService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/report") +@Slf4j +public class ReportController { + + @Autowired + private IConsumeReportService iConsumeReportService; + + @GetMapping("/consumeReport") + @Log("班组焊材消耗报表查询") + public ResponseEntity queryConsumeReport(@RequestParam Map whereJson, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(iConsumeReportService.queryConsumeReport(whereJson, page)), HttpStatus.OK); + } + + @GetMapping("/consumeReport/download") + @Log("导出班组焊材消耗报表") + public void downloadConsumeReport(@RequestParam Map whereJson, HttpServletResponse response) { + iConsumeReportService.downloadConsumeReport(whereJson, response); + } +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/dto/ConsumeReportDto.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/dto/ConsumeReportDto.java new file mode 100644 index 0000000..05c20f3 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/dto/ConsumeReportDto.java @@ -0,0 +1,75 @@ +package org.nl.wms.biBoard.consumptionReport.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * 班组焊材消耗报表 DTO + *

+ * + * @author System + * @since 2026-03-07 + */ +@Data +public class ConsumeReportDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 序号 + */ + private Integer rowNum; + + /** + * 班组编码 + */ + private String groupCode; + + /** + * 班组名称 + */ + private String groupName; + + /** + * 物料编码 + */ + private String materialCode; + + /** + * 物料名称 + */ + private String materialName; + + /** + * 规格型号 + */ + private String materialSpec; + + /** + * 批次 + */ + private String batchNo; + + /** + * 领料重量 + */ + private BigDecimal receiveQty; + + /** + * 退料重量 + */ + private BigDecimal returnQty; + + /** + * 消耗重量 + */ + private BigDecimal consumeQty; + + /** + * 单位 + */ + private String qtyUnitName; +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/IConsumeReportService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/IConsumeReportService.java new file mode 100644 index 0000000..63f7cad --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/IConsumeReportService.java @@ -0,0 +1,36 @@ +package org.nl.wms.biBoard.consumptionReport.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.biBoard.consumptionReport.dto.ConsumeReportDto; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + *

+ * 班组焊材消耗报表 服务类 + *

+ * + * @author System + * @since 2026-03-07 + */ +public interface IConsumeReportService { + + /** + * 分页查询班组焊材消耗报表 + * + * @param whereJson : {查询参数} + * @param page : 分页对象 + * @return 返回结果 + */ + IPage queryConsumeReport(Map whereJson, PageQuery page); + + /** + * 导出班组焊材消耗报表 + * + * @param whereJson : {查询参数} + * @param response : 响应对象 + */ + void downloadConsumeReport(Map whereJson, HttpServletResponse response); +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/ReportService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/ReportService.java new file mode 100644 index 0000000..429aa19 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/ReportService.java @@ -0,0 +1,4 @@ +package org.nl.wms.biBoard.consumptionReport.service; + +public class ReportService { +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/dao/mapper/ConsumeReportMapper.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/dao/mapper/ConsumeReportMapper.java new file mode 100644 index 0000000..3bf5873 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/dao/mapper/ConsumeReportMapper.java @@ -0,0 +1,44 @@ +package org.nl.wms.biBoard.consumptionReport.service.dao.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.nl.wms.biBoard.consumptionReport.dto.ConsumeReportDto; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 班组焊材消耗报表 Mapper 接口 + *

+ * + * @author System + * @since 2026-03-07 + */ +@Mapper +public interface ConsumeReportMapper { + + /** + * 班组焊材消耗报表分页查询 + * @param page 分页条件 + * @param whereJson 查询条件 + * @return IPage + */ + IPage queryConsumeReport(Page page, @Param("param") Map whereJson); + + /** + * 班组焊材消耗报表合计 + * @param whereJson 查询条件 + * @return ConsumeReportDto + */ + ConsumeReportDto queryConsumeReportSum(@Param("param") Map whereJson); + + /** + * 班组焊材消耗报表全部数据(用于导出) + * @param whereJson 查询条件 + * @return List + */ + List queryConsumeReportAll(@Param("param") Map whereJson); +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/dao/mapper/ConsumeReportMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/dao/mapper/ConsumeReportMapper.xml new file mode 100644 index 0000000..edb765e --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/dao/mapper/ConsumeReportMapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/impl/ConsumeReportServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/impl/ConsumeReportServiceImpl.java new file mode 100644 index 0000000..41c5586 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/consumptionReport/service/impl/ConsumeReportServiceImpl.java @@ -0,0 +1,172 @@ +package org.nl.wms.biBoard.consumptionReport.service.impl; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.exception.BadRequestException; +import org.nl.wms.biBoard.consumptionReport.dto.ConsumeReportDto; +import org.nl.wms.biBoard.consumptionReport.service.IConsumeReportService; +import org.nl.wms.biBoard.consumptionReport.service.dao.mapper.ConsumeReportMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; +import java.math.BigDecimal; +import java.net.URLEncoder; +import java.util.List; +import java.util.Map; + +/** + *

+ * 班组焊材消耗报表 服务实现类 + *

+ * + * @author System + * @since 2026-03-07 + */ +@Service +public class ConsumeReportServiceImpl implements IConsumeReportService { + + @Autowired + private ConsumeReportMapper consumeReportMapper; + + @Override + public IPage queryConsumeReport(Map whereJson, PageQuery page) { + IPage resultPage = consumeReportMapper.queryConsumeReport( + new Page<>(page.getPage() + 1, page.getSize()), whereJson); + + // 添加合计行 + List records = resultPage.getRecords(); + ConsumeReportDto sumDto = consumeReportMapper.queryConsumeReportSum(whereJson); + + if (!CollectionUtils.isEmpty(records) && sumDto != null) { + sumDto.setGroupCode("合计"); + records.add(sumDto); + } + + resultPage.setRecords(records); + return resultPage; + } + + @Override + public void downloadConsumeReport(Map whereJson, HttpServletResponse response) { + // 查询所有数据 + List dataList = consumeReportMapper.queryConsumeReportAll(whereJson); + if (CollectionUtils.isEmpty(dataList)){ + throw new RuntimeException("数据为空"); + } + try { + // 创建工作簿 + Workbook workbook = new XSSFWorkbook(); + Sheet sheet = workbook.createSheet("班组焊材消耗报表"); + + // 创建标题样式 + CellStyle titleStyle = workbook.createCellStyle(); + Font titleFont = workbook.createFont(); + titleFont.setBold(true); + titleFont.setFontHeightInPoints((short) 12); + titleStyle.setFont(titleFont); + titleStyle.setAlignment(HorizontalAlignment.CENTER); + titleStyle.setVerticalAlignment(VerticalAlignment.CENTER); + titleStyle.setBorderBottom(BorderStyle.THIN); + titleStyle.setBorderTop(BorderStyle.THIN); + titleStyle.setBorderLeft(BorderStyle.THIN); + titleStyle.setBorderRight(BorderStyle.THIN); + + // 创建数据样式 + CellStyle dataStyle = workbook.createCellStyle(); + dataStyle.setAlignment(HorizontalAlignment.CENTER); + dataStyle.setVerticalAlignment(VerticalAlignment.CENTER); + dataStyle.setBorderBottom(BorderStyle.THIN); + dataStyle.setBorderTop(BorderStyle.THIN); + dataStyle.setBorderLeft(BorderStyle.THIN); + dataStyle.setBorderRight(BorderStyle.THIN); + + // 创建标题行 + Row headerRow = sheet.createRow(0); + String[] headers = {"序号", "班组编码", "班组名称", "物料编码", "物料名称", "规格型号", "批次", "领料重量", "退料重量", "消耗重量", "单位"}; + for (int i = 0; i < headers.length; i++) { + Cell cell = headerRow.createCell(i); + cell.setCellValue(headers[i]); + cell.setCellStyle(titleStyle); + sheet.setColumnWidth(i, 4000); + } + + // 填充数据 + int rowNum = 1; + BigDecimal totalReceive = BigDecimal.ZERO; + BigDecimal totalReturn = BigDecimal.ZERO; + BigDecimal totalConsume = BigDecimal.ZERO; + + for (ConsumeReportDto dto : dataList) { + Row row = sheet.createRow(rowNum); + + createCell(row, 0, rowNum, dataStyle); + createCell(row, 1, dto.getGroupCode(), dataStyle); + createCell(row, 2, dto.getGroupName(), dataStyle); + createCell(row, 3, dto.getMaterialCode(), dataStyle); + createCell(row, 4, dto.getMaterialName(), dataStyle); + createCell(row, 5, dto.getMaterialSpec(), dataStyle); + createCell(row, 6, dto.getBatchNo(), dataStyle); + createCell(row, 7, dto.getReceiveQty(), dataStyle); + createCell(row, 8, dto.getReturnQty(), dataStyle); + createCell(row, 9, dto.getConsumeQty(), dataStyle); + createCell(row, 10, dto.getQtyUnitName(), dataStyle); + + if (dto.getReceiveQty() != null) totalReceive = totalReceive.add(dto.getReceiveQty()); + if (dto.getReturnQty() != null) totalReturn = totalReturn.add(dto.getReturnQty()); + if (dto.getConsumeQty() != null) totalConsume = totalConsume.add(dto.getConsumeQty()); + + rowNum++; + } + + // 添加合计行 + Row sumRow = sheet.createRow(rowNum); + createCell(sumRow, 0, "", dataStyle); + createCell(sumRow, 1, "合计", dataStyle); + createCell(sumRow, 2, "", dataStyle); + createCell(sumRow, 3, "", dataStyle); + createCell(sumRow, 4, "", dataStyle); + createCell(sumRow, 5, "", dataStyle); + createCell(sumRow, 6, "", dataStyle); + createCell(sumRow, 7, totalReceive, dataStyle); + createCell(sumRow, 8, totalReturn, dataStyle); + createCell(sumRow, 9, totalConsume, dataStyle); + createCell(sumRow, 10, "KG", dataStyle); + + // 设置响应头 + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + String fileName = URLEncoder.encode("班组焊材消耗报表_" + DateUtil.format(DateUtil.date(), "yyyyMMddHHmmss"), "UTF-8"); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + + // 输出 + OutputStream outputStream = response.getOutputStream(); + workbook.write(outputStream); + workbook.close(); + outputStream.close(); + + } catch (Exception e) { + throw new BadRequestException("导出Excel失败"+ e.getMessage()); + } + } + + private void createCell(Row row, int column, Object value, CellStyle style) { + Cell cell = row.createCell(column); + if (value == null) { + cell.setCellValue(""); + } else if (value instanceof BigDecimal) { + cell.setCellValue(((BigDecimal) value).doubleValue()); + } else if (value instanceof Integer) { + cell.setCellValue((Integer) value); + } else { + cell.setCellValue(value.toString()); + } + cell.setCellStyle(style); + } +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/IosReportController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/IosReportController.java new file mode 100644 index 0000000..8a4aa93 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/IosReportController.java @@ -0,0 +1,45 @@ +package org.nl.wms.biBoard.materialRequisition; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.base.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.logging.annotation.Log; +import org.nl.wms.biBoard.materialRequisition.service.IIosReportService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + *

+ * 领料出库及退料入库数据报表 控制层 + *

+ * + * @author System + * @since 2026-03-07 + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/iosReport") +@Slf4j +public class IosReportController { + + @Autowired + private IIosReportService iIosReportService; + + @GetMapping + @Log("领料出库及退料入库数据报表查询") + public ResponseEntity queryIosReport(@RequestParam Map whereJson, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(iIosReportService.queryIosReport(whereJson, page)), HttpStatus.OK); + } + + @GetMapping("/download") + @Log("导出领料出库及退料入库数据报表") + public void downloadIosReport(@RequestParam Map whereJson, HttpServletResponse response) { + iIosReportService.downloadIosReport(whereJson, response); + } +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/dto/IosReportDto.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/dto/IosReportDto.java new file mode 100644 index 0000000..daeff83 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/dto/IosReportDto.java @@ -0,0 +1,75 @@ +package org.nl.wms.biBoard.materialRequisition.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * 领料出库及退料入库数据报表 DTO + *

+ * + * @author System + * @since 2026-03-07 + */ +@Data +public class IosReportDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 序号 + */ + private Integer rowNum; + + /** + * 领退时间 + */ + private String confirmTime; + + /** + * 班组编码 + */ + private String groupCode; + + /** + * 班组名称 + */ + private String groupName; + + /** + * 领退类型 + */ + private String iosType; + + /** + * 物料编码 + */ + private String materialCode; + + /** + * 物料名称 + */ + private String materialName; + + /** + * 规格型号 + */ + private String materialSpec; + + /** + * 批次 + */ + private String batchNo; + + /** + * 重量 + */ + private BigDecimal weight; + + /** + * 单位 + */ + private String qtyUnitName; +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/service/IIosReportService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/service/IIosReportService.java new file mode 100644 index 0000000..81b354a --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/service/IIosReportService.java @@ -0,0 +1,36 @@ +package org.nl.wms.biBoard.materialRequisition.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.biBoard.materialRequisition.dto.IosReportDto; + +import javax.servlet.http.HttpServletResponse; +import java.util.Map; + +/** + *

+ * 领料出库及退料入库数据报表 服务类 + *

+ * + * @author System + * @since 2026-03-07 + */ +public interface IIosReportService { + + /** + * 分页查询领料出库及退料入库数据报表 + * + * @param whereJson : {查询参数} + * @param page : 分页对象 + * @return 返回结果 + */ + IPage queryIosReport(Map whereJson, PageQuery page); + + /** + * 导出领料出库及退料入库数据报表 + * + * @param whereJson : {查询参数} + * @param response : 响应对象 + */ + void downloadIosReport(Map whereJson, HttpServletResponse response); +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/service/dao/mapper/IosReportMapper.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/service/dao/mapper/IosReportMapper.java new file mode 100644 index 0000000..39dd778 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/service/dao/mapper/IosReportMapper.java @@ -0,0 +1,44 @@ +package org.nl.wms.biBoard.materialRequisition.service.dao.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.nl.wms.biBoard.materialRequisition.dto.IosReportDto; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 领料出库及退料入库数据报表 Mapper 接口 + *

+ * + * @author System + * @since 2026-03-07 + */ +@Mapper +public interface IosReportMapper { + + /** + * 领料出库及退料入库数据报表分页查询 + * @param page 分页条件 + * @param whereJson 查询条件 + * @return IPage + */ + IPage queryIosReport(Page page, @Param("param") Map whereJson); + + /** + * 领料出库及退料入库数据报表合计 + * @param whereJson 查询条件 + * @return IosReportDto + */ + IosReportDto queryIosReportSum(@Param("param") Map whereJson); + + /** + * 领料出库及退料入库数据报表全部数据(用于导出) + * @param whereJson 查询条件 + * @return List + */ + List queryIosReportAll(@Param("param") Map whereJson); +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/service/dao/mapper/IosReportMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/service/dao/mapper/IosReportMapper.xml new file mode 100644 index 0000000..0aefd0c --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/service/dao/mapper/IosReportMapper.xml @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/service/impl/IosReportServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/service/impl/IosReportServiceImpl.java new file mode 100644 index 0000000..5b10701 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/materialRequisition/service/impl/IosReportServiceImpl.java @@ -0,0 +1,168 @@ +package org.nl.wms.biBoard.materialRequisition.service.impl; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.exception.BadRequestException; +import org.nl.wms.biBoard.materialRequisition.dto.IosReportDto; +import org.nl.wms.biBoard.materialRequisition.service.IIosReportService; +import org.nl.wms.biBoard.materialRequisition.service.dao.mapper.IosReportMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; +import java.math.BigDecimal; +import java.net.URLEncoder; +import java.util.List; +import java.util.Map; + +/** + *

+ * 领料出库及退料入库数据报表 服务实现类 + *

+ * + * @author System + * @since 2026-03-07 + */ +@Service +public class IosReportServiceImpl implements IIosReportService { + + @Autowired + private IosReportMapper iosReportMapper; + + @Override + public IPage queryIosReport(Map whereJson, PageQuery page) { + IPage resultPage = iosReportMapper.queryIosReport( + new Page<>(page.getPage() + 1, page.getSize()), whereJson); + + // 添加合计行 + List records = resultPage.getRecords(); + IosReportDto sumDto = iosReportMapper.queryIosReportSum(whereJson); + + if (!CollectionUtils.isEmpty(records) && sumDto != null) { + sumDto.setGroupCode("合计"); + records.add(sumDto); + } + + resultPage.setRecords(records); + return resultPage; + } + + @Override + public void downloadIosReport(Map whereJson, HttpServletResponse response) { + // 查询所有数据 + List dataList = iosReportMapper.queryIosReportAll(whereJson); + if (CollectionUtils.isEmpty(dataList)){ + throw new RuntimeException("数据为空"); + } + try { + // 创建工作簿 + Workbook workbook = new XSSFWorkbook(); + Sheet sheet = workbook.createSheet("焊材领退明细报表"); + + // 创建标题样式 + CellStyle titleStyle = workbook.createCellStyle(); + Font titleFont = workbook.createFont(); + titleFont.setBold(true); + titleFont.setFontHeightInPoints((short) 12); + titleStyle.setFont(titleFont); + titleStyle.setAlignment(HorizontalAlignment.CENTER); + titleStyle.setVerticalAlignment(VerticalAlignment.CENTER); + titleStyle.setBorderBottom(BorderStyle.THIN); + titleStyle.setBorderTop(BorderStyle.THIN); + titleStyle.setBorderLeft(BorderStyle.THIN); + titleStyle.setBorderRight(BorderStyle.THIN); + + // 创建数据样式 + CellStyle dataStyle = workbook.createCellStyle(); + dataStyle.setAlignment(HorizontalAlignment.CENTER); + dataStyle.setVerticalAlignment(VerticalAlignment.CENTER); + dataStyle.setBorderBottom(BorderStyle.THIN); + dataStyle.setBorderTop(BorderStyle.THIN); + dataStyle.setBorderLeft(BorderStyle.THIN); + dataStyle.setBorderRight(BorderStyle.THIN); + + // 创建标题行 + Row headerRow = sheet.createRow(0); + String[] headers = {"序号", "领退时间", "班组编码", "班组名称", "领退类型", "物料编码", "物料名称", "规格型号", "批次", "重量", "单位"}; + for (int i = 0; i < headers.length; i++) { + Cell cell = headerRow.createCell(i); + cell.setCellValue(headers[i]); + cell.setCellStyle(titleStyle); + sheet.setColumnWidth(i, 4000); + } + + // 填充数据 + int rowNum = 1; + BigDecimal totalWeight = BigDecimal.ZERO; + + for (IosReportDto dto : dataList) { + Row row = sheet.createRow(rowNum); + + createCell(row, 0, rowNum, dataStyle); + createCell(row, 1, dto.getConfirmTime(), dataStyle); + createCell(row, 2, dto.getGroupCode(), dataStyle); + createCell(row, 3, dto.getGroupName(), dataStyle); + createCell(row, 4, dto.getIosType(), dataStyle); + createCell(row, 5, dto.getMaterialCode(), dataStyle); + createCell(row, 6, dto.getMaterialName(), dataStyle); + createCell(row, 7, dto.getMaterialSpec(), dataStyle); + createCell(row, 8, dto.getBatchNo(), dataStyle); + createCell(row, 9, dto.getWeight(), dataStyle); + createCell(row, 10, dto.getQtyUnitName(), dataStyle); + + if (dto.getWeight() != null) totalWeight = totalWeight.add(dto.getWeight()); + + rowNum++; + } + + // 添加合计行 + Row sumRow = sheet.createRow(rowNum); + createCell(sumRow, 0, "", dataStyle); + createCell(sumRow, 1, "", dataStyle); + createCell(sumRow, 2, "合计", dataStyle); + createCell(sumRow, 3, "", dataStyle); + createCell(sumRow, 4, "", dataStyle); + createCell(sumRow, 5, "", dataStyle); + createCell(sumRow, 6, "", dataStyle); + createCell(sumRow, 7, "", dataStyle); + createCell(sumRow, 8, "", dataStyle); + createCell(sumRow, 9, totalWeight, dataStyle); + createCell(sumRow, 10, "KG", dataStyle); + + // 设置响应头 + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + String fileName = URLEncoder.encode("焊材领退明细报表_" + DateUtil.format(DateUtil.date(), "yyyyMMddHHmmss"), "UTF-8"); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + + // 输出 + OutputStream outputStream = response.getOutputStream(); + workbook.write(outputStream); + workbook.close(); + outputStream.close(); + + } catch (Exception e) { + throw new BadRequestException("导出Excel失败"+ e.getMessage()); + } + } + + private void createCell(Row row, int column, Object value, CellStyle style) { + Cell cell = row.createCell(column); + if (value == null) { + cell.setCellValue(""); + } else if (value instanceof BigDecimal) { + cell.setCellValue(((BigDecimal) value).doubleValue()); + } else if (value instanceof Integer) { + cell.setCellValue((Integer) value); + } else { + cell.setCellValue(value.toString()); + } + cell.setCellStyle(style); + } +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/ScreenController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/ScreenController.java new file mode 100644 index 0000000..0fa87ed --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/ScreenController.java @@ -0,0 +1,73 @@ +package org.nl.wms.biBoard.screen; + +import cn.dev33.satoken.annotation.SaIgnore; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.logging.annotation.Log; +import org.nl.wms.biBoard.screen.service.IScreenService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** + *

+ * 智慧大屏 控制层 + *

+ * + * @author System + * @since 2026-03-07 + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/screen") +@Slf4j +public class ScreenController { + + @Autowired + private IScreenService iScreenService; + + @GetMapping("/inventory") + @SaIgnore +// @Log("获取库存统计数据") + public ResponseEntity getInventoryData() { + return new ResponseEntity<>(iScreenService.getInventoryData(), HttpStatus.OK); + } + + @GetMapping("/agvStatus") + @SaIgnore +// @Log("获取AGV状态") + public ResponseEntity getAgvStatus() { + return new ResponseEntity<>(iScreenService.getAgvStatus(), HttpStatus.OK); + } + + @GetMapping("/tempTrend") + @SaIgnore +// @Log("获取当天温度走势") + public ResponseEntity getTempTrend() { + return new ResponseEntity<>(iScreenService.getTempTrend(), HttpStatus.OK); + } + + @GetMapping("/todayReport") + @SaIgnore +// @Log("获取当天报表数据") + public ResponseEntity getTodayReport() { + return new ResponseEntity<>(iScreenService.getTodayReport(), HttpStatus.OK); + } + + @GetMapping("/weekReport") + @SaIgnore +// @Log("获取本周报表数据") + public ResponseEntity getWeekReport() { + return new ResponseEntity<>(iScreenService.getWeekReport(), HttpStatus.OK); + } + + @GetMapping("/materialTop5") + @SaIgnore +// @Log("获取焊材使用Top5") + public ResponseEntity getMaterialTop5() { + return new ResponseEntity<>(iScreenService.getMaterialTop5(), HttpStatus.OK); + } +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/IScreenService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/IScreenService.java new file mode 100644 index 0000000..3a01ec0 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/IScreenService.java @@ -0,0 +1,50 @@ +package org.nl.wms.biBoard.screen.service; + +import java.util.Map; + +/** + *

+ * 智慧大屏 服务类 + *

+ * + * @author System + * @since 2026-03-07 + */ +public interface IScreenService { + + /** + * 获取库存统计数据 + * @return Map + */ + Map getInventoryData(); + + /** + * 获取AGV状态 + * @return Map + */ + Map getAgvStatus(); + + /** + * 获取当天温度走势 + * @return Map + */ + Map getTempTrend(); + + /** + * 获取当天报表数据 + * @return Map + */ + Map getTodayReport(); + + /** + * 获取本周报表数据 + * @return Map + */ + Map getWeekReport(); + + /** + * 获取焊材使用Top5 + * @return Map + */ + Map getMaterialTop5(); +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/dao/mapper/ScreenMapper.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/dao/mapper/ScreenMapper.java new file mode 100644 index 0000000..687f9f9 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/dao/mapper/ScreenMapper.java @@ -0,0 +1,65 @@ +package org.nl.wms.biBoard.screen.service.dao.mapper; + +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; +import java.util.Map; + +/** + *

+ * 智慧大屏 Mapper 接口 + *

+ * + * @author System + * @since 2026-03-07 + */ +@Mapper +public interface ScreenMapper { + + /** + * 获取库存分类统计 + * @return Map + */ + Map getInventoryCategory(); + + /** + * 获取库存前5数量及物料占比 + * @return List + */ + List> getInventoryTop5(); + + /** + * 获取库位统计 + * @return Map + */ + Map getStructStatistics(); + + /** + * 获取温度走势 + * @param params 参数 + * @return List + */ + List> getTempTrend(@Param("param") Map params); + + /** + * 获取班组焊材消耗报表 + * @param params 参数 + * @return List + */ + List> getConsumeReport(@Param("param") Map params); + + /** + * 获取班组领退料明细报表 + * @param params 参数 + * @return List + */ + List> getIosReport(@Param("param") Map params); + + /** + * 获取焊材使用Top5 + * @param params 参数 + * @return List + */ + List> getMaterialTop5(@Param("param") Map params); +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/dao/mapper/ScreenMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/dao/mapper/ScreenMapper.xml new file mode 100644 index 0000000..01de7a9 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/dao/mapper/ScreenMapper.xml @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/dto/AgvStatus.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/dto/AgvStatus.java new file mode 100644 index 0000000..61f86c6 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/dto/AgvStatus.java @@ -0,0 +1,34 @@ +package org.nl.wms.biBoard.screen.service.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class AgvStatus { + private String carId; + /** + * 车辆类型:潜伏式AGV,料箱式AGV + */ + private String carType; + /** + * 车辆图标:对应在resources/static + */ + private String icon = "resources/static/icon/料箱式AGV.png"; + /** + * 当前执行任务号 + */ + private String taskCode; + /** + * 电量单位% + */ + private String power; + /** + * 0待机 1正常 2故障 + */ + private String status; +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/impl/ScreenServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/impl/ScreenServiceImpl.java new file mode 100644 index 0000000..66f9a2e --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/screen/service/impl/ScreenServiceImpl.java @@ -0,0 +1,203 @@ +package org.nl.wms.biBoard.screen.service.impl; + +import cn.hutool.core.date.DateUtil; +import org.nl.wms.biBoard.StaticData; +import org.nl.wms.biBoard.screen.service.dto.AgvStatus; +import org.nl.wms.biBoard.screen.service.IScreenService; +import org.nl.wms.biBoard.screen.service.dao.mapper.ScreenMapper; +import org.nl.wms.biBoard.temp.service.dao.mapper.BiTempRecordMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.*; + +/** + *

+ * 智慧大屏 服务实现类 + *

+ * + * @author System + * @since 2026-03-07 + */ +@Service +public class ScreenServiceImpl implements IScreenService { + + @Autowired + private ScreenMapper screenMapper; + + @Autowired + private BiTempRecordMapper biTempRecordMapper; + + @Override + public Map getInventoryData() { + Map result = new HashMap<>(); + + // 库存分类统计 + Map categoryData = screenMapper.getInventoryCategory(); + result.put("category", categoryData); + + // 库存前5数量及物料占比 + List> top5List = screenMapper.getInventoryTop5(); + result.put("top5", top5List); + + // 库位统计:有货、空料箱、无货 + Map structData = screenMapper.getStructStatistics(); + result.put("structStat", structData); + + return result; + } + + @Override + public Map getAgvStatus() { + Map result = new HashMap<>(); + + // 从StaticData获取AGV状态 + Map agvStatusMap = StaticData.agv_status; + agvStatusMap.put("1",AgvStatus.builder() + .status("1") + .carId("2") + .icon("潜伏式AGV.png") + .carType("潜伏式AGV").power("66").taskCode("123123").build()); + agvStatusMap.put("1",AgvStatus.builder() + .status("1") + .carId("1") + .carType("CTU料箱AGV") + .icon("料箱式AGV.png") + .power("77") + .taskCode("33322") + .build()); + agvStatusMap.put("2",AgvStatus.builder() + .status("1") + .carId("2") + .carType("CTU料箱AGV") + .icon("料箱式AGV.png") + .power("77") + .taskCode("33322") + .build()); + agvStatusMap.put("3",AgvStatus.builder() + .status("1") + .carId("3") + .carType("CTU料箱AGV") + .icon("料箱式AGV.png") + .power("77") + .taskCode("33322") + .build()); + agvStatusMap.put("5",AgvStatus.builder() + .status("1") + .carId("5") + .carType("CTU料箱AGV") + .icon("料箱式AGV.png") + .power("77") + .taskCode("33322") + .build()); + agvStatusMap.put("4",AgvStatus.builder() + .status("1") + .carId("4") + .carType("CTU料箱AGV") + .icon("料箱式AGV.png") + .power("77") + .taskCode("33322") + .build()); + agvStatusMap.put("6",AgvStatus.builder() + .status("1") + .carId("6") + .carType("CTU料箱AGV") + .icon("料箱式AGV.png") + .power("77") + .taskCode("33322") + .build()); + agvStatusMap.put("7",AgvStatus.builder() + .status("1") + .carId("7") + .carType("CTU料箱AGV") + .icon("料箱式AGV.png") + .power("77") + .taskCode("33322") + .build()); + Object[] objects = agvStatusMap.values().toArray(); + result.put("agvList", objects); + result.put("total", objects.length); + + return result; + } + + @Override + public Map getTempTrend() { + Map result = new HashMap<>(); + + // 查询当天温度记录 + String today = DateUtil.today(); + Map params = new HashMap<>(); + params.put("startDate", today); + params.put("endDate", today); + + List> tempList = screenMapper.getTempTrend(params); + + result.put("tempData", tempList); + + return result; + } + + @Override + public Map getTodayReport() { + Map result = new HashMap<>(); + + String today = DateUtil.today(); + Map params = new HashMap<>(); +// params.put("startDate", today); +// params.put("endDate", today); + + // 班组焊材消耗报表 + List> consumeList = screenMapper.getConsumeReport(params); + result.put("consumeReport", consumeList); + + // 班组领退料明细报表 + List> iosList = screenMapper.getIosReport(params); + result.put("iosReport", iosList); + + return result; + } + + @Override + public Map getWeekReport() { + Map result = new HashMap<>(); + + // 获取本周开始和结束日期 + LocalDate now = LocalDate.now(); + LocalDate weekStart = now.minusDays(now.getDayOfWeek().getValue() - 1); + LocalDate weekEnd = now; + + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + Map params = new HashMap<>(); + params.put("startDate", weekStart.format(formatter)); + params.put("endDate", weekEnd.format(formatter)); + + // 班组焊材消耗报表 + List> consumeList = screenMapper.getConsumeReport(params); + result.put("consumeReport", consumeList); + + // 班组领退料明细报表 + List> iosList = screenMapper.getIosReport(params); + result.put("iosReport", iosList); + + return result; + } + + @Override + public Map getMaterialTop5() { + Map result = new HashMap<>(); + + String today = DateUtil.today(); + Map params = new HashMap<>(); +// params.put("startDate", today); +// params.put("endDate", today); + + // 焊材使用前Top5(通过领料出库单查询汇总) + List> top5List = screenMapper.getMaterialTop5(params); + result.put("top5", top5List); + + return result; + } +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/controller/TempRecordController.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/controller/TempRecordController.java new file mode 100644 index 0000000..d63ab58 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/controller/TempRecordController.java @@ -0,0 +1,38 @@ +package org.nl.wms.biBoard.temp.controller; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.base.TableDataInfo; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.logging.annotation.Log; +import org.nl.wms.biBoard.temp.service.IBiTempRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** + *

+ * 温度记录表 控制层 + *

+ * + * @author System + * @since 2026-03-07 + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/api/tempRecord") +@Slf4j +public class TempRecordController { + + @Autowired + private IBiTempRecordService iBiTempRecordService; + + @GetMapping + @Log("分页查询温度记录") + public ResponseEntity query(@RequestParam Map whereJson, PageQuery page) { + return new ResponseEntity<>(TableDataInfo.build(iBiTempRecordService.queryAll(whereJson, page)), HttpStatus.OK); + } +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/IBiTempRecordService.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/IBiTempRecordService.java new file mode 100644 index 0000000..f152a10 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/IBiTempRecordService.java @@ -0,0 +1,29 @@ +package org.nl.wms.biBoard.temp.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.biBoard.temp.service.dao.BiTempRecord; +import org.nl.wms.biBoard.temp.service.dto.BiTempRecordDto; + +import java.util.Map; + +/** + *

+ * 温度记录表 服务类 + *

+ * + * @author System + * @since 2026-03-07 + */ +public interface IBiTempRecordService extends IService { + + /** + * 分页查询温度记录 + * + * @param whereJson : {查询参数} + * @param page : 分页对象 + * @return 返回结果 + */ + IPage queryAll(Map whereJson, PageQuery page); +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/dao/BiTempRecord.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/dao/BiTempRecord.java new file mode 100644 index 0000000..dd1b5dc --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/dao/BiTempRecord.java @@ -0,0 +1,49 @@ +package org.nl.wms.biBoard.temp.service.dao; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; + +/** + *

+ * 温度记录表 + *

+ * + * @author System + * @since 2026-03-07 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@TableName("bi_temp_record") +public class BiTempRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键自增 + */ + @TableId(type = IdType.AUTO) + private Integer id; + + /** + * 温度:acs定时获取 + */ + private BigDecimal temp; + + /** + * 记录时间 + */ + private LocalDateTime recordTimee; + + /** + * 记录日期 + */ + private LocalDate recordDatee; +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/dao/mapper/BiTempRecordMapper.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/dao/mapper/BiTempRecordMapper.java new file mode 100644 index 0000000..5138b32 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/dao/mapper/BiTempRecordMapper.java @@ -0,0 +1,29 @@ +package org.nl.wms.biBoard.temp.service.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import org.nl.wms.biBoard.temp.service.dao.BiTempRecord; +import org.nl.wms.biBoard.temp.service.dto.BiTempRecordDto; + +import java.util.Map; + +/** + *

+ * 温度记录表 Mapper 接口 + *

+ * + * @author System + * @since 2026-03-07 + */ +public interface BiTempRecordMapper extends BaseMapper { + + /** + * 温度记录分页查询 + * @param page 分页条件 + * @param whereJson 查询条件 + * @return IPage + */ + IPage queryAllByPage(Page page, @Param("param") Map whereJson); +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/dao/mapper/BiTempRecordMapper.xml b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/dao/mapper/BiTempRecordMapper.xml new file mode 100644 index 0000000..303ca79 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/dao/mapper/BiTempRecordMapper.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/dto/BiTempRecordDto.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/dto/BiTempRecordDto.java new file mode 100644 index 0000000..9c93824 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/dto/BiTempRecordDto.java @@ -0,0 +1,45 @@ +package org.nl.wms.biBoard.temp.service.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + *

+ * 温度记录表 DTO + *

+ * + * @author System + * @since 2026-03-07 + */ +@Data +public class BiTempRecordDto implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键自增 + */ + private Integer id; + + /** + * 温度 + */ + private BigDecimal temp; + + /** + * 记录时间 + */ + private String recordTimee; + + /** + * 记录日期 + */ + private String recordDatee; + + /** + * 记录人 + */ + private String recorder; +} diff --git a/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/impl/BiTempRecordServiceImpl.java b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/impl/BiTempRecordServiceImpl.java new file mode 100644 index 0000000..6ab51e7 --- /dev/null +++ b/wms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/biBoard/temp/service/impl/BiTempRecordServiceImpl.java @@ -0,0 +1,30 @@ +package org.nl.wms.biBoard.temp.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.biBoard.temp.service.IBiTempRecordService; +import org.nl.wms.biBoard.temp.service.dao.BiTempRecord; +import org.nl.wms.biBoard.temp.service.dao.mapper.BiTempRecordMapper; +import org.nl.wms.biBoard.temp.service.dto.BiTempRecordDto; +import org.springframework.stereotype.Service; + +import java.util.Map; + +/** + *

+ * 温度记录表 服务实现类 + *

+ * + * @author System + * @since 2026-03-07 + */ +@Service +public class BiTempRecordServiceImpl extends ServiceImpl implements IBiTempRecordService { + + @Override + public IPage queryAll(Map whereJson, PageQuery page) { + return this.baseMapper.queryAllByPage(new Page<>(page.getPage() + 1, page.getSize()), whereJson); + } +} diff --git a/wms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml b/wms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml index 9894398..7167468 100644 --- a/wms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml +++ b/wms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml @@ -4,11 +4,11 @@ server: nl: config: mysql: - ip: 192.168.81.251 + ip: 127.0.0.1 port: 3306 username: root - password: P@ssw0rd. - database: xujiang_hanyun_wms + password: 123456 + database: xghy_wmsa # ip: 127.0.0.1 # port: 3306 # username: root diff --git a/wms/nladmin-system/nlsso-server/src/main/resources/static/icon/boardImg.png b/wms/nladmin-system/nlsso-server/src/main/resources/static/icon/boardImg.png new file mode 100644 index 0000000..b8a1c83 Binary files /dev/null and b/wms/nladmin-system/nlsso-server/src/main/resources/static/icon/boardImg.png differ diff --git a/wms/nladmin-system/nlsso-server/src/main/resources/static/icon/料箱式AGV.png b/wms/nladmin-system/nlsso-server/src/main/resources/static/icon/料箱式AGV.png new file mode 100644 index 0000000..37bae5b Binary files /dev/null and b/wms/nladmin-system/nlsso-server/src/main/resources/static/icon/料箱式AGV.png differ diff --git a/wms/nladmin-system/nlsso-server/src/main/resources/static/icon/潜伏式AGV.png b/wms/nladmin-system/nlsso-server/src/main/resources/static/icon/潜伏式AGV.png new file mode 100644 index 0000000..37bae5b Binary files /dev/null and b/wms/nladmin-system/nlsso-server/src/main/resources/static/icon/潜伏式AGV.png differ diff --git a/wms/nladmin-ui/src/assets/images/agv.png b/wms/nladmin-ui/src/assets/images/agv.png new file mode 100644 index 0000000..37bae5b Binary files /dev/null and b/wms/nladmin-ui/src/assets/images/agv.png differ diff --git a/wms/nladmin-ui/src/assets/images/boardImg.png b/wms/nladmin-ui/src/assets/images/boardImg.png new file mode 100644 index 0000000..b8a1c83 Binary files /dev/null and b/wms/nladmin-ui/src/assets/images/boardImg.png differ diff --git a/wms/nladmin-ui/src/assets/images/料箱式AGV.png b/wms/nladmin-ui/src/assets/images/料箱式AGV.png new file mode 100644 index 0000000..37bae5b Binary files /dev/null and b/wms/nladmin-ui/src/assets/images/料箱式AGV.png differ diff --git a/wms/nladmin-ui/src/assets/images/潜伏式AGV.png b/wms/nladmin-ui/src/assets/images/潜伏式AGV.png new file mode 100644 index 0000000..37bae5b Binary files /dev/null and b/wms/nladmin-ui/src/assets/images/潜伏式AGV.png differ diff --git a/wms/nladmin-ui/src/views/system/menu/index.vue b/wms/nladmin-ui/src/views/system/menu/index.vue index 0e47c75..f8038a0 100644 --- a/wms/nladmin-ui/src/views/system/menu/index.vue +++ b/wms/nladmin-ui/src/views/system/menu/index.vue @@ -170,7 +170,7 @@ @selection-change="crud.selectionChangeHandler" > - +