作者 陈志颖

feat:修改导出功能,增加搜索和栏目设置

@@ -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, 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,
948 "update_time": ordersData[i].UpdateTime, 983 "update_time": ordersData[i].UpdateTime,
949 "create_time": ordersData[i].CreateTime, 984 "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, 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(&param); err != nil { 587 if err = c.BindJsonData(&param); 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, 676 + orderInfos, columns, err := orderSrv.ListOrderForExcel(orderQuery.ListOrderBaseQuery{
  677 + PartnerName: param.Where.PartnerName,
  678 + OrderCode: param.Where.OrderCode,
  679 + DeliveryCode: param.Where.DeliveryCode,
640 OrderType: domain.OrderReal, 680 OrderType: domain.OrderReal,
641 CompanyId: companyId, 681 CompanyId: companyId,
642 - PartnerCategory: param.PartnerCategory, 682 + Uid: uid,
  683 + PartnerCategory: param.Where.PartnerCategory,
  684 + PartnerCategoryName: param.Where.PartnerCategoryName,
643 UpdateTimeBegin: updateTimeBegin, 685 UpdateTimeBegin: updateTimeBegin,
644 UpdateTimeEnd: updateTimeEnd, 686 UpdateTimeEnd: updateTimeEnd,
645 CreateTimeBegin: createTimeBegin, 687 CreateTimeBegin: createTimeBegin,
646 CreateTimeEnd: createTimeEnd, 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