ac4cd00c by xiaojie

【数据资产】

1、变更申请-批量删除
1 parent 5dcb3de0
......@@ -169,6 +169,14 @@ public class EnterpriseController {
return CommonRes.success(enterpriseChangeApproveService.changeDetail(guid));
}
@DeleteMapping("/change/delete")
@SystemLog(value = "变更申请-批量删除")
@Operation(summary = "变更申请-批量删除")
public CommonRes<Boolean> changeRemoveByGuids(@RequestBody List<String> guids) {
enterpriseChangeApproveService.removeByGuids(guids);
return CommonRes.success(true);
}
//endregion
}
......
......@@ -189,6 +189,15 @@ public class MfEnterpriseChangeApprove extends BaseDO {
*/
@Name("原数据唯一标识")
private String sourceGuid;
@Name("资产Guid")
private String zqBizGuid;
@Name("专区名称")
private String zqName;
@Name("审批状态(N 初始 A 审批中 Y 已通过 R 驳回 C 已撤销)")
private String crossPlatformApproveState;
/**
* 数据类型【数据类型 1原数据 2新数据】
......
......@@ -16,4 +16,6 @@ public interface EnterpriseChangeApproveService {
ChangeApproveVO changeDetail(String guid);
void changeUpdate(BizCallbackDTO dto);
void removeByGuids(List<String> guids);
}
......
package com.csbr.qingcloud.portal.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.csbr.cloud.common.enums.SystemError;
import com.csbr.cloud.common.exception.CsbrSystemException;
import com.csbr.cloud.common.util.CommonUtil;
import com.csbr.cloud.common.util.CsbrBeanUtil;
import com.csbr.cloud.common.util.MessageSourceUtil;
import com.csbr.cloud.workflow.domain.dto.callback.BizCallbackDTO;
import com.csbr.cloud.workflow.util.ApprovalFlowUtil;
import com.csbr.qingcloud.portal.domain.vo.ChangeApproveVO;
import com.csbr.qingcloud.portal.domain.vo.EnterpriseRQVO;
import com.csbr.qingcloud.portal.domain.vo.EnterpriseRSVO;
import com.csbr.qingcloud.portal.domain.vo.TenantRQVO;
import com.csbr.qingcloud.portal.feign.PersonelFeign;
import com.csbr.qingcloud.portal.mybatis.entity.MfEnterprise;
import com.csbr.qingcloud.portal.mybatis.entity.MfEnterpriseChangeApprove;
......@@ -19,15 +21,18 @@ import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseChangeApproveServic
import com.csbr.qingcloud.portal.mybatis.service.MfEnterpriseService;
import com.csbr.qingcloud.portal.service.EnterpriseChangeApproveService;
import com.csbr.qingcloud.portal.service.EnterpriseService;
import com.csbr.qingcloud.portal.util.DateUtil;
import com.csbr.qingcloud.portal.util.InvokeUtil;
import com.csbr.qingcloud.portal.util.ZQConfig;
import csbr.cloud.entity.enums.ApprovalStateEnum;
import io.seata.spring.annotation.GlobalTransactional;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
/**
* @program: ms-hc-customer-service
......@@ -39,6 +44,19 @@ import java.util.Map;
@Slf4j
public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeApproveService {
/**
* 功能名称
*/
private static final String FUNCTION_NAME = "企业变更信息";
private static final String SysFuncCode = "QYRZ";
@Autowired
private ZQConfig zqConfig;
@Autowired
private InvokeUtil invokeUtil;
@Resource
private MfEnterpriseChangeApproveService mfEnterpriseChangeApproveService;
......@@ -52,6 +70,12 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
private EnterpriseService enterpriseService;
@Resource
private MessageSourceUtil messageSourceUtil;
@Resource
private ApprovalFlowUtil approvalFlowUtil;
@Resource
private PersonelFeign personelFeign;
/** 保存变更数据 */
......@@ -151,7 +175,55 @@ public class EnterpriseChangeApproveServiceImpl implements EnterpriseChangeAppro
enterpriseService.updateTenant(vo);
}
@Override
@GlobalTransactional(rollbackFor = Exception.class)
public void removeByGuids(List<String> guids) {
if (CollectionUtils.isEmpty(guids)) {
// W00012 = {0}:参数[{1}]不能为空!
throw new CsbrSystemException(SystemError.DATA_INPUT_ERROR, messageSourceUtil.getMessage("W00012",
String.format("删除%s数据", FUNCTION_NAME), "数据唯一标识"));
}
String crossPlatformApproveState = "";
for (String guid : guids) {
MfEnterpriseChangeApprove entity = mfEnterpriseChangeApproveService.getById(guid);
beforeRemove(entity);
boolean flag = mfEnterpriseChangeApproveService.removeById(guid);
if (!flag) {
throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, messageSourceUtil.delMessage(FUNCTION_NAME));
}
crossPlatformApproveState = entity.getCrossPlatformApproveState();
}
// 删除主平台数据
if (!zqConfig.getIsMain() && StringUtils.isNotEmpty(crossPlatformApproveState)) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("zqSystemCode", SysFuncCode + "BG");
jsonObject.put("zqBizGuids", JSON.toJSONString(guids));
jsonObject.put("isCollection", true);
invokeUtil.invokeMainDel(jsonObject, zqConfig.getAppKey(), zqConfig.getZqDelUrl());
}
// 删除流程数据
approvalFlowUtil.removeApproveByBizGuids(guids);
}
/**
* 企业信息删除前置处理
* @author xcq
* @date 2024-12-26 16:18
* @param entity
* @return void
*/
private void beforeRemove(MfEnterpriseChangeApprove entity) {
if (entity == null) {
throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, messageSourceUtil.notExistsToDelMessage(FUNCTION_NAME));
}
if (ApprovalStateEnum.CHECKING.getValue().equals(entity.getBizApproveState()) ||
ApprovalStateEnum.PASSED.getValue().equals(entity.getBizApproveState())) {
throw new CsbrSystemException(SystemError.DATA_DEL_ERROR, "审批中和审批通过的数据不能删除!");
}
}
/** 转换数据 */
private String convertToVO(MfEnterpriseChangeApprove entity){
......
......@@ -6,7 +6,6 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.csbr.cloud.common.entity.RedisStaffPOJO;
import com.csbr.cloud.common.enums.SystemError;
import com.csbr.cloud.common.enums.WorkFlowBizEnum;
import com.csbr.cloud.common.exception.CsbrSystemException;
......@@ -145,8 +144,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
// 根据业务guid查询认证变更表数据
List<MfEnterpriseChangeApprove> mfEnterpriseChangeApproves = mfEnterpriseChangeApproveService.listByIds(guids);
Map<String, MfEnterpriseChangeApprove> mfEnterpriseChangeApproveMap = new HashMap<>();
if (ObjectUtils.isNotEmpty(mfEnterpriseChangeApproves)) {
Map<String, MfEnterpriseChangeApprove> mfEnterpriseChangeApproveMap = mfEnterpriseChangeApproves.stream().collect(Collectors.toMap(MfEnterpriseChangeApprove::getGuid, Function.identity()));
mfEnterpriseChangeApproveMap = mfEnterpriseChangeApproves.stream().collect(Collectors.toMap(MfEnterpriseChangeApprove::getGuid, Function.identity()));
}
// 数据转换
......@@ -160,6 +160,12 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
enterpriseApproveRSVO.setZqName(mfEnterprise.getZqName());
enterpriseApproveRSVO.setTenantName(mfEnterprise.getTenantName());
}
if (ObjectUtils.isNotEmpty(mfEnterpriseChangeApproveMap) && mfEnterpriseChangeApproveMap.containsKey(enterpriseApproveRSVO.getBizGuid())) {
MfEnterpriseChangeApprove mfEnterpriseChangeApprove = mfEnterpriseChangeApproveMap.get(enterpriseApproveRSVO.getBizGuid());
enterpriseApproveRSVO.setCrossPlatformApproveState(mfEnterpriseChangeApprove.getCrossPlatformApproveState());
enterpriseApproveRSVO.setZqName(mfEnterpriseChangeApprove.getZqName());
enterpriseApproveRSVO.setTenantName(mfEnterpriseChangeApprove.getTenantName());
}
results.add(enterpriseApproveRSVO);
}
......@@ -359,8 +365,6 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
afterRemove(entity);
crossPlatformApproveState = entity.getCrossPlatformApproveState();
}
// 删除流程数据
approvalFlowUtil.removeApproveByBizGuids(guids);
// 删除主平台数据
if (!zqConfig.getIsMain() && StringUtils.isNotEmpty(crossPlatformApproveState)) {
......@@ -370,6 +374,9 @@ public class EnterpriseServiceImpl extends FlowAbstractImpl implements Enterpris
jsonObject.put("isCollection", true);
invokeUtil.invokeMainDel(jsonObject, zqConfig.getAppKey(), zqConfig.getZqDelUrl());
}
// 删除流程数据
approvalFlowUtil.removeApproveByBizGuids(guids);
}
/**
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!