This commit is contained in:
parent
5484ed45d6
commit
aa913f67dc
|
|
@ -49,6 +49,17 @@ public class SelectController {
|
||||||
return service.getUnitList(bmUnit);
|
return service.getUnitList(bmUnit);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* todo 领料申请往来单位下拉选,剔除已结算单位数据
|
||||||
|
* @param bmUnit
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "领料申请往来单位下拉选")
|
||||||
|
@PostMapping("getMaterialUnitList")
|
||||||
|
public AjaxResult getMaterialUnitList(@RequestBody BmUnit bmUnit) {
|
||||||
|
return service.getMaterialUnitList(bmUnit);
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "单位下拉选--项目部--过滤班组")
|
@ApiOperation(value = "单位下拉选--项目部--过滤班组")
|
||||||
@PostMapping("getUnitProDepList")
|
@PostMapping("getUnitProDepList")
|
||||||
public AjaxResult getUnitProDepList(@RequestBody BmUnit bmUnit) {
|
public AjaxResult getUnitProDepList(@RequestBody BmUnit bmUnit) {
|
||||||
|
|
@ -106,7 +117,7 @@ public class SelectController {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 领料工程下拉选
|
* todo 领料申请工程下拉选,剔除已结算工程数据
|
||||||
* @param bmProject
|
* @param bmProject
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -471,4 +471,11 @@ public interface SelectMapper {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<ProjectTreeNode> selectMaterialProjectList(BmProject bmProject);
|
List<ProjectTreeNode> selectMaterialProjectList(BmProject bmProject);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取单位下拉选
|
||||||
|
* @param bmUnit
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<ProjectTreeNode> getMaterialUnitList(BmUnit bmUnit);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -304,4 +304,11 @@ public interface SelectService {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
AjaxResult getMaterialProjectList(BmProject bmProject);
|
AjaxResult getMaterialProjectList(BmProject bmProject);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领料单位下拉选
|
||||||
|
* @param bmUnit
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
AjaxResult getMaterialUnitList(BmUnit bmUnit);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -650,6 +650,67 @@ public class SelectServiceImpl implements SelectService {
|
||||||
return AjaxResult.success(groupList);
|
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
|
@Override
|
||||||
public AjaxResult getDeviceTypeTree(SelectDto dto) {
|
public AjaxResult getDeviceTypeTree(SelectDto dto) {
|
||||||
List<TreeNode> groupList = new ArrayList<>();
|
List<TreeNode> groupList = new ArrayList<>();
|
||||||
|
|
|
||||||
|
|
@ -787,7 +787,11 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
||||||
|| leaseApplyInfo.getStatusList().containsAll(Arrays.asList(3, 4, 5))) {
|
|| leaseApplyInfo.getStatusList().containsAll(Arrays.asList(3, 4, 5))) {
|
||||||
// 过滤sortedList中leaseSignUrl或者leaseSignId不为空的数据
|
// 过滤sortedList中leaseSignUrl或者leaseSignId不为空的数据
|
||||||
sortedList = sortedList.stream()
|
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());
|
.collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1509,7 +1509,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
material,
|
material,
|
||||||
car_code as carCode,
|
car_code as carCode,
|
||||||
add_date as addDate,
|
add_date as addDate,
|
||||||
code as code
|
code as code,
|
||||||
|
remark as remark
|
||||||
FROM
|
FROM
|
||||||
bm_exit_permit
|
bm_exit_permit
|
||||||
WHERE
|
WHERE
|
||||||
|
|
|
||||||
|
|
@ -1458,4 +1458,92 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
ORDER BY
|
ORDER BY
|
||||||
level
|
level
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue