|
@@ -11,22 +11,29 @@ import com.kingdee.bos.metadata.query.util.CompareType;
|
|
|
import com.kingdee.eas.basedata.person.PersonInfo;
|
|
|
import com.kingdee.eas.common.EASBizException;
|
|
|
import com.kingdee.eas.framework.CoreBaseInfo;
|
|
|
+import com.kingdee.eas.framework.ICoreBase;
|
|
|
import com.kingdee.eas.hr.project.*;
|
|
|
import com.kingdee.shr.base.syssetting.context.SHRContext;
|
|
|
import com.kingdee.shr.base.syssetting.exception.SHRWebException;
|
|
|
|
|
|
import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
|
|
|
+import com.kingdee.shr.base.syssetting.ml.SHRWebResource;
|
|
|
import com.kingdee.shr.base.syssetting.web.handler.EditHandler;
|
|
|
|
|
|
+import com.kingdee.shr.base.syssetting.web.plugin.PluginUtil;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.ui.ModelMap;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
+import java.lang.reflect.InvocationTargetException;
|
|
|
+import java.lang.reflect.Method;
|
|
|
import java.text.MessageFormat;
|
|
|
import java.util.Map;
|
|
|
|
|
|
-/** 项目成员管理表单
|
|
|
+/**
|
|
|
+ * 项目成员管理表单
|
|
|
+ *
|
|
|
* @BelongsProject: dataImpExp820
|
|
|
* @BelongsPackage: com.kingdee.eas.hr.project.handler
|
|
|
* @Author: lhbj
|
|
@@ -36,7 +43,10 @@ import java.util.Map;
|
|
|
*/
|
|
|
public class MemberManagementEditHandler extends EditHandler {
|
|
|
|
|
|
- protected String pTypeNumber="003";
|
|
|
+
|
|
|
+
|
|
|
+ protected String pTypeNumber = "003";
|
|
|
+
|
|
|
protected void verifyModel(HttpServletRequest request, HttpServletResponse response, CoreBaseInfo model) throws SHRWebException {
|
|
|
Context ctx = SHRContext.getInstance().getContext();
|
|
|
MemberManagementInfo management = (MemberManagementInfo) model;
|
|
@@ -47,53 +57,57 @@ public class MemberManagementEditHandler extends EditHandler {
|
|
|
ProjectManagementInfo projectManagement = management.getProjectManagement();
|
|
|
|
|
|
try {
|
|
|
- projectRole= ProjectRoleFactory.getLocalInstance(ctx).getProjectRoleInfo(new ObjectUuidPK(projectRole.getId()));
|
|
|
- pType= ProjectTypeFactory.getLocalInstance(ctx).getProjectTypeInfo(new ObjectUuidPK(pType.getId()));
|
|
|
+ projectRole = ProjectRoleFactory.getLocalInstance(ctx).getProjectRoleInfo(new ObjectUuidPK(projectRole.getId()));
|
|
|
+ pType = ProjectTypeFactory.getLocalInstance(ctx).getProjectTypeInfo(new ObjectUuidPK(pType.getId()));
|
|
|
FilterInfo filterInfo = new FilterInfo();
|
|
|
filterInfo.getFilterItems().add(new FilterItemInfo("projectManagement.id", projectManagement.getId().toString(), CompareType.EQUALS));
|
|
|
filterInfo.getFilterItems().add(new FilterItemInfo("projectRole.id", projectRole.getId().toString(), CompareType.EQUALS));
|
|
|
+ filterInfo.getFilterItems().add(new FilterItemInfo("state", "1", CompareType.EQUALS));
|
|
|
|
|
|
FilterInfo filterInfo2 = new FilterInfo();
|
|
|
filterInfo2.getFilterItems().add(new FilterItemInfo("ptype.id", pType.getId().toString(), CompareType.EQUALS));
|
|
|
FilterInfo filterInfo3 = new FilterInfo();
|
|
|
filterInfo3.getFilterItems().add(new FilterItemInfo("ptype.number", pTypeNumber, CompareType.NOTEQUALS));
|
|
|
|
|
|
- filterInfo2.mergeFilter(filterInfo3,"or");
|
|
|
- filterInfo.mergeFilter(filterInfo2,"and");
|
|
|
-
|
|
|
- if(MemberManagementFactory.getLocalInstance(ctx).exists(filterInfo)){
|
|
|
- throw new ShrWebBizException("已经存在项目类别:"+pType.getName()+",项目角色:"+projectRole.getName()+"的成员了");
|
|
|
+ filterInfo2.mergeFilter(filterInfo3, "and");
|
|
|
+ filterInfo.mergeFilter(filterInfo2, "and");
|
|
|
+ System.out.println(filterInfo.toSql());
|
|
|
+ if (MemberManagementFactory.getLocalInstance(ctx).exists(filterInfo)) {
|
|
|
+ throw new ShrWebBizException("已经存在项目类别:" + pType.getName() + ",项目角色:" + projectRole.getName() + "的成员了");
|
|
|
}
|
|
|
+
|
|
|
} catch (BOSException e) {
|
|
|
throw new RuntimeException(e);
|
|
|
} catch (EASBizException e) {
|
|
|
throw new RuntimeException(e);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
protected void setInitData(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap, Map<String, Object> initData) throws SHRWebException {
|
|
|
super.setInitData(request, response, modelMap, initData);
|
|
|
MemberManagementInfo management = (MemberManagementInfo) modelMap.getAttribute("model");
|
|
|
- initData.put("MemberState",management.getState().getValue());
|
|
|
+ initData.put("MemberState", management.getState().getValue());
|
|
|
Context ctx = SHRContext.getInstance().getContext();
|
|
|
try {
|
|
|
String prijectId = this.getProjectId(request);
|
|
|
- if(StringUtils.isNotBlank(prijectId)) {
|
|
|
- Map<String,String> projectMap = Maps.newHashMap();
|
|
|
+ if (StringUtils.isNotBlank(prijectId)) {
|
|
|
+ Map<String, String> projectMap = Maps.newHashMap();
|
|
|
ProjectManagementInfo p = ProjectManagementFactory.getLocalInstance(ctx).getProjectManagementInfo(new ObjectUuidPK(prijectId));
|
|
|
- projectMap.put("id",p.getId().toString());
|
|
|
- projectMap.put("number",p.getNumber());
|
|
|
- projectMap.put("projectCode",p.getString("projectCode"));
|
|
|
- projectMap.put("projectName",p.getString("projectName"));
|
|
|
- projectMap.put("projectLevel",p.getString("projectLevel"));
|
|
|
- projectMap.put("notes",p.getString("notes"));
|
|
|
- projectMap.put("projectState",p.getString("projectState"));
|
|
|
- initData.put("projectManagement",projectMap);
|
|
|
+ projectMap.put("id", p.getId().toString());
|
|
|
+ projectMap.put("number", p.getNumber());
|
|
|
+ projectMap.put("projectCode", p.getString("projectCode"));
|
|
|
+ projectMap.put("projectName", p.getString("projectName"));
|
|
|
+ projectMap.put("projectLevel", p.getString("projectLevel"));
|
|
|
+ projectMap.put("notes", p.getString("notes"));
|
|
|
+ projectMap.put("projectState", p.getString("projectState"));
|
|
|
+ initData.put("projectManagement", projectMap);
|
|
|
}
|
|
|
- }catch (Exception e){
|
|
|
+ } catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
protected String getProjectId(HttpServletRequest request) throws SHRWebException {
|
|
|
String billId = request.getParameter("prijectID");
|
|
|
if (StringUtils.isEmpty(billId)) {
|
|
@@ -101,7 +115,7 @@ public class MemberManagementEditHandler extends EditHandler {
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isEmpty(billId)) {
|
|
|
- billId = (String)request.getAttribute("prijectId");
|
|
|
+ billId = (String) request.getAttribute("prijectId");
|
|
|
}
|
|
|
return billId;
|
|
|
|