|
@@ -7,12 +7,14 @@ import com.huimv.guowei.admin.common.utils.DataUill;
|
|
|
import com.huimv.guowei.admin.common.utils.Result;
|
|
|
import com.huimv.guowei.admin.common.utils.ResultCode;
|
|
|
import com.huimv.guowei.admin.entity.*;
|
|
|
+import com.huimv.guowei.admin.mapper.BaseBuildingMapper;
|
|
|
import com.huimv.guowei.admin.mapper.EnvRegularCallFeedingMapper;
|
|
|
import com.huimv.guowei.admin.service.IEnvRegularCallFeedingService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
@@ -34,6 +36,8 @@ public class EnvRegularCallFeedingServiceImpl extends ServiceImpl<EnvRegularCall
|
|
|
|
|
|
@Autowired
|
|
|
private EnvRegularCallFeedingMapper feedingMapper;
|
|
|
+ @Resource
|
|
|
+ private BaseBuildingMapper baseBuildingMapper;
|
|
|
|
|
|
@Override
|
|
|
public Result listById(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
|
|
@@ -134,16 +138,21 @@ public class EnvRegularCallFeedingServiceImpl extends ServiceImpl<EnvRegularCall
|
|
|
Date timesMonthmorning = DataUill.getTimesMonthmorning();
|
|
|
BigDecimal dayGap,monthGap;
|
|
|
Map resultMap = new HashMap();
|
|
|
+ List<Integer> unitList = new ArrayList<>();
|
|
|
+ List<BaseBuilding> baseBuildingList = baseBuildingMapper.selectList(new QueryWrapper<BaseBuilding>().eq("parent_id", unitId));
|
|
|
+ for (BaseBuilding building : baseBuildingList) {
|
|
|
+ unitList.add(building.getId());
|
|
|
+ }
|
|
|
//今日
|
|
|
QueryWrapper<EnvRegularCallFeeding> queryWrapper1 = new QueryWrapper<>();
|
|
|
- queryWrapper1.eq("d.unit_id",unitId).eq("f.farm_id",farmId).eq("f.event_type",0).ge("f.call_date",timesmorning);
|
|
|
+ queryWrapper1.in("d.unit_id",unitList).eq("f.farm_id",farmId).eq("f.event_type",0).ge("f.call_date",timesmorning);
|
|
|
BigDecimal dayFeed = feedingMapper.getFeed(queryWrapper1);
|
|
|
//昨日
|
|
|
LocalDate yesterday = LocalDate.now().minusDays(1);
|
|
|
LocalDateTime startOfDay = yesterday.atStartOfDay();
|
|
|
LocalDateTime endOfDay = yesterday.atTime(LocalTime.MAX);
|
|
|
QueryWrapper<EnvRegularCallFeeding> queryWrapper2 = new QueryWrapper<>();
|
|
|
- queryWrapper2.eq("d.unit_id",unitId).eq("f.farm_id",farmId).eq("f.event_type",0).between("f.call_date",startOfDay,endOfDay);
|
|
|
+ queryWrapper2.in("d.unit_id",unitList).eq("f.farm_id",farmId).eq("f.event_type",0).between("f.call_date",startOfDay,endOfDay);
|
|
|
BigDecimal lastDayFeed = feedingMapper.getFeed(queryWrapper2);
|
|
|
//日环比
|
|
|
if (lastDayFeed.toString().equals("0.00")){
|
|
@@ -156,13 +165,13 @@ public class EnvRegularCallFeedingServiceImpl extends ServiceImpl<EnvRegularCall
|
|
|
}
|
|
|
//本月
|
|
|
QueryWrapper<EnvRegularCallFeeding> queryWrapper3 = new QueryWrapper<>();
|
|
|
- queryWrapper3.eq("d.unit_id",unitId).eq("f.farm_id",farmId).eq("f.event_type",0).ge("f.call_date",timesMonthmorning);
|
|
|
+ queryWrapper3.in("d.unit_id",unitList).eq("f.farm_id",farmId).eq("f.event_type",0).ge("f.call_date",timesMonthmorning);
|
|
|
BigDecimal monthFeed = feedingMapper.getFeed(queryWrapper3);
|
|
|
//上月
|
|
|
Date lastMonthStartMorning = DataUill.getLastMonthStartMorning();
|
|
|
Date lastMonthEndNight = DataUill.getLastMonthEndNight();
|
|
|
QueryWrapper<EnvRegularCallFeeding> queryWrapper4 = new QueryWrapper<>();
|
|
|
- queryWrapper4.eq("d.unit_id",unitId).eq("f.farm_id",farmId).eq("f.event_type",0).between("f.call_date",lastMonthStartMorning,lastMonthEndNight);
|
|
|
+ queryWrapper4.in("d.unit_id",unitList).eq("f.farm_id",farmId).eq("f.event_type",0).between("f.call_date",lastMonthStartMorning,lastMonthEndNight);
|
|
|
BigDecimal lastMonthFeed = feedingMapper.getFeed(queryWrapper4);
|
|
|
//月环比
|
|
|
if (lastMonthFeed.toString().equals("0.00")){
|
|
@@ -191,13 +200,20 @@ public class EnvRegularCallFeedingServiceImpl extends ServiceImpl<EnvRegularCall
|
|
|
String farmId = paramsMap.get("farmId");
|
|
|
String type = paramsMap.get("type");
|
|
|
List<EnvRegularCallFeeding> envRegularCallFeedingList;
|
|
|
+ List<String> unitList = new ArrayList<>();
|
|
|
+ List<BaseBuilding> baseBuildingList = baseBuildingMapper.selectList(new QueryWrapper<BaseBuilding>().eq("parent_id", unitId));
|
|
|
+ for (BaseBuilding building : baseBuildingList) {
|
|
|
+ unitList.add(building.getId().toString());
|
|
|
+ }
|
|
|
+ String units = String.join(",",unitList);
|
|
|
+ units = "("+units+")";
|
|
|
//六个月
|
|
|
if ("1".equals(type)){
|
|
|
- envRegularCallFeedingList = feedingMapper.listSixMonthFeed(farmId, unitId);
|
|
|
+ envRegularCallFeedingList = feedingMapper.listSixMonthFeed(farmId, units);
|
|
|
}
|
|
|
//七天
|
|
|
else {
|
|
|
- envRegularCallFeedingList = feedingMapper.listSevenDayFeed(farmId, unitId);
|
|
|
+ envRegularCallFeedingList = feedingMapper.listSevenDayFeed(farmId, units);
|
|
|
}
|
|
|
return new Result(ResultCode.SUCCESS,envRegularCallFeedingList);
|
|
|
}
|