yangys
5 天以前 44fda5fa3787c78e74d62f9713dd36abdeadcac8
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
93
94
95
96
97
98
99
package org.springblade.mdm.program.service;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.base.BizServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.oss.OssTemplate;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.flow.service.CureFlowService;
import org.springblade.mdm.program.entity.DncBackFile;
import org.springblade.mdm.program.entity.NcProgram;
import org.springblade.mdm.program.mapper.DncBackFileMapper;
import org.springblade.mdm.program.vo.DncBackFileQueryVO;
import org.springblade.mdm.program.vo.DncBackFileVO;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
@AllArgsConstructor
@Service
public class DncBackFileService extends BizServiceImpl<DncBackFileMapper, DncBackFile> {
    private final NcProgramService progService;
    private final OssTemplate ossTemplate;
 
    private final CureFlowService cureFlowService;
    /**
     * 接受
     * @param ids
     */
    public void accept(String ids) {
 
        List<Long> idList = Func.toLongList(ids);
 
        for(Long id : idList){
            DncBackFile backFile = this.getById(id);
            backFile.setStatus(DncBackFile.STATUS_ACCEPTED);
            backFile.setConfirmTime(DateUtil.now());
            this.updateById(backFile);
 
            //新建一个程序,将老的程序isLastEditon设置未0,然后启动流程
            this.upgradeProgramAndStartCure(backFile.getNcProgramId(),backFile);
        }
    }
 
    void upgradeProgramAndStartCure(long ncProgramId,DncBackFile backFile) {
        NcProgram oldProgram = this.progService.getById(ncProgramId);
        //更新文件信息
        oldProgram.setOssName(backFile.getOssName());
        oldProgram.setUrl(backFile.getUrl());
        //TODO,是否删除原来的文件?
        progService.updateById(oldProgram);
        /*
        NcProgram newProgram = new NcProgram();
        BeanUtils.copyProperties(oldProgram,newProgram);
 
        oldProgram.setIsLastEdition(0);
        progService.updateById(oldProgram);
 
        newProgram.setId(null);
        newProgram.setIsLastEdition(1);
        progService.updateById(newProgram);
 
         */
 
        cureFlowService.startOne(oldProgram);//启动一个程序的固化流程
    }
 
    /**
     * 拒绝
     * @param ids
     */
    public void reject(String ids) {
        List<Long> idList = Func.toLongList(ids);
 
        for(Long id : idList){
            DncBackFile backFile = this.getById(id);
            backFile.setStatus(DncBackFile.STATUS_REJECTED);
            backFile.setConfirmTime(DateUtil.now());
            this.ossTemplate.removeFile(backFile.getOssName());
            this.updateById(backFile);
        }
 
    }
 
    /**
     * DNC回传程序处理分页查询
     * @param query 查询参数
     * @return 分页数据
     */
    public IPage<DncBackFileVO> pageQuery(DncBackFileQueryVO query) {
        /*
        IPage<DncBackFileVO> page = this.getBaseMapper().pageQuery(Condition.getPage(query),query);
        */
        return this.getBaseMapper().pageQuery(Condition.getPage(query),query);
    }
 
}