From 0dd0bc900cd8ea515426db0f7429516b62a05c51 Mon Sep 17 00:00:00 2001 From: liangzhou <594755172@qq.com> Date: Wed, 21 Aug 2024 16:05:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0=EF=BC=9A?= =?UTF-8?q?=201.=E5=A2=9E=E5=8A=A0=E4=BE=9B=E5=BA=94=E5=95=86=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E4=BB=A3=E7=A0=81=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/TOngoodsshelfController.java | 75 ++++++++++++++++++- .../ruoyi/business/domain/TBaseProvider.java | 20 +++++ .../business/mapper/TBaseProviderMapper.java | 9 +++ .../service/ITBaseProviderService.java | 7 ++ .../impl/TBaseProviderServiceImpl.java | 11 +++ .../resources/mapper/TBaseProviderMapper.xml | 6 ++ 6 files changed, 127 insertions(+), 1 deletion(-) create mode 100644 wms-business/src/main/java/com/ruoyi/business/domain/TBaseProvider.java create mode 100644 wms-business/src/main/java/com/ruoyi/business/mapper/TBaseProviderMapper.java create mode 100644 wms-business/src/main/java/com/ruoyi/business/service/ITBaseProviderService.java create mode 100644 wms-business/src/main/java/com/ruoyi/business/service/impl/TBaseProviderServiceImpl.java create mode 100644 wms-business/src/main/resources/mapper/TBaseProviderMapper.xml diff --git a/wms-admin/src/main/java/com/ruoyi/web/controller/business/TOngoodsshelfController.java b/wms-admin/src/main/java/com/ruoyi/web/controller/business/TOngoodsshelfController.java index e826a4c..2213ae9 100644 --- a/wms-admin/src/main/java/com/ruoyi/web/controller/business/TOngoodsshelfController.java +++ b/wms-admin/src/main/java/com/ruoyi/web/controller/business/TOngoodsshelfController.java @@ -3,6 +3,8 @@ package com.ruoyi.web.controller.business; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.ruoyi.business.domain.*; import com.ruoyi.business.service.*; import com.ruoyi.business.utils.EbsUtils; @@ -14,10 +16,10 @@ import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.ShiroUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.http.HttpUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.service.ISysConfigService; -import org.apache.commons.lang3.StringUtils; import org.apache.poi.hpsf.GUID; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; @@ -35,6 +37,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.Objects; /** * 入库任务单Controller @@ -75,6 +78,9 @@ public class TOngoodsshelfController extends BaseController @Autowired private ITBaseGoodsService goodsService; + @Autowired + private ITBaseProviderService tBaseProviderService; + @RequiresPermissions("business:ongoodsshelf:view") @GetMapping() public String ongoodsshelf(ModelMap mmap) @@ -82,6 +88,9 @@ public class TOngoodsshelfController extends BaseController // 获取用户 SysUser sysUser = ShiroUtils.getCurrentUser(); mmap.put("sysUser", sysUser); + // 获取供应商 + List providers = tBaseProviderService.list(); + mmap.put("providers", providers); return prefix + "/ongoodsshelf"; } @@ -133,6 +142,70 @@ public class TOngoodsshelfController extends BaseController return toAjax(false); } + /** + * 开始入库 + */ + @Log(title = "开始入库", businessType = BusinessType.UPDATE) + @PostMapping(value = "/startIn",consumes = MediaType.APPLICATION_JSON_VALUE) + @ResponseBody + public AjaxResult startIn(@RequestBody TBaseProvider startInRequest) { + logger.info("接收到开始入库请求:{}", JSON.toJSONString(startInRequest)); + try { + if (StringUtils.isEmpty(startInRequest.getProviderId())) { + return error("请求参数缺少供应商id。"); + } + TBaseProvider currentInProvider = tBaseProviderService.getOne(new LambdaQueryWrapper() + .eq(TBaseProvider::getRemark, "1") + .last("limit 1")); + if (currentInProvider == null) { + // 查询当前供应商 + TBaseProvider currentRequestProvider = tBaseProviderService.getOne(new LambdaQueryWrapper() + .eq(TBaseProvider::getProviderId, startInRequest.getProviderId()) + .last("limit 1")); + if (currentRequestProvider == null) { + return error("请求的供应商错误,数据库中不存在。"); + } + // 更新当前供应商为入库中状态 + currentRequestProvider.setRemark("1"); + if (tBaseProviderService.updateById(currentRequestProvider)) { + return success("当前供应商开始入库成功。"); + } else { + return error("当前供应商开始入库失败。"); + } + } else { + if (Objects.equals(currentInProvider.getProviderId(), startInRequest.getProviderId())) { + return success("当前供应商已经开始入库。"); + } else { + return error("其他供应商正在入库,请结束后再试。"); + } + } + } catch (Exception e) { + return error("发生异常。"); + } + } + + /** + * 停止入库 + */ + @Log(title = "停止入库", businessType = BusinessType.UPDATE) + @PostMapping(value = "/stopIn",consumes = MediaType.APPLICATION_JSON_VALUE) + @ResponseBody + public AjaxResult stopIn(@RequestBody TBaseProvider startInRequest) { + logger.info("接收到停止入库请求:{}", JSON.toJSONString(startInRequest)); + try { + boolean result = tBaseProviderService.update(new LambdaUpdateWrapper() + .set(TBaseProvider::getRemark, "0") + .eq(TBaseProvider::getRemark, "1")); + if (result) { + return success("停止入库成功。"); + } else { + return error("停止入库失败。"); + } + } catch (Exception e) { + return error("发生异常。"); + } + } + /** * 结束入库 */ diff --git a/wms-business/src/main/java/com/ruoyi/business/domain/TBaseProvider.java b/wms-business/src/main/java/com/ruoyi/business/domain/TBaseProvider.java new file mode 100644 index 0000000..ac48555 --- /dev/null +++ b/wms-business/src/main/java/com/ruoyi/business/domain/TBaseProvider.java @@ -0,0 +1,20 @@ +package com.ruoyi.business.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * 供应商 + */ +@Data +@TableName(value = "t_base_provider_dictionary", autoResultMap = true) +public class TBaseProvider { + @TableId(value = "PROVIDER_ID") + private String providerId; + @TableField(value = "PROVIDER_NAME") + private String providerName; + @TableField(value = "REMARK") + private String remark; +} diff --git a/wms-business/src/main/java/com/ruoyi/business/mapper/TBaseProviderMapper.java b/wms-business/src/main/java/com/ruoyi/business/mapper/TBaseProviderMapper.java new file mode 100644 index 0000000..a4270d0 --- /dev/null +++ b/wms-business/src/main/java/com/ruoyi/business/mapper/TBaseProviderMapper.java @@ -0,0 +1,9 @@ +package com.ruoyi.business.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.business.domain.TBaseProvider; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface TBaseProviderMapper extends BaseMapper { +} diff --git a/wms-business/src/main/java/com/ruoyi/business/service/ITBaseProviderService.java b/wms-business/src/main/java/com/ruoyi/business/service/ITBaseProviderService.java new file mode 100644 index 0000000..ace20ec --- /dev/null +++ b/wms-business/src/main/java/com/ruoyi/business/service/ITBaseProviderService.java @@ -0,0 +1,7 @@ +package com.ruoyi.business.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.business.domain.TBaseProvider; + +public interface ITBaseProviderService extends IService { +} diff --git a/wms-business/src/main/java/com/ruoyi/business/service/impl/TBaseProviderServiceImpl.java b/wms-business/src/main/java/com/ruoyi/business/service/impl/TBaseProviderServiceImpl.java new file mode 100644 index 0000000..763d8c2 --- /dev/null +++ b/wms-business/src/main/java/com/ruoyi/business/service/impl/TBaseProviderServiceImpl.java @@ -0,0 +1,11 @@ +package com.ruoyi.business.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.business.domain.TBaseProvider; +import com.ruoyi.business.mapper.TBaseProviderMapper; +import com.ruoyi.business.service.ITBaseProviderService; +import org.springframework.stereotype.Service; + +@Service +public class TBaseProviderServiceImpl extends ServiceImpl implements ITBaseProviderService { +} diff --git a/wms-business/src/main/resources/mapper/TBaseProviderMapper.xml b/wms-business/src/main/resources/mapper/TBaseProviderMapper.xml new file mode 100644 index 0000000..c5dbd3e --- /dev/null +++ b/wms-business/src/main/resources/mapper/TBaseProviderMapper.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file