This commit is contained in:
mashuai 2026-01-16 16:51:30 +08:00
parent 66bba04673
commit a98c39a2df
6 changed files with 30 additions and 18 deletions

View File

@ -763,12 +763,13 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
@Override
public List<LeaseApplyInfo> selectLeaseApplyInfoList(LeaseApplyInfo leaseApplyInfo) {
try {
Set<String> userRoles = SecurityUtils.getLoginUser().getRoles();
/*Set<String> userRoles = SecurityUtils.getLoginUser().getRoles();
// 检查用户是否具有特殊角色
boolean hasSpecialRole = hasSpecialRole(userRoles);
if (!hasSpecialRole) {
leaseApplyInfo.setUserId(SecurityUtils.getLoginUser().getUserid());
}
}*/
leaseApplyInfo.setUserId(SecurityUtils.getLoginUser().getUserid());
//用leaseApplyInfo.getQueryType的值来区分是否是领用出库查询如果是时间筛选为发布时间
List<LeaseApplyInfo> list = leaseApplyInfoMapper.selectLeaseApplyInfoList(leaseApplyInfo);
// 如果statusList包含345则为领料出库查询

View File

@ -259,7 +259,7 @@ public class RepairAuditDetailsController extends BaseController {
@SysLog(title = "批量修试审核详细", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->批量修改修试审核详细")
@PostMapping("/outerAudit")
public AjaxResult outerAudit(@RequestBody @NotNull List<RepairAuditDetails> repairAuditDetails) {
return toAjax(repairAuditDetailsService.outerAudit(repairAuditDetails));
return repairAuditDetailsService.outerAudit(repairAuditDetails);
}
/**

View File

@ -3,6 +3,7 @@ package com.bonus.material.repair.service;
import java.util.List;
import java.util.Map;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.repair.domain.RepairAuditDetails;
import com.bonus.material.repair.domain.RepairPart;
import com.bonus.material.repair.domain.RepairRecord;
@ -88,7 +89,7 @@ public interface IRepairAuditDetailsService {
* @param repairAuditDetails (外层)修试审核详细集合
* @return 结果
*/
int outerAudit(List<RepairAuditDetails> repairAuditDetails);
AjaxResult outerAudit(List<RepairAuditDetails> repairAuditDetails);
/**
* (内层)批量修改修试审核详细

View File

@ -9,6 +9,7 @@ import com.bonus.common.biz.enums.*;
import com.bonus.common.core.exception.ServiceException;
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.material.back.mapper.BackApplyInfoMapper;
import com.bonus.material.ma.service.ITypeService;
@ -42,6 +43,7 @@ import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.locks.ReentrantLock;
import java.util.stream.Collectors;
import static com.bonus.common.biz.constant.MaterialConstants.SCRAP_TASK_TYPE_LABEL;
@ -86,6 +88,8 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
@Resource
private ITypeService typeService;
private final ReentrantLock lock = new ReentrantLock(true);
@Override
public List<RepairPart> getPartRecord(RepairAuditDetails repairAuditDetails) {
RepairAuditDetails bean = repairAuditDetailsMapper.getRepairId(repairAuditDetails);
@ -532,7 +536,9 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int outerAudit(@NotNull List<RepairAuditDetails> repairAuditDetails) {
public AjaxResult outerAudit(@NotNull List<RepairAuditDetails> repairAuditDetails) {
// 获取锁公平锁会按线程等待请求顺序分配锁
lock.lock();
final List<Long> taskIds = repairAuditDetails.stream()
.filter(Objects::nonNull)
.map(RepairAuditDetails::getTaskId)
@ -540,11 +546,11 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
.collect(Collectors.toList());
if (taskIds.isEmpty()) {
return 0;
return AjaxResult.error("请选择审批任务");
}
final List<RepairAuditDetails> repairAuditDetailsByQuery = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(taskIds);
if (CollectionUtils.isEmpty(repairAuditDetailsByQuery)) {
return 0;
return AjaxResult.error("审批任务为空,请联系管理员");
}
// 1:通过 2:驳回 0:未处理
@ -610,21 +616,24 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
}
}
try {
final List<Long> ids = repairAuditDetailsByQuery.stream()
.filter(Objects::nonNull)
.map(RepairAuditDetails::getId)
.filter(Objects::nonNull)
.collect(Collectors.toList());
Long auditBy = SecurityUtils.getLoginUser().getUserid();
return repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, String.valueOf(status), auditBy);
} catch (final Exception e) {
throw new ServiceException("错误信息描述");
final List<Long> ids = repairAuditDetailsByQuery.stream()
.filter(Objects::nonNull)
.map(RepairAuditDetails::getId)
.filter(Objects::nonNull)
.collect(Collectors.toList());
Long auditBy = SecurityUtils.getLoginUser().getUserid();
int result = repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, String.valueOf(status), auditBy);
if (result == 0) {
throw new ServiceException("修改维修审核状态失败");
}
} catch (ServiceException e) {
log.error("修改维修审核状态失败", e);
throw new ServiceException("修饰审核失败,请联系管理员");
} finally {
// 释放锁
lock.unlock();
}
return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg());
}
/**

View File

@ -430,7 +430,7 @@
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
WHERE mm.ma_code is not null and mm.ma_status in (1)
<if test="companyId !=null">
AND mm.company_id = #{companyId}
AND mt.company_id = #{companyId}
</if>
GROUP BY mt.type_id) AS subquery0 ON subquery0.type_id = mt.type_id
LEFT JOIN (

View File

@ -265,6 +265,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
tm_task
WHERE
code = #{code}
LIMIT 1
</select>
<select id="selectBackApplyInfoById" resultType="com.bonus.material.repair.domain.RepairApplyDetails">