From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/impl/LimsShebeiYiqiJiaozhunWaibuServiceImpl.java |   68 ++++++++++++++++++++++++++++++++++
 1 files changed, 68 insertions(+), 0 deletions(-)

diff --git a/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/impl/LimsShebeiYiqiJiaozhunWaibuServiceImpl.java b/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/impl/LimsShebeiYiqiJiaozhunWaibuServiceImpl.java
new file mode 100644
index 0000000..eb05c71
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-biz/src/main/java/jnpf/limsService/impl/LimsShebeiYiqiJiaozhunWaibuServiceImpl.java
@@ -0,0 +1,68 @@
+package jnpf.limsService.impl;
+
+import jnpf.audit.sdk.annotation.AuditLog;
+
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import jnpf.exception.DataException;
+import jnpf.limsEntity.LimsShebeiJiliangQijuEntity;
+import jnpf.limsEntity.LimsShebeiYiqiJiaozhunWaibuEntity;
+import jnpf.limsMapper.LimsShebeiJiliangQijuMapper;
+import jnpf.limsMapper.LimsShebeiYiqiJiaozhunWaibuMapper;
+import jnpf.limsService.LimsShebeiYiqiJiaozhunWaibuService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+public class LimsShebeiYiqiJiaozhunWaibuServiceImpl implements LimsShebeiYiqiJiaozhunWaibuService {
+
+    private static final String BIZ_STATUS_YIJIAOZHUN = "yijiaozhun";
+
+    @Autowired
+    private LimsShebeiYiqiJiaozhunWaibuMapper jiaozhunWaibuMapper;
+
+    @Autowired
+    private LimsShebeiJiliangQijuMapper jiliangQijuMapper;
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    @AuditLog(action = "CALIBRATION_SYNC", label = "鍚屾澶栭儴鏍″噯缁撴灉", bizType = "SHEBEI_YIQI",
+            bizCodeExpr = "#jiaozhunId", bizCodeRequired = false, targetTable = "lims_shebei_yiqi_qiju",
+            targetIdExpr = "T(jnpf.limsService.support.LimsAuditTargetIds).qijuByExternalCalibration(#jiaozhunId)",
+            diff = true, entityClass = LimsShebeiJiliangQijuEntity.class)
+    public void syncToQiju(String jiaozhunId) throws DataException {
+        String id = trimToEmpty(jiaozhunId);
+        if (id.isEmpty()) {
+            throw new DataException("鏍″噯璁板綍ID(jiaozhun_id)涓嶈兘涓虹┖");
+        }
+
+        LimsShebeiYiqiJiaozhunWaibuEntity jiaozhun = jiaozhunWaibuMapper.selectById(id);
+        if (jiaozhun == null) {
+            throw new DataException("澶栭儴鏍″噯璁板綍涓嶅瓨鍦細" + id);
+        }
+
+        String qijuId = trimToEmpty(jiaozhun.getQijuId());
+        if (qijuId.isEmpty()) {
+            throw new DataException("澶栭儴鏍″噯璁板綍鏈叧鑱旇閲忓櫒鍏�");
+        }
+        if (jiliangQijuMapper.selectById(qijuId) == null) {
+            throw new DataException("璁¢噺鍣ㄥ叿涓嶅瓨鍦細" + qijuId);
+        }
+
+        LambdaUpdateWrapper<LimsShebeiJiliangQijuEntity> update = new LambdaUpdateWrapper<>();
+        update.eq(LimsShebeiJiliangQijuEntity::getId, qijuId)
+                .set(LimsShebeiJiliangQijuEntity::getBizStatus, BIZ_STATUS_YIJIAOZHUN)
+                .set(LimsShebeiJiliangQijuEntity::getJiandingRiqi, jiaozhun.getSongjianShijian())
+                .set(LimsShebeiJiliangQijuEntity::getJiliangBianhao, jiaozhun.getJiliangBianhao())
+                .set(LimsShebeiJiliangQijuEntity::getJiliangShijian, jiaozhun.getJiliangShijian())
+                .set(LimsShebeiJiliangQijuEntity::getJiliangYouxiaoqi, jiaozhun.getYouxiaoqi())
+                .set(LimsShebeiJiliangQijuEntity::getJianyanDanwei, jiaozhun.getJianyanDanwei());
+        if (jiliangQijuMapper.update(null, update) != 1) {
+            throw new DataException("璁¢噺鍣ㄥ叿鏍″噯淇℃伅鏇存柊澶辫触锛岃鍒锋柊鍚庨噸璇�");
+        }
+    }
+
+    private String trimToEmpty(String value) {
+        return value == null ? "" : value.trim();
+    }
+}

--
Gitblit v1.8.0