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 >= #{now} and create_time < DATE_ADD(#{now}, INTERVAL 1 DAY) </select> </mapper>