feat: 移动端
parent
6ecc871fd5
commit
05147f52d2
|
|
@ -0,0 +1,54 @@
|
|||
package org.qinan.safetyeval.adapter.web.institution.app;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.qinan.safetyeval.client.api.institution.EvalProjectApi;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProjectCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProjectEnumsCO;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalProjectStatisticsCO;
|
||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalProjectPageQuery;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Api(tags = "移动端安评项目")
|
||||
@RestController
|
||||
@RequestMapping("/safetyEval/app/institution/eval-project")
|
||||
public class AppEvalProjectController {
|
||||
|
||||
@Resource
|
||||
private EvalProjectApi evalProjectApi;
|
||||
|
||||
|
||||
@ApiOperation("查询项目详情")
|
||||
@GetMapping("/get")
|
||||
public SingleResponse<EvalProjectCO> get(@ApiParam("主键ID") @RequestParam String id) {
|
||||
return evalProjectApi.get(Long.parseLong(id));
|
||||
}
|
||||
|
||||
@ApiOperation("分页项目列表")
|
||||
@GetMapping("/page")
|
||||
public PageResponse<EvalProjectCO> page(@Validated EvalProjectPageQuery query) {
|
||||
query.setMyProject(true);
|
||||
return evalProjectApi.page(query);
|
||||
}
|
||||
|
||||
@ApiOperation("我的项目统计")
|
||||
@GetMapping("/projectStatistics")
|
||||
public SingleResponse<EvalProjectStatisticsCO> projectStatistics() {
|
||||
return evalProjectApi.projectStatistics();
|
||||
}
|
||||
|
||||
@ApiOperation("安评项目枚举映射")
|
||||
@GetMapping("/enums")
|
||||
public SingleResponse<EvalProjectEnumsCO> enums() {
|
||||
return evalProjectApi.enums();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
package org.qinan.safetyeval.adapter.web.institution.app;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.qinan.safetyeval.client.api.institution.EvalSignTaskApi;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalSignTaskCO;
|
||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.client.dto.institution.EditSignTaskSaveCmd;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalSignTaskPageQuery;
|
||||
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Api(tags = "移动端签字任务")
|
||||
@RestController
|
||||
@RequestMapping("/safetyEval/app/institution/eval-sign-task")
|
||||
public class AppEvalSignTaskController {
|
||||
|
||||
@Resource
|
||||
private EvalSignTaskApi evalSignTaskApi;
|
||||
|
||||
@ApiOperation("签字任务分页")
|
||||
@GetMapping("/page")
|
||||
public PageResponse<EvalSignTaskCO> page(@Validated EvalSignTaskPageQuery query) {
|
||||
if (!StringUtils.hasText(query.getSignerPersonnelId())) {
|
||||
query.setSignerPersonnelId(String.valueOf(AuthUserContextAdapter.getCurrentUserId()));
|
||||
}
|
||||
return evalSignTaskApi.page(query);
|
||||
}
|
||||
|
||||
@ApiOperation("签字上传")
|
||||
@PostMapping("/signAndUpload")
|
||||
public SingleResponse<Boolean> signAndUpload(@RequestBody EditSignTaskSaveCmd cmd) {
|
||||
return evalSignTaskApi.signAndUpload(cmd);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package org.qinan.safetyeval.adapter.web.institution.app;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.qinan.safetyeval.client.api.institution.EvalSurveyApi;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalSurveyCO;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.qinan.safetyeval.client.dto.institution.EvalSurveySaveCmd;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Api(tags = "移动现场踏勘")
|
||||
@RestController
|
||||
@RequestMapping("/safetyEval/app/institution/eval-survey")
|
||||
public class AppEvalSurveyController {
|
||||
|
||||
@Resource
|
||||
private EvalSurveyApi evalSurveyApi;
|
||||
|
||||
@ApiOperation("保存踏勘人员(id空新增/非空修改)")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<EvalSurveyCO> save(@Validated @RequestBody EvalSurveySaveCmd cmd) {
|
||||
return evalSurveyApi.save(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("查询我的踏勘数据")
|
||||
@GetMapping("/get")
|
||||
public SingleResponse<EvalSurveyCO> get(@RequestParam("projectId") String projectId) {
|
||||
return evalSurveyApi.get(projectId);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
package org.qinan.safetyeval.adapter.web.institution.app;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.qinan.safetyeval.client.api.SafetyMessageApi;
|
||||
import org.qinan.safetyeval.client.co.SafetyMessageCO;
|
||||
import org.qinan.safetyeval.client.dto.*;
|
||||
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.base.Req;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 消息中心适配层(Controller)
|
||||
*
|
||||
* @author safety-eval
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "移动端消息中心")
|
||||
@RestController
|
||||
@RequestMapping("/safetyEval/app/safetyMessage")
|
||||
public class AppSafetyMessageController {
|
||||
|
||||
@Resource
|
||||
private SafetyMessageApi safetyMessageApi;
|
||||
|
||||
@ApiOperation("查询消息详情")
|
||||
@GetMapping("/get")
|
||||
public SingleResponse<SafetyMessageCO> get(@ApiParam("主键ID") @RequestParam Long id) {
|
||||
return safetyMessageApi.get(id);
|
||||
}
|
||||
|
||||
@ApiOperation("批量标为已读")
|
||||
@PostMapping("/batchMarkedAsRead")
|
||||
public SingleResponse<Boolean> batchMarkedAsRead(@ApiParam("主键IDj集合") @RequestBody Req<List<Long>> req) {
|
||||
return safetyMessageApi.batchMarkedAsRead(req.getData());
|
||||
}
|
||||
|
||||
@ApiOperation("删除消息")
|
||||
@PostMapping("/delete")
|
||||
public SingleResponse<Void> delete(@ApiParam("主键ID") @RequestBody Req<Long> req) {
|
||||
return safetyMessageApi.delete(req.getData());
|
||||
}
|
||||
|
||||
@ApiOperation("分页查询消息")
|
||||
@GetMapping("/page")
|
||||
public PageResponse<SafetyMessageCO> page(@Validated SafetyMessagePageQuery query) {
|
||||
query.setReceiveId(AuthUserContextAdapter.getCurrentUserId());
|
||||
return safetyMessageApi.page(query);
|
||||
}
|
||||
}
|
||||
|
|
@ -77,7 +77,6 @@ public class EvalProjectExecutor implements EvalProjectApi {
|
|||
@Override
|
||||
public PageResponse<EvalProjectCO> page(EvalProjectPageQuery query) {
|
||||
EvalProjectQuery domainQuery = evalProjectCmdConvertor.convertPageQueryToQ(query);
|
||||
domainQuery.setOrgId(institutionOrgSupport.resolveCurrentOrgId());
|
||||
PageResult<EvalProjectEntity> pageResult = evalProjectDomainService.page(domainQuery);
|
||||
return PageResponse.of(
|
||||
evalProjectCmdConvertor.convertEListToCOList(pageResult.getRecords()),
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package org.qinan.safetyeval.app.executor.institution;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.qinan.safetyeval.app.convertor.EvalSurveyCmdConvertor;
|
||||
import org.qinan.safetyeval.client.api.institution.EvalSurveyApi;
|
||||
import org.qinan.safetyeval.client.co.institution.EvalSurveyCO;
|
||||
|
|
@ -12,11 +13,17 @@ import org.qinan.safetyeval.domain.exception.ErrorCode;
|
|||
import org.qinan.safetyeval.domain.query.EvalSurveyQuery;
|
||||
import org.qinan.safetyeval.domain.query.PageResult;
|
||||
import org.qinan.safetyeval.domain.service.EvalSurveyDomainService;
|
||||
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
||||
import org.qinan.safetyeval.infrastructure.convertor.EvalSurveyDoConvertor;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.EvalSurveyDO;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.EvalSurveyMapper;
|
||||
import org.qinan.safetyeval.infrastructure.support.InstitutionOrgSupport;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class EvalSurveyExecutor implements EvalSurveyApi {
|
||||
|
||||
|
|
@ -31,6 +38,10 @@ public class EvalSurveyExecutor implements EvalSurveyApi {
|
|||
@Lazy
|
||||
@Autowired(required = false)
|
||||
private EvalSurveyCmdConvertor evalSurveyCmdConvertor;
|
||||
@Autowired
|
||||
private EvalSurveyMapper evalSurveyMapper;
|
||||
@Autowired
|
||||
private EvalSurveyDoConvertor evalSurveyDoConvertor;
|
||||
|
||||
@Override
|
||||
public SingleResponse<EvalSurveyCO> save(EvalSurveySaveCmd cmd) {
|
||||
|
|
@ -55,4 +66,14 @@ public class EvalSurveyExecutor implements EvalSurveyApi {
|
|||
evalSurveyCmdConvertor.convertEListToCOList(pageResult.getRecords()),
|
||||
pageResult.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<EvalSurveyCO> get(String projectId) {
|
||||
List<EvalSurveyDO> evalSurveyDOS = evalSurveyMapper.selectList(new LambdaQueryWrapper<EvalSurveyDO>()
|
||||
.eq(EvalSurveyDO::getProjectId, projectId)
|
||||
.eq(EvalSurveyDO::getPersonnelId, AuthUserContextAdapter.getCurrentUserId())
|
||||
.last("limit 1"));
|
||||
EvalSurveyEntity evalSurveyEntity = evalSurveyDoConvertor.convertDoToE(evalSurveyDOS.get(0));
|
||||
return SingleResponse.success(evalSurveyCmdConvertor.convertEToCO(evalSurveyEntity));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,4 +11,6 @@ public interface EvalSurveyApi {
|
|||
SingleResponse<EvalSurveyCO> save(EvalSurveySaveCmd cmd);
|
||||
|
||||
PageResponse<EvalSurveyCO> page(EvalSurveyPageQuery query);
|
||||
|
||||
SingleResponse<EvalSurveyCO> get(String projectId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,10 +24,10 @@ public class EvalSignTaskCO {
|
|||
private String taskTitle;
|
||||
@ApiModelProperty("待签角色")
|
||||
private String signerRoles;
|
||||
@ApiModelProperty(value = "任务状态编码:1待签 2已签 3已作废", example = "1")
|
||||
@ApiModelProperty(value = "任务状态编码:1待签 2已签", example = "1")
|
||||
private Integer taskStatusCode;
|
||||
|
||||
@ApiModelProperty(value = "任务状态名称:待签/已签/已作废", example = "待签")
|
||||
@ApiModelProperty(value = "任务状态名称:待签/已签", example = "待签")
|
||||
private String taskStatusName;
|
||||
|
||||
@ApiModelProperty(value = "任务下发时间")
|
||||
|
|
|
|||
|
|
@ -9,6 +9,6 @@ public class EditSignTaskSaveCmd {
|
|||
@ApiModelProperty(value = "任务id")
|
||||
private Long id;
|
||||
|
||||
@ApiModelProperty("签字图片")
|
||||
@ApiModelProperty("签字图片,多个以逗号隔开")
|
||||
private String signerUrl;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,4 +25,7 @@ public class EvalProjectPageQuery extends BasePageQuery {
|
|||
private Boolean isStatutory;
|
||||
|
||||
private Long customerId;
|
||||
|
||||
@ApiModelProperty("app关键字搜素")
|
||||
private String keyword;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,9 +45,9 @@ public class EvalSurveySaveCmd {
|
|||
@ApiModelProperty("签退时间")
|
||||
private LocalDateTime signOutTime;
|
||||
|
||||
@ApiModelProperty("现场图片")
|
||||
@ApiModelProperty("现场图片,多个以逗号隔开")
|
||||
private String sceneUrl;
|
||||
|
||||
@ApiModelProperty("签字图片")
|
||||
@ApiModelProperty("签字图片,多个以逗号隔开")
|
||||
private String signatureUrl;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,4 +35,7 @@ public class EvalProjectQuery {
|
|||
|
||||
@ApiModelProperty("是否法定项目 1是 0否")
|
||||
private Boolean isStatutory;
|
||||
|
||||
@ApiModelProperty("app关键字搜素")
|
||||
private String keyword;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -157,6 +157,9 @@ public class EvalProjectGatewayImpl implements EvalProjectGateway {
|
|||
if (!CollectionUtils.isEmpty(query.getProjectIds())) {
|
||||
wrapper.in(EvalProjectDO::getId, query.getProjectIds());
|
||||
}
|
||||
if (StringUtils.hasText(query.getKeyword())) {
|
||||
wrapper.and(o -> o.like(EvalProjectDO::getProjectName, query.getKeyword()).or().like(EvalProjectDO::getProjectNo, query.getKeyword()));
|
||||
}
|
||||
if (Boolean.TRUE.equals(query.getMyProject())) {
|
||||
wrapper.apply("JSON_CONTAINS(participants_json, JSON_OBJECT('id', {0}))", AuthUserContextAdapter.getCurrentUserId());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,9 +16,6 @@ public class InstitutionOrgSupport {
|
|||
if (orgId == null) {
|
||||
orgId = ThreadLocalUserInfoAdapter.get();
|
||||
}
|
||||
if (orgId == null) {
|
||||
throw new BizException(ErrorCode.ORG_INFO_NOT_FOUND);
|
||||
}
|
||||
return orgId;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue