|
@@ -2,22 +2,18 @@ package com.dayou.service.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.dayou.common.BaseEntity;
|
|
|
import com.dayou.configuration.DfsConfig;
|
|
|
-import com.dayou.dto.AssetsProWareHouseDTO;
|
|
|
-import com.dayou.dto.TaskRecordDTO;
|
|
|
-import com.dayou.dto.WareHouseDTO;
|
|
|
-import com.dayou.dto.WorkNodeCommit;
|
|
|
+import com.dayou.dto.*;
|
|
|
import com.dayou.entity.*;
|
|
|
import com.dayou.enums.MainBusinessEnum;
|
|
|
import com.dayou.enums.ProductionEnum;
|
|
|
import com.dayou.enums.workflow.WorkflowNodeEnum;
|
|
|
import com.dayou.exception.ErrorCode;
|
|
|
-import com.dayou.mapper.MajorProductionMapper;
|
|
|
-import com.dayou.mapper.PersonalTargetMapper;
|
|
|
-import com.dayou.mapper.WorkFlowNodeInstanceMapper;
|
|
|
+import com.dayou.mapper.*;
|
|
|
import com.dayou.service.*;
|
|
|
import com.dayou.service.workflow.IWorkFlowNodeInstanceService;
|
|
|
import com.dayou.service.workflow.IWorkFlowService;
|
|
@@ -37,10 +33,13 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.io.*;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
import static com.dayou.common.Constants.PNG;
|
|
|
import static com.dayou.common.Constants.PROD_VALIDATE_URI;
|
|
|
+import static com.dayou.enums.MainBusinessEnum.ASSET_BUSINESS;
|
|
|
import static com.dayou.enums.MainBusinessEnum.PERSONAL_BUSINESS;
|
|
|
import static com.dayou.enums.ProductionEnum.*;
|
|
|
import static com.dayou.enums.workflow.NodeLogEnum.PASS;
|
|
@@ -85,6 +84,13 @@ public class BusinessProductionServiceImpl implements IBusinessProductionService
|
|
|
@Autowired
|
|
|
private IWorkTaskRecordService workTaskRecordService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IMajorService majorService;
|
|
|
+ @Autowired
|
|
|
+ private ProductionFundMapper productionFundMapper;
|
|
|
+ @Autowired
|
|
|
+ private PersonalMapper personalMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public void setResourceLoader(ResourceLoader resourceLoader) {
|
|
|
this.resourceLoader = resourceLoader;
|
|
@@ -180,6 +186,27 @@ public class BusinessProductionServiceImpl implements IBusinessProductionService
|
|
|
workNodeCommit.setInstanceNodeId((Long) nodeMap.get("instanceId"));
|
|
|
workNodeCommit.setBusinessSubId((String) nodeMap.get("businessSubId"));
|
|
|
workNodeCommit.setBusinessMinId((String) nodeMap.get("businessMinId"));
|
|
|
+ if (MainBusinessEnum.MAJOR_BUSINESS.equals(businessType)){
|
|
|
+ Major feedback = majorService.getOne(new LambdaQueryWrapper<Major>().eq(BaseEntity::getId, businessId).select(Major::getFeedbackInfo));
|
|
|
+ List<ReportProductionFeedbackDTO> feedbacks = JSON.parseArray(feedback.getFeedbackInfo(), ReportProductionFeedbackDTO.class);
|
|
|
+ List<ProductionEnum> productions = feedbacks.get(feedbacks.size() - 1).getProduction();
|
|
|
+ workNodeCommit.setProduction(productions);
|
|
|
+ }
|
|
|
+ if (MainBusinessEnum.ASSET_BUSINESS.equals(businessType) && StrUtil.isNotBlank(workNodeCommit.getBusinessMinId())){
|
|
|
+ ProductionFund productionFund = productionFundMapper.selectOne(new LambdaQueryWrapper<ProductionFund>().select(BaseEntity::getId)
|
|
|
+ .eq(ProductionFund::getBusinessType, ASSET_BUSINESS.name()).eq(ProductionFund::getBusinessId, businessId)
|
|
|
+ .eq(ProductionFund::getProductionNo, workNodeCommit.getBusinessMinId()).eq(BaseEntity::getDeleted, Boolean.FALSE));
|
|
|
+ workNodeCommit.setIfProductionFund(productionFund!=null);
|
|
|
+ }
|
|
|
+ if (MainBusinessEnum.PERSONAL_BUSINESS.equals(businessType)){
|
|
|
+ PersonalTarget personalTarget = personalTargetMapper.selectOne(new LambdaQueryWrapper<PersonalTarget>().eq(PersonalTarget::getPersonalId, businessId)
|
|
|
+ .select(PersonalTarget::getFeedback).eq(BaseEntity::getDeleted, Boolean.FALSE));
|
|
|
+ workNodeCommit.setProduction(JSON.parseArray(personalTarget.getFeedback(),ProductionEnum.class));
|
|
|
+ Personal personal = personalMapper.selectOne(new LambdaQueryWrapper<Personal>().select(Personal::getClienteleId).eq(BaseEntity::getId, businessId).eq(BaseEntity::getDeleted, Boolean.FALSE));
|
|
|
+ if (personal != null){
|
|
|
+ workNodeCommit.setCcId(personal.getClienteleId());
|
|
|
+ }
|
|
|
+ }
|
|
|
return workFlowService.commit(workNodeCommit);
|
|
|
}
|
|
|
|
|
@@ -187,6 +214,7 @@ public class BusinessProductionServiceImpl implements IBusinessProductionService
|
|
|
return Boolean.FALSE;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
private Boolean doInOutWareHouse(MainBusinessEnum businessEnum,Long businessId,Long recordId,String productionNo,String code) {
|
|
|
|
|
|
Boolean doWareHouseRet = Boolean.FALSE;
|