单位类型

This commit is contained in:
mashuai 2024-10-24 17:15:26 +08:00
parent 70640139b2
commit 0451872a7d
9 changed files with 123 additions and 45 deletions

View File

@ -45,7 +45,7 @@ public class BmUnitController extends BaseController
* 查询往来单位管理列表
*/
@ApiOperation(value = "查询往来单位管理列表")
//@RequiresPermissions("basic:unit:list")
@RequiresPermissions("basic:unit:list")
@GetMapping("/list")
public TableDataInfo list(BmUnit bmUnit)
{

View File

@ -1,16 +1,13 @@
package com.bonus.material.basic.controller;
import com.bonus.common.core.web.page.TableDataInfo;
import com.bonus.common.log.enums.OperaType;
import com.bonus.material.basic.domain.BmUnit;
import com.bonus.material.common.annotation.PreventRepeatSubmit;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.bonus.common.log.annotation.SysLog;
import com.bonus.common.security.annotation.RequiresPermissions;
import com.bonus.material.basic.domain.BmUnitPerson;
@ -18,6 +15,8 @@ import com.bonus.material.basic.service.IBmUnitPersonService;
import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult;
import java.util.List;
/**
* 往来单位管理Controller
*
@ -32,6 +31,19 @@ public class BmUnitPersonController extends BaseController
@Autowired
private IBmUnitPersonService bmUnitPersonService;
/**
* 查询往来单位管理列表
*/
@ApiOperation(value = "查询往来单位管理列表")
@RequiresPermissions("basic:person:list")
@GetMapping("/list")
public TableDataInfo list(BmUnitPerson bmUnitPerson)
{
startPage();
List<BmUnit> list = bmUnitPersonService.selectBmUnitList(bmUnitPerson);
return getDataTable(list);
}
/**
* 绑定往来单位人员列表
*/

View File

@ -74,5 +74,11 @@ public class BmUnit extends BaseEntity
*/
private Integer isBind;
@ApiModelProperty(value = "绑定人员id")
private Long userId;
@ApiModelProperty(value = "绑定人员名称")
private String userName;
}

View File

@ -1,6 +1,5 @@
package com.bonus.material.basic.domain;
import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
@ -32,17 +31,14 @@ public class BmUnitPerson extends BaseEntity
private Long unitId;
/** 用户ID */
@Excel(name = "用户ID")
@ApiModelProperty(value = "用户ID")
private Long userId;
/** 数据所属组织 */
@Excel(name = "数据所属组织")
@ApiModelProperty(value = "数据所属组织")
private String companyId;
/**
* 二级树标识 1代表查询二级树
*/
private Integer isTree;
/** 单位类型名称 */
@ApiModelProperty(value = "单位类型名称")
private String unitName;
}

View File

@ -2,7 +2,7 @@ package com.bonus.material.basic.mapper;
import java.util.List;
import com.bonus.common.biz.domain.TreeNode;
import com.bonus.material.basic.domain.BmUnit;
import com.bonus.material.basic.domain.BmUnitPerson;
/**
@ -29,4 +29,11 @@ public interface BmUnitPersonMapper
* @return 结果
*/
public int deleteBmUnitPersonByID(Long unitId);
/**
* 查询往来单位管理列表
* @param bmUnitPerson
* @return
*/
List<BmUnit> selectBmUnitList(BmUnitPerson bmUnitPerson);
}

View File

@ -1,8 +1,11 @@
package com.bonus.material.basic.service;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.basic.domain.BmUnit;
import com.bonus.material.basic.domain.BmUnitPerson;
import java.util.List;
/**
* 往来单位管理Service接口
*
@ -28,4 +31,10 @@ public interface IBmUnitPersonService
*/
public AjaxResult deleteBmUnitPersonByID(Long unitId);
/**
* 查询绑定的往来单位列表
* @param bmUnitPerson
* @return
*/
List<BmUnit> selectBmUnitList(BmUnitPerson bmUnitPerson);
}

View File

