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()); } } }