BaseArchivesCostController.java 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. package org.jeecg.modules.basedata.controller;
  2. import java.util.List;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.google.common.collect.Lists;
  6. import io.swagger.annotations.Api;
  7. import io.swagger.annotations.ApiImplicitParam;
  8. import io.swagger.annotations.ApiImplicitParams;
  9. import io.swagger.annotations.ApiOperation;
  10. import org.jeecg.common.api.vo.Result;
  11. import org.jeecg.common.aspect.annotation.NotDuplicate;
  12. import org.jeecg.common.constant.CommonConstant;
  13. import org.jeecg.common.dto.basedata.ArchivesCostListRespDTO;
  14. import org.jeecg.common.dto.basedata.ArchivesCostReqDTO;
  15. import org.jeecg.common.system.query.QueryGenerator;
  16. import org.jeecg.modules.basedata.entity.BaseArchivesCost;
  17. import org.jeecg.modules.basedata.service.IBaseArchivesCostService;
  18. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  19. import lombok.extern.slf4j.Slf4j;
  20. import org.jeecg.modules.system.service.ISysSerialPatternService;
  21. import org.jeecg.modules.system.vo.CallResult;
  22. import org.springframework.beans.factory.annotation.Autowired;
  23. import org.springframework.validation.BindingResult;
  24. import org.springframework.web.bind.annotation.GetMapping;
  25. import org.springframework.web.bind.annotation.PostMapping;
  26. import org.springframework.web.bind.annotation.RequestBody;
  27. import org.springframework.web.bind.annotation.RequestMapping;
  28. import org.springframework.web.bind.annotation.RequestParam;
  29. import org.springframework.web.bind.annotation.RestController;
  30. import javax.servlet.http.HttpServletRequest;
  31. /**
  32. * @Author jihaosen
  33. * @date 2021/2/24
  34. */
  35. @Api(value="费用档案接口")
  36. @RestController
  37. @RequestMapping("/basedata/baseArchivesCost")
  38. @Slf4j
  39. public class BaseArchivesCostController {
  40. @Autowired
  41. private IBaseArchivesCostService baseArchivesCostService;
  42. @Autowired
  43. private ISysSerialPatternService sysSerialPatternService;
  44. @ApiOperation(value = "费用档案列表查询接口", notes = "费用档案列表查询")
  45. @ApiImplicitParams({
  46. @ApiImplicitParam(name="pkOrg", value="组织",required=false, dataType="String"),
  47. })
  48. @GetMapping(value = "/list")
  49. public Result<IPage<BaseArchivesCost>> queryPageList(BaseArchivesCost baseArchivesCost,
  50. @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
  51. @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
  52. HttpServletRequest req) {
  53. Result<IPage<BaseArchivesCost>> result = new Result<IPage<BaseArchivesCost>>();
  54. baseArchivesCost.setDelFlag(null);
  55. QueryWrapper<BaseArchivesCost> queryWrapper = QueryGenerator.initQueryWrapper(baseArchivesCost, req.getParameterMap());
  56. Page<BaseArchivesCost> page = new Page<BaseArchivesCost>(pageNo, pageSize);
  57. queryWrapper.eq("del_flag", "0");
  58. queryWrapper.orderByAsc("create_time");
  59. IPage<BaseArchivesCost> pageList = baseArchivesCostService.page(page, queryWrapper);
  60. result.setSuccess(true);
  61. result.setResult(pageList);
  62. return result;
  63. }
  64. @ApiOperation(value = "新增费用档案接口", notes = "新增费用档案")
  65. @ApiImplicitParams({
  66. @ApiImplicitParam(name="name", value="名称",required=true, dataType="String"),
  67. @ApiImplicitParam(name="pkOrg", value="组织",required=false, dataType="String"),
  68. })
  69. @PostMapping(value = "/add")
  70. @NotDuplicate
  71. public Result<BaseArchivesCost> add(@RequestBody BaseArchivesCost baseArchivesCost, BindingResult bindingResult) {
  72. Result<BaseArchivesCost> result = new Result<BaseArchivesCost>();
  73. try {
  74. StringBuilder sb = new StringBuilder();
  75. if (bindingResult.hasErrors()){
  76. //记录错误信息
  77. bindingResult.getAllErrors().stream().forEach(error -> sb.append(error.getDefaultMessage() + "<br/>"));
  78. result.error500(sb.toString());
  79. return result;
  80. }
  81. // 设置编码
  82. CallResult<String> nextSerial = sysSerialPatternService.getNextSerial(baseArchivesCost, "base_archives_cost", "code", true);
  83. if(!nextSerial.isSucceed()){
  84. throw new RuntimeException("获取编号失败");
  85. }
  86. String content = nextSerial.getContent().substring(0, nextSerial.getContent().length() - 1);
  87. baseArchivesCost.setCode(content);
  88. baseArchivesCost.setDelFlag(CommonConstant.DEL_FLAG_0.toString());
  89. baseArchivesCostService.save(baseArchivesCost);
  90. result.success("添加成功!");
  91. } catch (Exception e) {
  92. e.printStackTrace();
  93. log.info(e.getMessage());
  94. result.error500("操作失败");
  95. }
  96. return result;
  97. }
  98. @ApiOperation(value = "编辑费用档案接口", notes = "编辑费用档案")
  99. @ApiImplicitParams({
  100. @ApiImplicitParam(name="id", value="id",required=true, dataType="String"),
  101. @ApiImplicitParam(name="name", value="名称",required=true, dataType="String"),
  102. @ApiImplicitParam(name="pkOrg", value="组织",required=false, dataType="String"),
  103. })
  104. @PostMapping(value = "/edit")
  105. @NotDuplicate
  106. public Result<BaseArchivesCost> edit(@RequestBody BaseArchivesCost baseArchivesCost) {
  107. Result<BaseArchivesCost> result = new Result<BaseArchivesCost>();
  108. BaseArchivesCost baseArchivesCostEntity = baseArchivesCostService.getById(baseArchivesCost.getId());
  109. if(baseArchivesCostEntity == null) {
  110. result.error500("未找到对应实体");
  111. } else {
  112. // // 设置编码
  113. // CallResult<String> nextSerial = sysSerialPatternService.getNextSerial(baseArchivesCost, "base_archives_cost", "code", true);
  114. // if(!nextSerial.isSucceed()){
  115. // throw new RuntimeException("获取编号失败");
  116. // }
  117. boolean ok = baseArchivesCostService.updateById(baseArchivesCost);
  118. if(ok) {
  119. result.success("修改成功!");
  120. }
  121. }
  122. return result;
  123. }
  124. @ApiOperation(value = "删除费用档案接口", notes = "删除费用档案")
  125. @ApiImplicitParams({
  126. @ApiImplicitParam(name="id", value="id",required=true, dataType="String"),
  127. })
  128. @PostMapping(value = "/delete")
  129. @NotDuplicate
  130. public Result<BaseArchivesCost> delete(@RequestBody ArchivesCostReqDTO reqDTO) {
  131. Result<BaseArchivesCost> result = new Result<BaseArchivesCost>();
  132. BaseArchivesCost baseArchivesCost = baseArchivesCostService.getById(reqDTO.getId());
  133. if(baseArchivesCost==null) {
  134. result.error500("未找到对应实体");
  135. }else {
  136. baseArchivesCost.setDelFlag(CommonConstant.DEL_FLAG_1.toString());
  137. boolean ok = baseArchivesCostService.updateById(baseArchivesCost);
  138. if(ok) {
  139. result.success("删除成功!");
  140. }
  141. }
  142. return result;
  143. }
  144. @ApiOperation(value = "根据id查询费用档案接口", notes = "根据id查询费用档案")
  145. @ApiImplicitParams({
  146. @ApiImplicitParam(name="id", value="id",required=true, dataType="String"),
  147. })
  148. @GetMapping(value = "/queryById")
  149. public Result<BaseArchivesCost> queryById(@RequestParam(name = "id", required = true) String id) {
  150. Result<BaseArchivesCost> result = new Result<BaseArchivesCost>();
  151. BaseArchivesCost baseArchivesCost = baseArchivesCostService.getById(id);
  152. if(baseArchivesCost == null) {
  153. result.error500("未找到对应实体");
  154. } else {
  155. result.setResult(baseArchivesCost);
  156. result.setSuccess(true);
  157. }
  158. return result;
  159. }
  160. /**
  161. * @dsec 获取费用档案数据
  162. */
  163. private List<ArchivesCostListRespDTO> getArchivesCostData(List<BaseArchivesCost> list) {
  164. List<ArchivesCostListRespDTO> archivesCostListRespDTOS = Lists.newArrayList();
  165. for(BaseArchivesCost baseArchivesCost : list) {
  166. archivesCostListRespDTOS.add(new ArchivesCostListRespDTO(baseArchivesCost));
  167. }
  168. return archivesCostListRespDTOS;
  169. }
  170. }