|
|
|
@ -95,22 +95,33 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService {
|
|
|
|
|
|
|
|
|
|
DdlPackBean packBean = getDdlPackBean(spotCheckOrder);
|
|
|
|
|
pager = PagerHelper.getPager(pager, spotCheckOrderRepository.findByHqlWhereCount(packBean));
|
|
|
|
|
|
|
|
|
|
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue(),CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"status","createDatetime"}, packBean);
|
|
|
|
|
List<MesSpotCheckOrder> resultList = spotCheckOrderRepository.findByHqlWherePage(packBean, pager);
|
|
|
|
|
if (CollectionUtils.isEmpty(resultList)) {
|
|
|
|
|
return new ListPager<>(resultList, pager);
|
|
|
|
|
}
|
|
|
|
|
List<String> equipmentlist = resultList.stream().map(MesSpotCheckOrder::getEquipCode).collect(Collectors.toList());
|
|
|
|
|
if (CollectionUtils.isEmpty(resultList)) return new ListPager<>(resultList, pager);
|
|
|
|
|
|
|
|
|
|
List<String> equipmentCodeList = (resultList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getEquipCode())))
|
|
|
|
|
.map(MesSpotCheckOrder::getEquipCode).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList());
|
|
|
|
|
if (!CollectionUtils.isEmpty(equipmentCodeList)) {
|
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(spotCheckOrder.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getInPackList(equipmentlist, "equipmentCode", ddlPackBean);
|
|
|
|
|
if (equipmentCodeList.size() == 1) DdlPreparedPack.getStringEqualPack(equipmentCodeList.get(0), MesPcnExtConstWords.EQUIPMENT_CODE, ddlPackBean);
|
|
|
|
|
else DdlPreparedPack.getInPackList(equipmentCodeList, MesPcnExtConstWords.EQUIPMENT_CODE, ddlPackBean);
|
|
|
|
|
List<MesEquipment> mesEquipments = mesEquipmentRepository.findByHqlWhere(ddlPackBean);
|
|
|
|
|
Map<String, List<MesEquipment>> map = mesEquipments.stream().collect(Collectors.groupingBy(MesEquipment::getEquipmentCode));
|
|
|
|
|
Map<String, List<MesEquipment>> equipMap = mesEquipments.stream().collect(Collectors.groupingBy(MesEquipment::getEquipmentCode));
|
|
|
|
|
if (!CollectionUtils.isEmpty(equipMap)) {
|
|
|
|
|
resultList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getEquipCode())))
|
|
|
|
|
.forEach(o -> o.setEquipId(equipMap.containsKey(o.getEquipCode()) ? equipMap.get(o.getEquipCode()).get(0).getEquipId() : null));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resultList.forEach(mesSpotCheckOrder -> {
|
|
|
|
|
mesSpotCheckOrder.setEquipId(map.get(mesSpotCheckOrder.getEquipCode()).get(0).getEquipId());
|
|
|
|
|
});
|
|
|
|
|
List<MesSpotCheckOrder> resultList2Create = resultList.stream().filter(o -> (null != o && o.getStatus().compareTo(MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.CREATE.getValue()) == 0)).collect(Collectors.toList());
|
|
|
|
|
List<MesSpotCheckOrder> resultList2Other = resultList.stream().filter(o -> (null != o && o.getStatus().compareTo(MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.CREATE.getValue()) != 0)).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(resultList2Create)) resultList2Create = resultList2Create.stream().filter(o -> null != o).sorted(Comparator.comparing(MesSpotCheckOrder::getCreateDatetime).reversed()).collect(Collectors.toList());
|
|
|
|
|
if (!CollectionUtils.isEmpty(resultList2Other)) resultList2Other = resultList2Other.stream().filter(o -> null != o).sorted(Comparator.comparing(MesSpotCheckOrder::getModifyDatetime).reversed()).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
|
resultList.clear();
|
|
|
|
|
if (!CollectionUtils.isEmpty(resultList2Create)) resultList.addAll(resultList2Create);
|
|
|
|
|
if (!CollectionUtils.isEmpty(resultList2Other)) resultList.addAll(resultList2Other);
|
|
|
|
|
|
|
|
|
|
return new ListPager<>(resultList, pager);
|
|
|
|
|
|
|
|
|
|