出库库编辑,删除完善
This commit is contained in:
1 parent
ff3433dd48
commit
15058106c5
9 files changed
+400
-30
No files matched your search
+129
@@ -0,0 +1,129 @@
|
||||
package com.bsd.pjcloud.supermarket.dto.inventoryrecords;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.bsd.pjcloud.supermarket.dto.cgplan.SmCgPlanEditItemDTO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Data
|
||||
@Schema(description = "出入库记录修改对象")
|
||||
public class InventoryRecordEditDTO {
|
||||
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Schema(description="主键")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据编号(规则生成,出入库编号)
|
||||
*/
|
||||
@Schema(description="单据编号(规则生成,出入库编号)")
|
||||
private String inventoryCode;
|
||||
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
@Schema(description="单据日期")
|
||||
private LocalDate inventoryDate;
|
||||
|
||||
/**
|
||||
* 单据类型(字典inventory_type)采购入库、采购退货、盘点入库等
|
||||
*/
|
||||
@Schema(description="单据类型(字典inventory_type)采购入库、采购退货、盘点入库等")
|
||||
private String inventoryType;
|
||||
|
||||
/**
|
||||
* 来源ID(根据类型指向对应的表,如采购单ID、退货单ID等)
|
||||
*/
|
||||
@Schema(description="来源code")
|
||||
private String linkCode;
|
||||
|
||||
/**
|
||||
* 仓库id
|
||||
*/
|
||||
@Schema(description="仓库id")
|
||||
private String warehouseId;
|
||||
|
||||
/**
|
||||
* 经办人id
|
||||
*/
|
||||
@Schema(description="经办人id")
|
||||
private Long handlerUserId;
|
||||
|
||||
/**
|
||||
* 审批状态
|
||||
*/
|
||||
@Schema(description="审批状态")
|
||||
private String checkStatus;
|
||||
|
||||
/**
|
||||
* 审批人id
|
||||
*/
|
||||
@Schema(description="审批人id")
|
||||
private String checkUserId;
|
||||
|
||||
/**
|
||||
* 审核日期
|
||||
*/
|
||||
@Schema(description="审核日期")
|
||||
private LocalDateTime checkTime;
|
||||
|
||||
/**
|
||||
* 商户编号
|
||||
*/
|
||||
@Schema(description="商户编号")
|
||||
private Long merchantId;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@Schema(description="部门id")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 货商
|
||||
*/
|
||||
@Schema(description="货商")
|
||||
private Long supplierId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Schema(description="备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 订单类型(1入库 2出库)
|
||||
*/
|
||||
@Schema(description="订单类型(1入库 2出库)")
|
||||
private String orderType;
|
||||
|
||||
/**
|
||||
* 入库总金额
|
||||
*/
|
||||
@Schema(description="入库总金额")
|
||||
private Integer totalAmount;
|
||||
|
||||
|
||||
@Schema(description="收货数量")
|
||||
private Integer receiveAmount;
|
||||
|
||||
|
||||
/**
|
||||
* @Link SmCgPlanEditItemDTO
|
||||
*/
|
||||
@Schema(description="采购计划-item")
|
||||
private List<InventoryRecordEditItemDTO> items;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
+100
@@ -0,0 +1,100 @@
|
||||
package com.bsd.pjcloud.supermarket.dto.inventoryrecords;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
@Data
|
||||
@Schema(description = "出入库记录编辑-item")
|
||||
public class InventoryRecordEditItemDTO {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
|
||||
@Schema(description="id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单据类型(字典inventory_type)
|
||||
*/
|
||||
@Schema(description="单据类型(字典inventory_type)")
|
||||
private String inventoryType;
|
||||
|
||||
/**
|
||||
* 商品id
|
||||
*/
|
||||
@Schema(description="商品id")
|
||||
private Long erpSpuId;
|
||||
|
||||
/**
|
||||
* 商户编号
|
||||
*/
|
||||
@Schema(description="商户编号")
|
||||
private Long merchantId;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@Schema(description="部门id")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 出入库数量
|
||||
*/
|
||||
@Schema(description="出入库数量")
|
||||
private Double quantity;
|
||||
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
@Schema(description="单价")
|
||||
private Integer unitPrice;
|
||||
|
||||
/**
|
||||
* 总金额
|
||||
*/
|
||||
@Schema(description="总金额")
|
||||
private Integer totalAmount;
|
||||
|
||||
/**
|
||||
* 税率%
|
||||
*/
|
||||
@Schema(description="税率%")
|
||||
private Integer taxRate;
|
||||
|
||||
/**
|
||||
* 税前金额
|
||||
*/
|
||||
@Schema(description="税前金额")
|
||||
private Integer taxAmount;
|
||||
|
||||
/**
|
||||
* 货商
|
||||
*/
|
||||
@Schema(description="货商")
|
||||
private Long supplierId;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@Schema(description="备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 订单类型(1入库 2出库)
|
||||
*/
|
||||
@Schema(description="订单类型(1入库 2出库)")
|
||||
private String orderType;
|
||||
|
||||
/**
|
||||
* 包装单位id
|
||||
*/
|
||||
@Schema(description="包装单位id")
|
||||
private Long unitId;
|
||||
|
||||
|
||||
}
|
||||
+1
-1
@@ -145,7 +145,7 @@ public class SmErpCgDdController {
|
||||
@DeleteMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_smErpCgDd_del')" )
|
||||
public R removeById(@RequestBody Long[] ids) {
|
||||
return R.ok(smErpCgDdService.removeBatchByIds(CollUtil.toList(ids)));
|
||||
return R.ok(smErpCgDdService.removeCgDdByIds(CollUtil.toList(ids)));
|
||||
}
|
||||
|
||||
|
||||
|
||||
+5
-8
@@ -12,10 +12,7 @@ import com.bsd.pjcloud.common.log.annotation.SysLog;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.supermarket.dto.cgdd.CGPlanLinkQueryDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.cgplan.ErpCgPlanDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.CGDdLinkQueryDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.InventoryDetailQueryDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.InventoryLinkQueryDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.InventoryRecordSaveDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.*;
|
||||
import com.bsd.pjcloud.supermarket.entity.*;
|
||||
import com.bsd.pjcloud.supermarket.service.*;
|
||||
import com.bsd.pjcloud.supermarket.vo.cgplan.ErpUnitVo;
|
||||
@@ -105,15 +102,15 @@ public class SmErpInventoryRecordsController {
|
||||
|
||||
/**
|
||||
* 修改出入库记录表
|
||||
* @param smErpInventoryRecords 出入库记录表
|
||||
* @param inventoryRecordEditDTO 出入库记录表
|
||||
* @return R
|
||||
*/
|
||||
@Operation(summary = "修改出入库记录表" , description = "修改出入库记录表" )
|
||||
@SysLog("修改出入库记录表" )
|
||||
@PutMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_smErpInventoryRecords_edit')" )
|
||||
public R updateById(@RequestBody SmErpInventoryRecordsEntity smErpInventoryRecords) {
|
||||
return R.ok(smErpInventoryRecordsService.updateById(smErpInventoryRecords));
|
||||
public R updateById(@RequestBody InventoryRecordEditDTO inventoryRecordEditDTO) {
|
||||
return R.ok(smErpInventoryRecordsService.updateInventoryRecord(inventoryRecordEditDTO));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -126,7 +123,7 @@ public class SmErpInventoryRecordsController {
|
||||
@DeleteMapping
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_smErpInventoryRecords_del')" )
|
||||
public R removeById(@RequestBody Long[] ids) {
|
||||
return R.ok(smErpInventoryRecordsService.removeBatchByIds(CollUtil.toList(ids)));
|
||||
return R.ok(smErpInventoryRecordsService.removeBatch(CollUtil.toList(ids)));
|
||||
}
|
||||
|
||||
|
||||
|
||||
+10
@@ -8,6 +8,8 @@ import com.bsd.pjcloud.supermarket.dto.cgdd.ErpCgDDSaveDTO;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmErpCgDdEntity;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmErpCgPlanEntity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public interface SmErpCgDdService extends IService<SmErpCgDdEntity> {
|
||||
|
||||
|
||||
@@ -37,4 +39,12 @@ public interface SmErpCgDdService extends IService<SmErpCgDdEntity> {
|
||||
|
||||
|
||||
Object pageScope(Page page, LambdaQueryWrapper<SmErpCgDdEntity> wrapper);
|
||||
|
||||
|
||||
/**
|
||||
* 删除
|
||||
* @param list
|
||||
* @return
|
||||
*/
|
||||
Object removeCgDdByIds(ArrayList<Long> list);
|
||||
}
|
||||
+15
@@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.InventoryDetailQueryDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.InventoryRecordEditDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.InventoryRecordSaveDTO;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmErpInventoryRecordsEntity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public interface SmErpInventoryRecordsService extends IService<SmErpInventoryRecordsEntity> {
|
||||
|
||||
|
||||
@@ -66,4 +69,16 @@ public interface SmErpInventoryRecordsService extends IService<SmErpInventoryRec
|
||||
* @return
|
||||
*/
|
||||
Object getInventoryDetailById(Long id);
|
||||
|
||||
|
||||
/**
|
||||
* 更新出入库
|
||||
* @param inventoryRecordEditDTO
|
||||
* @return
|
||||
*/
|
||||
Object updateInventoryRecord(InventoryRecordEditDTO inventoryRecordEditDTO);
|
||||
|
||||
|
||||
|
||||
Object removeBatch(ArrayList<Long> list);
|
||||
}
|
||||
+52
-12
@@ -27,10 +27,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -82,23 +79,45 @@ public class SmErpCgDdServiceImpl extends ServiceImpl<SmErpCgDdMapper, SmErpCgDd
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Object updateByErpCgDdEditDTO(ErpCgDDEditDTO erpCgDDEditDTO) {
|
||||
|
||||
SmErpCgDdEntity smErpCgDdEntity = BeanUtils.toBean(erpCgDDEditDTO, SmErpCgDdEntity.class);
|
||||
int i = baseMapper.updateById(smErpCgDdEntity);
|
||||
|
||||
//更新采购计划-item
|
||||
List<SmCgDDEditItemDTO> items = erpCgDDEditDTO.getItems();
|
||||
List<SmErpCgDdItemEntity> cgPlanItemEntities = BeanUtils.toBean(items, SmErpCgDdItemEntity.class);
|
||||
List<SmErpCgDdItemEntity> cgDdItemEntities = BeanUtils.toBean(items, SmErpCgDdItemEntity.class);
|
||||
|
||||
List<SmErpCgDdItemEntity> insertCollect = cgPlanItemEntities.stream()
|
||||
List<SmErpCgDdItemEntity> insertCollect = cgDdItemEntities.stream()
|
||||
.filter(supermarketUnitEntity -> supermarketUnitEntity.getId() == null).collect(Collectors.toList());
|
||||
insertCollect.forEach(c -> c.setHId(smErpCgDdEntity.getId()));
|
||||
//
|
||||
// List<SmErpCgPlanItemEntity> updateCollect = cgPlanItemEntities.stream()
|
||||
// .filter(supermarketUnitEntity -> supermarketUnitEntity.getId() != null).collect(Collectors.toList());
|
||||
// smErpCgPlanItemMapper.updateById(updateCollect);
|
||||
smErpCgDDItemMapper.insertOrUpdate(cgPlanItemEntities);
|
||||
|
||||
|
||||
List<SmErpCgDdItemEntity> updateCollect = cgDdItemEntities.stream()
|
||||
.filter(supermarketUnitEntity -> supermarketUnitEntity.getId() != null).collect(Collectors.toList());
|
||||
smErpCgDDItemMapper.updateById(updateCollect);
|
||||
smErpCgDDItemMapper.insert(insertCollect);
|
||||
|
||||
List<Long> existingCodeIds = smErpCgDDItemMapper.selectList(
|
||||
new LambdaQueryWrapper<SmErpCgDdItemEntity>()
|
||||
.eq(SmErpCgDdItemEntity::getHId, smErpCgDdEntity.getId())
|
||||
).stream().map(SmErpCgDdItemEntity::getId).collect(Collectors.toList());
|
||||
|
||||
// 收集本次提交的ID(排除新增的)
|
||||
List<Long> submittedCodeIds = updateCollect.stream()
|
||||
.map(SmErpCgDdItemEntity::getId)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 计算需要删除的ID
|
||||
List<Long> toDeleteCodeIds = existingCodeIds.stream()
|
||||
.filter(id -> !submittedCodeIds.contains(id))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 批量删除失效条码
|
||||
if (!toDeleteCodeIds.isEmpty()) {
|
||||
smErpCgDDItemMapper.deleteByIds(toDeleteCodeIds);
|
||||
}
|
||||
return R.ok(i);
|
||||
}
|
||||
|
||||
@@ -228,4 +247,25 @@ public class SmErpCgDdServiceImpl extends ServiceImpl<SmErpCgDdMapper, SmErpCgDd
|
||||
|
||||
return pageData;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Object removeCgDdByIds(ArrayList<Long> list) {
|
||||
//首先先查询是否有当前数据权限
|
||||
LambdaQueryWrapper<SmErpCgDdEntity> eq = new LambdaQueryWrapper<SmErpCgDdEntity>().in(SmErpCgDdEntity::getId, list);
|
||||
List<SmErpCgDdEntity> smErpCgDdEntities = baseMapper.selectListByScope(eq,DataScope.of());
|
||||
List<Long> delIds= smErpCgDdEntities.stream().map(smErpCgDdEntity -> smErpCgDdEntity.getId()).collect(Collectors.toList());
|
||||
|
||||
|
||||
LambdaQueryWrapper<SmErpCgDdItemEntity> itemEntityLambdaQueryWrapper = new LambdaQueryWrapper<SmErpCgDdItemEntity>().in(SmErpCgDdItemEntity::getHId, delIds);
|
||||
smErpCgDDItemMapper.delete(itemEntityLambdaQueryWrapper);
|
||||
baseMapper.deleteByIds(delIds);
|
||||
List<Long> toDeleteIds = delIds.stream()
|
||||
.filter(id -> !list.contains(id))
|
||||
.collect(Collectors.toList());
|
||||
if (!CollectionUtils.isEmpty(toDeleteIds)){
|
||||
return R.failed("越权删除!");
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
+26
-5
@@ -85,11 +85,32 @@ public class SmErpCgPlanServiceImpl extends ServiceImpl<SmErpCgPlanMapper, SmErp
|
||||
List<SmErpCgPlanItemEntity> insertCollect = cgPlanItemEntities.stream()
|
||||
.filter(supermarketUnitEntity -> supermarketUnitEntity.getId() == null).collect(Collectors.toList());
|
||||
insertCollect.forEach(c -> c.setPlanId(smErpCgPlanEntity.getId()));
|
||||
//
|
||||
// List<SmErpCgPlanItemEntity> updateCollect = cgPlanItemEntities.stream()
|
||||
// .filter(supermarketUnitEntity -> supermarketUnitEntity.getId() != null).collect(Collectors.toList());
|
||||
// smErpCgPlanItemMapper.updateById(updateCollect);
|
||||
smErpCgPlanItemMapper.insertOrUpdate(cgPlanItemEntities);
|
||||
|
||||
List<SmErpCgPlanItemEntity> updateCollect = cgPlanItemEntities.stream()
|
||||
.filter(supermarketUnitEntity -> supermarketUnitEntity.getId() != null).collect(Collectors.toList());
|
||||
smErpCgPlanItemMapper.updateById(updateCollect);
|
||||
smErpCgPlanItemMapper.insert(insertCollect);
|
||||
|
||||
List<Long> existingCodeIds = smErpCgPlanItemMapper.selectList(
|
||||
new LambdaQueryWrapper<SmErpCgPlanItemEntity>()
|
||||
.eq(SmErpCgPlanItemEntity::getPlanId, smErpCgPlanEntity.getId())
|
||||
).stream().map(SmErpCgPlanItemEntity::getId).collect(Collectors.toList());
|
||||
|
||||
// 收集本次提交的ID(排除新增的)
|
||||
List<Long> submittedCodeIds = updateCollect.stream()
|
||||
.map(SmErpCgPlanItemEntity::getId)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 计算需要删除的ID
|
||||
List<Long> toDeleteCodeIds = existingCodeIds.stream()
|
||||
.filter(id -> !submittedCodeIds.contains(id))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 批量删除失效条码
|
||||
if (!toDeleteCodeIds.isEmpty()) {
|
||||
smErpCgPlanItemMapper.deleteByIds(toDeleteCodeIds);
|
||||
}
|
||||
|
||||
return R.ok(i);
|
||||
}
|
||||
|
||||
+62
-4
@@ -7,14 +7,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.admin.api.entity.SysUser;
|
||||
import com.bsd.pjcloud.admin.api.feign.RemoteUserService;
|
||||
import com.bsd.pjcloud.common.core.util.BeanUtils;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.supermarket.constant.OrderTypeEnum;
|
||||
import com.bsd.pjcloud.supermarket.dto.cgdd.SmCgDDSaveItemDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.InventoryDetailQueryDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.InventoryRecordSaveDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.InventoryRecordSaveItemDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.UpdateStockDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.inventoryrecords.*;
|
||||
import com.bsd.pjcloud.supermarket.entity.*;
|
||||
import com.bsd.pjcloud.supermarket.mapper.*;
|
||||
import com.bsd.pjcloud.supermarket.service.SmErpInventoryRecordsService;
|
||||
@@ -324,5 +322,65 @@ public class SmErpInventoryRecordsServiceImpl extends ServiceImpl<SmErpInventory
|
||||
return bean;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Object updateInventoryRecord(InventoryRecordEditDTO inventoryRecordEditDTO) {
|
||||
|
||||
SmErpInventoryRecordsEntity smErpInventoryRecordsEntity = BeanUtils.toBean(inventoryRecordEditDTO, SmErpInventoryRecordsEntity.class);
|
||||
int i = baseMapper.updateById(smErpInventoryRecordsEntity);
|
||||
List<InventoryRecordEditItemDTO> items = inventoryRecordEditDTO.getItems();
|
||||
List<SmErpInventoryRecordsItemEntity> smErpInventoryRecordsItemEntityList = BeanUtils.toBean(items, SmErpInventoryRecordsItemEntity.class);
|
||||
|
||||
List<SmErpInventoryRecordsItemEntity> updateItems = smErpInventoryRecordsItemEntityList.stream().
|
||||
filter(smErpInventoryRecordsItemEntity -> smErpInventoryRecordsItemEntity.getId() == null).collect(Collectors.toList());
|
||||
List<SmErpInventoryRecordsItemEntity> insertItems = smErpInventoryRecordsItemEntityList.stream().
|
||||
filter(smErpInventoryRecordsItemEntity -> smErpInventoryRecordsItemEntity.getId() != null).collect(Collectors.toList());
|
||||
smErpInventoryRecordsItemMapper.updateById(updateItems);
|
||||
smErpInventoryRecordsItemMapper.insert(insertItems);
|
||||
|
||||
List<Long> existingCodeIds = smErpInventoryRecordsItemMapper.selectList(
|
||||
new LambdaQueryWrapper<SmErpInventoryRecordsItemEntity>()
|
||||
.eq(SmErpInventoryRecordsItemEntity::getInventoryId, smErpInventoryRecordsEntity.getId())
|
||||
).stream().map(SmErpInventoryRecordsItemEntity::getId).collect(Collectors.toList());
|
||||
|
||||
// 收集本次提交的ID(排除新增的)
|
||||
List<Long> submittedCodeIds = updateItems.stream()
|
||||
.map(SmErpInventoryRecordsItemEntity::getId)
|
||||
.filter(Objects::nonNull)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 计算需要删除的ID
|
||||
List<Long> toDeleteCodeIds = existingCodeIds.stream()
|
||||
.filter(id -> !submittedCodeIds.contains(id))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 批量删除失效条码
|
||||
if (!toDeleteCodeIds.isEmpty()) {
|
||||
smErpInventoryRecordsItemMapper.deleteByIds(toDeleteCodeIds);
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object removeBatch(ArrayList<Long> list) {
|
||||
//首先先查询是否有当前数据权限
|
||||
LambdaQueryWrapper<SmErpInventoryRecordsEntity> eq = new LambdaQueryWrapper<SmErpInventoryRecordsEntity>().in(SmErpInventoryRecordsEntity::getId, list);
|
||||
List<SmErpInventoryRecordsEntity> smErpCgDdEntities = baseMapper.selectListByScope(eq,DataScope.of());
|
||||
List<Long> delIds= smErpCgDdEntities.stream().map(smErpCgDdEntity -> smErpCgDdEntity.getId()).collect(Collectors.toList());
|
||||
|
||||
LambdaQueryWrapper<SmErpInventoryRecordsItemEntity> itemEntityLambdaQueryWrapper = new LambdaQueryWrapper<SmErpInventoryRecordsItemEntity>()
|
||||
.in(SmErpInventoryRecordsItemEntity::getInventoryId, delIds);
|
||||
smErpInventoryRecordsItemMapper.delete(itemEntityLambdaQueryWrapper);
|
||||
baseMapper.deleteByIds(delIds);
|
||||
List<Long> toDeleteIds = delIds.stream()
|
||||
.filter(id -> !list.contains(id))
|
||||
.collect(Collectors.toList());
|
||||
if (!CollectionUtils.isEmpty(toDeleteIds)){
|
||||
return R.failed("越权删除!");
|
||||
}
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user