package org.jeecg.modules.basedata.controller; import java.util.List; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.Lists; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.NotDuplicate; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.dto.basedata.ArchivesCostListRespDTO; import org.jeecg.common.dto.basedata.ArchivesCostReqDTO; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.modules.basedata.entity.BaseArchivesCost; import org.jeecg.modules.basedata.service.IBaseArchivesCostService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; import org.jeecg.modules.system.service.ISysSerialPatternService; import org.jeecg.modules.system.vo.CallResult; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; /** * @Author jihaosen * @date 2021/2/24 */ @Api(value="费用档案接口") @RestController @RequestMapping("/basedata/baseArchivesCost") @Slf4j public class BaseArchivesCostController { @Autowired private IBaseArchivesCostService baseArchivesCostService; @Autowired private ISysSerialPatternService sysSerialPatternService; @ApiOperation(value = "费用档案列表查询接口", notes = "费用档案列表查询") @ApiImplicitParams({ @ApiImplicitParam(name="pkOrg", value="组织",required=false, dataType="String"), }) @GetMapping(value = "/list") public Result> queryPageList(BaseArchivesCost baseArchivesCost, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { Result> result = new Result>(); baseArchivesCost.setDelFlag(null); QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(baseArchivesCost, req.getParameterMap()); Page page = new Page(pageNo, pageSize); queryWrapper.eq("del_flag", "0"); queryWrapper.orderByAsc("create_time"); IPage pageList = baseArchivesCostService.page(page, queryWrapper); result.setSuccess(true); result.setResult(pageList); return result; } @ApiOperation(value = "新增费用档案接口", notes = "新增费用档案") @ApiImplicitParams({ @ApiImplicitParam(name="name", value="名称",required=true, dataType="String"), @ApiImplicitParam(name="pkOrg", value="组织",required=false, dataType="String"), }) @PostMapping(value = "/add") @NotDuplicate public Result add(@RequestBody BaseArchivesCost baseArchivesCost, BindingResult bindingResult) { Result result = new Result(); try { StringBuilder sb = new StringBuilder(); if (bindingResult.hasErrors()){ //记录错误信息 bindingResult.getAllErrors().stream().forEach(error -> sb.append(error.getDefaultMessage() + "
")); result.error500(sb.toString()); return result; } // 设置编码 CallResult nextSerial = sysSerialPatternService.getNextSerial(baseArchivesCost, "base_archives_cost", "code", true); if(!nextSerial.isSucceed()){ throw new RuntimeException("获取编号失败"); } String content = nextSerial.getContent().substring(0, nextSerial.getContent().length() - 1); baseArchivesCost.setCode(content); baseArchivesCost.setDelFlag(CommonConstant.DEL_FLAG_0.toString()); baseArchivesCostService.save(baseArchivesCost); result.success("添加成功!"); } catch (Exception e) { e.printStackTrace(); log.info(e.getMessage()); result.error500("操作失败"); } return result; } @ApiOperation(value = "编辑费用档案接口", notes = "编辑费用档案") @ApiImplicitParams({ @ApiImplicitParam(name="id", value="id",required=true, dataType="String"), @ApiImplicitParam(name="name", value="名称",required=true, dataType="String"), @ApiImplicitParam(name="pkOrg", value="组织",required=false, dataType="String"), }) @PostMapping(value = "/edit") @NotDuplicate public Result edit(@RequestBody BaseArchivesCost baseArchivesCost) { Result result = new Result(); BaseArchivesCost baseArchivesCostEntity = baseArchivesCostService.getById(baseArchivesCost.getId()); if(baseArchivesCostEntity == null) { result.error500("未找到对应实体"); } else { // // 设置编码 // CallResult nextSerial = sysSerialPatternService.getNextSerial(baseArchivesCost, "base_archives_cost", "code", true); // if(!nextSerial.isSucceed()){ // throw new RuntimeException("获取编号失败"); // } boolean ok = baseArchivesCostService.updateById(baseArchivesCost); if(ok) { result.success("修改成功!"); } } return result; } @ApiOperation(value = "删除费用档案接口", notes = "删除费用档案") @ApiImplicitParams({ @ApiImplicitParam(name="id", value="id",required=true, dataType="String"), }) @PostMapping(value = "/delete") @NotDuplicate public Result delete(@RequestBody ArchivesCostReqDTO reqDTO) { Result result = new Result(); BaseArchivesCost baseArchivesCost = baseArchivesCostService.getById(reqDTO.getId()); if(baseArchivesCost==null) { result.error500("未找到对应实体"); }else { baseArchivesCost.setDelFlag(CommonConstant.DEL_FLAG_1.toString()); boolean ok = baseArchivesCostService.updateById(baseArchivesCost); if(ok) { result.success("删除成功!"); } } return result; } @ApiOperation(value = "根据id查询费用档案接口", notes = "根据id查询费用档案") @ApiImplicitParams({ @ApiImplicitParam(name="id", value="id",required=true, dataType="String"), }) @GetMapping(value = "/queryById") public Result queryById(@RequestParam(name = "id", required = true) String id) { Result result = new Result(); BaseArchivesCost baseArchivesCost = baseArchivesCostService.getById(id); if(baseArchivesCost == null) { result.error500("未找到对应实体"); } else { result.setResult(baseArchivesCost); result.setSuccess(true); } return result; } /** * @dsec 获取费用档案数据 */ private List getArchivesCostData(List list) { List archivesCostListRespDTOS = Lists.newArrayList(); for(BaseArchivesCost baseArchivesCost : list) { archivesCostListRespDTOS.add(new ArchivesCostListRespDTO(baseArchivesCost)); } return archivesCostListRespDTOS; } }