yuan
7 小时以前 47806d9e390ee00e1d29ad1da8c1aa908882a758
src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -11,7 +11,6 @@
import com.deepoove.poi.config.Configure;
import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.HackLoopTableRenderPolicy;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.web.domain.R;
@@ -41,9 +40,8 @@
import java.io.OutputStream;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
@@ -96,11 +94,7 @@
    public int submit(QualityInspect inspect) {
        QualityInspect qualityInspect = qualityInspectMapper.selectById(inspect.getId());
        //提交前必须判断是否合格
        if (ObjectUtils.isNull(qualityInspect.getCheckResult())) {
            throw new ServiceException("请先判断是否合格");
        }
        //提交前必须判断是否合格(通过合格数量和不合格数量来判断)
        if (ObjectUtils.isNull(qualityInspect.getQualifiedQuantity())) {
            throw new ServiceException("合格数量不能为空");
        }
@@ -131,15 +125,16 @@
            stockInventoryDto.setRecordId(qualityInspect.getId());
            stockInventoryDto.setProductModelId(qualityInspect.getProductModelId());
            stockInventoryDto.setQualitity(qualityInspect.getQualifiedQuantity());
            if (qualityInspect.getCheckTime() != null) {
                LocalDate stockCreateDate = DateUtils.toLocalDate(qualityInspect.getCheckTime()).plusDays(1);
                stockInventoryDto.setCreateTime(LocalDateTime.of(stockCreateDate, java.time.LocalTime.MIDNIGHT));
            }
            stockInventoryDto.setBatchNo(resolveProductionBatchNo(
                    qualityInspect.getProductMainId(),
                    qualityInspect.getId(),
                    qualityInspect.getProductModelId()));
            stockInventoryService.addStockInRecordOnly(stockInventoryDto);
            //StockInRecord stockInRecord = stockInRecordService.getOne(Wrappers.<StockInRecord>lambdaQuery()
            //        .eq(StockInRecord::getRecordId, qualityInspect.getId())
            //        .eq(StockInRecord::getRecordType, stockInventoryDto.getRecordType())
            //);
            //stockInRecordService.batchApprove(Collections.singletonList(stockInRecord.getId()),1);
        }
        // 不合格处理
        if(qualityInspect.getUnqualifiedQuantity().compareTo(BigDecimal.ZERO) > 0){
@@ -157,33 +152,6 @@
        qualityInspect.setInspectState(1);//已提交
        return qualityInspectMapper.updateById(qualityInspect);
    }
    @Override
    public R autoSubmit(Long id) {
        if (id == null) {
            return R.fail("检验单ID不能为空");
        }
        QualityInspect qualityInspect = qualityInspectMapper.selectById(id);
        if (qualityInspect == null) {
            return R.fail("检验单不存在");
        }
        if (Integer.valueOf(1).equals(qualityInspect.getInspectState())) {
            return R.ok("检验单已提交");
        }
        if (ObjectUtils.isNull(qualityInspect.getCheckResult())) {
            qualityInspect.setCheckResult("合格");
        }
        if (ObjectUtils.isNull(qualityInspect.getQualifiedQuantity())) {
            qualityInspect.setQualifiedQuantity(qualityInspect.getQuantity() == null ? BigDecimal.ZERO : qualityInspect.getQuantity());
        }
        if (ObjectUtils.isNull(qualityInspect.getUnqualifiedQuantity())) {
            qualityInspect.setUnqualifiedQuantity(BigDecimal.ZERO);
        }
        qualityInspectMapper.updateById(qualityInspect);
        int rows = submit(qualityInspect);
        return rows > 0 ? R.ok("检验单提交成功") : R.fail("检验单提交失败");
    }
    private String resolveProductionBatchNo(Long productionProductMainId,