| | |
| | | package com.iailab.module.ansteel.api.controller.admin; |
| | | |
| | | import com.iailab.framework.common.pojo.CommonResult; |
| | | import com.iailab.framework.common.util.date.DateUtils; |
| | | import com.iailab.framework.common.util.object.ConvertUtils; |
| | | import com.iailab.module.ansteel.api.dto.*; |
| | | import com.iailab.module.ansteel.coking.dto.CokingOverviewDTO; |
| | | import com.iailab.module.ansteel.coking.dto.CokingTraceIndDTO; |
| | | import com.iailab.module.ansteel.coking.dto.CokingTraceSuggestDTO; |
| | | import com.iailab.module.ansteel.coking.dto.*; |
| | | import com.iailab.module.ansteel.coking.entity.*; |
| | | import com.iailab.module.ansteel.coking.service.*; |
| | | import com.iailab.module.ansteel.common.enums.ProcessConfDataTypeEnum; |
| | | import com.iailab.module.data.api.ind.IndItemApi; |
| | | import com.iailab.module.data.api.ind.dto.ApiIndItemQueryDTO; |
| | | import com.iailab.module.data.api.ind.dto.ApiIndItemValueDTO; |
| | | import com.iailab.module.data.api.point.DataPointApi; |
| | | import com.iailab.module.data.api.point.dto.ApiPointValueDTO; |
| | | import com.iailab.module.data.api.point.dto.ApiPointValueQueryDTO; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | |
| | | import static com.iailab.framework.common.pojo.CommonResult.success; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private CokingProdDayService cokingProdDayService; |
| | | |
| | | @Autowired |
| | | private CokingOverviewService cokingOverviewService; |
| | | |
| | | @Autowired |
| | | private CokingTraceSuggestService cokingTraceSuggestService; |
| | | |
| | | @Autowired |
| | | private CokingTraceIndService cokingTraceIndService; |
| | | |
| | | @Autowired |
| | | private CokingTraceDeviationService cokingTraceDeviationService; |
| | | |
| | | @Autowired |
| | | private CokingTraceChartService cokingTraceChartService; |
| | | |
| | | @Resource |
| | | private DataPointApi dataPointApi; |
| | | |
| | | @Resource |
| | | private IndItemApi indItemApi; |
| | | |
| | | @GetMapping("/analy-ind/list") |
| | | @Operation(summary = "焦化工序-指标分析") |
| | |
| | | List<CokingProdDayEntity> list = cokingProdDayService.list(params); |
| | | return success(ConvertUtils.sourceToTarget(list, CokingProdDayDTO.class)); |
| | | } |
| | | |
| | | |
| | | @GetMapping("/overview/list") |
| | | @Operation(summary = "各工序-概况") |
| | | public CommonResult<Map<String,List<CokingOverviewDTO>>> getOverviewList(@RequestParam Map<String, Object> params) { |
| | | Map<String,List<CokingOverviewDTO>> result = cokingOverviewService.list(params); |
| | | return success(result); |
| | | } |
| | | |
| | | @GetMapping("/trace-suggest/list") |
| | | @Operation(summary = "焦化工序-异常溯源及优化建议") |
| | | public CommonResult<List<CokingTraceSuggestDTO>> getTraceSuggestList(@RequestParam Map<String, Object> params) { |
| | | List<CokingTraceSuggestEntity> list = cokingTraceSuggestService.list(params); |
| | | return success(ConvertUtils.sourceToTarget(list, CokingTraceSuggestDTO.class)); |
| | | } |
| | | |
| | | @GetMapping("/trace-ind/list") |
| | | @Operation(summary = "焦化工序-异常溯源指标") |
| | | public CommonResult<List<CokingTraceIndDTO>> getTraceIndList(@RequestParam Map<String, Object> params) { |
| | | List<CokingTraceIndEntity> list = cokingTraceIndService.list(params); |
| | | return success(ConvertUtils.sourceToTarget(list, CokingTraceIndDTO.class)); |
| | | } |
| | | |
| | | @GetMapping("/trace-deviation/list") |
| | | @Operation(summary = "焦化工序-异常溯源影响因素偏差值") |
| | | public CommonResult<List<CokingTraceDeviationDTO>> getTraceDeviationList(@RequestParam Map<String, Object> params) { |
| | | List<CokingTraceDeviationEntity> list = cokingTraceDeviationService.list(params); |
| | | return success(ConvertUtils.sourceToTarget(list, CokingTraceDeviationDTO.class)); |
| | | } |
| | | |
| | | @GetMapping("/trace-chart/list") |
| | | @Operation(summary = "焦化工序-异常溯源折线图") |
| | | public CommonResult<List<CokingTraceChartDTO>> getCokingTraceChartList(@RequestParam Map<String, Object> params) { |
| | | List<CokingTraceChartEntity> list = cokingTraceChartService.list(params); |
| | | List<CokingTraceChartDTO> result = new ArrayList<>(); |
| | | if (CollectionUtils.isEmpty(list)) { |
| | | return success(result); |
| | | } |
| | | for (CokingTraceChartEntity entity : list) { |
| | | CokingTraceChartDTO dto = ConvertUtils.sourceToTarget(entity, CokingTraceChartDTO.class); |
| | | List<Object[]> dataList = new ArrayList<>(); |
| | | switch (ProcessConfDataTypeEnum.getEumByCode(entity.getDataType())) { |
| | | case DATAPOINT: |
| | | ApiPointValueQueryDTO queryParams1 = new ApiPointValueQueryDTO(); |
| | | queryParams1.setPointNo(entity.getDataNo()); |
| | | queryParams1.setStart(entity.getStartTime()); |
| | | queryParams1.setEnd(entity.getEndTime()); |
| | | List<ApiPointValueDTO> pointHisValue = dataPointApi.queryPointHistoryValue(queryParams1); |
| | | pointHisValue.forEach(item -> { |
| | | Object[] values = new Object[2]; |
| | | values[0] = DateUtils.format(item.getT(), DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND); |
| | | values[1] = new BigDecimal(item.getV()).setScale(3, BigDecimal.ROUND_HALF_UP); |
| | | dataList.add(values); |
| | | }); |
| | | break; |
| | | case IND: |
| | | ApiIndItemQueryDTO queryParams2 = new ApiIndItemQueryDTO(); |
| | | queryParams2.setItemNo(entity.getDataNo()); |
| | | queryParams2.setStart(entity.getStartTime()); |
| | | queryParams2.setEnd(entity.getEndTime()); |
| | | List<ApiIndItemValueDTO> indValues = indItemApi.queryIndItemHistoryValue(queryParams2); |
| | | indValues.forEach(item -> { |
| | | Object[] values = new Object[2]; |
| | | values[0] = item.getDataTime(); |
| | | values[1] = item.getDataValue(); |
| | | dataList.add(values); |
| | | }); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | dto.setDataList(dataList); |
| | | } |
| | | return success(result); |
| | | } |
| | | } |