diff --git a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesLoadingListDetail.groovy b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesLoadingListDetail.groovy new file mode 100644 index 0000000..eb0c734 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesLoadingListDetail.groovy @@ -0,0 +1,73 @@ + +import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement +import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList +import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper +import cn.estsh.i3plus.pojo.mes.repository.MesLoadingListRepository +import cn.estsh.i3plus.pojo.mes.repository.MesShippingOrderManagementRepository +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.util.StringUtils + +/** + * @Description : MES2PISCES 装车单明细 + * @Reference : + * @Author : gsz + * @CreateDate 2024/7/14 10:59 + * @Modify: + * */ +class MesToPiscesMesLoadingListDetail { + + public static final Logger LOGGER = LoggerFactory.getLogger(MesToPiscesMesLoadingListDetail.class) + + @Autowired + private MesLoadingListRepository mesLoadingListRepository; + @Autowired + private MesShippingOrderManagementRepository mesShippingRepository; + + def filterData(MesInterfaceDataMapper mapper, List> srcData) throws Exception { + if (srcData == null || srcData.size() == 0) { + return srcData + } + Map mesProductionRecordMap = new HashMap<>(); + Map mesLoadingListMap = new HashMap<>(); + + for (Map rowMap : srcData) { + + //发运单 + if (!StringUtils.isEmpty(rowMap.get("shipping_id"))) { + long shippingId = Long.parseLong(String.valueOf(rowMap.get("shipping_id"))); + if (Objects.isNull(mesProductionRecordMap) || !mesProductionRecordMap.containsKey(shippingId)) { + mesProductionRecordMap.put(shippingId, mesShippingRepository.getById(shippingId)) + } + MesShippingOrderManagement mesProductionRecord = mesProductionRecordMap.get(shippingId) + if (!Objects.isNull(mesProductionRecord)) { + rowMap.put("SHIPPING_FID", mesProductionRecord.getFid()) + } else { + rowMap.put("SHIPPING_FID", null) + LOGGER.info("发运单id:{},信息不存在", String.valueOf(rowMap.get(rowMap.get("shipping_id")))) + } + }else{ + rowMap.put("SHIPPING_FID", null) + } + //装车单 + if (!StringUtils.isEmpty(rowMap.get("pid"))) { + long id = Long.parseLong(String.valueOf(rowMap.get("pid"))); + if (Objects.isNull(mesLoadingListMap) || !mesLoadingListMap.containsKey(id)) { + mesLoadingListMap.put(id, mesLoadingListRepository.getById(id)) + } + MesLoadingList mesLoadingList = mesLoadingListMap.get(id) + if (!Objects.isNull(mesLoadingList)) { + rowMap.put("LOADING_LIST_FID", mesLoadingList.getFid()) + } else { + rowMap.put("LOADING_LIST_FID", null) + LOGGER.info("装车id:{},信息不存在", String.valueOf(rowMap.get(rowMap.get("pid")))) + } + }else{ + rowMap.put("LOADING_LIST_FID", null) + } + } + return srcData; + } + +} \ No newline at end of file diff --git a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesShipping.groovy b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesShipping.groovy new file mode 100644 index 0000000..5c8d0b1 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesShipping.groovy @@ -0,0 +1,61 @@ +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack +import cn.estsh.i3plus.pojo.mes.bean.MesEquipment +import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn +import cn.estsh.i3plus.pojo.mes.bean.MesPartShippingGroup +import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper +import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentRepository +import cn.estsh.i3plus.pojo.mes.repository.MesProduceSnRepository +import cn.estsh.i3plus.pojo.mes.repository.MesPartShippingGroupRepository +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.util.StringUtils + +/** + * @Description : MES2PISCES-发运单 + * @Reference : + * @Author : gsz + * @CreateDate 2024/7/14 10:59 + * @Modify: + * */ +class MesToPiscesMesShipping { + + public static final Logger LOGGER = LoggerFactory.getLogger(MesToPiscesMesShipping.class) + + @Autowired + private MesPartShippingGroupRepository mesPartShippingGroupRepository; + + def filterData(MesInterfaceDataMapper mapper, List> srcData) throws Exception { + if (srcData == null || srcData.size() == 0) { + return srcData + } + Map mesPartShippingGroupMap = new HashMap<>(); + String organizeCode = mapper.getOrganizeCode(); + for (Map rowMap : srcData) { + //装配条码ID + if (!StringUtils.isEmpty(rowMap.get("shipping_group_code"))) { + MesPartShippingGroup mesPartShippingGroup = getMesPartShippingGroup(organizeCode, String.valueOf(rowMap.get("shipping_group_code")), mesPartShippingGroupMap) + if (!Objects.isNull(mesPartShippingGroup)) { + rowMap.put("PART_SHIPPING_FID", mesPartShippingGroup.getFid()) + } else { + rowMap.put("PART_SHIPPING_FID", null) + LOGGER.info("shipping_group_code:{}信息不存在", String.valueOf(rowMap.get("shipping_group_code"))) + } + }else{ + rowMap.put("PART_SHIPPING_FID", null) + } + } + return srcData; + } + + private MesPartShippingGroup getMesPartShippingGroup(String organizeCode, String shippingGroupCode, Map mesPartShippingGroupMap) { + if (Objects.isNull(mesPartShippingGroupMap) || !mesPartShippingGroupMap.containsKey(shippingGroupCode)) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(shippingGroupCode, "shippingGroupCode", ddlPackBean); + mesPartShippingGroupMap.put(shippingGroupCode, mesPartShippingGroupRepository.getByProperty(ddlPackBean)) + } + return mesPartShippingGroupMap.get(shippingGroupCode); + } + +} \ No newline at end of file diff --git a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesShippingDetail.groovy b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesShippingDetail.groovy new file mode 100644 index 0000000..f8b4953 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesShippingDetail.groovy @@ -0,0 +1,78 @@ +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack +import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn +import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement +import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper +import cn.estsh.i3plus.pojo.mes.repository.MesProduceSnRepository +import cn.estsh.i3plus.pojo.mes.repository.MesShippingOrderManagementRepository +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.util.StringUtils + +/** + * @Description : MES2PISCES 发运单明细 + * @Reference : + * @Author : gsz + * @CreateDate 2024/7/14 10:59 + * @Modify: + * */ +class MesToPiscesMesShippingDetail { + + public static final Logger LOGGER = LoggerFactory.getLogger(MesToPiscesMesShippingDetail.class) + + @Autowired + private MesProduceSnRepository mesProduceSnRepository; + @Autowired + private MesShippingOrderManagementRepository mesShippingRepository; + + def filterData(MesInterfaceDataMapper mapper, List> srcData) throws Exception { + if (srcData == null || srcData.size() == 0) { + return srcData + } + Map mesProduceSnMap = new HashMap<>(); + Map mesProductionRecordMap = new HashMap<>(); + String organizeCode = mapper.getOrganizeCode(); + for (Map rowMap : srcData) { + //条码ID + if (!StringUtils.isEmpty(rowMap.get("bar_code"))) { + MesProduceSn mesProduceSn = getMesProduceSn(organizeCode, String.valueOf(rowMap.get("bar_code")), mesProduceSnMap) + if (!Objects.isNull(mesProduceSn)) { + rowMap.put("BARCODE_ID", mesProduceSn.getId()) + } else { + rowMap.put("BARCODE_ID", null) + LOGGER.info("条码:{}信息不存在", String.valueOf(rowMap.get("bar_code"))) + } + }else{ + rowMap.put("BARCODE_ID", null) + } + + //发运单 + if (!StringUtils.isEmpty(rowMap.get("pid"))) { + long id = Long.parseLong(String.valueOf(rowMap.get("pid"))); + if (Objects.isNull(mesProductionRecordMap) || !mesProductionRecordMap.containsKey(id)) { + mesProductionRecordMap.put(id, mesShippingRepository.getById(id)) + } + MesShippingOrderManagement mesProductionRecord = mesProductionRecordMap.get(id) + if (!Objects.isNull(mesProductionRecord)) { + rowMap.put("SHIPPING_FID", mesProductionRecord.getFid()) + } else { + rowMap.put("SHIPPING_FID", null) + LOGGER.info("发运单id:{},信息不存在", String.valueOf(rowMap.get(rowMap.get("pid")))) + } + }else{ + rowMap.put("SHIPPING_FID", null) + } + } + return srcData; + } + + private MesProduceSn getMesProduceSn(String organizeCode, String sn, Map mesProduceSnMap) { + if (Objects.isNull(mesProduceSnMap) || !mesProduceSnMap.containsKey(sn)) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(sn, "productSn", ddlPackBean); + mesProduceSnMap.put(sn, mesProduceSnRepository.getByProperty(ddlPackBean)) + } + return mesProduceSnMap.get(sn); + } +} \ No newline at end of file