Browse Source

仓库选择

master
han\hanst 9 months ago
parent
commit
68e048f57b
  1. 26
      src/main/java/com/gaotao/modules/warehouse/controller/WarehouseController.java
  2. 9
      src/main/java/com/gaotao/modules/warehouse/dao/WarehouseMapper.java
  3. 9
      src/main/java/com/gaotao/modules/warehouse/service/WarehouseService.java
  4. 26
      src/main/java/com/gaotao/modules/warehouse/service/impl/WarehouseServiceImpl.java
  5. 15
      src/main/resources/mapper/warehouse/WarehouseMapper.xml

26
src/main/java/com/gaotao/modules/warehouse/controller/WarehouseController.java

@ -3,9 +3,11 @@ package com.gaotao.modules.warehouse.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gaotao.common.utils.PageUtils;
import com.gaotao.common.utils.R;
import com.gaotao.modules.sys.entity.SysUserEntity;
import com.gaotao.modules.warehouse.entity.*;
import com.gaotao.modules.warehouse.service.WarehouseService;
import io.lettuce.core.ScriptOutputType;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -13,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
@RequestMapping("/warehouse")
@RestController
@ -251,4 +254,27 @@ public class WarehouseController {
R r = warehouseService.transferInventoryStock(data);
return r;
}
/**
* 根据用户名和工厂获取授权的仓库列表
* @param params 包含site的参数
* @return 仓库列表
*/
@PostMapping("getUserAuthorizedWarehouses")
public R getUserAuthorizedWarehouses(@RequestBody Map<String, Object> params) {
try {
SysUserEntity sysUserEntity = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
String userName = sysUserEntity.getUsername();
String site = (String) params.get("site");
if (site == null || site.trim().isEmpty()) {
return R.error("工厂参数不能为空");
}
List<Map<String, Object>> warehouseList = warehouseService.getUserAuthorizedWarehouses(userName, site.trim());
return R.ok().put("data", warehouseList);
} catch (Exception e) {
return R.error("获取仓库列表失败");
}
}
}

9
src/main/java/com/gaotao/modules/warehouse/dao/WarehouseMapper.java

@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface WarehouseMapper extends BaseMapper<InventoryStock> {
@ -44,4 +45,12 @@ public interface WarehouseMapper extends BaseMapper<InventoryStock> {
IPage<InventoryPart> getInventoryStockList(Page<InventoryPart> locationPage, @Param("params")InventoryPart data);
IPage<InventoryStock> getInventoryStockManageList(Page<InventoryStock> page, @Param("params")InventoryStock data);
/**
* 根据用户名和工厂获取用户授权的仓库列表包含仓库名称
* @param userName 用户名
* @param site 工厂编码
* @return 仓库列表
*/
List<Map<String, Object>> getUserAuthorizedWarehouses(@Param("userName") String userName, @Param("site") String site);
}

9
src/main/java/com/gaotao/modules/warehouse/service/WarehouseService.java

@ -6,6 +6,7 @@ import com.gaotao.common.utils.R;
import com.gaotao.modules.warehouse.entity.*;
import java.util.List;
import java.util.Map;
public interface WarehouseService {
List<Warehouse> getWarehouseList(Warehouse data);
@ -45,4 +46,12 @@ public interface WarehouseService {
InventoryStock getInventoryStockDetail(InventoryStock data);
R transferInventoryStock(java.util.Map<String, Object> data);
/**
* 根据用户名和工厂获取用户授权的仓库列表包含仓库名称
* @param userName 用户名
* @param site 工厂编码
* @return 仓库列表
*/
List<Map<String, Object>> getUserAuthorizedWarehouses(String userName, String site);
}

26
src/main/java/com/gaotao/modules/warehouse/service/impl/WarehouseServiceImpl.java

@ -16,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
public class WarehouseServiceImpl implements WarehouseService {
@ -137,7 +138,7 @@ public class WarehouseServiceImpl implements WarehouseService {
.eq(InventoryStock::getPartNo, data.getPartNo())
.eq(InventoryStock::getBatchNo, data.getBatchNo())
.eq(InventoryStock::getLocationId, data.getLocationId());
InventoryStock existingStock = inventoryStockMapper.selectOne(queryWrapper);
if (existingStock != null) {
@ -145,14 +146,14 @@ public class WarehouseServiceImpl implements WarehouseService {
data.setFirstInDate(existingStock.getFirstInDate()); // 保持首次入库日期不变
data.setLatestInDate(new java.util.Date()); // 更新最近入库日期
data.setActiveDate(new java.util.Date()); // 更新活动日期
LambdaUpdateWrapper<InventoryStock> updateWrapper = Wrappers.lambdaUpdate();
updateWrapper.eq(InventoryStock::getSite, data.getSite())
.eq(InventoryStock::getWarehouseId, data.getWarehouseId())
.eq(InventoryStock::getPartNo, data.getPartNo())
.eq(InventoryStock::getBatchNo, data.getBatchNo())
.eq(InventoryStock::getLocationId, data.getLocationId());
inventoryStockMapper.update(data, updateWrapper);
} else {
// 创建新记录
@ -179,7 +180,7 @@ public class WarehouseServiceImpl implements WarehouseService {
.eq(InventoryStock::getPartNo, data.getPartNo())
.eq(InventoryStock::getBatchNo, data.getBatchNo())
.eq(InventoryStock::getLocationId, data.getLocationId());
int result = inventoryStockMapper.delete(queryWrapper);
if (result > 0) {
return R.ok().put("msg", "删除成功");
@ -209,7 +210,7 @@ public class WarehouseServiceImpl implements WarehouseService {
.eq(InventoryStock::getPartNo, partNo)
.eq(InventoryStock::getBatchNo, batchNo)
.eq(InventoryStock::getLocationId, locationId);
InventoryStock existingStock = inventoryStockMapper.selectOne(queryWrapper);
if (existingStock == null) {
@ -257,7 +258,7 @@ public class WarehouseServiceImpl implements WarehouseService {
.eq(InventoryStock::getPartNo, data.getPartNo())
.eq(InventoryStock::getBatchNo, data.getBatchNo())
.eq(InventoryStock::getLocationId, data.getLocationId());
inventoryStockMapper.update(null, updateWrapper);
String status = "Y".equals(data.getFreezeFlag()) ? "冻结" : "解冻";
return R.ok().put("msg", "库存" + status + "成功");
@ -282,7 +283,7 @@ public class WarehouseServiceImpl implements WarehouseService {
.eq(InventoryStock::getPartNo, partNo)
.eq(InventoryStock::getBatchNo, batchNo)
.eq(InventoryStock::getLocationId, locationId);
InventoryStock existingStock = inventoryStockMapper.selectOne(queryWrapper);
if (existingStock == null) {
@ -315,7 +316,7 @@ public class WarehouseServiceImpl implements WarehouseService {
.eq(InventoryStock::getPartNo, data.getPartNo())
.eq(InventoryStock::getBatchNo, data.getBatchNo())
.eq(InventoryStock::getLocationId, data.getLocationId());
return inventoryStockMapper.selectOne(queryWrapper);
}
@ -337,7 +338,7 @@ public class WarehouseServiceImpl implements WarehouseService {
.eq(InventoryStock::getPartNo, partNo)
.eq(InventoryStock::getBatchNo, batchNo)
.eq(InventoryStock::getLocationId, fromLocationId);
InventoryStock fromStock = inventoryStockMapper.selectOne(fromQueryWrapper);
if (fromStock == null) {
@ -362,7 +363,7 @@ public class WarehouseServiceImpl implements WarehouseService {
.eq(InventoryStock::getPartNo, partNo)
.eq(InventoryStock::getBatchNo, batchNo)
.eq(InventoryStock::getLocationId, toLocationId);
InventoryStock toStock = inventoryStockMapper.selectOne(toQueryWrapper);
if (toStock == null) {
@ -403,4 +404,9 @@ public class WarehouseServiceImpl implements WarehouseService {
}
}
@Override
public List<Map<String, Object>> getUserAuthorizedWarehouses(String userName, String site) {
return warehouseMapper.getUserAuthorizedWarehouses(userName, site);
}
}

15
src/main/resources/mapper/warehouse/WarehouseMapper.xml

@ -318,4 +318,19 @@
</where>
ORDER BY site, warehouse_id, part_no, batch_no, location_id
</select>
<!-- 根据用户名和工厂获取用户授权的仓库列表(包含仓库名称) -->
<select id="getUserAuthorizedWarehouses" resultType="java.util.Map">
SELECT
w.WareHouseID as warehouseid,
w.WareHouseName as warehousename,
w.WareHouseType as warehousetype,
w.active as active
FROM AccessWarehouse aw
LEFT JOIN warehouse w ON aw.warehouse_id = w.WareHouseID AND aw.site = w.site
WHERE aw.userid = #{userName}
AND aw.site = #{site}
AND w.Active = 'Y'
ORDER BY w.WareHouseID
</select>
</mapper>
Loading…
Cancel
Save