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}") @DeleteMapping("/{processIds}")
public AjaxResult remove(@PathVariable Long[] 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); List<ProRouteProcess> selectByRouteId(Long routeId);
void updateBatch(@Param("entity") List<ProRouteProcess> list); 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; package com.ktg.mes.pro.service;
import java.util.List; import java.util.List;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.mes.pro.domain.ProProcess; import com.ktg.mes.pro.domain.ProProcess;
/** /**
@ -48,11 +50,11 @@ public interface IProProcessService
/** /**
* 批量删除生产工序 * 批量删除生产工序
* *
* @param processIds 需要删除的生产工序主键集合 * @param processIds 需要删除的生产工序主键集合
* @return 结果 * @return 结果
*/ */
public int deleteProProcessByProcessIds(Long[] processIds); public AjaxResult deleteProProcessByProcessIds(Long[] processIds);
/** /**
* 删除生产工序信息 * 删除生产工序信息

View File

@ -109,4 +109,6 @@ public interface IProRouteProcessService
* @return * @return
*/ */
public int deleteByRouteId(Long routeId); 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 java.util.List;
import com.ktg.common.constant.UserConstants; import com.ktg.common.constant.UserConstants;
import com.ktg.common.core.domain.AjaxResult;
import com.ktg.common.utils.DateUtils; import com.ktg.common.utils.DateUtils;
import com.ktg.common.utils.StringUtils; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ktg.mes.pro.mapper.ProProcessMapper; import com.ktg.mes.pro.mapper.ProProcessMapper;
@ -23,6 +27,9 @@ public class ProProcessServiceImpl implements IProProcessService
@Autowired @Autowired
private ProProcessMapper proProcessMapper; private ProProcessMapper proProcessMapper;
@Autowired
private IProRouteProcessService proRouteProcessService;
/** /**
* 查询生产工序 * 查询生产工序
* *
@ -106,14 +113,19 @@ public class ProProcessServiceImpl implements IProProcessService
/** /**
* 批量删除生产工序 * 批量删除生产工序
* *
* @param processIds 需要删除的生产工序主键 * @param processIds 需要删除的生产工序主键
* @return 结果 * @return 结果
*/ */
@Override @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) { public int deleteByRouteId(Long routeId) {
return proRouteProcessMapper.deleteByRouteId(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 id="selectByRouteId" resultType="ProRouteProcess" resultMap="ProRouteProcessResult">
select * from pro_route_process where route_id = #{routeId} select * from pro_route_process where route_id = #{routeId}
</select> </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 id="insertProRouteProcess" parameterType="ProRouteProcess" useGeneratedKeys="true" keyProperty="recordId">
insert into pro_route_process insert into pro_route_process