數據流程設計
101基本字典新建、維護和查詢
主要對字典表wz_zd_class
wz_zd_unit
wz_zd_manufacture
wz_zd_supplyer
wz_zd_group
wz_zd_in_out_type的數據進行增加、刪除和修改。
對記錄置上刪除標志后deleted_flag由’0’變?yōu)椤?’。本系統(tǒng)所有表中的deleted_flag都遵循該原則。
102物資項目字典新建、維護和查詢
對wz_dict的記錄進行增加、刪除和修改。
物資編碼material_code為流水號,由wz__configure中的kzh_no=’%’的記錄material_code生成,即不分科室,全院打通編碼。
若該物資為耐用品,則將durable_flag變?yōu)椤?’ 。
注:從wz_configure取material_code時,先update其值使之加1,update成功后再取出作為新增物資項目的編碼。本系統(tǒng)中所有從wz_configure中生成的流水號都遵循該原則。
103財務核算用字典新建、維護和查詢
對字典wz_zd_acct_property
wz_zd_inner_acct_no進行增加、刪除和修改。
若為科室的內部賬號則賬號編碼為7位,對應了zd_unit_code中的unit_sn;若為個人的內部賬號則賬號編碼為12位,后5為對應了a_employee_mi中的emp_sn,前7位對應了a_employee_mi中emp_sn對應的dept_sn。
104庫存物資維護、查詢
生成時需要從物資項目字典中選擇,即從wz_dict中選擇,生成時允許看到的物資項目若是本庫房對應的物資科室維護的物資,則根據初始化文件中定義的庫賬號從wz_dict中只取出kzh_no為該參數的物資項目。
生成時向wz_base插入記錄,其中:stock_amount=0
stock_value=0
mini_stock_amount=0
max_stock_amount=0
shelf_flag=null
open_flag=’0’
105庫管入庫
(1) 入庫單錄入、保存
向wz_in_detl插入記錄,其中:
in_date=getdate()
in_serial為流水號,從wz_configure對應kzh_no記錄的in_seri取,每天晚上后臺任務將wz_configure的in_seri置0。
若用戶錄入的為采購價格(package_price),buy_price=采購價格/package_amount;若用戶錄入的為購入金額,buy_price=buy_value/(package_amount×用戶錄入的發(fā)票數量)
retprice=buy_price×(1+yp_dict的add_rate)
buy_value為用戶錄入的購入金額;若用戶錄入的為采購價,buy_value=package_price×用戶錄入的發(fā)票數量
current_stock_amount=buy_amount
若add_rate=0,current_stock_value=buy_value,否則current_stock_value=retprice×buy_amount
stock_amount=null
in_docu_no為流水號,從wz_configue對應kzh_no記錄的in_pageno取
input_oper為系統(tǒng)登陸用戶
check_flag=’0’
check_oper=null
group_no_out=null
acct_date、acct_oper、acct_pageno=null
report_date=null
out_date、out_seri=null
(2) 退貨單錄入、保存
錄入物資名稱后,用戶需選擇退哪筆,顯示的入庫記錄從wz_in_detl中取出,取數條件:check_flag=’1’,acct_date=null,in_type為入庫的編碼,manu_code<>null,group_no_in為本庫房號,并按in_date、in_seri升序排列。
保存后向wz_in_detl中插入記錄,其中:
in_date=getdate()
in_seri從wz_configure對應kzh_no記錄的in_seri。織l記錄發(fā)生一個號,wz_out_detl的out_seri同理)
buy_price、retprice、fix_price為對應入庫記錄的buy_price、reprice、fix_price
buy_amount、buy_value為對應入庫記錄buy_amount、buy_vlaue的相反數(負值)
current_stock_amount、current_stock_value=0
stock_amount=null
in_type為退貨的編碼
in_docu_no從wz_configure對應kzh_no記錄的in_pageno。繌垎螕l(fā)生一個號,wz_out_detl的draw_no同理)
check_flag=’0’
check_oper=null
group_no_out=null
manu_code為對應入庫記錄的manu_code
acct_date、acct_oper、acct_pageno、report_date=null
out_date、out_seri為對應入庫記錄的in_date、in_seri
(3)未審核單據查詢、修改
查詢條件:check_flag=’0’,group_no_in為本庫房號。
修改單據update wz_in_detl中對應的入庫/退貨記錄
特殊業(yè)務:專購品過路(不需要審核)
a.向wz_out_detl中插入記錄,其中:
out_date=getdate()
out_seri為流水號,從wz_configure中對應kzh_no記錄的out_seri取
in_date為對應專購入庫記錄的in_date、in_seri
issue_amount=對應入庫記錄的buy_amount
stock_amount、in_stock_amount=null
giver為系統(tǒng)登陸用戶
eff_date、buy_price、retprice、fix_price為對應入庫記錄的eff_date、buy_price、retprice、fix_price
draw_no為流水號,從wz_configure中對應對應kzh_no記錄的out_pageno取
out_type為專購出庫編碼
group_no_out為對應入庫記錄的group_no_in
group_no_in =null
allo_unit、allo_price=null
accept_flag=’0’
report_date=null
b.向wz_in_detl中插入記錄,其中與普通入庫不同的處理包括:
check_flag=’1’
check_oper=input_oper
in_type為專購入庫編碼
106入庫審核
(1) 入庫/退貨單審核
a.update wz_in_detl的入庫/退貨記錄,更新字段包括:
check_flag由’0’置為’1’
|
|