財務(wù)專用:阿拉伯數(shù)字轉(zhuǎn)中文大寫金額(支持小數(shù))
— 金額小寫數(shù)字 整數(shù)元 轉(zhuǎn)換 中文大寫
function? yuan_zh(szNum)
? ? —阿拉伯數(shù)字轉(zhuǎn)中文大寫
? ? local szChMoney = “”
? ? local iLen = 0
? ? local iNum = 0
? ? local iAddZero = 0
? ? local hzUnit = {“”, “拾”, “佰”, “仟”, “萬”, “拾”, “佰”, “仟”, “億”,”拾”, “佰”, “仟”, “萬”, “十”, “百”, “千”}
? ? local hzNum = {“零”, “壹”, “貳”, “叁”, “肆”, “伍”, “陸”, “柒”, “捌”, “玖”}
? ? if nil == tonumber(szNum) then
? ? ? ? return tostring(szNum)
? ? end
? ? iLen =string.len(szNum)
? ? if iLen > 10 or iLen == 0 or tonumber(szNum) < 0 then
? ? ? ? return tostring(szNum)
? ? end
? ? for i = 1, iLen? do
? ? ? ? iNum = string.sub(szNum,i,i)
? ? ? ? if iNum == 0 and i ~= iLen then
? ? ? ? ? ? iAddZero = iAddZero + 1
? ? ? ? else
? ? ? ? ? ? if iAddZero > 0 then
? ? ? ? ? ? szChMoney = szChMoney..hzNum[1]
? ? ? ? end
? ? ? ? ? ? szChMoney = szChMoney..hzNum[iNum + 1] –//轉(zhuǎn)換為相應(yīng)的數(shù)字
? ? ? ? ? ? iAddZero = 0
? ? ? ? end
? ? ? ? if (iAddZero < 4) and (0 == (iLen – i) % 4 or 0 ~= tonumber(iNum)) then
? ? ? ? ? ? szChMoney = szChMoney..hzUnit[iLen-i+1]
? ? ? ? end
? ? end
? ? local function removeZero(num)
? ? ? ? –去掉末尾多余的 零
? ? ? ? num = tostring(num)
? ? ? ? local szLen = string.len(num)
? ? ? ? local zero_num = 0
? ? ? ? for i = szLen, 1, -3 do
? ? ? ? ? ? szNum = string.sub(num,i-2,i)
? ? ? ? ? ? if szNum == hzNum[1] then
? ? ? ? ? ? ? ? zero_num = zero_num + 1
? ? ? ? ? ? else
? ? ? ? ? ? ? ? break
? ? ? ? ? ? end
? ? ? ? end
? ? ? ? num = string.sub(num, 1,szLen – zero_num * 3)
? ? ? ? szNum = string.sub(num, 1,6)
? ? ? ? — 開頭的 “一十” 轉(zhuǎn)成 “十” , 貼近人的讀法
? ? ? ? if szNum == hzNum[2]..hzUnit[2] then
? ? ? ? ? ? num = string.sub(num, 4, string.len(num))
? ? ? ? end
? ? ? ? return num
? ? end
? ? return removeZero(szChMoney)..”圓”
end
— 金額小數(shù)點 角、分轉(zhuǎn)換 中文大寫
function jiaofen_zh(szNum)
? ? local szChMoney = “”
? ? local iLen = 0
? ? local iNum = 0
? ? local iAddZero = 0
? ? local hzUnit = {“分”, “角”}
? ? local hzNum = {“零”, “壹”, “貳”, “叁”, “肆”, “伍”, “陸”, “柒”, “捌”, “玖”}
? ? if nil == tonumber(szNum) then
? ? ? ? return ‘請輸入金額’
? ? end
? ? iLen =string.len(szNum)
? ? if iLen > 15 or iLen == 0 or tonumber(szNum) < 0 then
? ? ? ? return “請輸入金額”
? ? end
? ? local i = 0
? ? for i = 1, iLen do
? ? ? ? iNum = string.sub(szNum,i,i)
? ? ? ? if iNum == 0 then
? ? ? ? ? ? iAddZero = iAddZero + 1
? ? ? ? else
? ? ? ? ? ? if iAddZero > 0 then
? ? ? ? ? ? ? ? szChMoney = szChMoney..hzNum[1]
? ? ? ? ? ? end
? ? ? ? ? ? szChMoney = szChMoney..hzNum[iNum + 1] –//轉(zhuǎn)換為相應(yīng)的數(shù)字
? ? ? ? ? ? iAddZero = 0
? ? ? ? end
? ? ? ? if iNum ~=0 or iLen-i==3 or iLen-i==11 or ((iLen-i+1)%8==0 and iAddZero<4) then
? ? ? ? ? ? szChMoney = szChMoney..hzUnit[iLen-i+1]
? ? ? ? end
? ? end
? ? return szChMoney
end
— 對字符串進行 拆分 ,目的是 將 1309.21 拆分為 1309 及 21 兩個字符串
function split(str,delimiter)
? ? local dLen = string.len(delimiter)
? ? local newDeli = ”
? ? for i=1,dLen,1 do
? ? ? ? newDeli = newDeli .. “[“..string.sub(delimiter,i,i)..”]”
? ? end
? ? local locaStart,locaEnd = string.find(str,newDeli)
? ? local arr = {}
? ? local n = 1
? ? while locaStart ~= nil
? ? do
? ? ? ? if locaStart>0 then
? ? ? ? ? ? arr[n] = string.sub(str,1,locaStart-1)
? ? ? ? ? ? n = n + 1
? ? ? ? end
? ? ? ? str = string.sub(str,locaEnd+1,string.len(str))
? ? ? ? locaStart,locaEnd = string.find(str,newDeli)
? ? end
? ? if str ~= nil then
? ? ? ? arr[n] = str
? ? end
? ? return arr
end
— 需要判斷,金額是否包含小數(shù)點,若 包含小數(shù)點,需要將小數(shù)點前 設(shè)置為:strYuan ; 小數(shù)點后 設(shè)置為:strJiaoFen
local strYuan,strJiaoFen,strDaxie,strOldjine
strOldjine = “104567096”? — 將來這個數(shù)字賦值的時候,小數(shù)點要保留2位,最好小數(shù)第二是0要處理一下
t = split(strOldjine, “.”)? ? ?— 將 124567.09 拆分為 124567 及 09 兩個字符串
— 給 金額 整數(shù)元 賦值; 給 金額 角分 賦值
local strY = t[1]
local strJ = t[2]
–小數(shù)點前整數(shù) 元(需獨立獲?。?/div>
strYuan = yuan_zh(strY)
— 金額 的小數(shù)點前的 大寫
strDaxie = strYuan
–strJ小數(shù)點后 角分 (需獨立獲?。?/div>
if strJ ~= nil then
? ? strJiaoFen = jiaofen_zh(strJ)
? ? — 完整大寫金額 拼接后完成
? ? strDaxie = strDaxie..strJiaoFen
end
— for i = 1 ,200 do
? ?print(strDaxie)
— end
]]>
-
數(shù)據(jù)對象的編號生成
http://www.2715333.com/1187/
Tue, 12 Oct 2021 06:34:04 +0000
http://www.2715333.com/?p=1187
數(shù)據(jù)對象的編號生成
1.在日常工作中,編號用處有很多地方,以下是一個編號的生成代碼:
標號規(guī)則:1、對象類型 2、按照年份排序 3、刪除不影響編號順序
–[[
Code: SD-1701
Author:hanxun Create Date: 2021-10-5
Version:V1.0
功能:
1) 生成一個用戶反饋編號
–]]
json = require (“json”)
mobox = require (“OILua_JavelinExt”)
function BeforeDataObjCreate ( strLuaDEID )
local nRet,strRetInfo
local setAttr
— 需要自動創(chuàng)建 類似 FB-202110050001 (就是 FB-年月日4位順序號)
local strHead = os.date(“%Y%m%d”)
— 注意 這個變量strHead ,是編碼的前綴,其長度不能超過8位
nRet,strRetInfo = mobox.getSerialNumber( “反饋編號”,strHead , 4 )
if ( nRet ~=0 or strRetInfo == ” ) then
mobox.error( strLuaDEID, “反饋編號序號獲得失敗! “..strRetInfo )
return
end
strRetInfo=’FB-‘..strRetInfo
setAttr = ‘[{“attr”:”S_REQUES_CODE”,”value”:”‘..strRetInfo..'”}]’
— 針對上面賦值語句 解釋:A+B+C (其中B 是變量 strRetInfo)
mobox.setCurEditDataObjAttr( strLuaDEID,setAttr )
if ( nRet ~=0 or strRetInfo == ” ) then
mobox.error( strLuaDEID, “S_REQUES_CODE設(shè)置賦值錯誤 “..strRetInfo )
return
end
end
]]>
-
合同的采購清單修改后應(yīng)該自動更新合同總價
http://www.2715333.com/1175/
Sat, 09 Oct 2021 06:40:58 +0000
http://www.2715333.com/?p=1175
合同的采購清單修改后應(yīng)該自動更新合同總價
— 以下是代碼部分
–[[
? ? Code: SD-0404
? ? Author:han? ? ?Create Date:? 2021-8-11
? ? Version:V1.0
? ? 功能:
? ? ? ? 更新訂單中的價格 F_TOTAL
–]]
json? = require (“json”)
mobox = require (“OILua_JavelinExt”)
function AfterDataObjModify ( strLuaDEID )
? ? local nRet,strRetInfo, strPOCode
? ? — 獲取 訂單編號
? ? nRet, strRetInfo = mobox.getCurEditDataObjAttr( strLuaDEID, “S_PO_CODE”? )
? ? if ( nRet ~= 0 or strRetInfo == ” ) then
? ? ? ? mobox.error( strLuaDEID, “獲取價格信息失敗!” )
? ? ? ? return
? ? end
? ? local retAttrs = json.decode( strRetInfo )
? ? strPOCode = retAttrs[1].value
? ? — 獲取這個訂單下面的 總價
? ? local strCondition = “S_PO_CODE = ‘”..strPOCode..”‘”
? ? nRet, strRetInfo = mobox.getDataObjAttrSum( strLuaDEID, “采購清單”, strCondition, “F_SUBTOTAL” )
? ? if ( nRet ~= 0? ) then
? ? ? ? mobox.error( strLuaDEID, strRetInfo)
? ? ? ? return
? ? end
? ? local fSumTotal = 0
? ? local retValue = json.decode( strRetInfo )
? ? if ( retValue[1] ~= ”? ) then
? ? ? ? fSumTotal = tonumber( retValue[1] )
? ? end
? ? strCondition = “S_PO_CODE = ‘”..strPOCode..”‘”
? ? strSetAttr = “F_TOTAL = “..fSumTotal
? ? nRet, strRetInfo = mobox.updateDataAttrByCondition( strLuaDEID, “訂單”, strCondition, strSetAttr )
? ? if ( nRet ~= 0 ) then
? ? ? ? mobox.error( strLuaDEID, strRetInfo )
? ? ? ? return
? ? end
end
]]>
-
將個人網(wǎng)盤文件轉(zhuǎn)移(用戶A轉(zhuǎn)至用戶B指定目錄下)
http://www.2715333.com/1030/
Sat, 26 Jun 2021 09:19:16 +0000
http://www.2715333.com/?p=1030
— 個人網(wǎng)盤用戶A 所有網(wǎng)盤數(shù)據(jù)都轉(zhuǎn)至 用戶B 根目錄下的一個目錄中(此目錄自動創(chuàng)建,名稱:轉(zhuǎn)自【用戶A】_YYYYmmdd)
BEGIN
? Declare @strUserLogin1 as nvarchar(32)
? Declare @strUserLogin2 as nvarchar(32)
? Declare @strUserName1 as nvarchar(64)
? Declare @strUserName2 as nvarchar(64)
? Declare @nUserIndex1 as int
? Declare @nUserIndex2 as int
? Declare @strTabIndex1 as nchar(1)
? Declare @strTabIndex2 as nchar(1)
? Declare @strCatalogID as nvarchar(36)
? Declare @strCatalogName as nvarchar(64)
? Declare @strSQL as nvarchar(1024)
? Declare @strOwner as nvarchar(32)
? Declare @strOwnerName as nvarchar(64)
? Declare @nNDIndex as int
? Declare @strDate as nvarchar(8)
? — 指定用戶A 與 用戶B 的登錄名,最好小寫
? Set @strUserLogin1 = N’用戶A’
? Set @strUserLogin2 = N’用戶B’
? Set @nUserIndex1 = -1
? Set @nUserIndex2 = -1
? — 申請游標,得到用戶個人網(wǎng)盤信息
? Declare userindex_cursor cursor for (SELECT Lower( CN_S_OWNER_ID ), CN_S_OWNER_NAME, CN_N_NDX FROM OI_ND_USER WHERE CN_S_OWNER_ID IN ( @strUserLogin1, @strUserLogin2 ) )
? — 打開游標
? Open userindex_cursor
? — 開始循環(huán)游標變量
? Fetch Next From userindex_cursor into @strOwner, @strOwnerName, @nNDIndex
? — FETCH 后的游標狀態(tài)
? While @@FETCH_STATUS = 0
? Begin
? ? If @strOwner = @strUserLogin1
? ? Begin
? ? ? Set @nUserIndex1 = @nNDIndex
? ? ? Set @strUserName1 = @strOwnerName
? ? End
? ? Else
? ? Begin
? ? ? Set @nUserIndex2 = @nNDIndex
? ? ? Set @strUserName2 = @strOwnerName
? ? End
? ? — 轉(zhuǎn)到下一個游標
? ? Fetch Next From userindex_cursor into @strOwner, @strOwnerName, @nNDIndex
? End
? — 關(guān)閉游標
? Close userindex_cursor
? — 釋放游標
? Deallocate userindex_cursor
? — 判斷用戶索引
? If @nUserIndex1 = -1 Or @nUserIndex2 = -1
? Begin
? ? Print N’指定的用戶不存在’
? ? Return
? End
? — 生成表索引
? Set @strTabIndex1 = Str( @nUserIndex1, 1 )
? Set @strTabIndex2 = Str( @nUserIndex2, 1 )
? — 在用戶B根目錄下創(chuàng)建存放轉(zhuǎn)移數(shù)據(jù)的目錄:轉(zhuǎn)自【用戶A】_YYYYmmdd
? Print N’創(chuàng)建轉(zhuǎn)移數(shù)據(jù)的目錄’
? Set @strCatalogID = NewID()
? Set @strDate = Left( Convert( char(8), GetDate(), 112 ), 8 )
? Set @strCatalogName = ‘轉(zhuǎn)自【’ + @strUserName1 + ‘】_’ + @strDate
? Set @strSQL = N’INSERT INTO OI_ND_CATALOG ( CN_S_ID, CN_S_NAME, CN_N_DOC_LIST_TYPE, CN_N_SHARE, CN_S_CREATOR_ID, CN_S_CREATOR, CN_T_CREATE, CN_N_ORDER, CN_S_PARENTID ) ‘ +
N’VALUES ( ”’ + @strCatalogID + ”’, ”’ + @strCatalogName + ”’, 0, 0, ”’ + @strUserLogin2 + ”’, ”’ + @strUserName2 + ”’, GetDate(), 0, ”” )’
? EXEC( @strSQL )
? — 索引值相同,直接替換
? If @nUserIndex1 = @nUserIndex2
? Begin
? ? Print N’用戶索引相同’
? ? — 個人文檔表
? ? Print N’個人文檔表’
? ? Set @strSQL = N’UPDATE OI_ND_DOC_’ + @strTabIndex1 + N’ SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CREATOR = ”’ + @strUserName2 + N”’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? ? — 根級目錄文檔
? ? Print N’根級目錄文檔’
? ? Set @strSQL = N’UPDATE OI_ND_CATALOG_HLINK_’ + @strTabIndex1 + N’ SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CATALOG_ID = ”’ + @strCatalogID + N”’ WHERE (CN_S_CATALOG_ID IS NULL OR CN_S_CATALOG_ID = ””) AND CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? ? — 子級目錄文檔
? ? Print N’子級目錄文檔’
? ? Set @strSQL = N’UPDATE OI_ND_CATATLOG_HLINK_’ + @strTabIndex1 + N’ SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? End
? — 索引值不同,數(shù)據(jù)記錄遷移(記錄復(fù)制至 B用戶索引表,刪除A用戶索引表記錄)
? Else
? Begin
? ? Print N’用戶索引不相同’
? ? — 個人文檔表,復(fù)制
? ? Print N’個人文檔表,復(fù)制’
? ? Set @strSQL = N’INSERT INTO OI_ND_DOC_’ + @strTabIndex2 + N’ ( CN_S_ID, CN_S_FILE_NAME, CN_S_FILE_TYPE, CN_N_FILE_SIZE, CN_T_FILE_DATETIME, CN_S_FILE_MD5, CN_S_FILE_SERVER, CN_G_FILE_ID, CN_G_PDF_FILE_ID, CN_G_FLASH_FILE_ID, CN_G_THUMB_IMAGE_ID, CN_S_THUMB_URL, ‘ +
N’CN_S_CREATOR_ID, CN_S_CREATOR, CN_T_CREATE, CN_S_VERSION, CN_S_TAGS_NAME, CN_N_SHARE, CN_N_MOD, CN_S_NOTE, CN_S_SYS_NOTE ) ‘ +
N’SELECT CN_S_ID, CN_S_FILE_NAME, CN_S_FILE_TYPE, CN_N_FILE_SIZE, CN_T_FILE_DATETIME, CN_S_FILE_MD5, CN_S_FILE_SERVER, CN_G_FILE_ID, CN_G_PDF_FILE_ID, CN_G_FLASH_FILE_ID, CN_G_THUMB_IMAGE_ID, CN_S_THUMB_URL, ‘ +
N”” + @strUserLogin2 + N”’, ”’ + @strUserName2 + N”’, CN_T_CREATE, CN_S_VERSION, CN_S_TAGS_NAME, CN_N_SHARE, CN_N_MOD, CN_S_NOTE, CN_S_SYS_NOTE ‘ +
N’FROM OI_ND_DOC_’ + @strTabIndex1 +
N’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? ? — 刪除
? ? Print N’個人文檔表,刪除’
? ? Set @strSQL = N’DELETE OI_ND_DOC_’ + @strTabIndex1 + N’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? ? — 根級目錄文檔,復(fù)制
? ? Print N’根級目錄文檔,復(fù)制’
? ? Set @strSQL = N’INSERT INTO OI_ND_CATALOG_HLINK_’ + @strTabIndex2 + N’ ( CN_S_CREATOR_ID, CN_S_CATALOG_ID, CN_S_OBJ_ID, CN_S_DISPLAY_NAME, CN_S_FILE_TYPE, CN_N_FILE_SIZE, CN_S_THUMB_URL, CN_T_FILE_DATETIME, CN_S_EXTATTR, CN_N_SHARE, CN_T_LINK, CN_S_TAGS ) ‘ +
N’SELECT ”’ + @strUserLogin2 + N”’, ”’ + @strCatalogID + N”’, CN_S_OBJ_ID, CN_S_DISPLAY_NAME, CN_S_FILE_TYPE, CN_N_FILE_SIZE, CN_S_THUMB_URL, CN_T_FILE_DATETIME, CN_S_EXTATTR, CN_N_SHARE, CN_T_LINK, CN_S_TAGS ‘ +
N’FROM OI_ND_CATALOG_HLINK_’ + @strTabIndex1 +
N’ WHERE (CN_S_CATALOG_ID IS NULL OR CN_S_CATALOG_ID = ””) AND CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? ? — 刪除
? ? Print N’根級目錄文檔,刪除’
? ? Set @strSQL = N’DELETE OI_ND_CATALOG_HLINK_’ + @strTabIndex1 + N’ WHERE (CN_S_CATALOG_ID IS NULL OR CN_S_CATALOG_ID = ””) AND CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? ? — 子級目錄文檔,復(fù)制
? ? Print N’子級目錄文檔,復(fù)制’
? ? Set @strSQL = N’INSERT INTO OI_ND_CATALOG_HLINK_’ + @strTabIndex2 + N’ ( CN_S_CREATOR_ID, CN_S_CATALOG_ID, CN_S_OBJ_ID, CN_S_DISPLAY_NAME, CN_S_FILE_TYPE, CN_N_FILE_SIZE, CN_S_THUMB_URL, CN_T_FILE_DATETIME, CN_S_EXTATTR, CN_N_SHARE, CN_T_LINK, CN_S_TAGS ) ‘ +
N’SELECT ”’ + @strUserLogin2 + N”’, CN_S_CATALOG_ID, CN_S_OBJ_ID, CN_S_DISPLAY_NAME, CN_S_FILE_TYPE, CN_N_FILE_SIZE, CN_S_THUMB_URL, CN_T_FILE_DATETIME, CN_S_EXTATTR, CN_N_SHARE, CN_T_LINK, CN_S_TAGS ‘ +
N’FROM OI_ND_CATALOG_HLINK_’ + @strTabIndex1 +
N’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? ? — 刪除
? ? Print N’子級目錄文檔,刪除’
? ? Set @strSQL = N’DELETE OI_ND_CATALOG_HLINK_’ + @strTabIndex1 + N’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? ? EXEC( @strSQL )
? End
? — 未分表的數(shù)據(jù)表,直接替換
? — 回收站,原根目錄文檔
? Print N’回收站,原根目錄文檔’
? Set @strSQL = N’UPDATE OI_ND_DOC_DELETE SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CREATOR = ”’ + @strUserName2 + N”’, CN_S_DELETED_BY_ID = ”’ + @strUserLogin2 + N”’, CN_S_DELETED_BY = ”’ + @strUserName2 + N”’, CN_G_CATALOG_ID = ”’ + @strCatalogID + N”’ ‘ +
N’WHERE (CN_G_CATALOG_ID IS NULL OR CN_G_CATALOG_ID = ””) AND CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? EXEC( @strSQL )
? — 回收站,其它目錄文檔
? Print N’回收站,其它目錄文檔’
? Set @strSQL = N’UPDATE OI_ND_DOC_DELETE SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CREATOR = ”’ + @strUserName2 + N”’, CN_S_DELETED_BY_ID = ”’ + @strUserLogin2 + N”’, CN_S_DELETED_BY = ”’ + @strUserName2 + N”’ ‘ +
N’WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? EXEC( @strSQL )
? — 歷史表
? Print N’歷史表’
? Set @strSQL = N’UPDATE OI_ND_DOC_HISTORY SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CREATOR = ”’ + @strUserName2 + N”’, CN_S_OPERATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_OPERATOR = ”’ + @strUserName2 + N”’ ‘ +
N’WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? EXEC( @strSQL )
? — 根級目錄
? Print N’根級目錄’
? Set @strSQL = N’UPDATE OI_ND_CATALOG SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CREATOR = ”’ + @strUserName2 + N”’, CN_S_PARENTID = ”’ + @strCatalogID + N”’ ‘ +
N’WHERE (CN_S_PARENTID IS NULL OR CN_S_PARENTID = ””) AND CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? EXEC( @strSQL )
? — 子級目錄
? Print N’子級目錄’
? Set @strSQL = N’UPDATE OI_ND_CATALOG SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CREATOR = ”’ + @strUserName2 + N”’ ‘ +
N’WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? EXEC( @strSQL )
? — 共享出去信息替換
? Print N’共享出去信息替換’
? Set @strSQL = N’UPDATE OI_ND_SHARE_OUT SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? EXEC( @strSQL )
? — 刪除共享進來 A -> B,B -> A 記錄
? Print N’刪除共享進來 A -> B,B -> A 記錄’
? Set @strSQL = N’DELETE OI_ND_SHARE_IN WHERE (CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N”’ AND CN_S_SHARER_ID = ”’ + @strUserLogin2 + N”’) OR (CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’ AND CN_S_SHARER_ID = ”’ + @strUserLogin1 + N”’)’
? EXEC( @strSQL )
? — 共享進來信息替換
? Print N’共享進來信息替換’
? Set @strSQL = N’UPDATE OI_ND_SHARE_IN SET CN_S_CREATOR_ID = ”’ + @strUserLogin2 + N”’, CN_S_CREATOR = ”’ + @strUserName2 + N”’ WHERE CN_S_CREATOR_ID = ”’ + @strUserLogin1 + N””
? EXEC( @strSQL )
END
GO
]]>
-
將所有人員都開通網(wǎng)盤功能
http://www.2715333.com/960/
Tue, 08 Jun 2021 07:40:22 +0000
http://www.2715333.com/?p=960
將所有人員都開通網(wǎng)盤功能,數(shù)據(jù)庫需要在 Oiorg上運行,系統(tǒng)支持?MSSql及Oracle數(shù)據(jù)庫
— 將目前oiorg表內(nèi)已有的用戶 全部開通網(wǎng)盤
— 創(chuàng)建數(shù)據(jù)庫連接
Create Database link DBLink_Org
connect to amuser identified by Am123123
using ‘127.0.0.1:1521/OIOrg’;
INSERT INTO OI_ND_USER ( CN_S_OWNER_ID, CN_S_OWNER_NAME, CN_C_ACTIVE,
CN_N_NETDISK_CAPACITY, CN_N_NETDISK_USED,
CN_N_NDX, CN_S_BAK,
CN_T_LAST_LIST_SHAREIN, CN_T_CREATE,
CN_G_UNIT_ID, CN_S_UNIT_NAME,
CN_C_CLEAN )
SELECT S_C1, S_C2, ‘Y’,
10737418240, 0,
0, ”,
NULL, sysdate,
‘ ‘, ‘ ‘,
‘N’
FROM OI_ORG_T008@DBLink_Org
Where s_c1 not in ( Select cn_s_owner_id from OI_ND_USER )
— 刪除數(shù)據(jù)庫連接
DROP DATABASE LINK DBLink_Org;
]]>
-
人員維護-將好友從老版本導(dǎo)入
http://www.2715333.com/934/
Mon, 07 Jun 2021 04:38:47 +0000
http://www.2715333.com/?p=934
— 目的將 AM8數(shù)據(jù)庫表的好友,轉(zhuǎn)入到 OIOrg表,這個sql 需要在 oiorg 表環(huán)境下運行? (先在am8數(shù)據(jù)庫運行同名)
— 得到用戶所有分組,分組成員版本初始為 1
INSERT INTO OI_ORG_CONTACT_GROUP ( S_OWNER, G_ID, S_NAME, N_MEMBER_VER )
SELECT c.S_OWNER, c.G_GROUPID, g.S_NAME, 1
FROM [AM8].[dbo].[OI_STK_CUSTOMVIEW] c
INNER JOIN [AM8].[dbo].[OI_STK_CUSTOMGROUP] g ON g.G_GROUP = c.G_GROUPID
GROUP BY c.S_OWNER, c.G_GROUPID, g.S_NAME
ORDER BY c.S_OWNER, c.G_GROUPID
— 得到所有用戶聯(lián)系人,會過濾掉所在分組已經(jīng)沒有的數(shù)據(jù)
INSERT INTO OI_ORG_CONTACT ( S_OWNER, S_USER_LOGIN, G_GROUP_ID )
SELECT c.S_OWNER, c.S_USERLOGIN, c.G_GROUPID
FROM [AM8].[dbo].[OI_STK_CUSTOMVIEW] c
WHERE c.S_USERLOGIN <> ”
AND (G_GROUPID IN ( Select G_GROUP From [AM8].[dbo].[OI_STK_CUSTOMGROUP] )
ORG_GROUPID = ‘{00000000-0000-0000-0000-000000000000}’ )
ORDER BY c.S_OWNER, c.G_GROUPID, c.S_USERLOGIN
— 得到人員的聯(lián)系人版本號
UPDATE OI_ORG_T008 SET N_C41 = b.N_VER
FROM ( SELECT S_OWNER, Max( N_VER ) AS N_VER
? FROM [AM8].[dbo].[OI_STK_CUSTOMVIEW]
? GROUP BY S_OWNER ) b
WHERE S_C1 = b.S_OWNER
— 人員的聯(lián)系人分組版本號,有分組就置 1
UPDATE OI_ORG_T008 SET N_C42 = 1 WHERE S_C1 IN ( Select S_OWNER From OI_ORG_CONTACT_GROUP )
— 清除 AM8 數(shù)據(jù)表中的 聯(lián)系人 數(shù)據(jù)
— TRUNCATE TABLE [AM8].[dbo].[OI_STK_CUSTOMVIEW]
— GO
— TRUNCATE TABLE [AM8].[dbo].[OI_STK_CUSTOMGROUP]
— GO
]]>