#' 获取品牌信息
#'
#' @param conn 连接
#'
#' @return 返回值
#' @export
#'
#' @examples
#' mrpt_md_brand()
mrpt_md_brand<- function(conn=tsda::conn_rds('jlrds')) {
sql <- paste0("select distinct FBrand from t_mrpt_brand")
r <- tsda::sql_select(conn = conn,sql)
ncount <- nrow(r)
if(ncount>0){
res <-tsdo::vect_as_list(r$FBrand)
}
return(res)
}
#' 获取渠道信息
#'
#' @param conn 连接
#'
#' @return 返回值
#' @export
#'
#' @examples
#' mrpt_md_channel()
mrpt_md_channel<- function(conn=tsda::conn_rds('jlrds')) {
sql <- paste0("select distinct FChannel
from t_mrpt_channel")
r <- tsda::sql_select(conn = conn,sql)
ncount <- nrow(r)
if(ncount>0){
res <-tsdo::vect_as_list(r$FChannel)
}
return(res)
}
#' 获取渠道信息并具有子渠道
#'
#' @param conn 连接
#'
#' @return 返回值
#' @export
#'
#' @examples
#' mrpt_md_channel2()
mrpt_md_channel2<- function(conn=tsda::conn_rds('jlrds')) {
sql <- paste0("select distinct FChannel
from t_mrpt_channel2 ")
r <- tsda::sql_select(conn = conn,sql)
ncount <- nrow(r)
if(ncount>0){
res <-tsdo::vect_as_list(r$FChannel)
}
return(res)
}
#' 获取子渠道信息
#'
#' @param conn 连接
#'
#' @return 返回值
#' @export
#'
#' @examples
#' mrpt_md_channel()
mrpt_md_subChannel<- function(conn=tsda::conn_rds('jlrds')) {
sql <- paste0("select FName from t_mrpt_subChannel")
r <- tsda::sql_select(conn = conn,sql)
ncount <- nrow(r)
if(ncount>0){
res <-tsdo::vect_as_list(r$FName)
}
return(res)
}
#' 自然堂电商科目及报表项目对照表
#'
#' @param conn 连接
#' @param file_name 文件名
#'
#' @return 返回值
#' @export
#'
#' @examples
#' mrpt_md_channel()
mrpt_md_chando_acctRpt_read<- function(conn=tsda::conn_rds('jlrds'),
file_name ="data-raw/md/自然堂电商科目及报表项目对照表模板.xlsx"
) {
data <- readxl::read_excel(file_name,
sheet = "对照表",
col_types = c("text", "text", "text",
"text"))
ncount <- nrow(data)
if(ncount >0){
names(data) <- c('FAcctNumber','FAcctName','FRptItemNumber','FRptItemName')
#清空原来数据
sql <- paste0("delete from t_mrpt_chando_acctRptItem")
tsda::sql_update(conn,sql)
#上传新的数据
tsda::db_writeTable(conn = conn,table_name = 't_mrpt_chando_acctRptItem',r_object = data,append = T)
}
}
#' 自然堂电商科目及报表项目对照表
#'
#' @param conn 连接
#'
#' @return 返回值
#' @export
#'
#' @examples
#' mrpt_md_channel()
mrpt_md_chando_acctRpt_select<- function(conn=tsda::conn_rds('jlrds')) {
sql <- paste0("select * from t_mrpt_chando_acctRptItem")
r <- tsda::sql_select(conn = conn,sql)
ncount <- nrow(r)
if(ncount>0){
res <-r
names(res) <- c('科目代码', '科目名称', '报表项目代码', '报表项目名称')
}
return(res)
}
#' 成本中心上传功能
#'
#' @param conn 连接
#' @param file_name 文件名
#' @param FYear 年月
#' @param FPeriod 月份
#'
#' @return 返回值
#' @export
#'
#' @examples
#' mrpt_md_ui_costCenter_read()
mrpt_md_ui_costCenter_read<- function(conn=tsda::conn_rds('jlrds'),
file_name ="data-raw/md/成本中心划分及渠道费用分配表模板.xlsx",
FYear=2021,
FPeriod = 6
) {
data <- readxl::read_excel(file_name)
ncount <- nrow(data)
if(ncount >0){
names(data) <- c('FcostCenter',
'FType',
'FChannel',
'FValue',
'FBrand2',
'FChannel2',
'FYear',
'FPeriod')
data$FYear <- FYear
data$FPeriod <-FPeriod
#清空原来数据
sql <- paste0("delete from t_mrpt_costCenterRatio_sap
where FYear = ",FYear," and FPeriod = ",FPeriod,"")
tsda::sql_update(conn,sql)
#上传新的数据
tsda::db_writeTable(conn = conn,table_name = 't_mrpt_costCenterRatio_sap',r_object = data,append = T)
}
}
#' 成本要素上传功能
#'
#' @param conn 连接
#' @param file_name 文件名
#' @param FYear 年月
#' @param FPeriod 月份
#'
#' @return 返回值
#' @export
#'
#' @examples
#' mrpt_md_ui_costCenter_read()
mrpt_md_ui_costItem_read<- function(conn=tsda::conn_rds('jlrds'),
file_name ="data-raw/md/成本要素模板.xlsx",
FYear=2021,
FPeriod = 6
) {
data <- readxl::read_excel(file_name,col_types = c("text", "text", "text"))
ncount <- nrow(data)
if(ncount >0){
names(data) <- c('FCostItemNumber',
'FCostItemName',
'FRptItemName')
data$FYear <- FYear
data$FPeriod <-FPeriod
data <- data[,c('FCostItemName','FRptItemName','FYear','FPeriod','FCostItemNumber')]
#清空原来数据
sql <- paste0("delete from t_mrpt_costItem_sap
where FYear = ",FYear," and FPeriod = ",FPeriod,"")
tsda::sql_update(conn,sql)
#上传新的数据
tsda::db_writeTable(conn = conn,table_name = 't_mrpt_costItem_sap',r_object = data,append = T)
}
}
#' 检验相关数据的状态
#'
#' @param conn 连接
#' @param FYear 年份
#' @param FPeriod 期间
#'
#' @return 返回值
#' @export
#'
#' @examples
#' mrpt_md_ui_costItem_checkStatus()
mrpt_md_ui_costItem_checkStatus<- function(conn=tsda::conn_rds('jlrds'),
FYear=2021,
FPeriod = 9
) {
sql <- paste0("select 1 from t_mrpt_costItem_sap
where FYear = ",FYear," and FPeriod = ",FPeriod,"")
data = tsda::sql_select(conn,sql)
ncount = nrow(data)
if(ncount >0 ){
res <- FALSE
}else{
res <- TRUE
}
return(res)
}
#' 成本要素同步上月数据至当前月
#'
#' @param conn 连接
#' @param FYear 年月
#' @param FPeriod 月份
#'
#' @return 返回值
#' @export
#'
#' @examples
#' mrpt_md_ui_costItem_syncLastOne()
mrpt_md_ui_costItem_syncLastOne<- function(conn=tsda::conn_rds('jlrds'),
FYear=2021,
FPeriod = 9
) {
#获取上期信息
last_info = md_getLastYearPeriod(conn = conn,FYear = FYear,FPeriod = FPeriod)
FYear_last = last_info[1]
FPeriod_last =last_info[2]
#清空原来数据
sql <- paste0("delete from t_mrpt_costItem_sap
where FYear = ",FYear," and FPeriod = ",FPeriod,"")
tsda::sql_update(conn,sql)
#添加新的内容
sql_ins <- paste0("insert into t_mrpt_costItem_sap
SELECT [FCostItemName]
,[FRptItemName]
,",FYear," as [FYear]
, ",FPeriod," as [FPeriod]
,[FCostItemNumber]
FROM [t_mrpt_costItem_sap]
where FYear = ",FYear_last," and FPeriod = ",FPeriod_last," ")
tsda::sql_update(conn,sql_ins)
}
#' 重分类
#'
#' @param conn 连接
#'
#' @return 返回值
#' @export
#'
#' @examples
#' mrpt_md_channel()
mrpt_md_reClassify_select<- function(conn=tsda::conn_rds('jlrds')) {
sql <- paste0("select FreClassifiedCode,FreClassifiedDesc,FglAcctNumber,FCostItemName
from t_mrpt_rule_sap_reClassified")
r <- tsda::sql_select(conn = conn,sql)
ncount <- nrow(r)
if(ncount>0){
res <-r
names(res) <- c('重分类代码', '重分类描述', '科目代码', '科目名称')
}
return(res)
}
#' 重分类上传
#'
#' @param conn 连接
#' @param file_name 文件名
#'
#' @return 返回值
#' @export
#'
#' @examples
#' mrpt_md_channel()
mrpt_md_reClassify_read<- function(conn=tsda::conn_rds('jlrds'),
file_name = "data-raw/md/重分类及科目对照表.xlsx") {
data <- readxl::read_excel(file_name)
ncount <- nrow(data)
if(ncount>0){
sql_ins <- paste0("insert into t_mrpt_rule_sap_reClassified_bak select * from t_mrpt_rule_sap_reClassified")
tsda::sql_update(conn = conn,sql_ins)
sql_del <- paste0("delete from t_mrpt_rule_sap_reClassified")
tsda::sql_update(conn = conn,sql_del)
data <- data[,c('重分类代码', '重分类描述', '科目代码', '科目名称')]
data <- data[,c('重分类代码', '科目代码', '重分类描述','科目名称')]
names(data) <- c('FreClassifiedCode', 'FglAcctNumber', 'FreClassifiedDesc','FCostItemName')
tsda::db_writeTable(conn = conn,table_name = 't_mrpt_rule_sap_reClassified',r_object = data,append = T)
}
return(data)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.