工艺组成

This commit is contained in:
JinLu.Yin 2022-05-13 23:20:08 +08:00
parent 0273ad1871
commit 5374c2f32e
5 changed files with 138 additions and 0 deletions

View File

@ -4,6 +4,9 @@ import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.ktg.common.constant.UserConstants;
import com.ktg.common.utils.StringUtils;
import com.ktg.mes.pro.domain.ProProcess;
import com.ktg.mes.pro.service.IProProcessService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -36,6 +39,9 @@ public class ProRouteProcessController extends BaseController
@Autowired
private IProRouteProcessService proRouteProcessService;
@Autowired
private IProProcessService proProcessService;
/**
* 查询工艺组成列表
*/
@ -82,6 +88,33 @@ public class ProRouteProcessController extends BaseController
if(UserConstants.NOT_UNIQUE.equals(proRouteProcessService.checkOrderNumExists(proRouteProcess))){
return AjaxResult.error("序号已存在!");
}
if(UserConstants.NOT_UNIQUE.equals(proRouteProcessService.checkProcessExists(proRouteProcess))){
return AjaxResult.error("不能重复添加工序!");
}
ProProcess process = proProcessService.selectProProcessByProcessId(proRouteProcess.getProcessId());
proRouteProcess.setProcessCode(process.getProcessCode());
proRouteProcess.setProcessName(process.getProcessName());
//更新上一个工序的nextProcess
ProRouteProcess preProcess = proRouteProcessService.findPreProcess(proRouteProcess);
if(StringUtils.isNotNull(preProcess)){
preProcess.setNextProcessId(proRouteProcess.getProcessId());
preProcess.setNextProcessCode(proRouteProcess.getProcessCode());
preProcess.setNextProcessName(proRouteProcess.getProcessName());
proRouteProcessService.updateProRouteProcess(preProcess);
}
//设置当前工序的nextProcess
ProRouteProcess nextProcess = proRouteProcessService.findNextProcess(proRouteProcess);
if(StringUtils.isNotNull(nextProcess)){
proRouteProcess.setNextProcessId(nextProcess.getProcessId());
proRouteProcess.setNextProcessCode(nextProcess.getProcessCode());
proRouteProcess.setNextProcessName(nextProcess.getProcessName());
}else{
proRouteProcess.setNextProcessId(0L);
proRouteProcess.setNextProcessName("");
}
return toAjax(proRouteProcessService.insertProRouteProcess(proRouteProcess));
}
@ -96,6 +129,33 @@ public class ProRouteProcessController extends BaseController
if(UserConstants.NOT_UNIQUE.equals(proRouteProcessService.checkOrderNumExists(proRouteProcess))){
return AjaxResult.error("序号已存在!");
}
if(UserConstants.NOT_UNIQUE.equals(proRouteProcessService.checkProcessExists(proRouteProcess))){
return AjaxResult.error("不能重复添加工序!");
}
ProProcess process = proProcessService.selectProProcessByProcessId(proRouteProcess.getProcessId());
proRouteProcess.setProcessCode(process.getProcessCode());
proRouteProcess.setProcessName(process.getProcessName());
//更新上一个工序的nextProcess
ProRouteProcess preProcess = proRouteProcessService.findPreProcess(proRouteProcess);
if(StringUtils.isNotNull(preProcess)){
preProcess.setNextProcessId(proRouteProcess.getProcessId());
preProcess.setNextProcessCode(proRouteProcess.getProcessCode());
preProcess.setNextProcessName(proRouteProcess.getProcessName());
proRouteProcessService.updateProRouteProcess(preProcess);
}
//设置当前工序的nextProcess
ProRouteProcess nextProcess = proRouteProcessService.findNextProcess(proRouteProcess);
if(StringUtils.isNotNull(nextProcess)){
proRouteProcess.setNextProcessId(nextProcess.getProcessId());
proRouteProcess.setNextProcessCode(nextProcess.getProcessCode());
proRouteProcess.setNextProcessName(nextProcess.getProcessName());
}else{
proRouteProcess.setNextProcessId(0L);
proRouteProcess.setNextProcessName("");
}
return toAjax(proRouteProcessService.updateProRouteProcess(proRouteProcess));
}

