Merge branch 'wq1' of SH-Arbitrate/Mediation-Backend into dev
This commit was merged in pull request #154.
This commit is contained in:
+12
-3
@@ -60,9 +60,10 @@ public class MsVideoConferenceController extends BaseController {
|
|||||||
/**
|
/**
|
||||||
* 通用上传请求(单个)
|
* 通用上传请求(单个)
|
||||||
* param officeFlag: 是否上传到onlyoffice,0-否,1-是
|
* param officeFlag: 是否上传到onlyoffice,0-否,1-是
|
||||||
|
* param isMediaBook: 是否上调解书,1-是,其余为否
|
||||||
*/
|
*/
|
||||||
@PostMapping("/upload")
|
@PostMapping("/upload")
|
||||||
public AjaxResult uploadFile(@RequestParam("file") MultipartFile file, @RequestParam("annexType") Integer annexType, @RequestParam(value = "officeFlag", required = false) Integer officeFlag,@RequestParam(value = "caseId") Long caseId) throws Exception
|
public AjaxResult uploadFile(@RequestParam("file") MultipartFile file, @RequestParam(value = "isMediaBook",required = false) Integer isMediaBook, @RequestParam("annexType") Integer annexType, @RequestParam(value = "officeFlag", required = false) Integer officeFlag,@RequestParam(value = "caseId",required = false) Long caseId) throws Exception
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -82,7 +83,7 @@ public class MsVideoConferenceController extends BaseController {
|
|||||||
JSONArray jsonArray = caseApplicationService.uploadOnlyOffice(fileName,caseId);
|
JSONArray jsonArray = caseApplicationService.uploadOnlyOffice(fileName,caseId);
|
||||||
if(jsonArray!=null && jsonArray.size() > 0) {
|
if(jsonArray!=null && jsonArray.size() > 0) {
|
||||||
// 先删除之前的附件
|
// 先删除之前的附件
|
||||||
if(Objects.equals(annexType, AnnexTypeEnum.MEDIATE_BOOK.getCode())) {
|
if(Objects.equals(annexType, AnnexTypeEnum.MEDIATE_BOOK.getCode()) && caseId!=null) {
|
||||||
msCaseAttachMapper.deleteCaseAttachByCasedIdAndType(caseId, annexType);
|
msCaseAttachMapper.deleteCaseAttachByCasedIdAndType(caseId, annexType);
|
||||||
}
|
}
|
||||||
MsCaseAttach caseAttach=null;
|
MsCaseAttach caseAttach=null;
|
||||||
@@ -118,7 +119,15 @@ public class MsVideoConferenceController extends BaseController {
|
|||||||
return AjaxResult.error("上传失败");
|
return AjaxResult.error("上传失败");
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
|
// 如果是调解书并且是pdf,则删除之前的在新增
|
||||||
|
if(isMediaBook != null && isMediaBook == 1 && caseId!=null){
|
||||||
|
if(StrUtil.isNotEmpty(suffix)&&!suffix.equals("pdf")){
|
||||||
|
return AjaxResult.error("请上传pdf格式文件");
|
||||||
|
}
|
||||||
|
annexType=AnnexTypeEnum.MEDIATE_BOOK_PDF.getCode();
|
||||||
|
// 先删除之前的附件
|
||||||
|
msCaseAttachMapper.deleteCaseAttachByCasedIdAndType(caseId, annexType);
|
||||||
|
}
|
||||||
Long annexId = saveCaseAttach(annexType, fileName, file.getOriginalFilename(), caseId);
|
Long annexId = saveCaseAttach(annexType, fileName, file.getOriginalFilename(), caseId);
|
||||||
// 是否上传到onlyoffice
|
// 是否上传到onlyoffice
|
||||||
AjaxResult ajax = AjaxResult.success();
|
AjaxResult ajax = AjaxResult.success();
|
||||||
|
|||||||
@@ -104,8 +104,9 @@ public class EmailOutUtil {
|
|||||||
* @param message 邮件内容
|
* @param message 邮件内容
|
||||||
* @param subject 邮件主题
|
* @param subject 邮件主题
|
||||||
* @param fileList 邮件附件
|
* @param fileList 邮件附件
|
||||||
|
* @param fileNameMap 附件名称map,附件路径-附件名称
|
||||||
*/
|
*/
|
||||||
public Boolean sendEmil(String to, String message, String subject, List<File> fileList, File file) {
|
public Boolean sendEmil(String to, String message, String subject, List<File> fileList, File file,Map<String,String> fileNameMap) {
|
||||||
try {
|
try {
|
||||||
String messageContent = "<html><body><p style=\"font-family: Arial, sans-serif; font-size: 18px;\">"+message+"。</p></body></html>";
|
String messageContent = "<html><body><p style=\"font-family: Arial, sans-serif; font-size: 18px;\">"+message+"。</p></body></html>";
|
||||||
MimeBodyPart messageBodyPart = new MimeBodyPart();
|
MimeBodyPart messageBodyPart = new MimeBodyPart();
|
||||||
@@ -162,7 +163,10 @@ public class EmailOutUtil {
|
|||||||
for (File tempfile : fileList) {
|
for (File tempfile : fileList) {
|
||||||
MimeBodyPart attachmentPart = new MimeBodyPart();
|
MimeBodyPart attachmentPart = new MimeBodyPart();
|
||||||
attachmentPart.attachFile(tempfile);
|
attachmentPart.attachFile(tempfile);
|
||||||
attachmentPart.setFileName(MimeUtility.encodeText(tempfile.getName()));
|
// 设置附件名称
|
||||||
|
if(fileNameMap!=null && fileNameMap.containsKey(tempfile.getPath())) {
|
||||||
|
attachmentPart.setFileName(MimeUtility.encodeText(fileNameMap.get(tempfile.getPath())));
|
||||||
|
}
|
||||||
multipart.addBodyPart(attachmentPart);
|
multipart.addBodyPart(attachmentPart);
|
||||||
}
|
}
|
||||||
msg.setContent(multipart);
|
msg.setContent(multipart);
|
||||||
|
|||||||
+1
@@ -25,6 +25,7 @@ public interface MsCaseAttachMapper {
|
|||||||
int deleteByFileIds(@Param("ids") List<Integer> fileIds);
|
int deleteByFileIds(@Param("ids") List<Integer> fileIds);
|
||||||
|
|
||||||
List<MsCaseAttach> listCaseAttachByCaseIdAndType(@Param("caseAppliId")Long caseAppliId,@Param("annexType") int annexType);
|
List<MsCaseAttach> listCaseAttachByCaseIdAndType(@Param("caseAppliId")Long caseAppliId,@Param("annexType") int annexType);
|
||||||
|
List<MsCaseAttach> listCaseAttachByCaseIdAndTypes(@Param("caseAppliId")Long caseAppliId,@Param("annexTypes") List<Integer> annexTypes);
|
||||||
|
|
||||||
MsCaseAttach queryAnnexById(@Param("annexId") Long annexId);
|
MsCaseAttach queryAnnexById(@Param("annexId") Long annexId);
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -56,8 +56,9 @@ public interface MsCaseApplicationService {
|
|||||||
* @param caseApplication
|
* @param caseApplication
|
||||||
* @param affiliate
|
* @param affiliate
|
||||||
* @param groupOrder 组别
|
* @param groupOrder 组别
|
||||||
|
* @param operatorCount 操作人数量
|
||||||
*/
|
*/
|
||||||
public void setCaseAfflicate(MsCaseApplicationVO caseApplication, MsCaseAffiliate affiliate,int groupOrder);
|
public int setCaseAfflicate(MsCaseApplicationVO caseApplication, MsCaseAffiliate affiliate,int groupOrder,int operatorCount);
|
||||||
/**
|
/**
|
||||||
* 新增案件相关人员信息
|
* 新增案件相关人员信息
|
||||||
* @param affiliate 相关人员信息
|
* @param affiliate 相关人员信息
|
||||||
|
|||||||
+87
-70
@@ -293,7 +293,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (MsCaseApplicationVO vo : list) {
|
for (MsCaseApplicationVO vo : list) {
|
||||||
if(vo.getMediatorId()!=null&&vo.getMediatorId()==loginUserId){
|
if(vo.getMediatorId()!=null&&vo.getMediatorId().equals(loginUserId)){
|
||||||
isMediatorRole=true;
|
isMediatorRole=true;
|
||||||
}
|
}
|
||||||
// 设置申请人和被申请人
|
// 设置申请人和被申请人
|
||||||
@@ -317,7 +317,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 签收按钮权限
|
// 签收按钮权限
|
||||||
if(affiliate.getUserId().equals(loginUserId) &&vo.getCaseStatusName().contains("签收")){
|
if(affiliate.getUserId().equals(loginUserId) &&vo.getCaseStatusName().equals("待申请人签收")){
|
||||||
vo.setSignFlag(1);
|
vo.setSignFlag(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -334,7 +334,7 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 签收按钮权限
|
// 签收按钮权限
|
||||||
if(affiliate.getUserId().equals(loginUserId) &&vo.getCaseStatusName().contains("签收")){
|
if(affiliate.getUserId().equals(loginUserId) &&vo.getCaseStatusName().equals("待被申请人签收")){
|
||||||
vo.setSignFlag(1);
|
vo.setSignFlag(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -683,26 +683,34 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|||||||
// 保存案件基本信息
|
// 保存案件基本信息
|
||||||
if (msCaseApplicationMapper.insertSelective(caseApplication) > 0) {
|
if (msCaseApplicationMapper.insertSelective(caseApplication) > 0) {
|
||||||
List<MsCaseAttach> caseAttachList = caseApplication.getCaseAttachList();
|
List<MsCaseAttach> caseAttachList = caseApplication.getCaseAttachList();
|
||||||
|
int appOperatorCount=0;
|
||||||
|
int resOperatorCount=0;
|
||||||
// 保存案件相关人员
|
// 保存案件相关人员
|
||||||
List<MsCaseAffiliateBase> applicant = msCaseAffiliateVO.getApplicant();
|
List<MsCaseAffiliateBase> applicant = msCaseAffiliateVO.getApplicant();
|
||||||
List<MsCaseAffiliateBase> res = msCaseAffiliateVO.getRes();
|
List<MsCaseAffiliateBase> res = msCaseAffiliateVO.getRes();
|
||||||
if(CollectionUtil.isNotEmpty(applicant)){
|
if(CollectionUtil.isNotEmpty(applicant)){
|
||||||
for (int i = 0; i < applicant.size(); i++) {
|
for (int i = 0; i < applicant.size(); i++) {
|
||||||
// 申请人
|
// 申请人
|
||||||
setCaseAfflicate(caseApplication, applicant.get(i).getApplicant(),i);
|
appOperatorCount= setCaseAfflicate(caseApplication, applicant.get(i).getApplicant(),i,appOperatorCount);
|
||||||
// 申请人代理人
|
// 申请人代理人
|
||||||
setCaseAfflicate(caseApplication, applicant.get(i).getApplicantAgent(),i);
|
appOperatorCount=setCaseAfflicate(caseApplication, applicant.get(i).getApplicantAgent(),i,appOperatorCount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(CollectionUtil.isNotEmpty(res)){
|
if(CollectionUtil.isNotEmpty(res)){
|
||||||
for (int i = 0; i < res.size(); i++) {
|
for (int i = 0; i < res.size(); i++) {
|
||||||
// 申请人
|
// 申请人
|
||||||
setCaseAfflicate(caseApplication, res.get(i).getRes(),i);
|
resOperatorCount= setCaseAfflicate(caseApplication, res.get(i).getRes(),i,resOperatorCount);
|
||||||
// 申请人代理人
|
// 申请人代理人
|
||||||
setCaseAfflicate(caseApplication, res.get(i).getResAgent(),i);
|
resOperatorCount= setCaseAfflicate(caseApplication, res.get(i).getResAgent(),i,resOperatorCount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (appOperatorCount < 1 && resOperatorCount < 1) {
|
||||||
|
throw new ServiceException("未设置申请操作人和被申请操作人");
|
||||||
|
} else if (appOperatorCount < 1) {
|
||||||
|
throw new ServiceException("未设置申请操作人");
|
||||||
|
} else if (resOperatorCount < 1) {
|
||||||
|
throw new ServiceException("未设置被申请操作人");
|
||||||
|
}
|
||||||
|
|
||||||
// 批量生成调解申请书
|
// 批量生成调解申请书
|
||||||
MsCaseApplicationReq req = new MsCaseApplicationReq();
|
MsCaseApplicationReq req = new MsCaseApplicationReq();
|
||||||
@@ -753,13 +761,14 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|||||||
* @param affiliate
|
* @param affiliate
|
||||||
*/
|
*/
|
||||||
@Transactional
|
@Transactional
|
||||||
public void setCaseAfflicate(MsCaseApplicationVO caseApplication, MsCaseAffiliate affiliate,int groupOrder) {
|
public int setCaseAfflicate(MsCaseApplicationVO caseApplication, MsCaseAffiliate affiliate,int groupOrder,int operatorCount) {
|
||||||
if(affiliate==null){
|
if(affiliate==null){
|
||||||
return;
|
return operatorCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean b = affiliate.getOrganizeFlag() != 1 && (affiliate.getRoleType() == 1||affiliate.getRoleType() == 3) && StrUtil.isEmpty(affiliate.getEmail());
|
boolean b = affiliate.getOrganizeFlag() != 1 && (affiliate.getRoleType() == 1||affiliate.getRoleType() == 3) && StrUtil.isEmpty(affiliate.getEmail());
|
||||||
if(b|| StrUtil.isEmpty(affiliate.getName())){
|
if(b|| StrUtil.isEmpty(affiliate.getName())){
|
||||||
return;
|
return operatorCount;
|
||||||
}
|
}
|
||||||
affiliate.setGroupOrder(groupOrder);
|
affiliate.setGroupOrder(groupOrder);
|
||||||
// 获取角色缓存
|
// 获取角色缓存
|
||||||
@@ -858,6 +867,10 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|||||||
}
|
}
|
||||||
// 保存人员
|
// 保存人员
|
||||||
msCaseAffiliateMapper.insert(affiliate);
|
msCaseAffiliateMapper.insert(affiliate);
|
||||||
|
if(affiliate.getOperatorFlag()!=null && affiliate.getOperatorFlag()==1){
|
||||||
|
operatorCount++;
|
||||||
|
}
|
||||||
|
return operatorCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1048,27 +1061,34 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|||||||
Example affliateExample = new Example(MsCaseAffiliate.class);
|
Example affliateExample = new Example(MsCaseAffiliate.class);
|
||||||
affliateExample.createCriteria().andEqualTo("caseAppliId", caseApplication.getId());
|
affliateExample.createCriteria().andEqualTo("caseAppliId", caseApplication.getId());
|
||||||
msCaseAffiliateMapper.deleteByExample(affliateExample);
|
msCaseAffiliateMapper.deleteByExample(affliateExample);
|
||||||
|
int appOperatorCount=0;
|
||||||
|
int resOperatorCount=0;
|
||||||
|
|
||||||
List<MsCaseAffiliateBase> applicant = msCaseAffiliateVO.getApplicant();
|
List<MsCaseAffiliateBase> applicant = msCaseAffiliateVO.getApplicant();
|
||||||
List<MsCaseAffiliateBase> res = msCaseAffiliateVO.getRes();
|
List<MsCaseAffiliateBase> res = msCaseAffiliateVO.getRes();
|
||||||
if(CollectionUtil.isNotEmpty(applicant)){
|
if(CollectionUtil.isNotEmpty(applicant)){
|
||||||
for (int i = 0; i < applicant.size(); i++) {
|
for (int i = 0; i < applicant.size(); i++) {
|
||||||
// 申请人
|
// 申请人
|
||||||
setCaseAfflicate(caseApplication, applicant.get(i).getApplicant(),i);
|
appOperatorCount=setCaseAfflicate(caseApplication, applicant.get(i).getApplicant(),i,appOperatorCount);
|
||||||
// 申请人代理人
|
// 申请人代理人
|
||||||
setCaseAfflicate(caseApplication, applicant.get(i).getApplicantAgent(),i);
|
appOperatorCount= setCaseAfflicate(caseApplication, applicant.get(i).getApplicantAgent(),i,appOperatorCount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(CollectionUtil.isNotEmpty(res)){
|
if(CollectionUtil.isNotEmpty(res)){
|
||||||
for (int i = 0; i < res.size(); i++) {
|
for (int i = 0; i < res.size(); i++) {
|
||||||
// 申请人
|
// 申请人
|
||||||
setCaseAfflicate(caseApplication, res.get(i).getRes(),i);
|
resOperatorCount=setCaseAfflicate(caseApplication, res.get(i).getRes(),i,resOperatorCount);
|
||||||
// 申请人代理人
|
// 申请人代理人
|
||||||
setCaseAfflicate(caseApplication, res.get(i).getResAgent(),i);
|
resOperatorCount=setCaseAfflicate(caseApplication, res.get(i).getResAgent(),i,resOperatorCount);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (appOperatorCount < 1 && resOperatorCount < 1) {
|
||||||
|
throw new ServiceException("未设置申请操作人和被申请操作人");
|
||||||
|
} else if (appOperatorCount < 1) {
|
||||||
|
throw new ServiceException("未设置申请操作人");
|
||||||
|
} else if (resOperatorCount < 1) {
|
||||||
|
throw new ServiceException("未设置被申请操作人");
|
||||||
|
}
|
||||||
if (CollectionUtil.isNotEmpty(caseApplication.getCaseAttachList())) {
|
if (CollectionUtil.isNotEmpty(caseApplication.getCaseAttachList())) {
|
||||||
for (MsCaseAttach caseAttach : caseApplication.getCaseAttachList()) {
|
for (MsCaseAttach caseAttach : caseApplication.getCaseAttachList()) {
|
||||||
caseAttach.setCaseAppliId(caseApplication.getId());
|
caseAttach.setCaseAppliId(caseApplication.getId());
|
||||||
@@ -2543,22 +2563,61 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|||||||
if (!applicantAffiliateOpt.isPresent() || !resAffiliateOpt.isPresent()) {
|
if (!applicantAffiliateOpt.isPresent() || !resAffiliateOpt.isPresent()) {
|
||||||
throw new ServiceException("未找到案件操作人员");
|
throw new ServiceException("未找到案件操作人员");
|
||||||
}
|
}
|
||||||
|
// 更新附件
|
||||||
|
List<MsCaseAttach> attachList = req.getAttachList();
|
||||||
|
if (CollectionUtil.isNotEmpty(attachList)) {
|
||||||
|
Map<Integer, List<MsCaseAttach>> annexTypeMap = attachList.stream().filter(attach -> attach.getAnnexType() != null).collect(Collectors.groupingBy(MsCaseAttach::getAnnexType));
|
||||||
|
for (Map.Entry<Integer, List<MsCaseAttach>> entry : annexTypeMap.entrySet()) {
|
||||||
|
if(entry.getKey()!=null && entry.getValue().size()>1){
|
||||||
|
return AjaxResult.error("同一案件同一类型附件只能上传一个");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 先删除已存在的调解书
|
||||||
|
List<MsCaseAttach> existAttach = msCaseAttachMapper.listCaseAttachByCaseIdAndTypes(req.getId(), new ArrayList<>(annexTypeMap.keySet()));
|
||||||
|
if (CollectionUtil.isNotEmpty(existAttach)) {
|
||||||
|
// 对接北明,同步案件状态,删除
|
||||||
|
for (MsCaseAttach msCaseAttach : existAttach) {
|
||||||
|
if (StrUtil.isEmpty(msCaseAttach.getOtherSysFileId()) || StrUtil.isEmpty(msCaseAttach.getAnnexPath())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
beiMingInterfaceService.deleteAttachmentInfo(application.getCaseNum(), msCaseAttach.getOtherSysFileId(), FileUtil.getName(msCaseAttach.getAnnexPath()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (MsCaseAttach attach : attachList) {
|
||||||
|
// 先删除已经存在的调解书
|
||||||
|
|
||||||
|
attach.setCaseAppliId(req.getId());
|
||||||
|
msCaseAttachMapper.updateCaseAttach(attach);
|
||||||
|
}
|
||||||
|
// 对接北明,调用上传附件接口
|
||||||
|
List<MsCaseAttach> msCaseAttaches = msCaseAttachMapper.listCaseAttachByCaseIdAndType(req.getId(), AnnexTypeEnum.MEDIATE_BOOK.getCode());
|
||||||
|
if (StrUtil.isEmpty(application.getCaseSource()) && CollectionUtil.isNotEmpty(msCaseAttaches)) {
|
||||||
|
for (MsCaseAttach msCaseAttach : msCaseAttaches) {
|
||||||
|
if (StrUtil.isEmpty(msCaseAttach.getAnnexPath())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
String replacePath = msCaseAttach.getAnnexPath().replace("/profile/", "/home/ruoyi/uploadPath/");
|
||||||
|
File file = new File(replacePath);
|
||||||
|
MsCaseFileInfo caseFileInfo = beiMingInterfaceService.pushAttachmentInfo(BMUserName, BMPassword, file, BMSyncSource, application.getCaseNum(), AttachmentOperateTypeEnum.ADD, DocumentTypeEnum.EVEDENT_AGREEMENT);
|
||||||
|
// 更新附件表
|
||||||
|
if (caseFileInfo != null && StrUtil.isNotEmpty(caseFileInfo.getFileId())) {
|
||||||
|
msCaseAttach.setOtherSysFileId(caseFileInfo.getFileId());
|
||||||
|
msCaseAttachMapper.updateCaseAttach(msCaseAttach);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 线上调解
|
||||||
if (application.getMediationMethod().equals("1")) {
|
if (application.getMediationMethod().equals("1")) {
|
||||||
Integer mediaResult = application.getMediaResult();
|
Integer mediaResult = application.getMediaResult();
|
||||||
if (mediaResult == null) {
|
if (mediaResult == null) {
|
||||||
return AjaxResult.error("请选择调解结果");
|
return AjaxResult.error("请选择调解结果");
|
||||||
}
|
}
|
||||||
// 线上调解
|
|
||||||
List<MsCaseAttach> attachList = req.getAttachList();
|
|
||||||
if (CollectionUtil.isNotEmpty(attachList)) {
|
|
||||||
// 先删除已经存在的调解书
|
|
||||||
msCaseAttachMapper.deleteCaseAttachByCasedIdAndType(req.getId(), AnnexTypeEnum.MEDIATE_BOOK.getCode());
|
|
||||||
for (MsCaseAttach attach : attachList) {
|
|
||||||
attach.setCaseAppliId(req.getId());
|
|
||||||
msCaseAttachMapper.updateCaseAttach(attach);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (mediaResult == 1) {
|
if (mediaResult == 1) {
|
||||||
//达成调解
|
//达成调解
|
||||||
List<MsCaseAttach> caseAttachList = msCaseAttachMapper.queryAnnexPathByCaseId(req.getId());
|
List<MsCaseAttach> caseAttachList = msCaseAttachMapper.queryAnnexPathByCaseId(req.getId());
|
||||||
@@ -3075,53 +3134,11 @@ public class MsCaseApplicationServiceImpl implements MsCaseApplicationService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
// 线下调解
|
||||||
Integer mediaResult=req.getMediaResult();
|
Integer mediaResult=req.getMediaResult();
|
||||||
if(mediaResult==null){
|
if(mediaResult==null){
|
||||||
return AjaxResult.error("请选择调解结果");
|
return AjaxResult.error("请选择调解结果");
|
||||||
}
|
}
|
||||||
// 线下调解
|
|
||||||
List<MsCaseAttach> attachList = req.getAttachList();
|
|
||||||
if (CollectionUtil.isEmpty(attachList)) {
|
|
||||||
return AjaxResult.error("请上传调解资料");
|
|
||||||
}
|
|
||||||
// 先删除已经存在的调解书
|
|
||||||
if (StrUtil.isEmpty(application.getCaseSource())) {
|
|
||||||
List<MsCaseAttach> existAttach = msCaseAttachMapper.listCaseAttachByCaseIdAndType(req.getId(), AnnexTypeEnum.MEDIATE_BOOK.getCode());
|
|
||||||
if (CollectionUtil.isNotEmpty(existAttach)) {
|
|
||||||
// 对接北明,同步案件状态,删除
|
|
||||||
for (MsCaseAttach msCaseAttach : existAttach) {
|
|
||||||
if (StrUtil.isEmpty(msCaseAttach.getOtherSysFileId()) || StrUtil.isEmpty(msCaseAttach.getAnnexPath())) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
beiMingInterfaceService.deleteAttachmentInfo(application.getCaseNum(), msCaseAttach.getOtherSysFileId(), FileUtil.getName(msCaseAttach.getAnnexPath()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
msCaseAttachMapper.deleteCaseAttachByCasedIdAndType(req.getId(), AnnexTypeEnum.MEDIATE_BOOK.getCode());
|
|
||||||
for (MsCaseAttach attach : attachList) {
|
|
||||||
attach.setCaseAppliId(req.getId());
|
|
||||||
msCaseAttachMapper.updateCaseAttach(attach);
|
|
||||||
}
|
|
||||||
// 对接北明,调用上传附件接口
|
|
||||||
List<MsCaseAttach> msCaseAttaches = msCaseAttachMapper.listCaseAttachByCaseIdAndType(req.getId(), AnnexTypeEnum.MEDIATE_BOOK.getCode());
|
|
||||||
if (StrUtil.isEmpty(application.getCaseSource()) && CollectionUtil.isNotEmpty(msCaseAttaches)) {
|
|
||||||
for (MsCaseAttach msCaseAttach : msCaseAttaches) {
|
|
||||||
if (StrUtil.isEmpty(msCaseAttach.getAnnexPath())) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
String replacePath = msCaseAttach.getAnnexPath().replace("/profile/", "/home/ruoyi/uploadPath/");
|
|
||||||
File file = new File(replacePath);
|
|
||||||
MsCaseFileInfo caseFileInfo = beiMingInterfaceService.pushAttachmentInfo(BMUserName, BMPassword, file, BMSyncSource, application.getCaseNum(), AttachmentOperateTypeEnum.ADD, DocumentTypeEnum.EVEDENT_AGREEMENT);
|
|
||||||
// 更新附件表
|
|
||||||
if (caseFileInfo != null && StrUtil.isNotEmpty(caseFileInfo.getFileId())) {
|
|
||||||
msCaseAttach.setOtherSysFileId(caseFileInfo.getFileId());
|
|
||||||
msCaseAttachMapper.updateCaseAttach(msCaseAttach);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 修改案件状态为待送达
|
// 修改案件状态为待送达
|
||||||
Example flowExample = new Example(MsCaseFlow.class);
|
Example flowExample = new Example(MsCaseFlow.class);
|
||||||
if (mediaResult == 1 || mediaResult == 5) {
|
if (mediaResult == 1 || mediaResult == 5) {
|
||||||
|
|||||||
+3
-1
@@ -1219,6 +1219,7 @@ public class MsSignSealServiceImpl implements MsSignSealService {
|
|||||||
List<File> fileList = new ArrayList<>();
|
List<File> fileList = new ArrayList<>();
|
||||||
File file = null;
|
File file = null;
|
||||||
Long fileId = null;
|
Long fileId = null;
|
||||||
|
Map<String,String> fileNameMap = new HashMap<>();
|
||||||
if (caseAttachList != null && caseAttachList.size() > 0) {
|
if (caseAttachList != null && caseAttachList.size() > 0) {
|
||||||
for (MsCaseAttach caseAttach : caseAttachList) {
|
for (MsCaseAttach caseAttach : caseAttachList) {
|
||||||
if (Objects.equals(caseAttach.getAnnexType(), AnnexTypeEnum.MEDIATE_BOOK_PDF.getCode())) {
|
if (Objects.equals(caseAttach.getAnnexType(), AnnexTypeEnum.MEDIATE_BOOK_PDF.getCode())) {
|
||||||
@@ -1229,6 +1230,7 @@ public class MsSignSealServiceImpl implements MsSignSealService {
|
|||||||
file = new File(path);
|
file = new File(path);
|
||||||
fileList.add(file);
|
fileList.add(file);
|
||||||
fileId = caseAttach.getAnnexId();
|
fileId = caseAttach.getAnnexId();
|
||||||
|
fileNameMap.put(file.getPath(), caseAttach.getAnnexName());
|
||||||
System.out.println("文件长度==================:" + file.length());
|
System.out.println("文件长度==================:" + file.length());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1249,7 +1251,7 @@ public class MsSignSealServiceImpl implements MsSignSealService {
|
|||||||
|
|
||||||
if (file != null && file.exists()) {
|
if (file != null && file.exists()) {
|
||||||
try {
|
try {
|
||||||
Boolean aBoolean = emailOutUtil.sendEmil(email, "您好,审核后的调解书在附件中请查阅", "签署后的调解书", fileList, null);
|
Boolean aBoolean = emailOutUtil.sendEmil(email, "您好,审核后的调解书在附件中请查阅", "签署后的调解书", fileList, null,fileNameMap);
|
||||||
|
|
||||||
if (aBoolean) {
|
if (aBoolean) {
|
||||||
sendMailRecord.setSendStatus(1);
|
sendMailRecord.setSendStatus(1);
|
||||||
|
|||||||
+6
-1
@@ -15,7 +15,9 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class SendMailRecordServiceImpl implements ISendMailRecordService {
|
public class SendMailRecordServiceImpl implements ISendMailRecordService {
|
||||||
@@ -73,6 +75,8 @@ public class SendMailRecordServiceImpl implements ISendMailRecordService {
|
|||||||
@Override
|
@Override
|
||||||
public Boolean reSendMailRecord(SendMailRecord sendMailRecord) {
|
public Boolean reSendMailRecord(SendMailRecord sendMailRecord) {
|
||||||
List<File> fileList = null;
|
List<File> fileList = null;
|
||||||
|
// 附件名称map,路径-附件名称
|
||||||
|
Map<String,String> fileNameMap=new HashMap<>();
|
||||||
if (sendMailRecord.getFileIds() != null && sendMailRecord.getFileIds() != "") {
|
if (sendMailRecord.getFileIds() != null && sendMailRecord.getFileIds() != "") {
|
||||||
String[] fileIds = sendMailRecord.getFileIds().split(",");
|
String[] fileIds = sendMailRecord.getFileIds().split(",");
|
||||||
for (int i = 0; i < fileIds.length; i++) {
|
for (int i = 0; i < fileIds.length; i++) {
|
||||||
@@ -87,13 +91,14 @@ public class SendMailRecordServiceImpl implements ISendMailRecordService {
|
|||||||
String path = "/home/ruoyi/uploadPath/" + annexPath.substring(startIndex + 1);
|
String path = "/home/ruoyi/uploadPath/" + annexPath.substring(startIndex + 1);
|
||||||
File file = new File(path);
|
File file = new File(path);
|
||||||
fileList.add(file);
|
fileList.add(file);
|
||||||
|
fileNameMap.put(file.getPath(), msCaseAttach.getAnnexName());
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Boolean flag = emailOutUtil.sendEmil(sendMailRecord.getMailAddress(), sendMailRecord.getMailContent(), sendMailRecord.getMailSubject(), fileList, null);
|
Boolean flag = emailOutUtil.sendEmil(sendMailRecord.getMailAddress(), sendMailRecord.getMailContent(), sendMailRecord.getMailSubject(), fileList, null,fileNameMap);
|
||||||
//发送成功后更细邮件记录的发送时间和发送状态
|
//发送成功后更细邮件记录的发送时间和发送状态
|
||||||
if (flag) {
|
if (flag) {
|
||||||
sendMailRecord.setSendStatus(1);
|
sendMailRecord.setSendStatus(1);
|
||||||
|
|||||||
@@ -61,6 +61,21 @@
|
|||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
<select id="listCaseAttachByCaseIdAndTypes" resultType="com.ruoyi.wisdomarbitrate.domain.entity.mscase.MsCaseAttach" resultMap="CaseAttachResult">
|
||||||
|
select *
|
||||||
|
from ms_case_attach
|
||||||
|
<where>
|
||||||
|
<if test="caseAppliId != null ">
|
||||||
|
AND case_appli_id = #{caseAppliId}
|
||||||
|
</if>
|
||||||
|
<if test="annexTypes != null and annexTypes.size()>0 ">
|
||||||
|
AND annex_type in
|
||||||
|
<foreach collection="annexTypes" item="annex_type" open="(" separator="," close=")">
|
||||||
|
#{annex_type}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
<delete id="deleteCaseAttachByCasedIdAndType">
|
<delete id="deleteCaseAttachByCasedIdAndType">
|
||||||
delete from ms_case_attach
|
delete from ms_case_attach
|
||||||
|
|||||||
Reference in New Issue
Block a user