|
@@ -4,6 +4,9 @@ import com.jjt.biz.service.IApiAllService;
|
|
|
import com.jjt.biz.vo.*;
|
|
|
import com.jjt.common.constant.CacheConstants;
|
|
|
import com.jjt.common.core.redis.RedisCache;
|
|
|
+import com.jjt.common.utils.DateUtils;
|
|
|
+import com.jjt.ws.domain.TwinWorkshopCalc;
|
|
|
+import com.jjt.ws.service.ITwinWorkshopCalcService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -11,9 +14,9 @@ import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.time.LocalDate;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 首页统计数据
|
|
@@ -26,6 +29,8 @@ import java.util.Map;
|
|
|
public class ApiAllServiceImpl implements IApiAllService {
|
|
|
@Resource
|
|
|
private RedisCache redisCache;
|
|
|
+ @Resource
|
|
|
+ private ITwinWorkshopCalcService wsCalcService;
|
|
|
|
|
|
/**
|
|
|
* 获取当前库存数据
|
|
@@ -98,13 +103,80 @@ public class ApiAllServiceImpl implements IApiAllService {
|
|
|
|
|
|
/**
|
|
|
* 获取能耗趋势
|
|
|
+ * 1 WS02-D 经编车间 经编车间用电
|
|
|
+ * 2 WS03-D-QZ 前整车间 染整线-前整车间用电
|
|
|
+ * 3 WS03-D-YR 印染车间 染整线-印染车间用电
|
|
|
+ * 4 WS03-D-HZ 后整车间 染整线-后整车间用电
|
|
|
+ * 5 WS03-S-YR 印染工业水 染整线-工业水
|
|
|
+ * 6 WS03-Q-DY 低压蒸汽 2/3低压蒸汽
|
|
|
+ * 7 WS03-Q-ZY 中压蒸汽 中压蒸汽
|
|
|
*
|
|
|
* @return 结果
|
|
|
*/
|
|
|
@Override
|
|
|
public List<EnergyTradeVO> energyTrade() {
|
|
|
- redisCache.setCacheObject(CacheConstants.ENERGY_TRADE, mockEnergy());
|
|
|
- return redisCache.getCacheObject(CacheConstants.ENERGY_TRADE);
|
|
|
+// redisCache.setCacheObject(CacheConstants.ENERGY_TRADE, mockEnergy());
|
|
|
+ List<EnergyTradeVO> list = new ArrayList<>();
|
|
|
+ LocalDate end = LocalDateTime.now().minusHours(7).toLocalDate().minusDays(1);
|
|
|
+ //一个月数据
|
|
|
+ LocalDate start = end.minusMonths(1);
|
|
|
+ List<TwinWorkshopCalc> wsList = wsCalcService.listByWsCodeDate(null, DateUtils.toDate(start));
|
|
|
+ Map<Date, List<TwinWorkshopCalc>> wsMap = wsList.stream().collect(Collectors.groupingBy(TwinWorkshopCalc::getDataDate, LinkedHashMap::new, Collectors.toList()));
|
|
|
+ for (Map.Entry<Date, List<TwinWorkshopCalc>> entry : wsMap.entrySet()) {
|
|
|
+ EnergyTradeVO vo = new EnergyTradeVO();
|
|
|
+ LocalDate ldt = DateUtils.toLocalDate(entry.getKey());
|
|
|
+ List<TwinWorkshopCalc> wss = entry.getValue();
|
|
|
+ vo.setDate(ldt.getDayOfMonth() + "");
|
|
|
+ vo.setTips(ldt.toString());
|
|
|
+ EnergyTradeVO.RZ rz = new EnergyTradeVO.RZ();
|
|
|
+ rz.setElectricity(BigDecimal.ZERO);
|
|
|
+ rz.setPrice(BigDecimal.ZERO);
|
|
|
+ for (TwinWorkshopCalc ws : wss) {
|
|
|
+ switch (ws.getWsCode()) {
|
|
|
+ case "WS02-D":
|
|
|
+ //经编车间用电
|
|
|
+ vo.getJb().setElectricity(ws.getTotalValue());
|
|
|
+ vo.getJb().setPrice(ws.getTotalPrice() != null ? ws.getTotalPrice() : BigDecimal.ZERO);
|
|
|
+ break;
|
|
|
+ case "WS03-D-QZ":
|
|
|
+ //染整线-前整车间用电
|
|
|
+ case "WS03-D-YR":
|
|
|
+ //染整线-印染车间用电
|
|
|
+ case "WS03-D-HZ":
|
|
|
+ //染整线-后整车间用电
|
|
|
+ if (ws.getTotalValue() != null) {
|
|
|
+ rz.setElectricity(rz.getElectricity().add(ws.getTotalValue()));
|
|
|
+ }
|
|
|
+ if (ws.getTotalPrice() != null) {
|
|
|
+ rz.setPrice(rz.getPrice().add(ws.getTotalPrice()));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case "WS03-S-YR":
|
|
|
+ rz.setWater(ws.getTotalValue());
|
|
|
+ if (ws.getTotalPrice() != null) {
|
|
|
+ rz.setPrice(rz.getPrice().add(ws.getTotalPrice()));
|
|
|
+ }
|
|
|
+ //染整线-工业水
|
|
|
+ break;
|
|
|
+ case "WS03-Q-DY":
|
|
|
+ rz.setSteam(ws.getTotalValue());
|
|
|
+ if (ws.getTotalPrice() != null) {
|
|
|
+ rz.setPrice(rz.getPrice().add(ws.getTotalPrice()));
|
|
|
+ }
|
|
|
+ //染整线-工业水
|
|
|
+ //2/3低压蒸汽
|
|
|
+ break;
|
|
|
+ case "WS03-Q-ZY":
|
|
|
+ //中压蒸汽
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ vo.setRz(rz);
|
|
|
+ list.add(vo);
|
|
|
+ }
|
|
|
+ return list;
|
|
|
}
|
|
|
|
|
|
private List<ProdTradeVO> mockProd() {
|