guarantee-lsq 2 年 前
コミット
a5f0ea2512
17 ファイル変更190 行追加34 行削除
  1. 1 0
      platform-common/src/main/java/com/platform/common/constant/CommonConstants.java
  2. 24 2
      platform-dao/src/main/java/com/platform/dao/dto/repair/RepairApplicationFormDTO.java
  3. 12 4
      platform-dao/src/main/java/com/platform/dao/entity/repair/RepairApplicationForm.java
  4. 4 0
      platform-dao/src/main/java/com/platform/dao/enums/RepairApplicationFormStatusEnum.java
  5. 1 0
      platform-dao/src/main/java/com/platform/dao/enums/WorkplaceBacklogDetailTypeEnum.java
  6. 2 0
      platform-dao/src/main/java/com/platform/dao/mapper/sb/SbPositionMapper.java
  7. 24 4
      platform-dao/src/main/java/com/platform/dao/vo/repair/RepairApplicationFormVO.java
  8. 15 0
      platform-dao/src/main/resources/mapper/sb/SbPositionMapper.xml
  9. 15 14
      platform-rest/src/main/java/com/platform/rest/controller/repair/RepairApplicationFormController.java
  10. 11 0
      platform-rest/src/main/java/com/platform/rest/controller/sb/SbPositionController.java
  11. 2 1
      platform-service/src/main/java/com/platform/service/repair/strategy/AbstractRepairBaseStrategy.java
  12. 5 0
      platform-service/src/main/java/com/platform/service/repair/strategy/RepairBaseStrategy.java
  13. 4 3
      platform-service/src/main/java/com/platform/service/repair/strategy/RepairStrategyFactory.java
  14. 4 2
      platform-service/src/main/java/com/platform/service/repair/strategy/impl/LongYanPlanRepairStrategy.java
  15. 59 4
      platform-service/src/main/java/com/platform/service/repair/strategy/impl/LongYanRepairStrategy.java
  16. 2 0
      platform-service/src/main/java/com/platform/service/sb/SbPositionService.java
  17. 5 0
      platform-service/src/main/java/com/platform/service/sb/impl/SbPositionServiceImpl.java

+ 1 - 0
platform-common/src/main/java/com/platform/common/constant/CommonConstants.java

