...
|
...
|
@@ -354,12 +354,44 @@ func (dividendsEstimateService *DividendsEstimateService) BatchCancelDividendsEs |
|
|
}
|
|
|
|
|
|
// 校验是否能够取消
|
|
|
if dividendsEstimate.DividendsType == domain.ORDER_DIVIDENDS || dividendsEstimate.DividendsType == domain.RETURN_WRITE_OFF { // 订单分红、退货冲销
|
|
|
if countRelativeDividendsEstimates, dividendsEstimatesRelative, err2 := dividendsEstimateRepository.Find(map[string]interface{}{
|
|
|
"orderOrReturnedOrderNum": dividendsEstimate.OrderOrReturnedOrderNum,
|
|
|
"companyId": dividendsEstimate.Company.CompanyId,
|
|
|
"orgId": dividendsEstimate.Org.OrgId,
|
|
|
}); err2 != nil {
|
|
|
if dividendsEstimate.DividendsType == domain.ORDER_DIVIDENDS || dividendsEstimate.DividendsType == domain.RETURN_WRITE_OFF { // 订单分红/退货冲销
|
|
|
// 自定义查询
|
|
|
queryOptions := make(map[string]interface{})
|
|
|
|
|
|
//参与分红类型,1承接人,2推荐人,3关联业务员
|
|
|
if dividendsEstimate.DividendsParticipateType == 1 { // 当前取消的是承接人的分红预算单
|
|
|
queryOptions = map[string]interface{}{
|
|
|
"companyId": dividendsEstimate.Company.CompanyId,
|
|
|
"orgId": dividendsEstimate.Org.OrgId,
|
|
|
"orderOrReturnedOrderNum": dividendsEstimate.OrderOrReturnedOrderNum,
|
|
|
"dividendsParticipateTypes": []int32{2, 3},
|
|
|
"offsetLimit": false,
|
|
|
"dividendsStage": dividendsEstimate.DividendsStage,
|
|
|
"dividendsTypes": []int32{1, 2},
|
|
|
}
|
|
|
} else if dividendsEstimate.DividendsParticipateType == 2 { // 当前取消的是推荐人的分红预算单
|
|
|
queryOptions = map[string]interface{}{
|
|
|
"companyId": dividendsEstimate.Company.CompanyId,
|
|
|
"orgId": dividendsEstimate.Org.OrgId,
|
|
|
"orderOrReturnedOrderNum": dividendsEstimate.OrderOrReturnedOrderNum,
|
|
|
"dividendsParticipateTypes": []int32{1, 3},
|
|
|
"offsetLimit": false,
|
|
|
"dividendsStage": dividendsEstimate.DividendsStage,
|
|
|
"dividendsTypes": []int32{1, 2},
|
|
|
}
|
|
|
} else if dividendsEstimate.DividendsParticipateType == 3 { // 当前取消的是关联业务员的分红预算单
|
|
|
queryOptions = map[string]interface{}{
|
|
|
"companyId": dividendsEstimate.Company.CompanyId,
|
|
|
"orgId": dividendsEstimate.Org.OrgId,
|
|
|
"orderOrReturnedOrderNum": dividendsEstimate.OrderOrReturnedOrderNum,
|
|
|
"dividendsParticipateTypes": []int32{1, 2},
|
|
|
"offsetLimit": false,
|
|
|
"dividendsStage": dividendsEstimate.DividendsStage,
|
|
|
"dividendsTypes": []int32{1, 2},
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if countRelativeDividendsEstimates, dividendsEstimatesRelative, err2 := dividendsEstimateRepository.Find(queryOptions); err2 != nil {
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err2.Error())
|
|
|
} else {
|
|
|
if countRelativeDividendsEstimates > 0 {
|
...
|
...
|
@@ -371,11 +403,43 @@ func (dividendsEstimateService *DividendsEstimateService) BatchCancelDividendsEs |
|
|
}
|
|
|
}
|
|
|
} else if dividendsEstimate.DividendsType == domain.MONEY_INCENTIVES { // 金额激励分红
|
|
|
if countRelativeDividendsEstimates, dividendsEstimatesRelative, err3 := dividendsEstimateRepository.Find(map[string]interface{}{
|
|
|
"cooperationContractNumber": dividendsEstimate.CooperationContractNumber,
|
|
|
"companyId": dividendsEstimate.Company.CompanyId,
|
|
|
"orgId": dividendsEstimate.Org.OrgId,
|
|
|
}); err3 != nil {
|
|
|
// 自定义查询
|
|
|
queryOptions := make(map[string]interface{})
|
|
|
|
|
|
//参与分红类型,1承接人,2推荐人,3关联业务员
|
|
|
if dividendsEstimate.DividendsParticipateType == 1 { // 当前取消的是承接人的分红预算单
|
|
|
queryOptions = map[string]interface{}{
|
|
|
"companyId": dividendsEstimate.Company.CompanyId,
|
|
|
"orgId": dividendsEstimate.Org.OrgId,
|
|
|
"cooperationContractNumber": dividendsEstimate.CooperationContractNumber,
|
|
|
"dividendsParticipateTypes": []int32{2, 3},
|
|
|
"offsetLimit": false,
|
|
|
"dividendsStage": dividendsEstimate.DividendsStage,
|
|
|
"dividendsType": int32(3),
|
|
|
}
|
|
|
} else if dividendsEstimate.DividendsParticipateType == 2 { // 当前取消的是推荐人的分红预算单
|
|
|
queryOptions = map[string]interface{}{
|
|
|
"companyId": dividendsEstimate.Company.CompanyId,
|
|
|
"orgId": dividendsEstimate.Org.OrgId,
|
|
|
"cooperationContractNumber": dividendsEstimate.CooperationContractNumber,
|
|
|
"dividendsParticipateTypes": []int32{1, 3},
|
|
|
"offsetLimit": false,
|
|
|
"dividendsStage": dividendsEstimate.DividendsStage,
|
|
|
"dividendsType": int32(3),
|
|
|
}
|
|
|
} else if dividendsEstimate.DividendsParticipateType == 3 { // 当前取消的是关联业务员的分红预算单
|
|
|
queryOptions = map[string]interface{}{
|
|
|
"companyId": dividendsEstimate.Company.CompanyId,
|
|
|
"orgId": dividendsEstimate.Org.OrgId,
|
|
|
"cooperationContractNumber": dividendsEstimate.CooperationContractNumber,
|
|
|
"dividendsParticipateTypes": []int32{1, 2},
|
|
|
"offsetLimit": false,
|
|
|
"dividendsStage": dividendsEstimate.DividendsStage,
|
|
|
"dividendsType": int32(3),
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if countRelativeDividendsEstimates, dividendsEstimatesRelative, err3 := dividendsEstimateRepository.Find(queryOptions); err3 != nil {
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err3.Error())
|
|
|
} else {
|
|
|
if countRelativeDividendsEstimates > 0 {
|
...
|
...
|
@@ -388,12 +452,13 @@ func (dividendsEstimateService *DividendsEstimateService) BatchCancelDividendsEs |
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 批量取消分红预算单
|
|
|
if dividendsEstimatesCanceled, err := cancelDividendsEstimateService.CancelEstimate(dividendsEstimateIds, operator); err != nil {
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
if dividendsEstimatesCanceled, errCancel := cancelDividendsEstimateService.CancelEstimate(dividendsEstimateIds, operator); errCancel != nil {
|
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, errCancel.Error())
|
|
|
} else {
|
|
|
if err := transactionContext.CommitTransaction(); err != nil {
|
|
|
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
if errTx := transactionContext.CommitTransaction(); errTx != nil {
|
|
|
return nil, application.ThrowError(application.TRANSACTION_ERROR, errTx.Error())
|
|
|
}
|
|
|
return dividendsEstimatesCanceled, nil
|
|
|
}
|
...
|
...
|
@@ -651,6 +716,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent |
|
|
return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
|
|
|
} else {
|
|
|
dividendsEstimates := make([]*domain.DividendsEstimate, 0)
|
|
|
|
|
|
// 统计当前企业分红预算单数
|
|
|
count, err := dividendsEstimateDao.CountDividendsEstimate(map[string]interface{}{
|
|
|
"companyId": confirmDividendsIncentivesEstimateCommand.CompanyId,
|
...
|
...
|
@@ -658,6 +724,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent |
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
}
|
|
|
|
|
|
var countDividendsEstimate int64
|
|
|
for _, orderGood := range orderGoods {
|
|
|
dividendsEstimate := &domain.DividendsEstimate{}
|
...
|
...
|
@@ -706,6 +773,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent |
|
|
UpdatedAt: time.Time{},
|
|
|
OrderGoodId: orderGood.OrderGoodId,
|
|
|
OrderGoodAmount: orderGood.OrderGoodAmount,
|
|
|
PaymentStatus: int32(1),
|
|
|
}
|
|
|
|
|
|
dividendsEstimates = append(dividendsEstimates, dividendsEstimate)
|
...
|
...
|
@@ -759,6 +827,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent |
|
|
UpdatedAt: time.Time{},
|
|
|
OrderGoodId: orderGood.OrderGoodId,
|
|
|
OrderGoodAmount: orderGood.OrderGoodAmount,
|
|
|
PaymentStatus: int32(1),
|
|
|
}
|
|
|
|
|
|
dividendsEstimates = append(dividendsEstimates, dividendsEstimate)
|
...
|
...
|
@@ -1095,6 +1164,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmMoneyIncentives |
|
|
CreatedAt: time.Now(),
|
|
|
DeletedAt: time.Time{},
|
|
|
UpdatedAt: time.Time{},
|
|
|
PaymentStatus: int32(1),
|
|
|
}
|
|
|
|
|
|
dividendsEstimates = append(dividendsEstimates, dividendsEstimate)
|
...
|
...
|
|