package com.ruoyi.requier.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.numgen.NumberGenerator; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.requier.dto.InstructionDto; import com.ruoyi.requier.mapper.InstructionMapper; import com.ruoyi.requier.pojo.Instruction; import com.ruoyi.requier.service.InstructionService; import com.ruoyi.requier.service.OperationInstructionService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.Date; import java.util.Locale; import java.util.Map; /** *

* 作业指导书添加受控文件表 服务实现类 *

* * @author 芯导软件(江苏)有限公司 * @since 2024-12-04 10:29:18 */ @Service @Transactional(rollbackFor = Exception.class) public class InstructionServiceImpl extends ServiceImpl implements InstructionService { @Autowired private OperationInstructionService operationInstructionService; @Autowired private NumberGenerator numberGenerator; @Override public IPage pageByPageQueryOfHomeworkInstructions(Page page) { return baseMapper.pageByPageQueryOfHomeworkInstructions(page); } @Override public void newHomeworkGuidebookAdded(InstructionDto instructionDto) { if (ObjectUtils.isEmpty(instructionDto.getApplicationNumber())) { String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); String day = new SimpleDateFormat("dd", Locale.CHINESE).format(new Date()); String processNumber = numberGenerator.generateNumberWithPrefix(3, "WJSK" + year + month + day, Instruction::getApplicationNumber); instructionDto.setApplicationNumber(processNumber); } saveOrUpdate(instructionDto); if (ObjectUtils.isNotEmpty(instructionDto.getFeTempHumRecordList())) { instructionDto.getFeTempHumRecordList().forEach(i -> { i.setInstructionId(instructionDto.getId()); i.setUploader(SecurityUtils.getUserId().intValue()); i.setUpdateTime(LocalDateTime.now()); }); operationInstructionService.saveOrUpdateBatch(instructionDto.getFeTempHumRecordList()); } } }