Merge branch 'merge-yili' into 'master'

fix: 检验作业-區域及點數顯示調整

See merge request industry-solutions/industry-solutions-division/iep/iep-qms!5
This commit is contained in:
林益立 2023-11-21 08:27:12 +00:00
commit 8e95dc1bb4
3 changed files with 44 additions and 11 deletions

View File

@ -2,9 +2,11 @@ package com.foreverwin.iep.qms.dto;
import com.foreverwin.iep.qms.entity.QmsInspecDetail;
import com.foreverwin.iep.qms.entity.QmsInspecResult;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -31,6 +33,12 @@ public class QmsInspecDetailDTO extends QmsInspecDetail {
private String eqpCategoryBo;
/**
* 允退数
*/
@ApiModelProperty(value = "允退数")
private BigDecimal returnAllowedQty;
private List<Map<String, Object>> resultList;
private QmsInspecResult contentResult;

View File

@ -5,14 +5,12 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.iep.common.utils.JsonUtils;
import com.foreverwin.iep.common.utils.ListUtils;
import com.foreverwin.iep.common.utils.SidUtils;
import com.foreverwin.iep.prd.entity.NcBasis;
import com.foreverwin.iep.prd.mapper.NcBasisMapper;
import com.foreverwin.iep.qms.dto.QmsInspecDetailDTO;
import com.foreverwin.iep.qms.dto.QmsInspecFactorDTO;
import com.foreverwin.iep.qms.dto.QmsInspecResultDTO;
import com.foreverwin.iep.qms.dto.QmsInspecResultNccodeDTO;
import com.foreverwin.iep.qms.dto.*;
import com.foreverwin.iep.qms.entity.*;
import com.foreverwin.iep.qms.mapper.QmsInspecDetailMapper;
import com.foreverwin.iep.qms.service.*;
@ -44,6 +42,10 @@ public class QmsInspecDetailServiceImpl extends ServiceImpl<QmsInspecDetailMappe
return SpringUtil.getBean(QmsInspecJobService.class);
}
private QmsSamplePlanService getQmsSamplePlanService() {
return SpringUtil.getBean(QmsSamplePlanService.class);
}
private final QmsInspecSnService qmsInspecSnService;
private final QmsInspecResultService qmsInspecResultService;
private final QmsQcPlanDetailService qmsQcPlanDetailService;
@ -65,7 +67,18 @@ public class QmsInspecDetailServiceImpl extends ServiceImpl<QmsInspecDetailMappe
public QmsInspecDetailDTO getDetailResult(String inspecDetailBo) {
QmsInspecDetailDTO inspecDetail = baseMapper.selectDetail(inspecDetailBo);
String itemType = inspecDetail.getItemType();
Map<String, String> area = Area.formatter(inspecDetail.getAreaInfo());
Map<String, String> tempArea = Area.formatter(inspecDetail.getAreaInfo());
// 初始化區域
int areaQty = ObjectUtil.isNull(inspecDetail.getAreaQty()) ? 1 : inspecDetail.getAreaQty().intValue();
Map<String, String> area = new LinkedHashMap<>();
for (int i = 1; i <= areaQty; i++) {
String key = String.valueOf(i);
String name = tempArea.getOrDefault(key, "");
area.put(key, name);
}
inspecDetail.setAreaInfo(JsonUtils.toString(area));
BigDecimal sampleSize = inspecDetail.getSampleSize();
BigDecimal dieQty = inspecDetail.getDieQty();
@ -104,7 +117,7 @@ public class QmsInspecDetailServiceImpl extends ServiceImpl<QmsInspecDetailMappe
for (int j = 0; j < die; j++) {
int series = j + 1;
Map<String, Object> map = new HashMap<>();
Map<String, Object> map = new LinkedHashMap<>();
map.put("seq", seq);
map.put("sn", snValue);
@ -223,14 +236,25 @@ public class QmsInspecDetailServiceImpl extends ServiceImpl<QmsInspecDetailMappe
}
@Override
public QmsInspecDetailDTO getIQCDetailResult( String inspecDetailBo ) {
public QmsInspecDetailDTO getIQCDetailResult(String inspecDetailBo) {
String site = TenantContextHolder.getTenantId();
QmsInspecDetailDTO inspecDetail = baseMapper.selectDetail(inspecDetailBo);
QmsInspecJob inspecJob = getQmsInspecJobService().getById(inspecDetail.getInspecJobBo());
QmsSamplePlanDTO samplePlan = new QmsSamplePlanDTO();
samplePlan.setHandle(QmsSamplePlan.genHandle(site, inspecDetail.getSamplePlan()));
samplePlan.setQty(inspecJob.getPopulationQty());
QmsSamplePlanDTO qmsSamplePlan = getQmsSamplePlanService().calculate(samplePlan);
inspecDetail.setReturnAllowedQty("2".equals(inspecDetail.getSamplePlanType()) ? qmsSamplePlan.getReturnAllowedQty() : BigDecimal.ONE);
List<QmsInspecResult> inspecResults = qmsInspecResultService.list(Wrappers.lambdaQuery(QmsInspecResult.class)
.eq(QmsInspecResult::getInspecDetailBo, inspecDetailBo));
inspecDetail.setFactorList(qmsInspecFactorService.selectAll(inspecDetailBo));
inspecResults.forEach(result ->{
inspecResults.forEach(result -> {
QmsInspecResultDTO resultDTO = new QmsInspecResultDTO();
BeanUtils.copyProperties(result, resultDTO);
resultDTO.setQmsInspecResultNccodeList(qmsInspecResultNccodeService.selectAll(result.getSid()));
@ -244,7 +268,7 @@ public class QmsInspecDetailServiceImpl extends ServiceImpl<QmsInspecDetailMappe
@Override
@Transactional
public void saveIQCResult( QmsInspecDetailDTO dto ) {
public void saveIQCResult(QmsInspecDetailDTO dto) {
String inspecJobBo = dto.getInspecJobBo();
String inspecDetailBo = dto.getHandle();
@ -258,7 +282,7 @@ public class QmsInspecDetailServiceImpl extends ServiceImpl<QmsInspecDetailMappe
List<QmsInspecResult> inspecResultList = new ArrayList<>();
List<QmsInspecResultNccode> inspecResultNcList = new ArrayList<>();
resultList.forEach(result->{
resultList.forEach(result -> {
result.setSid(SidUtils.genSid());
result.setInspecDetailBo(dto.getHandle());
inspecResultList.add(result);

View File

@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import java.util.LinkedHashMap;
import java.util.Map;
public class Area {
@ -18,7 +19,7 @@ public class Area {
object.put("1", "");
areaInfo = object.toJSONString();
}
return JSONObject.parseObject(areaInfo, new TypeReference<Map<String, String>>() {
return JSONObject.parseObject(areaInfo, new TypeReference<LinkedHashMap<String, String>>() {
});
}
}