Browse Source

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

phoenix 1 year ago
parent
commit
238f3d804b

+ 1 - 1
Makefile

@@ -2,7 +2,7 @@ merge:
 	git checkout master;git merge dev;git push;git checkout dev;
 
 create-tag:
-	git checkout master;git tag v1.3.1;git push origin --tags;git checkout dev;
+	git checkout master;git tag v1.4.0;git push origin --tags;git checkout dev;
 
 remove-tag:
 	git tag -d v1.2.0;git push origin :refs/tags/v1.1.8;

+ 1 - 0
docker-compose.yml

@@ -9,6 +9,7 @@ services:
     restart: always
     container_name: tl_api
     environment:
+      - SPRING_PROFILES_ACTIVE=dev
       - SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_URL=jdbc:mysql://mysql:3306/tl?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true&autoReconnect=true&failOverReadOnly=false
 #      - MQTT-SERVER=tcp://172.28.175.70:1883
     ports:

+ 2 - 0
src/main/java/com/xjrsoft/module/evaluate/controller/EvaluateWriteController.java

@@ -1,6 +1,7 @@
 package com.xjrsoft.module.evaluate.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.dev33.satoken.stp.StpUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
@@ -46,6 +47,7 @@ public class EvaluateWriteController {
     @ApiOperation(value="评价管理列表(分页)")
     @SaCheckPermission("evaluatemanage:detail")
     public RT<PageOutput<EvaluateWritePageVo>> page(@Valid EvaluateWritePageDto dto){
+        dto.setLoginUserId(StpUtil.getLoginIdAsLong());
         Page<EvaluateWritePageVo> page = evaluateManageService.getMobilePage(new Page<>(dto.getLimit(), dto.getSize()), dto);
         PageOutput<EvaluateWritePageVo> pageOutput = ConventPage.getPageOutput(page, EvaluateWritePageVo.class);
         return RT.ok(pageOutput);

+ 1 - 0
src/main/java/com/xjrsoft/module/evaluate/service/impl/EvaluateObjectServiceImpl.java

@@ -125,6 +125,7 @@ public class EvaluateObjectServiceImpl extends MPJBaseServiceImpl<EvaluateObject
             }else{
                 executerList.addAll(dataList);
             }
+            objectListVo.setExecuterCount(executerList.size());
             objectListVo.setExecuterList(executerList);
         }
         return newObjectList;

+ 3 - 2
src/main/java/com/xjrsoft/module/oa/service/impl/NewsServiceImpl.java

@@ -232,7 +232,7 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
                 new MPJLambdaWrapper<NewsAppendix>().eq(NewsAppendix::getNewsId, id)
                         .select(NewsRelation::getId)
                         .select(NewsAppendix.class, x -> VoToColumnUtil.fieldsToColumns(NewsAppendixVo.class).contains(x.getProperty()))
-                        .leftJoin(File.class, File::getId, NewsAppendix::getFileId, ext -> ext.selectAs(File::getFileName, NewsAppendixVo::getFileName)
+                        .leftJoin(File.class, File::getFolderId, NewsAppendix::getFileId, ext -> ext.selectAs(File::getFileName, NewsAppendixVo::getFileName)
                                 .selectAs(File::getFolderId, NewsAppendixVo::getFolderId)
                                 .selectAs(File::getFileUrl, NewsAppendixVo::getFileUrl))
         );
@@ -846,7 +846,8 @@ public class NewsServiceImpl extends MPJBaseServiceImpl<NewsMapper, News> implem
                         JSONObject data = new JSONObject();
 
                         JSONObject data1 = new JSONObject();
-                        data1.put("value", news.getFullHead());
+                        String hValue = news.getFullHead().replace("“", "").replace("”", "").replace("\"", "").replace("\n", "").replace("\r", "").replace("\t", "");
+                        data1.put("value", hValue);
                         data.put("thing23", data1);
 
                         JSONObject data2 = new JSONObject();

+ 3 - 0
src/main/java/com/xjrsoft/module/room/dto/AdjustBedPageDto.java

@@ -34,5 +34,8 @@ public class AdjustBedPageDto extends PageInput {
     @ApiModelProperty("入住班级")
     public Long classId;
 
+    @ApiModelProperty("性别")
+    public String gender;
+
 
 }

+ 22 - 6
src/main/java/com/xjrsoft/module/room/service/impl/RoomBedServiceImpl.java

@@ -11,6 +11,7 @@ import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.toolkit.MPJWrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.common.exception.MyException;
 import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.mapper.BaseClassMapper;
@@ -440,8 +441,17 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
         }
         RoomBed roomBedInfo = roomBedMapper.selectById(dto.getBedId());
         Room room = roomMapper.selectById(roomBedInfo.getRoomId());
+        if(room == null){
+            throw new MyException("为查询到该床位");
+        }
         if(!room.getGender().equals(studentGender)){
-            return true;
+            String genderStr = "";
+            if("SB10001".equals(room.getGender())){
+                genderStr = "男";
+            }else if("SB10002".equals(room.getGender())){
+                genderStr = "女";
+            }
+            throw new MyException("该学生无法入住" + genderStr + "寝室");
         }
 
         //先清空学生原来的床位
@@ -450,17 +460,23 @@ public class RoomBedServiceImpl extends MPJBaseServiceImpl<RoomBedMapper, RoomBe
         updateWrapper.setSql("student_user_id = null");
         updateWrapper.setSql("is_check_in = 0");
 
-        RoomBed roomBed = roomBedMapper.selectOne(new QueryWrapper<RoomBed>().lambda().eq(RoomBed::getStudentUserId, dto.getStudentUserId()));
-        roomBedMapper.update(roomBed, updateWrapper);
+        List<Long> roomIds = new ArrayList<>();
+
+        List<RoomBed> roomBedList = roomBedMapper.selectList(new QueryWrapper<RoomBed>().lambda().eq(RoomBed::getStudentUserId, dto.getStudentUserId()));
+        for (RoomBed roomBed : roomBedList) {
+            roomBedMapper.update(roomBed, updateWrapper);
+            roomIds.add(roomBed.getRoomId());
+        }
+
         //再把学生保存到新的床位
         roomBedMapper.updateById(new RoomBed(){{
             setId(dto.getBedId());
             setStudentUserId(dto.getStudentUserId());
         }});
-
+        if(roomIds.isEmpty()){
+            return true;
+        }
         //如果寝室的人是多个班级,将混合寝室改为是
-        List<Long> roomIds = new ArrayList<>();
-        roomIds.add(roomBed.getRoomId());
         List<RoomClassCountVo> classCountVoList = roomMapper.getRoomClassCount(roomIds);
         for (RoomClassCountVo roomClassCountVo : classCountVoList) {
             if(roomClassCountVo.getClassCount() > 1){

+ 7 - 2
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookServiceImpl.java

@@ -413,7 +413,7 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
                 recordVo.setCourseName("/");
                 recordVo.setGradeName("/");
                 recordVo.setTeacherSubscriptionNumber(0);
-                recordVo.setTeacherFeferenceNumber(0);
+                recordVo.setTeacherReferenceNumber(0);
             }
         }
         //是教材或者教辅
@@ -450,7 +450,12 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
 
     @Override
     public TextbookVo getInfoByissn(String issn) {
-        return textbookTextbookMapper.getInfoByissn(issn);
+        TextbookVo infoByissn = textbookTextbookMapper.getInfoByissn(issn);
+        List<TextbookClassRelation> classRelationList = textbookTextbookClassRelationMapper.selectList(
+                new QueryWrapper<TextbookClassRelation>().lambda().eq(TextbookClassRelation::getTextbookId, infoByissn.getId())
+        );
+        infoByissn.setTextbookClassRelationList(BeanUtil.copyToList(classRelationList, TextbookClassRelationVo.class));
+        return infoByissn;
     }
 
     @Override

