forked from I3-YF/i3plus-mes-yfai
MES_QMS报废品汇总+MES可疑品汇总JOB
parent
fceafc19ee
commit
d15d620e92
@ -0,0 +1,22 @@
|
||||
package cn.estsh.i3plus.ext.mes.api.base;
|
||||
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesQmsScrap;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspection;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description :MES_QMS报废品汇总
|
||||
* @Reference :
|
||||
* @Author : gsz
|
||||
* @CreateDate 2024/7/3 10:28
|
||||
* @Modify:
|
||||
**/
|
||||
public interface IMesQmsScrapService extends IBaseMesService<MesQmsScrap> {
|
||||
/**
|
||||
* QMS报废品汇总
|
||||
* @param mesPartInspectionList
|
||||
* @param organizeCode
|
||||
*/
|
||||
void doQmsScrapByPartInspection(List<MesPartInspection> mesPartInspectionList, String organizeCode);
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package cn.estsh.i3plus.ext.mes.api.base;
|
||||
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesQmsSuspicious;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspection;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description :MES可疑品汇总
|
||||
* @Reference :
|
||||
* @Author : gsz
|
||||
* @CreateDate 2024/7/3 10:28
|
||||
* @Modify:
|
||||
**/
|
||||
public interface IMesQmsSuspiciousService extends IBaseMesService<MesQmsSuspicious> {
|
||||
/**
|
||||
* QMS报废品汇总
|
||||
* @param mesPartInspectionList
|
||||
* @param organizeCode
|
||||
*/
|
||||
void doQmsSuspiciousByPartInspection(List<MesPartInspection> mesPartInspectionList, String organizeCode);
|
||||
}
|
@ -0,0 +1,75 @@
|
||||
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
|
||||
|
||||
import cn.estsh.i3plus.ext.mes.api.base.IMesQmsScrapService;
|
||||
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
||||
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
||||
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.MesQmsScrap;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspection;
|
||||
import cn.estsh.i3plus.pojo.mes.bean.nc.MesPartInspectionDetail;
|
||||
import cn.estsh.i3plus.pojo.mes.repository.MesPartInspectionDetailRepository;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description :MES_QMS报废品汇总
|
||||
* @Reference :
|
||||
* @Author : gsz
|
||||
* @CreateDate 2024/7/3 10:28
|
||||
* @Modify:
|
||||
**/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class MesQmsScrapService extends BaseMesService<MesQmsScrap> implements IMesQmsScrapService {
|
||||
@Autowired
|
||||
private MesPartInspectionDetailRepository partInspectionDetailRDao;
|
||||
@Override
|
||||
protected void setPackQueryBean(MesQmsScrap bean, DdlPackBean packBean) {
|
||||
DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doQmsScrapByPartInspection(List<MesPartInspection> mesPartInspectionList, String organizeCode) {
|
||||
|
||||
List<Long> idList = mesPartInspectionList.stream().map(MesPartInspection::getId).collect(Collectors.toList());
|
||||
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
||||
DdlPreparedPack.getInPackList(idList, "pid", packBean);
|
||||
List<MesPartInspectionDetail> partInspectionDetails = partInspectionDetailRDao.findByHqlWhere(packBean);
|
||||
Map<Long, List<MesPartInspectionDetail>> idDetailListMap = partInspectionDetails.stream().collect(Collectors.groupingBy(MesPartInspectionDetail::getPid));
|
||||
|
||||
Map<String, List<MesPartInspection>> workOrderPartMap = mesPartInspectionList.stream().collect(Collectors.groupingBy(MesPartInspection::getPartNo));
|
||||
//根据物料对可疑品分组
|
||||
for (Map.Entry<String, List<MesPartInspection>> stringListEntry : workOrderPartMap.entrySet()) {
|
||||
String key = stringListEntry.getKey();
|
||||
List<MesPartInspection> mesPartInspections = stringListEntry.getValue();
|
||||
MesPartInspection next = mesPartInspections.iterator().next();
|
||||
List<MesPartInspectionDetail> mesPartInspectionDetails=new ArrayList<>();
|
||||
for (MesPartInspection mesPartInspection : mesPartInspections) {
|
||||
mesPartInspectionDetails.addAll(idDetailListMap.get(mesPartInspection.getId()));
|
||||
}
|
||||
|
||||
//新增一条数据到报废表中
|
||||
MesQmsScrap mesQmsScrap = new MesQmsScrap();
|
||||
mesQmsScrap.setOrganizeCode(organizeCode);
|
||||
mesQmsScrap.setAsnNo("");
|
||||
mesQmsScrap.setSource("MES");
|
||||
double sum = mesPartInspections.stream().mapToDouble(MesPartInspection::getRejectQty).sum();
|
||||
mesQmsScrap.setRejectQty((int) sum);
|
||||
mesQmsScrap.setPartNo(key);
|
||||
mesQmsScrap.setPartName(next.getPartName());
|
||||
String defectTypeName = mesPartInspectionDetails.stream().map(MesPartInspectionDetail::getDefectTypeName).collect(Collectors.joining(";"));
|
||||
mesQmsScrap.setDefectTypeName(defectTypeName);
|
||||
mesQmsScrap.setReponsibilityId(next.getResponsibleParty());
|
||||
mesQmsScrap.setNcJudger(next.getModifyUser());
|
||||
ConvertBean.serviceModelInitialize(mesQmsScrap,"MesScrapJob");
|
||||
|
||||
baseRDao.insert(mesQmsScrap);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue