package org.jeecg.modules.eam.service.impl; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.common.constant.CommonConstant; import org.jeecg.modules.eam.constant.MaintenanceStatusEnum; import org.jeecg.modules.eam.constant.OrderCreationMethodEnum; import org.jeecg.modules.eam.entity.EamWeekMaintenanceOrder; import org.jeecg.modules.eam.mapper.EamWeekMaintenanceOrderMapper; import org.jeecg.modules.eam.request.EamWeekMaintenanceRequest; import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderDetailService; import org.jeecg.modules.eam.service.IEamWeekMaintenanceOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; /** * @Description: 周保工单 * @Author: jeecg-boot * @Date: 2025-04-02 * @Version: V1.0 */ @Service public class EamWeekMaintenanceOrderServiceImpl extends ServiceImpl implements IEamWeekMaintenanceOrderService { @Resource private EamWeekMaintenanceOrderMapper eamWeekMaintenanceOrderMapper; @Autowired private IEamWeekMaintenanceOrderDetailService eamWeekMaintenanceOrderDetailService; @Override @Transactional(rollbackFor = Exception.class) public boolean addWeekMaintenance(EamWeekMaintenanceRequest request) { EamWeekMaintenanceOrder order = new EamWeekMaintenanceOrder(); order.setOrderNum(request.getOrderNum()); order.setEquipmentId(request.getEquipmentId()); order.setStandardId(request.getStandardId()); order.setMaintenanceDate(request.getMaintenanceDate()); order.setOperator(request.getOperator()); order.setRemark(request.getRemark()); //状态初始化 order.setMaintenanceStatus(MaintenanceStatusEnum.WAIT_MAINTENANCE.name()); order.setCreationMethod(OrderCreationMethodEnum.MANUAL.name()); //删除标记 order.setDelFlag(CommonConstant.DEL_FLAG_0); eamWeekMaintenanceOrderMapper.insert(order); //处理明细数据 if(CollectionUtil.isNotEmpty(request.getTableDetailList())) { request.getTableDetailList().forEach(tableDetail -> { tableDetail.setOrderId(order.getId()); }); eamWeekMaintenanceOrderDetailService.saveBatch(request.getTableDetailList()); } return true; } }