5 Commits 7352d07a26 ... 050242c036

Author SHA1 Message Date
  huangpeng 050242c036 创新- 定时任务 导致之前的 数据丢失 3 months ago
  huangpeng fcab100e18 Merge branch 'mode-min-unit' of http://192.168.0.43:8086/AI_SAFE_PRODUCE/safe_produce_core into mode-min-unit 3 months ago
  huangpeng 64d9acb625 Merge branch 'mode-min-unit' of http://192.168.0.43:8086/AI_SAFE_PRODUCE/safe_produce_core into mode-min-unit 3 months ago
  huangpeng 554b56901e Merge branch 'mode-min-unit' of http://192.168.0.43:8086/AI_SAFE_PRODUCE/safe_produce_core into mode-min-unit 3 months ago
  huangpeng 7f45900e25 创新- 保养任务自动派发,润滑任务派发保留发送消息提醒 3 months ago

+ 8 - 0
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/dao/EquMaintenanceTaskDao.java

@@ -1,10 +1,14 @@
 package com.rongwei.bscommon.sys.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.EquMaintenanceTaskAssignConfigurationDo;
 import com.rongwei.bsentity.domain.EquMaintenanceTaskDo;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
 
+import java.util.List;
+
 /**
  * @author shangmi
  * @title EquMaintenanceTaskDao
@@ -17,4 +21,8 @@ public interface EquMaintenanceTaskDao extends BaseMapper<EquMaintenanceTaskDo>
 
     @Update(" UPDATE sys_notify_announce_user SET DELETED='1',MODIFYDATE=NOW() WHERE  ANNOUNCEID = #{announceid} AND DELETED='0'")
     int deleteNoticeDetail( @Param("announceid")  String announceid);
+
+    @Select(" select * from equ_maintenance_task_assign_configuration")
+    List<EquMaintenanceTaskAssignConfigurationDo> getAssignConfiguration();
+
 }

+ 4 - 0
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/EquMaintenanceTaskService.java

@@ -1,6 +1,7 @@
 package com.rongwei.bscommon.sys.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.rongwei.bsentity.domain.EquMaintenanceTaskAssignConfigurationDo;
 import com.rongwei.bsentity.domain.EquMaintenanceTaskDo;
 import com.rongwei.bsentity.dto.TaskCreatorDTO;
 
@@ -24,4 +25,7 @@ public interface EquMaintenanceTaskService extends IService<EquMaintenanceTaskDo
     int deleteNotice(String notifytype, String roption);
 
     int deleteNoticeDetail(String id);
+
+    List<EquMaintenanceTaskAssignConfigurationDo> getAssignConfiguration();
+
 }

+ 2 - 0
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/EquipmentSendNotifyService.java

@@ -104,4 +104,6 @@ public interface EquipmentSendNotifyService {
      * 删除大修计划任务发送移动端的超期任务提醒
      */
     void deletePlanningTasksNotify();
+
+    R maintenanceDistribution();
 }

+ 29 - 32
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquEnergyMeterCenterDosageMonthServiceImpl.java

