From 085a8a5ccafde91f652c8288ddbb4e1e089c891d Mon Sep 17 00:00:00 2001 From: yangkunan Date: Wed, 18 Jun 2025 17:09:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=88=90=E6=9C=AC=E7=9B=B8=E5=85=B3=E5=A1=AB?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E5=8F=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FineReport/生产/二郎厂/填报/成本核算方法.sql | 85 ++++++ .../生产/二郎厂/填报/成本系统数据维护.sql | 244 ++++++++++++++++++ FineReport/生产/二郎厂/填报/部门分摊依据.sql | 53 ++++ 3 files changed, 382 insertions(+) create mode 100644 FineReport/生产/二郎厂/填报/成本核算方法.sql create mode 100644 FineReport/生产/二郎厂/填报/成本系统数据维护.sql create mode 100644 FineReport/生产/二郎厂/填报/部门分摊依据.sql diff --git a/FineReport/生产/二郎厂/填报/成本核算方法.sql b/FineReport/生产/二郎厂/填报/成本核算方法.sql new file mode 100644 index 0000000..2cc7d6b --- /dev/null +++ b/FineReport/生产/二郎厂/填报/成本核算方法.sql @@ -0,0 +1,85 @@ +-- ***************************** +-- 创建人员: 杨坤安 +-- 创建时间: 2025年4月22日 +-- 功能描述: 成本核算方法填报表 +-- ***************************** + + +-- 项目 project +-- 主要产品 main_product +-- 核算工序 acc_process +-- 成本中心 cost_center +-- 成本要素 cost_element +-- 成本要素数据来源 cost_ele_source +-- 分摊规则及数据来源 apportionment_rule + +DROP TABLE IF EXISTS dm.input_cost_account_method; +CREATE TABLE dm.input_cost_account_method ( +project varchar(100) +,main_product varchar(100) +,acc_process varchar(100) +,cost_center varchar(500) +,cost_element varchar(100) +,cost_ele_source varchar(500) +,apportionment_rule varchar(500) +,update_date varchar(50) +,update_by varchar(50) +); + +-- 为表添加注释 +COMMENT ON TABLE dm.input_cost_account_method IS '成本核算方法填报表'; + +-- 为字段添加注释 +COMMENT ON COLUMN dm.input_cost_account_method.project IS '项目'; +COMMENT ON COLUMN dm.input_cost_account_method.main_product IS '主要产品'; +COMMENT ON COLUMN dm.input_cost_account_method.acc_process IS '核算工序'; +COMMENT ON COLUMN dm.input_cost_account_method.cost_center IS '成本中心'; +COMMENT ON COLUMN dm.input_cost_account_method.cost_element IS '成本要素'; +COMMENT ON COLUMN dm.input_cost_account_method.cost_ele_source IS '成本要素数据来源'; +COMMENT ON COLUMN dm.input_cost_account_method.apportionment_rule IS '分摊规则及数据来源'; +COMMENT ON COLUMN dm.input_cost_account_method.update_date IS '更新时间'; +COMMENT ON COLUMN dm.input_cost_account_method.update_by IS '更新人'; + +-- 2025-06-17更改表名 +DROP TABLE IF EXISTS dm.input_cost_account_method_el; +CREATE TABLE dm.input_cost_account_method_el ( + project varchar(100) + ,main_product varchar(100) + ,acc_process varchar(100) + ,cost_center varchar(500) + ,cost_element varchar(100) + ,cost_ele_source varchar(500) + ,apportionment_rule varchar(500) + ,update_date varchar(50) + ,update_by varchar(50) +); + +-- 为表添加注释 +COMMENT ON TABLE dm.input_cost_account_method_el IS '二郎成本核算方法填报表'; + +-- 为字段添加注释 +COMMENT ON COLUMN dm.input_cost_account_method_el.project IS '项目'; +COMMENT ON COLUMN dm.input_cost_account_method_el.main_product IS '主要产品'; +COMMENT ON COLUMN dm.input_cost_account_method_el.acc_process IS '核算工序'; +COMMENT ON COLUMN dm.input_cost_account_method_el.cost_center IS '成本中心'; +COMMENT ON COLUMN dm.input_cost_account_method_el.cost_element IS '成本要素'; +COMMENT ON COLUMN dm.input_cost_account_method_el.cost_ele_source IS '成本要素数据来源'; +COMMENT ON COLUMN dm.input_cost_account_method_el.apportionment_rule IS '分摊规则及数据来源'; +COMMENT ON COLUMN dm.input_cost_account_method_el.update_date IS '更新时间'; +COMMENT ON COLUMN dm.input_cost_account_method_el.update_by IS '更新人'; + + +SELECT + project -- 项目 +,main_product -- 主要产品 +,acc_process -- 核算工序 +,cost_center -- 成本中心 +,cost_element -- 成本要素 +,cost_ele_source -- 成本要素数据来源 +,apportionment_rule -- 分摊规则及数据来源 +FROM dm.input_cost_account_method_el + +WHERE 1 = 1 +${if(len(sProject)=0,"","AND project IN ('"+sProject+"') ")} +${if(len(sMain)=0,"","AND main_product IN ('"+sMain+"') ")} +${if(len(sProcess)=0,"","AND acc_process IN ('"+sProcess+"') ")} \ No newline at end of file diff --git a/FineReport/生产/二郎厂/填报/成本系统数据维护.sql b/FineReport/生产/二郎厂/填报/成本系统数据维护.sql new file mode 100644 index 0000000..63d3496 --- /dev/null +++ b/FineReport/生产/二郎厂/填报/成本系统数据维护.sql @@ -0,0 +1,244 @@ +-- ***************************** +-- 创建人员: 杨坤安 +-- 创建时间: 2025年4月28日 +-- 功能描述: 成本系统数据维护 +-- ***************************** + +DROP TABLE IF EXISTS dm.input_cost_sys_data; +CREATE TABLE dm.input_cost_sys_data ( + id varchar(200) PRIMARY KEY NOT NULL + , create_user varchar(100) + ,create_date timestamp + ,table1 varchar(200) + ,table2 varchar(200) + ,table3 varchar(200) + ,table4 varchar(200) + ,table5 varchar(200) + ,table6 varchar(200) + ,list_date varchar(100) + ,dept_code varchar(100) + ,dept_name varchar(200) + ,class_code varchar(100) + ,class_name varchar(200) + ,code varchar(100) + ,num bigint + ,amt decimal(32,8) + ,price decimal(16,8) + ,remark1 varchar(200) + ,remark2 varchar(200) + ,remark3 varchar(200) + ,remark4 varchar(200) + ,remark5 varchar(200) + ,remark6 varchar(200) + ,remark7 varchar(200) + ,update_date timestamp + ,update_by varchar(50) +); + +-- 为表添加注释 +COMMENT ON TABLE dm.input_cost_sys_data IS '成本系统数据维护'; +-- 部门 班组 编码 数量 金额 单价 备注1 备注2 备注3 备注4 备注5 备注6 备注7 + +-- 为字段添加注释 +COMMENT ON COLUMN dm.input_cost_sys_data.create_user IS '制单人'; +COMMENT ON COLUMN dm.input_cost_sys_data.id IS '主键ID'; +COMMENT ON COLUMN dm.input_cost_sys_data.create_date IS '制单日期'; +COMMENT ON COLUMN dm.input_cost_sys_data.table1 IS '主表1'; +COMMENT ON COLUMN dm.input_cost_sys_data.table2 IS '主表2'; +COMMENT ON COLUMN dm.input_cost_sys_data.table3 IS '主表3'; +COMMENT ON COLUMN dm.input_cost_sys_data.table4 IS '主表4'; +COMMENT ON COLUMN dm.input_cost_sys_data.table5 IS '主表5'; +COMMENT ON COLUMN dm.input_cost_sys_data.table6 IS '主表6'; +COMMENT ON COLUMN dm.input_cost_sys_data.list_date IS '明细表日期'; +COMMENT ON COLUMN dm.input_cost_sys_data.dept_code IS '部门编码'; +COMMENT ON COLUMN dm.input_cost_sys_data.dept_name IS '部门名称'; +COMMENT ON COLUMN dm.input_cost_sys_data.class_code IS '班组编码'; +COMMENT ON COLUMN dm.input_cost_sys_data.class_name IS '班组名称'; +COMMENT ON COLUMN dm.input_cost_sys_data.code IS '编码'; +COMMENT ON COLUMN dm.input_cost_sys_data.num IS '数量'; +COMMENT ON COLUMN dm.input_cost_sys_data.amt IS '金额'; +COMMENT ON COLUMN dm.input_cost_sys_data.price IS '单价'; +COMMENT ON COLUMN dm.input_cost_sys_data.remark1 IS '备注1'; +COMMENT ON COLUMN dm.input_cost_sys_data.remark2 IS '备注2'; +COMMENT ON COLUMN dm.input_cost_sys_data.remark3 IS '备注3'; +COMMENT ON COLUMN dm.input_cost_sys_data.remark4 IS '备注4'; +COMMENT ON COLUMN dm.input_cost_sys_data.remark5 IS '备注5'; +COMMENT ON COLUMN dm.input_cost_sys_data.remark6 IS '备注6'; +COMMENT ON COLUMN dm.input_cost_sys_data.remark7 IS '备注7'; +COMMENT ON COLUMN dm.input_cost_sys_data.update_date IS '更新日期'; +COMMENT ON COLUMN dm.input_cost_sys_data.update_by IS '更新人'; + + + + + +DROP TABLE IF EXISTS dm.input_cost_sys_data_list; +CREATE TABLE dm.input_cost_sys_data_list ( + id varchar(200) PRIMARY KEY NOT NULL + ,cost_id varchar(200) + ,create_user varchar(100) + ,create_date timestamp + ,table1 varchar(200) + ,table2 varchar(200) + ,table3 varchar(200) + ,table4 varchar(200) + ,table5 varchar(200) + ,table6 varchar(200) + ,list_date varchar(100) + ,dept_code varchar(100) + ,dept_name varchar(200) + ,class_code varchar(100) + ,class_name varchar(200) + ,code varchar(100) + ,num bigint + ,amt decimal(32,8) + ,price decimal(16,8) + ,remark1 varchar(200) + ,remark2 varchar(200) + ,remark3 varchar(200) + ,remark4 varchar(200) + ,remark5 varchar(200) + ,remark6 varchar(200) + ,remark7 varchar(200) + ,update_date timestamp + ,update_by varchar(50) +); + +-- 为表添加注释 +COMMENT ON TABLE dm.input_cost_sys_data_list IS '成本系统数据维护'; +-- 部门 班组 编码 数量 金额 单价 备注1 备注2 备注3 备注4 备注5 备注6 备注7 + +-- 为字段添加注释 +COMMENT ON COLUMN dm.input_cost_sys_data_list.create_user IS '制单人'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.id IS '主键ID'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.cost_id IS '表ID'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.create_date IS '制单日期'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.table1 IS '主表1'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.table2 IS '主表2'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.table3 IS '主表3'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.table4 IS '主表4'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.table5 IS '主表5'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.table6 IS '主表6'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.list_date IS '明细表日期'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.dept_code IS '部门编码'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.dept_name IS '部门名称'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.class_code IS '班组编码'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.class_name IS '班组名称'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.code IS '编码'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.num IS '数量'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.amt IS '金额'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.price IS '单价'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.remark1 IS '备注1'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.remark2 IS '备注2'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.remark3 IS '备注3'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.remark4 IS '备注4'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.remark5 IS '备注5'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.remark6 IS '备注6'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.remark7 IS '备注7'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.update_date IS '更新日期'; +COMMENT ON COLUMN dm.input_cost_sys_data_list.update_by IS '更新人'; + + +SELECT + A.ID +,B.emp_name AS create_user -- 制单人 +,A.create_date AS create_date -- 制单日期 +,A.table1 AS table1 -- 主表1 +,A.table2 AS table2 -- 主表2 +,A.table3 AS table3 -- 主表3 +,A.table4 AS table4 -- 主表4 +,A.table5 AS table5 -- 主表5 +,A.table6 AS table6 -- 主表6 +FROM +( +SELECT +distinct +COST_id AS ID +,create_user -- 制单人 +,create_date -- 制单日期 +,table1 -- 主表1 +,table2 -- 主表2 +,table3 -- 主表3 +,table4 -- 主表4 +,table5 -- 主表5 +,table6 -- 主表6 +FROM dm.input_cost_sys_data_list +WHERE 1=1 +${if(len(sTb1)=0,"","AND table1 IN ('"+sTb1+"') ")} +${if(len(sTb2)=0,"","AND table2 IN ('"+sTb2+"') ")} +${if(len(sTb3)=0,"","AND table3 IN ('"+sTb3+"') ")} +)A +LEFT JOIN +( + SELECT + emp_code -- 员工编号 + ,emp_name -- 员工名称 + from dwr.dim_employee +)B +ON A.create_user = B.emp_code +ORDER BY A.create_date desc,A.table1,A.table2,A.table3 +; + + + +INSERT INTO dm.input_cost_sys_data_list ( id + ,cost_id + ,create_user + ,create_date + ,table1 + ,table2 + ,table3 + ,table4 + ,table5 + ,table6 + ,list_date + ,dept_code + ,dept_name + ,class_code + ,class_name + ,code + ,num + ,amt + ,price + ,remark1 + ,remark2 + ,remark3 + ,remark4 + ,remark5 + ,remark6 + ,remark7 + ,update_date + ,update_by) +SELECT + s.id + ,s.cost_id + ,s.create_user + ,s.create_date + ,s.table1 + ,s.table2 + ,s.table3 + ,s.table4 + ,s.table5 + ,s.table6 + ,s.list_date + ,s.dept_code + ,s.dept_name + ,s.class_code + ,s.class_name + ,s.code + ,s.num + ,s.amt + ,s.price + ,s.remark1 + ,s.remark2 + ,s.remark3 + ,s.remark4 + ,s.remark5 + ,s.remark6 + ,s.remark7 + ,s.update_date + ,s.update_by +FROM dm.input_cost_sys_data_list_1 s +LEFT JOIN dm.input_cost_sys_data_list t +ON s.id = t.id +WHERE t.id IS NULL; \ No newline at end of file diff --git a/FineReport/生产/二郎厂/填报/部门分摊依据.sql b/FineReport/生产/二郎厂/填报/部门分摊依据.sql new file mode 100644 index 0000000..1455d7a --- /dev/null +++ b/FineReport/生产/二郎厂/填报/部门分摊依据.sql @@ -0,0 +1,53 @@ +-- ***************************** +-- 创建人员: 杨坤安 +-- 创建时间: 2025年4月22日 +-- 功能描述: 部门分摊依据填报表 +-- ***************************** + + +DROP TABLE IF EXISTS dm.input_dept_apport_basis; +CREATE TABLE dm.input_dept_apport_basis ( + id varchar(100) PRIMARY KEY NOT NULL + ,dept_code varchar(100) + ,dept_name varchar(100) + ,assign_way varchar(100) + ,bear_dept_code varchar(200) + ,bear_dept_name varchar(200) + ,fee_type varchar(100) + ,remark varchar(500) + ,update_date varchar(50) + ,update_by varchar(50) +); + +-- 为表添加注释 +COMMENT ON TABLE dm.input_dept_apport_basis IS '部门分摊依据填报表'; + +-- 为字段添加注释 +COMMENT ON COLUMN dm.input_dept_apport_basis.id IS 'id'; +COMMENT ON COLUMN dm.input_dept_apport_basis.dept_code IS '部门编码'; +COMMENT ON COLUMN dm.input_dept_apport_basis.dept_name IS '部门名称'; +COMMENT ON COLUMN dm.input_dept_apport_basis.assign_way IS '分配方式'; +COMMENT ON COLUMN dm.input_dept_apport_basis.bear_dept_code IS '承担部门编码'; +COMMENT ON COLUMN dm.input_dept_apport_basis.bear_dept_name IS '承担部门名称'; +COMMENT ON COLUMN dm.input_dept_apport_basis.fee_type IS '费用类别'; +COMMENT ON COLUMN dm.input_dept_apport_basis.remark IS '备注'; +COMMENT ON COLUMN dm.input_dept_apport_basis.update_date IS '更新时间'; +COMMENT ON COLUMN dm.input_dept_apport_basis.update_by IS '更新人'; + + + + + +SELECT +dept_code -- 部门编码 +,dept_name -- 部门名称 +,assign_way -- 分配方式 +,bear_dept_code -- 承担部门编码 +,bear_dept_name -- 承担部门名称 +,fee_type -- 费用类别 +,remark -- 备注 +SELECT * FROM dm.input_dept_apport_basis + +存货名称 + +判断 \ No newline at end of file