package com.iailab.module.ansteel.coking.service.impl;
|
|
import cn.hutool.core.bean.BeanUtil;
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.iailab.module.ansteel.coking.dao.CokingTraceDeviationDao;
|
import com.iailab.module.ansteel.coking.entity.CokingTraceDeviationEntity;
|
import com.iailab.module.ansteel.coking.service.CokingTraceDeviationService;
|
import com.iailab.module.model.api.mcs.McsApi;
|
import com.iailab.module.model.api.mcs.dto.ChartParamDTO;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.util.CollectionUtils;
|
|
import java.math.BigDecimal;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
/**
|
* 焦化工序影响因数偏差值
|
*
|
* @author lirm ${email}
|
* @since 1.0.0 2025-04-16
|
*/
|
@Service
|
public class CokingTraceDeviationServiceImpl implements CokingTraceDeviationService {
|
|
@Autowired
|
private CokingTraceDeviationDao cokingTraceDeviationDao;
|
|
@Autowired
|
private McsApi mcsApi;
|
|
@Override
|
public List<CokingTraceDeviationEntity> list(Map<String, Object> params) {
|
String relId = (String) params.get("relId");
|
String sugObj = (String) params.get("sugObj");
|
|
QueryWrapper<CokingTraceDeviationEntity> queryWrapper = new QueryWrapper<>();
|
queryWrapper.eq("rel_id", relId)
|
.eq(StringUtils.isNotBlank(sugObj),"sug_obj", sugObj);
|
return cokingTraceDeviationDao.selectList(queryWrapper);
|
}
|
|
@Override
|
public void save(List<CokingTraceDeviationEntity> entityList) {
|
cokingTraceDeviationDao.insert(entityList);
|
}
|
|
@Override
|
public void saveTraceDeviation(String relId, String process, String clock, String jsonString, String sugObj) {
|
JSONArray jsonArray = JSON.parseArray(jsonString);
|
|
List<CokingTraceDeviationEntity> entityList = new ArrayList<>();
|
for (int i = 0; i < jsonArray.size(); i++) {
|
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
|
Map<String,String> values = new HashMap<>();
|
// 指标
|
for (int index = 1; index <= 2; index++) {
|
String indexKey = "index" + index;
|
if (jsonObject.containsKey(indexKey)) {
|
String nameValue = jsonObject.getString(indexKey);
|
if (StringUtils.isBlank(nameValue)) {
|
continue;
|
}
|
String[] split = nameValue.split(" ");
|
String name = split[0];
|
String value = split[1];
|
|
values.put("ind" + index + "Name",name);
|
values.put("ind" + index + "Value",value);
|
}
|
}
|
// 影响因素
|
for (int index = 1; index <= 20; index++) {
|
String factorKey = "factor" + index;
|
if (jsonObject.containsKey(factorKey)) {
|
String nameValue = jsonObject.getString(factorKey);
|
if (StringUtils.isBlank(nameValue)) {
|
continue;
|
}
|
String[] split = nameValue.split(" ");
|
String name = split[0];
|
String value = split[1];
|
|
values.put("fac" + index + "Name",name);
|
values.put("fac" + index + "Value",value);
|
}
|
}
|
|
CokingTraceDeviationEntity entity = new CokingTraceDeviationEntity();
|
BeanUtil.fillBeanWithMap(values,entity,true);
|
entity.setRelId(relId);
|
entity.setProcess(process);
|
entity.setClock(clock);
|
entity.setSugObj(sugObj);
|
entity.setCreateDate(new Date());
|
entityList.add(entity);
|
}
|
cokingTraceDeviationDao.insert(entityList);
|
}
|
}
|