package com.yuanchu.mom.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.yuanchu.mom.common.GetLook; import com.yuanchu.mom.dto.InstructionDto; import com.yuanchu.mom.dto.OperationInstructionDto; import com.yuanchu.mom.mapper.InstructionMapper; import com.yuanchu.mom.numgen.NumberGenerator; import com.yuanchu.mom.pojo.Instruction; import com.yuanchu.mom.service.InstructionService; import com.yuanchu.mom.service.OperationInstructionService; import com.yuanchu.mom.utils.QueryWrappers; 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; @Autowired private GetLook getLook; @Override public IPage pageByPageQueryOfHomeworkInstructions(Page page, OperationInstructionDto operationInstructionDto) { return baseMapper.pageByPageQueryOfHomeworkInstructions(page, QueryWrappers.queryWrappers(operationInstructionDto)); } @Override public void newHomeworkGuidebookAdded(InstructionDto instructionDto) { Map map1 = getLook.selectPowerByMethodAndUserId(null); 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(map1.get("userId")); i.setUpdateTime(LocalDateTime.now()); }); operationInstructionService.saveOrUpdateBatch(instructionDto.getFeTempHumRecordList()); } } }