|
...
|
...
|
@@ -279,7 +279,7 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
|
|
|
|
|
|
// 返回信息表头定义
|
|
|
|
var tableHeader = map[string]interface{}{
|
|
|
|
"failReason": "错误详情",
|
|
|
|
"failReason": "失败原因",
|
|
|
|
"originalOrderNum": "来源单号",
|
|
|
|
"dividendsCustomerName": "客户名称",
|
|
|
|
"orderGoodName": "产品名称",
|
|
...
|
...
|
@@ -308,7 +308,8 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
|
|
for i, dividendsOrder := range importDividendsOrderCommand.DividendsOrderData {
|
|
|
|
rowCnt++
|
|
|
|
nullCell := make([]interface{}, 0)
|
|
|
|
var myRow []string
|
|
|
|
//var myRow []string
|
|
|
|
var myRow []interface{}
|
|
|
|
t := reflect.TypeOf(dividendsOrder)
|
|
|
|
v := reflect.ValueOf(dividendsOrder)
|
|
|
|
for k := 0; k < t.NumField(); k++ {
|
|
...
|
...
|
@@ -324,9 +325,21 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
|
|
if nullFlag {
|
|
|
|
s := strconv.Itoa(i + 1)
|
|
|
|
b := strings.Replace(strings.Trim(fmt.Sprint(nullCell), "[]"), " ", ",", -1)
|
|
|
|
myRow = append(myRow, "第"+s+"行的第"+b+"列必填项为空") // 错误信息
|
|
|
|
myRow = append(myRow, s) // 行号
|
|
|
|
myRow = append(myRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
//myRow = append(myRow, "第"+s+"行的第"+b+"列必填项为空") // 错误信息
|
|
|
|
//myRow = append(myRow, s) // 行号
|
|
|
|
//myRow = append(myRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
myRow = append(myRow, map[string]interface{}{
|
|
|
|
"failReason": "第" + s + "行第" + b + "列订单日期格式错误,请输入正确的订单日期",
|
|
|
|
"originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
"dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
"orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
"orderTime": dividendsOrder.OrderTime,
|
|
|
|
"regionName": dividendsOrder.RegionName,
|
|
|
|
"orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
"orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
"expense": dividendsOrder.Expense,
|
|
|
|
"cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
})
|
|
|
|
nullCellError = append(nullCellError, myRow)
|
|
|
|
nullFlag = false
|
|
|
|
}
|
|
...
|
...
|
@@ -346,23 +359,36 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
|
|
// 单元格类型校验
|
|
|
|
typeError := make([]interface{}, 0)
|
|
|
|
for i, dividendsOrder := range importDividendsOrderCommand.DividendsOrderData { // 行
|
|
|
|
var myRow []string
|
|
|
|
var myRow []interface{}
|
|
|
|
//var myRow []string
|
|
|
|
t := reflect.TypeOf(dividendsOrder)
|
|
|
|
v := reflect.ValueOf(dividendsOrder)
|
|
|
|
for k := 0; k < t.NumField(); k++ { // 列
|
|
|
|
r := strconv.Itoa(i + 1)
|
|
|
|
col := strconv.Itoa(k + 1)
|
|
|
|
|
|
|
|
switch k {
|
|
|
|
case 3: // 订单日期校验
|
|
|
|
{
|
|
|
|
regexpStr := `(\d{4})/(\d{2})/(\d{2})`
|
|
|
|
ok := regexp.MustCompile(regexpStr).MatchString(fmt.Sprintf("%v", v.Field(k).Interface()))
|
|
|
|
if !ok {
|
|
|
|
var tmpRow []string
|
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列订单日期格式错误,请输入正确的订单日期") // 错误信息
|
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
|
tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
//var tmpRow []string
|
|
|
|
//tmpRow = append(tmpRow, "第"+r+"行第"+col+"列订单日期格式错误,请输入正确的订单日期") // 错误信息
|
|
|
|
//tmpRow = append(tmpRow, r) // 行号
|
|
|
|
//tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
var tmpRow []interface{}
|
|
|
|
tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
"failReason": "第" + r + "行第" + col + "列订单日期格式错误,请输入正确的订单日期",
|
|
|
|
"originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
"dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
"orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
"orderTime": dividendsOrder.OrderTime,
|
|
|
|
"regionName": dividendsOrder.RegionName,
|
|
|
|
"orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
"orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
"expense": dividendsOrder.Expense,
|
|
|
|
"cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
})
|
|
|
|
myRow = tmpRow
|
|
|
|
}
|
|
|
|
}
|
|
...
|
...
|
@@ -371,18 +397,44 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
|
|
//参数类型转换
|
|
|
|
orderGoodQuantity, err := strconv.ParseInt(fmt.Sprintf("%v", v.Field(k).Interface()), 10, 64)
|
|
|
|
if err != nil {
|
|
|
|
var tmpRow []string
|
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品数量格式错误,产品数量必须整数") // 错误信息
|
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
|
tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
//var tmpRow []string
|
|
|
|
//tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品数量格式错误,产品数量必须整数") // 错误信息
|
|
|
|
//tmpRow = append(tmpRow, r) // 行号
|
|
|
|
//tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
var tmpRow []interface{}
|
|
|
|
tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
"failReason": "第" + r + "行第" + col + "列产品数量格式错误,产品数量必须整数",
|
|
|
|
"originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
"dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
"orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
"orderTime": dividendsOrder.OrderTime,
|
|
|
|
"regionName": dividendsOrder.RegionName,
|
|
|
|
"orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
"orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
"expense": dividendsOrder.Expense,
|
|
|
|
"cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
})
|
|
|
|
myRow = tmpRow
|
|
|
|
}
|
|
|
|
// 正负判断
|
|
|
|
if orderGoodQuantity < 0 {
|
|
|
|
var tmpRow []string
|
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品数量必须大于0,请重新填写") // 错误信息
|
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
|
tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
//var tmpRow []string
|
|
|
|
//tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品数量必须大于0,请重新填写") // 错误信息
|
|
|
|
//tmpRow = append(tmpRow, r) // 行号
|
|
|
|
//tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
var tmpRow []interface{}
|
|
|
|
tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
"failReason": "第" + r + "行第" + col + "列产品数量必须大于0,请重新填写",
|
|
|
|
"originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
"dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
"orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
"orderTime": dividendsOrder.OrderTime,
|
|
|
|
"regionName": dividendsOrder.RegionName,
|
|
|
|
"orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
"orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
"expense": dividendsOrder.Expense,
|
|
|
|
"cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
})
|
|
|
|
myRow = tmpRow
|
|
|
|
}
|
|
|
|
}
|
|
...
|
...
|
@@ -391,19 +443,46 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
|
|
// 参数类型转换
|
|
|
|
univalent, typeErr := strconv.ParseFloat(fmt.Sprintf("%v", v.Field(k).Interface()), 64)
|
|
|
|
if typeErr != nil {
|
|
|
|
var tmpRow []string
|
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品价格格式错误,产品价格必须为数字类型") // 错误信息
|
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
|
tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
//var tmpRow []string
|
|
|
|
//tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品价格格式错误,产品价格必须为数字类型") // 错误信息
|
|
|
|
//tmpRow = append(tmpRow, r) // 行号
|
|
|
|
//tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
var tmpRow []interface{}
|
|
|
|
tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
"failReason": "第" + r + "行第" + col + "列产品价格格式错误,产品价格必须为数字类型",
|
|
|
|
"originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
"dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
"orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
"orderTime": dividendsOrder.OrderTime,
|
|
|
|
"regionName": dividendsOrder.RegionName,
|
|
|
|
"orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
"orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
"expense": dividendsOrder.Expense,
|
|
|
|
"cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
})
|
|
|
|
myRow = tmpRow
|
|
|
|
}
|
|
|
|
|
|
|
|
// 长度校验
|
|
|
|
if univalent >= 1e16 {
|
|
|
|
var tmpRow []string
|
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品价格超过最大限制,产品价格小数点前面不能超过十六位数字,并保留两位小数") // 错误信息
|
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
|
tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
//var tmpRow []string
|
|
|
|
//tmpRow = append(tmpRow, "第"+r+"行第"+col+"列产品价格超过最大限制,产品价格小数点前面不能超过十六位数字,并保留两位小数") // 错误信息
|
|
|
|
//tmpRow = append(tmpRow, r) // 行号
|
|
|
|
//tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface()))
|
|
|
|
var tmpRow []interface{}
|
|
|
|
tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
"failReason": "第" + r + "行第" + col + "列产品价格超过最大限制,产品价格小数点前面不能超过十六位数字,并保留两位小数",
|
|
|
|
"originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
"dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
"orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
"orderTime": dividendsOrder.OrderTime,
|
|
|
|
"regionName": dividendsOrder.RegionName,
|
|
|
|
"orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
"orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
"expense": dividendsOrder.Expense,
|
|
|
|
"cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
})
|
|
|
|
// 错误行数据
|
|
|
|
myRow = tmpRow
|
|
|
|
}
|
|
|
|
}
|
|
...
|
...
|
@@ -413,19 +492,45 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
|
|
// 参数类型转换
|
|
|
|
univalent, typeErr := strconv.ParseFloat(fmt.Sprintf("%v", v.Field(k).Interface()), 64)
|
|
|
|
if typeErr != nil {
|
|
|
|
var tmpRow []string
|
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列费用格式错误,费用必须为数字类型") // 错误信息
|
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
|
tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
//var tmpRow []string
|
|
|
|
//tmpRow = append(tmpRow, "第"+r+"行第"+col+"列费用格式错误,费用必须为数字类型") // 错误信息
|
|
|
|
//tmpRow = append(tmpRow, r) // 行号
|
|
|
|
//tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
var tmpRow []interface{}
|
|
|
|
tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
"failReason": "第" + r + "行第" + col + "列费用格式错误,费用必须为数字类型",
|
|
|
|
"originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
"dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
"orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
"orderTime": dividendsOrder.OrderTime,
|
|
|
|
"regionName": dividendsOrder.RegionName,
|
|
|
|
"orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
"orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
"expense": dividendsOrder.Expense,
|
|
|
|
"cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
})
|
|
|
|
myRow = tmpRow
|
|
|
|
}
|
|
|
|
|
|
|
|
// 长度校验
|
|
|
|
if univalent >= 1e16 {
|
|
|
|
var tmpRow []string
|
|
|
|
tmpRow = append(tmpRow, "第"+r+"行第"+col+"列费用超过最大限制,费用小数点前面不能超过十六位数字,并保留两位小数") // 错误信息
|
|
|
|
tmpRow = append(tmpRow, r) // 行号
|
|
|
|
tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
//var tmpRow []string
|
|
|
|
//tmpRow = append(tmpRow, "第"+r+"行第"+col+"列费用超过最大限制,费用小数点前面不能超过十六位数字,并保留两位小数") // 错误信息
|
|
|
|
//tmpRow = append(tmpRow, r) // 行号
|
|
|
|
//tmpRow = append(tmpRow, fmt.Sprintf("%v", v.Interface())) // 错误行数据
|
|
|
|
var tmpRow []interface{}
|
|
|
|
tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
"failReason": "第" + r + "行第" + col + "列费用超过最大限制,费用小数点前面不能超过十六位数字,并保留两位小数",
|
|
|
|
"originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
"dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
"orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
"orderTime": dividendsOrder.OrderTime,
|
|
|
|
"regionName": dividendsOrder.RegionName,
|
|
|
|
"orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
"orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
"expense": dividendsOrder.Expense,
|
|
|
|
"cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
})
|
|
|
|
myRow = tmpRow
|
|
|
|
}
|
|
|
|
}
|
|
...
|
...
|
@@ -456,20 +561,27 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
|
|
hashValue := md5.Sum([]byte(dividendsOrder.OriginalOrderNum))
|
|
|
|
hashString := hex.EncodeToString(hashValue[:])
|
|
|
|
if _, ok := dividendsOrderCommands[hashString]; !ok {
|
|
|
|
// 来源单号
|
|
|
|
dividendsOrderCommands[hashString].DividendsOriginalOrderNum = dividendsOrder.OriginalOrderNum
|
|
|
|
|
|
|
|
// 客户名称
|
|
|
|
dividendsOrderCommands[hashString].CustomerName = dividendsOrder.DividendsCustomerName
|
|
|
|
|
|
|
|
// 订单日期时间格式转换
|
|
|
|
timeValue, err := time.ParseInLocation("2006/01/02", dividendsOrder.OrderTime, time.Local)
|
|
|
|
if err != nil {
|
|
|
|
var tmpRow []string
|
|
|
|
tmpRow = append(tmpRow, "无效的订单日期") // 错误信息
|
|
|
|
//var tmpRow []string
|
|
|
|
//tmpRow = append(tmpRow, "无效的订单日期") // 错误信息
|
|
|
|
s := strconv.Itoa(i + 1)
|
|
|
|
tmpRow = append(tmpRow, s) // 行号
|
|
|
|
//tmpRow = append(tmpRow, dividendsOrder.OriginalOrderNum) // TODO 错误行数据
|
|
|
|
//tmpRow = append(tmpRow, s) // 行号
|
|
|
|
//tmpRow = append(tmpRow, dividendsOrder.OriginalOrderNum)
|
|
|
|
var tmpRow []interface{}
|
|
|
|
tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
"failReason": "第" + s + "行无效的订单日期",
|
|
|
|
"originalOrderNum": dividendsOrder.OriginalOrderNum,
|
|
|
|
"dividendsCustomerName": dividendsOrder.DividendsCustomerName,
|
|
|
|
"orderGoodName": dividendsOrder.OrderGoodName,
|
|
|
|
"orderTime": dividendsOrder.OrderTime,
|
|
|
|
"regionName": dividendsOrder.RegionName,
|
|
|
|
"orderGoodQuantity": dividendsOrder.OrderGoodQuantity,
|
|
|
|
"orderGoodPrice": dividendsOrder.OrderGoodPrice,
|
|
|
|
"expense": dividendsOrder.Expense,
|
|
|
|
"cooperationContractNumber": dividendsOrder.CooperationContractNumber,
|
|
|
|
})
|
|
|
|
aggregateErrorList = append(aggregateErrorList, tmpRow)
|
|
|
|
break
|
|
|
|
}
|
|
...
|
...
|
@@ -592,20 +704,46 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
|
|
for _, errorData := range errorDataList {
|
|
|
|
if len(errorData.GoodLine) == 0 { // 订单错误
|
|
|
|
for _, line := range errorData.LineNumbers {
|
|
|
|
var tmpRow []string
|
|
|
|
tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
|
|
|
//var tmpRow []string5
|
|
|
|
//tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
|
|
|
s := strconv.Itoa(line + 1)
|
|
|
|
tmpRow = append(tmpRow, s) // 行号
|
|
|
|
//tmpRow = append(tmpRow, s) // 行号
|
|
|
|
//tmpRow = append(tmpRow, importDividendsOrderCommand.DividendsOrderData[line]...) // 错误行数据
|
|
|
|
var tmpRow []interface{}
|
|
|
|
tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
"failReason": "第" + s + "行数据校验错误:" + errorData.Error.Error(),
|
|
|
|
"originalOrderNum": importDividendsOrderCommand.DividendsOrderData[line].OriginalOrderNum,
|
|
|
|
"dividendsCustomerName": importDividendsOrderCommand.DividendsOrderData[line].DividendsCustomerName,
|
|
|
|
"orderGoodName": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodName,
|
|
|
|
"orderTime": importDividendsOrderCommand.DividendsOrderData[line].OrderTime,
|
|
|
|
"regionName": importDividendsOrderCommand.DividendsOrderData[line].RegionName,
|
|
|
|
"orderGoodQuantity": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodQuantity,
|
|
|
|
"orderGoodPrice": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodPrice,
|
|
|
|
"expense": importDividendsOrderCommand.DividendsOrderData[line].Expense,
|
|
|
|
"cooperationContractNumber": importDividendsOrderCommand.DividendsOrderData[line].CooperationContractNumber,
|
|
|
|
})
|
|
|
|
failureDataList = append(failureDataList, tmpRow)
|
|
|
|
}
|
|
|
|
} else if len(errorData.GoodLine) > 0 { // 订单产品错误
|
|
|
|
for line := range errorData.GoodLine {
|
|
|
|
var tmpRow []string
|
|
|
|
tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
|
|
|
//var tmpRow []string
|
|
|
|
//tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
|
|
|
s := strconv.Itoa(line + 1)
|
|
|
|
tmpRow = append(tmpRow, s) // 行号
|
|
|
|
//tmpRow = append(tmpRow, s) // 行号
|
|
|
|
//tmpRow = append(tmpRow, importDividendsOrderCommand.DividendsOrderData[line]...) // 错误行数据
|
|
|
|
var tmpRow []interface{}
|
|
|
|
tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
"failReason": "第" + s + "行订单产品信息错误:" + errorData.Error.Error(),
|
|
|
|
"originalOrderNum": importDividendsOrderCommand.DividendsOrderData[line].OriginalOrderNum,
|
|
|
|
"dividendsCustomerName": importDividendsOrderCommand.DividendsOrderData[line].DividendsCustomerName,
|
|
|
|
"orderGoodName": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodName,
|
|
|
|
"orderTime": importDividendsOrderCommand.DividendsOrderData[line].OrderTime,
|
|
|
|
"regionName": importDividendsOrderCommand.DividendsOrderData[line].RegionName,
|
|
|
|
"orderGoodQuantity": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodQuantity,
|
|
|
|
"orderGoodPrice": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodPrice,
|
|
|
|
"expense": importDividendsOrderCommand.DividendsOrderData[line].Expense,
|
|
|
|
"cooperationContractNumber": importDividendsOrderCommand.DividendsOrderData[line].CooperationContractNumber,
|
|
|
|
})
|
|
|
|
failureDataList = append(failureDataList, tmpRow)
|
|
|
|
}
|
|
|
|
}
|
|
...
|
...
|
@@ -621,7 +759,6 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
|
|
|
|
|
|
// 批量导入创建分红订单
|
|
|
|
for _, dividendsOrder := range createDividendsOrderCommands {
|
|
|
|
|
|
|
|
// 生成分红订单号
|
|
|
|
dividendsOrderNumber, err := dividendsOrderDao.GenerateDividendsOrderNumber()
|
|
|
|
if err != nil {
|
|
...
|
...
|
@@ -641,6 +778,8 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
|
|
return nil, application.ThrowError(application.TRANSACTION_ERROR, "新增分红订单异常")
|
|
|
|
}
|
|
|
|
|
|
|
|
// 校验共创合约是否合法
|
|
|
|
|
|
|
|
// 新增订单产品
|
|
|
|
var orderGoods []*domain.OrderGood
|
|
|
|
var dividendsOrderAmount float64
|
|
...
|
...
|
@@ -668,7 +807,7 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
|
|
// 订单时间转换
|
|
|
|
orderTimeInt, err := strconv.ParseInt(dividendsOrder.OrderTime, 10, 64)
|
|
|
|
if err != nil {
|
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "订单时间错误")
|
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "订单日期转换错误")
|
|
|
|
}
|
|
|
|
orderTime := utils.TransformTimestampToTime(orderTimeInt)
|
|
|
|
|
|
...
|
...
|
@@ -723,20 +862,46 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
|
|
for _, errorData := range errorDataList {
|
|
|
|
if len(errorData.GoodLine) == 0 { // 订单错误
|
|
|
|
for _, line := range errorData.LineNumbers {
|
|
|
|
var tmpRow []string
|
|
|
|
tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
|
|
|
//var tmpRow []string
|
|
|
|
//tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
|
|
|
s := strconv.Itoa(line + 1)
|
|
|
|
tmpRow = append(tmpRow, s) // 行号
|
|
|
|
//tmpRow = append(tmpRow, s) // 行号
|
|
|
|
//tmpRow = append(tmpRow, importDividendsOrderCommand.DividendsOrderData[line]...) // 错误行数据
|
|
|
|
var tmpRow []interface{}
|
|
|
|
tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
"failReason": "第" + s + "行订单数据新增错误:" + errorData.Error.Error(),
|
|
|
|
"originalOrderNum": importDividendsOrderCommand.DividendsOrderData[line].OriginalOrderNum,
|
|
|
|
"dividendsCustomerName": importDividendsOrderCommand.DividendsOrderData[line].DividendsCustomerName,
|
|
|
|
"orderGoodName": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodName,
|
|
|
|
"orderTime": importDividendsOrderCommand.DividendsOrderData[line].OrderTime,
|
|
|
|
"regionName": importDividendsOrderCommand.DividendsOrderData[line].RegionName,
|
|
|
|
"orderGoodQuantity": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodQuantity,
|
|
|
|
"orderGoodPrice": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodPrice,
|
|
|
|
"expense": importDividendsOrderCommand.DividendsOrderData[line].Expense,
|
|
|
|
"cooperationContractNumber": importDividendsOrderCommand.DividendsOrderData[line].CooperationContractNumber,
|
|
|
|
})
|
|
|
|
failureDataList = append(failureDataList, tmpRow)
|
|
|
|
}
|
|
|
|
} else if len(errorData.GoodLine) > 0 { // 订单产品错误
|
|
|
|
for line := range errorData.GoodLine {
|
|
|
|
var tmpRow []string
|
|
|
|
tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
|
|
|
//var tmpRow []string
|
|
|
|
//tmpRow = append(tmpRow, errorData.Error.Error()) // 错误信息
|
|
|
|
s := strconv.Itoa(line + 1)
|
|
|
|
tmpRow = append(tmpRow, s) // 行号
|
|
|
|
//tmpRow = append(tmpRow, s) // 行号
|
|
|
|
//tmpRow = append(tmpRow, importDividendsOrderCommand.DividendsOrderData[line]...) // 错误行数据
|
|
|
|
var tmpRow []interface{}
|
|
|
|
tmpRow = append(tmpRow, map[string]interface{}{
|
|
|
|
"failReason": "第" + s + "行订单数据新增错误:" + errorData.Error.Error(),
|
|
|
|
"originalOrderNum": importDividendsOrderCommand.DividendsOrderData[line].OriginalOrderNum,
|
|
|
|
"dividendsCustomerName": importDividendsOrderCommand.DividendsOrderData[line].DividendsCustomerName,
|
|
|
|
"orderGoodName": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodName,
|
|
|
|
"orderTime": importDividendsOrderCommand.DividendsOrderData[line].OrderTime,
|
|
|
|
"regionName": importDividendsOrderCommand.DividendsOrderData[line].RegionName,
|
|
|
|
"orderGoodQuantity": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodQuantity,
|
|
|
|
"orderGoodPrice": importDividendsOrderCommand.DividendsOrderData[line].OrderGoodPrice,
|
|
|
|
"expense": importDividendsOrderCommand.DividendsOrderData[line].Expense,
|
|
|
|
"cooperationContractNumber": importDividendsOrderCommand.DividendsOrderData[line].CooperationContractNumber,
|
|
|
|
})
|
|
|
|
failureDataList = append(failureDataList, tmpRow)
|
|
|
|
}
|
|
|
|
}
|
...
|
...
|
|