Merge remote-tracking branch 'origin/uat-temp-nht-2504020000-3520' into uat-temp-wj-chongqingdaqu-prod-huaweiyun-for-cd2

uat-temp-wj-chongqingdaqu-prod-huaweiyun-for-cd2
王杰 2 months ago
commit b0f2c2cc61

@ -82,6 +82,23 @@ public class MesBoxingErrorProofingController {
} }
} }
@GetMapping("/do-second-scan")
@ApiOperation(value = "二次装箱扫描")
public ResultBean doSecondScan(MesPackageDetail mesPackageDetail) {
try {
ValidatorBean.checkNotNull(mesPackageDetail.getPackageNo(), "箱条码不能为空");
mesPackageDetail.setOrganizeCode(!StringUtils.isEmpty(mesPackageDetail.getOrganizeCode())?mesPackageDetail.getOrganizeCode():AuthUtil.getOrganizeCode());
ConvertBean.serviceModelInitialize(mesPackageDetail,!StringUtils.isEmpty(mesPackageDetail.getModifyUser())?mesPackageDetail.getModifyUser():AuthUtil.getSessionUser().getUserName());
return mesBoxingErrorProofingService.doScan(mesPackageDetail);
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping("/mes-package-details/saveAll") @PostMapping("/mes-package-details/saveAll")
@ApiOperation(value = "保存包装明细") @ApiOperation(value = "保存包装明细")

@ -166,12 +166,12 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
//校验条码规则 //校验条码规则
MesPart mesPart = getMesPartNew(mesPackageDetail, mesPackage, packingDefine); MesPart mesPart = getMesPartNew(mesPackageDetail, mesPackage, packingDefine);
//包装规格明细 //包装规格明细
MesPackageDetail saveMesPackageDetail = getPackageDetail(mesPackageDetail, mesPart); MesPackageDetail saveMesPackageDetail = getPackageDetail(mesPackageDetail, mesPart, packingDefine);
if (mesPackageDetail.getIsMemoryBoolean()) { if (mesPackageDetail.getIsMemoryBoolean()) {
//保存包装明细 //保存包装明细
mesPackageDetailRDao.insert(saveMesPackageDetail); mesPackageDetailRDao.insert(saveMesPackageDetail);
//更新包装表 //更新包装表
updateMesPackage(mesPackage, mesPackageDetail.getModifyUser(), 1d, false); updateMesPackage(mesPackage, mesPackageDetail.getModifyUser(), 1d, false, packingDefine);
} }
//缓存是否记忆开关 //缓存是否记忆开关
saveRedis(getKey(mesPackageDetail.getOrganizeCode(), mesPackageDetail.getModifyUser()),mesPackageDetail.getIsMemory()); saveRedis(getKey(mesPackageDetail.getOrganizeCode(), mesPackageDetail.getModifyUser()),mesPackageDetail.getIsMemory());
@ -200,7 +200,7 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
mesPackageDetailRDao.saveAll(saveMesPackageDetailList); mesPackageDetailRDao.saveAll(saveMesPackageDetailList);
int qty = saveMesPackageDetailList.size(); int qty = saveMesPackageDetailList.size();
//更新包装表 //更新包装表
updateMesPackage(mesPackage, userName, qty, false); updateMesPackage(mesPackage, userName, qty, false, null);
} }
if(mesPackage.getIsSealed() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){ if(mesPackage.getIsSealed() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()){
return ResultBean.success("当前箱条码已完成装箱,请扫描下一个箱条码!").setResultObject(mesPackage); return ResultBean.success("当前箱条码已完成装箱,请扫描下一个箱条码!").setResultObject(mesPackage);
@ -227,7 +227,7 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
MesPcnException.throwMesBusiException("箱条码[%s]下不存在零件条码,不允许关箱,请检查数据!", mesPackage.getPackageNo()); MesPcnException.throwMesBusiException("箱条码[%s]下不存在零件条码,不允许关箱,请检查数据!", mesPackage.getPackageNo());
} }
//关箱 //关箱
updateMesPackage(mesPackageDb, mesPackage.getModifyUser(), 0d, true); updateMesPackage(mesPackageDb, mesPackage.getModifyUser(), 0d, true, null);
return ResultBean.success("关箱成功!"); return ResultBean.success("关箱成功!");
} else { } else {
if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == mesPackageDb.getIsSealed()) { if (CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == mesPackageDb.getIsSealed()) {
@ -294,31 +294,34 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
} }
} }
private MesPart getMesPart(MesPackageDetail mesPackageDetail, MesPackage mesPackage, MesPackingDefine packingDefine) { // private MesPart getMesPart(MesPackageDetail mesPackageDetail, MesPackage mesPackage, MesPackingDefine packingDefine) {
//校验是否重复扫描 // //校验是否重复扫描
checkSerialNumber(mesPackageDetail); // checkSerialNumber(mesPackageDetail);
//获取包装定义明细 // //获取包装定义明细
List<MesPackingDefineDetails> defineDetails = getMesPackingDefineDetails(mesPackageDetail.getOrganizeCode(), mesPackage.getPackageSn()); // List<MesPackingDefineDetails> defineDetails = getMesPackingDefineDetails(mesPackageDetail.getOrganizeCode(), mesPackage.getPackageSn());
//校验是否包含 // //校验是否包含
// String partNo = getPartNo(mesPackageDetail, mesPackage, defineDetails); //// String partNo = getPartNo(mesPackageDetail, mesPackage, defineDetails);
//校验条码信息 // //校验条码信息
String partNo = checkSn(mesPackageDetail, packingDefine, mesPackage, defineDetails); // String partNo = checkSn(mesPackageDetail, packingDefine, mesPackage, defineDetails);
//物料信息 // //物料信息
return getPart(mesPackageDetail.getOrganizeCode(), partNo); // return getPart(mesPackageDetail.getOrganizeCode(), partNo);
} // }
private MesPart getMesPartNew(MesPackageDetail mesPackageDetail, MesPackage mesPackage, MesPackingDefine packingDefine) { private MesPart getMesPartNew(MesPackageDetail mesPackageDetail, MesPackage mesPackage, MesPackingDefine packingDefine) {
//校验是否重复扫描 //校验是否重复扫描
checkSerialNumber(mesPackageDetail); checkSerialNumber(mesPackageDetail, packingDefine);
//校验条码信息 //校验条码信息
String partNo = checkSnNew(mesPackageDetail, packingDefine, mesPackage); String partNo = checkSnNew(mesPackageDetail, packingDefine, mesPackage);
//物料信息 //物料信息
return getPart(mesPackageDetail.getOrganizeCode(), partNo); return getPart(mesPackageDetail.getOrganizeCode(), partNo);
} }
private void checkSerialNumber(MesPackageDetail mesPackageDetail) { private void checkSerialNumber(MesPackageDetail mesPackageDetail, MesPackingDefine packingDefine) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesPackageDetail.getOrganizeCode()); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesPackageDetail.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(mesPackageDetail.getSerialNumber(), MesPcnExtConstWords.SERIAL_NUMBER, ddlPackBean); DdlPreparedPack.getStringEqualPack(mesPackageDetail.getSerialNumber(), MesPcnExtConstWords.SERIAL_NUMBER, ddlPackBean);
if (Objects.equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), packingDefine.getIsConfirmCheck())) {
DdlPreparedPack.getNumEqualPack(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), "isSecondPack", ddlPackBean);
}
if (mesPackageDetailRDao.isExitByHql(ddlPackBean)) { if (mesPackageDetailRDao.isExitByHql(ddlPackBean)) {
MesPcnException.throwMesBusiException("零件条码[%s]已装箱,请检查数据!", mesPackageDetail.getSerialNumber()); MesPcnException.throwMesBusiException("零件条码[%s]已装箱,请检查数据!", mesPackageDetail.getSerialNumber());
} }
@ -387,14 +390,16 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
} }
private void updateMesPackage(MesPackage mesPackage, String userName, double qty, boolean close) { private void updateMesPackage(MesPackage mesPackage, String userName, double qty, boolean close, MesPackingDefine packingDefine) {
mesPackage.setQty(MathOperation.add(mesPackage.getQty(), qty)); mesPackage.setQty(MathOperation.add(mesPackage.getQty(), qty));
if (mesPackage.getPackSpecQty() <= mesPackage.getQty() || close) { if (mesPackage.getPackSpecQty() <= mesPackage.getQty() || close) {
mesPackage.setIsSealed(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); mesPackage.setIsSealed(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
mesPackage.setLotNo(TimeTool.getToday()); mesPackage.setLotNo(TimeTool.getToday());
//数据写入接口表回传wms //数据写入接口表回传wms
if (packingDefine == null || !Objects.equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), packingDefine.getIsConfirmCheck())) {
saveMesPackageResult(mesPackage, userName); saveMesPackageResult(mesPackage, userName);
} }
}
ConvertBean.serviceModelUpdate(mesPackage, userName); ConvertBean.serviceModelUpdate(mesPackage, userName);
mesPackageRDao.update(mesPackage); mesPackageRDao.update(mesPackage);
} }
@ -418,7 +423,7 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
return mesPackageDetails; return mesPackageDetails;
} }
private MesPackageDetail getPackageDetail(MesPackageDetail mesPackageDetail, MesPart mesPart) { private MesPackageDetail getPackageDetail(MesPackageDetail mesPackageDetail, MesPart mesPart, MesPackingDefine packingDefine) {
MesPackageDetail saveMesPackageDetail = new MesPackageDetail(); MesPackageDetail saveMesPackageDetail = new MesPackageDetail();
saveMesPackageDetail.setPackageNo(mesPackageDetail.getPackageNo()); saveMesPackageDetail.setPackageNo(mesPackageDetail.getPackageNo());
saveMesPackageDetail.setSerialNumber(mesPackageDetail.getSerialNumber()); saveMesPackageDetail.setSerialNumber(mesPackageDetail.getSerialNumber());
@ -426,6 +431,11 @@ public class MesBoxingErrorProofingService implements IMesBoxingErrorProofingSer
saveMesPackageDetail.setPartName(mesPart.getPartName()); saveMesPackageDetail.setPartName(mesPart.getPartName());
saveMesPackageDetail.setQty(1d); saveMesPackageDetail.setQty(1d);
saveMesPackageDetail.setOrganizeCode(mesPackageDetail.getOrganizeCode()); saveMesPackageDetail.setOrganizeCode(mesPackageDetail.getOrganizeCode());
if (packingDefine != null && Objects.equals(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(), packingDefine.getIsConfirmCheck())) {
saveMesPackageDetail.setIsSecondPack(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
} else {
saveMesPackageDetail.setIsSecondPack(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
}
ConvertBean.serviceModelInitialize(saveMesPackageDetail, mesPackageDetail.getCreateUser()); ConvertBean.serviceModelInitialize(saveMesPackageDetail, mesPackageDetail.getCreateUser());
return saveMesPackageDetail; return saveMesPackageDetail;
} }

Loading…
Cancel
Save