|
|
|
@ -630,13 +630,39 @@ public class QcServiceImpl implements QcService { |
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void saveFQCDetailedRecord(QcFAIRecordData data) { |
|
|
|
boolean abnormalModify = "3".equals(data.getType()); |
|
|
|
// 校验:查询当前数据库中的状态,如果已审核完成则禁止保存 |
|
|
|
QcFAIRecordData currentRecord = qcMapper.getFQCRecordStatus(data); |
|
|
|
if (currentRecord != null && ("Y".equals(currentRecord.getSubmitFlag()) || "已完成".equals(currentRecord.getState()))) { |
|
|
|
if (currentRecord == null) { |
|
|
|
throw new RuntimeException("检验单不存在或已删除!"); |
|
|
|
} |
|
|
|
if (!abnormalModify && ("Y".equals(currentRecord.getSubmitFlag()) || "已完成".equals(currentRecord.getState()))) { |
|
|
|
throw new RuntimeException("该检验单已审核完成,无法修改!"); |
|
|
|
} |
|
|
|
|
|
|
|
if ("1".equals(data.getType())) { // 应用 |
|
|
|
if (abnormalModify) { |
|
|
|
if (!"已完成".equals(currentRecord.getState())) { |
|
|
|
throw new RuntimeException("仅已完成状态允许异常修改!"); |
|
|
|
} |
|
|
|
// 异常修改时强制保留原有检验结论 |
|
|
|
data.setState("已完成"); |
|
|
|
data.setInspectionResult(currentRecord.getInspectionResult()); |
|
|
|
Map<String, String> currentItemResultMap = new HashMap<>(); |
|
|
|
qcMapper.fqcDetailSearch(data).forEach(item -> { |
|
|
|
if (item.getItemNo() != null && !currentItemResultMap.containsKey(item.getItemNo())) { |
|
|
|
currentItemResultMap.put(item.getItemNo(), item.getItemResult()); |
|
|
|
} |
|
|
|
}); |
|
|
|
for (int i = 0; i < data.getItemList().size(); i++) { |
|
|
|
QcFAIRecordData detailRecord = data.getItemList().get(i); |
|
|
|
if (detailRecord.getItemNo() == null) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
if (currentItemResultMap.containsKey(detailRecord.getItemNo())) { |
|
|
|
detailRecord.setItemResult(currentItemResultMap.get(detailRecord.getItemNo())); |
|
|
|
} |
|
|
|
} |
|
|
|
} else if ("1".equals(data.getType())) { // 应用 |
|
|
|
data.setState("待检验"); |
|
|
|
} else { // 保存 |
|
|
|
data.setState("待审核"); |
|
|
|
@ -984,13 +1010,39 @@ public class QcServiceImpl implements QcService { |
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void saveIPQCDetailedRecord(QcFAIRecordData data) { |
|
|
|
boolean abnormalModify = "3".equals(data.getType()); |
|
|
|
// 校验:查询当前数据库中的状态,如果已审核完成则禁止保存 |
|
|
|
QcFAIRecordData currentRecord = qcMapper.getIPQCRecordStatus(data); |
|
|
|
if (currentRecord != null && ("Y".equals(currentRecord.getSubmitFlag()) || "已完成".equals(currentRecord.getState()))) { |
|
|
|
if (currentRecord == null) { |
|
|
|
throw new RuntimeException("检验单不存在或已删除!"); |
|
|
|
} |
|
|
|
if (!abnormalModify && ("Y".equals(currentRecord.getSubmitFlag()) || "已完成".equals(currentRecord.getState()))) { |
|
|
|
throw new RuntimeException("该检验单已审核完成,无法修改!"); |
|
|
|
} |
|
|
|
|
|
|
|
if ("1".equals(data.getType())) { // 应用 |
|
|
|
if (abnormalModify) { |
|
|
|
if (!"已完成".equals(currentRecord.getState())) { |
|
|
|
throw new RuntimeException("仅已完成状态允许异常修改!"); |
|
|
|
} |
|
|
|
// 异常修改时强制保留原有检验结论 |
|
|
|
data.setState("已完成"); |
|
|
|
data.setInspectionResult(currentRecord.getInspectionResult()); |
|
|
|
Map<String, String> currentItemResultMap = new HashMap<>(); |
|
|
|
qcMapper.ipqcDetailSearch(data).forEach(item -> { |
|
|
|
if (item.getItemNo() != null && !currentItemResultMap.containsKey(item.getItemNo())) { |
|
|
|
currentItemResultMap.put(item.getItemNo(), item.getItemResult()); |
|
|
|
} |
|
|
|
}); |
|
|
|
for (int i = 0; i < data.getItemList().size(); i++) { |
|
|
|
QcFAIRecordData detailRecord = data.getItemList().get(i); |
|
|
|
if (detailRecord.getItemNo() == null) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
if (currentItemResultMap.containsKey(detailRecord.getItemNo())) { |
|
|
|
detailRecord.setItemResult(currentItemResultMap.get(detailRecord.getItemNo())); |
|
|
|
} |
|
|
|
} |
|
|
|
} else if ("1".equals(data.getType())) { // 应用 |
|
|
|
data.setState("待检验"); |
|
|
|
} else { // 保存 |
|
|
|
data.setState("待审核"); |
|
|
|
@ -1497,13 +1549,39 @@ public class QcServiceImpl implements QcService { |
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void saveIQCDetailedRecord(QcFAIRecordData data) { |
|
|
|
boolean abnormalModify = "3".equals(data.getType()); |
|
|
|
// 校验:查询当前数据库中的状态,如果已审核完成则禁止保存 |
|
|
|
QcFAIRecordData currentRecord = qcMapper.getIQCRecordStatus(data); |
|
|
|
if (currentRecord != null && ("Y".equals(currentRecord.getSubmitFlag()) || "已完成".equals(currentRecord.getState()))) { |
|
|
|
if (currentRecord == null) { |
|
|
|
throw new RuntimeException("检验单不存在或已删除!"); |
|
|
|
} |
|
|
|
if (!abnormalModify && ("Y".equals(currentRecord.getSubmitFlag()) || "已完成".equals(currentRecord.getState()))) { |
|
|
|
throw new RuntimeException("该检验单已审核完成,无法修改!"); |
|
|
|
} |
|
|
|
|
|
|
|
if ("1".equals(data.getType())) { // 应用 |
|
|
|
if (abnormalModify) { |
|
|
|
if (!"已完成".equals(currentRecord.getState())) { |
|
|
|
throw new RuntimeException("仅已完成状态允许异常修改!"); |
|
|
|
} |
|
|
|
// 异常修改时强制保留原有检验结论 |
|
|
|
data.setState("已完成"); |
|
|
|
data.setInspectionResult(currentRecord.getInspectionResult()); |
|
|
|
Map<String, String> currentItemResultMap = new HashMap<>(); |
|
|
|
qcMapper.iqcDetailSearch(data).forEach(item -> { |
|
|
|
if (item.getItemNo() != null && !currentItemResultMap.containsKey(item.getItemNo())) { |
|
|
|
currentItemResultMap.put(item.getItemNo(), item.getItemResult()); |
|
|
|
} |
|
|
|
}); |
|
|
|
for (int i = 0; i < data.getItemList().size(); i++) { |
|
|
|
QcFAIRecordData detailRecord = data.getItemList().get(i); |
|
|
|
if (detailRecord.getItemNo() == null) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
if (currentItemResultMap.containsKey(detailRecord.getItemNo())) { |
|
|
|
detailRecord.setItemResult(currentItemResultMap.get(detailRecord.getItemNo())); |
|
|
|
} |
|
|
|
} |
|
|
|
} else if ("1".equals(data.getType())) { // 应用 |
|
|
|
data.setState("待检验"); |
|
|
|
} else { // 保存 |
|
|
|
data.setState("待审核"); |
|
|
|
@ -3707,6 +3785,7 @@ public class QcServiceImpl implements QcService { |
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void saveFQASDetailedRecord(QcFAIRecordData data) { |
|
|
|
boolean abnormalModify = "3".equals(data.getType()); |
|
|
|
// 校验供应商 |
|
|
|
if (data.getResponsiblePerson() != null && !"".equals(data.getResponsiblePerson())){ |
|
|
|
List<SupplierData> suppliers = qcMapper.getSupplier(data.getSite(), data.getResponsiblePerson(), "Y"); |
|
|
|
@ -3715,7 +3794,38 @@ public class QcServiceImpl implements QcService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if ("1".equals(data.getType())) { // 应用 |
|
|
|
// 校验:查询当前数据库中的状态,如果已审核完成则禁止保存 |
|
|
|
QcFAIRecordData currentRecord = qcMapper.getFQASRecordStatus(data); |
|
|
|
if (currentRecord == null) { |
|
|
|
throw new RuntimeException("检验单不存在或已删除!"); |
|
|
|
} |
|
|
|
if (!abnormalModify && ("Y".equals(currentRecord.getSubmitFlag()) || "已完成".equals(currentRecord.getState()))) { |
|
|
|
throw new RuntimeException("该检验单已审核完成,无法修改!"); |
|
|
|
} |
|
|
|
|
|
|
|
if (abnormalModify) { |
|
|
|
if (!"已完成".equals(currentRecord.getState())) { |
|
|
|
throw new RuntimeException("仅已完成状态允许异常修改!"); |
|
|
|
} |
|
|
|
// 异常修改时强制保留原有检验结论 |
|
|
|
data.setState("已完成"); |
|
|
|
data.setInspectionResult(currentRecord.getInspectionResult()); |
|
|
|
Map<String, String> currentItemResultMap = new HashMap<>(); |
|
|
|
qcMapper.fqasDetailSearch(data).forEach(item -> { |
|
|
|
if (item.getItemNo() != null && !currentItemResultMap.containsKey(item.getItemNo())) { |
|
|
|
currentItemResultMap.put(item.getItemNo(), item.getItemResult()); |
|
|
|
} |
|
|
|
}); |
|
|
|
for (int i = 0; i < data.getItemList().size(); i++) { |
|
|
|
QcFAIRecordData detailRecord = data.getItemList().get(i); |
|
|
|
if (detailRecord.getItemNo() == null) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
if (currentItemResultMap.containsKey(detailRecord.getItemNo())) { |
|
|
|
detailRecord.setItemResult(currentItemResultMap.get(detailRecord.getItemNo())); |
|
|
|
} |
|
|
|
} |
|
|
|
} else if ("1".equals(data.getType())) { // 应用 |
|
|
|
data.setState("待检验"); |
|
|
|
} else { // 保存 |
|
|
|
data.setState("待审核"); |
|
|
|
|