fengjin
2022-10-19 922a118ac36d64fd3d18a6d86e279800c92a5ccd
1.修改自动分配代码逻辑2.修改BUG
3个文件已修改
116 ■■■■ 已修改文件
flower_city/src/main/java/com/dg/core/db/gen/mapper/OrganizationChartMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java 112 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/resources/mapper/OrganizationChartMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
flower_city/src/main/java/com/dg/core/db/gen/mapper/OrganizationChartMapper.java
@@ -62,7 +62,7 @@
    /**
     * 根据所属地区查找部门
     */
    List<OrganizationChartEntity> selectByCode(@Param("areaCode") String areaCode);
    List<OrganizationChartEntity> selectByCode(@Param("id")String id, @Param("areaCode") String areaCode);
flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
@@ -74,8 +74,8 @@
        }
        if (isAdd) {
            //自动分配业务代码开始
            List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectByCode(guideRepairOrder.getAreaCode());
            if (organizationChartEntities != null) {
            List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectByCode(transactionEvent.getDepartmentId(),guideRepairOrder.getAreaCode());
            if (organizationChartEntities.size() > 0) {
                for (OrganizationChartEntity organizationChart : organizationChartEntities) {
                    departmentIds.add(organizationChart.getId().toString());
                }
@@ -114,12 +114,12 @@
                    entity.setFromDepartmentalId(guideRepairOrder.getGuideDepartmentId());
                    entity.setGuidOrderNum(guideRepairOrder.getOrderNum());
                    //超时时间设置业务开始
                    guideRepairOrder=this.setTimeoutTim(guideRepairOrder);
                    guideRepairOrder = this.setTimeoutTim(guideRepairOrder);
                    //超时时间设置业务结束
                    //消息推送
                    this.sendGuideRepairOrderSubmit(sysUser.getOpenid(),guideRepairOrder);
                    this.sendGuideRepairOrderSubmit(sysUser.getOpenid(), guideRepairOrder);
                    //短信发送
                    smsUtil.sendSmsSubmit(sysUser.getPhonenumber(),sysUser.getUserName());
                    smsUtil.sendSmsSubmit(sysUser.getPhonenumber(), sysUser.getUserName());
                    guideEvolveMapper.insertConfig(entity);
                }
            } else {//如果该办事指南用户所选所属地区无导半部门则为特殊单据需要手动分配
@@ -216,36 +216,38 @@
    @Override
    public int updateSysUserOrderNum(GuideEvolveEntity order) {
        if (order.getState().equals("11")) {
            SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getToUserId()));
            GuideRepairOrder guideRepairOrder = baseMapper.selectOne(new QueryWrapper<GuideRepairOrder>().lambda()
                    .eq(GuideRepairOrder::getId, order.getGuideId()));
            if (guideRepairOrder!=null){
                this.sendGuideRepairOrderSubmit(sysUser.getOpenid(),guideRepairOrder);
        if (order.getState() != null) {
            if (order.getState().equals("11")) {
                SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getToUserId()));
                GuideRepairOrder guideRepairOrder = baseMapper.selectOne(new QueryWrapper<GuideRepairOrder>().lambda()
                        .eq(GuideRepairOrder::getId, order.getGuideId()));
                if (guideRepairOrder != null) {
                    this.sendGuideRepairOrderSubmit(sysUser.getOpenid(), guideRepairOrder);
                }
                //短信发送
                smsUtil.sendSmsSubmit(sysUser.getPhonenumber(), sysUser.getUserName());
                sysUser.setTransactionNum(sysUser.getTransactionNum() + 1);
                return sysUserMapper.updateById(sysUser);
            } else if (order.getState().equals("10")) {
                SysUser sysUserTo = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getToUserId()));
                SysUser sysUserFrom = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getFromUserId()));
                sysUserTo.setTransactionNum(sysUserTo.getTransactionNum() + 1);
                sysUserFrom.setTransactionNum(sysUserFrom.getTransactionNum() - 1);
                sysUserMapper.updateById(sysUserFrom);
                GuideRepairOrder guideRepairOrder = baseMapper.selectOne(new QueryWrapper<GuideRepairOrder>().lambda()
                        .eq(GuideRepairOrder::getId, order.getGuideId()));
                //短信发送
                smsUtil.sendSmsSubmit(sysUserTo.getPhonenumber(), sysUserTo.getUserName());
                if (guideRepairOrder != null) {
                    this.sendGuideRepairOrderSubmit(sysUserTo.getOpenid(), guideRepairOrder);
                }
                return sysUserMapper.updateById(sysUserTo);
            } else if (order.getState().equals("7")) {
                SysUser sysUserFrom = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getFromUserId()));
                sysUserFrom.setTransactionNum(sysUserFrom.getTransactionNum() - 1);
                return sysUserMapper.updateById(sysUserFrom);
            }
            //短信发送
            smsUtil.sendSmsSubmit(sysUser.getPhonenumber(),sysUser.getUserName());
            sysUser.setTransactionNum(sysUser.getTransactionNum() + 1);
            return sysUserMapper.updateById(sysUser);
        } else if (order.getState().equals("10")) {
            SysUser sysUserTo = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getToUserId()));
            SysUser sysUserFrom = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getFromUserId()));
            sysUserTo.setTransactionNum(sysUserTo.getTransactionNum() + 1);
            sysUserFrom.setTransactionNum(sysUserFrom.getTransactionNum() - 1);
            sysUserMapper.updateById(sysUserFrom);
            GuideRepairOrder guideRepairOrder = baseMapper.selectOne(new QueryWrapper<GuideRepairOrder>().lambda()
                    .eq(GuideRepairOrder::getId, order.getGuideId()));
            //短信发送
            smsUtil.sendSmsSubmit(sysUserTo.getPhonenumber(),sysUserTo.getUserName());
            if (guideRepairOrder!=null){
                this.sendGuideRepairOrderSubmit(sysUserTo.getOpenid(),guideRepairOrder);
            }
            return sysUserMapper.updateById(sysUserTo);
        } else if (order.getState().equals("7")) {
            SysUser sysUserFrom = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getFromUserId()));
            sysUserFrom.setTransactionNum(sysUserFrom.getTransactionNum() - 1);
            return sysUserMapper.updateById(sysUserFrom);
        }
         }
        return 0;
    }
