| | |
| | | package com.ruoyi.production.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | 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.ruoyi.common.exception.ServiceException; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.production.dto.ProcessRouteItemDto; |
| | | import com.ruoyi.production.mapper.ProcessRouteItemMapper; |
| | | import com.ruoyi.production.mapper.ProcessRouteItemParamMapper; |
| | | import com.ruoyi.production.pojo.ProcessRouteItem; |
| | | import com.ruoyi.production.pojo.ProcessRouteItemParam; |
| | | import com.ruoyi.production.service.ProcessRouteItemService; |
| | | import com.ruoyi.production.service.ProductMaterialSkuService; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | @Autowired |
| | | private ProcessRouteItemMapper processRouteItemMapper; |
| | | |
| | | @Autowired |
| | | private ProcessRouteItemParamMapper processRouteItemParamMapper; |
| | | |
| | | @Autowired |
| | | private ProductMaterialSkuService productMaterialSkuService; |
| | | |
| | | @Override |
| | | public List<ProcessRouteItemDto> listProcessRouteItemDto(ProcessRouteItemDto processRouteItemDto) { |
| | | return processRouteItemMapper.listProcessRouteItemDto( processRouteItemDto); |
| | |
| | | List<ProcessRouteItem> processRouteItems = processRouteItemMapper.selectList(Wrappers.<ProcessRouteItem>lambdaQuery() |
| | | .eq(ProcessRouteItem::getRouteId, oldProcessRouteItem.getRouteId()) |
| | | .orderByAsc(ProcessRouteItem::getDragSort)); |
| | | //查询被更改的那条数据原来是第几条 |
| | | int oldIndex = processRouteItems.indexOf(oldProcessRouteItem); |
| | | // 获取目标位置(移动到第几个之后) |
| | | Integer targetPosition = processRouteItem.getDragSort(); |
| | | if (targetPosition != null && targetPosition >= 0) { |
| | |
| | | Long routeId = deleteProcessRouteItem.getRouteId(); |
| | | // 删除指定数据 |
| | | processRouteItemMapper.deleteById(id); |
| | | // 删除对应的参数列表 |
| | | processRouteItemParamMapper.delete(new LambdaQueryWrapper<ProcessRouteItemParam>().eq(ProcessRouteItemParam::getRouteItemId,id)); |
| | | |
| | | // 查询该工艺路线的所有工序并按照顺序排序 |
| | | List<ProcessRouteItem> processRouteItems = processRouteItemMapper.selectList(Wrappers.<ProcessRouteItem>lambdaQuery() |
| | | .eq(ProcessRouteItem::getRouteId, routeId) |
| | |
| | | } |
| | | return "删除成功"; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public boolean saveOrUpdateProcess(ProcessRouteItem processRouteItem) { |
| | | if (processRouteItem == null) { |
| | | throw new ServiceException("数据不能为空"); |
| | | } |
| | | if (processRouteItem.getProductModelId() != null) { |
| | | Object product = productMaterialSkuService.getById(processRouteItem.getProductModelId()); |
| | | if (product == null) { |
| | | throw new ServiceException("操作失败:关联的产品(ID:" + processRouteItem.getProductModelId() + ")不存在"); |
| | | } |
| | | } else { |
| | | throw new ServiceException("产品ID不能为空"); |
| | | } |
| | | Long tenantId = SecurityUtils.getLoginUser().getTenantId(); |
| | | processRouteItem.setTenantId(tenantId); |
| | | |
| | | boolean result; |
| | | if (processRouteItem.getId() == null) { |
| | | Long maxSort = processRouteItemMapper.selectCount(Wrappers.<ProcessRouteItem>lambdaQuery().eq(ProcessRouteItem::getRouteId, processRouteItem.getRouteId())); |
| | | processRouteItem.setDragSort((int) (maxSort + 1)); |
| | | |
| | | result = this.save(processRouteItem); |
| | | processRouteItemParamMapper.insertFromProcessTemplate(processRouteItem.getId(), processRouteItem.getProcessId(), tenantId); |
| | | } else { |
| | | result = this.updateById(processRouteItem); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | } |