|
@@ -1,13 +1,11 @@
|
|
|
package com.qunzhixinxi.hnqz.admin.controller;
|
|
|
|
|
|
-import cn.hutool.core.bean.BeanUtil;
|
|
|
-import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
-import cn.hutool.core.map.MapUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
+import cn.hutool.core.util.ArrayUtil;
|
|
|
import cn.hutool.core.util.IdcardUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
@@ -17,7 +15,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.google.zxing.WriterException;
|
|
|
-import com.logosdata.security.Common;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.dto.UserDTO;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
@@ -27,17 +24,65 @@ import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.enums.SignatureStatusEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
|
|
|
import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
|
-import com.qunzhixinxi.hnqz.admin.entity.*;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.SysCertResultRecord;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.SysDeptSub;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmDaAgent;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmDaDistribution;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEnt;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEntDrugtable;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmDaHospital;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmDaPharmacy;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmFeedback;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmScoreTaskType;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmTask;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskContent;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskContentConfig;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskRule;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskType;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmUserSign;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmUserSignDetail;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmWkAlbum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmWkArticle;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmWkArticleShare;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.input.NoticeApiInput;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageApiInput;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageApiOutput;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.input.WmWkAlbumApiInput;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
|
-import com.qunzhixinxi.hnqz.admin.enums.DisplayStatusEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.SubjectTypeEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.UserSignPurposeEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.UserSignResultEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysCertResultRecordMapper;
|
|
|
-import com.qunzhixinxi.hnqz.admin.service.*;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysDeptSubService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysDictItemService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysFileService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysPublicParamService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmDaAgentService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmDaDistributionService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntDrugtableService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmDaHospitalService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmDaPharmacyService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmDeptTaskTypeTemplateService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmFeedbackService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmScoreTaskTypeService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmTaskContentConfigService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmTaskContentService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmTaskRuleService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmUserSignDetailService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmUserSignService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmWkAlbumService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmWkArticleService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmWkArticleShareService;
|
|
|
import com.qunzhixinxi.hnqz.admin.util.GetOpenIDUtil;
|
|
|
import com.qunzhixinxi.hnqz.admin.util.Html2ImageByJsWrapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.util.QRCodeGenerator;
|
|
@@ -60,7 +105,6 @@ import com.qunzhixinxi.hnqz.common.taxhelper.entity.request.TaxHelperAddMemberRe
|
|
|
import com.qunzhixinxi.hnqz.common.taxhelper.entity.response.TaxHelperResponse;
|
|
|
import com.qunzhixinxi.hnqz.common.taxhelper.enums.TaxHelperCertStatus;
|
|
|
import com.qunzhixinxi.hnqz.common.taxhelper.service.TaxHelperService;
|
|
|
-import io.opentracing.log.Fields;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiImplicitParam;
|
|
|
import io.swagger.annotations.ApiImplicitParams;
|
|
@@ -69,10 +113,8 @@ import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections4.CollectionUtils;
|
|
|
import org.apache.commons.io.IOUtils;
|
|
|
-import org.apache.commons.lang.time.DateUtils;
|
|
|
import org.apache.commons.lang3.ArrayUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
-import org.springframework.data.redis.core.BoundValueOperations;
|
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.mock.web.MockMultipartFile;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
@@ -81,8 +123,13 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
import javax.imageio.ImageIO;
|
|
|
import javax.imageio.stream.ImageOutputStream;
|
|
|
import java.awt.image.BufferedImage;
|
|
|
-import java.io.*;
|
|
|
-import java.lang.reflect.Field;
|
|
|
+import java.io.ByteArrayInputStream;
|
|
|
+import java.io.ByteArrayOutputStream;
|
|
|
+import java.io.File;
|
|
|
+import java.io.FileInputStream;
|
|
|
+import java.io.FileNotFoundException;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.InputStream;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.BigInteger;
|
|
|
import java.net.URI;
|
|
@@ -101,6 +148,7 @@ import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* @author hnqz
|
|
@@ -143,6 +191,8 @@ public class ApiController {
|
|
|
private final SysDeptSubService sysDeptSubService;
|
|
|
private final SysPublicParamService sysPublicParamService;
|
|
|
private final WmWkAlbumService wmWkAlbumService;
|
|
|
+ private final WmDeptTaskTypeTemplateService wmDeptTaskTypeTemplateService;
|
|
|
+ private final WmUserSignDetailService wmUserSignDetailService;
|
|
|
|
|
|
@SysLog("通过任务类型获取表单配置")
|
|
|
@ApiOperation(value = "任务类型表单配置-通过任务类型获取表单配置", notes = "根据任务类型获取表单配置")
|
|
@@ -676,6 +726,9 @@ public class ApiController {
|
|
|
.collect(Collectors.toList());
|
|
|
mapOne.put("subList", subTypeList);
|
|
|
|
|
|
+ // 判断是否有配置医院拜访的任务类型模板
|
|
|
+ mapOne.put("checkHospitalTemplate", wmDeptTaskTypeTemplateService.checkDeptIdHospitalTemplate(sysU.getDeptId()));
|
|
|
+
|
|
|
list.add(mapOne);
|
|
|
|
|
|
roleList.addAll(roleIdList);
|
|
@@ -827,7 +880,7 @@ public class ApiController {
|
|
|
String taskTypeId = wmTaskContent.getTemp30();
|
|
|
R r = wmTaskContentService.saveTaskContent(wmTaskContent);
|
|
|
|
|
|
- log.info("结果:{}, 草稿key:{}",r, draftKey);
|
|
|
+ log.info("结果:{}, 草稿key:{}", r, draftKey);
|
|
|
if (r.getCode() == CommonConstants.SUCCESS && StrUtil.isNotEmpty(draftKey)) {
|
|
|
HnqzUser user = SecurityUtils.getUser();
|
|
|
String key = String.format(CacheConstants.TASK_CONTENT_DRAFT, taskTypeId, user.getId());
|
|
@@ -893,7 +946,7 @@ public class ApiController {
|
|
|
|
|
|
// 生成草稿key
|
|
|
String draftKey = IdUtil.fastSimpleUUID();
|
|
|
- log.info("草稿key:{}",draftKey);
|
|
|
+ log.info("草稿key:{}", draftKey);
|
|
|
wmTaskContent.setDraftKey(draftKey);
|
|
|
|
|
|
HnqzUser user = SecurityUtils.getUser();
|
|
@@ -2343,7 +2396,23 @@ public class ApiController {
|
|
|
if (null != wmTaskContent) {
|
|
|
if (null != wmTaskContent.getTemp3()) {
|
|
|
List<WmUserSign> wmUserSignList = new ArrayList<>();
|
|
|
- wmUserSignList.add(wmUserSignService.getById(wmTaskContent.getTemp3()));
|
|
|
+ WmUserSign userSign = wmUserSignService.getById(wmTaskContent.getTemp3());
|
|
|
+ // 如果配置了医院拜访的任务类型模板,则关联保存签到详情
|
|
|
+ if (wmDeptTaskTypeTemplateService.checkDeptIdHospitalTemplate(Integer.valueOf(wmTask.getDeptId()))) {
|
|
|
+ WmUserSignDetail userSignDetail = wmUserSignDetailService.getOne(Wrappers.<WmUserSignDetail>lambdaQuery()
|
|
|
+ .eq(WmUserSignDetail::getSignId, userSign.getId()));
|
|
|
+ if (userSignDetail != null) {
|
|
|
+ if (ArrayUtil.isNotEmpty(userSignDetail.getPurpose())) {
|
|
|
+ String[] purposeNameArr = Stream.of(userSignDetail.getPurpose()).map(s -> UserSignPurposeEnum.resolve(s).getName()).toArray(String[]::new);
|
|
|
+ userSignDetail.setPurposeName(purposeNameArr);
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(userSignDetail.getResult())) {
|
|
|
+ userSignDetail.setResultName(UserSignResultEnum.resolve(userSignDetail.getResult()).getName());
|
|
|
+ }
|
|
|
+ userSign.setUserSignDetail(userSignDetail);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ wmUserSignList.add(userSign);
|
|
|
return R.ok(wmUserSignList);
|
|
|
}
|
|
|
}
|