chenrui
2025-04-02 9f6292334cf2634772b8ef147255f8d207fde15f
标准库功能修改备份开发
已修改9个文件
已添加1个文件
135 ■■■■■ 文件已修改
basic-server/src/main/java/com/ruoyi/basic/controller/StandardProductListUpdateRecordController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/dto/StandardProductListUpdateRecordDto.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListUpdateRecordMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductListUpdateRecord.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListUpdateRecordService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListUpdateRecordServiceImpl.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/resources/mapper/StandardProductListMapper.xml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/resources/mapper/StandardProductListUpdateRecordMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/controller/StandardProductListUpdateRecordController.java
@@ -42,4 +42,11 @@
        return Result.success(standardProductListUpdateRecordService.standardProductListRecordRelPage(page,standardProductListUpdateRecordRel));
    }
    @ApiOperation(value = "标准树下修改记录文件上传")
    @PostMapping("/uploadRecordFile")
    public Result uploadRecordFile(@RequestParam("file") MultipartFile file,Long recordId) {
        standardProductListUpdateRecordService.uploadRecordFile(file,recordId);
        return Result.success();
    }
}
basic-server/src/main/java/com/ruoyi/basic/dto/StandardProductListUpdateRecordDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,31 @@
package com.ruoyi.basic.dto;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruoyi.basic.pojo.StandardProductListUpdateRecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * æ ‡å‡†æ ‘下的检验项目修改记录
 *
 */
@TableName(value ="standard_product_list_update_record")
@Data
public class StandardProductListUpdateRecordDto extends StandardProductListUpdateRecord {
    /**
     * åˆ›å»ºç”¨æˆ·åç§°
     */
   private String createUserName;
    /**
     * ä¿®æ”¹ç”¨æˆ·åç§°
     */
   private String updateUserName;
}
basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListMapper.java
@@ -71,7 +71,7 @@
     */
    void saveBatchProductLists(@Param("productLists") List<StandardProductList> productLists);
    void updateProductListCheckStatus(@Param("ids") List<Long> ids,String checkStatus);
    void updateProductListCheckStatus(@Param("ids") List<Long> ids,@Param("checkStatus") String checkStatus);
}
basic-server/src/main/java/com/ruoyi/basic/mapper/StandardProductListUpdateRecordMapper.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.StandardProductListUpdateRecordDto;
import com.ruoyi.basic.pojo.StandardProductListUpdateRecord;
import org.apache.ibatis.annotations.Param;
@@ -22,7 +23,7 @@
     * @param ew
     * @return
     */
    IPage<StandardProductListUpdateRecord> standardProductListRecordPage(Page page, @Param("ew") QueryWrapper<StandardProductListUpdateRecord> ew);
    IPage<StandardProductListUpdateRecordDto> standardProductListRecordPage(Page page, @Param("ew") QueryWrapper<StandardProductListUpdateRecord> ew);
}
basic-server/src/main/java/com/ruoyi/basic/pojo/StandardProductListUpdateRecord.java
@@ -57,4 +57,13 @@
    @ApiModelProperty("备注")
    private String remark;
    @ApiModelProperty("文件路径")
    private String filePath;
    @ApiModelProperty("文件名称")
    private String fileName;
    @ApiModelProperty("文件预览地址")
    private String filePreviewPath;
}
basic-server/src/main/java/com/ruoyi/basic/service/StandardProductListUpdateRecordService.java
@@ -6,9 +6,11 @@
import com.ruoyi.basic.dto.CopyStandardProductListDto;
import com.ruoyi.basic.dto.InsSampleReceiveDto;
import com.ruoyi.basic.dto.ResetTreeDragDTO;
import com.ruoyi.basic.dto.StandardProductListUpdateRecordDto;
import com.ruoyi.basic.pojo.StandardProductList;
import com.ruoyi.basic.pojo.StandardProductListUpdateRecord;
import com.ruoyi.basic.pojo.StandardProductListUpdateRecordRel;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
@@ -26,7 +28,7 @@
     * @param record
     * @return
     */
    IPage<StandardProductListUpdateRecord> standardProductListRecordPage(Page page, StandardProductListUpdateRecord record);
    IPage<StandardProductListUpdateRecordDto> standardProductListRecordPage(Page page, StandardProductListUpdateRecord record);
    /**
     * æ ‡å‡†æ ‘下检验项修改记录分页查询
@@ -35,4 +37,12 @@
     * @return
     */
    IPage<StandardProductListUpdateRecordRel> standardProductListRecordRelPage(Page page, StandardProductListUpdateRecordRel standardProductListUpdateRecordRel);
    /**
     * æ ‡å‡†æ ‘下修改记录文件上传
     *
     * @param file
     * @param recordId
     */
    void uploadRecordFile(MultipartFile file,Long recordId);
}
basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListServiceImpl.java
@@ -489,6 +489,24 @@
     */
    @Override
    public boolean updateSection(StandardProductList list) {
        // æ ¹æ®id æŸ¥è¯¢åˆ°åŽŸå§‹å€¼
        StandardProductList standardProductList = standardProductListMapper.selectById(list.getId());
        if(ObjectUtils.isEmpty(standardProductList)){
            throw new RuntimeException("更新失败,未查找到检查项");
        }
        // åˆ¤æ–­å½“前状态 å¦‚果是审核中
        if(StandardProductListChcekTypeEnums.CHECK_ING.getCode().equals(list.getCheckStatus())){
            throw new RuntimeException("审核中不支持修改");
        }
        // æŸ¥è¯¢æœ€æ–°çš„一次关联备份 å¦‚果存在说明未审核完继续修改了。不做数据处理。
        StandardProductListBackupRel standardProductListBackupRel = standardProductListBackupRelMapper.selectById(list.getId());
        if(ObjectUtils.isEmpty(standardProductListBackupRel)){
            StandardProductListBackupRel productListBackupRel = new StandardProductListBackupRel();
            BeanUtils.copyProperties(standardProductList, productListBackupRel);
            standardProductListBackupRelMapper.insert(productListBackupRel);
        }
        // ä¿®æ”¹çŠ¶æ€
        list.setCheckStatus(StandardProductListChcekTypeEnums.WAIT_CHECK.getCode());
        standardProductListMapper.updateSection(list);
        return true;
    }
