fix:工序流程编辑“序号”导致下一道工序回显异常问题解决
This commit is contained in:
parent
b279c8493d
commit
43e8d5f5bf
@ -156,40 +156,31 @@ public class ProRouteProcessController extends BaseController
|
|||||||
@PutMapping
|
@PutMapping
|
||||||
public AjaxResult edit(@RequestBody ProRouteProcess proRouteProcess)
|
public AjaxResult edit(@RequestBody ProRouteProcess proRouteProcess)
|
||||||
{
|
{
|
||||||
if(UserConstants.NOT_UNIQUE.equals(proRouteProcessService.checkOrderNumExists(proRouteProcess))){
|
return proRouteProcessService.editProRouteProcess(proRouteProcess);
|
||||||
return AjaxResult.error("序号已存在!");
|
|
||||||
}
|
|
||||||
if(UserConstants.NOT_UNIQUE.equals(proRouteProcessService.checkProcessExists(proRouteProcess))){
|
|
||||||
return AjaxResult.error("不能重复添加工序!");
|
|
||||||
}
|
|
||||||
if(UserConstants.YES.equals(proRouteProcess.getKeyFlag()) && UserConstants.NOT_UNIQUE.equals(proRouteProcessService.checkUpdateFlagUnique(proRouteProcess))){
|
|
||||||
return AjaxResult.error("当前工艺路线已经指定过关键工序");
|
|
||||||
}
|
|
||||||
ProProcess process = proProcessService.selectProProcessByProcessId(proRouteProcess.getProcessId());
|
|
||||||
proRouteProcess.setProcessCode(process.getProcessCode());
|
|
||||||
proRouteProcess.setProcessName(process.getProcessName());
|
|
||||||
|
|
||||||
//更新上一个工序的nextProcess
|
//更新上一个工序的nextProcess
|
||||||
ProRouteProcess preProcess = proRouteProcessService.findPreProcess(proRouteProcess);
|
// ProRouteProcess preProcess = proRouteProcessService.findPreProcess(proRouteProcess);
|
||||||
if(StringUtils.isNotNull(preProcess)){
|
// if(StringUtils.isNotNull(preProcess)){
|
||||||
preProcess.setNextProcessId(proRouteProcess.getProcessId());
|
// preProcess.setNextProcessId(proRouteProcess.getProcessId());
|
||||||
preProcess.setNextProcessCode(proRouteProcess.getProcessCode());
|
// preProcess.setNextProcessCode(proRouteProcess.getProcessCode());
|
||||||
preProcess.setNextProcessName(proRouteProcess.getProcessName());
|
// preProcess.setNextProcessName(proRouteProcess.getProcessName());
|
||||||
proRouteProcessService.updateProRouteProcess(preProcess);
|
// 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("无");
|
||||||
|
// }
|
||||||
|
|
||||||
//设置当前工序的nextProcess
|
// return toAjax(proRouteProcessService.updateProRouteProcess(proRouteProcess));
|
||||||
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));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -89,7 +89,7 @@ public interface ProRouteProcessMapper
|
|||||||
*/
|
*/
|
||||||
List<ProRouteProcess> selectByRouteId(Long routeId);
|
List<ProRouteProcess> selectByRouteId(Long routeId);
|
||||||
|
|
||||||
void updateBatch(@Param("entity") List<ProRouteProcess> list);
|
void updateBatch(@Param("list") List<ProRouteProcess> list);
|
||||||
|
|
||||||
List<ProRouteProcess> selectByProcessIds(@Param("entity") Long[] processIds);
|
List<ProRouteProcess> selectByProcessIds(@Param("entity") Long[] processIds);
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ 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.ProFeedback;
|
import com.ktg.mes.pro.domain.ProFeedback;
|
||||||
import com.ktg.mes.pro.domain.ProRouteProcess;
|
import com.ktg.mes.pro.domain.ProRouteProcess;
|
||||||
|
|
||||||
@ -111,4 +112,6 @@ public interface IProRouteProcessService
|
|||||||
public int deleteByRouteId(Long routeId);
|
public int deleteByRouteId(Long routeId);
|
||||||
|
|
||||||
List<ProRouteProcess> selectByProcessIds(Long[] processIds);
|
List<ProRouteProcess> selectByProcessIds(Long[] processIds);
|
||||||
|
|
||||||
|
AjaxResult editProRouteProcess(ProRouteProcess proRouteProcess);
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
package com.ktg.mes.pro.service.impl;
|
package com.ktg.mes.pro.service.impl;
|
||||||
|
|
||||||
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
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.md.domain.MdWorkstation;
|
import com.ktg.mes.md.domain.MdWorkstation;
|
||||||
@ -13,6 +15,7 @@ import com.ktg.mes.pro.domain.*;
|
|||||||
import com.ktg.mes.pro.mapper.ProRouteMapper;
|
import com.ktg.mes.pro.mapper.ProRouteMapper;
|
||||||
import com.ktg.mes.pro.mapper.ProRouteProductMapper;
|
import com.ktg.mes.pro.mapper.ProRouteProductMapper;
|
||||||
import com.ktg.mes.pro.mapper.ProWorkorderMapper;
|
import com.ktg.mes.pro.mapper.ProWorkorderMapper;
|
||||||
|
import com.ktg.mes.pro.service.IProProcessService;
|
||||||
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.ProRouteProcessMapper;
|
import com.ktg.mes.pro.mapper.ProRouteProcessMapper;
|
||||||
@ -41,6 +44,9 @@ public class ProRouteProcessServiceImpl implements IProRouteProcessService
|
|||||||
@Autowired
|
@Autowired
|
||||||
private MdWorkstationMapper mdWorkstationMapper;
|
private MdWorkstationMapper mdWorkstationMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IProProcessService proProcessService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询工艺组成
|
* 查询工艺组成
|
||||||
*
|
*
|
||||||
@ -176,21 +182,22 @@ public class ProRouteProcessServiceImpl implements IProRouteProcessService
|
|||||||
int status = proRouteProcessMapper.deleteProRouteProcessByRecordIds(recordIds);
|
int status = proRouteProcessMapper.deleteProRouteProcessByRecordIds(recordIds);
|
||||||
List<ProRouteProcess> list = proRouteProcessMapper.selectByRouteId(routeId);
|
List<ProRouteProcess> list = proRouteProcessMapper.selectByRouteId(routeId);
|
||||||
if (list != null && list.size() > 0) {
|
if (list != null && list.size() > 0) {
|
||||||
|
List<ProRouteProcess> collect = list.stream().sorted(Comparator.comparing(ProRouteProcess::getOrderNum))
|
||||||
|
.collect(Collectors.toList());
|
||||||
// 重新生成工序
|
// 重新生成工序
|
||||||
for (int i = 0; i < list.size(); i++) {
|
for (int i = 0; i < collect.size(); i++) {
|
||||||
ProRouteProcess proRouteProcess = list.get(i);
|
ProRouteProcess item = collect.get(i);
|
||||||
if ((i + 1) >= list.size()) {
|
if ((i + 1) >= collect.size()) {
|
||||||
proRouteProcess.setNextProcessId(0L);
|
item.setNextProcessId(0L);
|
||||||
proRouteProcess.setNextProcessName("无");
|
item.setNextProcessName("无");
|
||||||
} else {
|
} else {
|
||||||
ProRouteProcess next = list.get(i + 1);
|
ProRouteProcess next = collect.get(i + 1);
|
||||||
proRouteProcess.setNextProcessId(next.getProcessId());
|
item.setNextProcessId(next.getProcessId());
|
||||||
proRouteProcess.setNextProcessCode(next.getProcessCode());
|
item.setNextProcessCode(next.getProcessCode());
|
||||||
proRouteProcess.setNextProcessName(next.getProcessName());
|
item.setNextProcessName(next.getProcessName());
|
||||||
}
|
}
|
||||||
|
proRouteProcessMapper.updateProRouteProcess(item);
|
||||||
}
|
}
|
||||||
// 批量更新
|
|
||||||
proRouteProcessMapper.updateBatch(list);
|
|
||||||
}
|
}
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@ -216,4 +223,45 @@ public class ProRouteProcessServiceImpl implements IProRouteProcessService
|
|||||||
public List<ProRouteProcess> selectByProcessIds(Long[] processIds) {
|
public List<ProRouteProcess> selectByProcessIds(Long[] processIds) {
|
||||||
return proRouteProcessMapper.selectByProcessIds(processIds);
|
return proRouteProcessMapper.selectByProcessIds(processIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public AjaxResult editProRouteProcess(ProRouteProcess proRouteProcess) {
|
||||||
|
if(UserConstants.NOT_UNIQUE.equals(checkOrderNumExists(proRouteProcess))){
|
||||||
|
return AjaxResult.error("序号已存在!");
|
||||||
|
}
|
||||||
|
if(UserConstants.NOT_UNIQUE.equals(checkProcessExists(proRouteProcess))){
|
||||||
|
return AjaxResult.error("不能重复添加工序!");
|
||||||
|
}
|
||||||
|
if(UserConstants.YES.equals(proRouteProcess.getKeyFlag()) && UserConstants.NOT_UNIQUE.equals(checkUpdateFlagUnique(proRouteProcess))){
|
||||||
|
return AjaxResult.error("当前工艺路线已经指定过关键工序");
|
||||||
|
}
|
||||||
|
ProProcess process = proProcessService.selectProProcessByProcessId(proRouteProcess.getProcessId());
|
||||||
|
proRouteProcess.setProcessCode(process.getProcessCode());
|
||||||
|
proRouteProcess.setProcessName(process.getProcessName());
|
||||||
|
|
||||||
|
// 先更新当前数据
|
||||||
|
int status = updateProRouteProcess(proRouteProcess);
|
||||||
|
// 查询所有工艺路线数据
|
||||||
|
List<ProRouteProcess> list = proRouteProcessMapper.selectByRouteId(proRouteProcess.getRouteId());
|
||||||
|
if (list != null && list.size() > 0) {
|
||||||
|
List<ProRouteProcess> collect = list.stream().sorted(Comparator.comparing(ProRouteProcess::getOrderNum))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
// 重新生成工序
|
||||||
|
for (int i = 0; i < collect.size(); i++) {
|
||||||
|
ProRouteProcess item = collect.get(i);
|
||||||
|
if ((i + 1) >= collect.size()) {
|
||||||
|
item.setNextProcessId(0L);
|
||||||
|
item.setNextProcessName("无");
|
||||||
|
} else {
|
||||||
|
ProRouteProcess next = collect.get(i + 1);
|
||||||
|
item.setNextProcessId(next.getProcessId());
|
||||||
|
item.setNextProcessCode(next.getProcessCode());
|
||||||
|
item.setNextProcessName(next.getProcessName());
|
||||||
|
}
|
||||||
|
proRouteProcessMapper.updateProRouteProcess(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return AjaxResult.success(status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user