|
@@ -43,6 +43,7 @@ import java.io.ByteArrayInputStream;
|
|
|
import java.io.ObjectInputStream;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Optional;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -99,6 +100,10 @@ public class PlanPassServiceImpl implements PlanPassService {
|
|
|
private FirstArticleItemResultService firstArticleItemResultService;
|
|
|
@Autowired
|
|
|
private FirstArticleService firstArticleService;
|
|
|
+ @Autowired
|
|
|
+ private FirstArticleTaskService firstArticleTaskService;
|
|
|
+// @Autowired
|
|
|
+// private FirstArticleApprovalTaskMapper firstArticleApprovalTaskMapper;
|
|
|
|
|
|
private static IPage<BentelerPlan> getBentelerPlanIPage(PlanPageReq planPageReq, List<OnsiteCalendar> onsiteCalendarList, BentelerPlanMapper bentelerPlanMapper) {
|
|
|
IPage<BentelerPlan> bentelerPlanIPage;
|
|
@@ -148,6 +153,7 @@ public class PlanPassServiceImpl implements PlanPassService {
|
|
|
|
|
|
/**
|
|
|
* 计划放行详情-首件
|
|
|
+ *
|
|
|
* @param planInfoReq
|
|
|
* @return
|
|
|
*/
|
|
@@ -160,44 +166,62 @@ public class PlanPassServiceImpl implements PlanPassService {
|
|
|
.eq(FirstArticleCalendar::getBentelerPlanId, planInfoReq.getPlanId()));
|
|
|
List<String> usersName = new ArrayList<>();
|
|
|
firstArticleCalendarList.forEach(onsiteCalendar -> {
|
|
|
- UserInfo userInfo = userInfoMapper.selectById(onsiteCalendar.getUserId());
|
|
|
- usersName.add(StringUtils.join(userInfo.getName(), " ", onsiteCalendar.getShift(), "班"));
|
|
|
+ String name = assembleUserName(onsiteCalendar.getUserId(), onsiteCalendar.getShift());
|
|
|
+ if (!name.isEmpty()) usersName.add(name);
|
|
|
});
|
|
|
|
|
|
//工作站
|
|
|
List<FirstArticleWorkshop> firstArticleWorkshopList = firstArticleWorkshopService.list(Wrappers.<FirstArticleWorkshop>lambdaQuery()
|
|
|
.eq(FirstArticleWorkshop::getBentelerPlanId, planInfoReq.getPlanId()));
|
|
|
// 每个workshop下的item
|
|
|
- firstArticleWorkshopList.forEach(workshop -> {
|
|
|
+ for (int i = 0; i < firstArticleWorkshopList.size(); i++) {
|
|
|
+ FirstArticleWorkshop workshop = firstArticleWorkshopList.get(i);
|
|
|
List<FirstArticleItem> firstArticleItemList = firstArticleItemService.list(Wrappers.<FirstArticleItem>lambdaQuery()
|
|
|
.eq(FirstArticleItem::getWorkshopId, workshop.getId()));
|
|
|
- workshop.setFirstArticleItemList(firstArticleItemList);
|
|
|
//每个item下的结果
|
|
|
- firstArticleItemList.forEach(item -> {
|
|
|
+ for (int j = 0; j < firstArticleItemList.size(); j++) {
|
|
|
+ FirstArticleItem item = firstArticleItemList.get(j);
|
|
|
List<FirstArticleItemResult> firstArticleItemResults = firstArticleItemResultService.list(Wrappers.<FirstArticleItemResult>lambdaQuery()
|
|
|
.eq(FirstArticleItemResult::getFirstArticleItemId, item.getId())
|
|
|
.eq(FirstArticleItemResult::getResult, 1));
|
|
|
- // 首件列表
|
|
|
- if (item.getFirstFlag() == 1 && firstArticleItemResults.stream().count() > 0) {
|
|
|
- item.setFirstItemResultList(firstArticleItemResults);
|
|
|
- }
|
|
|
- // 200件
|
|
|
- if (item.getTwoHundredFlag() == 1 && firstArticleItemResults.stream().count() > 0) {
|
|
|
- item.setTwoHundredItemResultList(firstArticleItemResults);
|
|
|
+ if (firstArticleItemResults.stream().count() == 0) {
|
|
|
+ firstArticleItemList.remove(j);
|
|
|
+ } else {
|
|
|
+ // 首件列表
|
|
|
+ if (item.getFirstFlag() == 1 && firstArticleItemResults.stream().count() > 0) {
|
|
|
+ item.setFirstItemResultList(firstArticleItemResults);
|
|
|
+ }
|
|
|
+ // 200件
|
|
|
+ if (item.getTwoHundredFlag() == 1 && firstArticleItemResults.stream().count() > 0) {
|
|
|
+ item.setTwoHundredItemResultList(firstArticleItemResults);
|
|
|
+ }
|
|
|
+ // 中断
|
|
|
+ if (item.getCatchFlag() == 1 && firstArticleItemResults.stream().count() > 0) {
|
|
|
+ item.setCatchItemResultList(firstArticleItemResults);
|
|
|
+ }
|
|
|
+ if (firstArticleItemResults.stream().count() > 0) {
|
|
|
+ Optional<Long> taskId = firstArticleItemResults.stream().findFirst().map(FirstArticleItemResult::getFirstArticleTaskId);
|
|
|
+ if (taskId.isPresent()) {
|
|
|
+ FirstArticleTask firstArticleTask = firstArticleTaskService.getById(taskId.get().longValue());
|
|
|
+ item.setFirstArticleTask(firstArticleTask);
|
|
|
+ FirstArticleApprovalTask approvalTask = firstArticleApprovalTaskMapper.selectOne(Wrappers.<FirstArticleApprovalTask>lambdaQuery()
|
|
|
+ .eq(FirstArticleApprovalTask::getFirstArticleTaskId, taskId.get().longValue()));
|
|
|
+ item.setFirstArticleApprovalTaskStatus(approvalTask.getStatus());
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- // 中断
|
|
|
- if (item.getCatchFlag() == 1 && firstArticleItemResults.stream().count() > 0) {
|
|
|
- item.setCatchItemResultList(firstArticleItemResults);
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
+ }
|
|
|
+ if (firstArticleItemList.size() > 0) {
|
|
|
+ workshop.setFirstArticleItemList(firstArticleItemList);
|
|
|
+ } else {
|
|
|
+ firstArticleWorkshopList.remove(i);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
//获取title
|
|
|
FirstArticleTitle title = firstArticleService.getFaTitle(planInfoReq.getPlanId());
|
|
|
|
|
|
- List<FirstArticleApprovalTask> firstArticleApprovalTaskList = planPassMapper.getFirstArticleApprovalTaskList(planInfoReq.getUserId());
|
|
|
-//
|
|
|
return PlanPassDetailRes.builder()
|
|
|
.planId(bentelerPlan.getId())
|
|
|
.planName(bentelerPlan.getName())
|
|
@@ -206,7 +230,6 @@ public class PlanPassServiceImpl implements PlanPassService {
|
|
|
.firstArticleTitle(title)
|
|
|
.firstArticleCalendars(firstArticleCalendarList)
|
|
|
.firstArticleWorkshops(firstArticleWorkshopList)
|
|
|
- .firstArticleApprovalTasks(firstArticleApprovalTaskList)
|
|
|
.build();
|
|
|
}
|
|
|
|
|
@@ -224,8 +247,9 @@ public class PlanPassServiceImpl implements PlanPassService {
|
|
|
|
|
|
List<String> usersName = new ArrayList<>();
|
|
|
onsiteCalendarList.forEach(onsiteCalendar -> {
|
|
|
- UserInfo userInfo = userInfoMapper.selectById(onsiteCalendar.getUserId());
|
|
|
- usersName.add(userInfo.getName());
|
|
|
+
|
|
|
+ String name = assembleUserName(onsiteCalendar.getUserId(), null);
|
|
|
+ if (!name.isEmpty()) usersName.add(name);
|
|
|
});
|
|
|
|
|
|
//获取title
|
|
@@ -240,6 +264,7 @@ public class PlanPassServiceImpl implements PlanPassService {
|
|
|
.titleInfo(title)
|
|
|
.onsiteCalendars(onsiteCalendarList)
|
|
|
.planApprovalTasks(planApprovalTaskResList)
|
|
|
+ .effectiveDate(bentelerPlan.getEffectiveDate())
|
|
|
.build();
|
|
|
return planPassDetailRes;
|
|
|
}
|
|
@@ -255,15 +280,6 @@ public class PlanPassServiceImpl implements PlanPassService {
|
|
|
|
|
|
int updateStatus = 0;
|
|
|
if (planApprovalTaskReq.getPlanType() == 1) {
|
|
|
- OnsiteApprovalTask ot = new OnsiteApprovalTask();
|
|
|
- ot.setOnsiteTaskId(planApprovalTaskReq.getTaskId());
|
|
|
- ot.setReason(planApprovalTaskReq.getReason());
|
|
|
- ot.setStatus(planApprovalTaskReq.getStatus());
|
|
|
- updateStatus = onsiteApprovalTaskMapper.update(ot, Wrappers.<OnsiteApprovalTask>lambdaQuery()
|
|
|
- .eq(OnsiteApprovalTask::getOnsiteTaskId, planApprovalTaskReq.getTaskId())
|
|
|
- .eq(OnsiteApprovalTask::getApprovalUserId, planApprovalTaskReq.getUserId()));
|
|
|
- }
|
|
|
- if (planApprovalTaskReq.getPlanType() == 2) {
|
|
|
FirstArticleApprovalTask ot = new FirstArticleApprovalTask();
|
|
|
ot.setFirstArticleTaskId(planApprovalTaskReq.getTaskId());
|
|
|
ot.setReason(planApprovalTaskReq.getReason());
|
|
@@ -272,6 +288,15 @@ public class PlanPassServiceImpl implements PlanPassService {
|
|
|
.eq(FirstArticleApprovalTask::getFirstArticleTaskId, planApprovalTaskReq.getTaskId())
|
|
|
.eq(FirstArticleApprovalTask::getApprovalUserId, planApprovalTaskReq.getUserId()));
|
|
|
}
|
|
|
+ if (planApprovalTaskReq.getPlanType() == 2) {
|
|
|
+ OnsiteApprovalTask ot = new OnsiteApprovalTask();
|
|
|
+ ot.setOnsiteTaskId(planApprovalTaskReq.getTaskId());
|
|
|
+ ot.setReason(planApprovalTaskReq.getReason());
|
|
|
+ ot.setStatus(planApprovalTaskReq.getStatus());
|
|
|
+ updateStatus = onsiteApprovalTaskMapper.update(ot, Wrappers.<OnsiteApprovalTask>lambdaQuery()
|
|
|
+ .eq(OnsiteApprovalTask::getOnsiteTaskId, planApprovalTaskReq.getTaskId())
|
|
|
+ .eq(OnsiteApprovalTask::getApprovalUserId, planApprovalTaskReq.getUserId()));
|
|
|
+ }
|
|
|
|
|
|
if (updateStatus > 0) {
|
|
|
//审批不通过触发下一级别
|
|
@@ -327,6 +352,7 @@ public class PlanPassServiceImpl implements PlanPassService {
|
|
|
|
|
|
/**
|
|
|
* byte[]转成Object
|
|
|
+ *
|
|
|
* @param buffer byte[]
|
|
|
* @return Object
|
|
|
*/
|
|
@@ -338,4 +364,21 @@ public class PlanPassServiceImpl implements PlanPassService {
|
|
|
return ob;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据用户id及班次拼装用户姓名
|
|
|
+ *
|
|
|
+ * @param userId
|
|
|
+ * @param shift
|
|
|
+ * @return 取不到用户信息返回空字符串,取到用户信息拼接班次
|
|
|
+ */
|
|
|
+ private String assembleUserName(Long userId, String shift) {
|
|
|
+ if (userId > 0) {
|
|
|
+ UserInfo userInfo = userInfoMapper.selectById(userId);
|
|
|
+ if (null != userInfo && null != userInfo.getName()) {
|
|
|
+ return StringUtils.join(userInfo.getName(), " ", shift != null ? shift + "班" : "");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+
|
|
|
}
|