25 changed files with 773 additions and 9 deletions
@ -0,0 +1,100 @@ |
|||
package com.qs.serve.modules.bms.controller; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.qs.serve.common.model.annotation.SysLog; |
|||
import com.qs.serve.common.model.dto.PageVo; |
|||
import com.qs.serve.common.model.dto.R; |
|||
import com.qs.serve.common.model.enums.BizType; |
|||
import com.qs.serve.common.model.enums.SystemModule; |
|||
import com.qs.serve.common.util.PageUtil; |
|||
import com.qs.serve.common.util.CopierUtil; |
|||
import com.qs.serve.common.util.StringUtils; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import com.qs.serve.modules.bms.entity.BmsAccount; |
|||
import com.qs.serve.modules.bms.service.BmsAccountService; |
|||
|
|||
import javax.validation.Valid; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 基础档案 账套 |
|||
* @author YenHex |
|||
* @since 2024-04-11 |
|||
*/ |
|||
@Slf4j |
|||
@AllArgsConstructor |
|||
@RestController |
|||
@RequestMapping("bms/account") |
|||
public class BmsAccountController { |
|||
|
|||
private BmsAccountService bmsAccountService; |
|||
|
|||
/** |
|||
* 列表 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@GetMapping("/list") |
|||
public R<List<BmsAccount>> getList(BmsAccount param){ |
|||
LambdaQueryWrapper<BmsAccount> lqw = new LambdaQueryWrapper<>(param); |
|||
List<BmsAccount> list = bmsAccountService.list(lqw); |
|||
return R.ok(list); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* ID查询 |
|||
* @param id |
|||
* @return |
|||
*/ |
|||
@GetMapping("/getById/{id}") |
|||
@SysLog(module = SystemModule.BASE, title = "账套", biz = BizType.QUERY) |
|||
public R<BmsAccount> getById(@PathVariable("id") String id){ |
|||
BmsAccount bmsAccount = bmsAccountService.getById(id); |
|||
return R.ok(bmsAccount); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 更新 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@PostMapping("/updateById") |
|||
@SysLog(module = SystemModule.BASE, title = "账套", biz = BizType.UPDATE) |
|||
public R<?> updateById(@RequestBody @Valid BmsAccount param){ |
|||
boolean result = bmsAccountService.updateById(param); |
|||
return R.isTrue(result); |
|||
} |
|||
|
|||
/** |
|||
* 新增 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@PostMapping("/save") |
|||
@SysLog(module = SystemModule.BASE, title = "账套", biz = BizType.INSERT) |
|||
public R<?> save(@RequestBody @Valid BmsAccount param){ |
|||
boolean result = bmsAccountService.save(param); |
|||
return R.isTrue(result); |
|||
} |
|||
|
|||
/** |
|||
* 删除 |
|||
* @param ids |
|||
* @return |
|||
*/ |
|||
@DeleteMapping("/deleteById/{ids}") |
|||
@SysLog(module = SystemModule.BASE, title = "账套", biz = BizType.DELETE) |
|||
public R<?> deleteById(@PathVariable("ids") String ids){ |
|||
List<Long> idsLong = StringUtils.splitIdLong(ids); |
|||
boolean result = bmsAccountService.removeByIds(idsLong); |
|||
return R.isTrue(result); |
|||
} |
|||
|
|||
} |
|||
|
@ -0,0 +1,77 @@ |
|||
package com.qs.serve.modules.bms.controller; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.qs.serve.common.model.annotation.SysLog; |
|||
import com.qs.serve.common.model.dto.PageVo; |
|||
import com.qs.serve.common.model.dto.R; |
|||
import com.qs.serve.common.model.enums.BizType; |
|||
import com.qs.serve.common.model.enums.SystemModule; |
|||
import com.qs.serve.common.util.PageUtil; |
|||
import com.qs.serve.common.util.CopierUtil; |
|||
import com.qs.serve.common.util.StringUtils; |
|||
import com.qs.serve.modules.bms.entity.bo.BmsAccountUserBo; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.security.access.prepost.PreAuthorize; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
import com.qs.serve.modules.bms.entity.BmsAccountUser; |
|||
import com.qs.serve.modules.bms.service.BmsAccountUserService; |
|||
|
|||
import javax.validation.Valid; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 基础档案 账套的用户 |
|||
* @author YenHex |
|||
* @since 2024-04-11 |
|||
*/ |
|||
@Slf4j |
|||
@AllArgsConstructor |
|||
@RestController |
|||
@RequestMapping("bms/accountUser") |
|||
public class BmsAccountUserController { |
|||
|
|||
private BmsAccountUserService bmsAccountUserService; |
|||
|
|||
/** |
|||
* 翻页 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@GetMapping("/page") |
|||
public R<PageVo<BmsAccountUser>> getPage(BmsAccountUser param){ |
|||
LambdaQueryWrapper<BmsAccountUser> lqw = new LambdaQueryWrapper<>(param); |
|||
PageUtil.startPage(); |
|||
List<BmsAccountUser> list = bmsAccountUserService.list(lqw); |
|||
return R.byPageHelperList(list); |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 新增 |
|||
* @param param |
|||
* @return |
|||
*/ |
|||
@PostMapping("/saveBatch") |
|||
@SysLog(module = SystemModule.BASE, title = "账套的用户", biz = BizType.INSERT) |
|||
public R<?> save(@RequestBody @Valid BmsAccountUserBo param){ |
|||
bmsAccountUserService.modify(param); |
|||
return R.ok(); |
|||
} |
|||
|
|||
/** |
|||
* 删除 |
|||
* @param ids |
|||
* @return |
|||
*/ |
|||
@DeleteMapping("/deleteById/{ids}") |
|||
@SysLog(module = SystemModule.BASE, title = "账套的用户", biz = BizType.DELETE) |
|||
public R<?> deleteById(@PathVariable("ids") String ids){ |
|||
List<Long> idsLong = StringUtils.splitIdLong(ids); |
|||
boolean result = bmsAccountUserService.removeByIds(idsLong); |
|||
return R.isTrue(result); |
|||
} |
|||
|
|||
} |
|||
|
@ -0,0 +1,97 @@ |
|||
package com.qs.serve.modules.bms.entity; |
|||
|
|||
import java.time.LocalDate; |
|||
import java.io.Serializable; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.*; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import lombok.Data; |
|||
import org.hibernate.validator.constraints.Length; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
import javax.validation.constraints.NotBlank; |
|||
|
|||
/** |
|||
* 账套 实体类 |
|||
* @author YenHex |
|||
* @since 2024-04-11 |
|||
*/ |
|||
@Data |
|||
@TableName("bms_account") |
|||
public class BmsAccount implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** id */ |
|||
@TableId(type = IdType.AUTO) |
|||
private Long id; |
|||
|
|||
/** 账套名称 */ |
|||
@Length(max = 255,message = "账套名称长度不能超过255字") |
|||
private String bookName; |
|||
|
|||
/** 账套编码 */ |
|||
@Length(max = 255,message = "账套编码长度不能超过255字") |
|||
private String bookCode; |
|||
|
|||
/** 是否停用 */ |
|||
private Integer stopFlag; |
|||
|
|||
/** 备注 */ |
|||
@Length(max = 255,message = "备注长度不能超过255字") |
|||
private String remark; |
|||
|
|||
/** 创建时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private LocalDateTime createTime; |
|||
|
|||
/** 创建人 */ |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private String createBy; |
|||
|
|||
/** 更新时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private LocalDateTime updateTime; |
|||
|
|||
/** 更新人 */ |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private String updateBy; |
|||
|
|||
/** 删除标识 */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private Boolean delFlag; |
|||
|
|||
/** 租户id */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private String tenantId; |
|||
|
|||
|
|||
public static BmsAccount toNewObject(BmsAccount source){ |
|||
BmsAccount account = new BmsAccount(); |
|||
account.setId(source.getId()); |
|||
account.setBookName(source.getBookName()); |
|||
account.setBookCode(source.getBookCode()); |
|||
account.setStopFlag(source.getStopFlag()); |
|||
account.setRemark(source.getRemark()); |
|||
account.setCreateTime(source.getCreateTime()); |
|||
account.setCreateBy(source.getCreateBy()); |
|||
account.setUpdateTime(source.getUpdateTime()); |
|||
account.setUpdateBy(source.getUpdateBy()); |
|||
account.setDelFlag(source.getDelFlag()); |
|||
account.setTenantId(source.getTenantId()); |
|||
return account; |
|||
} |
|||
|
|||
} |
|||
|
@ -0,0 +1,117 @@ |
|||
package com.qs.serve.modules.bms.entity; |
|||
|
|||
import java.time.LocalDate; |
|||
import java.io.Serializable; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
|
|||
import com.baomidou.mybatisplus.annotation.*; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import lombok.Data; |
|||
import org.hibernate.validator.constraints.Length; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
import javax.validation.constraints.NotBlank; |
|||
|
|||
/** |
|||
* 账套的用户 实体类 |
|||
* @author YenHex |
|||
* @since 2024-04-11 |
|||
*/ |
|||
@Data |
|||
@TableName("bms_account_user") |
|||
public class BmsAccountUser implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** id */ |
|||
@TableId(type = IdType.AUTO) |
|||
private Long id; |
|||
|
|||
/** 账套ID */ |
|||
@NotNull(message = "账套ID不能为空") |
|||
private Long bookId; |
|||
|
|||
/** 账套编码 */ |
|||
@Length(max = 255,message = "账套编码长度不能超过255字") |
|||
private String bookCode; |
|||
|
|||
/** 账套名称 */ |
|||
@Length(max = 255,message = "账套名称长度不能超过255字") |
|||
private String bookName; |
|||
|
|||
/** 用户ID */ |
|||
@Length(max = 255,message = "用户ID长度不能超过255字") |
|||
private String userId; |
|||
|
|||
/** 用户编码 */ |
|||
@Length(max = 255,message = "用户编码长度不能超过255字") |
|||
private String userCode; |
|||
|
|||
/** 用户名称 */ |
|||
@Length(max = 255,message = "用户名称长度不能超过255字") |
|||
private String userName; |
|||
|
|||
/** 是否显示 */ |
|||
private Integer stopFlag; |
|||
|
|||
/** 备注 */ |
|||
@Length(max = 255,message = "备注长度不能超过255字") |
|||
private String remark; |
|||
|
|||
/** 创建时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private LocalDateTime createTime; |
|||
|
|||
/** 创建人 */ |
|||
@TableField(fill = FieldFill.INSERT) |
|||
private String createBy; |
|||
|
|||
/** 更新时间 */ |
|||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private LocalDateTime updateTime; |
|||
|
|||
/** 更新人 */ |
|||
@TableField(fill = FieldFill.UPDATE) |
|||
private String updateBy; |
|||
|
|||
/** 删除标识 */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private Boolean delFlag; |
|||
|
|||
/** 租户id */ |
|||
@JsonIgnore |
|||
@JsonProperty |
|||
private String tenantId; |
|||
|
|||
|
|||
public static BmsAccountUser toNewObject(BmsAccountUser source){ |
|||
BmsAccountUser accountUser = new BmsAccountUser(); |
|||
accountUser.setId(source.getId()); |
|||
accountUser.setBookId(source.getBookId()); |
|||
accountUser.setBookCode(source.getBookCode()); |
|||
accountUser.setBookName(source.getBookName()); |
|||
accountUser.setUserId(source.getUserId()); |
|||
accountUser.setUserCode(source.getUserCode()); |
|||
accountUser.setUserName(source.getUserName()); |
|||
accountUser.setStopFlag(source.getStopFlag()); |
|||
accountUser.setRemark(source.getRemark()); |
|||
accountUser.setCreateTime(source.getCreateTime()); |
|||
accountUser.setCreateBy(source.getCreateBy()); |
|||
accountUser.setUpdateTime(source.getUpdateTime()); |
|||
accountUser.setUpdateBy(source.getUpdateBy()); |
|||
accountUser.setDelFlag(source.getDelFlag()); |
|||
accountUser.setTenantId(source.getTenantId()); |
|||
return accountUser; |
|||
} |
|||
|
|||
} |
|||
|
@ -0,0 +1,36 @@ |
|||
package com.qs.serve.modules.bms.entity.bo; |
|||
|
|||
import java.time.LocalDate; |
|||
import java.io.Serializable; |
|||
import java.math.BigDecimal; |
|||
import java.time.LocalDateTime; |
|||
import java.util.List; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.annotation.JsonIgnore; |
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import lombok.Data; |
|||
import org.hibernate.validator.constraints.Length; |
|||
import org.springframework.format.annotation.DateTimeFormat; |
|||
|
|||
import javax.validation.constraints.NotNull; |
|||
import javax.validation.constraints.NotBlank; |
|||
|
|||
/** |
|||
* 账套的用户 Bo |
|||
* @author YenHex |
|||
* @since 2024-04-11 |
|||
*/ |
|||
@Data |
|||
public class BmsAccountUserBo implements Serializable { |
|||
|
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
/** 账套ID */ |
|||
private Long bookId; |
|||
|
|||
/** 用户ID列表 */ |
|||
private List<String> userIds; |
|||
|
|||
} |
|||
|
@ -0,0 +1,14 @@ |
|||
package com.qs.serve.modules.bms.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.qs.serve.modules.bms.entity.BmsAccount; |
|||
|
|||
/** |
|||
* 账套 Mapper |
|||
* @author YenHex |
|||
* @date 2024-04-11 |
|||
*/ |
|||
public interface BmsAccountMapper extends BaseMapper<BmsAccount> { |
|||
|
|||
} |
|||
|
@ -0,0 +1,14 @@ |
|||
package com.qs.serve.modules.bms.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.qs.serve.modules.bms.entity.BmsAccountUser; |
|||
|
|||
/** |
|||
* 账套的用户 Mapper |
|||
* @author YenHex |
|||
* @date 2024-04-11 |
|||
*/ |
|||
public interface BmsAccountUserMapper extends BaseMapper<BmsAccountUser> { |
|||
|
|||
} |
|||
|
@ -0,0 +1,14 @@ |
|||
package com.qs.serve.modules.bms.service; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
import com.qs.serve.modules.bms.entity.BmsAccount; |
|||
|
|||
/** |
|||
* 账套 服务接口 |
|||
* @author YenHex |
|||
* @date 2024-04-11 |
|||
*/ |
|||
public interface BmsAccountService extends IService<BmsAccount> { |
|||
|
|||
} |
|||
|
@ -0,0 +1,17 @@ |
|||
package com.qs.serve.modules.bms.service; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
import com.qs.serve.modules.bms.entity.BmsAccountUser; |
|||
import com.qs.serve.modules.bms.entity.bo.BmsAccountUserBo; |
|||
|
|||
/** |
|||
* 账套的用户 服务接口 |
|||
* @author YenHex |
|||
* @date 2024-04-11 |
|||
*/ |
|||
public interface BmsAccountUserService extends IService<BmsAccountUser> { |
|||
|
|||
void modify(BmsAccountUserBo param); |
|||
|
|||
} |
|||
|
@ -0,0 +1,22 @@ |
|||
package com.qs.serve.modules.bms.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Service; |
|||
import com.qs.serve.modules.bms.entity.BmsAccount; |
|||
import com.qs.serve.modules.bms.service.BmsAccountService; |
|||
import com.qs.serve.modules.bms.mapper.BmsAccountMapper; |
|||
|
|||
/** |
|||
* 账套 服务实现类 |
|||
* @author YenHex |
|||
* @since 2024-04-11 |
|||
*/ |
|||
@Slf4j |
|||
@Service |
|||
@AllArgsConstructor |
|||
public class BmsAccountServiceImpl extends ServiceImpl<BmsAccountMapper,BmsAccount> implements BmsAccountService { |
|||
|
|||
} |
|||
|
@ -0,0 +1,59 @@ |
|||
package com.qs.serve.modules.bms.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.qs.serve.common.util.Assert; |
|||
import com.qs.serve.modules.bms.entity.BmsAccount; |
|||
import com.qs.serve.modules.bms.entity.bo.BmsAccountUserBo; |
|||
import com.qs.serve.modules.bms.mapper.BmsAccountMapper; |
|||
import com.qs.serve.modules.sys.entity.SysUser; |
|||
import com.qs.serve.modules.sys.mapper.SysUserMapper; |
|||
import lombok.AllArgsConstructor; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.stereotype.Service; |
|||
import com.qs.serve.modules.bms.entity.BmsAccountUser; |
|||
import com.qs.serve.modules.bms.service.BmsAccountUserService; |
|||
import com.qs.serve.modules.bms.mapper.BmsAccountUserMapper; |
|||
|
|||
import java.util.List; |
|||
import java.util.stream.Collectors; |
|||
|
|||
/** |
|||
* 账套的用户 服务实现类 |
|||
* @author YenHex |
|||
* @since 2024-04-11 |
|||
*/ |
|||
@Slf4j |
|||
@Service |
|||
@AllArgsConstructor |
|||
public class BmsAccountUserServiceImpl extends ServiceImpl<BmsAccountUserMapper,BmsAccountUser> implements BmsAccountUserService { |
|||
|
|||
private SysUserMapper sysUserMapper; |
|||
private BmsAccountMapper bmsAccountMapper; |
|||
|
|||
@Override |
|||
public void modify(BmsAccountUserBo param) { |
|||
BmsAccount account = bmsAccountMapper.selectById(param.getBookId()); |
|||
if(account.getStopFlag().equals(1)){ |
|||
Assert.throwEx("账套已停用"); |
|||
} |
|||
List<SysUser> userList = sysUserMapper.selectList(new LambdaQueryWrapper<SysUser>() |
|||
.select(SysUser::getId,SysUser::getName,SysUser::getCode) |
|||
.in(SysUser::getId,param.getUserIds()) |
|||
); |
|||
List<BmsAccountUser> accountUserList = userList.stream().map(user->{ |
|||
BmsAccountUser accUser = new BmsAccountUser(); |
|||
accUser.setBookId(account.getId()); |
|||
accUser.setBookCode(account.getBookCode()); |
|||
accUser.setBookName(account.getBookName()); |
|||
accUser.setUserId(user.getId()); |
|||
accUser.setUserCode(user.getCode()); |
|||
accUser.setUserName(user.getName()); |
|||
accUser.setStopFlag(0); |
|||
return accUser; |
|||
}).collect(Collectors.toList()); |
|||
this.saveBatch(accountUserList); |
|||
} |
|||
|
|||
} |
|||
|
Loading…
Reference in new issue