9060 3 周之前
父節點
當前提交
20381a78dd
共有 1 個文件被更改,包括 110 次插入37 次删除
  1. 110 37
      src/com/kingdee/eas/hr/project/app/MemberManagementControllerBean.java

+ 110 - 37
src/com/kingdee/eas/hr/project/app/MemberManagementControllerBean.java

@@ -1,38 +1,111 @@
-package com.kingdee.eas.hr.project.app;
-
-import org.apache.log4j.Logger;
-import javax.ejb.*;
-import java.rmi.RemoteException;
-import com.kingdee.bos.*;
-import com.kingdee.bos.util.BOSObjectType;
-import com.kingdee.bos.metadata.IMetaDataPK;
-import com.kingdee.bos.metadata.rule.RuleExecutor;
-import com.kingdee.bos.metadata.MetaDataPK;
-//import com.kingdee.bos.metadata.entity.EntityViewInfo;
-import com.kingdee.bos.framework.ejb.AbstractEntityControllerBean;
-import com.kingdee.bos.framework.ejb.AbstractBizControllerBean;
-//import com.kingdee.bos.dao.IObjectPK;
-import com.kingdee.bos.dao.IObjectValue;
-import com.kingdee.bos.dao.IObjectCollection;
-import com.kingdee.bos.service.ServiceContext;
-import com.kingdee.bos.service.IServiceContext;
-
-import com.kingdee.eas.framework.CoreBillBaseCollection;
-import com.kingdee.eas.framework.app.CoreBillBaseControllerBean;
-import com.kingdee.eas.framework.CoreBaseInfo;
-import com.kingdee.eas.hr.project.MemberManagementCollection;
-import com.kingdee.bos.dao.IObjectPK;
-import com.kingdee.bos.metadata.entity.SelectorItemCollection;
-import com.kingdee.eas.common.EASBizException;
-import com.kingdee.eas.framework.SystemEnum;
-import com.kingdee.eas.framework.CoreBaseCollection;
-import com.kingdee.bos.metadata.entity.EntityViewInfo;
-import java.lang.String;
-import com.kingdee.eas.hr.project.MemberManagementInfo;
-import com.kingdee.eas.framework.ObjectBaseCollection;
-
-public class MemberManagementControllerBean extends AbstractMemberManagementControllerBean
-{
-    private static Logger logger =
-        Logger.getLogger("com.kingdee.eas.hr.project.app.MemberManagementControllerBean");
+package com.kingdee.eas.hr.project.app;
+
+import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
+import com.kingdee.bos.metadata.MetaDataLoaderFactory;
+import com.kingdee.bos.metadata.entity.*;
+import com.kingdee.bos.metadata.query.util.CompareType;
+import com.kingdee.bos.service.ServiceStateManager;
+import com.kingdee.eas.basedata.person.PersonFactory;
+import com.kingdee.eas.basedata.person.PersonInfo;
+import com.kingdee.eas.framework.*;
+import com.kingdee.eas.hr.base.HRBillBaseInfo;
+import com.kingdee.eas.hr.project.ProjectManagementFactory;
+import com.kingdee.eas.hr.project.ProjectManagementInfo;
+import com.kingdee.shr.ml.util.SHRServerResource;
+import org.apache.log4j.Logger;
+import javax.ejb.*;
+import java.rmi.RemoteException;
+import com.kingdee.bos.*;
+import com.kingdee.bos.util.BOSObjectType;
+import com.kingdee.bos.metadata.IMetaDataPK;
+import com.kingdee.bos.metadata.rule.RuleExecutor;
+import com.kingdee.bos.metadata.MetaDataPK;
+//import com.kingdee.bos.metadata.entity.EntityViewInfo;
+import com.kingdee.bos.framework.ejb.AbstractEntityControllerBean;
+import com.kingdee.bos.framework.ejb.AbstractBizControllerBean;
+//import com.kingdee.bos.dao.IObjectPK;
+import com.kingdee.bos.dao.IObjectValue;
+import com.kingdee.bos.dao.IObjectCollection;
+import com.kingdee.bos.service.ServiceContext;
+import com.kingdee.bos.service.IServiceContext;
+
+import com.kingdee.eas.framework.app.CoreBillBaseControllerBean;
+import com.kingdee.eas.hr.project.MemberManagementCollection;
+import com.kingdee.bos.dao.IObjectPK;
+import com.kingdee.eas.common.EASBizException;
+
+import java.lang.String;
+import java.text.MessageFormat;
+
+import com.kingdee.eas.hr.project.MemberManagementInfo;
+
+public class MemberManagementControllerBean extends AbstractMemberManagementControllerBean
+{
+    private static Logger logger =
+        Logger.getLogger("com.kingdee.eas.hr.project.app.MemberManagementControllerBean");
+    protected void _addnew(Context ctx, IObjectPK pk, IObjectValue model) throws BOSException, EASBizException {
+        MemberManagementInfo managementInfo = (MemberManagementInfo) model;
+        ProjectManagementInfo projectManagement= ProjectManagementFactory.getLocalInstance(ctx).
+                getProjectManagementInfo(new ObjectUuidPK(managementInfo.getProjectManagement().getId()));
+        PersonInfo personInfo= PersonFactory.getLocalInstance(ctx).
+                getPersonInfo(new ObjectUuidPK(managementInfo.getEmployee().getId()));
+        String number= projectManagement.getNumber()+ "-" +personInfo.getNumber()+"-"+managementInfo.getState().getValue();
+        managementInfo.setNumber(number);
+        super._addnew(ctx, pk, managementInfo);
+    }
+
+    protected IObjectPK _addnew(Context ctx, IObjectValue model) throws BOSException, EASBizException {
+        MemberManagementInfo managementInfo = (MemberManagementInfo) model;
+        ProjectManagementInfo projectManagement= ProjectManagementFactory.getLocalInstance(ctx).
+                getProjectManagementInfo(new ObjectUuidPK(managementInfo.getProjectManagement().getId()));
+        PersonInfo personInfo= PersonFactory.getLocalInstance(ctx).
+                getPersonInfo(new ObjectUuidPK(managementInfo.getEmployee().getId()));
+        String number= projectManagement.getNumber()+ "-" +personInfo.getNumber()+"-"+managementInfo.getState().getValue();
+        managementInfo.setNumber(number);
+        return super._addnew(ctx, managementInfo);
+    }
+
+
+    protected void _update(Context ctx, IObjectPK pk, IObjectValue model) throws BOSException, EASBizException {
+        MemberManagementInfo managementInfo = (MemberManagementInfo) model;
+        ProjectManagementInfo projectManagement= ProjectManagementFactory.getLocalInstance(ctx).
+                getProjectManagementInfo(new ObjectUuidPK(managementInfo.getProjectManagement().getId()));
+        PersonInfo personInfo= PersonFactory.getLocalInstance(ctx).
+                getPersonInfo(new ObjectUuidPK(managementInfo.getEmployee().getId()));
+        String number= projectManagement.getNumber()+ "-" +personInfo.getNumber()+"-"+managementInfo.getState().getValue();
+        managementInfo.setNumber(number);
+        super._update(ctx, pk, managementInfo);
+    }
+
+    protected void _checkNumDup(Context ctx, HRBillBaseInfo info) throws BOSException, EASBizException {
+        System.out.println(this.getClass().toString()+"_checkNumDup");
+        FilterInfo filterInfo = new FilterInfo();
+        filterInfo.getFilterItems().add(new FilterItemInfo("number", info.getNumber(), CompareType.EQUALS));
+        if (super._exists(ctx, filterInfo)) {
+            String alias = "";
+            MemberManagementInfo managementInfo = (MemberManagementInfo) info;
+            ProjectManagementInfo projectManagement= ProjectManagementFactory.getLocalInstance(ctx).
+                    getProjectManagementInfo(new ObjectUuidPK(managementInfo.getProjectManagement().getId()));
+            PersonInfo personInfo= PersonFactory.getLocalInstance(ctx).
+                    getPersonInfo(new ObjectUuidPK(managementInfo.getEmployee().getId()));
+            EntityObjectInfo entityInfo = MetaDataLoaderFactory.getRemoteMetaDataLoader().getEntity(info.getBOSType());
+            alias = entityInfo.getAlias();//当前XX员工编号XXx,在XX项目己生效!
+            throw new BOSException("当前"+personInfo.getName()+"员工编号"+personInfo.getNumber()+","+"在"+projectManagement.getProjectName()+"项目已生效!");
+        }
+    }
+    protected void _checkNumDup(Context ctx, IObjectPK pk, HRBillBaseInfo info) throws BOSException, EASBizException {
+        System.out.println(this.getClass().toString()+"_checkNumDup");
+        FilterInfo filterInfo = new FilterInfo();
+        filterInfo.getFilterItems().add(new FilterItemInfo("number", info.getNumber(), CompareType.EQUALS));
+        filterInfo.getFilterItems().add(new FilterItemInfo("id", pk.toString(), CompareType.NOTEQUALS));
+        if (super._exists(ctx, filterInfo)) {
+            MemberManagementInfo managementInfo = (MemberManagementInfo) info;
+            ProjectManagementInfo projectManagement= ProjectManagementFactory.getLocalInstance(ctx).
+                    getProjectManagementInfo(new ObjectUuidPK(managementInfo.getProjectManagement().getId()));
+            PersonInfo personInfo= PersonFactory.getLocalInstance(ctx).
+                    getPersonInfo(new ObjectUuidPK(managementInfo.getEmployee().getId()));
+            EntityObjectInfo entityInfo = MetaDataLoaderFactory.getRemoteMetaDataLoader().getEntity(info.getBOSType());
+            throw new BOSException("当前"+personInfo.getName()+"员工编号"+personInfo.getNumber()+","+"在"+projectManagement.getProjectName()+"项目已生效!");
+        }
+    }
 }