mitao
2025-03-14 08f1b1f1804a8bd833d42f257908d80e88387b55
flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
@@ -51,6 +51,10 @@
    @Resource
    private  AreaCode2022Mapper areaCode2022Mapper;
    @Resource
    SmsUtil smsUtil;
    @Resource(name = "stringRedisTemplate")
@@ -84,8 +88,13 @@
            }
        }
        if (isAdd) {
            AreaCode2022 areaCode2022 = areaCode2022Mapper.selectOne(new QueryWrapper<AreaCode2022>().lambda().eq(AreaCode2022::getCode, guideRepairOrder.getAreaCode()));
            Integer grade=2;
            if (areaCode2022.getLevel()==2){
                grade=1;
            }
            //自动分配业务代码开始
            List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectByCode(transactionEvent.getDepartmentId(), guideRepairOrder.getAreaCode());
            List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectByCode(transactionEvent.getDepartmentId(), guideRepairOrder.getAreaCode(),grade);
            if (organizationChartEntities.size() > 0) {
                for (OrganizationChartEntity organizationChart : organizationChartEntities) {
                    departmentIds.add(organizationChart.getId().toString());
@@ -145,7 +154,7 @@
                    //消息推送
                    this.sendGuideRepairOrderSubmit(sysUser.getOpenid(), guideRepairOrder);
                    //短信发送
                    smsUtil.sendSmsSubmit(sysUser.getPhonenumber(), sysUser.getUserName());
                    smsUtil.sendSmsSubmitNew(sysUser.getPhonenumber(), sysUser.getUserName());
                    guideEvolveMapper.insertConfig(entity);
                }
            } else {//如果该办事指南用户所选所属地区无导半部门则为特殊单据需要手动分配
@@ -260,7 +269,7 @@
                    this.sendGuideRepairOrderSubmit(sysUser.getOpenid(), guideRepairOrder);
                }
                //短信发送
                smsUtil.sendSmsSubmit(sysUser.getPhonenumber(), sysUser.getUserName());
                smsUtil.sendSmsSubmitNew(sysUser.getPhonenumber(), sysUser.getUserName());
                sysUser.setTransactionNum(sysUser.getTransactionNum() + 1);
                return sysUserMapper.updateById(sysUser);
            } else if (order.getState().equals("10")) {
@@ -274,7 +283,7 @@
                GuideRepairOrder guideRepairOrder = baseMapper.selectOne(new QueryWrapper<GuideRepairOrder>().lambda()
                        .eq(GuideRepairOrder::getId, order.getGuideId()));
                //短信发送
                smsUtil.sendSmsSubmit(sysUserTo.getPhonenumber(), sysUserTo.getUserName());
                smsUtil.sendSmsSubmitNew(sysUserTo.getPhonenumber(), sysUserTo.getUserName());
                if (guideRepairOrder != null) {
                    this.sendGuideRepairOrderSubmit(sysUserTo.getOpenid(), guideRepairOrder);
                }
@@ -378,7 +387,9 @@
        //删除进展记录
        guideEvolveMapper.delete(new QueryWrapper<GuideEvolveEntity>().lambda().eq(GuideEvolveEntity::getGuideId, Id));
        TransactionEvent transactionEvent = transactionEventMapper.selectOne(new QueryWrapper<TransactionEvent>().lambda().eq(TransactionEvent::getId, guideRepairOrderDelete.getMatterId()));
        transactionEvent.setTransactionNum(transactionEvent.getTransactionNum() - 1);
        if (transactionEvent.getTransactionNum() > 0) {
            transactionEvent.setTransactionNum(transactionEvent.getTransactionNum() - 1);
        }
        //对应办事指南减一
        transactionEventMapper.updateById(transactionEvent);
        SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, guideRepairOrderDelete.getGuideUserId()));
