package com.chinaztt.mes.quality.utils;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.chinaztt.mes.basic.entity.WorkstationLocation;
|
import com.chinaztt.mes.basic.mapper.WorkstationLocationMapper;
|
import com.chinaztt.mes.common.numgen.NumberGenerator;
|
import com.chinaztt.mes.quality.dto.ApplyDTO;
|
import com.chinaztt.mes.quality.dto.ApplyPartDTO;
|
import com.chinaztt.mes.quality.dto.ReportSampleDTO;
|
import com.chinaztt.mes.quality.dto.ReportSampleItemDTO;
|
import com.chinaztt.mes.quality.entity.Apply;
|
import com.chinaztt.mes.quality.entity.Report;
|
import com.chinaztt.mes.quality.entity.ReportSample;
|
import com.chinaztt.mes.quality.mapper.*;
|
import com.chinaztt.mes.quality.service.ApplyService;
|
import com.chinaztt.mes.quality.state.result.constant.ResultStateStringValues;
|
import com.chinaztt.mes.warehouse.util.StockUtils;
|
import com.chinaztt.ztt.common.oss.OssProperties;
|
import com.chinaztt.ztt.common.oss.service.OssTemplate;
|
import lombok.AllArgsConstructor;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @Author: cxf
|
* @Date: 2021/06/01 16:00
|
*/
|
@Service
|
@AllArgsConstructor
|
public class SelfJudgmentUtils {
|
private ApplyService applyService;
|
private ReportSampleMapper reportSampleMapper;
|
private ReportSampleItemMapper reportSampleItemMapper;
|
private ResultUtils resultUtils;
|
private StockUtils stockUtils;
|
private WorkstationLocationMapper workstationLocationMapper;
|
|
/**
|
* 自检合格处理 (自检废弃)
|
*/
|
public void autoMoveStock(ReportSampleDTO reportSampleDTO) {
|
if (reportSampleDTO.getIsQualified() != null && reportSampleDTO.getIsQualified()) {
|
// 自检合格
|
// 1.根据工艺路线判断,当前报工的工序是否最后一道工序
|
Boolean isMaster = reportSampleMapper.selectIsMasterRoutingOperationBySystemNo(reportSampleDTO.getSystemNo());
|
if (isMaster != null && isMaster == true) {
|
// 2.若是,自检通过后,自动生成成品的检测申请
|
// 创建质检申请
|
ApplyDTO applyDTO = new ApplyDTO();
|
applyDTO.setApplyType(Apply.OUTPUT_APPLY);
|
applyDTO.setRemark("自检合格,成品报检:" + reportSampleDTO.getOutBatchNo());
|
List<ApplyPartDTO> applyPartList = new ArrayList<ApplyPartDTO>();
|
ApplyPartDTO applyPartDTO = new ApplyPartDTO();
|
applyPartDTO.setSystemNo(reportSampleDTO.getSystemNo());
|
applyPartList.add(applyPartDTO);
|
applyDTO.setApplyPartList(applyPartList);
|
applyService.saveDto(applyDTO);
|
reportSampleDTO.setCheckStatus(ResultStateStringValues.TESTING);
|
reportSampleDTO.setIsUsed(false);
|
} else {
|
// 3.否则直接进合格库
|
try {
|
Long disqualifiedLocationId = workstationLocationMapper.selectBySystemNo(reportSampleDTO.getSystemNo(), WorkstationLocation.INSPECTION_LOCATION);
|
Long qualifiedLocationId = workstationLocationMapper.selectBySystemNo(reportSampleDTO.getSystemNo(), WorkstationLocation.QUALIFIED_LOCATION);
|
stockUtils.localMove(reportSampleDTO.getPartId(), reportSampleDTO.getSystemNo(), reportSampleDTO.getOutBatchNo(), reportSampleDTO.getQtyArrived(), disqualifiedLocationId, qualifiedLocationId);
|
} catch (RuntimeException e) {
|
// 自动移库失败处理
|
}
|
}
|
}
|
|
}
|
|
}
|