You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sql-tools/Import/YiJia-MemCard.sql

306 lines
8.7 KiB

1 year ago
SELECT * FROM MemCard
use JiNan_FaBa_ZhongGongDian
--<EFBFBD><EFBFBD>Ա
ALTER TABLE MemCard ADD FMemId BIGINT
ALTER TABLE MemCard ADD FCardId BIGINT
ALTER TABLE MemCard ADD FCardTypeName VARCHAR(100)
ALTER TABLE MemCard ADD FMemNo VARCHAR(50)
ALTER TABLE MemCard ADD FCardNo VARCHAR(50)
ALTER TABLE MemCard ADD FName VARCHAR(50)
ALTER TABLE MemCard ADD FGender INT
ALTER TABLE MemCard ADD FMobile VARCHAR(50)
ALTER TABLE MemCard ADD FBirthdayType VARCHAR(50)
ALTER TABLE MemCard ADD FBirthday DATETIME
ALTER TABLE MemCard ADD FCompId BIGINT
ALTER TABLE MemCard ADD FCardTypeId BIGINT
ALTER TABLE MemCard ADD FMemo VARCHAR(MAX)
ALTER TABLE MemCard ADD FBalance DECIMAL(18,6)
ALTER TABLE MemCard ADD FBalance2 DECIMAL(18,6)
ALTER TABLE MemCard ADD FPoint DECIMAL(18,6)
ALTER TABLE MemCard ADD FCreateDate DATETIME
ALTER TABLE MemCard ADD FExpiredDate DATETIME
SELECT * FROM CardLevel
INSERT INTO TMemberCardType(FId,FNo,FName,FValueType,FMaterial,FPrice,FCardFeeAmt,FAcctId,FDeposit,FAcctId2,FDeposit2,FAcctId3,FDeposit3,FTimes,FAlertBalance,FMinRchgAmt,FSalePointMode,FSalePointValue,FRchgPointMode,FRchgPointValue,FPaySmsFee,FTimeCard,FValidityPeriod,FValidityPeriodUnit,FExpiredDate,FDefaultMemo,FCreateTime,FAllowSale,FAllowRchg,FDeptId,FEnabled,FOrder)
SELECT FId = 10000 + Id,'' + levelName,levelName as name,1,FMaterial = 2,0,FCardFeeAmt = 0,FAcctId = 3,FDeposit = 0,FAcctId2 = 0,FDeposit2 = 0 ,FAcctId3 = 0,FDeposit3 = 0,
FTimes = 0,FAlertBalance = 0,FMinRchgAmt = 0,FSalePointMode = 0,FSalePointValue = 0 ,FRchgPointMode = 0,FRchgPointValue = 0,FPaySmsFee = 0,FTimeCard = 0,FValidityPeriod = 100,FValidityPeriodUnit = 1,
FExpiredDate = NULL,FDefaultMemo = '',FCreateTime = GETDATE(),1,1,FDeptId = 0,FEnabled =1,FOrder = 1
FROM CardLevel
SELECT * FROM MemCard
UPDATE MemCard SET FCardId = dbo.FNNewId() WHERE FCardId IS NULL
UPDATE MemCard SET FMemId = dbo.FNNewId() WHERE FMemId IS NULL
delete MemCard where id = 59
UPDATE MemCard SET FName = name
UPDATE MemCard SET FMobile = Mobile
UPDATE MemCard SET FMemNO = cardId
UPDATE MemCard SET FCardNo = cardId
UPDATE MemCard SET FCompId = 1
UPDATE MemCard SET FGender = CASE WHEN sex = 0 THEN 0 ELSE 1 END
UPDATE MemCard SET FMemo = ISNULL(remark,'')
UPDATE MemCard SET FMemo = '' WHERE FMemo IS NULL
UPDATE MemCard SET FPoint = Point
UPDATE MemCard SET FName = FMobile WHERE FName IS NULL
UPDATE MemCard SET FName = FMemNo WHERE FName IS NULL
UPDATE MemCard SET FBalance = money
SELECT * FROM MemCard
UPDATE MemCard SET FExpiredDate = dateadd(year,100,FCreateDate) where FExpiredDate IS NULL
UPDATE MemCard SET FCreateDate = createtime
UPDATE MemCard SET FExpiredDate = dateadd()
UPDATE A
SET A.FCardTypeId = B.FId
FROM MemCard AS A,TMemberCardType AS B
WHERE A.levelName = B.FName
SELECT * FROM MemCard WHERE FExpiredDate IS NULL
UPDATE MemCard SET FBirthdayType = 'G'
SELECT FMemNo,SUM(1)
FROM MemCard
GROUP BY FMemNo
HAVING(SUM(1) > 1)
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DROP TABLE #Card
SELECT FCardNo into #Card
FROM MemCard
GROUP BY FCardNo
HAVING(SUM(1)) > 1
ALTER TABLE MemCard ADD FSeq INT IDENTITY
ALTER TABLE MemCard ADD FIndex INT
UPDATE A
SET A.FIndex = 1+(SELECT COUNT(1) FROM MemCard AS B WHERE A.FCardNo = B.FCardNo AND (A.FCreateDate > B.FCreateDate OR (A.FCreateDate = B.FCreateDate AND (A.FSeq > B.FSeq) )))
FROM MemCard AS A
UPDATE MemCard SET FCardNo = FCardNo + '.' + CAST(FIndex AS VARCHAR)
WHERE FCardNo IN( SELECT FCardNo FROM #Card)
UPDATE MemCard SET FBirthdayTYPE = 'G'
INSERT INTO TMember(
FMemId,
FMemNo,
FName,
FBriefCode,
FTypeId,
FCompId,
FCreateDate,
FGender,
FBirthdayType,
FBirthday,FTelephone,FMobilePhone,FQQ,FWeChat,FIdCard,FEmail,FAddress,FProId,FCPW,FQPW,
FChargeEmpId,FPoint,FRecvConsSMS,FRecvBulkSMS,FMemo,FCustom1,FCustom2,FCustom3,FCustom4,FCustom5)
SELECT FMemId AS FMemId,
FMemNo AS FMemNo,
FName AS FName,
dbo.FNGetFirstPinYin(FName),
0 AS FTypeId,
FCompId AS FCompId,
FCreateDate AS FCreateDate,
FGender AS FGender,
FBirthdayType AS FBirthdayType,
FBirthday AS FBirthday,
'' AS FTelephone,
ISNULL(FMobile,'') AS FMobilePhone,
'' AS FQQ,
'' AS FWeChat,
'' AS FIdCard,
'' AS FEmail,
'' AS FAddress,
0 AS FProId,
'' AS FCPW,
'' AS FQPW,
0 AS FChargeEmpId,
0 AS FPoint,
1 AS FRecvConsSMS,
1 AS FRecvBulkSMS,
'' AS FMemo,
'' AS FCustom1,'' AS FCustom2,'' AS FCustom3,'' AS FCustom4,'' AS FCustom5
from MemCard
UPDATE MemCard SET FCompId = dbo.FNCompId('002')
UPDATE A
SET A.FCompId = B.FCompId
FROM MemCard AS B,TMemberCardAccthist AS A
WHERE A.FMemId = B.FMemId
--Ƿ<EFBFBD><EFBFBD>
--<EFBFBD>˻<EFBFBD>Ƿ<EFBFBD><EFBFBD>
SELECT * FROM MemCard WHERE FArrear > 0
INSERT TMemberArrear(FId,FMemId,FTime,FCompId,FContentType,FCardId,FBillType,FBizType,FTransId,FTransNo,FTransDetailId,FContentId,FArrear,FEmpId,FRepaid,FAcctArrear)
SELECT dbo.FNNewId(),A.FMemId,getdate(),A.FCompId,'Account',A.FCardId,'DR_KK','DR_CardSale',0,'',0,3,A.FArrear,0,0,A.FArrear
FROM MemCard AS A
WHERE A.FArrear > 0
UPDATE A
SET A.FBalance = B.FBalance - B.FArrear,
A.FArrear = B.FArrear
FROM TMemberCardAccount AS A,MemCard AS B
WHERE A.FCardId = B.FCardId
AND A.FAcctId = 3
AND B.FArrear > 0
UPDATE A
SET A.FBalance = B.FBalance - B.FArrear,
A.FInAmount = B.FBalance - B.FArrear,
A.FArrear = B.FArrear
FROM TMemberCardAcctHist AS A,MemCard AS B
WHERE A.FCardId = B.FCardId
AND A.FAcctId = 3
AND A.FBillType = 'DR'
AND B.FArrear > 0
SELECT * FROM TMemberCardAccount
WHERE 1=1
AND FArrear > 0
AND FCardId IN(SELECT FCardId FROM MemCard)
AND FCardId IN(SELECT FC)
ALTER TABLE MemCard ADD FArrear DECIMAL(18,6)
UPDATE MemCard SET FArrear = owedAmount
update MemCard SET FCardTypeId = 10000 + LevelId
INSERT INTO TMemberCard(
FCardId,
FCardNo,
FTypeId,
FValueType,
FCompId,
FMemId,
FState,
FCreateDate,
FExpiredDate,
FTotalTimes,
FUsedTimes,
FSaleCompId,
FSaleBillId,
FMemo)
SELECT
FCardId AS FId,
FMemNo AS FNo,
FCardTypeId AS FTypeId,
(SELECT FValueType FROM TMemberCardType WHERE FId = FCardTypeId) AS FValueType,
FCompId AS FCompId,
FMemId AS FMemId,
1 AS FState,
FCreateDate AS FCreateDate,
FExpiredDate AS FExpiredDate,
0 AS FTotalTimes,
0 AS FUsedTimes,
FCompId AS FSaleCompId,
0 AS FSaleBillId,
FMemo AS FMemo
FROM MemCard
SELECT * FROM MemCard WHERE State != 0
DELETE TMemberCard WHERE FCardId NOT IN(SELECT FCardId FROM MemCard WHERE State = 0)
INSERT TMemberCardAccount(FMemId,FId,FCardId,FAcctId,FDeposit,FBalance,FArrear,FCreateDate,FExpiredDate,FMemo)
SELECT FMemId,dbo.FNNewId(),FCardId AS FCardId,3,FBalance,FBalance,0,FCreateDate,NULL AS FExpiredDate,''
FROM MemCard
INSERT TMemberCardAcctHist(FId,FMemId,FCardId,FAcctId,FTime,FCardTypeId,FCompId,FBillType,FBizType,FTransId,FTransNo,FInAmount,FOutAmount,FBalance,FArrear,FRecordTime,FMemo)
select dbo.FNNewId(),A.FMemId,A.FCardId,3,getdate(),A.FCardTypeId,A.FCompId,'DR','Import',0,'',A.FBalance,0,A.FBalance,0,getdate(),'<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>'
FROM MemCard AS A
WHERE FCardTypeId IS NOT NULL
INSERT TMemberCardAccount(FMemId,FId,FCardId,FAcctId,FDeposit,FBalance,FArrear,FCreateDate,FExpiredDate,FMemo)
SELECT FMemId,dbo.FNNewId(),FCardId AS FCardId,10,FBalance2,FBalance2,0,FCreateDate,NULL AS FExpiredDate,''
FROM MemCard
WHERE FBalance2 > 0
INSERT TMemberCardAcctHist(FId,FMemId,FCardId,FAcctId,FTime,FCardTypeId,FCompId,FBillType,FBizType,FTransId,FTransNo,FInAmount,FOutAmount,FBalance,FArrear,FRecordTime,FMemo)
select dbo.FNNewId(),A.FMemId,A.FCardId,10,getdate(),A.FCardTypeId,A.FCompId,'DR','Import',0,'',A.FBalance2,0,A.FBalance2,0,getdate(),'<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD>'
FROM MemCard AS A
WHERE FBalance2 > 0
ALTER TABLE OrderLog ADD FCompId BIGINT
ALTER TABLE OrderLog ADD FMemId BIGINT
ALTER TABLE OrderLog ADD FCardId BIGINT
SELECT * FROM ORderLog
UPDATE A
SET A.FMemId = B.FMemId,
A.FCompId = B.FCompId,
A.FCardId = B.FCardId
FROM ORderLog AS A,MemCard AS B
WHERE A.MemId = B.id
INSERT TMemberOldTransHist(FId,FMemId,FTime,FCardId,FCompId,FBillType,FBizType,FTransNo,FContent,FPrice,FQuantity,FAmount,FPayment,FEmployee,FMemo)
SELECT DBO.FNNewId(),A.FMemId,A.CreateTime,0,A.FCompId,'DR','Import',a. orderCode, B.GoodsName,b.discountPrice,b.number,a.discountMoney,'',isnull('',''),''
FROM OrderLog AS A,OrderDetail AS B
WHERE A.OrderCode = b.orderCode
AND A.FMemId IS NOT NULL
SELECT * FROM TMemberOldTransHist
SELECT * FROM OrderDetail