diff --git a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesJisShipping.groovy b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesJisShipping.groovy index 823cc81..f516713 100644 --- a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesJisShipping.groovy +++ b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesJisShipping.groovy @@ -1,4 +1,3 @@ -import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant import cn.estsh.i3plus.mes.api.iservice.busi.ISyncFuncService import cn.estsh.i3plus.platform.common.tool.MathOperation import cn.estsh.i3plus.pojo.base.bean.DdlPackBean diff --git a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesJisShippingWh.groovy b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesJisShippingWh.groovy index 4a8363b..95e8472 100644 --- a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesJisShippingWh.groovy +++ b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesJisShippingWh.groovy @@ -8,7 +8,7 @@ import org.slf4j.LoggerFactory import org.springframework.beans.factory.annotation.Autowired /** - * @Description : MES2PISCES-发运单武汉工厂 + * @Description : MES2PISCES-发运结果回传武汉工厂 * @Reference : * @Author : junsheng.li * @CreateDate 2024/11/18 20:37 diff --git a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesJisShippingWuhu.groovy b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesJisShippingWuhu.groovy new file mode 100644 index 0000000..e2c0de1 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesJisShippingWuhu.groovy @@ -0,0 +1,83 @@ +import cn.estsh.i3plus.mes.api.iservice.busi.ISyncFuncService +import cn.estsh.i3plus.platform.common.tool.MathOperation +import cn.estsh.i3plus.platform.common.tool.TimeTool +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack +import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement +import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper +import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel +import cn.estsh.i3plus.pojo.mes.repository.MesShippingOrderManagementRepository +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.springframework.beans.factory.annotation.Autowired +import org.springframework.util.StringUtils + +/** + * @Description : MES2PISCES-发运结果回传芜湖工厂 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/11/29 15:18 + * @Modify: + **/ +class MesToPiscesMesJisShippingWuhu { + + public static final Logger LOGGER = LoggerFactory.getLogger(MesToPiscesMesJisShippingWuhu.class) + + @Autowired + private MesShippingOrderManagementRepository mesShippingOrderManagementRepository; + + @Autowired + private ISyncFuncService syncFuncService; + + def filterData(MesInterfaceDataMapper mapper, List> srcData) throws Exception { + if (srcData == null || srcData.size() == 0) { + return srcData + } + Map mesPartShippingGroupMap = new HashMap<>(); + String organizeCode = mapper.getOrganizeCode(); + Map> destData = new HashMap<>(); + for (Map rowMap : srcData) { + if (!StringUtils.isEmpty(rowMap.get("shipping_order_code"))) { + MesShippingOrderManagement mesShipping = getMesShipping(organizeCode, String.valueOf(rowMap.get("shipping_order_code")), mesPartShippingGroupMap) + if (!Objects.isNull(mesShipping)) { + rowMap.put("HANDLE_FID", mesShipping.getFid()) + } else { + LOGGER.info("shipping_order_code:{}信息不存在", String.valueOf(rowMap.get("shipping_order_code"))) + } + } + //数据汇总 + String key = String.valueOf(rowMap.get("HANDLE_FID")) + String.valueOf(rowMap.get("part_no")) + if (destData.containsKey(key)) { + destData.get(key).put("quantity_per_car", MathOperation.add(Double.valueOf(destData.get(key).get("quantity_per_car") + ""), Double.valueOf(rowMap.get("quantity_per_car") + ""))) + } else { + destData.put(key, rowMap) + } + } + //TRANS_ID赋值 + if(mapper.getDestColumnMapping().contains("TRANS_ID")){ + Date date = new Date(); + GenSerialNoModel orderSeqSerialNoModel = new GenSerialNoModel("JIS_SHIPPING_TRANS_ID"); + orderSeqSerialNoModel.setYear(MesExtEnumUtil.YEAR_SHORT.valueOfDescription(Integer.parseInt(TimeTool.getYear(date)))) + orderSeqSerialNoModel.setMonth(MesExtEnumUtil.MONTH_SHORT.valueOfDescription(Integer.parseInt(TimeTool.getMonth(date)))) + orderSeqSerialNoModel.setDay(TimeTool.getDay(date)) + List resultList = syncFuncService.syncSerialNo(orderSeqSerialNoModel.organizeCode(organizeCode), "MES2PISCES发运单", organizeCode, srcData.size()).getResultList(); + int index = 0; + for (Map rowMap : srcData) { + rowMap.put("TRANS_ID", resultList.get(index)); + index++; + } + } + return new ArrayList<>(destData.values()); + } + + private MesShippingOrderManagement getMesShipping(String organizeCode, String shippingCode, Map mesPartShippingGroupMap) { + if (Objects.isNull(mesPartShippingGroupMap) || !mesPartShippingGroupMap.containsKey(shippingCode)) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(shippingCode, "shippingCode", ddlPackBean); + mesPartShippingGroupMap.put(shippingCode, mesShippingOrderManagementRepository.getByProperty(ddlPackBean)) + } + return mesPartShippingGroupMap.get(shippingCode); + } + +} \ No newline at end of file diff --git a/modules/i3plus-ext-mes-apiservice/src/groovy/MesProductionRecordToPisces.groovy b/modules/i3plus-ext-mes-apiservice/src/groovy/MesProductionRecordToPisces.groovy index f116c5c..6d02089 100644 --- a/modules/i3plus-ext-mes-apiservice/src/groovy/MesProductionRecordToPisces.groovy +++ b/modules/i3plus-ext-mes-apiservice/src/groovy/MesProductionRecordToPisces.groovy @@ -29,7 +29,7 @@ class MesProductionRecordToPisces { public static final Logger LOGGER = LoggerFactory.getLogger(MesProductionRecordToPisces.class) - private static final String[] workCenterCodeList = ["B19CK01A", "B15CK01A", "C06CK01A", "C06CK01B", "C09CK01A", "C12CK01A"] as String[]; + private static final String[] workCenterCodeList = ["B19C901A", "B15C901A", "C06C901A", "C06C901B", "C09C901A", "C12C901A"] as String[]; @Autowired private MesEquipmentRepository equipmentRepository; @@ -40,7 +40,7 @@ class MesProductionRecordToPisces { @Autowired private MesWorkOrderRepository workOrderRepository; - @Resource(name = "piscesDataSource") + @Resource(name = "pisces3DataSource") private DynamicDataSourceProxy piscesDataSource; @Resource(name = "mesDataSource") @@ -71,6 +71,7 @@ class MesProductionRecordToPisces { List> destData = new ArrayList<>(); for (Map rowMap : srcData) { + //条码信息 Map params = new HashMap<>(); params.put("partNo", rowMap.get("part_no")) params.put("productSn", rowMap.get("product_sn")) @@ -81,7 +82,7 @@ class MesProductionRecordToPisces { rowMap.put("BARCODE_ID", dataMap.iterator().next().get("ID")) idList.add(rowMap.get("id").toString()); } else { - LOGGER.info("条码{}物料{}条码信息未同步,信息不存在", rowMap.get("product_sn"),rowMap.get("part_no")) + LOGGER.info("条码{}物料{}条码信息未同步,信息不存在", rowMap.get("product_sn"), rowMap.get("part_no")) continue } String workCenterCode = String.valueOf(rowMap.get("work_center_code"));