|
@@ -275,18 +275,11 @@ public class BizDayworkController extends BaseController {
|
|
|
/* ****************************** 获取与 daywork 相关的所有批次,为了获取每个批次中的投产数 ****************************** */
|
|
|
// 直接通过daywork中的 technological_process_id 组成的集合,获取到对应的批次工艺工序清单,解决【正常】与【异常】冲突的问题
|
|
|
List<Long> allTechnologicalProcessIds = dayworkList.stream().map(BizDaywork::getTechnologicalProcessId).collect(Collectors.toList());
|
|
|
- List<BizLotTechnologicalProcess> allLotTechnologicalProcesses = bizLotTechnologicalProcessService.query()
|
|
|
- .in("id", allTechnologicalProcessIds)
|
|
|
- .eq("is_stop", 0)
|
|
|
- .list();
|
|
|
|
|
|
- List<Long> allWastRecyclingIds = allLotTechnologicalProcesses.stream().map(BizLotTechnologicalProcess::getId).collect(Collectors.toList());
|
|
|
List<BizLotTechnologicalProcessDetail> allLotTechnologicalDetails = new ArrayList<>();
|
|
|
- if (!allWastRecyclingIds.isEmpty()) {
|
|
|
- allLotTechnologicalDetails = bizLotTechnologicalProcessDetailService.query()
|
|
|
- .in("lot_technological_process_id", allWastRecyclingIds)
|
|
|
- .list();
|
|
|
- }
|
|
|
+ allLotTechnologicalDetails = bizLotTechnologicalProcessDetailService.query()
|
|
|
+ .in("lot_technological_process_id", allTechnologicalProcessIds)
|
|
|
+ .list();
|
|
|
List<BizLotTechnologicalProcessDetail> technologicalDetailList = new ArrayList<>();
|
|
|
|
|
|
/* ****************************** 获取 daywork 与 【材质】相关 ****************************** */
|
|
@@ -352,23 +345,17 @@ public class BizDayworkController extends BaseController {
|
|
|
if (daywork.getIsAmend() == 1 || daywork.getIsWasteRecycling() == 1) {
|
|
|
//如果是废品回用,则它的工序从biz_technology_waste_recycling表查
|
|
|
//拿到对应工艺id
|
|
|
- BizLotTechnologicalProcess lotTechnological = allLotTechnologicalProcesses.stream()
|
|
|
- .filter(twr -> twr.getId().equals(daywork.getTechnologicalProcessId()))
|
|
|
- .findFirst()
|
|
|
- .orElse(null);
|
|
|
- if (lotTechnological != null) {
|
|
|
- //废品回用的工序
|
|
|
- List<BizLotTechnologicalProcessDetail> lotTechnologicalDetails = allLotTechnologicalDetails.stream()
|
|
|
- .filter(twrd -> twrd.getLotTechnologicalProcessId().equals(lotTechnological.getId()))
|
|
|
- .collect(Collectors.toList());
|
|
|
- // 将符合条件的所有工序清单中的工序id(process_id),整合到一个List集合中
|
|
|
- processIds = lotTechnologicalDetails.stream()
|
|
|
- .map(BizLotTechnologicalProcessDetail::getProcessId)
|
|
|
- .collect(Collectors.toList());
|
|
|
- List<Long> tempProcessIds = processIds;
|
|
|
- // 根据得到的工序id集合,获得相对应的工序集合
|
|
|
- technologicalDetailList = allLotTechnologicalDetails.stream().filter(ap -> tempProcessIds.contains(ap.getProcessId())).collect(Collectors.toList());
|
|
|
- }
|
|
|
+ //废品回用的工序
|
|
|
+ List<BizLotTechnologicalProcessDetail> lotTechnologicalDetails = allLotTechnologicalDetails.stream()
|
|
|
+ .filter(twrd -> twrd.getLotTechnologicalProcessId().equals(daywork.getTechnologicalProcessId()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ // 将符合条件的所有工序清单中的工序id(process_id),整合到一个List集合中
|
|
|
+ processIds = lotTechnologicalDetails.stream()
|
|
|
+ .map(BizLotTechnologicalProcessDetail::getProcessId)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ List<Long> tempProcessIds = processIds;
|
|
|
+ // 根据得到的工序id集合,获得相对应的工序集合
|
|
|
+ technologicalDetailList = allLotTechnologicalDetails.stream().filter(ap -> tempProcessIds.contains(ap.getProcessId())).collect(Collectors.toList());
|
|
|
}
|
|
|
// daywork_item的status > 4,表示已经离开当前工段,至少是周转中的状态
|
|
|
List<BizDayworkItem> finishedTempDayworkItems = tempDayworkItems.stream()
|
|
@@ -408,23 +395,19 @@ public class BizDayworkController extends BaseController {
|
|
|
// 通过get(0)的方式,获得最新的一条报工记录
|
|
|
.filter(tp -> tp.getProcessStepNumber().equals(tempDayworkItems.get(0).getProcessStepNumber()))
|
|
|
.findFirst().orElse(null);
|
|
|
- if (technologicalDetail != null) {
|
|
|
- tempProcess.setId(technologicalDetail.getProcessId());
|
|
|
- tempProcess.setProcessAlias(technologicalDetail.getProcessAlias());
|
|
|
- tempProcess.setProcessCode(technologicalDetail.getProcessCode());
|
|
|
- tempProcess.setProcessStepNumber(technologicalDetail.getProcessStepNumber());
|
|
|
- }
|
|
|
+ tempProcess.setId(technologicalDetail.getProcessId());
|
|
|
+ tempProcess.setProcessAlias(technologicalDetail.getProcessAlias());
|
|
|
+ tempProcess.setProcessCode(technologicalDetail.getProcessCode());
|
|
|
+ tempProcess.setProcessStepNumber(technologicalDetail.getProcessStepNumber());
|
|
|
} else {
|
|
|
BizTechnologicalProcessDetail technologicalProcessDetail = processList.stream()
|
|
|
// 通过get(0)的方式,获得最新的一条报工记录
|
|
|
.filter(tp -> tp.getProcessStepNumber().equals(tempDayworkItems.get(0).getProcessStepNumber()))
|
|
|
.findFirst().orElse(null);
|
|
|
- if (technologicalProcessDetail != null) {
|
|
|
- tempProcess.setId(technologicalProcessDetail.getProcessId());
|
|
|
- tempProcess.setProcessAlias(technologicalProcessDetail.getProcessAlias());
|
|
|
- tempProcess.setProcessCode(technologicalProcessDetail.getProcessCode());
|
|
|
- tempProcess.setProcessStepNumber(technologicalProcessDetail.getProcessStepNumber());
|
|
|
- }
|
|
|
+ tempProcess.setId(technologicalProcessDetail.getProcessId());
|
|
|
+ tempProcess.setProcessAlias(technologicalProcessDetail.getProcessAlias());
|
|
|
+ tempProcess.setProcessCode(technologicalProcessDetail.getProcessCode());
|
|
|
+ tempProcess.setProcessStepNumber(technologicalProcessDetail.getProcessStepNumber());
|
|
|
}
|
|
|
// 最新的一条报工记录对应的工序,就是当前批次的当前工序
|
|
|
daywork.setCurrentProcess(tempProcess);
|
|
@@ -437,15 +420,11 @@ public class BizDayworkController extends BaseController {
|
|
|
if (daywork.getIsAmend() == 1 || daywork.getIsWasteRecycling() == 1) {
|
|
|
//如果是废品回用,则它的工序从biz_technology_waste_recycling表查
|
|
|
//拿到对应工艺id
|
|
|
- BizLotTechnologicalProcess lotTechnological = allLotTechnologicalProcesses.stream()
|
|
|
- .filter(twr -> twr.getId().equals(daywork.getTechnologicalProcessId())).findFirst().orElse(null);
|
|
|
- if (lotTechnological != null) {
|
|
|
- //废品回用的工序(正序排列
|
|
|
- currentLotDayworkDetails = allLotTechnologicalDetails.stream()
|
|
|
- .filter(twrd -> twrd.getLotTechnologicalProcessId().equals(lotTechnological.getId()))
|
|
|
- .sorted(Comparator.comparing((BizLotTechnologicalProcessDetail::getProcessStepNumber)))
|
|
|
- .collect(Collectors.toList());
|
|
|
- }
|
|
|
+ //废品回用的工序(正序排列
|
|
|
+ currentLotDayworkDetails = allLotTechnologicalDetails.stream()
|
|
|
+ .filter(twrd -> twrd.getLotTechnologicalProcessId().equals(daywork.getTechnologicalProcessId()))
|
|
|
+ .sorted(Comparator.comparing((BizLotTechnologicalProcessDetail::getProcessStepNumber)))
|
|
|
+ .collect(Collectors.toList());
|
|
|
} else {
|
|
|
// 将上面获得到的工艺数据,通过当前工艺主表的id,获得到当前的工艺列表,并根据工序序号,进行正序排列
|
|
|
currentDayworkProcessDetails = technologicalProcessDetails.stream()
|
|
@@ -1023,15 +1002,17 @@ public class BizDayworkController extends BaseController {
|
|
|
List<Long> bizLotIds = bizDayworks.stream()
|
|
|
.filter(v -> v.getIsWasteRecycling() == 1 || v.getIsAmend() == 1)
|
|
|
.map(BizDaywork::getLotId).collect(Collectors.toList());
|
|
|
- List<BizLotTechnologicalProcess> bizLotTechnologicalProcesses = bizLotTechnologicalProcessService.query().eq("is_stop", 0).in("lot_id", bizLotIds.isEmpty() ? Collections.singletonList(0L) : bizLotIds).list();
|
|
|
- List<Long> LotTechnologicalProcessesIds = bizLotTechnologicalProcesses.stream().map(BizLotTechnologicalProcess::getId).collect(Collectors.toList());
|
|
|
+ List<Long> LotTechnologicalProcessesIds = bizLotService.query().in("id", bizLotIds.isEmpty() ? Collections.singletonList(0L) : bizDayworks.stream()
|
|
|
+ .filter(v -> v.getIsWasteRecycling() == 1 || v.getIsAmend() == 1)
|
|
|
+ .map(BizDaywork::getLotId).collect(Collectors.toList())).list().stream().map(BizLot::getTechnologicalProcessId).collect(Collectors.toList());
|
|
|
+
|
|
|
List<BizLotTechnologicalProcessDetail> bizLotTechnologicalProcessDetails = bizLotTechnologicalProcessDetailService.query().in("lot_technological_process_id", LotTechnologicalProcessesIds.isEmpty() ? Collections.singletonList(0L) : LotTechnologicalProcessesIds).list();
|
|
|
for (BizDayworkItem item : items) {
|
|
|
//添加产品描述
|
|
|
item.setProductDescription(bizProductionPlanDetails.stream().filter(v -> v.getId().equals(item.getProductionPlanDetailId())).collect(Collectors.toList()).get(0).getProductDescription());
|
|
|
//如果不是正常批次,则工艺重新取
|
|
|
if (bizLotIds.contains(item.getLotId())) {
|
|
|
- List<BizLotTechnologicalProcessDetail> processDetail = bizLotTechnologicalProcessDetails.stream().filter(v -> v.getLotId().equals(item.getLotId())).collect(Collectors.toList());
|
|
|
+ List<BizLotTechnologicalProcessDetail> processDetail = bizLotTechnologicalProcessDetails.stream().filter(v -> v.getLotTechnologicalProcessId().equals(item.getTechnologicalProcessId())).collect(Collectors.toList());
|
|
|
BizLotTechnologicalProcessDetail process = processDetail.stream().filter(v -> v.getProcessStepNumber().equals(item.getProcessStepNumber())).findFirst().orElse(null);
|
|
|
BizTechnologicalProcessDetail technologicalProcessDetail = new BizTechnologicalProcessDetail();
|
|
|
technologicalProcessDetail.setProcessAlias(process.getProcessAlias());
|