Hướng dẫn lưu lịch sử tác động trên file.dic
Tại sao cần lưu lịch sử tác động?
Sau đây là các bước cần thiết để lưu lịch sử tác động:
Step 1: Tạo mới loại tác động mà bạn muốn lưu thay đổi. Vd: Tác động Đơn Hàng
Step 2: Copy file admin.dic tới vị trí tiện cho bạn lưu trữ.
Step 3: Chỉnh sửa file.dic mà bạn muốn lưu lịch sử khi tác động lên nó. Ví dụ: Tạo mới (create.dic), Chỉnh sửa (edit.dic), Xóa (remove.dic) và truyền tham số cần lưu vào file admin.dic
Ví dụ minh họa: Lưu lịch sử tạo mới Chi Nhánh/Phòng Ban trên con http://scs.ftl.vn:20017/index.jsp
Step 1: Tạo mới loại tác động theo đường dẫn sau:…/common/cm_action_type/create.jsp
Step 2: Copy file admin.dic tới vị trí tiện cho bạn lưu trữ. Ở đây mình lưu cùng thư mục với Quản Lý Phòng Ban/Chi Nhánh
Step 3: Chỉnh sửa file.dic. Ở đây ta đang muốn lưu tác động khi tạo mới Phòng ban/Chi nhánh nên mình sẽ chỉnh sửa file create.dic.Ta sẽ lưu thông tin tạo mới: Mã phòng ban/chi nhánh (CODE), tên phòng ban/chi nhánh(NAME), tài khoản(ADM_USER) vào bảng CM_ACTION_LOG bằng cách truyền thông tin thay đổi vào file admin.dic
Thêm đoạn Script này vào sau khi kết thúc tiến trình SaveProcess
Add this code:
Script=:
:{
var params = action.getParameters();
var dic = action.getDictionary();
var tab = "  ";
var content = "";
content +="<br>"+tab+"_ <span class='log_attribute'>"+action.getString(dic,"CODE")+" </span>: <span class='log_value'>'"+params.get("CODE")+"'</span>";
content +="<br>"+tab+"_ <span class='log_attribute'>"+action.getString(dic,"NAME")+" </span>: <span class='log_value'>'"+params.get("NAME")+"'</span>";
content +="<br>"+tab+"_ <span class='log_attribute'>"+action.getString(dic,"ADM_USER")+" </span>: <span class='log_value'>'"+params.get("ADM_USER_NAME")+"'</span>";
params.put("TYPE","QLPBCN");
params.put("TARGET_ID",params.get("pk"));
params.put("CREATED","CREATED");
params.put("CREATOR","CREATOR");
params.put("MODIFIED","MODIFIED");
params.put("MODIFIER","MODIFIER");
params.put("CONTENT","Tạo mới phòng ban/chi nhánh "+params.get("NAME") + content);
:}
Insert=>../admin.dic!SaveActionProcess.Insert
Đây là kết quả được lưu lại tại Danh Mục Tác Động khi tạo mới phòng ban/chi nhánh:
Source code:
admin.dic
SaveActionProcess
Insert
TableName==CM_ACTION_LOG
PrimaryKey
ACTION_LOG_ID==pk
Automatic==SEQ_CM_ACTION_LOG.nextval
Retrieve
Column
ACTION_TYPE_ID==TYPE
Format==(SELECT ACTION_TYPE_ID FROM CM_ACTION_TYPE WHERE UPPER(CODE) = UPPER(?))
TARGET_ID==TARGET_ID
CONTENT==CONTENT
CREATED==CREATED
Automatic==current_timestamp
CREATOR==CREATOR
Automatic==!"'" + action.getParameters().get("session.userName") + "'"
MODIFIED==MODIFIED
Automatic==current_timestamp
MODIFIER==MODIFIER
Automatic==!"'" + action.getParameters().get("session.userName") + "'"
create.dic
Logic
# Uncomment to enable options below
# ImmediateProcess
# NoLog
# LogParameter
# IgnoreAuthenticate
# IgnorePrivilegeCheck
# ExcludeLayout
# ContinuousProcessing
# UseApprovementProcess
FirstFocus==CODE
Field
Text==CODE
ApplyCodeFormat
Trim
MaxLength==50
LiveValidation
Presence
Text==NAME
Trim
MaxLength==1024
ExternalList==ADM_USER
Multiple
ListAllItem
ModuleUrl==/com/ftl/ppm/adm_user/list.jsp
LiveValidation
#Presence
Submit==SAVE
Submit==APPLY
Button==CLOSE
Layout==Table
Label==CODE
Control==CODE
LayoutExtra==width="240px"
BREAK
Label==NAME
Control==NAME
LayoutExtra==width="240px"
BREAK
Label==ADM_USER
Control==ADM_USER
BREAK
#Label==FK_CRU_CR
#Control==FK_CRU_CR
# w==3
# BREAK
#Label==FK_DO_CR
#Control==FK_DO_CR
# w==3
# BREAK
Panel
w==4
Extra==align="center"
Layout==Table
Control==APPLY
Control==SAVE
Control==CLOSE
FetchProcess
Fetch
TableName==CENTER_REGION
PrimaryKey
CENTER_REGION_ID==pk
Column
CODE==CODE
NAME==NAME
DetailData
CENTER_REGION_USER==ADM_USER
ForeignKey
CENTER_REGION_ID==pk
Column
USER_ID==USER_ID
CENTER_REGION_USER==ADM_USER_NAME
ForeignKey
CENTER_REGION_ID==pk
Column
USER_ID==(SELECT USER_NAME FROM ADM_USER WHERE USER_ID = CENTER_REGION_USER.USER_ID)
SaveProcess
Insert
TableName==CENTER_REGION
PrimaryKey
CENTER_REGION_ID==pk
Automatic==SEQ_CENTER_REGION.nextval
Retrieve
Column
CODE==CODE
NAME==NAME
CREATED==CREATED
Automatic==current_timestamp
CREATOR==CREATOR
Automatic==!"'" + action.getParameters().get("session.userName") + "'"
MODIFIED==MODIFIED
Automatic==current_timestamp
MODIFIER==MODIFIER
Automatic==!"'" + action.getParameters().get("session.userName") + "'"
DetailData
CENTER_REGION_USER==ADM_USER
ForeignKey
CENTER_REGION_ID==pk
Column
USER_ID==0
Validation
Parameter
CODE
Mandatory
Unique
UK_CENTER_REGION
CODE==CODE
Format==UPPER(CODE)=UPPER(?)
Script=:
:{
var params = action.getParameters();
var dic = action.getDictionary();
var tab = "  ";
var content = "";
content +="<br>"+tab+"_ <span class='log_attribute'>"+action.getString(dic,"CODE")+" </span>: <span class='log_value'>'"+params.get("CODE")+"'</span>";
content +="<br>"+tab+"_ <span class='log_attribute'>"+action.getString(dic,"NAME")+" </span>: <span class='log_value'>'"+params.get("NAME")+"'</span>";
content +="<br>"+tab+"_ <span class='log_attribute'>"+action.getString(dic,"ADM_USER")+" </span>: <span class='log_value'>'"+params.get("ADM_USER_NAME")+"'</span>";
params.put("TYPE","QLPBCN");
params.put("TARGET_ID",params.get("pk"));
params.put("CREATED","CREATED");
params.put("CREATOR","CREATOR");
params.put("MODIFIED","MODIFIED");
params.put("MODIFIER","MODIFIER");
params.put("CONTENT","Tạo mới phòng ban/chi nhánh "+params.get("NAME") + content);
:}
Insert=>../admin.dic!SaveActionProcess.Insert