|
@@ -1,18 +1,26 @@
|
|
|
package com.factory.wx.service.impl;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.factory.base.entity.aggregates.ResponseBean;
|
|
|
+import com.factory.base.entity.po.benteler.BentelerPlan;
|
|
|
import com.factory.base.util.res.ResponseBeanBuilder;
|
|
|
import com.factory.user.service.UserRoleService;
|
|
|
import com.factory.web.entity.fa.FirstArticleApprovalTask;
|
|
|
+import com.factory.web.entity.fa.FirstArticleCalendar;
|
|
|
import com.factory.web.entity.fa.FirstArticleTask;
|
|
|
import com.factory.web.entity.fa.FirstArticleTitle;
|
|
|
import com.factory.web.entity.fa.FirstArticleWorkshop;
|
|
|
import com.factory.web.entity.pm.ApprovalRule;
|
|
|
-import com.factory.web.entity.pm.OnsiteApprovalTask;
|
|
|
-import com.factory.web.entity.pm.res.ApprovalUserRes;
|
|
|
import com.factory.web.mapper.fa.FirstArticleApprovalTaskMapper;
|
|
|
import com.factory.web.mapper.pm.ApprovalRuleMapper;
|
|
|
+import com.factory.web.service.fa.FirstArticleCalendarService;
|
|
|
import com.factory.web.service.fa.FirstArticleService;
|
|
|
import com.factory.web.service.fa.FirstArticleTaskService;
|
|
|
import com.factory.web.service.fa.FirstArticleWorkshopService;
|
|
@@ -21,17 +29,16 @@ import com.factory.wx.entity.req.PlanApprovalTaskReq;
|
|
|
import com.factory.wx.entity.req.PlanPassReq;
|
|
|
import com.factory.wx.entity.req.SearchPlanPassReq;
|
|
|
import com.factory.wx.entity.req.SendMsgReq;
|
|
|
-import com.factory.wx.entity.res.*;
|
|
|
+import com.factory.wx.entity.res.PlanPassDetailRes;
|
|
|
+import com.factory.wx.entity.res.PlanPassItemRes;
|
|
|
+import com.factory.wx.entity.res.PlanPassItemResultRes;
|
|
|
+import com.factory.wx.entity.res.PlanPassTaskRes;
|
|
|
+import com.factory.wx.entity.res.PlanPassWorkshopRes;
|
|
|
+import com.factory.wx.entity.res.WxPlanBaseInfoRes;
|
|
|
import com.factory.wx.mapper.PlanPassMapper;
|
|
|
import com.factory.wx.service.PlanPassFAService;
|
|
|
import com.factory.wx.service.WxPlanService;
|
|
|
import com.factory.wx.service.WxService;
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @author sMArT
|
|
@@ -44,10 +51,11 @@ public class PlanPassFAServiceImpl implements PlanPassFAService {
|
|
|
/**
|
|
|
* 审批规则类型为:2首件
|
|
|
*/
|
|
|
- private static int APPROVAL_TYPE_FIRST_ARTICLE = 2;
|
|
|
@Autowired
|
|
|
private PlanPassMapper planPassMapper;
|
|
|
@Autowired
|
|
|
+ private FirstArticleCalendarService firstArticleCalendarService;
|
|
|
+ @Autowired
|
|
|
private FirstArticleTaskService firstArticleTaskService;
|
|
|
@Autowired
|
|
|
private FirstArticleApprovalTaskMapper firstArticleApprovalTaskMapper;
|
|
@@ -65,6 +73,8 @@ public class PlanPassFAServiceImpl implements PlanPassFAService {
|
|
|
private WxService wxService;
|
|
|
@Autowired
|
|
|
private UserRoleService userRoleService;
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 计划放行详情-首件
|
|
|
*
|
|
@@ -77,11 +87,10 @@ public class PlanPassFAServiceImpl implements PlanPassFAService {
|
|
|
planPassReq.setRoleIds(roleIds);
|
|
|
WxPlanBaseInfoRes wxPlanBaseInfoRes = wxPlanService.getFirstArticlePlanBaseInfo(planPassReq.getPlanId());
|
|
|
List<PlanPassTaskRes> planPassTaskResList = null;
|
|
|
- List<Integer> itemType = null;
|
|
|
+ List<Integer> itemType = wxPlanBaseInfoRes.getFrequency();
|
|
|
if(!roleIds.isEmpty()) {
|
|
|
planPassTaskResList = getFATaskList(planPassReq);
|
|
|
-
|
|
|
- itemType = getItemFAFrequency(planPassTaskResList);
|
|
|
+// itemType = getItemFAFrequency(planPassTaskResList);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -104,8 +113,9 @@ public class PlanPassFAServiceImpl implements PlanPassFAService {
|
|
|
* @return
|
|
|
*/
|
|
|
private List<PlanPassTaskRes> getFATaskList(PlanPassReq planPassReq) {
|
|
|
+
|
|
|
+ //modify 按照taskId和planId查询
|
|
|
List<PlanPassTaskRes> faList = planPassMapper.getFaPassTaskListByPlanId(planPassReq);
|
|
|
-
|
|
|
for (PlanPassTaskRes faInfo : faList) {
|
|
|
List<FirstArticleWorkshop> firstArticleWorkshopList = firstArticleWorkshopService.list(Wrappers.<FirstArticleWorkshop>lambdaQuery()
|
|
|
.eq(FirstArticleWorkshop::getBentelerPlanId, planPassReq.getPlanId()));
|
|
@@ -124,16 +134,19 @@ public class PlanPassFAServiceImpl implements PlanPassFAService {
|
|
|
|
|
|
SearchPlanPassReq searchReq = new SearchPlanPassReq();
|
|
|
searchReq.setWorkshopId(planPassWorkshopList.get(i).getWorkshopId());
|
|
|
+ searchReq.setResultFlag(1);
|
|
|
+ //只选择有问题的
|
|
|
List<PlanPassItemRes> planPassItemList = planPassMapper.getFaPassItemList(searchReq);
|
|
|
|
|
|
for (PlanPassItemRes planPassItemRes : planPassItemList) {
|
|
|
- List<PlanPassItemResultRes> firstItemResultList = this.getFaItemResultList(faInfo.getTaskId(), planPassItemRes.getItemId(), 0);
|
|
|
+
|
|
|
+ List<PlanPassItemResultRes> firstItemResultList = this.getFaItemResultList(faInfo.getTaskId(), planPassItemRes.getItemId(), 0,1);
|
|
|
planPassItemRes.setFirstItemResultList(firstItemResultList);
|
|
|
|
|
|
- List<PlanPassItemResultRes> twoHundredItemResultList = this.getFaItemResultList(faInfo.getTaskId(), planPassItemRes.getItemId(), 1);
|
|
|
+ List<PlanPassItemResultRes> twoHundredItemResultList = this.getFaItemResultList(faInfo.getTaskId(), planPassItemRes.getItemId(), 1,1);
|
|
|
planPassItemRes.setTwoHundredItemResultList(twoHundredItemResultList);
|
|
|
|
|
|
- List<PlanPassItemResultRes> catchItemResultList = this.getFaItemResultList(faInfo.getTaskId(), planPassItemRes.getItemId(), 2);
|
|
|
+ List<PlanPassItemResultRes> catchItemResultList = this.getFaItemResultList(faInfo.getTaskId(), planPassItemRes.getItemId(), 2,1);
|
|
|
planPassItemRes.setCatchItemResultList(catchItemResultList);
|
|
|
}
|
|
|
planPassWorkshopList.get(i).setItemList(planPassItemList);
|
|
@@ -252,20 +265,7 @@ public class PlanPassFAServiceImpl implements PlanPassFAService {
|
|
|
.orderByAsc(ApprovalRule::getApprovalLevel)
|
|
|
.last("limit 1"));
|
|
|
if (approvalRuleNextLevel!=null) {
|
|
|
- firstArticleApprovalTaskMapper.insert(FirstArticleApprovalTask.builder()
|
|
|
- .firstArticleTaskId(planApprovalTaskReq.getTaskId())
|
|
|
- .approvalLevel(approvalRuleNextLevel.getApprovalLevel())
|
|
|
- .approvalRole(approvalRuleNextLevel.getRoleId())
|
|
|
- .status(0)
|
|
|
- .build());
|
|
|
-
|
|
|
- //向下一级别发送提醒
|
|
|
- //发送微信消息
|
|
|
- wxService.sendWechatMessageByRole(SendMsgReq.builder()
|
|
|
- .title("计划放行")
|
|
|
- .content("您有待放行的计划审批,请登录小程序查看")
|
|
|
- .fromUserId(planApprovalTaskReq.getUserId())
|
|
|
- .build(),approvalRuleNextLevel.getRoleId());
|
|
|
+ firstArticleService.setApproval(approvalRuleNextLevel, planApprovalTaskReq.getTaskId(), planApprovalTaskReq.getUserId());
|
|
|
} else {
|
|
|
//如果是最后一个审批级别则设置task状态为不通过
|
|
|
updateFirstArticleTask(planApprovalTaskReq);
|
|
@@ -280,14 +280,16 @@ public class PlanPassFAServiceImpl implements PlanPassFAService {
|
|
|
*
|
|
|
* @param taskId
|
|
|
* @param itemId
|
|
|
- * @param typeFlag
|
|
|
+ * @param typeFlag 0首件,1二百建,2中断
|
|
|
+ * @param resultFlag 0没问题结果1有问题结果 其他全部
|
|
|
* @return
|
|
|
*/
|
|
|
- private List<PlanPassItemResultRes> getFaItemResultList(long taskId, long itemId, int typeFlag) {
|
|
|
+ private List<PlanPassItemResultRes> getFaItemResultList(long taskId, long itemId, int typeFlag,Integer resultFlag) {
|
|
|
SearchPlanPassReq searchReq = new SearchPlanPassReq();
|
|
|
searchReq.setTaskId(taskId);
|
|
|
searchReq.setItemId(itemId);
|
|
|
searchReq.setTypeFlag(typeFlag);
|
|
|
+ searchReq.setTypeFlag(resultFlag);
|
|
|
List<PlanPassItemResultRes> planPassItemResultResList = planPassMapper.getFaPassItemResultList(searchReq);
|
|
|
return planPassItemResultResList;
|
|
|
}
|