Merge branch 'merge-yili' into 'master'
fix: 检验任务作业—点完成检验任务单时报空指针 See merge request industry-solutions/industry-solutions-division/iep/iep-qms!6
This commit is contained in:
commit
197d4a9b9d
@ -70,13 +70,7 @@ public class QmsInspecDetailServiceImpl extends ServiceImpl<QmsInspecDetailMappe
|
|||||||
Map<String, String> tempArea = 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 = Area.reset(inspecDetail.getAreaQty(), tempArea);
|
||||||
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));
|
inspecDetail.setAreaInfo(JsonUtils.toString(area));
|
||||||
|
|
||||||
BigDecimal sampleSize = inspecDetail.getSampleSize();
|
BigDecimal sampleSize = inspecDetail.getSampleSize();
|
||||||
@ -162,7 +156,8 @@ public class QmsInspecDetailServiceImpl extends ServiceImpl<QmsInspecDetailMappe
|
|||||||
QmsInspecDetailDTO inspecDetail = baseMapper.selectDetail(inspecDetailBo);
|
QmsInspecDetailDTO inspecDetail = baseMapper.selectDetail(inspecDetailBo);
|
||||||
String inspecJobBo = inspecDetail.getInspecJobBo();
|
String inspecJobBo = inspecDetail.getInspecJobBo();
|
||||||
String itemType = inspecDetail.getItemType();
|
String itemType = inspecDetail.getItemType();
|
||||||
Map<String, String> areaMap = Area.formatter(inspecDetail.getAreaInfo());
|
Map<String, String> tempArea = Area.formatter(inspecDetail.getAreaInfo());
|
||||||
|
Map<String, String> areaMap = Area.reset(inspecDetail.getAreaQty(), tempArea);
|
||||||
|
|
||||||
remove(inspecDetailBo);
|
remove(inspecDetailBo);
|
||||||
updateJobStatus(inspecJobBo);
|
updateJobStatus(inspecJobBo);
|
||||||
|
|||||||
@ -136,9 +136,9 @@ public class QmsInspecJobServiceImpl extends ServiceImpl<QmsInspecJobMapper, Qms
|
|||||||
IPage<QmsInspecJobDTO> response = baseMapper.selectIQC(page, dto);
|
IPage<QmsInspecJobDTO> response = baseMapper.selectIQC(page, dto);
|
||||||
response.getRecords().forEach(qmsInspecJobDTO -> {
|
response.getRecords().forEach(qmsInspecJobDTO -> {
|
||||||
List<QmsInspecDetailDTO> detailList = qmsInspecDetailService.selectAll(qmsInspecJobDTO.getHandle());
|
List<QmsInspecDetailDTO> detailList = qmsInspecDetailService.selectAll(qmsInspecJobDTO.getHandle());
|
||||||
if(detailList.stream().noneMatch(x->x.getResult() == null)){
|
if (detailList.stream().noneMatch(x -> x.getResult() == null)) {
|
||||||
qmsInspecJobDTO.setInspecResult(detailList.stream()
|
qmsInspecJobDTO.setInspecResult(detailList.stream()
|
||||||
.allMatch(x -> "1".equals(x.getResult())) ? "OK" : "NG");
|
.allMatch(x -> "1".equals(x.getResult())) ? "OK" : "NG");
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(qmsInspecJobDTO.getReasonCodeBo())) {
|
if (StrUtil.isNotBlank(qmsInspecJobDTO.getReasonCodeBo())) {
|
||||||
qmsInspecJobDTO.setReasonCode(HandleBoProcessor.trimHandle(qmsInspecJobDTO.getReasonCodeBo()));
|
qmsInspecJobDTO.setReasonCode(HandleBoProcessor.trimHandle(qmsInspecJobDTO.getReasonCodeBo()));
|
||||||
@ -277,6 +277,7 @@ public class QmsInspecJobServiceImpl extends ServiceImpl<QmsInspecJobMapper, Qms
|
|||||||
createAbn(inspecJobBo, abnGroup, reasonCode, null);
|
createAbn(inspecJobBo, abnGroup, reasonCode, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@Override
|
@Override
|
||||||
public void close(InspecJob inspecJob) {
|
public void close(InspecJob inspecJob) {
|
||||||
@ -301,7 +302,7 @@ public class QmsInspecJobServiceImpl extends ServiceImpl<QmsInspecJobMapper, Qms
|
|||||||
.set(QmsInspecJob::getTestsampleQty, testSampleQty)
|
.set(QmsInspecJob::getTestsampleQty, testSampleQty)
|
||||||
.eq(QmsInspecJob::getHandle, inspecJobBo));
|
.eq(QmsInspecJob::getHandle, inspecJobBo));
|
||||||
|
|
||||||
if("1".equals(inspecType)){
|
if ("1".equals(inspecType)) {
|
||||||
remoteWmsReceiptDetailService.updateInspecResult(targetBo, "1");
|
remoteWmsReceiptDetailService.updateInspecResult(targetBo, "1");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -854,7 +855,7 @@ public class QmsInspecJobServiceImpl extends ServiceImpl<QmsInspecJobMapper, Qms
|
|||||||
BigDecimal returnQty = inspecJob.getReturnQty() == null ? BigDecimal.ZERO : inspecJob.getReturnQty();
|
BigDecimal returnQty = inspecJob.getReturnQty() == null ? BigDecimal.ZERO : inspecJob.getReturnQty();
|
||||||
BigDecimal destructiveQty = inspecJob.getDestructiveQty() == null ? BigDecimal.ZERO : inspecJob.getDestructiveQty();
|
BigDecimal destructiveQty = inspecJob.getDestructiveQty() == null ? BigDecimal.ZERO : inspecJob.getDestructiveQty();
|
||||||
BigDecimal testsampleQty = inspecJob.getTestsampleQty() == null ? BigDecimal.ZERO : inspecJob.getTestsampleQty();
|
BigDecimal testsampleQty = inspecJob.getTestsampleQty() == null ? BigDecimal.ZERO : inspecJob.getTestsampleQty();
|
||||||
QmsInspecJob qmsInspecJob = getById(inspecJobBo);
|
QmsInspecJob qmsInspecJob = getById(inspecJobBo);
|
||||||
R<WmsReceiptDetailDTO> wmsReceiptDetailDTO = remoteWmsReceiptDetailService.getById(qmsInspecJob.getTargetBo());
|
R<WmsReceiptDetailDTO> wmsReceiptDetailDTO = remoteWmsReceiptDetailService.getById(qmsInspecJob.getTargetBo());
|
||||||
|
|
||||||
InspecJob job = new InspecJob();
|
InspecJob job = new InspecJob();
|
||||||
@ -890,10 +891,10 @@ public class QmsInspecJobServiceImpl extends ServiceImpl<QmsInspecJobMapper, Qms
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void closeByTargetBo( String targetBo ) {
|
public void closeByTargetBo(String targetBo) {
|
||||||
List<QmsInspecJob> jobList = super.list(Wrappers.<QmsInspecJob>lambdaQuery()
|
List<QmsInspecJob> jobList = super.list(Wrappers.<QmsInspecJob>lambdaQuery()
|
||||||
.eq(QmsInspecJob::getTargetBo, targetBo));
|
.eq(QmsInspecJob::getTargetBo, targetBo));
|
||||||
jobList.forEach(job->{
|
jobList.forEach(job -> {
|
||||||
InspecJob inspecJob = new InspecJob();
|
InspecJob inspecJob = new InspecJob();
|
||||||
BeanUtil.copyProperties(job, inspecJob);
|
BeanUtil.copyProperties(job, inspecJob);
|
||||||
close(inspecJob);
|
close(inspecJob);
|
||||||
@ -975,7 +976,7 @@ public class QmsInspecJobServiceImpl extends ServiceImpl<QmsInspecJobMapper, Qms
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(NG.equals(detail.getResult())){
|
if (NG.equals(detail.getResult())) {
|
||||||
hasNG = true;
|
hasNG = true;
|
||||||
}
|
}
|
||||||
updateDetailResult(detailBo, detail.getResult(), String.join("|", oocRemarkList));
|
updateDetailResult(detailBo, detail.getResult(), String.join("|", oocRemarkList));
|
||||||
@ -996,7 +997,8 @@ public class QmsInspecJobServiceImpl extends ServiceImpl<QmsInspecJobMapper, Qms
|
|||||||
BigDecimal max = detail.getMaxValue();
|
BigDecimal max = detail.getMaxValue();
|
||||||
BigDecimal min = detail.getMinValue();
|
BigDecimal min = detail.getMinValue();
|
||||||
QmsInspecDetailDTO inspecDetail = qmsInspecDetailService.getDetailResult(detailBo);
|
QmsInspecDetailDTO inspecDetail = qmsInspecDetailService.getDetailResult(detailBo);
|
||||||
Map<String, String> areaMap = Area.formatter(inspecDetail.getAreaInfo());
|
Map<String, String> tempArea = Area.formatter(inspecDetail.getAreaInfo());
|
||||||
|
Map<String, String> areaMap = Area.reset(inspecDetail.getAreaQty(), tempArea);
|
||||||
List<Map<String, Object>> resultList = inspecDetail.getResultList();
|
List<Map<String, Object>> resultList = inspecDetail.getResultList();
|
||||||
|
|
||||||
if ("2".equals(itemType)) {
|
if ("2".equals(itemType)) {
|
||||||
@ -1013,7 +1015,8 @@ public class QmsInspecJobServiceImpl extends ServiceImpl<QmsInspecJobMapper, Qms
|
|||||||
value = k;
|
value = k;
|
||||||
}
|
}
|
||||||
|
|
||||||
BigDecimal result = new BigDecimal((String) objectMap.get(value));
|
String resultValue = (String) objectMap.get(value);
|
||||||
|
BigDecimal result = new BigDecimal(StrUtil.isBlank(resultValue) ? "0" : resultValue);
|
||||||
switch (itemType) {
|
switch (itemType) {
|
||||||
case "0":
|
case "0":
|
||||||
// 計數
|
// 計數
|
||||||
|
|||||||
@ -1,9 +1,11 @@
|
|||||||
package com.foreverwin.iep.qms.utils;
|
package com.foreverwin.iep.qms.utils;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.alibaba.fastjson.TypeReference;
|
import com.alibaba.fastjson.TypeReference;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@ -22,4 +24,22 @@ public class Area {
|
|||||||
return JSONObject.parseObject(areaInfo, new TypeReference<LinkedHashMap<String, String>>() {
|
return JSONObject.parseObject(areaInfo, new TypeReference<LinkedHashMap<String, String>>() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重置區域
|
||||||
|
*
|
||||||
|
* @param areaCnt
|
||||||
|
* @param tempArea
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static Map<String, String> reset(BigDecimal areaCnt, Map<String, String> tempArea) {
|
||||||
|
int areaQty = ObjectUtil.isNull(areaCnt) ? 1 : areaCnt.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);
|
||||||
|
}
|
||||||
|
return area;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user