@@ -11,6 +11,7 @@ import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -55,37 +56,33 @@ public class EquEnergyMeterCenterDosageMonthServiceImpl  extends ServiceImpl<Equ
 
 
     public void setUpdateWrapper(UpdateWrapper<EquEnergyMeterCenterDosageMonthDo> updateWrapper, EquEnergyMeterCenterDosageMonthDo equEnergyMeterCenterDosageMonthDo){
-        updateWrapper.eq("id",equEnergyMeterCenterDosageMonthDo.getId())
-                .set("day1",equEnergyMeterCenterDosageMonthDo.getDay1())
-                .set("day2",equEnergyMeterCenterDosageMonthDo.getDay2())
-                .set("day3",equEnergyMeterCenterDosageMonthDo.getDay3())
-                .set("day4",equEnergyMeterCenterDosageMonthDo.getDay4())
-                .set("day5",equEnergyMeterCenterDosageMonthDo.getDay5())
-                .set("day6",equEnergyMeterCenterDosageMonthDo.getDay6())
-                .set("day7",equEnergyMeterCenterDosageMonthDo.getDay7())
-                .set("day8",equEnergyMeterCenterDosageMonthDo.getDay8())
-                .set("day9",equEnergyMeterCenterDosageMonthDo.getDay9())
-                .set("day10",equEnergyMeterCenterDosageMonthDo.getDay10())
-                .set("day11",equEnergyMeterCenterDosageMonthDo.getDay11())
-                .set("day12",equEnergyMeterCenterDosageMonthDo.getDay12())
-                .set("day13",equEnergyMeterCenterDosageMonthDo.getDay13())
-                .set("day14",equEnergyMeterCenterDosageMonthDo.getDay14())
-                .set("day15",equEnergyMeterCenterDosageMonthDo.getDay15())
-                .set("day16",equEnergyMeterCenterDosageMonthDo.getDay16())
-                .set("day17",equEnergyMeterCenterDosageMonthDo.getDay17())
-                .set("day18",equEnergyMeterCenterDosageMonthDo.getDay18())
-                .set("day19",equEnergyMeterCenterDosageMonthDo.getDay19())
-                .set("day20",equEnergyMeterCenterDosageMonthDo.getDay20())
-                .set("day21",equEnergyMeterCenterDosageMonthDo.getDay21())
-                .set("day22",equEnergyMeterCenterDosageMonthDo.getDay22())
-                .set("day23",equEnergyMeterCenterDosageMonthDo.getDay23())
-                .set("day24",equEnergyMeterCenterDosageMonthDo.getDay24())
-                .set("day25",equEnergyMeterCenterDosageMonthDo.getDay25())
-                .set("day26",equEnergyMeterCenterDosageMonthDo.getDay26())
-                .set("day27",equEnergyMeterCenterDosageMonthDo.getDay27())
-                .set("day28",equEnergyMeterCenterDosageMonthDo.getDay28())
-                .set("day29",equEnergyMeterCenterDosageMonthDo.getDay29())
-                .set("day30",equEnergyMeterCenterDosageMonthDo.getDay30())
-                .set("day31",equEnergyMeterCenterDosageMonthDo.getDay31());
+        updateWrapper.eq("id",equEnergyMeterCenterDosageMonthDo.getId());
+        try {
+            setDayFields(updateWrapper, equEnergyMeterCenterDosageMonthDo);
+        } catch (NoSuchFieldException | IllegalAccessException e) {
+            throw new RuntimeException("反射设置 day 字段失败", e);
+        }
+    }
+
+
+
+    public static void setDayFields(UpdateWrapper<EquEnergyMeterCenterDosageMonthDo> updateWrapper, EquEnergyMeterCenterDosageMonthDo entity) throws NoSuchFieldException, IllegalAccessException {
+        // 获取实体类对象
+        Class<?> clazz = entity.getClass();
+
+        // 遍历 day1 到 day31 字段
+        for (int i = 1; i <= 31; i++) {
+            String fieldName = "day" + i;
+
+            // 通过反射获取字段值
+            Field field = clazz.getDeclaredField(fieldName);
+            field.setAccessible(true); // 突破私有权限
+            Object value = field.get(entity);
+
+            // 非空时才设置字段
+            if (value != null) {
+                updateWrapper.set(fieldName, value);
+            }
+        }
     }
 }

+ 29 - 32
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquEnergyMeterDosageMonthSetviceImpl.java

@@ -10,6 +10,7 @@ import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -54,37 +55,33 @@ public class EquEnergyMeterDosageMonthSetviceImpl extends
 
 
     public void setUpdateWrapper(UpdateWrapper<EquEnergyMeterDosageMonthDo> updateWrapper, EquEnergyMeterDosageMonthDo equEnergyMeterDosageMonthDo){
-        updateWrapper.eq("id",equEnergyMeterDosageMonthDo.getId())
-                .set("day1",equEnergyMeterDosageMonthDo.getDay1())
-                .set("day2",equEnergyMeterDosageMonthDo.getDay2())
-                .set("day3",equEnergyMeterDosageMonthDo.getDay3())
-                .set("day4",equEnergyMeterDosageMonthDo.getDay4())
-                .set("day5",equEnergyMeterDosageMonthDo.getDay5())
-                .set("day6",equEnergyMeterDosageMonthDo.getDay6())
-                .set("day7",equEnergyMeterDosageMonthDo.getDay7())
-                .set("day8",equEnergyMeterDosageMonthDo.getDay8())
-                .set("day9",equEnergyMeterDosageMonthDo.getDay9())
-                .set("day10",equEnergyMeterDosageMonthDo.getDay10())
-                .set("day11",equEnergyMeterDosageMonthDo.getDay11())
-                .set("day12",equEnergyMeterDosageMonthDo.getDay12())
-                .set("day13",equEnergyMeterDosageMonthDo.getDay13())
-                .set("day14",equEnergyMeterDosageMonthDo.getDay14())
-                .set("day15",equEnergyMeterDosageMonthDo.getDay15())
-                .set("day16",equEnergyMeterDosageMonthDo.getDay16())
-                .set("day17",equEnergyMeterDosageMonthDo.getDay17())
-                .set("day18",equEnergyMeterDosageMonthDo.getDay18())
-                .set("day19",equEnergyMeterDosageMonthDo.getDay19())
-                .set("day20",equEnergyMeterDosageMonthDo.getDay20())
-                .set("day21",equEnergyMeterDosageMonthDo.getDay21())
-                .set("day22",equEnergyMeterDosageMonthDo.getDay22())
-                .set("day23",equEnergyMeterDosageMonthDo.getDay23())
-                .set("day24",equEnergyMeterDosageMonthDo.getDay24())
-                .set("day25",equEnergyMeterDosageMonthDo.getDay25())
-                .set("day26",equEnergyMeterDosageMonthDo.getDay26())
-                .set("day27",equEnergyMeterDosageMonthDo.getDay27())
-                .set("day28",equEnergyMeterDosageMonthDo.getDay28())
-                .set("day29",equEnergyMeterDosageMonthDo.getDay29())
-                .set("day30",equEnergyMeterDosageMonthDo.getDay30())
-                .set("day31",equEnergyMeterDosageMonthDo.getDay31());
+        updateWrapper.eq("id",equEnergyMeterDosageMonthDo.getId());
+        try {
+            setDayFields(updateWrapper, equEnergyMeterDosageMonthDo);
+        } catch (NoSuchFieldException | IllegalAccessException e) {
+            throw new RuntimeException("反射设置 day 字段失败", e);
+        }
+
+    }
+
+    public static void setDayFields(UpdateWrapper<EquEnergyMeterDosageMonthDo> updateWrapper, EquEnergyMeterDosageMonthDo entity) throws NoSuchFieldException, IllegalAccessException {
+        // 获取实体类对象
+        Class<?> clazz = entity.getClass();
+
+        // 遍历 day1 到 day31 字段
+        for (int i = 1; i <= 31; i++) {
+            String fieldName = "day" + i;
+
+            // 通过反射获取字段值
+            Field field = clazz.getDeclaredField(fieldName);
+            field.setAccessible(true); // 突破私有权限
+            Object value = field.get(entity);
+
+            // 非空时才设置字段
+            if (value != null) {
+                updateWrapper.set(fieldName, value);
+            }
+        }
     }
+
 }

+ 1 - 1
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquLubricationPlanServiceImpl.java

@@ -233,7 +233,7 @@ public class EquLubricationPlanServiceImpl extends ServiceImpl<EquLubricationPla
         equLubricationTaskManagementService.saveBatch(taskList, 50);
         equLubricationTaskDetailService.saveBatch(taskDetailList, 50);
         // 发送消息提醒
