package com.yuanchu.mom.service.impl;
|
|
import com.baomidou.mybatisplus.annotation.TableField;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.yuanchu.mom.mapper.*;
|
import com.yuanchu.mom.pojo.ElementTechnology;
|
import com.yuanchu.mom.pojo.TechnologyTemplate;
|
import com.yuanchu.mom.pojo.dto.TechnologyTemplateDto;
|
import com.yuanchu.mom.service.ElementTechnologyService;
|
import com.yuanchu.mom.service.TechnologyTemplateService;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import java.util.Arrays;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.stream.Collectors;
|
|
/**
|
* 工艺路线维护表(TechnologyTemplate)表服务实现类
|
*
|
* @author zss
|
* @since 2023-08-18 16:59:14
|
*/
|
@Service
|
public class TechnologyTemplateServiceImpl extends ServiceImpl<TechnologyTemplateMapper, TechnologyTemplate> implements TechnologyTemplateService {
|
|
@Resource
|
TechnologyTemplateMapper technologyTemplateMapper;
|
|
@Resource
|
DeviceMapper deviceMapper;
|
|
@Resource
|
ElementMapper elementMapper;
|
|
@Resource
|
ElementTechnologyService elementTechnologyService;
|
|
@Resource
|
TechnicalModelMapper technicalModelMapper;
|
|
|
//新增工艺路线-->选择设备组
|
@Override
|
public List<Map<String, Object>> chooseDevGroup() {
|
return deviceMapper.chooseDevGroup();
|
}
|
|
//新增工艺路线-->选择工序
|
@Override
|
public List<String> chooseTech() {
|
return technologyTemplateMapper.chooseTech();
|
}
|
|
//新增工艺路线-->选择元件
|
@Override
|
public List<Map<String, Object>> chooseElement() {
|
return elementMapper.chooseElement();
|
}
|
|
//新增工艺路线
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void addTechTemp(TechnologyTemplateDto technologyTemplateDto) {
|
/*新增工艺*/
|
TechnologyTemplate technologyTemplate = new TechnologyTemplate();
|
BeanUtils.copyProperties(technologyTemplateDto, technologyTemplate);
|
technologyTemplateMapper.insert(technologyTemplate);
|
/*新增工艺元件中间表*/
|
String[] split = technologyTemplateDto.getElementId().split(",");
|
List<ElementTechnology> elementTechnologies = Arrays.stream(split).map(s -> {
|
ElementTechnology elementTechnology = new ElementTechnology();
|
elementTechnology.setTechTemId(technologyTemplate.getId());
|
elementTechnology.setElementId(Integer.parseInt(s));
|
return elementTechnology;
|
}).collect(Collectors.toList());
|
elementTechnologyService.saveBatch(elementTechnologies);
|
}
|
|
//查询工艺路线列表-->左边二级展示
|
@Override
|
public List<Map<String, Object>> selectAllTechTem(Integer type, String message) {
|
return technologyTemplateMapper.selectAllTechTem(type, message);
|
}
|
|
//查询工艺路线列表-->右边展示工艺和设备
|
@Override
|
public List<Map<String, Object>> selectAllTechNam(String father) {
|
return technologyTemplateMapper.selectAllTechNam(father);
|
}
|
|
//根据id查看详情
|
@Override
|
public List<Map<String, Object>> selecTechById(Integer id) {
|
return technologyTemplateMapper.selecTechById(id);
|
}
|
|
//编辑 (工艺id)
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void writeTechById(Integer id, TechnologyTemplateDto technologyTemplateDto) {
|
/*工艺表更新*/
|
TechnologyTemplate technologyTemplate = new TechnologyTemplate();
|
BeanUtils.copyProperties(technologyTemplateDto, technologyTemplate);
|
technologyTemplate.setId(id);
|
technologyTemplateMapper.updateById(technologyTemplate);
|
/*更改中间表*/
|
//批量删除原有的中间表(根据工序id)
|
elementTechnologyService.delElemaByTechsId(id);
|
//批量添加中间表
|
String[] split = technologyTemplateDto.getElementId().split(",");
|
List<ElementTechnology> elementTechnologies = Arrays.stream(split).map(s -> {
|
ElementTechnology elementTechnology = new ElementTechnology();
|
elementTechnology.setTechTemId(technologyTemplate.getId());
|
elementTechnology.setElementId(Integer.parseInt(s));
|
return elementTechnology;
|
}).collect(Collectors.toList());
|
elementTechnologyService.saveBatch(elementTechnologies);
|
}
|
|
//删除(工艺路线id)
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void delTechById(Integer id) {
|
//删除工艺表
|
TechnologyTemplate technologyTemplate = new TechnologyTemplate();
|
technologyTemplate.setId(id).setState(0);
|
technologyTemplateMapper.updateById(technologyTemplate);
|
//删除中间表
|
elementTechnologyService.delElemaByTechsId(id);
|
//删除技术指标维护表
|
technicalModelMapper.delTeMoByTechId(id);
|
//todo:删除未完待续
|
}
|
|
//批量删除
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void delAllTech(String ids) {
|
//批量删除工艺表
|
technologyTemplateMapper.delAllTech(ids);
|
//批量删除中间表
|
elementTechnologyService.delAllByTechId(ids);
|
//批量删除指标维护表
|
technicalModelMapper.delAllByTechId(ids);
|
}
|
}
|