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