diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java index c3b3bcd..4b00413 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesShippingOrderManagementDetailController.java @@ -59,7 +59,7 @@ public class MesShippingOrderManagementDetailController extends BaseMesControlle @GetMapping("/master/error/query") public ResultBean queryMesShippingErrorDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager) { try { - return ResultBean.success("查询成功").setListPager(shippingOrderManagementDetailService.queryMesShippingDetailsByPager(mesShippingOrderManagementDetailModel,pager)); + return ResultBean.success("查询成功").setListPager(shippingOrderManagementDetailService.queryMesShippingErrorDetailsByPager(mesShippingOrderManagementDetailModel,pager)); } catch (ImppBusiException e) { return ResultBean.fail(e); } catch (Exception e) { diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesShippingOrderManagementDetailDaoImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesShippingOrderManagementDetailDaoImpl.java index 3728278..0e65b6b 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesShippingOrderManagementDetailDaoImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/MesShippingOrderManagementDetailDaoImpl.java @@ -132,7 +132,11 @@ public class MesShippingOrderManagementDetailDaoImpl implements IMesShippingOrde query.setParameter("isValid", CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); query.setParameter("isDeleted", CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); query.setParameter("organizeCode", mesShippingOrderManagementDetailModel.getOrganizeCode()); - query.setParameter("status", MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); + if (mesShippingOrderManagementDetailModel.getStatus() == null) { + query.setParameter("status", MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); + } else { + query.setParameter("status", mesShippingOrderManagementDetailModel.getStatus()); + } if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getShippingType())) query.setParameter("shippingType", mesShippingOrderManagementDetailModel.getShippingType()); if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getStartScanTimeStart())) @@ -147,6 +151,7 @@ public class MesShippingOrderManagementDetailDaoImpl implements IMesShippingOrde query.setParameter("publishTimeStart", mesShippingOrderManagementDetailModel.getPublishTimeStart()); if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getPublishTimeEnd())) query.setParameter("publishTimeEnd", mesShippingOrderManagementDetailModel.getPublishTimeEnd()); + } private String getOrderBy(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel) { @@ -166,6 +171,8 @@ public class MesShippingOrderManagementDetailDaoImpl implements IMesShippingOrde commonHql.append(" and d.status = :status "); if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getShippingCode())) commonHql.append(" and m.shippingCode like '%").append(mesShippingOrderManagementDetailModel.getShippingCode()).append("%' "); + if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getShippingGroupCode())) + commonHql.append(" and m.shippingGroupCode like '%").append(mesShippingOrderManagementDetailModel.getShippingGroupCode()).append("%' "); if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getBarcode())) commonHql.append(" and d.barcode like '%").append(mesShippingOrderManagementDetailModel.getBarcode()).append("%' "); if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getPartNo())) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java index f3335a3..1cb90fc 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementDetailService.java @@ -97,8 +97,10 @@ public class MesShippingOrderManagementDetailService extends BaseMesService detailList = getManagementDetails(ids, organizeCode, userName); for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) { @@ -107,19 +109,23 @@ public class MesShippingOrderManagementDetailService extends BaseMesService detailList = getManagementDetails(ids, organizeCode, userName); for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) { @@ -128,10 +134,12 @@ public class MesShippingOrderManagementDetailService extends BaseMesService detailList = getManagementDetails(ids, organizeCode, userName); - List orderNoList = detailList.stream().map(MesShippingOrderManagementDetail::getShippingCode).distinct().collect(Collectors.toList()); + List idList = detailList.stream().map(MesShippingOrderManagementDetail::getPid).distinct().collect(Collectors.toList()); DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getInPackList(orderNoList, "shippingCode", orderPackBean); + DdlPreparedPack.getInPackList(idList, "id", orderPackBean); List shippingOrderManagements = shippingOrderRepository.findByHqlWhere(orderPackBean); - Map orderMap = shippingOrderManagements.stream().collect(Collectors.toMap(MesShippingOrderManagement::getShippingCode, Function.identity())); + Map orderMap = shippingOrderManagements.stream().collect(Collectors.toMap(MesShippingOrderManagement::getId, Function.identity())); List mesJisShippings = new ArrayList<>(); - - for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) { - MesShippingOrderManagement mesShippingOrderManagement = orderMap.get(mesShippingOrderManagementDetail.getShippingCode()); + MesShippingOrderManagement mesShippingOrderManagement = orderMap.get(mesShippingOrderManagementDetail.getPid()); if (StringUtils.isEmpty(mesShippingOrderManagementDetail.getPartNo())) { log.info("客户零件号对应的零件号为空:{}", mesShippingOrderManagementDetail.getCustPartNo()); return ResultBean.fail(String.format("客户零件号对应的零件号为空:%s", mesShippingOrderManagementDetail.getCustPartNo())); } mesShippingOrderManagementDetail.setActualQty((int)mesShippingOrderManagementDetail.getPlanQty()); mesShippingOrderManagementDetail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); + mesShippingOrderManagementDetail.setRemark("手工发运"); ConvertBean.serviceModelUpdate(mesShippingOrderManagementDetail, userName); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.MOVE_RULE_GROUP_TYPE.MOVE_RULE_GROUP_TYPE_10.getValue(), "groupType", ddlPackBean); DdlPreparedPack.getStringEqualPack(mesShippingOrderManagement.getShippingGroupCode(), "code", ddlPackBean); MesMoveRule moveRule = mesMoveRuleRepository.getByProperty(ddlPackBean); + if (moveRule == null) { + log.info("移库规则不存在:发运组代码:{}", mesShippingOrderManagement.getShippingGroupCode()); + return ResultBean.fail(String.format("移库规则不存在:发运单编号:%s,发运组代码:%s,", mesShippingOrderManagement.getShippingCode(),mesShippingOrderManagement.getShippingGroupCode())); + } + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(mesShippingOrderManagementDetail.getVisualOrderNo(), "workOrderNo", packBean); - MesWorkOrderPart workOrderPart = mesWorkOrderPartRepository.getByProperty(packBean); + if (workOrderPart == null) { + log.info("工单零件信息不存在:工单号:{}", mesShippingOrderManagementDetail.getVisualOrderNo()); + return ResultBean.fail(String.format("工单零件信息不存在:工单号:%s", mesShippingOrderManagementDetail.getVisualOrderNo())); + } + mesJisShippings.add(getMesJisShipping(mesShippingOrderManagement, mesShippingOrderManagementDetail,moveRule.getErpSrcLocateNo(), workOrderPart,userName)); }