This commit is contained in:
hongchao 2025-09-14 19:15:45 +08:00
commit cdb1ef32ce
4 changed files with 53 additions and 10 deletions

View File

@ -818,11 +818,9 @@ public class MaterialMachineServiceImpl implements MaterialMachineService {
MaterialRetainedEquipmentInfo storeInfo = materialMachineMapper.getRetainStoreInfo(bean);
BigDecimal storeNum = (storeInfo != null && storeInfo.getStoreNum() != null) ?
storeInfo.getStoreNum() : BigDecimal.ZERO;
BigDecimal storeUseNum = (storeInfo != null && storeInfo.getUsNum() != null) ?
storeInfo.getUsNum() : BigDecimal.ZERO;
// 站内库存量 = 库存量 - 库存中已使用量不能为负数
BigDecimal inNum = storeNum.subtract(storeUseNum);
BigDecimal inNum = storeNum.subtract(useNum);
if (inNum.compareTo(BigDecimal.ZERO) < 0) {
inNum = BigDecimal.ZERO;
}

View File

@ -6,6 +6,7 @@ import com.bonus.common.biz.domain.TypeTreeNode;
import com.bonus.material.back.domain.BackApplyInfo;
import com.bonus.material.basic.domain.BmProject;
import com.bonus.material.basic.domain.BmUnit;
import com.bonus.material.clz.domain.BmTeam;
import com.bonus.material.clz.domain.lease.MaterialLeaseApplyInfo;
import com.bonus.material.common.domain.dto.SelectDto;
import com.bonus.material.common.domain.vo.AgreementVo;
@ -332,4 +333,18 @@ public interface SelectMapper {
* @return
*/
List<String> getInProject(@Param("list") List<String> departId);
/**
* 根据用户名判断用户是否为班组长
* @param username
* @return
*/
BmTeam getTeamData(String username);
/**
* 根据班组用户查询工程信息
* @param username
* @return
*/
List<String> getProjectIdByUseName(String username);
}

View File

@ -9,6 +9,7 @@ import com.bonus.material.back.domain.BackApplyInfo;
import com.bonus.material.basic.domain.BmProject;
import com.bonus.material.basic.domain.BmUnit;
import com.bonus.material.basic.mapper.BmUnitMapper;
import com.bonus.material.clz.domain.BmTeam;
import com.bonus.material.clz.service.MaterialLeaseInfoService;
import com.bonus.material.common.domain.dto.SelectDto;
import com.bonus.material.common.domain.vo.AgreementVo;
@ -254,17 +255,28 @@ public class SelectServiceImpl implements SelectService {
@Override
public AjaxResult getProjectInfo(BmProject bmProject) {
String username = SecurityUtils.getLoginUser().getUsername();
// 根据用户名查询项目部信息
List<String> departId = mapper.getDepartId(username);
// 根据项目部id查询工程信息
List<String> projectIdList = mapper.getProjectId(departId);
// 根据用户名判断用户是否为班组长
BmTeam teamData = mapper.getTeamData(username);
List<BmProject> list = new ArrayList<>();
if (bmProject.getIsApp() != null && bmProject.getIsApp()) {
list = mapper.getProjectInfo(bmProject);
if (CollectionUtils.isNotEmpty(list)) {
if (CollectionUtils.isNotEmpty(projectIdList)) {
// 找出list中projectId与projectIdList中相同的数据
list = list.stream().filter(info -> projectIdList.contains(info.getProjectId())).collect(Collectors.toList());
if (teamData == null) {
// 根据用户名查询项目部信息
List<String> departId = mapper.getDepartId(username);
// 根据项目部id查询工程信息
List<String> projectIdList = mapper.getProjectId(departId);
if (CollectionUtils.isNotEmpty(projectIdList)) {
// 找出list中projectId与projectIdList中相同的数据
list = list.stream().filter(info -> projectIdList.contains(info.getProjectId())).collect(Collectors.toList());
}
} else {
// 根据班组用户查询工程信息
List<String> teamList = mapper.getProjectIdByUseName(username);
if (CollectionUtils.isNotEmpty(teamList)) {
// 找出list中projectId与projectIdList中相同的数据
list = list.stream().filter(info -> teamList.contains(info.getProjectId())).collect(Collectors.toList());
}
}
}
}

View File

@ -1071,4 +1071,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
</if>
</select>
<select id="getTeamData" resultType="com.bonus.material.clz.domain.BmTeam">
SELECT
unit_id as id,
unit_name as teamName
FROM
bm_unit
WHERE bzz_idcard = #{username}
</select>
<select id="getProjectIdByUseName" resultType="java.lang.String">
SELECT
project_id
FROM
`micro-tool`.bzgl_bz
WHERE
bzz_idcard = #{username}
</select>
</mapper>