package com.ruoyi.statistical.service.impl; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell; import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper; import com.ruoyi.common.core.domain.entity.SysConfig; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.statistical.service.StatisticalService; import com.ruoyi.system.mapper.SysConfigMapper; import com.ruoyi.utils.result.Results; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; /** * @author Administrator */ @Service public class StatisticalServiceImpl implements StatisticalService { @Autowired private SysConfigMapper sysConfigMapper; @Autowired private ArdAlarmpointsWellMapper wellMapper; @Override public Results factorySave(Map map) { for (Map.Entry entry : map.entrySet()) { //如果存在修改 SysConfig sysConfigUpd = sysConfigMapper.checkConfigKeyUnique(entry.getKey()); if(sysConfigUpd != null){ sysConfigUpd.setConfigValue(entry.getValue()); sysConfigUpd.setUpdateBy(SecurityUtils.getUsername()); sysConfigMapper.updateConfig(sysConfigUpd); }else { //否则新增 SysConfig sysConfig = new SysConfig(); int randomNum = (int) (Math.random() * (1000 - 100 + 1)) + 100; sysConfig.setConfigId((long) randomNum); sysConfig.setConfigType("Y"); sysConfig.setCreateBy(SecurityUtils.getUsername()); sysConfig.setRemark("厂区介绍"); if ("area".equals(entry.getKey())) { sysConfig.setConfigName("占地面积"); sysConfig.setConfigKey(entry.getKey()); sysConfig.setConfigValue(entry.getValue()); sysConfigMapper.insertConfig(sysConfig); } else if ("store".equals(entry.getKey())) { sysConfig.setConfigName("原始地质储量"); sysConfig.setConfigKey(entry.getKey()); sysConfig.setConfigValue(entry.getValue()); sysConfigMapper.insertConfig(sysConfig); }else if ("people".equals(entry.getKey())) { sysConfig.setConfigName("员工"); sysConfig.setConfigKey(entry.getKey()); sysConfig.setConfigValue(entry.getValue()); sysConfigMapper.insertConfig(sysConfig); }else if ("depot".equals(entry.getKey())) { sysConfig.setConfigName("各类站库"); sysConfig.setConfigKey(entry.getKey()); sysConfig.setConfigValue(entry.getValue()); sysConfigMapper.insertConfig(sysConfig); }else if ("unit".equals(entry.getKey())) { sysConfig.setConfigName("下设单位"); sysConfig.setConfigKey(entry.getKey()); sysConfig.setConfigValue(entry.getValue()); sysConfigMapper.insertConfig(sysConfig); } } } return Results.succeed("添加成功!"); } @Override public Results factorySelect() { JSONObject jsonObject = new JSONObject(); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.in("config_key","area","store","people","well","depot","unit"); List list = sysConfigMapper.selectList(queryWrapper); for (int i = 0; i < list.size(); i++) { SysConfig sysConfig = list.get(i); jsonObject.put(sysConfig.getConfigKey(),sysConfig.getConfigValue()); } //记录well表中oil_production为抽油机的数据有多少条 QueryWrapper queryWrapperWell = new QueryWrapper<>(); queryWrapperWell.eq("oil_production","抽油机"); int num = wellMapper.selectCount(queryWrapperWell); jsonObject.put("well",String.valueOf(num)); return Results.succeed(jsonObject); } }