-//        equipmentSendNotifyService.sendLubricationTaskNotify(taskList);
+        equipmentSendNotifyService.sendLubricationTaskNotify(taskList);
     }
 
     /**

+ 7 - 0
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquMaintenanceTaskServiceImpl.java

@@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.rongwei.bscommon.sys.dao.EquMaintenanceTaskDao;
 import com.rongwei.bscommon.sys.service.EquMaintenanceTaskService;
+import com.rongwei.bsentity.domain.EquMaintenanceTaskAssignConfigurationDo;
 import com.rongwei.bsentity.domain.EquMaintenanceTaskDo;
 import com.rongwei.bsentity.dto.TaskCreatorDTO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -102,4 +104,9 @@ public class EquMaintenanceTaskServiceImpl extends ServiceImpl<EquMaintenanceTas
     public int deleteNoticeDetail(String announceid) {
         return maintenanceTaskDao.deleteNoticeDetail(announceid);
     }
+
+    @Override
+    public List<EquMaintenanceTaskAssignConfigurationDo> getAssignConfiguration() {
+        return maintenanceTaskDao.getAssignConfiguration();
+    }
 }

+ 142 - 1
cx-equipment/cx-equipment-common/src/main/java/com/rongwei/bscommon/sys/service/impl/EquipmentSendNotifyServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.json.JSONUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.write.metadata.WriteSheet;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.rongwei.bscommon.sys.dao.CommonDao;
 import com.rongwei.bscommon.sys.excel.EquLubricationTaskManagementTemplate;
 import com.rongwei.bscommon.sys.excel.EquMaintenanceTaskTemplate;
@@ -18,7 +19,9 @@ import com.rongwei.bsentity.enums.LubricationFrequencyEnum;
 import com.rongwei.bsentity.enums.MaintenanceTypeEnum;
 import com.rongwei.bsentity.enums.PlantEnum;
 import com.rongwei.bsentity.enums.TaskStatusEnum;
+import com.rongwei.commonservice.service.RedisService;
 import com.rongwei.rwadmincommon.system.domain.SysDictDo;
+import com.rongwei.rwadmincommon.system.domain.SysOrganizationDo;
 import com.rongwei.rwadmincommon.system.service.SysDictService;
 import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommon.utils.SecurityUtil;
@@ -37,6 +40,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.ByteArrayOutputStream;
 import java.text.SimpleDateFormat;
+import java.time.LocalDate;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -84,7 +88,8 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
     @Autowired
     private SysFileItemService sysFileItemService;
 
-
+    @Autowired
+    private RedisService redisService;
 
     /**
      * 根据任务ID发送 提醒
@@ -534,6 +539,7 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
     }
 
 
+
     /**
      * 润滑任务导出数据迁移
      *
@@ -668,6 +674,141 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
             return equMaintenanceTaskTemplate;
         }).collect(Collectors.toList());
     }
+
+
+    /**
+     * 每天 早上 6点,系统根据  保养任务中的 年月、 使用车间 、  保养检修分类  ,按照如下信息  ,
+     * 将 本年本月的  待指派  的任务 派发到  对应人
+     * @return
+     */
+    @Override
+    public R maintenanceDistribution() {
+
+        List<EquMaintenanceTaskDo> updateList =new ArrayList<>();
+        //1. 获取当前年月待指派的保养记录
+
+        List<EquMaintenanceTaskDo> list = maintenanceTaskService.list(new LambdaQueryWrapper<EquMaintenanceTaskDo>()
+                .eq(EquMaintenanceTaskDo::getPlanyear, LocalDate.now().getYear())
+                .eq(EquMaintenanceTaskDo::getMonth, LocalDate.now().getMonth().getValue())
+                .eq(EquMaintenanceTaskDo::getTaskstate,TaskStatusEnum.EXPORT_DISTRIBUTION.code));
+
+        if (list.isEmpty()){
+            log.info("本年月待指派保养任务数量为空");
+            return R.ok();
+        }
+
+        //2.读取 保养配置标配信息
+        List<EquMaintenanceTaskAssignConfigurationDo> assignConfiguration = maintenanceTaskService.getAssignConfiguration();
+
+        if (assignConfiguration.isEmpty()){
+            log.info("保养配置标配信息为空");
+            return R.ok();
+        }
+
+        Map<String, Map<String, List<EquMaintenanceTaskAssignConfigurationDo>>> collect =  assignConfiguration.stream()
+                .collect(Collectors.groupingBy(
+                        EquMaintenanceTaskAssignConfigurationDo::getWorkshopid,
+                        Collectors.groupingBy(EquMaintenanceTaskAssignConfigurationDo::getMaintenancetype)
+                ));
+
+        //3 读取组织组织机构 FULLPID 判断 保养记录所在部门 是否在 配置表的部门之下
+        List<SysOrganizationDo> orgdos = (List<SysOrganizationDo>) redisService.getRedisCatchObj("allOrgs");
+        Map<String, String> orgIdToFullPidMap = orgdos.stream()
+                .filter(org -> org.getFullpid() != null)
+                .collect(Collectors.toMap(
+                        SysOrganizationDo::getId,
+                        SysOrganizationDo::getFullpid
+                ));
+
+        //4.循环处理 保养任务派发
+        for (EquMaintenanceTaskDo equMaintenanceTaskDo:list){
+            try {
+
+                distribution(equMaintenanceTaskDo,collect,orgIdToFullPidMap,updateList);
+
+            }catch (Exception e){
+               log.error("保养任务ID {} 指派失败",equMaintenanceTaskDo.getId());
+            }
+        }
+
+        //更新保养计划
+        if (!updateList.isEmpty()){
+            maintenanceTaskService.updateBatchById(updateList,100);
+        }else {
+            log.info("本年月的保养任务所在车间均不匹配配置表中的车间,无需派发");
+        }
+
+
+        return R.ok();
+    }
+
+    /**
+     * 单独派发任务
+     *
+     * @param equMaintenanceTaskDo
+     * @param collect
+     * @param orgIdToFullPidMap
+     * @param updateList
+     */
+    private void distribution(EquMaintenanceTaskDo equMaintenanceTaskDo, Map<String, Map<String, List<EquMaintenanceTaskAssignConfigurationDo>>> collect, Map<String, String> orgIdToFullPidMap, List<EquMaintenanceTaskDo> updateList) {
+        //1. 先取值 组织机构
+        Set<String> orgs = collect.keySet();
+        // workshopid 等于 铸轧 或 冷轧 车间
+        if (orgs.contains(equMaintenanceTaskDo.getWorkshopid())){
+            maintainCreateSingleTaskNotify(equMaintenanceTaskDo,collect.get(equMaintenanceTaskDo.getWorkshopid()).get(equMaintenanceTaskDo.getMaintenancetype()).get(0),updateList);
+        }
+
+        // workshopid 父节点是在 铸轧 或 冷轧 车间 中
+        for (String orgid :orgs){
+            if (orgIdToFullPidMap.get(equMaintenanceTaskDo.getWorkshopid()).indexOf(orgid) >-1 ){
+                maintainCreateSingleTaskNotify(equMaintenanceTaskDo,collect.get(orgid).get(equMaintenanceTaskDo.getMaintenancetype()).get(0),updateList);
+            }
+        }
+
+    }
+
+
+    /**
+     * 单独指派
+     *
+     * @param maintenanceTaskDo
+     * @param equMaintenanceTaskAssignConfigurationDo
+     * @param updateList
+     */
+    public void maintainCreateSingleTaskNotify(EquMaintenanceTaskDo maintenanceTaskDo, EquMaintenanceTaskAssignConfigurationDo equMaintenanceTaskAssignConfigurationDo, List<EquMaintenanceTaskDo> updateList){
+
+        // 发送人
+        List<String> userId = new ArrayList<>();
+
+        userId.addAll(Arrays.asList(equMaintenanceTaskAssignConfigurationDo.getAssignedpersonid().split(",")));
+
+        maintenanceTaskDo.setPrincipalid(equMaintenanceTaskAssignConfigurationDo.getAssignedpersonid());
+        maintenanceTaskDo.setPrincipal(equMaintenanceTaskAssignConfigurationDo.getAssignedpersonname());
+        // 发送标题
+        String title = MAINTAIN_SYSTEM_TITLE;
+        // 发送内容
+        String context = String.format(MAINTAIN_SYSTEM_CONTENT, maintenanceTaskDo.getPlanyear() + "-" + maintenanceTaskDo.getMonth(),
+                maintenanceTaskDo.getWorkshop(), maintenanceTaskDo.getEquipmentname(), maintenanceTaskDo.getEquipmentnumber(),
+                maintenanceTaskDo.getMaintenancesite(), maintenanceTaskDo.getPrincipal(), maintenanceTaskDo.getOtherengineers());
+        // 删除提醒
+        //     CXCommonUtils.deleteSendNotify("maintain", id);
+        maintenanceTaskService.deleteNotice("maintain", maintenanceTaskDo.getId());
+        //   maintenanceTaskService.deleteNoticeDetail(id);
+
+        // 发送提醒
+        CXCommonUtils.sendNotify(title, context, null, userId.stream().distinct().collect(Collectors.toList()),
+                maintenanceTaskDo.getId(), MAINTAIN, false);
+
+        EquMaintenanceTaskDo updateDo =new EquMaintenanceTaskDo();
+        updateDo.setId(maintenanceTaskDo.getId());
+        updateDo.setTaskstate(TaskStatusEnum.UNDER_WAY.code);
+        updateDo.setPrincipalid(equMaintenanceTaskAssignConfigurationDo.getAssignedpersonid());
+        updateDo.setPrincipal(equMaintenanceTaskAssignConfigurationDo.getAssignedpersonname());
+        updateList.add(updateDo);
+
+    }
+
+
 }
 
 

