From 6b0c99943f1ae73a55f54a721473b7cc8ddd1c24 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期三, 26 十月 2022 14:13:18 +0800
Subject: [PATCH] 我的待办处置人查询 上传处置重构

---
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java |    2 
 ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java   |  108 ++++++++++++++++++---
 ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml                  |   68 +++++++++----
 ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java           |    3 
 ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java     |   63 ------------
 5 files changed, 139 insertions(+), 105 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java
index 8bdbd0f..71dfe4c 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java
@@ -69,68 +69,7 @@
     public CommonResult searchDisposeList(@RequestParam Long caseId,
                                           @RequestParam Integer type,
                                           @RequestBody UploadDisposingResultParam uploadDisposingResultParam) {
-        AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
-        //褰撲簨浜�
-        PartyInfo partyInfo = new PartyInfo();
-        BeanUtils.copyProperties(uploadDisposingResultParam, partyInfo);
-        partyInfo.setCreateUser(user.getUserId().intValue());
-        partyInfo.setCreateTime(LocalDateTime.now());
-        iPartyInfoService.save(partyInfo);
-        //璋冩煡鍙栬瘉
-        Investigation investigation = new Investigation();
-        BeanUtils.copyProperties(uploadDisposingResultParam, investigation);
-        investigation.setBaseCaseId(caseId);
-        investigation.setCreateTime(LocalDateTime.now());
-        investigation.setCreateUser(user.getUserId());
-        investigation.setPartyId(partyInfo.getId());
-        iInvestigationService.save(investigation);
-        //鍒拌揪
-        ArrivalSituation arrivalSituation = new ArrivalSituation();
-        BeanUtils.copyProperties(uploadDisposingResultParam, arrivalSituation);
-        arrivalSituation.setBaseCaseId(caseId);
-        arrivalSituation.setCreateTime(LocalDateTime.now());
-        arrivalSituation.setCreateUser(user.getUserId());
-        iArrivalSituationService.save(arrivalSituation);
-        //鏂囦功
-        Integer illegalBuildingType = 2;
-        Integer violation = 1;
-        String handType = "02";
-        ImageResources imageResources = new ImageResources();
-        imageResources.setType(handType);
-        imageResources.setBelongToId(caseId);
-        imageResources.setCreateTime(LocalDateTime.now());
-        imageResources.setCreateUser(user.getUserId());
-        if (type == violation) {
-            imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic(), uploadDisposingResultParam.getSituationPic()));
-            iImageResourcesService.save(imageResources);
-        }
-        if (type==illegalBuildingType) {
-            Writ writ = new Writ();
-            BeanUtils.copyProperties(uploadDisposingResultParam, writ);
-            writ.setBaseCaseId(caseId);
-            writ.setIllegalBuildingId(caseId);
-            writ.setCreateTime(LocalDateTime.now());
-            writ.setCreateUser(user.getUserId());
-            iWritService.save(writ);
-            imageResources.setUrl(StringUtils
-                    .joinWith(",", uploadDisposingResultParam.getPic()
-                            , uploadDisposingResultParam.getSituationPic()
-                            , uploadDisposingResultParam.getOriginalPic()
-                            , uploadDisposingResultParam.getOtherPic()
-                            , uploadDisposingResultParam.getRectifiedPic()
-                            , uploadDisposingResultParam.getWritPic()));
-            iImageResourcesService.save(imageResources);
-        }
-        baseCaseService.update(new LambdaUpdateWrapper<BaseCase>().eq(BaseCase::getId, caseId).set(BaseCase::getState, BaseCaseStatus.DISPOSE));
-        String stepName = StepName.CHECK.getName();
-        DisposeRecord disposeRecord = new DisposeRecord();
-        disposeRecord.setBaseCaseId(caseId);
-        disposeRecord.setState(0);
-        disposeRecord.setCreateTime(LocalDateTime.now());
-        disposeRecord.setCreateUser(user.getUserId());
-        disposeRecord.setStepName(stepName);
-        disposeRecord.setStartTime(LocalDateTime.now());
-        iDisposeRecordService.addRecord(disposeRecord);
+        iDisposeRecordService.saveUpload(caseId,type,uploadDisposingResultParam);
         return CommonResult.success("add success");
     }
 }
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java
index 20e9e07..a4bed84 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java
@@ -1,6 +1,7 @@
 package com.ycl.service.caseHandler;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ycl.dto.dispatch.UploadDisposingResultParam;
 import com.ycl.entity.caseHandler.DisposeRecord;
 import com.ycl.vo.MyBacklogVO;
 
