|  | @@ -1,6 +1,8 @@
 | 
	
		
			
				|  |  |  package sys.sc.formplugin;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import kd.bos.context.RequestContext;
 | 
	
		
			
				|  |  |  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.PropertyChangedArgs;
 | 
	
		
			
				|  |  |  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.QFilter;
 | 
	
		
			
				|  |  |  import kd.bos.servicehelper.BusinessDataServiceHelper;
 | 
	
		
			
				|  |  | +import kd.bos.servicehelper.user.UserServiceHelper;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +import java.util.EventObject;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * @author cjz
 | 
	
	
		
			
				|  | @@ -22,6 +27,21 @@ public class PayInformationPlugin extends AbstractFormPlugin {
 | 
	
		
			
				|  |  |      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
 | 
	
		
			
				|  |  |      public void propertyChanged(PropertyChangedArgs e) {
 | 
	
		
			
				|  |  |          super.beforePropertyChanged(e);
 | 
	
	
		
			
				|  | @@ -29,65 +49,18 @@ public class PayInformationPlugin extends AbstractFormPlugin {
 | 
	
		
			
				|  |  |          //获取当前单据
 | 
	
		
			
				|  |  |          DynamicObject dynamicObject=this.getModel().getDataEntity(true);
 | 
	
		
			
				|  |  |          //选择收款人工号后自动带出收款人姓名
 | 
	
		
			
				|  |  | -        if (nckd_payeenum.equals(name))
 | 
	
		
			
				|  |  | -        {
 | 
	
		
			
				|  |  | +        if (nckd_payeenum.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 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);
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  }
 |