diff --git a/src/main/java/com/gaotao/modules/automatedWarehouse/controller/EmptyPalletTypeController.java b/src/main/java/com/gaotao/modules/automatedWarehouse/controller/EmptyPalletTypeController.java new file mode 100644 index 0000000..fde82ee --- /dev/null +++ b/src/main/java/com/gaotao/modules/automatedWarehouse/controller/EmptyPalletTypeController.java @@ -0,0 +1,128 @@ +package com.gaotao.modules.automatedWarehouse.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gaotao.common.utils.PageUtils; +import com.gaotao.common.utils.R; +import com.gaotao.modules.base.entity.PalletType; +import com.gaotao.modules.sys.controller.AbstractController; +import com.gaotao.modules.warehouse.dao.PalletMapper; +import com.gaotao.modules.warehouse.entity.PalletData; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.StringUtils; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * @Description 立库内空托盘类型修改Controller - rqrq + * + *

功能说明:

+ * + * + * @Author rqrq + * @Date 2025/12/11 + */ +@Slf4j +@RestController +@RequestMapping("/wcsSystem/emptyPalletType") +public class EmptyPalletTypeController extends AbstractController { + + @Autowired + private PalletMapper palletMapper; + + /** + * @Description 查询立库内空托盘列表 - rqrq + * @param data 查询条件 + * @return R + * @author rqrq + */ + @PostMapping(value="/list") + @ResponseBody + public R list(@RequestBody PalletData data) throws Exception { + log.info("开始查询立库内空托盘列表 - rqrq"); + + // 参数校验 - rqrq + if (!StringUtils.hasText(data.getSite())) { + throw new RuntimeException("工厂编码不能为空"); + } + + // 设置分页参数 - rqrq + int pageNum = data.getPage() != null ? data.getPage() : 1; + int pageSize = data.getLimit() != null ? data.getLimit() : 20; + + // 查询立库内空托盘 - rqrq + IPage pageResult = palletMapper.selectEmptyPalletsInWarehouse( + new Page<>(pageNum, pageSize), + data + ); + + PageUtils pageUtils = new PageUtils(pageResult); + + log.info("查询立库内空托盘列表完成 - rqrq,共{}条", pageResult.getTotal()); + return R.ok().put("page", pageUtils); + } + + /** + * @Description 根据pallet_family获取可选的托盘类型列表 - rqrq + * @param params 参数(site, palletFamily) + * @return R + * @author rqrq + */ + @PostMapping(value="/getPalletTypes") + @ResponseBody + public R getPalletTypes(@RequestBody Map params) throws Exception { + log.info("开始获取托盘类型列表 - rqrq"); + + String site = (String) params.get("site"); + String palletFamily = (String) params.get("palletFamily"); + + // 参数校验 - rqrq + if (!StringUtils.hasText(site) || !StringUtils.hasText(palletFamily)) { + throw new RuntimeException("参数不能为空"); + } + + // 查询托盘类型 - rqrq + List rows = palletMapper.getPalletTypesByFamily(site, palletFamily); + + log.info("获取托盘类型列表完成 - rqrq,共{}条", rows.size()); + return R.ok().put("rows", rows); + } + + /** + * @Description 修改托盘类型 - rqrq + * @param params 参数(site, palletId, palletType) + * @return R + * @author rqrq + */ + @PostMapping(value="/updateType") + @ResponseBody + public R updateType(@RequestBody Map params) throws Exception { + log.info("开始修改托盘类型 - rqrq"); + + String site = (String) params.get("site"); + String palletId = (String) params.get("palletId"); + String palletType = (String) params.get("palletType"); + + // 参数校验 - rqrq + if (!StringUtils.hasText(site) || !StringUtils.hasText(palletId) || !StringUtils.hasText(palletType)) { + throw new RuntimeException("参数不能为空"); + } + + // 获取当前用户 - rqrq + String username = getUser() != null ? getUser().getUsername() : "SYSTEM"; + + // 修改托盘类型 - rqrq + palletMapper.updatePalletType(site, palletId, palletType, username); + + log.info("修改托盘类型完成 - rqrq,palletId={},newType={}", palletId, palletType); + return R.ok(); + } +} + diff --git a/src/main/java/com/gaotao/modules/warehouse/dao/PalletMapper.java b/src/main/java/com/gaotao/modules/warehouse/dao/PalletMapper.java index 5d8b1f2..2855587 100644 --- a/src/main/java/com/gaotao/modules/warehouse/dao/PalletMapper.java +++ b/src/main/java/com/gaotao/modules/warehouse/dao/PalletMapper.java @@ -90,4 +90,33 @@ public interface PalletMapper extends BaseMapper { */ void batchInsertPallet(@Param("list") List palletList); + /** + * @Description 查询立库内空托盘列表 - rqrq + * @param page 分页参数 + * @param queryDto 查询条件 + * @return 空托盘列表 + * @author rqrq + */ + IPage selectEmptyPalletsInWarehouse(IPage page, @Param("query") PalletData queryDto); + + /** + * @Description 根据pallet_family获取可选的托盘类型列表 - rqrq + * @param site 工厂编码 + * @param palletFamily 托盘大分类 + * @return 托盘类型列表 + * @author rqrq + */ + List getPalletTypesByFamily(@Param("site") String site, @Param("palletFamily") String palletFamily); + + /** + * @Description 修改托盘类型 - rqrq + * @param site 工厂编码 + * @param palletId 托盘ID + * @param palletType 托盘类型 + * @param updatedBy 更新人 + * @author rqrq + */ + void updatePalletType(@Param("site") String site, @Param("palletId") String palletId, + @Param("palletType") String palletType, @Param("updatedBy") String updatedBy); + } diff --git a/src/main/java/com/gaotao/modules/warehouse/entity/PalletData.java b/src/main/java/com/gaotao/modules/warehouse/entity/PalletData.java index e6cc356..2ea4634 100644 --- a/src/main/java/com/gaotao/modules/warehouse/entity/PalletData.java +++ b/src/main/java/com/gaotao/modules/warehouse/entity/PalletData.java @@ -80,4 +80,10 @@ public class PalletData extends Pallet { */ @TableField(exist = false) private Integer limit; + + /** + * 所在站点编码(关联agv_station表)- rqrq + */ + @TableField(exist = false) + private String stationCode; } \ No newline at end of file diff --git a/src/main/resources/mapper/notify/SOIssueNotifyOrderMaterialListDetailMapper.xml b/src/main/resources/mapper/notify/SOIssueNotifyOrderMaterialListDetailMapper.xml index 3244f4a..f55cd2a 100644 --- a/src/main/resources/mapper/notify/SOIssueNotifyOrderMaterialListDetailMapper.xml +++ b/src/main/resources/mapper/notify/SOIssueNotifyOrderMaterialListDetailMapper.xml @@ -9,7 +9,7 @@ SET out_wcs_flag = 'Y' WHERE site = #{site} AND serialNo = #{serialNo} - AND task_ref = #{taskRef} + diff --git a/src/main/resources/mapper/warehouse/PalletMapper.xml b/src/main/resources/mapper/warehouse/PalletMapper.xml index cd9a942..4953c74 100644 --- a/src/main/resources/mapper/warehouse/PalletMapper.xml +++ b/src/main/resources/mapper/warehouse/PalletMapper.xml @@ -234,4 +234,73 @@ + + + + + + + + + UPDATE pallet WITH (ROWLOCK) + SET pallet_type = #{palletType}, + updated_by = #{updatedBy}, + updated_time = GETDATE() + WHERE site = #{site} + AND pallet_id = #{palletId} + +