| src/main/java/com/ruoyi/account/bean/dto/AccountSubjectDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/account/bean/dto/AccountSubjectImportDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/account/bean/vo/AccountSubjectVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/account/controller/AccountSubjectController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/account/mapper/AccountSubjectMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/account/pojo/AccountSubject.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/account/service/AccountSubjectService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/account/service/impl/AccountSubjectServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/account/AccountSubjectMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/account/bean/dto/AccountSubjectDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,10 @@ package com.ruoyi.account.bean.dto; import com.ruoyi.account.pojo.AccountSubject; import lombok.Data; import lombok.EqualsAndHashCode; @EqualsAndHashCode(callSuper = true) @Data public class AccountSubjectDto extends AccountSubject { } src/main/java/com/ruoyi/account/bean/dto/AccountSubjectImportDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,36 @@ package com.ruoyi.account.bean.dto; import com.ruoyi.framework.aspectj.lang.annotation.Excel; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @Data public class AccountSubjectImportDto { @Schema(description = "ç§ç®ç¼ç ") @Excel(name = "ç§ç®ç¼ç ") private String subjectCode; @Schema(description = "ç§ç®åç§°") @Excel(name = "ç§ç®åç§°") private String subjectName; @Schema(description = "ç§ç®ç±»å") @Excel(name = "ç§ç®ç±»å") private String subjectType; @Schema(description = "ä½é¢æ¹å") @Excel(name = "ä½é¢æ¹å") private String balanceDirection; /** * ç¶æ 0å¯ç¨ 1ç¦ç¨ */ @Schema(description = "ç¶æ") @Excel(name = "ç¶æ",readConverterExp = "0=å¯ç¨,1=ç¦ç¨") private Integer status; @Schema(description = "夿³¨") @Excel(name = "夿³¨") private String remark; } src/main/java/com/ruoyi/account/bean/vo/AccountSubjectVo.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,8 @@ package com.ruoyi.account.bean.vo; import com.ruoyi.account.pojo.AccountSubject; import lombok.Data; @Data public class AccountSubjectVo extends AccountSubject { } src/main/java/com/ruoyi/account/controller/AccountSubjectController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,70 @@ package com.ruoyi.account.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.bean.dto.AccountSubjectDto; import com.ruoyi.account.bean.vo.AccountSubjectVo; import com.ruoyi.account.service.AccountSubjectService; import com.ruoyi.framework.aspectj.lang.annotation.Log; import com.ruoyi.framework.aspectj.lang.enums.BusinessType; import com.ruoyi.framework.web.domain.R; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.Arrays; /** * <p> * æ»è´¦ç§ç®è¡¨ å端æ§å¶å¨ * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-05-07 04:45:30 */ @RestController @RequestMapping("/accountSubject") @RequiredArgsConstructor @Tag(name = "æ»è´¦ç§ç®") public class AccountSubjectController { private final AccountSubjectService accountSubjectService; @GetMapping("list") @Log(title = "æ»è´¦ç§ç®æ°æ®éå", businessType = BusinessType.OTHER) @Operation(summary = "æ»è´¦ç§ç®å页æ¥è¯¢") public R<IPage<AccountSubjectVo>> AccountSubjectDtoList(Page<AccountSubjectDto> page, AccountSubjectDto accountSubjectDto) { IPage<AccountSubjectVo> paramList = accountSubjectService.baseList(page, accountSubjectDto); return R.ok(paramList); } @PostMapping("/add") @Log(title = "æ°å¢æ»è´¦ç§ç®", businessType = BusinessType.INSERT) @Operation(summary = "æ°å¢æ»è´¦ç§ç®") public R AccountSubjectDtoAdd(@RequestBody AccountSubjectDto accountSubjectDto) { return R.ok(accountSubjectService.save(accountSubjectDto)); } @PutMapping("/edit") @Log(title = "ä¿®æ¹æ»è´¦ç§ç®", businessType = BusinessType.UPDATE) @Operation(summary = "ä¿®æ¹æ»è´¦ç§ç®") public R AccountSubjectDtoEdit(@RequestBody AccountSubjectDto accountSubjectDto) { return R.ok(accountSubjectService.updateById(accountSubjectDto)); } @DeleteMapping("/remove/{ids}") @Log(title = "å 餿»è´¦ç§ç®", businessType = BusinessType.DELETE) @Operation(summary = "å 餿»è´¦ç§ç®") public R AccountSubjectDtooRemove(@PathVariable Long[] ids) { return R.ok(accountSubjectService.removeBatchByIds(Arrays.asList(ids))); } @PostMapping("/export") @Operation(summary = "å¯¼åºæ»è´¦ç§ç®æä»¶") @Log(title = "å¯¼åºæ»è´¦ç§ç®æä»¶", businessType = BusinessType.EXPORT) public void exportAccountSubject(HttpServletResponse response) { accountSubjectService.exportAccountSubject(response); } } src/main/java/com/ruoyi/account/mapper/AccountSubjectMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ package com.ruoyi.account.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.account.pojo.AccountSubject; import org.apache.ibatis.annotations.Mapper; /** * <p> * æ»è´¦ç§ç®è¡¨ Mapper æ¥å£ * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-05-07 04:45:30 */ @Mapper public interface AccountSubjectMapper extends BaseMapper<AccountSubject> { } src/main/java/com/ruoyi/account/pojo/AccountSubject.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,111 @@ package com.ruoyi.account.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; import lombok.ToString; import java.io.Serializable; import java.time.LocalDateTime; /** * <p> * æ»è´¦ç§ç®è¡¨ * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-05-07 04:45:30 */ @Getter @Setter @ToString @TableName("account_subject") @ApiModel(value = "AccountSubject对象", description = "æ»è´¦ç§ç®è¡¨") public class AccountSubject implements Serializable { private static final long serialVersionUID = 1L; /** * 主é®ID */ @ApiModelProperty("主é®ID") @TableId(value = "id", type = IdType.AUTO) private Long id; /** * ç§ç®ç¼ç (å¯ä¸æ è¯) */ @ApiModelProperty("ç§ç®ç¼ç (å¯ä¸æ è¯)") private String subjectCode; /** * ç§ç®åç§° */ @ApiModelProperty("ç§ç®åç§°") private String subjectName; /** * ç§ç®ç±»å(åå ¸é ç½®) */ @ApiModelProperty("ç§ç®ç±»å(åå ¸é ç½®)") private String subjectType; /** * ä½é¢æ¹å */ @ApiModelProperty("ä½é¢æ¹å") private String balanceDirection; /** * ç¶æ 0å¯ç¨ 1ç¦ç¨ */ @ApiModelProperty("ç¶æ 0å¯ç¨ 1ç¦ç¨") private Integer status; /** * 夿³¨ */ @ApiModelProperty("夿³¨") private String remark; /** * å建人 */ @ApiModelProperty("å建人") @TableField(fill = FieldFill.INSERT) private String createUser; /** * å建æ¶é´ */ @ApiModelProperty("å建æ¶é´") @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; /** * ä¿®æ¹äºº */ @ApiModelProperty("ä¿®æ¹äºº") @TableField(fill = FieldFill.INSERT_UPDATE) private String updateUser; /** * ä¿®æ¹æ¶é´ */ @ApiModelProperty("ä¿®æ¹æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; /** * é¨é¨ID */ @ApiModelProperty("é¨é¨ID") @TableField(fill = FieldFill.INSERT) private Long deptId; } src/main/java/com/ruoyi/account/service/AccountSubjectService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.ruoyi.account.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.account.bean.dto.AccountSubjectDto; import com.ruoyi.account.bean.vo.AccountSubjectVo; import com.ruoyi.account.pojo.AccountSubject; import com.baomidou.mybatisplus.extension.service.IService; import jakarta.servlet.http.HttpServletResponse; /** * <p> * æ»è´¦ç§ç®è¡¨ æå¡ç±» * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-05-07 04:45:30 */ public interface AccountSubjectService extends IService<AccountSubject> { IPage<AccountSubjectVo> baseList(Page<AccountSubjectDto> page, AccountSubjectDto accountSubjectDto); void exportAccountSubject(HttpServletResponse response); } src/main/java/com/ruoyi/account/service/impl/AccountSubjectServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,77 @@ package com.ruoyi.account.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.bean.dto.AccountSubjectDto; import com.ruoyi.account.bean.dto.AccountSubjectImportDto; import com.ruoyi.account.bean.vo.AccountSubjectVo; import com.ruoyi.account.mapper.AccountSubjectMapper; import com.ruoyi.account.pojo.AccountSubject; import com.ruoyi.account.service.AccountSubjectService; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * <p> * æ»è´¦ç§ç®è¡¨ æå¡å®ç°ç±» * </p> * * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå ¬å¸ * @since 2026-05-07 04:45:30 */ @Service @RequiredArgsConstructor public class AccountSubjectServiceImpl extends ServiceImpl<AccountSubjectMapper, AccountSubject> implements AccountSubjectService { private final AccountSubjectMapper accountSubjectMapper; @Override public IPage<AccountSubjectVo> baseList(Page<AccountSubjectDto> page, AccountSubjectDto accountSubjectDto) { LambdaQueryWrapper<AccountSubject> queryWrapper = new LambdaQueryWrapper<>(); if (accountSubjectDto != null && StringUtils.isNotEmpty(accountSubjectDto.getSubjectCode())) { queryWrapper.like(AccountSubject::getSubjectCode, accountSubjectDto.getSubjectCode()); } if (accountSubjectDto != null && StringUtils.isNotEmpty(accountSubjectDto.getSubjectName())) { queryWrapper.like(AccountSubject::getSubjectName, accountSubjectDto.getSubjectName()); } if (accountSubjectDto != null && StringUtils.isNotEmpty(accountSubjectDto.getSubjectType())) { queryWrapper.eq(AccountSubject::getSubjectType, accountSubjectDto.getSubjectType()); } queryWrapper.orderByDesc(AccountSubject::getId); Page<AccountSubject> entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal()); Page<AccountSubject> paramPage = page(entityPage, queryWrapper); Page<AccountSubjectVo> resultPage = new Page<>(paramPage.getCurrent(), paramPage.getSize(), paramPage.getTotal()); List<AccountSubjectVo> records = new ArrayList<>(paramPage.getRecords().size()); for (AccountSubject item : paramPage.getRecords()) { AccountSubjectVo vo = new AccountSubjectVo(); BeanUtils.copyProperties(item, vo); records.add(vo); } resultPage.setRecords(records); return resultPage; } @Override public void exportAccountSubject(HttpServletResponse response) { List<AccountSubject> list = accountSubjectMapper.selectList(null); List<AccountSubjectImportDto> importDtos = list.stream().map(accountSubject -> { AccountSubjectImportDto accountSubjectImportDto = new AccountSubjectImportDto(); BeanUtils.copyProperties(accountSubject, accountSubjectImportDto); return accountSubjectImportDto; }).collect(Collectors.toList()); ExcelUtil<AccountSubjectImportDto> util = new ExcelUtil<>(AccountSubjectImportDto.class); util.exportExcel(response, importDtos , "æ»è´¦ç§ç®"); } } src/main/resources/mapper/account/AccountSubjectMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,21 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.account.mapper.AccountSubjectMapper"> <!-- éç¨æ¥è¯¢æ å°ç»æ --> <resultMap id="BaseResultMap" type="com.ruoyi.account.pojo.AccountSubject"> <id column="id" property="id" /> <result column="subject_code" property="subjectCode" /> <result column="subject_name" property="subjectName" /> <result column="subject_type" property="subjectType" /> <result column="balance_direction" property="balanceDirection" /> <result column="status" property="status" /> <result column="remark" property="remark" /> <result column="create_user" property="createUser" /> <result column="create_time" property="createTime" /> <result column="update_user" property="updateUser" /> <result column="update_time" property="updateTime" /> <result column="dept_id" property="deptId" /> </resultMap> </mapper>