|
|
@@ -971,59 +971,61 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
}
|
|
|
gxtRepairOrder.setUpdateBy(SecurityUtils.getUsername());
|
|
|
gxtRepairOrder.setUpdateTime(DateUtils.getNowDate());
|
|
|
- // 负责人为空
|
|
|
- if (null == gxtRepairOrder.getTeamLeaderName() && StringUtils.isEmpty(gxtRepairOrder.getTeamLeaderName())) {
|
|
|
- gxtRepairOrder.setTeamLeaderId(SecurityUtils.getUserId());
|
|
|
- gxtRepairOrder.setTeamLeaderName(SecurityUtils.getLoginUser().getUser().getNickName());
|
|
|
- GxtRepairOrderPerson person = new GxtRepairOrderPerson();
|
|
|
- person.setUserId(SecurityUtils.getUserId());
|
|
|
- person.setNickName(SecurityUtils.getLoginUser().getUser().getNickName());
|
|
|
- person.setIsLeader(1);
|
|
|
- person.setOrderId(gxtRepairOrder.getId());
|
|
|
- person.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
- person.setStatus(1);
|
|
|
- person.setCreateBy(SecurityUtils.getUsername());
|
|
|
- gxtRepairOrderPersonMapper.insertGxtRepairOrderPerson(person);
|
|
|
- }
|
|
|
+ if (oldOrder.getOverStopStatus() != 2) {
|
|
|
+ // 负责人为空
|
|
|
+ if (null == gxtRepairOrder.getTeamLeaderName() && StringUtils.isEmpty(gxtRepairOrder.getTeamLeaderName())) {
|
|
|
+ gxtRepairOrder.setTeamLeaderId(SecurityUtils.getUserId());
|
|
|
+ gxtRepairOrder.setTeamLeaderName(SecurityUtils.getLoginUser().getUser().getNickName());
|
|
|
+ GxtRepairOrderPerson person = new GxtRepairOrderPerson();
|
|
|
+ person.setUserId(SecurityUtils.getUserId());
|
|
|
+ person.setNickName(SecurityUtils.getLoginUser().getUser().getNickName());
|
|
|
+ person.setIsLeader(1);
|
|
|
+ person.setOrderId(gxtRepairOrder.getId());
|
|
|
+ person.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
+ person.setStatus(1);
|
|
|
+ person.setCreateBy(SecurityUtils.getUsername());
|
|
|
+ gxtRepairOrderPersonMapper.insertGxtRepairOrderPerson(person);
|
|
|
+ }
|
|
|
|
|
|
- // 修改工作负责人
|
|
|
- if(StringUtils.isNotEmpty(gxtRepairOrder.getTeamLeaderName())){
|
|
|
- List<SysUser> sysUsers = sysUserService.selectUserByNickName(gxtRepairOrder.getTeamLeaderName());
|
|
|
- SysUser sysUser = new SysUser();
|
|
|
- if(sysUsers != null && !sysUsers.isEmpty()){
|
|
|
- if (sysUsers.size() == 1) {
|
|
|
- sysUser = sysUsers.get(0);
|
|
|
- } else {
|
|
|
- // 如果有多个用户,查找部门ID与pcsStationPid相同的用户
|
|
|
- for (SysUser user : sysUsers) {
|
|
|
- if (user.getDeptId() != null && (user.getDeptId().equals(gxtRepairOrder.getPcsStationPid()) || user.getDeptId().equals(gxtRepairOrder.getPcsStationId()))) {
|
|
|
- sysUser = user;
|
|
|
- break;
|
|
|
+ // 修改工作负责人
|
|
|
+ if (StringUtils.isNotEmpty(gxtRepairOrder.getTeamLeaderName())) {
|
|
|
+ List<SysUser> sysUsers = sysUserService.selectUserByNickName(gxtRepairOrder.getTeamLeaderName());
|
|
|
+ SysUser sysUser = new SysUser();
|
|
|
+ if (sysUsers != null && !sysUsers.isEmpty()) {
|
|
|
+ if (sysUsers.size() == 1) {
|
|
|
+ sysUser = sysUsers.get(0);
|
|
|
+ } else {
|
|
|
+ // 如果有多个用户,查找部门ID与pcsStationPid相同的用户
|
|
|
+ for (SysUser user : sysUsers) {
|
|
|
+ if (user.getDeptId() != null && (user.getDeptId().equals(gxtRepairOrder.getPcsStationPid()) || user.getDeptId().equals(gxtRepairOrder.getPcsStationId()))) {
|
|
|
+ sysUser = user;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 如果没找到部门匹配的用户,则使用第一个用户
|
|
|
+ if (sysUser == null) {
|
|
|
+ sysUser = sysUsers.get(0);
|
|
|
}
|
|
|
}
|
|
|
- // 如果没找到部门匹配的用户,则使用第一个用户
|
|
|
- if (sysUser == null) {
|
|
|
- sysUser = sysUsers.get(0);
|
|
|
+ gxtRepairOrder.setTeamLeaderId(sysUser.getUserId());
|
|
|
+ gxtRepairOrder.setTeamLeaderName(sysUser.getNickName());
|
|
|
+ // 删除旧的工作班成员
|
|
|
+ gxtRepairOrderPersonMapper.deleteGxtRepairOrderPersonByOrderId(gxtRepairOrder.getId());
|
|
|
+ // 工作票方式工作班成员新增负责人
|
|
|
+ if (StringUtils.isNotEmpty(gxtRepairOrder.getInfoEntry()) && "2".equals(gxtRepairOrder.getInfoEntry())) {
|
|
|
+ GxtRepairOrderPerson person = new GxtRepairOrderPerson();
|
|
|
+ person.setUserId(sysUser.getUserId());
|
|
|
+ person.setIsLeader(1);
|
|
|
+ person.setUserName(sysUser.getUserName());
|
|
|
+ person.setNickName(sysUser.getNickName());
|
|
|
+ person.setOrderId(gxtRepairOrder.getId());
|
|
|
+ person.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
+ person.setStatus(1);
|
|
|
+ person.setCreateBy(SecurityUtils.getUsername());
|
|
|
+ person.setCreateTime(DateUtils.getNowDate());
|
|
|
+ gxtRepairOrderPersonMapper.insertGxtRepairOrderPerson(person);
|
|
|
}
|
|
|
}
|
|
|
- gxtRepairOrder.setTeamLeaderId(sysUser.getUserId());
|
|
|
- gxtRepairOrder.setTeamLeaderName(sysUser.getNickName());
|
|
|
- // 删除旧的工作班成员
|
|
|
- gxtRepairOrderPersonMapper.deleteGxtRepairOrderPersonByOrderId(gxtRepairOrder.getId());
|
|
|
- // 工作票方式工作班成员新增负责人
|
|
|
- if (StringUtils.isNotEmpty(gxtRepairOrder.getInfoEntry()) && "2".equals(gxtRepairOrder.getInfoEntry())) {
|
|
|
- GxtRepairOrderPerson person = new GxtRepairOrderPerson();
|
|
|
- person.setUserId(sysUser.getUserId());
|
|
|
- person.setIsLeader(1);
|
|
|
- person.setUserName(sysUser.getUserName());
|
|
|
- person.setNickName(sysUser.getNickName());
|
|
|
- person.setOrderId(gxtRepairOrder.getId());
|
|
|
- person.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
- person.setStatus(1);
|
|
|
- person.setCreateBy(SecurityUtils.getUsername());
|
|
|
- person.setCreateTime(DateUtils.getNowDate());
|
|
|
- gxtRepairOrderPersonMapper.insertGxtRepairOrderPerson(person);
|
|
|
- }
|
|
|
}
|
|
|
}
|
|
|
int result = gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
@@ -1050,17 +1052,17 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
|
|
|
// String getMisData = configService.selectConfigByKey("gxt.repairOder.getMisData");
|
|
|
// if(StringUtils.isNotEmpty(getMisData) && getMisData.equals("1")){
|
|
|
- if (StringUtils.isNotEmpty(gxtRepairOrder.getInfoEntry()) && "1".equals(gxtRepairOrder.getInfoEntry())) { //信息录入选择“关联mis工单”
|
|
|
+ if (oldOrder.getOverStopStatus() != 2) {
|
|
|
+ if (StringUtils.isNotEmpty(gxtRepairOrder.getInfoEntry()) && "1".equals(gxtRepairOrder.getInfoEntry())) { //信息录入选择"关联 mis 工单"
|
|
|
// gxtRepairOrderPersonMapper.deleteGxtRepairOrderPersonByOrderId(gxtRepairOrder.getId());
|
|
|
- if(gxtRepairOrder.getRepairOrderPersonList() != null && !gxtRepairOrder.getRepairOrderPersonList().isEmpty()){
|
|
|
- for (GxtRepairOrderPerson person : gxtRepairOrder.getRepairOrderPersonList())
|
|
|
- {
|
|
|
- SysUser sysUser = new SysUser();
|
|
|
- sysUser.setUserName(person.getUserName());
|
|
|
- sysUser.setNickName(person.getNickName());
|
|
|
- List<SysUser> sysUserList = sysUserService.selectUserListNoDataScope(sysUser);
|
|
|
- if (sysUserList.size() > 0) {
|
|
|
- sysUser = sysUserList.get(0);
|
|
|
+ if (gxtRepairOrder.getRepairOrderPersonList() != null && !gxtRepairOrder.getRepairOrderPersonList().isEmpty()) {
|
|
|
+ for (GxtRepairOrderPerson person : gxtRepairOrder.getRepairOrderPersonList()) {
|
|
|
+ SysUser sysUser = new SysUser();
|
|
|
+ sysUser.setUserName(person.getUserName());
|
|
|
+ sysUser.setNickName(person.getNickName());
|
|
|
+ List<SysUser> sysUserList = sysUserService.selectUserListNoDataScope(sysUser);
|
|
|
+ if (sysUserList.size() > 0) {
|
|
|
+ sysUser = sysUserList.get(0);
|
|
|
// if (sysUser.getUserId().equals(gxtRepairOrder.getTeamLeaderId())) continue; //检修人员是否已存在
|
|
|
// //修改工单负责人
|
|
|
// if (1 == person.getIsLeader()) {
|
|
|
@@ -1068,13 +1070,13 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
// gxtRepairOrder.setTeamLeaderId(sysUser.getUserId());
|
|
|
// gxtRepairOrderMapper.updateGxtRepairOrder(gxtRepairOrder);
|
|
|
// }
|
|
|
- } else {
|
|
|
- if (null == person.getIsLeader() || person.getIsLeader() == 0) {
|
|
|
- throw new ServiceException("已匹配到MIS工单,但工作班成员'" + person.getNickName() + "'在系统中不存在,系统无法自动结单,请检查");
|
|
|
} else {
|
|
|
- throw new ServiceException("已匹配到MIS工单,但工作负责人'" + person.getNickName() + "'在系统中不存在,系统无法自动结单,请检查");
|
|
|
+ if (null == person.getIsLeader() || person.getIsLeader() == 0) {
|
|
|
+ throw new ServiceException("已匹配到MIS工单,但工作班成员'" + person.getNickName() + "'在系统中不存在,系统无法自动结单,请检查");
|
|
|
+ } else {
|
|
|
+ throw new ServiceException("已匹配到MIS工单,但工作负责人'" + person.getNickName() + "'在系统中不存在,系统无法自动结单,请检查");
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
// SysUser sysUser = null;
|
|
|
// if(StringUtils.isNotEmpty(person.getUserName())){
|
|
|
// sysUser = sysUserService.selectUserByUserName(person.getUserName());
|
|
|
@@ -1102,66 +1104,69 @@ public class GxtRepairOrderServiceImpl implements IGxtRepairOrderService
|
|
|
// }
|
|
|
// }
|
|
|
// if(sysUser == null) continue;
|
|
|
- person.setUserId(sysUser.getUserId());
|
|
|
+ person.setUserId(sysUser.getUserId());
|
|
|
// if (Objects.equals(sysUser.getUserId(), gxtRepairOrder.getTeamLeaderId())) {
|
|
|
// person.setIsLeader(1);
|
|
|
// } else {
|
|
|
// person.setIsLeader(0);
|
|
|
// }
|
|
|
- person.setUserId(sysUser.getUserId());
|
|
|
- person.setOrderId(gxtRepairOrder.getId());
|
|
|
- person.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
- person.setStatus(1);
|
|
|
- person.setCreateBy(SecurityUtils.getUsername());
|
|
|
- person.setCreateTime(DateUtils.getNowDate());
|
|
|
- gxtRepairOrderPersonMapper.insertGxtRepairOrderPerson(person);
|
|
|
- }
|
|
|
- }
|
|
|
- }else{
|
|
|
- if(StringUtils.isNotEmpty(gxtRepairOrder.getWorkGroupMemberName())){
|
|
|
-// gxtRepairOrderPersonMapper.deleteGxtRepairOrderPersonByOrderId(gxtRepairOrder.getId());
|
|
|
- String[] splitNames = gxtRepairOrder.getWorkGroupMemberName().split(",");
|
|
|
- for (String name : splitNames) {
|
|
|
- List<SysUser> sysUsers = sysUserService.selectUserByNickName(name);
|
|
|
- if(sysUsers != null && !sysUsers.isEmpty()){
|
|
|
- SysUser sysUser = null;
|
|
|
- // 如果只有一个用户,直接使用
|
|
|
- if (sysUsers.size() == 1) {
|
|
|
- sysUser = sysUsers.get(0);
|
|
|
- if (sysUser.getUserId().equals(gxtRepairOrder.getTeamLeaderId())) continue; //检修人员是否已存在
|
|
|
- } else {
|
|
|
- // 如果有多个用户,查找部门ID与pcsStationPid相同的用户
|
|
|
- for (SysUser user : sysUsers) {
|
|
|
- if (user.getDeptId() != null && (user.getDeptId().equals(gxtRepairOrder.getPcsStationPid()) || user.getDeptId().equals(gxtRepairOrder.getPcsStationId()))) {
|
|
|
- sysUser = user;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- // 如果没找到部门匹配的用户,则使用第一个用户
|
|
|
- if (sysUser == null) {
|
|
|
- sysUser = sysUsers.get(0);
|
|
|
- }
|
|
|
-
|
|
|
- if (sysUser.getUserId().equals(gxtRepairOrder.getTeamLeaderId())) continue; //检修人员是否已存在
|
|
|
- }
|
|
|
- GxtRepairOrderPerson person = new GxtRepairOrderPerson();
|
|
|
- person.setUserId(sysUser.getUserId());
|
|
|
- if (Objects.equals(sysUser.getUserId(), gxtRepairOrder.getTeamLeaderId())) {
|
|
|
- person.setIsLeader(1);
|
|
|
- } else {
|
|
|
- person.setIsLeader(0);
|
|
|
- }
|
|
|
person.setUserId(sysUser.getUserId());
|
|
|
- person.setUserName(sysUser.getUserName());
|
|
|
- person.setNickName(sysUser.getNickName());
|
|
|
person.setOrderId(gxtRepairOrder.getId());
|
|
|
person.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
person.setStatus(1);
|
|
|
person.setCreateBy(SecurityUtils.getUsername());
|
|
|
person.setCreateTime(DateUtils.getNowDate());
|
|
|
gxtRepairOrderPersonMapper.insertGxtRepairOrderPerson(person);
|
|
|
- } else {
|
|
|
- throw new ServiceException("已匹配到MIS工单,但工作班成员'" + name + "'在系统中不存在,系统无法自动结单,请检查");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (StringUtils.isNotEmpty(gxtRepairOrder.getWorkGroupMemberName())) {
|
|
|
+// gxtRepairOrderPersonMapper.deleteGxtRepairOrderPersonByOrderId(gxtRepairOrder.getId());
|
|
|
+ String[] splitNames = gxtRepairOrder.getWorkGroupMemberName().split(",");
|
|
|
+ for (String name : splitNames) {
|
|
|
+ List<SysUser> sysUsers = sysUserService.selectUserByNickName(name);
|
|
|
+ if (sysUsers != null && !sysUsers.isEmpty()) {
|
|
|
+ SysUser sysUser = null;
|
|
|
+ // 如果只有一个用户,直接使用
|
|
|
+ if (sysUsers.size() == 1) {
|
|
|
+ sysUser = sysUsers.get(0);
|
|
|
+ if (sysUser.getUserId().equals(gxtRepairOrder.getTeamLeaderId()))
|
|
|
+ continue; //检修人员是否已存在
|
|
|
+ } else {
|
|
|
+ // 如果有多个用户,查找部门ID与pcsStationPid相同的用户
|
|
|
+ for (SysUser user : sysUsers) {
|
|
|
+ if (user.getDeptId() != null && (user.getDeptId().equals(gxtRepairOrder.getPcsStationPid()) || user.getDeptId().equals(gxtRepairOrder.getPcsStationId()))) {
|
|
|
+ sysUser = user;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 如果没找到部门匹配的用户,则使用第一个用户
|
|
|
+ if (sysUser == null) {
|
|
|
+ sysUser = sysUsers.get(0);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (sysUser.getUserId().equals(gxtRepairOrder.getTeamLeaderId()))
|
|
|
+ continue; //检修人员是否已存在
|
|
|
+ }
|
|
|
+ GxtRepairOrderPerson person = new GxtRepairOrderPerson();
|
|
|
+ person.setUserId(sysUser.getUserId());
|
|
|
+ if (Objects.equals(sysUser.getUserId(), gxtRepairOrder.getTeamLeaderId())) {
|
|
|
+ person.setIsLeader(1);
|
|
|
+ } else {
|
|
|
+ person.setIsLeader(0);
|
|
|
+ }
|
|
|
+ person.setUserId(sysUser.getUserId());
|
|
|
+ person.setUserName(sysUser.getUserName());
|
|
|
+ person.setNickName(sysUser.getNickName());
|
|
|
+ person.setOrderId(gxtRepairOrder.getId());
|
|
|
+ person.setOrderCode(gxtRepairOrder.getWorkOrderProjectNo());
|
|
|
+ person.setStatus(1);
|
|
|
+ person.setCreateBy(SecurityUtils.getUsername());
|
|
|
+ person.setCreateTime(DateUtils.getNowDate());
|
|
|
+ gxtRepairOrderPersonMapper.insertGxtRepairOrderPerson(person);
|
|
|
+ } else {
|
|
|
+ throw new ServiceException("已匹配到MIS工单,但工作班成员'" + name + "'在系统中不存在,系统无法自动结单,请检查");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|