maven
20 小时以前 f6e755678fab0ccd8001523d29dc2efaa8d5810c
Merge remote-tracking branch 'origin/dev_New' into dev_New
已添加20个文件
已修改9个文件
992 ■■■■■ 文件已修改
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/controller/QualityInspectController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/controller/SafeCertificationFileController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/controller/SafeHazardController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/controller/SafeHazardRecordController.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/controller/SafeHiddenController.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/controller/SafeHiddenFileController.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/dto/SafeHazardRecordDto.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/dto/SafeHiddenDto.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/mapper/SafeHazardRecordMapper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/mapper/SafeHiddenFileMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/mapper/SafeHiddenMapper.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/pojo/SafeHazard.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/pojo/SafeHazardRecord.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/pojo/SafeHidden.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/pojo/SafeHiddenFile.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/service/SafeHazardRecordService.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/service/SafeHiddenFileService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/service/SafeHiddenService.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/service/impl/SafeHazardRecordServiceImpl.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/service/impl/SafeHiddenFileServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/safe/service/impl/SafeHiddenServiceImpl.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/stock/mapper/StockInventoryMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/safe/SafeHazardRecordMapper.xml 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/safe/SafeHiddenFileMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/safe/SafeHiddenMapper.xml 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/stock/StockInventoryMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -185,15 +185,8 @@
        // èŽ·å–å½“å¤©å…¥åº“æ•°é‡
        LambdaQueryWrapper<ProcurementRecordStorage> procurementRecordStorageLambdaQueryWrapper = new LambdaQueryWrapper<>();
        procurementRecordStorageLambdaQueryWrapper.ge(ProcurementRecordStorage::getCreateTime, now)  // å¤§äºŽç­‰äºŽå½“天
                .lt(ProcurementRecordStorage::getCreateTime, now.plusDays(1)); // å°äºŽæ˜Žå¤©
        List<ProcurementRecordStorage> procurementRecordStorages1 = procurementRecordStorageMapper.selectList(procurementRecordStorageLambdaQueryWrapper);
        BigDecimal stockAmount1 = procurementRecordStorages1.stream()
                .map(ProcurementRecordStorage::getInboundNum)
                .filter(Objects::nonNull)
                .reduce(BigDecimal.ZERO, BigDecimal::add);
        homeBusinessDto.setTodayInventoryNum(stockAmount1.setScale(2, RoundingMode.HALF_UP).toString());
        BigDecimal bigDecimal = stockInventoryMapper.selectTotalByDate(LocalDate.now());
        homeBusinessDto.setTodayInventoryNum(bigDecimal.setScale(2, RoundingMode.HALF_UP).toString());
        return homeBusinessDto;
    }
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -433,6 +433,7 @@
        //批量删除检验标准
        LambdaQueryWrapper<QualityInspect> materialInspectLambdaQueryWrapper = new LambdaQueryWrapper<>();
        materialInspectLambdaQueryWrapper.in(QualityInspect::getPurchaseLedgerId, ids);
        List<QualityInspect> qualityInspects = qualityInspectMapper.selectList(materialInspectLambdaQueryWrapper);
        qualityInspects.stream().forEach(qualityInspect -> {
            if (ObjectUtils.isNotEmpty(qualityInspect.getInspectState())&&qualityInspect.getInspectState().equals(1)) {
src/main/java/com/ruoyi/quality/controller/QualityInspectController.java
@@ -2,10 +2,12 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage;
import com.ruoyi.procurementrecord.service.ProcurementRecordService;
import com.ruoyi.procurementrecord.service.impl.ProcurementRecordServiceImpl;
import com.ruoyi.procurementrecord.utils.StockUtils;
import com.ruoyi.quality.dto.QualityInspectDto;
import com.ruoyi.quality.pojo.QualityInspect;
import com.ruoyi.quality.pojo.QualityInspectFile;
@@ -40,6 +42,8 @@
    private IQualityInspectFileService qualityInspectFileService;
    @Autowired
    private ProcurementRecordService procurementRecordService;
    @Autowired
    private StockUtils stockUtils;
    /**
@@ -69,7 +73,9 @@
        qualityInspectFileService.remove(Wrappers.<QualityInspectFile>lambdaQuery()
        .in(QualityInspectFile::getInspectId,ids));
        //删除入库记录
        procurementRecordService.remove(Wrappers.<ProcurementRecordStorage>lambdaQuery().in(ProcurementRecordStorage::getQualityInspectId,ids));
        for (Integer id : ids) {
            stockUtils.deleteStockRecord(Long.valueOf(id), StockQualifiedRecordTypeEnum.QUALITYINSPECT_STOCK_IN.getCode());
        }
        //删除检验单
        return AjaxResult.success(qualityInspectService.removeBatchByIds(ids));
    }
src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -93,7 +93,7 @@
            qualityUnqualifiedMapper.insert(qualityUnqualified);
        } else {
            //合格直接入库
            stockUtils.addStock(inspect.getProductModelId(), inspect.getQuantity(), StockQualifiedRecordTypeEnum.QUALITYINSPECT_STOCK_IN.getCode(), inspect.getId());
            stockUtils.addStock(qualityInspect.getProductModelId(), qualityInspect.getQuantity(), StockQualifiedRecordTypeEnum.QUALITYINSPECT_STOCK_IN.getCode(), qualityInspect.getId());
        }
        qualityInspect.setInspectState(1);//已提交
        return qualityInspectMapper.updateById(qualityInspect);
src/main/java/com/ruoyi/safe/controller/SafeCertificationFileController.java
@@ -51,7 +51,7 @@
     */
    @DeleteMapping("/del")
    @ApiOperation("删除")
    public R delQualityUnqualified(@RequestBody List<Integer> ids) {
    public R delSafeCertificationFile(@RequestBody List<Integer> ids) {
        if(CollectionUtils.isEmpty(ids)){
            return R.fail("请选择至少一条数据");
        }
src/main/java/com/ruoyi/safe/controller/SafeHazardController.java
@@ -40,11 +40,13 @@
    public R add(@RequestBody SafeHazard safeHazard) {
        return R.ok(safeHazardService.save(safeHazard));
    }
    @ApiOperation("修改危险源台账")
    @PutMapping ()
    public R update(@RequestBody  SafeHazard safeHazard) {
        return R.ok(safeHazardService.updateById(safeHazard));
    }
    @ApiOperation("删除危险源台账")
    @DeleteMapping("/{ids}")
    public R delSafeHazard(@RequestBody List<Integer> ids) {
src/main/java/com/ruoyi/safe/controller/SafeHazardRecordController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
package com.ruoyi.safe.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.safe.dto.SafeHazardRecordDto;
import com.ruoyi.safe.pojo.SafeHazard;
import com.ruoyi.safe.pojo.SafeHazardRecord;
import com.ruoyi.safe.service.SafeHazardRecordService;
import com.ruoyi.safe.service.SafeHazardService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--危险物料管控 å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 01:13:40
 */
@RestController
@RequestMapping("/safeHazardRecord")
@Api(tags = "安全生产--危险物料管控")
public class SafeHazardRecordController {
    @Autowired
    private SafeHazardRecordService safeHazardRecordService;
    @GetMapping("/page")
    @ApiOperation("分页查询")
    public R page(Page page, SafeHazardRecordDto safeHazardRecordDto) {
        return R.ok(safeHazardRecordService.pageSafeHazardRecord(page, safeHazardRecordDto));
    }
    @ApiOperation("领用")
    @PostMapping("/borrow")
    public R borrow(@RequestBody SafeHazardRecord safeHazardRecord) {
        return R.ok(safeHazardRecordService.borrow(safeHazardRecord));
    }
    @ApiOperation("归还")
    @PutMapping("/return")
    public R returnSafeHazardRecord(@RequestBody  SafeHazardRecord safeHazardRecord) {
        return R.ok(safeHazardRecordService.returnSafeHazardRecord(safeHazardRecord));
    }
    @ApiOperation("删除")
    @DeleteMapping("/{ids}")
    public R delSafeHazardRecord(@RequestBody List<Integer> ids) {
        return R.ok(safeHazardRecordService.delSafeHazardRecord(ids));
    }
}
src/main/java/com/ruoyi/safe/controller/SafeHiddenController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
package com.ruoyi.safe.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.safe.dto.SafeHiddenDto;
import com.ruoyi.safe.pojo.SafeHazard;
import com.ruoyi.safe.pojo.SafeHidden;
import com.ruoyi.safe.service.SafeHazardService;
import com.ruoyi.safe.service.SafeHiddenService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--隐患排查上报 å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 11:10:54
 */
@RestController
@RequestMapping("/safeHidden")
@Api(tags = "安全生产--隐患排查上报")
public class SafeHiddenController {
    @Autowired
    private SafeHiddenService safeHiddenService;
    @GetMapping("/page")
    @ApiOperation("分页查询")
    public R page(Page page, SafeHiddenDto safeHiddenDto) {
        return R.ok(safeHiddenService.pageSafeHidden(page, safeHiddenDto));
    }
    @ApiOperation("新增隐患排查")
    @PostMapping()
    public R add(@RequestBody SafeHidden safeHidden) {
        return R.ok(safeHiddenService.add(safeHidden));
    }
    @ApiOperation("修改隐患排查(整改/验收)")
    @PutMapping ()
    public R update(@RequestBody SafeHidden safeHidden) {
        return R.ok(safeHiddenService.updateById(safeHidden));
    }
    @ApiOperation("删除隐患排查")
    @DeleteMapping("/{ids}")
    public R delSafeHidden(@RequestBody List<Integer> ids) {
        return R.ok(safeHiddenService.delSafeHidden(ids));
    }
}
src/main/java/com/ruoyi/safe/controller/SafeHiddenFileController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,71 @@
package com.ruoyi.safe.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.safe.pojo.SafeHiddenFile;
import com.ruoyi.safe.service.SafeHiddenFileService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--隐患排查上报--附件 å‰ç«¯æŽ§åˆ¶å™¨
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 11:50:05
 */
@RestController
@RequestMapping("/safeHiddenFile")
@Api(tags = "安全生产--隐患排查上报--附件")
public class SafeHiddenFileController {
    @Resource
    private SafeHiddenFileService safeHiddenFileService;
    /**
     * æ–°å¢ž
     * @param safeHiddenFile
     * @return
     */
    @PostMapping("/add")
    @ApiOperation("新增")
    public R add(@RequestBody SafeHiddenFile safeHiddenFile) {
        return R.ok(safeHiddenFileService.save(safeHiddenFile));
    }
    /**
     * åˆ é™¤
     * @param ids
     * @return
     */
    @DeleteMapping("/del")
    @ApiOperation("删除")
    public R delSafeHiddenFile(@RequestBody List<Integer> ids) {
        if(CollectionUtils.isEmpty(ids)){
            return R.fail("请选择至少一条数据");
        }
        //删除检验附件
        return R.ok(safeHiddenFileService.removeBatchByIds(ids));
    }
    /**
     *分页查询
     * @param page
     * @param safeHiddenFile
     * @return
     */
    @GetMapping("/listPage")
    @ApiOperation("分页查询")
    public R listPage(Page page, SafeHiddenFile safeHiddenFile) {
        return R.ok(safeHiddenFileService.page(page, Wrappers.<SafeHiddenFile>lambdaQuery().eq(SafeHiddenFile::getSafeHiddenId,safeHiddenFile.getSafeHiddenId())));
    }
}
src/main/java/com/ruoyi/safe/dto/SafeHazardRecordDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
package com.ruoyi.safe.dto;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.safe.pojo.SafeHazardRecord;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
public class SafeHazardRecordDto extends SafeHazardRecord {
    @ApiModelProperty("领用人")
    private String applyUserName;
    @ApiModelProperty("归还人")
    private String returnUserName;
    @ApiModelProperty("危险源名称")
    private String name;
    @ApiModelProperty("危险源编码")
    private String code;
    @ApiModelProperty("危险源类型")
    private String type;
    @ApiModelProperty("风险等级")
    private String riskLevel;
    @ApiModelProperty("所在位置")
    private String location;
}
src/main/java/com/ruoyi/safe/dto/SafeHiddenDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.ruoyi.safe.dto;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.safe.pojo.SafeHidden;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
public class SafeHiddenDto extends SafeHidden {
    @ApiModelProperty("上报人")
    private String createUserName;
    @ApiModelProperty("整改责任人")
    private String rectifyUserName;
    @ApiModelProperty("验收人")
    private String verifyUserName;
}
src/main/java/com/ruoyi/safe/mapper/SafeHazardRecordMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package com.ruoyi.safe.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.safe.dto.SafeHazardRecordDto;
import com.ruoyi.safe.pojo.SafeHazardRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--危险物料管控 Mapper æŽ¥å£
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 01:13:40
 */
@Mapper
public interface SafeHazardRecordMapper extends BaseMapper<SafeHazardRecord> {
    IPage<SafeHazardRecordDto> pageSafeHazardRecord(Page page, @Param("c") SafeHazardRecordDto safeHazardRecordDto);
}
src/main/java/com/ruoyi/safe/mapper/SafeHiddenFileMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package com.ruoyi.safe.mapper;
import com.ruoyi.safe.pojo.SafeHiddenFile;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--隐患排查上报--附件 Mapper æŽ¥å£
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 11:50:05
 */
@Mapper
public interface SafeHiddenFileMapper extends BaseMapper<SafeHiddenFile> {
}
src/main/java/com/ruoyi/safe/mapper/SafeHiddenMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package com.ruoyi.safe.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.safe.dto.SafeHiddenDto;
import com.ruoyi.safe.pojo.SafeHidden;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--隐患排查上报 Mapper æŽ¥å£
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 11:10:54
 */
@Mapper
public interface SafeHiddenMapper extends BaseMapper<SafeHidden> {
    IPage<SafeHiddenDto> pageSafeHidden(Page page, @Param("c") SafeHiddenDto safeHiddenDto);
}
src/main/java/com/ruoyi/safe/pojo/SafeHazard.java
@@ -8,10 +8,13 @@
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
/**
 * <p>
@@ -70,12 +73,16 @@
    private String remark;
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
src/main/java/com/ruoyi/safe/pojo/SafeHazardRecord.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
package com.ruoyi.safe.pojo;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--危险物料管控
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 01:13:40
 */
@Getter
@Setter
@TableName("safe_hazard_record")
@ApiModel(value = "SafeHazardRecord对象", description = "安全生产--危险物料管控")
public class SafeHazardRecord implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty("单号")
    private String materialRecordCode;
    @ApiModelProperty("关联危险源台账 ID")
    private Integer safeHazardId;
    @ApiModelProperty("领用人 ID")
    private Integer applyUserId;
    @ApiModelProperty("领用时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate applyTime;
    @ApiModelProperty("领用数量")
    private BigDecimal applyQty;
    @ApiModelProperty("领用用途")
    private String applyPurpose;
    @ApiModelProperty("归还人 ID")
    private Integer returnUserId;
    @ApiModelProperty("归还时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate returnTime;
    @ApiModelProperty("归还情况说明")
    private String returnRemark;
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer updateUser;
    @TableField(fill = FieldFill.INSERT)
    private Integer tenantId;
}
src/main/java/com/ruoyi/safe/pojo/SafeHidden.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,110 @@
package com.ruoyi.safe.pojo;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotBlank;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--隐患排查上报
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 11:10:54
 */
@Getter
@Setter
@TableName("safe_hidden")
@ApiModel(value = "SafeHidden对象", description = "安全生产--隐患排查上报")
public class SafeHidden implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty("隐患编号")
    private String hiddenCode;
    @ApiModelProperty("隐患类型")
    private String type;
    @ApiModelProperty("隐患风险等级")
    private String riskLevel;
    @ApiModelProperty("隐患具体位置")
    private String location;
    @ApiModelProperty("隐患描述")
    private String hiddenDesc;
    @ApiModelProperty("整改责任人 ID")
    @NotBlank(message = "整改责任人不能为空")
    private Integer rectifyUserId;
    @ApiModelProperty("整改人联系电话")
    private String rectifyUserMobile;
    @ApiModelProperty("整改完成期限(日期)")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @NotBlank(message = "整改完成期限不能为空")
    private LocalDate rectifyTime;
    @ApiModelProperty("整改具体措施")
    private String rectifyMeasures;
    @ApiModelProperty("实际整改完成时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate rectifyActualTime;
    @ApiModelProperty("验收人 ID")
    private Integer verifyUserId;
    @ApiModelProperty("验收结果")
    private String verifyResult;
    @ApiModelProperty("验收意见")
    private String verifyRemark;
    @ApiModelProperty("验收时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate verifyTime;
    @ApiModelProperty("上报时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    @ApiModelProperty("上报人id")
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer updateUser;
    @TableField(fill = FieldFill.INSERT)
    private Integer tenantId;
}
src/main/java/com/ruoyi/safe/pojo/SafeHiddenFile.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
package com.ruoyi.safe.pojo;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--隐患排查上报--附件
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 11:50:05
 */
@Getter
@Setter
@TableName("safe_hidden_file")
@ApiModel(value = "SafeHiddenFile对象", description = "安全生产--隐患排查上报--附件")
public class SafeHiddenFile implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    @ApiModelProperty("关联隐患排查上报id")
    private Integer safeHiddenId;
    private String name;
    private String url;
    private Object fileSize;
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer updateUser;
    @TableField(fill = FieldFill.INSERT)
    private Integer tenantId;
}
src/main/java/com/ruoyi/safe/service/SafeHazardRecordService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.ruoyi.safe.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.safe.dto.SafeHazardRecordDto;
import com.ruoyi.safe.pojo.SafeHazardRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--危险物料管控 æœåŠ¡ç±»
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 01:13:40
 */
public interface SafeHazardRecordService extends IService<SafeHazardRecord> {
    IPage<SafeHazardRecordDto> pageSafeHazardRecord(Page page, SafeHazardRecordDto safeHazardRecordDto);
    int borrow(SafeHazardRecord safeHazardRecord);
    int returnSafeHazardRecord(SafeHazardRecord safeHazardRecord);
    int delSafeHazardRecord(List<Integer> ids);
}
src/main/java/com/ruoyi/safe/service/SafeHiddenFileService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.ruoyi.safe.service;
import com.ruoyi.safe.pojo.SafeHiddenFile;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--隐患排查上报--附件 æœåŠ¡ç±»
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 11:50:05
 */
public interface SafeHiddenFileService extends IService<SafeHiddenFile> {
}
src/main/java/com/ruoyi/safe/service/SafeHiddenService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,26 @@
package com.ruoyi.safe.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.safe.dto.SafeHiddenDto;
import com.ruoyi.safe.pojo.SafeHidden;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--隐患排查上报 æœåŠ¡ç±»
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 11:10:54
 */
public interface SafeHiddenService extends IService<SafeHidden> {
    IPage<SafeHiddenDto> pageSafeHidden(Page page, SafeHiddenDto safeHiddenDto);
    int add(SafeHidden safeHidden);
    int delSafeHidden(List<Integer> ids);
}
src/main/java/com/ruoyi/safe/service/impl/SafeHazardRecordServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,88 @@
package com.ruoyi.safe.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.safe.dto.SafeHazardRecordDto;
import com.ruoyi.safe.mapper.SafeHazardMapper;
import com.ruoyi.safe.pojo.SafeHazard;
import com.ruoyi.safe.pojo.SafeHazardRecord;
import com.ruoyi.safe.mapper.SafeHazardRecordMapper;
import com.ruoyi.safe.service.SafeHazardRecordService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.util.List;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--危险物料管控 æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 01:13:40
 */
@Service
@Transactional(rollbackFor = Exception.class)
public class SafeHazardRecordServiceImpl extends ServiceImpl<SafeHazardRecordMapper, SafeHazardRecord> implements SafeHazardRecordService {
    @Autowired
    private SafeHazardRecordMapper safeHazardRecordMapper;
    @Autowired
    private SafeHazardMapper safeHazardMapper;
    @Override
    public IPage<SafeHazardRecordDto> pageSafeHazardRecord(Page page, SafeHazardRecordDto safeHazardRecordDto) {
        return safeHazardRecordMapper.pageSafeHazardRecord(page, safeHazardRecordDto);
    }
    @Override
    public int borrow(SafeHazardRecord safeHazardRecord) {
        //判断数量是否满足
        SafeHazard safeHazard = safeHazardMapper.selectById(safeHazardRecord.getSafeHazardId());
        if (safeHazard.getStockQty().compareTo(safeHazardRecord.getApplyQty())<0) {
            throw new RuntimeException("库存数量不足");
        }
        //领用
        safeHazardRecord.setApplyUserId(SecurityUtils.getUserId().intValue());
        safeHazardRecord.setApplyTime(LocalDate.now());
        safeHazardRecordMapper.insert(safeHazardRecord);
        //减库存
        safeHazard.setStockQty(safeHazard.getStockQty().subtract(safeHazardRecord.getApplyQty()));
        safeHazardMapper.updateById(safeHazard);
        return 0;
    }
    @Override
    public int returnSafeHazardRecord(SafeHazardRecord safeHazardRecord) {
        SafeHazard safeHazard = safeHazardMapper.selectById(safeHazardRecord.getSafeHazardId());
        //归还
        safeHazardRecord.setReturnUserId(SecurityUtils.getUserId().intValue());
        safeHazardRecord.setReturnTime(LocalDate.now());
        safeHazardRecordMapper.updateById(safeHazardRecord);
        //增库存
        safeHazard.setStockQty(safeHazard.getStockQty().add(safeHazardRecord.getApplyQty()));
        safeHazardMapper.updateById(safeHazard);
        return 0;
    }
    @Override
    public int delSafeHazardRecord(List<Integer> ids) {
        List<SafeHazardRecord> safeHazardRecords = safeHazardRecordMapper.selectBatchIds(ids);
        for (SafeHazardRecord safeHazardRecord : safeHazardRecords) {
            //判断是否有归还
            if (ObjectUtils.isNull(safeHazardRecord.getReturnUserId())){
                //没有归还,删除领用记录需要增加库存
                SafeHazard safeHazard = safeHazardMapper.selectById(safeHazardRecord.getSafeHazardId());
                safeHazard.setStockQty(safeHazard.getStockQty().add(safeHazardRecord.getApplyQty()));
                safeHazardMapper.updateById(safeHazard);
            }
        }
        safeHazardRecordMapper.deleteBatchIds(ids);
        return 0;
    }
}
src/main/java/com/ruoyi/safe/service/impl/SafeHiddenFileServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.ruoyi.safe.service.impl;
import com.ruoyi.safe.pojo.SafeHiddenFile;
import com.ruoyi.safe.mapper.SafeHiddenFileMapper;
import com.ruoyi.safe.service.SafeHiddenFileService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--隐患排查上报--附件 æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 11:50:05
 */
@Service
public class SafeHiddenFileServiceImpl extends ServiceImpl<SafeHiddenFileMapper, SafeHiddenFile> implements SafeHiddenFileService {
}
src/main/java/com/ruoyi/safe/service/impl/SafeHiddenServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,79 @@
package com.ruoyi.safe.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.project.system.domain.SysNotice;
import com.ruoyi.project.system.mapper.SysNoticeMapper;
import com.ruoyi.project.system.service.ISysNoticeService;
import com.ruoyi.project.system.service.impl.SysNoticeServiceImpl;
import com.ruoyi.safe.dto.SafeHiddenDto;
import com.ruoyi.safe.pojo.SafeHidden;
import com.ruoyi.safe.mapper.SafeHiddenMapper;
import com.ruoyi.safe.service.SafeHiddenService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.List;
/**
 * <p>
 * å®‰å…¨ç”Ÿäº§--隐患排查上报 æœåŠ¡å®žçŽ°ç±»
 * </p>
 *
 * @author èŠ¯å¯¼è½¯ä»¶ï¼ˆæ±Ÿè‹ï¼‰æœ‰é™å…¬å¸
 * @since 2026-01-28 11:10:54
 */
@Service
@Transactional(rollbackFor = Exception.class)
public class SafeHiddenServiceImpl extends ServiceImpl<SafeHiddenMapper, SafeHidden> implements SafeHiddenService {
    @Autowired
    private SafeHiddenMapper safeHiddenMapper;
    @Autowired
    private ISysNoticeService sysNoticeService;
    @Override
    public IPage<SafeHiddenDto> pageSafeHidden(Page page, SafeHiddenDto safeHiddenDto) {
        return safeHiddenMapper.pageSafeHidden(page, safeHiddenDto);
    }
    @Override
    public int add(SafeHidden safeHidden) {
        safeHiddenMapper.insert(safeHidden);
        String datePrefix = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
        String no = "YH" + String.format("%s%03d", datePrefix, safeHidden.getId());
        safeHidden.setHiddenCode(no);
        safeHiddenMapper.updateById(safeHidden);
        //消息通知
        sysNoticeService.simpleNoticeByUser("隐患排查上报整改",
                "隐患类型:"+safeHidden.getType()+"\n"+
                        "隐患风险等级:"+safeHidden.getRiskLevel()+"\n"+
                        "隐患具体位置:"+safeHidden.getLocation()+"\n"+
                        "隐患描述:"+safeHidden.getHiddenDesc()+"\n"+
                        "整改完成期限(日期):"+safeHidden.getRectifyTime(),
                Arrays.asList(Long.valueOf(safeHidden.getRectifyUserId())),
                "/collaborativeApproval/approvalProcess?id=" + safeHidden.getId());
        return 0;
    }
    @Override
    public int delSafeHidden(List<Integer> ids) {
        List<SafeHidden> safeHiddens = safeHiddenMapper.selectBatchIds(ids);
        for (SafeHidden safeHidden : safeHiddens) {
            //  åˆ é™¤å¯¹åº”的消息通知
            sysNoticeService.remove(new LambdaQueryWrapper<SysNotice>()
                    .eq(SysNotice::getNoticeTitle, "隐患排查上报整改")
                    .eq(SysNotice::getSenderId, safeHidden.getCreateUser())
                    .apply("CAST(notice_content AS CHAR) LIKE CONCAT('%', {0}, '%')", safeHidden.getId()));
        }
        safeHiddenMapper.deleteBatchIds(ids);
        return 0;
    }
}
src/main/java/com/ruoyi/stock/mapper/StockInventoryMapper.java
@@ -11,6 +11,7 @@
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
/**
@@ -39,4 +40,5 @@
    BigDecimal selectTotal();
    BigDecimal selectTotalByDate( @Param("now") LocalDate now);
}
src/main/resources/mapper/safe/SafeHazardRecordMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.safe.mapper.SafeHazardRecordMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeHazardRecord">
        <id column="id" property="id" />
        <result column="material_record_code" property="materialRecordCode" />
        <result column="safe_hazard_id" property="safeHazardId" />
        <result column="apply_user_id" property="applyUserId" />
        <result column="apply_time" property="applyTime" />
        <result column="apply_qty" property="applyQty" />
        <result column="apply_purpose" property="applyPurpose" />
        <result column="return_user_id" property="returnUserId" />
        <result column="return_time" property="returnTime" />
        <result column="return_remark" property="returnRemark" />
        <result column="create_time" property="createTime" />
        <result column="create_user" property="createUser" />
        <result column="update_time" property="updateTime" />
        <result column="update_user" property="updateUser" />
        <result column="tenant_id" property="tenantId" />
    </resultMap>
    <select id="pageSafeHazardRecord" resultType="com.ruoyi.safe.dto.SafeHazardRecordDto">
        select shr.*,
               su1.nick_name applyUserName,
               su2.nick_name returnUserName,
               sh.name,
               sh.code,
               sh.type,
               sh.risk_level,
               sh.location
               from safe_hazard_record shr
        left join sys_user su1 on shr.apply_user_id = su1.user_id
        left join sys_user su2 on shr.return_user_id = su2.user_id
        left join safe_hazard sh on shr.safe_hazard_id = sh.id
        where 1=1
        <if test="c.materialRecordCode != null and c.materialRecordCode != ''">
            and shr.material_record_code like concat('%', #{c.materialRecordCode}, '%')
        </if>
         <if test="c.name != null and c.name != ''">
            and sh.name like concat('%', #{c.name}, '%')
        </if>
        <if test="c.code != null and c.code != ''">
            and sh.code like concat('%', #{c.code}, '%')
        </if>
        <if test="c.type != null and c.type != ''">
            and sh.type like concat('%', #{c.type}, '%')
        </if>
        <if test="c.riskLevel != null and c.riskLevel != ''">
            and sh.risk_level like concat('%', #{c.riskLevel}, '%')
        </if>
    </select>
</mapper>
src/main/resources/mapper/safe/SafeHiddenFileMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.safe.mapper.SafeHiddenFileMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeHiddenFile">
        <id column="id" property="id" />
        <result column="safe_hidden_id" property="safeHiddenId" />
        <result column="name" property="name" />
        <result column="url" property="url" />
        <result column="file_size" property="fileSize" />
        <result column="create_time" property="createTime" />
        <result column="create_user" property="createUser" />
        <result column="update_time" property="updateTime" />
        <result column="update_user" property="updateUser" />
        <result column="tenant_id" property="tenantId" />
    </resultMap>
</mapper>
src/main/resources/mapper/safe/SafeHiddenMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.safe.mapper.SafeHiddenMapper">
    <!-- é€šç”¨æŸ¥è¯¢æ˜ å°„结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeHidden">
        <id column="id" property="id" />
        <result column="hidden_code" property="hiddenCode" />
        <result column="type" property="type" />
        <result column="risk_level" property="riskLevel" />
        <result column="location" property="location" />
        <result column="hidden_desc" property="hiddenDesc" />
        <result column="rectify_user_id" property="rectifyUserId" />
        <result column="rectify_user_mobile" property="rectifyUserMobile" />
        <result column="rectify_time" property="rectifyTime" />
        <result column="rectify_measures" property="rectifyMeasures" />
        <result column="rectify_actual_time" property="rectifyActualTime" />
        <result column="verify_user_id" property="verifyUserId" />
        <result column="verify_result" property="verifyResult" />
        <result column="verify_remark" property="verifyRemark" />
        <result column="verify_time" property="verifyTime" />
        <result column="create_time" property="createTime" />
        <result column="create_user" property="createUser" />
        <result column="update_time" property="updateTime" />
        <result column="update_user" property="updateUser" />
        <result column="tenant_id" property="tenantId" />
    </resultMap>
    <select id="pageSafeHidden" resultType="com.ruoyi.safe.dto.SafeHiddenDto">
        select sh.*,
               su1.nick_name createUserName,
               su2.nick_name rectifyUserName,
               su3.nick_name verifyUserName
        from safe_hidden sh
        left join sys_user su1 on sh.create_user = su1.user_id
        left join sys_user su2 on sh.rectify_user_id = su2.user_id
        left join sys_user su3 on sh.verify_user_id = su3.user_id
        where 1=1
        <if test="c.type != null and c.type != ''">
            and sh.type like concat('%', #{c.type}, '%')
        </if>
        <if test="c.riskLevel != null and c.riskLevel != ''">
            and sh.risk_level like concat('%', #{c.riskLevel}, '%')
        </if>
    </select>
</mapper>
src/main/resources/mapper/stock/StockInventoryMapper.xml
@@ -188,5 +188,11 @@
        select ifnull(sum(qualitity),0)
        from stock_inventory
    </select>
    <select id="selectTotalByDate" resultType="java.math.BigDecimal">
        select sum(qualitity)
        from stock_inventory
        where
           create_time &gt;= #{now} and create_time &lt; DATE_ADD(#{now}, INTERVAL 1 DAY)
    </select>
</mapper>