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

View File

@ -259,7 +259,7 @@ public class RepairAuditDetailsController extends BaseController {
@SysLog(title = "批量修试审核详细", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->批量修改修试审核详细") @SysLog(title = "批量修试审核详细", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->批量修改修试审核详细")
@PostMapping("/outerAudit") @PostMapping("/outerAudit")
public AjaxResult outerAudit(@RequestBody @NotNull List<RepairAuditDetails> repairAuditDetails) { 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.List;
import java.util.Map; 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.RepairAuditDetails;
import com.bonus.material.repair.domain.RepairPart; import com.bonus.material.repair.domain.RepairPart;
import com.bonus.material.repair.domain.RepairRecord; import com.bonus.material.repair.domain.RepairRecord;
@ -88,7 +89,7 @@ public interface IRepairAuditDetailsService {
* @param repairAuditDetails (外层)修试审核详细集合 * @param repairAuditDetails (外层)修试审核详细集合
* @return 结果 * @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.exception.ServiceException;
import com.bonus.common.core.utils.DateUtils; import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.core.utils.StringUtils; 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.common.security.utils.SecurityUtils;
import com.bonus.material.back.mapper.BackApplyInfoMapper; import com.bonus.material.back.mapper.BackApplyInfoMapper;
import com.bonus.material.ma.service.ITypeService; import com.bonus.material.ma.service.ITypeService;
@ -42,6 +43,7 @@ import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.concurrent.locks.ReentrantLock;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.bonus.common.biz.constant.MaterialConstants.SCRAP_TASK_TYPE_LABEL; import static com.bonus.common.biz.constant.MaterialConstants.SCRAP_TASK_TYPE_LABEL;
@ -86,6 +88,8 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
@Resource @Resource
private ITypeService typeService; private ITypeService typeService;
private final ReentrantLock lock = new ReentrantLock(true);
@Override @Override
public List<RepairPart> getPartRecord(RepairAuditDetails repairAuditDetails) { public List<RepairPart> getPartRecord(RepairAuditDetails repairAuditDetails) {
RepairAuditDetails bean = repairAuditDetailsMapper.getRepairId(repairAuditDetails); RepairAuditDetails bean = repairAuditDetailsMapper.getRepairId(repairAuditDetails);
@ -532,7 +536,9 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @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() final List<Long> taskIds = repairAuditDetails.stream()
.filter(Objects::nonNull) .filter(Objects::nonNull)
.map(RepairAuditDetails::getTaskId) .map(RepairAuditDetails::getTaskId)
@ -540,11 +546,11 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
.collect(Collectors.toList()); .collect(Collectors.toList());
if (taskIds.isEmpty()) { if (taskIds.isEmpty()) {
return 0; return AjaxResult.error("请选择审批任务");
} }
final List<RepairAuditDetails> repairAuditDetailsByQuery = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(taskIds); final List<RepairAuditDetails> repairAuditDetailsByQuery = repairAuditDetailsMapper.selectRepairAuditDetailsByTaskIds(taskIds);
if (CollectionUtils.isEmpty(repairAuditDetailsByQuery)) { if (CollectionUtils.isEmpty(repairAuditDetailsByQuery)) {
return 0; return AjaxResult.error("审批任务为空,请联系管理员");
} }
// 1:通过 2:驳回 0:未处理 // 1:通过 2:驳回 0:未处理
@ -610,21 +616,24 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService
} }
} }
try {
final List<Long> ids = repairAuditDetailsByQuery.stream() final List<Long> ids = repairAuditDetailsByQuery.stream()
.filter(Objects::nonNull) .filter(Objects::nonNull)
.map(RepairAuditDetails::getId) .map(RepairAuditDetails::getId)
.filter(Objects::nonNull) .filter(Objects::nonNull)
.collect(Collectors.toList()); .collect(Collectors.toList());
Long auditBy = SecurityUtils.getLoginUser().getUserid(); Long auditBy = SecurityUtils.getLoginUser().getUserid();
return repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, String.valueOf(status), auditBy); int result = repairAuditDetailsMapper.updateRepairAuditDetailsBatch(ids, String.valueOf(status), auditBy);
} catch (final Exception e) { if (result == 0) {
throw new ServiceException("错误信息描述"); throw new ServiceException("修改维修审核状态失败");
} }
} catch (ServiceException e) { } catch (ServiceException e) {
log.error("修改维修审核状态失败", e); log.error("修改维修审核状态失败", e);
throw new ServiceException("修饰审核失败,请联系管理员"); 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 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) WHERE mm.ma_code is not null and mm.ma_status in (1)
<if test="companyId !=null"> <if test="companyId !=null">
AND mm.company_id = #{companyId} AND mt.company_id = #{companyId}
</if> </if>
GROUP BY mt.type_id) AS subquery0 ON subquery0.type_id = mt.type_id GROUP BY mt.type_id) AS subquery0 ON subquery0.type_id = mt.type_id
LEFT JOIN ( LEFT JOIN (

View File

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