Merge branch 'qtz' of SH-Arbitrate/Mediation-Backend into dev

This commit was merged in pull request #18.
This commit is contained in:
qtz
2024-01-16 10:58:41 +08:00
committed by Gitea
4 changed files with 89 additions and 0 deletions
@@ -1,8 +1,10 @@
package com.ruoyi.web.controller.wisdomarbitrate.mscase;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.exception.EsignDemoException;
import com.ruoyi.wisdomarbitrate.domain.dto.mscase.MsSignSealDTO;
import com.ruoyi.wisdomarbitrate.domain.vo.mscase.MsCaseApplicationVO;
import com.ruoyi.wisdomarbitrate.service.mscase.MsSignSealService;
import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +30,18 @@ public class MsSignSealController extends BaseController {
return msSignSealService.sureMediationSeal(caseApplication);
}
/**
* 用印申请
*/
@PostMapping("/sealApply")
public AjaxResult sealApply(@RequestBody MsSignSealDTO dto ) {
if ((dto.getCaseId() == null && StrUtil.isEmpty(dto.getBatchNumber()))
|| dto.getCaseFlowId() == null) {
return error("参数校验失败");
}
return msSignSealService.sealApply(dto);
}
@@ -0,0 +1,23 @@
package com.ruoyi.wisdomarbitrate.domain.dto.mscase;
import lombok.Data;
@Data
public class MsSignSealDTO {
/**
* 案件id
*/
private Long caseId;
/**
* 批次号
*/
private String batchNumber;
/**
* 流程节点id
*/
private Integer caseFlowId;
}
@@ -2,6 +2,7 @@ package com.ruoyi.wisdomarbitrate.service.mscase;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.exception.EsignDemoException;
import com.ruoyi.wisdomarbitrate.domain.dto.mscase.MsSignSealDTO;
import com.ruoyi.wisdomarbitrate.domain.vo.mscase.MsCaseApplicationVO;
public interface MsSignSealService {
@@ -9,4 +10,5 @@ public interface MsSignSealService {
AjaxResult sureMediationSeal(MsCaseApplicationVO caseApplication) throws EsignDemoException, InterruptedException;
AjaxResult sealApply(MsSignSealDTO dto);
}
@@ -1,6 +1,8 @@
package com.ruoyi.wisdomarbitrate.service.mscase.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
@@ -8,12 +10,16 @@ import com.google.gson.JsonObject;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.EsignHttpResponse;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.YesOrNoEnum;
import com.ruoyi.common.exception.EsignDemoException;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.SmsUtils;
import com.ruoyi.common.utils.file.SaaSAPIFileUtils;
import com.ruoyi.system.domain.entity.flow.MsCaseFlow;
import com.ruoyi.system.mapper.flow.MsCaseFlowMapper;
import com.ruoyi.wisdomarbitrate.domain.dto.dept.DeptIdentify;
import com.ruoyi.wisdomarbitrate.domain.dto.dept.SealManage;
import com.ruoyi.wisdomarbitrate.domain.dto.mscase.MsSignSealDTO;
import com.ruoyi.wisdomarbitrate.domain.dto.mscase.SealSignRecord;
import com.ruoyi.wisdomarbitrate.domain.entity.dept.MsSealSignRecord;
import com.ruoyi.wisdomarbitrate.domain.entity.mscase.MsCaseAffiliate;
@@ -26,12 +32,15 @@ import com.ruoyi.wisdomarbitrate.mapper.dept.SealManageMapper;
import com.ruoyi.wisdomarbitrate.mapper.mscase.MsCaseAffiliateMapper;
import com.ruoyi.wisdomarbitrate.mapper.mscase.MsCaseApplicationMapper;
import com.ruoyi.wisdomarbitrate.mapper.mscase.MsCaseAttachMapper;
import com.ruoyi.wisdomarbitrate.service.mscase.MsCaseApplicationService;
import com.ruoyi.wisdomarbitrate.service.mscase.MsSignSealService;
import com.ruoyi.wisdomarbitrate.utils.CaseLogUtils;
import com.ruoyi.wisdomarbitrate.utils.SignAward;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@@ -48,10 +57,17 @@ public class MsSignSealServiceImpl implements MsSignSealService {
private DeptIdentifyMapper deptIdentifyMapper;
@Autowired
private SealManageMapper sealManageMapper;
@Autowired
MsCaseFlowMapper caseFlowMapper;
@Autowired
private MsSealSignRecordMapper sealSignRecordMapper;
@Resource
private MsCaseApplicationService applicationService;
@Autowired
private MsCaseApplicationMapper caseApplicationMapper;
@Override
@Transactional
@@ -287,7 +303,41 @@ public class MsSignSealServiceImpl implements MsSignSealService {
return AjaxResult.success();
}
@Override
@Transactional
public AjaxResult sealApply(MsSignSealDTO dto) {
// 根据流程id查找下一个流程节点
MsCaseFlow nextFlow = caseFlowMapper.nextFlow(dto.getCaseFlowId());
if (nextFlow == null) {
return AjaxResult.error("未找到下一个流程节点");
}
if (StrUtil.isNotEmpty(dto.getBatchNumber())) {
// 批量操作
// 查询该批号下该流程的案件
List<MsCaseApplication> applicationList = applicationService.listByBatchNumber(dto.getBatchNumber(), dto.getCaseFlowId());
if (CollectionUtil.isEmpty(applicationList)) {
return AjaxResult.error("该批号下未找到案件");
}
for (MsCaseApplication application : applicationList) {
application.setCaseFlowId(nextFlow.getId());
application.setCaseStatusName(nextFlow.getCaseStatusName());
caseApplicationMapper.updateByPrimaryKeySelective(application);
CaseLogUtils.insertCaseLog(application.getId(), nextFlow.getNodeId(), nextFlow.getCaseStatusName(),"用印申请");
}
} else {
// 单独
MsCaseApplication application = new MsCaseApplication();
application.setId(dto.getCaseId());
application.setLockStatus(YesOrNoEnum.YES.getCode());
application.setCaseFlowId(nextFlow.getId());
application.setCaseStatusName(nextFlow.getCaseStatusName());
caseApplicationMapper.updateByPrimaryKeySelective(application);
CaseLogUtils.insertCaseLog(application.getId(), nextFlow.getNodeId(), nextFlow.getCaseStatusName(),"用印申请");
}
return AjaxResult.success("用印申请成功");
}
}