+ 1 - 1
src/main/java/com/xjrsoft/module/textbook/vo/TextbookSubscriptionRecordVo.java

@@ -126,7 +126,7 @@ public class TextbookSubscriptionRecordVo {
     @ContentStyle(dataFormat = 49)
     @ExcelProperty("教师教参用书征订数量")
     @ApiModelProperty("教师教参用书征订数量")
-    private Integer teacherFeferenceNumber;
+    private Integer teacherReferenceNumber;
 
     @ContentStyle(dataFormat = 49)
     @ExcelProperty("班级id")

+ 2 - 1
src/main/java/com/xjrsoft/module/textbook/vo/TextbookVo.java

@@ -110,6 +110,7 @@ public class TextbookVo {
     /**
      * 入学年级(base_grade)
      */
-    @ApiModelProperty("textbookClassRelation子表")
+    @ApiModelProperty("使用班级")
     private List<TextbookClassRelationVo> textbookClassRelationList;
+
 }

+ 3 - 1
src/main/java/com/xjrsoft/module/workflow/service/impl/WorkflowSchemaServiceImpl.java

@@ -126,10 +126,12 @@ public class WorkflowSchemaServiceImpl extends MPJBaseServiceImpl<WorkflowSchema
 
 
         //因为多表关联 会有多个表都使用了id字段,  所以必须专门指定主表的Id
+        List<String> orderList = new ArrayList<>();
+        orderList.add("category");orderList.add("id");
         IPage<WorkflowSchemaPageVo> page = selectJoinListPage(ConventPage.getPage(dto), WorkflowSchemaPageVo.class,
                 MPJWrappers.<WorkflowSchema>lambdaJoin()
                         .disableSubLogicDel()
-                        .orderByDesc(WorkflowSchema::getCategory)
+                        .orderByDescStr(orderList)
                         .eq(ObjectUtil.isNotNull(dto.getEnabledMark()), WorkflowSchema::getEnabledMark, dto.getEnabledMark())
                         .like(StrUtil.isNotBlank(dto.getKeyword()), WorkflowSchema::getName, dto.getKeyword())
                         .like(StrUtil.isNotBlank(dto.getName()), WorkflowSchema::getName, dto.getName())

+ 1 - 1
src/main/resources/application.yml

@@ -5,7 +5,7 @@ server:
 spring:
   # 环境 dev|test|prod
   profiles:
-    active: dev
+    active: prod
   # jackson时间格式化
   jackson:
     time-zone: GMT+8

+ 7 - 7
src/main/resources/mapper/evaluate/EvaluateManageMapper.xml

@@ -37,13 +37,13 @@
     </select>
 
     <select id="getMobilePage" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateWritePageDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateWritePageVo">
-        select t2.id, t2.name,t4.name as evaluate_type_cn,t2.start_time,t2.end_time,t2.status
-        from evaluate_executer t1
-        left join evaluate_manage t2 on t2.id = t1.evaluate_manage_id
-        left join evaluate_template t3 on t3.id = t2.evaluate_template_id
-        left join xjr_dictionary_detail t4 on t4.code = t3.evaluate_type and t4.item_id = 1746831039385366530
-        where t1.delete_mark = 0 and t2.delete_mark = 0
-        and t1.status = #{dto.status} and t1.user_id = #{dto.loginUserId}
+        SELECT t1.id, t1.name,t4.name AS evaluate_type_cn,t1.start_time,t1.end_time,t1.status,t2.user_id
+        FROM evaluate_manage t1
+        LEFT JOIN evaluate_executer t2 ON t1.id = t2.evaluate_manage_id
+        LEFT JOIN evaluate_template t3 ON t3.id = t1.evaluate_template_id
+        LEFT JOIN xjr_dictionary_detail t4 ON t4.code = t3.evaluate_type AND t4.item_id = 1746831039385366530
+        WHERE t1.delete_mark = 0 AND t2.delete_mark = 0
+        and t2.status = #{dto.status} and t2.user_id = #{dto.loginUserId}
     </select>
     <select id="getWriteInfo" parameterType="com.xjrsoft.module.evaluate.dto.EvaluateWritePageDto" resultType="com.xjrsoft.module.evaluate.vo.EvaluateWriteVo">
         select t1.id, t1.name,t1.start_time,t1.end_time,

+ 3 - 0
src/main/resources/mapper/room/RoomBedMapper.xml

@@ -345,6 +345,9 @@
         <if test="dto.roomName != null">
             and t2.room_name like concat('%', #{dto.roomName}, '%')
         </if>
+        <if test="dto.gender != null and dto.gender != ''">
+            and t2.gender  = #{dto.gender}
+        </if>
         <if test="dto.isMax != null">
             and t2.is_max = #{dto.isMax}
         </if>

+ 7 - 4
src/main/resources/mapper/room/RoomMapper.xml

@@ -68,9 +68,12 @@
         WHERE t3.room_id = room.id GROUP BY t1.id
         ) class_data
         ) AS class_count FROM room
-        where id in
-        <foreach item="roomId" index="index" collection="ids" open="(" close=")" separator=",">
-            #{roomId}
-        </foreach>
+        where 1 = 1
+        <if test="ids != null">
+            and id in
+            <foreach item="roomId" index="index" collection="ids" open="(" close=")" separator=",">
+                #{roomId}
+            </foreach>
+        </if>
     </select>
 </mapper>

+ 2 - 1
src/main/resources/mapper/textbook/TextbookMapper.xml

@@ -129,13 +129,14 @@
         order by t1.sort_code
     </select>
     <select id="issueList" resultType="com.xjrsoft.module.textbook.vo.TextbookIssueRecordListVo">
-        SELECT t1.create_date AS issue_date, t2.name AS issue_user, t1.issue_number, t6.name AS issue_mode
+        SELECT t1.create_date AS issue_date, t2.name AS issue_user, t1.issue_number, t6.name AS issue_mode,t7.name as remark
         FROM textbook_issue_record t1
                  LEFT JOIN xjr_user t2 ON t1.create_user_id = t2.id
                  LEFT JOIN wf_textbook_claim_item t3 ON t1.data_item_id = t3.id
                  LEFT JOIN wf_textbook_recede_item t4 ON t3.textbook_id = t4.textbook_id
                  LEFT JOIN wf_textbook_recede t5 ON t5.id = t4.wf_textbook_recede_id
                  LEFT JOIN xjr_dictionary_detail t6 ON t6.code = t1.issue_mode AND t6.item_id = 1739821685805215745
+        left join xjr_user t7 on t1.issue_user_id = t7.id
         WHERE t1.delete_mark = 0
           AND t3.textbook_id = #{id}
         ORDER BY t1.sort_code;

+ 10 - 3
src/test/java/com/xjrsoft/xjrsoftboot/StrTest.java

@@ -21,14 +21,14 @@ public class StrTest {
     public void formatTest() {
         String f = "《{}》等待{}审批。";
 
-        System.out.println(StrUtil.format(f, "sdfsdf","bbbbbb"));
+        System.out.println(StrUtil.format(f, "sdfsdf", "bbbbbb"));
     }
 
     @Test
     public void arrayTest() {
         String f = "《{}》等待{}审批。";
 
-        System.out.println(StrUtil.format(f, "sdfsdf","bbbbbb"));
+        System.out.println(StrUtil.format(f, "sdfsdf", "bbbbbb"));
     }
 
     @Test
@@ -168,8 +168,15 @@ public class StrTest {
     }
 
     @Test
-    void test22(){
+    void test22() {
         String name = "2023年秋季";
         System.out.println(name.contains("秋季"));
     }
+
+    @Test
+    public void StringTest() {
+        String str = "电子“1+x”集成电路检测技术应用(初级)考试";
+        str = str.replace("“", "").replace("”", "").replace("\"", "").replace("\n", "").replace("\r", "").replace("\t", "");
+        System.out.println(str);
+    }
 }