ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateReport.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-pojo/src/main/java/com/ycl/platform/domain/form/CalculateReportForm.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-pojo/src/main/java/com/ycl/platform/domain/query/CalculateReportQuery.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/CalculateReport.java
New file @@ -0,0 +1,52 @@ package com.ycl.platform.domain.entity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.math.BigDecimal; import java.time.LocalDateTime; import com.ycl.platform.base.AbsEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; /** * 核算报告 * * @author xp * @since 2024-04-23 */ @Data @Accessors(chain = true) @TableName("t_calculate_report") @ApiModel(value = "CalculateReport对象", description = "核算报告") public class CalculateReport extends AbsEntity { private static final long serialVersionUID = 1L; @ApiModelProperty("合同") @TableField("contract_id") private Integer contractId; @ApiModelProperty("核算日期") @TableField("calculate_time") private LocalDateTime calculateTime; @ApiModelProperty("扣减总金额") @TableField("deduct_money") private BigDecimal deductMoney; @ApiModelProperty("哪年的") @TableField("which_year") private Integer whichYear; @ApiModelProperty("哪月的") @TableField("which_month") private Integer whichMonth; @ApiModelProperty("修改人") @TableField("update_by") private Long updateBy; } ycl-pojo/src/main/java/com/ycl/platform/domain/form/CalculateReportForm.java
New file @@ -0,0 +1,62 @@ package com.ycl.platform.domain.form; import com.ycl.system.domain.group.Update; import com.ycl.system.domain.group.Add; import com.ycl.platform.base.AbsForm; import com.ycl.platform.domain.entity.CalculateReport; import java.math.BigDecimal; import java.time.LocalDateTime; import org.springframework.beans.BeanUtils; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; import org.springframework.lang.NonNull; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; /** * 核算报告表单 * * @author xp * @since 2024-04-23 */ @Data @Accessors(chain = true) @ApiModel(value = "CalculateReport表单", description = "核算报告表单") public class CalculateReportForm extends AbsForm { @NotNull(message = "合同不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("合同") private Integer contractId; @NotNull(message = "核算日期不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("核算日期") private LocalDateTime calculateTime; @NotNull(message = "扣减总金额不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("扣减总金额") private BigDecimal deductMoney; @NotNull(message = "哪年的不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("哪年的") private Integer whichYear; @NotNull(message = "哪月的不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("哪月的") private Integer whichMonth; @NotNull(message = "修改人不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("修改人") private Long updateBy; public static CalculateReport getEntityByForm(@NonNull CalculateReportForm form, CalculateReport entity) { if(entity == null) { entity = new CalculateReport(); } BeanUtils.copyProperties(form, entity); return entity; } } ycl-pojo/src/main/java/com/ycl/platform/domain/query/CalculateReportQuery.java
New file @@ -0,0 +1,23 @@ package com.ycl.platform.domain.query; import com.ycl.platform.base.AbsQuery; import java.util.List; import org.springframework.lang.NonNull; import jakarta.validation.constraints.NotBlank; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; /** * 核算报告查询 * * @author xp * @since 2024-04-23 */ @Data @Accessors(chain = true) @ApiModel(value = "CalculateReport查询", description = "核算报告查询") public class CalculateReportQuery extends AbsQuery { } ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java
New file @@ -0,0 +1,52 @@ package com.ycl.platform.domain.vo; import com.ycl.platform.base.AbsVo; import com.ycl.platform.domain.entity.CalculateReport; import java.math.BigDecimal; import java.util.List; import java.time.LocalDateTime; import org.springframework.lang.NonNull; import org.springframework.beans.BeanUtils; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; /** * 核算报告展示 * * @author xp * @since 2024-04-23 */ @Data @Accessors(chain = true) public class CalculateReportVO extends AbsVo { /** 合同 */ private Integer contractId; /** 核算日期 */ private LocalDateTime calculateTime; /** 扣减总金额 */ private BigDecimal deductMoney; /** 哪年的 */ private Integer whichYear; /** 哪月的 */ private Integer whichMonth; /** 修改人 */ private Long updateBy; public static CalculateReportVO getVoByEntity(@NonNull CalculateReport entity, CalculateReportVO vo) { if(vo == null) { vo = new CalculateReportVO(); } BeanUtils.copyProperties(entity, vo); return vo; } } ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java
New file @@ -0,0 +1,87 @@ package com.ycl.platform.controller; import com.ycl.system.domain.group.Update; import com.ycl.system.domain.group.Add; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import lombok.RequiredArgsConstructor; import java.util.List; import org.springframework.validation.annotation.Validated; import jakarta.validation.constraints.NotEmpty; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import com.ycl.platform.service.CalculateReportService; import com.ycl.system.Result; import com.ycl.platform.domain.form.CalculateReportForm; import com.ycl.platform.domain.query.CalculateReportQuery; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; /** * 核算报告 前端控制器 * * @author xp * @since 2024-04-23 */ @Validated @RequiredArgsConstructor @Api(value = "核算报告", tags = "核算报告管理") @RestController @RequestMapping("/calculate-report") public class CalculateReportController { private final CalculateReportService calculateReportService; // @PostMapping // @ApiOperation(value = "添加", notes = "添加") // public Result add(@RequestBody @Validated(Add.class) CalculateReportForm form) { // return calculateReportService.add(form); // } // @PutMapping // @ApiOperation(value = "修改", notes = "修改") // public Result update(@RequestBody @Validated(Update.class) CalculateReportForm form) { // return calculateReportService.update(form); // } @PutMapping @ApiOperation(value = "修改金额", notes = "修改金额") @PreAuthorize("@ss.hasPermi('system:calculate:report:edit:money')") public Result adjustMoney(@RequestBody @Validated(Update.class) CalculateReportForm form) { return calculateReportService.update(form); } @GetMapping("/page") @ApiOperation(value = "分页", notes = "分页") @PreAuthorize("@ss.hasPermi('system:calculate:report:page')") public Result page(CalculateReportQuery query) { return calculateReportService.page(query); } @GetMapping("/{id}") @ApiOperation(value = "详情", notes = "详情") @PreAuthorize("@ss.hasPermi('system:calculate:report:detail')") public Result detail(@PathVariable("id") String id) { return calculateReportService.detail(id); } // @GetMapping("/list") // @ApiOperation(value = "列表", notes = "列表") // public Result list() { // return calculateReportService.all(); // } // @DeleteMapping("/{id}") // @ApiOperation(value = "ID删除", notes = "ID删除") // public Result removeById(@PathVariable("id") String id) { // return calculateReportService.removeById(id); // } // // @DeleteMapping("/batch") // @ApiOperation(value = "批量删除", notes = "批量删除") // public Result remove(@RequestBody @NotEmpty(message = "请选择数据") List<String> ids) { // return calculateReportService.remove(ids); // } } ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java
New file @@ -0,0 +1,19 @@ package com.ycl.platform.mapper; import com.ycl.platform.domain.entity.CalculateReport; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ycl.platform.domain.vo.CalculateReportVO; import com.ycl.platform.domain.form.CalculateReportForm; import java.util.List; import org.apache.ibatis.annotations.Mapper; /** * 核算报告 Mapper 接口 * * @author xp * @since 2024-04-23 */ @Mapper public interface CalculateReportMapper extends BaseMapper<CalculateReport> { } ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java
New file @@ -0,0 +1,65 @@ package com.ycl.platform.service; import com.ycl.platform.domain.entity.CalculateReport; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.system.Result; import com.ycl.platform.domain.form.CalculateReportForm; import com.ycl.platform.domain.query.CalculateReportQuery; import java.util.List; /** * 核算报告 服务类 * * @author xp * @since 2024-04-23 */ public interface CalculateReportService extends IService<CalculateReport> { /** * 添加 * @param form * @return */ Result add(CalculateReportForm form); /** * 修改 * @param form * @return */ Result update(CalculateReportForm form); /** * 批量删除 * @param ids * @return */ Result remove(List<String> ids); /** * id删除 * @param id * @return */ Result removeById(String id); /** * 分页查询 * @param query * @return */ Result page(CalculateReportQuery query); /** * 根据id查找 * @param id * @return */ Result detail(String id); /** * 列表 * @return */ Result all(); } ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
New file @@ -0,0 +1,145 @@ package com.ycl.platform.service.impl; import com.ycl.platform.domain.entity.CalculateReport; import com.ycl.platform.mapper.CalculateReportMapper; import com.ycl.platform.service.CalculateReportService; import com.ycl.system.Result; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.platform.domain.form.CalculateReportForm; import com.ycl.platform.domain.vo.CalculateReportVO; import com.ycl.platform.domain.query.CalculateReportQuery; import java.util.List; import org.apache.commons.lang3.StringUtils; import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.system.page.PageUtil; import org.springframework.stereotype.Service; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import java.util.ArrayList; import java.util.stream.Collectors; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import lombok.RequiredArgsConstructor; /** * 核算报告 服务实现类 * * @author xp * @since 2024-04-23 */ @Service @RequiredArgsConstructor public class CalculateReportServiceImpl extends ServiceImpl<CalculateReportMapper, CalculateReport> implements CalculateReportService { private final CalculateReportMapper calculateReportMapper; /** * 添加 * @param form * @return */ @Override public Result add(CalculateReportForm form) { CalculateReport entity = CalculateReportForm.getEntityByForm(form, null); if(baseMapper.insert(entity) > 0) { return Result.ok("添加成功"); } return Result.error("添加失败"); } /** * 修改 * @param form * @return */ @Override public Result update(CalculateReportForm form) { CalculateReport entity = baseMapper.selectById(form.getId()); // 为空抛IllegalArgumentException,做全局异常处理 Assert.notNull(entity, "记录不存在"); BeanUtils.copyProperties(form, entity); if (baseMapper.updateById(entity) > 0) { return Result.ok("修改成功"); } return Result.error("修改失败"); } /** * 批量删除 * @param ids * @return */ @Override public Result remove(List<String> ids) { if(baseMapper.deleteBatchIds(ids) > 0) { return Result.ok("删除成功"); } return Result.error("删除失败"); } /** * id删除 * @param id * @return */ @Override public Result removeById(String id) { if(baseMapper.deleteById(id) > 0) { return Result.ok("删除成功"); } return Result.error("删除失败"); } /** * 分页查询 * @param query * @return */ @Override public Result page(CalculateReportQuery query) { IPage<CalculateReport> page = new LambdaQueryChainWrapper<>(baseMapper) .orderByDesc(CalculateReport::getCreateTime) .page(PageUtil.getPage(query, CalculateReport.class)); List<CalculateReportVO> vos = page.getRecords().stream() .map( entity -> CalculateReportVO.getVoByEntity(entity, null) ) .collect(Collectors.toList()); return Result.ok().data(vos).total(page.getTotal()); } /** * 根据id查找 * @param id * @return */ @Override public Result detail(String id) { CalculateReport entity = baseMapper.selectById(id); Assert.notNull(entity, "记录不存在"); CalculateReportVO vo = CalculateReportVO.getVoByEntity(entity, null); return Result.ok().data(vo); } /** * 列表 * @return */ @Override public Result all() { List<CalculateReport> entities = baseMapper.selectList(null); List<CalculateReportVO> vos = entities.stream() .map( entity -> CalculateReportVO.getVoByEntity(entity, null) ) .collect(Collectors.toList()); return Result.ok().data(vos); } }