Merge remote-tracking branch 'origin/dev' into dev
# Conflicts: # safety-eval-start/src/main/java/org/qinan/safetyeval/start/SafetyEvalApplication.javadev
commit
8b546d1184
|
|
@ -34,7 +34,7 @@ public class GlobalExceptionHandler {
|
|||
@ExceptionHandler(BizException.class)
|
||||
public ResponseEntity<SingleResponse<Void>> handleBizException(BizException exception) {
|
||||
String message = message("error." + exception.getCode(), exception.getMessage());
|
||||
return response(HttpStatus.BAD_REQUEST, exception.getCode(), message);
|
||||
return response(HttpStatus.OK, exception.getCode(), message);
|
||||
}
|
||||
|
||||
@ExceptionHandler(MethodArgumentNotValidException.class)
|
||||
|
|
@ -42,7 +42,7 @@ public class GlobalExceptionHandler {
|
|||
MethodArgumentNotValidException exception) {
|
||||
FieldError fieldError = exception.getBindingResult().getFieldError();
|
||||
String fallback = fieldError == null ? null : fieldError.getDefaultMessage();
|
||||
return response(HttpStatus.BAD_REQUEST, VALIDATION_ERROR_CODE,
|
||||
return response(HttpStatus.OK, VALIDATION_ERROR_CODE,
|
||||
message("validation.failed", fallback));
|
||||
}
|
||||
|
||||
|
|
@ -50,27 +50,27 @@ public class GlobalExceptionHandler {
|
|||
public ResponseEntity<SingleResponse<Void>> handleBindException(BindException exception) {
|
||||
FieldError fieldError = exception.getBindingResult().getFieldError();
|
||||
String fallback = fieldError == null ? null : fieldError.getDefaultMessage();
|
||||
return response(HttpStatus.BAD_REQUEST, VALIDATION_ERROR_CODE,
|
||||
return response(HttpStatus.OK, VALIDATION_ERROR_CODE,
|
||||
message("validation.failed", fallback));
|
||||
}
|
||||
|
||||
@ExceptionHandler(ConstraintViolationException.class)
|
||||
public ResponseEntity<SingleResponse<Void>> handleConstraintViolation(
|
||||
ConstraintViolationException exception) {
|
||||
return response(HttpStatus.BAD_REQUEST, VALIDATION_ERROR_CODE,
|
||||
return response(HttpStatus.OK, VALIDATION_ERROR_CODE,
|
||||
message("validation.failed", exception.getMessage()));
|
||||
}
|
||||
|
||||
@ExceptionHandler({HttpMessageNotReadableException.class, MissingServletRequestParameterException.class})
|
||||
public ResponseEntity<SingleResponse<Void>> handleInvalidRequest(Exception exception) {
|
||||
return response(HttpStatus.BAD_REQUEST, VALIDATION_ERROR_CODE,
|
||||
return response(HttpStatus.OK, VALIDATION_ERROR_CODE,
|
||||
message("request.invalid", exception.getMessage()));
|
||||
}
|
||||
|
||||
@ExceptionHandler(Exception.class)
|
||||
public ResponseEntity<SingleResponse<Void>> handleUnexpectedException(Exception exception) {
|
||||
LOGGER.error("Unhandled controller exception", exception);
|
||||
return response(HttpStatus.INTERNAL_SERVER_ERROR, SYSTEM_ERROR_CODE,
|
||||
return response(HttpStatus.OK, SYSTEM_ERROR_CODE,
|
||||
message("system.error", "Internal server error"));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,14 +1,22 @@
|
|||
package org.qinan.safetyeval.adapter.web;
|
||||
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.jjb.saas.message.client.message.facede.MessageFacade;
|
||||
import com.jjb.saas.message.client.message.request.MessageSendCmd;
|
||||
import com.jjb.saas.message.client.message.request.MessageTargetCmd;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import java.util.UUID;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.qinan.safetyeval.client.api.AccountApi;
|
||||
import org.qinan.safetyeval.client.co.AccountCO;
|
||||
import org.qinan.safetyeval.client.dto.AccountAddCmd;
|
||||
import org.qinan.safetyeval.client.dto.AccountModifyCmd;
|
||||
import org.qinan.safetyeval.client.dto.AccountPageQuery;
|
||||
import org.qinan.safetyeval.client.dto.PageResponse;
|
||||
import org.qinan.safetyeval.client.dto.SendMessageCmd;
|
||||
import org.qinan.safetyeval.client.dto.SingleResponse;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
|
@ -25,6 +33,7 @@ import javax.annotation.Resource;
|
|||
*
|
||||
* @author safety-eval
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "用户管理")
|
||||
@RestController
|
||||
@RequestMapping("/safetyEval/account")
|
||||
|
|
@ -33,6 +42,9 @@ public class AccountController {
|
|||
@Resource
|
||||
private AccountApi accountApi;
|
||||
|
||||
@DubboReference
|
||||
private MessageFacade messageFacade;
|
||||
|
||||
@ApiOperation("新增用户")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<AccountCO> add(@Validated @RequestBody AccountAddCmd cmd) {
|
||||
|
|
@ -62,4 +74,27 @@ public class AccountController {
|
|||
public PageResponse<AccountCO> page(@Validated AccountPageQuery query) {
|
||||
return accountApi.page(query);
|
||||
}
|
||||
|
||||
@ApiOperation("发送短信")
|
||||
@PostMapping("/sendMessage")
|
||||
public com.alibaba.cola.dto.SingleResponse<Boolean> sendMessage(@Validated @RequestBody SendMessageCmd cmd) {
|
||||
|
||||
MessageSendCmd messageSendCmd = new MessageSendCmd();
|
||||
messageSendCmd.setBusinessId(UUID.randomUUID().toString().replace("-", ""));
|
||||
|
||||
MessageTargetCmd messageTargetCmd = new MessageTargetCmd();
|
||||
messageTargetCmd.setUserId(cmd.getUserId());
|
||||
messageTargetCmd.setMobile(cmd.getMobile());
|
||||
messageSendCmd.setTargetCmd(messageTargetCmd);
|
||||
|
||||
messageSendCmd.setSourceCode("MS000146");
|
||||
messageSendCmd.setNeedTokenEnum(false);
|
||||
messageSendCmd.setParams(cmd.getParams());
|
||||
|
||||
log.info("发送短信参数: messageSendCmd: {}", JSONUtil.toJsonStr(messageSendCmd));
|
||||
com.alibaba.cola.dto.SingleResponse<Boolean> result = messageFacade.send(messageSendCmd);
|
||||
log.info("发送短信结果: result: {}", JSONUtil.toJsonStr(result));
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,13 @@
|
|||
package org.qinan.safetyeval.adapter.web;
|
||||
|
||||
import io.swagger.annotations.Api;
|
||||
import org.qinan.safetyeval.client.dto.*;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import org.qinan.safetyeval.client.api.QualFilingChangeApi;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeAggregationCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeComplianceCheckResultCO;
|
||||
import org.qinan.safetyeval.client.dto.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
|
@ -26,23 +27,6 @@ public class QualFilingChangeController {
|
|||
@Resource
|
||||
private QualFilingChangeApi qualFilingChangeApi;
|
||||
|
||||
@ApiOperation("新增备案变更")
|
||||
@PostMapping("/save")
|
||||
public SingleResponse<QualFilingChangeCO> add(@Validated @RequestBody QualFilingChangeAddCmd cmd) {
|
||||
return qualFilingChangeApi.add(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("查询备案变更详情")
|
||||
@GetMapping("/get")
|
||||
public SingleResponse<QualFilingChangeCO> get(@ApiParam("主键ID") @RequestParam Long id) {
|
||||
return qualFilingChangeApi.get(id);
|
||||
}
|
||||
|
||||
@ApiOperation("修改备案变更")
|
||||
@PostMapping("/modify")
|
||||
public SingleResponse<QualFilingChangeCO> modify(@Validated @RequestBody QualFilingChangeModifyCmd cmd) {
|
||||
return qualFilingChangeApi.modify(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("删除备案变更")
|
||||
@PostMapping("/delete")
|
||||
|
|
@ -56,17 +40,6 @@ public class QualFilingChangeController {
|
|||
return qualFilingChangeApi.page(query);
|
||||
}
|
||||
|
||||
@ApiOperation("发起备案变更(克隆草稿)")
|
||||
@PostMapping("/start")
|
||||
public SingleResponse<Long> start(@ApiParam("备案申请id") @RequestParam Long filingId) {
|
||||
return qualFilingChangeApi.start(filingId);
|
||||
}
|
||||
|
||||
@ApiOperation("提交备案变更")
|
||||
@PostMapping("/submit")
|
||||
public SingleResponse<Void> submit(@Validated @RequestBody org.qinan.safetyeval.client.dto.QualFilingChangeSubmitCmd cmd) {
|
||||
return qualFilingChangeApi.submit(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("备案变更历史")
|
||||
@GetMapping("/history")
|
||||
|
|
@ -75,17 +48,6 @@ public class QualFilingChangeController {
|
|||
return qualFilingChangeApi.history(filingId);
|
||||
}
|
||||
|
||||
@ApiOperation("变更审核通过")
|
||||
@PostMapping("/approve")
|
||||
public SingleResponse<Void> approve(@ApiParam("备案变更id") @RequestParam Long changeId) {
|
||||
return qualFilingChangeApi.approve(changeId);
|
||||
}
|
||||
|
||||
@ApiOperation("变更审核打回")
|
||||
@PostMapping("/reject")
|
||||
public SingleResponse<Void> reject(@Validated @RequestBody QualFilingRejectCmd cmd) {
|
||||
return qualFilingChangeApi.reject(cmd);
|
||||
}
|
||||
|
||||
@ApiOperation("聚合新增or编辑资质备案变更申请")
|
||||
@PostMapping("/aggregationSaveOrEdit")
|
||||
|
|
@ -98,4 +60,17 @@ public class QualFilingChangeController {
|
|||
public SingleResponse<List<QualFilingChangeComplianceCheckResultCO>> complianceCheck(@ApiParam("主键ID") @RequestParam Long id) {
|
||||
return qualFilingChangeApi.complianceCheck(id);
|
||||
}
|
||||
|
||||
@ApiOperation("审核")
|
||||
@PostMapping("/review")
|
||||
public SingleResponse<Void> review(@Validated @RequestBody QualFilingChangeReviewAddCmd cmd) {
|
||||
qualFilingChangeApi.review(cmd);
|
||||
return SingleResponse.success();
|
||||
}
|
||||
|
||||
@ApiOperation("备案变更详情(5表聚合)")
|
||||
@GetMapping("/detail")
|
||||
public SingleResponse<QualFilingChangeAggregationCO> detail(@ApiParam("主键ID") @RequestParam Long id) {
|
||||
return qualFilingChangeApi.detail(id);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
package org.qinan.safetyeval.app.change.convertor;
|
||||
|
||||
import org.mapstruct.Mapper;
|
||||
import org.mapstruct.Mapping;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingChangeAddCmd;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingChangeEntity;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingEntity;
|
||||
|
||||
/**
|
||||
* 备案变更基本信息命令转换
|
||||
|
|
@ -19,4 +21,17 @@ public interface QualFilingChangeCmdConvertor {
|
|||
* @return
|
||||
*/
|
||||
QualFilingChangeEntity convertCmdToE(QualFilingChangeAddCmd qualFilingChangeAddCmd);
|
||||
|
||||
/**
|
||||
* 变更实体转备案实体
|
||||
* id 由调用方手动设置(使用 changeFilingId)
|
||||
*/
|
||||
@Mapping(target = "id", ignore = true)
|
||||
@Mapping(target = "originFilingId", ignore = true)
|
||||
@Mapping(target = "rejectReason", ignore = true)
|
||||
@Mapping(target = "submitTime", ignore = true)
|
||||
@Mapping(target = "approveTime", ignore = true)
|
||||
@Mapping(target = "applyTypeCode", ignore = true)
|
||||
@Mapping(target = "applyTypeName", ignore = true)
|
||||
QualFilingEntity convertChangeEToEntity(QualFilingChangeEntity changeEntity);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,9 @@ import org.mapstruct.Mapper;
|
|||
import org.mapstruct.Mapping;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingCommitmentChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingCommitmentChangeUpdateCmd;
|
||||
import org.qinan.safetyeval.client.co.QualFilingCommitmentCO;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingCommitmentChangeE;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingCommitmentEntity;
|
||||
|
||||
/**
|
||||
* 法定代人承诺书-变更转换
|
||||
|
|
@ -31,4 +33,19 @@ public interface QualFilingCommitmentChangeCmdConvertor {
|
|||
*/
|
||||
@Mapping(target = "qualFilingCommitmentChangeGateway", ignore = true)
|
||||
QualFilingCommitmentChangeE convertCmdToE(QualFilingCommitmentChangeUpdateCmd qualFilingCommitmentChangeUpdateCmd);
|
||||
|
||||
/**
|
||||
* 变更承诺书转承诺书实体
|
||||
*/
|
||||
@Mapping(target = "id", ignore = true)
|
||||
@Mapping(target = "filingId", ignore = true)
|
||||
@Mapping(target = "tenantId", ignore = true)
|
||||
@Mapping(target = "orgId", ignore = true)
|
||||
QualFilingCommitmentEntity convertChangeEToEntity(QualFilingCommitmentChangeE changeE);
|
||||
|
||||
/**
|
||||
* 变更承诺书转承诺书CO
|
||||
*/
|
||||
@Mapping(source = "filingChangeId", target = "filingId")
|
||||
QualFilingCommitmentCO convertChangeEToCO(QualFilingCommitmentChangeE changeE);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,11 @@ import org.mapstruct.Mapper;
|
|||
import org.mapstruct.Mapping;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingEquipmentChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingEquipmentChangeUpdateCmd;
|
||||
import org.qinan.safetyeval.client.co.QualFilingEquipmentCO;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingEquipmentChangeE;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingEquipmentEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案申请装备-变更转换
|
||||
|
|
@ -31,4 +35,29 @@ public interface QualFilingEquipmentChangeCmdConvertor {
|
|||
*/
|
||||
@Mapping(target = "qualFilingEquipmentChangeGateway", ignore = true)
|
||||
QualFilingEquipmentChangeE convertCmdToE(QualFilingEquipmentChangeUpdateCmd qualFilingEquipmentChangeUpdateCmd);
|
||||
|
||||
/**
|
||||
* 变更装备转装备实体
|
||||
*/
|
||||
@Mapping(target = "id", ignore = true)
|
||||
@Mapping(target = "filingId", ignore = true)
|
||||
@Mapping(target = "tenantId", ignore = true)
|
||||
@Mapping(target = "orgId", ignore = true)
|
||||
QualFilingEquipmentEntity convertChangeEToEntity(QualFilingEquipmentChangeE changeE);
|
||||
|
||||
/**
|
||||
* 批量转换
|
||||
*/
|
||||
List<QualFilingEquipmentEntity> convertChangeEListToEntityList(List<QualFilingEquipmentChangeE> changeEs);
|
||||
|
||||
/**
|
||||
* 变更装备转装备CO
|
||||
*/
|
||||
@Mapping(source = "filingChangeId", target = "filingId")
|
||||
QualFilingEquipmentCO convertChangeEToCO(QualFilingEquipmentChangeE changeE);
|
||||
|
||||
/**
|
||||
* 批量转换变更装备为CO
|
||||
*/
|
||||
List<QualFilingEquipmentCO> convertChangeEListToCOList(List<QualFilingEquipmentChangeE> changeEs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,11 @@ import org.mapstruct.Mapper;
|
|||
import org.mapstruct.Mapping;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingMaterialChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingMaterialChangeUpdateCmd;
|
||||
import org.qinan.safetyeval.client.co.QualFilingMaterialCO;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingMaterialChangeE;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingMaterialEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案申请材料-变更转换
|
||||
|
|
@ -31,4 +35,30 @@ public interface QualFilingMaterialChangeCmdConvertor {
|
|||
*/
|
||||
@Mapping(target = "qualFilingMaterialChangeGateway", ignore = true)
|
||||
QualFilingMaterialChangeE convertCmdToE(QualFilingMaterialChangeUpdateCmd qualFilingMaterialChangeUpdateCmd);
|
||||
|
||||
/**
|
||||
* 变更材料转材料实体
|
||||
*/
|
||||
@Mapping(target = "id", ignore = true)
|
||||
@Mapping(target = "filingId", ignore = true)
|
||||
@Mapping(target = "tenantId", ignore = true)
|
||||
@Mapping(target = "orgId", ignore = true)
|
||||
QualFilingMaterialEntity convertChangeEToEntity(QualFilingMaterialChangeE changeE);
|
||||
|
||||
/**
|
||||
* 批量转换
|
||||
*/
|
||||
List<QualFilingMaterialEntity> convertChangeEListToEntityList(List<QualFilingMaterialChangeE> changeEs);
|
||||
|
||||
/**
|
||||
* 变更材料转材料CO
|
||||
*/
|
||||
@Mapping(source = "filingChangeId", target = "filingId")
|
||||
@Mapping(target = "materialType", ignore = true)
|
||||
QualFilingMaterialCO convertChangeEToCO(QualFilingMaterialChangeE changeE);
|
||||
|
||||
/**
|
||||
* 批量转换变更材料为CO
|
||||
*/
|
||||
List<QualFilingMaterialCO> convertChangeEListToCOList(List<QualFilingMaterialChangeE> changeEs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,11 @@ import org.mapstruct.Mapper;
|
|||
import org.mapstruct.Mapping;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingPersonnelCertChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingPersonnelCertChangeUpdateCmd;
|
||||
import org.qinan.safetyeval.client.co.QualFilingPersonnelCertCO;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingPersonnelCertChangeE;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingPersonnelCertEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案申请人员证书转换
|
||||
|
|
@ -31,4 +35,29 @@ public interface QualFilingPersonnelCertChangeCmdConvertor {
|
|||
*/
|
||||
@Mapping(target = "qualFilingPersonnelCertChangeGateway", ignore = true)
|
||||
QualFilingPersonnelCertChangeE convertCmdToE(QualFilingPersonnelCertChangeUpdateCmd qualFilingPersonnelCertChangeUpdateCmd);
|
||||
|
||||
/**
|
||||
* 变更人员证书转人员证书实体
|
||||
*/
|
||||
@Mapping(target = "id", ignore = true)
|
||||
@Mapping(target = "filingId", ignore = true)
|
||||
@Mapping(target = "tenantId", ignore = true)
|
||||
@Mapping(target = "orgId", ignore = true)
|
||||
QualFilingPersonnelCertEntity convertChangeEToEntity(QualFilingPersonnelCertChangeE changeE);
|
||||
|
||||
/**
|
||||
* 批量转换
|
||||
*/
|
||||
List<QualFilingPersonnelCertEntity> convertChangeEListToEntityList(List<QualFilingPersonnelCertChangeE> changeEs);
|
||||
|
||||
/**
|
||||
* 变更人员证书转人员证书CO
|
||||
*/
|
||||
@Mapping(source = "filingChangeId", target = "filingId")
|
||||
QualFilingPersonnelCertCO convertChangeEToCO(QualFilingPersonnelCertChangeE changeE);
|
||||
|
||||
/**
|
||||
* 批量转换变更人员证书为CO
|
||||
*/
|
||||
List<QualFilingPersonnelCertCO> convertChangeEListToCOList(List<QualFilingPersonnelCertChangeE> changeEs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,11 @@ import org.mapstruct.Mapper;
|
|||
import org.mapstruct.Mapping;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingPersonnelChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingPersonnelChangeUpdateCmd;
|
||||
import org.qinan.safetyeval.client.co.QualFilingPersonnelCO;
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingPersonnelChangeE;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingPersonnelEntity;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案申请人员-变更转换
|
||||
|
|
@ -31,4 +35,29 @@ public interface QualFilingPersonnelChangeCmdConvertor {
|
|||
*/
|
||||
@Mapping(target = "qualFilingPersonnelChangeGateway", ignore = true)
|
||||
QualFilingPersonnelChangeE convertCmdToE(QualFilingPersonnelChangeUpdateCmd qualFilingPersonnelChangeUpdateCmd);
|
||||
|
||||
/**
|
||||
* 变更人员转人员实体
|
||||
*/
|
||||
@Mapping(target = "id", ignore = true)
|
||||
@Mapping(target = "filingId", ignore = true)
|
||||
@Mapping(target = "tenantId", ignore = true)
|
||||
@Mapping(target = "orgId", ignore = true)
|
||||
QualFilingPersonnelEntity convertChangeEToEntity(QualFilingPersonnelChangeE changeE);
|
||||
|
||||
/**
|
||||
* 批量转换
|
||||
*/
|
||||
List<QualFilingPersonnelEntity> convertChangeEListToEntityList(List<QualFilingPersonnelChangeE> changeEs);
|
||||
|
||||
/**
|
||||
* 变更人员转人员CO
|
||||
*/
|
||||
@Mapping(source = "filingChangeId", target = "filingId")
|
||||
QualFilingPersonnelCO convertChangeEToCO(QualFilingPersonnelChangeE changeE);
|
||||
|
||||
/**
|
||||
* 批量转换变更人员为CO
|
||||
*/
|
||||
List<QualFilingPersonnelCO> convertChangeEListToCOList(List<QualFilingPersonnelChangeE> changeEs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,8 @@
|
|||
package org.qinan.safetyeval.app.executor;
|
||||
|
||||
import com.jjb.saas.system.client.user.request.UserAddCmd;
|
||||
import com.zcloud.gbscommon.utils.MD5;
|
||||
import com.zcloud.gbscommon.utils.Sm2Util;
|
||||
import org.qinan.safetyeval.client.api.AccountApi;
|
||||
import org.qinan.safetyeval.client.co.AccountCO;
|
||||
import org.qinan.safetyeval.client.dto.AccountAddCmd;
|
||||
|
|
@ -12,9 +15,12 @@ import org.qinan.safetyeval.domain.query.AccountQuery;
|
|||
import org.qinan.safetyeval.domain.query.PageResult;
|
||||
import org.qinan.safetyeval.domain.service.AccountDomainService;
|
||||
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
||||
import org.qinan.safetyeval.infrastructure.adapter.gbs.GbsUserFacadeClient;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* 用户执行器(App层)
|
||||
|
|
@ -27,8 +33,15 @@ public class AccountExecutor implements AccountApi {
|
|||
@Lazy
|
||||
@Autowired(required = false)
|
||||
private AccountDomainService accountDomainService;
|
||||
@Autowired
|
||||
private GbsUserFacadeClient gbsUserFacadeClient;
|
||||
@Value("${def.password:a123456}")
|
||||
private String defPassword;
|
||||
@Value("${def.publicKey:0402df2195296d4062ac85ad766994d73e871b887e18efb9a9a06b4cebc72372869b7da6c347c129dee2b46a0f279ff066b01c76208c2a052af75977c722a2ccee}")
|
||||
private String publicKey;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public SingleResponse<AccountCO> add(AccountAddCmd cmd) {
|
||||
AccountEntity entity = new AccountEntity();
|
||||
entity.setUserName(cmd.getUserName());
|
||||
|
|
@ -37,8 +50,16 @@ public class AccountExecutor implements AccountApi {
|
|||
entity.setPassword(cmd.getPassword());
|
||||
entity.setProfileUrl(cmd.getProfileUrl());
|
||||
entity.setType(cmd.getType());
|
||||
|
||||
AccountEntity result = accountDomainService.add(entity);
|
||||
// 同步gbs用户
|
||||
UserAddCmd userAddCmd = new UserAddCmd();
|
||||
userAddCmd.setId(result.getId());
|
||||
userAddCmd.setAccount(result.getAccount());
|
||||
userAddCmd.setTenantId(result.getTenantId());
|
||||
userAddCmd.setName(result.getUserName());
|
||||
String encrypt = Sm2Util.encryptHex(MD5.md5(defPassword), publicKey);
|
||||
userAddCmd.setPassword(encrypt);
|
||||
gbsUserFacadeClient.add(userAddCmd);
|
||||
return SingleResponse.success(toCO(result));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,27 +3,38 @@ package org.qinan.safetyeval.app.executor;
|
|||
import org.qinan.safetyeval.app.change.convertor.*;
|
||||
import org.qinan.safetyeval.app.orchestrator.QualFilingOrchestrator;
|
||||
import org.qinan.safetyeval.client.api.QualFilingChangeApi;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeAggregationCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeComplianceCheckResultCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeHistoryCO;
|
||||
import org.qinan.safetyeval.client.dto.*;
|
||||
import org.qinan.safetyeval.domain.change.gateway.*;
|
||||
import org.qinan.safetyeval.domain.gateway.QualFilingChangeDetailGateway;
|
||||
import org.qinan.safetyeval.domain.change.model.*;
|
||||
import org.qinan.safetyeval.domain.constant.QualFilingFormStepEnum;
|
||||
import org.qinan.safetyeval.domain.constant.QualFilingReviewResultEnum;
|
||||
import org.qinan.safetyeval.domain.constant.QualFilingStatusEnum;
|
||||
import org.qinan.safetyeval.domain.entity.QualFilingChangeEntity;
|
||||
import org.qinan.safetyeval.domain.entity.*;
|
||||
import org.qinan.safetyeval.domain.exception.BizException;
|
||||
import org.qinan.safetyeval.domain.exception.ErrorCode;
|
||||
import org.qinan.safetyeval.domain.query.PageResult;
|
||||
import org.qinan.safetyeval.domain.query.QualFilingChangeQuery;
|
||||
import org.qinan.safetyeval.domain.service.QualFilingChangeDomainService;
|
||||
import org.qinan.safetyeval.domain.service.QualFilingDomainService;
|
||||
import org.qinan.safetyeval.domain.service.QualFilingReviewDomainService;
|
||||
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -36,6 +47,14 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
@Autowired(required = false)
|
||||
private QualFilingChangeDomainService qualFilingChangeDomainService;
|
||||
|
||||
@Lazy
|
||||
@Autowired(required = false)
|
||||
private QualFilingDomainService qualFilingDomainService;
|
||||
|
||||
@Lazy
|
||||
@Autowired(required = false)
|
||||
private QualFilingReviewDomainService qualFilingReviewDomainService;
|
||||
|
||||
@Resource
|
||||
private QualFilingOrchestrator qualFilingOrchestrator;
|
||||
@Resource
|
||||
|
|
@ -51,6 +70,20 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
@Resource
|
||||
private QualFilingPersonnelCertChangeCmdConvertor qualFilingPersonnelCertChangeCmdConvertor;
|
||||
|
||||
@Resource
|
||||
private QualFilingCommitmentChangeGateway qualFilingCommitmentChangeGateway;
|
||||
@Resource
|
||||
private QualFilingEquipmentChangeGateway qualFilingEquipmentChangeGateway;
|
||||
@Resource
|
||||
private QualFilingMaterialChangeGateway qualFilingMaterialChangeGateway;
|
||||
@Resource
|
||||
private QualFilingPersonnelChangeGateway qualFilingPersonnelChangeGateway;
|
||||
@Resource
|
||||
private QualFilingPersonnelCertChangeGateway qualFilingPersonnelCertChangeGateway;
|
||||
|
||||
@Resource
|
||||
private QualFilingChangeDetailGateway qualFilingChangeDetailGateway;
|
||||
|
||||
@Override
|
||||
public SingleResponse<QualFilingChangeCO> add(QualFilingChangeAddCmd cmd) {
|
||||
QualFilingChangeEntity entity = new QualFilingChangeEntity();
|
||||
|
|
@ -176,11 +209,10 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public SingleResponse<QualFilingChangeCO> aggregationSaveOrEdit(AggregationSaveOrEditQualFilingChangeCmd cmd) {
|
||||
validateBeforeSaveOrEdit(cmd);
|
||||
|
||||
QualFilingChangeCO co = new QualFilingChangeCO();
|
||||
|
||||
// 变更基本信息
|
||||
QualFilingChangeEntity entity = qualFilingChangeCmdConvertor.convertCmdToE(cmd.getQualFilingChangeAddCmd());
|
||||
|
||||
|
|
@ -210,12 +242,157 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
// 编辑场景:对比请求数据与已有变更数据,生成变更明细
|
||||
if (!cmd.isAdd()) {
|
||||
Long changeId = cmd.getQualFilingChangeAddCmd().getId();
|
||||
List<QualFilingChangeDetailEntity> details = diffFromCmd(changeId
|
||||
, entity, commitmentEntity, equipmentEntities
|
||||
, materialEntities, personnelEntities, personnelCertEntities);
|
||||
// 根据changeId先删除原有变更明细,再新增
|
||||
List<QualFilingChangeDetailEntity> existingDetails = qualFilingChangeDetailGateway.listByChangeId(changeId);
|
||||
if (!CollectionUtils.isEmpty(existingDetails)) {
|
||||
existingDetails.forEach(d -> qualFilingChangeDetailGateway.delete(d.getId()));
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(details)) {
|
||||
String operatorName = AuthUserContextAdapter.getCurrentUserName();
|
||||
details.forEach(d -> {
|
||||
d.setCreateName(operatorName);
|
||||
qualFilingChangeDetailGateway.save(d);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Long id = qualFilingChangeDomainService.aggregationSaveOrEdit(entity, commitmentEntity
|
||||
, equipmentEntities, materialEntities, personnelEntities, personnelCertEntities);
|
||||
|
||||
QualFilingChangeCO co = new QualFilingChangeCO();
|
||||
co.setId(id);
|
||||
return SingleResponse.success(co);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void review(QualFilingChangeReviewAddCmd cmd) {
|
||||
Long changeFilingId = cmd.getChangeFilingId();
|
||||
|
||||
// 查询变更基本信息
|
||||
QualFilingChangeEntity changeEntity = qualFilingChangeDomainService.get(changeFilingId);
|
||||
|
||||
if (changeEntity == null) {
|
||||
throw new BizException(ErrorCode.QUAL_FILING_CHANGE_NOT_FOUND);
|
||||
}
|
||||
QualFilingChangeEntity updateE = qualFilingChangeDomainService.get(changeFilingId);
|
||||
updateE.setId(changeFilingId);
|
||||
|
||||
// 构建并保存审核记录
|
||||
QualFilingReviewEntity reviewEntity = new QualFilingReviewEntity();
|
||||
reviewEntity.setFilingId(changeEntity.getChangeFilingId());
|
||||
reviewEntity.setReviewResult(cmd.getReviewResult());
|
||||
reviewEntity.setFilingExpertId(cmd.getFilingExpertId());
|
||||
reviewEntity.setFilingExpertName(cmd.getFilingExpertName());
|
||||
reviewEntity.setReviewOpinion(cmd.getReviewOpinion());
|
||||
reviewEntity = qualFilingReviewDomainService.add(reviewEntity);
|
||||
|
||||
// 更新变更记录的 filing_review_id 和 filing_status_code
|
||||
updateE.setFilingReviewId(reviewEntity.getId());
|
||||
|
||||
// 审核通过:将变更数据同步到正式备案表
|
||||
if (QualFilingReviewResultEnum.PASS.getName().equals(cmd.getReviewResult())) {
|
||||
updateE.setFilingStatusCode(QualFilingStatusEnum.FILED.getCode());
|
||||
updateE.setFilingStatusName(QualFilingStatusEnum.FILED.getName());
|
||||
|
||||
// 转换变更基本信息 → 备案实体
|
||||
QualFilingEntity entity = qualFilingChangeCmdConvertor.convertChangeEToEntity(changeEntity);
|
||||
entity.setId(changeEntity.getChangeFilingId());
|
||||
|
||||
// 查询并转换承诺书
|
||||
QualFilingCommitmentChangeE commitmentChangeE = qualFilingCommitmentChangeGateway.getByFilingId(changeFilingId);
|
||||
QualFilingCommitmentEntity commitmentEntity = null;
|
||||
if (commitmentChangeE != null) {
|
||||
commitmentEntity = qualFilingCommitmentChangeCmdConvertor.convertChangeEToEntity(commitmentChangeE);
|
||||
commitmentEntity.setFilingId(changeEntity.getChangeFilingId());
|
||||
}
|
||||
|
||||
// 查询并转换装备清单
|
||||
List<QualFilingEquipmentChangeE> equipmentChangeEs = qualFilingEquipmentChangeGateway.listByFilingId(changeFilingId);
|
||||
List<QualFilingEquipmentEntity> equipmentEntities = qualFilingEquipmentChangeCmdConvertor.convertChangeEListToEntityList(equipmentChangeEs);
|
||||
equipmentEntities.forEach(e -> e.setFilingId(changeEntity.getChangeFilingId()));
|
||||
|
||||
// 查询并转换材料清单
|
||||
List<QualFilingMaterialChangeE> materialChangeEs = qualFilingMaterialChangeGateway.listByFilingId(changeFilingId);
|
||||
List<QualFilingMaterialEntity> materialEntities = qualFilingMaterialChangeCmdConvertor.convertChangeEListToEntityList(materialChangeEs);
|
||||
materialEntities.forEach(e -> e.setFilingId(changeEntity.getChangeFilingId()));
|
||||
|
||||
// 查询并转换人员
|
||||
List<QualFilingPersonnelChangeE> personnelChangeEs = qualFilingPersonnelChangeGateway.listByFilingId(changeFilingId);
|
||||
List<QualFilingPersonnelEntity> personnelEntities = qualFilingPersonnelChangeCmdConvertor.convertChangeEListToEntityList(personnelChangeEs);
|
||||
personnelEntities.forEach(e -> e.setFilingId(changeEntity.getChangeFilingId()));
|
||||
|
||||
// 查询并转换人员证书
|
||||
List<QualFilingPersonnelCertChangeE> personnelCertChangeEs = qualFilingPersonnelCertChangeGateway.listByFilingId(changeFilingId);
|
||||
List<QualFilingPersonnelCertEntity> personnelCertEntities = qualFilingPersonnelCertChangeCmdConvertor.convertChangeEListToEntityList(personnelCertChangeEs);
|
||||
personnelCertEntities.forEach(e -> e.setFilingId(changeEntity.getChangeFilingId()));
|
||||
|
||||
// 调用聚合保存,将变更数据写入正式备案表
|
||||
qualFilingDomainService.aggregationSaveOrEdit(entity, commitmentEntity, equipmentEntities, materialEntities, personnelEntities, personnelCertEntities);
|
||||
} else {
|
||||
updateE.setFilingStatusCode(QualFilingStatusEnum.REJECTED.getCode());
|
||||
updateE.setFilingStatusName(QualFilingStatusEnum.REJECTED.getName());
|
||||
}
|
||||
|
||||
// 更新变更记录
|
||||
qualFilingChangeDomainService.modify(updateE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public SingleResponse<QualFilingChangeAggregationCO> detail(Long id) {
|
||||
// 查询变更主记录
|
||||
QualFilingChangeEntity changeEntity = qualFilingChangeDomainService.get(id);
|
||||
if (changeEntity == null) {
|
||||
throw new BizException(ErrorCode.QUAL_FILING_CHANGE_NOT_FOUND);
|
||||
}
|
||||
|
||||
QualFilingChangeAggregationCO detail = new QualFilingChangeAggregationCO();
|
||||
BeanUtils.copyProperties(toCO(changeEntity), detail);
|
||||
|
||||
Long changeFilingId = changeEntity.getChangeFilingId();
|
||||
if (changeFilingId == null) {
|
||||
return SingleResponse.success(detail);
|
||||
}
|
||||
|
||||
// 承诺书
|
||||
QualFilingCommitmentChangeE commitmentChangeE = qualFilingCommitmentChangeGateway.getByFilingId(changeFilingId);
|
||||
if (commitmentChangeE != null) {
|
||||
detail.setCommitment(qualFilingCommitmentChangeCmdConvertor.convertChangeEToCO(commitmentChangeE));
|
||||
}
|
||||
|
||||
// 装备清单
|
||||
List<QualFilingEquipmentChangeE> equipmentChangeEs = qualFilingEquipmentChangeGateway.listByFilingId(changeFilingId);
|
||||
if (!CollectionUtils.isEmpty(equipmentChangeEs)) {
|
||||
detail.setEquipmentList(qualFilingEquipmentChangeCmdConvertor.convertChangeEListToCOList(equipmentChangeEs));
|
||||
}
|
||||
|
||||
// 材料清单
|
||||
List<QualFilingMaterialChangeE> materialChangeEs = qualFilingMaterialChangeGateway.listByFilingId(changeFilingId);
|
||||
if (!CollectionUtils.isEmpty(materialChangeEs)) {
|
||||
detail.setMaterialList(qualFilingMaterialChangeCmdConvertor.convertChangeEListToCOList(materialChangeEs));
|
||||
}
|
||||
|
||||
// 人员清单
|
||||
List<QualFilingPersonnelChangeE> personnelChangeEs = qualFilingPersonnelChangeGateway.listByFilingId(changeFilingId);
|
||||
if (!CollectionUtils.isEmpty(personnelChangeEs)) {
|
||||
detail.setPersonnelList(qualFilingPersonnelChangeCmdConvertor.convertChangeEListToCOList(personnelChangeEs));
|
||||
}
|
||||
|
||||
// 人员证书清单
|
||||
List<QualFilingPersonnelCertChangeE> personnelCertChangeEs = qualFilingPersonnelCertChangeGateway.listByFilingId(changeFilingId);
|
||||
if (!CollectionUtils.isEmpty(personnelCertChangeEs)) {
|
||||
detail.setPersonnelCertList(qualFilingPersonnelCertChangeCmdConvertor.convertChangeEListToCOList(personnelCertChangeEs));
|
||||
}
|
||||
|
||||
return SingleResponse.success(detail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 聚合保存或编辑前的状态校验
|
||||
* <ul>
|
||||
|
|
@ -246,6 +423,154 @@ public class QualFilingChangeExecutor implements QualFilingChangeApi {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 对比请求数据与已有变更数据,生成变更明细列表
|
||||
*/
|
||||
private List<QualFilingChangeDetailEntity> diffFromCmd(
|
||||
Long changeId, QualFilingChangeEntity newEntity, QualFilingCommitmentChangeE newCommitment,
|
||||
List<QualFilingEquipmentChangeE> newEquipments, List<QualFilingMaterialChangeE> newMaterials,
|
||||
List<QualFilingPersonnelChangeE> newPersonnel, List<QualFilingPersonnelCertChangeE> newCerts) {
|
||||
List<QualFilingChangeDetailEntity> details = new ArrayList<>();
|
||||
|
||||
// 基本信息变更
|
||||
QualFilingChangeEntity existingEntity = qualFilingChangeDomainService.get(changeId);
|
||||
if (existingEntity != null && basicInfoChanged(existingEntity, newEntity)) {
|
||||
details.add(stepDetail(changeId, QualFilingFormStepEnum.BASIC_INFO, "备案基本信息变更",
|
||||
summarizeBasic(existingEntity), summarizeBasic(newEntity)));
|
||||
}
|
||||
|
||||
// 承诺书变更
|
||||
QualFilingCommitmentChangeE existingCommitment = qualFilingCommitmentChangeGateway.getByFilingId(changeId);
|
||||
if (commitmentChanged(existingCommitment, newCommitment)) {
|
||||
details.add(stepDetail(changeId, QualFilingFormStepEnum.COMMITMENT, "法定代表人承诺书变更",
|
||||
"承诺书", "承诺书已变更"));
|
||||
}
|
||||
|
||||
// 装备清单变更
|
||||
List<QualFilingEquipmentChangeE> existingEquipments = qualFilingEquipmentChangeGateway.listByFilingId(changeId);
|
||||
if (equipmentListChanged(existingEquipments, newEquipments)) {
|
||||
details.add(stepDetail(changeId, QualFilingFormStepEnum.EQUIPMENT, "装备清单变更",
|
||||
"装备清单", "装备清单已变更"));
|
||||
}
|
||||
|
||||
// 材料清单变更
|
||||
List<QualFilingMaterialChangeE> existingMaterials = qualFilingMaterialChangeGateway.listByFilingId(changeId);
|
||||
if (materialListChanged(existingMaterials, newMaterials)) {
|
||||
details.add(stepDetail(changeId, QualFilingFormStepEnum.MATERIALS, "备案材料上传变更",
|
||||
"材料清单", "材料清单已变更"));
|
||||
}
|
||||
|
||||
// 人员变更
|
||||
List<QualFilingPersonnelChangeE> existingPersonnel = qualFilingPersonnelChangeGateway.listByFilingId(changeId);
|
||||
if (personnelListChanged(existingPersonnel, newPersonnel)) {
|
||||
details.add(stepDetail(changeId, QualFilingFormStepEnum.PERSONNEL, "备案人员管理变更",
|
||||
"人员清单", "人员清单已变更"));
|
||||
}
|
||||
|
||||
// 人员证书变更
|
||||
List<QualFilingPersonnelCertChangeE> existingCerts = qualFilingPersonnelCertChangeGateway.listByFilingId(changeId);
|
||||
if (certListChanged(existingCerts, newCerts)) {
|
||||
details.add(stepDetail(changeId, QualFilingFormStepEnum.PERSONNEL, "备案人员证书变更",
|
||||
"人员证书清单", "人员证书清单已变更"));
|
||||
}
|
||||
|
||||
return details;
|
||||
}
|
||||
|
||||
private boolean basicInfoChanged(QualFilingChangeEntity exist, QualFilingChangeEntity newEntity) {
|
||||
return !Objects.equals(exist.getFilingTerritoryCode(), newEntity.getFilingTerritoryCode())
|
||||
|| !Objects.equals(exist.getBusinessScope(), newEntity.getBusinessScope())
|
||||
|| !Objects.equals(exist.getRegisterAddress(), newEntity.getRegisterAddress())
|
||||
|| !Objects.equals(exist.getOfficeAddress(), newEntity.getOfficeAddress())
|
||||
|| !Objects.equals(exist.getCreditCode(), newEntity.getCreditCode())
|
||||
|| !Objects.equals(exist.getQualCertNo(), newEntity.getQualCertNo())
|
||||
|| !Objects.equals(exist.getLegalPersonPhone(), newEntity.getLegalPersonPhone())
|
||||
|| !Objects.equals(exist.getContactPhone(), newEntity.getContactPhone())
|
||||
|| !Objects.equals(exist.getInfoDisclosureUrl(), newEntity.getInfoDisclosureUrl())
|
||||
|| !Objects.equals(exist.getFixedAssetAmount(), newEntity.getFixedAssetAmount())
|
||||
|| !Objects.equals(exist.getArchiveRoomArea(), newEntity.getArchiveRoomArea())
|
||||
|| !Objects.equals(exist.getFulltimeEvaluatorCount(), newEntity.getFulltimeEvaluatorCount())
|
||||
|| !Objects.equals(exist.getRegisteredEngineerCount(), newEntity.getRegisteredEngineerCount())
|
||||
|| !Objects.equals(exist.getWorkplaceArea(), newEntity.getWorkplaceArea())
|
||||
|| !Objects.equals(exist.getUnitIntro(), newEntity.getUnitIntro())
|
||||
|| !Objects.equals(exist.getAttachmentUrl(), newEntity.getAttachmentUrl());
|
||||
}
|
||||
|
||||
private String summarizeBasic(QualFilingChangeEntity entity) {
|
||||
return entity.getFilingUnitName() + "|" + entity.getBusinessScope();
|
||||
}
|
||||
|
||||
private boolean commitmentChanged(QualFilingCommitmentChangeE exist, QualFilingCommitmentChangeE newEntity) {
|
||||
String existSig = exist == null ? "" : exist.getCommitmentContent() + "|" + exist.getLegalRepSignatureUrl()
|
||||
+ "|" + exist.getSignDate() + "|" + exist.getLegalRepPersonnelId() + "|" + exist.getLegalRepName();
|
||||
String newSig = newEntity == null ? "" : newEntity.getCommitmentContent() + "|" + newEntity.getLegalRepSignatureUrl()
|
||||
+ "|" + newEntity.getSignDate() + "|" + newEntity.getLegalRepPersonnelId() + "|" + newEntity.getLegalRepName();
|
||||
return !existSig.equals(newSig);
|
||||
}
|
||||
|
||||
private boolean equipmentListChanged(List<QualFilingEquipmentChangeE> exist, List<QualFilingEquipmentChangeE> newList) {
|
||||
return !equipmentSignature(exist).equals(equipmentSignature(newList));
|
||||
}
|
||||
|
||||
private String equipmentSignature(List<QualFilingEquipmentChangeE> list) {
|
||||
return safeList(list).stream()
|
||||
.map(e -> e.getSourceEquipmentId() + ":" + e.getCalibrationReportUrl())
|
||||
.sorted()
|
||||
.collect(Collectors.joining(";"));
|
||||
}
|
||||
|
||||
private boolean materialListChanged(List<QualFilingMaterialChangeE> exist, List<QualFilingMaterialChangeE> newList) {
|
||||
return !materialSignature(exist).equals(materialSignature(newList));
|
||||
}
|
||||
|
||||
private String materialSignature(List<QualFilingMaterialChangeE> list) {
|
||||
return safeList(list).stream()
|
||||
.map(m -> m.getMaterialContent() + ":" + m.getAttachmentUrl())
|
||||
.sorted()
|
||||
.collect(Collectors.joining(";"));
|
||||
}
|
||||
|
||||
private boolean personnelListChanged(List<QualFilingPersonnelChangeE> exist, List<QualFilingPersonnelChangeE> newList) {
|
||||
return !personnelSignature(exist).equals(personnelSignature(newList));
|
||||
}
|
||||
|
||||
private String personnelSignature(List<QualFilingPersonnelChangeE> list) {
|
||||
return safeList(list).stream()
|
||||
.map(QualFilingPersonnelChangeE::getSourcePersonnelId)
|
||||
.map(String::valueOf)
|
||||
.sorted()
|
||||
.collect(Collectors.joining(","));
|
||||
}
|
||||
|
||||
private boolean certListChanged(List<QualFilingPersonnelCertChangeE> exist, List<QualFilingPersonnelCertChangeE> newList) {
|
||||
return !certSignature(exist).equals(certSignature(newList));
|
||||
}
|
||||
|
||||
private String certSignature(List<QualFilingPersonnelCertChangeE> list) {
|
||||
return safeList(list).stream()
|
||||
.map(c -> c.getSourceCertId() + ":" + c.getCertNo() + ":" + c.getCertAttachmentUrl())
|
||||
.sorted()
|
||||
.collect(Collectors.joining(";"));
|
||||
}
|
||||
|
||||
private <T> List<T> safeList(List<T> list) {
|
||||
return list == null ? Collections.emptyList() : list;
|
||||
}
|
||||
|
||||
private QualFilingChangeDetailEntity stepDetail(Long changeId, QualFilingFormStepEnum step,
|
||||
String content, String before, String after) {
|
||||
QualFilingChangeDetailEntity detail = new QualFilingChangeDetailEntity();
|
||||
detail.setChangeId(changeId);
|
||||
detail.setFormStepCode(step.getCode());
|
||||
detail.setFormStepName(step.getName());
|
||||
detail.setChangeField("step:" + step.getCode());
|
||||
detail.setChangeContent(content);
|
||||
detail.setChangeItemName(step.getName());
|
||||
detail.setBeforeValue(before);
|
||||
detail.setAfterValue(after);
|
||||
return detail;
|
||||
}
|
||||
|
||||
private QualFilingChangeCO toCO(QualFilingChangeEntity entity) {
|
||||
if (entity == null) {
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -1,23 +1,31 @@
|
|||
package org.qinan.safetyeval.app.executor;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.qinan.safetyeval.app.orchestrator.QualFilingOrchestrator;
|
||||
import org.qinan.safetyeval.client.api.QualFilingApi;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingCommitmentChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingEquipmentChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingMaterialChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.change.request.QualFilingPersonnelChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.co.QualFilingCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingComplianceCheckResultCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingDetailCO;
|
||||
import org.qinan.safetyeval.client.dto.*;
|
||||
import org.qinan.safetyeval.domain.constant.QualFilingApplyTypeEnum;
|
||||
import org.qinan.safetyeval.domain.constant.QualFilingReviewResultEnum;
|
||||
import org.qinan.safetyeval.domain.entity.*;
|
||||
import org.qinan.safetyeval.domain.query.PageResult;
|
||||
import org.qinan.safetyeval.domain.service.QualFilingDomainService;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.*;
|
||||
import org.qinan.safetyeval.infrastructure.mapper.*;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -35,6 +43,22 @@ public class QualFilingExecutor implements QualFilingApi {
|
|||
@Resource
|
||||
private QualFilingOrchestrator qualFilingOrchestrator;
|
||||
|
||||
@Resource
|
||||
private QualFilingChangeExecutor qualFilingChangeExecutor;
|
||||
|
||||
@Resource
|
||||
private QualFilingMapper qualFilingMapper;
|
||||
@Resource
|
||||
private QualFilingCommitmentMapper qualFilingCommitmentMapper;
|
||||
@Resource
|
||||
private QualFilingEquipmentMapper qualFilingEquipmentMapper;
|
||||
@Resource
|
||||
private QualFilingMaterialMapper qualFilingMaterialMapper;
|
||||
@Resource
|
||||
private QualFilingPersonnelMapper qualFilingPersonnelMapper;
|
||||
@Resource
|
||||
private QualFilingPersonnelCertMapper qualFilingPersonnelCertMapper;
|
||||
|
||||
@Override
|
||||
public SingleResponse<QualFilingCO> add(QualFilingAddCmd cmd) {
|
||||
QualFilingEntity entity = new QualFilingEntity();
|
||||
|
|
@ -179,8 +203,50 @@ public class QualFilingExecutor implements QualFilingApi {
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void review(QualFilingReviewAddCmd cmd) {
|
||||
qualFilingDomainService.review(cmd.getFilingId(), cmd.getReviewResult(), cmd.getReviewResultRemark(), cmd.getFilingExpertId(), cmd.getFilingExpertName(), cmd.getReviewOpinion());
|
||||
if (QualFilingReviewResultEnum.PASS.getCode() == Integer.parseInt(cmd.getReviewResult())) {
|
||||
// 审核通过,需要新增资质变更记录
|
||||
AggregationSaveOrEditQualFilingChangeCmd cmdSync = new AggregationSaveOrEditQualFilingChangeCmd();
|
||||
// 基本信息
|
||||
QualFilingDO qualFilingDO = qualFilingMapper.selectById(cmd.getFilingId());
|
||||
QualFilingChangeAddCmd qualFilingChangeAddCmd = new QualFilingChangeAddCmd();
|
||||
BeanUtils.copyProperties(qualFilingDO, qualFilingChangeAddCmd, "id");
|
||||
qualFilingChangeAddCmd.setFilingId(qualFilingDO.getId());
|
||||
cmdSync.setQualFilingChangeAddCmd(qualFilingChangeAddCmd);
|
||||
// 备案承诺书
|
||||
QualFilingCommitmentDO qualFilingCommitmentDO = qualFilingCommitmentMapper.selectOne(new LambdaQueryWrapper<QualFilingCommitmentDO>()
|
||||
.eq(QualFilingCommitmentDO::getFilingId, cmd.getFilingId()));
|
||||
QualFilingCommitmentChangeAddCmd qualFilingCommitmentChangeAddCmd = new QualFilingCommitmentChangeAddCmd();
|
||||
BeanUtils.copyProperties(qualFilingCommitmentDO, qualFilingCommitmentChangeAddCmd);
|
||||
cmdSync.setQualFilingCommitmentChangeAddCmd(qualFilingCommitmentChangeAddCmd);
|
||||
// 备案装备
|
||||
List<QualFilingEquipmentDO> qualFilingEquipmentDOs = qualFilingEquipmentMapper.selectList(new LambdaQueryWrapper<QualFilingEquipmentDO>()
|
||||
.eq(QualFilingEquipmentDO::getFilingId, cmd.getFilingId()));
|
||||
cmdSync.setQualFilingEquipmentChangeAddCmds(qualFilingEquipmentDOs.stream().map(item -> {
|
||||
QualFilingEquipmentChangeAddCmd qualFilingEquipmentChangeAddCmd = new QualFilingEquipmentChangeAddCmd();
|
||||
BeanUtils.copyProperties(item, qualFilingEquipmentChangeAddCmd);
|
||||
return qualFilingEquipmentChangeAddCmd;
|
||||
}).collect(Collectors.toList()));
|
||||
// 备案材料清单
|
||||
List<QualFilingMaterialDO> qualFilingMaterialDOs = qualFilingMaterialMapper.selectList(new LambdaQueryWrapper<QualFilingMaterialDO>()
|
||||
.eq(QualFilingMaterialDO::getFilingId, cmd.getFilingId()));
|
||||
cmdSync.setQualFilingMaterialChangeAddCmds(qualFilingMaterialDOs.stream().map(item -> {
|
||||
QualFilingMaterialChangeAddCmd qualFilingMaterialChangeAddCmd = new QualFilingMaterialChangeAddCmd();
|
||||
BeanUtils.copyProperties(item, qualFilingMaterialChangeAddCmd);
|
||||
return qualFilingMaterialChangeAddCmd;
|
||||
}).collect(Collectors.toList()));
|
||||
// 备案人员
|
||||
List<QualFilingPersonnelDO> qualFilingPersonnelDOs = qualFilingPersonnelMapper.selectList(new LambdaQueryWrapper<QualFilingPersonnelDO>()
|
||||
.eq(QualFilingPersonnelDO::getFilingId, cmd.getFilingId()));
|
||||
cmdSync.setQualFilingPersonnelChangeAddCmds(qualFilingPersonnelDOs.stream().map(item -> {
|
||||
QualFilingPersonnelChangeAddCmd qualFilingPersonnelChangeAddCmd = new QualFilingPersonnelChangeAddCmd();
|
||||
BeanUtils.copyProperties(item, qualFilingPersonnelChangeAddCmd);
|
||||
return qualFilingPersonnelChangeAddCmd;
|
||||
}).collect(Collectors.toList()));
|
||||
qualFilingChangeExecutor.aggregationSaveOrEdit(cmdSync);
|
||||
}
|
||||
}
|
||||
|
||||
private QualFilingCO toLegacyCO(QualFilingEntity entity) {
|
||||
|
|
|
|||
|
|
@ -214,15 +214,7 @@ public class QualFilingOrchestrator {
|
|||
domainQuery.setSupervision(query.getSupervision());
|
||||
PageResult<QualFilingEntity> pageResult = qualFilingGateway.page(domainQuery);
|
||||
List<QualFilingCO> records = pageResult.getRecords().stream()
|
||||
.map(entity -> {
|
||||
QualFilingCO co = toCO(entity);
|
||||
Long originId = entity.getApplyTypeCode() != null
|
||||
&& entity.getApplyTypeCode() == QualFilingApplyTypeEnum.CHANGE_DRAFT.getCode()
|
||||
&& entity.getOriginFilingId() != null
|
||||
? entity.getOriginFilingId() : entity.getId();
|
||||
co.setChangeCount(qualFilingChangeDetailGateway.countByFilingId(originId));
|
||||
return co;
|
||||
})
|
||||
.map(entity -> toCO(entity))
|
||||
.collect(Collectors.toList());
|
||||
return PageResult.of(records, pageResult.getTotal(), pageResult.getPageNum(), pageResult.getPageSize());
|
||||
}
|
||||
|
|
@ -685,6 +677,7 @@ public class QualFilingOrchestrator {
|
|||
co.setUploadStatusName(entity.getUploadStatusName());
|
||||
co.setAttachmentDesc(entity.getAttachmentDesc());
|
||||
co.setAttachmentUrl(entity.getAttachmentUrl());
|
||||
co.setMaterialType(entity.getMaterialType());
|
||||
co.setMaterialRemark(entity.getMaterialRemark());
|
||||
co.setTenantId(entity.getTenantId());
|
||||
return co;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package org.qinan.safetyeval.client.api;
|
||||
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeAggregationCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeComplianceCheckResultCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeHistoryCO;
|
||||
import org.qinan.safetyeval.client.co.QualFilingChangeCO;
|
||||
|
|
@ -9,6 +10,7 @@ import org.qinan.safetyeval.client.dto.SingleResponse;
|
|||
import org.qinan.safetyeval.client.dto.QualFilingChangeAddCmd;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingChangeModifyCmd;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingChangePageQuery;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingChangeReviewAddCmd;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingChangeSubmitCmd;
|
||||
import org.qinan.safetyeval.client.dto.QualFilingRejectCmd;
|
||||
|
||||
|
|
@ -42,4 +44,8 @@ public interface QualFilingChangeApi {
|
|||
SingleResponse<List<QualFilingChangeComplianceCheckResultCO>> complianceCheck(Long id);
|
||||
|
||||
SingleResponse<QualFilingChangeCO> aggregationSaveOrEdit(AggregationSaveOrEditQualFilingChangeCmd cmd);
|
||||
|
||||
void review(QualFilingChangeReviewAddCmd cmd);
|
||||
|
||||
SingleResponse<QualFilingChangeAggregationCO> detail(Long id);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public class QualFilingMaterialChangeAddCmd implements Serializable {
|
|||
*/
|
||||
@ApiModelProperty(value = "材料类型1,申请材料目录(原件),2,申请书(原件),3,法人证明(复印件),4,三年内无重大违法失信记录查询证明,5,法定代表人承诺书(原件),6,固定资产法定证明材料,7,工作场所及档案室面积证明,8,安全评价师专业能力证明,9,相关负责人证明材料,10,机构内部管理制度", required = true)
|
||||
@NotBlank(message = "材料类型1,申请材料目录(原件),2,申请书(原件),3,法人证明(复印件),4,三年内无重大违法失信记录查询证明,5,法定代表人承诺书(原件),6,固定资产法定证明材料,7,工作场所及档案室面积证明,8,安全评价师专业能力证明,9,相关负责人证明材料,10,机构内部管理制度不能为空")
|
||||
private String materialType;
|
||||
private Integer materialType;
|
||||
/**
|
||||
* 材料内容
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
package org.qinan.safetyeval.client.co;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案变更详情聚合 CO(5 个子表聚合)
|
||||
*
|
||||
* @author safety-eval
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class QualFilingChangeAggregationCO extends QualFilingChangeCO {
|
||||
|
||||
@ApiModelProperty(value = "法定代表人承诺书")
|
||||
private QualFilingCommitmentCO commitment;
|
||||
|
||||
@ApiModelProperty(value = "变更装备列表")
|
||||
private List<QualFilingEquipmentCO> equipmentList;
|
||||
|
||||
@ApiModelProperty(value = "变更材料列表")
|
||||
private List<QualFilingMaterialCO> materialList;
|
||||
|
||||
@ApiModelProperty(value = "变更人员列表")
|
||||
private List<QualFilingPersonnelCO> personnelList;
|
||||
|
||||
@ApiModelProperty(value = "变更人员证书列表")
|
||||
private List<QualFilingPersonnelCertCO> personnelCertList;
|
||||
}
|
||||
|
|
@ -18,6 +18,9 @@ public class QualFilingChangeCO {
|
|||
@ApiModelProperty(value = "备案申请ID")
|
||||
private Long filingId;
|
||||
|
||||
@ApiModelProperty(value = "审核ID")
|
||||
private Long filingReviewId;
|
||||
|
||||
@ApiModelProperty(value = "变更备案ID")
|
||||
private Long changeFilingId;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
package org.qinan.safetyeval.client.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.math.BigDecimal;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 备案变更新增命令
|
||||
*
|
||||
|
|
@ -18,6 +19,8 @@ public class QualFilingChangeAddCmd {
|
|||
@ApiModelProperty(value = "备案申请id")
|
||||
private Long filingId;
|
||||
|
||||
private Long orgId;
|
||||
|
||||
@ApiModelProperty(value = "关联变更的id")
|
||||
private Long changeFilingId;
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
package org.qinan.safetyeval.client.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.qinan.safetyeval.domain.constant.QualFilingReviewResultEnum;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* 资质审核记录新增命令
|
||||
*
|
||||
* @author safety-eval
|
||||
*/
|
||||
@Data
|
||||
public class QualFilingChangeReviewAddCmd {
|
||||
|
||||
@ApiModelProperty(value = "变更备案申请id")
|
||||
@NotNull(message = "备案申请id 不能为空")
|
||||
private Long changeFilingId;
|
||||
|
||||
@ApiModelProperty(value = "备案审核id", hidden = true)
|
||||
private Long filingReviewId;
|
||||
|
||||
@ApiModelProperty(value = QualFilingReviewResultEnum.REMARKS)
|
||||
@NotBlank(message = "审核结果 不能为空")
|
||||
private String reviewResult;
|
||||
|
||||
@ApiModelProperty(value = "专家id")
|
||||
private Long filingExpertId;
|
||||
|
||||
@ApiModelProperty(value = "专家名称")
|
||||
private String filingExpertName;
|
||||
|
||||
@ApiModelProperty(value = "综合审核意见")
|
||||
private String reviewOpinion;
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
package org.qinan.safetyeval.client.dto;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.util.Map;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 发送短信命令
|
||||
*
|
||||
* @author safety-eval
|
||||
*/
|
||||
@Data
|
||||
public class SendMessageCmd {
|
||||
|
||||
@ApiModelProperty(value = "消息接受人ID", required = true)
|
||||
@NotNull(message = "消息接受人ID不能为空")
|
||||
private Long userId;
|
||||
|
||||
@ApiModelProperty(value = "手机号", required = true)
|
||||
@NotBlank(message = "手机号不能为空")
|
||||
private String mobile;
|
||||
|
||||
@ApiModelProperty(value = "消息模板参数")
|
||||
private Map<String, Object> params;
|
||||
}
|
||||
|
|
@ -23,6 +23,9 @@ public class SingleResponse<T> {
|
|||
@ApiModelProperty(value = "响应消息")
|
||||
private String message;
|
||||
|
||||
@ApiModelProperty(value = "错误响应消息")
|
||||
private String errMessage;
|
||||
|
||||
@ApiModelProperty(value = "响应数据")
|
||||
private T data;
|
||||
|
||||
|
|
@ -46,6 +49,7 @@ public class SingleResponse<T> {
|
|||
response.setSuccess(false);
|
||||
response.setCode(code);
|
||||
response.setMessage(message);
|
||||
response.setErrMessage(message);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ package org.qinan.safetyeval.domain.change.gateway;
|
|||
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingEquipmentChangeE;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案申请装备-变更网关
|
||||
*
|
||||
|
|
@ -41,4 +43,9 @@ public interface QualFilingEquipmentChangeGateway {
|
|||
* @return 结果
|
||||
*/
|
||||
Boolean deletedQualFilingEquipmentChangeByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据filingId查询备案申请装备-变更列表
|
||||
*/
|
||||
List<QualFilingEquipmentChangeE> listByFilingId(Long filingId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ package org.qinan.safetyeval.domain.change.gateway;
|
|||
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingMaterialChangeE;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案申请材料-变更网关
|
||||
*
|
||||
|
|
@ -42,6 +44,11 @@ public interface QualFilingMaterialChangeGateway {
|
|||
*/
|
||||
Boolean deletedQualFilingMaterialChangeByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据filingId查询备案申请材料-变更列表
|
||||
*/
|
||||
List<QualFilingMaterialChangeE> listByFilingId(Long filingId);
|
||||
|
||||
/**
|
||||
* 统计指定filingId下满足上传状态和材料类型的记录数
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ package org.qinan.safetyeval.domain.change.gateway;
|
|||
|
||||
import org.qinan.safetyeval.domain.change.model.QualFilingPersonnelCertChangeE;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案申请人员证书网关
|
||||
*
|
||||
|
|
@ -41,4 +43,9 @@ public interface QualFilingPersonnelCertChangeGateway {
|
|||
* @return 结果
|
||||
*/
|
||||
Boolean deletedQualFilingPersonnelCertChangeByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据filingId查询备案申请人员证书列表
|
||||
*/
|
||||
List<QualFilingPersonnelCertChangeE> listByFilingId(Long filingId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ public enum QualFilingReviewResultEnum {
|
|||
private final int code;
|
||||
private final String name;
|
||||
|
||||
public static final String REMARKS = "审核结果(1通过2待定3不通过)";
|
||||
|
||||
QualFilingReviewResultEnum(int code, String name) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
|
|
|
|||
|
|
@ -27,6 +27,9 @@ public class QualFilingChangeEntity {
|
|||
/** 打回原因 */
|
||||
private String rejectReason;
|
||||
|
||||
/** 审核ID */
|
||||
private Long filingReviewId;
|
||||
|
||||
/** 提交时间 */
|
||||
private java.time.LocalDateTime submitTime;
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,8 @@ import org.springframework.context.annotation.Configuration;
|
|||
* @author safety-eval
|
||||
*/
|
||||
@Configuration
|
||||
@MapperScan("org.qinan.safetyeval.infrastructure")
|
||||
@MapperScan({"org.qinan.safetyeval.infrastructure.mapper"
|
||||
, "org.qinan.safetyeval.infrastructure.persistence.mapper"})
|
||||
@EnableConfigurationProperties(ServerProperties.class)
|
||||
public class MybatisPlusConfig {
|
||||
|
||||
|
|
|
|||
|
|
@ -50,4 +50,14 @@ public interface QualFilingEquipmentChangeDoConvertor {
|
|||
* @return
|
||||
*/
|
||||
List<QualFilingEquipmentChangeCo> converDosToCos(List<QualFilingEquipmentChangeDO> qualFilingEquipmentChangeDos);
|
||||
|
||||
/**
|
||||
* DO转领域对象
|
||||
*/
|
||||
QualFilingEquipmentChangeE converDoToEe(QualFilingEquipmentChangeDO qualFilingEquipmentChangeDO);
|
||||
|
||||
/**
|
||||
* DOs转领域对象列表
|
||||
*/
|
||||
List<QualFilingEquipmentChangeE> converDosToEes(List<QualFilingEquipmentChangeDO> qualFilingEquipmentChangeDOs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,4 +50,14 @@ public interface QualFilingMaterialChangeDoConvertor {
|
|||
* @return
|
||||
*/
|
||||
List<QualFilingMaterialChangeCo> converDosToCos(List<QualFilingMaterialChangeDO> qualFilingMaterialChangeDos);
|
||||
|
||||
/**
|
||||
* DO转领域对象
|
||||
*/
|
||||
QualFilingMaterialChangeE converDoToEe(QualFilingMaterialChangeDO qualFilingMaterialChangeDO);
|
||||
|
||||
/**
|
||||
* DOs转领域对象列表
|
||||
*/
|
||||
List<QualFilingMaterialChangeE> converDosToEes(List<QualFilingMaterialChangeDO> qualFilingMaterialChangeDOs);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,6 +53,16 @@ public interface QualFilingPersonnelCertChangeDoConvertor {
|
|||
*/
|
||||
List<QualFilingPersonnelCertChangeCo> converDosToCos(List<QualFilingPersonnelCertChangeDO> qualFilingPersonnelCertChangeDos);
|
||||
|
||||
/**
|
||||
* DO转领域对象
|
||||
*/
|
||||
QualFilingPersonnelCertChangeE converDoToEe(QualFilingPersonnelCertChangeDO qualFilingPersonnelCertChangeDO);
|
||||
|
||||
/**
|
||||
* DOs转领域对象列表
|
||||
*/
|
||||
List<QualFilingPersonnelCertChangeE> converDosToEes(List<QualFilingPersonnelCertChangeDO> qualFilingPersonnelCertChangeDOs);
|
||||
|
||||
/**
|
||||
* OrgPersonnelCertDO转QualFilingPersonnelCertChangeDO
|
||||
*
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ public class QualFilingChangeDO {
|
|||
private Long changeFilingId;
|
||||
private String rejectReason;
|
||||
private LocalDateTime submitTime;
|
||||
private Long filingReviewId;
|
||||
private String filingTerritoryCode;
|
||||
private String filingTerritoryName;
|
||||
private String filingUnitName;
|
||||
|
|
|
|||
|
|
@ -45,4 +45,10 @@ public class QualFilingEquipmentChangeGatewayImpl implements QualFilingEquipment
|
|||
public Boolean deletedQualFilingEquipmentChangeByIds(Long[] ids) {
|
||||
return qualFilingEquipmentChangeRepository.deletedQualFilingEquipmentChangeByIds(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public java.util.List<QualFilingEquipmentChangeE> listByFilingId(Long filingId) {
|
||||
return qualFilingEquipmentChangeDoConvertor.converDosToEes(
|
||||
qualFilingEquipmentChangeRepository.listByFilingId(filingId));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,6 +46,12 @@ public class QualFilingMaterialChangeGatewayImpl implements QualFilingMaterialCh
|
|||
return qualFilingMaterialChangeRepository.deletedQualFilingMaterialChangeByIds(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public java.util.List<QualFilingMaterialChangeE> listByFilingId(Long filingId) {
|
||||
return qualFilingMaterialChangeDoConvertor.converDosToEes(
|
||||
qualFilingMaterialChangeRepository.listByFilingId(filingId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int countByFilingIdAndUploadStatusCodeAndMaterialType(Long filingId, Integer uploadStatusCode, String materialType) {
|
||||
return qualFilingMaterialChangeRepository.countByFilingIdAndUploadStatusCodeAndMaterialType(filingId, uploadStatusCode, materialType);
|
||||
|
|
|
|||
|
|
@ -45,4 +45,10 @@ public class QualFilingPersonnelCertChangeGatewayImpl implements QualFilingPerso
|
|||
public Boolean deletedQualFilingPersonnelCertChangeByIds(Long[] ids) {
|
||||
return qualFilingPersonnelCertChangeRepository.deletedQualFilingPersonnelCertChangeByIds(ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public java.util.List<QualFilingPersonnelCertChangeE> listByFilingId(Long filingId) {
|
||||
return qualFilingPersonnelCertChangeDoConvertor.converDosToEes(
|
||||
qualFilingPersonnelCertChangeRepository.listByFilingId(filingId));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -145,8 +145,10 @@ public class QualFilingChangeGatewayImpl implements QualFilingChangeGateway {
|
|||
QualFilingChangeDO dataObject = qualFilingChangeDoConvertor.convertEeToDo(entity);
|
||||
if (Objects.nonNull(dataObject.getId())) {
|
||||
// 编辑
|
||||
InsertFieldDefaults.applyForUpdate(dataObject);
|
||||
qualFilingChangeMapper.updateById(dataObject);
|
||||
} else {
|
||||
InsertFieldDefaults.apply(dataObject);
|
||||
qualFilingChangeMapper.insert(dataObject);
|
||||
}
|
||||
if (Objects.isNull(dataObject.getId())) {
|
||||
|
|
@ -200,7 +202,7 @@ public class QualFilingChangeGatewayImpl implements QualFilingChangeGateway {
|
|||
.stream().map(QualFilingPersonnelChangeE::getSourcePersonnelId).collect(Collectors.toList());
|
||||
if (!CollectionUtils.isEmpty(sourcePersonnelIds)) {
|
||||
List<OrgPersonnelCertDO> orgPersonnelCertDOS = orgPersonnelCertMapper.selectList(new LambdaQueryWrapper<OrgPersonnelCertDO>()
|
||||
.eq(OrgPersonnelCertDO::getPersonnelId, sourcePersonnelIds));
|
||||
.in(OrgPersonnelCertDO::getPersonnelId, sourcePersonnelIds));
|
||||
if (!CollectionUtils.isEmpty(orgPersonnelCertDOS)) {
|
||||
for (OrgPersonnelCertDO orgPersonnelCertDO : orgPersonnelCertDOS) {
|
||||
QualFilingPersonnelCertChangeDO qualFilingPersonnelCertChangeDO =
|
||||
|
|
@ -228,6 +230,7 @@ public class QualFilingChangeGatewayImpl implements QualFilingChangeGateway {
|
|||
dataObject.setFilingId(entity.getFilingId());
|
||||
dataObject.setChangeFilingId(entity.getChangeFilingId());
|
||||
dataObject.setRejectReason(entity.getRejectReason());
|
||||
dataObject.setFilingReviewId(entity.getFilingReviewId());
|
||||
dataObject.setSubmitTime(entity.getSubmitTime());
|
||||
dataObject.setFilingTerritoryCode(entity.getFilingTerritoryCode());
|
||||
dataObject.setFilingTerritoryName(entity.getFilingTerritoryName());
|
||||
|
|
@ -265,6 +268,7 @@ public class QualFilingChangeGatewayImpl implements QualFilingChangeGateway {
|
|||
entity.setFilingId(dataObject.getFilingId());
|
||||
entity.setChangeFilingId(dataObject.getChangeFilingId());
|
||||
entity.setRejectReason(dataObject.getRejectReason());
|
||||
entity.setFilingReviewId(dataObject.getFilingReviewId());
|
||||
entity.setSubmitTime(dataObject.getSubmitTime());
|
||||
entity.setFilingTerritoryCode(dataObject.getFilingTerritoryCode());
|
||||
entity.setFilingTerritoryName(dataObject.getFilingTerritoryName());
|
||||
|
|
|
|||
|
|
@ -119,23 +119,6 @@ public class QualFilingGatewayImpl implements QualFilingGateway {
|
|||
if (query.getSupervision()) {
|
||||
wrapper.ne(QualFilingDO::getFilingStatusCode, 5);
|
||||
}
|
||||
// if (SCENE_CHANGE.equals(query.getScene())) {
|
||||
// applyChangeListFilter(wrapper, query);
|
||||
// }
|
||||
// else {
|
||||
// if (query.getFilingStatusCodes() != null && !query.getFilingStatusCodes().isEmpty()) {
|
||||
// wrapper.in(QualFilingDO::getFilingStatusCode, query.getFilingStatusCodes());
|
||||
// }
|
||||
// else if (query.getFilingStatusCode() != null) {
|
||||
// wrapper.eq(QualFilingDO::getFilingStatusCode, query.getFilingStatusCode());
|
||||
// }
|
||||
// if (query.getApplyTypeCode() != null) {
|
||||
// wrapper.eq(QualFilingDO::getApplyTypeCode, query.getApplyTypeCode());
|
||||
// if (query.getApplyTypeCode() == APPLY_TYPE_FILED_MANAGE) {
|
||||
// wrapper.isNull(QualFilingDO::getOriginFilingId);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
wrapper.orderByDesc(QualFilingDO::getCreateTime);
|
||||
|
||||
Page<QualFilingDO> page = new Page<>(query.getPageNum(), query.getPageSize());
|
||||
|
|
@ -217,7 +200,7 @@ public class QualFilingGatewayImpl implements QualFilingGateway {
|
|||
List<Long> sourcePersonnelIds = personnelEntities.stream().map(QualFilingPersonnelEntity::getSourcePersonnelId).collect(Collectors.toList());
|
||||
if (!CollectionUtils.isEmpty(sourcePersonnelIds)) {
|
||||
List<OrgPersonnelCertDO> orgPersonnelCertDOS = orgPersonnelCertMapper.selectList(new LambdaQueryWrapper<OrgPersonnelCertDO>()
|
||||
.eq(OrgPersonnelCertDO::getPersonnelId, sourcePersonnelIds));
|
||||
.in(OrgPersonnelCertDO::getPersonnelId, sourcePersonnelIds));
|
||||
if (!CollectionUtils.isEmpty(orgPersonnelCertDOS)) {
|
||||
for (OrgPersonnelCertDO orgPersonnelCertDO : orgPersonnelCertDOS) {
|
||||
QualFilingPersonnelCertDO qualFilingPersonnelCertDO = new QualFilingPersonnelCertDO();
|
||||
|
|
@ -253,7 +236,6 @@ public class QualFilingGatewayImpl implements QualFilingGateway {
|
|||
* @param reviewOpinion 审核意见
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void review(Long filingId, String reviewResult, String reviewResultRemark, Long filingExpertId, String filingExpertName, String reviewOpinion) {
|
||||
// 保存审核记录
|
||||
QualFilingReviewDO qualFilingReviewDO = new QualFilingReviewDO();
|
||||
|
|
@ -275,7 +257,6 @@ public class QualFilingGatewayImpl implements QualFilingGateway {
|
|||
filing.setFilingReviewId(qualFilingReviewDO.getId());
|
||||
InsertFieldDefaults.applyForUpdate(filing);
|
||||
qualFilingMapper.updateById(filing);
|
||||
//todo 审核通过是否需要新增资质变更记录
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import com.jjb.saas.framework.repository.repo.BaseRepository;
|
|||
import org.qinan.safetyeval.client.change.request.QualFilingEquipmentChangePageQry;
|
||||
import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualFilingEquipmentChangeDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案申请装备-变更
|
||||
*
|
||||
|
|
@ -62,4 +64,9 @@ public interface QualFilingEquipmentChangeRepository extends BaseRepository<Qual
|
|||
*/
|
||||
Boolean deletedQualFilingEquipmentChangeByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据filingId查询备案申请装备-变更列表
|
||||
*/
|
||||
List<QualFilingEquipmentChangeDO> listByFilingId(Long filingId);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import com.jjb.saas.framework.repository.repo.BaseRepository;
|
|||
import org.qinan.safetyeval.client.change.request.QualFilingMaterialChangePageQry;
|
||||
import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualFilingMaterialChangeDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案申请材料-变更
|
||||
*
|
||||
|
|
@ -62,6 +64,11 @@ public interface QualFilingMaterialChangeRepository extends BaseRepository<QualF
|
|||
*/
|
||||
Boolean deletedQualFilingMaterialChangeByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据filingId查询备案申请材料-变更列表
|
||||
*/
|
||||
List<QualFilingMaterialChangeDO> listByFilingId(Long filingId);
|
||||
|
||||
/**
|
||||
* 统计指定filingId下满足上传状态和材料类型的记录数
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import com.jjb.saas.framework.repository.repo.BaseRepository;
|
|||
import org.qinan.safetyeval.client.change.request.QualFilingPersonnelCertChangePageQry;
|
||||
import org.qinan.safetyeval.infrastructure.persistence.domainobject.QualFilingPersonnelCertChangeDO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案申请人员证书
|
||||
*
|
||||
|
|
@ -62,4 +64,9 @@ public interface QualFilingPersonnelCertChangeRepository extends BaseRepository<
|
|||
*/
|
||||
Boolean deletedQualFilingPersonnelCertChangeByIds(Long[] ids);
|
||||
|
||||
/**
|
||||
* 根据filingId查询备案申请人员证书列表
|
||||
*/
|
||||
List<QualFilingPersonnelCertChangeDO> listByFilingId(Long filingId);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import org.qinan.safetyeval.infrastructure.persistence.repository.QualFilingEqui
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案申请装备-变更
|
||||
|
|
@ -114,4 +115,12 @@ public class QualFilingEquipmentChangeRepositoryImpl extends BaseRepositoryImpl<
|
|||
public Boolean deletedQualFilingEquipmentChangeByIds(Long[] ids) {
|
||||
return super.removeBatchEnByIds(Arrays.asList(ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<QualFilingEquipmentChangeDO> listByFilingId(Long filingId) {
|
||||
return super.lambdaQuery()
|
||||
.eq(QualFilingEquipmentChangeDO::getFilingChangeId, filingId)
|
||||
.eq(QualFilingEquipmentChangeDO::getDeleteEnum, BooleanEnum.FALSE.getValue())
|
||||
.list();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import org.qinan.safetyeval.infrastructure.persistence.repository.QualFilingMate
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案申请材料-变更
|
||||
|
|
@ -94,6 +95,14 @@ public class QualFilingMaterialChangeRepositoryImpl extends BaseRepositoryImpl<Q
|
|||
return super.removeBatchEnByIds(Arrays.asList(ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<QualFilingMaterialChangeDO> listByFilingId(Long filingId) {
|
||||
return super.lambdaQuery()
|
||||
.eq(QualFilingMaterialChangeDO::getFilingChangeId, filingId)
|
||||
.eq(QualFilingMaterialChangeDO::getDeleteEnum, BooleanEnum.FALSE.getValue())
|
||||
.list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int countByFilingIdAndUploadStatusCodeAndMaterialType(Long filingId, Integer uploadStatusCode, String materialType) {
|
||||
return super.lambdaQuery()
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import org.qinan.safetyeval.infrastructure.persistence.repository.QualFilingPers
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 备案申请人员证书
|
||||
|
|
@ -108,4 +109,12 @@ public class QualFilingPersonnelCertChangeRepositoryImpl extends BaseRepositoryI
|
|||
public Boolean deletedQualFilingPersonnelCertChangeByIds(Long[] ids) {
|
||||
return super.removeBatchEnByIds(Arrays.asList(ids));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<QualFilingPersonnelCertChangeDO> listByFilingId(Long filingId) {
|
||||
return super.lambdaQuery()
|
||||
.eq(QualFilingPersonnelCertChangeDO::getFilingChangeId, filingId)
|
||||
.eq(QualFilingPersonnelCertChangeDO::getDeleteEnum, BooleanEnum.FALSE.getValue())
|
||||
.list();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package org.qinan.safetyeval.infrastructure.support;
|
|||
|
||||
import org.qinan.safetyeval.infrastructure.adapter.ThreadLocalUserInfoAdapter;
|
||||
import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter;
|
||||
import org.qinan.safetyeval.infrastructure.dataobject.QualFilingExpertDO;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.time.LocalDateTime;
|
||||
|
|
@ -86,6 +85,8 @@ public final class InsertFieldDefaults {
|
|||
LocalDateTime now = LocalDateTime.now();
|
||||
Long userId = AuthUserContextAdapter.getCurrentUserId();
|
||||
String userName = AuthUserContextAdapter.getCurrentUserName();
|
||||
// 机构信息id
|
||||
Long orgInfoId = ThreadLocalUserInfoAdapter.get();
|
||||
|
||||
setIfNull(dataObject, "updateTime", now);
|
||||
if (userId != null) {
|
||||
|
|
@ -94,6 +95,10 @@ public final class InsertFieldDefaults {
|
|||
if (userName != null) {
|
||||
setIfNull(dataObject, "updateName", userName);
|
||||
}
|
||||
if (orgInfoId != null) {
|
||||
// 机构信息id
|
||||
setIfNull(dataObject, "orgId", orgInfoId);
|
||||
}
|
||||
}
|
||||
|
||||
private static void setIfNull(Object target, String property, Object value) {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
<result column="filing_id" property="filingId"/>
|
||||
<result column="change_filing_id" property="changeFilingId"/>
|
||||
<result column="reject_reason" property="rejectReason"/>
|
||||
<result column="filing_review_id" property="filingReviewId"/>
|
||||
<result column="submit_time" property="submitTime"/>
|
||||
<result column="filing_territory_code" property="filingTerritoryCode"/>
|
||||
<result column="filing_territory_name" property="filingTerritoryName"/>
|
||||
|
|
@ -48,7 +49,7 @@
|
|||
|
||||
<!-- 通用查询结果列 -->
|
||||
<sql id="Base_Column_List">
|
||||
`id`, `org_id`, `filing_id`, `change_filing_id`, `reject_reason`, `submit_time`, `filing_territory_code`, `filing_territory_name`, `filing_unit_name`, `filing_unit_type_code`, `filing_unit_type_name`, `filing_no`, `business_scope`, `register_address`, `office_address`, `credit_code`, `qual_cert_no`, `legal_person_phone`, `contact_phone`, `info_disclosure_url`, `fixed_asset_amount`, `archive_room_area`, `fulltime_evaluator_count`, `registered_engineer_count`, `workplace_area`, `unit_intro`, `attachment_url`, `filing_status_code`, `filing_status_name`, `delete_enum`, `remarks`, `create_name`, `update_name`, `tenant_id`, `version`, `create_time`, `update_time`, `create_id`, `update_id`, `env`
|
||||
`id`, `org_id`, `filing_id`, `change_filing_id`, `filing_review_id`, `reject_reason`, `submit_time`, `filing_territory_code`, `filing_territory_name`, `filing_unit_name`, `filing_unit_type_code`, `filing_unit_type_name`, `filing_no`, `business_scope`, `register_address`, `office_address`, `credit_code`, `qual_cert_no`, `legal_person_phone`, `contact_phone`, `info_disclosure_url`, `fixed_asset_amount`, `archive_room_area`, `fulltime_evaluator_count`, `registered_engineer_count`, `workplace_area`, `unit_intro`, `attachment_url`, `filing_status_code`, `filing_status_name`, `delete_enum`, `remarks`, `create_name`, `update_name`, `tenant_id`, `version`, `create_time`, `update_time`, `create_id`, `update_id`, `env`
|
||||
</sql>
|
||||
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -14,6 +14,9 @@ import org.springframework.boot.SpringApplication;
|
|||
"org.qinan.safetyeval.infrastructure.persistence.mapper"
|
||||
}
|
||||
)
|
||||
@SpringBootApplication(scanBasePackages = {"org.qinan.safetyeval", "com.jjb.saas"},exclude = {com.jjb.saas.framework.datascope.DataScopeConfiguration.class})
|
||||
@EnableDubbo
|
||||
@EnableFeignClients(basePackages = {"org.qinan.safetyeval", "com.jjb.saas"})
|
||||
@Slf4j
|
||||
public class SafetyEvalApplication {
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue