Explorar el Código

Merge remote-tracking branch 'origin/dev' into dev

大数据与最优化研究所 hace 8 meses
padre
commit
afbf9862a6

+ 34 - 0
src/main/java/com/xjrsoft/module/databoard/controller/DataboardController.java

@@ -562,4 +562,38 @@ public class DataboardController {
         return RT.ok(result);
     }
 
+
+    @GetMapping(value = "/room-statistics")
+    @ApiOperation(value = "寝室统计")
+    @SaCheckPermission("databoard:detail")
+    @XjrLog(value = "寝室统计", saveResponseData = true)
+    public RT<List<ItemCount2Vo>> roomStatistics(@Valid StatisticsDetailDto dto) {
+        String sql = " SELECT t0.name," +
+                " (SELECT COUNT(*) FROM room t1 " +
+                " INNER JOIN room_bed t2 ON t1.id = t2.room_id" +
+                " WHERE t1.delete_mark = 0 AND t2.delete_mark = 0" +
+                " AND t2.student_user_id IS NOT NULL" +
+                " AND t1.office_build_id = t0.id) AS studentCount," +
+                " (SELECT COUNT(*) FROM room t1 " +
+                " INNER JOIN room_bed t2 ON t1.id = t2.room_id" +
+                " WHERE t1.delete_mark = 0 AND t2.delete_mark = 0" +
+                " AND t2.student_user_id IS NULL" +
+                " AND t1.office_build_id = t0.id) AS emptyCount" +
+                " FROM base_office_build t0" +
+                " WHERE t0.delete_mark = 0" +
+                " AND t0.build_type = 'FB3604'" +
+                " ORDER BY t0.name";
+        List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql);
+        List<ItemCount2Vo> result = new ArrayList<>();
+        for (Map<String, Object> objectMap : list) {
+            result.add(new ItemCount2Vo(){{
+                setItem(objectMap.get("name").toString());
+                setCount(Integer.parseInt(objectMap.get("studentCount").toString()));
+                setCount2(Integer.parseInt(objectMap.get("emptyCount").toString()));
+            }});
+        }
+
+        return RT.ok(result);
+    }
+
 }

+ 67 - 1
src/main/java/com/xjrsoft/module/databoard/controller/DatadetailController.java

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.databoard.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.github.yulichang.toolkit.MPJWrappers;
@@ -23,11 +24,13 @@ import com.xjrsoft.module.databoard.vo.DistributionVo;
 import com.xjrsoft.module.databoard.vo.DurationVo;
 import com.xjrsoft.module.databoard.vo.HealthItemCountVo;
 import com.xjrsoft.module.databoard.vo.HealthStatisticsDetailVo;
+import com.xjrsoft.module.databoard.vo.ItemCount2Vo;
 import com.xjrsoft.module.databoard.vo.ItemCountAmountVo;
 import com.xjrsoft.module.databoard.vo.ItemCountRatioVo;
 import com.xjrsoft.module.databoard.vo.ItemCountVo;
 import com.xjrsoft.module.databoard.vo.ItemDoubleVo;
 import com.xjrsoft.module.databoard.vo.ProcessStatisticsDetailVo;
+import com.xjrsoft.module.databoard.vo.RoomStatisticsDetailVo;
 import com.xjrsoft.module.databoard.vo.StudnetStatisticsDetailVo;
 import com.xjrsoft.module.databoard.vo.SubscriptionStatisticsDetailVo;
 import com.xjrsoft.module.databoard.vo.TeacherChangeStatisticsDetailVo;
@@ -52,7 +55,6 @@ import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.ObjectUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.camunda.bpm.engine.history.HistoricProcessInstance;
-import org.camunda.bpm.engine.history.JobState;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -889,4 +891,68 @@ public class DatadetailController {
         return RT.ok(result);
     }
 
+    @GetMapping(value = "/room-statistics")
+    @ApiOperation(value = "寝室统计")
+    @SaCheckPermission("databoard:detail")
+    @XjrLog(value = "寝室统计", saveResponseData = true)
+    public RT<RoomStatisticsDetailVo> roomStatistics(@Valid StatisticsDetailDto dto) {
+        RoomStatisticsDetailVo result = new RoomStatisticsDetailVo();
+        String sql = "SELECT t2.id, t3.user_id,t4.name AS grade_name, t6.name AS dept_name,t7.gender FROM room t1" +
+                " INNER JOIN room_bed t2 ON t1.id = t2.room_id" +
+                " LEFT JOIN base_student_school_roll t3 ON t2.student_user_id = t3.user_id" +
+                " LEFT JOIN base_grade t4 ON t3.grade_id = t4.id AND t4.status = 1" +
+                " LEFT JOIN base_class t5 ON t3.class_id = t5.id" +
+                " LEFT JOIN xjr_department t6 ON t5.org_id = t6.id" +
+                " LEFT JOIN xjr_user t7 ON t3.user_id = t7.id" +
+                " WHERE t1.delete_mark = 0 AND t2.delete_mark = 0";
+        List<Map<String, Object>> list = SqlRunnerAdapter.db().selectList(sql);
+
+        Integer allCount = list.size();
+        long emptyCount = list.stream().filter(x -> ObjectUtil.isNull(x.get("user_id"))).count();
+        BigDecimal emptyRatio = BigDecimal.valueOf(emptyCount).divide(BigDecimal.valueOf(allCount), 4, RoundingMode.HALF_UP);
+        result.setEmptyRatio(emptyRatio.doubleValue() + "");
+
+        long notEmptyCount = list.stream().filter(x -> ObjectUtil.isNotNull(x.get("user_id"))).count();
+        BigDecimal notEmptyRatio = BigDecimal.valueOf(notEmptyCount).divide(BigDecimal.valueOf(allCount), 4, RoundingMode.HALF_UP);
+        result.setNotEmptyRatio(notEmptyRatio.doubleValue() + "");
+
+        Map<String, List<Map<String, Object>>> gradeMap = list.stream().filter(x -> ObjectUtil.isNotNull(x.get("grade_name"))).collect(Collectors.groupingBy(x -> x.get("grade_name").toString()));
+        List<ItemCount2Vo> gradeList = new ArrayList<>();
+        for (String gradeName : gradeMap.keySet()) {
+            List<Map<String, Object>> gradeDataList = gradeMap.get(gradeName);
+            Map<String, Long> genderMap = gradeDataList.stream().filter(x -> ObjectUtil.isNotNull(x.get("gender"))).collect(Collectors.groupingBy(x -> x.get("gender").toString(), Collectors.counting()));
+            ItemCount2Vo gradeVo = new ItemCount2Vo();
+            gradeVo.setItem(gradeName);
+            if(genderMap.get(GenderDictionaryEnum.MALE.getCode()) != null){
+                gradeVo.setCount(genderMap.get(GenderDictionaryEnum.MALE.getCode()).intValue());
+            }
+            if(genderMap.get(GenderDictionaryEnum.FEMALE.getCode()) != null){
+                gradeVo.setCount2(genderMap.get(GenderDictionaryEnum.FEMALE.getCode()).intValue());
+            }
+
+            gradeList.add(gradeVo);
+        }
+        Collections.reverse(gradeList);
+        result.setGradeList(gradeList);
+
+        Map<String, List<Map<String, Object>>> deptMap = list.stream().filter(x -> ObjectUtil.isNotNull(x.get("dept_name"))).collect(Collectors.groupingBy(x -> x.get("dept_name").toString()));
+        List<ItemCount2Vo> deptList = new ArrayList<>();
+        for (String deptName : deptMap.keySet()) {
+            List<Map<String, Object>> deptDataList = deptMap.get(deptName);
+            Map<String, Long> genderMap = deptDataList.stream().filter(x -> ObjectUtil.isNotNull(x.get("gender"))).collect(Collectors.groupingBy(x -> x.get("gender").toString(), Collectors.counting()));
+            ItemCount2Vo deptVo = new ItemCount2Vo();
+            deptVo.setItem(deptName);
+            if(genderMap.get(GenderDictionaryEnum.MALE.getCode()) != null){
+                deptVo.setCount(genderMap.get(GenderDictionaryEnum.MALE.getCode()).intValue());
+            }
+            if(genderMap.get(GenderDictionaryEnum.FEMALE.getCode()) != null){
+                deptVo.setCount2(genderMap.get(GenderDictionaryEnum.FEMALE.getCode()).intValue());
+            }
+
+            deptList.add(deptVo);
+        }
+        result.setDeptList(deptList);
+        return RT.ok(result);
+    }
+
 }

+ 30 - 0
src/main/java/com/xjrsoft/module/databoard/vo/ItemCount2Vo.java

@@ -0,0 +1,30 @@
+package com.xjrsoft.module.databoard.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+ * @title: 数据看板-流程统计出参
+ * @Author dzx
+ * @Date: 2024年8月2日
+ * @Version 1.0
+ */
+@Data
+public class ItemCount2Vo {
+
+    /**
+     * 发起流程总数
+     */
+    @ApiModelProperty("统计项")
+    private String item;
+    /**
+     * 完成总数
+     */
+    @ApiModelProperty("数量")
+    private Integer count;
+
+    @ApiModelProperty("数量2")
+    private Integer count2;
+
+}

+ 39 - 0
src/main/java/com/xjrsoft/module/databoard/vo/RoomStatisticsDetailVo.java

@@ -0,0 +1,39 @@
+package com.xjrsoft.module.databoard.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @title: 数据看板-流程统计出参
+ * @Author dzx
+ * @Date: 2024年8月2日
+ * @Version 1.0
+ */
+@Data
+public class RoomStatisticsDetailVo {
+
+    /**
+     * 发起流程总数
+     */
+    @ApiModelProperty("入住比例")
+    private String notEmptyRatio;
+    /**
+     * 完成总数
+     */
+    @ApiModelProperty("未入住比例")
+    private String emptyRatio;
+    /**
+     * 未完成总数
+     */
+    @ApiModelProperty("未完成总数")
+    private Long uncompleteCount;
+
+    @ApiModelProperty("年级情况")
+    private List<ItemCount2Vo> gradeList;
+
+    @ApiModelProperty("专业部情况")
+    private List<ItemCount2Vo> deptList;
+
+}

+ 3 - 0
src/main/java/com/xjrsoft/module/hikvision/service/IHikvisionDataService.java

@@ -18,4 +18,7 @@ public interface IHikvisionDataService extends MPJBaseService<HikvisionData> {
 
     Map<String, String> getUserIdMap();
 
+
+    Boolean removeByUserId(Long userId);
+
 }

+ 9 - 0
src/main/java/com/xjrsoft/module/hikvision/service/impl/HikvisionDataServiceImpl.java

@@ -7,6 +7,7 @@ import com.xjrsoft.module.hikvision.mapper.HikvisionDataMapper;
 import com.xjrsoft.module.hikvision.service.IHikvisionDataService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.HashMap;
 import java.util.List;
@@ -51,4 +52,12 @@ public class HikvisionDataServiceImpl extends MPJBaseServiceImpl<HikvisionDataMa
         result.putAll(teacherMap);
         return result;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Boolean removeByUserId(Long userId) {
+        return null;
+    }
+
+
 }

+ 39 - 2
src/main/java/com/xjrsoft/module/hikvision/util/DataUtil.java

@@ -15,7 +15,13 @@ import com.xjrsoft.module.personnel.entity.CarMessageApply;
 import lombok.extern.slf4j.Slf4j;
 
 import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * @author dzx
@@ -651,7 +657,6 @@ public class DataUtil {
      * @param userIds
      */
     public void deletePerson(List<Long> userIds) {
-        String tableName = "hikvision_data";
         JsonArray personIds = new JsonArray();
         for (Long userId : userIds) {
             String sql = "select * from hikvision_data where source_id = '" + userId + "'";
@@ -673,4 +678,36 @@ public class DataUtil {
         String result = apiUtil.doPost(apiPath, param.toString(), null);
         log.info("海康人员删除:param:" + param + ",result:" + result);
     }
+
+
+    public void deleteCar(List<CarMessageApply> carList) {
+        ApiUtil apiUtil = new ApiUtil();
+        String apiPath = "/api/resource/v2/vehicle/advance/vehicleList";
+        JsonParser parser = new JsonParser();
+
+        JsonArray vehicleIds = new JsonArray();
+        for (CarMessageApply carMessageApply : carList) {
+            JsonObject param = new JsonObject();
+            param.addProperty("plateNo", carMessageApply.getCarNumber());
+            String result = apiUtil.doPost(apiPath, param.toString(), null);
+            JsonObject vehicleData = parser.parse(result).getAsJsonObject();
+            if ("0".equals(vehicleData.get("code").getAsString()) && "success".equals(vehicleData.get("msg").getAsString())) {
+                JsonObject dataJson = vehicleData.get("data").getAsJsonObject();
+                if (dataJson.get("total").getAsInt() > 0) {
+                    JsonArray vehicleList = dataJson.get("list").getAsJsonArray();
+                    for (JsonElement jsonElement : vehicleList) {
+                        vehicleIds.add(jsonElement.getAsJsonObject().get("vehicleId"));
+                    }
+                }
+            }
+        }
+
+        if(vehicleIds.size() > 0){
+            apiPath = "/api/resource/v1/vehicle/batch/delete";
+
+            JsonObject param = new JsonObject();
+            param.add("vehicleIds", vehicleIds);
+            apiUtil.doPost(apiPath, param.toString(), null);
+        }
+    }
 }

+ 2 - 0
src/main/java/com/xjrsoft/module/personnel/service/ITeacherFaceProcessService.java

@@ -17,4 +17,6 @@ public interface ITeacherFaceProcessService extends MPJBaseService<TeacherFacePr
     Boolean removeByIds(List<Long> ids);
 
     Boolean clearHistory(TeacherFaceProcess process);
+
+    Boolean removeByUserId(Long userId);
 }

+ 58 - 0
src/main/java/com/xjrsoft/module/personnel/service/impl/TeacherFaceProcessServiceImpl.java

@@ -95,4 +95,62 @@ public class TeacherFaceProcessServiceImpl extends MPJBaseServiceImpl<TeacherFac
     public Boolean clearHistory(TeacherFaceProcess process) {
         return this.baseMapper.clearHistory(process);
     }
+
+    @Override
+    public Boolean removeByUserId(Long userId) {
+        List<TeacherFaceProcess> list = this.list(
+                new QueryWrapper<TeacherFaceProcess>().lambda()
+                        .eq(TeacherFaceProcess::getUserId, userId)
+        );
+        ApiUtil apiUtil = new ApiUtil();
+        String apiPath = "/api/resource/v1/face/single/delete";
+        JsonParser parser = new JsonParser();
+        for (TeacherFaceProcess process : list) {
+            String studentHikvisionId = hikvisionDataMapper.getTeacherHikvisionId(process.getUserId());
+
+            String apiUrl = "/api/resource/v1/person/condition/personInfo";
+            JsonObject paramsJson = new JsonObject();
+            paramsJson.addProperty("paramName", "personId");
+            JsonArray array = new JsonArray();
+            array.add(studentHikvisionId);
+            paramsJson.add("paramValue", array);
+            String personInfoRes = apiUtil.doPost(apiUrl, paramsJson.toString(), null);
+            String faceId = null;
+            JsonObject personInfoData = parser.parse(personInfoRes).getAsJsonObject();
+            if ("0".equals(personInfoData.get("code").getAsString()) && "success".equals(personInfoData.get("msg").getAsString())) {
+                JsonObject dataJson = personInfoData.get("data").getAsJsonObject();
+                if (dataJson.get("total").getAsInt() > 0) {
+                    JsonArray personPhoto = dataJson.get("list").getAsJsonArray().get(0)
+                            .getAsJsonObject().get("personPhoto").getAsJsonArray();
+                    if (personPhoto.size() > 0) {
+                        faceId = personPhoto.get(0).getAsJsonObject().get("personPhotoIndexCode").getAsString();
+                    }
+                }
+            }
+
+            JsonObject paramJson = new JsonObject();
+            paramJson.addProperty("faceId", faceId);
+
+            String result = apiUtil.doPost(apiPath, paramJson.toString(), null);
+            process.setExamStatus(2);
+            process.setHikvisionResult(result);
+            process.setDeleteMark(DeleteMark.DELETED.getCode());
+            process.setModifyUserId(StpUtil.getLoginIdAsLong());
+            process.setModifyDate(new Date());
+            this.baseMapper.updateById(process);
+
+            FaceManagement faceManagement = faceManagementService.getOne(
+                    new QueryWrapper<FaceManagement>().lambda()
+                            .eq(FaceManagement::getUserId, process.getUserId())
+                            .eq(FaceManagement::getFileId, process.getFacePhoto())
+            );
+            if (faceManagement != null) {
+                faceManagement.setRegisterBase64(null);
+                faceManagementService.update(faceManagement);
+            }
+
+        }
+        return true;
+    }
+
 }

+ 64 - 8
src/main/java/com/xjrsoft/module/teacher/service/impl/TeacherbaseManagerServiceImpl.java

@@ -13,6 +13,7 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.constant.GlobalConstant;
 import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.common.enums.EnabledMark;
 import com.xjrsoft.common.enums.GenderDictionaryEnum;
 import com.xjrsoft.common.enums.JobStateEnum;
 import com.xjrsoft.common.enums.RoleEnum;
@@ -21,21 +22,49 @@ import com.xjrsoft.common.exception.MyException;
 import com.xjrsoft.common.utils.RedisUtil;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.config.CommonPropertiesConfig;
-import com.xjrsoft.module.liteflow.node.WfTeacherDepartNode;
-import com.xjrsoft.module.organization.entity.*;
+import com.xjrsoft.module.hikvision.util.DataUtil;
+import com.xjrsoft.module.organization.entity.Department;
+import com.xjrsoft.module.organization.entity.Post;
+import com.xjrsoft.module.organization.entity.User;
+import com.xjrsoft.module.organization.entity.UserDeptRelation;
+import com.xjrsoft.module.organization.entity.UserPostRelation;
+import com.xjrsoft.module.organization.entity.UserRoleRelation;
 import com.xjrsoft.module.organization.mapper.UserDeptRelationMapper;
 import com.xjrsoft.module.organization.mapper.UserRoleRelationMapper;
-import com.xjrsoft.module.organization.service.*;
+import com.xjrsoft.module.organization.service.IDepartmentService;
+import com.xjrsoft.module.organization.service.IPostService;
+import com.xjrsoft.module.organization.service.IUserDeptRelationService;
+import com.xjrsoft.module.organization.service.IUserPostRelationService;
+import com.xjrsoft.module.organization.service.IUserService;
+import com.xjrsoft.module.personnel.entity.CarMessageApply;
+import com.xjrsoft.module.personnel.mapper.CarMessageApplyMapper;
+import com.xjrsoft.module.personnel.service.ITeacherFaceProcessService;
 import com.xjrsoft.module.system.entity.DictionaryDetail;
 import com.xjrsoft.module.system.entity.DictionaryItem;
 import com.xjrsoft.module.system.service.IDictionarydetailService;
 import com.xjrsoft.module.teacher.dto.AddXjrUserDto;
 import com.xjrsoft.module.teacher.dto.UpdateXjrUserDto;
-import com.xjrsoft.module.teacher.entity.*;
-import com.xjrsoft.module.teacher.mapper.*;
-import com.xjrsoft.module.teacher.service.IBaseTeacherChangeRecordService;
+import com.xjrsoft.module.teacher.entity.BaseTeacher;
+import com.xjrsoft.module.teacher.entity.BaseTeacherChangeRecord;
+import com.xjrsoft.module.teacher.entity.BaseTeacherContact;
+import com.xjrsoft.module.teacher.entity.BaseTeacherEducation;
+import com.xjrsoft.module.teacher.entity.BaseTeacherEmploy;
+import com.xjrsoft.module.teacher.entity.BaseTeacherFamily;
+import com.xjrsoft.module.teacher.entity.BaseTeacherFamilyMember;
+import com.xjrsoft.module.teacher.entity.BaseTeacherRegular;
+import com.xjrsoft.module.teacher.entity.WfTeacherDepart;
+import com.xjrsoft.module.teacher.entity.XjrUser;
+import com.xjrsoft.module.teacher.mapper.BaseTeacherChangeRecordMapper;
+import com.xjrsoft.module.teacher.mapper.BaseTeacherContactMapper;
+import com.xjrsoft.module.teacher.mapper.BaseTeacherEducationMapper;
+import com.xjrsoft.module.teacher.mapper.BaseTeacherEmployMapper;
+import com.xjrsoft.module.teacher.mapper.BaseTeacherFamilyMapper;
+import com.xjrsoft.module.teacher.mapper.BaseTeacherFamilyMemberMapper;
+import com.xjrsoft.module.teacher.mapper.BaseTeacherMapper;
+import com.xjrsoft.module.teacher.mapper.BaseTeacherRegularMapper;
+import com.xjrsoft.module.teacher.mapper.WfTeacherDepartMapper;
+import com.xjrsoft.module.teacher.mapper.XjrUserMapper;
 import com.xjrsoft.module.teacher.service.ITeacherbaseManagerService;
