支付信息变更单给变更人发送邮件

This commit is contained in:
李贵强 2025-07-15 14:29:22 +08:00
parent 36a09aafa6
commit a8479c0e56
2 changed files with 67 additions and 23 deletions

View File

@ -0,0 +1,43 @@
package shjh.jhzj7.fi.fi.plugin.operate;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.args.AfterOperationArgs;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.sdk.plugin.Plugin;
import shjh.jhzj7.fi.fi.utils.JhzjUtils;
import java.util.ArrayList;
import java.util.List;
/**
* 单据操作插件
*/
public class PayInfoChgBillSaveOperation extends AbstractOperationServicePlugIn implements Plugin {
@Override
public void afterExecuteOperationTransaction(AfterOperationArgs e) {
super.afterExecuteOperationTransaction(e);
String eok = e.getOperationKey();
if("save".equals(eok)){
DynamicObject[] dataEntities = e.getDataEntities();
for (DynamicObject dataEntity : dataEntities) {
DynamicObject prinfo = BusinessDataServiceHelper.loadSingle(dataEntity.getPkValue(),"cas_paychgbill");
if(prinfo != null){
String sourcebillno = prinfo.getString("sourcebillno");//源单编号
String changeCause = prinfo.getString("remark");//变更原因
DynamicObject userField = prinfo.getDynamicObject("alterationuser");//变更人
List<Long> receivers = new ArrayList<>(1);
receivers.add(userField.getLong("id"));
String title = "支付信息变更单号"+prinfo.getString("billno");
String content = "请登录资金系统处理付款单"+sourcebillno+"的变更,原因如下:<br>"+changeCause;
String pcurl = JhzjUtils.getBillPCURL(prinfo);
JhzjUtils.sendEmail(title,content+"<br> 变更详情页面:<a href='"+pcurl+"' target='_blank'>"+pcurl+"</a>",receivers,prinfo);
JhzjUtils.sendWEIXINQY(title,content,receivers,prinfo);
}
}
}
}
}

View File

@ -4,6 +4,7 @@ import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.args.AfterOperationArgs;
import kd.bos.entity.plugin.args.BeforeOperationArgs;
import kd.bos.entity.plugin.args.EndOperationTransactionArgs;
import kd.bos.orm.query.QCP;
import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
@ -45,27 +46,27 @@ public class PayinfoChangeOperation extends AbstractOperationServicePlugIn imple
}
}
@Override
public void afterExecuteOperationTransaction(AfterOperationArgs e) {
super.afterExecuteOperationTransaction(e);
String eok = e.getOperationKey();
if("recpushchg".equals(eok) || "paypushchg".equals(eok)){
//根据当前所选付款单找到对应的变更单
QFilter status = new QFilter("billstatus", QCP.equals, "A");
QFilter sourcebill = new QFilter("sourcebillid", QCP.equals, e.getDataEntities()[0].getLong("id"));
DynamicObject prinfo = BusinessDataServiceHelper.loadSingle(paychgbill,new QFilter[]{status.and(sourcebill)});
if(prinfo != null){
String sourcebillno = prinfo.getString("sourcebillno");//源单编号
String changeCause = prinfo.getString("remark");//变更原因
DynamicObject userField = prinfo.getDynamicObject("alterationuser");//变更人
List<Long> receivers = new ArrayList<>(1);
receivers.add(userField.getLong("id"));
String title = "支付信息变更单号"+prinfo.getString("billno");
String content = "请登录资金系统处理付款单"+sourcebillno+"的变更,原因如下:<br>"+changeCause;
String pcurl = JhzjUtils.getBillPCURL(prinfo);
JhzjUtils.sendEmail(title,content+"<br> 变更详情页面:<a href='"+pcurl+"' target='_blank'>"+pcurl+"</a>",receivers,prinfo);
JhzjUtils.sendWEIXINQY(title,content,receivers,prinfo);
}
}
}
// @Override
// public void afterExecuteOperationTransaction(AfterOperationArgs e) {
// super.afterExecuteOperationTransaction(e);
// String eok = e.getOperationKey();
// if("recpushchg".equals(eok) || "paypushchg".equals(eok)){
// //根据当前所选付款单找到对应的变更单
// QFilter status = new QFilter("billstatus", QCP.equals, "A");
// QFilter sourcebill = new QFilter("sourcebillid", QCP.equals, e.getDataEntities()[0].getLong("id"));
// DynamicObject prinfo = BusinessDataServiceHelper.loadSingle(paychgbill,new QFilter[]{status.and(sourcebill)});
// if(prinfo != null){
// String sourcebillno = prinfo.getString("sourcebillno");//源单编号
// String changeCause = prinfo.getString("remark");//变更原因
// DynamicObject userField = prinfo.getDynamicObject("alterationuser");//变更人
// List<Long> receivers = new ArrayList<>(1);
// receivers.add(userField.getLong("id"));
// String title = "支付信息变更单号"+prinfo.getString("billno");
// String content = "请登录资金系统处理付款单"+sourcebillno+"的变更,原因如下:<br>"+changeCause;
// String pcurl = JhzjUtils.getBillPCURL(prinfo);
// JhzjUtils.sendEmail(title,content+"<br> 变更详情页面:<a href='"+pcurl+"' target='_blank'>"+pcurl+"</a>",receivers,prinfo);
// JhzjUtils.sendWEIXINQY(title,content,receivers,prinfo);
// }
// }
// }
}