|
|
|
@ -685,31 +685,77 @@ public class QcServiceImpl implements QcService { |
|
|
|
int rows = sheet.getPhysicalNumberOfRows(); |
|
|
|
// 声明对象 |
|
|
|
QcTemplateData task = null; |
|
|
|
//排除标准数据下的空白行数据 |
|
|
|
int nonEmptyRows = 0; |
|
|
|
for (int i = 0; i < rows; i++) { |
|
|
|
XSSFRow row = sheet.getRow(i); |
|
|
|
if (row != null && row.getCell(0) != null && StringUtils.isNotBlank(row.getCell(0).toString())) { |
|
|
|
nonEmptyRows++; |
|
|
|
} |
|
|
|
} |
|
|
|
// 遍历每一行(从第二行开始) |
|
|
|
for (int j = 1; j < rows; j++) { |
|
|
|
for (int j = 1; j < nonEmptyRows; j++) { |
|
|
|
// 实例化对象 |
|
|
|
task = new QcTemplateData(); |
|
|
|
// 获得该行 |
|
|
|
XSSFRow row = sheet.getRow(j); |
|
|
|
//截取site和bu |
|
|
|
String[] split = paraData.getSite().split("_"); |
|
|
|
// 为对象赋值 |
|
|
|
task.setSite(paraData.getSite()); |
|
|
|
task.setInspectionTypeNo(row.getCell(9).getRawValue()); |
|
|
|
task.setSite(split[0]); |
|
|
|
task.setBuNo(split[1]); |
|
|
|
//获取用户传入的 检验类型描述 |
|
|
|
String type = row.getCell(9).getStringCellValue(); |
|
|
|
//根据type 设置检验类型编码 和 检验模板编码 |
|
|
|
if (type.equals("IPQC")){ |
|
|
|
task.setInspectionTypeNo("101"); |
|
|
|
task.setTemplateId("IPQC-" + qcMapper.getTemplateNo(task)); |
|
|
|
}else if (type.equals("IQC")){ |
|
|
|
task.setInspectionTypeNo("105"); |
|
|
|
task.setTemplateId("IQC-" + qcMapper.getTemplateNo(task)); |
|
|
|
}else if (type.equals("FAI")){ |
|
|
|
task.setInspectionTypeNo("106"); |
|
|
|
task.setTemplateId("FAI-" + qcMapper.getTemplateNo(task)); |
|
|
|
}else if (type.equals("FQC")){ |
|
|
|
task.setInspectionTypeNo("107"); |
|
|
|
task.setTemplateId("FQC-" + qcMapper.getTemplateNo(task)); |
|
|
|
}else if (type.equals("PQC")){ |
|
|
|
task.setInspectionTypeNo("108"); |
|
|
|
task.setTemplateId("PQC-" + qcMapper.getTemplateNo(task)); |
|
|
|
} |
|
|
|
// task.setInspectionTypeNo(row.getCell(9).getRawValue()); |
|
|
|
|
|
|
|
// 获取编码 |
|
|
|
String templateNo = qcMapper.getTemplateNo(task); |
|
|
|
if ("101".equals(task.getInspectionTypeNo()) || "102".equals(task.getInspectionTypeNo()) || "103".equals(task.getInspectionTypeNo()) || "104".equals(task.getInspectionTypeNo())) { |
|
|
|
task.setTemplateId("IPQC-" + templateNo); |
|
|
|
} else if ("105".equals(task.getInspectionTypeNo())) { |
|
|
|
task.setTemplateId("IQC-" + templateNo); |
|
|
|
} else if ("106".equals(task.getInspectionTypeNo())) { |
|
|
|
task.setTemplateId("FAI-" + templateNo); |
|
|
|
} else if ("107".equals(task.getInspectionTypeNo())) { |
|
|
|
task.setTemplateId("FQC-" + templateNo); |
|
|
|
} else if ("108".equals(task.getInspectionTypeNo())) { |
|
|
|
task.setTemplateId("PQC-" + templateNo); |
|
|
|
} |
|
|
|
// String templateNo = qcMapper.getTemplateNo(task); |
|
|
|
// if ("101".equals(task.getInspectionTypeNo()) || "102".equals(task.getInspectionTypeNo()) || "103".equals(task.getInspectionTypeNo()) || "104".equals(task.getInspectionTypeNo())) { |
|
|
|
// task.setTemplateId("IPQC-" + templateNo); |
|
|
|
// } else if ("105".equals(task.getInspectionTypeNo())) { |
|
|
|
// task.setTemplateId("IQC-" + templateNo); |
|
|
|
// } else if ("106".equals(task.getInspectionTypeNo())) { |
|
|
|
// task.setTemplateId("FAI-" + templateNo); |
|
|
|
// } else if ("107".equals(task.getInspectionTypeNo())) { |
|
|
|
// task.setTemplateId("FQC-" + templateNo); |
|
|
|
// } else if ("108".equals(task.getInspectionTypeNo())) { |
|
|
|
// task.setTemplateId("PQC-" + templateNo); |
|
|
|
// } |
|
|
|
//判断用户是否输入 抽样方案编码、默认抽样数量和默认抽样比例 其中之一 |
|
|
|
boolean isFlag = false; |
|
|
|
task.setTemplateName(row.getCell(0).getStringCellValue()); |
|
|
|
// task.setSamplingProgrammeNo(row.getCell(1).getRawValue()); |
|
|
|
// task.setSamplingLevelNo(row.getCell(2).getRawValue()); |
|
|
|
if (row.getCell(1)==null){ |
|
|
|
task.setSamplingProgrammeNo(null); |
|
|
|
}else { |
|
|
|
isFlag = true; |
|
|
|
task.setSamplingProgrammeNo(row.getCell(1).getRawValue()); |
|
|
|
} |
|
|
|
|
|
|
|
if (row.getCell(2)==null){ |
|
|
|
task.setSamplingLevelNo(null); |
|
|
|
}else { |
|
|
|
task.setSamplingLevelNo(row.getCell(2).getRawValue()); |
|
|
|
} |
|
|
|
|
|
|
|
if (row.getCell(3) == null){ |
|
|
|
task.setInspectionCycle(null); |
|
|
|
}else { |
|
|
|
@ -718,13 +764,18 @@ public class QcServiceImpl implements QcService { |
|
|
|
if (row.getCell(4) == null){ |
|
|
|
task.setDefaultSamplingQuantity(null); |
|
|
|
}else { |
|
|
|
isFlag = true; |
|
|
|
task.setDefaultSamplingQuantity(BigDecimal.valueOf(row.getCell(4).getNumericCellValue())); |
|
|
|
} |
|
|
|
if (row.getCell(5) == null){ |
|
|
|
task.setDefaultSamplingProportion(null); |
|
|
|
}else { |
|
|
|
isFlag = true; |
|
|
|
task.setDefaultSamplingProportion(BigDecimal.valueOf(row.getCell(5).getNumericCellValue())); |
|
|
|
} |
|
|
|
if (!isFlag){ |
|
|
|
throw new RuntimeException("抽象方案编码、默认抽样数量和默认抽样比例至少填写一个!"); |
|
|
|
} |
|
|
|
if (row.getCell(6) == null){ |
|
|
|
task.setAql(null); |
|
|
|
}else { |
|
|
|
@ -747,7 +798,12 @@ public class QcServiceImpl implements QcService { |
|
|
|
}else { |
|
|
|
task.setTemplateRemark(row.getCell(10).getStringCellValue()); |
|
|
|
} |
|
|
|
// task.setTemplateVersion(row.getCell(11).getRawValue()); |
|
|
|
if (row.getCell(11)==null){ |
|
|
|
task.setTemplateVersion(null); |
|
|
|
}else { |
|
|
|
task.setTemplateVersion(row.getCell(11).getRawValue()); |
|
|
|
} |
|
|
|
task.setCreateBy(paraData.getCreateBy()); |
|
|
|
// 查重 |
|
|
|
QcTemplateData templateData = qcMapper.selectTemplateByDesc(task); |
|
|
|
@ -761,7 +817,10 @@ public class QcServiceImpl implements QcService { |
|
|
|
for (int i = 1; i <= cells - 12; i++) { |
|
|
|
String itemNo = row.getCell(11 + i).getStringCellValue(); |
|
|
|
String itemType = "D"; |
|
|
|
QcTemplateData data = qcMapper.selectItem(itemNo,itemType); |
|
|
|
QcTemplateData data = qcMapper.selectItem(itemNo,itemType,split[1]); |
|
|
|
if (data== null){ |
|
|
|
throw new RuntimeException("BU为"+split[1]+"时,检验项目不存在:"+itemNo); |
|
|
|
} |
|
|
|
data.setTemplateId(task.getTemplateId()); |
|
|
|
// 新增 |
|
|
|
qcMapper.addItemDetails(data); |
|
|
|
|