出货检验产品条码由serialNumber改为productSn

dev
yxw 2 years ago
parent 6b3614703b
commit 59958cafae

@ -132,6 +132,16 @@ public interface IJxOqcCheckService {
List<MesOqcCheck> getOqcCheckListBySn(String organizeCode, String workOrderNo, String serialNumber); List<MesOqcCheck> getOqcCheckListBySn(String organizeCode, String workOrderNo, String serialNumber);
/** /**
* ,
* @param organizeCode
* @param workOrderNo
* @param productSn
* @return
*/
@ApiOperation(value = "根据生产工单号,产品条码查询出货检验单据主表集合数据", notes = "根据生产工单号,产品条码查询出货检验单据主表集合数据")
List<MesOqcCheck> getOqcCheckListByProductSn(String organizeCode, String workOrderNo, String productSn);
/**
* , * ,
* @param organizeCode * @param organizeCode
* @param workOrderNo * @param workOrderNo
@ -142,6 +152,16 @@ public interface IJxOqcCheckService {
MesOqcCheckPackageDetail getOqcCheckPackageDetailByOrderNoAndSn(String organizeCode, String workOrderNo, String serialNumber); MesOqcCheckPackageDetail getOqcCheckPackageDetailByOrderNoAndSn(String organizeCode, String workOrderNo, String serialNumber);
/** /**
* ,
* @param organizeCode
* @param workOrderNo
* @param productSn
* @return
*/
@ApiOperation(value = "根据工单号,产品条码查询出货检验单据条码关联数据", notes = "根据工单号,产品条码查询出货检验单据条码关联数据")
MesOqcCheckPackageDetail getOqcCheckPackageDetailByOrderNoAndProductSn(String organizeCode, String workOrderNo, String productSn);
/**
* , * ,
* @param organizeCode * @param organizeCode
* @param workOrderNo * @param workOrderNo

@ -168,6 +168,17 @@ public class JxOqcCheckService implements IJxOqcCheckService {
} }
@Override @Override
public List<MesOqcCheck> getOqcCheckListByProductSn(String organizeCode, String workOrderNo, String productSn) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workOrderNo) || StringUtils.isEmpty(productSn)) {
return null;
}
return oqcCheckRepository.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_ORDER_NO, MesPcnExtConstWords.PRODUCT_SN},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workOrderNo, productSn},
" order by modifyDatetime desc ");
}
@Override
public MesOqcCheckPackageDetail getOqcCheckPackageDetailByOrderNoAndSn(String organizeCode, String workOrderNo, String serialNumber) { public MesOqcCheckPackageDetail getOqcCheckPackageDetailByOrderNoAndSn(String organizeCode, String workOrderNo, String serialNumber) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workOrderNo) || StringUtils.isEmpty(serialNumber)) { if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workOrderNo) || StringUtils.isEmpty(serialNumber)) {
return null; return null;
@ -178,6 +189,16 @@ public class JxOqcCheckService implements IJxOqcCheckService {
} }
@Override @Override
public MesOqcCheckPackageDetail getOqcCheckPackageDetailByOrderNoAndProductSn(String organizeCode, String workOrderNo, String productSn) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workOrderNo) || StringUtils.isEmpty(productSn)) {
return null;
}
return oqcCheckPackageDetailRepository.getByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_ORDER_NO, MesPcnExtConstWords.PRODUCT_SN},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workOrderNo, productSn});
}
@Override
public MesOqcCheckPackageDetail getOqcCheckPackageDetailByOrderNoAndPackageNo(String organizeCode, String workOrderNo, String packageNo) { public MesOqcCheckPackageDetail getOqcCheckPackageDetailByOrderNoAndPackageNo(String organizeCode, String workOrderNo, String packageNo) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workOrderNo) || StringUtils.isEmpty(packageNo)) { if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workOrderNo) || StringUtils.isEmpty(packageNo)) {
return null; return null;

@ -111,7 +111,7 @@ public class JxOqcManageService implements IJxOqcManageService {
log.info("出货检验主数据 --- result[{}] --- 线程ID[{}]", result.toBaseString(), Thread.currentThread().getName()); log.info("出货检验主数据 --- result[{}] --- 线程ID[{}]", result.toBaseString(), Thread.currentThread().getName());
//初始化界面 //初始化界面
if (StringUtils.isEmpty(result.getSn()) && StringUtils.isEmpty(result.getSerialNumber()) && StringUtils.isEmpty(result.getIdStr())) return noDetailResult(result, model); if (StringUtils.isEmpty(result.getSn()) && StringUtils.isEmpty(result.getProductSn()) && StringUtils.isEmpty(result.getIdStr())) return noDetailResult(result, model);
//组件 //组件
if (!StringUtils.isEmpty(result.getIdStr())) return queryOqcManageDataById(result, lastScanInfo, key, model); if (!StringUtils.isEmpty(result.getIdStr())) return queryOqcManageDataById(result, lastScanInfo, key, model);
@ -150,7 +150,7 @@ public class JxOqcManageService implements IJxOqcManageService {
if (!StringUtils.isEmpty(lastScanInfo)) { if (!StringUtils.isEmpty(lastScanInfo)) {
if (lastScanInfo instanceof String) { if (lastScanInfo instanceof String) {
String[] snArr = lastScanInfo.toString().split(MesPcnExtConstWords.COMMA); String[] snArr = lastScanInfo.toString().split(MesPcnExtConstWords.COMMA);
result.setSerialNumber(snArr[0]); //result.setSerialNumber(snArr[0]);
result.setProductSn(snArr[0]); result.setProductSn(snArr[0]);
if (snArr.length > 1) { if (snArr.length > 1) {
result.setGoodsCode(snArr[1]); result.setGoodsCode(snArr[1]);
@ -165,7 +165,7 @@ public class JxOqcManageService implements IJxOqcManageService {
result.setIdStr(lastScanInfo.toString()); result.setIdStr(lastScanInfo.toString());
} }
} }
if (StringUtils.isEmpty(result.getSn()) && StringUtils.isEmpty(result.getSerialNumber()) && StringUtils.isEmpty(result.getIdStr())) { if (StringUtils.isEmpty(result.getSn()) && StringUtils.isEmpty(result.getProductSn()) && StringUtils.isEmpty(result.getIdStr())) {
result.setMsg("请扫描产品条码"); result.setMsg("请扫描产品条码");
} }
} }
@ -299,7 +299,7 @@ public class JxOqcManageService implements IJxOqcManageService {
private void checkSnIsNull(JxOqcManageModel result, String oqcNo) { private void checkSnIsNull(JxOqcManageModel result, String oqcNo) {
if (StringUtils.isEmpty(result.getSn())) { if (StringUtils.isEmpty(result.getSn())) {
if (StringUtils.isEmpty(result.getGoodsCode())) { if (StringUtils.isEmpty(result.getGoodsCode())) {
result.setMsg(String.format("继上次扫描,产品条码[%s],请继续扫描商品码", result.getSerialNumber())); result.setMsg(String.format("继上次扫描,产品条码[%s],请继续扫描商品码", result.getProductSn()));
} }
//else if (StringUtils.isEmpty(result.getPackageNo())) { //else if (StringUtils.isEmpty(result.getPackageNo())) {
// result.setMsg(String.format("继上次扫描,产品条码[%s]商品码[%s],请继续扫描包装条码", result.getSerialNumber(), result.getGoodsCode())); // result.setMsg(String.format("继上次扫描,产品条码[%s]商品码[%s],请继续扫描包装条码", result.getSerialNumber(), result.getGoodsCode()));
@ -307,9 +307,9 @@ public class JxOqcManageService implements IJxOqcManageService {
// result.setMsg(String.format("继上次扫描,产品条码[%s]商品码[%s]包装条码[%s],请继续扫描商品码", result.getSerialNumber(), result.getGoodsCode(), result.getPackageNo())); // result.setMsg(String.format("继上次扫描,产品条码[%s]商品码[%s]包装条码[%s],请继续扫描商品码", result.getSerialNumber(), result.getGoodsCode(), result.getPackageNo()));
//} //}
} else { } else {
if (!StringUtils.isEmpty(result.getGoodsCode2())) { //if (!StringUtils.isEmpty(result.getGoodsCode2())) {
result.setMsg("请先点击重置,再重新扫描"); // result.setMsg("请先点击重置,再重新扫描");
} //}
} }
if (StringUtils.isEmpty(result.getMsg())) result.setOqcNo(oqcNo); if (StringUtils.isEmpty(result.getMsg())) result.setOqcNo(oqcNo);
@ -323,7 +323,7 @@ public class JxOqcManageService implements IJxOqcManageService {
params.put(MesPcnExtConstWords.CLASS_NAME, clazz); params.put(MesPcnExtConstWords.CLASS_NAME, clazz);
if (StringUtils.isEmpty(result.getIdStr())) { if (StringUtils.isEmpty(result.getIdStr())) {
//成品 //成品
params.put(MesPcnExtConstWords.VALUE, !StringUtils.isEmpty(result.getSerialNumber()) ? result.getSerialNumber() : result.getSn()); params.put(MesPcnExtConstWords.VALUE, !StringUtils.isEmpty(result.getProductSn()) ? result.getProductSn() : result.getSn());
params.put(MesPcnExtConstWords.DATA_TYPE, params.put(MesPcnExtConstWords.DATA_TYPE,
(MesPcnExtEnumUtil.OQC_CHECK_TYPE.TEARDOWN_INSPECTION.getValue() == result.getOqcNoType() || !StringUtils.isEmpty(result.getOqcNo())) ? MesPcnExtEnumUtil.TRUE_OR_FALSE.FALSE.getValueStr() : MesPcnExtEnumUtil.TRUE_OR_FALSE.TRUE.getValueStr()); (MesPcnExtEnumUtil.OQC_CHECK_TYPE.TEARDOWN_INSPECTION.getValue() == result.getOqcNoType() || !StringUtils.isEmpty(result.getOqcNo())) ? MesPcnExtEnumUtil.TRUE_OR_FALSE.FALSE.getValueStr() : MesPcnExtEnumUtil.TRUE_OR_FALSE.TRUE.getValueStr());
} else { } else {
@ -335,9 +335,9 @@ public class JxOqcManageService implements IJxOqcManageService {
} }
private void checkScanIsFinish(JxOqcManageModel result, SxBuOqcDataModel dataFromPcn, Object lastScanInfo, String key) { private void checkScanIsFinish(JxOqcManageModel result, SxBuOqcDataModel dataFromPcn, Object lastScanInfo, String key) {
if (StringUtils.isEmpty(result.getSerialNumber())) { if (StringUtils.isEmpty(result.getProductSn())) {
result.setSerialNumber(result.getSn()); result.setProductSn(result.getSn());
result.setMsg(String.format("产品条码[%s]扫描成功,请继续扫描商品码", result.getSerialNumber())); result.setMsg(String.format("产品条码[%s]扫描成功,请继续扫描商品码", result.getProductSn()));
} else { } else {
result.setGoodsCode(result.getSn()); result.setGoodsCode(result.getSn());
} }
@ -345,7 +345,7 @@ public class JxOqcManageService implements IJxOqcManageService {
//验证物料 //验证物料
MesPartExt partDb = checkPartValidBySn(result, dataFromPcn.getPartNo(), lastScanInfo); MesPartExt partDb = checkPartValidBySn(result, dataFromPcn.getPartNo(), lastScanInfo);
//验证商品码 //验证商品码
checkGoodsCodeValid(partDb, result.getGoodsCode(), result.getSerialNumber()); checkGoodsCodeValid(partDb, result.getGoodsCode(), result.getProductSn());
//缓存用户扫描信息 //缓存用户扫描信息
if (!StringUtils.isEmpty(result.getSn())) redisMesPcn.putHash(key, result.getUserId(), if (!StringUtils.isEmpty(result.getSn())) redisMesPcn.putHash(key, result.getUserId(),
@ -368,28 +368,28 @@ public class JxOqcManageService implements IJxOqcManageService {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("出货检验:产品条码[%s]关联的物料编码[%s]不存在%s", result.getSerialNumber(), partNo, msg) .setErrorDetail("出货检验:产品条码[%s]关联的物料编码[%s]不存在%s", result.getProductSn(), partNo, msg)
.build(); .build();
} }
if (StringUtils.isEmpty(partDb.getCategoryCode3()) || !partDb.getCategoryCode3().equals(MesPcnExtEnumUtil.OQC_MANAGE_ACTION_TYPE.SERIAL_NUMBER.getValue())) { if (StringUtils.isEmpty(partDb.getCategoryCode3()) || !partDb.getCategoryCode3().equals(MesPcnExtEnumUtil.OQC_MANAGE_ACTION_TYPE.SERIAL_NUMBER.getValue())) {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("出货检验:产品条码[%s]关联的物料编码[%s]的产品类型不是成品%s", result.getSerialNumber(), partNo, msg) .setErrorDetail("出货检验:产品条码[%s]关联的物料编码[%s]的产品类型不是成品%s", result.getProductSn(), partNo, msg)
.build(); .build();
} }
if (StringUtils.isEmpty(partDb.getIsOqc()) || CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == partDb.getIsOqc()) { if (StringUtils.isEmpty(partDb.getIsOqc()) || CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == partDb.getIsOqc()) {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("出货检验:产品条码[%s]关联的物料编码[%s]不支持出货检验%s", result.getSerialNumber(), partNo, msg) .setErrorDetail("出货检验:产品条码[%s]关联的物料编码[%s]不支持出货检验%s", result.getProductSn(), partNo, msg)
.build(); .build();
} }
if (StringUtils.isEmpty(partDb.getGoodsCode())) { if (StringUtils.isEmpty(partDb.getGoodsCode())) {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("出货检验:产品条码[%s]关联的物料编码[%s]未维护商品码%s", result.getSerialNumber(), partNo, msg) .setErrorDetail("出货检验:产品条码[%s]关联的物料编码[%s]未维护商品码%s", result.getProductSn(), partNo, msg)
.build(); .build();
} }
return partDb; return partDb;
@ -439,6 +439,7 @@ public class JxOqcManageService implements IJxOqcManageService {
result.setCompleteQty(dataFromPcn.getCompleteQty()); result.setCompleteQty(dataFromPcn.getCompleteQty());
result.setIdStr(dataFromPcn.getIdStr()); result.setIdStr(dataFromPcn.getIdStr());
result.setSerialNumber(dataFromPcn.getSerialNumber()); result.setSerialNumber(dataFromPcn.getSerialNumber());
result.setProductSn(dataFromPcn.getProductSn());
} }
private JxOqcManageModel queryOqcManageDataBySn(JxOqcManageModel result, JxOqcManageParamModel model, SxBuOqcDataModel dataFromPcn) { private JxOqcManageModel queryOqcManageDataBySn(JxOqcManageModel result, JxOqcManageParamModel model, SxBuOqcDataModel dataFromPcn) {
@ -448,7 +449,7 @@ public class JxOqcManageService implements IJxOqcManageService {
MesOutPutStatisticsOqc outPutStatisticsOqcDb = getOutPutStatisticsOqcBySn(result, "出货检验"); MesOutPutStatisticsOqc outPutStatisticsOqcDb = getOutPutStatisticsOqcBySn(result, "出货检验");
//获取出货检验单据集合 //获取出货检验单据集合
List<MesOqcCheck> oqcCheckList = oqcCheckService.getOqcCheckListBySn(result.getOrganizeCode(), result.getWorkOrderNo(), result.getSerialNumber()); List<MesOqcCheck> oqcCheckList = oqcCheckService.getOqcCheckListByProductSn(result.getOrganizeCode(), result.getWorkOrderNo(), result.getProductSn());
log.info("MES_PCN出货检验主数据 --- 成品出货检验 --- oqcCheckList.size[{}] --- 线程ID[{}]", CollectionUtils.isEmpty(oqcCheckList) ? 0 : oqcCheckList.size(), Thread.currentThread().getName()); log.info("MES_PCN出货检验主数据 --- 成品出货检验 --- oqcCheckList.size[{}] --- 线程ID[{}]", CollectionUtils.isEmpty(oqcCheckList) ? 0 : oqcCheckList.size(), Thread.currentThread().getName());
@ -472,7 +473,7 @@ public class JxOqcManageService implements IJxOqcManageService {
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("%s:产品条码[%s]作业时间[%s]班次代码[%s]关联的%s[%s]未查询到产量统计出货检验关联数据", .setErrorDetail("%s:产品条码[%s]作业时间[%s]班次代码[%s]关联的%s[%s]未查询到产量统计出货检验关联数据",
msg, result.getSerialNumber(), result.getWorkTime(), result.getShiftCode(), result.getWorkOrderTypeName(), result.getWorkOrderNo()) msg, result.getProductSn(), result.getWorkTime(), result.getShiftCode(), result.getWorkOrderTypeName(), result.getWorkOrderNo())
.build(); .build();
} }
return outPutStatisticsOqcDb; return outPutStatisticsOqcDb;
@ -487,7 +488,7 @@ public class JxOqcManageService implements IJxOqcManageService {
private MesOqcCheck getOqcCheckBySn(JxOqcManageModel result, List<MesOqcCheck> oqcCheckList, String oqcNo) { private MesOqcCheck getOqcCheckBySn(JxOqcManageModel result, List<MesOqcCheck> oqcCheckList, String oqcNo) {
if (CollectionUtils.isEmpty(oqcCheckList)) { if (CollectionUtils.isEmpty(oqcCheckList)) {
//验证是否已关联检验单 //验证是否已关联检验单
checkSnIsChecked(result.getOrganizeCode(), result.getWorkOrderNo(), result.getSerialNumber(), "出货检验"); checkSnIsChecked(result.getOrganizeCode(), result.getWorkOrderNo(), result.getProductSn(), "出货检验");
} else { } else {
if (StringUtils.isEmpty(oqcNo)) { if (StringUtils.isEmpty(oqcNo)) {
List<MesOqcCheck> unFinishOqcCheckList = oqcCheckList.stream().filter(o -> (null != o && List<MesOqcCheck> unFinishOqcCheckList = oqcCheckList.stream().filter(o -> (null != o &&
@ -512,22 +513,22 @@ public class JxOqcManageService implements IJxOqcManageService {
return null; return null;
} }
private void checkSnIsChecked(String organizeCode, String workOrderNo, String serialNumber, String msg) { private void checkSnIsChecked(String organizeCode, String workOrderNo, String productSn, String msg) {
MesOqcCheckPackageDetail oqcCheckPackageDetail = oqcCheckService.getOqcCheckPackageDetailByOrderNoAndSn(organizeCode, workOrderNo, serialNumber); MesOqcCheckPackageDetail oqcCheckPackageDetail = oqcCheckService.getOqcCheckPackageDetailByOrderNoAndProductSn(organizeCode, workOrderNo, productSn);
if (null != oqcCheckPackageDetail) { if (null != oqcCheckPackageDetail) {
MesOqcCheck oqcCheck = oqcCheckService.getOqcCheckByOqcNo(organizeCode, oqcCheckPackageDetail.getOqcNo()); MesOqcCheck oqcCheck = oqcCheckService.getOqcCheckByOqcNo(organizeCode, oqcCheckPackageDetail.getOqcNo());
if (null == oqcCheck) { if (null == oqcCheck) {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("%s:产品条码[%s]已关联到出货检验单[%s],但是单据信息不存在", msg, serialNumber, oqcCheckPackageDetail.getOqcNo()) .setErrorDetail("%s:产品条码[%s]已关联到出货检验单[%s],但是单据信息不存在", msg, productSn, oqcCheckPackageDetail.getOqcNo())
.build(); .build();
} }
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("%s:产品条码[%s]已关联到%s出货检验单[%s],可以扫描产品条码[%s]查询详情", .setErrorDetail("%s:产品条码[%s]已关联到%s出货检验单[%s],可以扫描产品条码[%s]查询详情",
msg, serialNumber, MesPcnExtEnumUtil.OQC_TYPE.NORMAL.getValue() == oqcCheck.getOqcType() ? "" : "手动检验", oqcCheckPackageDetail.getOqcNo(), oqcCheck.getSerialNumber()) msg, productSn, MesPcnExtEnumUtil.OQC_TYPE.NORMAL.getValue() == oqcCheck.getOqcType() ? "" : "手动检验", oqcCheckPackageDetail.getOqcNo(), oqcCheck.getProductSn())
.build(); .build();
} }
} }
@ -585,9 +586,9 @@ public class JxOqcManageService implements IJxOqcManageService {
private void packInitResultBySn(JxOqcManageModel result, SxBuOqcDataModel dataFromPcn) { private void packInitResultBySn(JxOqcManageModel result, SxBuOqcDataModel dataFromPcn) {
if (!StringUtils.isEmpty(result.getSn())) { if (!StringUtils.isEmpty(result.getSn())) {
result.setMsg(String.format("商品码[%s]扫描成功,产品条码[%s]可生成出货检验单", result.getSn(), result.getSerialNumber())); result.setMsg(String.format("商品码[%s]扫描成功,产品条码[%s]可生成出货检验单", result.getSn(), result.getProductSn()));
} else { } else {
result.setMsg(String.format("继上次扫描,产品条码[%s]商品码[%s],可生成出货检验单", result.getSerialNumber(), result.getGoodsCode())); result.setMsg(String.format("继上次扫描,产品条码[%s]商品码[%s],可生成出货检验单", result.getProductSn(), result.getGoodsCode()));
} }
List<MesOqcCheckPackageDetail> oqcCheckPackageDetailList = oqcCheckService.getOqcCheckPackageDetailListByOrderNoAndWorkTime(result.getOrganizeCode(), result.getWorkOrderNo(), result.getWorkTime(), result.getShiftCode()); List<MesOqcCheckPackageDetail> oqcCheckPackageDetailList = oqcCheckService.getOqcCheckPackageDetailListByOrderNoAndWorkTime(result.getOrganizeCode(), result.getWorkOrderNo(), result.getWorkTime(), result.getShiftCode());
@ -617,7 +618,7 @@ public class JxOqcManageService implements IJxOqcManageService {
} }
private Double getProdMapListSizeWithoutChecked(List<Map<String, String>> prodMapList, List<MesOqcCheckPackageDetail> oqcCheckPackageDetailList) { private Double getProdMapListSizeWithoutChecked(List<Map<String, String>> prodMapList, List<MesOqcCheckPackageDetail> oqcCheckPackageDetailList) {
List<String> snList = oqcCheckPackageDetailList.stream().filter(o -> null != o).map(MesOqcCheckPackageDetail::getSerialNumber).collect(Collectors.toList()); List<String> snList = oqcCheckPackageDetailList.stream().filter(o -> null != o).map(MesOqcCheckPackageDetail::getProductSn).collect(Collectors.toList());
//boolean isNeedBigPackFlag = false; //boolean isNeedBigPackFlag = false;
//if(!CollectionUtils.isEmpty(prodMapList.stream().filter(o -> (null != o && o.get(MesPcnExtConstWords.IS_NEED_BIG_PACK_NO) != null)).collect(Collectors.toList()))){ //if(!CollectionUtils.isEmpty(prodMapList.stream().filter(o -> (null != o && o.get(MesPcnExtConstWords.IS_NEED_BIG_PACK_NO) != null)).collect(Collectors.toList()))){
// isNeedBigPackFlag = true; // isNeedBigPackFlag = true;
@ -972,11 +973,11 @@ public class JxOqcManageService implements IJxOqcManageService {
if (!StringUtils.isEmpty(result.getIdStr())) insertOqcManageDataNormalById(result, model); if (!StringUtils.isEmpty(result.getIdStr())) insertOqcManageDataNormalById(result, model);
//成品 //成品
if (!StringUtils.isEmpty(result.getSerialNumber())) insertOqcManageDataNormalBySn(result, model); if (!StringUtils.isEmpty(result.getProductSn())) insertOqcManageDataNormalBySn(result, model);
} }
private void checkCachedDataIsWhole(JxOqcManageModel result) { private void checkCachedDataIsWhole(JxOqcManageModel result) {
if (StringUtils.isEmpty(result.getIdStr()) && (StringUtils.isEmpty(result.getSerialNumber()) || if (StringUtils.isEmpty(result.getIdStr()) && (StringUtils.isEmpty(result.getProductSn()) ||
StringUtils.isEmpty(result.getGoodsCode()))) { StringUtils.isEmpty(result.getGoodsCode()))) {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
@ -1147,7 +1148,7 @@ public class JxOqcManageService implements IJxOqcManageService {
log.info("MES_PCN出货检验生成检验单 --- 成品出货检验 --- result[{}] --- 线程ID[{}]", result.toString(), Thread.currentThread().getName()); log.info("MES_PCN出货检验生成检验单 --- 成品出货检验 --- result[{}] --- 线程ID[{}]", result.toString(), Thread.currentThread().getName());
//获取出货检验单据集合 //获取出货检验单据集合
List<MesOqcCheck> oqcCheckList = oqcCheckService.getOqcCheckListBySn(result.getOrganizeCode(), result.getWorkOrderNo(), result.getSerialNumber()); List<MesOqcCheck> oqcCheckList = oqcCheckService.getOqcCheckListByProductSn(result.getOrganizeCode(), result.getWorkOrderNo(), result.getProductSn());
//验证当前条码是否可以生成单据 //验证当前条码是否可以生成单据
checkSnIsAllowGenOqc(result, oqcCheckList); checkSnIsAllowGenOqc(result, oqcCheckList);
@ -1170,14 +1171,14 @@ public class JxOqcManageService implements IJxOqcManageService {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION_DATA_NOT_EXIT.getCode())
.setErrorDetail("生成检验单:产品条码[%s]关联的物料编码[%s]不存在,请点击重置", result.getSerialNumber(), dataFromPcn.getPartNo()) .setErrorDetail("生成检验单:产品条码[%s]关联的物料编码[%s]不存在,请点击重置", result.getProductSn(), dataFromPcn.getPartNo())
.build(); .build();
} }
if (StringUtils.isEmpty(partDb.getCategoryCode3()) || !partDb.getCategoryCode3().equals(MesPcnExtEnumUtil.OQC_MANAGE_ACTION_TYPE.SERIAL_NUMBER.getValue())) { if (StringUtils.isEmpty(partDb.getCategoryCode3()) || !partDb.getCategoryCode3().equals(MesPcnExtEnumUtil.OQC_MANAGE_ACTION_TYPE.SERIAL_NUMBER.getValue())) {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("生成检验单:产品条码[%s]关联的物料编码[%s]的产品类型不是成品,请点击重置", result.getSerialNumber(), dataFromPcn.getPartNo()) .setErrorDetail("生成检验单:产品条码[%s]关联的物料编码[%s]的产品类型不是成品,请点击重置", result.getProductSn(), dataFromPcn.getPartNo())
.build(); .build();
} }
@ -1185,14 +1186,14 @@ public class JxOqcManageService implements IJxOqcManageService {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("生成检验单:产品条码[%s]关联的物料编码[%s]不支持出货检验,请点击重置", result.getSerialNumber(), dataFromPcn.getPartNo()) .setErrorDetail("生成检验单:产品条码[%s]关联的物料编码[%s]不支持出货检验,请点击重置", result.getProductSn(), dataFromPcn.getPartNo())
.build(); .build();
} }
if (StringUtils.isEmpty(partDb.getGoodsCode())) { if (StringUtils.isEmpty(partDb.getGoodsCode())) {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("生成检验单:产品条码[%s]关联的物料编码[%s]未维护商品码,请点击重置", result.getSerialNumber(), dataFromPcn.getPartNo()) .setErrorDetail("生成检验单:产品条码[%s]关联的物料编码[%s]未维护商品码,请点击重置", result.getProductSn(), dataFromPcn.getPartNo())
.build(); .build();
} }
if (!partDb.getGoodsCode().equals(result.getGoodsCode())) { if (!partDb.getGoodsCode().equals(result.getGoodsCode())) {
@ -1200,7 +1201,7 @@ public class JxOqcManageService implements IJxOqcManageService {
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("生成检验单:产品条码[%s]关联的物料编码[%s]当前维护的商品码[%s]与上次扫描的商品码[%s]不一致,请点击重置", .setErrorDetail("生成检验单:产品条码[%s]关联的物料编码[%s]当前维护的商品码[%s]与上次扫描的商品码[%s]不一致,请点击重置",
result.getSerialNumber(), dataFromPcn.getPartNo(), partDb.getGoodsCode(), result.getGoodsCode()) result.getProductSn(), dataFromPcn.getPartNo(), partDb.getGoodsCode(), result.getGoodsCode())
.build(); .build();
} }
return partDb; return partDb;
@ -1211,7 +1212,7 @@ public class JxOqcManageService implements IJxOqcManageService {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("生成检验单:产品条码[%s]已经重新关联返工工单号[%s],请点击重置", result.getSerialNumber(), result.getWorkOrderNo()) .setErrorDetail("生成检验单:产品条码[%s]已经重新关联返工工单号[%s],请点击重置", result.getProductSn(), result.getWorkOrderNo())
.build(); .build();
} }
} }
@ -1233,7 +1234,7 @@ public class JxOqcManageService implements IJxOqcManageService {
private void checkSnIsAllowGenOqc(JxOqcManageModel result, List<MesOqcCheck> oqcCheckList) { private void checkSnIsAllowGenOqc(JxOqcManageModel result, List<MesOqcCheck> oqcCheckList) {
//验证是否已关联检验单 //验证是否已关联检验单
if (CollectionUtils.isEmpty(oqcCheckList)) checkSnIsChecked(result.getOrganizeCode(), result.getWorkOrderNo(), result.getSerialNumber(), "生成检验单"); if (CollectionUtils.isEmpty(oqcCheckList)) checkSnIsChecked(result.getOrganizeCode(), result.getWorkOrderNo(), result.getProductSn(), "生成检验单");
//根据工单号查询出货检验单据主表非拆机的一条数据 //根据工单号查询出货检验单据主表非拆机的一条数据
MesOqcCheck oqcCheckDb = oqcCheckService.getUnTeardownOqcCheckByWorkOrderNo(result.getOrganizeCode(), result.getWorkOrderNo()); MesOqcCheck oqcCheckDb = oqcCheckService.getUnTeardownOqcCheckByWorkOrderNo(result.getOrganizeCode(), result.getWorkOrderNo());
@ -1244,14 +1245,14 @@ public class JxOqcManageService implements IJxOqcManageService {
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("生成检验单:产品条码[%s]还未生成%s类型的检验单,操作失败", .setErrorDetail("生成检验单:产品条码[%s]还未生成%s类型的检验单,操作失败",
result.getSerialNumber(), null == oqcCheckDb ? "日常检验或空洞检验" : MesPcnExtEnumUtil.OQC_CHECK_TYPE.valueOfDescription(oqcCheckDb.getOqcNoType())) result.getProductSn(), null == oqcCheckDb ? "日常检验或空洞检验" : MesPcnExtEnumUtil.OQC_CHECK_TYPE.valueOfDescription(oqcCheckDb.getOqcNoType()))
.build(); .build();
} else { } else {
if (oqcCheckList.size() > 1) { if (oqcCheckList.size() > 1) {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("生成检验单:产品条码[%s]已存在拆机检验类型的检验单,操作失败", result.getSerialNumber()) .setErrorDetail("生成检验单:产品条码[%s]已存在拆机检验类型的检验单,操作失败", result.getProductSn())
.build(); .build();
} }
} }
@ -1261,7 +1262,7 @@ public class JxOqcManageService implements IJxOqcManageService {
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("生成检验单:产品条码[%s]已存在%s类型的检验单,操作失败", .setErrorDetail("生成检验单:产品条码[%s]已存在%s类型的检验单,操作失败",
result.getSerialNumber(), MesPcnExtEnumUtil.OQC_CHECK_TYPE.valueOfDescription(oqcCheckList.get(0).getOqcNoType())) result.getProductSn(), MesPcnExtEnumUtil.OQC_CHECK_TYPE.valueOfDescription(oqcCheckList.get(0).getOqcNoType()))
.build(); .build();
} else { } else {
if (null != oqcCheckDb && oqcCheckDb.getOqcNoType().compareTo(result.getOqcNoType()) != 0) { if (null != oqcCheckDb && oqcCheckDb.getOqcNoType().compareTo(result.getOqcNoType()) != 0) {
@ -1269,7 +1270,7 @@ public class JxOqcManageService implements IJxOqcManageService {
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("生成检验单:产品条码[%s]不能生成%s类型的检验单,操作失败", .setErrorDetail("生成检验单:产品条码[%s]不能生成%s类型的检验单,操作失败",
result.getSerialNumber(), MesPcnExtEnumUtil.OQC_CHECK_TYPE.valueOfDescription(result.getOqcNoType())) result.getProductSn(), MesPcnExtEnumUtil.OQC_CHECK_TYPE.valueOfDescription(result.getOqcNoType()))
.build(); .build();
} }
} }
@ -1283,7 +1284,7 @@ public class JxOqcManageService implements IJxOqcManageService {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("生成检验单:产品条码[%s]当前剩余未抽检批次范围为[0],操作失败", result.getSerialNumber()) .setErrorDetail("生成检验单:产品条码[%s]当前剩余未抽检批次范围为[0],操作失败", result.getProductSn())
.build(); .build();
} }
} }
@ -1327,7 +1328,7 @@ public class JxOqcManageService implements IJxOqcManageService {
private List<String> getOqcCheckedSnList(String organizeCode, String workOrderNo, String workTime, String shiftCode) { private List<String> getOqcCheckedSnList(String organizeCode, String workOrderNo, String workTime, String shiftCode) {
List<MesOqcCheckPackageDetail> oqcCheckPackageDetailList = oqcCheckService.getOqcCheckPackageDetailListByOrderNoAndWorkTime(organizeCode, workOrderNo, workTime, shiftCode); List<MesOqcCheckPackageDetail> oqcCheckPackageDetailList = oqcCheckService.getOqcCheckPackageDetailListByOrderNoAndWorkTime(organizeCode, workOrderNo, workTime, shiftCode);
return CollectionUtils.isEmpty(oqcCheckPackageDetailList) ? null : return CollectionUtils.isEmpty(oqcCheckPackageDetailList) ? null :
oqcCheckPackageDetailList.stream().filter(o -> null != o).map(MesOqcCheckPackageDetail::getSerialNumber).collect(Collectors.toList()); oqcCheckPackageDetailList.stream().filter(o -> null != o).map(MesOqcCheckPackageDetail::getProductSn).collect(Collectors.toList());
} }
private void checkProdMapListBySn(List<Map<String, String>> prodMapList, JxOqcManageModel result) { private void checkProdMapListBySn(List<Map<String, String>> prodMapList, JxOqcManageModel result) {
@ -1335,19 +1336,19 @@ public class JxOqcManageService implements IJxOqcManageService {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("生成检验单:产品条码[%s]关联的生产工单[%s]下已无可抽检的产品,请点击重置", result.getSerialNumber(), result.getWorkOrderNo()) .setErrorDetail("生成检验单:产品条码[%s]关联的生产工单[%s]下已无可抽检的产品,请点击重置", result.getProductSn(), result.getWorkOrderNo())
.build(); .build();
} }
Optional<Map<String, String>> snOp = prodMapList.stream().filter(o -> (null != o && result.getSerialNumber().equals(o.get(MesPcnExtConstWords.PRODUCT_SN)))).findFirst(); Optional<Map<String, String>> snOp = prodMapList.stream().filter(o -> (null != o && result.getProductSn().equals(o.get(MesPcnExtConstWords.PRODUCT_SN)))).findFirst();
if (null == snOp || !snOp.isPresent()) { if (null == snOp || !snOp.isPresent()) {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("生成检验单:工单[%s]筛除已经抽检完成的批次条码后不包含当前扫描的产品条码[%s],操作失败", result.getWorkOrderNo(), result.getSerialNumber()) .setErrorDetail("生成检验单:工单[%s]筛除已经抽检完成的批次条码后不包含当前扫描的产品条码[%s],操作失败", result.getWorkOrderNo(), result.getProductSn())
.build(); .build();
} }
prodMapList = prodMapList.stream().filter(o -> (null != o && !result.getSerialNumber().equals(o.get(MesPcnExtConstWords.SERIAL_NUMBER)))).collect(Collectors.toList()); prodMapList = prodMapList.stream().filter(o -> (null != o && !result.getProductSn().equals(o.get(MesPcnExtConstWords.PRODUCT_SN)))).collect(Collectors.toList());
if (CollectionUtils.isEmpty(prodMapList)) prodMapList = new ArrayList<>(); if (CollectionUtils.isEmpty(prodMapList)) prodMapList = new ArrayList<>();
@ -1359,15 +1360,15 @@ public class JxOqcManageService implements IJxOqcManageService {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("检验单不合格:产品条码[%s]关联的生产工单[%s]下已无可抽检的产品,操作失败", result.getSerialNumber(), result.getWorkOrderNo()) .setErrorDetail("检验单不合格:产品条码[%s]关联的生产工单[%s]下已无可抽检的产品,操作失败", result.getProductSn(), result.getWorkOrderNo())
.build(); .build();
} }
Optional<Map<String, String>> snOp = prodMapList.stream().filter(o -> (null != o && result.getSerialNumber().equals(o.get(MesPcnExtConstWords.PRODUCT_SN)))).findFirst(); Optional<Map<String, String>> snOp = prodMapList.stream().filter(o -> (null != o && result.getProductSn().equals(o.get(MesPcnExtConstWords.PRODUCT_SN)))).findFirst();
if (null == snOp || !snOp.isPresent()) { if (null == snOp || !snOp.isPresent()) {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("检验单不合格:工单[%s]筛除已经抽检完成的批次条码后不包含当前扫描的产品条码[%s],操作失败", result.getWorkOrderNo(), result.getSerialNumber()) .setErrorDetail("检验单不合格:工单[%s]筛除已经抽检完成的批次条码后不包含当前扫描的产品条码[%s],操作失败", result.getWorkOrderNo(), result.getProductSn())
.build(); .build();
} }
@ -1375,11 +1376,11 @@ public class JxOqcManageService implements IJxOqcManageService {
throw ImppExceptionBuilder.newInstance() throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("检验单不合格:工单[%s]当前扫描条码[%s]工单号与当前工单号不一致,操作失败", result.getWorkOrderNo(), result.getSerialNumber()) .setErrorDetail("检验单不合格:工单[%s]当前扫描条码[%s]工单号与当前工单号不一致,操作失败", result.getWorkOrderNo(), result.getProductSn())
.build(); .build();
} }
prodMapList = prodMapList.stream().filter(o -> (null != o && !result.getSerialNumber().equals(o.get(MesPcnExtConstWords.SERIAL_NUMBER)))).collect(Collectors.toList()); prodMapList = prodMapList.stream().filter(o -> (null != o && !result.getProductSn().equals(o.get(MesPcnExtConstWords.PRODUCT_SN)))).collect(Collectors.toList());
prodMapList = prodMapList.stream().filter(o -> (null != o && snOp.get().get(MesPcnExtConstWords.OUT_WC_TIME).compareTo(o.get(MesPcnExtConstWords.OUT_WC_TIME)) >= 0)).collect(Collectors.toList()); prodMapList = prodMapList.stream().filter(o -> (null != o && snOp.get().get(MesPcnExtConstWords.OUT_WC_TIME).compareTo(o.get(MesPcnExtConstWords.OUT_WC_TIME)) >= 0)).collect(Collectors.toList());
@ -1461,6 +1462,7 @@ public class JxOqcManageService implements IJxOqcManageService {
outPutStatisticsOqcDb.setSpotCheckQty( outPutStatisticsOqcDb.setSpotCheckQty(
MathOperation.add(StringUtils.isEmpty(outPutStatisticsOqcDb.getSpotCheckQty()) ? new Double(0) : outPutStatisticsOqcDb.getSpotCheckQty(), oqcCheck.getSpotCheckQty())); MathOperation.add(StringUtils.isEmpty(outPutStatisticsOqcDb.getSpotCheckQty()) ? new Double(0) : outPutStatisticsOqcDb.getSpotCheckQty(), oqcCheck.getSpotCheckQty()));
ConvertBean.serviceModelUpdate(outPutStatisticsOqcDb, oqcCheck.getModifyUser()); ConvertBean.serviceModelUpdate(outPutStatisticsOqcDb, oqcCheck.getModifyUser());
outPutStatisticsOqcDb.setSystemSyncStatus(MesPcnExtEnumUtil.IF_SYNC_STATUS.NO_SYNC.getValue());
outPutStatisticsOqcRepository.save(outPutStatisticsOqcDb); outPutStatisticsOqcRepository.save(outPutStatisticsOqcDb);
} }
} }
@ -1492,7 +1494,7 @@ public class JxOqcManageService implements IJxOqcManageService {
List<MesOqcCheckPackageDetail> oqcCheckPackageDetailList = oqcCheckService.getOqcCheckPackageDetailListByOqcNo(model.getOrganizeCode(), model.getOqcNo()); List<MesOqcCheckPackageDetail> oqcCheckPackageDetailList = oqcCheckService.getOqcCheckPackageDetailListByOqcNo(model.getOrganizeCode(), model.getOqcNo());
if (StringUtils.isEmpty(model.getSn())) { if (StringUtils.isEmpty(model.getSn())) {
oqcCheckPackageDetailList.stream().map(MesOqcCheckPackageDetail::getSerialNumber).collect(Collectors.toList()); oqcCheckPackageDetailList.stream().map(MesOqcCheckPackageDetail::getProductSn).collect(Collectors.toList());
model.getSn(); model.getSn();
} }
@ -1529,7 +1531,7 @@ public class JxOqcManageService implements IJxOqcManageService {
//获取当前班次作业时间内已经关联出货检验的条码集合 //获取当前班次作业时间内已经关联出货检验的条码集合
List<String> snList = CollectionUtils.isEmpty(oqcCheckPackageDetailList) ? null : List<String> snList = CollectionUtils.isEmpty(oqcCheckPackageDetailList) ? null :
oqcCheckPackageDetailList.stream().filter(o -> null != o).map(MesOqcCheckPackageDetail::getSerialNumber).collect(Collectors.toList()); oqcCheckPackageDetailList.stream().filter(o -> null != o).map(MesOqcCheckPackageDetail::getProductSn).collect(Collectors.toList());
//获取当前班次作业时间内未关联出货检验的条码集合 //获取当前班次作业时间内未关联出货检验的条码集合
List<Map<String, String>> prodMapList = dataFromPcn.getProdMapList(); List<Map<String, String>> prodMapList = dataFromPcn.getProdMapList();

Loading…
Cancel
Save