From 6a967c4c8551ef828370bb9768acc039f517b42e Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Tue, 23 Mar 2021 15:22:45 +0800 Subject: [PATCH 1/2] 2021323 --- .../java/com/ccsens/tall/bean/dto/InputDocDto.java | 6 ++++++ .../java/com/ccsens/tall/web/InputDocController.java | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java index acafd6ee..5122be15 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java @@ -20,4 +20,10 @@ public class InputDocDto { @ApiModelProperty("输入文档集合") private List list; } + + @Data + @ApiModel("gen") + public static class FindDocByTask{ + + } } diff --git a/tall/src/main/java/com/ccsens/tall/web/InputDocController.java b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java index e4551012..df1f1af3 100644 --- a/tall/src/main/java/com/ccsens/tall/web/InputDocController.java +++ b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java @@ -29,7 +29,7 @@ import java.util.List; @RequestMapping("/inputDoc") public class InputDocController { @Autowired - IInputDocService iInputDocService; + private IInputDocService iInputDocService; @MustLogin @ApiOperation(value = "添加输入文档", notes = "1007:添加输入文档") @RequestMapping(value = "/addInputDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @@ -39,4 +39,14 @@ public class InputDocController { log.info("添加输入文档"); return JsonResponse.newInstance().ok(); } + + @MustLogin + @ApiOperation(value = "通过任务id查询输入文档", notes = "1007:通过任务id查询输入文档") + @RequestMapping(value = "/addInputDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse findDocByTask(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("通过任务id查询输入文档:{}",params); + //iInputDocService.addInputDoc(params.getParam(),params.getUserId()); + log.info("通过任务id查询输入文档"); + return JsonResponse.newInstance().ok(); + } } From 19531f35121b7e59c82bececca52067e173e69d9 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Wed, 24 Mar 2021 15:04:06 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=BE=93=E5=85=A5=E6=96=87=E6=A1=A3?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ccsens/tall/bean/dto/InputDocDto.java | 56 +++++- .../com/ccsens/tall/bean/vo/InputDocVo.java | 51 +++++ .../ccsens/tall/persist/dao/IInputDocDao.java | 15 ++ .../ccsens/tall/service/IInputDocService.java | 42 +++++ .../ccsens/tall/service/InputDocService.java | 175 +++++++++++++++++- .../ccsens/tall/web/InputDocController.java | 59 +++++- .../resources/mapper_dao/IInputDocDao.xml | 48 +++++ .../main/java/com/ccsens/util/CodeEnum.java | 3 +- 8 files changed, 440 insertions(+), 9 deletions(-) create mode 100644 tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java index 5122be15..fe8f2a25 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java +++ b/tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java @@ -4,6 +4,9 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; import java.util.List; @Data @@ -22,8 +25,59 @@ public class InputDocDto { } @Data - @ApiModel("gen") + @ApiModel("根据任务id查找文档") public static class FindDocByTask{ + @NotNull(message = "请选择任务") + @ApiModelProperty("任务id") + private Long taskId; + } + + @Data + @ApiModel("给输入文档上传文件") + public static class UploadForDoc{ + @NotNull(message = "请选择输入文档") + @ApiModelProperty("输入文档Id") + private Long docId; + @NotNull(message = "上传文件不能为空") + @ApiModelProperty("文件Id,数组") + private Long[] fileIds; + } + + @Data + @ApiModel("查看文档上传记录") + public static class ViewDocHistory{ + @NotNull(message = "请选择要查看的文档") + @ApiModelProperty("输入文档Id") + private Long docId; + } + @Data + @ApiModel("添加输入文档") + public static class AddDoc{ + @NotNull(message = "请选择要添加文档的任务") + @ApiModelProperty("任务id") + private Long taskId; + @NotEmpty(message = "文档名称不能为空") + @ApiModelProperty("文件名称") + private String[] fileName; + } + + @Data + @ApiModel("修改输入文档") + public static class UpdateDoc{ + @NotNull(message = "请选择要修改的文档") + @ApiModelProperty("文档id") + private Long docId; + @NotBlank(message = "文件名称不能为空") + @ApiModelProperty("文件名称") + private String fileName; + } + + @Data + @ApiModel("删除输入文档") + public static class DeleteDoc{ + @NotNull(message = "请选择要删除的文档") + @ApiModelProperty("文档id") + private Long docId; } } diff --git a/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java b/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java new file mode 100644 index 00000000..55f49605 --- /dev/null +++ b/tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java @@ -0,0 +1,51 @@ +package com.ccsens.tall.bean.vo; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * + * @author mz + */ + +@Data +public class InputDocVo { + + @Data + @ApiModel("根据任务id查到的文档") + public static class DocOfTask{ + @ApiModelProperty("输入文档id") + private Long docId; + @ApiModelProperty("输入文档名称") + private String docName; + @ApiModelProperty("是否上传 0否 1是") + private Byte isUpload; + List files; + } + @Data + @ApiModel("文档下的文件") + public static class File{ + @ApiModelProperty("上传记录id") + private Long recordId; + @ApiModelProperty("文件名称") + private String fileName; + @ApiModelProperty("文件访问路径") + private String fileUrl; + } + + @Data + @ApiModel("查看文档历史记录") + public static class HistoryRecord{ + @ApiModelProperty("文件名称") + private String fileName; + @ApiModelProperty("文件访问地址") + private String docUrl; + @ApiModelProperty("文件状态 0未使用 1正在使用") + private String status; + } + + +} diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java index 62f22a41..5c8213c7 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java @@ -1,6 +1,7 @@ package com.ccsens.tall.persist.dao; import com.ccsens.tall.bean.dto.LwbsDto; +import com.ccsens.tall.bean.vo.InputDocVo; import com.ccsens.tall.bean.vo.LwbsVo; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -11,4 +12,18 @@ import java.util.List; public interface IInputDocDao { List selectById(@Param("param") LwbsDto.SelByProjectIdToTaskDto param, @Param("userId") Long userId); + + /** + * 根据任务Id查询输入文档 + * @param taskId + * @return + */ + List findDocByTask(Long taskId); + + /** + * 查看文档上传历史记录 + * @param docId + * @return + */ + List viewDocHistory(Long docId); } diff --git a/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java index 53c651d2..f4a627f9 100644 --- a/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/IInputDocService.java @@ -1,7 +1,10 @@ package com.ccsens.tall.service; +import com.ccsens.tall.bean.dto.InputDocDto; import com.ccsens.tall.bean.dto.LwbsDto; +import com.ccsens.tall.bean.vo.InputDocVo; import com.ccsens.tall.bean.vo.LwbsVo; +import com.ccsens.util.bean.dto.QueryDto; import java.util.List; @@ -9,4 +12,43 @@ public interface IInputDocService { List selBylwbs(LwbsDto.SelByUserIdToComProject param, Long userId); List selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId); + + /** + * 根据任务id查询输入文档 + * @param params 任务id + * @return + */ + List findDocByTask(InputDocDto.FindDocByTask params); + + /** + * 给输入文档上传文件 + * @param param docId 文档id + * fileId 文件id + */ + void uploadForDoc(InputDocDto.UploadForDoc param,Long userId); + + /** + * 查看文档文件上传记录 + * @param param + * @return + */ + List viewDocHistory(InputDocDto.ViewDocHistory param); + + /** + * 添加输入文档 + * @param param + */ + void addDoc(InputDocDto.AddDoc param); + + /** + * 修改输入文档 + * @param param + */ + void updateDoc(InputDocDto.UpdateDoc param); + + /** + * 删除输入文档 + * @param param + */ + void delDoc(InputDocDto.DeleteDoc param); } diff --git a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java index 2653f266..0ed55597 100644 --- a/tall/src/main/java/com/ccsens/tall/service/InputDocService.java +++ b/tall/src/main/java/com/ccsens/tall/service/InputDocService.java @@ -1,14 +1,20 @@ package com.ccsens.tall.service; +import cn.hutool.core.lang.Snowflake; +import com.ccsens.tall.bean.dto.InputDocDto; import com.ccsens.tall.bean.dto.LwbsDto; -import com.ccsens.tall.bean.po.ProMember; -import com.ccsens.tall.bean.po.ProMemberExample; -import com.ccsens.tall.bean.po.SysProject; -import com.ccsens.tall.bean.po.SysProjectExample; +import com.ccsens.tall.bean.po.*; +import com.ccsens.tall.bean.vo.InputDocVo; import com.ccsens.tall.bean.vo.LwbsVo; import com.ccsens.tall.persist.dao.IInputDocDao; import com.ccsens.tall.persist.mapper.ProMemberMapper; +import com.ccsens.tall.persist.mapper.ProTaskInputDocMapper; +import com.ccsens.tall.persist.mapper.ProTaskInputRecordMapper; import com.ccsens.tall.persist.mapper.SysProjectMapper; +import com.ccsens.util.CodeEnum; +import com.ccsens.util.JsonResponse; +import com.ccsens.util.bean.dto.QueryDto; +import com.ccsens.util.exception.BaseException; import com.rabbitmq.client.TopologyRecoveryException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -25,6 +31,14 @@ public class InputDocService implements IInputDocService { public SysProjectMapper sysProjectMapper; @Resource private IInputDocDao iInputDocDao; + @Resource + private ProTaskInputRecordMapper proTaskInputRecordMapper; + @Resource + private ProTaskInputDocMapper proTaskInputDocMapper; + @Resource + private Snowflake snowflake; + + @Override public List selBylwbs(LwbsDto.SelByUserIdToComProject param, Long userId) { List selByUserIdToComProjectVos =new ArrayList(); @@ -62,4 +76,157 @@ public class InputDocService implements IInputDocService { return se; } + + /** + * 根据任务id查找输入文档 + * @param param 任务id + * @return + */ + @Override + public List findDocByTask(InputDocDto.FindDocByTask param) { + List docByTask = iInputDocDao.findDocByTask(param.getTaskId()); + return docByTask; + } + + /** + * 给输入文档上传文件 + * @param param docId 文档id + */ + @Override + public void uploadForDoc(InputDocDto.UploadForDoc param,Long userId) { + //将之前的文件设置为不使用 + ProTaskInputRecordExample proTaskInputRecordExample = new ProTaskInputRecordExample(); + proTaskInputRecordExample.createCriteria().andInputDocIdEqualTo(param.getDocId()); + ProTaskInputRecord newProTaskInputRecord = new ProTaskInputRecord(); + newProTaskInputRecord.setStatus((byte)0); + proTaskInputRecordMapper.updateByExampleSelective(newProTaskInputRecord,proTaskInputRecordExample); + + //多文件添加 + for (int i = 0; i < param.getFileIds().length; i++) { + ProTaskInputRecord proTaskInputRecord = new ProTaskInputRecord(); + proTaskInputRecord.setInputDocId(param.getDocId()); + proTaskInputRecord.setFileId(param.getFileIds()[i]); + proTaskInputRecord.setStatus((byte)1); + proTaskInputRecord.setId(snowflake.nextId()); + proTaskInputRecord.setUserId(userId); + proTaskInputRecordMapper.insertSelective(proTaskInputRecord); + } + + //通过输入文档id将输入文档表中的状态更改为已上传 + ProTaskInputDoc proTaskInputDoc = new ProTaskInputDoc(); + proTaskInputDoc.setId(param.getDocId()); + proTaskInputDoc.setIsUpload(1); + proTaskInputDocMapper.updateByPrimaryKeySelective(proTaskInputDoc); + } + + /** + * 查看文档上传文件历史记录 + * @param param docId 文档id + * @return + */ + @Override + public List viewDocHistory(InputDocDto.ViewDocHistory param) { + List historyRecords = iInputDocDao.viewDocHistory(param.getDocId()); + return historyRecords; + } + + /** + * 添加输入文档 + * @param param + */ + @Override + public void addDoc(InputDocDto.AddDoc param) { + //判断是否有重复名称 + ProTaskInputDocExample proTaskInputDocExample = new ProTaskInputDocExample(); + proTaskInputDocExample.createCriteria().andTaskDetailIdEqualTo(param.getTaskId()).andRecStatusEqualTo((byte)0); + List proTaskInputDocs = proTaskInputDocMapper.selectByExample(proTaskInputDocExample); + if (null != proTaskInputDocs && 0 < proTaskInputDocs.size()){ + for (ProTaskInputDoc proTaskInputDoc : proTaskInputDocs){ + for (int i = 0; i < param.getFileName().length; i++) { + if (proTaskInputDoc.getName().equals(param.getFileName()[i])){ + throw new BaseException(CodeEnum.DOC_REPEAT); + } + } + } + } + + //添加输入文档 + for (int i = 0; i < param.getFileName().length; i++) { + ProTaskInputDoc proTaskInputDoc = new ProTaskInputDoc(); + proTaskInputDoc.setId(snowflake.nextId()); + proTaskInputDoc.setTaskDetailId(param.getTaskId()); + proTaskInputDoc.setName(param.getFileName()[i]); + proTaskInputDoc.setIsUpload(0); + proTaskInputDocMapper.insertSelective(proTaskInputDoc); + } + + } + + /** + * 修改输入文档 + * @param param + */ + @Override + public void updateDoc(InputDocDto.UpdateDoc param) { + //判断是否有重复 + ProTaskInputDoc proTaskInputDoc = proTaskInputDocMapper.selectByPrimaryKey(param.getDocId()); + ProTaskInputDocExample proTaskInputDocExample = new ProTaskInputDocExample(); + proTaskInputDocExample.createCriteria().andTaskDetailIdEqualTo(proTaskInputDoc.getTaskDetailId()); + List proTaskInputDocs = proTaskInputDocMapper.selectByExample(proTaskInputDocExample); + if (null != proTaskInputDocs && 0 < proTaskInputDocs.size()){ + for (ProTaskInputDoc docData:proTaskInputDocs){ + if (docData.getName().equals(param.getFileName())){ + throw new BaseException(CodeEnum.DOC_REPEAT); + } + } + } + + //删除记录表中已上传的文档 + if (1 == proTaskInputDoc.getIsUpload()){ + ProTaskInputRecordExample proTaskInputRecordExample = new ProTaskInputRecordExample(); + proTaskInputRecordExample.createCriteria().andInputDocIdEqualTo(param.getDocId()); + List proTaskInputRecords = proTaskInputRecordMapper.selectByExample(proTaskInputRecordExample); + for (ProTaskInputRecord record:proTaskInputRecords){ + ProTaskInputRecord inputRecord = new ProTaskInputRecord(); + inputRecord.setId(record.getId()); + inputRecord.setStatus((byte)0); + inputRecord.setRecStatus((byte)2); + proTaskInputRecordMapper.updateByPrimaryKeySelective(inputRecord); + } + } + + //修改数据 + ProTaskInputDoc newDoc = new ProTaskInputDoc(); + newDoc.setId(param.getDocId()); + newDoc.setName(param.getFileName()); + newDoc.setIsUpload(0); + proTaskInputDocMapper.updateByPrimaryKeySelective(newDoc); + + } + + /** + * 删除输入文档 + * @param param + */ + @Override + public void delDoc(InputDocDto.DeleteDoc param) { + //删除记录中表中的数据 + ProTaskInputRecordExample recordExample = new ProTaskInputRecordExample(); + recordExample.createCriteria().andInputDocIdEqualTo(param.getDocId()).andRecStatusEqualTo((byte)0); + List proTaskInputRecords = proTaskInputRecordMapper.selectByExample(recordExample); + for (ProTaskInputRecord inputRecord:proTaskInputRecords){ + ProTaskInputRecord proTaskInputRecord = new ProTaskInputRecord(); + proTaskInputRecord.setId(inputRecord.getId()); + proTaskInputRecord.setStatus((byte)0); + proTaskInputRecord.setRecStatus((byte)2); + proTaskInputRecordMapper.updateByPrimaryKeySelective(proTaskInputRecord); + } + + //删除输入文档表中的数据 + ProTaskInputDoc proTaskInputDoc = new ProTaskInputDoc(); + proTaskInputDoc.setId(param.getDocId()); + proTaskInputDoc.setRecStatus((byte)2); + proTaskInputDocMapper.updateByPrimaryKeySelective(proTaskInputDoc); + } + } diff --git a/tall/src/main/java/com/ccsens/tall/web/InputDocController.java b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java index df1f1af3..d8a755d7 100644 --- a/tall/src/main/java/com/ccsens/tall/web/InputDocController.java +++ b/tall/src/main/java/com/ccsens/tall/web/InputDocController.java @@ -1,8 +1,10 @@ package com.ccsens.tall.web; import com.ccsens.cloudutil.annotation.MustLogin; +import com.ccsens.tall.annotation.MustLoginTall; import com.ccsens.tall.bean.dto.InputDocDto; import com.ccsens.tall.bean.dto.LabelDto; +import com.ccsens.tall.bean.vo.InputDocVo; import com.ccsens.tall.bean.vo.LabelVo; import com.ccsens.tall.service.IInputDocService; import com.ccsens.util.JsonResponse; @@ -42,11 +44,62 @@ public class InputDocController { @MustLogin @ApiOperation(value = "通过任务id查询输入文档", notes = "1007:通过任务id查询输入文档") - @RequestMapping(value = "/addInputDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse findDocByTask(@ApiParam @Validated @RequestBody QueryDto params) { + @RequestMapping(value = "/docByTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> findDocByTask(@ApiParam @Validated @RequestBody QueryDto params) { log.info("通过任务id查询输入文档:{}",params); - //iInputDocService.addInputDoc(params.getParam(),params.getUserId()); + List docByTask = iInputDocService.findDocByTask(params.getParam()); log.info("通过任务id查询输入文档"); + return JsonResponse.newInstance().ok(docByTask); + } + + @MustLogin + @ApiOperation(value = "给输入文档上传文件", notes = "1007:给输入文档上传文件") + @RequestMapping(value = "/uploadForDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse uploadForDoc(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("给输入文档上传文件:{}",params); + iInputDocService.uploadForDoc(params.getParam(),params.getUserId()); + log.info("给输入文档上传文件"); + return JsonResponse.newInstance().ok(); + } + + @MustLogin + @ApiOperation(value = "查看文档上传历史记录", notes = "1007:查看文档上传历史记录") + @RequestMapping(value = "/viewDocHistory", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse viewDocHistory(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查看文档上传历史记录:{}",params); + List historyRecords = iInputDocService.viewDocHistory(params.getParam()); + log.info("查看文档上传历史记录"); + return JsonResponse.newInstance().ok(historyRecords); + } + + @MustLogin + @ApiOperation(value = "添加输入文档", notes = "1007:添加输入文档") + @RequestMapping(value = "/addDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse addDoc(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("添加输入文档:{}",params); + iInputDocService.addDoc(params.getParam()); + log.info("添加输入文档"); + return JsonResponse.newInstance().ok(); + } + + @MustLogin + @ApiOperation(value = "修改输入文档", notes = "1007:修改输入文档") + @RequestMapping(value = "/updateDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse updateDoc(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("修改输入文档:{}",params); + iInputDocService.updateDoc(params.getParam()); + log.info("修改输入文档"); + return JsonResponse.newInstance().ok(); + } + + @MustLogin + @ApiOperation(value = "删除输入文档", notes = "1007:删除输入文档") + @RequestMapping(value = "/delDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse delDoc(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("删除输入文档:{}",params); + iInputDocService.delDoc(params.getParam()); + log.info("删除输入文档"); return JsonResponse.newInstance().ok(); } + } diff --git a/tall/src/main/resources/mapper_dao/IInputDocDao.xml b/tall/src/main/resources/mapper_dao/IInputDocDao.xml index 4bee4226..9b91ebba 100644 --- a/tall/src/main/resources/mapper_dao/IInputDocDao.xml +++ b/tall/src/main/resources/mapper_dao/IInputDocDao.xml @@ -11,6 +11,17 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/util/src/main/java/com/ccsens/util/CodeEnum.java b/util/src/main/java/com/ccsens/util/CodeEnum.java index 00a56c1e..9c9979e2 100644 --- a/util/src/main/java/com/ccsens/util/CodeEnum.java +++ b/util/src/main/java/com/ccsens/util/CodeEnum.java @@ -3,7 +3,7 @@ package com.ccsens.util; import lombok.Getter; @Getter -public enum CodeEnum { +public enum CodeEnum { /** * 异常 */ @@ -186,6 +186,7 @@ public enum CodeEnum { ZHUYUANIDCHONGFU(155,"住院号重复",true), MEIYOUGAIYISHENG(156,"该医生信息查询不正确",true), QINGTIJIAOSHITI(157,"未做出修改答案,修改后再提交",true), + DOC_REPEAT(158,"输入文档已存在",true), ;