From 23f2a8927f782705ae9cfce1a1e06a431583eee6 Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Mon, 9 Dec 2024 17:54:15 +0800 Subject: [PATCH] =?UTF-8?q?opt=EF=BC=9A=E8=BF=87=E6=BB=A4=E6=97=A0?= =?UTF-8?q?=E7=89=A9=E6=96=99=E4=BF=A1=E6=81=AF=E7=9A=84=E6=8B=A3=E9=80=89?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BmMaterialController.java | 3 ++- .../cockpit/service/dao/TaskInfo.java | 2 +- .../service/impl/CockpitServiceImpl.java | 22 ++++++++++--------- .../cockpit/service/mapper/CockpitMapper.xml | 1 + .../service/impl/PmFormDataServiceImpl.java | 2 +- .../task/SyncErpBillsScheduleService.java | 13 +++++------ 6 files changed, 23 insertions(+), 20 deletions(-) diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/controller/BmMaterialController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/controller/BmMaterialController.java index 9b492811..09acf548 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/controller/BmMaterialController.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/base_manage/material/controller/BmMaterialController.java @@ -59,14 +59,15 @@ public class BmMaterialController { @PostMapping("/updateMaterialInfo") public ResponseEntity updateMaterialInfo(@Validated @RequestBody MdMeMaterialbase dto) { + JSONObject result = new JSONObject(); if (BigDecimal.ZERO.compareTo(dto.getSingle_weight()) == 0 || StringUtils.isBlank(dto.getMaterial_id())) { + result.put("code", "400"); throw new BadRequestException("物料信息有误,请检查!"); } LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.set(MdMeMaterialbase::getNearby_weight, dto.getSingle_weight()); updateWrapper.eq(MdMeMaterialbase::getMaterial_id, dto.getMaterial_id()); materialService.update(updateWrapper); - JSONObject result = new JSONObject(); result.put("code", "200"); return new ResponseEntity<>(result, HttpStatus.OK); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/dao/TaskInfo.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/dao/TaskInfo.java index 47306370..046fad96 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/dao/TaskInfo.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/dao/TaskInfo.java @@ -34,7 +34,7 @@ public class TaskInfo { //理论数量 private BigDecimal theory_qty; //称重 - private BigDecimal actual_weight=BigDecimal.ZERO; + private BigDecimal actual_weight; //剩余数量 private BigDecimal remaining_qty; private String form_data; diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/impl/CockpitServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/impl/CockpitServiceImpl.java index fc3150c5..204eb08d 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/impl/CockpitServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/impl/CockpitServiceImpl.java @@ -317,7 +317,7 @@ public class CockpitServiceImpl implements CockpitService { } } BigDecimal theoryQty = BigDecimal.ZERO; - BigDecimal actual_weight = BigDecimal.ZERO; + BigDecimal actual_weight = null; try { String code1 = code; if ("1308".equals(code)) { @@ -350,16 +350,18 @@ public class CockpitServiceImpl implements CockpitService { } r.setActual_weight(actual_weight); r.setActual_weight(r.getActual_weight().subtract(r.getVehicle_weight()).max(BigDecimal.ZERO).setScale(0, RoundingMode.DOWN)); - //根据称重信息计算理论数量 - if (r.getActual_weight().compareTo(BigDecimal.ZERO) > 0&&r.getSingle_weight().compareTo(BigDecimal.ZERO)> 0) { - //计算理论重量:称重-载具重量/单重 = 理论数量,理论数量!=需出数量:称重异常 - theoryQty = r.getActual_weight().divide(r.getSingle_weight(), 0, RoundingMode.DOWN); - r.setActual_weight(r.getActual_weight().setScale(2, RoundingMode.DOWN)); + if (r.getActual_weight() != null && r.getSingle_weight() != null) { + //根据称重信息计算理论数量 + if (r.getActual_weight().compareTo(BigDecimal.ZERO) > 0 && r.getSingle_weight().compareTo(BigDecimal.ZERO) > 0) { + //计算理论重量:称重-载具重量/单重 = 理论数量,理论数量!=需出数量:称重异常 + theoryQty = r.getActual_weight().divide(r.getSingle_weight(), 0, RoundingMode.DOWN); + r.setActual_weight(r.getActual_weight().setScale(2, RoundingMode.DOWN)); + } + r.setTheory_qty(theoryQty); + //计算剩余数量 + BigDecimal remaining_qty = r.getQty().subtract(theoryQty).max(BigDecimal.ZERO).setScale(0, RoundingMode.DOWN); + r.setRemaining_qty(remaining_qty); } - r.setTheory_qty(theoryQty); - //计算剩余数量 - BigDecimal remaining_qty = r.getQty().subtract(theoryQty).max(BigDecimal.ZERO).setScale(0, RoundingMode.DOWN); - r.setRemaining_qty(remaining_qty); //单重 r.setSingle_weight(r.getSingle_weight().setScale(2, RoundingMode.DOWN)); //需出数量 diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/mapper/CockpitMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/mapper/CockpitMapper.xml index 623b2c70..d2f514cb 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/mapper/CockpitMapper.xml +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/cockpit/service/mapper/CockpitMapper.xml @@ -71,6 +71,7 @@ WHERE JSON_UNQUOTE(JSON_EXTRACT(p.form_data, '$.point_code')) = #{code} AND p.status = '10' + AND m.material_id is NOT NULL ORDER BY d.create_time LIMIT 2; diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/impl/PmFormDataServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/impl/PmFormDataServiceImpl.java index 1cc5f669..a6991f3f 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/impl/PmFormDataServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/impl/PmFormDataServiceImpl.java @@ -147,7 +147,7 @@ public class PmFormDataServiceImpl extends ServiceImpl list = syncFormMappingServiceImpl.list(new LambdaQueryWrapper().in(SyncFormMapping::getForm_type, "BD_MATERIAL")); + //List list = syncFormMappingServiceImpl.list(new LambdaQueryWrapper().in(SyncFormMapping::getForm_type, "BD_MATERIAL")); List list = syncFormMappingServiceImpl.list(new LambdaQueryWrapper().in(SyncFormMapping::getForm_type, "ka7c19edf9d4b4b39b8cc4a06802163b0","PRD_PPBOM","PRD_MO","SAL_SaleOrder","PUR_ReceiveBill","PUR_MRAPP")); - // List list = syncFormMappingServiceImpl.list(new LambdaQueryWrapper().in(SyncFormMapping::getForm_type, "ka7c19edf9d4b4b39b8cc4a06802163b0","PRD_PPBOM","PRD_MO","SAL_SaleOrder","PUR_ReceiveBill","PUR_MRAPP")); + //List list = syncFormMappingServiceImpl.list(new LambdaQueryWrapper().in(SyncFormMapping::getForm_type, "ka7c19edf9d4b4b39b8cc4a06802163b0","PRD_PPBOM","PRD_MO","SAL_SaleOrder","PUR_ReceiveBill","PUR_MRAPP")); for (SyncFormMapping m : list) { JSONArray mappingJson = m.getMapping_json(); String mappingString = JSON.toJSONString(mappingJson); @@ -172,16 +172,15 @@ public class SyncErpBillsScheduleService { if (materialCount != materials.size()) { log.error("保存数据 [{}] 时出现异常: {}", JSON.toJSONString(formDataList), "物料信息不存在" + materials.toString()); } - for (String id : formDataList.stream().map(PmFormData::getId).collect(Collectors.toList())) { - if (exitFormDataList.contains(id)) { + for (PmFormData formData : formDataList) { + if (exitFormDataList.contains(formData.getId()+"$"+formData.getForm_type())) { continue 外部; } - } - for (PmFormData formData : formDataList) { + formData.setId(formData.getId()+"$"+formData.getForm_type()); formDataService.save(formData); } } catch (Exception e) { - //log.error("解析数据 [{}] 时出现异常: {}", JSON.toJSONString(r), e.getMessage()); + log.error("解析数据 [{}] 时ID重复: {}", JSON.toJSONString(r), e.getMessage()); } } }