Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
leaf-hlcm
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hlcm
leaf-hlcm
Commits
d9c15d77
Commit
d9c15d77
authored
Nov 14, 2024
by
18083
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
批量下载解约通知函、连带责任函、拖车授权委托书改造
parent
6664d038
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
631 additions
and
16 deletions
+631
-16
con_contract_download_batch_dl.lwm
...NF/classes/cont/CON620/con_contract_download_batch_dl.lwm
+36
-0
con_contract_download_get_atm.lwm
...INF/classes/cont/CON620/con_contract_download_get_atm.lwm
+61
-0
con_contract_download_temp.lwm
...EB-INF/classes/cont/CON620/con_contract_download_temp.lwm
+40
-0
con_doc_file_templet_for_content.lwm
.../classes/cont/CON620/con_doc_file_templet_for_content.lwm
+63
-0
con_contract_download_batch_dl.lsc
...pp/modules/cont/CON620/con_contract_download_batch_dl.lsc
+70
-0
con_contract_download_temp.lsc
...webapp/modules/cont/CON620/con_contract_download_temp.lsc
+11
-0
con_contract_rent_dun_query.lview
...app/modules/cont/CON620/con_contract_rent_dun_query.lview
+204
-15
create_content_download_collection.lsc
...odules/cont/CON620/create_content_download_collection.lsc
+145
-0
create_content_for_collection.lsc
...app/modules/cont/CON620/create_content_for_collection.lsc
+1
-1
No files found.
src/main/webapp/WEB-INF/classes/cont/CON620/con_contract_download_batch_dl.lwm
0 → 100644
View file @
d9c15d77
<?xml version="1.0" encoding="UTF-8"?>
<bm:model
xmlns:bm=
"http://www.leaf-framework.org/schema/bm"
>
<bm:operations>
<bm:operation
name=
"query"
>
<bm:query-sql>
<![CDATA[
SELECT faa.file_name,
faa.file_path,
faa.attachment_id,
m.table_name,
m.table_pk_value,
m.record_id
FROM fnd_atm_attachment faa,
fnd_atm_attachment_multi m,
con_clause_templet t,
con_contract_content_v cc,
con_contract_download_temp pt
WHERE faa.attachment_id = m.attachment_id
AND m.table_name = 'CON_CONTRACT_CONTENT'
AND m.table_pk_value = cc.content_id
AND t.doc_plugin_flag = 'Y'
AND t.templet_id = cc.templet_id
AND cc.contract_id = pt.contract_id
AND pt.session_id = ${/session/@session_id}
AND t.templet_code = ${/parameter/@templet_code}
]]>
</bm:query-sql>
</bm:operation>
</bm:operations>
<bm:fields>
<bm:field
name=
"table_name"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"TABLE_NAME"
required=
"true"
/>
<bm:field
name=
"table_pk_value"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"TABLE_PK_VALUE"
required=
"true"
/>
<bm:field
name=
"record_id"
databaseType=
"NUMBER"
datatype=
"java.lang.Long"
physicalName=
"RECORD_ID"
required=
"true"
/>
<bm:field
name=
"attachment_id"
databaseType=
"NUMBER"
datatype=
"java.lang.Long"
physicalName=
"ATTACHMENT_ID"
required=
"true"
/>
<bm:field
name=
"file_name"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"FILE_NAME"
/>
<bm:field
name=
"file_path"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"FILE_PATH"
/>
</bm:fields>
</bm:model>
src/main/webapp/WEB-INF/classes/cont/CON620/con_contract_download_get_atm.lwm
0 → 100644
View file @
d9c15d77
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: gaoyang
$Date: 2015-6-10 下午03:17:55
$Revision: 1.0
$Purpose:
-->
<bm:model
xmlns:bm=
"http://www.leaf-framework.org/schema/bm"
needAccessControl=
"false"
>
<bm:operations>
<bm:operation
name=
"query"
>
<bm:query-sql>
<![CDATA[
SELECT
faa.file_name,
faa.file_path,
faa.file_type_code,
(select 'Y' from dual where exists (SELECT
1
FROM
fnd_atm_attachment_multi m1
WHERE
m1.table_name = 'CON_CONTRACT_CONTENT' AND
m1.table_pk_value = cc.content_id)
) file_exists_flag,
cc.content_number || '-' || cc.bp_name || '-' ||
(select ct.contract_number
from con_contract ct
where ct.contract_id = cc.contract_id) to_file_name,
lt.pwd,
cc.content_id,
pt.contract_id
FROM
fnd_atm_attachment faa,
fnd_atm_attachment_multi m,
hls_doc_file_templet lt,
con_clause_templet t,
con_contract_content_v cc,
con_contract_download_temp pt
WHERE
faa.attachment_id = m.attachment_id AND
m.table_name = 'HLS_DOC_FILE_TEMPLET' AND
m.table_pk_value = lt.templet_id AND
lt.templet_id = t.doc_template_id AND
t.doc_plugin_flag = 'Y' AND
t.templet_id = cc.templet_id AND
cc.contract_id = pt.contract_id AND
pt.session_id = ${/session/@session_id} AND
t.templet_code =${/parameter/@templet_code}
]]>
</bm:query-sql>
</bm:operation>
</bm:operations>
<bm:fields>
<bm:field
name=
"file_name"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"FILE_NAME"
/>
<bm:field
name=
"file_path"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"FILE_PATH"
/>
<bm:field
name=
"file_type_code"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"FILE_TYPE_CODE"
/>
<bm:field
name=
"file_exists_flag"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"FILE_EXISTS_FLAG"
/>
<bm:field
name=
"to_file_name"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"TO_FILE_NAME"
/>
<bm:field
name=
"pwd"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"PWD"
/>
<bm:field
name=
"content_id"
databaseType=
"NUMBER"
datatype=
"java.lang.Long"
physicalName=
"CONTENT_ID"
/>
<bm:field
name=
"contract_id"
databaseType=
"NUMBER"
datatype=
"java.lang.Long"
physicalName=
"CONTRACT_ID"
/>
</bm:fields>
</bm:model>
src/main/webapp/WEB-INF/classes/cont/CON620/con_contract_download_temp.lwm
0 → 100644
View file @
d9c15d77
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: trd
$Date: 2024-11-11 下午5:06:06
$Revision: 1.0
$Purpose:
-->
<bm:model
xmlns:bm=
"http://www.leaf-framework.org/schema/bm"
>
<bm:operations>
<bm:operation
name=
"delete"
>
<bm:update-sql>
<![CDATA[
begin
con_contract_content_pkg.delect_contract_download_temp(p_session_id =>
${/session/@session_id});
end;
]]>
</bm:update-sql>
</bm:operation>
<bm:operation
name=
"insert"
>
<bm:update-sql>
<![CDATA[
begin
con_contract_content_pkg.contract_rent_download_create(
p_session_id =>
${/session/@session_id},
p_contract_id =>${@contract_id}
);
end;
]]>
</bm:update-sql>
</bm:operation>
<bm:operation
name=
"update"
>
<bm:update-sql>
<![CDATA[
begin
con_contract_content_pkg.content_create_for_collection(
p_contract_id =>
${@contract_id},
p_user_id =>${/session/@user_id},
p_templet_code=>${@templet_code}
);
end;
]]>
</bm:update-sql>
</bm:operation>
</bm:operations>
</bm:model>
src/main/webapp/WEB-INF/classes/cont/CON620/con_doc_file_templet_for_content.lwm
0 → 100644
View file @
d9c15d77
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: gaoyang
$Date: 2015-6-10 下午03:17:55
$Revision: 1.0
$Purpose:
-->
<bm:model
xmlns:bm=
"http://www.leaf-framework.org/schema/bm"
needAccessControl=
"false"
>
<bm:operations>
<bm:operation
name=
"query"
>
<bm:query-sql>
<![CDATA[
SELECT
faa.file_name,
faa.file_path,
faa.file_type_code,
(select 'Y' from dual where exists (SELECT
1
FROM
fnd_atm_attachment_multi m1
WHERE
m1.table_name = 'CON_CONTRACT_CONTENT' AND
m1.table_pk_value = cc.content_id)
) file_exists_flag,
cc.content_number || '-' || cc.bp_name || '-' ||
(select ct.contract_number
from con_contract ct
where ct.contract_id = cc.contract_id) to_file_name,
lt.pwd,
cc.content_id
FROM
fnd_atm_attachment faa,
fnd_atm_attachment_multi m,
hls_doc_file_templet lt,
con_clause_templet t,
con_contract_content_v cc
WHERE
faa.attachment_id = m.attachment_id AND
m.table_name = 'HLS_DOC_FILE_TEMPLET' AND
m.table_pk_value = lt.templet_id AND
lt.templet_id = t.doc_template_id AND
t.templet_code=${/parameter/@templet_code} and
t.doc_plugin_flag = 'Y' AND
t.templet_id = cc.templet_id AND
(
cc.content_id =${/parameter/@content_id} OR
(
cc.contract_id =${/parameter/@contract_id} AND
${/parameter/@batch_flag}='Y'
)
)
]]>
</bm:query-sql>
</bm:operation>
</bm:operations>
<bm:fields>
<bm:field
name=
"file_name"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"FILE_NAME"
/>
<bm:field
name=
"file_path"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"FILE_PATH"
/>
<bm:field
name=
"file_type_code"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"FILE_TYPE_CODE"
/>
<bm:field
name=
"file_exists_flag"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"FILE_EXISTS_FLAG"
/>
<bm:field
name=
"to_file_name"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"TO_FILE_NAME"
/>
<bm:field
name=
"pwd"
databaseType=
"VARCHAR2"
datatype=
"java.lang.String"
physicalName=
"PWD"
/>
<bm:field
name=
"content_id"
databaseType=
"NUMBER"
datatype=
"java.lang.Long"
physicalName=
"CONTENT_ID"
/>
</bm:fields>
</bm:model>
src/main/webapp/modules/cont/CON620/con_contract_download_batch_dl.lsc
0 → 100644
View file @
d9c15d77
<?xml version="1.0" encoding="UTF-8"?>
<a:service
xmlns:a=
"http://www.leaf-framework.org/application"
xmlns:s=
"leaf.plugin.script"
trace=
"true"
>
<a:init-procedure>
<s:server-script>
<![CDATA[
importPackage(java.util.zip);
importPackage(java.io);
function getdate() {
var now = new Date()
y = now.getFullYear()
m = now.getMonth() + 1
d = now.getDate()
m = m < 10 ? "0" + m : m
d = d < 10 ? "0" + d : d
return y + "" + m + "" + d
}
function writeFile(zos, fn, fp) {
var ze = new ZipEntry(fn);
//zos.setEncoding("UTF-8");//如果是org.apache.tools.zip需要追加字符集
zos.putNextEntry(ze);
var fis = new FileInputStream(fp);
var b = new java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, 1024 * 64);
var len = -1;
while ((len = fis.read(b)) != -1) {
zos.write(b, 0, len);
}
fis.close();
}
$ctx["__request_type__"] = 'file'; //to indicate this request is not a JSON_REQUEST
var resp = $ctx['_instance.javax.servlet.http.HttpServletResponse'];
resp.setHeader("Pragma", "No-cache");
resp.setHeader("Cache-Control", "no-cache, must-revalidate");
var date = new Date();
var date_str = getdate();
var doc_code = $ctx.parameter.doc_code;
var filename = doc_code + '-' + date_str + ".zip"
resp.setHeader("Content-disposition", "attachment; filename=" + encodeURI(filename, 'utf-8'));
resp.setDateHeader("Expires", 0);
resp.setContentType("application/x-msdownload");
var zos = new ZipOutputStream(resp.getOutputStream());
try {
var attachment_batch_dl = $bm('cont.CON620.con_contract_download_batch_dl');
var result = attachment_batch_dl.queryAsMap();
var arr = result.getChildren();
var file_exist_list = {};
for (var i = 0;i < arr.length;i++) {
var f = arr[i];
if (f.file_path && !file_exist_list[f.file_name]) {
writeFile(zos, f.file_name, f.file_path);
file_exist_list[f.file_name] = 1;
} else {
file_exist_list[f.file_name] = file_exist_list[f.file_name] * 1 + 1;
var last_index = f.file_name.lastIndexOf(".");
var temp_exists_file_name = f.file_name.substr(0, last_index);
var temp_exists_file_type = f.file_name.substr(last_index, f.file_name.length);
temp_exists_file_name = temp_exists_file_name + '-' + file_exist_list[f.file_name] + temp_exists_file_type;
writeFile(zos, temp_exists_file_name, f.file_path);
}
}
} catch (e) {
var logger = $logger("server-script");
logger.severe(e.message)
}
zos.close();
]]>
</s:server-script>
</a:init-procedure>
</a:service>
src/main/webapp/modules/cont/CON620/con_contract_download_temp.lsc
0 → 100644
View file @
d9c15d77
<?xml version="1.0" encoding="UTF-8"?>
<a:service
xmlns:a=
"http://www.leaf-framework.org/application"
xmlns:p=
"uncertain.proc"
trace=
"true"
>
<a:init-procedure>
<a:model-delete
model=
"cont.CON620.con_contract_download_temp"
/>
<batch-apply
sourcepath=
"/parameter"
>
<a:model-insert
model=
"cont.CON620.con_contract_download_temp"
/>
<a:model-update
model=
"cont.CON620.con_contract_download_temp"
/>
</batch-apply>
</a:init-procedure>
<a:service-output
output=
"/parameter"
/>
</a:service>
src/main/webapp/modules/cont/CON620/con_contract_rent_dun_query.lview
View file @
d9c15d77
This diff is collapsed.
Click to expand it.
src/main/webapp/modules/cont/CON620/create_content_download_collection.lsc
0 → 100644
View file @
d9c15d77
<?xml version="1.0" encoding="UTF-8"?>
<a:service
xmlns:a=
"http://www.leaf-framework.org/application"
xmlns:s=
"leaf.plugin.script"
trace=
"true"
>
<a:init-procedure>
<s:server-script
import=
"con_print_path.js"
>
<![CDATA[
importPackage(java.io);
importPackage(Packages.hls.plugin.docx4j)
importPackage(Packages.org.apache.commons.io);
function RandomString(length) {
var str = '';
for (;str.length < length;str += Math.random().toString(36).substr(2));
return str.substr(0, length);
}
//删除文件
function deleteFile(filePath) {
var file = new File(filePath);
if (file.exists()) {
file.delete();
}
}
function copyFile(fOld, fNew) {
var fis = new java.io.FileInputStream(fOld);
var fos = new java.io.FileOutputStream(fNew);
var b = new java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, 1024 * 4);
var len = -1;
while ((len = fis.read(b)) != -1) {
fos.write(b, 0, len);
}
fis.close();
fos.close();
}
//按日期创建目录
function getDatePath() {
set_parameter_file_path();
var file_path = $ctx.parameter.file_path; //file_path = c:/hls_test_files/content_files/
var now = new Date()
y = now.getFullYear()
m = now.getMonth() + 1
m = m < 10 ? "0" + m : m
var datePath = file_path + y + "/" + m + "/";
return datePath; //datePath = d:/hls_test_files/fileupload/2018/04/
}
function write_os_to_file(file, os) {
var fis = new FileInputStream(file);
var b = new java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, 1024 * 64);
var len = -1;
while ((len = fis.read(b)) != -1) {
os.write(b, 0, len);
}
fis.close();
}
function download_file(file_path, file_name) {
$ctx["__request_type__"] = 'file';
var resp = $ctx['_instance.javax.servlet.http.HttpServletResponse'];
resp.setHeader("Pragma", "No-cache");
resp.setHeader("Cache-Control", "no-cache, must-revalidate");
resp.setHeader("Content-disposition", "attachment; filename=" + encodeURI(file_name, 'utf-8'));
resp.setDateHeader("Expires", 0);
resp.setContentType("application/x-msdownload");
try {
var os = resp.getOutputStream();
write_os_to_file(file_path, os);
//write_os_to_file(file_path+file_name, os);
os.flush();
} catch (e) {
$logger("server-script").severe(e.message);
}
}
function collection_create_content() {
try {
//获取日期目录
set_parameter_file_path();
var datePath = getDatePath();
FileUtils.forceMkdir(new File(datePath)); //根据日期创建目录
var from_file_data_map = $bm('cont.CON620.con_contract_download_get_atm').queryAsMap({
templet_code: $ctx.parameter.templet_code
});
var from_file_data = from_file_data_map.getChildren();
for (var i = 0;i < from_file_data.length;i++) {
var to_file_path = $ctx.parameter.file_path;
var record_data = from_file_data[i];
if (record_data.file_exists_flag != 'Y') {
var to_file_name = record_data.to_file_name + '.' + record_data.file_type_code || 'doc';
var from_file_path = record_data.file_path;
$ctx.parameter.contract_id = record_data.contract_id;
var guid_file_name_path = $bm('cont.CON500.con_contract_get_guid_file_name').queryAsMap();
var guid_file_name_tables = guid_file_name_path.getChildren();
to_file_path = datePath + guid_file_name_tables[0].guid_file_name + 'con' + record_data.content_id;
copyFile(from_file_path, to_file_path);
try {
var brwt = new BookmarksReplaceWithText($instance('leaf.database.service.IDatabaseServiceFactory'), $instance('uncertain.ocm.IObjectRegistry'), $ctx.getData());
brwt.replaceBookmarkFromContent(to_file_path.toString(), record_data.content_id);
} catch (e) {
raise_app_error(e);
}
$bm('cont.CON500.con_file_content_copy_update').update({
table_name: 'CON_CONTRACT_CONTENT',
content_id: record_data.content_id,
file_name: to_file_name.toString(),
file_path: to_file_path.toString()
});
var test=new File(to_file_path);
var test1=new File('D:'+to_file_path);
//download_file(to_file_path.toString(),to_file_name.toString());
//插入催收信息记录
$bm('cont.CON620.con_collection_message_create').update({
contract_id: record_data.contract_id,
templet_code: $ctx.parameter.templet_code
});
}
}
$ctx.parameter.return_status = 'S';
$ctx.parameter.return_message = '执行成功';
} catch (e) {
$ctx.success = "true";
$ctx.parameter.return_status = 'E';
$ctx.parameter.return_message = $ctx.get('/error/@message') || String(e);
raise_app_error(e);
}
var result = {
result: $ctx.parameter.return_status,
message: $ctx.parameter.return_message
};
$ctx.parameter.json = JSON.stringify(result);
}
if ($ctx.parameter.return_status != 'E' && $ctx.parameter.return_status != 'TIMEOUT') {
collection_create_content();
}
]]>
</s:server-script>
</a:init-procedure>
<a:service-output/>
</a:service>
src/main/webapp/modules/cont/CON620/create_content_for_collection.lsc
View file @
d9c15d77
...
...
@@ -87,7 +87,7 @@
var datePath = getDatePath();
$ctx.parameter.batch_flag='Y';
FileUtils.forceMkdir(new File(datePath)); //根据日期创建目录
var from_file_data_map = $bm('cont.CON
500.con_doc_file_templet_get_atm_new
').queryAsMap({
var from_file_data_map = $bm('cont.CON
620.con_doc_file_templet_for_content
').queryAsMap({
contract_id: $ctx.parameter.contract_id,
batch_flag:$ctx.parameter.batch_flag,
templet_code: $ctx.parameter.templet_code
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment