|
@@ -2,10 +2,16 @@ package com.abi.qms.platform.service.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import com.abi.qms.platform.dao.entity.BaseFactory;
|
|
|
+import com.abi.qms.platform.dao.entity.BoxCodeFormat;
|
|
|
+import com.abi.qms.platform.dao.entity.QrPackage;
|
|
|
+import com.abi.qms.platform.dao.entity.UserInfo;
|
|
|
import com.abi.qms.platform.dao.enums.FactoryTypeEnum;
|
|
|
import com.abi.qms.platform.dao.enums.LoginTypeEnum;
|
|
|
import com.abi.qms.platform.dao.enums.ValidEnum;
|
|
|
import com.abi.qms.platform.dao.mapper.BaseFactoryMapper;
|
|
|
+import com.abi.qms.platform.dao.mapper.BoxCodeFormatMapper;
|
|
|
+import com.abi.qms.platform.dao.mapper.QrPackageMapper;
|
|
|
+import com.abi.qms.platform.dao.mapper.UserInfoMapper;
|
|
|
import com.abi.qms.platform.dto.req.DisableFactoryReq;
|
|
|
import com.abi.qms.platform.dto.req.EnableFactoryReq;
|
|
|
import com.abi.qms.platform.dto.req.GetFactoryDetailReq;
|
|
@@ -25,6 +31,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
@@ -42,6 +49,15 @@ public class FactoryServiceImpl implements FactoryService {
|
|
|
@Autowired
|
|
|
private BaseFactoryMapper baseFactoryMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private UserInfoMapper userInfoMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private BoxCodeFormatMapper boxCodeFormatMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private QrPackageMapper qrPackageMapper;
|
|
|
+
|
|
|
/**
|
|
|
* 供应商新增修改
|
|
|
**/
|
|
@@ -135,6 +151,7 @@ public class FactoryServiceImpl implements FactoryService {
|
|
|
* 供应商启用
|
|
|
**/
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void enableFactory(EnableFactoryReq req) {
|
|
|
List<Long> ids = req.getIds();
|
|
|
|
|
@@ -157,6 +174,7 @@ public class FactoryServiceImpl implements FactoryService {
|
|
|
* 供应商禁用
|
|
|
**/
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public void disableFactory(DisableFactoryReq req) {
|
|
|
List<Long> ids = req.getIds();
|
|
|
|
|
@@ -169,6 +187,32 @@ public class FactoryServiceImpl implements FactoryService {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ //只要和当前供应商绑定的(包含启用禁用状态),都不能禁用(码包,箱码幅面,用户)
|
|
|
+ //用户
|
|
|
+ QueryWrapper<UserInfo> userQuery = new QueryWrapper<>();
|
|
|
+ userQuery.eq("factory_id", id);
|
|
|
+ userQuery.eq("is_delete", 0);
|
|
|
+ List<UserInfo> userInfos = userInfoMapper.selectList(userQuery);
|
|
|
+ if(CollectionUtil.isNotEmpty(userInfos)){
|
|
|
+ throw new BusinessException("供应商" + factory.getFactoryName() + "已与用户" + userInfos.get(0).getUserName()+ "绑定,请解绑后再停用。");
|
|
|
+ }
|
|
|
+ //箱码幅面
|
|
|
+ QueryWrapper<BoxCodeFormat> boxCodeFormatQuery = new QueryWrapper<>();
|
|
|
+ boxCodeFormatQuery.eq("factory_id", id);
|
|
|
+ boxCodeFormatQuery.eq("is_delete", 0);
|
|
|
+ List<BoxCodeFormat> boxCodeFormats = boxCodeFormatMapper.selectList(boxCodeFormatQuery);
|
|
|
+ if(CollectionUtil.isNotEmpty(boxCodeFormats)){
|
|
|
+ throw new BusinessException("供应商" + factory.getFactoryName() + "已与箱码幅面" + boxCodeFormats.get(0).getName()+ "绑定,请解绑后再停用。");
|
|
|
+ }
|
|
|
+ //码包
|
|
|
+ QueryWrapper<QrPackage> qrPackageQuery = new QueryWrapper<>();
|
|
|
+ qrPackageQuery.eq("factory_id", id);
|
|
|
+ qrPackageQuery.eq("is_delete", 0);
|
|
|
+ List<QrPackage> qrPackages = qrPackageMapper.selectList(qrPackageQuery);
|
|
|
+ if(CollectionUtil.isNotEmpty(qrPackages)){
|
|
|
+ throw new BusinessException("供应商" + factory.getFactoryName() + "已与码包" + qrPackages.get(0).getName()+ "绑定,请解绑后再停用。");
|
|
|
+ }
|
|
|
+
|
|
|
//2-修改状态
|
|
|
factory.setValid(ValidEnum.NOT_VALID.getCode());
|
|
|
baseFactoryMapper.updateById(factory);
|