|
|
|
@ -23,6 +23,7 @@ import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.Objects;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
@ -58,7 +59,7 @@ public class MesCraftRouteDetailServiceImpl extends BaseMesService<MesCraftRoute
|
|
|
|
|
@Override
|
|
|
|
|
public void insertMesCraftRouteDetailBatch(List<MesCraftRouteDetail> mesCraftRouteDetailList) {
|
|
|
|
|
//校验数据
|
|
|
|
|
checkData(mesCraftRouteDetailList, true);
|
|
|
|
|
checkData(mesCraftRouteDetailList);
|
|
|
|
|
//校验工艺
|
|
|
|
|
checkCraft(mesCraftRouteDetailList, mesCraftRouteDetailList.iterator().next().getRouteCode());
|
|
|
|
|
//保存数据
|
|
|
|
@ -81,7 +82,7 @@ public class MesCraftRouteDetailServiceImpl extends BaseMesService<MesCraftRoute
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
//校验数据
|
|
|
|
|
checkData(mesCraftRouteDetailList, false);
|
|
|
|
|
checkData(mesCraftRouteDetailList);
|
|
|
|
|
//校验工艺
|
|
|
|
|
boolean isCheckCraft = false;
|
|
|
|
|
String routeCode = null;
|
|
|
|
@ -89,9 +90,6 @@ public class MesCraftRouteDetailServiceImpl extends BaseMesService<MesCraftRoute
|
|
|
|
|
List<MesCraftRouteDetail> insertMesCraftRouteDetails = mesCraftRouteDetailList.stream().filter(t -> Objects.isNull(t.getId())).collect(Collectors.toList());
|
|
|
|
|
if (!CollectionUtils.isEmpty(insertMesCraftRouteDetails)) {
|
|
|
|
|
isCheckCraft = true;
|
|
|
|
|
insertMesCraftRouteDetails.forEach(t -> {
|
|
|
|
|
ConvertBean.serviceModelInitialize(t, userName);
|
|
|
|
|
});
|
|
|
|
|
routeCode = insertMesCraftRouteDetails.iterator().next().getRouteCode();
|
|
|
|
|
}
|
|
|
|
|
//判断是否修改工艺代码
|
|
|
|
@ -109,13 +107,26 @@ public class MesCraftRouteDetailServiceImpl extends BaseMesService<MesCraftRoute
|
|
|
|
|
if (!CollectionUtils.isEmpty(insertMesCraftRouteDetails)) {
|
|
|
|
|
insertBatch(insertMesCraftRouteDetails);
|
|
|
|
|
}
|
|
|
|
|
//修改
|
|
|
|
|
Map<Long, MesCraftRouteDetail> routeDetailMap = mesCraftRouteDetailList.stream().filter(t -> !Objects.isNull(t.getId()))
|
|
|
|
|
.collect(Collectors.toMap(MesCraftRouteDetail::getId, t -> t));
|
|
|
|
|
//修改或者删除
|
|
|
|
|
for (MesCraftRouteDetail mesCraftRouteDetail : oldMesCraftRouteDetailList) {
|
|
|
|
|
//判断是否删除数据
|
|
|
|
|
boolean exist = mesCraftRouteDetailList.stream().anyMatch(t -> mesCraftRouteDetail.getId().equals(t.getId()));
|
|
|
|
|
if (!exist) {
|
|
|
|
|
deleteWeaklyById(mesCraftRouteDetail.getId(), mesCraftRouteDetail.getModifyUser());
|
|
|
|
|
MesCraftRouteDetail newRouteDetail = routeDetailMap.get(mesCraftRouteDetail.getId());
|
|
|
|
|
if (Objects.isNull(newRouteDetail)) {
|
|
|
|
|
deleteWeaklyById(mesCraftRouteDetail.getId(), userName);
|
|
|
|
|
} else {
|
|
|
|
|
//修改
|
|
|
|
|
mesCraftRouteDetail.setCraftCode(newRouteDetail.getCraftCode());
|
|
|
|
|
mesCraftRouteDetail.setCraftName(newRouteDetail.getCraftName());
|
|
|
|
|
mesCraftRouteDetail.setSeq(newRouteDetail.getSeq());
|
|
|
|
|
mesCraftRouteDetail.setIsChoose(newRouteDetail.getIsChoose());
|
|
|
|
|
mesCraftRouteDetail.setAtMostProcess(newRouteDetail.getAtMostProcess());
|
|
|
|
|
mesCraftRouteDetail.setIsBindNextCraft(newRouteDetail.getIsBindNextCraft());
|
|
|
|
|
mesCraftRouteDetail.setRepeatTimes(newRouteDetail.getRepeatTimes());
|
|
|
|
|
mesCraftRouteDetail.setDescription(newRouteDetail.getDescription());
|
|
|
|
|
ConvertBean.serviceModelUpdate(mesCraftRouteDetail, userName);
|
|
|
|
|
update(mesCraftRouteDetail);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -142,7 +153,7 @@ public class MesCraftRouteDetailServiceImpl extends BaseMesService<MesCraftRoute
|
|
|
|
|
//判断工艺是否属于同一流程
|
|
|
|
|
mesCraftRouteDetailList.forEach(mesCraftRouteDetail -> {
|
|
|
|
|
if (!craftCodeList.contains(mesCraftRouteDetail.getCraftCode())) {
|
|
|
|
|
MesException.throwMesBusiException("工艺【%s】与其他工艺不属于同一流程【%s】", mesCraftRouteDetail.getCraftName(),routeCode);
|
|
|
|
|
MesException.throwMesBusiException("工艺【%s】与其他工艺不属于同一流程【%s】", mesCraftRouteDetail.getCraftName(), routeCode);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//非排序
|
|
|
|
@ -151,7 +162,7 @@ public class MesCraftRouteDetailServiceImpl extends BaseMesService<MesCraftRoute
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void checkData(List<MesCraftRouteDetail> mesCraftRouteDetailList, boolean isInsert) {
|
|
|
|
|
private void checkData(List<MesCraftRouteDetail> mesCraftRouteDetailList) {
|
|
|
|
|
List<Integer> seqList = new ArrayList<>();
|
|
|
|
|
List<String> craftCodeList = new ArrayList<>();
|
|
|
|
|
String userName = AuthUtilExt.getUserName();
|
|
|
|
@ -178,12 +189,7 @@ public class MesCraftRouteDetailServiceImpl extends BaseMesService<MesCraftRoute
|
|
|
|
|
MesException.throwMesBusiException("已完成工序最大重复次数不能小于0");
|
|
|
|
|
}
|
|
|
|
|
mesCraftRouteDetail.setOrganizeCode(AuthUtilExt.getOrganizeCode());
|
|
|
|
|
if (isInsert) {
|
|
|
|
|
ConvertBean.serviceModelInitialize(mesCraftRouteDetail, userName);
|
|
|
|
|
} else {
|
|
|
|
|
ConvertBean.serviceModelUpdate(mesCraftRouteDetail, userName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ConvertBean.serviceModelInitialize(mesCraftRouteDetail, userName);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
@ -199,7 +205,7 @@ public class MesCraftRouteDetailServiceImpl extends BaseMesService<MesCraftRoute
|
|
|
|
|
pager.setPageSize(100);
|
|
|
|
|
List<MesCraft> mesCraftList = mesCraftService.findMesCraft(mesCraft, pager).getObjectList();
|
|
|
|
|
if (CollectionUtils.isEmpty(mesCraftList)) {
|
|
|
|
|
MesException.throwMesBusiException("工艺流程【%s】没有对应的工艺信息",routeCode);
|
|
|
|
|
MesException.throwMesBusiException("工艺流程【%s】没有对应的工艺信息", routeCode);
|
|
|
|
|
}
|
|
|
|
|
return mesCraftList.stream().map(MesCraft::getCraftCode).collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|