diff --git a/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesJisShippingWh.groovy b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesJisShippingWh.groovy new file mode 100644 index 0000000..4a8363b --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/groovy/Mes2Pisces/MesToPiscesMesJisShippingWh.groovy @@ -0,0 +1,46 @@ +import cn.estsh.i3plus.mes.api.iservice.busi.ISyncFuncService +import cn.estsh.i3plus.platform.common.tool.TimeTool +import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper +import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil +import org.slf4j.Logger +import org.slf4j.LoggerFactory +import org.springframework.beans.factory.annotation.Autowired + +/** + * @Description : MES2PISCES-发运单武汉工厂 + * @Reference : + * @Author : junsheng.li + * @CreateDate 2024/11/18 20:37 + * @Modify: + * */ +class MesToPiscesMesJisShippingWh { + + public static final Logger LOGGER = LoggerFactory.getLogger(MesToPiscesMesJisShippingWh.class) + + @Autowired + private ISyncFuncService syncFuncService; + + def filterData(MesInterfaceDataMapper mapper, List> srcData) throws Exception { + if (srcData == null || srcData.size() == 0) { + return srcData + } + String organizeCode = mapper.getOrganizeCode(); + //TRANS_ID赋值 + if (mapper.getDestColumnMapping().contains("TRANS_ID")) { + Date date = new Date(); + GenSerialNoModel orderSeqSerialNoModel = new GenSerialNoModel("COKIPIT_PISCES_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<>(srcData); + } + +} \ No newline at end of file diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java index 40928c8..58b16a0 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java @@ -1151,7 +1151,7 @@ public class MesWorkOrderService extends BaseMesService implements //按照条码查询之前报工数据 mesProductOffLineList.addAll(getMesProductOffLineList(model, nowTime)); } - mesProductOffLineService.insertBatch(mesProductOffLineList); + mesProductOffLineRDao.saveAll(mesProductOffLineList); } @Override @@ -1354,19 +1354,22 @@ public class MesWorkOrderService extends BaseMesService implements MesException.throwMesBusiException("条码【%s】未查询到报工数据", model.getSn()); } //oldProductOffLineList = mesProductOffLineService.findMesProductOffLineByRecordId(oldProductOffLineList.iterator().next().getProductionRecordId(), model.getOrganizeCode()); + List newProductOffLineList = new ArrayList<>(oldProductOffLineList.size()); oldProductOffLineList.forEach(item -> { - item.setId(null); - item.setReportType(MesExtEnumUtil.REPORT_TYPE.CBR.getValue()); - item.setOrderNo(model.getShipOrderNo()); - item.setCustNo(model.getCustNo()); - item.setCustOrder(model.getCustOrderNo()); - item.setDescription(nowTime); - item.setStgeLoc(item.getAlort()); - item.setSystemSyncStatus(CommonEnumUtil.FALSE); - item.setSystemSyncDatetime(""); - ConvertBean.serviceModelInitialize(item, model.getUserName()); + MesProductOffLine mesProductOffLine = new MesProductOffLine(); + BeanUtils.copyProperties(item, mesProductOffLine, MesExtConstWords.ID); + mesProductOffLine.setReportType(MesExtEnumUtil.REPORT_TYPE.CBR.getValue()); + mesProductOffLine.setOrderNo(model.getShipOrderNo()); + mesProductOffLine.setCustNo(model.getCustNo()); + mesProductOffLine.setCustOrder(model.getCustOrderNo()); + mesProductOffLine.setDescription(nowTime); + mesProductOffLine.setStgeLoc(item.getAlort()); + mesProductOffLine.setSystemSyncStatus(CommonEnumUtil.FALSE); + mesProductOffLine.setSystemSyncDatetime(""); + ConvertBean.serviceModelInitialize(mesProductOffLine, model.getUserName()); + newProductOffLineList.add(mesProductOffLine); }); - return oldProductOffLineList; + return newProductOffLineList; } private List getMesWorkOrderList(Long[] ids, String organizeCode) {