| | |
| | | |
| | | for index, insert := range inserts { |
| | | errMsg := "" |
| | | if len(insert) < 5 || insert[0] == "" || insert[1] == "" || insert[2] == "" || insert[3] == "" || insert[4] == "" { |
| | | if len(insert) < 6 || insert[0] == "" || insert[1] == "" || insert[2] == "" || insert[3] == "" || insert[4] == "" || insert[5] == "" { |
| | | errMsg = "第" + strconv.Itoa(index+2) + "行,没有填写必填项项" |
| | | return 0, errors.New(errMsg) |
| | | } |
| | |
| | | return 0, errors.New(errMsg) |
| | | } |
| | | material.CategoryId = mapProductCategory[strings.Trim(insert[3], " ")] |
| | | purchaseTypeList := make([]int, 0) |
| | | purchaseTypes := strings.Split(strings.Trim(insert[4], " "), "/") |
| | | for _, v := range purchaseTypes { |
| | | switch strings.Trim(v, " ") { |
| | | case "采购": |
| | | purchaseTypeList = append(purchaseTypeList, int(constvar.PurchaseTypeOutSource)) |
| | | case "自制": |
| | | purchaseTypeList = append(purchaseTypeList, int(constvar.PurchaseTypeSelf)) |
| | | case "委外": |
| | | purchaseTypeList = append(purchaseTypeList, int(constvar.PurchaseTypeEntrust)) |
| | | default: |
| | | errMsg = "第" + strconv.Itoa(index+2) + "行,产品编码:" + insert[0] + ",无法识别采购类型" |
| | | return 0, errors.New(errMsg) |
| | | } |
| | | |
| | | material.Unit = insert[4] |
| | | } |
| | | material.PurchaseTypeList = purchaseTypeList |
| | | material.Unit = insert[5] |
| | | |
| | | var moreUnit = true |
| | | if len(insert) > 6 && insert[5] != "" { |
| | | material.MoreUnit = &moreUnit |
| | | var ut models.UnitItems |
| | | ut.Unit = insert[5] |
| | | if len(insert) < 13 || insert[12] == "" { |
| | | errMsg = "第" + strconv.Itoa(index+2) + "行,产品编码:" + insert[0] + ",请填写与辅计量单位1相关的单位换算比例1" |
| | | return 0, errors.New(errMsg) |
| | | } |
| | | ut.Amount = decimal.RequireFromString(insert[12]) |
| | | if len(insert) < 14 || insert[13] == "" { |
| | | errMsg = "第" + strconv.Itoa(index+2) + "行,产品编码:" + insert[0] + ",请填写与辅计量单位1相关的是否浮动换算1" |
| | | return 0, errors.New(errMsg) |
| | | } |
| | | if strings.Trim(insert[13], " ") == "是" { |
| | | ut.Floating = true |
| | | } else { |
| | | ut.Floating = false |
| | | } |
| | | material.MoreUnitList = append(material.MoreUnitList, ut) |
| | | } |
| | | if len(insert) > 7 && insert[6] != "" { |
| | | material.MoreUnit = &moreUnit |
| | | var ut models.UnitItems |
| | | ut.Unit = insert[6] |
| | | if len(insert) < 14 || insert[13] == "" { |
| | | errMsg = "第" + strconv.Itoa(index+2) + "行,产品编码:" + insert[0] + ",请填写与辅计量单位1相关的单位换算比例1" |
| | | return 0, errors.New(errMsg) |
| | | } |
| | | ut.Amount = decimal.RequireFromString(insert[13]) |
| | | if len(insert) < 15 || insert[14] == "" { |
| | | errMsg = "第" + strconv.Itoa(index+2) + "行,产品编码:" + insert[0] + ",请填写与辅计量单位2相关的单位换算比例2" |
| | | errMsg = "第" + strconv.Itoa(index+2) + "行,产品编码:" + insert[0] + ",请填写与辅计量单位1相关的是否浮动换算1" |
| | | return 0, errors.New(errMsg) |
| | | } |
| | | ut.Amount = decimal.RequireFromString(insert[14]) |
| | | if len(insert) < 16 || insert[15] == "" { |
| | | errMsg = "第" + strconv.Itoa(index+2) + "行,产品编码:" + insert[0] + ",请填写与辅计量单位2相关的是否浮动换算2" |
| | | return 0, errors.New(errMsg) |
| | | } |
| | | if strings.Trim(insert[15], " ") == "是" { |
| | | if strings.Trim(insert[14], " ") == "是" { |
| | | ut.Floating = true |
| | | } else { |
| | | ut.Floating = false |
| | |
| | | material.MoreUnitList = append(material.MoreUnitList, ut) |
| | | } |
| | | if len(insert) > 8 && insert[7] != "" { |
| | | material.Specs = insert[7] //规格 |
| | | material.MoreUnit = &moreUnit |
| | | var ut models.UnitItems |
| | | ut.Unit = insert[7] |
| | | if len(insert) < 16 || insert[15] == "" { |
| | | errMsg = "第" + strconv.Itoa(index+2) + "行,产品编码:" + insert[0] + ",请填写与辅计量单位2相关的单位换算比例2" |
| | | return 0, errors.New(errMsg) |
| | | } |
| | | ut.Amount = decimal.RequireFromString(insert[15]) |
| | | if len(insert) < 17 || insert[16] == "" { |
| | | errMsg = "第" + strconv.Itoa(index+2) + "行,产品编码:" + insert[0] + ",请填写与辅计量单位2相关的是否浮动换算2" |
| | | return 0, errors.New(errMsg) |
| | | } |
| | | if strings.Trim(insert[16], " ") == "是" { |
| | | ut.Floating = true |
| | | } else { |
| | | ut.Floating = false |
| | | } |
| | | material.MoreUnitList = append(material.MoreUnitList, ut) |
| | | } |
| | | if len(insert) > 9 && insert[8] != "" { |
| | | material.Type = insert[8] //型号 |
| | | material.Specs = insert[8] //规格 |
| | | } |
| | | if len(insert) > 10 && insert[9] != "" { |
| | | material.Type = insert[9] //型号 |
| | | } |
| | | |
| | | materialList = append(materialList, material) |