@@ -18,5 +19,5 @@
 
     List<MyBacklogVO> listMyTask(String num, Long userId);
 
-    Boolean addRecord(DisposeRecord disposeRecord);
+    Boolean saveUpload(Long caseId, Integer type, UploadDisposingResultParam uploadDisposingResultParam);
 }
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
index 627cebf..5c2ef5e 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
@@ -1,30 +1,30 @@
 package com.ycl.service.caseHandler.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ycl.bo.AdminUserDetails;
+import com.ycl.common.constant.BaseCaseStatus;
 import com.ycl.common.constant.StepName;
-import com.ycl.entity.caseHandler.BaseCase;
-import com.ycl.entity.caseHandler.DisposeRecord;
-import com.ycl.entity.caseHandler.WorkflowConfigStep;
-import com.ycl.entity.user.UmsAdminRoleRelation;
+import com.ycl.dto.dispatch.UploadDisposingResultParam;
+import com.ycl.entity.caseHandler.*;
 import com.ycl.exception.ApiException;
 import com.ycl.mapper.caseHandler.BaseCaseMapper;
 import com.ycl.mapper.caseHandler.DisposeRecordMapper;
 import com.ycl.mapper.caseHandler.WorkflowConfigStepMapper;
-import com.ycl.mapper.user.UmsAdminRoleRelationMapper;
-import com.ycl.service.caseHandler.IDisposeRecordService;
+import com.ycl.service.caseHandler.*;
 import com.ycl.vo.MyBacklogVO;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -45,21 +45,94 @@
     @Resource
     WorkflowConfigStepMapper workflowConfigStepMapper;
 
-    @Resource
-    UmsAdminRoleRelationMapper umsAdminRoleRelationMapper;
+    @Autowired
+    IInvestigationService iInvestigationService;
+    @Autowired
+    IArrivalSituationService iArrivalSituationService;
+    @Autowired
+    IPartyInfoService iPartyInfoService;
+    @Autowired
+    IWritService iWritService;
+    @Autowired
+    IBaseCaseService baseCaseService;
+    @Autowired
+    IDisposeRecordService iDisposeRecordService;
+    @Autowired
+    IImageResourcesService iImageResourcesService;
 
     @Override
     public List<MyBacklogVO> listMyTask(String num, Long userId) {
-        return disposeRecordMapper.selectMyBackList(userId,num);
+        return disposeRecordMapper.selectMyBackList(userId, num);
     }
 
     @Override
-    public Boolean addRecord(DisposeRecord disposeRecord) {
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean saveUpload(Long caseId, Integer type, UploadDisposingResultParam uploadDisposingResultParam) {
+        AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+        //褰撲簨浜�
+        PartyInfo partyInfo = new PartyInfo();
+        BeanUtils.copyProperties(uploadDisposingResultParam, partyInfo);
+        partyInfo.setCreateUser(user.getUserId().intValue());
+        partyInfo.setCreateTime(LocalDateTime.now());
+        iPartyInfoService.save(partyInfo);
+        //璋冩煡鍙栬瘉
+        Investigation investigation = new Investigation();
+        BeanUtils.copyProperties(uploadDisposingResultParam, investigation);
+        investigation.setBaseCaseId(caseId);
+        investigation.setCreateTime(LocalDateTime.now());
+        investigation.setCreateUser(user.getUserId());
+        investigation.setPartyId(partyInfo.getId());
+        iInvestigationService.save(investigation);
+        //鍒拌揪
+        ArrivalSituation arrivalSituation = new ArrivalSituation();
+        BeanUtils.copyProperties(uploadDisposingResultParam, arrivalSituation);
+        arrivalSituation.setBaseCaseId(caseId);
+        arrivalSituation.setCreateTime(LocalDateTime.now());
+        arrivalSituation.setCreateUser(user.getUserId());
+        iArrivalSituationService.save(arrivalSituation);
+        //鏂囦功
+        Integer illegalBuildingType = 2;
+        Integer violation = 1;
+        String handType = "02";
+        ImageResources imageResources = new ImageResources();
+        imageResources.setType(handType);
+        imageResources.setBelongToId(caseId);
+        imageResources.setCreateTime(LocalDateTime.now());
+        imageResources.setCreateUser(user.getUserId());
+        if (type == violation) {
+            imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic(), uploadDisposingResultParam.getSituationPic()));
+            iImageResourcesService.save(imageResources);
+        }
+        if (type == illegalBuildingType) {
+            Writ writ = new Writ();
+            BeanUtils.copyProperties(uploadDisposingResultParam, writ);
+            writ.setBaseCaseId(caseId);
+            writ.setIllegalBuildingId(caseId);
+            writ.setCreateTime(LocalDateTime.now());
+            writ.setCreateUser(user.getUserId());
+            iWritService.save(writ);
+            imageResources.setUrl(StringUtils
+                    .joinWith(",", uploadDisposingResultParam.getPic()
+                            , uploadDisposingResultParam.getSituationPic()
+                            , uploadDisposingResultParam.getOriginalPic()
+                            , uploadDisposingResultParam.getOtherPic()
+                            , uploadDisposingResultParam.getRectifiedPic()
+                            , uploadDisposingResultParam.getWritPic()));
+            iImageResourcesService.save(imageResources);
+        }
+        baseCaseService.update(new LambdaUpdateWrapper<BaseCase>().eq(BaseCase::getId, caseId).set(BaseCase::getState, BaseCaseStatus.DISPOSE));
+        String stepName = StepName.CHECK.getName();
+        DisposeRecord disposeRecord = new DisposeRecord();
+        disposeRecord.setBaseCaseId(caseId);
+        disposeRecord.setState(0);
+        disposeRecord.setCreateTime(LocalDateTime.now());
+        disposeRecord.setCreateUser(user.getUserId());
+        disposeRecord.setStepName(stepName);
+        disposeRecord.setStartTime(LocalDateTime.now());
 
         //缁撴潫涓婁紶澶勭疆娴佺▼
-        String stepName = StepName.DISPOSE.getName();
         QueryWrapper<WorkflowConfigStep> qureyDispatch = new QueryWrapper<>();
-        qureyDispatch.eq("name", stepName);
+        qureyDispatch.eq("name", StepName.DISPOSE.getName());
         WorkflowConfigStep dispatchStep = workflowConfigStepMapper.selectOne(qureyDispatch);
 
         UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>();
@@ -80,7 +153,6 @@
         //璁剧疆娴佺▼鐜妭鏁版嵁
         disposeRecord.setWorkflowConfigStepId(workflowConfigStep.getId());
         disposeRecord.setHandlerRoleId(workflowConfigStep.getRoleId());
-        baseMapper.insert(disposeRecord);
-        return true;
+        return baseMapper.insert(disposeRecord) == 1 ? true : false;
     }
 }
diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java
index cdc1dbd..90c4202 100644
--- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java
@@ -86,8 +86,8 @@
         stepNextRecord.setBaseCaseId(baseCase.getId());
         stepNextRecord.setWorkflowConfigStepId(stepNext.getId());
         stepNextRecord.setStepName(stepNext.getName());
