Newer
Older
xc-business-system / src / views / equipement / standard / book / components / useSolveTemperatureHumidity.ts
dutingting on 11 Jun 2024 2 KB 240531~240607提交
/**
 * 处理温湿度
 * @param technologyRelationList 依据的技术文件列表
 */
export function useSolveTemperatureHumidity(technologyRelationList: any) {
  const list = technologyRelationList.filter((item: { technologyFileId: string }) => item.technologyFileId) as any
  let minTemperature = '/' // 温度找下限的最大值
  let maxTemperature = '/' // 温度找上限的最小值
  let minHumidity = '/' // 湿度找下限的最大值
  let maxHumidity = '/' // 湿度找上限的最小值

  for (let i = 0; i < list.length; i++) {
    if (`${list[i].temperatureLowLimit}` === '' || `${list[i].temperatureLowLimit}` === 'undefined') {
      i++
    }
    else {
      minTemperature = list[i].temperatureLowLimit // 温度找下限的最大值
      maxTemperature = list[i].temperatureHighLimit // 温度找上限的最小值
      minHumidity = list[i].humidityLowLimit // 湿度找下限的最大值
      maxHumidity = list[i].humidityHighLimit // 湿度找上限的最小值
      break
    }
  }

  for (let i = 1; i < list.length; i++) {
    const tempMinTemperature = list[i].temperatureLowLimit
    const tempMaxTemperature = list[i].temperatureHighLimit
    const tempMinHumidity = list[i].humidityLowLimit
    const tempMaxHumidity = list[i].humidityHighLimit
    if (`${tempMinTemperature}` && `${minTemperature}`) {
      minTemperature
        = Number(tempMinTemperature) > Number(minTemperature)
          ? tempMinTemperature
          : minTemperature
    }
    else {
      minTemperature = `${tempMinTemperature}`
        ? tempMinTemperature
        : minTemperature
    }

    if (`${tempMaxTemperature}` && `${maxTemperature}`) {
      maxTemperature
        = Number(tempMaxTemperature) > Number(maxTemperature)
          ? tempMaxTemperature
          : maxTemperature
    }
    else {
      maxTemperature = `${tempMaxTemperature}`
        ? tempMaxTemperature
        : maxTemperature
    }

    // maxTemperature = Number(tempMaxTemperature) < Number(maxTemperature) ? tempMaxTemperature : maxTemperature
    if (`${tempMinHumidity}` && `${minHumidity}`) {
      minHumidity
        = Number(tempMinHumidity) > Number(minHumidity)
          ? tempMinHumidity
          : minHumidity
    }
    else {
      minHumidity = `${tempMinHumidity}` ? tempMinHumidity : minHumidity
    }
    // minHumidity = Number(tempMinHumidity) > Number(minHumidity) ? tempMinHumidity : minHumidity
    if (`${tempMaxHumidity}` && `${maxHumidity}`) {
      maxHumidity
        = Number(tempMaxHumidity) > Number(maxHumidity)
          ? tempMaxHumidity
          : maxHumidity
    }
    else {
      maxHumidity = `${tempMaxHumidity}` ? tempMaxHumidity : maxHumidity
    }
    // maxHumidity = Number(tempMaxHumidity) < Number(maxHumidity) ? tempMaxHumidity : maxHumidity
  }
  return {
    minTemperature,
    maxTemperature,
    minHumidity,
    maxHumidity,
  }
}