...
|
...
|
@@ -771,14 +771,14 @@ func (c *OrderInfoController) ImportOrderFromExcel() { |
|
|
|
|
|
// 必填项校验
|
|
|
nullLine := make([]interface{}, 0)
|
|
|
nullCell := make([]interface{}, 0)
|
|
|
|
|
|
nullFlag := false
|
|
|
for i, row := range rows {
|
|
|
if i > 2 && row != nil {
|
|
|
rowCnt++
|
|
|
fmt.Print(len(row), "\n")
|
|
|
if len(row) == constant.EXCEL_COLUMN { // 必填项内容为空
|
|
|
var tmpRow = row
|
|
|
nullCell := make([]interface{}, 0)
|
|
|
var myRow []string
|
|
|
for j, _ := range row {
|
|
|
if j != 7 { // 业务员抽成比例非必填
|
...
|
...
|
@@ -844,7 +844,7 @@ func (c *OrderInfoController) ImportOrderFromExcel() { |
|
|
for j, cell := range row {
|
|
|
|
|
|
r := strconv.Itoa(i + 1)
|
|
|
c := strconv.Itoa(j + 1)
|
|
|
col := strconv.Itoa(j + 1)
|
|
|
|
|
|
switch j {
|
|
|
case 0, 1, 2, 3, 4, 5, 8: // 订单号、发货单号、客户名称、订单区域、编号、合伙人、产品名称长度校验
|
...
|
...
|
@@ -854,9 +854,9 @@ func (c *OrderInfoController) ImportOrderFromExcel() { |
|
|
|
|
|
if lenCellStr > 50 {
|
|
|
var tmpRow []string
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+c+"列"+tableHeader[j+2]+"长度超过50位,请重新输入") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列"+tableHeader[j+2]+"长度超过50位,请重新输入") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
myRow = tmpRow
|
|
|
}
|
|
|
}
|
...
|
...
|
@@ -864,9 +864,9 @@ func (c *OrderInfoController) ImportOrderFromExcel() { |
|
|
{
|
|
|
if !utils.IsContain(partnerType, cell) {
|
|
|
var tmpRow []string
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+c+"列合伙人类型错误,合伙人类型必须为以下类型:事业合伙、业务合伙、研发合伙、业务-产品应用合伙") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列合伙人类型错误,合伙人类型必须为以下类型:事业合伙、业务合伙、研发合伙、业务-产品应用合伙") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
myRow = tmpRow
|
|
|
}
|
|
|
}
|
...
|
...
|
@@ -878,18 +878,18 @@ func (c *OrderInfoController) ImportOrderFromExcel() { |
|
|
shareRatio, err := strconv.ParseFloat(cell, 64)
|
|
|
if err != nil {
|
|
|
var tmpRow []string
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+c+"列业务员抽成比例格式错误,业务员抽成比例必须为数字") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列业务员抽成比例格式错误,业务员抽成比例必须为数字") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
myRow = tmpRow
|
|
|
}
|
|
|
|
|
|
// 比例不能超过100%
|
|
|
if shareRatio > 100 {
|
|
|
var tmpRow []string
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+c+"列业务员抽成比例超过限额,请输入正确的业务员抽成比例,并保留两位小数") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列业务员抽成比例超过限额,请输入正确的业务员抽成比例,并保留两位小数") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
myRow = tmpRow
|
|
|
}
|
|
|
|
...
|
...
|
@@ -898,9 +898,9 @@ func (c *OrderInfoController) ImportOrderFromExcel() { |
|
|
ok := regexp.MustCompile(regexpStr).MatchString(cell)
|
|
|
if !ok {
|
|
|
var tmpRow []string
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+c+"列业务员抽成比例超过最大长度,请输入正确的业务员抽成比例,并保留两位小数") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列业务员抽成比例超过最大长度,请输入正确的业务员抽成比例,并保留两位小数") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
myRow = tmpRow
|
|
|
}
|
|
|
}
|
...
|
...
|
@@ -911,18 +911,18 @@ func (c *OrderInfoController) ImportOrderFromExcel() { |
|
|
orderNum, err := strconv.ParseInt(cell, 10, 64)
|
|
|
if err != nil {
|
|
|
var tmpRow []string
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+c+"列产品数量格式错误,产品数量必须整数") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品数量格式错误,产品数量必须整数") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
myRow = tmpRow
|
|
|
}
|
|
|
|
|
|
// 长度校验
|
|
|
if orderNum > 1e16 {
|
|
|
var tmpRow []string
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+c+"列产品数量长度超过最大限制十六位整数,请重新填写") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品数量长度超过最大限制十六位整数,请重新填写") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
myRow = tmpRow
|
|
|
}
|
|
|
}
|
...
|
...
|
@@ -930,43 +930,42 @@ func (c *OrderInfoController) ImportOrderFromExcel() { |
|
|
{
|
|
|
|
|
|
// 参数类型转换
|
|
|
univalent, err := strconv.ParseFloat(cell, 64)
|
|
|
if err != nil {
|
|
|
univalent, typeErr := strconv.ParseFloat(cell, 64)
|
|
|
if typeErr != nil {
|
|
|
var tmpRow []string
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+c+"列单价格式错误,产品单价必须为数字类型") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列单价格式错误,产品单价必须为数字类型") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
myRow = tmpRow
|
|
|
}
|
|
|
|
|
|
// 长度校验
|
|
|
if univalent >= 1e16 {
|
|
|
var tmpRow []string
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+c+"列产品单价超过最大限制,产品单价小数点前面不能超过十六位数字,并保留两位小数") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品单价超过最大限制,产品单价小数点前面不能超过十六位数字,并保留两位小数") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
myRow = tmpRow
|
|
|
}
|
|
|
}
|
|
|
case 11: // 合伙人分红比例,精确到小数点后两位
|
|
|
{
|
|
|
|
|
|
//参数类型转换
|
|
|
partnerRatio, err := strconv.ParseFloat(cell, 64)
|
|
|
if err != nil {
|
|
|
partnerRatio, parseErr := strconv.ParseFloat(cell, 64)
|
|
|
if parseErr != nil {
|
|
|
var tmpRow []string
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+c+"列合伙人分红比例类型错误,合伙人分红比例必须为数字") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列合伙人分红比例类型错误,合伙人分红比例必须为数字") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
myRow = tmpRow
|
|
|
}
|
|
|
|
|
|
// 合伙人分红比例超额
|
|
|
if partnerRatio > 100 {
|
|
|
var tmpRow []string
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+c+"列合伙人分红比例超过限额,请输入正确的合伙人分红比例,并保留两位小数") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列合伙人分红比例超过限额,请输入正确的合伙人分红比例,并保留两位小数") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
myRow = tmpRow
|
|
|
}
|
|
|
|
...
|
...
|
@@ -975,9 +974,9 @@ func (c *OrderInfoController) ImportOrderFromExcel() { |
|
|
ok := regexp.MustCompile(regexpStr).MatchString(cell)
|
|
|
if !ok {
|
|
|
var tmpRow []string
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+c+"列合伙人分红比例超过最大长度,请输入正确的合伙人分红比例,并保留两位小数") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列合伙人分红比例超过最大长度,请输入正确的合伙人分红比例,并保留两位小数") // 错误信息
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
tmpRow = append(tmpRow, row...) // 错误行数据
|
|
|
myRow = tmpRow
|
|
|
}
|
|
|
}
|
...
|
...
|
|