fix:工序流程编辑“序号”导致下一道工序回显异常问题解决
This commit is contained in:
parent
b279c8493d
commit
43e8d5f5bf
@ -156,40 +156,31 @@ public class ProRouteProcessController extends BaseController
|
||||
@PutMapping
|
||||
public AjaxResult edit(@RequestBody ProRouteProcess proRouteProcess)
|
||||
{
|
||||
if(UserConstants.NOT_UNIQUE.equals(proRouteProcessService.checkOrderNumExists(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());
|
||||
return proRouteProcessService.editProRouteProcess(proRouteProcess);
|
||||
|
||||
|
||||
|
||||
//更新上一个工序的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);
|
||||
}
|
||||
// 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("无");
|
||||
// }
|
||||
|
||||
//设置当前工序的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));
|
||||
// return toAjax(proRouteProcessService.updateProRouteProcess(proRouteProcess));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -89,7 +89,7 @@ public interface ProRouteProcessMapper
|
||||
*/
|
||||
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);
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.ktg.mes.pro.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.ktg.common.core.domain.AjaxResult;
|
||||
import com.ktg.mes.pro.domain.ProFeedback;
|
||||
import com.ktg.mes.pro.domain.ProRouteProcess;
|
||||
|
||||
@ -111,4 +112,6 @@ public interface IProRouteProcessService
|
||||
public int deleteByRouteId(Long routeId);
|
||||
|
||||
List<ProRouteProcess> selectByProcessIds(Long[] processIds);
|
||||
|
||||
AjaxResult editProRouteProcess(ProRouteProcess proRouteProcess);
|
||||
}
|
||||
|
@ -1,10 +1,12 @@
|
||||
package com.ktg.mes.pro.service.impl;
|
||||
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
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.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.ProRouteProductMapper;
|
||||
import com.ktg.mes.pro.mapper.ProWorkorderMapper;
|
||||
import com.ktg.mes.pro.service.IProProcessService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.ktg.mes.pro.mapper.ProRouteProcessMapper;
|
||||
@ -41,6 +44,9 @@ public class ProRouteProcessServiceImpl implements IProRouteProcessService
|
||||
@Autowired
|
||||
private MdWorkstationMapper mdWorkstationMapper;
|
||||
|
||||
@Autowired
|
||||
private IProProcessService proProcessService;
|
||||
|
||||
/**
|
||||
* 查询工艺组成
|
||||
*
|
||||
@ -176,21 +182,22 @@ public class ProRouteProcessServiceImpl implements IProRouteProcessService
|
||||
int status = proRouteProcessMapper.deleteProRouteProcessByRecordIds(recordIds);
|
||||
List<ProRouteProcess> list = proRouteProcessMapper.selectByRouteId(routeId);
|
||||
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++) {
|
||||
ProRouteProcess proRouteProcess = list.get(i);
|
||||
if ((i + 1) >= list.size()) {
|
||||
proRouteProcess.setNextProcessId(0L);
|
||||
proRouteProcess.setNextProcessName("无");
|
||||
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 = list.get(i + 1);
|
||||
proRouteProcess.setNextProcessId(next.getProcessId());
|
||||
proRouteProcess.setNextProcessCode(next.getProcessCode());
|
||||
proRouteProcess.setNextProcessName(next.getProcessName());
|
||||
ProRouteProcess next = collect.get(i + 1);
|
||||
item.setNextProcessId(next.getProcessId());
|
||||
item.setNextProcessCode(next.getProcessCode());
|
||||
item.setNextProcessName(next.getProcessName());
|
||||
}
|
||||
proRouteProcessMapper.updateProRouteProcess(item);
|
||||
}
|
||||
// 批量更新
|
||||
proRouteProcessMapper.updateBatch(list);
|
||||
}
|
||||
return status;
|
||||
}
|
||||
@ -216,4 +223,45 @@ public class ProRouteProcessServiceImpl implements IProRouteProcessService
|
||||
public List<ProRouteProcess> selectByProcessIds(Long[] 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