衝突計數

indexAttr.CM.getTakeupList(data, function (res) {
  if (res && res.S) {
    if (res.D) {
      /**
       * dataObj是全部人的衝突數據
       * eg:
       * {
       *    '647123': [{},{}],
       *    '325425': [{}]
       * }
       */
      var dataObj = {},
          meetingNum = 0, // 會議衝突人數,即會議
          restNum = 0, // 勿擾衝突人數,即佔用
          UNO = JSON.parse(res.D[m].P).UNO // 工號
      for (var m = 0; m < res.D.length; m++) {
        if (startTime < res.D[m].SD || endTime > res.D[m].ED) {
          // 衝突
          if (dataObj[UNO] && dataObj.UNO.length) {
            // 非某員工首條佔用數據
            var isAllMeeting = true // 是否全是會議佔用
            for (var i = 0; i < dataObj[UNO].length; i++) {
              if (dataObj[UNO][i].BT === '1') {
                isAllMeeting = false
                break
              }
            }
            if (isAllMeeting && res.D[m].BT === '1') {
              meetingNum--
              restNum++
            }
            dataObj.push(res.D[m])
          } else {
            // 某員工首條佔用數據
            dataObj[UNO]= [res.D[m]]
            res.D[m].BT === '1' ? restNum++ : meetingNum++
          }
        }
      }
    }
  }
})
相關文章
相關標籤/搜索