1 年之前
父節點
當前提交
942ffb5f0a

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/dto/repair/RepairApplicationFormDTO.java

@@ -24,6 +24,7 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class RepairApplicationFormDTO extends BaseDTO implements Serializable {
+    private String allUserId;
     private List<String> dateList;
 
     private Boolean addCalendar;

+ 3 - 0
platform-dao/src/main/java/com/platform/dao/mapper/repair/RepairApplicationFormMapper.java

@@ -3,7 +3,9 @@ package com.platform.dao.mapper.repair;
 import com.platform.dao.config.MyMapper;
 import com.platform.dao.dto.repair.RepairApplicationFormDTO;
 import com.platform.dao.entity.repair.RepairApplicationForm;
+import com.platform.dao.vo.NoticeNumberVO;
 import com.platform.dao.vo.NoticeVO;
+import com.platform.dao.vo.RepairCount;
 import com.platform.dao.vo.repair.RepairApplicationFormVO;
 import com.platform.dao.vo.report.FiftyFailSbReportVO;
 import org.springframework.stereotype.Component;
@@ -21,6 +23,7 @@ import java.util.Map;
  */
 @Component
 public interface RepairApplicationFormMapper extends MyMapper<RepairApplicationForm> {
+    List<RepairCount> getrepairCount2(RepairApplicationFormDTO dto);
     List<NoticeVO> getLoginNotice(RepairApplicationFormDTO dto);
     List<FiftyFailSbReportVO> getFiftyFailSbReport(RepairApplicationFormDTO dto);
 

+ 93 - 0
platform-dao/src/main/java/com/platform/dao/vo/NoticeNumberVO2.java

@@ -0,0 +1,93 @@
+package com.platform.dao.vo;
+
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Description
+ * @Author chenli
+ * @Date 2019/7/30
+ * @Version Copyright (c) 2019,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+public class NoticeNumberVO2 implements Serializable {
+    private static final long serialVersionUID = 1L;
+    public NoticeNumberVO2(){
+        this.waitForCheckNum=this.inTheMaintenanceNum=this.waitForFinishNum
+                =this.waitForReceive=this.unexectuedMaintenanceNum=this.allBaoYangTaskNum
+                =this.executedTaskNum=this.timeOutTaskNum=this.inStoreNum
+                =this.outStoreNum=this.pdNum=this.dbNum
+                =this.waitForExamineNum=this.waitForSignInNum
+                =this.unreadNum=this.myRepairNum=this.myCheckRepairNum
+                =this.notDealNum=this.yesDealNum=this.notAcceptancedNum
+                =this.returnNum=this.finishNum=new BigDecimal(0);
+    }
+
+    //报修待审
+    private BigDecimal waitForCheckNum;
+    //维修中
+    private BigDecimal inTheMaintenanceNum;
+    //待结单
+    private BigDecimal waitForFinishNum;
+    //待接单
+    private BigDecimal waitForReceive;
+
+    //未执行保养任务
+    private BigDecimal unexectuedMaintenanceNum;
+    //全部保养任务
+    private BigDecimal allBaoYangTaskNum;
+    //已执行保养任务
+    private BigDecimal executedTaskNum;
+    //超市保养任务
+    private BigDecimal timeOutTaskNum;
+
+    //仓库
+    //入库
+    private BigDecimal inStoreNum;
+    //出库
+    private BigDecimal outStoreNum;
+    //盘点
+    private BigDecimal pdNum;
+    //调拨
+    private BigDecimal dbNum;
+
+
+    //待办
+    //待审批
+    private BigDecimal waitForExamineNum;
+    //待签收
+    private BigDecimal waitForSignInNum;
+
+    //通知
+    //未读
+    private BigDecimal unreadNum;
+
+    private BigDecimal myRepairNum;
+
+    private BigDecimal myCheckRepairNum;
+
+    //筹建
+    //待修1
+    private BigDecimal notDealNum;
+
+    //维修中2
+    private BigDecimal yesDealNum;
+
+    //待验收3
+    private BigDecimal notAcceptancedNum;
+
+    //驳回4
+    private BigDecimal returnNum;
+
+    //已完成5
+    private BigDecimal finishNum;
+
+
+
+
+}

+ 22 - 0
platform-dao/src/main/java/com/platform/dao/vo/RepairCount.java

@@ -0,0 +1,22 @@
+package com.platform.dao.vo;
+
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Description
+ * @Author chenli
+ * @Date 2019/7/30
+ * @Version Copyright (c) 2019,北京乾元坤和科技有限公司 All rights reserved.
+ */
+@Data
+@Accessors(chain = true)
+public class RepairCount implements Serializable {
+    private BigDecimal num;
+    private Integer status;
+
+}

+ 14 - 0
platform-dao/src/main/resources/mapper/repair/RepairApplicationFormMapper.xml

@@ -604,4 +604,18 @@
         group by calendar_date
         order by calendar_date asc
     </select>
+
+    <select id="getrepairCount2" parameterType="com.platform.dao.dto.repair.RepairApplicationFormDTO"
+            resultType="com.platform.dao.vo.RepairCount">
+        select count(1) as num,form.status  from t_repair_application_form form
+        where form.status in (1,2,3,24)
+        <if test="allUserId!=null and allUserId!=''">
+            and (form.user_id = #{allUserId} or
+             form.dispatch_user_id = #{allUserId} or
+             form.verify_repair_user_id = #{allUserId} or
+             form.repair_user_id = #{allUserId}
+            )
+        </if>
+        group by form.status
+    </select>
 </mapper>

+ 8 - 0
platform-rest/src/main/java/com/platform/rest/controller/repair/RepairApplicationFormController.java

@@ -23,6 +23,7 @@ import com.platform.dao.mapper.repair.RepairApplicationFormMapper;
 import com.platform.dao.mapper.sb.SbChangeRecordMapper;
 import com.platform.dao.util.ExcelUtil;
 import com.platform.dao.vo.NoticeNumberVO;
+import com.platform.dao.vo.NoticeNumberVO2;
 import com.platform.dao.vo.export.repair.ExportRepairApplicationFormVO;
 import com.platform.dao.vo.repair.RepairApplicationFormVO;
 import com.platform.dao.vo.report.FiftyFailSbReportVO;
@@ -638,6 +639,13 @@ public class RepairApplicationFormController {
         return new R<>(noticeNumberVO);
     }
 
+    @SysLog("获取维修单,保养任务,待办,通知的数量")
+    @GetMapping("/getNums2")
+    public R getNums2() {
+        NoticeNumberVO2 noticeNumberVO= repairApplicationFormService.getNoticeNumberVO2();
+        return new R<>(noticeNumberVO);
+    }
+
     @SysLog("获取报修人或维修人或维修主管,或仓库管理员下的‘最近的一个工单")
     @GetMapping("/getRepairApplicationForm")
     public R getRepairApplicationForm() {

+ 3 - 0
platform-service/src/main/java/com/platform/service/repair/RepairApplicationFormService.java

@@ -10,6 +10,7 @@ import com.platform.dao.dto.repair.RepairFormDTO;
 import com.platform.dao.entity.repair.RepairApplicationForm;
 import com.platform.dao.entity.repair.RepairForm;
 import com.platform.dao.vo.NoticeNumberVO;
+import com.platform.dao.vo.NoticeNumberVO2;
 import com.platform.dao.vo.NoticeVO;
 import com.platform.dao.vo.query.check.CheckJobVO;
 import com.platform.dao.vo.query.workplace.WorkplaceRepairVO;
@@ -164,6 +165,8 @@ public interface RepairApplicationFormService extends IBaseService<RepairApplica
 
     NoticeNumberVO getNoticeNumberVO();
 
+    NoticeNumberVO2 getNoticeNumberVO2();
+
     /**
      * 维修模式三-分页数据
      * @param record   :

+ 133 - 4
platform-service/src/main/java/com/platform/service/repair/impl/RepairApplicationFormServiceImpl.java

@@ -49,10 +49,7 @@ import com.platform.dao.mapper.upms.SysUserMapper;
 import com.platform.dao.mapper.upms.SysUserRoleMapper;
 import com.platform.dao.mapper.workplace.WorkplaceBacklogMapper;
 import com.platform.dao.util.MessageTemplateUtil;
-import com.platform.dao.vo.NoticeNumberVO;
-import com.platform.dao.vo.NoticeVO;
-import com.platform.dao.vo.SysUserRoleVO;
-import com.platform.dao.vo.SysUserVO;
+import com.platform.dao.vo.*;
 import com.platform.dao.vo.query.check.CheckJobVO;
 import com.platform.dao.vo.query.preparation.PreparationVO;
 import com.platform.dao.vo.query.repair.RepairFeeVO;
@@ -371,6 +368,26 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
         return noticeNumberVO;
     }
 
+    public NoticeNumberVO2 addCheckJobNums2(NoticeNumberVO2 noticeNumberVO, List<CheckJobVO> checkJobVOS){
+        BigDecimal count=initNum;
+//        noticeNumberVO.setTimeOutTaskNum(initNum);
+        for (CheckJobVO vo:checkJobVOS){
+            if(vo.getStatus()==CheckJobStatusEnum.NOT_EXECUTE.getValue()){//未执行保养任务
+                noticeNumberVO.setUnexectuedMaintenanceNum(vo.getCountNum()==null?initNum:vo.getCountNum());
+            }else if(vo.getStatus()==CheckJobStatusEnum.EXECUTING.getValue()){//已执行保养任务
+                noticeNumberVO.setExecutedTaskNum(vo.getCountNum()==null?initNum:vo.getCountNum());
+            }
+            if(vo.getReceiveOvertime()!=null&&vo.getReceiveOvertime()){//超时保养任务
+                noticeNumberVO.setTimeOutTaskNum(vo.getCountNum()==null?initNum:vo.getCountNum());
+            }
+            BigDecimal num=vo.getCountNum()==null?initNum:vo.getCountNum();
+            count=new BigDecimal(count.intValue()+num.intValue());
+        }
+        //全部保养任务
+        noticeNumberVO.setAllBaoYangTaskNum(count);
+        return noticeNumberVO;
+    }
+
     private NoticeNumberVO addStoreNums(NoticeNumberVO noticeNumberVO,InStoreFormDTO inStoreFormDTO,OutStoreFormDTO outStoreFormDTO,StoreCheckJobDTO storeCheckJobDTO){
         if (noticeNumberVO.getRoleFlag()!=5) {
             BigDecimal inStoreCount = inStoreFormMapper.getInStoreFormCount1(inStoreFormDTO);
@@ -391,6 +408,25 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
         }
         return noticeNumberVO;
     }
+
+    private NoticeNumberVO2 addStoreNums2(NoticeNumberVO2 noticeNumberVO,InStoreFormDTO inStoreFormDTO,OutStoreFormDTO outStoreFormDTO,StoreCheckJobDTO storeCheckJobDTO){
+            BigDecimal inStoreCount = inStoreFormMapper.getInStoreFormCount1(inStoreFormDTO);
+            noticeNumberVO.setInStoreNum(inStoreCount == null ? initNum : inStoreCount);
+        //出库
+        outStoreFormDTO.setStatus(OutStoreStatusEnum.NOT_EXECUTE.getValue());
+        BigDecimal outStoreCount=outStoreFormMapper.getOutStoreFormCount1(outStoreFormDTO);
+        noticeNumberVO.setOutStoreNum(outStoreCount==null?initNum:outStoreCount);
+            //盘点
+            BigDecimal storeCheckJobCount = storeCheckJobMapper.getNumByDTO(storeCheckJobDTO);
+            noticeNumberVO.setPdNum(storeCheckJobCount == null ? initNum : storeCheckJobCount);
+            //调拨,根据出入库type
+            inStoreFormDTO.setType(InStoreTypeEnum.DIAOBO_RUKU.getValue());
+            BigDecimal dbCount = inStoreFormMapper.getInStoreFormCount1(inStoreFormDTO);
+            noticeNumberVO.setDbNum(dbCount == null ? initNum : dbCount);
+
+        return noticeNumberVO;
+    }
+
     private void addPrepationNums(NoticeNumberVO noticeNumberVO,PreparationDTO preparationDTO){
         List<PreparationVO> preparationVOS = preparationMapper.getCountByUserId(preparationDTO);
         noticeNumberVO.setNotDealNum(initNum);
@@ -420,6 +456,36 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
             }
         }
     }
+
+    private void addPrepationNums2(NoticeNumberVO2 noticeNumberVO,PreparationDTO preparationDTO){
+        List<PreparationVO> preparationVOS = preparationMapper.getCountByUserId(preparationDTO);
+        noticeNumberVO.setNotDealNum(initNum);
+        noticeNumberVO.setYesDealNum(initNum);
+        noticeNumberVO.setFinishNum(initNum);
+        noticeNumberVO.setReturnNum(initNum);
+        for (PreparationVO vo : preparationVOS){
+            BigDecimal tempVal = vo.getCounts() == null ? initNum : vo.getCounts();
+            if (vo.getStatus() == PreparationStatusEnum.NOT_ALLOCATED.getValue() ||
+                    vo.getStatus() == PreparationStatusEnum.APPLY_MANAGER_VERIFY_SUCCESS.getValue() ||
+                    vo.getStatus() == PreparationStatusEnum.FIRST_PROCESSING_VERIFYING.getValue() ||
+                    vo.getStatus() == PreparationStatusEnum.SECOND_PROCESSING_VERIFYING.getValue() ||
+                    vo.getStatus() == PreparationStatusEnum.APPLY_LEADER_VERIFY_SUCCESS.getValue()){
+                // 待审核
+                noticeNumberVO.setNotDealNum(noticeNumberVO.getNotDealNum().add(tempVal));
+            }else if (vo.getStatus() == PreparationStatusEnum.SECOND_PROCESSING.getValue()){
+                // 执行中
+                noticeNumberVO.setYesDealNum(noticeNumberVO.getYesDealNum().add(tempVal));
+            }
+            else if (vo.getStatus() == PreparationStatusEnum.FINISHED.getValue()){
+                // 已完成
+                noticeNumberVO.setFinishNum(noticeNumberVO.getFinishNum().add(tempVal));
+            }
+            else if (vo.getStatus() == PreparationStatusEnum.PROCESSING.getValue()){
+                // 费用审核
+                noticeNumberVO.setReturnNum(noticeNumberVO.getReturnNum().add(tempVal));
+            }
+        }
+    }
     @Override
     public NoticeNumberVO getNoticeNumberVO() {
         NoticeNumberVO noticeNumberVO=new NoticeNumberVO();
@@ -557,6 +623,69 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
         noticeNumberVO.setUnreadNum(num);
         return noticeNumberVO;
     }
+    private void addRepairNums2(List<RepairCount> list,NoticeNumberVO2 noticeNumberVO2){
+        for (RepairCount count:list){
+            if (count.getStatus()==RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue()){//待接单
+                noticeNumberVO2.setWaitForReceive(count.getNum());
+            }else if (count.getStatus()==RepairApplicationFormStatusEnum.PROCESSING.getValue()){
+                //维修中
+                noticeNumberVO2.setInTheMaintenanceNum(count.getNum());
+            }else if (count.getStatus()==RepairApplicationFormStatusEnum.WAIT_SUBMIT.getValue()){
+                //待结单
+                noticeNumberVO2.setWaitForFinishNum(count.getNum());
+            }else if (count.getStatus()==RepairApplicationFormStatusEnum.WAIT_SUBMIT.getValue()){
+                //报修待审
+                noticeNumberVO2.setWaitForCheckNum(count.getNum());
+            }
+        }
+    }
+
+    @Override
+    public NoticeNumberVO2 getNoticeNumberVO2() {
+        UserInfo userInfo = SecurityUtils.getUserInfo();
+//        UserInfo userInfo = new UserInfo();
+//        userInfo.setUserId("6386bb9d3abe141f8c8050a5");
+//        userInfo.setSuperAdmin(0);
+        NoticeNumberVO2 noticeNumberVO2 = new NoticeNumberVO2();
+        List<CheckJobVO> checkJobVOS;
+        CheckJobDTO checkJobDTO=new CheckJobDTO();
+        checkJobDTO.setType(2);
+        RepairApplicationFormDTO repairApplicationFormDTO=new RepairApplicationFormDTO();
+        InStoreFormDTO inStoreFormDTO=new InStoreFormDTO();
+        OutStoreFormDTO outStoreFormDTO=new OutStoreFormDTO();
+        StoreCheckJobDTO storeCheckJobDTO=new StoreCheckJobDTO();
+        if (userInfo.getSuperAdmin()==1){
+            List<RepairCount> repairCounts = mapper.getrepairCount2(null);
+
+            checkJobVOS=checkJobMapper.getCheckJobCount1(checkJobDTO);
+            checkJobDTO.setReceiveOvertime(true);
+            BigDecimal overTimeCount=checkJobMapper.getReceiveOverTimeCount(checkJobDTO);
+            noticeNumberVO2.setTimeOutTaskNum(overTimeCount==null?initNum:overTimeCount);
+            noticeNumberVO2=addCheckJobNums2(noticeNumberVO2,checkJobVOS);
+            noticeNumberVO2=addStoreNums2(noticeNumberVO2,inStoreFormDTO,outStoreFormDTO,storeCheckJobDTO);
+            addRepairNums2(repairCounts,noticeNumberVO2);
+        }else {
+            repairApplicationFormDTO.setAllUserId(userInfo.getUserId());
+            List<RepairCount> repairCounts = mapper.getrepairCount2(repairApplicationFormDTO);
+            addRepairNums2(repairCounts,noticeNumberVO2);
+            checkJobDTO.setCheckUserId(userInfo.getUserId());
+            checkJobVOS=checkJobMapper.getCheckJobCount(checkJobDTO);
+            checkJobDTO.setReceiveOvertime(true);
+            BigDecimal overTimeCount=checkJobMapper.getReceiveOverTimeCount(checkJobDTO);
+            noticeNumberVO2.setTimeOutTaskNum(overTimeCount==null?initNum:overTimeCount);
+            noticeNumberVO2=addCheckJobNums2(noticeNumberVO2,checkJobVOS);
+            inStoreFormDTO.setUserId(userInfo.getUserId());
+            outStoreFormDTO.setUserId(userInfo.getUserId());
+            storeCheckJobDTO.setUserId(userInfo.getUserId());
+            noticeNumberVO2=addStoreNums2(noticeNumberVO2,inStoreFormDTO,outStoreFormDTO,storeCheckJobDTO);
+        }
+        PreparationDTO preparationDTO = new PreparationDTO();
+        addPrepationNums2(noticeNumberVO2,preparationDTO);
+        // 通知
+        BigDecimal num = workplaceBacklogMapper.getWorkplaceBacklogCount(userInfo.getUserId());
+        noticeNumberVO2.setUnreadNum(num);
+        return noticeNumberVO2;
+    }
 
     @Override
     public MyVOPage<RepairApplicationFormVO> selectPageInfoVOByModelThree(RepairApplicationFormDTO record, int pageNum, int pageSize) {