瀏覽代碼

出入库通用接口修改

wucl 11 月之前
父節點
當前提交
a469ae05ad
共有 1 個文件被更改,包括 35 次插入7 次删除
  1. 35 7
      service/src/main/java/com/dayou/service/impl/BusinessProductionServiceImpl.java

+ 35 - 7
service/src/main/java/com/dayou/service/impl/BusinessProductionServiceImpl.java

@@ -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;