cuilei
6 小时以前 b70b3170abd2b9742d2d40c97f2faecd4087984b
设备点检消息推送小问题处理
已修改3个文件
40 ■■■■ 文件已修改
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/InspectionOrderWxMessageSendJob.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamWeekMaintenanceOrderMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/InspectionOrderWxMessageSendJob.java
@@ -17,8 +17,10 @@
import org.jeecg.modules.quartz.service.ISysQuartzLogService;
import org.jeecg.modules.qywx.message.vo.TemplateCard;
import org.jeecg.modules.qywx.message.vo.TemplateCardEntity;
import org.jeecg.modules.system.entity.MdcProduction;
import org.jeecg.modules.system.entity.MdcProductionEquipment;
import org.jeecg.modules.system.entity.SysUser;
import org.jeecg.modules.system.service.IMdcProductionService;
import org.jeecg.modules.system.service.ISysUserService;
import org.jeecg.modules.system.service.impl.ThirdAppWechatEnterpriseServiceImpl;
import org.jeecg.modules.system.vo.UserSelector;
@@ -29,10 +31,7 @@
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -52,6 +51,8 @@
    private ISysQuartzLogService sysQuartzLogService;
    @Autowired
    private IQuartzJobService quartzJobService;
    @Autowired
    private IMdcProductionService mdcProductionService;
    @Value("${wechatEnterprise.cardActionUrl}")
    private String cardActionUrl;
@@ -74,13 +75,14 @@
                //有待点检工单,推送企业微信消息
                Map<String, List<EamInspectionOrder>> unReceivedOrderMap = unReceivedOrderList.stream()
                        .collect(Collectors.groupingBy(EamInspectionOrder::getOrgId));
                Set<String> productionIds = selectTwoLevelProductionIds(unReceivedOrderMap.keySet());
                StringBuilder message = new StringBuilder();
                for (String orgId : unReceivedOrderMap.keySet()) {
                for (String orgId : productionIds) {
                    //查询该产线下的所有操作工
                    List<UserSelector> userSelectorList = sysUserService.selectOperatorList(null, orgId, BusinessCodeConst.PCR0001);
                    if (userSelectorList.isEmpty()) {
                        log.error("系统未设置操作工用户,无法推送工单领取提醒消息");
                        message.append("系统未设置操作工用户,无法推送工单领取提醒消息").append("\n");
                        log.error("id为:{},的产线未配置操作工用户,无法推送点检工单领取提醒消息", orgId);
                        message.append("id为: ").append(orgId).append(" 的产线未配置操作工用户,无法推送点检工单领取提醒消息").append("\n");
                    } else {
                        String toUsers = userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.joining(","));
                        String touser = wechatEnterpriseService.getTouser(toUsers, false);
@@ -125,4 +127,24 @@
        quartzLog.setExecutionTime(Integer.parseInt(String.valueOf(endTime - startTime)));
        sysQuartzLogService.save(quartzLog);
    }
    //如果当前产线是三级,查询对应二级产线,如果不是不做处理
    private Set<String> selectTwoLevelProductionIds(Set<String> productionIds) {
        Set<String> result = new HashSet<>();
        List<MdcProduction> mdcProductionList = mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>().in(MdcProduction::getId, productionIds));
        for (MdcProduction production : mdcProductionList) {
            //如果是三级产线,查找对应的二级产线,添加进结果集
            if ("3".equals(production.getOrgType())) {
                mdcProductionService.list(new LambdaQueryWrapper<MdcProduction>()
                                .eq(MdcProduction::getId, production.getParentId())
                                .eq(MdcProduction::getOrgType, "2"))
                        .stream().findFirst().ifPresent(mdcProduction -> result.add(mdcProduction.getId()));
            }
            //如果是二级产线,添加进结果集
            if ("2".equals(production.getOrgType())) {
                result.add(production.getId());
            }
        }
        return result;
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml
@@ -32,7 +32,7 @@
    <select id="selectUnReceivedInspectionOrder" resultType="org.jeecg.modules.eam.entity.EamInspectionOrder">
        select eio.*,ee.org_id
        from eam_inspection_order eio
        left join eam_equipment ee on eio.equipment_id = ee.id
        inner join eam_equipment ee on eio.equipment_id = ee.id
        where eio.inspection_status = 'WAIT_INSPECTION' and eio.del_flag = 0
    </select>
</mapper>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamWeekMaintenanceOrderMapper.xml
@@ -33,7 +33,7 @@
            resultType="org.jeecg.modules.eam.entity.EamWeekMaintenanceOrder">
        select ewm.*,ee.org_id
        from eam_week_maintenance_order ewm
        left join eam_equipment ee on ewm.equipment_id = ee.id
        inner join eam_equipment ee on ewm.equipment_id = ee.id
        where ewm.maintenance_status = 'WAIT_MAINTENANCE' and ewm.del_flag = 0
    </select>
</mapper>