1、设置——>定制开发平台——>计划任务——>新建计划任务。



Groovy代码如下:
/**
* @author QiaoChu
* @codeName 销售数据每日播报
* @description 销售数据每日企业推送
* @createTime 2024-06-13
*/
//报表ID
def baoId = "BI_e10adc3949ba59abbe56e057";
def (isError, data, errorMsg) = Fx.BI.loadViewData(baoId)
def content = '';
if (!isError) {
//获取总金额
def totalMap = data["displayFields"] as Map
//获取列表金额
def dataSet = data["dataSet"] as List<Map>
def matches = [:].withDefault { 0 }
//log.info(data["displayFields"])
def totalAmount = totalMap[1]["total"];
dataSet.each { map ->
def department = map[0]["formattedValue"]
def formattedAmount = map[1]["formattedValue"]
matches[department] = formattedAmount
def amount = map[1]["value"] as double
}
// content = "| 负责人主属部门 | 本月已发货金额 |\n"
// content += "| --------------- | --------------- |\n"
// // 定义列宽
// def departmentColumnWidth = 16
// def amountColumnWidth = 17
// def totalColumnWidth = 18
// def totalName = "总计"
// matches.each { department, amount ->
// // 计算需要追加的空格数量
// def departmentSpaces = departmentColumnWidth - department.toString().size()
// def amountSpaces = amountColumnWidth - amount.toString().size()
// // 生成对齐后的部门和金额字符串
// def paddedDepartment = department.toString() + " " * departmentSpaces
// def paddedAmount = " " * amountSpaces + amount.toString()
// content += "| ${paddedDepartment} | ${paddedAmount} |\n"
// }
// // 计算总计行金额部分的空格数量
// def totalAmountSpaces = amountColumnWidth - totalAmount.toString().size()
// // 生成对齐后的总计
// def paddedTotalName = totalName.toString() + " " * (totalColumnWidth - totalName.toString().size())
// // 生成对齐后的总计行
// def paddedTotalAmount = " " * totalAmountSpaces + totalAmount.toString()
// content += "| ${paddedTotalName} | ${paddedTotalAmount} |\n"
content = "本月已发货金额播报🎉🎉🎉\n"
def totalName = "总计"
def index = 1
matches.each { department, amount ->
def emoji = index == 1 ? "🥇" : index == 2 ? "🥈" : index == 3 ? "🥉" : "💪"
content += "${emoji}. ${department}: ${amount} \n"
index++
}
content += "🎯. ${totalName}:${totalAmount}"
log.info(content)
//企业微信群机器人唯一标识
def KEY = "fe851c8c-a880-af2e-fcb1-eb73226384cd"
String webhookUrl = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${KEY}"
//开启Wx调试模式
//String webhookUrl = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=${KEY}&debug=1"
Request request = Request.builder()
.method("POST")
.url(webhookUrl)
.timeout(7000)
.retryCount(0)
.header("Content-Type", "application/json")
.body(StringBody.builder().content(["msgtype": "text", "text": ["content": content]]).build())
.build()
def (Boolean error, HttpResult result, String message) = Fx.http.execute(request)
if (error || result.statusCode != 200) {
log.info("error :" + message)
} else {
log.info(result)
}
}
参考:
1、Fx.BI.loadViewData
BI查询接入函数使用说明 | 纷享销客 | 帮助中心
2、Fx.http.execute
Fx.http | 纷享销客 | 帮助中心
1678

被折叠的 条评论
为什么被折叠?



