From d20d92744d2211a14c02378b84a718734aafa939 Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Thu, 31 Jul 2025 16:10:24 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E6=89=8B=E6=8C=81=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/IStructattrService.java | 2 + .../service/dao/mapper/StructattrMapper.java | 3 + .../service/dao/mapper/StructattrMapper.xml | 37 ++ .../service/impl/StructattrServiceImpl.java | 8 +- .../controller/PdaIosInController.java | 20 - .../controller/PdaIosOutController.java | 62 +-- .../ios_manage/service/PdaIosInService.java | 22 +- .../ios_manage/service/PdaIosOutService.java | 54 +-- .../service/impl/PdaIosInServiceImpl.java | 184 ++------- .../service/impl/PdaIosOutServiceImpl.java | 353 +++--------------- .../dao/mapper/MdPbGroupplateMapper.xml | 1 + 11 files changed, 147 insertions(+), 599 deletions(-) diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IStructattrService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IStructattrService.java index 51cbaf6..4a81e14 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IStructattrService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/IStructattrService.java @@ -99,6 +99,8 @@ public interface IStructattrService extends IService { Structattr getByCode(String struct_code); + List collectVechicle2(Map query); + List collectVechicle(Map query); /** diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/StructattrMapper.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/StructattrMapper.java index 75ab678..81823f2 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/StructattrMapper.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/StructattrMapper.java @@ -1,5 +1,6 @@ package org.nl.wms.basedata_manage.service.dao.mapper; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.nl.wms.basedata_manage.service.dao.Structattr; @@ -17,4 +18,6 @@ public interface StructattrMapper extends BaseMapper{ List collectVehicle(Map query); + List collectVehicle2(Map query); + } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/StructattrMapper.xml b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/StructattrMapper.xml index 3028084..e5f4484 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/StructattrMapper.xml +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/mapper/StructattrMapper.xml @@ -56,4 +56,41 @@ + + diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java index 760f03f..7b52101 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/impl/StructattrServiceImpl.java @@ -293,7 +293,13 @@ public class StructattrServiceImpl extends ServiceImpl collectVechicle(Map query) { return this.baseMapper.collectVehicle(query); } - + /** + * 库存查询 + */ + @Override + public List collectVechicle2(Map query) { + return this.baseMapper.collectVehicle2(query); + } /** * 出库分配 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosInController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosInController.java index ed362c4..3b47631 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosInController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosInController.java @@ -75,7 +75,6 @@ public class PdaIosInController { } - /** * 组盘获取物料列表 */ @@ -91,7 +90,6 @@ public class PdaIosInController { @PostMapping("/getVehicleMaterial") @Log("组盘入库获取物料明细") public ResponseEntity getVehicleMaterial(@RequestBody JSONObject whereJson) { - assertNotBlankJson(whereJson, "请求参数不能为空", "search"); return new ResponseEntity<>(pdaIosInService.getVehicleMaterial(whereJson), HttpStatus.OK); } @@ -103,22 +101,4 @@ public class PdaIosInController { return new ResponseEntity<>(pdaIosInService.confirmIn(whereJson), HttpStatus.OK); } - - /** - * 拣选余料回库物料查询 - */ - @PostMapping("/getReturnMaterial") - @Log("拣选余料回库物料查询") - public ResponseEntity getReturnMaterial(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosInService.getReturnMaterial(whereJson), HttpStatus.OK); - } - - - - @PostMapping("/confirmReturnMaterial") - @Log("余料回库确认") - public ResponseEntity confirmReturnMaterial(@RequestBody JSONObject whereJson) { - assertNotBlankJson(whereJson, "请求参数不能为空", "sect_code", "group_id", "vehicle_code", "material_code", "qty", "stor_id"); - return new ResponseEntity<>(pdaIosInService.confirmReturnMaterial(whereJson),HttpStatus.OK); - } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosOutController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosOutController.java index f6ad797..6ebaa4b 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosOutController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosOutController.java @@ -15,8 +15,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import static org.nl.common.utils.ValidationUtil.assertNotBlankJson; - /** * 手持出库管理 * @@ -39,7 +37,6 @@ public class PdaIosOutController { return new ResponseEntity<>(pdaIosOutService.getDtl(whereJson), HttpStatus.OK); } - /** * 物料出库获取物料库存 */ @@ -49,37 +46,13 @@ public class PdaIosOutController { return new ResponseEntity<>(pdaIosOutService.getMaterialDtl(whereJson), HttpStatus.OK); } - /** - * 货架与站点绑定或解绑 + * 人工叫料 */ - @PostMapping("bindOrUnbind") - @Log("货架与站点绑定或解绑") - public ResponseEntity bindOrUnbind(@RequestBody JSONObject whereJson) { - assertNotBlankJson(whereJson, "请求参数不能为空", "siteCode", "shelfCode", "mode"); - return new ResponseEntity<>(pdaIosOutService.bindOrUnbind(whereJson), HttpStatus.OK); - - } - - - /** - * 线边库物料出库确认 - */ - @PostMapping("/materialConfirm") + @PostMapping("/callMaterialConfirm") @Log("线边库物料出库确认") - public ResponseEntity materialConfirm(@RequestBody JSONObject whereJson) { - assertNotBlankJson(whereJson, "请求参数不能为空", "group_id", "storagevehicle_code", "siteCode", "struct_code"); - return new ResponseEntity<>(pdaIosOutService.materialConfirm(whereJson), HttpStatus.OK); - } - - - /** - * 载具出库确认 - */ - @PostMapping("/confirm") - @Log("载具出库确认") - public ResponseEntity outStorageConfirm(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(pdaIosOutService.outStorageConfirm(whereJson), HttpStatus.OK); + public ResponseEntity callMaterialConfirm(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(pdaIosOutService.callMaterialConfirm(whereJson), HttpStatus.OK); } @@ -92,31 +65,4 @@ public class PdaIosOutController { return new ResponseEntity<>(pdaIosOutService.getVehicleMaterial(whereJson), HttpStatus.OK); } - - - - - - /** - * 转运确认 - */ - @PostMapping("transferConfirm") - @Log("转运确认") - public ResponseEntity transferConfirm(@RequestBody JSONObject whereJson) { - assertNotBlankJson(whereJson, "请求参数不能为空", "storagevehicle_code"); - return new ResponseEntity<>(pdaIosOutService.transferConfirm(whereJson), HttpStatus.OK); - } - - - /** - * 空载具出库确认 - */ - @PostMapping("vehicleOutConfirm") - @Log("空载具出库确认") - public ResponseEntity vehicleOutConfirm(@RequestBody JSONObject whereJson) { - assertNotBlankJson(whereJson, "请求参数不能为空", "sect_id", "siteCode"); - return new ResponseEntity<>(pdaIosOutService.vehicleOutConfirm(whereJson), HttpStatus.OK); - } - - } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosInService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosInService.java index 1ce8ba8..8c08d47 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosInService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosInService.java @@ -5,6 +5,7 @@ import org.nl.common.base.TableDataInfo; import org.nl.common.domain.vo.SelectItemVo; import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; import org.nl.wms.pda_manage.util.PdaResponse; +import org.nl.wms.warehouse_manage.service.dao.GroupPlate; import java.util.List; @@ -105,25 +106,4 @@ public interface PdaIosInService { */ PdaResponse confirmIn(JSONObject whereJson); - /** - * 拣选余料回库物料查询 - * - * @param whereJson { - * vehicle_code:载具编码 - * } - * @return PdaResponse - */ - PdaResponse getReturnMaterial(JSONObject whereJson); - - - /** - * 余料回库确认 - * - * @param whereJson { - * vehicle_code:载具编码 - * sect_code:库区 - * } - * @return PdaResponse - */ - PdaResponse confirmReturnMaterial(JSONObject whereJson); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosOutService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosOutService.java index c7b8f20..2139420 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosOutService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosOutService.java @@ -32,7 +32,7 @@ public interface PdaIosOutService { * } * @return PdaResponse */ - PdaResponse getMaterialDtl(JSONObject whereJson); + JSONObject getMaterialDtl(JSONObject whereJson); /** @@ -55,57 +55,7 @@ public interface PdaIosOutService { * } * @return PdaResponse */ - PdaResponse materialConfirm(JSONObject whereJson); - - /** - * 货架与站点绑定或解绑 - * - * @param whereJson { - * siteCode: 点位 - * shelfCode: 货架编号 - * mode: 0解绑1绑定 - * } - * @return PdaResponse - */ - PdaResponse bindOrUnbind(JSONObject whereJson); - - - - /** - * 载具出库确认 - * - * @param whereJson { - * storagevehicle_code: 载具码 - * point_code: 点位编码 - * } - * @return PdaResponse - */ - PdaResponse outStorageConfirm(JSONObject whereJson); - - - /** - * 转运确认 - * - * @param whereJson { - * storagevehicle_code: 载具码 - * point_code: 点位编码 - * } - * @return PdaResponse - */ - PdaResponse transferConfirm(JSONObject whereJson); - - /** - * 空载具出库确认 - * - * @param whereJson { - * sect_id: 库区 - * siteCode: 目标站点 - * } - * @return PdaResponse - */ - PdaResponse vehicleOutConfirm(JSONObject whereJson); - - + JSONObject callMaterialConfirm(JSONObject whereJson); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java index d6eb707..d00bca7 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java @@ -65,7 +65,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { /** * 组盘记录mapper */ - @Autowired + @Resource private MdPbGroupplateMapper mdPbGroupplateMapper; /** @@ -117,15 +117,10 @@ public class PdaIosInServiceImpl implements PdaIosInService { */ @Autowired private IRawAssistIStorService iRawAssistIStorService; - /** - * 回库任务类 - */ - @Autowired - private BackInTask backInTask; /** * 入库明细服务 */ - @Autowired + @Resource private IOStorInvDtlMapper ioStorInvDtlMapper; @@ -140,44 +135,45 @@ public class PdaIosInServiceImpl implements PdaIosInService { public PdaResponse groupPlate(JSONObject whereJson) { // 物料编码 String materialId = whereJson.getString("material_id"); - //批次 - String pcsn = whereJson.getString("pcsn"); + //载具号 + String vehicle_code = whereJson.getString("vehicle_code"); // 数量 - String qty = whereJson.getString("qty"); - MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getByCode(whereJson.getString("vehicle_code")); + BigDecimal qty = whereJson.getBigDecimal("qty"); + if (ObjectUtil.isEmpty(materialId)) { + throw new BadRequestException("物料信息不能为空!"); + } + if (ObjectUtil.isEmpty(vehicle_code)) { + throw new BadRequestException("载具信息不能为空!"); + } MdMeMaterialbase materDao = iMdMeMaterialbaseService.getByCode(materialId); MdPbMeasureunit unitDao = iMdPbMeasureunitService.getById(materDao.getBase_unit_id()); - // 校验 - if (ObjectUtil.isEmpty(vehicleDao) || ObjectUtil.isEmpty(materDao) || ObjectUtil.isEmpty(materDao)) { - throw new BadRequestException("载具,物料或单位信息有误!"); - } //判断该载具是否存在组盘信息 long statusCount = iMdPbGroupplateService.count( new LambdaQueryWrapper() - .eq(GroupPlate::getStoragevehicle_code, vehicleDao.getStoragevehicle_code()) + .eq(GroupPlate::getStoragevehicle_code, vehicle_code) .lt(GroupPlate::getStatus, GROUP_PLATE_STATUS.code("出库")) ); if (statusCount > 0) { - throw new BadRequestException("载具编码:" + vehicleDao.getStoragevehicle_code() + "已存在组盘信息,请对数据进行核实!"); + throw new BadRequestException("载具编码:" + vehicle_code + "已存在组盘信息,请对数据进行核实!"); } //判断该载具编号是否已经存在库内 long count = iStructattrService.count( new LambdaQueryWrapper() - .eq(Structattr::getStoragevehicle_code, vehicleDao.getStoragevehicle_code()) + .eq(Structattr::getStoragevehicle_code, vehicle_code) ); if (count > 0) { - throw new BadRequestException("载具编码:" + vehicleDao.getStoragevehicle_code() + "已存在库内,请对数据进行核实!"); + throw new BadRequestException("载具编码:" + vehicle_code + "已存在库内,请对数据进行核实!"); } + //todo token未正确处理 GroupPlate groupDao = GroupPlate.builder() .group_id(IdUtil.getStringId()) .material_id(materDao.getMaterial_code()) - .storagevehicle_code(vehicleDao.getStoragevehicle_code()) - .pcsn(pcsn) + .storagevehicle_code(vehicle_code) .qty_unit_id(unitDao.getMeasure_unit_id()) .qty_unit_name(unitDao.getUnit_name()) - .qty(new BigDecimal(qty)) + .qty(qty) + .frozen_qty(BigDecimal.ZERO) .status(GROUP_PLATE_STATUS.code("组盘")) - .ext_code(whereJson.getString("ext_code")) .create_id(SecurityUtils.getCurrentUserId()) .create_name(SecurityUtils.getCurrentNickName()) .create_time(DateUtil.now()) @@ -224,11 +220,10 @@ public class PdaIosInServiceImpl implements PdaIosInService { @Override public List getSect(JSONObject whereJson) { - PageQuery pageQuery = new PageQuery(); - IPage sectList = iSectattrService.queryAll(new HashMap(), pageQuery); + List sectList = iSectattrService.list(); List selectList = new ArrayList<>(); - sectList.getRecords().forEach(r -> - selectList.add(SelectItemVo.builder().text(r.getStor_name() + "-" + r.getSect_name()).value(r.getSect_id()).build()) + sectList.forEach(r -> + selectList.add(SelectItemVo.builder().text(r.getSect_name()).value(r.getSect_id()).build()) ); return selectList; } @@ -244,113 +239,24 @@ public class PdaIosInServiceImpl implements PdaIosInService { @Override public JSONObject getVehicleMaterial(JSONObject whereJson) { - whereJson.put("status", GROUP_PLATE_STATUS.code("组盘")); - whereJson.put("vehicleCode", whereJson.getString("search")); - List list = mdPbGroupplateMapper.getVehicleMaterial(whereJson); - if (CollectionUtils.isEmpty(list)) { - throw new BadRequestException("此载具未组盘,请检查!"); - } - return list.get(0); - } - /** - * 拣选余料回库物料查询 - * - * @param whereJson { - * vehicle_code:载具编码 - * } - * @return PdaResponse - */ - @Override - public PdaResponse getReturnMaterial(JSONObject whereJson) { - whereJson.put("status", GROUP_PLATE_STATUS.code("出库")); - whereJson.put("vehicleCode", whereJson.getString("search")); - whereJson.put("qty", 0); - List list = mdPbGroupplateMapper.getVehicleMaterial(whereJson); - if (CollectionUtils.isEmpty(list)) { - throw new BadRequestException("此载具无余料可回库!"); + if (ObjectUtil.isEmpty(whereJson.getString("search"))) { + throw new BadRequestException("载具编码不能为空!"); } - return PdaResponse.requestParamOk(list); - } - - - - /** - * 余料回库确认 - * - * @param whereJson { - * vehicle_code:载具编码 - * sect_code:库区 - * } - * @return PdaResponse - */ - @Override - @Transactional - public PdaResponse confirmReturnMaterial(JSONObject whereJson) { - // 生成回库任务 - whereJson.put("config_code", IOSConstant.BACK_IN_TASK); - whereJson.put("vehicle_code", whereJson.getString("vehicle_code")); - whereJson.put("Priority", TaskEnum.ACS_PRIORITY.code("1")); - //入库分配 - divStructNoBills(whereJson); - //更新组盘表状态 - mdPbGroupplateMapper.update(new GroupPlate(), new LambdaUpdateWrapper() - .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("组盘")) - .eq(GroupPlate::getStoragevehicle_code, whereJson.getString("storagevehicle_code")) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库"))); - return PdaResponse.requestOk(); - } - - - /** - * 不含单据入库业务 - */ - private void divStructNoBills(JSONObject whereJson) { - //校验载具 - MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getByCode(whereJson.getString("vehicle_code")); - if (ObjectUtil.isEmpty(vehicleDao)) { - throw new BadRequestException("不存在该载具号信息,请检查"); - } - //校验仓库 - BsrealStorattr storeDao = iSrealStorattrService.getById(whereJson.getString("stor_id")); - if (ObjectUtil.isEmpty(storeDao)) { - throw new BadRequestException("该库区未找到对应仓库信息,请检查"); + List list = mdPbGroupplateMapper.selectList(new LambdaQueryWrapper() + .eq(GroupPlate::getStoragevehicle_code,whereJson.getString("search")) + ); + if(list.size() == 0){ + throw new BadRequestException("此载具未组盘,请检查!"); } - //分配仓位 - JSONObject params = new JSONObject(); - params.put("ioType", StatusEnum.STRATEGY_TYPE.code("入库")); - params.put("storagevehicle_code", vehicleDao.getStoragevehicle_code()); - params.put("stor_code", storeDao.getStor_code()); - params.put("sect_code", whereJson.getString("sect_code")); - params.put("material_code", whereJson.getString("material_code")); - params.put("qty", whereJson.getString("qty")); - params.put("pcsn", whereJson.getString("pcsn")); - Structattr attrDao = iRawAssistIStorService.getStructattr(whereJson); - //确定起点 - SchBasePoint schBasePoint = iSchBasePointService.getOne(new LambdaQueryWrapper().eq(SchBasePoint::getPoint_code, whereJson.getString("site_code"))); - if (ObjectUtil.isEmpty(schBasePoint)) { - throw new BadRequestException("未找到载具所在的点位信息,请检查"); + ; + if (!list.get(0).getStatus().equals(GROUP_PLATE_STATUS.code("组盘"))) { + throw new BadRequestException("此载具非组盘状态,请检查!"); } - whereJson.put("point_code1", schBasePoint.getPoint_code()); - //确定终点 - whereJson.put("point_code2", attrDao.getStruct_code()); - //创建任务 - String taskId = applyTaskMap.get(whereJson.getString("config_code")).create(whereJson); - // 更新起点绑定id - iSchBasePointService.update( - new UpdateWrapper().lambda() - .set(SchBasePoint::getIos_id, null) - .eq(SchBasePoint::getPoint_code, schBasePoint.getPoint_code()) - ); - // 更新终点锁定状态 - JSONObject lock_map = new JSONObject(); - lock_map.put("struct_code", attrDao.getStruct_code()); - lock_map.put("inv_id", null); - lock_map.put("inv_code", null); - lock_map.put("inv_type", null); - lock_map.put("taskdtl_id", taskId); - lock_map.put("lock_type", IOSEnum.LOCK_TYPE.code("入库锁")); - iStructattrService.updateStatusByCode("0", lock_map); + whereJson.put("status", GROUP_PLATE_STATUS.code("组盘")); + whereJson.put("vehicleCode", whereJson.getString("search")); + List ret = mdPbGroupplateMapper.getVehicleMaterial(whereJson); + return ret.get(0); } @@ -361,10 +267,11 @@ public class PdaIosInServiceImpl implements PdaIosInService { if (StringUtils.isBlank(whereJson.getString("is_empty_vehicle"))) { //获取起点 SchBasePoint schBasePoint = iSchBasePointService - .getOne(new LambdaQueryWrapper().eq(SchBasePoint::getVehicle_code, whereJson.getString("vehicle_code"))); + .getOne(new LambdaQueryWrapper().eq(SchBasePoint::getPoint_code, whereJson.getString("site_code"))); if (ObjectUtil.isEmpty(schBasePoint)) { - throw new BadRequestException("未找到载具所在的点位信息,请检查该载具是否绑定点位"); + throw new BadRequestException("点位不存在:"+whereJson.getString("site_code")); } + //todo 需组织入库单数据 whereJson.put("point_code",whereJson.getString("site_code")); // 预组织出入库单据实体 Map jsonMst = organizeInsertData(whereJson); @@ -382,19 +289,6 @@ public class PdaIosInServiceImpl implements PdaIosInService { .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("组盘")) .eq(GroupPlate::getStoragevehicle_code, whereJson.getString("storagevehicle_code")) .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库"))); - } else { - //空载具入库 - whereJson.put("qty", 1); - String materialCode = "1".equals(whereJson.getString("material_id")) ? StatusEnum.VEHICLE_TYPE.code("空托盘") : StatusEnum.VEHICLE_TYPE.code("空料箱"); - whereJson.put("material_id", materialCode); - //组盘 - groupPlate(whereJson); - // 生成空载具入库任务 - whereJson.put("config_code", IOSConstant.VEHICLE_IN_TASK); - whereJson.put("vehicle_code", whereJson.getString("vehicle_code")); - whereJson.put("Priority", TaskEnum.ACS_PRIORITY.code("1")); - //入库分配 - divStructNoBills(whereJson); } return PdaResponse.requestOk(); } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java index 5d2ca36..0d5ed1a 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosOutServiceImpl.java @@ -2,13 +2,10 @@ package org.nl.wms.pda_manage.ios_manage.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.http.HttpStatus; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.ObjectUtils; -import org.apache.commons.lang3.StringUtils; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.CodeUtil; import org.nl.common.utils.IdUtil; @@ -16,27 +13,17 @@ import org.nl.common.utils.MapOf; import org.nl.common.utils.SecurityUtils; import org.nl.config.SpringContextHolder; import org.nl.wms.basedata_manage.enums.BaseDataEnum; -import org.nl.wms.basedata_manage.service.IBsrealStorattrService; import org.nl.wms.basedata_manage.service.IMdMeMaterialbaseService; -import org.nl.wms.basedata_manage.service.ISectattrService; import org.nl.wms.basedata_manage.service.IStructattrService; import org.nl.wms.basedata_manage.service.dao.*; import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper; -import org.nl.wms.basedata_manage.service.dto.StrategyStructMaterialVO; -import org.nl.wms.basedata_manage.service.dto.StrategyStructParam; import org.nl.wms.pda_manage.ios_manage.service.PdaIosOutService; import org.nl.wms.pda_manage.util.PdaResponse; import org.nl.wms.sch_manage.enums.StatusEnum; -import org.nl.wms.sch_manage.enums.TaskEnum; import org.nl.wms.sch_manage.service.ISchBasePointService; import org.nl.wms.sch_manage.service.dao.SchBasePoint; -import org.nl.wms.sch_manage.service.util.AbstractTask; -import org.nl.wms.sch_manage.service.util.tasks.PdaPointTask; import org.nl.wms.sch_manage.service.util.tasks.StOutTask; -import org.nl.wms.sch_manage.service.util.tasks.VehicleOutTask; -import org.nl.wms.warehouse_manage.enums.IOSConstant; import org.nl.wms.warehouse_manage.enums.IOSEnum; -import org.nl.wms.warehouse_manage.service.IRawAssistIStorService; import org.nl.wms.warehouse_manage.service.dao.GroupPlate; import org.nl.wms.warehouse_manage.service.dao.IOStorInv; import org.nl.wms.warehouse_manage.service.dao.IOStorInvDis; @@ -45,17 +32,11 @@ import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDisMapper; import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDtlMapper; import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvMapper; import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper; -import org.nl.wms.warehouse_manage.service.util.UpdateIvtUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; - import javax.annotation.Resource; -import java.math.BigDecimal; import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; import static org.nl.wms.warehouse_manage.enums.IOSEnum.GROUP_PLATE_STATUS; @@ -69,29 +50,21 @@ import static org.nl.wms.warehouse_manage.enums.IOSEnum.GROUP_PLATE_STATUS; */ @Service public class PdaIosOutServiceImpl implements PdaIosOutService { - @Autowired - private Map applyTaskMap; /** * 组盘记录mapper */ - @Autowired + @Resource private MdPbGroupplateMapper mdPbGroupplateMapper; /** - * 库区服务 + * 点位服务 */ @Autowired - private ISectattrService iSectattrService; - + private ISchBasePointService iSchBasePointService; /** * 出入库单主表 */ @Resource private IOStorInvMapper ioStorInvMapper; - /** - * 仓库服务 - */ - @Autowired - private IBsrealStorattrService iSrealStorattrService; /** * 基础物料服务 @@ -101,15 +74,9 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { /** * 载具扩展属性服务 */ - @Autowired + @Resource private MdPbStoragevehicleextMapper mdPbStoragevehicleextMapper; - /** - * 点位服务 - */ - @Autowired - private ISchBasePointService iSchBasePointService; - /** * 仓位服务 */ @@ -119,41 +86,15 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { /** * 出入库单明细mapper */ - @Autowired + @Resource private IOStorInvDtlMapper ioStorInvDtlMapper; /** * 出入库单分配明细mapper */ - @Autowired + @Resource private IOStorInvDisMapper ioStorInvDisMapper; - /** - * 更新库存服务 - */ - @Autowired - private UpdateIvtUtils updateIvtUtils; - - /** - * 出库任务类 - */ - @Autowired - private StOutTask stOutTask; - - /** - * 手持任务 - */ - @Autowired - private PdaPointTask pdaPointTask; - - - /** - * 入库服务服务 - */ - @Autowired - private IRawAssistIStorService iRawAssistIStorService; - - @Override public PdaResponse getDtl(JSONObject whereJson) { return PdaResponse.requestParamOk(mdPbStoragevehicleextMapper.getIosDtl(whereJson)); @@ -161,14 +102,17 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { @Override - public PdaResponse getMaterialDtl(JSONObject whereJson) { - List list = iStructattrService.collectVechicle( + public JSONObject getMaterialDtl(JSONObject whereJson) { + List list = iStructattrService.collectVechicle2( MapOf.of("search", whereJson.getString("search"), - "stor_code", "XB01", + "sect_id", whereJson.getString("sect_id"), "status", GROUP_PLATE_STATUS.code("入库"), - "is_lock", "false", "order_by", "gro.create_time asc")); - return PdaResponse.requestParamOk(list); + JSONObject ret = new JSONObject(); + ret.put("status", String.valueOf(HttpStatus.HTTP_OK)); + ret.put("message","查询成功"); + ret.put("data",list); + return ret; } @@ -183,140 +127,67 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { @Override @Transactional - public PdaResponse materialConfirm(JSONObject whereJson) { + public JSONObject callMaterialConfirm(JSONObject param) { + //出库输送线点 + String outPoint = param.getString("siteCode"); + if (ObjectUtil.isEmpty(outPoint)) { + throw new BadRequestException("点位不能为空!"); + } + //校验点位是否存在 + SchBasePoint schBasePoint = iSchBasePointService + .getOne(new LambdaQueryWrapper().eq(SchBasePoint::getPoint_code, outPoint)); + if (ObjectUtil.isEmpty(schBasePoint)) { + throw new BadRequestException("点位不存在:"+outPoint); + } + //载具信息 + JSONObject obj = param.getJSONObject("obj"); //创建出库单/明细/分配 GroupPlate plateDao = mdPbGroupplateMapper.selectOne( new LambdaQueryWrapper() - .eq(GroupPlate::getGroup_id, whereJson.getString("group_id"))); + .eq(GroupPlate::getGroup_id, obj.getString("group_id"))); Structattr sectDao = iStructattrService.getOne(new LambdaQueryWrapper() - .eq(Structattr::getStruct_code, whereJson.getString("struct_code"))); + .eq(Structattr::getStruct_code, obj.getString("struct_code"))); MdMeMaterialbase materDao = iMdMeMaterialbaseService.getById(plateDao.getMaterial_id()); - whereJson.put("material_id", materDao.getMaterial_id()); - whereJson.put("material_code", materDao.getMaterial_code()); - whereJson.put("store_id", sectDao.getStor_id()); - whereJson.put("store_code", sectDao.getStor_code()); - whereJson.put("store_name", sectDao.getStor_name()); - whereJson.put("sec", sectDao.getSect_id()); - whereJson.put("qty", plateDao.getQty()); - whereJson.put("pcsn", plateDao.getPcsn()); - whereJson.put("unit_id", plateDao.getQty_unit_id()); - whereJson.put("unit_name", plateDao.getQty_unit_name()); + obj.put("material_id", materDao.getMaterial_id()); + obj.put("material_code", materDao.getMaterial_code()); + obj.put("store_id", sectDao.getStor_id()); + obj.put("store_code", sectDao.getStor_code()); + obj.put("store_name", sectDao.getStor_name()); + obj.put("sec", sectDao.getSect_id()); + obj.put("qty", plateDao.getQty()); + obj.put("unit_id", plateDao.getQty_unit_id()); + obj.put("unit_name", plateDao.getQty_unit_name()); //创建出库单据 - String disId = createOutBills(whereJson); + String disId = createOutBills(obj); //锁定货位 JSONObject lock_map = new JSONObject(); - lock_map.put("struct_code", whereJson.getString("struct_code")); + lock_map.put("struct_code", obj.getString("struct_code")); lock_map.put("lock_type", IOSEnum.LOCK_TYPE.code("出库锁")); iStructattrService.updateStatusByCode("0", lock_map); //创建任务 JSONObject taskForm = new JSONObject(); taskForm.put("task_type", "STOutTask"); taskForm.put("TaskCode", CodeUtil.getNewCode("TASK_CODE")); - taskForm.put("PickingLocation", whereJson.getString("struct_code")); - taskForm.put("PlacedLocation", whereJson.getString("siteCode")); - taskForm.put("vehicle_code", whereJson.getString("storagevehicle_code")); + taskForm.put("PickingLocation", obj.getString("struct_code")); + taskForm.put("PlacedLocation",outPoint); + taskForm.put("vehicle_code", obj.getString("storagevehicle_code")); StOutTask stOutTask = SpringContextHolder.getBean("STOutTask"); String taskId = stOutTask.create(taskForm); //更新任务id ioStorInvDisMapper.update(new IOStorInvDis(), new LambdaUpdateWrapper() .set(IOStorInvDis::getTask_id, taskId) + .set(IOStorInvDis::getPoint_code,outPoint) .eq(IOStorInvDis::getIostorinvdis_id, disId) ); //更新组盘记录表 mdPbGroupplateMapper.update(new GroupPlate(), new LambdaUpdateWrapper<>(GroupPlate.class) .set(GroupPlate::getFrozen_qty, plateDao.getQty()) - .eq(GroupPlate::getGroup_id, whereJson.getString("group_id")) + .eq(GroupPlate::getGroup_id, obj.getString("group_id")) ); - return PdaResponse.requestOk(); - } - - - /** - * 空载具出库 - * 1:托盘2料箱 - */ - - @Override - @Transactional - public PdaResponse vehicleOutConfirm(JSONObject whereJson) { - long qty = 1L; - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - //空料箱出库 - if (StringUtils.isNotBlank(whereJson.getString("qty"))) { - qty = whereJson.getLongValue("qty"); - if (qty > 6) { - throw new BadRequestException("一次性只能输入小于7以内的载具数量"); - } - queryWrapper.eq(MdMeMaterialbase::getMaterial_id, StatusEnum.VEHICLE_TYPE.code("空料箱")); - } else { - queryWrapper.eq(MdMeMaterialbase::getMaterial_id, StatusEnum.VEHICLE_TYPE.code("空托盘")); - - } - MdMeMaterialbase materDao = iMdMeMaterialbaseService.getOne(queryWrapper); - if (materDao == null) { - throw new BadRequestException("未找到空载具物料信息!"); - } - whereJson.put("material_id", materDao.getMaterial_id()); - whereJson.put("material_code", materDao.getMaterial_code()); - Sectattr sectattr = iSectattrService.getById(new LambdaQueryWrapper<>(Sectattr.class) - .eq(Sectattr::getSect_id, whereJson.getString("sect_id")) - .eq(Sectattr::getIs_used, BaseDataEnum.IS_YES_NOT.code("是")) - ); - if (ObjectUtil.isEmpty(sectattr)) { - throw new BadRequestException("该仓位所属的库区已禁用,请先启用该库区!"); - } - BsrealStorattr storeDao = iSrealStorattrService.getById(sectattr.getStor_id()); - whereJson.put("stor_code", storeDao.getStor_code()); - whereJson.put("sect_code", sectattr.getSect_code()); - StrategyStructParam strategyStructParam = StrategyStructParam.builder() - .ioType(whereJson.getString(StatusEnum.STRATEGY_TYPE.code("出库"))) - .sect_code(whereJson.getString("sect_code")) - .stor_code(whereJson.getString("stor_code")) - .material_code(whereJson.getString("material_id")) - .material_code(whereJson.getString("material_code")) - .qty(BigDecimal.valueOf(qty)) - .build(); - List structList = iStructattrService.outBoundSectDiv(strategyStructParam); - if (CollectionUtils.isEmpty(structList)) { - throw new BadRequestException("无可用库存!"); - } - structList.forEach(r -> { - //创建任务 - JSONObject taskForm = new JSONObject(); - taskForm.put("task_type", IOSConstant.VEHICLE_OUT_TASK); - taskForm.put("config_code", IOSConstant.VEHICLE_IN_TASK); - taskForm.put("TaskCode", CodeUtil.getNewCode("TASK_CODE")); - taskForm.put("PickingLocation", r.getStruct_code()); - taskForm.put("PlacedLocation", whereJson.getString("siteCode")); - taskForm.put("vehicle_code", r.getStoragevehicle_code()); - VehicleOutTask vehicleOutTask = SpringContextHolder.getBean("VehicleOutTask"); - applyTaskMap.get(IOSConstant.VEHICLE_IN_TASK).create(whereJson); - vehicleOutTask.create(taskForm); - }); - //更新组盘记录表 - Set vehicleCodeSet = structList.stream() - .map(StrategyStructMaterialVO::getStoragevehicle_code) - .collect(Collectors.toSet()); - mdPbGroupplateMapper.update( - new GroupPlate(), - new LambdaUpdateWrapper() - .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) - .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库")) - .in(GroupPlate::getStoragevehicle_code, vehicleCodeSet) - ); - //锁定仓位 - Set structCodeSet = structList.stream() - .map(StrategyStructMaterialVO::getStruct_code) - .collect(Collectors.toSet()); - iStructattrService.update( - new LambdaUpdateWrapper() - .set(Structattr::getInv_id, null) - .set(Structattr::getInv_code, null) - .set(Structattr::getInv_type, null) - .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("出库锁")) - .in(Structattr::getStruct_code, structCodeSet) - ); - return PdaResponse.requestOk(); + JSONObject ret = new JSONObject(); + ret.put("status", String.valueOf(HttpStatus.HTTP_OK)); + ret.put("message","操作成功"); + return ret; } private String createOutBills(JSONObject whereJson) { @@ -358,7 +229,6 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { ioStorInvDtl.put("seq_no", "1"); ioStorInvDtl.put("material_id", whereJson.get("material_id")); ioStorInvDtl.put("material_code", whereJson.get("material_code")); - ioStorInvDtl.put("Pcsn", whereJson.get("pcsn")); ioStorInvDtl.put("bill_status", IOSEnum.BILL_STATUS.code("分配完")); ioStorInvDtl.put("qty_unit_id", whereJson.get("unit_id")); ioStorInvDtl.put("qty_unit_name", whereJson.get("unit_name")); @@ -375,7 +245,6 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { dis.put("seq_no", 1); dis.put("material_id", whereJson.get("material_id")); dis.put("material_code", whereJson.get("material_code")); - dis.put("pcsn", whereJson.get("pcsn")); dis.put("storagevehicle_code", whereJson.get("storagevehicle_code")); dis.put("work_status", IOSEnum.INBILL_DIS_STATUS.code("执行中")); dis.put("is_issued", BaseDataEnum.IS_YES_NOT.code("否")); @@ -386,124 +255,4 @@ public class PdaIosOutServiceImpl implements PdaIosOutService { return disId; } - @Override - @Transactional(rollbackFor = Exception.class) - public PdaResponse bindOrUnbind(JSONObject whereJson) { - SchBasePoint sitePoint = iSchBasePointService.getOne(new LambdaQueryWrapper().eq(SchBasePoint::getPoint_code, whereJson.getString("siteCode")).eq(SchBasePoint::getIs_used, true)); - if (sitePoint == null) { - throw new BadRequestException("输入的站点编号有误或被禁用,请检查!"); - } - List cxPointLists = iSchBasePointService.checkEndPointTask( - null, - null, - StatusEnum.SORT_TYPE.code("升序"), null, sitePoint.getPoint_code(), null, false); - if (ObjectUtils.isNotEmpty(cxPointLists)) { - throw new BadRequestException("该货架正在执行输送任务,状态为锁定,请等任务完成再做绑定或解绑!"); - } - LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() - .eq(SchBasePoint::getPoint_code, whereJson.getString("siteCode")); - if ("1" .equals(whereJson.getString("mode"))) { - if (StringUtils.isNotBlank(sitePoint.getVehicle_code())) { - throw new BadRequestException("当前站点已绑定货架:" + sitePoint.getVehicle_code() + ",请先解绑:" + sitePoint.getVehicle_code()); - } - //校验是否在其他站点绑定 - SchBasePoint shelfPoint = iSchBasePointService.getOne(new LambdaQueryWrapper().eq(SchBasePoint::getVehicle_code, whereJson.getString("shelfCode"))); - if (shelfPoint != null) { - throw new BadRequestException("当前货架已绑定在站点:" + sitePoint.getPoint_code() + ",请先解绑。"); - } - wrapper.set(SchBasePoint::getVehicle_code, whereJson.getString("shelfCode")) - .set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("有货")); - } else { - wrapper.set(SchBasePoint::getVehicle_code, null) - .set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("无货")); - } - wrapper.set(SchBasePoint::getUpdate_time, DateUtil.now()) - .set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName()); - iSchBasePointService.update(wrapper); - return PdaResponse.requestOk(); - } - - - /** - * 1.库存载具绑定到出库点位 - * 2.更新组盘记录为出库 - */ - @Override - @Transactional - public PdaResponse outStorageConfirm(JSONObject whereJson) { - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - //获取终点 - SchBasePoint pointDao = iSchBasePointService.getOne(new LambdaQueryWrapper().eq(SchBasePoint::getVehicle_code, whereJson.getString("storagevehicle_code"))); - if (ObjectUtil.isEmpty(pointDao)) { - throw new BadRequestException("未找到载具所在的点位信息,请检查"); - } - GroupPlate groupPlate = mdPbGroupplateMapper.selectById(whereJson.getString("group_id")); - //更新组盘信息 - LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); - //出库确认 - if ("1".equals(whereJson.getString("type"))) { - BigDecimal qty = groupPlate.getQty().subtract(groupPlate.getFrozen_qty()).abs(); - updateWrapper.set(GroupPlate::getQty, qty).set(GroupPlate::getFrozen_qty, 0); - } else { - //强制确认 - updateWrapper.set(GroupPlate::getQty, 0).set(GroupPlate::getFrozen_qty, 0); - } - updateWrapper.set(GroupPlate::getUpdate_id, currentUserId + "") - .set(GroupPlate::getUpdate_name, nickName) - .set(GroupPlate::getUpdate_time, now) - .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")) - .eq(GroupPlate::getGroup_id, whereJson.getString("group_id")); - //更新组盘记录表 - mdPbGroupplateMapper.update(new GroupPlate(), updateWrapper); - //库存绑定到出库点。 - iSchBasePointService.update(new SchBasePoint(), new LambdaUpdateWrapper<>(SchBasePoint.class) - .set(SchBasePoint::getVehicle_code, groupPlate.getStoragevehicle_code()) - .set(SchBasePoint::getIos_id, BaseDataEnum.IS_YES_NOT.code("是")) - .eq(SchBasePoint::getPoint_code, pointDao.getPoint_code()) - ); - return PdaResponse.requestOk(); - } - - - @Override - @Transactional - public PdaResponse transferConfirm(JSONObject whereJson) { - if (StringUtils.isBlank(whereJson.getString("region_code")) && StringUtils.isBlank(whereJson.getString("siteCode"))) { - throw new BadRequestException("请选择目标站点或区域!"); - } - String pointCode = whereJson.getString("siteCode"); - if (StringUtils.isBlank(pointCode)) { - List pointList = iSchBasePointService.list(new LambdaQueryWrapper() - .eq(SchBasePoint::getRegion_code, whereJson.getString("region_code")) - .eq(SchBasePoint::getIs_used, 1) - .isNull(SchBasePoint::getVehicle_code) - .orderByAsc(SchBasePoint::getIn_order_seq)); - if (CollectionUtils.isEmpty(pointList)) { - throw new BadRequestException("该区域无可用空余点位!"); - } - pointCode = pointList.get(0).getPoint_code(); - } - //确定起点 - SchBasePoint schBasePoint = iSchBasePointService.getOne(new LambdaQueryWrapper().eq(SchBasePoint::getVehicle_code, whereJson.getString("vehicle_code"))); - if (ObjectUtil.isEmpty(schBasePoint)) { - throw new BadRequestException("未找到载具所在的点位信息,请检查"); - } - // 生成转运任务 - JSONObject task = new JSONObject(); - task.put("config_code", IOSConstant.PDA_POINT_TASK); - task.put("point_code1", schBasePoint.getPoint_code()); - task.put("point_code2", pointCode); - task.put("vehicle_code", whereJson.getString("storagevehicle_code")); - task.put("Priority", TaskEnum.ACS_PRIORITY.code("1")); - pdaPointTask.create(task); - // 更新起点绑定id - iSchBasePointService.update( - new UpdateWrapper().lambda() - .set(SchBasePoint::getIos_id, null) - .eq(SchBasePoint::getPoint_code, schBasePoint.getPoint_code()) - ); - return PdaResponse.requestOk(); - } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/MdPbGroupplateMapper.xml b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/MdPbGroupplateMapper.xml index ff9d975..b568eef 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/MdPbGroupplateMapper.xml +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/MdPbGroupplateMapper.xml @@ -58,6 +58,7 @@ gro.*, mater.material_id, mater.material_code, + mater.material_spec, mater.material_name FROM md_pb_groupplate gro