invAccountExcelController.java 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. package com.ydtech.modules.inv.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.ydtech.constants.enums.inv.InvPayMethodEnum;
  4. import com.ydtech.core.page.HttpResult;
  5. import com.ydtech.exception.SystemException;
  6. import com.ydtech.modules.base.controller.BaseController;
  7. import com.ydtech.modules.inv.model.InvAccount;
  8. import com.ydtech.modules.inv.model.InvAccountCard;
  9. import com.ydtech.modules.inv.model.InvAccountExcel;
  10. import com.ydtech.modules.inv.service.InvAccountCardService;
  11. import com.ydtech.modules.inv.service.InvAccountExcelService;
  12. import com.ydtech.modules.inv.service.InvAccountService;
  13. import io.swagger.annotations.Api;
  14. import io.swagger.annotations.ApiOperation;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.web.bind.annotation.*;
  17. import java.math.BigDecimal;
  18. import java.util.Date;
  19. import java.util.List;
  20. import java.util.Map;
  21. import static com.ydtech.modules.inv.utils.TransferUtils.isProfitFull;
  22. /**
  23. * @author jianlong
  24. * @date 2024-01-10 09:49
  25. */
  26. @Api(tags = "账户信息管理", value = "账户信息管理")
  27. @RequestMapping("accountExcel")
  28. @RestController
  29. public class invAccountExcelController {
  30. @Autowired
  31. private InvAccountExcelService invAccountExcelService;
  32. @PostMapping("excel")
  33. @ApiOperation("导出资金申请模板")
  34. public HttpResult excelAccountOperate(@RequestBody List<String> idList) {
  35. return invAccountExcelService.excelAccount(idList);
  36. }
  37. @PostMapping("invert")
  38. @ApiOperation("插入资金模板信息")
  39. public HttpResult invertAccount(@RequestBody InvAccountExcel invAccountExcel) {
  40. BaseController baseController = new BaseController();
  41. Date date = new Date();
  42. invAccountExcel.setCreateBy(baseController.getUserName());
  43. invAccountExcel.setCreateTime(date);
  44. JSONObject outProfit = invAccountExcel.getOutProfit();
  45. JSONObject entProfit = invAccountExcel.getEntProfit();
  46. isProfitFull(outProfit, entProfit);
  47. if (invAccountExcel.getOutCardNum() == null && invAccountExcel.getEnterCardNum() == null) {
  48. throw new SystemException("请先选择账户");
  49. }
  50. if (invAccountExcel.getEnterCardNum().equals(invAccountExcel.getOutCardNum())) {
  51. throw new SystemException("无法转账给本公司");
  52. }
  53. if (invAccountExcelService.save(invAccountExcel)) {
  54. return HttpResult.ok("", invAccountExcel.getExcelAccountOperateId());
  55. }
  56. return HttpResult.error("新增失败");
  57. }
  58. @PostMapping("update")
  59. @ApiOperation("修改资金模板信息")
  60. public HttpResult updateAccount(@RequestBody InvAccountExcel invAccountExcel) {
  61. JSONObject outProfit = invAccountExcel.getOutProfit();
  62. JSONObject entProfit = invAccountExcel.getEntProfit();
  63. isProfitFull(outProfit, entProfit);
  64. if (invAccountExcel.getEnterCardNum().equals(invAccountExcel.getOutCardNum())) {
  65. throw new SystemException("无法转账给本公司");
  66. }
  67. if (invAccountExcel.getExcelAccountOperateId() != null) {
  68. if (invAccountExcel.getTransferFlag().equals("1")) {
  69. BaseController baseController = new BaseController();
  70. invAccountExcel.setUpdateBy(baseController.getUserName());
  71. invAccountExcel.setUpdateTime(new Date());
  72. return HttpResult.ok("", invAccountExcelService.updateById(invAccountExcel));
  73. } else {
  74. return HttpResult.error("已转账无法修改");
  75. }
  76. } else {
  77. return HttpResult.error("id不能为空");
  78. }
  79. }
  80. @ApiOperation("获取资金模板详细信息")
  81. @GetMapping("getAccountExcelById")
  82. public HttpResult<InvAccountExcel> getAccountExcelById(@RequestParam("excelAccountOperateId") String excelAccountOperateId) {
  83. if (excelAccountOperateId != null) {
  84. InvAccountExcel byId = invAccountExcelService.getById(excelAccountOperateId);
  85. StringBuilder a = new StringBuilder();
  86. String[] split = byId.getPayMethod().split(",");
  87. for (String i : split) {
  88. a.append(InvPayMethodEnum.getNameByCode(i)).append(",");
  89. }
  90. byId.setPayMethod(a.toString());
  91. return HttpResult.ok("", byId);
  92. } else {
  93. return HttpResult.error("id不能为空");
  94. }
  95. }
  96. @ApiOperation("获取资金模板列表")
  97. @PostMapping("getAccountExcel")
  98. public HttpResult getAccountExcel(@RequestBody InvAccountExcel invAccountExcel) {
  99. return invAccountExcelService.selectAccountExcel(invAccountExcel);
  100. }
  101. @ApiOperation("删除资金模板")
  102. @DeleteMapping("{excelAccountOperateId}")
  103. public HttpResult deleteAccountExcel(@PathVariable("excelAccountOperateId") String excelAccountOperateId) {
  104. InvAccountExcel invAccountExcel = invAccountExcelService.getById(excelAccountOperateId);
  105. if (excelAccountOperateId != null) {
  106. if (invAccountExcel.getTransferFlag() == null) {
  107. return HttpResult.error("转账标志未传递");
  108. }
  109. if (invAccountExcel.getTransferFlag().equals("1")) {
  110. invAccountExcel.setDelFlag("1");
  111. return HttpResult.ok("", invAccountExcelService.updateById(invAccountExcel));
  112. } else {
  113. return HttpResult.error("已转账无法删除");
  114. }
  115. } else {
  116. return HttpResult.error("id不能为空");
  117. }
  118. }
  119. @ApiOperation("修改转账状态")
  120. @GetMapping("updateTransferFlag")
  121. public HttpResult updateTransferFlag(@RequestParam("excelAccountOperateId") String excelAccountOperateId) {
  122. if (excelAccountOperateId == null) {
  123. return HttpResult.error("id不能为空");
  124. }
  125. return invAccountExcelService.updateTransferFlag(excelAccountOperateId);
  126. }
  127. }