提示
原始需求:接收到的第一版需求 需求增补:后续对原始需求的变更 执行方案概述:初次给出的方案 时间队列:方案执行进度,快捷键 Alt + 2,插入时间行
任务列表
需求描述
原始需求
【需求】经集团聂祥总确认,CRM“客户”对象,“业务类型”=国内客户,做以下几点调整
1、公司规模系统依据以下条件自动判断:
(1)特大企业:注册资本>10亿
(2)大型企业:1亿≤注册资本<10亿
(3)中小型企业:1千万≤注册资本<1亿
(4)小型企业:注册资本<1千万
2、定位字段取消必填
需求增补(需求确认)
IT执行
执行方案概述
注册资本、税号等字段由系统内部固有功能工商信息级联带出,不会触发UI事件,因此UI事件挂载在公司性质上
新建UI事件,目标字段:注册资本、公司性质
/**
* 根据 客户名称查询注册资本 赋值 公司规模
* 注册资本有两种格式,一种是“100万人民币”,一种是“100”
*/
String recordType = context.data.record_type as String
String createAmount = context.data.field_941Sf__c as String ?: "none"
String companySize = "" //公司规模
if(triggerField == "company_nature__c" || triggerField == "field_941Sf__c"){
if(recordType == "default__c"){
log.info("注册资本: " + createAmount)
// 找到“万人民币”在字符串中的位置
def index = createAmount.indexOf("万")
log.info("index: " + index)
BigDecimal amount = 0
// 截取数字部分
if(index != -1){ //包含“万”字
def numericString = createAmount.substring(0, index)
log.info("截取后文本 金额: " + numericString)
// 将数字字符串转换为 double
def numericPart = numericString as BigDecimal //单位是万元
// 将“万”转换为实际金额
if(numericPart){
amount = numericPart * 10000
log.info("转换后金额: " + amount)
}
}else{ //不符合“万”字格式
//判断注册资本是否为纯数字
if(createAmount.isNumber()){
amount = (createAmount as BigDecimal) * 10000
log.info("注册资本为纯数字,金额: " + amount)
}
}
if (amount >= 1000000000) {
companySize = "GSGM01SYS"
} else if (amount >= 100000000) {
companySize = "GSGM02SYS"
} else if (amount >= 10000000) {
companySize = "GSGM03SYS"
} else if (amount > 0) {
companySize = "GSGM04SYS"
} else {
companySize = "other"
}
}
}