From 08301bc9a2de880771767a42690eca60b3525baa Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Mon, 20 Jan 2025 13:47:11 +0800 Subject: [PATCH] =?UTF-8?q?44905=20=20MES-=E5=8F=91=E8=BF=90=E5=BC=82?= =?UTF-8?q?=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IMesShippingOrderManagementDetailService.java | 15 +++++ ...MesShippingOrderManagementDetailController.java | 49 ++++++++++++++++ .../MesShippingOrderManagementDetailDaoImpl.java | 2 + .../MesShippingOrderManagementDetailService.java | 67 +++++++++++++++++++++- 4 files changed, 130 insertions(+), 3 deletions(-) diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java index d035341..333ceb9 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesShippingOrderManagementDetailService.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderPart; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail; +import cn.estsh.impp.framework.boot.util.ResultBean; import io.swagger.annotations.ApiOperation; import java.util.List; @@ -22,6 +23,20 @@ public interface IMesShippingOrderManagementDetailService extends IBaseMesServic @ApiOperation("查询发运单明细") ListPager queryMesShippingDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager); + @ApiOperation("查询发运单明细") + ListPager queryMesShippingErrorDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager); + + + @ApiOperation("根据客户零件匹配零件号") + public ResultBean supplyBycustPartNo(Long[] ids); + + + @ApiOperation("根据CBR匹配零件号") + public ResultBean supplyByCBR(Long[] ids); + + @ApiOperation("手动发运改数量") + public ResultBean updateQty(Long[] ids, double qty); + @ApiOperation("发运退回") void doShippingBack(Long[] idList,String organizeCode,String userName); 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 62010e7..62db6ab 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 @@ -55,6 +55,55 @@ public class MesShippingOrderManagementDetailController extends BaseMesControlle } } + @ApiOperation(value = "发运单异常明细", notes = "发运单异常明细") + @GetMapping("/master/error/query") + public ResultBean queryMesShippingErrorDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager) { + try { + return ResultBean.success("查询成功").setListPager(shippingOrderManagementDetailService.queryMesShippingDetailsByPager(mesShippingOrderManagementDetailModel,pager)); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @ApiOperation(value = "根据客户零件匹配零件号", notes = "根据客户零件匹配零件号") + @GetMapping("/master/part/supplyBycustPartNo") + public ResultBean supplyBycustPartNo(Long[] ids) { + try { + return shippingOrderManagementDetailService.supplyBycustPartNo(ids); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @ApiOperation(value = "根据CBR匹配零件号", notes = "根据CBR匹配零件号") + @GetMapping("/master/part/supplyByCBR") + public ResultBean supplyByCBR(Long[] ids) { + try { + return shippingOrderManagementDetailService.supplyByCBR(ids); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @ApiOperation(value = "根据CBR匹配零件号", notes = "根据CBR匹配零件号") + @GetMapping("/master/part/updateQty") + public ResultBean supplyByCBR(Long[] ids, double qty) { + try { + return shippingOrderManagementDetailService.updateQty(ids, qty); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @ApiOperation(value = "发运退回", notes = "发运退回") @PutMapping("/doShippingBack") public ResultBean doShippingBack(@RequestBody Long[] idList) { 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 e196c50..3728278 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 @@ -188,6 +188,8 @@ public class MesShippingOrderManagementDetailDaoImpl implements IMesShippingOrde commonHql.append(" and m.publishTime >= :publishTimeStart "); if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getPublishTimeEnd())) commonHql.append(" and m.publishTime <= :publishTimeEnd "); + if (!StringUtils.isEmpty(mesShippingOrderManagementDetailModel.getDetailsStatus())) + commonHql.append(" and d.status = " + mesShippingOrderManagementDetailModel.getDetailsStatus() + ""); return commonHql.toString(); } @Override 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 f98a89c..65f21b0 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 @@ -12,13 +12,15 @@ import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; -import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroupDetail; -import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; -import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderPart; +import cn.estsh.i3plus.pojo.mes.bean.*; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail; +import cn.estsh.i3plus.pojo.mes.repository.MesCimGmCbrRuleRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesCustomerPartRepository; import cn.estsh.i3plus.pojo.mes.repository.MesProduceSnRepository; import cn.estsh.i3plus.pojo.mes.repository.MesShippingOrderManagementDetailRepository; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.util.ResultBean; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -46,6 +48,11 @@ public class MesShippingOrderManagementDetailService extends BaseMesService queryMesShippingErrorDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager) { + return shippingOrderManagementDetailDao.queryMesShippingDetailsByPager(mesShippingOrderManagementDetailModel, pager); + } + + + @Override + public ResultBean supplyBycustPartNo(Long[] ids) { + + String organizeCode = AuthUtil.getOrganizeCode(); + String userName = AuthUtil.getSessionUser().getUserName(); + List detailList = getManagementDetails(ids, organizeCode, userName); + + for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(mesShippingOrderManagementDetail.getCustPartNo(), "custPartNo", ddlPackBean); + MesCustomerPart mesCustomerPart = mesCustomerPartRepository.getByProperty(ddlPackBean); + if (mesCustomerPart == null) { + log.info("客户零件号不存在:{}", mesShippingOrderManagementDetail.getCustPartNo()); + } + mesShippingOrderManagementDetail.setPartNo(mesCustomerPart.getErpPartNo()); + mesShippingOrderManagementDetail.setPartName(mesCustomerPart.getErpPartName()); + } + + return ResultBean.success().setResultList(detailList); + } + + @Override + public ResultBean supplyByCBR(Long[] ids) { + + String organizeCode = AuthUtil.getOrganizeCode(); + String userName = AuthUtil.getSessionUser().getUserName(); + List detailList = getManagementDetails(ids, organizeCode, userName); + + for (MesShippingOrderManagementDetail mesShippingOrderManagementDetail : detailList) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(mesShippingOrderManagementDetail.getCustPartNo(), "custPartNo", ddlPackBean); + MesCimGmCbrRule mesCimGmCbrRule = mesCimGmCbrRuleRepository.getByProperty(ddlPackBean); + if (mesCimGmCbrRule == null) { + log.info("CBR规则未配置:客户零件号:{}", mesShippingOrderManagementDetail.getCustPartNo()); + } + mesShippingOrderManagementDetail.setPartNo(mesCimGmCbrRule.getErpPartNo()); + mesShippingOrderManagementDetail.setPartName(mesCimGmCbrRule.getErpPartName()); + } + + return ResultBean.success().setResultList(detailList); + } + + + @Override + public ResultBean updateQty(Long[] ids, double qty) { + return null; + } + + @Override public void doShippingBack(Long[] idList, String organizeCode, String userName) { List detailList = getManagementDetails(idList, organizeCode, userName); if (CollectionUtils.isEmpty(detailList)) MesException.throwMesBusiException("选择数据无效,请检查");