|
@@ -1,26 +1,26 @@
|
|
|
package com.fjhx.mes.service.technology.impl;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fjhx.common.constant.SourceConstant;
|
|
|
import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.mes.entity.applicable.po.ApplicableProducts;
|
|
|
import com.fjhx.mes.entity.production.po.ProductionProcesses;
|
|
|
+import com.fjhx.mes.entity.technology.dto.TechnologyDto;
|
|
|
+import com.fjhx.mes.entity.technology.dto.TechnologySelectDto;
|
|
|
import com.fjhx.mes.entity.technology.po.Technology;
|
|
|
+import com.fjhx.mes.entity.technology.vo.TechnologyVo;
|
|
|
import com.fjhx.mes.mapper.technology.TechnologyMapper;
|
|
|
import com.fjhx.mes.service.applicable.ApplicableProductsService;
|
|
|
import com.fjhx.mes.service.production.ProductionProcessesService;
|
|
|
import com.fjhx.mes.service.technology.TechnologyService;
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
-import com.fjhx.mes.entity.technology.vo.TechnologyVo;
|
|
|
-import com.fjhx.mes.entity.technology.dto.TechnologySelectDto;
|
|
|
-import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
-import com.fjhx.mes.entity.technology.dto.TechnologyDto;
|
|
|
-import cn.hutool.core.bean.BeanUtil;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
@@ -28,7 +28,6 @@ import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
|
-import java.util.stream.Stream;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -60,52 +59,54 @@ public class TechnologyServiceImpl extends ServiceImpl<TechnologyMapper, Technol
|
|
|
List<TechnologyVo> records = page.getRecords();
|
|
|
//获取所有适用商品列表
|
|
|
List<Long> technologyIds = records.stream().map(TechnologyVo::getId).collect(Collectors.toList());
|
|
|
- if(ObjectUtil.isNotEmpty(technologyIds)) {
|
|
|
+ if (ObjectUtil.isNotEmpty(technologyIds)) {
|
|
|
List<ApplicableProducts> applicableProductsList = applicableProductsService.list(q -> q.in(ApplicableProducts::getTechnologyId, technologyIds));
|
|
|
List<Long> productsIds = applicableProductsList.stream().map(ApplicableProducts::getProductId).collect(Collectors.toList());
|
|
|
- List<ProductInfo> productInfos = productInfoService.listByIds(productsIds);
|
|
|
- Map<Long, ProductInfo> productInfoMap = productInfos.stream().collect(Collectors.groupingBy(ProductInfo::getId, Collectors.collectingAndThen(Collectors.toList(), item -> item.get(0))));
|
|
|
- Map<Long, List<ApplicableProducts>> applicableProductsMap = applicableProductsList.stream().collect(Collectors.groupingBy(ApplicableProducts::getTechnologyId));
|
|
|
- for (TechnologyVo technologyVo : records) {
|
|
|
- //处理适用产品列表
|
|
|
- List<String> productNameList = new ArrayList<>();
|
|
|
- List<ApplicableProducts> applicableProductsList1 = applicableProductsMap.get(technologyVo.getId());
|
|
|
- for (ApplicableProducts applicableProducts : applicableProductsList1) {
|
|
|
- ProductInfo productInfo = productInfoMap.get(applicableProducts.getProductId());
|
|
|
- if(ObjectUtil.isNotEmpty(productInfo)) {
|
|
|
- productNameList.add(productInfo.getName());
|
|
|
- }else{
|
|
|
- productNameList.add("未知商品:"+applicableProducts.getProductId());
|
|
|
+ if (ObjectUtil.isNotEmpty(productsIds)) {
|
|
|
+ List<ProductInfo> productInfos = productInfoService.listByIds(productsIds);
|
|
|
+ Map<Long, ProductInfo> productInfoMap = productInfos.stream().collect(Collectors.groupingBy(ProductInfo::getId, Collectors.collectingAndThen(Collectors.toList(), item -> item.get(0))));
|
|
|
+ Map<Long, List<ApplicableProducts>> applicableProductsMap = applicableProductsList.stream().collect(Collectors.groupingBy(ApplicableProducts::getTechnologyId));
|
|
|
+ for (TechnologyVo technologyVo : records) {
|
|
|
+ //处理适用产品列表
|
|
|
+ List<String> productNameList = new ArrayList<>();
|
|
|
+ List<ApplicableProducts> applicableProductsList1 = applicableProductsMap.get(technologyVo.getId());
|
|
|
+ for (ApplicableProducts applicableProducts : applicableProductsList1) {
|
|
|
+ ProductInfo productInfo = productInfoMap.get(applicableProducts.getProductId());
|
|
|
+ if (ObjectUtil.isNotEmpty(productInfo)) {
|
|
|
+ productNameList.add(productInfo.getName());
|
|
|
+ } else {
|
|
|
+ productNameList.add("未知商品:" + applicableProducts.getProductId());
|
|
|
+ }
|
|
|
}
|
|
|
+ technologyVo.setApplicableProductsNameList(productNameList);
|
|
|
}
|
|
|
- technologyVo.setApplicableProductsNameList(productNameList);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//获取所有的工艺线路
|
|
|
List<String> processRouteIdList = new ArrayList<>();
|
|
|
List<String> processRoutes = records.stream().map(TechnologyVo::getProcessRoute).collect(Collectors.toList());
|
|
|
- for (String processRoute : processRoutes){
|
|
|
- if(ObjectUtil.isNotEmpty(processRoute)) {
|
|
|
+ for (String processRoute : processRoutes) {
|
|
|
+ if (ObjectUtil.isNotEmpty(processRoute)) {
|
|
|
List<String> processRouteIds = Arrays.asList(processRoute.split(","));
|
|
|
processRouteIdList.addAll(processRouteIds);
|
|
|
}
|
|
|
}
|
|
|
- if(ObjectUtil.isNotEmpty(processRouteIdList)) {
|
|
|
+ if (ObjectUtil.isNotEmpty(processRouteIdList)) {
|
|
|
//查出所有工序信息
|
|
|
List<ProductionProcesses> productionProcessesList = productionProcessesService.listByIds(processRouteIdList);
|
|
|
//根据工序id分组
|
|
|
Map<Long, ProductionProcesses> productionProcessesMap = productionProcessesList.stream().distinct().collect(Collectors.groupingBy(ProductionProcesses::getId, Collectors.collectingAndThen(Collectors.toList(), item -> item.get(0))));
|
|
|
for (TechnologyVo technologyVo : records) {
|
|
|
- if(ObjectUtil.isNotEmpty(technologyVo.getProcessRoute())) {
|
|
|
+ if (ObjectUtil.isNotEmpty(technologyVo.getProcessRoute())) {
|
|
|
List<String> arr = new ArrayList<>();
|
|
|
List<String> processRouteIds = Arrays.asList(technologyVo.getProcessRoute().split(","));
|
|
|
for (String processRouteId : processRouteIds) {
|
|
|
ProductionProcesses productionProcesses = productionProcessesMap.get(Long.parseLong(processRouteId));
|
|
|
- if(ObjectUtil.isNotEmpty(productionProcesses)) {
|
|
|
+ if (ObjectUtil.isNotEmpty(productionProcesses)) {
|
|
|
arr.add(productionProcesses.getName());
|
|
|
- }else{
|
|
|
- arr.add("未知工序:"+processRouteId);
|
|
|
+ } else {
|
|
|
+ arr.add("未知工序:" + processRouteId);
|
|
|
}
|
|
|
}
|
|
|
technologyVo.setProcessRouteNameList(arr);
|
|
@@ -129,10 +130,10 @@ public class TechnologyServiceImpl extends ServiceImpl<TechnologyMapper, Technol
|
|
|
List<ProductionProcesses> productionProcessesList = productionProcessesService.listByIds(processRouteIds);
|
|
|
Map<Long, ProductionProcesses> productionProcessesMap = productionProcessesList.stream()
|
|
|
.collect(Collectors.groupingBy(ProductionProcesses::getId,
|
|
|
- Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
|
|
|
+ Collectors.collectingAndThen(Collectors.toList(), value -> value.get(0))));
|
|
|
//对工艺线路排序必须按照前端提交的顺序排序
|
|
|
List<ProductionProcesses> newProductionProcessesList = new ArrayList<>();
|
|
|
- for (String processRouteId : processRouteIds){
|
|
|
+ for (String processRouteId : processRouteIds) {
|
|
|
newProductionProcessesList.add(productionProcessesMap.get(Long.parseLong(processRouteId)));
|
|
|
}
|
|
|
result.setProcessRouteList(newProductionProcessesList);
|
|
@@ -146,7 +147,7 @@ public class TechnologyServiceImpl extends ServiceImpl<TechnologyMapper, Technol
|
|
|
technologyDto.setProcessRoute(join);
|
|
|
this.save(technologyDto);
|
|
|
List<ApplicableProducts> productList = technologyDto.getProductList();
|
|
|
- for (ApplicableProducts applicableProducts : productList){
|
|
|
+ for (ApplicableProducts applicableProducts : productList) {
|
|
|
applicableProducts.setTechnologyId(technologyDto.getId());
|
|
|
}
|
|
|
applicableProductsService.saveBatch(productList);
|
|
@@ -159,8 +160,8 @@ public class TechnologyServiceImpl extends ServiceImpl<TechnologyMapper, Technol
|
|
|
technologyDto.setProcessRoute(join);
|
|
|
this.updateById(technologyDto);
|
|
|
List<ApplicableProducts> productList = technologyDto.getProductList();
|
|
|
- applicableProductsService.remove(q->q.eq(ApplicableProducts::getTechnologyId,technologyDto.getId()));
|
|
|
- for (ApplicableProducts applicableProducts : productList){
|
|
|
+ applicableProductsService.remove(q -> q.eq(ApplicableProducts::getTechnologyId, technologyDto.getId()));
|
|
|
+ for (ApplicableProducts applicableProducts : productList) {
|
|
|
applicableProducts.setTechnologyId(technologyDto.getId());
|
|
|
}
|
|
|
applicableProductsService.saveBatch(productList);
|
|
@@ -170,7 +171,7 @@ public class TechnologyServiceImpl extends ServiceImpl<TechnologyMapper, Technol
|
|
|
@Override
|
|
|
public void delete(Long id) {
|
|
|
this.removeById(id);
|
|
|
- applicableProductsService.remove(q->q.eq(ApplicableProducts::getTechnologyId,id));
|
|
|
+ applicableProductsService.remove(q -> q.eq(ApplicableProducts::getTechnologyId, id));
|
|
|
}
|
|
|
|
|
|
}
|