jiangping
2024-11-22 6cd597dd7a0cf3e560ee198b536ea7f4e568930b
开发更新
已修改7个文件
177 ■■■■ 文件已修改
server/system_service/src/main/java/com/doumee/dao/business/model/Company.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwAccountMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwAccount.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwAccountServiceImpl.java 96 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/dao/business/model/Company.java
@@ -55,6 +55,12 @@
    @ApiModelProperty(value = "名称")
    @ExcelColumn(name="名称")
    private String name;
    @ApiModelProperty(value = "公司简称")
    @ExcelColumn(name="公司简称")
    private String shortName;
    @ApiModelProperty(value = "公司地址")
    @ExcelColumn(name="公司地址")
    private String address;
    @ApiModelProperty(value = "备注")
    @ExcelColumn(name="备注")
@@ -76,8 +82,8 @@
    @ExcelColumn(name="图标")
    private String imgurl;
    @ApiModelProperty(value = "类型 0相关方公司 1内部组织 2运维公司管理")
    @ExcelColumn(name="类型 0相关方公司 1内部组织")
    @ApiModelProperty(value = "类型 0相关方公司 1内部组织 2运维财务公司管理")
    @ExcelColumn(name="类型 0相关方公司 1内部组织 2运维财务公司管理")
    private Integer type;
    @ApiModelProperty(value = "分类编码(关联category)")
@@ -193,6 +199,9 @@
    @ApiModelProperty(value = "父级部门级别类型 0相关方 1内部组织", example = "1")
    @TableField(exist = false)
    private String parentType;
    @ApiModelProperty(value = "财务账户数量", example = "1")
    @TableField(exist = false)
    private Integer accountNum;
    @ApiModelProperty(value = "erp部门级别路径", example = "1")
    @ExcelColumn(name="erp部门级别路径")
    private String erpCompanyPath;
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/CompanyCloudController.java
@@ -56,6 +56,22 @@
    }
    @PreventRepeat
    @ApiOperation("创建财务公司")
    @PostMapping("/createFinanceCompany")
    @CloudRequiredPermission("business:company:create")
    public ApiResponse<Integer> createFinanceCompany(@RequestBody Company company, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        company.setLoginUserInfo(this.getLoginUser(token));
        return ApiResponse.success(companyService.createFinanceCompany(company));
    }
    @PreventRepeat
    @ApiOperation("更新财务公司")
    @PostMapping("/updateFinanceCompany")
    @CloudRequiredPermission("business:company:update")
    public ApiResponse<Integer> updateFinanceCompany(@RequestBody Company company, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        company.setLoginUserInfo(this.getLoginUser(token));
        return ApiResponse.success(companyService.updateFinanceCompany(company));
    }
    @PreventRepeat
    @ApiOperation("创建劳务公司")
    @PostMapping("/createLaborServices")
    @CloudRequiredPermission("business:company:create")
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/YwAccountMapper.java
@@ -2,11 +2,12 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.doumee.dao.business.model.YwAccount;
import com.github.yulichang.base.MPJBaseMapper;
/**
 * @author 江蹄蹄
 * @date 2024/11/19 18:09
 */
