|
|
|
@ -1,14 +1,12 @@
|
|
|
|
|
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base;
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.base.IQualityDecisionService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.base.ISxRepairWorkService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.base.IWorkCenterExtService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IProduceSnExtService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IProduceSnRepairService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.jx.IJxProduceSnExtService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.jx.IJxProduceSnMcRecordService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.*;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnModel;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.ProduceSnExtModel;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.RepairRequestModel;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.repository.*;
|
|
|
|
@ -29,7 +27,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
import org.testng.annotations.AfterSuite;
|
|
|
|
|
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.List;
|
|
|
|
@ -196,89 +193,6 @@ public class QualityDecisionService implements IQualityDecisionService {
|
|
|
|
|
return resultMap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private String getWorkOrderNo(String workOrderNo, RepairRequestModel model) {
|
|
|
|
|
// 10-管理码;20-过程条码:30-产品条码
|
|
|
|
|
Integer snType = 0;
|
|
|
|
|
|
|
|
|
|
String querySn = null;
|
|
|
|
|
if (StringUtils.isEmpty(model.getProductSn())) {
|
|
|
|
|
if (StringUtils.isEmpty(model.getSerialNumber())) {
|
|
|
|
|
if (!StringUtils.isEmpty(model.getManageCode())) {
|
|
|
|
|
snType = MANAGE_CODE;
|
|
|
|
|
querySn = model.getManageCode();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
snType = SERIAL_NUMBER;
|
|
|
|
|
querySn = model.getSerialNumber();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
snType = PRODUCT_SN;
|
|
|
|
|
querySn = model.getProductSn();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(querySn)) {
|
|
|
|
|
switch (snType) {
|
|
|
|
|
case MANAGE_CODE:
|
|
|
|
|
MesProduceSnMcRecord produceSnMcRecordDb = produceSnMcRecordRepository.getByProperty(
|
|
|
|
|
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.MANAGE_CODE, MesPcnExtConstWords.SN_STATUS},
|
|
|
|
|
new Object[]{model.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), querySn, MesPcnExtEnumUtil.MC_RECORD_SN_STATUS.LINE_ON.getValue()});
|
|
|
|
|
|
|
|
|
|
if (produceSnMcRecordDb == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("管理码[%s]不存在", querySn)
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
workOrderNo = produceSnMcRecordDb.getWorkOrderNo();
|
|
|
|
|
break;
|
|
|
|
|
case SERIAL_NUMBER:
|
|
|
|
|
MesProduceSnExt produceSnExtBySn = produceSnExtService.getProduceSnExtBySn(model.getOrganizeCode(), querySn);
|
|
|
|
|
|
|
|
|
|
if (produceSnExtBySn == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("过程条码[%s]不存在", querySn)
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
workOrderNo = produceSnExtBySn.getLastWorkOrderNo();
|
|
|
|
|
break;
|
|
|
|
|
case PRODUCT_SN:
|
|
|
|
|
MesProduceSnExt produceSnExtByProductSn = produceSnExtService.getProduceSnExtByProductSn(model.getOrganizeCode(), querySn);
|
|
|
|
|
|
|
|
|
|
if (produceSnExtByProductSn == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("产品条码[%s]不存在", querySn)
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
workOrderNo = produceSnExtByProductSn.getLastWorkOrderNo();
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("入参缺少生产工单号")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if (StringUtils.isEmpty(workOrderNo)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("入参缺少生产工单号")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return workOrderNo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Map<String,List<MesDefect>> findMesDefect(String organizeCode) {
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|