package com.sercurityControl.proteam.newScreen.service; import com.github.pagehelper.PageInfo; import com.google.common.collect.Maps; import com.securityControl.common.core.utils.StringUtils; import com.securityControl.common.core.utils.aes.DateTimeHelper; import com.securityControl.common.core.utils.aes.ListHelper; import com.securityControl.common.core.utils.aes.StringHelper; import com.sercurityControl.proteam.domain.ProData; import com.sercurityControl.proteam.newScreen.domain.MapStatisVo; import com.sercurityControl.proteam.newScreen.domain.ProPlanVo; import com.sercurityControl.proteam.newScreen.domain.SjNumberVo; import com.sercurityControl.proteam.newScreen.domain.TySjEntity; import com.sercurityControl.proteam.domain.vo.ReturnCodeEntity; import com.sercurityControl.proteam.newScreen.mapper.TySjMapper; import io.swagger.models.auth.In; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; /** * 通用设计服务层 */ @Service @Slf4j public class TySjServiceImpl implements TySjService { @Autowired private TySjMapper mapper; @Override public ReturnCodeEntity insertTyDevice(TySjEntity tySjEntity) { ReturnCodeEntity ret=new ReturnCodeEntity(); try{ }catch (Exception e){ log.error(e.toString(),e); } return null; } /** * 查询同意设备率 * @param tySjEntity * @return */ @Override public Map getGcjsNum(TySjEntity tySjEntity) { Map map= Maps.newHashMap(); try{ List list=mapper.getGcjsNum(tySjEntity); Integer num=mapper.getSjNum(); if(ListHelper.isNotEmpty(list)){ TySjEntity vo=list.get(0); if("0".equals(vo.getSjwt())){ vo.setSjwt(num.toString()); } map.put("data",vo); }else { TySjEntity vo=new TySjEntity(); vo.setTysj("0"); vo.setSbyy("0"); vo.setSjwt(num.toString()); map.put("data",vo); } }catch (Exception e){ Integer num=mapper.getSjNum(); TySjEntity vo=new TySjEntity(); vo.setTysj("0"); vo.setSbyy("0"); vo.setSjwt(num.toString()); map.put("data",vo); log.error(e.toString(),e); } return map; } @Override public void insertData(TySjEntity tySjEntity) { try{ mapper.insertData(tySjEntity); }catch (Exception e){ log.error(e.toString(),e); } } /** * 工程统计查询 * @param proType * @return */ @Override public Map getProStatisNum(String proType) { Map map=Maps.newHashMap(); try{ List list = mapper.getProStatisNum(proType); map.put("zjNum",list.get(0)); map.put("sgNum",list.get(1)); map.put("tgNum",list.get(2)); }catch (Exception e){ map.put("zjNum",0); map.put("sgNum",0); map.put("tgNum",0); log.error(e.toString(),e); } return map; } /** * 地图工程数量统计 * @param vo * @return */ @Override public List getMapProNum(MapStatisVo vo) { List list=new ArrayList<>(); try{ list=mapper.getMapProNum(vo); }catch (Exception e){ log.error(e.toString(),e); } return list; } /** * * @param proData * @return */ @Override public PageInfo getProListByType(ProData proData) { try{ if (StringUtils.isNotBlank(proData.getBuildCode())) { String[] buildCodeArr = proData.getBuildCode().split(","); List buildCodeList = Arrays.asList(buildCodeArr); proData.setBuildCodeList(buildCodeList); } List list = mapper.getProListByType(proData); PageInfo pageInfo = new PageInfo<>(list); return pageInfo; }catch (Exception e){ log.error(e.toString(),e); } List list = new ArrayList<>(); PageInfo pageInfo = new PageInfo<>(list); return pageInfo; } /** * 获取工程数量接口 * @param vo * @return */ @Override public Map getProPlanStatis(MapStatisVo vo) { Map map=Maps.newHashMap(); try{ Map map1=mapper.getProPlanStatis("PLAN_START_DATE" ,"START_DATE"); // Map map2=mapper.getProPlanStatis("PLAN_FIN_DATE" ,"FIN_DATE"); String subPercent=map1.get("subPercent").toString(); String lengthPercent=map1.get("lengthPercent").toString(); map.put("bdkgwcl",map1.get("subPercent"));//变电开工完成率 map.put("xlkgwcl",map1.get("lengthPercent"));//线路开工完成率 map.put("kgpz",(Double.parseDouble(subPercent)+Double.parseDouble(lengthPercent))/2 );//线路开工完成率 map.put("bdtcwcl",map2.get("subPercent"));//变电投产完成率 map.put("xltcwcl",map2.get("lengthPercent"));//线路投产完成率 subPercent=map2.get("subPercent").toString(); lengthPercent=map2.get("lengthPercent").toString(); map.put("tcpz",(Double.parseDouble(subPercent)+Double.parseDouble(lengthPercent))/2 );//线路开工完成率 }catch (Exception e ){ map.put("bdkgwcl",0);//变电开工完成率 map.put("xlkgwcl",0);//线路开工完成率 map.put("bdtcwcl",0);//变电投产完成率 map.put("xltcwcl",0);//线路投产完成率 log.error(e.toString(),e); } return map; } /** * 获取工程造价数据 * @param vo * @return */ @Override public Map getProZj(MapStatisVo vo) { Map map=Maps.newHashMap(); try{ String startTime=DateTimeHelper.getNowYear()+"-01"; String endTime=DateTimeHelper.getNowMonth(); String jsPro =mapper.getJsPro(startTime,endTime); String wclPro =mapper.getWclPro(startTime,endTime); Map jrPro =mapper.getjrPro(startTime,endTime); map.put("jsPro",jsPro); map.put("wclPro",wclPro); map.put("jrPro",jrPro.get("balanceDynamicInvest")); }catch (Exception e){ map.put("jsPro",0); map.put("wclPro",0); map.put("jrPro",0); log.error(e.toString(),e); } return map; } /** * 工程计划数据 * @param proPlanVo * @return */ @Override public PageInfo getProPlanList(ProPlanVo proPlanVo) { try{ if (StringUtils.isNotBlank(proPlanVo.getOrgId())) { String[] buildCodeArr = proPlanVo.getOrgId().split(","); List buildCodeList = Arrays.asList(buildCodeArr); proPlanVo.setOrgList(buildCodeList); } if(StringHelper.isEmpty(proPlanVo.getYear())){ proPlanVo.setYear(DateTimeHelper.getNowYear()+"-01-01"); } if("1".equals(proPlanVo.getType())){ proPlanVo.setPlanDate("START_DATE"); }else{ proPlanVo.setPlanDate("FIN_DATE"); } List list = mapper.getProPlanList(proPlanVo); PageInfo pageInfo = new PageInfo<>(list); return pageInfo; }catch (Exception e){ log.error(e.toString(),e); } List list = new ArrayList<>(); PageInfo pageInfo = new PageInfo<>(list); return pageInfo; } @Override public Map getProPlanListTj(ProPlanVo proPlanVo) { Map map=Maps.newHashMap(); try{ if (StringUtils.isNotBlank(proPlanVo.getOrgId())) { String[] buildCodeArr = proPlanVo.getOrgId().split(","); List buildCodeList = Arrays.asList(buildCodeArr); proPlanVo.setOrgList(buildCodeList); } if(StringHelper.isEmpty(proPlanVo.getYear())){ proPlanVo.setYear(DateTimeHelper.getNowYear()); } if("1".equals(proPlanVo.getType())){ proPlanVo.setPlanDate("START_DATE"); }else{ proPlanVo.setPlanDate("FIN_DATE"); } map = mapper.getProPlanListTj(proPlanVo); ProPlanVo param=new ProPlanVo(); if("1".equals(proPlanVo.getType())){ param.setPlanDate("START_DATE"); }else{ param.setPlanDate("FIN_DATE"); } param.setYear(DateTimeHelper.getNowYear()); Map map2 = mapper.getProPlanListTj(param); map.put("map",map2); }catch (Exception e){ } return map; } /** * 工程造价数据接口 * @param proPlanVo * @return */ @Override public PageInfo getProZjList(ProPlanVo proPlanVo) { try{ if (StringUtils.isNotBlank(proPlanVo.getOrgId())) { String[] buildCodeArr = proPlanVo.getOrgId().split(","); List buildCodeList = Arrays.asList(buildCodeArr); proPlanVo.setOrgList(buildCodeList); } if(StringHelper.isEmpty(proPlanVo.getYear())){ String startTime=DateTimeHelper.getNowYear()+"-01"; proPlanVo.setStartDate(startTime); }else{ String startTime=proPlanVo.getYear()+"-01"; proPlanVo.setStartDate(startTime); } String endTime=DateTimeHelper.getNowMonth(); proPlanVo.setEndDate(endTime); List list = mapper.getProZjList(proPlanVo); PageInfo pageInfo = new PageInfo<>(list); return pageInfo; }catch (Exception e){ log.error(e.toString(),e); } List list = new ArrayList<>(); PageInfo pageInfo = new PageInfo<>(list); return pageInfo; } @Override public void addImportJsNumData(List list) { mapper.addImportJsNumData(list); } /** * * @param vo * @return */ @Override public int updateSjNum(SjNumberVo vo) { return mapper.updateSjNum(vo); } @Override public void deleteSjNum(List list) { mapper.deleteSjNum(list); } @Override public PageInfo getSjNumList(SjNumberVo vo) { try{ List list = mapper.getSjNumList(vo); PageInfo pageInfo = new PageInfo<>(list); return pageInfo; }catch (Exception e){ log.error(e.toString(),e); } List list = new ArrayList<>(); PageInfo pageInfo = new PageInfo<>(list); return pageInfo; } /** * 查看详情 * @param keyId * @return */ @Override public SjNumberVo getSjNumDetail(String keyId) { List list = mapper.getSjNumDetail(keyId); if(ListHelper.isNotEmpty(list)){ return list.get(0); } return null; } }