1.零件绑定
2.给对象绑定车间
3.检验对象导入模板讨论及联调导入功能
4.检验对象查询优化
已修改20个文件
已重命名8个文件
已删除1个文件
已添加9个文件
567 ■■■■ 文件已修改
basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/controller/ProductPartController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/controller/StructureTestObjectPartController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/dto/PageTestObjectDto.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/dto/ProductPartDto.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/dto/StructureTestObjectDto.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/dto/StructureTestObjectPartDto.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/dto/WorkShopDto.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectData.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/mapper/ProductPartLogMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/mapper/ProductPartMapper.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/mapper/StructureTestObjectMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/mapper/WorkShopFileMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/mapper/WorkShopMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/pojo/ProductPart.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/pojo/ProductPartLog.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObject.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObjectPart.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/pojo/WorkShop.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/pojo/WorkShopFile.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/ProductPartLogService.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/ProductPartService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/StructureTestObjectPartService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/WorkShopFileService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/WorkShopService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductPartLogServiceImpl.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductPartServiceImpl.java 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java 84 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureTestObjectPartServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/impl/WorkShopFileServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/service/impl/WorkShopServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/resources/mapper/ProductPartLogMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/resources/mapper/ProductPartMapper.xml 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/resources/mapper/StructureTestMapper.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/controller/WorkShopController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/dto/WorkShopDto.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
basic-server/src/main/java/com/ruoyi/basic/controller/CapacityScopeController.java
@@ -6,6 +6,8 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.ProductDto;
import com.ruoyi.basic.dto.StructureTestObjectDto;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.system.service.ISysDictTypeService;
@@ -24,6 +26,7 @@
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@@ -61,7 +64,7 @@
    @ApiOperation(value = "获取项目检验参数列表")
    @GetMapping("/selectItemParameterList")
    public Result selectItemParameterList(Page page,StructureItemParameter itemParameter) {
    public Result selectItemParameterList(Page page, StructureItemParameter itemParameter) {
        return Result.success(capacityScopeService.selectItemParameterList(page, itemParameter));
    }
@@ -85,7 +88,7 @@
    @ApiOperation(value = "获取检验对象")
    @GetMapping("/selectTestObjectList")
    public Result selectTestObjectList(Page page,PageTestObjectDto pageTestObjectDto) {
    public Result selectTestObjectList(Page page, PageTestObjectDto pageTestObjectDto) {
        return Result.success(capacityScopeService.selectTestObjectList(page, pageTestObjectDto));
    }
@@ -121,7 +124,7 @@
    @ApiOperation(value = "维护检验对象的产品")
    @GetMapping("/selectProductListByObjectId")
    public Result selectProductListByObjectId(Page page,ProductDTO1 productDTO) {
    public Result selectProductListByObjectId(Page page, ProductDTO1 productDTO) {
        return Result.success(productService.selectProductListByObjectId(page, productDTO));
    }
@@ -382,18 +385,32 @@
    @ApiOperation(value = "导入检验对象")
    @PostMapping("/importExcel")
    public Result importExcel(@RequestParam("file") MultipartFile file) {
        try {
    public Result importExcel(@RequestParam("file") MultipartFile file){
        List<String> processedFiles = new ArrayList<>();
        try (InputStream inputStream = file.getInputStream()) {
            String fileHash = DigestUtils.md5Hex(inputStream);
            if (processedFiles.contains(fileHash)) {
                return Result.success(); // å·²å¤„理过的文件直接跳过
            }
            processedFiles.add(fileHash);
            EasyExcel.read(file.getInputStream(), StructureTestObjectData.class, new StructureTestObjectListener(productService)).sheet().doRead();
        } catch (IOException e) {
            e.printStackTrace();
            // è¿™é‡Œå¯ä»¥æ ¹æ®å®žé™…情况进行更完善的错误处理,比如记录日志等
            System.err.println("读取文件时发生错误: " + e.getMessage());
        }
        return Result.success();
    }
    @ApiOperation(value = "更新车间")
    @ApiOperation(value = "更新产品车间")
    @PostMapping("/updateWorkShop")
    public Result updateWorkShop(Integer productId,Integer workShopId,String name) {
        return Result.success(productService.updateWorkShop(productId,workShopId,name));
    public Result updateWorkShop(@RequestBody ProductDto productDto) {
        return Result.success(productService.updateWorkShop(productDto.getId(), productDto.getWorkShopId(), productDto.getWorkShopName()));
    }
    @ApiOperation(value = "更新检测对象车间")
    @PostMapping("/updateObjectWorkShop")
    public Result updateObjectWorkShop(@RequestBody StructureTestObjectDto structureTestObjectDto) {
        return Result.success(productService.updateObjectWorkShop(structureTestObjectDto));
    }
}
basic-server/src/main/java/com/ruoyi/basic/controller/ProductPartController.java
@@ -1,6 +1,7 @@
package com.ruoyi.basic.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.ProductPartDto;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.basic.pojo.ProductPart;
import com.ruoyi.basic.service.ProductPartService;
@@ -37,6 +38,13 @@
        return Result.success();
    }
    @ApiOperation(value = "产品零件复核")
    @PostMapping("/productPartReview")
    public Result productPartReview(@RequestBody ProductPartDto productPartDto) {
        productPartService.productPartReviewById(productPartDto);
        return Result.success();
    }
    @ApiOperation(value = "删除产品零件")
    @DeleteMapping("/deleteProductPart")
    public Result deleteProductPart(Integer id) {
@@ -44,4 +52,16 @@
        return Result.success();
    }
    @ApiOperation(value = "成品进厂检验项")
    @GetMapping("/inspectionItems")
    public Result inspectionItems(String sample,String productName){
        return Result.success(productPartService.inspectionItems(sample,productName));
    }
    @ApiOperation(value = "产品零件日志查询")
    @GetMapping("/productPartLogList")
    public Result productPartLogList(Page page,Integer id){
        return Result.success(productPartService.productPartLogList(page,id));
    }
}
basic-server/src/main/java/com/ruoyi/basic/controller/StructureTestObjectPartController.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.StructureTestObjectPartDto;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.basic.pojo.StructureTestObjectPart;
import com.ruoyi.basic.service.StructureTestObjectPartService;
@@ -38,6 +39,13 @@
        return Result.success();
    }
    @ApiOperation(value = "检验对象零件复核")
    @PostMapping("/testObjectPartReview")
    public Result testObjectPartReview(@RequestBody StructureTestObjectPartDto structureTestObjectPartDto) {
        structureTestObjectPartService.testObjectPartReview(structureTestObjectPartDto);
        return Result.success();
    }
    @ApiOperation(value = "更新检验对象零件")
    @PostMapping("/updateTestObjectPart")
    public Result updateTestObjectPart(@RequestBody StructureTestObjectPart structureTestObjectPart) {
basic-server/src/main/java/com/ruoyi/basic/dto/PageTestObjectDto.java
@@ -1,5 +1,6 @@
package com.ruoyi.basic.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.basic.pojo.StructureTestObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -22,4 +23,8 @@
    @ApiModelProperty(value = "零件号")
    private String partNo;
    @ApiModelProperty(value = "检验对象")
    @TableField(exist = false)
    private String sample;
}
basic-server/src/main/java/com/ruoyi/basic/dto/ProductPartDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package com.ruoyi.basic.dto;
import lombok.Data;
@Data
public class ProductPartDto {
    private Integer id;
}
basic-server/src/main/java/com/ruoyi/basic/dto/StructureTestObjectDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
package com.ruoyi.basic.dto;
import lombok.Data;
@Data
public class StructureTestObjectDto {
    private Integer id;
    private String name;
    private Integer workShopId;
    private String workShopName;
}
basic-server/src/main/java/com/ruoyi/basic/dto/StructureTestObjectPartDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package com.ruoyi.basic.dto;
import lombok.Data;
@Data
public class StructureTestObjectPartDto {
    private Integer id;
}
basic-server/src/main/java/com/ruoyi/basic/dto/WorkShopDto.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,6 @@
package com.ruoyi.basic.dto;
import com.ruoyi.basic.pojo.WorkShop;
public class WorkShopDto extends WorkShop {
}
basic-server/src/main/java/com/ruoyi/basic/excel/StructureTestObjectData.java
@@ -1,6 +1,7 @@
package com.ruoyi.basic.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@@ -22,4 +23,13 @@
    @ExcelProperty(value = "产品名称(EN)")
    private String nameEn;
    @ExcelProperty(value = "对象类型")
    private String objectType;
    @ExcelProperty(value = "车间名称id")
    private Integer workShopId;
    @ExcelProperty(value = "车间名称")
    private String workShopName;
}
basic-server/src/main/java/com/ruoyi/basic/mapper/ProductPartLogMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,7 @@
package com.ruoyi.basic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.basic.pojo.ProductPartLog;
public interface ProductPartLogMapper extends BaseMapper<ProductPartLog> {
   }
basic-server/src/main/java/com/ruoyi/basic/mapper/ProductPartMapper.java
@@ -3,11 +3,19 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.pojo.ProductPart;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
public interface ProductPartMapper extends BaseMapper<ProductPart> {
    IPage<ProductPart> selectListByProductId(IPage<ProductPart> page,
                                              @Param("ew") QueryWrapper<ProductPart> ew,
                                              @Param("productId") Integer productId);
                                             @Param("ew") QueryWrapper<ProductPart> ew,
                                             @Param("productId") Integer productId);
    List<Map<String, Object>> inspectionItems(@Param("name") String name);
    IPage<Map<String, Object>> productPartLogList(@Param("page") Page page,@Param("id") Integer id);
}
basic-server/src/main/java/com/ruoyi/basic/mapper/StructureTestObjectMapper.java
@@ -16,7 +16,7 @@
 */