@@ -401,13 +412,37 @@
            throw new RuntimeException(e);
        }
        for (GuideRepairOrder guideRepairOrder : guideRepairOrders) {
            transactionEventMapper.selectOne(new QueryWrapper<TransactionEvent>().lambda().eq(TransactionEvent::getId, guideRepairOrder.getMatterId()));
            List<SysUser> sysUsers = sysUserMapper.selectList(new QueryWrapper<SysUser>().lambda().eq(SysUser::getDepartmentId, guideRepairOrder.getGuideDepartmentId()).eq(SysUser::getIsDivisionHead, 1));
            if (sysUsers != null && sysUsers.size() > 0) {
                for (SysUser sysUser : sysUsers) {
//            transactionEventMapper.selectOne(new QueryWrapper<TransactionEvent>().lambda().eq(TransactionEvent::getId, guideRepairOrder.getMatterId()));
            SysUser sysUserGuideUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, guideRepairOrder.getGuideUserId()));
                    if (sysUser != null) {
                        smsUtil.sendSmsOvertimeNew(sysUser.getPhonenumber(), sysUserGuideUser.getUserName());
                        wxUtil.sendGuideRepairOrderOvertime(sysUser.getOpenid(), accessToken, "86JgWHhR8b1XxD72WYqMnndyfkiMtSSoCk9NFMwLEZ8", sysUser);
                        guideRepairOrder.setIsPush(1);
                        guideRepairOrder.setIsTimeout("2");
                        baseMapper.updateById(guideRepairOrder);
                    }
                }
            }
        }
        return ResultData.success();
    }
    @Override
    public ResultData  pushNoticeTimeRepairOrder(){
        AutomessageSysSettings automessageSysSettings = iSysSettingsMapper.selectOne(
                new QueryWrapper<AutomessageSysSettings>().lambda()
                        .eq(AutomessageSysSettings::getSettingName, "系统超时基础设置"));
        Integer timeoutRemindNum = automessageSysSettings.getTimeoutRemindNum();
        List<GuideRepairOrder> guideRepairOrders = baseMapper.selectNoticeTime(timeoutRemindNum);
        for (GuideRepairOrder guideRepairOrder:guideRepairOrders){
            SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, guideRepairOrder.getGuideUserId()));
            if (sysUser != null) {
                smsUtil.sendSmsOvertime(sysUser.getPhonenumber(), sysUser.getUserName());
                wxUtil.sendGuideRepairOrderOvertime(sysUser.getOpenid(), accessToken, "86JgWHhR8b1XxD72WYqMnndyfkiMtSSoCk9NFMwLEZ8", sysUser);
                guideRepairOrder.setIsPush(1);
                guideRepairOrder.setIsTimeout("2");
                smsUtil.sendSmsOvertimeRemind(sysUser.getPhonenumber(), sysUser.getUserName());
                guideRepairOrder.setIsRemindPush(1);
                baseMapper.updateById(guideRepairOrder);
            }
        }
@@ -441,7 +476,7 @@
    public ResultData deleteComment(Integer id, SysUser sysUser) {
        if (sysUser.getUserType().equals("1") || sysUser.getIsDivisionHead().equals("1")) {
            GuideRepairOrder guideRepairOrder = baseMapper.selectOne(new QueryWrapper<GuideRepairOrder>().lambda().eq(GuideRepairOrder::getId, id));
            if (guideRepairOrder!=null&&guideRepairOrder.getState().equals("3")) {
            if (guideRepairOrder != null && guideRepairOrder.getState().equals("3")) {
                guideRepairOrder.setIsHideComments(1);
                baseMapper.updateById(guideRepairOrder);
                //新增删除评论进展
@@ -455,15 +490,13 @@
                baseMapper.updateById(guideRepairOrder);
                return ResultData.success("删除评论成功");
            } else {
             return   ResultData.error("已办结的单据才能进行删除评论操作");
                return ResultData.error("已办结的单据才能进行删除评论操作");
            }
        } else {
            return ResultData.error("只能部门领导和超级管理员才能删除评论");
        }
    }
}