package com.steerinfo.dil.service.impl; import com.steerinfo.dil.mapper.StatisticalReportMapper; import com.steerinfo.dil.service.IStatisticalReportService; import com.steerinfo.dil.util.DataChange; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; /** * @ author :TXF * @ time :2021/12/14 15:26 */ @Service public class StatisticalReportImpl implements IStatisticalReportService { @Autowired StatisticalReportMapper statisticalReportMapper; /** * 计算相差时间 * @return */ public void calculateDifferenceTime(Map mesMap){ Object resultEntryGateTime = mesMap.get("resultEntryGateTime"); Object resultOutGateTime = mesMap.get("resultOutGateTime"); if(resultEntryGateTime != null && resultOutGateTime != null){ Date enterDate = (Date) resultEntryGateTime; Date outDate = (Date) resultOutGateTime; //计算相差时间 long dTime = outDate.getTime() - enterDate.getTime(); mesMap.put("inPlantDwellTime", dTime / 60000 + "分钟"); } if(resultEntryGateTime != null && resultOutGateTime == null){ //如果没有出厂时间则以当前时间减去进厂时间 Date enterDate = (Date) resultEntryGateTime; long dTime = new Date().getTime() - enterDate.getTime(); mesMap.put("inPlantDwellTime", dTime / 60000 + "分钟"); } } /** * 查询采购统计报表 * @Author TXF * @Date 2022/1/6 9:52 * @param map * @return **/ public List> getRLFLReport(Map map){ List> mapList = statisticalReportMapper.getAllPurchaseFLRLReport(map); for (Map mesMap : mapList) { calculateDifferenceTime(mesMap); } return mapList; } @Override public List> getAllPurchaseFLRLReport(Map map) { return statisticalReportMapper.getAllPurchaseFLRLReport(map); } /** * 查询销售统计报表 * @param map * @return */ @Override public List> getAllSaleReport(Map map) { List> mapList = statisticalReportMapper.getAllSaleReport(map); for (Map mesMap : mapList) { calculateDifferenceTime(mesMap); } return mapList; } @Override public List> getAllSaleReportNum(Map map) { return statisticalReportMapper.getAllSaleReport(map); } /** * 查询零星物资进厂统计报表 */ @Override public List> getSporadicSuppliesReportNum1(Map mapValue) { return statisticalReportMapper.getSporadicSuppliesReport1(mapValue); } @Override public List> getSporadicSuppliesReport1(Map mapValue) { List> mapList = statisticalReportMapper.getSporadicSuppliesReport1(mapValue); for (Map mesMap : mapList) { calculateDifferenceTime(mesMap); } return mapList; } /** * 查询零星物资出厂统计报表 */ @Override public List> getSporadicSuppliesReportNum2(Map mapValue) { return statisticalReportMapper.getSporadicSuppliesReport2(mapValue); } @Override public List> getSporadicSuppliesReport2(Map mapValue) { List> mapList = statisticalReportMapper.getSporadicSuppliesReport2(mapValue); for (Map mesMap : mapList) { calculateDifferenceTime(mesMap); } return mapList; } //采购内转统计报表 @Override public List> getPurInwardReport(Map mapValue) { //查询出所有订单类型为10的采购内转订单总实绩id集合 List> inwardReport=null; List> totalResultList = statisticalReportMapper.getTotalResultList(); for (Mapmaptotal:totalResultList ) { //遍历总实绩,根据总实绩id获取所有采购内转统计报表 mapValue.put("totalId",maptotal.get("totalId")); List> inwardReportResult = statisticalReportMapper.getInwardReportResult(mapValue); for (Map map1:inwardReportResult) { calculateDifferenceTime(map1); inwardReport.add(map1); } } return inwardReport; } }