public interface StructureTestObjectMapper extends BaseMapper<StructureTestObject> {
    IPage<PageTestObjectDto> selectTestObjectList(Page page, @Param("ew") QueryWrapper<PageTestObjectDto> ew, @Param("partNo") String partNo);
    IPage<PageTestObjectDto> selectTestObjectList(Page page, @Param("ew") QueryWrapper<PageTestObjectDto> ew, @Param("specimenName") String specimenName);
}
basic-server/src/main/java/com/ruoyi/basic/mapper/WorkShopFileMapper.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/mapper/WorkShopFileMapper.java ÐÞ¸Ä
@@ -1,7 +1,8 @@
package com.ruoyi.inspect.mapper;
package com.ruoyi.basic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.inspect.pojo.WorkShopFile;
import com.ruoyi.basic.pojo.WorkShopFile;
/**
 * æ£€éªŒå•下的附件列表 Mapper æŽ¥å£
basic-server/src/main/java/com/ruoyi/basic/mapper/WorkShopMapper.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/mapper/WorkShopMapper.java ÐÞ¸Ä
@@ -1,7 +1,8 @@
package com.ruoyi.inspect.mapper;
package com.ruoyi.basic.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.inspect.pojo.WorkShop;
import com.ruoyi.basic.pojo.WorkShop;
/**
 * @description é’ˆå¯¹è¡¨ã€work_shop(车间名称)】的数据库操作Mapper
basic-server/src/main/java/com/ruoyi/basic/pojo/ProductPart.java
@@ -27,6 +27,12 @@
    @ApiModelProperty("色标")
    private String colorCode;
    @ApiModelProperty("成品进厂检验项")
    private String inspectionItem;
    @ApiModelProperty("是否已复核")
    private String review;
    @ApiModelProperty(value = "创建人id")
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
@@ -46,4 +52,7 @@
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    @ApiModelProperty("检验项小类")
    private String inspectionItemSubclass;
}
basic-server/src/main/java/com/ruoyi/basic/pojo/ProductPartLog.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,57 @@
package com.ruoyi.basic.pojo;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * äº§å“é›¶ä»¶å·æ—¥å¿—表(ProductPartLog)实体类
 *
 * @author makejava
 * @since 2025-03-19 13:47:10
 */
@Data
@TableName("product_part_log")
public class ProductPartLog implements Serializable {
    private Integer id;
    /**
     * é›¶ä»¶å·
     */
    @ApiModelProperty("产品零件号id")
    private Integer productPartId;
    /**
     * æ“ä½œäººå‘˜
     */
    @ApiModelProperty("操作人员")
    private String operName;
    /**
     * æ“ä½œäººå‘˜
     */
    @ApiModelProperty("操作人员id")
    private Integer operId;
    /**
     * æ“ä½œæ—¶é—´
     */
    private LocalDateTime operTime;
    @ApiModelProperty("零件号")
    private String partNo;
    @ApiModelProperty("颜色")
    private String color;
    @ApiModelProperty("色标")
    private String colorCode;
    @ApiModelProperty("成品进厂检验项")
    private String inspectionItem;
    @ApiModelProperty("是否已复核")
    private String review;
}
basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObject.java
@@ -58,6 +58,16 @@
    @ApiModelProperty(value = "对象类型")
    private String objectType;
    /**
     * å¤–键:work_shop表id
     */
    @ApiModelProperty(value = "车间id")
    private Integer workShopId;
    /**
     * è½¦é—´å
     */
    @ApiModelProperty(value = "车间名称")
    private String workShopName;
}
basic-server/src/main/java/com/ruoyi/basic/pojo/StructureTestObjectPart.java
@@ -33,6 +33,12 @@
    @ApiModelProperty("色标")
    private String colorCode;
    @ApiModelProperty("成品进厂检验项")
    private String inspectionItem;
    @ApiModelProperty("是否已复核")
    private String review;
    @ApiModelProperty(value = "创建人id")
    @TableField(fill = FieldFill.INSERT)
    private Integer createUser;
basic-server/src/main/java/com/ruoyi/basic/pojo/WorkShop.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/pojo/WorkShop.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.ruoyi.inspect.pojo;
package com.ruoyi.basic.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -21,7 +21,7 @@
     */
    @ApiModelProperty(value = "主键id")
    @TableId(type = IdType.AUTO)
    private Long id;
    private Integer id;
    /**
     * ç¼–号
basic-server/src/main/java/com/ruoyi/basic/pojo/WorkShopFile.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/pojo/WorkShopFile.java ÐÞ¸Ä
@@ -1,4 +1,4 @@
package com.ruoyi.inspect.pojo;
package com.ruoyi.basic.pojo;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
basic-server/src/main/java/com/ruoyi/basic/service/ProductPartLogService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,10 @@
package com.ruoyi.basic.service;
/**
 * äº§å“é›¶ä»¶å·æ—¥å¿—表(ProductPartLog)表服务接口
 *
 * @author makejava
 * @since 2025-03-19 13:47:10
 */
