根据订单规格匹配通用托盘规格
Posted 基督徒Isaac
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了根据订单规格匹配通用托盘规格相关的知识,希望对你有一定的参考价值。
# undebug(zuiyoutuopanzhonglei)
zuiyoutuopanzhonglei <- function(
DF = # 默认值
data.frame(
index = c(1:8),
x = c(2,2,3,3,3,4,5,5),
y = c(2,3,1,2,3,4,1,5),
count = c(1,2,3,1,2,3,1,2)
) ,
k1 = 1 , k2 = 1 , # 默认值
k3 = 0.1 # 默认值
)
########################################################
########################################################
df = dplyr:: arrange( DF, x, y)
LIST = list()
i = 1
########################################################
########################################################
while ( NROW(df) > 0)
LIST[[i]] = df[ 1, ]
x = df[ 1, 2]
y = df[ 1, 3]
if ( NROW(df) > 1)
for (j in 2: NROW(df))
if (
df[ j, 2] >= x &
df[ j, 3] >= y &
df[ j, 2] <= x + k1 &
df[ j, 3] <= y + k2
)
LIST[[i]] = rbind( LIST[[i]], df[ j, ])
df = df[ -which( df$index %in% LIST[[i]]$index), ]
i = i + 1
########################################################
########################################################
TP = matrix(nrow = length( LIST) ,
ncol = 4)
colnames(TP) = c( "index", "x", "y", "count")
TP = as.data.frame( TP)
for (i in 1: length( LIST))
TP[ i, 1] = paste( LIST[[i]]$index, collapse = ",") #
TP[ i, 2] = max( LIST[[i]]$x) + k3
TP[ i, 3] = max( LIST[[i]]$y) + k3
TP[ i, 4] = sum( LIST[[i]]$count)
tp = dplyr:: arrange( TP, x, y)
return(tp)
# debug(zuiyoutuopanzhonglei)
# zuiyoutuopanzhonglei()
# undebug(zuiyoutuopanzhonglei)
guige <- readxl:: read_excel("E:/guige.xlsx", sheet = "Sheet1")
# 导入大小横剪生产规格数据 index规格(长宽)编号;x宽,y长;count这种规格2021年生产托数
jieguo <- zuiyoutuopanzhonglei( guige, k1 = 80, k2 = 80, k3 = 20)
以上是关于根据订单规格匹配通用托盘规格的主要内容,如果未能解决你的问题,请参考以下文章
DB Design 允许用户定义产品、产品规格并让他们自己插入订单