|
@@ -1,5 +1,6 @@
|
|
package com.huimv.eartag2.manage2.service.impl;
|
|
package com.huimv.eartag2.manage2.service.impl;
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.huimv.eartag2.common.utils.DateUtil;
|
|
import com.huimv.eartag2.common.utils.DateUtil;
|
|
@@ -16,8 +17,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.huimv.eartag2.manage2.service.IEartagEartagRegister2Service;
|
|
import com.huimv.eartag2.manage2.service.IEartagEartagRegister2Service;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
|
+import java.text.ParseException;
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
@@ -41,7 +46,8 @@ public class FarmerAssetServiceImpl extends ServiceImpl<FarmerAssetMapper, Farme
|
|
private EartagEartagRegister2Mapper eartagEartagRegister2Mapper;
|
|
private EartagEartagRegister2Mapper eartagEartagRegister2Mapper;
|
|
@Autowired
|
|
@Autowired
|
|
private EartagDeviceRegisterMapper eartagDeviceRegisterMapper;
|
|
private EartagDeviceRegisterMapper eartagDeviceRegisterMapper;
|
|
-
|
|
|
|
|
|
+ @Value("${farmer.pig.price}")
|
|
|
|
+ private String pigPrice;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public List<FarmerAsset> getLastManyMonthAssets(String farmCode, String manyMonth) {
|
|
public List<FarmerAsset> getLastManyMonthAssets(String farmCode, String manyMonth) {
|
|
@@ -50,17 +56,11 @@ public class FarmerAssetServiceImpl extends ServiceImpl<FarmerAssetMapper, Farme
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public Result getAssetStatistics(Map<String, Object> paramsMap) {
|
|
|
|
- DateUtil dateUtil = new DateUtil();
|
|
|
|
-// String farmCode = paramsMap.get("areaId")+"";
|
|
|
|
- java.sql.Date todayDate = new java.sql.Date(new java.util.Date().getTime());
|
|
|
|
-// QueryWrapper<EartagAbnormalAlarm> queryWrapper = new QueryWrapper();
|
|
|
|
-// queryWrapper.eq("farm_code",farmCode);
|
|
|
|
|
|
+ public Result getAssetStatistics(Map<String, Object> paramsMap) throws ParseException {
|
|
|
|
+ //--农户
|
|
String farmerId = paramsMap.get("farmerId")+"";
|
|
String farmerId = paramsMap.get("farmerId")+"";
|
|
System.out.println("farmerId="+farmerId);
|
|
System.out.println("farmerId="+farmerId);
|
|
|
|
|
|
- JSONObject outJo = new JSONObject();
|
|
|
|
-
|
|
|
|
//{根据农户读取采集器}
|
|
//{根据农户读取采集器}
|
|
String deviceCode = eartagDeviceRegisterMapper.getDeviceIdByFarmerId(farmerId);
|
|
String deviceCode = eartagDeviceRegisterMapper.getDeviceIdByFarmerId(farmerId);
|
|
System.out.println("deviceCode="+deviceCode);
|
|
System.out.println("deviceCode="+deviceCode);
|
|
@@ -68,25 +68,55 @@ public class FarmerAssetServiceImpl extends ServiceImpl<FarmerAssetMapper, Farme
|
|
JSONObject lastBatchJo = _getlastBatchAdoptPig(deviceCode);
|
|
JSONObject lastBatchJo = _getlastBatchAdoptPig(deviceCode);
|
|
System.out.println("lastBatchJo="+lastBatchJo);
|
|
System.out.println("lastBatchJo="+lastBatchJo);
|
|
//读取资产信息
|
|
//读取资产信息
|
|
|
|
+ List<FarmerAsset> farmerAssetList = farmerAssetMapper.getAssetByMonth(6);
|
|
|
|
+ System.out.println("farmerAssetList.size="+farmerAssetList.size());
|
|
|
|
+ List reverseList = new ArrayList();
|
|
|
|
+ //--反转排序
|
|
|
|
+ for(int a=farmerAssetList.size()-1;a>=0;a--){
|
|
|
|
+ reverseList.add(farmerAssetList.get(a));
|
|
|
|
+ }
|
|
|
|
+ if(lastBatchJo != null){
|
|
|
|
+ lastBatchJo.put("estimated",reverseList);
|
|
|
|
+ return new Result(ResultCode.SUCCESS,lastBatchJo);
|
|
|
|
+ }else{
|
|
|
|
+ return new Result(ResultCode.SUCCESS,lastBatchJo);
|
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
|
- return new Result(ResultCode.SUCCESS,outJo);
|
|
|
|
}
|
|
}
|
|
|
|
|
|
//{读取最后一批猪信息}
|
|
//{读取最后一批猪信息}
|
|
- private JSONObject _getlastBatchAdoptPig(String deviceCode) {
|
|
|
|
|
|
+ private JSONObject _getlastBatchAdoptPig(String deviceCode) throws ParseException {
|
|
//{获取最后一条记录create_date日期}
|
|
//{获取最后一条记录create_date日期}
|
|
Date createDate = eartagEartagRegister2Mapper.getLastBatchCreateDate(deviceCode);
|
|
Date createDate = eartagEartagRegister2Mapper.getLastBatchCreateDate(deviceCode);
|
|
-
|
|
|
|
System.out.println("createDate="+createDate);
|
|
System.out.println("createDate="+createDate);
|
|
if(createDate == null){
|
|
if(createDate == null){
|
|
log.error("该采集器["+deviceCode+"]没有耳标注册数据.");
|
|
log.error("该采集器["+deviceCode+"]没有耳标注册数据.");
|
|
return null;
|
|
return null;
|
|
}else{
|
|
}else{
|
|
|
|
+ DateUtil dateUtil = new DateUtil();
|
|
List<EartagEartagRegister2> eartagEartagRegister2List = eartagEartagRegister2Mapper.getLastBatchPig(deviceCode,createDate);
|
|
List<EartagEartagRegister2> eartagEartagRegister2List = eartagEartagRegister2Mapper.getLastBatchPig(deviceCode,createDate);
|
|
- System.out.println("eartagEartagRegister2List.size="+eartagEartagRegister2List.size());
|
|
|
|
|
|
+ if(eartagEartagRegister2List.size()>0){
|
|
|
|
+ long diff = dateUtil.getTodayDate().getTime()-createDate.getTime();
|
|
|
|
+ long days = diff / (1000 * 60 * 60 * 24);
|
|
|
|
+ System.out.println("days="+days);
|
|
|
|
+ //读取重量
|
|
|
|
+ BigDecimal weightBd = farmerAssetMapper.getPigWeightByDayage(days);
|
|
|
|
+ BigDecimal planValue = weightBd.multiply(new BigDecimal(pigPrice)).multiply(new BigDecimal(eartagEartagRegister2List.size())).setScale(2,BigDecimal.ROUND_HALF_UP);
|
|
|
|
+ System.out.println("planValue="+planValue);
|
|
|
|
+ JSONObject outJo = new JSONObject();
|
|
|
|
+ outJo.put("adoptTime",dateUtil.formatDateText(createDate));
|
|
|
|
+ outJo.put("husbandryTime",days);
|
|
|
|
+ outJo.put("currentPrices",pigPrice);
|
|
|
|
+ outJo.put("expectedEarning",planValue.toString());
|
|
|
|
+ return outJo;
|
|
|
|
+ }else{
|
|
|
|
+ JSONObject outJo = new JSONObject();
|
|
|
|
+ outJo.put("adoptTime",null);
|
|
|
|
+ outJo.put("husbandryTime",null);
|
|
|
|
+ outJo.put("currentPrices",0);
|
|
|
|
+ outJo.put("expectedEarning",0);
|
|
|
|
+ return outJo;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-
|
|
|
|
- return null;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|