basic-server/src/main/java/com/ruoyi/basic/service/impl/StandardProductListUpdateRecordServiceImpl.java
@@ -10,21 +10,27 @@
import com.ruoyi.basic.dto.CopyStandardProductListDto;
import com.ruoyi.basic.dto.InsSampleReceiveDto;
import com.ruoyi.basic.dto.ResetTreeDragDTO;
import com.ruoyi.basic.dto.StandardProductListUpdateRecordDto;
import com.ruoyi.basic.enums.StandardProductListChcekTypeEnums;
import com.ruoyi.basic.mapper.*;
import com.ruoyi.basic.pojo.*;
import com.ruoyi.basic.service.StandardMethodListService;
import com.ruoyi.basic.service.StandardProductListService;
import com.ruoyi.basic.service.StandardProductListUpdateRecordService;
import com.ruoyi.common.core.domain.MinioResult;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.file.MinioUtils;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import java.util.regex.Matcher;
@@ -37,7 +43,6 @@
 * @createDate 2024-03-05 10:33:29
 */
@Service
@AllArgsConstructor
public class StandardProductListUpdateRecordServiceImpl extends ServiceImpl<StandardProductListUpdateRecordMapper, StandardProductListUpdateRecord>
        implements StandardProductListUpdateRecordService {
@@ -47,6 +52,12 @@
    @Autowired
    private StandardProductListUpdateRecordRelMapper standardProductListUpdateRecordRelMapper;
    @Resource
    private MinioUtils minioUtils;
    @Value("${minio.bucketName}")
    private String bucketName;
    /**
     * æ ‡å‡†æ ‘下检验项修改记录分页查询
     * @param page
@@ -54,7 +65,7 @@
     * @return
     */
    @Override
    public IPage<StandardProductListUpdateRecord> standardProductListRecordPage(Page page, StandardProductListUpdateRecord record) {
    public IPage<StandardProductListUpdateRecordDto> standardProductListRecordPage(Page page, StandardProductListUpdateRecord record) {
        return standardProductListUpdateRecordMapper.standardProductListRecordPage(page,QueryWrappers.queryWrappers(record));
    }
@@ -69,6 +80,27 @@
        return standardProductListUpdateRecordRelMapper.standardProductListRecordRelPage(page,QueryWrappers.queryWrappers(standardProductListUpdateRecordRel));
    }
    /**
     * æ ‡å‡†æ ‘下修改记录文件上传
     *
     * @param file
     * @param recordId
     */
    @Override
    public void uploadRecordFile(MultipartFile file, Long recordId) {
        try {
            MinioResult result = minioUtils.upload(bucketName, file, true);
            // ä¿å­˜è·¯å¾„
            StandardProductListUpdateRecord standardProductListUpdateRecord = new StandardProductListUpdateRecord();
            standardProductListUpdateRecord.setId(recordId);
            standardProductListUpdateRecord.setFileName(result.getOriginalName());
            standardProductListUpdateRecord.setFilePath(result.getBucketFileName());
            standardProductListUpdateRecord.setFilePreviewPath(result.getPreviewExpiry());
            standardProductListUpdateRecordMapper.updateById(standardProductListUpdateRecord);
        }catch (Exception e){
            throw new RuntimeException("文件上传失败");
        }
    }
}
basic-server/src/main/resources/mapper/StandardProductListMapper.xml
@@ -30,11 +30,11 @@
    <!-- æ‰¹é‡æ·»åŠ æ£€æµ‹æ ‡å‡† -->
    <insert id="saveBatchProductLists">
        INSERT INTO standard_product_list (id, inspection_item, inspection_item_en, inspection_item_subclass, inspection_item_subclass_en, factory, laboratory, sample_type, sample, model, son_laboratory, unit, price, man_hour, man_hour_group, inspection_item_type, inspection_value_type, checkout_number, section, cores, method, method_s, man_day, bsm, ask, tell, standard_method_list_id, template_id, state, dic, tree, structure_item_parameter_id, inspection_item_class, inspection_item_class_en, radius, radius_list, rates, sort, conductor_material, conductor_type)
        INSERT INTO standard_product_list (id, inspection_item, inspection_item_en, inspection_item_subclass, inspection_item_subclass_en, factory, laboratory, sample_type, sample, model, son_laboratory, unit, price, man_hour, man_hour_group, inspection_item_type, inspection_value_type, checkout_number, section, cores, method, method_s, man_day, bsm, ask, tell, standard_method_list_id, template_id, state, dic, tree, structure_item_parameter_id, inspection_item_class, inspection_item_class_en, radius, radius_list, rates, sort, conductor_material, conductor_type, check_status)
        VALUES
        <foreach item="item" collection="productLists" open="(" separator="),(" close=")">
            #{item.id}, #{item.inspectionItem}, #{item.inspectionItemEn}, #{item.inspectionItemSubclass}, #{item.inspectionItemSubclassEn}, #{item.factory}, #{item.sonLaboratory}, #{item.sampleType}, #{item.sample}, #{item.model}, #{item.sonLaboratory}, #{item.unit}, #{item.price}, #{item.manHour}, #{item.manHourGroup}, #{item.inspectionItemType}, #{item.inspectionValueType}, #{item.checkoutNumber}, #{item.section}, #{item.cores}, #{item.method}, #{item.methodS}, #{item.manDay}, #{item.bsm}, #{item.ask}, #{item.tell}, #{item.standardMethodListId}, #{item.templateId}, #{item.state}, #{item.dic}, #{item.tree}, #{item.structureItemParameterId},
            #{item.inspectionItemClass}, #{item.inspectionItemClassEn}, #{item.radius}, #{item.radiusList}, #{item.rates}, #{item.sort}, #{item.conductorMaterial}, #{item.conductorType}
            #{item.inspectionItemClass}, #{item.inspectionItemClassEn}, #{item.radius}, #{item.radiusList}, #{item.rates}, #{item.sort}, #{item.conductorMaterial}, #{item.conductorType}, #{item.checkStatus}
        </foreach>
    </insert>
