分公司管理
This commit is contained in:
parent
f08ec854e3
commit
a04d624718
|
|
@ -0,0 +1,94 @@
|
|||
package com.bonus.base.basic.controller;
|
||||
|
||||
import com.bonus.base.basic.domain.vo.BranchCompanyVo;
|
||||
import com.bonus.base.basic.service.IBranchCompanyService;
|
||||
import com.bonus.base.basic.service.IBranchCompanyService;
|
||||
import com.bonus.common.core.web.controller.BaseController;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.common.core.web.page.TableDataInfo;
|
||||
import com.bonus.common.log.annotation.SysLog;
|
||||
import com.bonus.common.log.enums.OperaType;
|
||||
import com.bonus.common.security.annotation.RequiresPermissions;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @className:BranchCompanyController
|
||||
* @author:cwchen
|
||||
* @date:2025-04-10-10:22
|
||||
* @version:1.0
|
||||
* @description:分公司管理-控制层
|
||||
*/
|
||||
@Api(tags = "分公司管理")
|
||||
@RestController
|
||||
@RequestMapping("/branchCompany/")
|
||||
public class BranchCompanyController extends BaseController {
|
||||
|
||||
@Resource(name = "IBranchCompanyService")
|
||||
private IBranchCompanyService service;
|
||||
|
||||
@ApiOperation(value = "查询分公司数据")
|
||||
@RequiresPermissions("basic:branchCompany:list")
|
||||
@SysLog(title = "分公司管理", businessType = OperaType.QUERY, logType = 1,module = "分公司管理->查询分公司数据")
|
||||
@GetMapping("queryBranchCompanyList")
|
||||
public TableDataInfo queryBranchCompanyList(BranchCompanyVo vo) {
|
||||
startPage();
|
||||
List<BranchCompanyVo> list = service.queryBranchCompanyList(vo);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "新增分公司")
|
||||
// @PreventRepeatSubmit
|
||||
@RequiresPermissions("basic:branchCompany:add")
|
||||
@SysLog(title = "分公司管理", businessType = OperaType.INSERT, logType = 1,module = "分公司管理->新增分公司")
|
||||
@PostMapping("addBranchCompany")
|
||||
public AjaxResult addBranchCompany(@RequestBody BranchCompanyVo vo) {
|
||||
return service.addBranchCompany(vo);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "分公司详情")
|
||||
@GetMapping("detailBranchCompany")
|
||||
public AjaxResult detailBranchCompany(BranchCompanyVo vo) {
|
||||
return service.detailBranchCompany(vo);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改分公司")
|
||||
// @PreventRepeatSubmit
|
||||
@RequiresPermissions("basic:branchCompany:edit")
|
||||
@SysLog(title = "分公司管理", businessType = OperaType.UPDATE, logType = 1,module = "分公司管理->修改分公司")
|
||||
@PostMapping("editBranchCompany")
|
||||
public AjaxResult editBranchCompany(@RequestBody BranchCompanyVo vo) {
|
||||
return service.editBranchCompany(vo);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "删除分公司")
|
||||
// @PreventRepeatSubmit
|
||||
@RequiresPermissions("basic:branchCompany:del")
|
||||
@SysLog(title = "分公司管理", businessType = OperaType.UPDATE, logType = 1,module = "分公司管理->删除分公司")
|
||||
@PostMapping("delBranchCompany")
|
||||
public AjaxResult delBranchCompany(@RequestBody BranchCompanyVo vo) {
|
||||
return service.delBranchCompany(vo);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "修改分公司状态")
|
||||
// @PreventRepeatSubmit
|
||||
@RequiresPermissions("basic:branchCompany:editStatus")
|
||||
@SysLog(title = "分公司管理", businessType = OperaType.UPDATE, logType = 1,module = "分公司管理->修改分公司状态")
|
||||
@PostMapping("editBranchCompanyStatus")
|
||||
public AjaxResult editBranchCompanyStatus(@RequestBody BranchCompanyVo vo) {
|
||||
return service.editBranchCompanyStatus(vo);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "查询分公司数据")
|
||||
@RequiresPermissions("basic:branchCompany:list")
|
||||
@SysLog(title = "分公司管理", businessType = OperaType.QUERY, logType = 1,module = "分公司管理->查询分公司数据")
|
||||
@GetMapping("queryBranchCompanyListAll")
|
||||
public AjaxResult queryBranchCompanyListAll(BranchCompanyVo vo) {
|
||||
List<BranchCompanyVo> list = service.queryBranchCompanyList(vo);
|
||||
return success(list);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
package com.bonus.base.basic.domain.vo;
|
||||
|
||||
import com.bonus.common.security.utils.SecurityUtils;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import lombok.Data;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import java.util.Date;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @className:SysUnitVo
|
||||
* @author:cwchen
|
||||
* @date:2025-04-10-9:44
|
||||
* @version:1.0
|
||||
* @description:分公司-VO
|
||||
*/
|
||||
@Data
|
||||
public class BranchCompanyVo {
|
||||
|
||||
/**关键字*/
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
private String keyWord;
|
||||
|
||||
@NotNull(message = "id不能为空", groups = {Edit.class,Del.class,EditStatus.class})
|
||||
private Long id;
|
||||
/**
|
||||
* 分公司名称
|
||||
*/
|
||||
@NotBlank(message = "分公司名称不能为空", groups = {Add.class, Edit.class})
|
||||
@Length(max = 128, message = "分公司名称字符长度不能超过128", groups = {Add.class, Edit.class})
|
||||
private String companyName;
|
||||
/**
|
||||
* 简称
|
||||
*/
|
||||
@NotBlank(message = "简称不能为空", groups = {Add.class, Edit.class})
|
||||
@Length(max = 128, message = "简称字符长度不能超过128", groups = {Add.class, Edit.class})
|
||||
private String abbrName;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@NotBlank(message = "状态不能为空", groups = {Add.class, Edit.class,EditStatus.class})
|
||||
@Pattern(regexp = "[01]", message = "只允许输入0或1",groups = {Add.class, Edit.class,EditStatus.class})
|
||||
private String useStatus;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Length(max = 255, message = "备注字符长度不能超过255", groups = {Add.class, Edit.class})
|
||||
private String remark;
|
||||
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
private Long createUserId = Optional.ofNullable(SecurityUtils.getUserId()).orElse(0L);
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
private Long updateUserId = Optional.ofNullable(SecurityUtils.getUserId()).orElse(0L);
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
* */
|
||||
private String updateUserName;
|
||||
|
||||
|
||||
/**
|
||||
* 新增条件限制
|
||||
*/
|
||||
public interface Add {
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改条件限制
|
||||
*/
|
||||
public interface Edit {
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除条件限制
|
||||
*/
|
||||
public interface Del {
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除条件限制
|
||||
*/
|
||||
public interface EditStatus {
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
package com.bonus.base.basic.mapper;
|
||||
|
||||
import com.bonus.base.basic.domain.vo.BranchCompanyVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @className:BranchCompanyMapper
|
||||
* @author:cwchen
|
||||
* @date:2025-04-17-17:06
|
||||
* @version:1.0
|
||||
* @description:分公司管理-数据层
|
||||
*/
|
||||
@Repository(value = "BranchCompanyMapper")
|
||||
public interface IBranchCompanyMapper {
|
||||
|
||||
/**
|
||||
* 查询分公司数据
|
||||
*
|
||||
* @param vo
|
||||
* @return List<BranchCompanyVo>
|
||||
* @author cwchen
|
||||
* @date 2025/4/10 10:55
|
||||
*/
|
||||
List<BranchCompanyVo> queryBranchCompanyList(BranchCompanyVo vo);
|
||||
|
||||
/**
|
||||
* 查询字段是否重复
|
||||
*
|
||||
* @param vo
|
||||
* @return int
|
||||
* @author cwchen
|
||||
* @date 2025/4/10 13:36
|
||||
*/
|
||||
int queryValueIsExist(@Param("params") BranchCompanyVo vo, @Param("value")String value, @Param("columnName") String columnName);
|
||||
|
||||
/**
|
||||
* 1.新增/2.修改/3.删除/4.修改分公司状态 分公司
|
||||
* @param vo
|
||||
* @param type
|
||||
* @return void
|
||||
* @author cwchen
|
||||
* @date 2025/4/10 13:53
|
||||
*/
|
||||
void addOrUpdateBranchCompany(@Param("params") BranchCompanyVo vo, @Param("type") int type);
|
||||
|
||||
/**
|
||||
* 分公司详情
|
||||
* @param vo
|
||||
* @return BranchCompanyVo
|
||||
* @author cwchen
|
||||
* @date 2025/4/10 17:52
|
||||
*/
|
||||
BranchCompanyVo detailBranchCompany(BranchCompanyVo vo);
|
||||
}
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
package com.bonus.base.basic.service;
|
||||
|
||||
import com.bonus.base.basic.domain.vo.BranchCompanyVo;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @className:BranchCompanyService
|
||||
* @author:cwchen
|
||||
* @date:2025-04-17-17:05
|
||||
* @version:1.0
|
||||
* @description:分公司管理-业务层
|
||||
*/
|
||||
public interface IBranchCompanyService {
|
||||
|
||||
/**
|
||||
* 查询分公司数据
|
||||
* @param vo
|
||||
* @return List<BranchCompanyVo>
|
||||
* @author cwchen
|
||||
* @date 2025/4/10 10:52
|
||||
*/
|
||||
List<BranchCompanyVo> queryBranchCompanyList(BranchCompanyVo vo);
|
||||
|
||||
/**
|
||||
* 新增分公司
|
||||
* @param vo
|
||||
* @return AjaxResult
|
||||
* @author cwchen
|
||||
* @date 2025/4/10 13:29
|
||||
*/
|
||||
AjaxResult addBranchCompany(BranchCompanyVo vo);
|
||||
|
||||
/**
|
||||
* 修改分公司
|
||||
* @param vo
|
||||
* @return AjaxResult
|
||||
* @author cwchen
|
||||
* @date 2025/4/10 14:00
|
||||
*/
|
||||
AjaxResult editBranchCompany(BranchCompanyVo vo);
|
||||
|
||||
/**
|
||||
* 删除分公司
|
||||
* @param vo
|
||||
* @return AjaxResult
|
||||
* @author cwchen
|
||||
* @date 2025/4/10 14:01
|
||||
*/
|
||||
AjaxResult delBranchCompany(BranchCompanyVo vo);
|
||||
|
||||
/**
|
||||
* 分公司详情
|
||||
* @param vo
|
||||
* @return AjaxResult
|
||||
* @author cwchen
|
||||
* @date 2025/4/10 17:50
|
||||
*/
|
||||
AjaxResult detailBranchCompany(BranchCompanyVo vo);
|
||||
|
||||
/**
|
||||
* 修改分公司状态
|
||||
* @param vo
|
||||
* @return AjaxResult
|
||||
* @author cwchen
|
||||
* @date 2025/4/17 17:34
|
||||
*/
|
||||
AjaxResult editBranchCompanyStatus(BranchCompanyVo vo);
|
||||
}
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
package com.bonus.base.basic.service.impl;
|
||||
|
||||
import com.bonus.base.basic.domain.vo.BranchCompanyVo;
|
||||
import com.bonus.base.basic.mapper.IBranchCompanyMapper;
|
||||
import com.bonus.base.basic.service.IBranchCompanyService;
|
||||
import com.bonus.common.core.utils.uuid.IdUtils;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.common.security.utils.ValidatorsUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* @className:BranchCompanyServiceImpl
|
||||
* @author:cwchen
|
||||
* @date:2025-04-17-17:05
|
||||
* @version:1.0
|
||||
* @description:分公司管理-业务逻辑层
|
||||
*/
|
||||
@Service(value = "IBranchCompanyService")
|
||||
@Slf4j
|
||||
public class BranchCompanyServiceImpl implements IBranchCompanyService {
|
||||
|
||||
@Resource(name = "BranchCompanyMapper")
|
||||
private IBranchCompanyMapper mapper;
|
||||
|
||||
@Resource(name = "ValidatorsUtils")
|
||||
private ValidatorsUtils validatorsUtils;
|
||||
|
||||
@Override
|
||||
public List<BranchCompanyVo> queryBranchCompanyList(BranchCompanyVo vo) {
|
||||
try {
|
||||
List<BranchCompanyVo> list = Optional.ofNullable(mapper.queryBranchCompanyList(vo)).orElseGet(ArrayList::new);
|
||||
return list;
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(), e);
|
||||
return new ArrayList<BranchCompanyVo>();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult addBranchCompany(BranchCompanyVo vo) {
|
||||
try {
|
||||
// 校验必填数据
|
||||
String validResult = validatorsUtils.valid(vo, BranchCompanyVo.Add.class);
|
||||
if (StringUtils.isNotBlank(validResult)) {
|
||||
return AjaxResult.error(validResult);
|
||||
}
|
||||
// 校验分公司名称是否重复
|
||||
int flag = mapper.queryValueIsExist(vo,vo.getCompanyName(),"company_name");
|
||||
if (flag > 0) return AjaxResult.error("分公司名称已存在");
|
||||
mapper.addOrUpdateBranchCompany(vo,1);
|
||||
return AjaxResult.success();
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(), e);
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
return AjaxResult.error();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult editBranchCompany(BranchCompanyVo vo) {
|
||||
try {
|
||||
// 校验必填数据
|
||||
String validResult = validatorsUtils.valid(vo, BranchCompanyVo.Edit.class);
|
||||
if (StringUtils.isNotBlank(validResult)) {
|
||||
return AjaxResult.error(validResult);
|
||||
}
|
||||
// 校验分公司名称是否重复
|
||||
int flag = mapper.queryValueIsExist(vo,vo.getCompanyName(),"company_name");
|
||||
if (flag > 0) return AjaxResult.error("分公司名称已存在");
|
||||
mapper.addOrUpdateBranchCompany(vo,2);
|
||||
return AjaxResult.success();
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(), e);
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
return AjaxResult.error();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult delBranchCompany(BranchCompanyVo vo) {
|
||||
try {
|
||||
// 校验必填数据
|
||||
String validResult = validatorsUtils.valid(vo, BranchCompanyVo.Del.class);
|
||||
if (StringUtils.isNotBlank(validResult)) {
|
||||
return AjaxResult.error(validResult);
|
||||
}
|
||||
mapper.addOrUpdateBranchCompany(vo,3);
|
||||
return AjaxResult.success();
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(), e);
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
return AjaxResult.error();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult editBranchCompanyStatus(BranchCompanyVo vo) {
|
||||
try {
|
||||
// 校验必填数据
|
||||
String validResult = validatorsUtils.valid(vo, BranchCompanyVo.EditStatus.class);
|
||||
if (StringUtils.isNotBlank(validResult)) {
|
||||
return AjaxResult.error(validResult);
|
||||
}
|
||||
mapper.addOrUpdateBranchCompany(vo,4);
|
||||
return AjaxResult.success();
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(), e);
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
return AjaxResult.error();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult detailBranchCompany(BranchCompanyVo vo) {
|
||||
try {
|
||||
BranchCompanyVo BranchCompanyVo = Optional.ofNullable(mapper.detailBranchCompany(vo)).orElseGet(BranchCompanyVo::new);
|
||||
return AjaxResult.success(BranchCompanyVo);
|
||||
} catch (Exception e) {
|
||||
log.error(e.toString(), e);
|
||||
return AjaxResult.error();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
<?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.bonus.base.basic.mapper.IBranchCompanyMapper">
|
||||
<!--1.新增/2.修改/3.删除分公司-->
|
||||
<insert id="addOrUpdateBranchCompany">
|
||||
<if test="type == 1">
|
||||
INSERT INTO tb_branch_company
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="params.companyName != null and params.companyName != ''">company_name,</if>
|
||||
<if test="params.abbrName != null and params.abbrName != ''">abbr_name,</if>
|
||||
<if test="params.useStatus != null and params.useStatus != ''">use_status,</if>
|
||||
<if test="params.remark != null and params.remark!=''">remark,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="params.companyName != null and params.companyName != ''">#{params.companyName},</if>
|
||||
<if test="params.abbrName != null and params.abbrName != ''">#{params.abbrName},</if>
|
||||
<if test="params.useStatus != null and params.useStatus != ''">#{params.useStatus},</if>
|
||||
<if test="params.remark != null and params.remark!=''">#{params.remark},</if>
|
||||
</trim>
|
||||
</if>
|
||||
<if test="type == 2">
|
||||
UPDATE tb_branch_company
|
||||
<trim prefix="SET " suffixOverrides=",">
|
||||
company_name = #{params.companyName},
|
||||
abbr_name = #{params.abbrName},
|
||||
use_status = #{params.useStatus},
|
||||
remark = #{params.remark},
|
||||
</trim>
|
||||
WHERE id = #{params.id}
|
||||
</if>
|
||||
<if test="type == 3">
|
||||
UPDATE tb_branch_company SET is_active = '0' WHERE id = #{params.id}
|
||||
</if>
|
||||
<if test="type == 3">
|
||||
UPDATE tb_branch_company SET use_status = #{params.useStatus} WHERE id = #{params.id}
|
||||
</if>
|
||||
</insert>
|
||||
|
||||
<!--查询分公司数据-->
|
||||
<select id="queryBranchCompanyList" resultType="com.bonus.base.basic.domain.vo.BranchCompanyVo">
|
||||
SELECT tbc.id,
|
||||
tbc.company_name AS companyName,
|
||||
tbc.abbr_name AS abbrName,
|
||||
tbc.use_status AS useStatus,
|
||||
tbc.remark AS remark,
|
||||
su.nick_name AS updateUserName,
|
||||
tbc.update_time AS updateTime
|
||||
FROM tb_branch_company tbc
|
||||
LEFT JOIN sys_user su ON tbc.update_user_id = su.user_id
|
||||
<where>
|
||||
<if test="keyWord!=null and keyWord!=''">
|
||||
AND INSTR(tbc.company_name,#{keyWord}) > 0
|
||||
</if>
|
||||
AND tbc.is_active = '1'
|
||||
</where>
|
||||
</select>
|
||||
<!--查询字段是否重复-->
|
||||
<select id="queryValueIsExist" resultType="java.lang.Integer">
|
||||
<if test="params.id==null or params.id==''">
|
||||
SELECT COUNT(1)
|
||||
FROM tb_branch_company
|
||||
WHERE ${columnName} = #{value} AND is_active = '1'
|
||||
</if>
|
||||
<if test="params.id!=null and params.id!=''">
|
||||
SELECT COUNT(1)
|
||||
FROM tb_branch_company
|
||||
WHERE ${columnName} = #{value} AND id != #{params.id} AND is_active = '1'
|
||||
</if>
|
||||
</select>
|
||||
<!--分公司详情-->
|
||||
<select id="detailBranchCompany" resultType="com.bonus.base.basic.domain.vo.BranchCompanyVo">
|
||||
SELECT id,
|
||||
company_name AS companyName,
|
||||
abbr_name AS abbrName,
|
||||
use_status AS useStatus,
|
||||
remark AS remark
|
||||
FROM tb_branch_company
|
||||
WHERE id = #{id}
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue