فهرست منبع

APP 端 来访审批待办

zhulu 1 سال پیش
والد
کامیت
d6abcaaffb

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/letter/mapper/CoreIntroduceLetterMapper.java

@@ -11,6 +11,7 @@ import com.xunmei.common.core.domain.letter.dto.CoreIntroduceLetterApproveReques
 import com.xunmei.common.core.domain.letter.dto.CoreIntroduceLetterRequestDto;
 import com.xunmei.common.core.domain.letter.dto.CoreIntroduceLetterUserAddDto;
 import com.xunmei.common.core.domain.letter.vo.*;
+import com.xunmei.common.core.domain.panel.vo.PanelListVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -107,4 +108,7 @@ public interface CoreIntroduceLetterMapper extends BaseMapper<CoreIntroduceLette
     List<CoreIntroduceLetterCheckLogVo> auditAllList(@Param("letterId") Long letterId);
     List<CoreIntroduceLetterApprovedPersonVo> getOutInApprovedPersonList(@Param("request") CoreIntroduceLetterApproveRequestDto request);
 
+    List<PanelListVo> selectToDoApproveListForAPP(@Param("request") CoreIntroduceLetterApproveRequestDto request);
+
+
 }

+ 8 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/letter/service/ICoreIntroduceLetterService.java

@@ -9,6 +9,7 @@ import com.xunmei.common.core.domain.letter.dto.CoreIntroduceLetterRequestDto;
 import com.xunmei.common.core.domain.letter.dto.CoreIntroduceLetterUpdateStatusDto;
 import com.xunmei.common.core.domain.letter.vo.*;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
+import com.xunmei.common.core.domain.panel.vo.PanelListVo;
 import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
 import com.xunmei.common.core.web.page.TableDataInfo;
 
@@ -94,4 +95,11 @@ public interface ICoreIntroduceLetterService extends IService<CoreIntroduceLette
     void timedTaskUpdateLetterStatus();
 
     WebPanelResult selectWebIndexData(PanelListDto req);
+
+    /**
+     * 获取出入审批待办
+     * @param panelListDto
+     * @return
+     */
+    List<PanelListVo> selectToDoApproveListForAPP(PanelListDto panelListDto);
 }

+ 32 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/letter/service/impl/CoreIntroduceLetterServiceImpl.java

@@ -19,8 +19,10 @@ import com.xunmei.common.core.domain.letter.dto.*;
 import com.xunmei.common.core.domain.letter.vo.*;
 import com.xunmei.common.core.domain.panel.dto.PanelListDto;
 import com.xunmei.common.core.domain.panel.enums.PanelTypeEnums;
+import com.xunmei.common.core.domain.panel.vo.PanelListVo;
 import com.xunmei.common.core.domain.panel.vo.WebPanelResult;
 import com.xunmei.common.core.util.BeanHelper;
+import com.xunmei.common.core.vo.IdNameVo;
 import com.xunmei.common.core.web.page.TableDataInfo;
 import com.xunmei.common.security.utils.DictUtils;
 import com.xunmei.common.security.utils.SecurityUtils;
@@ -29,9 +31,13 @@ import com.xunmei.core.letter.mapper.CoreIntroduceLetterMapper;
 import com.xunmei.core.letter.mapper.CoreOutInRecordMapper;
 import com.xunmei.core.letter.service.ICoreIntroduceLetterService;
 import com.xunmei.core.safetyCheck.domain.CoreSafetyTask;
+import com.xunmei.system.api.Eto.RoleConditionEto;
 import com.xunmei.system.api.RemoteOrgService;
+import com.xunmei.system.api.RemoteRoleService;
 import com.xunmei.system.api.domain.SysOrg;
+import com.xunmei.system.api.domain.SysRole;
 import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -57,6 +63,8 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
     @Resource
     private CoreIntroduceLetterApproveLogMapper approveLogMapper;
 
+    @Autowired
+    private RemoteRoleService roleService;
 
     @Resource
     private RemoteOrgService orgService;
@@ -317,6 +325,30 @@ public class CoreIntroduceLetterServiceImpl extends ServiceImpl<CoreIntroduceLet
                 .nums(count).build();
     }
 
+    @Override
+    public List<PanelListVo> selectToDoApproveListForAPP(PanelListDto panelListDto) {
+        List<PanelListVo> resultList=new ArrayList<>();
+        SysRole role = roleService.getRoleByName("网点负责人", SecurityConstants.INNER);
+        // 没有角色
+        if(ObjectUtil.isEmpty( panelListDto.getRoleIdList()))
+        {
+            return resultList;
+        }
+        // 没有网点负责人角色
+        if(!panelListDto.getRoleIdList().stream().anyMatch(x->ObjectUtil.equal(x,role.getId())))
+        {
+            return resultList;
+        }
+        CoreIntroduceLetterApproveRequestDto requestDto =new CoreIntroduceLetterApproveRequestDto();
+        requestDto.setOrgId(panelListDto.getOrgId());
+        resultList=coreIntroduceLetterMapper.selectToDoApproveListForAPP(requestDto);
+        resultList.forEach(item -> {
+            item.setType(PanelTypeEnums.VISIT_APPROVE.getCode());
+        });
+
+        return resultList;
+    }
+
     /**
      * 修改介绍信
      *

+ 12 - 2
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/panel/service/impl/PanelServiceImpl.java

@@ -11,6 +11,7 @@ import com.xunmei.common.core.constant.ErrorMsgConstants;
 import com.xunmei.common.core.constant.SecurityConstants;
 import com.xunmei.common.core.domain.edu.dto.SysLearningMaterialsPageDto;
 import com.xunmei.common.core.domain.edu.vo.SysLearningMaterialsPageVo;
+import com.xunmei.common.core.domain.letter.dto.CoreIntroduceLetterApproveRequestDto;
 import com.xunmei.common.core.domain.message.dto.CoreAnnouncementNotificationAppPageDto;
 import com.xunmei.common.core.domain.message.vo.MessageAppPageVo;
 import com.xunmei.common.core.domain.panel.adapter.PanelAdapter;
@@ -26,6 +27,7 @@ import com.xunmei.core.edu.service.ICoreEduTrainingTaskService;
 import com.xunmei.core.edu.service.ISysLearningMaterialsService;
 import com.xunmei.core.evaluate.service.ICoreEvaluateTaskService;
 import com.xunmei.core.letter.service.ICoreIntroduceLetterService;
+import com.xunmei.core.letter.service.ICoreOutInRecordService;
 import com.xunmei.core.message.service.ICoreAnnouncementNotificationService;
 import com.xunmei.core.panel.service.PanelService;
 import com.xunmei.core.question.service.IQuestionService;
@@ -92,6 +94,7 @@ public class PanelServiceImpl implements PanelService {
     @Autowired
     private ICoreAnnouncementNotificationService notificationService;
 
+
     @Override
     public List<PanelResultVo> selectPage() throws ExecutionException, InterruptedException, TimeoutException {
         List<Long> roles = RemoteCallHandlerExecutor.executeRemoteCall(
@@ -144,9 +147,16 @@ public class PanelServiceImpl implements PanelService {
         CompletableFuture<List<PanelListVo>> questionTaskFuture = CompletableFuture.supplyAsync(() ->
                 questionService.selectCurUserTaskList(panelListDto), threadPoolTaskExecutor
         );
+
+        //出入审批
+        CompletableFuture<List<PanelListVo>> letterOutInFuture = CompletableFuture.supplyAsync(() ->
+
+                coreIntroduceLetterService.selectToDoApproveListForAPP(panelListDto), threadPoolTaskExecutor
+        );
+
         CompletableFuture<Void> allQueries = CompletableFuture.allOf(
                 resumptionTaskFuture, protectionTaskFuture, monitorTaskFuture, evaluateTaskFuture,
-                safetyTaskFuture, drillTaskFuture, eduTrainingTaskFuture, recLitFuture
+                safetyTaskFuture, drillTaskFuture, eduTrainingTaskFuture, recLitFuture,questionTaskFuture, letterOutInFuture
         );
 
         allQueries.get(TIMEOUT, TimeUnit.SECONDS);
@@ -154,7 +164,7 @@ public class PanelServiceImpl implements PanelService {
         List<PanelListVo> resultList = Stream.of(
                         resumptionTaskFuture.join(), protectionTaskFuture.join(), monitorTaskFuture.join(), evaluateTaskFuture.join(),
                         safetyTaskFuture.join(), drillTaskFuture.join(), eduTrainingTaskFuture.join(), recLitFuture.join(),
-                        questionTaskFuture.join()
+                        questionTaskFuture.join(),letterOutInFuture.join()
                 )
                 .flatMap(Collection::stream)
                 .collect(Collectors.toList());

+ 18 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/letter/CoreIntroduceLetterMapper.xml

@@ -368,4 +368,22 @@
         </if>
     </select>
 
+    <select id="selectToDoApproveListForAPP"
+            resultType="com.xunmei.common.core.domain.panel.vo.PanelListVo">
+        select
+        a.id,
+        a.reasons as taskName
+        a.start_time as startTime,
+        a.end_time as endTime,
+        a.effective_days,
+        c.approve_status as status
+        from core_introduce_letter a
+        left join core_introduce_letter_approve_log c on a.id=c.letter_id
+        where a.deleted=0 ANd a.status!=0 AND c.approve_status=1
+        <if test="request.orgId !=null  and request.orgId !=''">
+            and c.org_id = #{request.orgId}
+        </if>
+        order by a.create_time
+    </select>
+
 </mapper>