Query<KObject>query=session.createQuery("from "+NEED_PLAN_ENTITY+" where project.id=:projectId and planningCycle.id =:planningCycleId and approveState=2 and (discard is null or discard = 0) ",KObject.class);
Query<KObject>query=session.createQuery("from "+NEED_PLAN_ENTITY+" where project.id=:projectId and planningCycle.id =:planningCycleId and submitState=:submitState and (discard is null or discard = 0) ",KObject.class);
needPlan.needPlanTotalAmount AS needPlanTotalAmount,
...
...
@@ -27,9 +29,10 @@
LEFT JOIN (
SELECT detail.project AS projectId, salesPlan.planningCycle AS planningCycle, SUM(detail.planAmount) AS planTotalAmount FROM SalesPlanAssociatedSalesPlanDetail AS detail
LEFT JOIN SalesPlan AS salesPlan ON detail.master = salesPlan.id
WHERE salesPlan.approveState = 2 group by detail.project, salesPlan.planningCycle
LEFT JOIN Contract AS contract ON contract.id = detail.contract
WHERE salesPlan.approveState = 2 AND contract.contractState = 'EXECUTING' group by detail.project, salesPlan.planningCycle
) AS salesPlanDetail ON needPlan.project = salesPlanDetail.projectId AND needPlan.planningCycle = salesPlanDetail.planningCycle
WHERE ( needPlan.DISCARD = FALSE OR needPlan.DISCARD IS NULL )
WHERE ( needPlan.DISCARD = FALSE OR needPlan.DISCARD IS NULL ) AND needPlan.submitState = 'SUBMITTED'
AND needPlan.regionalCompany = :?regionalCompanyId
AND projectFiled.id = :?projectId
AND planningCycle.startTime >= :?planningCycleStartTime
planningCycle.startTime AS planningCycleStartTime,
planningCycle.endTime AS planningCycleEndTime,
projectFiled.projectName AS projectName,
projectFiled.id AS projectId,
needPlan.needPlanTotalAmount AS requiredTotalAmount,
SUM(detail.planAmount) AS totalPlanAmount,
SUM(detail.actualSaleAmount) AS actualSaleTotalAmount
FROM
SalesPlan AS salesPlan
LEFT JOIN SalesPlanAssociatedSalesPlanDetail AS detail ON detail.master = salesPlan.id
LEFT JOIN xystOrganization AS xystorganization ON xystorganization.id = salesPlan.regionalCompany
LEFT JOIN PlanningCycle AS planningCycle ON planningCycle.id = salesPlan.planningCycle
LEFT JOIN Contract AS contract ON detail.contract = contract.id
LEFT JOIN ProjectFiled AS projectFiled ON detail.project = projectFiled.id
LEFT JOIN NeedPlan AS needPlan ON needPlan.planningCycle = salesPlan.planningCycle AND needPlan.project = detail.project AND needPlan.submitState = 'SUBMITTED'
WHERE salesPlan.approveState = 2
AND contract.contractState = 'EXECUTING'
AND xystorganization.id = :?organizationId
AND projectFiled.id = :?projectId
AND planningCycle.startTime >= :?planningCycleStartTime
AND planningCycle.endTime <= :?planningCycleEndTime