Jelajahi Sumber

审批通知和首页数据优化

guarantee-lsq 2 tahun lalu
induk
melakukan
43bd2b184a

+ 1 - 1
platform-dao/src/main/java/com/platform/dao/enums/RepairApplicationFormCategoryEnum.java

@@ -21,7 +21,7 @@ public enum RepairApplicationFormCategoryEnum {
      */
     PLAN_NOT(2),
     /**
-     * 其他
+     * 日常维修s
      */
     OTHER(3);
     private final Integer value;

+ 8 - 6
platform-dao/src/main/resources/mapper/store/OutStoreFormMapper.xml

@@ -226,14 +226,16 @@ outstoreform.process_instance_id,
 
     <select id="getOutStoreFormCount1" parameterType="com.platform.dao.dto.store.OutStoreFormDTO"
             resultType="BigDecimal">
-        select count(1) from t_out_store_form form left join t_store store
-        on store.id=form.store_id
+        select count(1) from t_out_store_form form
         <where>
-            <if test="userId!=null and userId!=''">
-                store.user_id=#{userId}>
+            <if test="userId != null and userId != ''">
+                form.update_user_id = #{userId}>
+            </if>
+            <if test="status !=null ">
+                form.status = #{status}
             </if>
-            <if test="storeId!=null and storeId!=''">
-                form.store_id=#{storeId}
+            <if test="outFlag != null">
+                form.out_flag = #{outFlag}
             </if>
         </where>
     </select>

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

@@ -163,6 +163,18 @@ public class RepairApplicationFormController {
         return new R<>(pageInfos);
     }
 
+    /**
+     * 工单池分页数据
+     * @param repairApplicationFormDTO
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @GetMapping("/pool/page")
+    public R queryPool(RepairApplicationFormDTO repairApplicationFormDTO, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "20") int pageSize) {
+        MyVOPage<RepairApplicationFormVO> pageInfos = repairApplicationFormService.selectPoolPageInfoVO(repairApplicationFormDTO, pageNum, pageSize);
+        return new R<>(pageInfos);
+    }
     /**
      * 获取列表
      *

+ 41 - 8
platform-service/src/main/java/com/platform/service/business/impl/OutStoreFormActivitiServiceImpl.java

@@ -6,15 +6,16 @@ import com.platform.common.cache.ConfigCache;
 import com.platform.common.constant.CommonConstants;
 import com.platform.common.exception.BusinessException;
 import com.platform.common.model.UserInfo;
-import com.platform.common.util.IdGeneratorUtils;
-import com.platform.common.util.ListUtils;
-import com.platform.common.util.SecurityUtils;
-import com.platform.common.util.SpringContextHolder;
+import com.platform.common.util.*;
 import com.platform.common.yongyou.response.OtherOutAddResponse;
+import com.platform.dao.dto.upms.SysUserDTO;
+import com.platform.dao.entity.activiti.ActivitiUserModel;
 import com.platform.dao.entity.activiti.LocalAuditRecord;
 import com.platform.dao.entity.preparation.Preparation;
 import com.platform.dao.entity.store.OutStoreForm;
+import com.platform.dao.entity.upms.SysDept;
 import com.platform.dao.entity.upms.SysUser;
+import com.platform.dao.entity.upms.SysUserDept;
 import com.platform.dao.enums.*;
 import com.platform.dao.mapper.activiti.LocalAuditRecordMapper;
 import com.platform.dao.mapper.store.OutStoreFormMapper;
@@ -24,16 +25,22 @@ import com.platform.dao.vo.SysUserVO;
 import com.platform.dao.vo.query.customize.CustomFieldTemplateDataVO;
 import com.platform.service.customize.BaseFormCheckServiceAbstract;
 import com.platform.service.event.WorkplaceBacklogEvent;
+import com.platform.service.upms.SysUserDeptService;
 import com.platform.service.util.SendMessageUtils;
 import com.platform.service.yongyou.YongyouService;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.activiti.engine.task.Task;
 import org.springframework.stereotype.Service;
+import tk.mybatis.mapper.weekend.Weekend;
+import tk.mybatis.mapper.weekend.WeekendCriteria;
 
 import java.io.OutputStream;
 import java.time.LocalDateTime;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @Description 工作流业务
@@ -49,9 +56,10 @@ public class OutStoreFormActivitiServiceImpl extends BaseFormCheckServiceAbstrac
     private final YongyouService yongyouService;
     private final LocalAuditRecordMapper localAuditRecordMapper;
     private final SysUserMapper sysUserMapper;
+    private final SysUserDeptService sysUserDeptService;
+
     /**
      * 检查业务是否可以发起,比如检查业务状态等
-     *
      * @param actAuditRequest
      */
     @Override
@@ -67,14 +75,39 @@ public class OutStoreFormActivitiServiceImpl extends BaseFormCheckServiceAbstrac
 
     @Override
     protected void doStartUpdate(ActAuditRequest actAuditRequest) {
-        OutStoreForm queryForm = outStoreFormMapper.selectByPrimaryKey(actAuditRequest.getId());
+        /*OutStoreForm queryForm = outStoreFormMapper.selectByPrimaryKey(actAuditRequest.getId());
         OutStoreForm outStoreForm = new OutStoreForm();
         outStoreForm.setId(actAuditRequest.getId());
         outStoreForm.setProcessInstanceId(actAuditRequest.getProcessInstanceId());
         outStoreForm.setStatus(OutStoreStatusEnum.NOT_EXECUTE.getValue());
         outStoreFormMapper.updateByPrimaryKeySelective(outStoreForm);
         // 给审核主管发送微信通知
-        sendMessageToManger(queryForm);
+        sendMessageToManger(queryForm);*/
+    }
+
+    @Override
+    protected void doStartUpdate(ActAuditRequest actAuditRequest, List<ActivitiUserModel> list, Task task) {
+        OutStoreForm queryForm = outStoreFormMapper.selectByPrimaryKey(actAuditRequest.getId());
+        OutStoreForm outStoreForm = new OutStoreForm();
+        outStoreForm.setId(actAuditRequest.getId());
+        outStoreForm.setProcessInstanceId(actAuditRequest.getProcessInstanceId());
+        outStoreForm.setStatus(OutStoreStatusEnum.NOT_EXECUTE.getValue());
+        // 获取审批人
+        ActivitiUserModel userTaskModel =
+                list.stream().filter(u -> u.getId().equals(task.getTaskDefinitionKey())).collect(Collectors.toList()).get(0);
+        String roleId = userTaskModel.getRoleId();
+        SysUserDTO sysUserDTO = new SysUserDTO();
+        sysUserDTO.setRoleIds(Arrays.asList(roleId));
+        // 找到和发起人部门一致的
+        sysUserDTO.setDeptIds(sysUserDeptService.selectByUserId(SecurityUtils.getUserInfo().getUserId()).stream().map(SysUserDept::getDeptId).collect(Collectors.toList()));
+        List<SysUserVO> sysUserVOList = sysUserMapper.selectDeptRoleUser(sysUserDTO);
+        if(sysUserVOList != null && sysUserVOList.size() > 0){
+            outStoreForm.setUpdateUserId(sysUserVOList.get(0).getUserId());
+            // 给审核主管发送微信通知
+            queryForm.setUpdateUserId(outStoreForm.getUpdateUserId());
+            sendMessageToManger(queryForm);
+        }
+        outStoreFormMapper.updateByPrimaryKeySelective(outStoreForm);
     }
 
     /**
@@ -82,7 +115,7 @@ public class OutStoreFormActivitiServiceImpl extends BaseFormCheckServiceAbstrac
      * @param outForm
      */
     private void sendMessageToManger(OutStoreForm outForm){
-        SysUser sysUser = sysUserMapper.selectByPrimaryKey(outForm.getCreatedUserId());
+        SysUser sysUser = sysUserMapper.selectByPrimaryKey(outForm.getUpdateUserId());
         String info = MessageTemplateUtil.getOutStoreFormSuccess(outForm.getOutNo());
         Integer detailType = WorkplaceBacklogDetailTypeEnum.OUT_STORE_NOTICE.getValue();
         String[] values = new String[]{"出库单待审批!",outForm.getOutNo(),"无","无","无","请尽快审批"};

+ 3 - 0
platform-service/src/main/java/com/platform/service/customize/BaseFormCheckServiceAbstract.java

@@ -83,6 +83,8 @@ public abstract class BaseFormCheckServiceAbstract implements BaseFormCheckServi
 
     protected abstract void doStartUpdate(ActAuditRequest actAuditRequest);
 
+    protected abstract void doStartUpdate(ActAuditRequest actAuditRequest,List<ActivitiUserModel> list,Task task);
+
     /**
      * 根据需要插入值
      * @param maps
@@ -154,6 +156,7 @@ public abstract class BaseFormCheckServiceAbstract implements BaseFormCheckServi
         maps.put("userId", user.getUserId());
         modifyTaskAssign(model.getId(), maps, nextTask, list);
         doStartUpdate(actAuditRequest);
+        doStartUpdate(actAuditRequest,list,nextTask);
     }
 
     /**

+ 7 - 0
platform-service/src/main/java/com/platform/service/customize/impl/SbAllocateCheckServiceImpl.java

@@ -10,6 +10,7 @@ import com.platform.common.util.SecurityUtils;
 import com.platform.common.util.StringUtils;
 import com.platform.dao.dto.activiti.SbAllocateFormActiviti;
 import com.platform.dao.dto.upms.SysUserDeptDTO;
+import com.platform.dao.entity.activiti.ActivitiUserModel;
 import com.platform.dao.entity.customize.CustomFieldTemplateData;
 import com.platform.dao.enums.CustomFieldTemplateDataStatusEnum;
 import com.platform.dao.enums.CustomFieldTemplateDataTypeEnum;
@@ -18,6 +19,7 @@ import com.platform.dao.mapper.upms.SysUserDeptMapper;
 import com.platform.dao.vo.SysUserDeptVO;
 import com.platform.dao.vo.query.customize.CustomFieldTemplateDataVO;
 import com.platform.service.customize.BaseFormCheckServiceAbstract;
+import org.activiti.engine.task.Task;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -51,6 +53,11 @@ public class SbAllocateCheckServiceImpl extends BaseFormCheckServiceAbstract {
         customFieldTemplateDataMapper.updateByPrimaryKeySelective(updInfo);
     }
 
+    @Override
+    protected void doStartUpdate(ActAuditRequest actAuditRequest, List<ActivitiUserModel> list, Task task) {
+
+    }
+
     @Override
     public String doRefuse(ActAuditRequest actAuditRequest) {
         return super.doRefuse(actAuditRequest);

+ 9 - 0
platform-service/src/main/java/com/platform/service/customize/impl/SbScrapCheckServiceImpl.java

@@ -9,6 +9,7 @@ import com.platform.common.util.IdGeneratorUtils;
 import com.platform.common.util.JsonUtils;
 import com.platform.common.util.SecurityUtils;
 import com.platform.dao.dto.activiti.SbScrapFormActiviti;
+import com.platform.dao.entity.activiti.ActivitiUserModel;
 import com.platform.dao.entity.customize.CustomFieldTemplateData;
 import com.platform.dao.entity.sb.SbInfo;
 import com.platform.dao.enums.CustomFieldTemplateDataStatusEnum;
@@ -16,9 +17,12 @@ import com.platform.dao.enums.CustomFieldTemplateDataTypeEnum;
 import com.platform.dao.enums.SbInfoStatusEnum;
 import com.platform.dao.vo.query.customize.CustomFieldTemplateDataVO;
 import com.platform.service.customize.BaseFormCheckServiceAbstract;
+import org.activiti.engine.task.Task;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service("sbScrapCheckServiceImpl")
 public class SbScrapCheckServiceImpl extends BaseFormCheckServiceAbstract {
 
@@ -111,6 +115,11 @@ public class SbScrapCheckServiceImpl extends BaseFormCheckServiceAbstract {
     protected void doStartUpdate(ActAuditRequest actAuditRequest) {
     }
 
+    @Override
+    protected void doStartUpdate(ActAuditRequest actAuditRequest, List<ActivitiUserModel> list, Task task) {
+
+    }
+
     /**
      * 拒绝业务
      *

+ 8 - 0
platform-service/src/main/java/com/platform/service/customize/impl/SbStopCheckServiceImpl.java

@@ -9,6 +9,7 @@ import com.platform.common.util.IdGeneratorUtils;
 import com.platform.common.util.JsonUtils;
 import com.platform.common.util.SecurityUtils;
 import com.platform.dao.dto.activiti.SbStopFormActiviti;
+import com.platform.dao.entity.activiti.ActivitiUserModel;
 import com.platform.dao.entity.customize.CustomFieldTemplateData;
 import com.platform.dao.entity.sb.SbInfo;
 import com.platform.dao.enums.CustomFieldTemplateDataStatusEnum;
@@ -18,10 +19,12 @@ import com.platform.dao.mapper.customize.CustomFieldTemplateDataMapper;
 import com.platform.dao.mapper.sb.SbInfoMapper;
 import com.platform.dao.vo.query.customize.CustomFieldTemplateDataVO;
 import com.platform.service.customize.BaseFormCheckServiceAbstract;
+import org.activiti.engine.task.Task;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @Service("sbStopCheckServiceImpl")
 public class SbStopCheckServiceImpl extends BaseFormCheckServiceAbstract {
@@ -103,6 +106,11 @@ public class SbStopCheckServiceImpl extends BaseFormCheckServiceAbstract {
 
     }
 
+    @Override
+    protected void doStartUpdate(ActAuditRequest actAuditRequest, List<ActivitiUserModel> list, Task task) {
+
+    }
+
     @Override
     public String doRefuse(ActAuditRequest actAuditRequest) {
         return super.doRefuse(actAuditRequest);

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

@@ -153,5 +153,7 @@ public interface RepairApplicationFormService extends IBaseService<RepairApplica
      */
     MyVOPage<RepairApplicationFormVO> selectPageInfoVOByModelThree(RepairApplicationFormDTO record, int pageNum, int pageSize);
 
+    MyVOPage<RepairApplicationFormVO> selectPoolPageInfoVO(RepairApplicationFormDTO record, int pageNum, int pageSize);
+
     void editErrorInfo(RepairApplicationFormDTO record);
 }

+ 15 - 0
platform-service/src/main/java/com/platform/service/repair/impl/RepairApplicationFormServiceImpl.java

@@ -304,6 +304,8 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
             noticeNumberVO.setInStoreNum(inStoreCount == null ? initNum : inStoreCount);
         }
         //出库
