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
060e6e18
Commit
060e6e18
authored
Nov 19, 2019
by
Darming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[feat]java邮件发送
parent
adefd513
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
498 additions
and
32 deletions
+498
-32
pom.xml
pom.xml
+11
-0
con_contract.lwm
src/main/webapp/WEB-INF/classes/csh/CSH531N/con_contract.lwm
+5
-3
exp_employees_mail.lwm
.../webapp/WEB-INF/classes/sys/SYS405/exp_employees_mail.lwm
+68
-0
get_attach_file_name.lwm
...ebapp/WEB-INF/classes/sys/SYS405/get_attach_file_name.lwm
+24
-0
get_zj_sys_mailing_list_id.lwm
...WEB-INF/classes/sys/SYS405/get_zj_sys_mailing_list_id.lwm
+16
-0
hls_bp_contact_mail.lwm
...webapp/WEB-INF/classes/sys/SYS405/hls_bp_contact_mail.lwm
+19
-0
sys_get_mail_server.lwm
...webapp/WEB-INF/classes/sys/SYS405/sys_get_mail_server.lwm
+36
-0
sys_mail_list.lwm
src/main/webapp/WEB-INF/classes/sys/SYS405/sys_mail_list.lwm
+35
-0
zj_sys_mailing_file.lwm
...webapp/WEB-INF/classes/sys/SYS405/zj_sys_mailing_file.lwm
+31
-0
zj_sys_mailing_list.lwm
...webapp/WEB-INF/classes/sys/SYS405/zj_sys_mailing_list.lwm
+144
-0
hl-mail.jar
src/main/webapp/WEB-INF/lib/hl-mail.jar
+0
-0
csh_transaction_receipt_write_off_reverse_detail.lview
...14/csh_transaction_receipt_write_off_reverse_detail.lview
+36
-29
sys_mail_send_by_java.lsc
src/main/webapp/modules/sys/SYS405/sys_mail_send_by_java.lsc
+73
-0
No files found.
pom.xml
View file @
060e6e18
...
...
@@ -139,6 +139,17 @@
<artifactId>
jaxen
</artifactId>
<version>
1.1.6
</version>
</dependency>
<dependency>
<groupId>
javax.mail
</groupId>
<artifactId>
mail
</artifactId>
<version>
1.4
</version>
</dependency>
<dependency>
<groupId>
javax.activation
</groupId>
<artifactId>
activation
</artifactId>
<version>
1.0.2
</version>
</dependency>
</dependencies>
<build>
<finalName>
hlcm
</finalName>
...
...
src/main/webapp/WEB-INF/classes/csh/CSH531N/con_contract.lwm
View file @
060e6e18
...
...
@@ -18,7 +18,7 @@
AND sc.code_value = t1.contract_status) contract_status_desc
from con_contract t1
where
t1.contract_status in ('INCEPT','ET')
t1.contract_status in ('INCEPT','ET'
,'NEW'
)
and t1.data_class = 'NORMAL'
and t1.company_id in ((
select company_id
...
...
@@ -29,7 +29,8 @@ union
select t.parent_company_id company_id
from fnd_companies t
where t.parent_company_id is not null
and (t.company_id = ${/session/@company_id} or t.parent_company_id = ${/session/@company_id})))) t
and (t.company_id = ${/session/@company_id} or t.parent_company_id = ${/session/@company_id})))
) t
#WHERE_CLAUSE#
]]>
</bm:query-sql>
</bm:operation>
...
...
@@ -53,7 +54,8 @@ select t.parent_company_id company_id
queryExpression=
"due_date <= to_date(${@due_date_to},'yyyy-mm-dd')"
/>
<bm:query-field
field=
"dd_bank_account_num"
queryOperator=
"="
/>
<bm:query-field
field=
"dd_bank_account_name"
queryOperator=
"="
/>
<bm:query-field
name=
"bp_id"
queryExpression=
"(t.bp_id_tenant = ${@bp_id} or t.bp_id_agent_level1 = ${@bp_id})"
/>
<bm:query-field
name=
"bp_id"
queryExpression=
"(t.bp_id_tenant = ${@bp_id} or t.bp_id_agent_level1 = ${@bp_id})"
/>
<bm:query-field
name=
"bp_name"
queryExpression=
"t.bp_name like '%' || ${@bp_name} || '%'"
/>
</bm:query-fields>
</bm:model>
src/main/webapp/WEB-INF/classes/sys/SYS405/exp_employees_mail.lwm
0 → 100644
View file @
060e6e18
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: DJ
$Date: 2014-1-8 下午3:44:11
$Revision: 1.0
$Purpose:
-->
<bm:model
xmlns:bm=
"http://www.leaf-framework.org/schema/bm"
>
<bm:operations>
<bm:operation
name=
"query"
>
<bm:query-sql>
<![CDATA[
select t1.*
from (select null employee_id,
null employee_code,
null email,
-1 * cv.company_id unit_id,
cv.company_code unit_code,
cv.company_short_name unit_name,
null name,
null parent_unit_id,
null position_code,
rpad(cv.company_code, 10, '0') || rpad('0', 10, '0') as seq
from fnd_companies_vl cv
where cv.enabled_flag = 'Y'
union all
SELECT null employee_id,
null employee_code,
null email,
u.unit_id,
u.unit_code,
u.unit_name,
null name,
-1 * u.company_id parent_unit_id,
null position_code,
rpad(u.unit_code, 10, '0') || rpad('0', 10, '0') as seq
FROM exp_org_unit_v u
WHERE u.enabled_flag = 'Y'
union all
select e.employee_id,
e.employee_code,
e.email,
null unit_id,
d.unit_code,
null unit_name,
e.name,
d.unit_id parent_unit_id,
c.position_code,
rpad(d.unit_code, 10, '0') || rpad(c.position_code, 10, '0')||e.employee_code as seq
from exp_employees e,
exp_employee_assigns b,
exp_org_position c,
exp_org_unit_v d
WHERE e.employee_id = b.employee_id
AND b.position_id = c.position_id(+)
AND c.unit_id = d.unit_id(+)
AND b.enabled_flag = 'Y'
AND c.enabled_flag(+) = 'Y'
AND d.enabled_flag(+) = 'Y') t1
START WITH parent_unit_id is null
connect by t1.parent_unit_id = prior t1.unit_id
ORDER BY t1.seq
]]>
</bm:query-sql>
</bm:operation>
</bm:operations>
</bm:model>
src/main/webapp/WEB-INF/classes/sys/SYS405/get_attach_file_name.lwm
0 → 100644
View file @
060e6e18
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: zhangxing5129
$Date: 2014-7-24 下午07:21:28
$Revision: 1.0
$Purpose:
-->
<bm:model
xmlns:bm=
"http://www.leaf-framework.org/schema/bm"
>
<bm:operations>
<bm:operation
name=
"update"
>
<bm:update-sql>
<![CDATA[
begin
SELECT zj_sys_mail_pkg.get_mail_filename(p_table_pk_value =>
${@mail_list_id},
p_table_name => 'ZJ_SYS_MAILING_LIST',
p_user_id => ${/session/@user_id} )
into ${@file_name} FROM dual ;
end;
]]>
</bm:update-sql>
<bm:parameters>
<bm:parameter
name=
"file_name"
output=
"true"
outputPath=
"/parameter/@file_name"
/>
</bm:parameters>
</bm:operation>
</bm:operations>
</bm:model>
src/main/webapp/WEB-INF/classes/sys/SYS405/get_zj_sys_mailing_list_id.lwm
0 → 100644
View file @
060e6e18
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: zhangxing5129
$Date: 2014-9-1 下午02:08:43
$Revision: 1.0
$Purpose:
-->
<bm:model
xmlns:bm=
"http://www.leaf-framework.org/schema/bm"
>
<bm:operations>
<bm:operation
name=
"query"
>
<bm:query-sql>
<![CDATA[
select zj_sys_mailing_list_s.nextval mail_list_id from dual
]]>
</bm:query-sql>
</bm:operation>
</bm:operations>
</bm:model>
src/main/webapp/WEB-INF/classes/sys/SYS405/hls_bp_contact_mail.lwm
0 → 100644
View file @
060e6e18
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: DJ
$Date: 2014-1-8 下午4:01:48
$Revision: 1.0
$Purpose:
-->
<bm:model
xmlns:bm=
"http://www.leaf-framework.org/schema/bm"
>
<bm:operations>
<bm:operation
name=
"query"
>
<bm:query-sql>
<![CDATA[
select t1.contact_person as person, t1.cell_phone as mobile
from hls_bp_master_contact_info t1
where t1.ref_v01 = 'Y'
order by person
]]>
</bm:query-sql>
</bm:operation>
</bm:operations>
</bm:model>
src/main/webapp/WEB-INF/classes/sys/SYS405/sys_get_mail_server.lwm
0 → 100644
View file @
060e6e18
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: zhangyu
$Date: 2019-3-5 上午9:14:12
$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
sms.mail_smtp_host,
sms.mail_protocol,
sms.mail_port_number,
sms.mail_address,
sms.mail_username,
sms.mail_password,
sms.attch_directory
FROM
sys_mail_server sms
WHERE
sms.enabled_flag = 'Y' and sms.DEFAULT_FLAG = 'Y'
]]>
</bm:query-sql>
</bm:operation>
</bm:operations>
<bm:fields>
<bm:field
name=
"mail_smtp_host"
/>
<bm:field
name=
"mail_protocol"
/>
<bm:field
name=
"mail_port_number"
/>
<bm:field
name=
"mail_address"
/>
<bm:field
name=
"mail_username"
/>
<bm:field
name=
"mail_password"
/>
<bm:field
name=
"attch_directory"
/>
</bm:fields>
</bm:model>
src/main/webapp/WEB-INF/classes/sys/SYS405/sys_mail_list.lwm
0 → 100644
View file @
060e6e18
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: DJ
$Date: 2014-1-15 上午10:50:46
$Revision: 1.0
$Purpose:
-->
<bm:model
xmlns:bm=
"http://www.leaf-framework.org/schema/bm"
>
<bm:operations>
<bm:operation
name=
"update"
>
<bm:update-sql>
<![CDATA[
begin
update zj_sys_mailing_list m
set m.sent_flag = 'N',
m.error_times = 0,
m.creation_date = sysdate
where m.mailing_list_id = ${@mailing_list_id};
end;
]]>
</bm:update-sql>
</bm:operation>
<bm:operation
name=
"execute"
>
<bm:update-sql>
<![CDATA[
begin
zj_sys_mail_pkg.insert_mailing_list(p_mail_list_id =>
${@mail_list_id},
p_mail_to => ${@mail_to},
p_mail_cc => ${@mail_cc},
p_subject => ${@subject},
p_body => ${@body},
p_user_id => ${/session/@user_id},
p_content_type => 'text/html');
end;
]]>
</bm:update-sql>
</bm:operation>
</bm:operations>
</bm:model>
src/main/webapp/WEB-INF/classes/sys/SYS405/zj_sys_mailing_file.lwm
0 → 100644
View file @
060e6e18
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: zhangyu
$Date: 2019-3-8 下午2:34:18
$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
FROM
fnd_atm_attachment faa,
fnd_atm_attachment_multi faam
WHERE
faa.attachment_id = faam.attachment_id AND
faa.source_type_code = 'fnd_atm_attachment_multi' AND
faa.source_pk_value = faam.record_id AND
faam.table_name = 'ZJ_SYS_MAILING_LIST'
and faam.table_pk_value = ${@mailing_list_id}
]]>
</bm:query-sql>
</bm:operation>
</bm:operations>
<bm:fields>
<bm:field
name=
"file_name"
/>
<bm:field
name=
"file_path"
/>
</bm:fields>
</bm:model>
src/main/webapp/WEB-INF/classes/sys/SYS405/zj_sys_mailing_list.lwm
0 → 100644
View file @
060e6e18
<?xml version="1.0" encoding="UTF-8"?>
<!--
$Author: zhangyu
$Date: 2019-3-5 上午9:59:57
$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
mailing_list_id,
mail_to,
mail_cc,
subject,
body,
content_type
FROM
zj_sys_mailing_list
WHERE
sent_flag = 'N' AND
error_times <= 3 AND
(
sysdate - creation_date
)
< 3
]]>
</bm:query-sql>
</bm:operation>
<bm:operation
name=
"update"
>
<bm:update-sql>
<![CDATA[
DECLARE
v_mailing_list_id NUMBER;
v_notify_record_id NUMBER;
v_mail_to VARCHAR2(4000);
v_mail_cc VARCHAR2(4000);
v_subject VARCHAR2(2000);
v_attch_file_name VARCHAR2(2000);
v_created_by NUMBER;
v_creation_date DATE;
v_last_updated_by NUMBER;
v_last_update_date DATE;
v_body Long;
BEGIN
UPDATE
zj_sys_notify_record r
SET r.status = 'SENT',
r.send_time = sysdate,
r.last_update_date = sysdate
WHERE r.record_id =
(SELECT l.notify_record_id
FROM zj_sys_mailing_list l
WHERE l.mailing_list_id = ${@mailing_list_id}
);
SELECT t.mailing_list_id,
t.notify_record_id,
t.mail_to,
t.mail_cc,
t.subject,
t.created_by,
t.creation_date,
t.last_updated_by,
t.last_update_date,
t.body,
t.attch_file_name
INTO
v_mailing_list_id,
v_notify_record_id,
v_mail_to,
v_mail_cc,
v_subject,
v_created_by,
v_creation_date,
v_last_updated_by,
v_last_update_date,
v_body,
v_attch_file_name
FROM zj_sys_mailing_list t
WHERE t.mailing_list_id = ${@mailing_list_id};
INSERT
INTO zj_sys_mailing_list_ht
(mailing_list_id,
notify_record_id,
mail_to,
mail_cc,
subject,
Body,
note,
sent_flag,
sent_date,
attch_file_name,
created_by,
creation_date,
last_updated_by,
last_update_date)
VALUES (v_mailing_list_id,
v_notify_record_id,
v_mail_to,
v_mail_cc,
v_subject,
v_body,
'',
'Y',
Sysdate,
v_attch_file_name,
v_created_by,
v_creation_date,
v_last_updated_by,
v_last_update_date);
DELETE FROM zj_sys_mailing_list WHERE mailing_list_id = ${@mailing_list_id};
END;
]]>
</bm:update-sql>
</bm:operation>
<bm:operation
name=
"execute"
>
<bm:update-sql>
<![CDATA[
BEGIN
UPDATE
zj_sys_mailing_list
SET note = '发送失败',
error_times = error_times + 1,
last_update_date = sysdate
WHERE mailing_list_id = ${@mailing_list_id};
UPDATE
zj_sys_notify_record r
SET r.status = 'ERROR',
r.last_update_date = sysdate
WHERE r.record_id =
(SELECT l.notify_record_id
FROM zj_sys_mailing_list l
WHERE l.mailing_list_id = ${@mailing_list_id}
);
END;
]]>
</bm:update-sql>
</bm:operation>
</bm:operations>
<bm:fields>
<bm:field
name=
"mail_to"
/>
<bm:field
name=
"mailing_list_id"
/>
<bm:field
name=
"mail_cc"
/>
<bm:field
name=
"subject"
/>
<bm:field
name=
"body"
/>
<bm:field
name=
"content_type"
/>
</bm:fields>
</bm:model>
src/main/webapp/WEB-INF/lib/hl-mail.jar
0 → 100644
View file @
060e6e18
File added
src/main/webapp/modules/csh/CSH514/csh_transaction_receipt_write_off_reverse_detail.lview
View file @
060e6e18
...
...
@@ -79,7 +79,7 @@
} else {
var saveData = [];
var transaction_type = '${/parameter/transaction_type}';
var transaction_type = '${/parameter/
@
transaction_type}';
// if (receipt_type == 'WITHHOLD') { //划扣
// if (all.length != records.length) {
// Leaf.showInfoMessage("提示", "该现金事务不支付部分反冲");
...
...
@@ -96,37 +96,44 @@
Leaf.showInfoMessage("提示", "该现金事务不支付部分反冲");
return;
}
}
var gld_batch_id = records[0].get('gld_batch_id');
for (var i = 0; i < records.length; i++) {
if (records[i].get('gld_batch_id') != gld_batch_id) {
Leaf.showInfoMessage("提示", "请选择同一批次号的记录反冲!");
return;
for (var i = 0; i < records.length; i++) {
records[i].set('reversed_date', head_record.get('reversed_date'));
records[i].set('description', head_record.get('description'));
records[i].set('_status', 'update');
saveData.push(records[i].data);
}
records[i].set('reversed_date', head_record.get('reversed_date'));
records[i].set('description', head_record.get('description')
);
records[i].set('_status', 'update');
saveData.push(records[i].data);
}
//同批次未勾选的
var allR = $('csh_transaction_receipt_write_off_reverse_detail_result_ds').getAll();
var unR = []
;
for (var i = 0; i < allR.length; i++) {
if (records.indexOf(allR[i]) === -1) {
unR.push(allR[i]
);
} else {
var gld_batch_id = records[0].get('gld_batch_id'
);
for (var i = 0; i < records.length; i++) {
if (records[i].get('gld_batch_id') != gld_batch_id) {
Leaf.showInfoMessage("提示", "请选择同一批次号的记录反冲!");
return;
}
records[i].set('reversed_date', head_record.get('reversed_date'))
;
records[i].set('description', head_record.get('description'));
records[i].set('_status', 'update');
saveData.push(records[i].data
);
}
}
for (var i = 0; i < unR.length; i++) {
if(unR[i].get('gld_batch_id') == gld_batch_id){
Leaf.showInfoMessage("提示", "请选择全部同一批次号的记录反冲!");
return;
//同批次未勾选的
var allR = $('csh_transaction_receipt_write_off_reverse_detail_result_ds').getAll();
var unR = [];
for (var i = 0; i < allR.length; i++) {
if (records.indexOf(allR[i]) === -1) {
unR.push(allR[i]);
}
}
for (var i = 0; i < unR.length; i++) {
if (unR[i].get('gld_batch_id') == gld_batch_id) {
Leaf.showInfoMessage("提示", "请选择全部同一批次号的记录反冲!");
return;
}
}
}
//排序
saveData.sort(function(a,b){
return b.write_off_id - a.write_off_id;
});
//排序
saveData.sort(function (a, b) {
return b.write_off_id - a.write_off_id;
});
}
//区别批量核销和单笔核销
var url;
...
...
@@ -163,8 +170,8 @@
return;
}, null, null);
}
}
}
function csh514_write_off_reverse_return() {
...
...
src/main/webapp/modules/sys/SYS405/sys_mail_send_by_java.lsc
0 → 100644
View file @
060e6e18
<?xml version="1.0" encoding="UTF-8"?>
<a:service
xmlns:s=
"leaf.plugin.script"
xmlns:msg=
"leaf.application.features.msg"
xmlns:a=
"http://www.leaf-framework.org/application"
xmlns:dr=
"leaf.plugin.excelreport"
xmlns:excel=
"leaf.application.task.excel"
xmlns:t=
"uncertain.composite.transform"
xmlns:mail=
"leaf.plugin.mail"
xmlns:p=
"uncertain.proc"
trace=
"true"
>
<a:init-procedure>
<s:server-script>
<![CDATA[
importPackage(java.io);
importPackage(Packages.hl.mail);
try {
var mail_server_bm = $bm('sys.SYS405.sys_get_mail_server');
var mail_server_result = mail_server_bm.queryAsMap().getChildren();
var mail_list_bm = $bm('sys.SYS405.zj_sys_mailing_list');
var mail_list_result = mail_list_bm.queryAsMap().getChildren();
println('###############' + mail_list_result.length + '###############');
for (var i = 0; i < mail_list_result.length; i++) {
var mb = new HlMailBean();
mb.setHost(mail_server_result[0].mail_smtp_host); // 设置SMTP主机(163),若用126,则设为:smtp.126.com
mb.setPort(mail_server_result[0].mail_port_number); //设置端口号
mb.setUsername(mail_server_result[0].mail_username); // 设置发件人邮箱的用户名
mb.setPassword(mail_server_result[0].mail_password); // 设置发件人邮箱的密码,需将*号改成正确的密码
mb.setFrom(mail_server_result[0].mail_address); // 设置发件人的邮箱
mb.setTo(mail_list_result[i].mail_to); // 设置收件人的邮箱
println(mail_list_result[i].mail_to);
if (mail_list_result[i].mail_cc) {
mb.setCc(mail_list_result[i].mail_cc); // 设置抄送人的邮箱
} else {
mb.setCc(mail_list_result[i].mail_to);
}
mb.setSubject(mail_list_result[i].subject); // 设置邮件的主题
mb.setContent(mail_list_result[i].body); // 设置邮件的正文
//mb.setContent(mail_list_result[i].content_type); // 设置邮件的格式 text/html为html,text/plain为纯文本
//设置附件
//mb.attachFile("D:\\abc.xlsx"); // 往邮件中添加附件
var mail_file_bm = $bm('sys.SYS405.zj_sys_mailing_file');
var mail_file_result = mail_file_bm.queryAsMap({
mailing_list_id: mail_list_result[i].mailing_list_id
}).getChildren();
for (var j = 0; j < mail_file_result.length; j++) {
mb.attachFile(mail_file_result[j].file_path);
}
var sm = new HlSendMail();
if (mail_list_result[i].content_type == "text/html") {
println(mail_list_result[i].mailing_list_id);
if (sm.sendHtmlMail(mb)) {
$bm('sys.SYS405.zj_sys_mailing_list').update({
mailing_list_id: mail_list_result[i].mailing_list_id
});
} else {
$bm('sys.SYS405.zj_sys_mailing_list').execute({
mailing_list_id: mail_list_result[i].mailing_list_id
});
}
} else {
if (sm.sendMail(mb)) {
$bm('sys.SYS405.zj_sys_mailing_list').update({
mailing_list_id: mail_list_result[i].mailing_list_id
});
} else {
$bm('sys.SYS405.zj_sys_mailing_list').execute({
mailing_list_id: mail_list_result[i].mailing_list_id
});
}
}
}
} catch (e) {
raise_app_error(e);
}
]]>
</s:server-script>
</a:init-procedure>
<a:service-output/>
</a:service>
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