public interface ProductPartLogService {
}
basic-server/src/main/java/com/ruoyi/basic/service/ProductPartService.java
@@ -1,8 +1,14 @@
package com.ruoyi.basic.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.basic.dto.ProductPartDto;
import com.ruoyi.basic.pojo.ProductPart;
import com.ruoyi.basic.pojo.ProductPartLog;
import java.util.List;
import java.util.Map;
public interface ProductPartService extends IService<ProductPart> {
@@ -10,5 +16,11 @@
    void addProductPart(ProductPart productPart);
    void updateProductPartById(ProductPart productPart);
    int updateProductPartById(ProductPart productPart);
    List<Map<String, Object>> inspectionItems(String sample,String productName);
    int productPartReviewById(ProductPartDto productPartDto);
    IPage<ProductPartLog> productPartLogList(Page page, Integer id);
}
basic-server/src/main/java/com/ruoyi/basic/service/ProductService.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.basic.dto.ProductDTO1;
import com.ruoyi.basic.dto.StructureTestObjectDto;
import com.ruoyi.basic.excel.StructureTestObjectData;
import com.ruoyi.basic.pojo.Product;
@@ -27,4 +28,6 @@
    void importPartExcel(List<StructureTestObjectData> list);
    int updateWorkShop(Integer productId, Integer workShopId, String name);
    int updateObjectWorkShop(StructureTestObjectDto structureTestObjectDto);
}
basic-server/src/main/java/com/ruoyi/basic/service/StructureTestObjectPartService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.basic.dto.StructureTestObjectPartDto;
import com.ruoyi.basic.pojo.StructureTestObjectPart;
/**
@@ -18,5 +19,7 @@
    void addTestObjectPart(StructureTestObjectPart structureTestObjectPart);
    void updateTestObjectPart(StructureTestObjectPart structureTestObjectPart);
    int testObjectPartReview(StructureTestObjectPartDto structureTestObjectPartDto);
}
basic-server/src/main/java/com/ruoyi/basic/service/WorkShopFileService.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/service/WorkShopFileService.java ÐÞ¸Ä
@@ -1,7 +1,8 @@
package com.ruoyi.inspect.service;
package com.ruoyi.basic.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.inspect.pojo.WorkShopFile;
import com.ruoyi.basic.pojo.WorkShopFile;
/**
 * @description é’ˆå¯¹è¡¨ã€work_shop_file(车间名称)】的数据库操作Service
basic-server/src/main/java/com/ruoyi/basic/service/WorkShopService.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/service/WorkShopService.java ÐÞ¸Ä
@@ -1,10 +1,11 @@
package com.ruoyi.inspect.service;
package com.ruoyi.basic.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.inspect.dto.WorkShopDto;
import com.ruoyi.inspect.pojo.WorkShop;
import com.ruoyi.basic.dto.WorkShopDto;
import com.ruoyi.basic.pojo.WorkShop;
import org.springframework.web.multipart.MultipartFile;
/**
basic-server/src/main/java/com/ruoyi/basic/service/impl/CapacityScopeServiceImpl.java
@@ -51,12 +51,12 @@
    @Override
    public IPage<StructureItemParameter> selectItemParameterList(Page page, StructureItemParameter itemParameter) {
       return structureItemParameterMapper.selectItemParameterList(page, QueryWrappers.queryWrappers(itemParameter));
        return structureItemParameterMapper.selectItemParameterList(page, QueryWrappers.queryWrappers(itemParameter));
    }
    @Override
    public int addItemParameter(StructureItemParameter itemParameter) {
        if (itemParameter.getBsm().equals("")||itemParameter.getBsm()==null){
        if (itemParameter.getBsm().equals("") || itemParameter.getBsm() == null) {
            itemParameter.setBsm("0");
        }
        int insert = structureItemParameterMapper.insert(itemParameter);
@@ -75,15 +75,15 @@
    @Override
    public IPage<PageTestObjectDto> selectTestObjectList(Page page, PageTestObjectDto pageTestObjectDto) {
        String partNo = pageTestObjectDto.getPartNo();
        pageTestObjectDto.setPartNo(null);
        return structureTestObjectMapper.selectTestObjectList(page, QueryWrappers.queryWrappers(pageTestObjectDto),partNo);
        String specimenName = pageTestObjectDto.getSample();
        pageTestObjectDto.setSample(null);
        return structureTestObjectMapper.selectTestObjectList(page, QueryWrappers.queryWrappers(pageTestObjectDto), specimenName);
    }
    @Override
    public int addTestObject(StructureTestObject testObject) {
        Long count = structureTestObjectMapper.selectCount(Wrappers.<StructureTestObject>lambdaQuery().eq(StructureTestObject::getSpecimenName, testObject.getSpecimenName()));
        if(count.compareTo(0L) > 0){
        if (count.compareTo(0L) > 0) {
            throw new BaseException("检验对象不能重复");
        }
@@ -121,7 +121,7 @@
            // æŸ¥è¯¢æ‰€æœ‰å¯¹è±¡ä¸€æ ·çš„æ£€éªŒé¡¹ç›®
            List<StandardProductList> standardProductLists = standardProductListService.list(Wrappers.<StandardProductList>lambdaUpdate()
                    .eq(StandardProductList::getSampleType, oldTestObject.getSpecimenName()));
            if (CollectionUtils.isNotEmpty(standardProductLists)){
            if (CollectionUtils.isNotEmpty(standardProductLists)) {
                for (StandardProductList standardProductList : standardProductLists) {
                    // ä¿®æ”¹æ‰€æœ‰çš„对象名称和数型结构
                    standardProductList.setSampleType(testObject.getSpecimenName());
@@ -159,7 +159,7 @@
        Long count = structureTestObjectMapper.selectCount(Wrappers.<StructureTestObject>lambdaQuery()
                .eq(StructureTestObject::getSpecimenName, testObject.getSpecimenName())
                .ne(StructureTestObject::getId, testObject.getId()));
        if(count.compareTo(0L) > 0){
        if (count.compareTo(0L) > 0) {
            throw new BaseException("检验对象不能重复");
        }
@@ -168,7 +168,7 @@
    @Override
    public List<StructureTestObject> selectTestObjectByName() {
        return structureTestObjectMapper.selectList(Wrappers.<StructureTestObject>lambdaQuery().select(StructureTestObject::getSpecimenName,StructureTestObject::getId));
        return structureTestObjectMapper.selectList(Wrappers.<StructureTestObject>lambdaQuery().select(StructureTestObject::getSpecimenName, StructureTestObject::getId));
    }
    //设备里面选择检验项目(树形结构)
basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductPartLogServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,18 @@
package com.ruoyi.basic.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.mapper.ProductPartLogMapper;
import com.ruoyi.basic.pojo.ProductPartLog;
import com.ruoyi.basic.service.ProductPartLogService;
import org.springframework.stereotype.Service;
/**
 * äº§å“é›¶ä»¶å·æ—¥å¿—表(ProductPartLog)表服务实现类
 *
 * @author makejava
 * @since 2025-03-19 13:47:10
 */
