xiaof 4 ani în urmă
părinte
comite
85a822e5a2
15 a modificat fișierele cu 117 adăugiri și 14 ștergeri
  1. 9 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/UserDto.java
  2. 11 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamDetailCourse.java
  3. 5 0
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicCardRuleMapper.java
  4. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamTaskMapper.java
  5. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/SysUserMapper.java
  6. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/CommonService.java
  7. 9 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCardRuleServiceImpl.java
  8. 25 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/CommonServiceImpl.java
  9. 3 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java
  10. 2 1
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysRoleServiceImpl.java
  11. 7 5
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysUserServiceImpl.java
  12. 1 0
      distributed-print-business/src/main/resources/db/init-table.sql
  13. 21 0
      distributed-print-business/src/main/resources/mapper/BasicCardRuleMapper.xml
  14. 8 0
      distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml
  15. 10 1
      distributed-print-business/src/main/resources/mapper/SysUserMapper.xml

+ 9 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/bean/dto/UserDto.java

@@ -18,6 +18,7 @@ public class UserDto {
     private Boolean enable;
     private String remark;
     private String orgId;
+    private String orgName;
 
     private List<SysRole> roles;
 
@@ -102,4 +103,12 @@ public class UserDto {
     public void setCourses(List<BasicCourse> courses) {
         this.courses = courses;
     }
+
+    public String getOrgName() {
+        return orgName;
+    }
+
+    public void setOrgName(String orgName) {
+        this.orgName = orgName;
+    }
 }

+ 11 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/entity/ExamDetailCourse.java

@@ -36,6 +36,9 @@ public class ExamDetailCourse extends BaseEntity implements Serializable {
     @TableField("paper_number")
     private String paperNumber;
 
+    @TableField("total_subjects")
+    private Integer totalSubjects;
+
     @TableField("paper_pages_a3")
     private Integer paperPagesA3;
 
@@ -82,6 +85,14 @@ public class ExamDetailCourse extends BaseEntity implements Serializable {
         this.paperNumber = paperNumber;
     }
 
+    public Integer getTotalSubjects() {
+        return totalSubjects;
+    }
+
+    public void setTotalSubjects(Integer totalSubjects) {
+        this.totalSubjects = totalSubjects;
+    }
+
     public static long getSerialVersionUID() {
         return serialVersionUID;
     }

+ 5 - 0
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/BasicCardRuleMapper.java

@@ -8,6 +8,9 @@ import com.qmth.distributed.print.business.bean.params.CardRuleParam;
 import com.qmth.distributed.print.business.entity.BasicCardRule;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+import java.util.Set;
+
 /**
  * <p>
  * 题卡规则 Mapper 接口
@@ -19,4 +22,6 @@ import org.apache.ibatis.annotations.Param;
 public interface BasicCardRuleMapper extends BaseMapper<BasicCardRule> {
 
     IPage<CardRuleDto> listPage(Page<CardRuleDto> page, @Param("schoolId") Long schoolId, @Param("enable") Boolean enable, @Param("name") String name, @Param("createTime") Long createTime);
+
+    List<BasicCardRule> list(@Param("schoolId") Long schoolId, @Param("param") String param, @Param("orgIds") Set<Long> orgIds);
 }

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/ExamTaskMapper.java

@@ -10,6 +10,7 @@ import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 /**
  * <p>
@@ -21,7 +22,7 @@ import java.util.Map;
  */
 public interface ExamTaskMapper extends BaseMapper<ExamTask> {
 
-    IPage<ExamTaskDto> listPage(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("enable") Boolean enable, @Param("status") String status, @Param("cardRuleId") Long cardRuleId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("startTime") Long startTime, @Param("endTime") Long endTime);
+    IPage<ExamTaskDto> listPage(Page<ExamTaskDto> page, @Param("schoolId") Long schoolId, @Param("enable") Boolean enable, @Param("status") String status, @Param("cardRuleId") Long cardRuleId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("startTime") Long startTime, @Param("endTime") Long endTime, @Param("orgIds") Set<Long> orgIds);
 
     List<BlurryUserDto> listUser(@Param("schoolId") Long schoolId, @Param("param") String param);
 

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/mapper/SysUserMapper.java

@@ -9,6 +9,7 @@ import com.qmth.distributed.print.business.entity.SysUser;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Set;
 
 /**
  * <p>
@@ -22,7 +23,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
     IPage<UserDto> listPage(Page<UserDto> page, @Param("schoolId") Long schoolId, @Param("realName") String realName, @Param("roleId") String roleId, @Param("enable") Boolean enable);
 
-    List<BlurryUserDto> listUser(@Param("schoolId") Long schoolId, @Param("type") String type, @Param("courseCode") String courseCode, @Param("param") String param);
+    List<BlurryUserDto> listUser(@Param("schoolId") Long schoolId, @Param("type") String type, @Param("courseCode") String courseCode, @Param("param") String param, @Param("orgIds") Set<Long> orgIds);
 
     IPage<UserDto> listCustomerPage(Page<UserDto> page, @Param("realName") String realName, @Param("enable") Boolean enable);
 }

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/CommonService.java

@@ -15,6 +15,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.security.NoSuchAlgorithmException;
 import java.util.List;
+import java.util.Set;
 
 /**
  * @Description: 公共服务service
@@ -161,5 +162,5 @@ public interface CommonService {
      * @param orgId
      * @return
      */
-    public List<Long> listSubOrgIds(Long orgId);
+    public Set<Long> listSubOrgIds(Long orgId);
 }

+ 9 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/BasicCardRuleServiceImpl.java

@@ -13,6 +13,7 @@ import com.qmth.distributed.print.business.enums.TemplateTypeEnum;
 import com.qmth.distributed.print.business.mapper.BasicCardRuleMapper;
 import com.qmth.distributed.print.business.service.BasicCardRuleService;
 import com.qmth.distributed.print.business.service.BasicTemplateOrgService;
+import com.qmth.distributed.print.business.service.CommonService;
 import com.qmth.distributed.print.business.service.ExamTaskService;
 import com.qmth.distributed.print.business.util.ServletUtil;
 import com.qmth.distributed.print.common.contant.SystemConstant;
@@ -24,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
 import java.util.Objects;
+import java.util.Set;
 
 /**
  * <p>
@@ -39,6 +41,9 @@ public class BasicCardRuleServiceImpl extends ServiceImpl<BasicCardRuleMapper, B
     @Autowired
     private BasicTemplateOrgService basicTemplateOrgService;
 
+    @Autowired
+    private CommonService commonService;
+
     @Override
     public IPage<CardRuleDto> list(Boolean enable, String name, Long createTime, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
@@ -62,7 +67,10 @@ public class BasicCardRuleServiceImpl extends ServiceImpl<BasicCardRuleMapper, B
         if (StringUtils.isNotBlank(param)) {
             queryWrapper.lambda().like(BasicCardRule::getName, param);
         }
-        return this.list(queryWrapper);
+//        return this.list(queryWrapper);
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        Set<Long> orgIds = sysUser.getOrgId() == null ? null : commonService.listSubOrgIds(sysUser.getOrgId());
+        return this.baseMapper.list(schoolId, param, orgIds);
     }
 
     @Override

+ 25 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/CommonServiceImpl.java

@@ -528,9 +528,32 @@ public class CommonServiceImpl implements CommonService {
     }
 
     @Override
-    public List<Long> listSubOrgIds(Long orgId) {
+    public Set<Long> listSubOrgIds(Long orgId) {
         List<OrgDto> orgDtos = sysOrgService.listOrgTree();
-        return null;
+//        String string = "[{\"id\":\"114751029785919488\",\"schoolId\":\"1\",\"code\":\"012453\",\"name\":\"计算机学院\",\"parentId\":null,\"enable\":true,\"children\":[{\"id\":\"114751144823095296\",\"schoolId\":\"1\",\"code\":\"451245\",\"name\":\"硬件学院\",\"parentId\":114751029785919488,\"enable\":true,\"children\":[]}]},{\"id\":\"114751249978490880\",\"schoolId\":\"1\",\"code\":\"42152\",\"name\":\"化学学院\",\"parentId\":null,\"enable\":true,\"children\":[]},{\"id\":\"114751303661387776\",\"schoolId\":\"1\",\"code\":\"en1254\",\"name\":\"外国语学院\",\"parentId\":null,\"enable\":true,\"children\":[]},{\"id\":\"1\",\"schoolId\":\"1\",\"code\":\"O00001\",\"name\":\"物理学院\",\"parentId\":null,\"enable\":true,\"children\":[{\"id\":\"114751422234361856\",\"schoolId\":\"1\",\"code\":\"784512\",\"name\":\"光电系\",\"parentId\":1,\"enable\":true,\"children\":[{\"id\":\"114751422234361857\",\"schoolId\":\"1\",\"code\":\"784512\",\"name\":\"光电系\",\"parentId\":114751422234361856,\"enable\":true,\"children\":[]},{\"id\":\"114751422234361858\",\"schoolId\":\"1\",\"code\":\"784512\",\"name\":\"光电系\",\"parentId\":114751422234361856,\"enable\":true,\"children\":[]}]}]}]";
+//        List<OrgDto> orgDtos = JSONObject.parseArray(string, OrgDto.class);
+        Set<Long> stringSet = new HashSet<>();
+        stringSet.add(orgId);
+        stringSet = getOrgIds(stringSet, orgDtos, orgId);
+        return stringSet;
+    }
+
+    public static void main(String[] args) {
+        new CommonServiceImpl().listSubOrgIds(1l);
+    }
+
+    private Set<Long> getOrgIds(Set<Long> stringSet, List<OrgDto> orgDtos, Long parentId) {
+        for (OrgDto orgDto : orgDtos) {
+            Long tempParentId = orgDto.getParentId();
+            if (parentId.equals(tempParentId) && stringSet.contains(parentId)) {
+                stringSet.add(Long.valueOf(orgDto.getId()));
+            }
+            if (orgDto.getChildren().isEmpty()) {
+                continue;
+            }
+            getOrgIds(stringSet, orgDto.getChildren(), Long.valueOf(orgDto.getId()));
+        }
+        return stringSet;
     }
 
     public static void outputFile(HttpServletResponse response, File file, String fileName) {

+ 3 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/ExamTaskServiceImpl.java

@@ -86,8 +86,10 @@ public class ExamTaskServiceImpl extends ServiceImpl<ExamTaskMapper, ExamTask> i
     @Override
     public IPage<ExamTaskDto> list(Boolean enable, String status, Long cardRuleId, String courseCode, String paperNumber, Long startTime, Long endTime, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        Set<Long> orgIds = sysUser.getOrgId() == null ? null : commonService.listSubOrgIds(sysUser.getOrgId());
         Page<ExamTaskDto> page = new Page<>(pageNumber, pageSize);
-        IPage<ExamTaskDto> examTaskDtoIPage = this.baseMapper.listPage(page, schoolId, enable, status, cardRuleId, courseCode, paperNumber, startTime, endTime);
+        IPage<ExamTaskDto> examTaskDtoIPage = this.baseMapper.listPage(page, schoolId, enable, status, cardRuleId, courseCode, paperNumber, startTime, endTime, orgIds);
         return examTaskDtoIPage;
     }
 

+ 2 - 1
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysRoleServiceImpl.java

@@ -56,7 +56,8 @@ public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> impl
     @Transactional
     @Override
     public boolean saveRole(SysRole role) {
-        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+//        Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
+        Long schoolId = null;
         role.setSchoolId(schoolId);
         SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
 

+ 7 - 5
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/SysUserServiceImpl.java

@@ -23,10 +23,7 @@ import org.springframework.transaction.annotation.Transactional;
 import sun.misc.BASE64Encoder;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -64,6 +61,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Autowired
     CacheService cacheService;
 
+    @Autowired
+    private CommonService commonService;
+
     @Override
     public IPage<UserDto> list(String realName, String roleId, Boolean enable, Integer pageNumber, Integer pageSize) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
@@ -259,7 +259,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     public List<BlurryUserDto> listUser(String courseCode, String param) {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
-        return this.baseMapper.listUser(schoolId, RoleTypeEnum.QUESTION_TEACHER.name(), courseCode, param);
+        SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
+        Set<Long> orgIds = sysUser.getOrgId() == null ? null : commonService.listSubOrgIds(sysUser.getOrgId());
+        return this.baseMapper.listUser(schoolId, RoleTypeEnum.QUESTION_TEACHER.name(), courseCode, param, orgIds);
     }
 
     @Override

+ 1 - 0
distributed-print-business/src/main/resources/db/init-table.sql

@@ -288,6 +288,7 @@ CREATE TABLE `exam_detail_course`  (
   `course_code` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
   `course_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
   `paper_number` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
+  `total_subjects` int(11) NULL DEFAULT NULL COMMENT '总科次:考场总科次',
   `paper_pages_a3` int(2) NULL DEFAULT NULL COMMENT '试卷单科次准印量A3(页)',
   `card_pages_a3` int(2) NULL DEFAULT NULL COMMENT '题卡单科次准印量A3(页)',
   `create_id` bigint(20) NULL DEFAULT NULL,

+ 21 - 0
distributed-print-business/src/main/resources/mapper/BasicCardRuleMapper.xml

@@ -46,5 +46,26 @@
             </if>
         </where>
     </select>
+    <select id="list" resultMap="BaseResultMap">
+        SELECT
+            *
+        FROM
+            basic_card_rule a
+        WHERE
+            EXISTS( SELECT
+                    1
+                FROM
+                    basic_template_org b
+                WHERE
+                    b.type = 'CARD_RULE'
+                        AND a.id = b.rule_id
+                <if test="orgIds != null">
+                    AND b.org_id IN
+                    <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
+                        #{item}
+                    </foreach>
+                </if>
+                )
+    </select>
 
 </mapper>

+ 8 - 0
distributed-print-business/src/main/resources/mapper/ExamTaskMapper.xml

@@ -53,10 +53,18 @@
             basic_card_rule b ON a.card_rule_id = b.id
                 LEFT JOIN
             sys_user c ON a.user_id = c.id
+                LEFT JOIN
+            sys_user d ON a.create_id = d.id
         <where>
             <if test="schoolId != null and schoolId != ''">
                 and a.school_id = #{schoolId}
             </if>
+            <if test="orgIds != null">
+                AND d.org_id IN
+                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
             <if test="enable != null">
                 and a.enable = #{enable}
             </if>

+ 10 - 1
distributed-print-business/src/main/resources/mapper/SysUserMapper.xml

@@ -31,9 +31,12 @@
             a.mobile_number mobileNumber,
             a.enable,
             a.remark,
-            a.org_id orgId
+            a.org_id orgId,
+            b.name orgName
         FROM
             sys_user a
+                left join
+            sys_org b on a.org_id = b.id
         <where>
             <if test="schoolId != null and schoolId != ''">
                 and a.school_id = #{schoolId}
@@ -76,6 +79,12 @@
             <if test="param != null and param != ''">
                 and a.id = #{param}
             </if>
+            <if test="orgIds != null">
+                AND a.org_id IN
+                <foreach collection="orgIds" item="item" index="index" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </if>
         </where>
     </select>
     <select id="listCustomerPage" resultType="com.qmth.distributed.print.business.bean.dto.UserDto">