库存根据权限新增修改删除

This commit is contained in:
liuhanqing
2026-01-18 10:55:40 +08:00
parent 93c3019eb1
commit bd5201e56f
5 changed files with 98 additions and 15 deletions

View File

@@ -84,7 +84,7 @@ public class BasStockController extends BaseController
@PostMapping
public AjaxResult add(@RequestBody BasStock basStock)
{
return toAjax(basStockService.insertBasStock(basStock));
return basStockService.insertBasStock(basStock);
}
/**
@@ -95,7 +95,7 @@ public class BasStockController extends BaseController
@PutMapping
public AjaxResult edit(@RequestBody BasStock basStock)
{
return toAjax(basStockService.updateBasStock(basStock));
return basStockService.updateBasStock(basStock);
}
/**
* 修改库存部门
@@ -116,7 +116,7 @@ public class BasStockController extends BaseController
@DeleteMapping("/{stockIds}")
public AjaxResult remove(@PathVariable String[] stockIds)
{
return toAjax(basStockService.deleteBasStockByStockIds(stockIds));
return basStockService.deleteBasStockByStockIds(stockIds);
}
/**

View File

@@ -43,7 +43,7 @@ public interface IBasStockService
* @param basStock 库存信息
* @return 结果
*/
public int insertBasStock(BasStock basStock);
public AjaxResult insertBasStock(BasStock basStock);
/**
* 新增库存信息(不记录维护记录)
@@ -59,7 +59,7 @@ public interface IBasStockService
* @param basStock 库存信息
* @return 结果
*/
public int updateBasStock(BasStock basStock);
public AjaxResult updateBasStock(BasStock basStock);
/**
* 批量删除库存信息
@@ -67,7 +67,7 @@ public interface IBasStockService
* @param stockIds 需要删除的库存信息主键集合
* @return 结果
*/
public int deleteBasStockByStockIds(String[] stockIds);
public AjaxResult deleteBasStockByStockIds(String[] stockIds);
/**
* 删除库存信息信息

View File

@@ -1,7 +1,9 @@
package com.ruoyi.stock.stock.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdUtil;
import com.ruoyi.bas.basJobId.service.IBasJobIdService;
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.AjaxResult;
@@ -41,6 +43,8 @@ public class BasStockServiceImpl implements IBasStockService
private IBasStockFreezeRecordService basStockFreezeRecordService;
@Autowired
private IBasCargoSpaceService basCargoSpaceService;
@Autowired
private IBasJobIdService basJobIdService;
/**
* 查询库存信息
@@ -87,10 +91,31 @@ public class BasStockServiceImpl implements IBasStockService
* @return 结果
*/
@Override
public int insertBasStock(BasStock basStock)
public AjaxResult insertBasStock(BasStock basStock)
{
if (!"admin".equals(SecurityUtils.getUsername())) {
BasStock param = new BasStock();
param.setTrayCode(basStock.getTrayCode());
List<BasStock> basStocks = basStockMapper.selectBasStockList(param);
if (CollUtil.isNotEmpty(basStocks)){
Optional<BasStock> first = basStocks.stream().filter(x -> x.getModel()!=null &&x.getModel().equals(SecurityUtils.getDeptId().toString())).findFirst();
if (first.isEmpty()){
//不是同个部门的,不可以新增物料
return AjaxResult.error("不是同一个部门,无法修改物料");
}
}
}
insertMaintainRecord(null,basStock,"1");
return basStockMapper.insertBasStock(basStock);
basStock.setStockId(basJobIdService.getJobId("KC"));
basStock.setModel(SecurityUtils.getDeptId().toString());
basStock.setProductStatus("1");
basStock.setInDate(DateUtil.formatDateTime(new Date()));
int i =basStockMapper.insertBasStock(basStock);
if (i > 0){
return AjaxResult.success();
}else {
return AjaxResult.error();
}
}
private void insertMaintainRecord(BasStock oldStock, BasStock basStock, String operate) {
@@ -121,12 +146,29 @@ public class BasStockServiceImpl implements IBasStockService
* @return 结果
*/
@Override
public int updateBasStock(BasStock basStock)
public AjaxResult updateBasStock(BasStock basStock)
{
if (!"admin".equals(SecurityUtils.getUsername())) {
BasStock param = new BasStock();
param.setTrayCode(basStock.getTrayCode());
List<BasStock> basStocks = basStockMapper.selectBasStockList(param);
if (CollUtil.isNotEmpty(basStocks)){
Optional<BasStock> first = basStocks.stream().filter(x -> x.getModel()!=null &&x.getModel().equals(SecurityUtils.getDeptId().toString())).findFirst();
if (first.isEmpty()){
//不是同个部门的,不可以新增物料
return AjaxResult.error("不是同一个部门,无法修改物料");
}
}
}
BasStock oldBasStock = basStockMapper.selectBasStockByStockId(basStock.getStockId());
insertMaintainRecord(oldBasStock,basStock,"2");
insertFreezeRecord(oldBasStock,basStock);
return basStockMapper.updateBasStock(basStock);
int i = basStockMapper.updateBasStock(basStock);
if (i > 0){
return AjaxResult.success();
}else {
return AjaxResult.error();
}
}
private void insertFreezeRecord(BasStock oldBasStock, BasStock basStock) {
@@ -158,13 +200,32 @@ public class BasStockServiceImpl implements IBasStockService
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int deleteBasStockByStockIds(String[] stockIds)
public AjaxResult deleteBasStockByStockIds(String[] stockIds)
{
for (String stockId : stockIds) {
if (!"admin".equals(SecurityUtils.getUsername())) {
BasStock param = new BasStock();
param.setStockId(stockId);
List<BasStock> basStocks = basStockMapper.selectBasStockList(param);
if (CollUtil.isNotEmpty(basStocks)){
Optional<BasStock> first = basStocks.stream().filter(x -> x.getModel()!=null &&x.getModel().equals(SecurityUtils.getDeptId().toString())).findFirst();
if (first.isEmpty()){
//不是同个部门的,不可以新增物料
return AjaxResult.error("不是同一个部门,无法删除物料");
}
}
}
}
for (String stockId : stockIds) {
BasStock oldBasStock = basStockMapper.selectBasStockByStockId(stockId);
insertMaintainRecord(oldBasStock,oldBasStock,"3");
}
return basStockMapper.deleteBasStockByStockIds(stockIds);
int i = basStockMapper.deleteBasStockByStockIds(stockIds);
if (i > 0){
return AjaxResult.success();
}
return AjaxResult.error();
}
/**

View File

@@ -56,6 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="remark" column="remark" />
<result property="productType" column="productType" />
<result property="netWeight" column="net_weight" />
<result property="model" column="model" />
<!--<association property="extraField" javaType="ExtraField">
<result property="productId" column="product_id" />
</association>-->
@@ -96,6 +97,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
bs.spare4, --来源
bs.spare1, --用途
bs.distribution, --用途
bs.model, --用途
bcs.the_type as net_weight --重量
from bas_stock bs
left join bas_product bp on bs.product_id = bp.product_id