2 tahun lalu
induk
melakukan
5856ef45e0

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/mapper/preparation/PreparationMapper.java

@@ -23,4 +23,6 @@ public interface PreparationMapper extends MyMapper<Preparation> {
      */
     List<PreparationVO> selectList(PreparationDTO dto);
 
+    List<PreparationVO> getCountByUserId(PreparationDTO preparationDTO);
+
 }

+ 26 - 4
platform-dao/src/main/java/com/platform/dao/vo/NoticeNumberVO.java

@@ -24,11 +24,17 @@ public class NoticeNumberVO implements Serializable {
                 =this.finishedNum=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.waitForReceiveNum=this.inTheThirdChecking=this.bigRepairChecking= new BigDecimal(0);
+                =this.myRepairNum=this.myCheckRepairNum =this.waitForReceiveNum=this.inTheThirdChecking=this.bigRepairChecking
+                =this.notDealNum
+                =this.yesDealNum
+                =this.notAcceptancedNum
+                =this.returnNum
+                =this.finishNum
+                = new BigDecimal(0);
     }
-    
+
     private BigDecimal inTheThirdChecking;//报修三审审核中
-    
+
     private BigDecimal bigRepairChecking;//大修审核中
 
     //维修
@@ -36,7 +42,7 @@ public class NoticeNumberVO implements Serializable {
     private BigDecimal inTheMaintenanceNum;
     //待分配
     private BigDecimal waitForDistributionNum;
-    
+
 
     //待工程师审核
     private BigDecimal repairCheckNum;
@@ -81,6 +87,22 @@ public class NoticeNumberVO implements Serializable {
 
     private BigDecimal myCheckRepairNum;
 
+    //筹建
+    //待修1
+    private BigDecimal notDealNum;
+
+    //维修中2
+    private BigDecimal yesDealNum;
+
+    //待验收3
+    private BigDecimal notAcceptancedNum;
+
+    //驳回4
+    private BigDecimal returnNum;
+
+    //已完成5
+    private BigDecimal finishNum;
+
 
 
 

+ 1 - 0
platform-dao/src/main/java/com/platform/dao/vo/query/preparation/PreparationVO.java

@@ -25,6 +25,7 @@ import java.util.List;
 @Accessors(chain = true)
 @EqualsAndHashCode(callSuper = true)
 public class PreparationVO extends BaseVO implements Serializable {
+    private BigDecimal counts;
 
     /**
      * 主键

+ 14 - 0
platform-dao/src/main/resources/mapper/preparation/PreparationMapper.xml

@@ -169,4 +169,18 @@
             <include refid="List_Condition"/>
         </where>
     </select>
+
+    <select id="getCountByUserId" resultType="Integer"
+    parameterType="com.platform.dao.dto.preparation.PreparationDTO">
+        select status, count(1) counts from t_preparation
+        <where>
+            <if test="dispatchUserId!=null and dispatchUserId!='' ">
+                and dispatch_user_id = #{dispatchUserId}
+            </if>
+            <if test="repairUserId!=null and repairUserId!=''">
+                and repair_user_id = #{repairUserId}
+            </if>
+        </where>
+        group by status
+    </select>
 </mapper>

+ 62 - 9
platform-service/src/main/java/com/platform/service/repair/impl/RepairApplicationFormServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollectionUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.github.pagehelper.PageHelper;
+import com.mysql.cj.protocol.x.Notice;
 import com.platform.activiti.controller.ActivitiController;
 import com.platform.common.bean.DictVO;
 import com.platform.common.cache.ConfigCache;
@@ -17,6 +18,7 @@ import com.platform.common.model.UserInfo;
 import com.platform.common.util.*;
 import com.platform.dao.bean.MyVOPage;
 import com.platform.dao.dto.check.CheckJobDTO;
+import com.platform.dao.dto.preparation.PreparationDTO;
 import com.platform.dao.dto.repair.RepairApplicationFormDTO;
 import com.platform.dao.dto.repair.RepairFeeDTO;
 import com.platform.dao.dto.repair.RepairTicketTemplateData;
@@ -26,6 +28,7 @@ import com.platform.dao.dto.store.OutStoreFormDTO;
 import com.platform.dao.dto.store.StoreCheckJobDTO;
 import com.platform.dao.dto.upms.SysUserDTO;
 import com.platform.dao.entity.customize.CustomFieldTemplateData;
+import com.platform.dao.entity.preparation.Preparation;
 import com.platform.dao.entity.repair.RepairApplicationForm;
 import com.platform.dao.entity.repair.RepairReason;
 import com.platform.dao.entity.sb.SbInfo;
@@ -34,6 +37,7 @@ import com.platform.dao.entity.upms.SysUser;
 import com.platform.dao.enums.*;
 import com.platform.dao.mapper.check.CheckJobMapper;
 import com.platform.dao.mapper.customize.CustomFieldTemplateDataMapper;
+import com.platform.dao.mapper.preparation.PreparationMapper;
 import com.platform.dao.mapper.repair.*;
 import com.platform.dao.mapper.sb.SbPositionMapper;
 import com.platform.dao.mapper.store.InStoreFormMapper;
@@ -48,6 +52,7 @@ import com.platform.dao.vo.NoticeNumberVO;
 import com.platform.dao.vo.SysUserRoleVO;
 import com.platform.dao.vo.SysUserVO;
 import com.platform.dao.vo.query.check.CheckJobVO;
+import com.platform.dao.vo.query.preparation.PreparationVO;
 import com.platform.dao.vo.query.repair.RepairFeeVO;
 import com.platform.dao.vo.query.store.InStoreFormVO;
 import com.platform.dao.vo.query.store.OutStoreFormVO;
@@ -110,6 +115,7 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
     private final StoreCheckJobMapper storeCheckJobMapper;
     private final SysUserDeptMapper sysUserDeptMapper;
     private final SbPositionMapper sbPositionMapper;
+    private final PreparationMapper preparationMapper;
     private final BigDecimal initNum= new BigDecimal(0);
 
 
@@ -293,20 +299,49 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
     }
 
     private NoticeNumberVO addStoreNums(NoticeNumberVO noticeNumberVO,InStoreFormDTO inStoreFormDTO,OutStoreFormDTO outStoreFormDTO,StoreCheckJobDTO storeCheckJobDTO){
-        BigDecimal inStoreCount=inStoreFormMapper.getInStoreFormCount1(inStoreFormDTO);
-        noticeNumberVO.setInStoreNum(inStoreCount==null?initNum:inStoreCount);
+        if (noticeNumberVO.getRoleFlag()!=5) {
+            BigDecimal inStoreCount = inStoreFormMapper.getInStoreFormCount1(inStoreFormDTO);
+            noticeNumberVO.setInStoreNum(inStoreCount == null ? initNum : inStoreCount);
+        }
         //出库
         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);
+        if (noticeNumberVO.getRoleFlag()!=5) {
+            //盘点
+            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  NoticeNumberVO addPrepationNums(NoticeNumberVO noticeNumberVO,PreparationDTO preparationDTO){
+        List<PreparationVO> preparationVOS = preparationMapper.getCountByUserId(preparationDTO);
+        for (PreparationVO vo:preparationVOS){
+            if (vo.getStatus()==1){
+                //待修
+                noticeNumberVO.setNotDealNum(vo.getCounts()==null?initNum:vo.getCounts());
+            }else if (vo.getStatus()==2){
+                //维修中
+                noticeNumberVO.setYesDealNum(vo.getCounts()==null?initNum:vo.getCounts());
+            }
+            else if (vo.getStatus()==3){
+                //待验收
+                noticeNumberVO.setNotAcceptancedNum(vo.getCounts()==null?initNum:vo.getCounts());
+            }
+            else if (vo.getStatus()==4){
+                //驳回
+                noticeNumberVO.setReturnNum(vo.getCounts()==null?initNum:vo.getCounts());
+            }
+            else if (vo.getStatus()==5){
+                //已完成
+                noticeNumberVO.setFinishNum(vo.getCounts()==null?initNum:vo.getCounts());
+            }
+        }
+        return null;
+    }
     @Override
     public NoticeNumberVO getNoticeNumberVO() {
         NoticeNumberVO noticeNumberVO=new NoticeNumberVO();
@@ -371,6 +406,10 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
                 repairApplicationFormDTO.setDispatchUserId(userInfo.getUserId());//派工
                 repairApplicationFormVOS= mapper.getRepairCount(repairApplicationFormDTO);
                 noticeNumberVO=addRepairNums(noticeNumberVO,repairApplicationFormVOS);
+
+                outStoreFormDTO.setCreatedUserId(userInfo.getUserId());
+                outStoreFormDTO.setOutFlag(1);
+                noticeNumberVO=addStoreNums(noticeNumberVO,inStoreFormDTO,outStoreFormDTO,storeCheckJobDTO);
             }
             else if(sb.toString().contains(CommonConstants.WORKPLACE_REPAIR_MANAGE)){
                 //维修管理员,先获取其deptid
@@ -434,6 +473,20 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
                 noticeNumberVO.setRoleFlag(4);
                 noticeNumberVO=addStoreNums(noticeNumberVO,inStoreFormDTO,outStoreFormDTO,storeCheckJobDTO);
             }
+            else if (sb.toString().contains(SysRoleCodeEnum.PREPARATION_MANAGER.name())){
+                //筹建主管-- dispatchUserId
+                noticeNumberVO.setRoleFlag(8);
+                PreparationDTO preparationDTO = new PreparationDTO();
+                preparationDTO.setDispatchUserId(userInfo.getUserId());
+                addPrepationNums(noticeNumberVO,preparationDTO);
+            }
+            else if (sb.toString().contains(SysRoleCodeEnum.PREPARATION_USER.name())){
+                //筹建执行人-- repairUserId
+                noticeNumberVO.setRoleFlag(9);
+                PreparationDTO preparationDTO = new PreparationDTO();
+                preparationDTO.setRepairUserId(userInfo.getUserId());
+                addPrepationNums(noticeNumberVO,preparationDTO);
+            }
         }
 
         //待办