|
...
|
...
|
@@ -382,6 +382,7 @@ type postRealOrderDetail struct { |
|
|
|
postPurposeOrderDetail
|
|
|
|
PartnerCategoryId int64 `json:"partnerCategoryId"`
|
|
|
|
ShipmentsId string `json:"shipmentsId"` //发货单号
|
|
|
|
SaleDate string `json:"saleDate"` // 销售日期
|
|
|
|
}
|
|
|
|
|
|
|
|
func (postData *postRealOrderDetail) Valid() error {
|
|
...
|
...
|
@@ -412,10 +413,16 @@ func (c *OrderInfoController) UpdateOrderReal() { |
|
|
|
return
|
|
|
|
}
|
|
|
|
var orderDataReturn *domain.OrderBase
|
|
|
|
saleDate, err := time.ParseInLocation("2006-01-02", param.SaleDate, time.Local)
|
|
|
|
if err != nil {
|
|
|
|
e := lib.ThrowError(lib.ARG_ERROR, err.Error())
|
|
|
|
c.ResponseError(e)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
if param.Id == 0 {
|
|
|
|
orderDataReturn, err = c.addOrderReal(param)
|
|
|
|
orderDataReturn, err = c.addOrderReal(param, saleDate)
|
|
|
|
} else {
|
|
|
|
err = c.editOrderReal(param)
|
|
|
|
err = c.editOrderReal(param, saleDate)
|
|
|
|
}
|
|
|
|
if err != nil {
|
|
|
|
c.ResponseError(err)
|
|
...
|
...
|
@@ -431,7 +438,7 @@ func (c *OrderInfoController) UpdateOrderReal() { |
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *OrderInfoController) addOrderReal(param postRealOrderDetail) (*domain.OrderBase, error) {
|
|
|
|
func (c *OrderInfoController) addOrderReal(param postRealOrderDetail, saleDate time.Time) (*domain.OrderBase, error) {
|
|
|
|
orderSrv := orderService.NewOrderInfoService(nil)
|
|
|
|
newGoods := []orderCmd.OrderGoodData{}
|
|
|
|
for _, v := range param.Product {
|
|
...
|
...
|
@@ -455,12 +462,13 @@ func (c *OrderInfoController) addOrderReal(param postRealOrderDetail) (*domain.O |
|
|
|
Goods: newGoods,
|
|
|
|
CompanyId: companyId,
|
|
|
|
PartnerCategory: param.PartnerCategoryId,
|
|
|
|
SaleDate: saleDate,
|
|
|
|
}
|
|
|
|
orderData, err := orderSrv.CreateNewOrder(createcmd)
|
|
|
|
return orderData, err
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *OrderInfoController) editOrderReal(param postRealOrderDetail) error {
|
|
|
|
func (c *OrderInfoController) editOrderReal(param postRealOrderDetail, saleDate time.Time) error {
|
|
|
|
|
|
|
|
newGoods := []orderCmd.OrderGoodData{}
|
|
|
|
for _, v := range param.Product {
|
|
...
|
...
|
@@ -485,6 +493,7 @@ func (c *OrderInfoController) editOrderReal(param postRealOrderDetail) error { |
|
|
|
Goods: newGoods,
|
|
|
|
CompanyId: companyId,
|
|
|
|
PartnerCategory: param.PartnerCategoryId,
|
|
|
|
SaleDate: saleDate,
|
|
|
|
}
|
|
|
|
orderSrv := orderService.NewOrderInfoService(nil)
|
|
|
|
_, err := orderSrv.UpdateOrderData(updatecmd)
|
|
...
|
...
|
@@ -559,17 +568,20 @@ func (c *OrderInfoController) RemoveOrderReal() { |
|
|
|
|
|
|
|
//ListOrderForExcel excel 导出实际订单的列表
|
|
|
|
func (c *OrderInfoController) ListOrderForExcel() {
|
|
|
|
type Parameter struct {
|
|
|
|
//SearchText string `json:"searchText"`
|
|
|
|
PartnerName string `json:"partnerName"` // 合伙人姓名
|
|
|
|
OrderCode string `json:"orderCode"` // 订单号
|
|
|
|
DeliveryCode string `json:"deliveryCode"` // 发货单号
|
|
|
|
PartnerCategory int `json:"PartnerCategory"`
|
|
|
|
UpdateTime []string `json:"updateTime"`
|
|
|
|
CreateTime []string `json:"createTime"`
|
|
|
|
}
|
|
|
|
//type Parameter struct {
|
|
|
|
// PartnerName string `json:"partnerName"` // 合伙人姓名
|
|
|
|
// OrderCode string `json:"orderCode"` // 订单号
|
|
|
|
// DeliveryCode string `json:"deliveryCode"` // 发货单号
|
|
|
|
// PartnerCategory int `json:"partnerCategory"` // 合伙人类型
|
|
|
|
// PartnerCategoryName string `json:"partnerCategoryName"` // 合伙人类型名称
|
|
|
|
// UpdateTime []string `json:"updateTime"` // 更新时间
|
|
|
|
// CreateTime []string `json:"createTime"` // 创建时间
|
|
|
|
// SaleDate []string `json:"saleDate"` // 销售日期
|
|
|
|
//}
|
|
|
|
|
|
|
|
var (
|
|
|
|
param Parameter
|
|
|
|
//param Parameter
|
|
|
|
param orderQuery.ListOrderForExcelQuery
|
|
|
|
err error
|
|
|
|
)
|
|
|
|
if err = c.BindJsonData(¶m); err != nil {
|
|
...
|
...
|
@@ -577,13 +589,14 @@ func (c *OrderInfoController) ListOrderForExcel() { |
|
|
|
c.ResponseError(errors.New("json数据解析失败"))
|
|
|
|
return
|
|
|
|
}
|
|
|
|
// 订单更新时间
|
|
|
|
var (
|
|
|
|
updateTimeBegin string
|
|
|
|
updateTimeEnd string
|
|
|
|
)
|
|
|
|
if len(param.UpdateTime) > 0 {
|
|
|
|
if len(param.UpdateTime[0]) > 0 {
|
|
|
|
t, err := time.ParseInLocation("2006-01-02", param.UpdateTime[0], time.Local)
|
|
|
|
if len(param.Where.UpdateTime) > 0 {
|
|
|
|
if len(param.Where.UpdateTime[0]) > 0 {
|
|
|
|
t, err := time.ParseInLocation("2006-01-02", param.Where.UpdateTime[0], time.Local)
|
|
|
|
if err != nil {
|
|
|
|
c.ResponseError(errors.New("UpdateTimeBegin 时间格式错误"))
|
|
|
|
return
|
|
...
|
...
|
@@ -591,9 +604,9 @@ func (c *OrderInfoController) ListOrderForExcel() { |
|
|
|
updateTimeBegin = t.Format("2006-01-02 15:04:05-07")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if len(param.UpdateTime) > 1 {
|
|
|
|
if len(param.UpdateTime[1]) > 0 {
|
|
|
|
t, err := time.ParseInLocation("2006-01-02", param.UpdateTime[1], time.Local)
|
|
|
|
if len(param.Where.UpdateTime) > 1 {
|
|
|
|
if len(param.Where.UpdateTime[1]) > 0 {
|
|
|
|
t, err := time.ParseInLocation("2006-01-02", param.Where.UpdateTime[1], time.Local)
|
|
|
|
if err != nil {
|
|
|
|
c.ResponseError(errors.New("UpdateTimeEnd 时间格式错误"))
|
|
|
|
return
|
|
...
|
...
|
@@ -603,13 +616,14 @@ func (c *OrderInfoController) ListOrderForExcel() { |
|
|
|
updateTimeEnd = t.Format("2006-01-02 15:04:05-07")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// 订单创建时间
|
|
|
|
var (
|
|
|
|
createTimeBegin string
|
|
|
|
createTimeEnd string
|
|
|
|
)
|
|
|
|
if len(param.CreateTime) > 0 {
|
|
|
|
if len(param.CreateTime[0]) > 0 {
|
|
|
|
t, err := time.ParseInLocation("2006-01-02", param.CreateTime[0], time.Local)
|
|
|
|
if len(param.Where.CreateTime) > 0 {
|
|
|
|
if len(param.Where.CreateTime[0]) > 0 {
|
|
|
|
t, err := time.ParseInLocation("2006-01-02", param.Where.CreateTime[0], time.Local)
|
|
|
|
if err != nil {
|
|
|
|
c.ResponseError(errors.New("UpdateTimeBegin 时间格式错误"))
|
|
|
|
return
|
|
...
|
...
|
@@ -617,9 +631,9 @@ func (c *OrderInfoController) ListOrderForExcel() { |
|
|
|
createTimeBegin = t.Format("2006-01-02 15:04:05-07")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if len(param.CreateTime) > 1 {
|
|
|
|
if len(param.CreateTime[1]) > 0 {
|
|
|
|
t, err := time.ParseInLocation("2006-01-02", param.CreateTime[1], time.Local)
|
|
|
|
if len(param.Where.CreateTime) > 1 {
|
|
|
|
if len(param.Where.CreateTime[1]) > 0 {
|
|
|
|
t, err := time.ParseInLocation("2006-01-02", param.Where.CreateTime[1], time.Local)
|
|
|
|
if err != nil {
|
|
|
|
c.ResponseError(errors.New("UpdateTimeEnd 时间格式错误"))
|
|
|
|
return
|
|
...
|
...
|
@@ -629,21 +643,51 @@ func (c *OrderInfoController) ListOrderForExcel() { |
|
|
|
createTimeEnd = t.Format("2006-01-02 15:04:05-07")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// 订单销售时间处理
|
|
|
|
var (
|
|
|
|
saleDateBegin string
|
|
|
|
saleDateEnd string
|
|
|
|
)
|
|
|
|
if len(param.Where.SaleDate) > 0 {
|
|
|
|
if len(param.Where.SaleDate[0]) > 0 {
|
|
|
|
t, err := time.ParseInLocation("2006-01-02", param.Where.SaleDate[0], time.Local)
|
|
|
|
if err != nil {
|
|
|
|
c.ResponseError(errors.New("销售开始时间格式错误"))
|
|
|
|
return
|
|
|
|
}
|
|
|
|
saleDateBegin = t.Format("2006-01-02 15:04:05-07")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if len(param.Where.SaleDate) > 1 {
|
|
|
|
if len(param.Where.SaleDate[1]) > 0 {
|
|
|
|
t, err := time.ParseInLocation("2006-01-02", param.Where.SaleDate[1], time.Local)
|
|
|
|
if err != nil {
|
|
|
|
c.ResponseError(errors.New("销售结束时间格式错误"))
|
|
|
|
return
|
|
|
|
}
|
|
|
|
//设定时间边界
|
|
|
|
t = t.Add(86399 * time.Second)
|
|
|
|
saleDateEnd = t.Format("2006-01-02 15:04:05-07")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
companyId := c.GetUserCompany()
|
|
|
|
uid := c.GetUserId()
|
|
|
|
orderSrv := orderService.NewOrderInfoService(nil)
|
|
|
|
orderinfos, columns, err := orderSrv.ListOrderForExcel(orderQuery.ListOrderBaseQuery{
|
|
|
|
//PartnerOrCode: param.SearchText,
|
|
|
|
PartnerName: param.PartnerName,
|
|
|
|
OrderCode: param.OrderCode,
|
|
|
|
DeliveryCode: param.DeliveryCode,
|
|
|
|
OrderType: domain.OrderReal,
|
|
|
|
CompanyId: companyId,
|
|
|
|
PartnerCategory: param.PartnerCategory,
|
|
|
|
UpdateTimeBegin: updateTimeBegin,
|
|
|
|
UpdateTimeEnd: updateTimeEnd,
|
|
|
|
CreateTimeBegin: createTimeBegin,
|
|
|
|
CreateTimeEnd: createTimeEnd,
|
|
|
|
orderInfos, columns, err := orderSrv.ListOrderForExcel(orderQuery.ListOrderBaseQuery{
|
|
|
|
PartnerName: param.Where.PartnerName,
|
|
|
|
OrderCode: param.Where.OrderCode,
|
|
|
|
DeliveryCode: param.Where.DeliveryCode,
|
|
|
|
OrderType: domain.OrderReal,
|
|
|
|
CompanyId: companyId,
|
|
|
|
Uid: uid,
|
|
|
|
PartnerCategory: param.Where.PartnerCategory,
|
|
|
|
PartnerCategoryName: param.Where.PartnerCategoryName,
|
|
|
|
UpdateTimeBegin: updateTimeBegin,
|
|
|
|
UpdateTimeEnd: updateTimeEnd,
|
|
|
|
CreateTimeBegin: createTimeBegin,
|
|
|
|
CreateTimeEnd: createTimeEnd,
|
|
|
|
SaleDateBegin: saleDateBegin,
|
|
|
|
SaleDateEnd: saleDateEnd,
|
|
|
|
})
|
|
|
|
if err != nil {
|
|
|
|
c.ResponseError(err)
|
|
...
|
...
|
@@ -659,8 +703,8 @@ func (c *OrderInfoController) ListOrderForExcel() { |
|
|
|
}
|
|
|
|
excelMaker := exceltool.NewExcelMaker()
|
|
|
|
excelMaker.SetListHead(excelHeaders)
|
|
|
|
excelMaker.MakeListExcel(orderinfos)
|
|
|
|
c.ResponseExcelByFile(c.Ctx, excelMaker)
|
|
|
|
_ = excelMaker.MakeListExcel(orderInfos)
|
|
|
|
_ = c.ResponseExcelByFile(c.Ctx, excelMaker)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
...
|
...
|
|