fix:工序删除增加校验,检测是否被引用

This commit is contained in:
zhangxuanming 2024-12-19 16:14:48 +08:00
parent cb1fbc8c91
commit b279c8493d
7 changed files with 36 additions and 6 deletions

View File

@ -125,6 +125,6 @@ public class ProProcessController extends BaseController
@DeleteMapping("/{processIds}")
public AjaxResult remove(@PathVariable Long[] processIds)
{
return toAjax(proProcessService.deleteProProcessByProcessIds(processIds));
return proProcessService.deleteProProcessByProcessIds(processIds);
}
}

View File

@ -90,4 +90,6 @@ public interface ProRouteProcessMapper
List<ProRouteProcess> selectByRouteId(Long routeId);
void updateBatch(@Param("entity") List<ProRouteProcess> list);
List<ProRouteProcess> selectByProcessIds(@Param("entity") Long[] processIds);
}

View File

@ -1,6 +1,8 @@
package com.ktg.mes.pro.service;
import java.util.List;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.mes.pro.domain.ProProcess;
/**
@ -52,7 +54,7 @@ public interface IProProcessService
* @param processIds 需要删除的生产工序主键集合
* @return 结果
*/
public int deleteProProcessByProcessIds(Long[] processIds);
public AjaxResult deleteProProcessByProcessIds(Long[] processIds);
/**
* 删除生产工序信息

View File

@ -109,4 +109,6 @@ public interface IProRouteProcessService
* @return
*/
public int deleteByRouteId(Long routeId);
List<ProRouteProcess> selectByProcessIds(Long[] processIds);
}

View File

@ -3,8 +3,12 @@ package com.ktg.mes.pro.service.impl;
import java.util.List;
import com.ktg.common.constant.UserConstants;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.common.utils.DateUtils;
import com.ktg.common.utils.StringUtils;
import com.ktg.mes.pro.domain.ProRouteProcess;
import com.ktg.mes.pro.service.IProRouteProcessService;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ktg.mes.pro.mapper.ProProcessMapper;
@ -23,6 +27,9 @@ public class ProProcessServiceImpl implements IProProcessService
@Autowired
private ProProcessMapper proProcessMapper;
@Autowired
private IProRouteProcessService proRouteProcessService;
/**
* 查询生产工序
*
@ -111,9 +118,14 @@ public class ProProcessServiceImpl implements IProProcessService
* @return 结果
*/
@Override
public int deleteProProcessByProcessIds(Long[] processIds)
public AjaxResult deleteProProcessByProcessIds(Long[] processIds)
{
return proProcessMapper.deleteProProcessByProcessIds(processIds);
// 查询当前工序有无关联工序流程
List<ProRouteProcess> list = proRouteProcessService.selectByProcessIds(processIds);
if (list != null && list.size() > 0) {
return AjaxResult.error("工序已经被使用,无法删除");
}
return AjaxResult.success();
}
/**

View File

@ -211,4 +211,9 @@ public class ProRouteProcessServiceImpl implements IProRouteProcessService
public int deleteByRouteId(Long routeId) {
return proRouteProcessMapper.deleteByRouteId(routeId);
}
@Override
public List<ProRouteProcess> selectByProcessIds(Long[] processIds) {
return proRouteProcessMapper.selectByProcessIds(processIds);
}
}

View File

@ -114,6 +114,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectByRouteId" resultType="ProRouteProcess" resultMap="ProRouteProcessResult">
select * from pro_route_process where route_id = #{routeId}
</select>
<select id="selectByProcessIds" resultType="com.ktg.mes.pro.domain.ProRouteProcess">
select * from pro_route_process
where process_id in
<foreach collection="entity" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</select>
<insert id="insertProRouteProcess" parameterType="ProRouteProcess" useGeneratedKeys="true" keyProperty="recordId">
insert into pro_route_process