@Service("productPartLogService")
public class ProductPartLogServiceImpl extends ServiceImpl<ProductPartLogMapper, ProductPartLog> implements ProductPartLogService {
}
basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductPartServiceImpl.java
@@ -1,10 +1,15 @@
package com.ruoyi.basic.service.impl;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.dto.ProductPartDto;
import com.ruoyi.basic.mapper.ProductPartLogMapper;
import com.ruoyi.basic.pojo.ProductPartLog;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.basic.mapper.ProductPartMapper;
@@ -12,22 +17,29 @@
import com.ruoyi.basic.pojo.ProductPart;
import com.ruoyi.basic.pojo.StructureTestObjectPart;
import com.ruoyi.basic.service.ProductPartService;
import com.ruoyi.common.utils.SecurityUtils;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
@Transactional
@Service
@AllArgsConstructor
public class ProductPartServiceImpl extends ServiceImpl<ProductPartMapper, ProductPart> implements ProductPartService {
    private  ProductPartMapper productPartMapper;
    private ProductPartMapper productPartMapper;
    private StructureTestObjectPartMapper structureTestObjectPartMapper;
    private ProductPartLogMapper productPartLogMapper;
    @Override
    public IPage<ProductPart> selectByProductId(IPage<ProductPart> page,ProductPart productPart) {
        return productPartMapper.selectListByProductId(page, QueryWrappers.queryWrappers(productPart),productPart.getProductId());
    public IPage<ProductPart> selectByProductId(IPage<ProductPart> page, ProductPart productPart) {
        return productPartMapper.selectListByProductId(page, QueryWrappers.queryWrappers(productPart), productPart.getProductId());
    }
    @Override
@@ -36,20 +48,74 @@
            throw new BaseException("缺少产品对象id");
        }
        this.isPartNoExist(productPart.getPartNo(), productPart.getProductId(), null);
        productPart.setReview("待复核");
        productPartMapper.insert(productPart);
    }
    @Override
    public void updateProductPartById(ProductPart productPart) {
    public int updateProductPartById(ProductPart productPart) {
        if (productPart.getProductId() == null) {
            throw new BaseException("缺少产品对象id");
        }
//        this.isPartNoExist(productPart.getPartNo(), productPart.getProductId(), null);
        if (!"已复核".equals(productPart.getReview())) {
            productPart.setReview("待复核");
        }
        return productPartMapper.updateById(productPart);
    }
    @Override
    public List<Map<String, Object>> inspectionItems(String sample, String productName) {
        // ä¼˜å…ˆå¤„理两个参数均非空的场景
        if (StringUtils.isNotEmpty(productName) && StringUtils.isNotEmpty(sample)) {
            //先差产品,有过有值直接返回,没值再查大类
            List<Map<String, Object>> result = productPartMapper.inspectionItems(productName);
            return result.isEmpty() ? productPartMapper.inspectionItems(sample) : result;
        }
        // å…¶ä»–情况直接选取有效参数(优先productName)或空字符串
        String param = StringUtils.isNotEmpty(productName) ? productName :
                StringUtils.isNotEmpty(sample) ? sample : "";
        return productPartMapper.inspectionItems(param);
    }
    @Override
    public int productPartReviewById(ProductPartDto productPartDto) {
        int userId = SecurityUtils.getUserId().intValue();
        String username = SecurityUtils.getUsername();
        ProductPart productPart = productPartMapper.selectById(productPartDto.getId());
        this.isPartNoExist(productPart.getPartNo(), productPart.getProductId(), productPart.getId());
        if (productPart.getProductId() == null) {
            throw new BaseException("缺少产品对象id");
        }
        productPartMapper.updateById(productPart);
        productPart.setReview("已复核");
        int num = productPartMapper.updateById(productPart);
        if (num > 0) {
            ProductPartLog productPartLog = new ProductPartLog();
            productPartLog.setProductPartId(productPart.getId());
            productPartLog.setOperName(username);
            productPartLog.setOperId(userId);
            productPartLog.setOperTime(LocalDateTime.now());
            productPartLog.setColor(productPart.getColor());
            productPartLog.setColorCode(productPart.getColorCode());
            productPartLog.setPartNo(productPart.getPartNo());
            productPartLog.setInspectionItem(productPart.getInspectionItem());
            productPartLog.setReview(productPart.getReview());
            productPartLogMapper.insert(productPartLog);
        }
        return num;
    }
    @Override
    public IPage<ProductPartLog> productPartLogList(Page page, Integer id) {
        return productPartLogMapper.selectPage(page, Wrappers.<ProductPartLog>lambdaQuery()
                .eq(ProductPartLog::getProductPartId, id));
    }
    // åˆ¤æ–­é›¶ä»¶å·æ˜¯å¦å­˜åœ¨
    public void isPartNoExist(String partNo,Integer productId, Integer id) {
    public void isPartNoExist(String partNo, Integer productId, Integer id) {
        // é›¶ä»¶å·å”¯ä¸€ ä½†ä¸å¿…å¡«
        if (StringUtils.isNotBlank(partNo)) {
            Long count = productPartMapper.selectCount(new LambdaQueryWrapper<ProductPart>()
basic-server/src/main/java/com/ruoyi/basic/service/impl/ProductServiceImpl.java
@@ -8,19 +8,15 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.dto.StructureTestObjectDto;
import com.ruoyi.basic.mapper.*;
import com.ruoyi.basic.service.*;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.basic.dto.ProductDTO1;
import com.ruoyi.basic.excel.StructureTestObjectData;
import com.ruoyi.basic.mapper.ProductMapper;
import com.ruoyi.basic.mapper.ProductPartMapper;
import com.ruoyi.basic.mapper.StandardTreeMapper;
import com.ruoyi.basic.mapper.StructureTestObjectMapper;
import com.ruoyi.basic.pojo.*;
import com.ruoyi.basic.service.LaboratoryService;
import com.ruoyi.basic.service.ProductService;
import com.ruoyi.basic.service.StandardProductListService;
import com.ruoyi.basic.service.StructureItemParameterService;
import com.ruoyi.common.utils.StringUtils;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -28,10 +24,10 @@
import java.util.List;
/**
* @author z1292
* @description é’ˆå¯¹è¡¨ã€product(产品表)】的数据库操作Service实现
* @createDate 2024-04-26 01:11:02
*/
 * @author z1292
 * @description é’ˆå¯¹è¡¨ã€product(产品表)】的数据库操作Service实现
 * @createDate 2024-04-26 01:11:02
 */
@Service
@AllArgsConstructor
public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product>
@@ -45,11 +41,17 @@
    private ProductPartMapper productPartMapper;
    private StandardProductListService standardProductListService;
    private StandardTreeMapper standardTreeMapper;
    private StructureItemParameterService structureItemParameterService;
    private WorkShopMapper workShopMapper;
    @Override
    public IPage<Product> selectProductListByObjectId(Page page, ProductDTO1 product) {
@@ -137,46 +139,74 @@
            StructureTestObject structureTestObject1 = structureTestObjectMapper.selectOne(Wrappers.<StructureTestObject>lambdaQuery()
                    .eq(StructureTestObject::getSpecimenName, i.getSpecimenName())
                    .eq(StructureTestObject::getSpecimenNameEn, i.getSpecimenNameEn()));
            Laboratory laboratory = laboratoryService.getOne(Wrappers.<Laboratory>lambdaQuery()
                    .eq(Laboratory::getLaboratoryName, i.getLaboratory()));
            if (ObjectUtils.isEmpty(laboratory)) {
                throw new BaseException("未找到该场所:" + i.getLaboratory() + ",请检查是否存在该场所!");
            }
//            Laboratory laboratory = laboratoryService.getOne(Wrappers.<Laboratory>lambdaQuery()
//                    .eq(Laboratory::getId, i.getLaboratory()));
//            if (ObjectUtils.isEmpty(laboratory)) {
//                throw new BaseException("未找到该场所:" + i.getLaboratory() + ",请检查是否存在该场所!");
//            }
            // å¦‚果为空进行新增
            if(ObjectUtils.isEmpty(structureTestObject1)) {
            if (ObjectUtils.isEmpty(structureTestObject1)) {
                StructureTestObject structureTestObject = new StructureTestObject();
                structureTestObject.setLaboratoryId(laboratory.getId());
                structureTestObject.setLaboratoryId(9);
                structureTestObject.setSpecimenName(i.getSpecimenName());
                structureTestObject.setSpecimenNameEn(i.getSpecimenNameEn());
                structureTestObject.setCode(i.getCode());
                structureTestObject.setWorkShopName("");
                structureTestObjectMapper.insert(structureTestObject);
                // äº§å“
                Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery()
                        .eq(Product::getName, i.getName())
                        .eq(Product::getNameEn, i.getNameEn()));
                if (ObjectUtils.isEmpty(product)){
                if (ObjectUtils.isEmpty(product)) {
                    Product product1 = new Product();
                    product1.setName(i.getName());
                    product1.setNameEn(i.getNameEn());
                    if (StringUtils.isNotEmpty(i.getWorkShopName())) {
                        WorkShop workShop = workShopMapper.selectOne(Wrappers.<WorkShop>lambdaQuery().eq(WorkShop::getName, i.getWorkShopName()));
                        if (workShop == null){
                            throw new BaseException("请先维护车间信息");
                        }else {
                            product1.setWorkShopId(workShop.getId());
                        }
                    }
                    product1.setWorkShopName(i.getWorkShopName());
                    product1.setObjectId(structureTestObject.getId());
                    baseMapper.insert(product1);
                }
            } else {
                structureTestObject1.setCode(i.getCode());
                structureTestObject1.setLaboratoryId(laboratory.getId());
                structureTestObject1.setLaboratoryId(9);
                structureTestObjectMapper.updateById(structureTestObject1);
                // äº§å“
                Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery()
                        .eq(Product::getName, i.getName())
                        .eq(Product::getNameEn, i.getNameEn()));
                if (ObjectUtils.isEmpty(product)){
                if (ObjectUtils.isEmpty(product)) {
                    Product product1 = new Product();
                    if (StringUtils.isNotEmpty(i.getWorkShopName())) {
                        WorkShop workShop =  workShopMapper.selectOne(Wrappers.<WorkShop>lambdaQuery().eq(WorkShop::getName, i.getWorkShopName()));
                        if (workShop == null){
                            throw new BaseException("请先维护车间信息");
                        }else {
                            product1.setWorkShopId(workShop.getId());
                        }
                    }
                    product1.setWorkShopName(i.getWorkShopName());
                    product1.setName(i.getName());
                    product1.setNameEn(i.getNameEn());
                    product1.setObjectId(structureTestObject1.getId());
                    baseMapper.insert(product1);
                } else {
                    if (StringUtils.isNotEmpty(i.getWorkShopName())) {
                        WorkShop workShop =  workShopMapper.selectOne(Wrappers.<WorkShop>lambdaQuery().eq(WorkShop::getName, i.getWorkShopName()));
                        if (workShop == null){
                            throw new BaseException("请先维护车间信息");
                        }else {
                            product.setWorkShopId(workShop.getId());
                        }
                    }
                    product.setWorkShopName(i.getWorkShopName());
                    product.setName(i.getName());
                    product.setNameEn(i.getNameEn());
                    product.setObjectId(structureTestObject1.getId());
@@ -187,10 +217,18 @@
    }
    @Override
    public int updateWorkShop(Integer productId, Integer workShopId,String name) {
    public int updateWorkShop(Integer productId, Integer workShopId, String name) {
        return productMapper.update(null, Wrappers.<Product>lambdaUpdate()
                .set(Product::getWorkShopId, workShopId)
                .set(Product::getWorkShopName, name)
                .eq(Product::getId, productId));
    }
    @Override
    public int updateObjectWorkShop(StructureTestObjectDto structureTestObjectDto) {
        return structureTestObjectMapper.update(null, Wrappers.<StructureTestObject>lambdaUpdate()
                .set(StructureTestObject::getWorkShopId, structureTestObjectDto.getWorkShopId())
                .set(StructureTestObject::getWorkShopName, structureTestObjectDto.getWorkShopName())
                .eq(StructureTestObject::getId, structureTestObjectDto.getId()));
    }
}
basic-server/src/main/java/com/ruoyi/basic/service/impl/StructureTestObjectPartServiceImpl.java
@@ -7,6 +7,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.dto.StructureTestObjectPartDto;
import com.ruoyi.common.exception.base.BaseException;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.basic.mapper.ProductPartMapper;
@@ -43,6 +44,7 @@
        if (structureTestObjectPart.getTestObjectId() == null) {
            throw new BaseException("缺少产品对象id");
        }
        structureTestObjectPart.setReview("待复核");
        baseMapper.insert(structureTestObjectPart);
    }
@@ -52,9 +54,21 @@
        if (structureTestObjectPart.getTestObjectId() == null) {
            throw new BaseException("缺少产品对象id");
        }
        structureTestObjectPart.setReview("待复核");
        baseMapper.updateById(structureTestObjectPart);
    }
    @Override
    public int testObjectPartReview(StructureTestObjectPartDto structureTestObjectPartDto) {
        StructureTestObjectPart structureTestObjectPart = baseMapper.selectById(structureTestObjectPartDto.getId());
        this.isPartNoExist(structureTestObjectPart.getPartNo(),  structureTestObjectPart.getId());
        if (structureTestObjectPart.getTestObjectId() == null) {
            throw new BaseException("缺少产品对象id");
        }
        structureTestObjectPart.setReview("待复核");
        return baseMapper.updateById(structureTestObjectPart);
    }
    // åˆ¤æ–­é›¶ä»¶å·æ˜¯å¦å­˜åœ¨
    public void isPartNoExist(String partNo, Integer id) {
        // é›¶ä»¶å·å”¯ä¸€ ä½†ä¸å¿…å¡«
basic-server/src/main/java/com/ruoyi/basic/service/impl/WorkShopFileServiceImpl.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WorkShopFileServiceImpl.java ÐÞ¸Ä
@@ -1,9 +1,10 @@
package com.ruoyi.inspect.service.impl;
package com.ruoyi.basic.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.inspect.mapper.WorkShopFileMapper;
import com.ruoyi.inspect.pojo.WorkShopFile;
import com.ruoyi.inspect.service.WorkShopFileService;
import com.ruoyi.basic.mapper.WorkShopFileMapper;
import com.ruoyi.basic.pojo.WorkShopFile;
import com.ruoyi.basic.service.WorkShopFileService;
import org.springframework.stereotype.Service;
/**
basic-server/src/main/java/com/ruoyi/basic/service/impl/WorkShopServiceImpl.java
ÎļþÃû´Ó inspect-server/src/main/java/com/ruoyi/inspect/service/impl/WorkShopServiceImpl.java ÐÞ¸Ä
@@ -1,15 +1,17 @@
package com.ruoyi.inspect.service.impl;
package com.ruoyi.basic.service.impl;
import cn.hutool.core.lang.UUID;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.basic.dto.WorkShopDto;
import com.ruoyi.basic.mapper.WorkShopFileMapper;
import com.ruoyi.basic.mapper.WorkShopMapper;
import com.ruoyi.basic.pojo.WorkShop;
import com.ruoyi.basic.pojo.WorkShopFile;
import com.ruoyi.basic.service.WorkShopService;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.inspect.dto.WorkShopDto;
import com.ruoyi.inspect.mapper.*;
import com.ruoyi.inspect.pojo.*;
import com.ruoyi.inspect.service.*;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
basic-server/src/main/resources/mapper/ProductPartLogMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,8 @@
<?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.basic.mapper.ProductPartLogMapper">
</mapper>
basic-server/src/main/resources/mapper/ProductPartMapper.xml
@@ -7,4 +7,30 @@
        SELECT * from product_part pp
        where  pp.product_id=#{productId}
    </select>
    <select id="inspectionItems" resultType="java.util.Map">
        SELECT DISTINCT
        sp.inspection_item AS inspectionItem
        FROM
        structure_item_parameter sp
        WHERE 1=1
        <if test="name != null and name != ''">
            AND JSON_CONTAINS(sp.sample, concat('"', #{name}, '"'))
        </if>
        AND sp.son_laboratory = '原材料'
    </select>
    <select id="productPartLogList" resultType="java.util.Map">
        SELECT
            pp.part_no AS partNo,
            pp.color,
            pp.color_code AS colorCode,
            pp.inspection_item AS inspectionItem,
            pp.review,
            pl.oper_name AS operName,
            pl.oper_time AS operTime
        FROM
            product_part pp
                LEFT JOIN product_part_log pl ON pp.id = pl.product_part_id
        WHERE
            pp.id = #{id}
    </select>
</mapper>
basic-server/src/main/resources/mapper/StructureTestMapper.xml
@@ -16,15 +16,17 @@
        sto.laboratory_id,
        GROUP_CONCAT(p.name) product,
        sto.specimen_name_en,
        sto.object_type
        sto.object_type,
        sto.work_shop_name,
        sto.work_shop_id
        from structure_test_object sto
        left join user u1 on sto.create_user = u1.id
        left join user u2 on sto.update_user = u2.id
        left join product p on p.object_id = sto.id
        left join product_part pp on pp.product_id = p.id
        left join structure_test_object_part stop ON stop.test_object_id = sto.id
        <if test="partNo != null and partNo != ''" >
            where pp.part_no = #{partNo} or stop.part_no = #{partNo}
        <if test="specimenName != null and specimenName != ''" >
            where sto.specimen_name like concat ('%',#{specimenName},'%')
        </if>
        group by sto.id
        ) a
inspect-server/src/main/java/com/ruoyi/inspect/controller/WorkShopController.java
@@ -1,10 +1,10 @@
package com.ruoyi.inspect.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.dto.WorkShopDto;
import com.ruoyi.basic.service.WorkShopFileService;
import com.ruoyi.basic.service.WorkShopService;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.inspect.dto.WorkShopDto;
import com.ruoyi.inspect.service.WorkShopFileService;
import com.ruoyi.inspect.service.WorkShopService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
inspect-server/src/main/java/com/ruoyi/inspect/dto/WorkShopDto.java
ÎļþÒÑɾ³ý