@@ -51,7 +51,8 @@
            ask=#{productList.ask},
            tell=#{productList.tell},
            update_user=#{productList.updateUser},
            update_time=#{productList.updateTime}
            update_time=#{productList.updateTime},
            check_status=#{checkStatus}
        WHERE id = #{productList.id}
    </update>
    <update id="updateSortUp">
@@ -158,7 +159,7 @@
    <update id="updateProductListCheckStatus">
        UPDATE standard_product_list SET check_status = #{checkStatus}
        WHERE ID IN
        <foreach collection="ids" open="(" close=")" item="item">
        <foreach collection="ids" open="(" close=")" item="item" separator=",">
            #{item}
        </foreach>
    </update>
basic-server/src/main/resources/mapper/StandardProductListUpdateRecordMapper.xml
@@ -3,8 +3,12 @@
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.basic.mapper.StandardProductListUpdateRecordMapper">
    <select id="standardProductListRecordPage" resultType="com.ruoyi.basic.pojo.StandardProductListUpdateRecord">
        select * from standard_product_list_update_record
    <select id="standardProductListRecordPage" resultType="com.ruoyi.basic.dto.StandardProductListUpdateRecordDto">
        SELECT *,
        ( SELECT NAME FROM `user` WHERE id = create_user ) AS createUserName,
        ( SELECT NAME FROM `user` WHERE id = update_user ) AS updateUserName
        FROM
        standard_product_list_update_record
        <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
            ${ew.customSqlSegment}
        </if>