-        stepNextRecord.setHandlerRoleId(stepNext.getRoleId());
         stepNextRecord.setLimitTime(dispatchInfoParam.getDisposeDate());
+        stepNextRecord.setHandlerId(dispatchInfoParam.getLawEnforcer());
         //涓婁紶澶勭疆鏈粨鏉�
         stepNextRecord.setState(0);
         stepNextRecord.setStartTime(LocalDateTime.now());
diff --git a/ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml b/ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml
index fc7f13a..73fc29e 100644
--- a/ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml
+++ b/ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml
@@ -4,41 +4,63 @@
 
     <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
     <resultMap id="BaseResultMap" type="com.ycl.entity.caseHandler.DisposeRecord">
-        <id column="id" property="id" />
-        <result column="base_case_id" property="baseCaseId" />
-        <result column="workflow_config_step_id" property="workflowConfigStepId" />
-        <result column="step_name" property="stepName" />
-        <result column="start_time" property="startTime" />
-        <result column="handler_role_id" property="handlerRoleId" />
-        <result column="end_time" property="endTime" />
-        <result column="state" property="state" />
-        <result column="handler_id" property="handlerId" />
-        <result column="create_user" property="createUser" />
-        <result column="create_time" property="createTime" />
+        <id column="id" property="id"/>
+        <result column="base_case_id" property="baseCaseId"/>
+        <result column="workflow_config_step_id" property="workflowConfigStepId"/>
+        <result column="step_name" property="stepName"/>
+        <result column="start_time" property="startTime"/>
+        <result column="handler_role_id" property="handlerRoleId"/>
+        <result column="end_time" property="endTime"/>
+        <result column="state" property="state"/>
+        <result column="handler_id" property="handlerId"/>
+        <result column="create_user" property="createUser"/>
+        <result column="create_time" property="createTime"/>
     </resultMap>
 
     <!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
     <sql id="Base_Column_List">
-        id, base_case_id, step_name, start_time, handler_role_id, end_time, state, handler_id, create_user, create_time
+        id
+        , base_case_id, step_name, start_time, handler_role_id, end_time, state, handler_id, create_user, create_time
     </sql>
 
     <select id="selectMyBackList" resultType="com.ycl.vo.MyBacklogVO">
         SELECT
-            t3.event_source,
-            t3.category,
-            t2.step_name,
-            t3.`code`,
-            t2.create_time
+        t3.event_source,
+        t3.category,
+        t2.step_name,
+        t3.`code`,
+        t2.create_time,
+        t2.limit_time
         FROM
-            ums_admin_role_relation t1
-                JOIN ums_dispose_record t2 ON t1.role_id = t2.handler_role_id
-                JOIN ums_base_case t3 ON t2.base_case_id=t3.id
+        ums_admin_role_relation t1
+        JOIN ums_dispose_record t2 ON t1.role_id = t2.handler_role_id
+        JOIN ums_base_case t3 ON t2.base_case_id=t3.id
         <where>
             t1.admin_id = #{id}
             AND ISNULL( t2.end_time )
-        <if test="code!='' and code!=null">
-            and t3.`code` LIKE CONCAT('%',#{code},'%')
-        </if>
+            <if test="code!='' and code!=null">
+                and t3.`code` LIKE CONCAT('%',#{code},'%')
+            </if>
+        </where>
+        union all
+        SELECT
+        t3.event_source,
+        t3.category,
+        t2.step_name,
+        t3.`code`,
+        t2.create_time,
+        t2.limit_time
+        FROM
+        ums_dispose_record t2
+        LEFT JOIN ums_base_case t3 ON t2.base_case_id = t3.id
+        <where>
+            t2.handler_id = #{id}
+            AND ISNULL(
+            t2.end_time
+            )
+            <if test="code!='' and code!=null">
+                and t3.`code` LIKE CONCAT('%',#{code},'%')
+            </if>
         </where>
     </select>
 </mapper>

--
Gitblit v1.8.0