diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesMouldMappingCfgService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesMouldMappingCfgService.java new file mode 100644 index 0000000..0599bab --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesMouldMappingCfgService.java @@ -0,0 +1,13 @@ +package cn.estsh.i3plus.ext.mes.api.base; + +import cn.estsh.i3plus.pojo.mes.bean.MesMouldMappingCfg; + +/** + * @Description :模具映射关系维护 + * @Reference : + * @Author : gsz + * @CreateDate 2024/5/20 10:06 + * @Modify: + **/ +public interface IMesMouldMappingCfgService extends IBaseMesService { +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesMouldMappingCfgController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesMouldMappingCfgController.java new file mode 100644 index 0000000..890fdab --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesMouldMappingCfgController.java @@ -0,0 +1,18 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.base; + +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.mes.bean.MesMouldMappingCfg; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description :模具映射关系维护 + * @Reference : + * @Author : gsz + * @CreateDate : 2024-05-20 10:16 + * @Modify: + **/ +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesMouldMappingCfg") +public class MesMouldMappingCfgController extends BaseMesController{ +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesMouldMappingCfgServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesMouldMappingCfgServiceImpl.java new file mode 100644 index 0000000..6aecfb6 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesMouldMappingCfgServiceImpl.java @@ -0,0 +1,70 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesMouldMappingCfgService; +import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; +import cn.estsh.i3plus.platform.common.util.MesConstWords; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.*; +import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentRepository; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ValidatorBean; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Objects; + + +/** + * @Description : 模具映射关系维护 + * @Reference : + * @Author : gsz + * @CreateDate 2024/5/20 10:06 + * @Modify: + **/ +@Service +@Slf4j +public class MesMouldMappingCfgServiceImpl extends BaseMesService implements IMesMouldMappingCfgService { + + @Autowired + private MesEquipmentRepository mesEquipmentRDao; + + protected void setPackQueryBean(MesMouldMappingCfg bean, DdlPackBean packBean) { + DdlPreparedPack.getStringEqualPack(bean.getAssetNum(), "assetNum", packBean); +// DdlPreparedPack.getStringEqualPack(bean.getEquipmentCode(), "equipmentCode", packBean); + } + protected void onInsertBean(MesMouldMappingCfg item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getOrganizeCode(), "工厂号不能为空"); + ValidatorBean.checkNotNull(item.getAssetNum(), "assetNum不能为空" ); + ValidatorBean.checkNotNull(item.getMouldNo(), "mouldNo不能为空"); + ValidatorBean.checkNotNull(item.getEquipmentCode(), "equipmentCode不能为空"); + + MesEquipment mesEquipmentDb = mesEquipmentRDao.getByProperty( + new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED, MesConstWords.IS_VALID, "equipmentCode"}, + new Object[]{item.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), + CommonEnumUtil.IS_VAILD.VAILD.getValue(), item.getEquipmentCode()}); + if (null == mesEquipmentDb) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("设备代码【%s】无效", item.getEquipmentCode()) + .build(); + } + DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getAssetNum(), "assetNum", packBean); + DdlPreparedPack.getStringEqualPack(item.getMouldNo(), "mouldNo", packBean); + DdlPreparedPack.getStringEqualPack(item.getEquipmentCode(), "equipmentCode", packBean); + + boolean flg = baseRDao.isExitByHql(packBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("maximo模具号【%s】设备代码【%s】已经存在,请检查数据", item.getAssetNum(),item.getEquipmentCode()) + .build(); + } + } +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementService.java index 629c721..0a31cf4 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesShippingOrderManagementService.java @@ -1,8 +1,8 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesConfigService; +import cn.estsh.i3plus.ext.mes.api.base.IMesPartService; import cn.estsh.i3plus.ext.mes.api.base.IMesShippingOrderManagementService; -import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.tool.TimeTool; @@ -13,6 +13,7 @@ import cn.estsh.i3plus.pojo.mes.bean.*; import cn.estsh.i3plus.pojo.mes.repository.MesJisShippingRepository; import cn.estsh.i3plus.pojo.mes.repository.MesPartRepository; import cn.estsh.i3plus.pojo.mes.repository.MesPartShippingGroupRepository; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ValidatorBean; @@ -25,6 +26,8 @@ import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; @Service @Slf4j @@ -47,6 +50,9 @@ public class MesShippingOrderManagementService extends BaseMesService { MesShippingOrderManagementDetail detail = new MesShippingOrderManagementDetail(); + MesPart part = partService.getPartByPartNo(k.getPartNo(), k.getOrganizeCode()); + detail.setPartName(part.getPartName()); + detail.setCustPartNo(k.getCustomerPartNo()); + detail.setPlanQty(1D); + detail.setActualQty(1); detail.setShippingOrderNo(finalBean.getShippingOrderNo()); detail.setOrganizeCode(k.getOrganizeCode()); detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.CREATE.getValue()); @@ -259,12 +270,13 @@ public class MesShippingOrderManagementService extends BaseMesService detailDeleteList = detailService.findAll(detailPackBean); - ; + Map> detailMap = detailDeleteList.stream().collect(Collectors.groupingBy(k -> k.getPartNo())); + List jisShippingList = new ArrayList<>(); - detailDeleteList.forEach(k -> { + detailMap.forEach((k, v) -> { DdlPackBean packBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(k.getPartNo(), "partNo", packBean); + DdlPreparedPack.getStringEqualPack(v.get(0).getPartNo(), "partNo", packBean); MesPart part = partRepository.getByProperty(packBean); MesJisShipping jisShipping = new MesJisShipping(); @@ -277,13 +289,13 @@ public class MesShippingOrderManagementService extends BaseMesService