Browse Source

修改冲突

recovery
wang0018 4 years ago
parent
commit
6c4a3800b3
  1. 60
      tall/src/main/java/com/ccsens/tall/bean/dto/InputDocDto.java
  2. 51
      tall/src/main/java/com/ccsens/tall/bean/vo/InputDocVo.java
  3. 15
      tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java
  4. 44
      tall/src/main/java/com/ccsens/tall/service/IInputDocService.java
  5. 271
      tall/src/main/java/com/ccsens/tall/service/InputDocService.java
  6. 65
      tall/src/main/java/com/ccsens/tall/web/InputDocController.java
  7. 47
      tall/src/main/resources/mapper_dao/IInputDocDao.xml
  8. 3
      util/src/main/java/com/ccsens/util/CodeEnum.java

60
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 io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
@Data @Data
@ -20,4 +23,61 @@ public class InputDocDto {
@ApiModelProperty("输入文档集合") @ApiModelProperty("输入文档集合")
private List<AddAddInputDoc> list; private List<AddAddInputDoc> list;
} }
@Data
@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;
}
} }

51
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<File> 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;
}
}

15
tall/src/main/java/com/ccsens/tall/persist/dao/IInputDocDao.java

@ -1,6 +1,7 @@
package com.ccsens.tall.persist.dao; package com.ccsens.tall.persist.dao;
import com.ccsens.tall.bean.dto.LwbsDto; import com.ccsens.tall.bean.dto.LwbsDto;
import com.ccsens.tall.bean.vo.InputDocVo;
import com.ccsens.tall.bean.vo.LwbsVo; import com.ccsens.tall.bean.vo.LwbsVo;
import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.bean.vo.TaskVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -12,4 +13,18 @@ import java.util.List;
public interface IInputDocDao { public interface IInputDocDao {
List<TaskVo.NormalTask> selectByCompany(@Param("param") LwbsDto.SelByProjectIdToTaskDto param, @Param("userId") Long userId); List<TaskVo.NormalTask> selectByCompany(@Param("param") LwbsDto.SelByProjectIdToTaskDto param, @Param("userId") Long userId);
/**
* 根据任务Id查询输入文档
* @param taskId
* @return
*/
List<InputDocVo.DocOfTask> findDocByTask(Long taskId);
/**
* 查看文档上传历史记录
* @param docId
* @return
*/
List<InputDocVo.HistoryRecord> viewDocHistory(Long docId);
} }

44
tall/src/main/java/com/ccsens/tall/service/IInputDocService.java

@ -1,8 +1,11 @@
package com.ccsens.tall.service; package com.ccsens.tall.service;
import com.ccsens.tall.bean.dto.InputDocDto;
import com.ccsens.tall.bean.dto.LwbsDto; import com.ccsens.tall.bean.dto.LwbsDto;
import com.ccsens.tall.bean.vo.InputDocVo;
import com.ccsens.tall.bean.vo.LwbsVo; import com.ccsens.tall.bean.vo.LwbsVo;
import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.bean.vo.TaskVo;
import com.ccsens.util.bean.dto.QueryDto;
import java.util.List; import java.util.List;
@ -10,4 +13,45 @@ public interface IInputDocService {
List<LwbsVo.SelByUserIdToComProjectVo> selBylwbs(LwbsDto.SelByUserIdToComProject param, Long userId); List<LwbsVo.SelByUserIdToComProjectVo> selBylwbs(LwbsDto.SelByUserIdToComProject param, Long userId);
TaskVo.ProTaskInfo selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId); TaskVo.ProTaskInfo selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId);
//List<LwbsVo.SelByProjectIdToTasksVo> selByProjectIdToTask(LwbsDto.SelByProjectIdToTaskDto param, Long userId);
/**
* 根据任务id查询输入文档
* @param params 任务id
* @return
*/
List<InputDocVo.DocOfTask> findDocByTask(InputDocDto.FindDocByTask params);
/**
* 给输入文档上传文件
* @param param docId 文档id
* fileId 文件id
*/
void uploadForDoc(InputDocDto.UploadForDoc param,Long userId);
/**
* 查看文档文件上传记录
* @param param
* @return
*/
List<InputDocVo.HistoryRecord> 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);
} }

271
tall/src/main/java/com/ccsens/tall/service/InputDocService.java

@ -1,24 +1,30 @@
package com.ccsens.tall.service; package com.ccsens.tall.service;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
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.dto.LwbsDto;
import com.ccsens.tall.bean.po.ProMember; import com.ccsens.tall.bean.po.*;
import com.ccsens.tall.bean.po.ProMemberExample; import com.ccsens.tall.bean.vo.InputDocVo;
import com.ccsens.tall.bean.po.SysProject;
import com.ccsens.tall.bean.po.SysProjectExample;
import com.ccsens.tall.bean.vo.LwbsVo; import com.ccsens.tall.bean.vo.LwbsVo;
import com.ccsens.tall.bean.vo.TaskVo; import com.ccsens.tall.bean.vo.TaskVo;
import com.ccsens.tall.persist.dao.IInputDocDao; import com.ccsens.tall.persist.dao.IInputDocDao;
import com.ccsens.tall.persist.mapper.ProMemberMapper; 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.tall.persist.mapper.SysProjectMapper;
import com.ccsens.tall.util.TaskUtil; import com.ccsens.tall.util.TaskUtil;
import com.rabbitmq.client.TopologyRecoveryException;
import org.springframework.beans.factory.annotation.Autowired; import com.ccsens.util.CodeEnum;
import com.ccsens.util.exception.BaseException;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
@Service @Service
@ -29,6 +35,14 @@ public class InputDocService implements IInputDocService {
public SysProjectMapper sysProjectMapper; public SysProjectMapper sysProjectMapper;
@Resource @Resource
private IInputDocDao iInputDocDao; private IInputDocDao iInputDocDao;
@Resource
private ProTaskInputRecordMapper proTaskInputRecordMapper;
@Resource
private ProTaskInputDocMapper proTaskInputDocMapper;
@Resource
private Snowflake snowflake;
@Override @Override
public List<LwbsVo.SelByUserIdToComProjectVo> selBylwbs(LwbsDto.SelByUserIdToComProject param, Long userId) { public List<LwbsVo.SelByUserIdToComProjectVo> selBylwbs(LwbsDto.SelByUserIdToComProject param, Long userId) {
List<LwbsVo.SelByUserIdToComProjectVo> selByUserIdToComProjectVos =new ArrayList<LwbsVo.SelByUserIdToComProjectVo>(); List<LwbsVo.SelByUserIdToComProjectVo> selByUserIdToComProjectVos =new ArrayList<LwbsVo.SelByUserIdToComProjectVo>();
@ -89,113 +103,158 @@ public class InputDocService implements IInputDocService {
} }
taskInfo.setGlobalTaskList(globalTaskList); taskInfo.setGlobalTaskList(globalTaskList);
taskInfo.setNormalTaskList(normalTaskList); taskInfo.setNormalTaskList(normalTaskList);
// List<TaskVo.GlobalTask> globalTaskList = new ArrayList<>();
// List<TaskVo.NormalTask> normalTaskList = new ArrayList<>();
// TaskVo.GlobalTask globalTask;
// //从普通和全局任务中拆分开是普通和全局任务
// TaskUtil.Task task = TaskUtil.splitTask(normalTaskList1, param.getStartTime(), param.getEndTime(), param.getProcess());
// if (CollectionUtil.isNotEmpty(task.getGlobalTask())) {
// for (TaskVo.NormalTask global : task.getGlobalTask()) {
// globalTask = new TaskVo.GlobalTask();
// BeanUtil.copyProperties(global, globalTask);
// globalTaskList.add(globalTask);
// }
// }
// if (CollectionUtil.isNotEmpty(task.getCommonTask())) {
// if (param.getPriority() == 0) {
// normalTaskList = sortTaskTime(task.getCommonTask());
// } else {
// normalTaskList = task.getCommonTask();
// }
// }
// taskInfo.setGlobalTaskList(globalTaskList);
// taskInfo.setNormalTaskList(normalTaskList);
return taskInfo; return taskInfo;
} }
private List<TaskVo.NormalTask> sortTaskTime(List<TaskVo.NormalTask> commonTask) { /**
* 根据任务id查找输入文档
* @param param 任务id
* @return
*/
@Override
public List<InputDocVo.DocOfTask> findDocByTask(InputDocDto.FindDocByTask param) {
List<InputDocVo.DocOfTask> docByTask = iInputDocDao.findDocByTask(param.getTaskId());
return docByTask;
}
List<TaskVo.NormalTask> normalTaskList = new ArrayList<>(); /**
List<TaskVo.NormalTask> secondTaskVoList; * 给输入文档上传文件
Set<Long> longSet = new HashSet<>(); * @param param docId 文档id
if (CollectionUtil.isNotEmpty(commonTask)) { */
for (TaskVo.NormalTask secondTaskVo : commonTask) { @Override
longSet.add(secondTaskVo.getBeginTime()); public void uploadForDoc(InputDocDto.UploadForDoc param,Long userId) {
longSet.add(secondTaskVo.getEndTime()); //将之前的文件设置为不使用
} ProTaskInputRecordExample proTaskInputRecordExample = new ProTaskInputRecordExample();
List<Long> timeList = new ArrayList<>(longSet); proTaskInputRecordExample.createCriteria().andInputDocIdEqualTo(param.getDocId());
for (int i = 0; i < timeList.size(); i++) { ProTaskInputRecord newProTaskInputRecord = new ProTaskInputRecord();
for (int j = 0; j < timeList.size() - i - 1; j++) { newProTaskInputRecord.setStatus((byte)0);
if (timeList.get(j) > timeList.get(j + 1)) { proTaskInputRecordMapper.updateByExampleSelective(newProTaskInputRecord,proTaskInputRecordExample);
Long r = timeList.get(j);
timeList.set(j, timeList.get(j + 1)); //多文件添加
timeList.set(j + 1, r); 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<InputDocVo.HistoryRecord> viewDocHistory(InputDocDto.ViewDocHistory param) {
List<InputDocVo.HistoryRecord> 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<ProTaskInputDoc> 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);
} }
} }
} }
int sequence = 1; }
for (int i = 0; i < timeList.size() - 1; i++) {
TaskVo.NormalTask normalTask; //添加输入文档
secondTaskVoList = new ArrayList<>(); for (int i = 0; i < param.getFileName().length; i++) {
Long startTime = timeList.get(i); ProTaskInputDoc proTaskInputDoc = new ProTaskInputDoc();
Long endTime = timeList.get(i + 1); proTaskInputDoc.setId(snowflake.nextId());
proTaskInputDoc.setTaskDetailId(param.getTaskId());
for (TaskVo.NormalTask secondTaskVo : commonTask) { proTaskInputDoc.setName(param.getFileName()[i]);
if (secondTaskVo.getTimeStatus() == 1) { proTaskInputDoc.setIsUpload(0);
if (secondTaskVo.getBeginTime().longValue() == startTime.longValue()) { proTaskInputDocMapper.insertSelective(proTaskInputDoc);
normalTask = new TaskVo.NormalTask(); }
BeanUtil.copyProperties(secondTaskVo, normalTask);
normalTask.setEndTime(null); }
normalTask.setSequence(sequence);
sequence++; /**
normalTaskList.add(normalTask); * 修改输入文档
} * @param param
continue; */
} @Override
if (secondTaskVo.getTimeStatus() == 2) { public void updateDoc(InputDocDto.UpdateDoc param) {
if (secondTaskVo.getEndTime().longValue() == endTime.longValue()) { //判断是否有重复
normalTask = new TaskVo.NormalTask(); ProTaskInputDoc proTaskInputDoc = proTaskInputDocMapper.selectByPrimaryKey(param.getDocId());
BeanUtil.copyProperties(secondTaskVo, normalTask); ProTaskInputDocExample proTaskInputDocExample = new ProTaskInputDocExample();
normalTask.setBeginTime(null); proTaskInputDocExample.createCriteria().andTaskDetailIdEqualTo(proTaskInputDoc.getTaskDetailId());
normalTask.setSequence(sequence); List<ProTaskInputDoc> proTaskInputDocs = proTaskInputDocMapper.selectByExample(proTaskInputDocExample);
sequence++; if (null != proTaskInputDocs && 0 < proTaskInputDocs.size()){
normalTaskList.add(normalTask); for (ProTaskInputDoc docData:proTaskInputDocs){
} if (docData.getName().equals(param.getFileName())){
continue; throw new BaseException(CodeEnum.DOC_REPEAT);
}
if (secondTaskVo.getBeginTime() < startTime && secondTaskVo.getEndTime() <= endTime && secondTaskVo.getEndTime() > startTime) {
secondTaskVo.setBeginTime(startTime);
secondTaskVoList.add(secondTaskVo);
} else if (secondTaskVo.getBeginTime() >= startTime && secondTaskVo.getEndTime() <= endTime) {
secondTaskVoList.add(secondTaskVo);
} else if (secondTaskVo.getBeginTime() >= startTime && secondTaskVo.getBeginTime() < endTime && secondTaskVo.getEndTime() > endTime) {
secondTaskVo.setEndTime(endTime);
secondTaskVoList.add(secondTaskVo);
} else if (secondTaskVo.getBeginTime() < startTime && secondTaskVo.getEndTime() > endTime) {
secondTaskVo.setBeginTime(startTime);
secondTaskVo.setEndTime(endTime);
secondTaskVoList.add(secondTaskVo);
}
}
if (CollectionUtil.isNotEmpty(secondTaskVoList)) {
if (secondTaskVoList.size() == 1) {
normalTask = new TaskVo.NormalTask();
BeanUtil.copyProperties(secondTaskVoList.get(0), normalTask);
normalTask.setSequence(sequence);
sequence++;
normalTaskList.add(normalTask);
} else {
normalTask = new TaskVo.NormalTask();
normalTask.setBeginTime(startTime);
normalTask.setEndTime(endTime);
normalTask.setSecondTasks(secondTaskVoList);
normalTask.setSequence(sequence);
sequence++;
normalTaskList.add(normalTask);
}
} }
} }
} }
return normalTaskList;
//删除记录表中已上传的文档
if (1 == proTaskInputDoc.getIsUpload()){
ProTaskInputRecordExample proTaskInputRecordExample = new ProTaskInputRecordExample();
proTaskInputRecordExample.createCriteria().andInputDocIdEqualTo(param.getDocId());
List<ProTaskInputRecord> 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<ProTaskInputRecord> 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);
} }
} }

