|
|
|
@ -163,9 +163,13 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
|
|
|
|
|
@Override
|
|
|
|
|
public void saveDefectRecord(List<MesDefectRecord> defectRecordList, String org) {
|
|
|
|
|
|
|
|
|
|
//检查条码
|
|
|
|
|
MesProduceSn produceSn = checkProduceSn(defectRecordList.get(0).getSerialNumber(), org);
|
|
|
|
|
|
|
|
|
|
produceSn.setQcStatus(MesPcnExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS.getValue());
|
|
|
|
|
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(org);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(defectRecordList.get(0).getPartNo(), "partNo", packBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(produceSn.getPartNo(), "partNo", packBean);
|
|
|
|
|
MesPart part = partRepository.getByProperty(packBean);
|
|
|
|
|
|
|
|
|
|
//保存数据
|
|
|
|
@ -179,7 +183,11 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
|
|
|
|
|
zrsum = (rb.getResultList().get(0)).toString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ConvertBean.serviceModelUpdate(produceSn, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
produceSnRepository.save(produceSn);
|
|
|
|
|
|
|
|
|
|
MesMove move = new MesMove();
|
|
|
|
|
move.setMatnr(part.getPartNo());
|
|
|
|
|
move.setOrganizeCode(org);
|
|
|
|
|
move.setFactoryCode(org);
|
|
|
|
|
move.setLgort(configService.getCfgValue(org, "LGORT"));
|
|
|
|
@ -187,6 +195,8 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
|
|
|
|
|
move.setMenge(defectRecordList.size());
|
|
|
|
|
move.setMeins(part.getUnit());
|
|
|
|
|
move.setZrsum(zrsum);
|
|
|
|
|
move.setPostDate(TimeTool.getToday());
|
|
|
|
|
move.setPostTime(TimeTool.getTimeShortWithColon());
|
|
|
|
|
ConvertBean.serviceModelInitialize(move, AuthUtil.getSessionUser().getUserName());
|
|
|
|
|
moveRepository.save(move);
|
|
|
|
|
}
|
|
|
|
@ -194,7 +204,8 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
|
|
|
|
|
private MesProduceSn checkProduceSn(String serialNumber, String org) {
|
|
|
|
|
//根据扫描的条码查询条码是否存在
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(org);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(serialNumber, "serialNumber", packBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(serialNumber, "productSn", packBean);
|
|
|
|
|
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean);
|
|
|
|
|
MesProduceSn produceSn = produceSnRepository.getByProperty(packBean);
|
|
|
|
|
|
|
|
|
|
//若不存在则提示条码不存在
|
|
|
|
@ -210,7 +221,9 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
|
|
|
|
|
|
|
|
|
|
//todo
|
|
|
|
|
//是否需要判断条码质量状态
|
|
|
|
|
// if()
|
|
|
|
|
if (produceSn.getQcStatus() != MesPcnExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()) {
|
|
|
|
|
throw new ImppBusiException(String.format("【%s】此条码状态为【%s】,请选择【%s】状态的条码", serialNumber, produceSn.getSnStatus(), MesPcnExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue()));
|
|
|
|
|
}
|
|
|
|
|
return produceSn;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|