已修改7个文件
77 ■■■■■ 文件已修改
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/controller/QualityTestStandardController.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/mapper/QualityTestStandardMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/pojo/QualityInspect.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/service/IQualityTestStandardService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/quality/QualityTestStandardMapper.xml 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -44,6 +44,7 @@
import oshi.driver.mac.net.NetStat;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
@@ -196,15 +197,20 @@
        }
        for (ProductStructureDto productStructureDto : productStructureDtos) {
            ProductModel productModel1 = productModelMapper.selectById(productStructureDto.getProductModelId());
            if(productModel1 == null){
                continue;
            }
            Product product = productMapper.selectById(productModel1.getProductId());
            // 判断是否为最后一道工序 或者为第一道工序
            BigDecimal needQuantity = dto.getQuantity().divide(productStructureDto.getUnitQuantity(), 2, BigDecimal.ROUND_HALF_UP);
            BigDecimal needQuantity = BigDecimal.ZERO;
            if(BigDecimal.ZERO.equals(productStructureDto.getUnitQuantity())){
                needQuantity = dto.getQuantity().divide(productStructureDto.getUnitQuantity(), 2, RoundingMode.HALF_UP);
            }
            if (lastProcessIds.contains(productStructureDto.getId()) || firstProcessIds.contains(productStructureDto.getId())) {
                needQuantity = dto.getQuantity().multiply(productStructureDto.getUnitQuantity());
            }
            // 查询产品库存
            BigDecimal stockQuantity = stockUtils.getStockQuantity(productModel1.getId()).get("stockQuantity");
            if (!(stockQuantity.compareTo(BigDecimal.ZERO) > 0)) {
src/main/java/com/ruoyi/quality/controller/QualityTestStandardController.java
@@ -1,12 +1,16 @@
package com.ruoyi.quality.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.quality.pojo.QualityTestStandard;
import com.ruoyi.quality.pojo.QualityTestStandardParam;
import com.ruoyi.quality.service.IQualityTestStandardService;
import com.ruoyi.quality.service.QualityTestStandardParamService;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Nonnull;
import javax.annotation.Resource;
import java.util.List;
@@ -24,6 +28,9 @@
    @Resource
    private IQualityTestStandardService qualityTestStandardService;
    @Resource
    private QualityTestStandardParamService qualityTestStandardParamService;
    /**
@@ -90,4 +97,22 @@
        return AjaxResult.success(qualityTestStandardService.updateBatchById(qualityTestStandards));
    }
    /**
     * 根据产品id查询相关的检验标准
     * @return
     */
    @GetMapping("/getQualityTestStandardByProductId")
    public AjaxResult getQualityTestStandardByProductId(@Nonnull Long productId, @Nonnull Integer inspectType, String process) {
        return AjaxResult.success(qualityTestStandardService.getQualityTestStandardByProductId(productId,inspectType,process));
    }
    /**
     * 根据检测标准id查询相关的检验标准参数
     * @return
     */
    @GetMapping("/getQualityTestStandardParamByTestStandardId")
    public AjaxResult getQualityTestStandardParamByTestStandardId(Long testStandardId) {
        return AjaxResult.success(qualityTestStandardParamService.list(Wrappers.<QualityTestStandardParam>lambdaQuery().eq(QualityTestStandardParam::getTestStandardId, testStandardId)));
    }
}
src/main/java/com/ruoyi/quality/mapper/QualityTestStandardMapper.java
@@ -7,6 +7,8 @@
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 * 检测标准主表 Mapper 接口
@@ -19,4 +21,6 @@
public interface QualityTestStandardMapper extends BaseMapper<QualityTestStandard> {
    IPage<QualityTestStandard> qualityTestStandardListPage(Page page, @Param("c") QualityTestStandard qualityTestStandard);
    List<QualityTestStandard> getQualityTestStandardByProductId(@Param("productId") Long productId, @Param("inspectType") Integer inspectType, @Param("process") String process);
}
src/main/java/com/ruoyi/quality/pojo/QualityInspect.java
@@ -149,4 +149,7 @@
    //不合格现象
    private String defectivePhenomena;
    @ApiModelProperty("关联检测标准主表id")
    private Long testStandardId;
}
src/main/java/com/ruoyi/quality/service/IQualityTestStandardService.java
@@ -4,6 +4,9 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.quality.pojo.QualityTestStandard;
import com.ruoyi.quality.pojo.QualityTestStandardParam;
import java.util.List;
/**
 * <p>
@@ -19,4 +22,5 @@
    int copyParam(QualityTestStandard qualityTestStandard);
    List<QualityTestStandard> getQualityTestStandardByProductId(Long productId, Integer inspectType,String process);
}
src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardServiceImpl.java
@@ -1,11 +1,16 @@
package com.ruoyi.quality.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.mapper.ProductModelMapper;
import com.ruoyi.basic.pojo.ProductModel;
import com.ruoyi.quality.mapper.QualityTestStandardBindingMapper;
import com.ruoyi.quality.mapper.QualityTestStandardParamMapper;
import com.ruoyi.quality.pojo.QualityTestStandard;
import com.ruoyi.quality.mapper.QualityTestStandardMapper;
import com.ruoyi.quality.pojo.QualityTestStandardBinding;
import com.ruoyi.quality.pojo.QualityTestStandardParam;
import com.ruoyi.quality.service.IQualityTestStandardService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -37,6 +42,9 @@
    @Autowired
    private QualityTestStandardParamService qualityTestStandardParamService;
    @Autowired
    private QualityTestStandardBindingMapper qualityTestStandardBindingMapper;
    @Override
    public IPage<QualityTestStandard> qualityTestStandardListPage(Page page, QualityTestStandard qualityTestStandard) {
        return qualityTestStandardMapper.qualityTestStandardListPage(page,qualityTestStandard);
@@ -52,11 +60,17 @@
        qualityTestStandardMapper.insert(testStandard);
        List<QualityTestStandardParam> newQualityTestStandardParams = oldQualityTestStandardParams.stream().map(oldQualityTestStandardParam -> {
            oldQualityTestStandardParam.setTestStandardId(testStandard.getId());
            oldQualityTestStandardParam.setId(null);
            return oldQualityTestStandardParam;
        }).collect(Collectors.toList());
        qualityTestStandardParamService.saveBatch(newQualityTestStandardParams);
        return 0;
    }
    @Override
    public List<QualityTestStandard> getQualityTestStandardByProductId(Long productId, Integer inspectType,String process) {
        return qualityTestStandardMapper.getQualityTestStandardByProductId(productId,inspectType,process);
    }
}
src/main/resources/mapper/quality/QualityTestStandardMapper.xml
@@ -14,10 +14,21 @@
            AND standard_name like concat('%',#{c.standardName},'%')
        </if>
        <if test="c.state != null and c.state != '' ">
            AND state = #{c.state}
            AND state =#{c.state}
        </if>
        <if test="c.inspectType != null and c.inspectType != '' ">
            AND inspect_type = #{c.inspectType}
            AND inspect_type =#{c.inspectType}
        </if>
    </select>
    <select id="getQualityTestStandardByProductId" resultType="com.ruoyi.quality.pojo.QualityTestStandard">
        SELECT qts.*
        FROM quality_test_standard qts
                 left join quality_test_standard_binding qtsb on qtsb.test_standard_id = qts.id
                 left join product_process pp on qts.process_id = pp.id
        WHERE qtsb.product_id = #{productId}
          AND qts.inspect_type = #{inspectType}
        <if test="process!='' and process!=null">
            and pp.name = #{process}
        </if>
    </select>
</mapper>