Commit 9389bbe8 authored by W_Y's avatar W_Y

添加签字图片地址&确认车型审查问卷接口

parent ec1cdab3
...@@ -197,4 +197,7 @@ public class CarReviewTask implements Serializable { ...@@ -197,4 +197,7 @@ public class CarReviewTask implements Serializable {
@ApiModelProperty("车型问卷审查结果") @ApiModelProperty("车型问卷审查结果")
private String reviewResult; private String reviewResult;
@ApiModelProperty("问卷签名图片地址")
private String reviewImagesUrl;
} }
...@@ -150,4 +150,7 @@ public class SystemReviewTask { ...@@ -150,4 +150,7 @@ public class SystemReviewTask {
@ApiModelProperty("提交人姓名") @ApiModelProperty("提交人姓名")
private String submitByName; private String submitByName;
@ApiModelProperty("签名图片地址")
private String imagesUrl;
} }
...@@ -41,6 +41,12 @@ public interface CarReviewTaskService extends IService<CarReviewTask> { ...@@ -41,6 +41,12 @@ public interface CarReviewTaskService extends IService<CarReviewTask> {
*/ */
void startReviewTask(CarReviewTaskStartRequest request); void startReviewTask(CarReviewTaskStartRequest request);
/**
* 确认一个车辆审查任务中的问卷任务
* @param request
*/
void confirmReviewTask(CarReviewTaskConfirmRequest request);
/** /**
* 提交一个车辆审查任务中的问卷任务 * 提交一个车辆审查任务中的问卷任务
* @param request * @param request
......
...@@ -9,5 +9,7 @@ public interface StrategyCarReviewTask { ...@@ -9,5 +9,7 @@ public interface StrategyCarReviewTask {
void doStartReview(CarReviewTask carReviewTask); void doStartReview(CarReviewTask carReviewTask);
void doConfirmReview(CarReviewTask carReviewTask);
void doSubmitReview(CarReviewTask carReviewTask); void doSubmitReview(CarReviewTask carReviewTask);
} }
...@@ -12,6 +12,7 @@ import com.ruoyi.mapper.CarReviewTaskMapper; ...@@ -12,6 +12,7 @@ import com.ruoyi.mapper.CarReviewTaskMapper;
import com.ruoyi.service.TaskUserRelationService; import com.ruoyi.service.TaskUserRelationService;
import com.ruoyi.service.StandardService; import com.ruoyi.service.StandardService;
import com.ruoyi.system.service.ISysUserService; import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.web.request.CarReviewTaskConfirmRequest;
import com.ruoyi.web.request.CarReviewTaskCreateRequest; import com.ruoyi.web.request.CarReviewTaskCreateRequest;
import com.ruoyi.web.request.CarReviewTaskStartRequest; import com.ruoyi.web.request.CarReviewTaskStartRequest;
import com.ruoyi.web.request.CarReviewTaskSubmitRequest; import com.ruoyi.web.request.CarReviewTaskSubmitRequest;
...@@ -125,6 +126,13 @@ public class CarReviewTaskServiceImpl extends ServiceImpl<CarReviewTaskMapper, C ...@@ -125,6 +126,13 @@ public class CarReviewTaskServiceImpl extends ServiceImpl<CarReviewTaskMapper, C
strategyCarReviewTaskContext.getResource(carReviewTask.getReviewStatus()).doStartReview(carReviewTask); strategyCarReviewTaskContext.getResource(carReviewTask.getReviewStatus()).doStartReview(carReviewTask);
} }
@Override
public void confirmReviewTask(CarReviewTaskConfirmRequest request) {
CarReviewTask carReviewTask = carReviewTaskService.getById(request.getTaskId());
strategyCarReviewTaskContext.getResource(carReviewTask.getReviewStatus()).doConfirmReview(carReviewTask);
}
@Override @Override
public void submitReviewTask(CarReviewTaskSubmitRequest request) { public void submitReviewTask(CarReviewTaskSubmitRequest request) {
......
...@@ -38,6 +38,11 @@ public class StrategyCarReviewTaskFinish implements StrategyCarReviewTask, Initi ...@@ -38,6 +38,11 @@ public class StrategyCarReviewTaskFinish implements StrategyCarReviewTask, Initi
throw new ServiceException("不能开始一个结束的任务", HttpStatus.ERROR); throw new ServiceException("不能开始一个结束的任务", HttpStatus.ERROR);
} }
@Override
public void doConfirmReview(CarReviewTask carReviewTask) {
throw new ServiceException("不能确认一个结束的任务", HttpStatus.ERROR);
}
@Override @Override
public void doSubmitReview(CarReviewTask carReviewTask) { public void doSubmitReview(CarReviewTask carReviewTask) {
throw new ServiceException("不能提交一个结束的任务", HttpStatus.ERROR); throw new ServiceException("不能提交一个结束的任务", HttpStatus.ERROR);
......
...@@ -61,6 +61,11 @@ public class StrategyCarReviewTaskNew implements StrategyCarReviewTask, Initiali ...@@ -61,6 +61,11 @@ public class StrategyCarReviewTaskNew implements StrategyCarReviewTask, Initiali
carReviewTaskMapper.updateById(carReviewTask); carReviewTaskMapper.updateById(carReviewTask);
} }
@Override
public void doConfirmReview(CarReviewTask carReviewTask) {
throw new ServiceException("不能确认一个未开始的任务", HttpStatus.ERROR);
}
@Override @Override
public void doSubmitReview(CarReviewTask carReviewTask) { public void doSubmitReview(CarReviewTask carReviewTask) {
throw new ServiceException("不能提交一个未开始的任务", HttpStatus.ERROR); throw new ServiceException("不能提交一个未开始的任务", HttpStatus.ERROR);
......
...@@ -33,6 +33,11 @@ public class StrategyCarReviewTaskNone implements StrategyCarReviewTask, Initial ...@@ -33,6 +33,11 @@ public class StrategyCarReviewTaskNone implements StrategyCarReviewTask, Initial
throw new ServiceException("不能开始一个不存在的任务", HttpStatus.ERROR); throw new ServiceException("不能开始一个不存在的任务", HttpStatus.ERROR);
} }
@Override
public void doConfirmReview(CarReviewTask carReviewTask) {
throw new ServiceException("不能确认一个不存在的任务", HttpStatus.ERROR);
}
@Override @Override
public void doSubmitReview(CarReviewTask carReviewTask) { public void doSubmitReview(CarReviewTask carReviewTask) {
throw new ServiceException("不能提交一个不存在的任务", HttpStatus.ERROR); throw new ServiceException("不能提交一个不存在的任务", HttpStatus.ERROR);
......
...@@ -89,8 +89,7 @@ public class StrategyCarReviewTaskPending implements StrategyCarReviewTask, Init ...@@ -89,8 +89,7 @@ public class StrategyCarReviewTaskPending implements StrategyCarReviewTask, Init
} }
@Override @Override
public void doSubmitReview(CarReviewTask carReviewTask) { public void doConfirmReview(CarReviewTask carReviewTask) {
List<ReviewDetails> detailsList = reviewDetailsMapper.findNoResult(carReviewTask.getId()); List<ReviewDetails> detailsList = reviewDetailsMapper.findNoResult(carReviewTask.getId());
if (detailsList != null) { if (detailsList != null) {
...@@ -106,15 +105,8 @@ public class StrategyCarReviewTaskPending implements StrategyCarReviewTask, Init ...@@ -106,15 +105,8 @@ public class StrategyCarReviewTaskPending implements StrategyCarReviewTask, Init
setDetailsResult(standardTree, results); setDetailsResult(standardTree, results);
carReviewTask.setStandard(standardTree); carReviewTask.setStandard(standardTree);
// 4. 填充review_submit_time // 4. 修改任务状态为 SIGNED 待签字
carReviewTask.setReviewSubmitTime(new Date()); carReviewTask.setReviewStatus(CarReviewTask.REVIEW_STATUS_SIGNED);
// 5. 修改任务状态为 FINISH
carReviewTask.setReviewStatus(CarReviewTask.REVIEW_STATUS_FINISH);
// 6. 填写当前用户id
// 获取当前登陆人
SysUser loginUser = SecurityUtils.getLoginUser().getUser();
carReviewTask.setReviewSubmitId(loginUser.getUserId());
carReviewTask.setReviewSubmitName(loginUser.getNickName());
// 7. 设置问卷结果 // 7. 设置问卷结果
if (reviewDetailsResultMapper.findNotPass(carReviewTask.getId()) > 0) { if (reviewDetailsResultMapper.findNotPass(carReviewTask.getId()) > 0) {
...@@ -124,6 +116,12 @@ public class StrategyCarReviewTaskPending implements StrategyCarReviewTask, Init ...@@ -124,6 +116,12 @@ public class StrategyCarReviewTaskPending implements StrategyCarReviewTask, Init
} }
carReviewTaskMapper.updateById(carReviewTask); carReviewTaskMapper.updateById(carReviewTask);
} }
}
@Override
public void doSubmitReview(CarReviewTask carReviewTask) {
throw new ServiceException("不能提交一个未确认的任务", HttpStatus.ERROR);
} }
......
package com.ruoyi.service.impl;
import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.domain.*;
import com.ruoyi.mapper.CarReviewTaskMapper;
import com.ruoyi.mapper.ReviewDetailsMapper;
import com.ruoyi.mapper.ReviewDetailsResultMapper;
import com.ruoyi.service.ReviewDetailsResultService;
import com.ruoyi.service.ReviewSceneChangeTaskService;
import com.ruoyi.service.ReviewStandardService;
import com.ruoyi.service.StrategyCarReviewTask;
import com.ruoyi.web.response.CarReviewTaskViewResponse;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
@Transactional
@Service
public class StrategyCarReviewTaskSigned implements StrategyCarReviewTask, InitializingBean {
@Autowired
private StrategyCarReviewTaskContext strategyCarReviewTaskContext;
@Autowired
private ApplicationContext applicationContext;
@Autowired
private CarReviewTaskMapper carReviewTaskMapper;
// SIGNED状态下
// 1.standard字段使用task中归档的问卷
// 2.不查询场景变更任务
// 3.无需联查问卷答案
@Override
public CarReviewTaskViewResponse doView(CarReviewTask carReviewTask) {
CarReviewTaskViewResponse response = new CarReviewTaskViewResponse();
response.setCarReviewTask(carReviewTask);
return response;
}
@Override
public void doStartReview(CarReviewTask carReviewTask) {
throw new ServiceException("不能开始一个已确认的任务", HttpStatus.ERROR);
}
@Override
public void doConfirmReview(CarReviewTask carReviewTask) {
throw new ServiceException("不能确认一个已确认的任务", HttpStatus.ERROR);
}
@Override
public void doSubmitReview(CarReviewTask carReviewTask) {
// 1. 填充review_submit_time
carReviewTask.setReviewSubmitTime(new Date());
// 2. 修改任务状态为 FINISH
carReviewTask.setReviewStatus(CarReviewTask.REVIEW_STATUS_FINISH);
// 3. 填写当前用户id
// 获取当前登陆人
SysUser loginUser = SecurityUtils.getLoginUser().getUser();
carReviewTask.setReviewSubmitId(loginUser.getUserId());
carReviewTask.setReviewSubmitName(loginUser.getNickName());
carReviewTaskMapper.updateById(carReviewTask);
}
@Override
public void afterPropertiesSet() throws Exception {
strategyCarReviewTaskContext.putResource(CarReviewTask.REVIEW_STATUS_SIGNED, applicationContext.getBean(this.getClass()));
}
}
...@@ -58,6 +58,15 @@ public class CarReviewTaskController extends BaseController { ...@@ -58,6 +58,15 @@ public class CarReviewTaskController extends BaseController {
return R.ok(); return R.ok();
} }
@ApiOperation("确认车辆问卷审查任务")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
@RequestMapping(method = RequestMethod.POST, value = "/confirmReview")
public R<String> confirmReview(@Validated @RequestBody CarReviewTaskConfirmRequest request) {
carReviewTaskService.confirmReviewTask(request);
return R.ok();
}
@ApiOperation("提交车辆问卷审查任务") @ApiOperation("提交车辆问卷审查任务")
@Trace @Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")}) @Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
......
package com.ruoyi.web.request;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "CarReviewTaskConfirmRequest", description = "确认车辆问卷审查任务")
@Data
public class CarReviewTaskConfirmRequest {
@ApiModelProperty("任务id")
private Long taskId;
}
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
<result property="reviewSubmitId" column="review_submit_id" jdbcType="BIGINT"/> <result property="reviewSubmitId" column="review_submit_id" jdbcType="BIGINT"/>
<result property="reviewSubmitName" column="review_submit_name" jdbcType="VARCHAR"/> <result property="reviewSubmitName" column="review_submit_name" jdbcType="VARCHAR"/>
<result property="reviewResult" column="review_result" jdbcType="VARCHAR"/> <result property="reviewResult" column="review_result" jdbcType="VARCHAR"/>
<result property="reviewImagesUrl" column="review_images_url" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
...@@ -41,14 +42,14 @@ ...@@ -41,14 +42,14 @@
review_submit_time, review_submit_time,
review_submit_id, review_submit_id,
review_submit_name, review_submit_name,
review_result review_result,review_images_url
</sql> </sql>
<select id="findListByReviewStatus" resultType="com.ruoyi.domain.CarReviewTask"> <select id="findListByReviewStatus" resultType="com.ruoyi.domain.CarReviewTask">
SELECT id,task_no,task_status,task_initiator,task_initiator_dept,task_result,task_begin_time,task_end_time,standard,create_time,leader_id,leader,standard_id,name,standard_no,file,review_status,test_status,review_start_time,review_submit_time,review_submit_id,review_submit_name,review_result SELECT id,task_no,task_status,task_initiator,task_initiator_dept,task_result,task_begin_time,task_end_time,standard,create_time,leader_id,leader,standard_id,name,standard_no,file,review_status,test_status,review_start_time,review_submit_time,review_submit_id,review_submit_name,review_result,review_images_url
FROM t_car_review_task WHERE review_status = #{reviewStatus} AND task_status = 'PENDING' FROM t_car_review_task WHERE review_status = #{reviewStatus} AND task_status = 'PENDING'
</select> </select>
<select id="findListByTaskStatus" resultType="com.ruoyi.domain.CarReviewTask"> <select id="findListByTaskStatus" resultType="com.ruoyi.domain.CarReviewTask">
SELECT id,task_no,task_status,task_initiator,task_initiator_dept,task_result,task_begin_time,task_end_time,standard,create_time,leader_id,leader,standard_id,name,standard_no,file,review_status,test_status,review_start_time,review_submit_time,review_submit_id,review_submit_name,review_result SELECT id,task_no,task_status,task_initiator,task_initiator_dept,task_result,task_begin_time,task_end_time,standard,create_time,leader_id,leader,standard_id,name,standard_no,file,review_status,test_status,review_start_time,review_submit_time,review_submit_id,review_submit_name,review_result,review_images_url
FROM t_car_review_task WHERE task_status = #{taskStatus} FROM t_car_review_task WHERE task_status = #{taskStatus}
</select> </select>
</mapper> </mapper>
...@@ -23,16 +23,17 @@ ...@@ -23,16 +23,17 @@
<result property="file" column="file" jdbcType="VARCHAR"/> <result property="file" column="file" jdbcType="VARCHAR"/>
<result property="submitById" column="submit_by_id" jdbcType="BIGINT"/> <result property="submitById" column="submit_by_id" jdbcType="BIGINT"/>
<result property="submitByName" column="submit_by_name" jdbcType="VARCHAR"/> <result property="submitByName" column="submit_by_name" jdbcType="VARCHAR"/>
<result property="imagesUrl" column="images_url" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<select id="findListByStatus" resultMap="BaseResultMap"> <select id="findListByStatus" resultMap="BaseResultMap">
SELECT id, task_no, task_status, task_initiator, task_initiator_dept, task_result, task_begin_time, task_end_time, standard, create_time,leader,leader_id, standard_id, name, standard_no, file, submit_by_id, submit_by_name SELECT id, task_no, task_status, task_initiator, task_initiator_dept, task_result, task_begin_time, task_end_time, standard, create_time,leader,leader_id, standard_id, name, standard_no, file, submit_by_id, submit_by_name,images_url
FROM t_system_review_task WHERE task_status = #{status} FROM t_system_review_task WHERE task_status = #{status}
ORDER BY create_time DESC ORDER BY create_time DESC
</select> </select>
<select id="findListInProcess" resultMap="BaseResultMap"> <select id="findListInProcess" resultMap="BaseResultMap">
SELECT id, task_no, task_status, task_initiator, task_initiator_dept, task_result, task_begin_time, task_end_time, standard, create_time,leader,leader_id, standard_id, name, standard_no, file, submit_by_id, submit_by_name SELECT id, task_no, task_status, task_initiator, task_initiator_dept, task_result, task_begin_time, task_end_time, standard, create_time,leader,leader_id, standard_id, name, standard_no, file, submit_by_id, submit_by_name,images_url
FROM t_system_review_task WHERE task_status IN ('NEW','PENDING') FROM t_system_review_task WHERE task_status IN ('NEW','PENDING')
ORDER BY create_time DESC ORDER BY create_time DESC
</select> </select>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment