This commit is contained in:
parent
5484ed45d6
commit
aa913f67dc
|
|
@ -49,6 +49,17 @@ public class SelectController {
|
|||
return service.getUnitList(bmUnit);
|
||||
}
|
||||
|
||||
/**
|
||||
* todo 领料申请往来单位下拉选,剔除已结算单位数据
|
||||
* @param bmUnit
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "领料申请往来单位下拉选")
|
||||
@PostMapping("getMaterialUnitList")
|
||||
public AjaxResult getMaterialUnitList(@RequestBody BmUnit bmUnit) {
|
||||
return service.getMaterialUnitList(bmUnit);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "单位下拉选--项目部--过滤班组")
|
||||
@PostMapping("getUnitProDepList")
|
||||
public AjaxResult getUnitProDepList(@RequestBody BmUnit bmUnit) {
|
||||
|
|
@ -106,7 +117,7 @@ public class SelectController {
|
|||
}
|
||||
|
||||
/**
|
||||
* 领料工程下拉选
|
||||
* todo 领料申请工程下拉选,剔除已结算工程数据
|
||||
* @param bmProject
|
||||
* @return
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -471,4 +471,11 @@ public interface SelectMapper {
|
|||
* @return
|
||||
*/
|
||||
List<ProjectTreeNode> selectMaterialProjectList(BmProject bmProject);
|
||||
|
||||
/**
|
||||
* 获取单位下拉选
|
||||
* @param bmUnit
|
||||
* @return
|
||||
*/
|
||||
List<ProjectTreeNode> getMaterialUnitList(BmUnit bmUnit);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -304,4 +304,11 @@ public interface SelectService {
|
|||
* @return
|
||||
*/
|
||||
AjaxResult getMaterialProjectList(BmProject bmProject);
|
||||
|
||||
/**
|
||||
* 领料单位下拉选
|
||||
* @param bmUnit
|
||||
* @return
|
||||
*/
|
||||
AjaxResult getMaterialUnitList(BmUnit bmUnit);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -650,6 +650,67 @@ public class SelectServiceImpl implements SelectService {
|
|||
return AjaxResult.success(groupList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 领料单位下拉选
|
||||
* @param bmUnit
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult getMaterialUnitList(BmUnit bmUnit) {
|
||||
// 性能监控开始
|
||||
long startTime = System.currentTimeMillis();
|
||||
Map<String, Long> stepTimes = new LinkedHashMap<>();
|
||||
|
||||
log.info("=== getUnitList开始执行,参数: {}", bmUnit);
|
||||
|
||||
// 步骤1: 获取登陆用户的组织ID
|
||||
long step1Start = System.currentTimeMillis();
|
||||
Long thisLoginUserDeptId = SecurityUtils.getLoginUser().getSysUser().getDeptId();
|
||||
stepTimes.put("获取用户组织ID", System.currentTimeMillis() - step1Start);
|
||||
|
||||
if (null == thisLoginUserDeptId || 0 == thisLoginUserDeptId) {
|
||||
long totalTime = System.currentTimeMillis() - startTime;
|
||||
log.info("用户组织ID为空,直接返回空列表,总耗时: {}ms", totalTime);
|
||||
return AjaxResult.success(Collections.emptyList());
|
||||
}
|
||||
|
||||
// 步骤3: 判断是否是app模式
|
||||
if (bmUnit.getIsApp() != null && bmUnit.getIsApp()) {
|
||||
long appStart = System.currentTimeMillis();
|
||||
List<BmUnit> list = mapper.getUnitListApp(bmUnit);
|
||||
stepTimes.put("App模式查询", System.currentTimeMillis() - appStart);
|
||||
|
||||
return AjaxResult.success(list);
|
||||
}
|
||||
|
||||
List<ProjectTreeNode> groupList = new ArrayList<>();
|
||||
List<ProjectTreeNode> list;
|
||||
try {
|
||||
// 步骤4: 数据库查询
|
||||
list = mapper.getMaterialUnitList(bmUnit);
|
||||
|
||||
// 步骤5: 数据过滤
|
||||
if (list != null) {
|
||||
list = list.stream()
|
||||
.filter(Objects::nonNull)
|
||||
.filter(unit -> unit.getId() != null && unit.getParentId() != null)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (bmUnit.isEnableFilterTeam()) {
|
||||
list.removeIf(item -> Objects.equals("0101", item.getTypeKey()));
|
||||
}
|
||||
}
|
||||
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
groupList = buildTreeEfficiently(list);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("单位类型树-查询失败", e);
|
||||
}
|
||||
|
||||
return AjaxResult.success(groupList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public AjaxResult getDeviceTypeTree(SelectDto dto) {
|
||||
List<TreeNode> groupList = new ArrayList<>();
|
||||
|
|
|
|||
|
|
@ -787,7 +787,11 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
|||
|| leaseApplyInfo.getStatusList().containsAll(Arrays.asList(3, 4, 5))) {
|
||||
// 过滤sortedList中leaseSignUrl或者leaseSignId不为空的数据
|
||||
sortedList = sortedList.stream()
|
||||
.filter(item -> StringUtils.isNotBlank(item.getSignUrl()) || item.getSignId() != null)
|
||||
.filter(item ->
|
||||
// 状态等于4时,为出库完成,直接保留
|
||||
item.getTaskStatus() == 4
|
||||
// 状态不等于4时,需满足 signUrl非空 或 signId非空
|
||||
|| (StringUtils.isNotBlank(item.getSignUrl()) || item.getSignId() != null))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1509,7 +1509,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
material,
|
||||
car_code as carCode,
|
||||
add_date as addDate,
|
||||
code as code
|
||||
code as code,
|
||||
remark as remark
|
||||
FROM
|
||||
bm_exit_permit
|
||||
WHERE
|
||||
|
|
|
|||
|
|
@ -1458,4 +1458,92 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
ORDER BY
|
||||
level
|
||||
</select>
|
||||
|
||||
<select id="getMaterialUnitList" resultType="com.bonus.common.biz.domain.ProjectTreeNode">
|
||||
/*根据标段工程id关联协议查询往来单位*/
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
CONCAT( 'dw', sd.dept_id ) AS id,
|
||||
sd.dept_name AS NAME,
|
||||
0 AS parentId,
|
||||
1 AS LEVEL,
|
||||
null AS typeKey
|
||||
FROM
|
||||
sys_dept sd
|
||||
LEFT JOIN bm_unit bu ON sd.dept_id = bu.dept_id
|
||||
LEFT JOIN bm_agreement_info bai ON bu.unit_id = bai.unit_id
|
||||
AND bai.`status` = '1' AND bai.is_slt = '0'
|
||||
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
|
||||
AND bp.del_flag = '0'
|
||||
WHERE
|
||||
bu.del_flag = '0'
|
||||
AND sd.del_flag = '0'
|
||||
AND sd.`status` = '0'
|
||||
AND bu.type_id != 1731
|
||||
<if test="projectId != null">
|
||||
AND bp.pro_id = #{projectId}
|
||||
</if>
|
||||
<if test="unitId != null">
|
||||
AND bu.unit_id = #{unitId}
|
||||
</if>
|
||||
|
||||
UNION
|
||||
|
||||
SELECT DISTINCT
|
||||
CONCAT( 'lx', bu.dept_id, '-', sda.dict_code ) AS id,
|
||||
sda.dict_label AS NAME,
|
||||
CONCAT( 'dw', bu.dept_id ) AS parentId,
|
||||
2 AS LEVEL,
|
||||
sda.dict_value AS typeKey
|
||||
FROM
|
||||
bm_unit bu
|
||||
LEFT JOIN sys_dict_data sda ON bu.type_id = sda.dict_code
|
||||
AND sda.dict_type = 'bm_unit_type'
|
||||
LEFT JOIN bm_agreement_info bai ON bu.unit_id = bai.unit_id
|
||||
AND bai.`status` = '1' AND bai.is_slt = '0'
|
||||
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
|
||||
AND bp.del_flag = '0'
|
||||
WHERE
|
||||
bu.del_flag = '0'
|
||||
AND sda.STATUS = '0'
|
||||
AND bu.type_id != 1731
|
||||
<if test="projectId != null">
|
||||
AND bp.pro_id = #{projectId}
|
||||
</if>
|
||||
<if test="unitId != null">
|
||||
AND bu.unit_id = #{unitId}
|
||||
</if>
|
||||
|
||||
UNION
|
||||
SELECT
|
||||
bu.unit_id AS id,
|
||||
bu.unit_name AS NAME,
|
||||
CONCAT( 'lx', bu.dept_id, '-', sda.dict_code ) AS parentId,
|
||||
3 AS LEVEL,
|
||||
sda.dict_value AS typeKey
|
||||
FROM
|
||||
bm_unit bu
|
||||
LEFT JOIN sys_dict_data sda ON bu.type_id = sda.dict_code
|
||||
AND sda.dict_type = 'bm_unit_type'
|
||||
LEFT JOIN bm_agreement_info bai ON bu.unit_id = bai.unit_id
|
||||
AND bai.`status` = '1' AND bai.is_slt = '0'
|
||||
LEFT JOIN bm_project bp ON bai.project_id = bp.pro_id
|
||||
AND bp.del_flag = '0'
|
||||
WHERE
|
||||
bu.del_flag = '0'
|
||||
AND sda.STATUS = '0'
|
||||
AND bu.type_id != 1731
|
||||
<if test="projectId != null">
|
||||
AND bp.pro_id = #{projectId}
|
||||
</if>
|
||||
<if test="unitId != null">
|
||||
AND bu.unit_id = #{unitId}
|
||||
</if>
|
||||
) ff
|
||||
ORDER BY
|
||||
LEVEL
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue