Browse Source

2026-06-02

FQAS检验增加【取消审核】功能
master
fengyuan_yang 3 months ago
parent
commit
3cfe8eb0d7
  1. 11
      src/main/java/com/xujie/sys/modules/pms/controller/QcController.java
  2. 6
      src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java
  3. 70
      src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java
  4. 2
      src/main/java/com/xujie/sys/modules/pms/service/QcService.java
  5. 23
      src/main/resources/mapper/pms/QcMapper.xml

11
src/main/java/com/xujie/sys/modules/pms/controller/QcController.java

@ -1600,6 +1600,17 @@ public class QcController {
return R.ok();
}
/**
* 取消审核
* @param data
* @return
*/
@PostMapping("/reverseFQASSubmitResult")
public R reverseFQASSubmitResult(@RequestBody QcFAIRecordData data){
qcService.reverseFQASSubmitResult(data);
return R.ok();
}
/**
* 删除检验记录
* @param data

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

@ -547,6 +547,12 @@ public interface QcMapper {
void updateFQASSubDetailSubmitFlag(QcFAIRecordData qcData);
void reverseFQASMasterSubmitFlag(QcFAIRecordData qcData);
void reverseFQASDetailSubmitFlag(QcFAIRecordData qcData);
void reverseFQASSubDetailSubmitFlag(QcFAIRecordData qcData);
void deleteFQASRecord(QcFAIRecordData qcData);
void deleteFQASDetailedRecord(QcFAIRecordData qcData);

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

@ -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);
}
/**
* 删除检验记录

2
src/main/java/com/xujie/sys/modules/pms/service/QcService.java

@ -306,6 +306,8 @@ public interface QcService {
void saveFQASSubmitResult(QcFAIRecordData data);
void reverseFQASSubmitResult(QcFAIRecordData data);
void fqasRecordDelete(QcFAIRecordData data);
void fqasRecordOverLoad(QcFAIRecordData data);

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

@ -4286,6 +4286,28 @@
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改FQAS主记录标识为未提交 -->
<update id="reverseFQASMasterSubmitFlag" parameterType="QcFAIRecordData">
UPDATE qc_stock_record
SET submit_flag = 'N',
state = '待审核'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改FQAS明细记录标识为未提交 -->
<update id="reverseFQASDetailSubmitFlag" parameterType="QcFAIRecordData">
UPDATE qc_stock_detailed_record
SET is_submit = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改FQAS子明细记录标识为未提交 -->
<update id="reverseFQASSubDetailSubmitFlag" parameterType="QcFAIRecordData">
UPDATE qc_stock_sub_detail_record
SET is_submit = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 删除FQAS检验记录 -->
<delete id="deleteFQASRecord" parameterType="QcFAIRecordData">
DELETE FROM qc_stock_record
@ -4416,6 +4438,7 @@
site,
bu_no,
inspection_no,
state,
order_ref1,
not_pass_qty,
roll_count,

Loading…
Cancel
Save