#2
yiyanxiyin2024-04-25 18:24
|
只有本站会员才能查看附件,请 登录
程序代码:
* 打开基础表格
USE 号码归属客户判断
* 创建客户编码计数器
lnCustomerCount = 1
* 遍历表格数据,从第一行开始比较到倒数第二行
FOR lnRow = 1 TO RECCOUNT() - 1
* 定位到当前行
GO lnRow
* 获取当前行的地址、用户ID和合户代付群主ID
lcCurrentAddress = Address
lcCurrentUserID = UserID
lcCurrentGroupID = GroupOwnerID
lnCurrentCustomerNum = CustomerNum && 当前行的客户编码
* 初始化系数
lnAddressFactor = 0
lnUserFactor = 0
lnGroupFactor = 0
* 从下一行开始比较
FOR lnNextRow = lnRow + 1 TO RECCOUNT()
* 定位到下一行
GO lnNextRow
* 获取下一行的地址、用户ID和合户代付群主ID
lcNextAddress = Address
lcNextUserID = UserID
lcNextGroupID = GroupOwnerID
* 计算地址系数
IF lcCurrentAddress = lcNextAddress
lnAddressFactor = 0.3
ENDIF
* 计算用户系数
IF lcCurrentUserID = lcNextUserID
lnUserFactor = 0.2
ENDIF
* 计算合户系数
IF lcCurrentGroupID = lcNextGroupID
lnGroupFactor = 0.2
ENDIF
* 判断系数之和是否大于等于0.7,如果是则分配客户编码
IF lnAddressFactor + lnUserFactor + lnGroupFactor >= 0.7
IF EMPTY(lnCurrentCustomerNum)
lcNewCustomerNum = "A" + TRANSFORM(lnCustomerCount)
lnCustomerCount = lnCustomerCount + 1
* 使用 SCAN ... ENDSCAN 结构来更新客户编码字段
SCAN
IF RECNO() = lnRow OR RECNO() = lnNextRow
REPLACE CustomerNum WITH lcNewCustomerNum
ENDIF
ENDSCAN
ELSE
* 更新下一行的客户编码字段
REPLACE CustomerNum WITH lnCurrentCustomerNum FOR RECNO() = lnNextRow
ENDIF
ENDIF
ENDFOR
NEXT
* 关闭基础表格
USE IN 号码归属客户判断