package com.zehong.system.service.impl; import java.math.BigDecimal; import java.util.*; import com.zehong.common.core.domain.entity.SysDept; import com.zehong.common.utils.DateUtils; import com.zehong.system.domain.THiddenTroubleWork; import com.zehong.system.domain.vo.HiddenStatVO; import com.zehong.system.mapper.SysDeptMapper; import com.zehong.system.mapper.THiddenTroubleWorkMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zehong.system.mapper.TStaningBookMapper; import com.zehong.system.domain.TStaningBook; import com.zehong.system.service.ITStaningBookService; /** * 隐患台账Service业务层处理 * * @author zehong * @date 2022-07-09 */ @Service public class TStaningBookServiceImpl implements ITStaningBookService { @Autowired private TStaningBookMapper tStaningBookMapper; @Autowired private THiddenTroubleWorkMapper tHiddenTroubleWorkMapper; @Autowired private SysDeptMapper deptMapper; /** * 查询隐患台账 * * @param bookId 隐患台账ID * @return 隐患台账 */ @Override public TStaningBook selectTStaningBookById(Long bookId) { return tStaningBookMapper.selectTStaningBookById(bookId); } /** * 查询隐患台账列表 * * @param tStaningBook 隐患台账 * @return 隐患台账 */ @Override public List<TStaningBook> selectTStaningBookList(TStaningBook tStaningBook,Long deptId) { List<Long> oneList = new ArrayList<>(); oneList.add(deptId); List<Long> deptIds = selectDeptIds(new ArrayList<>(),oneList); deptIds.add(deptId); tStaningBook.setDeptList(deptIds); List<TStaningBook> list = tStaningBookMapper.selectTStaningBookList(tStaningBook); return list; } public List<Long> selectDeptIds(List<Long> list,List<Long> deptIds){ List<Long> resultlist = deptMapper.selectDeptByParentId(deptIds); if(resultlist.size()==0){ return list; } list.addAll(resultlist); return selectDeptIds(list,resultlist); } /** * 新增隐患台账 * * @param tStaningBook 隐患台账 * @return 结果 */ @Override public int insertTStaningBook(TStaningBook tStaningBook) { tStaningBook.setCreateTime(DateUtils.getNowDate()); return tStaningBookMapper.insertTStaningBook(tStaningBook); } /** * 修改隐患台账 * * @param tStaningBook 隐患台账 * @return 结果 */ @Override public int updateTStaningBook(TStaningBook tStaningBook) { return tStaningBookMapper.updateTStaningBook(tStaningBook); } /** * 批量删除隐患台账 * * @param bookIds 需要删除的隐患台账ID * @return 结果 */ @Override public int deleteTStaningBookByIds(Long[] bookIds) { return tStaningBookMapper.deleteTStaningBookByIds(bookIds); } /** * 删除隐患台账信息 * * @param bookId 隐患台账ID * @return 结果 */ @Override public int deleteTStaningBookById(Long bookId) { return tStaningBookMapper.deleteTStaningBookById(bookId); } @Override public Map statics(String type) { return tStaningBookMapper.statics(type); } @Override public Map<String,List> hiddenStat(Integer troubleLevel, Date beginTime, Date endTime){ Map<String,List> result = new HashMap<>(16); List<HiddenStatVO> barData = tStaningBookMapper.hiddenBarStat(troubleLevel,beginTime,endTime); //柱状图月份数据 List<String> months = new ArrayList<>(); //柱状图隐患数量 List<Integer> hiddens = new ArrayList<>(); //柱状图整改数量 List<Integer> rectifieds = new ArrayList<>(); for(HiddenStatVO hidden : barData){ months.add(changeMonth(hidden.getMonth())); hiddens.add(hidden.getHiddenCount()); rectifieds.add(hidden.getRectifiedCount()); } result.put("months",months); result.put("hiddens",hiddens); result.put("rectifieds",rectifieds); //环状统计图 Map<String,Integer> pieData = tStaningBookMapper.hiddenPieStat(troubleLevel,beginTime,endTime); List<Map<String,Object>> pieResult = new ArrayList<>(); Map<String,Object> rectifiedMap = new HashMap<>(16); rectifiedMap.put("name","已整改"); rectifiedMap.put("value",pieData.get("rectifiedCount")); pieResult.add(rectifiedMap); Map<String,Object> stayRectifiedMap = new HashMap<>(16); stayRectifiedMap.put("name","未整改"); stayRectifiedMap.put("value",pieData.get("stayRectifiedCount")); pieResult.add(stayRectifiedMap); result.put("pieData",pieResult); return result; } private String changeMonth(int month){ switch (month){ case 1: return "一月"; case 2: return "二月"; case 3: return "三月"; case 4: return "四月"; case 5: return "五月"; case 6: return "六月"; case 7: return "七月"; case 8: return "八月"; case 9: return "九月"; case 10: return "十月"; case 11: return "十一月"; default: return "十二月"; } } }