+ 43 - 0
cx-equipment/cx-equipment-entity/src/main/java/com/rongwei/bsentity/domain/EquMaintenanceTaskAssignConfigurationDo.java

@@ -0,0 +1,43 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * 保养任务指派配置(EquMaintenanceTaskAssignConfiguration)表实体类
+ *
+ * @author makejava
+ * @since 2025-04-07 16:08:33
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("equ_maintenance_task_assign_configuration")
+public class EquMaintenanceTaskAssignConfigurationDo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    //主键ID
+    private Integer id;
+    //使用车间ID
+    private String workshopid;
+    //使用车间
+    private String workshop;
+    //保养检修分类
+    private String maintenancetype;
+    //指派人ID
+    private String assignedpersonid;
+    //指派人名称
+    private String assignedpersonname;
+
+
+}
+

+ 19 - 0
cx-equipment/cx-equipment-server/src/main/java/com/rongwei/bsserver/sys/controller/EquipmentSendNotifyController.java

@@ -176,5 +176,24 @@ public class EquipmentSendNotifyController {
         }
     }
 
+    /**
+     * 系统根据  保养任务中的 年月、 使用车间 、  保养检修分类  ,按照如下信息  , 将 本年本月的  待指派  的任务 派发到  对应人
+     * @param
+     * @return
+     */
+    @PostMapping("/maintenanceDistribution")
+    @Scheduled(cron = "0 0 6 1/1 * ? ")
+    public R maintenanceDistribution() {
+        try {
+            log.info("进入接口:/send-notify/maintenanceDistribution;" );
+            return sendNotifyService.maintenanceDistribution();
+        } catch (Exception e) {
+            ExceptionUtils.printExceptionDetail(e, "保养派发失败,异常为:");
+            log.info(e.getMessage());
+            return R.error(e.getMessage());
+        }
+    }
+
+
 
 }