⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 projecttasklist.bsh

📁 国外的一套开源CRM
💻 BSH
字号:
/*
 *  Copyright (c) 2003 The Open For Business Project - www.ofbiz.org
 *
 *  Permission is hereby granted, free of charge, to any person obtaining a 
 *  copy of this software and associated documentation files (the "Software"), 
 *  to deal in the Software without restriction, including without limitation 
 *  the rights to use, copy, modify, merge, publish, distribute, sublicense, 
 *  and/or sell copies of the Software, and to permit persons to whom the 
 *  Software is furnished to do so, subject to the following conditions:
 *
 *  The above copyright notice and this permission notice shall be included 
 *  in all copies or substantial portions of the Software.
 *
 *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
 *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 
 *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
 *  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 
 *  CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT 
 *  OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR 
 *  THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 *
 *@author     David E. Jones (jonesde@ofbiz.org)
 *@version    $Revision: 1.4 $
 *@since      2.2
 */

import java.util.*;
import org.ofbiz.security.*;
import org.ofbiz.entity.*;
import org.ofbiz.entity.condition.*;
import org.ofbiz.base.util.*;
import org.ofbiz.service.*;
import org.ofbiz.workeffort.workeffort.*;
import org.ofbiz.workeffort.project.*;

delegator = request.getAttribute("delegator");
GenericValue userLogin = (GenericValue) context.getSession().getAttribute("userLogin");

String projectWorkEffortId = context.getRequest().getParameter("projectWorkEffortId");

// if there was no parameter, check the request attribute, this may be a newly created entity
if (projectWorkEffortId == null)
    projectWorkEffortId = (String) context.getRequest().getAttribute("projectWorkEffortId");

Collection relatedWorkEfforts = null;

if (userLogin != null && userLogin.get("partyId") != null) {
    try {
        relatedWorkEfforts = delegator.findByAnd("WorkEffortAssoc",
                    UtilMisc.toList(new EntityExpr("workEffortIdFrom", EntityOperator.EQUALS, projectWorkEffortId),
                        new EntityExpr("workEffortAssocTypeId", EntityOperator.EQUALS, "WORK_EFF_BREAKDOWN")));
    } catch (GenericEntityException e) {
        Debug.log(e);
    }
}

Collection validWorkEfforts = new ArrayList();

if (relatedWorkEfforts != null) {
    Iterator relatedWorkEffortsIter = relatedWorkEfforts.iterator();

    try {
        while (relatedWorkEffortsIter.hasNext()) {
            GenericValue workEffortAssoc = (GenericValue) relatedWorkEffortsIter.next();
            GenericValue workEffort = workEffortAssoc.getRelatedOne("ToWorkEffort");

            // only get phases
            if ("TASK".equals(workEffort.getString("workEffortTypeId")) &&
                ("WEPT_PHASE".equals(workEffort.getString("workEffortPurposeTypeId")))) {

                //Get all related tasks for this phase
				String phaseWorkEffortId = workEffort.get("workEffortId");
		        Collection relatedPhaseWorkEfforts = null;
		
		        if (userLogin != null && userLogin.get("partyId") != null) {
		            try {
		                relatedPhaseWorkEfforts = delegator.findByAnd("WorkEffortAssoc",
		                            UtilMisc.toList(new EntityExpr("workEffortIdFrom", EntityOperator.EQUALS, phaseWorkEffortId),
		                                new EntityExpr("workEffortAssocTypeId", EntityOperator.EQUALS, "WORK_EFF_BREAKDOWN")));
		            } catch (GenericEntityException e) {
		                Debug.log(e);
		            }
		        }
		
		        Collection validPhaseWorkEfforts = new ArrayList();
		
		        if (relatedPhaseWorkEfforts != null) {
		            Iterator relatedPhaseWorkEffortsIter = relatedPhaseWorkEfforts.iterator();
		
		            try {
		                while (relatedPhaseWorkEffortsIter.hasNext()) {
		                    GenericValue phaseWorkEffortAssoc = (GenericValue) relatedPhaseWorkEffortsIter.next();
		                    GenericValue phaseWorkEffort = phaseWorkEffortAssoc.getRelatedOne("ToWorkEffort");
		
		                    // only get phases
		                    if ("TASK".equals(phaseWorkEffort.getString("workEffortTypeId"))) {
		                        validPhaseWorkEfforts.add(phaseWorkEffort);
		                    }
		                }
		            } catch (GenericEntityException e) {
		                Debug.log(e);
		            }
		        }
		        //Each collection entry is a map with the work effort as one entry and the list of related tasks as another
		        validWorkEfforts.add(UtilMisc.toMap("workEffort",workEffort,"tasks",validPhaseWorkEfforts));
              
            }
        }
    } catch (GenericEntityException e) {
        Debug.log(e);
    }
}
context.put("phases",validWorkEfforts);

String projectWorkEffortId = request.getParameter("projectWorkEffortId");
GenericValue projectWorkEffortStatus = null;
GenericValue projectWorkEffort = delegator.findByPrimaryKey("WorkEffort", 
	UtilMisc.toMap("workEffortId", projectWorkEffortId));
if(projectWorkEffort != null) {
	projectWorkEffortStatus = projectWorkEffort.getRelatedOne("CurrentStatusItem");
}
context.put("projectWorkEffortId", projectWorkEffortId);
context.put("projectWorkEffort", projectWorkEffort);
context.put("projectWorkEffortStatus", projectWorkEffortStatus);

dispatcher = request.getAttribute("dispatcher");
Map serviceCtx = UtilMisc.toMap(
	"userLogin",context.getSession().getAttribute("userLogin"),
	"workEffortId",projectWorkEffortId);
Map result = dispatcher.runSync("getWorkEffort",serviceCtx);

context.put("workEffort",result.get("workEffort"));
context.put("workEffortId",result.get("workEffortId"));
context.put("partyAssigns",result.get("partyAssigns"));
context.put("canView",result.get("canView"));
context.put("tryEntity",result.get("tryEntity"));
context.put("currentStatusItem",result.get("currentStatusItem"));


        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -