| | |
| | | List<WorkChartAxis> listChart = reportQueryMapper.getChartAxis(); |
| | | |
| | | if(listChart!=null) { |
| | | ArrayList<Integer> data1 = new ArrayList<Integer>(); |
| | | ArrayList<Integer> data2 = new ArrayList<Integer>(); |
| | | ArrayList<Number> data1 = new ArrayList<Number>(); |
| | | ArrayList<Number> data2 = new ArrayList<Number>(); |
| | | |
| | | SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); |
| | | Calendar calendar = Calendar.getInstance(); |
| | |
| | | } |
| | | AxisBean inqty = new AxisBean(); |
| | | inqty.setName("入库托盘数"); |
| | | Integer[] array1 = new Integer[data1.size()]; |
| | | Number[] array1 = new Number[data1.size()]; |
| | | inqty.setData(data1.toArray(array1)); |
| | | list.add(inqty); |
| | | AxisBean outqty = new AxisBean(); |
| | | outqty.setName("出库托盘数"); |
| | | Integer[] array2 = new Integer[data2.size()]; |
| | | Number[] array2 = new Number[data2.size()]; |
| | | outqty.setData(data2.toArray(array2)); |
| | | list.add(outqty); |
| | | |
| | | AxisBean teu= new AxisBean(); |
| | | teu.setName("TEU"); |
| | | List<WorkTeuTotalAxis> workTeuTotalAxes = reportQueryMapper.getteuTotal(); |
| | | ArrayList<Integer> data3 = new ArrayList<>(); |
| | | ArrayList<Number> data3 = new ArrayList<Number>(); |
| | | for (WorkTeuTotalAxis w : workTeuTotalAxes) { |
| | | data3.add(w.getTeu_total()); |
| | | } |
| | | Integer[] array3 = new Integer[data3.size()]; |
| | | Number[] array3 = new Number[data3.size()]; |
| | | teu.setData(data3.toArray(array3)); |
| | | list.add(teu); |
| | | |
| | | AxisBean cube5 = new AxisBean(); |
| | | cube5.setName("入库体积"); |
| | | AxisBean cube15 = new AxisBean(); |
| | | cube15.setName("出库体积"); |
| | | List<WorkCubeTotalAxis> workCubeTotalAxes = reportQueryMapper.getCubeTotal(); |
| | | Map<String, WorkCubeTotalAxis> cubeMap = new HashMap<String, WorkCubeTotalAxis>(); |
| | | if (workCubeTotalAxes != null) { |
| | | for (WorkCubeTotalAxis w : workCubeTotalAxes) { |
| | | if (w.getYmd() != null) { |
| | | cubeMap.put(w.getYmd(), w); |
| | | } |
| | | } |
| | | } |
| | | ArrayList<Number> data4 = new ArrayList<Number>(); |
| | | ArrayList<Number> data5 = new ArrayList<Number>(); |
| | | SimpleDateFormat sfCube = new SimpleDateFormat("yyyy-MM-dd"); |
| | | Calendar calendarCube = Calendar.getInstance(); |
| | | calendarCube.add(Calendar.DATE, -12); |
| | | for (int i = 0; i < 12; i++) { |
| | | calendarCube.add(Calendar.DATE, 1); |
| | | String str = sfCube.format(calendarCube.getTime()); |
| | | WorkCubeTotalAxis cubeAxis = cubeMap.get(str); |
| | | data4.add(cubeAxis == null || cubeAxis.getCube5Total() == null ? 0 : cubeAxis.getCube5Total()); |
| | | data5.add(cubeAxis == null || cubeAxis.getCube15Total() == null ? 0 : cubeAxis.getCube15Total()); |
| | | } |
| | | Number[] array4 = new Number[data4.size()]; |
| | | cube5.setData(data4.toArray(array4)); |
| | | list.add(cube5); |
| | | Number[] array5 = new Number[data5.size()]; |
| | | cube15.setData(data5.toArray(array5)); |
| | | list.add(cube15); |
| | | |
| | | } |
| | | map.put("rows",list); |
| | | return R.ok(map); |
| | |
| | | |
| | | ArrayList<Integer> data1 = new ArrayList<>(); |
| | | ArrayList<Integer> data2 = new ArrayList<>(); |
| | | ArrayList<Double> data3 = new ArrayList<>(); |
| | | ArrayList<Double> data4 = new ArrayList<>(); |
| | | List<String> categories = new ArrayList<>(); |
| | | |
| | | final int n = 12; |
| | |
| | | |
| | | int inV = 0; |
| | | int outV = 0; |
| | | double inC = 0; |
| | | double outC = 0; |
| | | for (WorkChartAxis w : listChart) { |
| | | if (w.getYmd() != null && key.equals(w.getYmd().trim())) { |
| | | inV = w.getInqty(); |
| | | outV = w.getOutqty(); |
| | | inC = w.getCube_inqty(); |
| | | outC = w.getCube_outqty(); |
| | | break; |
| | | } |
| | | } |
| | |
| | | Integer[] array2 = new Integer[data2.size()]; |
| | | outqty.setData(data2.toArray(array2)); |
| | | list.add(outqty); |
| | | |
| | | AxisBean cubeInqty = new AxisBean(); |
| | | cubeInqty.setName("入库体积"); |
| | | Integer[] array3 = new Integer[data3.size()]; |
| | | cubeInqty.setData(data3.toArray(array3)); |
| | | list.add(cubeInqty); |
| | | |
| | | AxisBean cubeOutqty = new AxisBean(); |
| | | cubeOutqty.setName("出库体积"); |
| | | Integer[] array4 = new Integer[data4.size()]; |
| | | cubeOutqty.setData(data4.toArray(array4)); |
| | | list.add(cubeOutqty); |
| | | |
| | | map.put("categories", categories); |
| | | map.put("rows", list); |
| | |
| | | } |
| | | |
| | | List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(Integer.valueOf(param.getTaskNo())); |
| | | String costTime = resolveCostTime(wrkMast, wrkDetls); |
| | | |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("taskNo", param.getTaskNo()); |
| | | map.put("ioType", wrkMast.getIoType()); |
| | | map.put("costTime", costTime); |
| | | map.put("costTimeStr", costTime); |
| | | map.put("wrkDetls", wrkDetls); |
| | | Integer count = 0; |
| | | String supp = ""; |
| | | //该订单累计入出库件数 |
| | | List<WrkMast> orderNo = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("user_no", wrkMast.getUserNo())); |
| | | List<WrkMastLog> userNo = wrkMastLogService.selectList(new EntityWrapper<WrkMastLog>().eq("user_no", wrkMast.getUserNo()).eq("wrk_sts",15L)); |
| | | Integer ioType = wrkMast.getIoType(); |
| | | if (ioType != null && ioType < 100) { |
| | | if (orderNo != null && orderNo.size() > 0) { |
| | | count = orderNo.size(); |
| | | } |
| | | if (userNo != null && userNo.size() > 0) { |
| | | count = userNo.size()+count+1; |
| | | } |
| | | supp = count + ""; |
| | | }else { |
| | | if (userNo != null && userNo.size() > 0) { |
| | | count = userNo.size()+1; |
| | | } |
| | | supp = count + ""; |
| | | } |
| | | map.put("supp", supp); |
| | | |
| | | //耗时 |
| | | String costTime = resolveCostTime(wrkMast, wrkDetls); |
| | | map.put("costTime", costTime); |
| | | |
| | | return R.ok().add(map); |
| | | } |
| | | |
| | | private String resolveCostTime(WrkMast wrkMast, List<WrkDetl> wrkDetls) { |
| | | Date createTime = resolveOrderCreateTime(resolveOrderNo(wrkMast, wrkDetls)); |
| | | if (createTime == null) { |
| | | if (wrkMast == null || wrkMast.getIoType() == null) { |
| | | return "0"; |
| | | } |
| | | |
| | | Date createTime; |
| | | if (wrkMast.getIoType() < 100) { |
| | | createTime = resolveInboundTaskCreateTime(wrkMast, wrkDetls); |
| | | } else { |
| | | createTime = resolveTaskCreateTime(wrkMast); |
| | | } |
| | | |
| | | if (createTime == null) { |
| | | return "0"; |
| | | } |
| | | |
| | | long minutes = TimeUnit.MILLISECONDS.toMinutes(System.currentTimeMillis() - createTime.getTime()); |
| | | if (minutes < 0L) { |
| | | minutes = 0L; |
| | | } |
| | | return String.valueOf(minutes); |
| | | } |
| | | |
| | | private Date resolveInboundTaskCreateTime(WrkMast wrkMast, List<WrkDetl> wrkDetls) { |
| | | if (wrkMast == null) { |
| | | return null; |
| | | } |
| | | |
| | | if (!Cools.isEmpty(wrkMast.getUserNo())) { |
| | | Date userNoCreateTime = resolveUserNoCreateTime(wrkMast.getUserNo()); |
| | | if (userNoCreateTime != null) { |
| | | return userNoCreateTime; |
| | | } |
| | | } |
| | | |
| | | String orderNo = resolveOrderNo(wrkMast, wrkDetls); |
| | | if (Cools.isEmpty(orderNo)) { |
| | | return null; |
| | | } |
| | | return resolveOrderCreateTime(orderNo); |
| | | } |
| | | |
| | | private Date resolveUserNoCreateTime(String userNo) { |
| | | if (Cools.isEmpty(userNo)) { |
| | | return null; |
| | | } |
| | | return minDate( |
| | | minCreateTime(wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("user_no", userNo))), |
| | | minCreateTime(wrkMastLogService.selectList(new EntityWrapper<WrkMastLog>().eq("user_no", userNo))) |
| | | ); |
| | | } |
| | | |
| | | private String resolveOrderNo(WrkMast wrkMast, List<WrkDetl> wrkDetls) { |
| | |
| | | minCreateTime(wrkMastLogService.selectList(new EntityWrapper<WrkMastLog>().eq("user_no", orderNo))), |
| | | minCreateTime(wrkDetlLogService.selectList(new EntityWrapper<WrkDetlLog>().eq("order_no", orderNo))) |
| | | ); |
| | | if (historyCreateTime != null) { |
| | | return historyCreateTime; |
| | | } |
| | | |
| | | return minDate( |
| | | Date currentCreateTime = minDate( |
| | | minCreateTime(wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("user_no", orderNo))), |
| | | minCreateTime(wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("order_no", orderNo))) |
| | | ); |
| | | return minDate(historyCreateTime, currentCreateTime); |
| | | } |
| | | |
| | | private Date minDate(Date first, Date second) { |
| | |
| | | if (wrkMast == null) { |
| | | return null; |
| | | } |
| | | return firstDate(wrkMast.getAppeTime(), wrkMast.getIoTime(), wrkMast.getModiTime()); |
| | | } |
| | | |
| | | private Date firstDate(Date... dates) { |
| | | if (dates == null || dates.length == 0) { |
| | | return null; |
| | | } |
| | | for (Date date : dates) { |
| | | if (date != null) { |
| | | return date; |
| | | } |
| | | } |
| | | return null; |
| | | return minDate(minDate(wrkMast.getAppeTime(), wrkMast.getIoTime()), wrkMast.getModiTime()); |
| | | } |
| | | |
| | | private Date minCreateTime(List<?> list) { |
| | |
| | | private Date resolveCreateTime(Object item) { |
| | | if (item instanceof WrkMast) { |
| | | WrkMast wrkMast = (WrkMast) item; |
| | | return firstDate(wrkMast.getAppeTime(), wrkMast.getIoTime(), wrkMast.getModiTime()); |
| | | return minDate(minDate(wrkMast.getAppeTime(), wrkMast.getIoTime()), wrkMast.getModiTime()); |
| | | } |
| | | if (item instanceof WrkMastLog) { |
| | | WrkMastLog wrkMastLog = (WrkMastLog) item; |
| | | return firstDate(wrkMastLog.getAppeTime(), wrkMastLog.getIoTime(), wrkMastLog.getModiTime()); |
| | | return minDate(minDate(wrkMastLog.getAppeTime(), wrkMastLog.getIoTime()), wrkMastLog.getModiTime()); |
| | | } |
| | | if (item instanceof WrkDetl) { |
| | | WrkDetl wrkDetl = (WrkDetl) item; |
| | | return firstDate(wrkDetl.getAppeTime(), wrkDetl.getIoTime(), wrkDetl.getModiTime()); |
| | | return minDate(minDate(wrkDetl.getAppeTime(), wrkDetl.getIoTime()), wrkDetl.getModiTime()); |
| | | } |
| | | if (item instanceof WrkDetlLog) { |
| | | WrkDetlLog wrkDetlLog = (WrkDetlLog) item; |
| | | return firstDate(wrkDetlLog.getAppeTime(), wrkDetlLog.getIoTime(), wrkDetlLog.getModiTime()); |
| | | return minDate(minDate(wrkDetlLog.getAppeTime(), wrkDetlLog.getIoTime()), wrkDetlLog.getModiTime()); |
| | | } |
| | | return null; |
| | | } |