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());
}
}
}