View File

@ -2,6 +2,7 @@ package com.ktg.mes.pro.mapper;
import java.util.List;
import com.ktg.mes.pro.domain.ProRouteProcess;
import org.springframework.security.core.parameters.P;
/**
* 工艺组成Mapper接口
@ -28,7 +29,11 @@ public interface ProRouteProcessMapper
public List<ProRouteProcess> selectProRouteProcessList(ProRouteProcess proRouteProcess);
public ProRouteProcess checkOrderNumExists(ProRouteProcess proRouteProcess);
public ProRouteProcess checkProcessExists(ProRouteProcess proRouteProcess);
public ProRouteProcess findPreProcess(ProRouteProcess proRouteProcess);
public ProRouteProcess findNextProcess(ProRouteProcess proRouteProcess);
/**
* 新增工艺组成
*

View File

@ -34,6 +34,26 @@ public interface IProRouteProcessService
*/
public String checkOrderNumExists(ProRouteProcess proRouteProcess);
/**
* 检查工序是否已经存在
* @param proRouteProcess
* @return
*/
public String checkProcessExists(ProRouteProcess proRouteProcess);
/**
* 查找上一个工序
* @param proRouteProcess
* @return
*/
public ProRouteProcess findPreProcess(ProRouteProcess proRouteProcess);
/**
* 查找下一个工序
* @param proRouteProcess
* @return
*/
public ProRouteProcess findNextProcess(ProRouteProcess proRouteProcess);
/**
* 新增工艺组成

View File

@ -57,6 +57,26 @@ public class ProRouteProcessServiceImpl implements IProRouteProcessService
return UserConstants.UNIQUE;
}
@Override
public String checkProcessExists(ProRouteProcess proRouteProcess) {
ProRouteProcess process = proRouteProcessMapper.checkProcessExists(proRouteProcess);
Long recordId = proRouteProcess.getRecordId()==null?-1L:proRouteProcess.getRecordId();
if(StringUtils.isNotNull(process) && process.getRecordId().longValue() != recordId.longValue()){
return UserConstants.NOT_UNIQUE;
}
return UserConstants.UNIQUE;
}
@Override
public ProRouteProcess findPreProcess(ProRouteProcess proRouteProcess) {
return proRouteProcessMapper.findPreProcess(proRouteProcess);
}
@Override
public ProRouteProcess findNextProcess(ProRouteProcess proRouteProcess) {
return proRouteProcessMapper.findNextProcess(proRouteProcess);
}
/**
* 新增工艺组成
*

View File

@ -62,6 +62,39 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where route_id = #{routeId} and order_num = #{orderNum} limit 1
</select>
<select id="checkProcessExists" parameterType="ProRouteProcess" resultMap="ProRouteProcessResult">
<include refid="selectProRouteProcessVo"/>
where route_id = #{routeId} and process_id = #{processId} limit 1
</select>
<select id="findPreProcess" parameterType="ProRouteProcess" resultMap="ProRouteProcessResult">
<include refid="selectProRouteProcessVo"/>
where route_id = #{routeId}
AND order_num &lt; (
SELECT order_num
FROM pro_route_process
WHERE route_id = #{routeId}
<if test="processId != null "> and process_id = #{processId}</if>
<if test="orderNum != null "> and order_num = #{orderNum}</if>
AND order_num = #{orderNum} limit 1
)
ORDER BY order_num DESC LIMIT 1
</select>
<select id="findNextProcess" parameterType="ProRouteProcess" resultMap="ProRouteProcessResult">
<include refid="selectProRouteProcessVo"/>
where route_id = #{routeId}
AND order_num &gt; (
SELECT order_num
FROM pro_route_process
WHERE route_id = #{routeId}
<if test="processId != null "> and process_id = #{processId}</if>
<if test="orderNum != null "> and order_num = #{orderNum}</if>
AND order_num = #{orderNum} limit 1
)
ORDER BY order_num ASC LIMIT 1
</select>
<insert id="insertProRouteProcess" parameterType="ProRouteProcess" useGeneratedKeys="true" keyProperty="recordId">
insert into pro_route_process
<trim prefix="(" suffix=")" suffixOverrides=",">