|
|
|
@ -316,14 +316,14 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
|
|
|
|
|
//查询所有资源类型与资源关系
|
|
|
|
|
List<Map<String, Object>> resourceList = resourceService.getResourceTypeResourceList(site);
|
|
|
|
|
if (resourceList == null || resourceList.size() <= 0) {
|
|
|
|
|
throw BusinessException.build("资源与资源类型关系数据未维护");
|
|
|
|
|
throw BusinessException.build("资源与资源类型关系主数据未维护");
|
|
|
|
|
}
|
|
|
|
|
Map<String, List<Map<String, Object>>> map = resourceList.stream().collect(Collectors.groupingBy(item -> (String)item.get("RESRCE")));
|
|
|
|
|
|
|
|
|
|
//员工资源对应关系
|
|
|
|
|
List<UserResource> userResourceList = userResourceService.findEnableList(site, null, null);
|
|
|
|
|
if (userResourceList == null || userResourceList.size() <= 0) {
|
|
|
|
|
throw BusinessException.build("员工与资源关系没有维护");
|
|
|
|
|
throw BusinessException.build("员工与资源关系主数据未维护");
|
|
|
|
|
}
|
|
|
|
|
Map<String, List<UserResource>> usMap = userResourceList.stream().collect(Collectors.groupingBy(UserResource::getUserId));
|
|
|
|
|
|
|
|
|
@ -428,8 +428,8 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//校验操作者与资源是否匹配
|
|
|
|
|
String employee = sfcDispatchDto.getUserName();
|
|
|
|
|
if (StringUtil.notBlank(employee)) {
|
|
|
|
|
String employees = sfcDispatchDto.getUserName();
|
|
|
|
|
if (StringUtil.notBlank(employees)) {
|
|
|
|
|
//资源、计划时间必输
|
|
|
|
|
if (StringUtils.isBlank(resource)) {
|
|
|
|
|
flag = false;
|
|
|
|
@ -438,31 +438,45 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<UserResource> singleUserResourceList = usMap.get(employee);
|
|
|
|
|
if (singleUserResourceList == null || singleUserResourceList.size() <= 0) {
|
|
|
|
|
flag = false;
|
|
|
|
|
message.append(seq++ % 3 == 0 ? "\n" : "| |");
|
|
|
|
|
message.append("派工单[" + dispatchNo + "]分配的操作者[" + employee + "]没有维护资源关系");
|
|
|
|
|
continue;
|
|
|
|
|
//派工人员为多个
|
|
|
|
|
String [] employeeArray = new String[]{};
|
|
|
|
|
if (!employees.contains(",")) {
|
|
|
|
|
employeeArray[0] = employees;
|
|
|
|
|
} else {
|
|
|
|
|
employeeArray = employees.split(",");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Boolean isMatch = false;
|
|
|
|
|
for (int i = 0; i < singleUserResourceList.size(); i++) {
|
|
|
|
|
UserResource userResource = singleUserResourceList.get(i);
|
|
|
|
|
if (resource.equals(userResource.getResrce())) {
|
|
|
|
|
isMatch = true; break;
|
|
|
|
|
|
|
|
|
|
for (int m = 0; m < employeeArray.length; m++) {
|
|
|
|
|
String employee = employeeArray[m];
|
|
|
|
|
List<UserResource> singleUserResourceList = usMap.get(employee);
|
|
|
|
|
if (singleUserResourceList == null || singleUserResourceList.size() <= 0) {
|
|
|
|
|
flag = false;
|
|
|
|
|
message.append(seq++ % 3 == 0 ? "\n" : "| |");
|
|
|
|
|
message.append("派工单[" + dispatchNo + "]分配的操作者[" + employee + "]没有维护资源关系");
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Boolean isMatch = false;
|
|
|
|
|
for (int i = 0; i < singleUserResourceList.size(); i++) {
|
|
|
|
|
UserResource userResource = singleUserResourceList.get(i);
|
|
|
|
|
if (resource.equals(userResource.getResrce())) {
|
|
|
|
|
isMatch = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (!isMatch) {
|
|
|
|
|
flag = false;
|
|
|
|
|
message.append(seq++ % 3 == 0 ? "\n" : "| |");
|
|
|
|
|
message.append("派工单[" + dispatchNo + "]分配的操作员[" + employee + "]与资源[" + resource + "]不匹配");
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (!isMatch) {
|
|
|
|
|
flag = false;
|
|
|
|
|
message.append(seq++%3 == 0 ? "\n" : "| |");
|
|
|
|
|
message.append("派工单[" + dispatchNo + "]分配的操作员[" + employee + "]与资源[" + resource +"]不匹配");
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sfcDispatch.setResrce(resource);
|
|
|
|
|
sfcDispatch.setEmployee(employee);
|
|
|
|
|
sfcDispatch.setEmployee(employees);
|
|
|
|
|
sfcDispatch.setRemark(sfcDispatchDto.getRemark());
|
|
|
|
|
sfcDispatch.setBlankingSize(sfcDispatchDto.getBlankingSize());
|
|
|
|
|
sfcDispatch.setPlannedStartDate(sfcDispatchDto.getPlannedStartDate());
|
|
|
|
|