|
@@ -5,10 +5,14 @@ import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.dynamic.datasource.annotation.DSTransactional;
|
|
|
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fjhx.common.constant.SourceConstant;
|
|
|
import com.fjhx.common.utils.Assert;
|
|
|
+import com.fjhx.file.entity.FileInfo;
|
|
|
import com.fjhx.file.entity.ObsFile;
|
|
|
+import com.fjhx.file.service.FileInfoService;
|
|
|
import com.fjhx.file.utils.ObsFileUtil;
|
|
|
import com.fjhx.mes.entity.applicable.po.ApplicableProducts;
|
|
|
import com.fjhx.mes.entity.production.po.ProductionProcesses;
|
|
@@ -33,6 +37,8 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -55,6 +61,8 @@ public class WorkOrderProductionProcessesServiceImpl extends ServiceImpl<WorkOrd
|
|
|
private ApplicableProductsService applicableProductsService;
|
|
|
@Autowired
|
|
|
private TechnologyService technologyService;
|
|
|
+ @Autowired
|
|
|
+ private FileInfoService fileInfoService;
|
|
|
|
|
|
@Override
|
|
|
public WorkOrderVo detail(WorkOrderProductionProcesses dto) {
|
|
@@ -73,11 +81,29 @@ public class WorkOrderProductionProcessesServiceImpl extends ServiceImpl<WorkOrd
|
|
|
List<WorkOrderProductionProcessesVo> workOrderProductionProcessesList0 = BeanUtil.copyToList(productionProcesses, WorkOrderProductionProcessesVo.class);
|
|
|
int i = 0;
|
|
|
Map<Long,Long> newOldIdMap = new HashMap<>();
|
|
|
+
|
|
|
+ //获取基础文件列表
|
|
|
+ List<Long> productionProcessesIds = productionProcesses.stream().map(ProductionProcesses::getId).collect(Collectors.toList());
|
|
|
+ Map<Long, List<FileInfo>> oldFileInfoMap = new HashMap();
|
|
|
+ if(ObjectUtil.isNotEmpty(productionProcessesIds)){
|
|
|
+ DynamicDataSourceContextHolder.push(SourceConstant.BASE);
|
|
|
+ List<FileInfo> oldFileInfoList = fileInfoService.list(q -> q.in(FileInfo::getBusinessId, productionProcessesIds));
|
|
|
+ oldFileInfoList.forEach(item->item.setId(null));
|
|
|
+ oldFileInfoMap = oldFileInfoList.stream().collect(Collectors.groupingBy(FileInfo::getBusinessId));
|
|
|
+ DynamicDataSourceContextHolder.poll();
|
|
|
+ }
|
|
|
+
|
|
|
for (WorkOrderProductionProcessesVo workOrderProductionProcesses : workOrderProductionProcessesList0) {
|
|
|
Long oldId = workOrderProductionProcesses.getId();
|
|
|
Long newId = IdWorker.getId();
|
|
|
newOldIdMap.put(oldId,newId);
|
|
|
|
|
|
+ //将基础工序的文件信息复制一份给新的
|
|
|
+ List<FileInfo> fileInfoList = oldFileInfoMap.get(oldId);
|
|
|
+ List<ObsFile> obsFiles = BeanUtil.copyToList(fileInfoList, ObsFile.class);
|
|
|
+ workOrderProductionProcesses.setFileList(obsFiles);
|
|
|
+
|
|
|
+ //处理id信息
|
|
|
workOrderProductionProcesses.setOldId(oldId);//赋值带过来的id
|
|
|
workOrderProductionProcesses.setId(newId);
|
|
|
workOrderProductionProcesses.setSort(i);
|