123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- package com.kingdee.eas.hr.project.handler;
- import com.google.common.collect.Maps;
- import com.kingdee.bos.BOSException;
- import com.kingdee.bos.Context;
- import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
- import com.kingdee.bos.metadata.entity.FilterInfo;
- import com.kingdee.bos.metadata.entity.FilterItemInfo;
- 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.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.web.handler.EditHandler;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.ui.ModelMap;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.text.MessageFormat;
- import java.util.Map;
- /** 项目成员管理表单
- * @BelongsProject: dataImpExp820
- * @BelongsPackage: com.kingdee.eas.hr.project.handler
- * @Author: lhbj
- * @CreateTime: 2024-11-27 18:21
- * @Description: TODO
- * @Version: 1.0
- */
- public class MemberManagementEditHandler extends EditHandler {
- protected String pTypeNumber="003";
- protected void verifyModel(HttpServletRequest request, HttpServletResponse response, CoreBaseInfo model) throws SHRWebException {
- Context ctx = SHRContext.getInstance().getContext();
- MemberManagementInfo management = (MemberManagementInfo) model;
- ProjectRoleInfo projectRole = management.getProjectRole();
- PersonInfo personInfo = management.getEmployee();
- ProjectTypeInfo pType = management.getPtype();
- ProjectManagementInfo projectManagement = management.getProjectManagement();
- try {
- 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 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()+"的成员了");
- }
- } 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());
- Context ctx = SHRContext.getInstance().getContext();
- try {
- String prijectId = this.getProjectId(request);
- 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);
- }
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- protected String getProjectId(HttpServletRequest request) throws SHRWebException {
- String billId = request.getParameter("prijectID");
- if (StringUtils.isEmpty(billId)) {
- billId = request.getParameter("prijectId");
- }
- if (StringUtils.isEmpty(billId)) {
- billId = (String)request.getAttribute("prijectId");
- }
- return billId;
- }
- }
|