This commit is contained in:
mashuai 2025-11-10 11:13:58 +08:00
parent 21f4efb400
commit 024b9a77ac
5 changed files with 129 additions and 0 deletions

View File

@ -105,6 +105,22 @@ public class SelectController {
}
}
/**
* 领料工程下拉选
* @param bmProject
* @return
*/
@ApiOperation(value = "领料工程下拉选")
@PostMapping("getMaterialProjectList")
public AjaxResult getMaterialProjectList(@RequestBody BmProject bmProject) {
try {
return service.getMaterialProjectList(bmProject);
} catch (Exception e) {
log.error("获取数据失败");
return AjaxResult.error("获取数据失败");
}
}
/**
* 领用工程下拉选
* @param bmProject

View File

@ -464,4 +464,11 @@ public interface SelectMapper {
* @return
*/
List<MaterialRetainedEquipmentInfo> getImpUnitNameList(MaterialRetainedEquipmentInfo bean);
/**
* 获取项目下拉选
* @param bmProject
* @return
*/
List<ProjectTreeNode> selectMaterialProjectList(BmProject bmProject);
}

View File

@ -297,4 +297,11 @@ public interface SelectService {
* @return
*/
List<MaterialRetainedEquipmentInfo> getImpUnitNameList(MaterialRetainedEquipmentInfo bean);
/**
* 领料工程下拉选
* @param bmProject
* @return
*/
AjaxResult getMaterialProjectList(BmProject bmProject);
}

View File

@ -606,6 +606,50 @@ public class SelectServiceImpl implements SelectService {
return mapper.getImpUnitNameList(bean);
}
/**
* 领料工程下拉选
* @param bmProject
* @return
*/
@Override
public AjaxResult getMaterialProjectList(BmProject bmProject) {
List<BmProject> bmProjects = new ArrayList<>();
if (bmProject.getIsApp() != null && bmProject.getIsApp()) {
if (bmProject.getTeamId() != null) {
bmProjects = mapper.getProjectListByClz(bmProject);
} else {
bmProjects = mapper.getProjectListApp(bmProject);
}
bmProjects.removeIf(Objects::isNull);
return AjaxResult.success(bmProjects);
}
// 获取登陆用户的组织ID
Long thisLoginUserDeptId = SecurityUtils.getLoginUser().getSysUser().getDeptId();
if (null == thisLoginUserDeptId || 0 == thisLoginUserDeptId) {
return AjaxResult.success(Collections.emptyList());
}
// 判断是否开启过滤
if (Objects.nonNull(bmProject) && Objects.nonNull(bmProject.getEnableFilter()) && bmProject.getEnableFilter()) {
bmProject.setDeptId(thisLoginUserDeptId);
}
List<ProjectTreeNode> groupList = new ArrayList<>();
List<ProjectTreeNode> list = new ArrayList<>();
try {
list = mapper.selectMaterialProjectList(bmProject);
if (CollectionUtils.isNotEmpty(list)) {
// 创建树形结构数据集合作为参数
ProjectTreeBuild treeBuild = new ProjectTreeBuild(list);
// 原查询结果转换树形结构
groupList = treeBuild.buildTree();
}
} catch (Exception e) {
log.error("工程类型树-查询失败", e);
}
return AjaxResult.success(groupList);
}
@Override
public AjaxResult getDeviceTypeTree(SelectDto dto) {
List<TreeNode> groupList = new ArrayList<>();

View File

@ -1397,4 +1397,59 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ORDER BY
sd.order_num
</select>
<select id="selectMaterialProjectList" resultType="com.bonus.common.biz.domain.ProjectTreeNode">
SELECT
*
FROM
(
SELECT
bmp.pro_id AS id,
bmp.pro_name AS name,
concat( 'gs', bmp.imp_unit ) AS parentId,
2 AS level
FROM
bm_project bmp
LEFT JOIN sys_dept sd ON sd.dept_id = bmp.imp_unit
LEFT JOIN bm_agreement_info bai ON bai.project_id = bmp.pro_id
AND bai.`status` = '1' and bai.is_slt = '0'
LEFT JOIN bm_unit bu ON bu.unit_id = bai.unit_id
AND bu.del_flag = '0'
WHERE
sd.del_flag = '0'
AND sd.`status` = '0'
AND bmp.del_flag = '0'
<if test="unitId != null">
AND bu.unit_id = #{unitId}
</if>
<if test="deptId != null">
AND sd.dept_id = #{deptId}
</if>
UNION
SELECT DISTINCT
concat( 'gs', sd.dept_id ) AS id,
sd.dept_name AS name,
'0' AS parentId,
1 AS level
FROM
sys_dept sd
LEFT JOIN bm_project bmp ON sd.dept_id = bmp.imp_unit
LEFT JOIN bm_agreement_info bai ON bai.project_id = bmp.pro_id
AND bai.`status` = '1' and bai.is_slt = '0'
LEFT JOIN bm_unit bu ON bu.unit_id = bai.unit_id
WHERE
bmp.pro_id IS NOT NULL
AND sd.del_flag = '0'
AND sd.`status` = '0'
AND bmp.del_flag = '0'
<if test="unitId != null">
AND bu.unit_id = #{unitId}
</if>
<if test="deptId != null">
AND sd.dept_id = #{deptId}
</if>
) a
ORDER BY
level
</select>
</mapper>