同步删除基础数据
parent
b0db44345e
commit
131c6f297f
@ -0,0 +1,16 @@
|
||||
package com.glxp.api.constant;
|
||||
|
||||
public interface BasicDataType {
|
||||
|
||||
/**
|
||||
* 耗材字典
|
||||
*/
|
||||
String BASIC_MAINTAIN = "BASIC_MAINTAIN"; //耗材字典
|
||||
|
||||
String BASIC_MANAGE = "BASIC_MANAGE"; //供应商器械信息
|
||||
|
||||
String BASIC_CORP_MAINTAIN ="BASIC_CORP_MAINTAIN"; //往来信息维护
|
||||
|
||||
String BASIC_BUSINESS_TYPE = "BASIC_BUSINESS_TYPE"; //单据类型设置
|
||||
|
||||
}
|
@ -0,0 +1,206 @@
|
||||
package com.glxp.api.controller.basic;
|
||||
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.glxp.api.annotation.AuthRuleAnnotation;
|
||||
import com.glxp.api.common.res.BaseResponse;
|
||||
import com.glxp.api.common.util.ResultVOUtils;
|
||||
import com.glxp.api.constant.BasicDataType;
|
||||
import com.glxp.api.constant.SocketMsgType;
|
||||
import com.glxp.api.controller.BaseController;
|
||||
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
|
||||
import com.glxp.api.entity.basic.BasicCorpEntity;
|
||||
import com.glxp.api.entity.basic.UdiRelevanceEntity;
|
||||
import com.glxp.api.entity.sync.SocketMsgEntity;
|
||||
import com.glxp.api.entity.sync.SyncEditLogEntity;
|
||||
import com.glxp.api.entity.sync.SyncEditTypeEntity;
|
||||
import com.glxp.api.req.basic.*;
|
||||
import com.glxp.api.req.system.DeleteCompanyFileRequest;
|
||||
import com.glxp.api.req.system.DeleteRequest;
|
||||
import com.glxp.api.service.auth.InvBusUserService;
|
||||
import com.glxp.api.service.auth.WarehouseBussinessTypeService;
|
||||
import com.glxp.api.service.basic.*;
|
||||
import com.glxp.api.service.inout.IoCodeService;
|
||||
import com.glxp.api.service.inout.IoOrderService;
|
||||
import com.glxp.api.service.sync.SyncEditLogService;
|
||||
import com.glxp.api.service.sync.SyncEditTypeService;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@RestController
|
||||
public class BasicDataController extends BaseController {
|
||||
|
||||
@Resource
|
||||
SyncEditLogService syncEditLogService;
|
||||
@Resource
|
||||
SyncEditTypeService syncEditTypeService;
|
||||
@Resource
|
||||
BasicBussinessTypeController basicBussinessTypeController;
|
||||
@Resource
|
||||
UdiRelevanceService udiRelevanceService;
|
||||
@Resource
|
||||
IoCodeService codeService;
|
||||
@Resource
|
||||
CompanyProductRelevanceService companyProductRelevanceService;
|
||||
@Resource
|
||||
UdiProductService udiProductService;
|
||||
@Resource
|
||||
UdiRlSupService udiRlSupService;
|
||||
@Resource
|
||||
BasicCorpService basicUnitMaintainService;
|
||||
@Resource
|
||||
private IBasicBussinessTypeService basicBussinessTypeService;
|
||||
@Resource
|
||||
IoOrderService orderService;
|
||||
@Resource
|
||||
InvBusUserService invBusUserService;
|
||||
@Resource
|
||||
WarehouseBussinessTypeService warehouseBussinessTypeService;
|
||||
|
||||
//手持终端下载UDI产品信息
|
||||
@AuthRuleAnnotation("")
|
||||
@PostMapping("/udiwms/basicData/deleteBasicData")
|
||||
public BaseResponse downloadProducts(@RequestBody BasicDataRequest basicDataRequest) {
|
||||
BaseResponse baseResponse = null;
|
||||
switch (basicDataRequest.getKey()) {
|
||||
case BasicDataType.BASIC_MAINTAIN:
|
||||
//耗材字典
|
||||
baseResponse = deleteById(basicDataRequest.getDeleteRequest());
|
||||
//插入日志
|
||||
insertLog(basicDataRequest.getDeleteBasicDataRequest(), baseResponse, basicDataRequest.getDeleteBasicDataRequest().getUserId());
|
||||
//插入操作数据类型记录表
|
||||
insertType(basicDataRequest.getDeleteBasicDataRequest());
|
||||
|
||||
break;
|
||||
case BasicDataType.BASIC_MANAGE:
|
||||
//供应商器械信息
|
||||
baseResponse = deleteCompanyProductRelevance(basicDataRequest.getDeleteCompanyFileRequest());
|
||||
//插入日志
|
||||
insertLog(basicDataRequest.getDeleteBasicDataRequest(), baseResponse, basicDataRequest.getDeleteBasicDataRequest().getUserId());
|
||||
//插入操作数据类型记录表
|
||||
insertType(basicDataRequest.getDeleteBasicDataRequest());
|
||||
break;
|
||||
case BasicDataType.BASIC_CORP_MAINTAIN:
|
||||
//往来信息维护
|
||||
baseResponse = deleteBasicUnitMaintain(basicDataRequest.getDeleteRequest());
|
||||
//插入日志
|
||||
insertLog(basicDataRequest.getDeleteBasicDataRequest(), baseResponse, basicDataRequest.getDeleteBasicDataRequest().getUserId());
|
||||
//插入操作数据类型记录表
|
||||
insertType(basicDataRequest.getDeleteBasicDataRequest());
|
||||
break;
|
||||
case BasicDataType.BASIC_BUSINESS_TYPE:
|
||||
//单据类型设置
|
||||
baseResponse = deleteBussinessType(basicDataRequest.getDeleteRequest());
|
||||
//插入日志
|
||||
insertLog(basicDataRequest.getDeleteBasicDataRequest(), baseResponse, basicDataRequest.getDeleteBasicDataRequest().getUserId());
|
||||
//插入操作数据类型记录表
|
||||
insertType(basicDataRequest.getDeleteBasicDataRequest());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return ResultVOUtils.success(baseResponse);
|
||||
}
|
||||
|
||||
|
||||
public void insertLog(DeleteBasicDataRequest deleteBasicDataRequest, BaseResponse response, String userId) {
|
||||
SyncEditLogEntity syncEditLogEntity = new SyncEditLogEntity();
|
||||
syncEditLogEntity.setRecordCode(deleteBasicDataRequest.getRecordCode());
|
||||
syncEditLogEntity.setOperType(2);
|
||||
syncEditLogEntity.setDataType(deleteBasicDataRequest.getDataType());
|
||||
syncEditLogEntity.setParam(deleteBasicDataRequest.getParam());
|
||||
syncEditLogEntity.setJsonResult(JSON.toJSONString(response.getData()));
|
||||
syncEditLogEntity.setDirectType(2);
|
||||
syncEditLogEntity.setOperUser(userId);
|
||||
syncEditLogEntity.setUpdateTime(new Date());
|
||||
syncEditLogService.insertLog(syncEditLogEntity);
|
||||
}
|
||||
|
||||
public void insertType(DeleteBasicDataRequest deleteBasicDataRequest) {
|
||||
SyncEditTypeEntity syncEditTypeEntity = new SyncEditTypeEntity();
|
||||
syncEditTypeEntity.setCode(deleteBasicDataRequest.getDataType());
|
||||
syncEditTypeEntity.setName(deleteBasicDataRequest.getName());
|
||||
syncEditTypeService.insertType(syncEditTypeEntity);
|
||||
}
|
||||
|
||||
public BaseResponse deleteById( DeleteRequest deleteRequest) {
|
||||
|
||||
String ids = deleteRequest.getId();
|
||||
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectById(Long.parseLong(ids));
|
||||
if (udiRelevanceEntity != null && udiRelevanceEntity.getUuid() != null) {
|
||||
if (codeService.isExitByRelId(udiRelevanceEntity.getId() + "")) {
|
||||
return ResultVOUtils.error(500, "该产品已关联单据,无法删除!");
|
||||
}
|
||||
if (companyProductRelevanceService.isExitByRelId(udiRelevanceEntity.getId() + "")) {
|
||||
return ResultVOUtils.error(500, "该产品已被已被供应商选入,无法删除!");
|
||||
}
|
||||
}
|
||||
|
||||
udiRelevanceService.deleteById(ids);
|
||||
List<UdiRelevanceEntity> udiRelevanceEntities = udiRelevanceService.selectByUuid(udiRelevanceEntity.getUuid());
|
||||
if (udiRelevanceEntities == null || udiRelevanceEntities.isEmpty()) {
|
||||
udiProductService.deleteByUuid(udiRelevanceEntity.getUuid());
|
||||
}
|
||||
return ResultVOUtils.success("删除成功");
|
||||
}
|
||||
|
||||
|
||||
public BaseResponse deleteCompanyProductRelevance( DeleteCompanyFileRequest deleteCompanyFileRequest) {
|
||||
boolean b = udiRlSupService.deleteById(deleteCompanyFileRequest.getId());
|
||||
return ResultVOUtils.success("成功");
|
||||
}
|
||||
|
||||
|
||||
public BaseResponse deleteBasicUnitMaintain( DeleteRequest deleteRequest) {
|
||||
|
||||
|
||||
String id = deleteRequest.getId();
|
||||
BasicCorpEntity basicUnitMaintainEntity = basicUnitMaintainService.selectById(id);
|
||||
|
||||
basicUnitMaintainService.deleteById(id);
|
||||
|
||||
|
||||
return ResultVOUtils.success("删除成功");
|
||||
}
|
||||
|
||||
|
||||
public BaseResponse deleteBussinessType( DeleteRequest deleteRequest) {
|
||||
|
||||
// if (bindingResult.hasErrors()) {
|
||||
// return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
||||
// }
|
||||
String id = deleteRequest.getId();
|
||||
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.selectById(id);
|
||||
|
||||
//判断是否存在该单据类型单据
|
||||
boolean isExitOrder = orderService.isExitByAction(bussinessTypeEntity.getAction());
|
||||
if (isExitOrder) {
|
||||
return ResultVOUtils.error(500, "已存在该类型扫码单据,无法删除!");
|
||||
}
|
||||
|
||||
//判断是否被仓库绑定
|
||||
boolean isExitUser = invBusUserService.isExitByAction(bussinessTypeEntity.getAction());
|
||||
if (isExitUser) {
|
||||
return ResultVOUtils.error(500, "该单据类型已被用户绑定,请先移除后删除!");
|
||||
}
|
||||
|
||||
//判断是否被用户绑定
|
||||
boolean isExitInv = warehouseBussinessTypeService.isExitByAction(bussinessTypeEntity.getAction());
|
||||
if (isExitInv) {
|
||||
return ResultVOUtils.error(500, "该单据类型已被仓库绑定,请先移除后删除!");
|
||||
}
|
||||
|
||||
|
||||
|
||||
return basicBussinessTypeService.deleteBussinessType(id) == true ? ResultVOUtils.success("删除成功") : ResultVOUtils.error(500, "删除失败,系统繁忙");
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package com.glxp.api.req.basic;
|
||||
|
||||
import com.glxp.api.req.system.DeleteCompanyFileRequest;
|
||||
import com.glxp.api.req.system.DeleteRequest;
|
||||
import lombok.Data;
|
||||
import org.springframework.validation.BindingResult;
|
||||
|
||||
@Data
|
||||
public class BasicDataRequest {
|
||||
//耗材字典
|
||||
private DeleteRequest deleteRequest;
|
||||
//供应商器械信息
|
||||
private DeleteCompanyFileRequest deleteCompanyFileRequest;
|
||||
//日志参数类
|
||||
private DeleteBasicDataRequest deleteBasicDataRequest;
|
||||
private String key;
|
||||
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package com.glxp.api.req.basic;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DeleteBasicDataRequest {
|
||||
|
||||
private String dataType;
|
||||
private String param;
|
||||
private String name;
|
||||
private String recordCode;
|
||||
private String userId;
|
||||
private String url;
|
||||
|
||||
|
||||
}
|
Loading…
Reference in New Issue