From 78e2624ca80c828f29864a5ed91097b18ad508da Mon Sep 17 00:00:00 2001 From: "DESKTOP-5DIJMF9\\admin" <2388969634@qq.com> Date: Mon, 4 Aug 2025 17:45:35 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PdaIosOutController.java | 11 +++- .../ios_manage/service/PdaIosInService.java | 4 +- .../service/impl/PdaIosInServiceImpl.java | 33 +++++++----- .../service/impl/PdaMoveStorServiceImpl.java | 51 +++++++++++++++++-- .../sch_manage/service/PdaSchTaskService.java | 2 +- .../service/impl/PdaSchTaskServiceImpl.java | 32 ++++++++---- .../service/util/tasks/PdaPointTask.java | 33 ------------ .../service/dao/StIvtMoveinv.java | 2 +- .../dao/mapper/StIvtMoveinvdtlMapper.xml | 2 + .../service/dto/MoveInsertDto.java | 2 +- .../impl/StIvtMoveinvdtlServiceImpl.java | 2 - .../service/util/UpdateIvtUtils.java | 4 -- 12 files changed, 106 insertions(+), 72 deletions(-) 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 6ebaa4b..fea3c6c 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 @@ -7,6 +7,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.common.logging.annotation.Log; import org.nl.wms.pda_manage.ios_manage.service.PdaIosOutService; +import org.nl.wms.pda_manage.sch_manage.service.PdaSchTaskService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -30,13 +31,21 @@ public class PdaIosOutController { @Autowired private PdaIosOutService pdaIosOutService; - + @Autowired + private PdaSchTaskService pdaSchTaskService; @PostMapping("/getDtl") @Log("获取库存明细") public ResponseEntity getDtl(@RequestBody JSONObject whereJson) { return new ResponseEntity<>(pdaIosOutService.getDtl(whereJson), HttpStatus.OK); } + @PostMapping("/transferConfirm") + @Log("定点作业") + @SaIgnore + public ResponseEntity transferConfirm(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(pdaSchTaskService.pointTask(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 8c08d47..e573322 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 @@ -29,7 +29,7 @@ public interface PdaIosInService { * } * @return PdaResponse */ - PdaResponse groupPlate(JSONObject whereJson); + JSONObject groupPlate(JSONObject whereJson); /** * 查询明细 @@ -104,6 +104,6 @@ public interface PdaIosInService { * } * @return PdaResponse */ - PdaResponse confirmIn(JSONObject whereJson); + JSONObject confirmIn(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 030054a..ce109d3 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 @@ -2,6 +2,7 @@ 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.query.QueryWrapper; @@ -17,6 +18,7 @@ import org.nl.common.domain.vo.SelectItemVo; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.IdUtil; import org.nl.common.utils.SecurityUtils; +import org.nl.wms.basedata_manage.enums.BaseDataEnum; import org.nl.wms.basedata_manage.service.*; import org.nl.wms.basedata_manage.service.dao.*; import org.nl.wms.basedata_manage.service.dto.MaterialQuery; @@ -132,7 +134,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { @Override - public PdaResponse groupPlate(JSONObject whereJson) { + public JSONObject groupPlate(JSONObject whereJson) { // 物料编码 String materialId = whereJson.getString("material_id"); //载具号 @@ -157,16 +159,16 @@ public class PdaIosInServiceImpl implements PdaIosInService { throw new BadRequestException("载具编码:" + vehicle_code + "已存在组盘信息,请对数据进行核实!"); } //判断该载具编号是否已经存在库内 - long count = iStructattrService.count( + List count = iStructattrService.list( new LambdaQueryWrapper() .eq(Structattr::getStoragevehicle_code, vehicle_code) ); - if (count > 0) { - throw new BadRequestException("载具编码:" + vehicle_code + "已存在库内,请对数据进行核实!"); + if (count.size() > 0) { + throw new BadRequestException("载具编码:" + vehicle_code + "已存在库内:"+count.get(0).getStruct_code()+",请对数据进行核实!"); } GroupPlate groupDao = GroupPlate.builder() .group_id(IdUtil.getStringId()) - .material_id(materDao.getMaterial_code()) + .material_id(materDao.getMaterial_id()) .storagevehicle_code(vehicle_code) .qty_unit_id(unitDao.getMeasure_unit_id()) .qty_unit_name(unitDao.getUnit_name()) @@ -178,7 +180,10 @@ public class PdaIosInServiceImpl implements PdaIosInService { .create_time(DateUtil.now()) .build(); iMdPbGroupplateService.save(groupDao); - return PdaResponse.requestOk(); + JSONObject ret = new JSONObject(); + ret.put("status", String.valueOf(HttpStatus.HTTP_OK)); + ret.put("message","操作成功"); + return ret; } @@ -219,7 +224,9 @@ public class PdaIosInServiceImpl implements PdaIosInService { @Override public List getSect(JSONObject whereJson) { - List sectList = iSectattrService.list(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(Sectattr.class) + .ne(Sectattr::getSect_type_attr,"09"); + List sectList = iSectattrService.list(queryWrapper); List selectList = new ArrayList<>(); sectList.forEach(r -> selectList.add(SelectItemVo.builder().text(r.getSect_name()).value(r.getSect_id()).build()) @@ -261,7 +268,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { @Override @Transactional - public PdaResponse confirmIn(JSONObject whereJson) { + public JSONObject confirmIn(JSONObject whereJson) { //物料组盘入库 if (StringUtils.isBlank(whereJson.getString("is_empty_vehicle"))) { //获取起点 @@ -270,7 +277,6 @@ public class PdaIosInServiceImpl implements PdaIosInService { if (ObjectUtil.isEmpty(schBasePoint)) { throw new BadRequestException("点位不存在:"+whereJson.getString("site_code")); } - //todo 需组织入库单数据 whereJson.put("point_code",whereJson.getString("site_code")); // 预组织出入库单据实体 Map jsonMst = organizeInsertData(whereJson); @@ -289,7 +295,10 @@ public class PdaIosInServiceImpl implements PdaIosInService { .eq(GroupPlate::getStoragevehicle_code, whereJson.getString("storagevehicle_code")) .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库"))); } - return PdaResponse.requestOk(); + JSONObject ret = new JSONObject(); + ret.put("status", String.valueOf(HttpStatus.HTTP_OK)); + ret.put("message","操作成功"); + return ret; } /** @@ -364,8 +373,8 @@ public class PdaIosInServiceImpl implements PdaIosInService { jsonMst.put("checked", true); jsonMst.put("sect_id", sectDao.getSect_id()); jsonMst.put("stor_id", sectDao.getStor_id()); - jsonMst.put("sect_code", sectDao.getSect_code()); - jsonMst.put("stor_code", storeDao.getStor_code()); + jsonMst.put("sect_code", sectDao.getSect_id()); + jsonMst.put("stor_code", storeDao.getStor_id()); // 组织明细数据 IOStorInvDtl dtlDao = ioStorInvDtlMapper.selectOne( new QueryWrapper().lambda() diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaMoveStorServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaMoveStorServiceImpl.java index f7d21e7..51004b8 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaMoveStorServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaMoveStorServiceImpl.java @@ -1,18 +1,25 @@ 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.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.nl.common.exception.BadRequestException; +import org.nl.wms.basedata_manage.service.IStructattrService; +import org.nl.wms.basedata_manage.service.dao.Structattr; import org.nl.wms.pda_manage.ios_manage.service.PdaMoveStorService; import org.nl.wms.pda_manage.util.PdaResponse; +import org.nl.wms.warehouse_manage.service.IStIvtMoveinvService; import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper; import org.nl.wms.warehouse_manage.service.dao.mapper.StIvtMoveinvdtlMapper; +import org.nl.wms.warehouse_manage.service.dto.MoveInsertDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.*; @@ -21,13 +28,16 @@ public class PdaMoveStorServiceImpl implements PdaMoveStorService { @Resource private StIvtMoveinvdtlMapper stIvtMoveinvdtlMapper; + @Autowired + private IStIvtMoveinvService iStIvtMoveinvService; + /** + * 仓位服务 + */ + @Autowired + private IStructattrService iStructattrService; @Override public JSONObject move(JSONObject whereJson) { - // 移出货位编码 - String struct_code = whereJson.getString("struct_code"); - // 载具号 - String vehicle_code = whereJson.getString("vehicle_code"); // 移入货位 String move_struct_code = whereJson.getString("move_struct_code"); //数组 @@ -38,8 +48,41 @@ public class PdaMoveStorServiceImpl implements PdaMoveStorService { if (ObjectUtil.isEmpty(rows)) { throw new BadRequestException("物料明细不能为空!"); } + JSONObject dtl = rows.getJSONObject(0); + String storagevehicle_code = dtl.getString("storagevehicle_code"); + // 校验起点 + Structattr start_point = iStructattrService.getOne( + new QueryWrapper().lambda() + .eq(Structattr::getStoragevehicle_code, storagevehicle_code) + ); + if (ObjectUtil.isEmpty(start_point)) { + throw new BadRequestException("载具在系统中不存在!"); + } + // 校验终点 + Structattr end_point = iStructattrService.getByCode(move_struct_code); + if (ObjectUtil.isEmpty(end_point)) { + throw new BadRequestException("移入货位在系统中不存在!"); + } //todo 生成移库单、生成移库任务 + MoveInsertDto dto = new MoveInsertDto(); + dto.setBill_type("99"); + dto.setBiz_date(DateUtil.now()); + dto.setStor_id(start_point.getStor_id()); + dto.setTotal_qty(rows.getJSONObject(0).getBigDecimal("qty")); + dto.setDetail_count(1); + dto.setBill_status("10"); + + List tableData = new ArrayList(); + dtl.put("turnout_struct_code",start_point.getStruct_code()); + dtl.put("turnin_struct_code",move_struct_code); + dtl.put("qty_unit_name",dtl.getString("unit_code")); + dtl.put("turnout_sect_code",start_point.getSect_code()); + dtl.put("turnin_sect_code",end_point.getSect_code()); + dtl.put("work_status","10"); + tableData.add(dtl); + dto.setTableData(tableData); + iStIvtMoveinvService.create(dto); JSONObject ret = new JSONObject(); ret.put("status", String.valueOf(HttpStatus.HTTP_OK)); diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/PdaSchTaskService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/PdaSchTaskService.java index 22ce38e..d080cfc 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/PdaSchTaskService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/PdaSchTaskService.java @@ -25,7 +25,7 @@ public interface PdaSchTaskService extends IService { * } * @return PdaResponse */ - PdaResponse pointTask(JSONObject whereJson); + JSONObject pointTask(JSONObject whereJson); /** * 查询未完成的任务 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaSchTaskServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaSchTaskServiceImpl.java index 04d1fc1..a8ffcd1 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaSchTaskServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/sch_manage/service/impl/PdaSchTaskServiceImpl.java @@ -51,12 +51,6 @@ public class PdaSchTaskServiceImpl extends ServiceImpl().lambda() - .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code1()) - .set(SchBasePoint::getVehicle_code, null) - .set(SchBasePoint::getIos_id, null) - .set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("无货")) - ); iStructattrService.update( new UpdateWrapper().lambda() .eq(Structattr::getStruct_code, taskObj.getPoint_code1()) @@ -152,13 +137,6 @@ public class PdaPointTask extends AbstractTask { .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) ); // 更新终点 - iSchBasePointService.update( - new UpdateWrapper().lambda() - .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code2()) - .set(SchBasePoint::getVehicle_code, taskObj.getVehicle_code()) - .set(SchBasePoint::getIos_id, null) - .set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("有货")) - ); iStructattrService.update( new UpdateWrapper().lambda() .eq(Structattr::getStruct_code, taskObj.getPoint_code2()) @@ -175,22 +153,11 @@ public class PdaPointTask extends AbstractTask { @Transactional public void cancelTask(SchBaseTask taskObj) { // 更新起点 - iSchBasePointService.update( - new UpdateWrapper().lambda() - .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code1()) - .set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("无货")) - ); iStructattrService.update( new UpdateWrapper().lambda() .eq(Structattr::getStruct_code, taskObj.getPoint_code1()) .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定")) ); - // 更新终点 - iSchBasePointService.update( - new UpdateWrapper().lambda() - .eq(SchBasePoint::getPoint_code, taskObj.getPoint_code2()) - .set(SchBasePoint::getPoint_status, IOSEnum.POINT_STATUS.code("无货")) - ); iStructattrService.update( new UpdateWrapper().lambda() .eq(Structattr::getStruct_code, taskObj.getPoint_code2()) diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/StIvtMoveinv.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/StIvtMoveinv.java index ed911f9..3694eba 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/StIvtMoveinv.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/StIvtMoveinv.java @@ -57,7 +57,7 @@ public class StIvtMoveinv implements Serializable { /** * 明细数 */ - private BigDecimal detail_count; + private Integer detail_count; /** * 单据状态 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/StIvtMoveinvdtlMapper.xml b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/StIvtMoveinvdtlMapper.xml index 0390f36..4f3ce7b 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/StIvtMoveinvdtlMapper.xml +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/StIvtMoveinvdtlMapper.xml @@ -41,8 +41,10 @@ plate.group_id, plate.storagevehicle_code, plate.qty_unit_name AS unit_code, + plate.qty_unit_id AS qty_unit_id, plate.qty, plate.frozen_qty, + mater.material_id, mater.material_code, mater.material_name FROM diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dto/MoveInsertDto.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dto/MoveInsertDto.java index bd8a973..2b5f531 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dto/MoveInsertDto.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dto/MoveInsertDto.java @@ -37,7 +37,7 @@ public class MoveInsertDto { /** * 明细数 */ - private BigDecimal detail_count; + private Integer detail_count; /** * 仓库标识 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/StIvtMoveinvdtlServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/StIvtMoveinvdtlServiceImpl.java index 75a1102..5aae4b2 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/StIvtMoveinvdtlServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/impl/StIvtMoveinvdtlServiceImpl.java @@ -98,7 +98,6 @@ public class StIvtMoveinvdtlServiceImpl extends ServiceImpl().lambda() .eq(GroupPlate::getStoragevehicle_code, where.getString("storagevehicle_code")) .eq(GroupPlate::getMaterial_id, where.getString("material_id")) - .eq(GroupPlate::getPcsn, where.getString("pcsn")) ); if (ObjectUtil.isEmpty(extDao)) { throw new BadRequestException("当前载具【" + extDao.getStoragevehicle_code() + "】不存在相关物料批次库存,请检查数据!"); @@ -181,7 +180,6 @@ public class UpdateIvtUtils { new QueryWrapper().lambda() .eq(GroupPlate::getStoragevehicle_code, where.getString("storagevehicle_code")) .eq(GroupPlate::getMaterial_id, where.getString("material_id")) - .eq(GroupPlate::getPcsn, where.getString("pcsn")) ); if (ObjectUtil.isEmpty(extDao)) { throw new BadRequestException("当前载具【" + extDao.getStoragevehicle_code() + "】不存在相关物料批次库存,请检查数据!"); @@ -245,7 +243,6 @@ public class UpdateIvtUtils { new QueryWrapper().lambda() .eq(GroupPlate::getStoragevehicle_code, where.getString("storagevehicle_code")) .eq(GroupPlate::getMaterial_id, where.getString("material_id")) - .eq(GroupPlate::getPcsn, where.getString("pcsn")) ); if (ObjectUtil.isEmpty(extDao)) { throw new BadRequestException("当前载具【" + extDao.getStoragevehicle_code() + "】不存在相关物料批次库存,请检查数据!"); @@ -269,7 +266,6 @@ public class UpdateIvtUtils { new QueryWrapper().lambda() .eq(GroupPlate::getStoragevehicle_code, where.getString("storagevehicle_code")) .eq(GroupPlate::getMaterial_id, where.getString("material_id")) - .eq(GroupPlate::getPcsn, where.getString("pcsn")) ); if (ObjectUtil.isEmpty(extDao)) { throw new BadRequestException("当前载具【" + extDao.getStoragevehicle_code() + "】不存在相关物料批次库存,请检查数据!");