|
@@ -1,5 +1,7 @@
|
|
package com.qmth.distributed.print.business.service.impl;
|
|
package com.qmth.distributed.print.business.service.impl;
|
|
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
@@ -7,28 +9,27 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.qmth.distributed.print.business.bean.dto.CardRuleDto;
|
|
import com.qmth.distributed.print.business.bean.dto.CardRuleDto;
|
|
import com.qmth.distributed.print.business.entity.BasicCardRule;
|
|
import com.qmth.distributed.print.business.entity.BasicCardRule;
|
|
|
|
+import com.qmth.distributed.print.business.entity.BasicExamRule;
|
|
import com.qmth.distributed.print.business.entity.ExamCard;
|
|
import com.qmth.distributed.print.business.entity.ExamCard;
|
|
import com.qmth.distributed.print.business.entity.ExamTask;
|
|
import com.qmth.distributed.print.business.entity.ExamTask;
|
|
|
|
+import com.qmth.distributed.print.business.enums.CardRequiredFieldsEnum;
|
|
import com.qmth.distributed.print.business.mapper.BasicCardRuleMapper;
|
|
import com.qmth.distributed.print.business.mapper.BasicCardRuleMapper;
|
|
-import com.qmth.distributed.print.business.service.BasicCardRuleService;
|
|
|
|
-import com.qmth.distributed.print.business.service.BasicPrintConfigService;
|
|
|
|
-import com.qmth.distributed.print.business.service.ExamCardService;
|
|
|
|
-import com.qmth.distributed.print.business.service.ExamTaskService;
|
|
|
|
|
|
+import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
|
|
import com.qmth.teachcloud.common.bean.dto.DataPermissionRule;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.entity.BasicPrintConfig;
|
|
import com.qmth.teachcloud.common.entity.BasicPrintConfig;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
|
|
+import com.qmth.teachcloud.common.enums.EnumResult;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
|
|
import com.qmth.teachcloud.common.service.BasicRoleDataPermissionService;
|
|
import com.qmth.teachcloud.common.service.TeachcloudCommonService;
|
|
import com.qmth.teachcloud.common.service.TeachcloudCommonService;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
-import java.util.List;
|
|
|
|
-import java.util.Objects;
|
|
|
|
-import java.util.Set;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -56,12 +57,48 @@ public class BasicCardRuleServiceImpl extends ServiceImpl<BasicCardRuleMapper, B
|
|
@Resource
|
|
@Resource
|
|
BasicRoleDataPermissionService basicRoleDataPermissionService;
|
|
BasicRoleDataPermissionService basicRoleDataPermissionService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ BasicExamRuleService basicExamRuleService;
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public IPage<CardRuleDto> list(Boolean enable, String name, Long createStartTime, Long createEndTime, Integer pageNumber, Integer pageSize) {
|
|
public IPage<CardRuleDto> list(Boolean enable, String name, Long createStartTime, Long createEndTime, Integer pageNumber, Integer pageSize) {
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
|
|
DataPermissionRule dpr = basicRoleDataPermissionService.findDataPermission(schoolId, requestUser.getId(), ServletUtil.getRequest().getServletPath());
|
|
- return this.baseMapper.listPage(new Page<>(pageNumber, pageSize), schoolId, enable, SystemConstant.translateSpecificSign(name), createStartTime, createEndTime, dpr);
|
|
|
|
|
|
+ IPage<CardRuleDto> cardRuleDtoIPage = this.baseMapper.listPage(new Page<>(pageNumber, pageSize), schoolId, enable, SystemConstant.translateSpecificSign(name), createStartTime, createEndTime, dpr);
|
|
|
|
+
|
|
|
|
+ BasicExamRule basicExamRule = basicExamRuleService.getBySchoolId();
|
|
|
|
+ List<JSONObject> examRuleRequiredFieldList = JSONObject.parseArray(basicExamRule.getRequiredFields(), JSONObject.class);
|
|
|
|
+ List<JSONObject> examRuleExtendFieldList = JSONObject.parseArray(basicExamRule.getExtendFields(), JSONObject.class);
|
|
|
|
+
|
|
|
|
+ List<JSONObject> allExamRuleFieldList = new ArrayList<>();
|
|
|
|
+ allExamRuleFieldList.addAll(examRuleRequiredFieldList);
|
|
|
|
+ if(!CollectionUtils.isEmpty(examRuleExtendFieldList)){
|
|
|
|
+ allExamRuleFieldList.addAll(examRuleExtendFieldList);
|
|
|
|
+ }
|
|
|
|
+ List<EnumResult> enumResults = CardRequiredFieldsEnum.listTypes();
|
|
|
|
+ for (int i = 0; i < allExamRuleFieldList.size(); i++) {
|
|
|
|
+ JSONObject jsonObject = allExamRuleFieldList.get(i);
|
|
|
|
+ Optional<EnumResult> resultOptional = enumResults.stream().filter(t -> t.getCode().equals(jsonObject.getString("code"))).findFirst();
|
|
|
|
+ if(resultOptional.isPresent()){
|
|
|
|
+ allExamRuleFieldList.remove(i);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for (CardRuleDto record : cardRuleDtoIPage.getRecords()) {
|
|
|
|
+ List<JSONObject> cardRuleExtendFieldList = JSONObject.parseArray(record.getExtendFields(), JSONObject.class);
|
|
|
|
+ for (JSONObject jsonObject : allExamRuleFieldList) {
|
|
|
|
+ Optional<JSONObject> objectOptional = cardRuleExtendFieldList.stream().filter(m -> m.getString("code").equals(jsonObject.getString("code"))).findFirst();
|
|
|
|
+ if(objectOptional.isPresent()){
|
|
|
|
+ jsonObject.put("enable", objectOptional.get().getBoolean("enable"));
|
|
|
|
+ } else {
|
|
|
|
+ jsonObject.put("enable", false);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ record.setExtendFields(JSONObject.toJSONString(allExamRuleFieldList));
|
|
|
|
+ }
|
|
|
|
+ return cardRuleDtoIPage;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|