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 org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
@ -299,16 +300,41 @@ public class BackChangeServiceImpl implements BackChangeService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public AjaxResult approve(BackCsDeviceDetails backCsDeviceDetails) { public AjaxResult approve(BackCsDeviceDetails backCsDeviceDetails) {
try { try {
int num = 0;
backCsDeviceDetails.setUpdateBy(SecurityUtils.getLoginUser().getUserid().toString()); backCsDeviceDetails.setUpdateBy(SecurityUtils.getLoginUser().getUserid().toString());
// 修改主任务状态为通过或驳回
int num = mapper.approve(backCsDeviceDetails);
if (num < 1) {
throw new RuntimeException("修改主任务失败");
}
// 如果通过则需要修改设备具体库存及维修数量 // 如果通过则需要修改设备具体库存及维修数量
if ("1".equals(backCsDeviceDetails.getTaskStatus())) { if ("1".equals(backCsDeviceDetails.getTaskStatus())) {
// 根据id查询设备详情表数据 // 根据id查询设备详情表数据
List<BackCsDeviceDetails> devDetailsList = mapper.getDevDetailsById(backCsDeviceDetails); 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)) { if (CollectionUtils.isNotEmpty(devDetailsList)) {
for (BackCsDeviceDetails csDeviceDetails : 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) { } catch (RuntimeException e) {
log.error(e.getMessage()); log.error(e.getMessage());
throw new RuntimeException("审核失败"); throw new RuntimeException("审核失败");

View File

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