“zhuo”
2023-08-11 e72b3ab95aace19535fe596897822f0e334de5d6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
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;
 
/**
 * <p>
 * 审核年度计划表 服务实现类
 * </p>
 *
 * @author 江苏鵷雏网络科技有限公司
 * @since 2023-08-10 11:50:11
 */
@Service
public class CnasAnnualPlanServiceImpl extends ServiceImpl<CnasAnnualPlanMapper, CnasAnnualPlan> implements CnasAnnualPlanService {
 
    @Resource
    private CnasAnnualPlanMapper cnasAnnualPlanMapper;
 
    /**
     * 查询审核计划
     *
     * @return
     */
    @Override
    public IPage<CnasAnnualPlanVo> selectAllList(Page<Object> objectPage, Date planTime) {
        //判断是否有日期
        Integer yearTime = null;
        Integer monthTime = null;
        if (planTime != null) {
            yearTime = DateUtil.year(planTime);
            monthTime = DateUtil.month(planTime) + 2;
        }
        IPage<CnasAnnualPlanVo> 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<CnasAnnualPlan> updateWrapper = new LambdaUpdateWrapper<>();
        updateWrapper.eq(CnasAnnualPlan::getId, planId);
        updateWrapper.set(CnasAnnualPlan::getState, 0);
        return cnasAnnualPlanMapper.update(new CnasAnnualPlan(), updateWrapper);
    }
}