| | |
| | | package com.yuanchu.mom.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.yuanchu.mom.mapper.TechniqueMapper; |
| | | import com.yuanchu.mom.mapper.TechnologyMapper; |
| | | import com.yuanchu.mom.pojo.Product; |
| | | import com.yuanchu.mom.pojo.dto.ProductDto; |
| | | import com.yuanchu.mom.service.ProductService; |
| | | import com.yuanchu.mom.mapper.ProductMapper; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * @author Administrator |
| | | * @description 针对表【product】的数据库操作Service实现 |
| | | * @createDate 2023-07-26 16:00:44 |
| | | */ |
| | | * @author Administrator |
| | | * @description 针对表【product】的数据库操作Service实现 |
| | | * @createDate 2023-07-26 16:00:44 |
| | | */ |
| | | @Service |
| | | public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService{ |
| | | public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService { |
| | | |
| | | @Resource |
| | | private ProductMapper productMapper; |
| | | |
| | | @Override |
| | | public List<ProductDto> selectTreeProduct(String specifications, String project) { |
| | | return productMapper.selectTreeProduct(specifications, project); |
| | | } |
| | | @Resource |
| | | TechnologyMapper technologyMapper; |
| | | |
| | | @Resource |
| | | TechniqueMapper techniqueMapper; |
| | | |
| | | //根据型号id查询项目(技术指标) |
| | | @Override |
| | | public List<Map<String, Object>> selectProductList(Integer specificationsId) { |
| | | LambdaQueryWrapper<Product> wrapper = new LambdaQueryWrapper<>(); |
| | | wrapper.eq(Product::getSpecificationsId, specificationsId); |
| | | wrapper.select(Product::getName, Product::getFather, Product::getRequired, Product::getInternal, Product::getUnit); |
| | | return productMapper.selectMaps(wrapper); |
| | | return productMapper.selectProductList(specificationsId); |
| | | } |
| | | |
| | | //根据型号id查询所有版本 |
| | | @Override |
| | | public List<Integer> selectVerByPro(Integer specificationsId) { |
| | | return productMapper.selectVerByPro(specificationsId); |
| | | } |
| | | |
| | | //右侧数据展示-->技术指标(检验项目) |
| | | @Override |
| | | public List<Map<String, Object>> selectAllPro(Integer specificationsId, Integer version, String message) { |
| | | return productMapper.selectAllPro(specificationsId, version, message); |
| | | } |
| | | |
| | | //右上角新增-->技术指标-->选择工序,工艺 |
| | | @Override |
| | | public List<Map<String, Object>> chooseTech(Integer specificationsId, Integer version) { |
| | | return technologyMapper.chooseTech(specificationsId, version); |
| | | } |
| | | |
| | | //右上角新增-->技术指标-->选择项目父类 |
| | | @Override |
| | | public List<Map<String, Object>> chooseFather(Integer technologyId) { |
| | | return productMapper.chooseFather(technologyId); |
| | | } |
| | | |
| | | //右上角新增-->技术指标 |
| | | @Override |
| | | public String addProduct(ProductDto productDto) { |
| | | Product product = new Product(); |
| | | String required = productDto.getRequired(); |
| | | String internal = productDto.getInternal(); |
| | | if (ObjectUtils.isNotEmpty(required)) { |
| | | char requ = required.charAt(0); |
| | | if (requ != '>' && requ != '<' && requ != '=') { |
| | | return "标准值输入格式有问题!"; |
| | | } |
| | | } |
| | | if (ObjectUtils.isNotEmpty(internal)) { |
| | | char inter = internal.charAt(0); |
| | | if (inter != '>' && inter != '<' && inter != '=') { |
| | | return "内控值输入格式有问题!"; |
| | | } |
| | | } |
| | | BeanUtils.copyProperties(productDto, product); |
| | | productMapper.insert(product); |
| | | return "新增成功!"; |
| | | } |
| | | |
| | | //填写标准值与内控值,鼠标移开保存 |
| | | @Override |
| | | public String write(Integer id, String required, String internal) { |
| | | //校验标准值,内控值格式 |
| | | if (ObjectUtils.isNotEmpty(internal)) { |
| | | char inter = internal.charAt(0); |
| | | if (inter != '>' && inter != '<' && inter != '=') { |
| | | return "内控值输入格式有问题!"; |
| | | } |
| | | } |
| | | if (ObjectUtils.isNotEmpty(required)) { |
| | | char requ = required.charAt(0); |
| | | if (requ != '>' && requ != '<' && requ != '=') { |
| | | return "标准值输入格式有问题!"; |
| | | } |
| | | } |
| | | Product product = new Product(); |
| | | product.setId(id); |
| | | product.setRequired(required); |
| | | product.setInternal(internal); |
| | | productMapper.updateById(product); |
| | | return "保存成功!"; |
| | | } |
| | | |
| | | //删除 |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void delProById(Integer id) { |
| | | //删除技术指标 |
| | | Product product = new Product(); |
| | | product.setId(id); |
| | | product.setState(0); |
| | | productMapper.updateById(product); |
| | | //删除生产工艺 |
| | | techniqueMapper.delByProId(id); |
| | | } |
| | | |
| | | //批量删除 |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void delAllPro(String ids) { |
| | | //批量删除技术指标 |
| | | productMapper.delAllPro(ids); |
| | | //删除生产工艺 |
| | | techniqueMapper.delAll(ids); |
| | | } |
| | | |
| | | //查询标准BOM技术指标中该型号工艺下最新版本的检验项目 |
| | | @Override |
| | | public List<Product> selProByVerSpe(Integer technologyId) { |
| | | return productMapper.selProByVerSpe(technologyId); |
| | | } |
| | | } |
| | | |