|
@@ -21,14 +21,12 @@ import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.distributed.print.business.templete.execute.AsyncCreatePdfTempleteService;
|
|
import com.qmth.distributed.print.business.templete.execute.AsyncCreatePdfTempleteService;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.entity.BasicAttachment;
|
|
import com.qmth.teachcloud.common.entity.BasicAttachment;
|
|
|
|
+import com.qmth.teachcloud.common.entity.BasicCampus;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.TBTask;
|
|
import com.qmth.teachcloud.common.entity.TBTask;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.TaskTypeEnum;
|
|
import com.qmth.teachcloud.common.enums.TaskTypeEnum;
|
|
-import com.qmth.teachcloud.common.service.BasicAttachmentService;
|
|
|
|
-import com.qmth.teachcloud.common.service.CommonCacheService;
|
|
|
|
-import com.qmth.teachcloud.common.service.TBTaskService;
|
|
|
|
-import com.qmth.teachcloud.common.service.TeachcloudCommonService;
|
|
|
|
|
|
+import com.qmth.teachcloud.common.service.*;
|
|
import com.qmth.teachcloud.common.util.ConvertUtil;
|
|
import com.qmth.teachcloud.common.util.ConvertUtil;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -92,6 +90,9 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
@Resource
|
|
@Resource
|
|
TeachcloudCommonService teachcloudCommonService;
|
|
TeachcloudCommonService teachcloudCommonService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ BasicCampusService basicCampusService;
|
|
|
|
+
|
|
private final static Logger log = LoggerFactory.getLogger(ExamDetailServiceImpl.class);
|
|
private final static Logger log = LoggerFactory.getLogger(ExamDetailServiceImpl.class);
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@@ -296,8 +297,9 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
@Override
|
|
@Override
|
|
public List<String> findExamPlaceDatasource(String param, List<Long> printPlanIdList) {
|
|
public List<String> findExamPlaceDatasource(String param, List<Long> printPlanIdList) {
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
|
|
|
|
+ Set<Long> orgIds = teachcloudCommonService.listSubOrgIds(null);
|
|
QueryWrapper<ExamDetail> queryWrapper = new QueryWrapper<>();
|
|
QueryWrapper<ExamDetail> queryWrapper = new QueryWrapper<>();
|
|
- queryWrapper.lambda().eq(ExamDetail::getSchoolId, schoolId);
|
|
|
|
|
|
+ queryWrapper.lambda().eq(ExamDetail::getSchoolId, schoolId).in(ExamDetail::getOrgId, orgIds);
|
|
if (StringUtils.isNotBlank(param)) {
|
|
if (StringUtils.isNotBlank(param)) {
|
|
queryWrapper.lambda().like(ExamDetail::getExamPlace, SystemConstant.translateSpecificSign(param));
|
|
queryWrapper.lambda().like(ExamDetail::getExamPlace, SystemConstant.translateSpecificSign(param));
|
|
}
|
|
}
|
|
@@ -424,17 +426,26 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
map.put("examRoom", e.getExamRoom());
|
|
map.put("examRoom", e.getExamRoom());
|
|
map.put("examStartTime", e.getExamStartTime());
|
|
map.put("examStartTime", e.getExamStartTime());
|
|
map.put("examEndTime", e.getExamEndTime());
|
|
map.put("examEndTime", e.getExamEndTime());
|
|
|
|
+ map.put("campusName", e.getCampusName());
|
|
return Stream.of(map);
|
|
return Stream.of(map);
|
|
}).distinct().collect(Collectors.toList());
|
|
}).distinct().collect(Collectors.toList());
|
|
|
|
|
|
-// System.out.println("examDetailKeyList = " + JSON.toJSONString(examDetailKeyList));
|
|
|
|
|
|
+ // 同一任务是否有多个校区
|
|
|
|
+ Map<String, List<Map<String, Object>>> stringListMap = examDetailKeyList.stream().collect(Collectors.groupingBy(m -> m.get("schoolId") + "#" + m.get("printPlanId") + "#" + m.get("printPlanName") + "#" + m.get("examPlace") + "#" + m.get("examRoom") + "#" + m.get("examStartTime") + "#" + m.get("examEndTime")));
|
|
|
|
+ for (Map.Entry<String, List<Map<String, Object>>> entry : stringListMap.entrySet()) {
|
|
|
|
+ if(entry.getValue().size() > 1){
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("同一考场数据只能指派一个印刷室");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
List<ExamDetail> examDetailList = new ArrayList<>();
|
|
List<ExamDetail> examDetailList = new ArrayList<>();
|
|
for (Map<String, Object> map : examDetailKeyList) {
|
|
for (Map<String, Object> map : examDetailKeyList) {
|
|
|
|
+ Long schoolId = Long.valueOf(String.valueOf(map.get("schoolId")));
|
|
String examPlace = String.valueOf(map.get("examPlace"));
|
|
String examPlace = String.valueOf(map.get("examPlace"));
|
|
String examRoom = String.valueOf(map.get("examRoom"));
|
|
String examRoom = String.valueOf(map.get("examRoom"));
|
|
String examStartTime = String.valueOf(map.get("examStartTime"));
|
|
String examStartTime = String.valueOf(map.get("examStartTime"));
|
|
String examEndTime = String.valueOf(map.get("examEndTime"));
|
|
String examEndTime = String.valueOf(map.get("examEndTime"));
|
|
|
|
+ String campusName = String.valueOf(map.get("campusName"));
|
|
|
|
|
|
long totalSubjects = dataList.stream()
|
|
long totalSubjects = dataList.stream()
|
|
.filter(e -> e.getExamPlace().equals(examPlace) &&
|
|
.filter(e -> e.getExamPlace().equals(examPlace) &&
|
|
@@ -445,7 +456,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
ExamDetail examDetail = new ExamDetail();
|
|
ExamDetail examDetail = new ExamDetail();
|
|
examDetail.setId(SystemConstant.getDbUuid());
|
|
examDetail.setId(SystemConstant.getDbUuid());
|
|
examDetail.setPackageCode(convertUtil.getIncre(serialNumberParams.getPrefix(), serialNumberParams.getModel(), serialNumberParams.getDigit()));
|
|
examDetail.setPackageCode(convertUtil.getIncre(serialNumberParams.getPrefix(), serialNumberParams.getModel(), serialNumberParams.getDigit()));
|
|
- examDetail.setSchoolId(Long.valueOf(String.valueOf(map.get("schoolId"))));
|
|
|
|
|
|
+ examDetail.setSchoolId(schoolId);
|
|
examDetail.setOrgId(sysUser.getOrgId());
|
|
examDetail.setOrgId(sysUser.getOrgId());
|
|
examDetail.setPrintPlanId(Long.valueOf(String.valueOf(map.get("printPlanId"))));
|
|
examDetail.setPrintPlanId(Long.valueOf(String.valueOf(map.get("printPlanId"))));
|
|
examDetail.setPrintPlanName(String.valueOf(map.get("printPlanName")));
|
|
examDetail.setPrintPlanName(String.valueOf(map.get("printPlanName")));
|
|
@@ -457,6 +468,7 @@ public class ExamDetailServiceImpl extends ServiceImpl<ExamDetailMapper, ExamDet
|
|
examDetail.setExamEndTime(SystemConstant.convertIdToLong(examEndTime));
|
|
examDetail.setExamEndTime(SystemConstant.convertIdToLong(examEndTime));
|
|
examDetail.setExamDataSource(ExamDataSourceEnum.FILE_IMPORT);
|
|
examDetail.setExamDataSource(ExamDataSourceEnum.FILE_IMPORT);
|
|
examDetail.setNormal(true);
|
|
examDetail.setNormal(true);
|
|
|
|
+ examDetail.setPrintHouseId(basicCampusService.getPrintHouseIdBySchoolIdAndCampusName(schoolId, campusName));
|
|
examDetail.setCreateId(userId);
|
|
examDetail.setCreateId(userId);
|
|
examDetail.setUpdateId(userId);
|
|
examDetail.setUpdateId(userId);
|
|
examDetailList.add(examDetail);
|
|
examDetailList.add(examDetail);
|