|
|
|
@ -97,6 +97,9 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesShippingSnUniqueService mesShippingSnUniqueService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesShippingSnUniqueRepository mesShippingSnUniqueRepository;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MesSortShippingCheckModel doShippingOrderNoQuery(MesShippingOrderManagement shippingOrderManagement) {
|
|
|
|
|
//校验发运单
|
|
|
|
@ -138,8 +141,11 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
if (!Objects.isNull(model.getIsPass()) && Objects.equals(MesPcnExtConstWords.ONE, model.getIsPass())) {
|
|
|
|
|
skipShippingDetails(model, model.getUserInfo(), orderManagement);
|
|
|
|
|
//扫描条码
|
|
|
|
|
} else{
|
|
|
|
|
model = ((IMesShippingScanStrategyService) SpringContextsUtil.getBean(MesExtEnumUtil.SHIPPING_GROUP_CONFIRM_PART_TYPE.valueOfServiceImpl(Integer.parseInt(shippingGroup.getConfirmPartType())))).doScan(model,orderManagement,shippingGroup);
|
|
|
|
|
} else {
|
|
|
|
|
if (StringUtils.isEmpty(shippingGroup.getConfirmPartType())) {
|
|
|
|
|
MesPcnException.throwMesBusiException("零件发运组【%s】扫描确认方式未维护,请检查数据!");
|
|
|
|
|
}
|
|
|
|
|
model = ((IMesShippingScanStrategyService) SpringContextsUtil.getBean(MesExtEnumUtil.SHIPPING_GROUP_CONFIRM_PART_TYPE.valueOfServiceImpl(Integer.parseInt(shippingGroup.getConfirmPartType())))).doScan(model, orderManagement, shippingGroup);
|
|
|
|
|
}
|
|
|
|
|
model.setDetailList(model.getDetailList());
|
|
|
|
|
//当前发运单全部扫描完成 并且不需要扫位置码
|
|
|
|
@ -466,22 +472,21 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
|
|
|
|
|
List<MesProduceSn> produceSnList = new ArrayList<>();
|
|
|
|
|
List<MesWorkOrder> mesWorkOrderList = new ArrayList<>();
|
|
|
|
|
List<MesShippingSnUnique> mesShippingSnUniqueList = new ArrayList<>();
|
|
|
|
|
for (MesShippingOrderManagementDetail detail : orderManagementDetailList) {
|
|
|
|
|
//根据扫描的条码查询条码是否存在
|
|
|
|
|
packBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
if (Objects.equals(orderManagement.getIsEnableMemory(), MesCommonConstant.TRUE_INTEGER)) {
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(detail.getBarcode(), "custSn", packBean);
|
|
|
|
|
} else {
|
|
|
|
|
if (!Objects.equals(orderManagement.getIsEnableMemory(), MesCommonConstant.TRUE_INTEGER)){
|
|
|
|
|
List<MesShippingOrderManagementDetail> mesShippingOrderManagementDetails = custInfoSeqMap.get(detail.getId());
|
|
|
|
|
MesShippingOrderManagementDetail managementDetail = mesShippingOrderManagementDetails.get(0);
|
|
|
|
|
detail.setRemark(managementDetail.getRemark());
|
|
|
|
|
detail.setStatus(managementDetail.getStatus());
|
|
|
|
|
detail.setBarcode(managementDetail.getBarcode());
|
|
|
|
|
detail.setVisualOrderNo(managementDetail.getVisualOrderNo());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(detail.getBarcode(), "custSn", packBean);
|
|
|
|
|
}
|
|
|
|
|
//更新条码信息,更新目视单信息
|
|
|
|
|
if(!StringUtils.isEmpty(detail.getBarcode()) && !Objects.equals(orderManagement.getIsEnableMemory(), MesCommonConstant.TRUE_INTEGER)){
|
|
|
|
|
packBean.setWhereAppend(packBean.getWhereAppend() + " and (model.productSn = '"+detail.getBarcode()+"' or model.custSn = '"+detail.getBarcode()+"'");
|
|
|
|
|
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, packBean);
|
|
|
|
|
MesProduceSn produceSn = produceSnRepository.getByProperty(packBean);
|
|
|
|
|
if(!Objects.isNull(produceSn)){
|
|
|
|
@ -491,7 +496,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
produceSnList.add(produceSn);
|
|
|
|
|
} else {
|
|
|
|
|
//记录唯一性校验表
|
|
|
|
|
mesShippingSnUniqueService.insertMesShippingSnUnique(organizeCode, detail.getBarcode(), orderManagement.getShippingCode(), userInfo);
|
|
|
|
|
mesShippingSnUniqueList.add(mesShippingSnUniqueService.getMesShippingSnUnique(organizeCode, detail.getBarcode(), orderManagement.getShippingCode(), userInfo));
|
|
|
|
|
}
|
|
|
|
|
//更新工单
|
|
|
|
|
if(!StringUtils.isEmpty(detail.getVisualOrderNo())){
|
|
|
|
@ -516,6 +521,10 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService
|
|
|
|
|
detail.setActualQty(MesPcnExtConstWords.ONE);
|
|
|
|
|
ConvertBean.serviceModelUpdate(detail, userInfo);
|
|
|
|
|
}
|
|
|
|
|
//保存唯一性表
|
|
|
|
|
if(!CollectionUtils.isEmpty(mesShippingSnUniqueList)){
|
|
|
|
|
mesShippingSnUniqueRepository.saveAll(mesShippingSnUniqueList);
|
|
|
|
|
}
|
|
|
|
|
//更新条码
|
|
|
|
|
if(!CollectionUtils.isEmpty(produceSnList)){
|
|
|
|
|
produceSnRepository.saveAll(produceSnList);
|
|
|
|
|