| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| import org.apache.ofbiz.base.util.* |
| import org.apache.ofbiz.entity.util.* |
| import java.text.SimpleDateFormat |
| import java.util.List |
| import java.util.Set |
| import org.apache.ofbiz.entity.condition.EntityCondition |
| import org.apache.ofbiz.entity.condition.EntityOperator |
| import org.apache.ofbiz.entity.util.EntityFindOptions |
| |
| def limit = 13 // set number of days |
| def sdf = new SimpleDateFormat("EEEE yyyy-MM-dd 00:00:00.000") |
| def sdf2 = new SimpleDateFormat("EEEE dd/MM/yyyy") |
| def sdfTime = new SimpleDateFormat("HH:mm") |
| def today = new Date() |
| |
| for(i in 0..limit){ |
| def date1 = sdf.format(today-i) |
| def date2 = sdf.format(today-i+1) |
| def parseDate1 = sdf.parse(date1) |
| def parseDate2 = sdf.parse(date2) |
| def timeStampDate1 = UtilDateTime.toTimestamp(parseDate1) |
| def timeStampDate2 = UtilDateTime.toTimestamp(parseDate2) |
| // make condition for distinct productId |
| def exprs = [] |
| exprs.add(EntityCondition.makeCondition("productContentTypeId",EntityOperator.EQUALS, "IMAGE")) |
| exprs.add(EntityCondition.makeCondition("statusId",EntityOperator.EQUALS, "IM_APPROVED")) |
| exprs.add(EntityCondition.makeCondition("purchaseFromDate", EntityOperator.GREATER_THAN_EQUAL_TO, timeStampDate1)) |
| exprs.add(EntityCondition.makeCondition("purchaseFromDate", EntityOperator.LESS_THAN, timeStampDate2)) |
| // query result |
| def productContentAndInfoList = select("productId").from("ProductContentAndInfo").where(exprs).distinct().queryList() |
| |
| // finding time |
| def timeList = from("ProductContentAndInfo").where(exprs).orderBy("productId").queryList() |
| def groupByTimeList = timeList.groupBy{it.productId} |
| def tempTimeList = [] |
| groupByTimeList.each() { |
| key,value -> tempTimeList.add(value.purchaseFromDate) |
| } |
| |
| def time = [] |
| if(tempTimeList.size > 0){ |
| for(j in 0..tempTimeList.size-1){ |
| time.add(sdfTime.format(tempTimeList.get(j).get(0))) |
| } |
| } |
| def showDate = sdf2.format(today-i) |
| |
| switch (i) { |
| case 0: context.approved_0 = productContentAndInfoList; context.time_0 = time; context.date0 = showDate |
| context.timeStampDate1_0 = timeStampDate1; context.timeStampDate2_0 = timeStampDate2; break |
| case 1: context.approved_1 = productContentAndInfoList; context.time_1 = time; context.date1 = showDate |
| context.timeStampDate1_1 = timeStampDate1; context.timeStampDate2_1 = timeStampDate2; break |
| case 2: context.approved_2 = productContentAndInfoList; context.time_2 = time; context.date2 = showDate |
| context.timeStampDate1_2 = timeStampDate1; context.timeStampDate2_2 = timeStampDate2; break |
| case 3: context.approved_3 = productContentAndInfoList; context.time_3 = time; context.date3 = showDate |
| context.timeStampDate1_3 = timeStampDate1; context.timeStampDate2_3 = timeStampDate2; break |
| case 4: context.approved_4 = productContentAndInfoList; context.time_4 = time; context.date4 = showDate |
| context.timeStampDate1_4 = timeStampDate1; context.timeStampDate2_4 = timeStampDate2; break |
| case 5: context.approved_5 = productContentAndInfoList; context.time_5 = time; context.date5 = showDate |
| context.timeStampDate1_5 = timeStampDate1; context.timeStampDate2_5 = timeStampDate2; break |
| case 6: context.approved_6 = productContentAndInfoList; context.time_6 = time; context.date6 = showDate |
| context.timeStampDate1_6 = timeStampDate1; context.timeStampDate2_6 = timeStampDate2; break |
| case 7: context.approved_7 = productContentAndInfoList; context.time_7 = time; context.date7 = showDate |
| context.timeStampDate1_7 = timeStampDate1; context.timeStampDate2_7 = timeStampDate2; break |
| case 8: context.approved_8 = productContentAndInfoList; context.time_8 = time; context.date8 = showDate |
| context.timeStampDate1_8 = timeStampDate1; context.timeStampDate2_8 = timeStampDate2; break |
| case 9: context.approved_9 = productContentAndInfoList; context.time_9 = time; context.date9 = showDate |
| context.timeStampDate1_9 = timeStampDate1; context.timeStampDate2_9 = timeStampDate2; break |
| case 10: context.approved_10 = productContentAndInfoList; context.time_10 = time; context.date10 = showDate |
| context.timeStampDate1_10 = timeStampDate1; context.timeStampDate2_10 = timeStampDate2; break |
| case 11: context.approved_11 = productContentAndInfoList; context.time_11 = time; context.date11 = showDate |
| context.timeStampDate1_11 = timeStampDate1; context.timeStampDate2_11 = timeStampDate2; break |
| case 12: context.approved_12 = productContentAndInfoList; context.time_12 = time; context.date12 = showDate |
| context.timeStampDate1_12 = timeStampDate1; context.timeStampDate2_12 = timeStampDate2; break |
| case 13: context.approved_13 = productContentAndInfoList; context.time_13 = time; context.date13 = showDate |
| context.timeStampDate1_13 = timeStampDate1; context.timeStampDate2_13 = timeStampDate2; break |
| default: context.error = "error" |
| } |
| } |