|
|
|
@ -255,24 +255,7 @@ public class SxRepairWorkService implements ISxRepairWorkService {
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
produceSnExt = produceSnExtService.getProduceSnExtByProductSn(organizeCode, serialNumber);
|
|
|
|
|
|
|
|
|
|
if (produceSnExt == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("条码信息不存在,请检查")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(produceSnExt.getSnStatus() > MesPcnExtEnumUtil.PRODUCE_SN_STATUS.PROCESS.getValue()){
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("扫描的条码的条码状态为【下线】,不可以操作")
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
produceSnExt = getMesProduceSnExt(organizeCode, serialNumber);
|
|
|
|
|
|
|
|
|
|
isFinalCheckAfterSn = true;
|
|
|
|
|
|
|
|
|
@ -324,24 +307,7 @@ public class SxRepairWorkService implements ISxRepairWorkService {
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
produceSnExt = produceSnExtService.getProduceSnExtByProductSn(organizeCode, serialNumber);
|
|
|
|
|
|
|
|
|
|
if (produceSnExt == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("条码信息不存在,请检查")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(produceSnExt.getSnStatus() > MesPcnExtEnumUtil.PRODUCE_SN_STATUS.PROCESS.getValue()){
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("扫描的条码的条码状态为【下线】,不可以操作")
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
produceSnExt = getMesProduceSnExt(organizeCode, serialNumber);
|
|
|
|
|
|
|
|
|
|
isFinalCheckAfterSn = true;
|
|
|
|
|
|
|
|
|
@ -474,24 +440,7 @@ public class SxRepairWorkService implements ISxRepairWorkService {
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
produceSnExt = produceSnExtService.getProduceSnExtByProductSn(mesBadCellDetail.getOrganizeCode(), mesBadCellDetail.getSerialNumber());
|
|
|
|
|
|
|
|
|
|
if (produceSnExt == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("条码信息不存在,请检查")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(produceSnExt.getSnStatus() > MesPcnExtEnumUtil.PRODUCE_SN_STATUS.PROCESS.getValue()){
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("扫描的条码的条码状态为【下线】,不可以操作")
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
produceSnExt = getMesProduceSnExt(mesBadCellDetail.getOrganizeCode(), mesBadCellDetail.getSerialNumber());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
workOrderNo = StringUtils.isEmpty(produceSnExt.getLastWorkOrderNo()) ? produceSnExt.getWorkOrderNo() : produceSnExt.getLastWorkOrderNo();
|
|
|
|
@ -515,29 +464,12 @@ public class SxRepairWorkService implements ISxRepairWorkService {
|
|
|
|
|
mesBadCellDetail.getSerialNumber(), workCenterExt.getWorkTime(), workCenterExt.getShiftCode(), mesBadCellDetail.getWorkCellCode())
|
|
|
|
|
.build();
|
|
|
|
|
} else {
|
|
|
|
|
MesProcessCell processCell = qualityDecisionService.getMesProcessCell(workCenterExt.getWorkCenterCode(), mesBadCellDetail.getWorkCellCode(), mesBadCellDetail.getOrganizeCode());
|
|
|
|
|
if (null == processCell) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("生产线代码[%s]工位代码[%s]未关联工序", workCenterExt.getWorkCenterCode(), mesBadCellDetail.getWorkCellCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
badCell = new MesBadCell();
|
|
|
|
|
badCell.setOrganizeCode(mesBadCellDetail.getOrganizeCode());
|
|
|
|
|
badCell.setPartNo(mesBadCellDetail.getPartNo());
|
|
|
|
|
badCell.setPartNameRdd(mesBadCellDetail.getPartNameRdd());
|
|
|
|
|
badCell.setWorkCenterCode(workCenterExt.getWorkCenterCode());
|
|
|
|
|
badCell.setWorkCellCode(mesBadCellDetail.getWorkCellCode());
|
|
|
|
|
badCell.setProcessCode(processCell.getProcessCode());
|
|
|
|
|
badCell.setProcessNameRdd(processCell.getProcessName());
|
|
|
|
|
badCell.setQty(new Double(mesDefectList.size()));
|
|
|
|
|
badCell.setWorkOrderNo(workOrderNo);
|
|
|
|
|
badCell.setWorkTime(workCenterExt.getWorkTime());
|
|
|
|
|
badCell.setShiftCode(workCenterExt.getShiftCode());
|
|
|
|
|
ConvertBean.serviceModelInitialize(badCell, mesBadCellDetail.getModifyUser());
|
|
|
|
|
badCellRepository.insert(badCell);
|
|
|
|
|
MesProcessCell processCell = getMesProcessCell(workCenterExt.getWorkCenterCode(), mesBadCellDetail.getWorkCellCode(), mesBadCellDetail.getOrganizeCode());
|
|
|
|
|
|
|
|
|
|
insertMesBadCell(mesBadCellDetail.getPartNo(), mesBadCellDetail.getPartNameRdd(), workCenterExt.getWorkCenterCode(),
|
|
|
|
|
mesBadCellDetail.getWorkCellCode(), workCenterExt.getWorkTime(), workCenterExt.getShiftCode(),
|
|
|
|
|
processCell.getProcessCode(), processCell.getProcessName(), workOrderNo, new Double(mesDefectList.size()),
|
|
|
|
|
mesBadCellDetail.getOrganizeCode(), mesBadCellDetail.getModifyUser());
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
badCell.setQty(MathOperation.add(badCell.getQty(), new Double(mesDefectList.size())));
|
|
|
|
@ -627,7 +559,8 @@ public class SxRepairWorkService implements ISxRepairWorkService {
|
|
|
|
|
repairRecordDb.setRepairCode(repairRecord.getRepairCode());
|
|
|
|
|
repairRecordDb.setRepairName(repairRecord.getRepairName());
|
|
|
|
|
repairRecordDb.setRepairDatetime(repairRecord.getRepairDatetime());
|
|
|
|
|
repairRecordDb.setRepairJudge(repairRecord.getRepairJudge());
|
|
|
|
|
repairRecordDb.setRepairJudgeCode(repairRecord.getRepairJudgeCode());
|
|
|
|
|
repairRecordDb.setRepairJudgeName(repairRecord.getRepairJudgeName());
|
|
|
|
|
repairRecordDb.setMemo(repairRecord.getMemo());
|
|
|
|
|
repairRecordDb.setBadPartNo(repairRecord.getBadPartNo());
|
|
|
|
|
repairRecordDb.setBadPartName(repairRecord.getMemo());
|
|
|
|
@ -700,24 +633,7 @@ public class SxRepairWorkService implements ISxRepairWorkService {
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
produceSnExt = produceSnExtService.getProduceSnExtByProductSn(requestModel.getOrganizeCode(), mesBadCellDetail.getSerialNumber());
|
|
|
|
|
|
|
|
|
|
if (produceSnExt == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("条码信息不存在,请检查")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(produceSnExt.getSnStatus() > MesPcnExtEnumUtil.PRODUCE_SN_STATUS.PROCESS.getValue()){
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("扫描的条码的条码状态为【下线】,不可以操作")
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
produceSnExt = getMesProduceSnExt(requestModel.getOrganizeCode(), mesBadCellDetail.getSerialNumber());
|
|
|
|
|
|
|
|
|
|
BeanUtils.copyProperties(produceSnExt, produceSnExtModel, MesPcnExtConstWords.ID);
|
|
|
|
|
}
|
|
|
|
@ -741,29 +657,13 @@ public class SxRepairWorkService implements ISxRepairWorkService {
|
|
|
|
|
badCellDetailList.get(0).getSerialNumber(), workCenterExt.getWorkTime(), workCenterExt.getShiftCode(), requestModel.getWorkCellCode())
|
|
|
|
|
.build();
|
|
|
|
|
} else {
|
|
|
|
|
MesProcessCell processCell = qualityDecisionService.getMesProcessCell(workCenterExt.getWorkCenterCode(), requestModel.getWorkCellCode(), requestModel.getOrganizeCode());
|
|
|
|
|
if (null == processCell) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("生产线代码[%s]工位代码[%s]未关联工序", workCenterExt.getWorkCenterCode(), requestModel.getWorkCellCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
badCell = new MesBadCell();
|
|
|
|
|
badCell.setOrganizeCode(requestModel.getOrganizeCode());
|
|
|
|
|
badCell.setPartNo(repairRecordList.get(0).getPartNo());
|
|
|
|
|
badCell.setPartNameRdd(repairRecordList.get(0).getPartName());
|
|
|
|
|
badCell.setWorkCenterCode(workCenterExt.getWorkCenterCode());
|
|
|
|
|
badCell.setWorkCellCode(requestModel.getWorkCellCode());
|
|
|
|
|
badCell.setProcessCode(processCell.getProcessCode());
|
|
|
|
|
badCell.setProcessNameRdd(processCell.getProcessName());
|
|
|
|
|
badCell.setQty(new Double(badCellDetailList.size()));
|
|
|
|
|
badCell.setWorkOrderNo(workOrderNo);
|
|
|
|
|
badCell.setWorkTime(workCenterExt.getWorkTime());
|
|
|
|
|
badCell.setShiftCode(workCenterExt.getShiftCode());
|
|
|
|
|
ConvertBean.serviceModelInitialize(badCell, requestModel.getModifyUser());
|
|
|
|
|
badCellRepository.insert(badCell);
|
|
|
|
|
MesProcessCell processCell = getMesProcessCell(workCenterExt.getWorkCenterCode(), requestModel.getWorkCellCode(), requestModel.getOrganizeCode());
|
|
|
|
|
|
|
|
|
|
insertMesBadCell(repairRecordList.get(0).getPartNo(), repairRecordList.get(0).getPartName(), workCenterExt.getWorkCenterCode(),
|
|
|
|
|
requestModel.getWorkCellCode(), workCenterExt.getWorkTime(), workCenterExt.getShiftCode(),
|
|
|
|
|
processCell.getProcessCode(), processCell.getProcessName(), workOrderNo, new Double(badCellDetailList.size()),
|
|
|
|
|
requestModel.getOrganizeCode(), requestModel.getModifyUser());
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
badCell.setQty(MathOperation.add(badCell.getQty(), badCellDetailList.size()));
|
|
|
|
@ -843,6 +743,62 @@ public class SxRepairWorkService implements ISxRepairWorkService {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MesBadCell insertMesBadCell(String partNo, String partName, String workCenterCode, String workCellCode,
|
|
|
|
|
String workTime, String shiftCode, String processCode, String processName,
|
|
|
|
|
String workOrderNo, Double qty, String organizeCode, String modifyUser) {
|
|
|
|
|
|
|
|
|
|
MesBadCell badCell = new MesBadCell();
|
|
|
|
|
badCell.setOrganizeCode(organizeCode);
|
|
|
|
|
badCell.setPartNo(partNo);
|
|
|
|
|
badCell.setPartNameRdd(partName);
|
|
|
|
|
badCell.setWorkCenterCode(workCenterCode);
|
|
|
|
|
badCell.setWorkCellCode(workCellCode);
|
|
|
|
|
badCell.setProcessCode(processCode);
|
|
|
|
|
badCell.setProcessNameRdd(processName);
|
|
|
|
|
badCell.setQty(qty);
|
|
|
|
|
badCell.setWorkOrderNo(workOrderNo);
|
|
|
|
|
badCell.setWorkTime(workTime);
|
|
|
|
|
badCell.setShiftCode(shiftCode);
|
|
|
|
|
ConvertBean.serviceModelInitialize(badCell, modifyUser);
|
|
|
|
|
return badCellRepository.insert(badCell);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MesProcessCell getMesProcessCell(String workCenterCode, String workCellCode, String organizeCode) {
|
|
|
|
|
//MesProcessCell processCell = qualityDecisionService.getMesProcessCell(workCenterExt.getWorkCenterCode(), requestModel.getWorkCellCode(), requestModel.getOrganizeCode());
|
|
|
|
|
MesProcessCell processCell = qualityDecisionService.getMesProcessCell(workCenterCode, workCellCode, organizeCode);
|
|
|
|
|
if (null == processCell) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("生产线代码[%s]工位代码[%s]未关联工序", workCenterCode, workCellCode)
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
return processCell;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MesProduceSnExt getMesProduceSnExt(String organizeCode, String serialNumber) {
|
|
|
|
|
MesProduceSnExt produceSnExt = produceSnExtService.getProduceSnExtByProductSn(organizeCode, serialNumber);
|
|
|
|
|
|
|
|
|
|
if (produceSnExt == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("条码信息不存在,请检查")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (produceSnExt.getSnStatus() > MesPcnExtEnumUtil.PRODUCE_SN_STATUS.PROCESS.getValue()) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("扫描的条码的条码状态为【下线】,不可以操作")
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return produceSnExt;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void updateRepairComplete(String serialNumber, String organizeCode, String modifyUser) {
|
|
|
|
|
|
|
|
|
@ -866,24 +822,7 @@ public class SxRepairWorkService implements ISxRepairWorkService {
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
produceSnExt = produceSnExtService.getProduceSnExtByProductSn(organizeCode, serialNumber);
|
|
|
|
|
|
|
|
|
|
if (produceSnExt == null) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("条码信息不存在,请检查")
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(produceSnExt.getSnStatus() > MesPcnExtEnumUtil.PRODUCE_SN_STATUS.PROCESS.getValue()){
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
|
|
|
|
|
.setErrorDetail("扫描的条码的条码状态为【下线】,不可以操作")
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
produceSnExt = getMesProduceSnExt(organizeCode, serialNumber);
|
|
|
|
|
|
|
|
|
|
isFinalCheckAfterSn = true;
|
|
|
|
|
|
|
|
|
@ -994,13 +933,6 @@ public class SxRepairWorkService implements ISxRepairWorkService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
log.info("updateRepairComplete --- 解绑关键件结果:{}" , unbindKeyResult);
|
|
|
|
|
|
|
|
|
|
// 清空条码履历
|
|
|
|
|
//produceSnTravelExtRepository.updateByProperties(new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED,
|
|
|
|
|
// MesPcnExtConstWords.SERIAL_NUMBER}, new Object[]{organizeCode, CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),
|
|
|
|
|
// serialNumber},
|
|
|
|
|
// new String[]{MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME},
|
|
|
|
|
// new Object[]{CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), modifyUser, TimeTool.getNowTime(true)});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|