正在显示
5 个修改的文件
包含
48 行增加
和
37 行删除
| @@ -7,6 +7,7 @@ import ( | @@ -7,6 +7,7 @@ import ( | ||
| 7 | 7 | ||
| 8 | type ExportTransactionRecordCommand struct { | 8 | type ExportTransactionRecordCommand struct { |
| 9 | Ids []int `json:"ids"` | 9 | Ids []int `json:"ids"` |
| 10 | + Where map[string]interface{} `json:"where"` | ||
| 10 | } | 11 | } |
| 11 | 12 | ||
| 12 | func (exportTransactionRecordCommand *ExportTransactionRecordCommand) ValidateCommand() error { | 13 | func (exportTransactionRecordCommand *ExportTransactionRecordCommand) ValidateCommand() error { |
| @@ -1206,12 +1206,13 @@ func (cashPoolService *CashPoolService) ImportCreateExchangeCashPerson(createExc | @@ -1206,12 +1206,13 @@ func (cashPoolService *CashPoolService) ImportCreateExchangeCashPerson(createExc | ||
| 1206 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 1206 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
| 1207 | } | 1207 | } |
| 1208 | 1208 | ||
| 1209 | - fmt.Printf("员工:%+v\n", len(peopleFound)) | ||
| 1210 | - | ||
| 1211 | if len(peopleFound) > 0 { // 追加素币兑换或撤回素币兑换 | 1209 | if len(peopleFound) > 0 { // 追加素币兑换或撤回素币兑换 |
| 1212 | // 获取兑换清单员工已兑换素币 | 1210 | // 获取兑换清单员工已兑换素币 |
| 1213 | personFoundExchangedSuMoney := peopleFound[0].ExchangedSuMoney | 1211 | personFoundExchangedSuMoney := peopleFound[0].ExchangedSuMoney |
| 1214 | 1212 | ||
| 1213 | + fmt.Print(createExchangeCashPersonCommand.ExchangedSuMoney, "\n") | ||
| 1214 | + fmt.Print(personFoundExchangedSuMoney, "\n") | ||
| 1215 | + | ||
| 1215 | if createExchangeCashPersonCommand.ExchangedSuMoney < personFoundExchangedSuMoney { // 当前兑换的素币小于已兑换素币,撤回兑换素币 | 1216 | if createExchangeCashPersonCommand.ExchangedSuMoney < personFoundExchangedSuMoney { // 当前兑换的素币小于已兑换素币,撤回兑换素币 |
| 1216 | // 减量 | 1217 | // 减量 |
| 1217 | suMoneyDecrement := peopleFound[0].ExchangedSuMoney - createExchangeCashPersonCommand.ExchangedSuMoney | 1218 | suMoneyDecrement := peopleFound[0].ExchangedSuMoney - createExchangeCashPersonCommand.ExchangedSuMoney |
| @@ -181,7 +181,7 @@ func (suMoneyService *SuMoneyService) SearchSuMoneyTransactionRecord(searchSuMon | @@ -181,7 +181,7 @@ func (suMoneyService *SuMoneyService) SearchSuMoneyTransactionRecord(searchSuMon | ||
| 181 | "isPrincipal": suMoneyTransactionRecord.Operator.IsPrincipal, | 181 | "isPrincipal": suMoneyTransactionRecord.Operator.IsPrincipal, |
| 182 | }, | 182 | }, |
| 183 | "recordDescription": suMoneyTransactionRecord.RecordDescription, | 183 | "recordDescription": suMoneyTransactionRecord.RecordDescription, |
| 184 | - "createTime": suMoneyTransactionRecord.CreateTime.Location(), | 184 | + "createTime": suMoneyTransactionRecord.CreateTime, |
| 185 | } | 185 | } |
| 186 | suMoneyTransactionRecordsFormat = append(suMoneyTransactionRecordsFormat, suMoneyTransactionRecordFormat) | 186 | suMoneyTransactionRecordsFormat = append(suMoneyTransactionRecordsFormat, suMoneyTransactionRecordFormat) |
| 187 | } | 187 | } |
| @@ -324,7 +324,7 @@ func (suMoneyService *SuMoneyService) ListSuMoneyTransactionRecordById(exportSuM | @@ -324,7 +324,7 @@ func (suMoneyService *SuMoneyService) ListSuMoneyTransactionRecordById(exportSuM | ||
| 324 | transactionContext.RollbackTransaction() | 324 | transactionContext.RollbackTransaction() |
| 325 | }() | 325 | }() |
| 326 | 326 | ||
| 327 | - if len(exportSuMoneyTransactionRecordCommand.Ids) == 0 { | 327 | + if len(exportSuMoneyTransactionRecordCommand.Ids) == 0 && exportSuMoneyTransactionRecordCommand.Where == nil { |
| 328 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "未勾选需要导出的数据") | 328 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "未勾选需要导出的数据") |
| 329 | } | 329 | } |
| 330 | 330 |
| @@ -70,12 +70,16 @@ func (repository *SuMoneyTransactionRecordRepository) FindById(queryOptions map[ | @@ -70,12 +70,16 @@ func (repository *SuMoneyTransactionRecordRepository) FindById(queryOptions map[ | ||
| 70 | var suMoneyTransactionRecordModels []*models.SuMoneyTransactionRecord | 70 | var suMoneyTransactionRecordModels []*models.SuMoneyTransactionRecord |
| 71 | suMoneyTransactionRecords := make([]*domain.SuMoneyTransactionRecord, 0) | 71 | suMoneyTransactionRecords := make([]*domain.SuMoneyTransactionRecord, 0) |
| 72 | query := tx.Model(&suMoneyTransactionRecordModels) | 72 | query := tx.Model(&suMoneyTransactionRecordModels) |
| 73 | - //if iDs, ok := queryOptions["iDs"]; ok && len(iDs.([]int)) != 0 { | ||
| 74 | - // query = query.Where(`su_money_transaction_record.id IN (?)`, pg.In(iDs.([]int))) | ||
| 75 | - //} | ||
| 76 | - if iDs, ok := queryOptions["ids"]; ok { | 73 | + query = query.Join("JOIN employees AS e ON e.uid = (su_money_transaction_record.employee->>'uid')::bigint") |
| 74 | + if iDs, ok := queryOptions["ids"]; ok && len(iDs.([]int)) != 0 { | ||
| 77 | query = query.Where(`su_money_transaction_record.id IN (?)`, pg.In(iDs.([]int))) | 75 | query = query.Where(`su_money_transaction_record.id IN (?)`, pg.In(iDs.([]int))) |
| 78 | } | 76 | } |
| 77 | + if where, ok := queryOptions["where"]; ok && where.(map[string]interface{}) != nil { | ||
| 78 | + if companyId, ok := where.(map[string]interface{})["companyId"]; ok && companyId.(float64) != 0 { | ||
| 79 | + query = query.Where("e.company_id = ?", companyId) | ||
| 80 | + } | ||
| 81 | + } | ||
| 82 | + //query = query.Where(`e.status = ?`, 1) | ||
| 79 | if count, err := query.Order("id DESC").SelectAndCount(); err != nil { | 83 | if count, err := query.Order("id DESC").SelectAndCount(); err != nil { |
| 80 | return 0, suMoneyTransactionRecords, err | 84 | return 0, suMoneyTransactionRecords, err |
| 81 | } else { | 85 | } else { |
| @@ -418,6 +418,7 @@ func (controller *SuMoneyController) ImportExchangeList () { | @@ -418,6 +418,7 @@ func (controller *SuMoneyController) ImportExchangeList () { | ||
| 418 | response = utils.ResponseError(controller.Ctx, err) | 418 | response = utils.ResponseError(controller.Ctx, err) |
| 419 | controller.Data["json"] = response | 419 | controller.Data["json"] = response |
| 420 | controller.ServeJSON() | 420 | controller.ServeJSON() |
| 421 | + return | ||
| 421 | } | 422 | } |
| 422 | 423 | ||
| 423 | xlsx, err := excelize.OpenReader(file) | 424 | xlsx, err := excelize.OpenReader(file) |
| @@ -428,43 +429,46 @@ func (controller *SuMoneyController) ImportExchangeList () { | @@ -428,43 +429,46 @@ func (controller *SuMoneyController) ImportExchangeList () { | ||
| 428 | 429 | ||
| 429 | // 文件行数校验 | 430 | // 文件行数校验 |
| 430 | rows, _ := xlsx.GetRows("Sheet1") | 431 | rows, _ := xlsx.GetRows("Sheet1") |
| 432 | + | ||
| 431 | if len(rows) > 302 { | 433 | if len(rows) > 302 { |
| 432 | err := fmt.Errorf("%s", "导入行数超过300行") | 434 | err := fmt.Errorf("%s", "导入行数超过300行") |
| 433 | response = utils.ResponseError(controller.Ctx, err) | 435 | response = utils.ResponseError(controller.Ctx, err) |
| 434 | controller.Data["json"] = response | 436 | controller.Data["json"] = response |
| 435 | controller.ServeJSON() | 437 | controller.ServeJSON() |
| 438 | + return | ||
| 436 | } | 439 | } |
| 437 | 440 | ||
| 438 | // 空行记录 | 441 | // 空行记录 |
| 439 | - nullLine := make([]interface{}, 0) | 442 | + //nullLine := make([]interface{}, 0) |
| 440 | 443 | ||
| 441 | // 单元格非空校验 | 444 | // 单元格非空校验 |
| 442 | - for i, row := range rows { | ||
| 443 | - if i > 2 { | ||
| 444 | - for _, _ = range row { | ||
| 445 | - r2, _ := strconv.ParseFloat(row[2], 64) | ||
| 446 | - if row[0] == "" || row[1] == "" || r2 == 0 { | ||
| 447 | - //row = append(row, "单元格包含空字符") | ||
| 448 | - //nullLine = append(nullLine, row) | ||
| 449 | - } | ||
| 450 | - } | ||
| 451 | - } | ||
| 452 | - } | ||
| 453 | - | ||
| 454 | - if len(nullLine) > 0 { | ||
| 455 | - ret = map[string]interface{}{ | ||
| 456 | - "successCount": 0, | ||
| 457 | - "fail": map[string]interface{}{ | ||
| 458 | - "tableHeader": tableHeader, | ||
| 459 | - "tableData": nullLine, | ||
| 460 | - }, | ||
| 461 | - } | ||
| 462 | - response = utils.ResponseData(controller.Ctx, ret) | ||
| 463 | - controller.Data["json"] = response | ||
| 464 | - controller.ServeJSON() | ||
| 465 | - } | ||
| 466 | - | ||
| 467 | - // 新增失败记录 | 445 | + //for i, row := range rows { |
| 446 | + // if i > 2 { | ||
| 447 | + // for _, _ = range row { | ||
| 448 | + // if len(row) != 3 { | ||
| 449 | + // row = append(row, "null") | ||
| 450 | + // row = append(row, "单元格包含空字符") | ||
| 451 | + // nullLine = append(nullLine, row) | ||
| 452 | + // } | ||
| 453 | + // } | ||
| 454 | + // } | ||
| 455 | + //} | ||
| 456 | + // | ||
| 457 | + //if len(nullLine) > 0 { | ||
| 458 | + // ret = map[string]interface{}{ | ||
| 459 | + // "successCount": 0, | ||
| 460 | + // "fail": map[string]interface{}{ | ||
| 461 | + // "tableHeader": tableHeader, | ||
| 462 | + // "tableData": nullLine, | ||
| 463 | + // }, | ||
| 464 | + // } | ||
| 465 | + // response = utils.ResponseData(controller.Ctx, ret) | ||
| 466 | + // controller.Data["json"] = response | ||
| 467 | + // controller.ServeJSON() | ||
| 468 | + // return | ||
| 469 | + //} | ||
| 470 | + // | ||
| 471 | + //// 新增失败记录 | ||
| 468 | failureDataList := make([]interface{}, 0) | 472 | failureDataList := make([]interface{}, 0) |
| 469 | 473 | ||
| 470 | // 新增成功计数 | 474 | // 新增成功计数 |
| @@ -483,8 +487,8 @@ func (controller *SuMoneyController) ImportExchangeList () { | @@ -483,8 +487,8 @@ func (controller *SuMoneyController) ImportExchangeList () { | ||
| 483 | // 创建兑换素币清单 | 487 | // 创建兑换素币清单 |
| 484 | _, err := cashPoolService.ImportCreateExchangeCashPerson(createExchangeCashPersonCommand) | 488 | _, err := cashPoolService.ImportCreateExchangeCashPerson(createExchangeCashPersonCommand) |
| 485 | if err != nil { // 导入失败处理 | 489 | if err != nil { // 导入失败处理 |
| 486 | - //rows[i] = append(rows[i], err.Error()) | ||
| 487 | - //failureDataList = append(failureDataList, rows[i]) // 导入失败的记录 | 490 | + rows[i] = append(rows[i], err.Error()) |
| 491 | + failureDataList = append(failureDataList, rows[i]) // 导入失败的记录 | ||
| 488 | } else { // 导入成功处理 | 492 | } else { // 导入成功处理 |
| 489 | successDataCount += 1 | 493 | successDataCount += 1 |
| 490 | } | 494 | } |
| @@ -502,6 +506,7 @@ func (controller *SuMoneyController) ImportExchangeList () { | @@ -502,6 +506,7 @@ func (controller *SuMoneyController) ImportExchangeList () { | ||
| 502 | response = utils.ResponseData(controller.Ctx, ret) | 506 | response = utils.ResponseData(controller.Ctx, ret) |
| 503 | controller.Data["json"] = response | 507 | controller.Data["json"] = response |
| 504 | controller.ServeJSON() | 508 | controller.ServeJSON() |
| 509 | + return | ||
| 505 | } | 510 | } |
| 506 | 511 | ||
| 507 | // 导出素币兑换清单,选择导出(ids),增加导出失败信息 | 512 | // 导出素币兑换清单,选择导出(ids),增加导出失败信息 |
-
请 注册 或 登录 后发表评论