guoyuji
2024-03-15 0b1b39acf60b211411317d586e25c5ae278088a1
报工验证相同序号不同完工数量验证
3个文件已修改
60 ■■■■ 已修改文件
north-glass-erp/.idea/dataSources.local.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/pp/ReportingWork.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/dataSources.local.xml
@@ -23,7 +23,6 @@
      <database-info product="MySQL" version="8.0.19" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0)" dbms="MYSQL" exact-version="8.0.19" exact-driver-version="8.0">
        <extra-name-characters>#@</extra-name-characters>
        <identifier-quote-string>`</identifier-quote-string>
        <jdbc-catalog-is-schema>true</jdbc-catalog-is-schema>
      </database-info>
      <case-sensitivity plain-identifiers="lower" quoted-identifiers="lower" />
      <secret-storage>master_key</secret-storage>
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -99,13 +99,13 @@
              status: 'primary',
              }
        gridOptions.toolbarConfig.buttons.push(button)
      }
      inputDisabled.value = true
    })
  }
})
const data = [{id:1,num:2},{id:1,num:3},{id:2,num:2},{id:1,num:2}];
//表尾求和
@@ -339,7 +339,6 @@
    //brokenGrid.value.reloadData(brokenRow.damageDetail)
    //改变brokenVisible的值触发openedBrokenTable()方法
    brokenVisible.value = true
    //console.log(brokenGrid.value)
  }
}
@@ -504,7 +503,6 @@
  addListener(brokenGrid.value,brokenGridOptions)
  let damage =ref(brokenRow.value.damageDetails)
  brokenGrid.value.reloadData(damage.value)
  //console.log(brokenRow.value)
}
@@ -541,7 +539,6 @@
    return row.order_number === brokenRow.value.order_number
  })
  const maxQuantity =  Math.max(...equalByOrderNum.map(item =>item.breakageQuantity || 0))
  console.log(maxQuantity)
  equalByOrderNum.forEach((row) =>{
    row.completedQuantity= brokenRow.value.quantity*1-maxQuantity
  })
@@ -563,11 +560,38 @@
  }
})
function checkSameNumForId(data, targetId) {
  // 初始化一个对象来存储遇到的id及其对应的num值
  const idNums = {};
  let firstNum = null;
  for (const item of data) {
    if (item.order_number === targetId) {
      // 如果找到了目标id,检查num是否与第一个遇到的num相同
      if (firstNum === null) {
        // 如果是第一个遇到的,记录num值
        firstNum = item.completedQuantity;
      } else if (item.completedQuantity !== firstNum) {
        // 如果num值与第一个遇到的num不同,返回false
        return false;
      }
    }
  }
  // 如果遍历完数组后没有返回false,那么所有具有目标id的对象都具有相同的num值
  return true;
}
const saveReportingWork = (state,saveType) => {
  if(xGrid.value.getTableData().fullData.length===0){
    ElMessage.warning(`请选择流程卡数据`)
    return false
    return
  }
  const device = titleUploadData.value.deviceName
  if(device === null || device === undefined || device === ''){
@@ -580,6 +604,25 @@
    return
  }
  const seenIds = {}
  const uniqueByOrderNum = xGrid.value.getTableData().fullData.filter(item => {
    // 检查item的id是否已经在seenIds中
    if (!seenIds[item.order_number]) {
      // 如果不在,添加它并返回true以保留这个对象
      seenIds[item.order_number] = true;
      return true;
    }
    // 如果已经在seenIds中,返回false以过滤掉这个对象
    return false;
  });
  for(let item of uniqueByOrderNum){
    if(!checkSameNumForId(xGrid.value.getTableData().fullData,item.order_number)){
      ElMessage.error(`请检查订单序号: ${item.order_number} 报工数量是否相同!`)
      return false
    }
  }
  titleUploadData.value.creator = user.user.userName
  titleUploadData.value.creatorId = user.user.userId
  const requestDetailData = xGrid.value.getTableData().fullData.filter((row) => {
north-glass-erp/target/classes/mapper/pp/ReportingWork.xml
@@ -335,7 +335,7 @@
                    0,
                   (a.completed_quantity-f.completed_quantity
                       +ifnull(g.completed_quantity,0))
                    )  as minQuantity1 -- 修改最小数
                    )  as minQuantity -- 修改最小数
            </if>
            <if test="nextProcess == null or nextProcess == ''">  -- 最后一道工序
              c.received_quantity, -- 已入库数量
@@ -346,7 +346,7 @@
                (a.completed_quantity-(ifnull(c.inventory_quantity,0)
                    -ifnull(c.received_quantity,0)))
                )
                as minQuantity2 -- 修改最小数
                as minQuantity -- 修改最小数
            </if>
            -- e.thisQuantitySum
        from