+        outStoreFormDTO.setStatus(OutStoreStatusEnum.NOT_EXECUTE.getValue());
+        outStoreFormDTO.setOutFlag(1);
         BigDecimal outStoreCount=outStoreFormMapper.getOutStoreFormCount1(outStoreFormDTO);
         noticeNumberVO.setOutStoreNum(outStoreCount==null?initNum:outStoreCount);
         if (noticeNumberVO.getRoleFlag()!=5) {
@@ -608,6 +610,19 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
         return new MyVOPage<>(mapper.selectPageList(record));
     }
 
+    @Override
+    public MyVOPage<RepairApplicationFormVO> selectPoolPageInfoVO(RepairApplicationFormDTO record, int pageNum, int pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<Integer> categoryList = ListUtils.newArrayList();
+        categoryList.add(RepairApplicationFormCategoryEnum.PLAN.getValue());
+        categoryList.add(RepairApplicationFormCategoryEnum.OTHER.getValue());
+        record.setCategoryList(categoryList);
+        List<Integer> statusList = ListUtils.newArrayList();
+        statusList.add(RepairApplicationFormStatusEnum.PROCESSING.getValue());
+        record.setStatusList(statusList);
+        return new MyVOPage<>(mapper.selectPageList(record));
+    }
+
     @Override
     public void editErrorInfo(RepairApplicationFormDTO record) {
         RepairApplicationForm form = new RepairApplicationForm();