|
@@ -637,4 +637,49 @@ public class OrderBaseLogic {
|
|
|
return new ArrayList<>(workerTeamMap.values());
|
|
return new ArrayList<>(workerTeamMap.values());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public void changeSlaveWorkerTeam(String orderBaseId, List<String> workerList) {
|
|
|
|
|
+ PgOrderBase pgOrderBase = pgOrderBaseService.getById(orderBaseId);
|
|
|
|
|
+ if (StringUtils.equals(pgOrderBase.getOrderStatus(), OrderBaseStatusEnum.YWG.getKey())) {
|
|
|
|
|
+ throw new RemoteServiceException("工单状态”已完工“");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ final AdminWebsit adminWebsit = adminWebsitService.getById(pgOrderBase.getWebsitId());
|
|
|
|
|
+
|
|
|
|
|
+ if (adminWebsit.getAttr().equals(WebsitAttrEnum.SELF.getKey())
|
|
|
|
|
+ && "安装, 拆移".contains(pgOrderBase.getOrderSmallType())
|
|
|
|
|
+ && CollectionUtil.isEmpty(workerList)) {
|
|
|
|
|
+ throw new RemoteServiceException("工单的类型必须至少选一个小工");
|
|
|
|
|
+ }
|
|
|
|
|
+ // 清空小工
|
|
|
|
|
+ pgOrderWorkerService.lambdaUpdate()
|
|
|
|
|
+ .eq(PgOrderWorker::getOrderBaseId, pgOrderBase.getId())
|
|
|
|
|
+ .eq(PgOrderWorker::getIsMaster, false)
|
|
|
|
|
+ .remove();
|
|
|
|
|
+
|
|
|
|
|
+ StringBuilder joinSlaveStr = new StringBuilder();
|
|
|
|
|
+ if (CollectionUtil.isNotEmpty(workerList)) {
|
|
|
|
|
+ joinSlaveStr.append("辅助工程师");
|
|
|
|
|
+ List<PgOrderWorker> orderWorkerList = new ArrayList<>();
|
|
|
|
|
+ for (String workerId : workerList) {
|
|
|
|
|
+ final User user = userService.getById(workerId);
|
|
|
|
|
+ PgOrderWorker orderWorker = new PgOrderWorker();
|
|
|
|
|
+ orderWorker.setOrderBaseId(pgOrderBase.getId())
|
|
|
|
|
+ .setWebsitId(pgOrderBase.getWebsitId())
|
|
|
|
|
+ .setWebsitName(pgOrderBase.getWebsitName())
|
|
|
|
|
+ .setWorkerId(workerId)
|
|
|
|
|
+ .setWorkerName(Objects.nonNull(user) ? user.getNickName() : "")
|
|
|
|
|
+ .setWorkerMobile(Objects.nonNull(user) ? user.getMobile() : "")
|
|
|
|
|
+ .setWorkerIdcard(Objects.nonNull(user) ? user.getIdCard() : "")
|
|
|
|
|
+ .setWorkerNumber(Objects.nonNull(user) ? user.getWorkerNumber() : "")
|
|
|
|
|
+ .setIsMaster(false);
|
|
|
|
|
+
|
|
|
|
|
+ orderWorkerList.add(orderWorker);
|
|
|
|
|
+ joinSlaveStr.append("【").append(orderWorker.getWorkerName()).append("】");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ pgOrderWorkerService.saveBatch(orderWorkerList);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ orderLogLogic.addLog(orderBaseId, "更换小工", joinSlaveStr.toString(), pgOrderBase.getWebsitName());
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|