浏览代码

Merge branch 'master' of http://47.108.172.52:3000/dayou/item-management-1phase

GouGengquan 1 年之前
父节点
当前提交
44542f2f57

+ 3 - 3
biz-base/src/main/java/com/dayou/controller/PersonalSceneController.java

@@ -45,9 +45,9 @@ public class PersonalSceneController extends BaseController {
     /**
      * 个贷实勘表详情
      */
-    @GetMapping("/{id}")
-    public RestResponse<PersonalScene> detail(@PathVariable Long id){
-        PersonalScene xPersonalScene =personalSceneService.detail(id);
+    @GetMapping("/{personalId}")
+    public RestResponse<PersonalScene> detail(@PathVariable Long personalId){
+        PersonalScene xPersonalScene =personalSceneService.detail(personalId);
         return RestResponse.data(xPersonalScene);
      }
 

+ 1 - 1
service/src/main/java/com/dayou/service/IPersonalSceneService.java

@@ -17,7 +17,7 @@ public interface IPersonalSceneService extends IService<PersonalScene> {
 
         Page<PersonalScene> selectPage(Page page,PersonalScene personalScene);
 
-        PersonalScene detail(Long id);
+        PersonalScene detail(Long personalId);
 
         Boolean add(PersonalScene personalScene);
 

+ 6 - 2
service/src/main/java/com/dayou/service/impl/PersonalSceneServiceImpl.java

@@ -1,9 +1,11 @@
 package com.dayou.service.impl;
 
+import com.dayou.common.BaseEntity;
 import com.dayou.entity.PersonalScene;
 import com.dayou.mapper.PersonalSceneMapper;
 import com.dayou.service.IPersonalSceneService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dayou.utils.LoginContext;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -44,12 +46,14 @@ public class PersonalSceneServiceImpl extends ServiceImpl<PersonalSceneMapper, P
 
 
     @Override
-    public PersonalScene detail(Long id){
-        return this.getById(id);
+    public PersonalScene detail(Long personalId){
+        return this.getOne(new LambdaQueryWrapper<PersonalScene>().eq(PersonalScene::getPersonalId,personalId)
+                .eq(BaseEntity::getDeleted,Boolean.FALSE));
     }
 
     @Override
     public Boolean add(PersonalScene personalScene){
+        personalScene.setUserId(LoginContext.getCurrentUserId());
         return  this.save(personalScene);
     }
 

+ 47 - 0
service/src/main/java/com/dayou/workflow/handler/PersonalNodeHandler.java

@@ -1,13 +1,16 @@
 package com.dayou.workflow.handler;
 
 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.dto.HandlerPermissionDTO;
 import com.dayou.dto.WorkNodeCommit;
 import com.dayou.dto.WorkNodeDTO;
 import com.dayou.entity.Department;
 import com.dayou.entity.Personal;
+import com.dayou.entity.PersonalTarget;
 import com.dayou.entity.WorkFlowNodeInstance;
 import com.dayou.enums.MainBusinessEnum;
 import com.dayou.enums.ProductionEnum;
@@ -18,17 +21,21 @@ import com.dayou.mapper.DepartmentMapper;
 import com.dayou.mapper.PersonalMapper;
 import com.dayou.mapper.WorkFlowNodeInstanceMapper;
 import com.dayou.service.ICustomerCompanyService;
+import com.dayou.service.IPersonalTargetService;
 import com.dayou.service.IUserPostService;
 import com.dayou.service.workflow.IWorkFlowNodeInstanceService;
 import com.dayou.service.workflow.IWorkNodeService;
 import com.dayou.workflow.config.WorkNodeProcessable;
+import com.google.common.collect.Lists;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
 import static com.dayou.common.Constants.PERSONAL_DEPARTMENT;
+import static com.dayou.enums.workflow.WorkflowNodeEnum.*;
 
 /**
  * 类说明:
@@ -58,6 +65,9 @@ public class PersonalNodeHandler extends WorkNodeProcessable {
     @Autowired
     private WorkFlowNodeInstanceMapper workFlowNodeInstanceMapper;
 
+    @Autowired
+    private IPersonalTargetService personalTargetService;
+
 
     @Override
     public boolean forward(WorkNodeCommit workNodeCommit) {
@@ -134,4 +144,41 @@ public class PersonalNodeHandler extends WorkNodeProcessable {
                 return departmentMapper.selectOne(new LambdaQueryWrapper<Department>().select(Department::getLeaderId).eq(Department::getName,PERSONAL_DEPARTMENT)).getLeaderId();
         }
     }
+
+    @Override
+    public boolean goBack(WorkNodeCommit commit){
+        Long instanceNodeId = commit.getInstanceNodeId();
+        WorkFlowNodeInstance currentNode = workFlowNodeInstanceMapper.getInstanceNodeInfoById(instanceNodeId);
+        //如果是撰写节点(意见书,报告,复评函)退回。需删除产品业务信息
+        List<String> needToCleanFeedbackNodes = Arrays.asList(new String[]{QUOTATION_FEEDBACK.name(), GENERATE_STATEMENT.name(),WRITE_REPORT.name(), WRITE_LETTER.name()});
+        if (needToCleanFeedbackNodes.contains(currentNode.getNodeCode())){
+            //如果是在撰写意见书退回,清空反馈
+            PersonalTarget target = personalTargetService.getOne(new LambdaQueryWrapper<PersonalTarget>().select(PersonalTarget::getFeedback, BaseEntity::getId)
+                    .eq(PersonalTarget::getPersonalId, currentNode.getBusinessId()).eq(BaseEntity::getDeleted, Boolean.FALSE));
+            if (currentNode.getNodeCode().equals(GENERATE_STATEMENT.name())){
+                personalTargetService.update(new LambdaUpdateWrapper<PersonalTarget>().set(
+                        PersonalTarget::getFeedback,null
+                ).eq(BaseEntity::getId,target.getId()));
+            }
+            else{
+
+                if (StrUtil.isNotEmpty(target.getFeedback())){
+                    List<String> productionTypes = JSON.parseArray(target.getFeedback(), String.class);
+                    if (productionTypes.size()>1){
+                        List<String> xProductionType = Lists.newArrayList(productionTypes.get(0));
+                        personalTargetService.update(new LambdaUpdateWrapper<PersonalTarget>()
+                                .set(PersonalTarget::getFeedback,JSON.toJSONString(xProductionType)).eq(BaseEntity::getId,target.getId()));
+
+                    }
+                    else {
+                        personalTargetService.update(new LambdaUpdateWrapper<PersonalTarget>().set(
+                                PersonalTarget::getFeedback,null
+                        ).eq(BaseEntity::getId,target.getId()));
+                    }
+                }
+            }
+
+        }
+        return super.goBack(commit);
+    }
 }