From 74b579ec300b2316c6ec0a744ea3c0ad9f8b54d3 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 20 一月 2025 15:30:54 +0800
Subject: [PATCH] 2025-01-20

---
 src/menu/debug/index.jsx |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/src/menu/debug/index.jsx b/src/menu/debug/index.jsx
index 9708b3d..939a5d3 100644
--- a/src/menu/debug/index.jsx
+++ b/src/menu/debug/index.jsx
@@ -1967,6 +1967,7 @@
         let _fields = unique.field.split(',')
         let _fields_ = _fields.map(_field => `a.${_field}=b.${_field}`)
         _fields_ = _fields_.join(' and ')
+        _fields_ += ` and a.jskey != b.${setting.primaryKey || 'id'}`
 
         let _where = []
         _fields.forEach(f => {
@@ -2023,6 +2024,7 @@
 
     let declarefields = []
     let fields = []
+    let upFields = []
 
     forms.forEach(col => {
       let key = col.field.toLowerCase()
@@ -2030,15 +2032,27 @@
 
       declarefields.push(`${col.field} ${col.datatype}`)
       fields.push(col.field)
+      upFields.push(`${col.field}=t.${col.field}`)
     })
 
     fields = fields.join(',')
+    upFields = upFields.join(',')
 
     let _insert = ''
     if (btn.default !== 'false') {
       _insert = `
       /* 榛樿sql */
-      Insert into ${database}${sheet} (${fields},createuserid,createuser,createstaff,bid) 
+      update a set ${upFields},modifydate=getdate(),modifyuserid='${sessionStorage.getItem('UserID') || ''}',modifyuser=@username,modifystaff=@fullname,deleted=0
+      from (select * from #${sheet} where data_type='upt') t
+      inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'}
+
+      update a set deleted=1,modifydate=getdate(),modifyuserid='${sessionStorage.getItem('UserID') || ''}',modifyuser=@username,modifystaff=@fullname 
+      from (select * from #${sheet} where data_type='del') t
+      inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'}
+
+      delete t from #${sheet} t inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'}
+
+      Insert into ${database}${sheet} (${fields},createuserid,createuser,createstaff,bid)
       Select ${fields},'${sessionStorage.getItem('UserID') || ''}',@username,@fullname,'${BID}' From #${sheet}
       `
     }

--
Gitblit v1.8.0