-import com.xjrsoft.module.textbook.entity.WfTextbookRecede;
 import com.xjrsoft.module.workflow.entity.WorkflowFormRelation;
 import com.xjrsoft.module.workflow.mapper.WorkflowFormRelationMapper;
 import lombok.AllArgsConstructor;
@@ -47,7 +76,12 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -88,6 +122,9 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
 
     private WorkflowFormRelationMapper workflowFormRelationMapper;
 
+    private final ITeacherFaceProcessService teacherFaceProcessService;
+    private final CarMessageApplyMapper carMessageApplyMapper;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -820,6 +857,25 @@ public class TeacherbaseManagerServiceImpl extends MPJBaseServiceImpl<XjrUserMap
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void disabledUser(Long userId) {
+        XjrUser xjrUser = this.getById(userId);
+        xjrUser.setDeleteMark(DeleteMark.DELETED.getCode());
+        xjrUser.setEnabledMark(EnabledMark.DISABLED.getCode());
+        this.updateById(xjrUser);
+
+        //清除海康人脸
+        teacherFaceProcessService.removeByUserId(userId);
+
+        DataUtil dataUtil = new DataUtil();
 
+        List<Long> userIds = new ArrayList<>();
+        userIds.add(userId);
+        dataUtil.deletePerson(userIds);
+
+        List<CarMessageApply> carList = carMessageApplyMapper.selectList(
+                new QueryWrapper<CarMessageApply>().lambda()
+                        .eq(CarMessageApply::getDeleteMark, DeleteMark.NODELETE.getCode())
+                        .eq(CarMessageApply::getUserId, userId)
+        );
+        dataUtil.deleteCar(carList);
     }
 }

+ 3 - 3
src/main/resources/sqlScript/今日安排视图.sql

@@ -1,4 +1,3 @@
-
 -- id,开始时间,结束时间,右上角的类别,中间竖线左边内容,中间竖线右边地点,底部类别,名称,参与人id
 DROP VIEW IF EXISTS today_schedule;
 CREATE VIEW today_schedule AS
@@ -31,9 +30,10 @@ t1.adjust_type,t1.class_name,t2.name AS place,t1.course_name,7,t1.teacher_id AS
 INNER JOIN base_classroom t2 ON t1.site_id = t2.id
 WHERE t1.schedule_date = DATE_FORMAT(NOW(), '%Y-%m-%d')
 UNION ALL
-SELECT t1.id,CONCAT(t1.meeting_apply_date, t1.meeting_apply_s),CONCAT(t1.meeting_apply_date,t1.meeting_apply_e),'会议',
-CONCAT(t4.name,t3.name) AS place,'会议',t1.meeting_apply_theme,8,t2.user_id FROM wf_meeting_apply t1
+SELECT t1.id,CONCAT(t1.meeting_apply_date, ' ', t1.meeting_apply_s),CONCAT(t1.meeting_apply_date, ' ',t1.meeting_apply_e),NULL,
+IFNULL(CONCAT(t4.name,t3.name), t1.meeting_apply_url),t5.name,t1.meeting_apply_theme,8,t2.user_id FROM wf_meeting_apply t1
 INNER JOIN meeting_conferee t2 ON t2.wf_meeting_apply_id = t1.id
 LEFT JOIN meeting_room t3 ON t1.meeting_room_id = t3.id
 LEFT JOIN base_office_build t4 ON t3.office_build_id = t4.id
+LEFT JOIN xjr_dictionary_detail t5 ON t1.meeting_apply_format = t5.code
 WHERE t1.meeting_apply_date = DATE_FORMAT(NOW(), '%Y-%m-%d');