@@ -273,10 +275,10 @@
    }
    @Override
    public GuideRepairOrder setTimeoutTim(GuideRepairOrder guideRepairOrder){
    public GuideRepairOrder setTimeoutTim(GuideRepairOrder guideRepairOrder) {
        AutomessageSysSettings automessageSysSettings = iSysSettingsMapper.selectOne(
                new QueryWrapper<AutomessageSysSettings>().lambda()
                        .eq(AutomessageSysSettings::getSettingName,"系统超时基础设置"));
                        .eq(AutomessageSysSettings::getSettingName, "系统超时基础设置"));
        LocalDateTime startTime = LocalDate.now().atTime(0, 0, 0);//今天开始时间
        LocalDateTime morningStartTime = LocalDate.now().atTime(9, 0, 0);//上午工作开始时间
        LocalDateTime morningEndTime = LocalDate.now().atTime(12, 0, 0);//上午工作结束时间
@@ -284,50 +286,50 @@
        LocalDateTime afternoonEndTime = LocalDate.now().atTime(17, 0, 0);//下午工作结束时间
        LocalDateTime endTime = LocalDate.now().atTime(23, 59, 59);//今天结束时间
        TestDate td = new TestDate();
        DateTime dateTimeUser= DateTime.now();
        String format="YYYYMMdd";
        String dateTimeToday=dateTimeUser.toString(format);
        if (!WorkUtils.isWorkendDay(dateTimeToday)){
            if ( LocalDateTime.now().isAfter(startTime)&&LocalDateTime.now().isBefore(morningStartTime)){//提交时间是上午上班前
        DateTime dateTimeUser = DateTime.now();
        String format = "YYYYMMdd";
        String dateTimeToday = dateTimeUser.toString(format);
        if (!WorkUtils.isWorkendDay(dateTimeToday)) {
            if (LocalDateTime.now().isAfter(startTime) && LocalDateTime.now().isBefore(morningStartTime)) {//提交时间是上午上班前
                guideRepairOrder.setTimeoutTime(LocalDate.now().
                        atTime(9+automessageSysSettings.getTimeoutNotificationNum(),0,0));
            }else if (LocalDateTime.now().isAfter(morningStartTime)&&LocalDateTime.now().isBefore(morningEndTime)){//提交时间在上午工作日内
                        atTime(9 + automessageSysSettings.getTimeoutNotificationNum(), 0, 0));
            } else if (LocalDateTime.now().isAfter(morningStartTime) && LocalDateTime.now().isBefore(morningEndTime)) {//提交时间在上午工作日内
                guideRepairOrder.setTimeoutTime(LocalDateTime.now().plusHours(automessageSysSettings.getTimeoutNotificationNum()));
            }else if(LocalDateTime.now().isAfter(morningEndTime)&&LocalDateTime.now().isBefore(afternoonStartTime)){//提交时间在工作日午休内
            } else if (LocalDateTime.now().isAfter(morningEndTime) && LocalDateTime.now().isBefore(afternoonStartTime)) {//提交时间在工作日午休内
                guideRepairOrder.setTimeoutTime(LocalDate.now().
                        atTime(13+automessageSysSettings.getTimeoutNotificationNum(),30,0));
            }else if(LocalDateTime.now().isAfter(afternoonStartTime)&&LocalDateTime.now().isBefore(afternoonEndTime)){//提交时间在下午工作日内
                        atTime(13 + automessageSysSettings.getTimeoutNotificationNum(), 30, 0));
            } else if (LocalDateTime.now().isAfter(afternoonStartTime) && LocalDateTime.now().isBefore(afternoonEndTime)) {//提交时间在下午工作日内
                guideRepairOrder.setTimeoutTime(LocalDateTime.now().plusHours(automessageSysSettings.getTimeoutNotificationNum()));
            }else if(LocalDateTime.now().isAfter(afternoonEndTime)&&LocalDateTime.now().isBefore(endTime)){//提交时间在下午下班后
            } else if (LocalDateTime.now().isAfter(afternoonEndTime) && LocalDateTime.now().isBefore(endTime)) {//提交时间在下午下班后
                DateTime dateTime = td.nextWeekDay(dateTimeUser);
                Calendar calendar = dateTime.toCalendar();
                LocalDateTime localDateTime = LocalDateTime.of(calendar.get(Calendar.YEAR),
                        calendar.get(Calendar.MONTH), calendar.get(Calendar.DATE),
                        9+automessageSysSettings.getTimeoutNotificationNum(),0);//设置时间为下一个工作日时间的9点+设置超时时间
                        9 + automessageSysSettings.getTimeoutNotificationNum(), 0);//设置时间为下一个工作日时间的9点+设置超时时间
                guideRepairOrder.setTimeoutTime(localDateTime);
            }
        }else//当前不是工作日则获取下一个工作日
        } else//当前不是工作日则获取下一个工作日
        {
            DateTime dateTime = td.nextWeekDay(dateTimeUser);
            Calendar calendar = dateTime.toCalendar();
            LocalDateTime localDateTime = LocalDateTime.of(calendar.get(Calendar.YEAR),
                    calendar.get(Calendar.MONTH), calendar.get(Calendar.DATE),
                    9+automessageSysSettings.getTimeoutNotificationNum(),0);//设置时间为下一个工作日时间的9点+设置超时时间
                    9 + automessageSysSettings.getTimeoutNotificationNum(), 0);//设置时间为下一个工作日时间的9点+设置超时时间
            guideRepairOrder.setTimeoutTime(localDateTime);
        }
        return guideRepairOrder;
    }
    @Override
    public void  sendGuideRepairOrderSubmit (String openid,GuideRepairOrder guideRepairOrder){
        WxUtil wxUtil=new WxUtil();
        String accessToken="0";
    public void sendGuideRepairOrderSubmit(String openid, GuideRepairOrder guideRepairOrder) {
        WxUtil wxUtil = new WxUtil();
        String accessToken = "0";
        try {
            accessToken= wxUtil.getBatteryCarAccessToken();
            accessToken = wxUtil.getBatteryCarAccessToken();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        wxUtil.sendGuideRepairOrderSubmit(openid,accessToken,"WggWK_yG7_qfrTj8bQe-2co4ATgpXamLzT1xvrTu4K0",guideRepairOrder);
        wxUtil.sendGuideRepairOrderSubmit(openid, accessToken, "WggWK_yG7_qfrTj8bQe-2co4ATgpXamLzT1xvrTu4K0", guideRepairOrder);
//                    smsUtil.sendSmsOvertime(sysUser.getPhonenumber(),guideRepairOrder.getMatterName());
    }
flower_city/src/main/resources/mapper/OrganizationChartMapper.xml
@@ -94,7 +94,7 @@
    <select id="selectByCode" resultMap="OrganizationChartResult">
        <include refid="selectOrganizationChartVo"/>
        <where>
            city=#{areaCode} or district= #{areaCode} or village=#{areaCode}
            id=#{id}   and  (city=#{areaCode} or district= #{areaCode} or village=#{areaCode})
        </where>
    </select>