@ -1,19 +1,21 @@
package com.bonus.material.basic.service.impl;
import java.util.*;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.bonus.common.biz.domain.TreeBuild;
import com.bonus.common.biz.domain.TreeNode;
import com.bonus.common.biz.enums.HttpCodeEnum;
import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.core.web.domain.AjaxResult;
import org.springframework.beans.factory.annotation.Autowired;
import com.bonus.material.basic.domain.BmUnit;
import com.bonus.material.basic.mapper.BmUnitMapper;
import com.bonus.material.purchase.config.RemoteConfig;
import org.springframework.stereotype.Service;
import com.bonus.material.basic.mapper.BmUnitPersonMapper;
import com.bonus.material.basic.domain.BmUnitPerson;
import com.bonus.material.basic.service.IBmUnitPersonService;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
* 往来单位管理Service业务层处理
*
@ -23,9 +25,15 @@ import com.bonus.material.basic.service.IBmUnitPersonService;
@Service
public class BmUnitPersonServiceImpl implements IBmUnitPersonService
{
@Autowired
@Resource
private BmUnitPersonMapper bmUnitPersonMapper;
@Resource
private RemoteConfig remoteConfig;
@Resource
private BmUnitMapper bmUnitMapper;
/**
* 新增往来单位管理
*
@ -65,4 +73,44 @@ public class BmUnitPersonServiceImpl implements IBmUnitPersonService
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
}
/**
* 查询关联单位列表
* @param bmUnitPerson
* @return
*/
@Override
public List<BmUnit> selectBmUnitList(BmUnitPerson bmUnitPerson) {
List<BmUnit> bmUnitList = bmUnitPersonMapper.selectBmUnitList(bmUnitPerson);
Long[] array = bmUnitList.stream()
// 提取 createBy 字段
.map(BmUnit::getUserId)
.map(createBy -> {
try {
// 转换为 Long
return createBy;
} catch (NumberFormatException e) {
// 处理转换失败的情况可以返回 null
return null;
}
})
// 过滤掉 null
.filter(value -> value != null)
// 转换为 Long[] 数组
.toArray(Long[]::new);
Map<Long, String> nickNameMap = remoteConfig.getUserName(array);
if (CollectionUtils.isNotEmpty(bmUnitList)) {
bmUnitList.forEach(item -> {
Long userId = item.getUserId();
if (userId != null) {
String nickName = nickNameMap.get(userId);
item.setUserName(nickName != null ? nickName : " ");
}
if (item.getUnitId() != null) {
//根据单位id去人员绑定中查询是否绑定赋值绑定状态
item.setIsBind(bmUnitMapper.selectBmUnitPersonByUnitId(item.getUnitId()) > 0 ? 1 : 0);
}
});
}
return bmUnitList;
}
}

View File

@ -71,32 +71,8 @@ public class BmUnitServiceImpl implements IBmUnitService
public List<BmUnit> selectBmUnitList(BmUnit bmUnit)
{
List<BmUnit> bmUnitList = bmUnitMapper.selectBmUnitList(bmUnit);
Long[] array = bmUnitList.stream()
// 提取 createBy 字段
.map(BmUnit::getCreateBy)
.map(createBy -> {
try {
// 转换为 Long
return Long.parseLong(createBy);
} catch (NumberFormatException e) {
// 处理转换失败的情况可以返回 null
return null;
}
})
// 过滤掉 null
.filter(value -> value != null)
// 转换为 Long[] 数组
.toArray(Long[]::new);
Map<Long, String> nickNameMap = remoteConfig.getUserName(array);
if (CollectionUtils.isNotEmpty(bmUnitList)) {
bmUnitList.forEach(item -> {
// 更新 createBy nickName
String createBy = item.getCreateBy();
if (StringUtils.isNotBlank(createBy)) {
Long createById = Long.parseLong(createBy);
String nickName = nickNameMap.get(createById);
item.setCreateBy(nickName != null ? nickName : createBy);
}
extracted(item);
});
}

View File

@ -24,4 +24,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
delete from bm_unit_person where unit_id = #{unitId}
</delete>
<select id="selectBmUnitList" resultType="com.bonus.material.basic.domain.BmUnit">
SELECT
bu.unit_id AS unitId,
bu.unit_name AS unitName,
bu.STATUS AS STATUS,
bu.type_id AS typeId,
bu.link_man AS linkMan,
bu.telphone AS telphone,
bu.dept_id AS deptId,
bu.del_flag AS delFlag,
bu.create_by AS createBy,
bu.create_time AS createTime,
bu.update_by AS updateBy,
bu.update_time AS updateTime,
bu.remark AS remark,
bup.user_id as userId
FROM
bm_unit bu
left join bm_unit_person bup ON bu.unit_id = bup.unit_id
WHERE
bu.del_flag = 0
<if test="unitName != null and unitName != ''">and bu.unit_name like concat('%', #{unitName}, '%')</if>
</select>
</mapper>