工程管理
This commit is contained in:
parent
8f87295d6a
commit
25481aa6af
|
|
@ -1,19 +1,12 @@
|
|||
package com.bonus.material.basic.controller;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.bonus.common.core.constant.SecurityConstants;
|
||||
import com.bonus.common.log.enums.OperaType;
|
||||
import com.bonus.material.common.annotation.PreventRepeatSubmit;
|
||||
import com.bonus.system.api.RemoteDictDataService;
|
||||
import com.bonus.system.api.domain.SysDictData;
|
||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
|
@ -55,13 +48,12 @@ public class BmUnitController extends BaseController
|
|||
* 查询往来单位管理列表
|
||||
*/
|
||||
@ApiOperation(value = "查询往来单位管理列表")
|
||||
@RequiresPermissions("basic:unit:list")
|
||||
//@RequiresPermissions("basic:unit:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo list(BmUnit bmUnit)
|
||||
{
|
||||
startPage();
|
||||
List<BmUnit> list = bmUnitService.selectBmUnitList(bmUnit);
|
||||
extracted(list);
|
||||
return getDataTable(list);
|
||||
}
|
||||
|
||||
|
|
@ -76,37 +68,10 @@ public class BmUnitController extends BaseController
|
|||
public void export(HttpServletResponse response, BmUnit bmUnit)
|
||||
{
|
||||
List<BmUnit> list = bmUnitService.selectBmUnitList(bmUnit);
|
||||
extracted(list);
|
||||
ExcelUtil<BmUnit> util = new ExcelUtil<BmUnit>(BmUnit.class);
|
||||
util.exportExcel(response, list, "往来单位管理数据");
|
||||
}
|
||||
|
||||
/**
|
||||
* 将字典数据转换为 BmUnit 对象
|
||||
* @param list
|
||||
*/
|
||||
private void extracted(List<BmUnit> list) {
|
||||
AjaxResult ajaxResult = remoteDictDataService.dictType("bm_unit_type", SecurityConstants.INNER);
|
||||
// 假设 ajaxResult.get("data") 返回的是 List<LinkedHashMap>
|
||||
List<LinkedHashMap> rawData = (List<LinkedHashMap>) ajaxResult.get("data");
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||
// 将 rawData 转换为 SysDictData 列表
|
||||
List<SysDictData> dataList = rawData.stream()
|
||||
.map(rawDatum -> objectMapper.convertValue(rawDatum, SysDictData.class))
|
||||
.collect(Collectors.toList());
|
||||
// 使用 Map 存储字典数据以提高查找速度
|
||||
Map<String, String> dictMap = dataList.stream()
|
||||
.collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel));
|
||||
// 更新 BmUnit 列表
|
||||
list.forEach(unit -> {
|
||||
String typeName = dictMap.get(unit.getTypeId().toString());
|
||||
if (typeName != null) {
|
||||
unit.setTypeName(typeName);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取往来单位管理详细信息
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,15 +1,10 @@
|
|||
package com.bonus.material.basic.controller;
|
||||
|
||||
import com.alibaba.nacos.common.utils.CollectionUtils;
|
||||
import com.bonus.common.biz.domain.TreeSelect;
|
||||
import com.bonus.common.log.enums.OperaType;
|
||||
import com.bonus.material.common.annotation.PreventRepeatSubmit;
|
||||
import com.bonus.system.api.RemoteUserService;
|
||||
import com.bonus.system.api.domain.SysDept;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
|
|
@ -23,10 +18,6 @@ import com.bonus.material.basic.service.IBmUnitPersonService;
|
|||
import com.bonus.common.core.web.controller.BaseController;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 往来单位管理Controller
|
||||
*
|
||||
|
|
@ -41,37 +32,6 @@ public class BmUnitPersonController extends BaseController
|
|||
@Autowired
|
||||
private IBmUnitPersonService bmUnitPersonService;
|
||||
|
||||
@Resource
|
||||
private RemoteUserService remoteUserService;
|
||||
|
||||
/**
|
||||
* 查询部门下拉树
|
||||
*/
|
||||
@ApiOperation(value = "查询部门下拉树")
|
||||
@GetMapping("/getDeptUserTree")
|
||||
public AjaxResult selectDeptTree(SysDept dept) {
|
||||
AjaxResult ajaxResult = remoteUserService.deptTree(dept, null);
|
||||
List<TreeSelect> data = (List<TreeSelect>) ajaxResult.get("data");
|
||||
if (CollectionUtils.isEmpty(data)) {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
List<TreeSelect> branches = getBranches(data);
|
||||
return AjaxResult.success(branches);
|
||||
}
|
||||
|
||||
private List<TreeSelect> getBranches(List<TreeSelect> data) {
|
||||
List<TreeSelect> branches = new ArrayList<>();
|
||||
for (TreeSelect company : data) {
|
||||
if (company.getChildren() != null) {
|
||||
for (TreeSelect child : company.getChildren()) {
|
||||
// 添加分公司
|
||||
branches.add(child);
|
||||
}
|
||||
}
|
||||
}
|
||||
return branches;
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定往来单位人员列表
|
||||
*/
|
||||
|
|
@ -85,7 +45,6 @@ public class BmUnitPersonController extends BaseController
|
|||
return bmUnitPersonService.insertBmUnitPerson(bmUnitPerson);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 解绑往来单位人员列表
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -29,11 +29,4 @@ public interface BmUnitPersonMapper
|
|||
* @return 结果
|
||||
*/
|
||||
public int deleteBmUnitPersonByID(Long unitId);
|
||||
|
||||
/**
|
||||
* 查询部门树
|
||||
* @param unitPerson
|
||||
* @return
|
||||
*/
|
||||
List<TreeNode> selectDeptTree(BmUnitPerson unitPerson);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,11 +28,4 @@ public interface IBmUnitPersonService
|
|||
*/
|
||||
public AjaxResult deleteBmUnitPersonByID(Long unitId);
|
||||
|
||||
/**
|
||||
* 查询部门下拉树结构
|
||||
* @param unitPerson
|
||||
* @return
|
||||
*/
|
||||
AjaxResult selectDeptTree(BmUnitPerson unitPerson);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,26 +65,4 @@ public class BmUnitPersonServiceImpl implements IBmUnitPersonService
|
|||
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询部门下拉树结构
|
||||
* @param unitPerson
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult selectDeptTree(BmUnitPerson unitPerson) {
|
||||
List<TreeNode> groupList = new ArrayList<>();
|
||||
List<TreeNode> list = new ArrayList<>();
|
||||
try {
|
||||
list = bmUnitPersonMapper.selectDeptTree(unitPerson);
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
// 创建树形结构(数据集合作为参数)
|
||||
TreeBuild treeBuild = new TreeBuild(list);
|
||||
// 原查询结果转换树形结构
|
||||
groupList = treeBuild.buildTree();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
return AjaxResult.success(groupList);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,31 @@
|
|||
package com.bonus.material.basic.service.impl;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.hutool.core.util.PhoneUtil;
|
||||
import com.alibaba.nacos.common.utils.CollectionUtils;
|
||||
import com.bonus.common.biz.enums.HttpCodeEnum;
|
||||
import com.bonus.common.core.constant.SecurityConstants;
|
||||
import com.bonus.common.core.utils.DateUtils;
|
||||
import com.bonus.common.core.utils.StringUtils;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.common.security.utils.SecurityUtils;
|
||||
import com.bonus.system.api.RemoteDictDataService;
|
||||
import com.bonus.system.api.domain.SysDictData;
|
||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.bonus.material.basic.mapper.BmUnitMapper;
|
||||
import com.bonus.material.basic.domain.BmUnit;
|
||||
import com.bonus.material.basic.service.IBmUnitService;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 往来单位管理Service业务层处理
|
||||
*
|
||||
|
|
@ -28,6 +38,9 @@ public class BmUnitServiceImpl implements IBmUnitService
|
|||
@Autowired
|
||||
private BmUnitMapper bmUnitMapper;
|
||||
|
||||
@Resource
|
||||
private RemoteDictDataService remoteDictDataService;
|
||||
|
||||
/**
|
||||
* 查询往来单位管理
|
||||
*
|
||||
|
|
@ -50,15 +63,35 @@ public class BmUnitServiceImpl implements IBmUnitService
|
|||
public List<BmUnit> selectBmUnitList(BmUnit bmUnit)
|
||||
{
|
||||
List<BmUnit> bmUnitList = bmUnitMapper.selectBmUnitList(bmUnit);
|
||||
extracted(bmUnitList);
|
||||
return bmUnitList;
|
||||
}
|
||||
|
||||
private void extracted(List<BmUnit> bmUnitList) {
|
||||
AjaxResult ajaxResult = remoteDictDataService.dictType("bm_unit_type", SecurityConstants.INNER);
|
||||
// 假设 ajaxResult.get("data") 返回的是 List<LinkedHashMap>
|
||||
List<LinkedHashMap> rawData = (List<LinkedHashMap>) ajaxResult.get("data");
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||
// 将 rawData 转换为 SysDictData 列表
|
||||
List<SysDictData> dataList = rawData.stream()
|
||||
.map(rawDatum -> objectMapper.convertValue(rawDatum, SysDictData.class))
|
||||
.collect(Collectors.toList());
|
||||
// 使用 Map 存储字典数据以提高查找速度
|
||||
Map<String, String> dictMap = dataList.stream()
|
||||
.collect(Collectors.toMap(SysDictData::getDictValue, SysDictData::getDictLabel));
|
||||
if (CollectionUtils.isNotEmpty(bmUnitList)) {
|
||||
for (BmUnit unit : bmUnitList) {
|
||||
if (unit.getUnitId() != null) {
|
||||
//根据单位id去人员绑定中查询是否绑定,赋值绑定状态
|
||||
unit.setIsBind(bmUnitMapper.selectBmUnitPersonByUnitId(unit.getUnitId()) > 0 ? 1 : 0);
|
||||
}
|
||||
String typeName = dictMap.get(unit.getTypeId().toString());
|
||||
if (typeName != null) {
|
||||
unit.setTypeName(typeName);
|
||||
}
|
||||
}
|
||||
}
|
||||
return bmUnitList;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -4,53 +4,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.bonus.material.basic.mapper.BmUnitPersonMapper">
|
||||
|
||||
<select id="selectDeptTree" resultType="com.bonus.common.biz.domain.TreeNode">
|
||||
<choose>
|
||||
<!-- 当 isTree 为 1 时执行 -->
|
||||
<when test="isTree != null and isTree == 1">
|
||||
SELECT
|
||||
d.dept_id AS id,
|
||||
d.parent_id AS parentId,
|
||||
d.ancestors,
|
||||
d.dept_name AS label,
|
||||
d.order_num,
|
||||
d.leader,
|
||||
d.phone,
|
||||
d.email,
|
||||
d.status,
|
||||
d.del_flag,
|
||||
d.create_by,
|
||||
d.create_time
|
||||
FROM sys_dept d
|
||||
WHERE d.del_flag = '0'
|
||||
AND d.status = '0'
|
||||
AND (LENGTH(d.ancestors) - LENGTH(REPLACE(d.ancestors, ',', ''))) + 1 != 3
|
||||
</when>
|
||||
<!-- 否则执行默认查询 -->
|
||||
<otherwise>
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
d.dept_id AS id,
|
||||
d.parent_id AS parentId,
|
||||
d.dept_name AS label
|
||||
FROM sys_dept d
|
||||
WHERE d.del_flag = '0'
|
||||
AND d.STATUS = '0'
|
||||
UNION
|
||||
SELECT
|
||||
su.user_id AS id,
|
||||
su.dept_id AS parentId,
|
||||
su.user_name AS label
|
||||
FROM sys_user su
|
||||
LEFT JOIN sys_dept sd ON su.dept_id = sd.dept_id
|
||||
) AS combined_results
|
||||
</otherwise>
|
||||
</choose>
|
||||
</select>
|
||||
|
||||
<insert id="insertBmUnitPerson" parameterType="com.bonus.material.basic.domain.BmUnitPerson">
|
||||
insert into bm_unit_person
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
|
|
|
|||
Loading…
Reference in New Issue