zss
2023-08-22 c427ed3db05c772cec3658949e19bcf1b6c0d2a7
inspection-server/src/main/java/com/yuanchu/limslaboratory/service/impl/HomeServiceImpl.java
@@ -3,8 +3,10 @@
import com.yuanchu.limslaboratory.mapper.InspectionMapper;
import com.yuanchu.limslaboratory.mapper.InspectionProductMapper;
import com.yuanchu.limslaboratory.pojo.vo.ProjectNumVo;
import com.yuanchu.limslaboratory.pojo.vo.StatisticsDataVo;
import com.yuanchu.limslaboratory.service.HomeService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -48,7 +50,7 @@
            //遍历获取数量
            Long num = (Long) map.get("num");
            //计算百分比并存入map中
            map.put("chact",getRadio(allIns,num));
            map.put("chact", getRadio(allIns, num));
        }
        return mapList;
    }
@@ -61,6 +63,38 @@
        return mapList;
    }
    //计算原材料与成品的合格率
    @Override
    @Transactional(rollbackFor = Exception.class)
    public StatisticsDataVo qualified() {
        StatisticsDataVo statisticsDataVo = new StatisticsDataVo();
        //原材料检验单总数
        Integer allmater = inspectionMapper.getallmater();
        //原材料合格率
        Long mater = inspectionMapper.qualified(1);
        statisticsDataVo.setMaterial(getRadio(allmater, mater));
        //原材料不合格率
        Long unmater = inspectionMapper.qualified(0);
        statisticsDataVo.setUnmaterial(getRadio(allmater, unmater));
        //原材料未检验率
        Long notmater = inspectionMapper.qualified(null);
        statisticsDataVo.setNotmaterial(getRadio(allmater, notmater));
        //成品检验单总数
        Integer allfin = inspectionMapper.getallfin();
        //成品合格率
        Long finished = inspectionMapper.qualifiedfin(1);
        statisticsDataVo.setFinished(getRadio(allfin, finished));
        //成品不合格率
        Long unfinished = inspectionMapper.qualifiedfin(0);
        statisticsDataVo.setUnfinished(getRadio(allfin, unfinished));
        //成品未检验率
        Long notfinished = inspectionMapper.qualifiedfin(null);
        statisticsDataVo.setNotfinished(getRadio(allfin, notfinished));
        return statisticsDataVo;
    }
    /*计算百分比*/
    private BigDecimal getRadio(Integer all, Long num) {
        if (all.intValue() == 0) {