From e19c51021beb1cbedae208bcfd6df5dc473f0145 Mon Sep 17 00:00:00 2001 From: zhengxuming Date: Tue, 12 Aug 2025 13:25:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:1=E3=80=81=E6=96=B0=E5=A2=9E=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E5=8D=95=E6=8D=AE=E8=8E=B7=E5=8F=96=E7=89=A9=E6=96=99?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=8E=A5=E5=8F=A3=20=202=E3=80=81=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=BB=84=E7=9B=98=E5=AE=9E=E9=99=85=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E5=92=8C=E5=88=86=E9=85=8D=E6=95=B0=E9=87=8F=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/GroupController.java | 11 ++++--- .../controller/PdaIosInController.java | 9 ++++++ .../ios_manage/service/PdaIosInService.java | 8 +++++ .../service/impl/PdaIosInServiceImpl.java | 32 ++++++++++++++++--- .../service/dao/PmFormMaterialDto.java | 29 +++++++++++++++++ .../service/util/tasks/zw/InBillTask.java | 7 ++-- 6 files changed, 84 insertions(+), 12 deletions(-) create mode 100644 lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dao/PmFormMaterialDto.java diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java index f2a4c01..dafd984 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java @@ -39,6 +39,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.List; import java.util.Map; import java.util.Set; @@ -107,7 +108,7 @@ public class GroupController { if (!CollectionUtils.isEmpty(pmFormDataList)) { - if(groupPlate.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) > 0){ + if((new BigDecimal(1)).compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) > 0){ throw new BadRequestException("组盘数量大于单据剩余数量,请核对!"); } @@ -115,18 +116,18 @@ public class GroupController { throw new BadRequestException("组盘的物料编码与单据的物料编码不一致,请核对!"); } - if (groupPlate.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) == 0) { + if ((new BigDecimal(1)).compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) == 0) { iPmFormDataService.update( new LambdaUpdateWrapper() .set(PmFormData::getStatus, StatusEnum.FORM_STATUS.code("已分配")) - .set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(groupPlate.getQty())) + .set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(new BigDecimal(1))) .set(PmFormData::getUpdate_time, DateUtil.now()) .set(PmFormData::getUpdate_name, SecurityUtils.getCurrentNickName()) .eq(PmFormData::getCode, groupPlate.getExt_code())); } else { iPmFormDataService.update( new LambdaUpdateWrapper() - .set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(groupPlate.getQty())) + .set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(new BigDecimal(1))) .set(PmFormData::getStatus, StatusEnum.FORM_STATUS.code("执行中")) .set(PmFormData::getUpdate_time, DateUtil.now()) .set(PmFormData::getUpdate_name, SecurityUtils.getCurrentNickName()) @@ -164,7 +165,7 @@ public class GroupController { //查询PmFormData for (GroupPlate groupPlate : groupPlateList) { iPmFormDataService.update( - new LambdaUpdateWrapper().setSql("assign_qty = assign_qty - " + groupPlate.getQty()) + new LambdaUpdateWrapper().setSql("assign_qty = assign_qty - " + 1) .eq(PmFormData::getCode, groupPlate.getExt_code())); //修改点位表中的点位为空载具 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosInController.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosInController.java index da266ce..de37208 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosInController.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/controller/PdaIosInController.java @@ -151,6 +151,15 @@ public class PdaIosInController { return new ResponseEntity<>(pdaIosInService.getFormDataList(whereJson), HttpStatus.OK); } + /** + * 中钨单据查询 + */ + @PostMapping("/getFormMaterial") + @Log("中钨根据单据查询物料") + public ResponseEntity getFormMaterial(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(pdaIosInService.getFormMaterial(whereJson), HttpStatus.OK); + } + /** * 拣选余料回库物料查询 diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosInService.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosInService.java index aab9645..171539b 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosInService.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/PdaIosInService.java @@ -110,6 +110,14 @@ public interface PdaIosInService { */ PdaResponse getFormDataList(Map whereJson); + + /** + * 查询单据w物料 + * + * @return PdaResponse + */ + PdaResponse getFormMaterial(JSONObject whereJson); + /** * 入库确认 * diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java index b672da5..66697ce 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java @@ -35,6 +35,7 @@ import org.nl.wms.pda_manage.util.PdaResponse; import org.nl.wms.pm_manage.service.IPmFormDataService; import org.nl.wms.pm_manage.service.dao.PmFormData; import org.nl.wms.pm_manage.service.dao.PmFormDataSelectDto; +import org.nl.wms.pm_manage.service.dao.PmFormMaterialDto; import org.nl.wms.sch_manage.enums.PointStatusEnum; import org.nl.wms.sch_manage.enums.StatusEnum; import org.nl.wms.sch_manage.enums.TaskEnum; @@ -65,6 +66,7 @@ import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl; import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDtlMapper; import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper; import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -259,7 +261,7 @@ public class PdaIosInServiceImpl implements PdaIosInService { if (!org.springframework.util.CollectionUtils.isEmpty(pmFormDataList)) { groupDao.setPcsn(pmFormDataList.get(0).getPcsn()); - if(groupDao.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) > 0){ + if((new BigDecimal(1)).compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) > 0){ throw new BadRequestException("组盘数量大于单据剩余数量,请核对!"); } @@ -267,18 +269,18 @@ public class PdaIosInServiceImpl implements PdaIosInService { throw new BadRequestException("组盘的物料编码与单据的物料编码不一致,请核对!"); } - if (groupDao.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) == 0) { + if ((new BigDecimal(1)).compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getAssign_qty())) == 0) { iPmFormDataService.update( new LambdaUpdateWrapper() .set(PmFormData::getStatus, StatusEnum.FORM_STATUS.code("已分配")) - .set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(groupDao.getQty())) + .set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(new BigDecimal(1))) .set(PmFormData::getUpdate_time, DateUtil.now()) .set(PmFormData::getUpdate_name, SecurityUtils.getCurrentNickName()) .eq(PmFormData::getCode, groupDao.getExt_code())); } else { iPmFormDataService.update( new LambdaUpdateWrapper() - .set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(groupDao.getQty())) + .set(PmFormData::getAssign_qty, pmFormDataList.get(0).getAssign_qty().add(new BigDecimal(1))) .set(PmFormData::getStatus,StatusEnum.FORM_STATUS.code("执行中")) .set(PmFormData::getUpdate_time, DateUtil.now()) .set(PmFormData::getUpdate_name, SecurityUtils.getCurrentNickName()) @@ -366,6 +368,28 @@ public class PdaIosInServiceImpl implements PdaIosInService { return PdaResponse.requestParamOk(regionList.getRecords()); } + @Override + public PdaResponse getFormMaterial(JSONObject whereJson) { + + String ext_code = whereJson.getString("ext_code"); + List pmFormDataList = iPmFormDataService.list(new LambdaUpdateWrapper() + .eq(PmFormData::getCode, ext_code) + ); + + if(CollectionUtils.isEmpty(pmFormDataList)){ + return PdaResponse.requestOk(); + } + + MdMeMaterialbase mdMeMaterialbase = iMdMeMaterialbaseService.getByCode(pmFormDataList.get(0).getMaterial_code(),false); + if(null == mdMeMaterialbase){ + return PdaResponse.requestOk(); + } + PmFormMaterialDto pmFormMaterialDto = new PmFormMaterialDto(); + BeanUtils.copyProperties(mdMeMaterialbase,pmFormMaterialDto); + pmFormMaterialDto.setExt_code(ext_code); + return PdaResponse.requestParamOk(pmFormMaterialDto); + } + @Override public PdaResponse getFormDataList(Map whereJson) { List dictList = sysDictMapper.selectList(new LambdaQueryWrapper() diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dao/PmFormMaterialDto.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dao/PmFormMaterialDto.java new file mode 100644 index 0000000..90e181b --- /dev/null +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pm_manage/service/dao/PmFormMaterialDto.java @@ -0,0 +1,29 @@ +package org.nl.wms.pm_manage.service.dao; + +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; + + +/** + * {@code @Description:} 表单物料信息 + * {@code @Author:} zhengxuming + * + * @since 2025年8月11日16:38:03 + */ +@Data +public class PmFormMaterialDto extends Model { + + private String material_id; + + private String material_model; + + private String material_name; + + private String material_spec; + + private String ext_code; + +} + + + diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/zw/InBillTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/zw/InBillTask.java index ceec2b0..b013b19 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/zw/InBillTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch_manage/service/util/tasks/zw/InBillTask.java @@ -35,6 +35,7 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.List; @@ -230,19 +231,19 @@ public class InBillTask extends AbstractTask { //判断单据剩余数量(总数量-已完成数量)与组盘数量的差距 //todo 判断已经完成数量是否是actual_qty,如果后期调整,可以更改此处 - if( groupPlate.getQty().compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getActual_qty())) ==0){ + if( (new BigDecimal(1)).compareTo(pmFormDataList.get(0).getQty().subtract(pmFormDataList.get(0).getActual_qty())) ==0){ iPmFormDataService.update( new LambdaUpdateWrapper() .set(PmFormData::getStatus, StatusEnum.FORM_STATUS.code("完成")) .set(PmFormData::getIs_finish, 1) - .set(PmFormData::getActual_qty,pmFormDataList.get(0).getActual_qty().add(groupPlate.getQty())) + .set(PmFormData::getActual_qty,pmFormDataList.get(0).getActual_qty().add(new BigDecimal(1))) .set(PmFormData::getUpdate_time,DateUtil.now()) .set(PmFormData::getUpdate_name, "task") .eq(PmFormData::getCode, taskObj.getForm_data_code())); } else { iPmFormDataService.update( new LambdaUpdateWrapper() - .set(PmFormData::getActual_qty,pmFormDataList.get(0).getActual_qty().add(groupPlate.getQty())) + .set(PmFormData::getActual_qty,pmFormDataList.get(0).getActual_qty().add(new BigDecimal(1))) .set(PmFormData::getUpdate_time,DateUtil.now()) .set(PmFormData::getUpdate_name, "task") .eq(PmFormData::getCode, taskObj.getForm_data_code()));