@@ -276,6 +276,7 @@ public interface CommonConstants {
     String CALL_REPAIR_RECEIVE = "4"; // 报修成功 工程师接单
     String CALL_REPAIR_COMPLETE = "5"; // 报修成功 工程师结单 给相关领导推送消息
     String SB_CALL_REPAIR = "6"; // 设备报修审核通知
+    String SB_APPLY_BIG_REPAIR = "7"; // 报修转大修审核通知
     // 维修记录
     String REPAIR_RECORD_EDIT_ADD = "1";
     String REPAIR_RECORD_EDIT_STOP = "2";

+ 24 - 2
platform-dao/src/main/java/com/platform/dao/dto/repair/RepairApplicationFormDTO.java

@@ -423,7 +423,29 @@ public class RepairApplicationFormDTO extends BaseDTO implements Serializable {
      */
     private String parentSbNo;
 
-    private Integer repairProfessor; // 维修专业
+    private String repairProfessor; // 维修专业
 
-    private String repairType; // 维修类型
+    private String repairType; // 特殊作业类型
+
+    /**
+     * 生产审核人ID
+     */
+    private String produceVerifyUserId;
+    /**
+     * 计划性维修等级  大 中 小
+     */
+    private String repairPlanLevel;
+
+    /**
+     * 挂起原因
+     */
+    private String hangUpReason;
+    /**
+     * 委托单位
+     */
+    private Integer trustDept;
+    /**
+     * 生产装置  时代思康->甲八车间
+     */
+    private String sbPosition;
 }

+ 12 - 4
platform-dao/src/main/java/com/platform/dao/entity/repair/RepairApplicationForm.java

@@ -81,7 +81,7 @@ public class RepairApplicationForm implements Serializable {
      */
     private LocalDateTime applyTime;
     /**
-     * 紧急等级: 1-一级 2-二级 3-三级
+     * 工作优先权
      */
     private Integer level;
     /**
@@ -308,15 +308,14 @@ public class RepairApplicationForm implements Serializable {
      */
     private String parentSbNo;
 
-    private Integer repairProfessor; // 检维修单位
+    private String repairProfessor; // 维修专业
 
-    private String repairType; // 工作类型
+    private String repairType; // 特殊作业类型
 
     /**
      * 生产审核人ID
      */
     private String produceVerifyUserId;
-
     /**
      * 计划性维修等级  大 中 小
      */
@@ -326,4 +325,13 @@ public class RepairApplicationForm implements Serializable {
      * 挂起原因
      */
     private String hangUpReason;
+    /**
+     * 委托单位
+     */
+    private Integer trustDept;
+    /**
+     * 生产装置  时代思康->甲八车间
+     */
+    private String sbPosition;
+
 }

+ 4 - 0
platform-dao/src/main/java/com/platform/dao/enums/RepairApplicationFormStatusEnum.java

@@ -95,6 +95,10 @@ public enum RepairApplicationFormStatusEnum {
      * 报修三审审被拒
      */
     CALLER_REPAIR_VERIFY_FAIL_THREE(20),
+    /**
+     * 大修审核中
+     */
+    BIG_REPAIR_VERIFYING(21),
     ;
     private final Integer value;
 }

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

@@ -32,6 +32,7 @@ public enum WorkplaceBacklogDetailTypeEnum {
     REPAIR_OK(6, "维修结束通知"),
     REPAIR_RECEIVE(23, "维修接收通知"),
     SB_CALLER_REPAIR(28, "设备部报修审核"),
+    SB_APPLY_BIG_REPAIR(30, "报修转大修审核"),
     REPAIR_EXAMINE(24, "维修审核通知"),
     CHECK_RUN_EXPIRE(7, "润滑任务过期通知"),
     CHECK_BAOYANG_EXPIRE(8, "保养任务过期通知"),

+ 2 - 0
platform-dao/src/main/java/com/platform/dao/mapper/sb/SbPositionMapper.java

@@ -40,4 +40,6 @@ public interface SbPositionMapper extends MyMapper<SbPosition> {
      * @return :
      */
     String selectNameById(String object);
+
+    List<SbPositionVO> selectLongYanList(SbPositionDTO dto);
 }

+ 24 - 4
platform-dao/src/main/java/com/platform/dao/vo/repair/RepairApplicationFormVO.java

@@ -2,8 +2,6 @@ package com.platform.dao.vo.repair;
 
 import com.platform.common.bean.BaseVO;
 import com.platform.common.bean.DataScope;
-import com.platform.dao.entity.repair.RepairCheck;
-import com.platform.dao.entity.repair.RepairForm;
 import com.platform.dao.entity.upms.SysFile;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -403,7 +401,29 @@ public class RepairApplicationFormVO extends BaseVO implements Serializable {
 
     private String sbPositionName; // 车间名称
 
-    private Integer repairProfessor; // 维修专业
+    private String repairProfessor; // 维修专业
 
-    private String repairType; // 维修类型
+    private String repairType; // 特殊作业类型
+
+    /**
+     * 生产审核人ID
+     */
+    private String produceVerifyUserId;
+    /**
+     * 计划性维修等级  大 中 小
+     */
+    private String repairPlanLevel;
+
+    /**
+     * 挂起原因
+     */
+    private String hangUpReason;
+    /**
+     * 委托单位
+     */
+    private Integer trustDept;
+    /**
+     * 生产装置  时代思康->甲八车间
+     */
+    private String sbPosition;
 }

+ 15 - 0
platform-dao/src/main/resources/mapper/sb/SbPositionMapper.xml

@@ -52,4 +52,19 @@
         from t_sb_position
         where id = #{value}
     </select>
+
+    <select id="selectLongYanList" parameterType="com.platform.dao.dto.sb.SbPositionDTO"
+            resultType="com.platform.dao.vo.sb.SbPositionVO">
+    select * from t_sb_position
+    <where>
+        <choose>
+            <when test="parentId != null and parentId != ''">
+                and parent_id = #{parentId}
+            </when>
+            <otherwise>
+                and (parent_id is null or parent_id = '')
+            </otherwise>
+        </choose>
+    </where>
+    </select>
 </mapper>

+ 15 - 14
platform-rest/src/main/java/com/platform/rest/controller/repair/RepairApplicationFormController.java

@@ -17,6 +17,7 @@ import com.platform.dao.vo.export.repair.ExportRepairApplicationFormVO;
 import com.platform.dao.vo.repair.RepairApplicationFormVO;
 import com.platform.rest.log.annotation.SysLog;
 import com.platform.service.repair.RepairApplicationFormService;
+import com.platform.service.repair.strategy.RepairBaseStrategy;
 import com.platform.service.repair.strategy.RepairStrategyFactory;
 import lombok.AllArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -72,8 +73,7 @@ public class RepairApplicationFormController {
     @PostMapping
     @PreAuthorize("@pms.hasPermission('repair-application-forms-add')")
     public R save(@Validated({AddGroup.class}) @RequestBody RepairApplicationFormDTO repairApplicationFormDTO) {
-        return new R<>(RepairStrategyFactory.getStrategy().callRepair(repairApplicationFormDTO));
-        //return new R<>(repairApplicationFormService.saveModelByDTO(repairApplicationFormDTO));
+        return new R<>(RepairStrategyFactory.getStrategy(repairApplicationFormDTO.getCategory()).callRepair(repairApplicationFormDTO));
     }
 
     /**
@@ -101,7 +101,7 @@ public class RepairApplicationFormController {
     public R update(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairApplicationFormDTO) {
         repairApplicationFormDTO.setId(id);
         if(repairApplicationFormDTO.getType() == RepairApplicationFormTypeEnum.OUT.getValue()){
-            RepairStrategyFactory.getStrategy().sendRepairToThird(repairApplicationFormDTO);
+            RepairStrategyFactory.getStrategy(repairApplicationFormDTO.getCategory()).sendRepairToThird(repairApplicationFormDTO);
         }else{
             repairApplicationFormService.modModelByDTO(repairApplicationFormDTO);
         }
@@ -117,7 +117,7 @@ public class RepairApplicationFormController {
     //@PreAuthorize("@pms.hasPermission('repair-application-forms-edit')")
     public R refusedRepair(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairApplicationFormDTO) {
         repairApplicationFormDTO.setId(id);
-        RepairStrategyFactory.getStrategy().refusedRepair(repairApplicationFormDTO);
+        RepairStrategyFactory.getStrategy(repairApplicationFormDTO.getCategory()).refusedRepair(repairApplicationFormDTO);
         return new R<>();
     }
 
@@ -199,7 +199,7 @@ public class RepairApplicationFormController {
     @PutMapping("/finish/{id}")
     @PreAuthorize("@pms.hasPermission('repair-application-forms-examine')")
     public R finish(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairFormDTO) {
-        RepairStrategyFactory.getStrategy().handleRepair(repairFormDTO);
+        RepairStrategyFactory.getStrategy(repairFormDTO.getCategory()).handleRepair(repairFormDTO);
         //repairApplicationFormService.finish(repairFormDTO);
         return new R<>();
     }
@@ -215,7 +215,7 @@ public class RepairApplicationFormController {
     @PreAuthorize("@pms.hasPermission('repair-application-forms-finish')")
     public R examineApply(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairFormDTO) {
         repairFormDTO.setId(id);
-        RepairStrategyFactory.getStrategy().submitRepair(repairFormDTO);
+        RepairStrategyFactory.getStrategy(repairFormDTO.getCategory()).submitRepair(repairFormDTO);
         return new R<>();
     }
 
@@ -230,7 +230,7 @@ public class RepairApplicationFormController {
     @PreAuthorize("@pms.hasPermission('repair-application-forms-dispatch')")
     public R dispatch(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairFormDTO) {
         repairFormDTO.setId(id);
-        RepairStrategyFactory.getStrategy().sendRepair(repairFormDTO);
+        RepairStrategyFactory.getStrategy(repairFormDTO.getCategory()).sendRepair(repairFormDTO);
         return new R<>();
     }
 
@@ -243,7 +243,7 @@ public class RepairApplicationFormController {
     @PutMapping("/transfer")
     @PreAuthorize("@pms.hasPermission('repair-application-forms-transfer-apply')")
     public R transfer(@Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairFormDTO) {
-        RepairStrategyFactory.getStrategy().dispatchRepair(repairFormDTO);
+        RepairStrategyFactory.getStrategy(repairFormDTO.getCategory()).dispatchRepair(repairFormDTO);
         return new R<>();
     }
 
@@ -258,7 +258,7 @@ public class RepairApplicationFormController {
     public R repairFormDeal(@PathVariable("id") String id) {
         RepairApplicationFormDTO repairApplicationFormDTO = new RepairApplicationFormDTO();
         repairApplicationFormDTO.setId(id);
-        RepairStrategyFactory.getStrategy().sendRepair(repairApplicationFormDTO);
+        RepairStrategyFactory.getStrategy(repairApplicationFormDTO.getCategory()).sendRepair(repairApplicationFormDTO);
         //repairApplicationFormService.receive(id);
         return new R<>();
     }
@@ -266,20 +266,21 @@ public class RepairApplicationFormController {
     @SysLog("接单维修单")
     @PutMapping("/receive/repair")
     public R receiveRepairForm(@RequestBody RepairApplicationFormDTO applicationFormDTO) {
-        RepairStrategyFactory.getStrategy().receiveRepair(applicationFormDTO);
+        RepairStrategyFactory.getStrategy(applicationFormDTO.getCategory()).receiveRepair(applicationFormDTO);
         return new R<>();
     }
 
     @SysLog("接单维修单")
     @PutMapping("/report/repair")
     public R reportRepairForm(@RequestBody RepairApplicationFormDTO applicationFormDTO) {
+        RepairBaseStrategy strategy = RepairStrategyFactory.getStrategy(applicationFormDTO.getCategory());
         switch (applicationFormDTO.getReportHandleType()){
             case 3:
-                RepairStrategyFactory.getStrategy().stopRepairByPerson(applicationFormDTO);
+                strategy.stopRepairByPerson(applicationFormDTO);
                 break;
             case 1:
             case 2:
-                RepairStrategyFactory.getStrategy().reportLeaderHandle(applicationFormDTO);
+                strategy.reportLeaderHandle(applicationFormDTO);
                 break;
         }
         return new R<>();
@@ -295,7 +296,7 @@ public class RepairApplicationFormController {
     @PutMapping("/approve/{id}")
     @PreAuthorize("@pms.hasPermission('repair-application-forms-approve')")
     public R approve(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairCheckDTO) {
-        RepairStrategyFactory.getStrategy().verifyRepair(repairCheckDTO);
+        RepairStrategyFactory.getStrategy(repairCheckDTO.getCategory()).verifyRepair(repairCheckDTO);
         //repairApplicationFormService.approve(repairCheckDTO);
         return new R<>();
     }
@@ -310,7 +311,7 @@ public class RepairApplicationFormController {
     @PutMapping("/returnRepair/{id}")
     @PreAuthorize("@pms.hasPermission('repair-application-forms-reback')")
     public R returnRepair(@PathVariable("id") String id, @Validated({UpdateGroup.class}) @RequestBody RepairApplicationFormDTO repairCheckDTO) {
-        RepairStrategyFactory.getStrategy().verifyRefused(repairCheckDTO);
+        RepairStrategyFactory.getStrategy(repairCheckDTO.getCategory()).verifyRefused(repairCheckDTO);
         //repairApplicationFormService.returnRepair(repairCheckDTO);
         return new R<>();
     }

+ 11 - 0
platform-rest/src/main/java/com/platform/rest/controller/sb/SbPositionController.java

@@ -125,6 +125,17 @@ public class SbPositionController {
         return new R<>(sbPositionService.selectVOList(sbPositionDTO));
     }
 
+    /**
+     * 获取列表
+     *
+     * @param sbPositionDTO 设备位置DTO
+     * @return R
+     */
+    @GetMapping("/longYan")
+    public R queryLongYan(SbPositionDTO sbPositionDTO) {
+        return new R<>(sbPositionService.selectLongYanList(sbPositionDTO));
+    }
+
     /**
      * 设备位置导出
      *

+ 2 - 1
platform-service/src/main/java/com/platform/service/repair/strategy/AbstractRepairBaseStrategy.java

@@ -177,7 +177,8 @@ public abstract class AbstractRepairBaseStrategy implements RepairBaseStrategy{
         if (!RepairApplicationFormStatusEnum.WAIT_SUBMIT.getValue().equals(applicationForm.getStatus())) {
             throw new BusinessException("未完成的不允许提交审核");
         }
-        applicationForm.setStatus(RepairApplicationFormStatusEnum.NOT_ACCEPTANCE.getValue());
+        //applicationForm.setStatus(RepairApplicationFormStatusEnum.NOT_ACCEPTANCE.getValue());
+        applicationForm.setStatus(RepairApplicationFormStatusEnum.FINISHED.getValue());
         applicationForm.setCheckStartTime(LocalDateTime.now());
         applicationForm.setUpdateTime(applicationForm.getCheckStartTime());
         applicationForm.setRepairMinutes(DateUtils.getDurationHours(applicationForm.getRepairStartTime(), applicationForm.getUpdateTime()));

+ 5 - 0
platform-service/src/main/java/com/platform/service/repair/strategy/RepairBaseStrategy.java

@@ -134,4 +134,9 @@ public interface RepairBaseStrategy {
      * @param model
      */
     void recoverRepair(RepairApplicationFormDTO model);
+
+    /**
+     * 申请转大修
+     */
+    void applyBigRepair(RepairApplicationFormDTO model);
 }

+ 4 - 3
platform-service/src/main/java/com/platform/service/repair/strategy/RepairStrategyFactory.java

@@ -13,7 +13,7 @@ import com.platform.service.repair.strategy.impl.LongYanRepairStrategy;
  * 获取具体策略类
  */
 public class RepairStrategyFactory {
-    public static RepairBaseStrategy getStrategy(){
+    /*public static RepairBaseStrategy getStrategy(){
         RepairBaseStrategy strategy = (BaseRepairBaseStrategy)BeanUtils.getBean("baseRepairBaseStrategy");
         String strategyFlag = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_STRATEGY_MODEL.name());
         switch (strategyFlag){
@@ -27,7 +27,7 @@ public class RepairStrategyFactory {
                 break;
         }
         return strategy;
-    }
+    }*/
 
     /**
      * 根据维修类型获取执行策略
@@ -35,7 +35,7 @@ public class RepairStrategyFactory {
      * @return
      */
     public static RepairBaseStrategy getStrategy(int category){
-        RepairBaseStrategy strategy = (BaseRepairBaseStrategy)BeanUtils.getBean("baseRepairBaseStrategy");
+        RepairBaseStrategy strategy = null;
         switch (category){
             case CommonConstants.NO_PLAN_FLAG:
             case CommonConstants.OTHER:
@@ -43,6 +43,7 @@ public class RepairStrategyFactory {
                 break;
             case CommonConstants.PLAN_FLAG:
             case CommonConstants.NORMAL:
+                strategy = (LongYanPlanRepairStrategy)BeanUtils.getBean("longYanPlanRepairStrategy");
                 break;
         }
         return strategy;

+ 4 - 2
platform-service/src/main/java/com/platform/service/repair/strategy/impl/LongYanPlanRepairStrategy.java

@@ -623,8 +623,6 @@ public class LongYanPlanRepairStrategy extends AbstractRepairBaseStrategy {
     public void nonPlanTransferToPlan(RepairApplicationFormDTO model) {
         // 修改工单类型以及级别
         // 班组长-工程师-经理具有这个权限-暂时放开
-
-
     }
 
     @Override
@@ -632,6 +630,10 @@ public class LongYanPlanRepairStrategy extends AbstractRepairBaseStrategy {
 
     }
 
+    @Override
+    public void applyBigRepair(RepairApplicationFormDTO model) {
+    }
+
     /**
      * 维修人提交维修完成
      * @param dto

+ 59 - 4
platform-service/src/main/java/com/platform/service/repair/strategy/impl/LongYanRepairStrategy.java

@@ -1,5 +1,6 @@
 package com.platform.service.repair.strategy.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.platform.common.cache.ConfigCache;
 import com.platform.common.constant.CommonConstants;
 import com.platform.common.exception.DeniedException;
@@ -466,7 +467,7 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
             }
             // 上报通知
             sendMessageToReportLeader(existForm,BeanConverterUtil.copyObjectProperties(sysUserMapper.selectByPrimaryKey(leaderId),SysUserVO.class),CommonConstants.MM_REPAIR_UP);
-        }else if(model.getReportHandleType() == 3){
+        }else if(model.getReportHandleType() == 4){
             // 维修挂起
             if(StringUtils.isBlank(model.getRemark())){
                 throw new DeniedException("挂起原因不能为空");
@@ -570,6 +571,30 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
         sendMessageToRepairer(model);
     }
 
+    @Override
+    public void applyBigRepair(RepairApplicationFormDTO model) {
+        String roles = getCurrentRoles();
+        if(!roles.contains(SysRoleCodeEnum.REPAIR_MANAGE.name()) && !roles.contains(SysRoleCodeEnum.MM.name())){
+            throw new DeniedException("对不起,您不具有权限");
+        }
+        String produceUser = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.PRODUCE_VERIFY_USERS.name());
+        if(StringUtils.isBlank(produceUser)){
+            throw new DeniedException("生产审核人员为空,请先配置!");
+        }
+        RepairApplicationForm form = repairApplicationFormMapper.selectByPrimaryKey(model.getId());
+        RepairApplicationForm updForm = new RepairApplicationForm();
+        updForm.setId(form.getId());
+        updForm.setStatus(RepairApplicationFormStatusEnum.BIG_REPAIR_VERIFYING.getValue());
+        repairApplicationFormMapper.updateByPrimaryKeySelective(updForm);
+        // 通知生产审核
+        List<String> userNames = JSONArray.parseArray(produceUser,String.class);
+        List<SysUser> users = ListUtils.newArrayList();
+        userNames.forEach(item -> {
+            users.add(sysUserService.selectByUsername(item));
+        });
+        sendMessageToProducer(model,CommonConstants.SB_APPLY_BIG_REPAIR,users);
+    }
+
     /**
      * 维修人提交维修完成
      * @param dto
@@ -676,13 +701,13 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
         }
         RepairApplicationForm form = super.submitRepair(model);
         // 添加状态跟踪
-        addRepairStatusRecord(form,"生产审核中");
+        //addRepairStatusRecord(form,"生产审核中");
         // 添加审核记录
         addRepairVerifyRecord(model,CommonConstants.STATUS_VERIFY_PASS, CommonConstants.TYPE_REPAIR_MANAGER_VERIFY);
         // 通知报修人(生产审核)
-        sendMessageToRepairCaller(BeanConverterUtil.copyObjectProperties(form,RepairApplicationFormDTO.class),CommonConstants.CALL_REPAIR_SUCCESS);
+        //sendMessageToRepairCaller(BeanConverterUtil.copyObjectProperties(form,RepairApplicationFormDTO.class),CommonConstants.CALL_REPAIR_SUCCESS);
         // 通知相关领导
-        sendMessageToLeader(BeanConverterUtil.copyObjectProperties(form,RepairApplicationFormDTO.class),CommonConstants.CALL_REPAIR_COMPLETE);
+        //sendMessageToLeader(BeanConverterUtil.copyObjectProperties(form,RepairApplicationFormDTO.class),CommonConstants.CALL_REPAIR_COMPLETE);
         return form;
     }
 
@@ -923,6 +948,36 @@ public class LongYanRepairStrategy extends AbstractRepairBaseStrategy {
         SendMessageUtils.sendCommonSms(ListUtils.newArrayList(user.getPhone()),info);
     }
 
+    private void sendMessageToProducer(RepairApplicationFormDTO model,String type,List<SysUser> users){
+        List<String> emails = ListUtils.newArrayList();
+        List<String> phones = ListUtils.newArrayList();
+        List<String> openIds = ListUtils.newArrayList();
+        List<String> userIds = ListUtils.newArrayList();
+        users.forEach(item -> {
+            emails.add(item.getEmail());
+            phones.add(item.getPhone());
+            openIds.add(item.getWxOpenId());
+            userIds.add(item.getUserId());
+        });
+        String messageInfo = ""; // 通知内容
+        Integer detailType = WorkplaceBacklogDetailTypeEnum.SB_APPLY_BIG_REPAIR.getValue();
+        String[] values = null; // 微信填充内容
+        String wechatTemplateId = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.REPAIR_RECEIVE_SUCCESS_WECHAT_TEMPLATE_ID.name()); // 微信模板ID
+        String detailUrl = "pages/service-detail/service-detail?id=" + model.getId(); // 微信跳转url
+        switch (type){
+            case CommonConstants.SB_APPLY_BIG_REPAIR:
+                messageInfo = MessageTemplateUtil.getRepairStart(model.getNo());
+                values = new String[]{"转大修审核!",model.getNo(),"待审核",DateUtils.dateToString(LocalDateTime.now()),"请知悉"};
+                break;
+        }
+        // 1、站内信和email
+        sendWorkplaceAndEmailNew(emails,userIds,model.getId(),messageInfo, detailType);
+        // 2、微信
+        SendMessageUtils.sendWechatNew(openIds,detailUrl,values,wechatTemplateId);
+        // 3、短信
+        SendMessageUtils.sendCommonSms(phones,messageInfo);
+    }
+
     /**
      * 给维修主管推送消息
      * @param form

+ 2 - 0
platform-service/src/main/java/com/platform/service/sb/SbPositionService.java

@@ -56,4 +56,6 @@ public interface SbPositionService extends IBaseService<SbPosition, SbPositionDT
      * @return :
      */
     SbPositionVO getById(Object id);
+
+    List<SbPositionVO> selectLongYanList(SbPositionDTO dto);
 }

+ 5 - 0
platform-service/src/main/java/com/platform/service/sb/impl/SbPositionServiceImpl.java

@@ -254,5 +254,10 @@ public class SbPositionServiceImpl extends BaseServiceImpl<SbPositionMapper, SbP
         return mapper.getById(id);
     }
 
+    @Override
+    public List<SbPositionVO> selectLongYanList(SbPositionDTO dto) {
+        return mapper.selectLongYanList(dto);
+    }
+
 
 }