65
tall/src/main/java/com/ccsens/tall/web/InputDocController.java

@ -1,8 +1,10 @@
package com.ccsens.tall.web; package com.ccsens.tall.web;
import com.ccsens.cloudutil.annotation.MustLogin; 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.InputDocDto;
import com.ccsens.tall.bean.dto.LabelDto; 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.bean.vo.LabelVo;
import com.ccsens.tall.service.IInputDocService; import com.ccsens.tall.service.IInputDocService;
import com.ccsens.util.JsonResponse; import com.ccsens.util.JsonResponse;
@ -29,7 +31,7 @@ import java.util.List;
@RequestMapping("/inputDoc") @RequestMapping("/inputDoc")
public class InputDocController { public class InputDocController {
@Autowired @Autowired
IInputDocService iInputDocService; private IInputDocService iInputDocService;
@MustLogin @MustLogin
@ApiOperation(value = "添加输入文档", notes = "1007:添加输入文档") @ApiOperation(value = "添加输入文档", notes = "1007:添加输入文档")
@RequestMapping(value = "/addInputDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/addInputDoc", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
@ -39,4 +41,65 @@ public class InputDocController {
log.info("添加输入文档"); log.info("添加输入文档");
return JsonResponse.newInstance().ok(); return JsonResponse.newInstance().ok();
} }
@MustLogin
@ApiOperation(value = "通过任务id查询输入文档", notes = "1007:通过任务id查询输入文档")
@RequestMapping(value = "/docByTask", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<InputDocVo.DocOfTask>> findDocByTask(@ApiParam @Validated @RequestBody QueryDto<InputDocDto.FindDocByTask> params) {
log.info("通过任务id查询输入文档:{}",params);
List<InputDocVo.DocOfTask> 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<InputDocDto.UploadForDoc> 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<InputDocDto.ViewDocHistory> params) {
log.info("查看文档上传历史记录:{}",params);
List<InputDocVo.HistoryRecord> 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<InputDocDto.AddDoc> 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<InputDocDto.UpdateDoc> 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<InputDocDto.DeleteDoc> params) {
log.info("删除输入文档:{}",params);
iInputDocService.delDoc(params.getParam());
log.info("删除输入文档");
return JsonResponse.newInstance().ok();
}
} }

47
tall/src/main/resources/mapper_dao/IInputDocDao.xml

@ -22,6 +22,16 @@
<result property="hasGroup" column="has_group"/> <result property="hasGroup" column="has_group"/>
</collection> </collection>
</resultMap> </resultMap>
<resultMap id="DocAndFile" type="com.ccsens.tall.bean.vo.InputDocVo$DocOfTask">
<id property="docId" column="docId" />
<id property="docName" column="docName"/>
<result property="isUpload" column="isUpload"/>
<collection property="files" ofType="com.ccsens.tall.bean.vo.InputDocVo$File">
<id column="recordId" property="recordId" />
<result column="fileName" property="fileName"/>
<result column="fileUrl" property="fileUrl"/>
</collection>
</resultMap>
<select id="selectByCompany" resultMap="ass"> <select id="selectByCompany" resultMap="ass">
SELECT SELECT
tsp.id AS pId, tsp.id AS pId,
@ -87,4 +97,41 @@
and tsp.id =#{param.id} and tsp.id =#{param.id}
</if> </if>
</select> </select>
<select id="findDocByTask" resultMap="DocAndFile">
SELECT
tid.id AS docId,
tid.name AS docName,
tid.is_upload AS isUpload,
tir.id AS recordId,
tf.file_name AS fileName,
tf.visit_location AS fileUrl
FROM
t_pro_task_input_doc AS tid
LEFT JOIN t_pro_task_input_record AS tir ON tid.id = tir.input_doc_id
LEFT JOIN t_file AS tf ON tir.file_id = tf.id
WHERE
tid.task_detail_id = #{taskId}
AND tid.is_upload = 1
AND tid.rec_status = 0
AND tir.rec_status = 0
AND tf.rec_status = 0
</select>
<select id="viewDocHistory" resultType="com.ccsens.tall.bean.vo.InputDocVo$HistoryRecord">
SELECT
tir.id,
tf.file_name,
tf.visit_location,
tir.`status`
FROM
t_pro_task_input_record AS tir
LEFT JOIN t_file AS tf ON tir.file_id = tf.id
LEFT JOIN t_pro_task_input_doc AS tid ON tid.id = tir.input_doc_id
WHERE
tid.id = #{docId}
ORDER BY
tir.created_at DESC
</select>
</mapper> </mapper>

3
util/src/main/java/com/ccsens/util/CodeEnum.java

@ -3,7 +3,7 @@ package com.ccsens.util;
import lombok.Getter; import lombok.Getter;
@Getter @Getter
public enum CodeEnum { public enum CodeEnum {
/** /**
* 异常 * 异常
*/ */
@ -186,6 +186,7 @@ public enum CodeEnum {
ZHUYUANIDCHONGFU(155,"住院号重复",true), ZHUYUANIDCHONGFU(155,"住院号重复",true),
MEIYOUGAIYISHENG(156,"该医生信息查询不正确",true), MEIYOUGAIYISHENG(156,"该医生信息查询不正确",true),
QINGTIJIAOSHITI(157,"未做出修改答案,修改后再提交",true), QINGTIJIAOSHITI(157,"未做出修改答案,修改后再提交",true),
DOC_REPEAT(158,"输入文档已存在",true),
; ;

Loading…
Cancel
Save