|
|
@ -6,6 +6,7 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesCutRawErrorProofingModel;
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesCutUpdateRawLengthModel;
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesCutUpdateRawLengthModel;
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.platform.common.tool.TimeTool;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.ListPager;
|
|
|
|
import cn.estsh.i3plus.pojo.base.common.Pager;
|
|
|
|
import cn.estsh.i3plus.pojo.base.common.Pager;
|
|
|
@ -70,9 +71,10 @@ public class MesCutRawErrorProofingService implements IMesCutRawErrorProofingSer
|
|
|
|
result.setCurScanType(CUR_SCAN_TYPE_BY_RAW_SN);
|
|
|
|
result.setCurScanType(CUR_SCAN_TYPE_BY_RAW_SN);
|
|
|
|
result.setCutWorkOrderNo(workOrderCutDb.getCutWorkOrderNo());
|
|
|
|
result.setCutWorkOrderNo(workOrderCutDb.getCutWorkOrderNo());
|
|
|
|
result.setIsRedirect(CommonEnumUtil.FALSE);
|
|
|
|
result.setIsRedirect(CommonEnumUtil.FALSE);
|
|
|
|
|
|
|
|
result.setIsReset(CommonEnumUtil.FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
|
|
|
|
result.setCurScanType(CUR_SCAN_TYPE_BY_RAW_SN);
|
|
|
|
// 校验条码有效性
|
|
|
|
// 校验条码有效性
|
|
|
|
|
|
|
|
|
|
|
|
String[] valueArray = model.getSn().split("\\|");
|
|
|
|
String[] valueArray = model.getSn().split("\\|");
|
|
|
@ -94,7 +96,7 @@ public class MesCutRawErrorProofingService implements IMesCutRawErrorProofingSer
|
|
|
|
|
|
|
|
|
|
|
|
Double length;
|
|
|
|
Double length;
|
|
|
|
|
|
|
|
|
|
|
|
if (!workOrderCutMaterialMap.containsKey(partNo)) MesPcnException.throwMesBusiException("扫描条码【%s】物料【%s】不在裁片方案原材料中", model.getSn(), partNo);
|
|
|
|
if (!workOrderCutMaterialMap.containsKey(partNo)) MesPcnException.throwMesBusiException("扫描条码【%s】零件号【%s】不在裁片方案原材料中", model.getSn(), partNo);
|
|
|
|
|
|
|
|
|
|
|
|
// 为 2 则为条码
|
|
|
|
// 为 2 则为条码
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(model.getOrganizeCode());
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(model.getOrganizeCode());
|
|
|
@ -118,25 +120,36 @@ public class MesCutRawErrorProofingService implements IMesCutRawErrorProofingSer
|
|
|
|
materialSnDb.setSurplusLength(length);
|
|
|
|
materialSnDb.setSurplusLength(length);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 已扫描长度
|
|
|
|
// 剩余需要扫描的长度
|
|
|
|
Double surplusLength = workOrderCutMaterial.getMaterialDosage() - workOrderCutMaterial.getScanLength();
|
|
|
|
Double surplusLength = workOrderCutMaterial.getMaterialDosage() - workOrderCutMaterial.getScanLength();
|
|
|
|
if (surplusLength.compareTo(length) > 0) {
|
|
|
|
if (surplusLength.compareTo(length) > 0) {
|
|
|
|
materialSnDb.setSurplusLength(0.0);
|
|
|
|
materialSnDb.setSurplusLength(0.0);
|
|
|
|
workOrderCutMaterial.setScanLength(workOrderCutMaterial.getScanLength() + length);
|
|
|
|
workOrderCutMaterial.setScanLength(workOrderCutMaterial.getScanLength() + length);
|
|
|
|
result.setIsRedirect(CommonEnumUtil.FALSE);
|
|
|
|
result.setIsRedirect(CommonEnumUtil.FALSE);
|
|
|
|
result.setShowInfo("长度不足,请继续扫描条码");
|
|
|
|
result.setShowInfo("长度不足,请继续扫描条码");
|
|
|
|
|
|
|
|
result.setIsReset(CommonEnumUtil.FALSE);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
materialSnDb.setSurplusLength(length - surplusLength);
|
|
|
|
materialSnDb.setSurplusLength(length - surplusLength);
|
|
|
|
// 已满足扫描总长度 修改工单状态为已校验原材料
|
|
|
|
|
|
|
|
DdlPackBean packBean1 = DdlPackBean.getDdlPackBean(model.getOrganizeCode());
|
|
|
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(model.getCutWorkOrderNo(), MesPcnExtConstWords.CUT_WORK_ORDER_NO, packBean);
|
|
|
|
|
|
|
|
MesWorkOrderCut workOrderCut = workOrderCutRepository.getByProperty(packBean1);
|
|
|
|
|
|
|
|
workOrderCut.setWorkOrderStatus(MesExtEnumUtil.CUT_ORDER_STATUS.CHECKED_RAW.getValue());
|
|
|
|
|
|
|
|
ConvertBean.serviceModelUpdate(workOrderCut, model.getUserName());
|
|
|
|
|
|
|
|
workOrderCutRepository.save(workOrderCut);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
workOrderCutMaterial.setScanLength(workOrderCutMaterial.getMaterialDosage());
|
|
|
|
workOrderCutMaterial.setScanLength(workOrderCutMaterial.getMaterialDosage());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
boolean isUpdateWorkOrderCut = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (Map.Entry<String, MesWorkOrderCutMaterial> entry : workOrderCutMaterialMap.entrySet()) {
|
|
|
|
|
|
|
|
if (entry.getValue().getScanLength().compareTo(entry.getValue().getMaterialDosage()) != 0) isUpdateWorkOrderCut = false;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 所有原材料已满足扫描总长度 则修改工单状态为已校验原材料并告知前端可重置页面
|
|
|
|
|
|
|
|
if (isUpdateWorkOrderCut) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
workOrderCutRepository.updateByProperties(
|
|
|
|
|
|
|
|
new String[]{MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.CUT_WORK_ORDER_NO},
|
|
|
|
|
|
|
|
new Object[]{CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(),
|
|
|
|
|
|
|
|
CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), model.getOrganizeCode(), model.getCutWorkOrderNo()},
|
|
|
|
|
|
|
|
new String[]{MesPcnExtConstWords.WORK_ORDER_STATUS, MesPcnExtConstWords.MODIFY_USER, MesPcnExtConstWords.MODIFY_DATE_TIME, MesPcnExtConstWords.SYSTEM_SYNC_STATUS},
|
|
|
|
|
|
|
|
new Object[]{MesExtEnumUtil.CUT_ORDER_STATUS.CHECKED_RAW.getValue(), model.getUserName(), TimeTool.getNowTime(true)});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
result.setIsReset(CommonEnumUtil.VALID);
|
|
|
|
|
|
|
|
} else result.setIsReset(CommonEnumUtil.FALSE);
|
|
|
|
result.setIsRedirect(CommonEnumUtil.VALID);
|
|
|
|
result.setIsRedirect(CommonEnumUtil.VALID);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|