Browse Source

检验模板维护功能:导入功能升级

java8
赵宏斌 6 months ago
parent
commit
08859e417d
  1. 2
      src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java
  2. 91
      src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java
  3. 7
      src/main/resources/mapper/pms/QcMapper.xml

2
src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java

@ -222,7 +222,7 @@ public interface QcMapper {
void deletePlanByProgrammeNo(QcSamplingInspectionProgrammeData data);
QcTemplateData selectItem(String itemNo, String itemType);
QcTemplateData selectItem(String itemNo, String itemType,String buNo);
QcPartAttributeData selectPartAttributeByNo(QcPartAttributeData data);

91
src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java

@ -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);

7
src/main/resources/mapper/pms/QcMapper.xml

@ -433,6 +433,7 @@
AND qt.inspection_type_no = #{query.inspectionTypeNo}
</if>
</where>
order by qt.create_time desc
</select>
<!-- 获得检验模板单号 -->
@ -677,9 +678,11 @@
MaxValue,
MinValue,
ItemRemark,
ItemType
ItemType,
site,
bu_no
FROM eam_properties_item
WHERE ItemNo = #{itemNo} AND ItemType = #{itemType}
WHERE ItemNo = #{itemNo} AND ItemType = #{itemType} AND bu_no = #{buNo}
</select>
<!-- ================================================= 样本量维护 ================================================= -->

Loading…
Cancel
Save