http://www.2265mk.com 免費合同管理系統(tǒng),好用的合同管理軟件 Sat, 26 Mar 2022 14:06:05 +0000 zh-Hans hourly 1 https://wordpress.org/?v=6.7.1 http://www.2265mk.com/wp-content/uploads/2021/05/cropped-mobox512-32x32.png 二次開發(fā) – 共好合同 http://www.2265mk.com 32 32 創(chuàng)建合同歸檔文檔柜目錄 Catalog_Create http://www.2265mk.com/1335/ Sat, 26 Mar 2022 14:06:05 +0000 http://www.2265mk.com/?p=1335 int Catalog_Create ( char *pszRequest, char *&pszResponse )

參數(shù)說明:

【IN】 Char * pszRequest 輸入?yún)?shù)
<Req>
<DataInfo>
<CabinetID>strCabinetID</CabinetID>
<ParentID>strParentID</ParentID>
<InheritACE>bInheritACE</InheritACE>
[ <CatalogName>strCatalogName</CatalogName> ]
|
[ <Catalog ListType=” Order=” GlobalEdit=” MasterID=” MasterName=”>
<Name>strName</Name>
<Desc>strDesc</Desc>
</Catalog> ]
</DataInfo>
<UserInfo Login=” Name=” SessionID=” />
</Req>

【OUT】 Char *&pszResponse 返回的結(jié)果信息
<Res>
<ErrCode>0</ErrCode>
<ErrInfo>strErrInfo</ErrInfo>
<Result>
<CatalogID>strCatalogID</CatalogID>
<CatalogPath>strCatalogIDPath</CatalogPath>
</Result>
</Res>

說明
CabinetID – 檔案柜ID
ParentID – 父級目錄ID
InheritACE – 繼承上一級目錄權(quán)限
CatalogName – 目錄名稱,支持多級,如:A\B\C
// Catalog ———————-
Name – 目錄名稱
ListType – 目錄列表方式:0 – 詳細(xì)列表,1 – 縮略圖
Order – 順序號
GlobalEdit – 全局編輯
MasterID – 管理員登錄名
MasterName – 管理員名稱
Desc – 描述

CatalogID – 目錄ID
CatalogPath – 創(chuàng)建多級目錄時,返回各級目錄的 ID,
格式:ID;CatalogName\ID;CatalogName\…

]]>
財務(wù)專用:阿拉伯?dāng)?shù)字轉(zhuǎn)中文大寫金額(支持小數(shù)) http://www.2265mk.com/1200/ Fri, 15 Oct 2021 14:44:08 +0000 http://www.2265mk.com/?p=1200 財務(wù)專用:阿拉伯?dāng)?shù)字轉(zhuǎn)中文大寫金額(支持小數(shù))
— 金額小寫數(shù)字 整數(shù)元 轉(zhuǎn)換 中文大寫
function? yuan_zh(szNum)
? ? —阿拉伯?dāng)?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ù)點后 角分 (需獨立獲取)
if strJ ~= nil then
? ? strJiaoFen = jiaofen_zh(strJ)
? ? — 完整大寫金額 拼接后完成
? ? strDaxie = strDaxie..strJiaoFen
end
— for i = 1 ,200 do
? ?print(strDaxie)
— end
]]> 數(shù)據(jù)對象的編號生成 http://www.2265mk.com/1187/ Tue, 12 Oct 2021 06:34:04 +0000 http://www.2265mk.com/?p=1187 數(shù)據(jù)對象的編號生成

1.在日常工作中,編號用處有很多地方,以下是一個編號的生成代碼:
標(biāo)號規(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.2265mk.com/1175/ Sat, 09 Oct 2021 06:40:58 +0000 http://www.2265mk.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.2265mk.com/1030/ Sat, 26 Jun 2021 09:19:16 +0000 http://www.2265mk.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
? — 申請游標(biāo),得到用戶個人網(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 ) )
? — 打開游標(biāo)
? Open userindex_cursor
? — 開始循環(huán)游標(biāo)變量
? Fetch Next From userindex_cursor into @strOwner, @strOwnerName, @nNDIndex
? — FETCH 后的游標(biāo)狀態(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)到下一個游標(biāo)
? ? Fetch Next From userindex_cursor into @strOwner, @strOwnerName, @nNDIndex
? End
? — 關(guān)閉游標(biāo)
? Close userindex_cursor
? — 釋放游標(biāo)
? 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.2265mk.com/960/ Tue, 08 Jun 2021 07:40:22 +0000 http://www.2265mk.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.2265mk.com/934/ Mon, 07 Jun 2021 04:38:47 +0000 http://www.2265mk.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
]]>
东安县| 从江县| 鲁甸县| 和田县| 阳朔县| 封开县| 巴林右旗| 丽水市| 通海县| 大埔县| 金沙县| 公安县| 安泽县| 霍城县| 临漳县| 铜川市| 平度市| 广饶县| 金溪县| 大洼县| 湾仔区| 江达县| 昌都县| 六枝特区| 孟连| 芦山县| 镇康县| 新建县| 高唐县| 修武县| 武威市| 麦盖提县| 崇明县| 肇源县| 乌拉特前旗| 黑水县| 区。| 固原市| 金平| 三原县| 庆阳市|