|
@@ -1,6 +1,8 @@
|
|
package sys.sc.formplugin;
|
|
package sys.sc.formplugin;
|
|
|
|
|
|
|
|
+import kd.bos.context.RequestContext;
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
|
|
+import kd.bos.dataentity.entity.LocaleString;
|
|
import kd.bos.entity.datamodel.events.ChangeData;
|
|
import kd.bos.entity.datamodel.events.ChangeData;
|
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
|
import kd.bos.form.events.BeforeDoOperationEventArgs;
|
|
import kd.bos.form.events.BeforeDoOperationEventArgs;
|
|
@@ -9,6 +11,9 @@ import kd.bos.form.plugin.AbstractFormPlugin;
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
|
|
|
+import kd.bos.servicehelper.user.UserServiceHelper;
|
|
|
|
+
|
|
|
|
+import java.util.EventObject;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @author cjz
|
|
* @author cjz
|
|
@@ -22,6 +27,21 @@ public class PayInformationPlugin extends AbstractFormPlugin {
|
|
private static String bos_user="bos_user";//人员表标识
|
|
private static String bos_user="bos_user";//人员表标识
|
|
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public void afterBindData(EventObject e) {
|
|
|
|
+ super.afterBindData(e);
|
|
|
|
+ long userID = UserServiceHelper.getCurrentUserId();
|
|
|
|
+ DynamicObject user=BusinessDataServiceHelper
|
|
|
|
+ .loadSingle("bos_user","id,name",new QFilter[]{new QFilter("id",QCP.equals,userID)});
|
|
|
|
+ //设置管理员工号为当前用户
|
|
|
|
+ this.getModel().setValue("nckd_adminnum",user);
|
|
|
|
+ String name= user.getLocaleString("name").getLocaleValue();
|
|
|
|
+ //管理员姓名
|
|
|
|
+ this.getModel().setValue("nckd_adminname",name);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public void propertyChanged(PropertyChangedArgs e) {
|
|
public void propertyChanged(PropertyChangedArgs e) {
|
|
super.beforePropertyChanged(e);
|
|
super.beforePropertyChanged(e);
|
|
@@ -29,65 +49,18 @@ public class PayInformationPlugin extends AbstractFormPlugin {
|
|
//获取当前单据
|
|
//获取当前单据
|
|
DynamicObject dynamicObject=this.getModel().getDataEntity(true);
|
|
DynamicObject dynamicObject=this.getModel().getDataEntity(true);
|
|
//选择收款人工号后自动带出收款人姓名
|
|
//选择收款人工号后自动带出收款人姓名
|
|
- if (nckd_payeenum.equals(name))
|
|
|
|
- {
|
|
|
|
|
|
+ if (nckd_payeenum.equals(name)) {
|
|
ChangeData[] changeSet = e.getChangeSet();//获取值
|
|
ChangeData[] changeSet = e.getChangeSet();//获取值
|
|
ChangeData changeData = changeSet[0];
|
|
ChangeData changeData = changeSet[0];
|
|
DynamicObject payObj= (DynamicObject) changeData.getNewValue();
|
|
DynamicObject payObj= (DynamicObject) changeData.getNewValue();
|
|
QFilter filter=new QFilter("number", QCP.equals,payObj.get("number"));
|
|
QFilter filter=new QFilter("number", QCP.equals,payObj.get("number"));
|
|
DynamicObject payeeuser= BusinessDataServiceHelper.loadSingle(bos_user,QCP.equals,new QFilter[]{filter});
|
|
DynamicObject payeeuser= BusinessDataServiceHelper.loadSingle(bos_user,QCP.equals,new QFilter[]{filter});
|
|
|
|
+ String payname= payeeuser.getLocaleString("name").getLocaleValue();
|
|
//设置收款人姓名
|
|
//设置收款人姓名
|
|
- this.getModel().setValue("nckd_payeename",payeeuser);
|
|
|
|
|
|
+ this.getModel().setValue("nckd_payeename",payname);
|
|
}
|
|
}
|
|
- //选择管理员工号后自动带出管理人姓名
|
|
|
|
- if (nckd_adminnum.equals(name))
|
|
|
|
- {
|
|
|
|
- ChangeData[] changeSet = e.getChangeSet();//获取值
|
|
|
|
- ChangeData changeData = changeSet[0];
|
|
|
|
- DynamicObject payObj= (DynamicObject) changeData.getNewValue();
|
|
|
|
- QFilter filter=new QFilter("number", QCP.equals,payObj.get("number"));
|
|
|
|
- DynamicObject adminuser= BusinessDataServiceHelper.loadSingle(bos_user,QCP.equals,new QFilter[]{filter});
|
|
|
|
- //设置收款人姓名
|
|
|
|
- this.getModel().setValue("nckd_adminname",adminuser);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- //保存前校验
|
|
|
|
- public void beforeDoOperation(BeforeDoOperationEventArgs args) {
|
|
|
|
- super.beforeDoOperation(args);
|
|
|
|
- AbstractOperate op = (AbstractOperate)args.getSource();
|
|
|
|
- String operateKey = op.getOperateKey();
|
|
|
|
- //获取当前单据
|
|
|
|
- DynamicObject dynamicObject=this.getModel().getDataEntity(true);
|
|
|
|
- //获取工号
|
|
|
|
- DynamicObject payeenumDy=dynamicObject.getDynamicObject("nckd_payeenum");
|
|
|
|
- String payeenum=payeenumDy.getString("number");
|
|
|
|
- //数据状态
|
|
|
|
- String nckd_datastatus=dynamicObject.getString("nckd_datastatus");
|
|
|
|
- //银行账号
|
|
|
|
- String nckd_payaccount=dynamicObject.getString("nckd_payaccount");
|
|
|
|
- //保存前加校验,每个工号只有一个启用数据
|
|
|
|
- if ("bar_save".equals(operateKey)) {
|
|
|
|
- //工号启用校验
|
|
|
|
- QFilter qFilter=new QFilter("nckd_payeenum.number",QCP.equals,payeenum);
|
|
|
|
- qFilter.and("nckd_datastatus",QCP.equals,nckd_datastatus);
|
|
|
|
- DynamicObject[] dynamicObjects=BusinessDataServiceHelper
|
|
|
|
- .load("nckd_payinformation","id",new QFilter[]{qFilter});
|
|
|
|
- if (dynamicObjects.length>0) {
|
|
|
|
- this.getView().showMessage("同一个工号存在多个已启用的数据,工号为:"+payeenum);
|
|
|
|
- //取消保存操作
|
|
|
|
- args.setCancel(true);
|
|
|
|
- }
|
|
|
|
- //银行账号校验
|
|
|
|
- QFilter filter=new QFilter("nckd_payaccount",QCP.equals,nckd_payaccount);
|
|
|
|
- DynamicObject[] dylist=BusinessDataServiceHelper
|
|
|
|
- .load("nckd_payinformation","id",new QFilter[]{filter});
|
|
|
|
- if (dylist.length>0) {
|
|
|
|
- this.getView().showMessage("存在相同的银行账号:"+nckd_payaccount);
|
|
|
|
- //取消保存操作
|
|
|
|
- args.setCancel(true);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|