This commit is contained in:
mashuai 2025-11-19 13:45:25 +08:00
parent ed945d0ecc
commit 30b8e8d11b
2 changed files with 37 additions and 8 deletions

View File

@ -20,6 +20,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
@ -299,16 +300,41 @@ public class BackChangeServiceImpl implements BackChangeService {
@Transactional(rollbackFor = Exception.class)
public AjaxResult approve(BackCsDeviceDetails backCsDeviceDetails) {
try {
int num = 0;
backCsDeviceDetails.setUpdateBy(SecurityUtils.getLoginUser().getUserid().toString());
// 修改主任务状态为通过或驳回
int num = mapper.approve(backCsDeviceDetails);
if (num < 1) {
throw new RuntimeException("修改主任务失败");
}
// 如果通过则需要修改设备具体库存及维修数量
if ("1".equals(backCsDeviceDetails.getTaskStatus())) {
// 根据id查询设备详情表数据
List<BackCsDeviceDetails> devDetailsList = mapper.getDevDetailsById(backCsDeviceDetails);
if (CollectionUtils.isNotEmpty(devDetailsList)) {
// 根据devType去查询装备或工具详情
for (BackCsDeviceDetails csDeviceDetails : devDetailsList) {
BackCsDeviceDetails devDetails = new BackCsDeviceDetails();
if (StringUtils.isNotBlank(csDeviceDetails.getDevType()) && "1".equals(csDeviceDetails.getDevType())) {
if ("/".equals(csDeviceDetails.getDevCode())) {
csDeviceDetails.setDevCode(null);
}
devDetails = mapper.getTypeMaDevInfo(csDeviceDetails);
} else if (StringUtils.isNotBlank(csDeviceDetails.getDevType()) && "2".equals(csDeviceDetails.getDevType())) {
if ("/".equals(csDeviceDetails.getDevCode())) {
csDeviceDetails.setDevCode(null);
}
devDetails = mapper.getTypeToolInfo(csDeviceDetails);
}
if (devDetails != null) {
csDeviceDetails.setCategory(StringUtils.isNotBlank(devDetails.getCategory()) ? devDetails.getCategory() : "");
csDeviceDetails.setTypeName(StringUtils.isNotBlank(devDetails.getTypeName()) ? devDetails.getTypeName() : "");
csDeviceDetails.setTypeModelName(StringUtils.isNotBlank(devDetails.getTypeModelName()) ? devDetails.getTypeModelName() : "");
csDeviceDetails.setManageType(StringUtils.isNotBlank(devDetails.getManageType()) ? devDetails.getManageType() : "");
csDeviceDetails.setDevCode(StringUtils.isNotBlank(devDetails.getDevCode()) ? devDetails.getDevCode() : "");
csDeviceDetails.setUseNum(devDetails.getUseNum());
}
// 判断在用数量是否有为0的若有不予审核通过
if (csDeviceDetails.getUseNum().compareTo(BigDecimal.ZERO) == 0) {
return AjaxResult.warn("该条单据中存在在用数量为0的设备无法审核通过请驳回后进行修改");
}
}
}
if (CollectionUtils.isNotEmpty(devDetailsList)) {
for (BackCsDeviceDetails csDeviceDetails : devDetailsList) {
// 装备
@ -362,6 +388,11 @@ public class BackChangeServiceImpl implements BackChangeService {
}
}
}
// 修改主任务状态为通过或驳回
num = mapper.approve(backCsDeviceDetails);
if (num < 1) {
throw new RuntimeException("修改主任务失败");
}
} catch (RuntimeException e) {
log.error(e.getMessage());
throw new RuntimeException("审核失败");

View File

@ -167,9 +167,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="devCode!=null and devCode!=''">
AND mdi.code like concat('%',#{devCode},'%')
</if>
<if test="devCode!=null and devCode!=''">
AND mdi.code like concat('%',#{devCode},'%')
</if>
<if test="companyId != null">
AND mdi.on_company = #{companyId}
</if>
@ -177,6 +174,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
AND cd.pro_code = #{proCode}
</if>
</where>
GROUP BY mdi.code
UNION ALL