| | |
| | | import com.doumee.core.utils.DateUtil; |
| | | import com.doumee.core.utils.Utils; |
| | | import com.doumee.core.wms.model.response.WmsBaseResponse; |
| | | import com.doumee.core.wms.model.response.WmsInventoryDataResponse; |
| | | import com.doumee.core.wms.model.response.WmsBaseDataResponse; |
| | | import com.doumee.core.wms.model.response.WmsInventoryJsonResponse; |
| | | import com.doumee.dao.business.*; |
| | | import com.doumee.dao.business.join.PlatformWarnEventJoinMapper; |
| | |
| | | * @return |
| | | */ |
| | | @Override |
| | | public BoardStockListVO stockList( ){ |
| | | public BoardStockListVO stockList(){ |
| | | BoardStockListVO data = new BoardStockListVO(); |
| | | double toatalNum = 1d; |
| | | BigDecimal num = new BigDecimal(0); |
| | |
| | | try { |
| | | toatalNum =Double.parseDouble(systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_TOTAL_STOCK_NUM).getCode()) ; |
| | | }catch (Exception e){ |
| | | |
| | | } |
| | | WmsBaseResponse<WmsInventoryDataResponse> response = wmsService.getInventoryList(); |
| | | WmsBaseResponse<WmsBaseDataResponse> response = wmsService.getInventoryList(); |
| | | if(response!=null && response.getData()!=null && response.getData().size()>0){ |
| | | List<WmsInventoryJsonResponse> t= response.getData().get(0).getJson(); |
| | | if(t!=null &&t.size()>0){ |
| | |
| | | num = num.add (Constants.formatBigdecimal( j.getQty())); |
| | | GeneralVO d = new GeneralVO(); |
| | | d.setNum(Constants.formatBigdecimal(j.getQty())); |
| | | d.setName(j.getItem_name()); |
| | | d.setName(j.getItemName()); |
| | | list.add(d); |
| | | } |
| | | } |
| | |
| | | toatalNum =1; |
| | | } |
| | | data.setTotalNum(new BigDecimal(toatalNum)); |
| | | data.setUseRate(data.getTotalNum().divide(data.getNum(),2,BigDecimal.ROUND_UP)); |
| | | data.setUseRate(Constants.formatBigdecimal(data.getNum()).divide(data.getTotalNum(),2,BigDecimal.ROUND_HALF_UP)); |
| | | return data; |
| | | |
| | | } |
| | |
| | | List<PlatformJob> dataList = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .selectAs(PlatformJob::getCreateDate,PlatformJob::getCreateDate) |
| | | .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | |
| | | TransportMeasureVO data = new TransportMeasureVO(); |
| | | data.setPlanDate(date); |
| | | data.setPlanTimes(0); |
| | | data.setPlanTaskNum(new BigDecimal(random.nextInt(0))); |
| | | data.setPlanTaskNum(new BigDecimal( 0)); |
| | | data.setFinishTaskNum(new BigDecimal(0)); |
| | | for(PlatformJob job :dataList){ |
| | | if(queryType == 2){ |
| | |
| | | .selectAll(PlatformJob.class) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformJob::getCarCodeFront,param.getCarCode()) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),Constants.PlatformJobStatus.CALLED.getKey()) |
| | | .in(PlatformJob::getStatus, |
| | | Constants.PlatformJobStatus.DONE.getKey(), |
| | | Constants.PlatformJobStatus.LEAVED.getKey(), |
| | | Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(), |
| | | Constants.PlatformJobStatus.CALLED.getKey()) |
| | | .last("limit 1")); |
| | | if(job!=null){ |
| | | List<PlatformLog> logList = platformLogMapper.selectJoinList(PlatformLog.class, |
| | |
| | | .orderByDesc(PlatformLog::getCreateDate)); |
| | | if(detailList!=null){ |
| | | for(PlatformWmsDetail d : detailList){ |
| | | if(!isNotExistIocode(d.getIocode(),data.getContractList())){ |
| | | if(isExistIocode(d.getIocode(),data.getContractList())){ |
| | | continue; |
| | | } |
| | | tt = new CarsContractVO(); |
| | |
| | | return list; |
| | | } |
| | | |
| | | private boolean isNotExistIocode(String iocode, List<CarsContractVO> detailList) { |
| | | private boolean isExistIocode(String iocode, List<CarsContractVO> detailList) { |
| | | if(detailList!=null){ |
| | | for(CarsContractVO d :detailList){ |
| | | if(StringUtils.equals(d.getIoCode(),iocode)){ |
| | |
| | | Date lastYear = DateUtil.addYearToDate(year,-1);//去年 |
| | | |
| | | List<PlatformJob> monthNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .select(PlatformJob::getType,PlatformJob::getType) |
| | | .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | .select(PlatformJob::getStatus,PlatformJob::getStatus) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | // .in(PlatformJob::getType,Constants.ONE,Constants.THREE) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()) |
| | | .apply("year(create_date) = year("+DateUtil.getPlusTime2(month)+") and month(create_date) = month("+DateUtil.getPlusTime2(month)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(month))); |
| | | .apply("year(done_date) = year('"+DateUtil.getPlusTime2(month)+"') and month(done_date) = month('"+DateUtil.getPlusTime2(month)+"') ")); |
| | | List<PlatformJob> monthLastNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | .select(PlatformJob::getType,PlatformJob::getType) |
| | | .select(PlatformJob::getStatus,PlatformJob::getStatus) |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformJob::getType,Constants.ONE,Constants.THREE) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()) |
| | | .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastMonth)+") and month(create_date) = month("+DateUtil.getPlusTime2(lastMonth)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(lastMonth))); |
| | | .apply("year(done_date) = year('"+DateUtil.getPlusTime2(lastMonth)+"') and month(done_date) = month('"+DateUtil.getPlusTime2(lastMonth)+"') and done_date<= '" |
| | | +DateUtil.getPlusTime2(lastMonth)+"'")); |
| | | List<PlatformJob> yearNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | .selectCount(PlatformJob::getPlatformId,PlatformJob::getCountum) |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | .select(PlatformJob::getStatus,PlatformJob::getStatus) |
| | | .select(PlatformJob::getType,PlatformJob::getType) |
| | | // .selectCount(PlatformJob::getPlatformId,PlatformJob::getCountum) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformJob::getType,Constants.ONE,Constants.THREE) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()) |
| | | .apply("year(create_date) = year("+DateUtil.getPlusTime2(year)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(year))); |
| | | .apply("year(done_date) = year('"+DateUtil.getPlusTime2(year)+"') and done_date<= '"+DateUtil.getPlusTime2(year)+"'")); |
| | | List<PlatformJob> yearLastNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .selectAs(PlatformJob::getType,PlatformJob::getId) |
| | | .select(PlatformJob::getStatus,PlatformJob::getStatus) |
| | | .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .in(PlatformJob::getType,Constants.ONE,Constants.THREE) |
| | | .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey()) |
| | | .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastYear)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(lastYear))); |
| | | .apply("year(done_date) = year('"+DateUtil.getPlusTime2(lastYear)+"') and done_date<= '"+DateUtil.getPlusTime2(lastYear)+"'")); |
| | | |
| | | data.setMonthOutTotal(getSumTotalByList(monthNum,0,null));//本月出库量 |
| | | data.setMonthLastOutTotal(getSumTotalByList(monthLastNum,null,null) );//上有出库量 |
| | | data.setMonthLastOutTotal(getSumTotalByList(monthLastNum,null,null) );//上月出库量 |
| | | data.setYearOutTotal(getSumTotalByList(yearNum,null,null) );//本年出库量 |
| | | data.setYearLastOutTotal(getSumTotalByList(yearLastNum,null,null) );//去年出库量 |
| | | data.setMonthOutTimes(monthNum!=null?monthNum.size():0); |
| | |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),Constants.PlatformJobStatus.CALLED.getKey()) |
| | | .apply(" and to_days(create_date) <to_days(now())")); |
| | | .apply(" to_days(create_date) <to_days(now())")); |
| | | |
| | | //==========今天出入库任务 |
| | | List<PlatformJob> currentNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | //==========今天出入库完成量 |
| | | List<PlatformJob> currentDoneNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .selectAs(PlatformJob::getStatus,PlatformJob::getStatus) |
| | | .selectAs(PlatformJob::getType,PlatformJob::getType) |
| | | .selectAs(PlatformJob::getStatus,PlatformJob::getStatus) |
| | | .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey()) |
| | | .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastYear)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(lastYear))); |
| | | .apply(" to_days(done_date) = to_days(now())")); |
| | | //==========今天下发出入库任务---- |
| | | List<PlatformJob> currentNum = platformJobMapper.selectJoinList(PlatformJob.class, |
| | | new MPJLambdaWrapper<PlatformJob>() |
| | | .selectAs(PlatformJob::getId,PlatformJob::getId) |
| | | .selectAs(PlatformJob::getType,PlatformJob::getType) |
| | | .selectAs(PlatformJob::getStatus,PlatformJob::getStatus) |
| | | .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum) |
| | | // .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date) |
| | | .eq(PlatformJob::getIsdeleted,Constants.ZERO) |
| | | .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey()) |
| | | .apply(" to_days(create_date) = to_days(now())")); |
| | | |
| | | BigDecimal beforeOutNum = (getSumTotalByList(beforeJobNum,0,null));//今天之前未完成出库任务 |
| | | BigDecimal currentOutNum = (getSumTotalByList(currentNum,0,null));//今天下发出库任务 |
| | |
| | | BigDecimal currentInNum = (getSumTotalByList(currentNum,1,null));//今天下发入库任务 |
| | | data.setCurrentInNum(beforeInNum.add(currentInNum));//当前入库总任务成量 |
| | | data.setCurrentOutNum(beforeOutNum.add(currentOutNum));//当前出库总任务成量 |
| | | data.setCurrentInDoneNum(getSumTotalByList(currentNum,0,1));//今日完成量 |
| | | data.setCurrentOutDoneNum(getSumTotalByList(currentNum,1,1));//今日完成量 |
| | | data.setCurrentInDoneNum(getSumTotalByList(currentDoneNum,1,1));//今日完成量 |
| | | data.setCurrentOutDoneNum(getSumTotalByList(currentDoneNum,0,1));//今日完成量 |
| | | |
| | | //------------今日出入库效率---------------- |
| | | BigDecimal outHours = getTotalDoneTimes(currentNum,0);// |
| | | BigDecimal inHours = getTotalDoneTimes(currentNum,1);// |
| | | BigDecimal outHours = getTotalDoneTimes(currentDoneNum,0);// |
| | | BigDecimal inHours = getTotalDoneTimes(currentDoneNum,1);// |
| | | if(outHours.compareTo(new BigDecimal(0))>0){ |
| | | data.setTodayOutRate(data.getCurrentOutDoneNum().divide(outHours,2));//当前入库总任务成量 |
| | | } |
| | |
| | | data.setTodayInRate(data.getCurrentInDoneNum().divide(inHours,2));//当前入库总任务成量 |
| | | } |
| | | //------------本月出入库效率---------------- |
| | | BigDecimal outMonthNum = getSumTotalByList(monthNum,0,null).add(data.getCurrentOutDoneNum()); |
| | | // BigDecimal outMonthNum = getSumTotalByList(monthNum,0,null).add(data.getCurrentOutDoneNum()); |
| | | BigDecimal inMonthNum = getSumTotalByList(monthNum,1,null).add(data.getCurrentInDoneNum()); |
| | | BigDecimal outYearHours = getTotalDoneTimes(yearNum,0).add(outHours);// |
| | | BigDecimal inYearHours = getTotalDoneTimes(yearNum,1).add(inHours);// |
| | | if(outYearHours.compareTo(new BigDecimal(0))>0){ |
| | | data.setMonthOutRate(outMonthNum.divide(outYearHours,2));//本月入库效率 |
| | | BigDecimal outMonthHours = getTotalDoneTimes(monthNum,0).add(outHours);// |
| | | BigDecimal inMonthHours = getTotalDoneTimes(monthNum,1).add(inHours);// |
| | | if(outMonthHours.compareTo(new BigDecimal(0))>0){ |
| | | data.setMonthOutRate(data.getMonthOutTotal().divide(outMonthHours,0,BigDecimal.ROUND_HALF_UP));//本月入库效率 |
| | | } |
| | | if(inYearHours.compareTo(new BigDecimal(0))>0){ |
| | | data.setMonthInRate(inMonthNum.divide(inYearHours,2));//本月入库效率 |
| | | if(inMonthHours.compareTo(new BigDecimal(0))>0){ |
| | | data.setMonthInRate(inMonthNum.divide(inMonthHours,0,BigDecimal.ROUND_HALF_UP));//本月入库效率 |
| | | } |
| | | return data; |
| | | } |
| | |
| | | // if(Constants.formatBigdecimal(job.getIoQty()).compareTo(new BigDecimal(0)) >0){ |
| | | // r.add( job.getIoQty()); |
| | | // }else{ |
| | | r.add(Constants.formatBigdecimal(job.getTotalNum())); |
| | | r = r.add(Constants.formatBigdecimal(job.getTotalNum())); |
| | | // } |
| | | } |
| | | return Constants.formatBigdecimal0Float(r); |
| | | } |
| | | |
| | | @Override |
| | | public List<CarsAlarmResultListResponse> carsEventList(){ |
| | | |
| | | if(HKCarOpenService.HK_CARS_LIST == null){ |
| | | HKCarOpenService.HK_CARS_LIST = HKCarOpenService.getAllCarsDetais(); |
| | | } |
| | | return HKCarOpenService.getAlarmEvemtList( HKCarOpenService.HK_CARS_LIST,new Date()); |
| | | } |
| | | @Override |
| | | public BoardCarsListVO platformJobCarsList(){ |
| | | BoardCarsListVO data = new BoardCarsListVO(); |
| | |
| | | .groupBy(PlatformJob::getCarCodeFront)); |
| | | data.setBusyNum( busyNum!=null ?busyNum.size():0);//在途有任务数量 |
| | | data.setIdleNum(codes.size() -data.getBusyNum());//无任务空闲数量 |
| | | data.setEventList(HKCarOpenService.getAlarmEvemtList(detaisResponses,new Date())); |
| | | HKCarOpenService.HK_CARS_LIST = detaisResponses; |
| | | // data.setEventList(HKCarOpenService.getAlarmEvemtList(detaisResponses,new Date())); |
| | | if(busyNum != null){ |
| | | FLAG: for(CarsDeviceDetaisResponse model:detaisResponses){ |
| | | for(PlatformJob job : busyNum){ |