package com.yuanchu.limslaboratory.service.impl; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yuanchu.limslaboratory.pojo.CnasAnnualPlan; import com.yuanchu.limslaboratory.mapper.CnasAnnualPlanMapper; import com.yuanchu.limslaboratory.pojo.vo.CnasAnnualPlanVo; import com.yuanchu.limslaboratory.service.CnasAnnualPlanService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.util.Date; /** *

* 审核年度计划表 服务实现类 *

* * @author 江苏鵷雏网络科技有限公司 * @since 2023-08-10 11:50:11 */ @Service public class CnasAnnualPlanServiceImpl extends ServiceImpl implements CnasAnnualPlanService { @Resource private CnasAnnualPlanMapper cnasAnnualPlanMapper; /** * 查询审核计划 * * @return */ @Override public IPage selectAllList(Page objectPage, Date planTime) { //判断是否有日期 Integer yearTime = null; Integer monthTime = null; if (planTime != null) { yearTime = DateUtil.year(planTime); monthTime = DateUtil.month(planTime) + 2; } IPage page = cnasAnnualPlanMapper.selectAllList(objectPage, yearTime, monthTime); page.getRecords().forEach(cnasAnnualPlanVo -> { //获取计划时间 Date time = cnasAnnualPlanVo.getPlanTime(); //添加年月 cnasAnnualPlanVo.setYear(DateUtil.year(time)); cnasAnnualPlanVo.setMonth(DateUtil.month(time) + 1); //判断审核状态 //获取当前时间 Date nowDate = new Date(); //获取当前的年月 int year = DateUtil.year(nowDate); int month = DateUtil.month(nowDate) + 1; if (cnasAnnualPlanVo.getAuditTime() == null && month > cnasAnnualPlanVo.getMonth() || year > cnasAnnualPlanVo.getYear()) { cnasAnnualPlanVo.setAuditState(2); } else if (cnasAnnualPlanVo.getAuditTime() != null) { cnasAnnualPlanVo.setAuditState(1); } else { cnasAnnualPlanVo.setAuditState(0); } }); return page; } /** * 上传附件 */ @Override public void addAccessory(String name, Date auditTime, MultipartFile file) { //todo: 上传附件未完成 } /** * 删除年度计划 * * @return */ @Override public Integer deleteCnasAnnualPlan(Integer planId) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(CnasAnnualPlan::getId, planId); updateWrapper.set(CnasAnnualPlan::getState, 0); return cnasAnnualPlanMapper.update(new CnasAnnualPlan(), updateWrapper); } }