public interface YwAccountMapper extends BaseMapper<YwAccount> {
public interface YwAccountMapper extends MPJBaseMapper<YwAccount> {
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwAccount.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.doumee.core.annotation.excel.ExcelColumn;
import com.doumee.core.model.LoginUserModel;
import io.swagger.annotations.ApiModel;
@@ -83,5 +84,8 @@
    @ApiModelProperty(value = "开户行地址")
    @ExcelColumn(name="开户行地址")
    private String bankAddr;
    @ApiModelProperty(value = "企业名称")
    @TableField(exist = false)
    private String companyName;
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/CompanyService.java
@@ -126,4 +126,7 @@
    List<Company> companyTree(Integer type);
    void updateSort(UpdateCompanySortDTO dto);
    Integer createFinanceCompany(Company company);
    Integer updateFinanceCompany(Company company);
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -64,6 +64,32 @@
    @Autowired
    private CompanyJoinMapper companyJoinMapper;
    /**
     * 创建财务公司
     * @param company
     * @return
     */
    @Override
    public Integer createFinanceCompany(Company company) {
        company.setType(Constants.TWO);
        if(companyMapper.selectCount(new QueryWrapper<Company>().lambda()
                .eq(Company::getName,company.getName())
                .eq(Company::getType,company.getType())
                .eq(Company::getIsdeleted,Constants.ZERO)) >0){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,名称不能重复~");
        }
        company.setCreateDate(new Date());
        company.setCreator(company.getLoginUserInfo().getId());
        company.setIsdeleted(Constants.ZERO);
        company.setStatus(Constants.ZERO);
        company.setSortnum(0);//默认最上面
        company.setHkDate(company.getCreateDate());
        company.setEditDate(company.getCreateDate());
        company.setEditor(company.getCreator());
        companyMapper.insert(company);
        return company.getId();
    }
    @Override
    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
    public Integer create(Company company) {
@@ -332,6 +358,18 @@
        companyMapper.updateById(company);
        return null;
    }
    @Override
    public Integer updateFinanceCompany(Company company) {
        if(companyMapper.selectCount(new QueryWrapper<Company>().lambda()
                .eq(Company::getName,company.getName())
                .eq(Company::getType,company.getType())
                .ne(Company::getId,company.getId())
                .eq(Company::getIsdeleted,Constants.ZERO)) >0){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,名称不能重复~");
        }
        companyMapper.updateById(company);
        return company.getId();
    }
    @Override
    public void updateByIdInBatch(List<Company> companys) {
@@ -570,7 +608,8 @@
        /*        .leftJoin(Member.class, Member::getId,Company::getHeadId)*/
      /*  queryWrapper.leftJoin(" company c on c.id=t.parent_id");*/
        queryWrapper.selectAll(Company.class)
                .select("(select count(m.id) from member m where m.COMPANY_ID=t.id and m.ISDELETED=0) as countNum") ;
                .select("(select count(m.id) from member m where m.COMPANY_ID=t.id and m.ISDELETED=0) ",Company::getCountNum)
                .select("(select count(m.id) from yw_account m where m.COMPANY_ID=t.id and m.ISDELETED=0)",Company::getAccountNum) ;
        queryWrapper.select("t1.name",Company::getParentName);
        queryWrapper.select("t1.company_path",Company::getParentCompanyPath);
        queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getStatus()),Company::getStatus,Constants.ZERO);
@@ -651,6 +690,7 @@
        QueryWrapper<Company> wrapper = new QueryWrapper<>();
        wrapper.lambda()
                .eq(Company::getIsdeleted,Constants.ZERO)
                .eq(Company::getType,company.getType())
                .eq(Company::getName,company.getName());
        List<Company> companies = companyMapper.selectList(wrapper);
        if (CollectionUtils.isEmpty(companies)){
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwAccountServiceImpl.java
@@ -1,20 +1,28 @@
package com.doumee.service.business.impl;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.YwAccountMapper;
import com.doumee.dao.business.dao.CompanyMapper;
import com.doumee.dao.business.model.Company;
import com.doumee.dao.business.model.YwAccount;
import com.doumee.dao.business.model.YwProject;
import com.doumee.service.business.YwAccountService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
/**
@@ -27,16 +35,38 @@
    @Autowired
    private YwAccountMapper ywAccountMapper;
    @Autowired
    private CompanyMapper companyMapper;
    @Override
    public Integer create(YwAccount ywAccount) {
        ywAccountMapper.insert(ywAccount);
        return ywAccount.getId();
    public Integer create(YwAccount model) {
        if(model.getCompanyId()==null){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,请选择正确的公司信息");
        }
        Company ywProject = companyMapper.selectById(model.getCompanyId());
        if(ywProject ==null || Constants.equalsInteger(ywProject.getIsdeleted(),Constants.ONE)
                || !Constants.equalsInteger(ywProject.getType(),Constants.TWO)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,请选择正确的公司信息!");
        }
        model.setCreator(model.getLoginUserInfo().getId());
        model.setIsdeleted(Constants.ZERO);
        model.setCreateDate(new Date());
        model.setStatus(Constants.ZERO);
        model.setEditDate(model.getCreateDate());
        model.setEditor(model.getCreator());
        ywAccountMapper.insert(model);
        return model.getId();
    }
    @Override
    public void deleteById(Integer id, LoginUserInfo user) {
        ywAccountMapper.deleteById(id);
        YwAccount model = new YwAccount();
        model.setId(id);
        model.setIsdeleted(Constants.ONE);
        model.setEditDate(model.getCreateDate());
        model.setEditor(model.getCreator());
        ywAccountMapper.updateById(model);
    }
    @Override
@@ -50,12 +80,24 @@
        if (CollectionUtils.isEmpty(ids)) {
            return;
        }
        ywAccountMapper.deleteBatchIds(ids);
        for(Integer id : ids){
            this.deleteById(id,user);
        }
    }
    @Override
    public void updateById(YwAccount ywAccount) {
        ywAccountMapper.updateById(ywAccount);
    public void updateById(YwAccount model) {
        if(model.getCompanyId()==null){
        throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,请选择正确的公司信息");
    }
        Company ywProject = companyMapper.selectById(model.getCompanyId());
        if(ywProject ==null || Constants.equalsInteger(ywProject.getIsdeleted(),Constants.ONE)
                || !Constants.equalsInteger(ywProject.getType(),Constants.TWO)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,请选择正确的公司信息!");
        }
        model.setEditDate(model.getCreateDate());
        model.setEditor(model.getCreator());
        ywAccountMapper.updateById(model);
    }
    @Override
@@ -88,54 +130,58 @@
    @Override
    public PageData<YwAccount> findPage(PageWrap<YwAccount> pageWrap) {
        IPage<YwAccount> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        QueryWrapper<YwAccount> queryWrapper = new QueryWrapper<>();
        MPJLambdaWrapper<YwAccount> queryWrapper = new MPJLambdaWrapper<>();
        queryWrapper.selectAll(YwAccount.class)
                        .selectAs(Company::getName,YwAccount::getCompanyName)
                                .leftJoin(Company.class,Company::getId,YwAccount::getCompanyId);
        pageWrap.getModel().setIsdeleted(Constants.ZERO);
        Utils.MP.blankToNull(pageWrap.getModel());
        if (pageWrap.getModel().getId() != null) {
            queryWrapper.lambda().eq(YwAccount::getId, pageWrap.getModel().getId());
            queryWrapper.eq(YwAccount::getId, pageWrap.getModel().getId());
        }
        if (pageWrap.getModel().getCreator() != null) {
            queryWrapper.lambda().eq(YwAccount::getCreator, pageWrap.getModel().getCreator());
            queryWrapper.eq(YwAccount::getCreator, pageWrap.getModel().getCreator());
        }
        if (pageWrap.getModel().getCreateDate() != null) {
            queryWrapper.lambda().ge(YwAccount::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.lambda().le(YwAccount::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
            queryWrapper.ge(YwAccount::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()));
            queryWrapper.le(YwAccount::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()));
        }
        if (pageWrap.getModel().getEditor() != null) {
            queryWrapper.lambda().eq(YwAccount::getEditor, pageWrap.getModel().getEditor());
            queryWrapper.eq(YwAccount::getEditor, pageWrap.getModel().getEditor());
        }
        if (pageWrap.getModel().getEditDate() != null) {
            queryWrapper.lambda().ge(YwAccount::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.lambda().le(YwAccount::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
            queryWrapper.ge(YwAccount::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()));
            queryWrapper.le(YwAccount::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()));
        }
        if (pageWrap.getModel().getIsdeleted() != null) {
            queryWrapper.lambda().eq(YwAccount::getIsdeleted, pageWrap.getModel().getIsdeleted());
            queryWrapper.eq(YwAccount::getIsdeleted, pageWrap.getModel().getIsdeleted());
        }
        if (pageWrap.getModel().getRemark() != null) {
            queryWrapper.lambda().eq(YwAccount::getRemark, pageWrap.getModel().getRemark());
            queryWrapper.eq(YwAccount::getRemark, pageWrap.getModel().getRemark());
        }
        if (pageWrap.getModel().getStatus() != null) {
            queryWrapper.lambda().eq(YwAccount::getStatus, pageWrap.getModel().getStatus());
            queryWrapper.eq(YwAccount::getStatus, pageWrap.getModel().getStatus());
        }
        if (pageWrap.getModel().getTitle() != null) {
            queryWrapper.lambda().eq(YwAccount::getTitle, pageWrap.getModel().getTitle());
            queryWrapper.eq(YwAccount::getTitle, pageWrap.getModel().getTitle());
        }
        if (pageWrap.getModel().getCompanyId() != null) {
            queryWrapper.lambda().eq(YwAccount::getCompanyId, pageWrap.getModel().getCompanyId());
            queryWrapper.eq(YwAccount::getCompanyId, pageWrap.getModel().getCompanyId());
        }
        if (pageWrap.getModel().getType() != null) {
            queryWrapper.lambda().eq(YwAccount::getType, pageWrap.getModel().getType());
            queryWrapper.eq(YwAccount::getType, pageWrap.getModel().getType());
        }
        if (pageWrap.getModel().getName() != null) {
            queryWrapper.lambda().eq(YwAccount::getName, pageWrap.getModel().getName());
            queryWrapper.eq(YwAccount::getName, pageWrap.getModel().getName());
        }
        if (pageWrap.getModel().getBankName() != null) {
            queryWrapper.lambda().eq(YwAccount::getBankName, pageWrap.getModel().getBankName());
            queryWrapper.eq(YwAccount::getBankName, pageWrap.getModel().getBankName());
        }
        if (pageWrap.getModel().getBankNo() != null) {
            queryWrapper.lambda().eq(YwAccount::getBankNo, pageWrap.getModel().getBankNo());
            queryWrapper.eq(YwAccount::getBankNo, pageWrap.getModel().getBankNo());
        }
        if (pageWrap.getModel().getBankAddr() != null) {
            queryWrapper.lambda().eq(YwAccount::getBankAddr, pageWrap.getModel().getBankAddr());
            queryWrapper.eq(YwAccount::getBankAddr, pageWrap.getModel().getBankAddr());
        }
        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {