|
|
|
@ -5219,16 +5219,17 @@ public class QcServiceImpl implements QcService { |
|
|
|
@Transactional |
|
|
|
public void saveFQASSubmitResult(QcFAIRecordData data) { |
|
|
|
for (QcFAIRecordData qcData : data.getSubmitList()) { |
|
|
|
QcFAIRecordData latestRecord = this.getAndCheckFQASRecordState(qcData, "待审核", "审核"); |
|
|
|
// 修改主记录标识为已提交 |
|
|
|
qcMapper.updateFQASMasterSubmitFlag(qcData); |
|
|
|
qcMapper.updateFQASMasterSubmitFlag(latestRecord); |
|
|
|
// 修改明细记录标识为已提交 |
|
|
|
qcMapper.updateFQASDetailSubmitFlag(qcData); |
|
|
|
qcMapper.updateFQASDetailSubmitFlag(latestRecord); |
|
|
|
// 修改子明细记录标识为已提交 |
|
|
|
qcMapper.updateFQASSubDetailSubmitFlag(qcData); |
|
|
|
qcMapper.updateFQASSubDetailSubmitFlag(latestRecord); |
|
|
|
|
|
|
|
if ("生产入库检验".equals(qcData.getOrderRefType()) || "工序调拨".equals(qcData.getOrderRefType())) { |
|
|
|
if ("生产入库检验".equals(latestRecord.getOrderRefType()) || "工序调拨".equals(latestRecord.getOrderRefType())) { |
|
|
|
// 调用存储过程执行 |
|
|
|
Map<String, Object> resultMap = this.dboSaveFQASSubmitResult(qcData); |
|
|
|
Map<String, Object> resultMap = this.dboSaveFQASSubmitResult(latestRecord); |
|
|
|
// 判断是否检验成功 |
|
|
|
String code = String.valueOf(resultMap.get("resultCode")); |
|
|
|
if ("400".equalsIgnoreCase(code)) { |
|
|
|
@ -5239,6 +5240,45 @@ public class QcServiceImpl implements QcService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 取消审核 |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void reverseFQASSubmitResult(QcFAIRecordData data) { |
|
|
|
for (QcFAIRecordData qcData : data.getSubmitList()) { |
|
|
|
QcFAIRecordData latestRecord = this.getAndCheckFQASRecordState(qcData, "已完成", "取消审核"); |
|
|
|
// 修改主记录标识为未提交 |
|
|
|
qcMapper.reverseFQASMasterSubmitFlag(latestRecord); |
|
|
|
// 修改明细记录标识为未提交 |
|
|
|
qcMapper.reverseFQASDetailSubmitFlag(latestRecord); |
|
|
|
// 修改子明细记录标识为未提交 |
|
|
|
qcMapper.reverseFQASSubDetailSubmitFlag(latestRecord); |
|
|
|
|
|
|
|
if ("生产入库检验".equals(latestRecord.getOrderRefType()) || "工序调拨".equals(latestRecord.getOrderRefType())) { |
|
|
|
// 调用取消审核存储过程 |
|
|
|
Map<String, Object> resultMap = this.dboReverseFQASSubmitResult(latestRecord); |
|
|
|
// 判断是否检验成功 |
|
|
|
String code = String.valueOf(resultMap.get("resultCode")); |
|
|
|
if ("400".equalsIgnoreCase(code)) { |
|
|
|
String msg = String.valueOf(resultMap.get("resultMsg")); |
|
|
|
throw new XJException(msg, Integer.parseInt(code)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private QcFAIRecordData getAndCheckFQASRecordState(QcFAIRecordData data, String expectedState, String actionName) { |
|
|
|
QcFAIRecordData latestRecord = qcMapper.getFQASInspectionRecord(data); |
|
|
|
if (latestRecord == null) { |
|
|
|
throw new RuntimeException("检验单号 " + data.getInspectionNo() + " 不存在或已被删除,不允许" + actionName + "!"); |
|
|
|
} |
|
|
|
if (!expectedState.equals(latestRecord.getState())) { |
|
|
|
throw new RuntimeException("检验单号 " + data.getInspectionNo() + " 当前状态为" + latestRecord.getState() + ",不允许" + actionName + "!"); |
|
|
|
} |
|
|
|
return latestRecord; |
|
|
|
} |
|
|
|
|
|
|
|
public Map<String, Object> dboSaveFQASSubmitResult(QcFAIRecordData inData) { |
|
|
|
//公共参数 |
|
|
|
String site = inData.getSite(); |
|
|
|
@ -5263,6 +5303,26 @@ public class QcServiceImpl implements QcService { |
|
|
|
return resultList.get(0); |
|
|
|
} |
|
|
|
|
|
|
|
public Map<String, Object> dboReverseFQASSubmitResult(QcFAIRecordData inData) { |
|
|
|
//公共参数 |
|
|
|
String site = inData.getSite(); |
|
|
|
String transNo = inData.getOrderRef1(); |
|
|
|
String itemNo = inData.getOrderRef2(); |
|
|
|
Float inspectedQty = inData.getRollCount().floatValue(); // 检验数量 |
|
|
|
String inspectStatus = inData.getInspectionResult(); // 检验结果 |
|
|
|
String disposalMeasures = inData.getDisposalMeasures() == null ? "" : inData.getDisposalMeasures(); // 处置措施 |
|
|
|
List<Object> params = new ArrayList<>(); |
|
|
|
params.add(site); |
|
|
|
params.add(transNo); |
|
|
|
params.add(itemNo); |
|
|
|
params.add(inspectedQty); |
|
|
|
params.add(inspectStatus); |
|
|
|
params.add(disposalMeasures); |
|
|
|
//执行方法 |
|
|
|
List<Map<String, Object>> resultList = procedureDao.getProcedureData("Reverse_ERPSOOpsTransfer", params); |
|
|
|
return resultList.get(0); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 删除检验记录 |
|
|
|
|