package com.consum.base.controller; import com.consum.base.BaseController; import com.consum.base.core.utils.CommonUtil; import com.consum.base.pojo.BaseWarehouseParam; import com.consum.base.pojo.query.WarehouseQry; import com.consum.base.service.BaseWarehouseServiceImpl; import com.consum.base.service.LWhGoodsService; import com.consum.model.po.BaseWarehouse; import com.consum.model.po.FinSysTenantUser; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.StringUtils; import com.walker.web.ResponseValue; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @Description 仓库管理 * @Author 卢庆阳 * @Date 2023/10/26 */ @RestController @RequestMapping("/pc/base/warehouse") public class BaseWarehouseController extends BaseController { @Autowired private BaseWarehouseServiceImpl baseWarehouseService; @Autowired private LWhGoodsService lWhGoodsService; /** * @Description 新增 * @Author 卢庆阳 * @Date 2023/10/26 */ @PostMapping("/add") public ResponseValue add() { BaseWarehouseParam param = CommonUtil.getObjFromReqBody(BaseWarehouseParam.class); BaseWarehouseParam param2 = new BaseWarehouseParam(); CommonUtil.copyProperties(param, param2); param = param2; if (StringUtils.isEmpty(param.getWarehouseName())) { return ResponseValue.error("仓库名称为空"); } //TODO 加权限 省级管理员录入所有仓库信息 int result = this.baseWarehouseService.add(param); if (result > 0) { return ResponseValue.success(1); } return ResponseValue.error("新增失败!"); } /** * @Description 仓库列表查询 * @Author 卢庆阳 * @Date 2023/10/26 */ @GetMapping("/list") public ResponseValue queryList() { BaseWarehouseParam param = CommonUtil.getObjFromReq(BaseWarehouseParam.class); BaseWarehouseParam param2 = new BaseWarehouseParam(); CommonUtil.copyProperties(param, param2); param = param2; FinSysTenantUser sysInfo = this.getSysInfo(); if (sysInfo == null) { return ResponseValue.error("登录用户信息不存在"); } param.setAgencyId(Long.valueOf(sysInfo.getTenantId())); GenericPager pager = this.baseWarehouseService.queryList(param); return ResponseValue.success(pager); } /** * @Description 编辑(修改状态) * @Author 卢庆阳 * @Date 2023/10/26 */ @PostMapping("/edit") public ResponseValue edit() { BaseWarehouse baseWarehouse = CommonUtil.getObjFromReqBody(BaseWarehouse.class); BaseWarehouse param2 = new BaseWarehouse(); CommonUtil.copyProperties(baseWarehouse, param2); baseWarehouse = param2; Long id = baseWarehouse.getId(); if (id == null || id <= 0) { return ResponseValue.error("编辑的仓库不存在"); } if (StringUtils.isEmpty(baseWarehouse.getWarehouseName())) { return ResponseValue.error("仓库名称为空"); } int num = this.baseWarehouseService.updateBaseWarehouse(baseWarehouse); return num > 0 ? ResponseValue.success(1) : ResponseValue.error("编辑失败!"); } /** * 根据仓库id查询仓库详情 * * @author 卢庆阳 * @Date 2023/10/26 */ @GetMapping("/detail") public ResponseValue getById(Long id) { if (id == null) { return ResponseValue.error("仓库id为空"); } BaseWarehouse baseWarehouse = this.baseWarehouseService.getById(id); if (baseWarehouse == null) { return ResponseValue.error("查询失败!"); } return ResponseValue.success("查询成功!", baseWarehouse); } /** * @Description 根据id删除仓库 * @Author 卢庆阳 * @Date 2023/10/26 */ @DeleteMapping("/del") public ResponseValue updateById() { BaseWarehouse baseWarehouse = CommonUtil.getObjFromReqBody(BaseWarehouse.class); BaseWarehouse param2 = new BaseWarehouse(); CommonUtil.copyProperties(baseWarehouse, param2); baseWarehouse = param2; if (baseWarehouse.getId() == null) { return ResponseValue.error("仓库id为空"); } int num = this.baseWarehouseService.updateById(baseWarehouse); return num > 0 ? ResponseValue.success(1) : ResponseValue.error("删除失败!"); } /** * @Description 根据仓库id获取机构用户信息 * @Author 卢庆阳 * @Date 2023/10/26 */ @GetMapping("/select/userList") public ResponseValue queryList(Long baseWarehouseId) { if (baseWarehouseId == null) { return ResponseValue.error("仓库id为空"); } this.baseWarehouseService.queryUserList(baseWarehouseId); return ResponseValue.success(); } /** * @Description 根据机构id查询机构仓库 * @Author 卢庆阳 * @Date 2023/10/27 */ @GetMapping("/select/tenant_warehouse") public ResponseValue getByAgencyId(Long agencyId) { if (agencyId == null) { return ResponseValue.success(new ArrayList<>()); } List list = this.baseWarehouseService.getByAgencyId(agencyId, null, null); if (list == null) { return ResponseValue.error("查询失败!"); } return ResponseValue.success("查询成功!", list); } @ApiOperation(value = "根据仓库id和型号id 查询库存", notes = "根据仓库id和型号id 查询库存") @ApiImplicitParams({ @ApiImplicitParam(name = "warehouseQry", value = "仓库id和型号id", required = true, dataType = "WarehouseQry", paramType = "query") }) @GetMapping("/select/number") public ResponseValue selectNumber() { WarehouseQry warehouseQry = CommonUtil.getObjFromReq(WarehouseQry.class); WarehouseQry param2 = new WarehouseQry(); CommonUtil.copyProperties(warehouseQry, param2); warehouseQry = param2; Long warehouseId = warehouseQry.getWarehouseId(); if (warehouseId == null) { Long agencyId = warehouseQry.getAgencyId(); BaseWarehouse defaultWarehouseByAgencyId = this.baseWarehouseService.getDefaultWarehouseByAgencyId(agencyId); warehouseId = defaultWarehouseByAgencyId.getId(); } Long baseGoodsModelsId = warehouseQry.getBaseGoodsModelsId(); Integer warehouseType = warehouseQry.getWarehouseType(); Integer states = warehouseQry.getStates(); Integer buyType = warehouseQry.getBuyType(); int num = this.lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, 1, buyType); return ResponseValue.success(num); } }