package com.landtool.lanbase.modules.spcData.service.impl;
|
|
import java.util.HashMap;
|
import java.util.Iterator;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Map.Entry;
|
|
import org.apache.commons.lang.StringUtils;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import com.alibaba.druid.support.json.JSONUtils;
|
import com.landtool.lanbase.modules.spcData.dao.SpcDataDao;
|
import com.landtool.lanbase.modules.spcData.dao.SpcMetadataDao;
|
import com.landtool.lanbase.modules.spcData.entity.SpcDataMenu;
|
import com.landtool.lanbase.modules.spcData.entity.SpcMetadata;
|
import com.landtool.lanbase.modules.spcData.service.SpcDataService;
|
|
@Service
|
public class SpcDataServiceImpl implements SpcDataService {
|
|
private static final String Map = null;
|
|
@Autowired
|
private SpcDataDao spcDataDao;
|
|
@Autowired
|
private SpcMetadataDao spcMetadataDao;
|
|
private Logger logger = LoggerFactory.getLogger(SpcDataServiceImpl.class);
|
|
@Override
|
public List<SpcDataMenu> queryMenu() {
|
return spcDataDao.queryMenu();
|
}
|
|
@Override
|
public void addSpcDataMenu(SpcDataMenu spcDataMenu) {
|
Integer result = spcDataDao.addSpcDataMenu(spcDataMenu);
|
}
|
|
@Override
|
public void delSpcDataMenu(List<Integer> idLists) {
|
Integer result = spcDataDao.delSpcDataMenu(idLists);
|
|
}
|
|
@Override
|
public void modifySpcDataMenu(SpcDataMenu spcDataMenu) {
|
Integer result = spcDataDao.modifySpcDataMenu(spcDataMenu);
|
}
|
|
@Override
|
public SpcMetadata queryMetaData(SpcMetadata spcMetadata) {
|
return spcMetadataDao.queryMetaData(spcMetadata);
|
}
|
|
@Override
|
public void modifyMetaData(SpcMetadata spcMetadata) {
|
spcMetadataDao.modifyMetaData(spcMetadata);
|
}
|
|
@Override
|
public void delMetaData(SpcMetadata spcMetadata) {
|
spcMetadataDao.delMetaData(spcMetadata);
|
}
|
|
@Override
|
public void addMetaData(SpcMetadata spcMetadata) {
|
spcMetadataDao.addMetaData(spcMetadata);
|
|
}
|
|
@Override
|
public void delMetaDataByMenuS(List<Integer> idLists) {
|
spcMetadataDao.delMetaDataByMenuS(idLists);
|
|
}
|
|
@Override
|
public Map<String, Object> getStatistics(String strName,Integer type) {
|
List<SpcMetadata> spcMetadatas = spcMetadataDao.queryMetaDatas();
|
Map<String, Boolean> param = new HashMap<>();
|
param.put(strName,0==type?true:false);
|
Map<String, Object> maps = new HashMap<>();
|
maps.put("总数据", 0);
|
for (SpcMetadata sm : spcMetadatas) {
|
maps.put("总数据", spcMetadatas.size());
|
Iterator<Entry<String, Boolean>> iterator = param.entrySet().iterator();
|
while (iterator.hasNext()) {
|
Entry<String, Boolean> next = iterator.next();
|
getStatisticsForEach(sm.getMetadata(), next.getKey(), next.getValue(), maps);
|
}
|
}
|
return maps;
|
}
|
|
private void getStatisticsForEach(String sourceStr, String targetStr, Boolean flag, Map<String, Object> maps) {
|
@SuppressWarnings("unchecked")
|
Map<String, String> sourceMap = (Map<String, String>) JSONUtils.parse(sourceStr);
|
if (sourceMap.containsKey(targetStr)) {
|
if (flag) {
|
if (maps.containsKey(targetStr)) {
|
Object obj =sourceMap.get(targetStr);
|
if(null==obj|| StringUtils.equals("",obj.toString())) return;
|
maps.put(targetStr, (Integer)maps.get(targetStr) + Integer.parseInt(sourceMap.get(targetStr)));
|
} else {
|
Object obj =sourceMap.get(targetStr);
|
if(null==obj|| StringUtils.equals("",obj.toString())) return;
|
maps.put(targetStr, Integer.parseInt(sourceMap.get(targetStr)));
|
}
|
} else {
|
String strValue = sourceMap.get(targetStr);
|
if (maps.containsKey(strValue)) {
|
maps.put(strValue, (Integer) maps.get(strValue) + 1);
|
} else {
|
maps.put(strValue, 1);
|
}
|
}
|
|
}
|
|
}
|
|
@Override
|
public List<SpcMetadata> queryMetaDatas() {
|
return spcMetadataDao.queryMetaDatas();
|
}
|
}
|