正在显示
6 个修改的文件
包含
221 行增加
和
86 行删除
| @@ -16,6 +16,8 @@ type ListOrderBaseQuery struct { | @@ -16,6 +16,8 @@ type ListOrderBaseQuery struct { | ||
| 16 | DeliveryCode string `json:"deliveryCode"` | 16 | DeliveryCode string `json:"deliveryCode"` |
| 17 | //公司id | 17 | //公司id |
| 18 | CompanyId int64 `json:"companyId"` | 18 | CompanyId int64 `json:"companyId"` |
| 19 | + //用户uid | ||
| 20 | + Uid int64 `json:"uid"` | ||
| 19 | //订单类型 | 21 | //订单类型 |
| 20 | OrderType int `json:"orderType"` | 22 | OrderType int `json:"orderType"` |
| 21 | //合伙人分类 | 23 | //合伙人分类 |
| 1 | +/** | ||
| 2 | + @author: stevechan | ||
| 3 | + @date: 2021/1/27 | ||
| 4 | + @note: | ||
| 5 | +**/ | ||
| 6 | + | ||
| 7 | +package query | ||
| 8 | + | ||
| 9 | +type ListOrderForExcelQuery struct { | ||
| 10 | + Type string `json:"type"` // 操作类型 ORDER_BASE | ||
| 11 | + Where Where `json:"where"` // 导出条件 | ||
| 12 | + IDS []int `json:"ids"` // 勾选id | ||
| 13 | +} | ||
| 14 | + | ||
| 15 | +type Where struct { | ||
| 16 | + PartnerName string `json:"partnerName"` // 合伙人姓名 | ||
| 17 | + OrderCode string `json:"orderCode"` // 订单号 | ||
| 18 | + DeliveryCode string `json:"deliveryCode"` // 发货单号 | ||
| 19 | + PartnerCategory int `json:"partnerCategory"` // 合伙人类型 | ||
| 20 | + PartnerCategoryName string `json:"partnerCategoryName"` // 合伙人类型名称 | ||
| 21 | + UpdateTime []string `json:"updateTime"` // 更新时间 | ||
| 22 | + CreateTime []string `json:"createTime"` // 创建时间 | ||
| 23 | + SaleDate []string `json:"saleDate"` // 销售日期 | ||
| 24 | +} |
| @@ -2,6 +2,8 @@ package service | @@ -2,6 +2,8 @@ package service | ||
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | "fmt" | 4 | "fmt" |
| 5 | + "github.com/linmadan/egglib-go/core/application" | ||
| 6 | + "strconv" | ||
| 5 | 7 | ||
| 6 | "github.com/astaxie/beego/logs" | 8 | "github.com/astaxie/beego/logs" |
| 7 | 9 | ||
| @@ -909,7 +911,7 @@ func (service OrderInfoService) ListOrderForExcel(listOrderQuery query.ListOrder | @@ -909,7 +911,7 @@ func (service OrderInfoService) ListOrderForExcel(listOrderQuery query.ListOrder | ||
| 909 | return nil, nil, lib.ThrowError(lib.TRANSACTION_ERROR, err.Error()) | 911 | return nil, nil, lib.ThrowError(lib.TRANSACTION_ERROR, err.Error()) |
| 910 | } | 912 | } |
| 911 | defer func() { | 913 | defer func() { |
| 912 | - transactionContext.RollbackTransaction() | 914 | + _ = transactionContext.RollbackTransaction() |
| 913 | }() | 915 | }() |
| 914 | 916 | ||
| 915 | var ( | 917 | var ( |
| @@ -930,10 +932,29 @@ func (service OrderInfoService) ListOrderForExcel(listOrderQuery query.ListOrder | @@ -930,10 +932,29 @@ func (service OrderInfoService) ListOrderForExcel(listOrderQuery query.ListOrder | ||
| 930 | [2]string{listOrderQuery.CreateTimeBegin, listOrderQuery.CreateTimeEnd}, | 932 | [2]string{listOrderQuery.CreateTimeBegin, listOrderQuery.CreateTimeEnd}, |
| 931 | [2]string{listOrderQuery.SaleDateBegin, listOrderQuery.SaleDateEnd}, | 933 | [2]string{listOrderQuery.SaleDateBegin, listOrderQuery.SaleDateEnd}, |
| 932 | listOrderQuery.PartnerCategory, | 934 | listOrderQuery.PartnerCategory, |
| 935 | + listOrderQuery.PartnerCategoryName, | ||
| 933 | ) | 936 | ) |
| 934 | if err != nil { | 937 | if err != nil { |
| 935 | return nil, nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | 938 | return nil, nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) |
| 936 | } | 939 | } |
| 940 | + | ||
| 941 | + // 获取栏目设置 | ||
| 942 | + var columnSettingRepository domain.ColumnSettingRepository | ||
| 943 | + if value, errFact := factory.CreateColumnSettingRepository(map[string]interface{}{ | ||
| 944 | + "transactionContext": transactionContext, | ||
| 945 | + }); errFact != nil { | ||
| 946 | + return nil, nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 947 | + } else { | ||
| 948 | + columnSettingRepository = value | ||
| 949 | + } | ||
| 950 | + columnSettingFound, err := columnSettingRepository.FindOne(map[string]interface{}{"uid": listOrderQuery.Uid, "companyId": listOrderQuery.CompanyId}) | ||
| 951 | + if err != nil { | ||
| 952 | + return nil, nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | ||
| 953 | + } | ||
| 954 | + if columnSettingFound == nil { | ||
| 955 | + return nil, nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", strconv.FormatInt(listOrderQuery.Uid, 10))) | ||
| 956 | + } | ||
| 957 | + | ||
| 937 | err = transactionContext.CommitTransaction() | 958 | err = transactionContext.CommitTransaction() |
| 938 | if err != nil { | 959 | if err != nil { |
| 939 | return nil, nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) | 960 | return nil, nil, lib.ThrowError(lib.INTERNAL_SERVER_ERROR, err.Error()) |
| @@ -941,49 +962,72 @@ func (service OrderInfoService) ListOrderForExcel(listOrderQuery query.ListOrder | @@ -941,49 +962,72 @@ func (service OrderInfoService) ListOrderForExcel(listOrderQuery query.ListOrder | ||
| 941 | var resultMaps []map[string]string | 962 | var resultMaps []map[string]string |
| 942 | for i := range ordersData { | 963 | for i := range ordersData { |
| 943 | m := map[string]string{ | 964 | m := map[string]string{ |
| 944 | - "num": fmt.Sprint(i + 1), | ||
| 945 | - "order_code": ordersData[i].OrderCode, | ||
| 946 | - "delivery_code": ordersData[i].DeliveryCode, | ||
| 947 | - "partner_name": ordersData[i].PartnerName, | ||
| 948 | - "update_time": ordersData[i].UpdateTime, | ||
| 949 | - "create_time": ordersData[i].CreateTime, | ||
| 950 | - "plan_order_count": fmt.Sprint(ordersData[i].PlanOrderCount), | ||
| 951 | - "use_order_count": "", | ||
| 952 | - "region_name": fmt.Sprint(ordersData[i].RegionName), | ||
| 953 | - "plan_order_amount": fmt.Sprintf("%10.2f", ordersData[i].PlanOrderAmount), | ||
| 954 | - "use_order_amount": "", | ||
| 955 | - "partner_category": ordersData[i].PartnerCategory, | ||
| 956 | - "buyer_name": ordersData[i].BuyerName, | 965 | + //"num": fmt.Sprint(i + 1), |
| 966 | + //"order_code": ordersData[i].OrderCode, | ||
| 967 | + //"delivery_code": ordersData[i].DeliveryCode, | ||
| 968 | + //"partner_name": ordersData[i].PartnerName, | ||
| 969 | + //"update_time": ordersData[i].UpdateTime, | ||
| 970 | + //"create_time": ordersData[i].CreateTime, | ||
| 971 | + //"sale_date": ordersData[i].SaleDate, | ||
| 972 | + //"plan_order_count": fmt.Sprint(ordersData[i].PlanOrderCount), | ||
| 973 | + //"use_order_count": "", | ||
| 974 | + //"region_name": fmt.Sprint(ordersData[i].RegionName), | ||
| 975 | + //"plan_order_amount": fmt.Sprintf("%10.2f", ordersData[i].PlanOrderAmount), | ||
| 976 | + //"use_order_amount": "", | ||
| 977 | + //"partner_category": ordersData[i].PartnerCategory, | ||
| 978 | + //"buyer_name": ordersData[i].BuyerName, | ||
| 979 | + "index": fmt.Sprint(i + 1), | ||
| 980 | + "orderId": ordersData[i].OrderCode, | ||
| 981 | + "shipmentsId": ordersData[i].DeliveryCode, | ||
| 982 | + "partner": ordersData[i].PartnerName, | ||
| 983 | + "update_time": ordersData[i].UpdateTime, | ||
| 984 | + "create_time": ordersData[i].CreateTime, | ||
| 985 | + "saleDate": ordersData[i].SaleDate, | ||
| 986 | + "orderNum": fmt.Sprint(ordersData[i].PlanOrderCount), | ||
| 987 | + "quantityControl": "", | ||
| 988 | + "orderDist": fmt.Sprint(ordersData[i].RegionName), | ||
| 989 | + "orderPrice": fmt.Sprintf("%10.2f", ordersData[i].PlanOrderAmount), | ||
| 990 | + "priceControl": "", | ||
| 991 | + "partnerCategory": ordersData[i].PartnerCategory, | ||
| 992 | + "buyer": ordersData[i].BuyerName, | ||
| 957 | } | 993 | } |
| 958 | if ordersData[i].UseOrderCount >= 0 { | 994 | if ordersData[i].UseOrderCount >= 0 { |
| 959 | - m["use_order_count"] = fmt.Sprint(ordersData[i].UseOrderCount) | 995 | + m["quantityControl"] = fmt.Sprint(ordersData[i].UseOrderCount) |
| 960 | } | 996 | } |
| 961 | if ordersData[i].UseOrderAmount >= 0 { | 997 | if ordersData[i].UseOrderAmount >= 0 { |
| 962 | - m["use_order_amount"] = fmt.Sprintf("%10.2f", ordersData[i].UseOrderAmount) | 998 | + m["priceControl"] = fmt.Sprintf("%10.2f", ordersData[i].UseOrderAmount) |
| 963 | } | 999 | } |
| 964 | resultMaps = append(resultMaps, m) | 1000 | resultMaps = append(resultMaps, m) |
| 965 | } | 1001 | } |
| 966 | - column := [][2]string{ | ||
| 967 | - [2]string{"num", "序号"}, | ||
| 968 | - [2]string{"order_code", "订单号"}, | ||
| 969 | - [2]string{"delivery_code", "发货单号"}, | ||
| 970 | - [2]string{"create_time", "创建时间"}, | ||
| 971 | - [2]string{"update_time", "更新时间"}, | ||
| 972 | - [2]string{"plan_order_count", "订单数量"}, | ||
| 973 | - [2]string{"use_order_count", "数量调整"}, | ||
| 974 | - [2]string{"plan_order_amount", "订单金额"}, | ||
| 975 | - [2]string{"use_order_amount", "金额调整"}, | ||
| 976 | - [2]string{"region_name", "订单区域"}, | ||
| 977 | - [2]string{"partner_category", "合伙人类型"}, | ||
| 978 | - [2]string{"buyer_name", "客户"}, | ||
| 979 | - [2]string{"partner_name", "合伙人"}, | 1002 | + |
| 1003 | + //column := [][2]string{ | ||
| 1004 | + // [2]string{"num", "序号"}, | ||
| 1005 | + // [2]string{"order_code", "订单号"}, | ||
| 1006 | + // [2]string{"delivery_code", "发货单号"}, | ||
| 1007 | + // [2]string{"create_time", "创建时间"}, | ||
| 1008 | + // [2]string{"update_time", "更新时间"}, | ||
| 1009 | + // [2]string{"sale_date", "销售时间"}, | ||
| 1010 | + // [2]string{"plan_order_count", "订单数量"}, | ||
| 1011 | + // [2]string{"use_order_count", "数量调整"}, | ||
| 1012 | + // [2]string{"plan_order_amount", "订单金额"}, | ||
| 1013 | + // [2]string{"use_order_amount", "金额调整"}, | ||
| 1014 | + // [2]string{"region_name", "订单区域"}, | ||
| 1015 | + // [2]string{"partner_category", "合伙人类型"}, | ||
| 1016 | + // [2]string{"buyer_name", "客户"}, | ||
| 1017 | + // [2]string{"partner_name", "合伙人"}, | ||
| 1018 | + //} | ||
| 1019 | + | ||
| 1020 | + var column [][2]string | ||
| 1021 | + for _, columnValue := range columnSettingFound.Value { | ||
| 1022 | + column = append(column, [2]string{columnValue.Id, columnValue.ParamCn}) | ||
| 980 | } | 1023 | } |
| 1024 | + | ||
| 981 | return resultMaps, column, nil | 1025 | return resultMaps, column, nil |
| 982 | } | 1026 | } |
| 983 | 1027 | ||
| 984 | /** | 1028 | /** |
| 985 | * @Author SteveChan | 1029 | * @Author SteveChan |
| 986 | - * @Description //TODO 批量导入创建订单 | 1030 | + * @Description //TODO 批量导入创建订单,增加销售时间 |
| 987 | * @Date 11:00 2021/1/7 | 1031 | * @Date 11:00 2021/1/7 |
| 988 | * @Param | 1032 | * @Param |
| 989 | * @return | 1033 | * @return |
| @@ -258,6 +258,7 @@ type CustomOrderListForExcel struct { | @@ -258,6 +258,7 @@ type CustomOrderListForExcel struct { | ||
| 258 | DeliveryCode string //发货编号 | 258 | DeliveryCode string //发货编号 |
| 259 | UpdateTime string //更新时间 | 259 | UpdateTime string //更新时间 |
| 260 | CreateTime string //创建时间 | 260 | CreateTime string //创建时间 |
| 261 | + SaleDate string // 销售时间 | ||
| 261 | PlanOrderCount int64 //货品总数 | 262 | PlanOrderCount int64 //货品总数 |
| 262 | UseOrderCount int64 //货品总数调整 | 263 | UseOrderCount int64 //货品总数调整 |
| 263 | RegionName string //订单区域 | 264 | RegionName string //订单区域 |
| @@ -270,7 +271,7 @@ type CustomOrderListForExcel struct { | @@ -270,7 +271,7 @@ type CustomOrderListForExcel struct { | ||
| 270 | 271 | ||
| 271 | /** | 272 | /** |
| 272 | * @Author SteveChan | 273 | * @Author SteveChan |
| 273 | - * @Description //TODO 导出到excel,增加栏目设置 | 274 | + * @Description // 导出到excel |
| 274 | * @Date 23:45 2021/1/26 | 275 | * @Date 23:45 2021/1/26 |
| 275 | * @Param | 276 | * @Param |
| 276 | * @return | 277 | * @return |
| @@ -283,12 +284,13 @@ type CustomOrderListForExcel struct { | @@ -283,12 +284,13 @@ type CustomOrderListForExcel struct { | ||
| 283 | //@param updateTime 订单更新时间范围"[开始时间,结束时间]",时间格式"2006-01-02 15:04:05+07" | 284 | //@param updateTime 订单更新时间范围"[开始时间,结束时间]",时间格式"2006-01-02 15:04:05+07" |
| 284 | //@param createTime 订单的创建时间范围"[开始时间,结束时间]" 时间格式"2006-01-02 15:04:05+07" | 285 | //@param createTime 订单的创建时间范围"[开始时间,结束时间]" 时间格式"2006-01-02 15:04:05+07" |
| 285 | func (dao OrderBaseDao) OrderListForExcel(companyId int64, partnerName string, orderCode string, deliveryCode string, | 286 | func (dao OrderBaseDao) OrderListForExcel(companyId int64, partnerName string, orderCode string, deliveryCode string, |
| 286 | - updateTime [2]string, createTime [2]string, saleDate [2]string, partnerCategory int) ( | 287 | + updateTime [2]string, createTime [2]string, saleDate [2]string, partnerCategory int, partnerCategoryName string) ( |
| 287 | result []CustomOrderListForExcel, err error) { | 288 | result []CustomOrderListForExcel, err error) { |
| 288 | sqlstr := ` | 289 | sqlstr := ` |
| 289 | SELECT t1.order_code,t1.delivery_code | 290 | SELECT t1.order_code,t1.delivery_code |
| 290 | ,to_char(t1.create_time AT TIME ZONE 'CCT' ,'YYYY-MM-DD HH24:MI:SS') AS create_time | 291 | ,to_char(t1.create_time AT TIME ZONE 'CCT' ,'YYYY-MM-DD HH24:MI:SS') AS create_time |
| 291 | ,to_char(t1.update_time AT TIME ZONE 'CCT' ,'YYYY-MM-DD HH24:MI:SS') AS update_time | 292 | ,to_char(t1.update_time AT TIME ZONE 'CCT' ,'YYYY-MM-DD HH24:MI:SS') AS update_time |
| 293 | + ,to_char(t1.sale_date AT TIME ZONE 'CCT' ,'YYYY-MM-DD HH24:MI:SS') AS sale_date | ||
| 292 | ,t1.plan_order_count,t1.use_order_count,t1.plan_order_amount,t1.use_order_amount | 294 | ,t1.plan_order_count,t1.use_order_count,t1.plan_order_amount,t1.use_order_amount |
| 293 | ,t1.region_info->'regionName' AS region_name,t1.buyer->'buyerName' AS buyer_name | 295 | ,t1.region_info->'regionName' AS region_name,t1.buyer->'buyerName' AS buyer_name |
| 294 | ,t1.partner_category->'name' AS partner_category | 296 | ,t1.partner_category->'name' AS partner_category |
| @@ -322,6 +324,10 @@ func (dao OrderBaseDao) OrderListForExcel(companyId int64, partnerName string, o | @@ -322,6 +324,10 @@ func (dao OrderBaseDao) OrderListForExcel(companyId int64, partnerName string, o | ||
| 322 | params = append(params, partnerCategory) | 324 | params = append(params, partnerCategory) |
| 323 | sqlstr += ` AND t1.partner_category@>'{"id":?}' ` | 325 | sqlstr += ` AND t1.partner_category@>'{"id":?}' ` |
| 324 | } | 326 | } |
| 327 | + if len(partnerCategoryName) > 0 { | ||
| 328 | + params = append(params, partnerCategoryName) | ||
| 329 | + sqlstr += ` AND t1.partner_category->> 'name' like ?` | ||
| 330 | + } | ||
| 325 | if len(updateTime[0]) > 0 { | 331 | if len(updateTime[0]) > 0 { |
| 326 | params = append(params, updateTime[0]) | 332 | params = append(params, updateTime[0]) |
| 327 | sqlstr += ` AND t1.update_time>=? ` | 333 | sqlstr += ` AND t1.update_time>=? ` |
| @@ -56,18 +56,33 @@ func (repository OrderBaseRepository) Save(orderInfo *domain.OrderBase) error { | @@ -56,18 +56,33 @@ func (repository OrderBaseRepository) Save(orderInfo *domain.OrderBase) error { | ||
| 56 | tx = repository.transactionContext.PgTx | 56 | tx = repository.transactionContext.PgTx |
| 57 | ) | 57 | ) |
| 58 | m := &models.OrderBase{ | 58 | m := &models.OrderBase{ |
| 59 | - Id: orderInfo.Id, OrderType: orderInfo.OrderType, OrderCode: orderInfo.OrderCode, | ||
| 60 | - DeliveryCode: orderInfo.DeliveryCode, Buyer: orderInfo.Buyer, RegionInfo: orderInfo.RegionInfo, | ||
| 61 | - PartnerId: orderInfo.PartnerId, SalesmanBonusPercent: orderInfo.SalesmanBonusPercent, | ||
| 62 | - SalesmanBonus: orderInfo.OrderCompute.SalesmanBonus, PlanOrderCount: orderInfo.OrderCompute.PlanOrderCount, | ||
| 63 | - PlanOrderAmount: orderInfo.OrderCompute.PlanOrderAmount, UseOrderCount: orderInfo.OrderCompute.UseOrderCount, | ||
| 64 | - UseOrderAmount: orderInfo.OrderCompute.UseOrderAmount, DeliveryTime: orderInfo.DeliveryTime, | ||
| 65 | - PlanPartnerBonus: orderInfo.OrderCompute.PlanPartnerBonus, UsePartnerBonus: orderInfo.OrderCompute.UsePartnerBonus, | ||
| 66 | - PartnerBonusHas: orderInfo.OrderCompute.PartnerBonusHas, PartnerBonusNot: orderInfo.OrderCompute.PartnerBonusNot, | ||
| 67 | - PartnerBonusExpense: orderInfo.OrderCompute.PartnerBonusExpense, IsDisable: orderInfo.IsDisable, | ||
| 68 | - CreateTime: orderInfo.CreateTime, BonusStatus: orderInfo.BonusStatus, | ||
| 69 | - CompanyId: orderInfo.CompanyId, DataFrom: orderInfo.DataFrom, | ||
| 70 | - Remark: orderInfo.Remark, PartnerCategory: orderInfo.PartnerCategory, | 59 | + Id: orderInfo.Id, |
| 60 | + OrderType: orderInfo.OrderType, | ||
| 61 | + OrderCode: orderInfo.OrderCode, | ||
| 62 | + DeliveryCode: orderInfo.DeliveryCode, | ||
| 63 | + Buyer: orderInfo.Buyer, | ||
| 64 | + RegionInfo: orderInfo.RegionInfo, | ||
| 65 | + PartnerId: orderInfo.PartnerId, | ||
| 66 | + SalesmanBonusPercent: orderInfo.SalesmanBonusPercent, | ||
| 67 | + SalesmanBonus: orderInfo.OrderCompute.SalesmanBonus, | ||
| 68 | + PlanOrderCount: orderInfo.OrderCompute.PlanOrderCount, | ||
| 69 | + PlanOrderAmount: orderInfo.OrderCompute.PlanOrderAmount, | ||
| 70 | + UseOrderCount: orderInfo.OrderCompute.UseOrderCount, | ||
| 71 | + UseOrderAmount: orderInfo.OrderCompute.UseOrderAmount, | ||
| 72 | + DeliveryTime: orderInfo.DeliveryTime, | ||
| 73 | + PlanPartnerBonus: orderInfo.OrderCompute.PlanPartnerBonus, | ||
| 74 | + UsePartnerBonus: orderInfo.OrderCompute.UsePartnerBonus, | ||
| 75 | + PartnerBonusHas: orderInfo.OrderCompute.PartnerBonusHas, | ||
| 76 | + PartnerBonusNot: orderInfo.OrderCompute.PartnerBonusNot, | ||
| 77 | + PartnerBonusExpense: orderInfo.OrderCompute.PartnerBonusExpense, | ||
| 78 | + IsDisable: orderInfo.IsDisable, | ||
| 79 | + CreateTime: orderInfo.CreateTime, | ||
| 80 | + SaleDate: orderInfo.SaleDate, | ||
| 81 | + BonusStatus: orderInfo.BonusStatus, | ||
| 82 | + CompanyId: orderInfo.CompanyId, | ||
| 83 | + DataFrom: orderInfo.DataFrom, | ||
| 84 | + Remark: orderInfo.Remark, | ||
| 85 | + PartnerCategory: orderInfo.PartnerCategory, | ||
| 71 | } | 86 | } |
| 72 | if m.OrderType > 2 { // TODO 非平台自建订单,默认销售日期取订单创建日期 | 87 | if m.OrderType > 2 { // TODO 非平台自建订单,默认销售日期取订单创建日期 |
| 73 | m.SaleDate = orderInfo.CreateTime | 88 | m.SaleDate = orderInfo.CreateTime |
| @@ -382,6 +382,7 @@ type postRealOrderDetail struct { | @@ -382,6 +382,7 @@ type postRealOrderDetail struct { | ||
| 382 | postPurposeOrderDetail | 382 | postPurposeOrderDetail |
| 383 | PartnerCategoryId int64 `json:"partnerCategoryId"` | 383 | PartnerCategoryId int64 `json:"partnerCategoryId"` |
| 384 | ShipmentsId string `json:"shipmentsId"` //发货单号 | 384 | ShipmentsId string `json:"shipmentsId"` //发货单号 |
| 385 | + SaleDate string `json:"saleDate"` // 销售日期 | ||
| 385 | } | 386 | } |
| 386 | 387 | ||
| 387 | func (postData *postRealOrderDetail) Valid() error { | 388 | func (postData *postRealOrderDetail) Valid() error { |
| @@ -412,10 +413,16 @@ func (c *OrderInfoController) UpdateOrderReal() { | @@ -412,10 +413,16 @@ func (c *OrderInfoController) UpdateOrderReal() { | ||
| 412 | return | 413 | return |
| 413 | } | 414 | } |
| 414 | var orderDataReturn *domain.OrderBase | 415 | var orderDataReturn *domain.OrderBase |
| 416 | + saleDate, err := time.ParseInLocation("2006-01-02", param.SaleDate, time.Local) | ||
| 417 | + if err != nil { | ||
| 418 | + e := lib.ThrowError(lib.ARG_ERROR, err.Error()) | ||
| 419 | + c.ResponseError(e) | ||
| 420 | + return | ||
| 421 | + } | ||
| 415 | if param.Id == 0 { | 422 | if param.Id == 0 { |
| 416 | - orderDataReturn, err = c.addOrderReal(param) | 423 | + orderDataReturn, err = c.addOrderReal(param, saleDate) |
| 417 | } else { | 424 | } else { |
| 418 | - err = c.editOrderReal(param) | 425 | + err = c.editOrderReal(param, saleDate) |
| 419 | } | 426 | } |
| 420 | if err != nil { | 427 | if err != nil { |
| 421 | c.ResponseError(err) | 428 | c.ResponseError(err) |
| @@ -431,7 +438,7 @@ func (c *OrderInfoController) UpdateOrderReal() { | @@ -431,7 +438,7 @@ func (c *OrderInfoController) UpdateOrderReal() { | ||
| 431 | return | 438 | return |
| 432 | } | 439 | } |
| 433 | 440 | ||
| 434 | -func (c *OrderInfoController) addOrderReal(param postRealOrderDetail) (*domain.OrderBase, error) { | 441 | +func (c *OrderInfoController) addOrderReal(param postRealOrderDetail, saleDate time.Time) (*domain.OrderBase, error) { |
| 435 | orderSrv := orderService.NewOrderInfoService(nil) | 442 | orderSrv := orderService.NewOrderInfoService(nil) |
| 436 | newGoods := []orderCmd.OrderGoodData{} | 443 | newGoods := []orderCmd.OrderGoodData{} |
| 437 | for _, v := range param.Product { | 444 | for _, v := range param.Product { |
| @@ -455,12 +462,13 @@ func (c *OrderInfoController) addOrderReal(param postRealOrderDetail) (*domain.O | @@ -455,12 +462,13 @@ func (c *OrderInfoController) addOrderReal(param postRealOrderDetail) (*domain.O | ||
| 455 | Goods: newGoods, | 462 | Goods: newGoods, |
| 456 | CompanyId: companyId, | 463 | CompanyId: companyId, |
| 457 | PartnerCategory: param.PartnerCategoryId, | 464 | PartnerCategory: param.PartnerCategoryId, |
| 465 | + SaleDate: saleDate, | ||
| 458 | } | 466 | } |
| 459 | orderData, err := orderSrv.CreateNewOrder(createcmd) | 467 | orderData, err := orderSrv.CreateNewOrder(createcmd) |
| 460 | return orderData, err | 468 | return orderData, err |
| 461 | } | 469 | } |
| 462 | 470 | ||
| 463 | -func (c *OrderInfoController) editOrderReal(param postRealOrderDetail) error { | 471 | +func (c *OrderInfoController) editOrderReal(param postRealOrderDetail, saleDate time.Time) error { |
| 464 | 472 | ||
| 465 | newGoods := []orderCmd.OrderGoodData{} | 473 | newGoods := []orderCmd.OrderGoodData{} |
| 466 | for _, v := range param.Product { | 474 | for _, v := range param.Product { |
| @@ -485,6 +493,7 @@ func (c *OrderInfoController) editOrderReal(param postRealOrderDetail) error { | @@ -485,6 +493,7 @@ func (c *OrderInfoController) editOrderReal(param postRealOrderDetail) error { | ||
| 485 | Goods: newGoods, | 493 | Goods: newGoods, |
| 486 | CompanyId: companyId, | 494 | CompanyId: companyId, |
| 487 | PartnerCategory: param.PartnerCategoryId, | 495 | PartnerCategory: param.PartnerCategoryId, |
| 496 | + SaleDate: saleDate, | ||
| 488 | } | 497 | } |
| 489 | orderSrv := orderService.NewOrderInfoService(nil) | 498 | orderSrv := orderService.NewOrderInfoService(nil) |
| 490 | _, err := orderSrv.UpdateOrderData(updatecmd) | 499 | _, err := orderSrv.UpdateOrderData(updatecmd) |
| @@ -559,17 +568,20 @@ func (c *OrderInfoController) RemoveOrderReal() { | @@ -559,17 +568,20 @@ func (c *OrderInfoController) RemoveOrderReal() { | ||
| 559 | 568 | ||
| 560 | //ListOrderForExcel excel 导出实际订单的列表 | 569 | //ListOrderForExcel excel 导出实际订单的列表 |
| 561 | func (c *OrderInfoController) ListOrderForExcel() { | 570 | func (c *OrderInfoController) ListOrderForExcel() { |
| 562 | - type Parameter struct { | ||
| 563 | - //SearchText string `json:"searchText"` | ||
| 564 | - PartnerName string `json:"partnerName"` // 合伙人姓名 | ||
| 565 | - OrderCode string `json:"orderCode"` // 订单号 | ||
| 566 | - DeliveryCode string `json:"deliveryCode"` // 发货单号 | ||
| 567 | - PartnerCategory int `json:"PartnerCategory"` | ||
| 568 | - UpdateTime []string `json:"updateTime"` | ||
| 569 | - CreateTime []string `json:"createTime"` | ||
| 570 | - } | 571 | + //type Parameter struct { |
| 572 | + // PartnerName string `json:"partnerName"` // 合伙人姓名 | ||
| 573 | + // OrderCode string `json:"orderCode"` // 订单号 | ||
| 574 | + // DeliveryCode string `json:"deliveryCode"` // 发货单号 | ||
| 575 | + // PartnerCategory int `json:"partnerCategory"` // 合伙人类型 | ||
| 576 | + // PartnerCategoryName string `json:"partnerCategoryName"` // 合伙人类型名称 | ||
| 577 | + // UpdateTime []string `json:"updateTime"` // 更新时间 | ||
| 578 | + // CreateTime []string `json:"createTime"` // 创建时间 | ||
| 579 | + // SaleDate []string `json:"saleDate"` // 销售日期 | ||
| 580 | + //} | ||
| 581 | + | ||
| 571 | var ( | 582 | var ( |
| 572 | - param Parameter | 583 | + //param Parameter |
| 584 | + param orderQuery.ListOrderForExcelQuery | ||
| 573 | err error | 585 | err error |
| 574 | ) | 586 | ) |
| 575 | if err = c.BindJsonData(¶m); err != nil { | 587 | if err = c.BindJsonData(¶m); err != nil { |
| @@ -577,13 +589,14 @@ func (c *OrderInfoController) ListOrderForExcel() { | @@ -577,13 +589,14 @@ func (c *OrderInfoController) ListOrderForExcel() { | ||
| 577 | c.ResponseError(errors.New("json数据解析失败")) | 589 | c.ResponseError(errors.New("json数据解析失败")) |
| 578 | return | 590 | return |
| 579 | } | 591 | } |
| 592 | + // 订单更新时间 | ||
| 580 | var ( | 593 | var ( |
| 581 | updateTimeBegin string | 594 | updateTimeBegin string |
| 582 | updateTimeEnd string | 595 | updateTimeEnd string |
| 583 | ) | 596 | ) |
| 584 | - if len(param.UpdateTime) > 0 { | ||
| 585 | - if len(param.UpdateTime[0]) > 0 { | ||
| 586 | - t, err := time.ParseInLocation("2006-01-02", param.UpdateTime[0], time.Local) | 597 | + if len(param.Where.UpdateTime) > 0 { |
| 598 | + if len(param.Where.UpdateTime[0]) > 0 { | ||
| 599 | + t, err := time.ParseInLocation("2006-01-02", param.Where.UpdateTime[0], time.Local) | ||
| 587 | if err != nil { | 600 | if err != nil { |
| 588 | c.ResponseError(errors.New("UpdateTimeBegin 时间格式错误")) | 601 | c.ResponseError(errors.New("UpdateTimeBegin 时间格式错误")) |
| 589 | return | 602 | return |
| @@ -591,9 +604,9 @@ func (c *OrderInfoController) ListOrderForExcel() { | @@ -591,9 +604,9 @@ func (c *OrderInfoController) ListOrderForExcel() { | ||
| 591 | updateTimeBegin = t.Format("2006-01-02 15:04:05-07") | 604 | updateTimeBegin = t.Format("2006-01-02 15:04:05-07") |
| 592 | } | 605 | } |
| 593 | } | 606 | } |
| 594 | - if len(param.UpdateTime) > 1 { | ||
| 595 | - if len(param.UpdateTime[1]) > 0 { | ||
| 596 | - t, err := time.ParseInLocation("2006-01-02", param.UpdateTime[1], time.Local) | 607 | + if len(param.Where.UpdateTime) > 1 { |
| 608 | + if len(param.Where.UpdateTime[1]) > 0 { | ||
| 609 | + t, err := time.ParseInLocation("2006-01-02", param.Where.UpdateTime[1], time.Local) | ||
| 597 | if err != nil { | 610 | if err != nil { |
| 598 | c.ResponseError(errors.New("UpdateTimeEnd 时间格式错误")) | 611 | c.ResponseError(errors.New("UpdateTimeEnd 时间格式错误")) |
| 599 | return | 612 | return |
| @@ -603,13 +616,14 @@ func (c *OrderInfoController) ListOrderForExcel() { | @@ -603,13 +616,14 @@ func (c *OrderInfoController) ListOrderForExcel() { | ||
| 603 | updateTimeEnd = t.Format("2006-01-02 15:04:05-07") | 616 | updateTimeEnd = t.Format("2006-01-02 15:04:05-07") |
| 604 | } | 617 | } |
| 605 | } | 618 | } |
| 619 | + // 订单创建时间 | ||
| 606 | var ( | 620 | var ( |
| 607 | createTimeBegin string | 621 | createTimeBegin string |
| 608 | createTimeEnd string | 622 | createTimeEnd string |
| 609 | ) | 623 | ) |
| 610 | - if len(param.CreateTime) > 0 { | ||
| 611 | - if len(param.CreateTime[0]) > 0 { | ||
| 612 | - t, err := time.ParseInLocation("2006-01-02", param.CreateTime[0], time.Local) | 624 | + if len(param.Where.CreateTime) > 0 { |
| 625 | + if len(param.Where.CreateTime[0]) > 0 { | ||
| 626 | + t, err := time.ParseInLocation("2006-01-02", param.Where.CreateTime[0], time.Local) | ||
| 613 | if err != nil { | 627 | if err != nil { |
| 614 | c.ResponseError(errors.New("UpdateTimeBegin 时间格式错误")) | 628 | c.ResponseError(errors.New("UpdateTimeBegin 时间格式错误")) |
| 615 | return | 629 | return |
| @@ -617,9 +631,9 @@ func (c *OrderInfoController) ListOrderForExcel() { | @@ -617,9 +631,9 @@ func (c *OrderInfoController) ListOrderForExcel() { | ||
| 617 | createTimeBegin = t.Format("2006-01-02 15:04:05-07") | 631 | createTimeBegin = t.Format("2006-01-02 15:04:05-07") |
| 618 | } | 632 | } |
| 619 | } | 633 | } |
| 620 | - if len(param.CreateTime) > 1 { | ||
| 621 | - if len(param.CreateTime[1]) > 0 { | ||
| 622 | - t, err := time.ParseInLocation("2006-01-02", param.CreateTime[1], time.Local) | 634 | + if len(param.Where.CreateTime) > 1 { |
| 635 | + if len(param.Where.CreateTime[1]) > 0 { | ||
| 636 | + t, err := time.ParseInLocation("2006-01-02", param.Where.CreateTime[1], time.Local) | ||
| 623 | if err != nil { | 637 | if err != nil { |
| 624 | c.ResponseError(errors.New("UpdateTimeEnd 时间格式错误")) | 638 | c.ResponseError(errors.New("UpdateTimeEnd 时间格式错误")) |
| 625 | return | 639 | return |
| @@ -629,21 +643,51 @@ func (c *OrderInfoController) ListOrderForExcel() { | @@ -629,21 +643,51 @@ func (c *OrderInfoController) ListOrderForExcel() { | ||
| 629 | createTimeEnd = t.Format("2006-01-02 15:04:05-07") | 643 | createTimeEnd = t.Format("2006-01-02 15:04:05-07") |
| 630 | } | 644 | } |
| 631 | } | 645 | } |
| 632 | - | 646 | + // 订单销售时间处理 |
| 647 | + var ( | ||
| 648 | + saleDateBegin string | ||
| 649 | + saleDateEnd string | ||
| 650 | + ) | ||
| 651 | + if len(param.Where.SaleDate) > 0 { | ||
| 652 | + if len(param.Where.SaleDate[0]) > 0 { | ||
| 653 | + t, err := time.ParseInLocation("2006-01-02", param.Where.SaleDate[0], time.Local) | ||
| 654 | + if err != nil { | ||
| 655 | + c.ResponseError(errors.New("销售开始时间格式错误")) | ||
| 656 | + return | ||
| 657 | + } | ||
| 658 | + saleDateBegin = t.Format("2006-01-02 15:04:05-07") | ||
| 659 | + } | ||
| 660 | + } | ||
| 661 | + if len(param.Where.SaleDate) > 1 { | ||
| 662 | + if len(param.Where.SaleDate[1]) > 0 { | ||
| 663 | + t, err := time.ParseInLocation("2006-01-02", param.Where.SaleDate[1], time.Local) | ||
| 664 | + if err != nil { | ||
| 665 | + c.ResponseError(errors.New("销售结束时间格式错误")) | ||
| 666 | + return | ||
| 667 | + } | ||
| 668 | + //设定时间边界 | ||
| 669 | + t = t.Add(86399 * time.Second) | ||
| 670 | + saleDateEnd = t.Format("2006-01-02 15:04:05-07") | ||
| 671 | + } | ||
| 672 | + } | ||
| 633 | companyId := c.GetUserCompany() | 673 | companyId := c.GetUserCompany() |
| 674 | + uid := c.GetUserId() | ||
| 634 | orderSrv := orderService.NewOrderInfoService(nil) | 675 | orderSrv := orderService.NewOrderInfoService(nil) |
| 635 | - orderinfos, columns, err := orderSrv.ListOrderForExcel(orderQuery.ListOrderBaseQuery{ | ||
| 636 | - //PartnerOrCode: param.SearchText, | ||
| 637 | - PartnerName: param.PartnerName, | ||
| 638 | - OrderCode: param.OrderCode, | ||
| 639 | - DeliveryCode: param.DeliveryCode, | ||
| 640 | - OrderType: domain.OrderReal, | ||
| 641 | - CompanyId: companyId, | ||
| 642 | - PartnerCategory: param.PartnerCategory, | ||
| 643 | - UpdateTimeBegin: updateTimeBegin, | ||
| 644 | - UpdateTimeEnd: updateTimeEnd, | ||
| 645 | - CreateTimeBegin: createTimeBegin, | ||
| 646 | - CreateTimeEnd: createTimeEnd, | 676 | + orderInfos, columns, err := orderSrv.ListOrderForExcel(orderQuery.ListOrderBaseQuery{ |
| 677 | + PartnerName: param.Where.PartnerName, | ||
| 678 | + OrderCode: param.Where.OrderCode, | ||
| 679 | + DeliveryCode: param.Where.DeliveryCode, | ||
| 680 | + OrderType: domain.OrderReal, | ||
| 681 | + CompanyId: companyId, | ||
| 682 | + Uid: uid, | ||
| 683 | + PartnerCategory: param.Where.PartnerCategory, | ||
| 684 | + PartnerCategoryName: param.Where.PartnerCategoryName, | ||
| 685 | + UpdateTimeBegin: updateTimeBegin, | ||
| 686 | + UpdateTimeEnd: updateTimeEnd, | ||
| 687 | + CreateTimeBegin: createTimeBegin, | ||
| 688 | + CreateTimeEnd: createTimeEnd, | ||
| 689 | + SaleDateBegin: saleDateBegin, | ||
| 690 | + SaleDateEnd: saleDateEnd, | ||
| 647 | }) | 691 | }) |
| 648 | if err != nil { | 692 | if err != nil { |
| 649 | c.ResponseError(err) | 693 | c.ResponseError(err) |
| @@ -659,8 +703,8 @@ func (c *OrderInfoController) ListOrderForExcel() { | @@ -659,8 +703,8 @@ func (c *OrderInfoController) ListOrderForExcel() { | ||
| 659 | } | 703 | } |
| 660 | excelMaker := exceltool.NewExcelMaker() | 704 | excelMaker := exceltool.NewExcelMaker() |
| 661 | excelMaker.SetListHead(excelHeaders) | 705 | excelMaker.SetListHead(excelHeaders) |
| 662 | - excelMaker.MakeListExcel(orderinfos) | ||
| 663 | - c.ResponseExcelByFile(c.Ctx, excelMaker) | 706 | + _ = excelMaker.MakeListExcel(orderInfos) |
| 707 | + _ = c.ResponseExcelByFile(c.Ctx, excelMaker) | ||
| 664 | return | 708 | return |
| 665 | } | 709 | } |
| 666 | 710 |
-
请 注册 或 登录 后发表评论