package org.jeecg.modules.mes.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.common.constant.CommonConstant; import org.jeecg.modules.mdc.util.DateUtils; import org.jeecg.modules.mes.entity.MesProductionOrder; import org.jeecg.modules.mes.mapper.MesProductionOrderMapper; import org.jeecg.modules.mes.service.IMesProductionOrderService; import org.jeecg.modules.sap.dto.ProductionOrderDTO; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; /** * @Description: SAP生产订单 * @Author: jeecg-boot * @Date: 2025-07-04 * @Version: V1.0 */ @Service public class MesProductionOrderServiceImpl extends ServiceImpl implements IMesProductionOrderService { @Override @Transactional(rollbackFor = Exception.class) public Map saveOrUpdateProductionOrder(List productionOrderDTOList) { Map resultMap = new HashMap<>(); for (ProductionOrderDTO productionOrderDTO : productionOrderDTOList) { MesProductionOrder updated = getByOrderCode(productionOrderDTO.getAUFNR()); if (updated == null) { updated = new MesProductionOrder(productionOrderDTO); resultMap.put(updated.getOrderCode(), updated); this.getBaseMapper().insert(updated); } else { updated.updateEntity(productionOrderDTO); resultMap.put(updated.getOrderCode(), updated); this.getBaseMapper().updateById(updated); } } return resultMap; } @Override public MesProductionOrder getByOrderCode(String orderCode) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(MesProductionOrder::getOrderCode, orderCode); queryWrapper.eq(MesProductionOrder::getDelFlag, CommonConstant.DEL_FLAG_0); List list = super.list(queryWrapper); if (CollectionUtil.isNotEmpty(list)) { return list.get(0); } return null; } @Override public String getLastSyncCreateDate() { String lastSyncDate = this.getBaseMapper().getLastSyncCreateDate(); if(lastSyncDate == null){ return null; } return lastSyncDate.replaceAll("-", ""); } @Override public String getLastSyncUpdateDate() { String lastSyncDate = this.getBaseMapper().getLastSyncUpdateDate(); if(lastSyncDate == null){ return null; } return lastSyncDate.replaceAll("-", ""); } }